Commit graph

136 commits

Author SHA1 Message Date
Marc Durdin
a19b095b51
Merge branch 'epic/kmc-convert' into feat/developer/kmc-convert
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-06-03 23:48:36 +10:00
Marc Durdin
fbe6ef50d7
Merge branch 'epic/kmc-convert' into feat/developer/kmc-convert
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-06-02 22:38:45 +10:00
Keyman Server
bec3b293ac
Merge branch 'epic/kmc-convert' into auto/A19S30-merge-master-into-kmc-convert 2026-06-02 13:24:54 +02:00
Marc Durdin
6a98a39b8a
Merge branch 'master' into chore/web-core-preflight 2026-05-27 22:37:12 +10:00
Keyman Server
61240c293a
Merge branch 'epic/kmc-convert' into auto/A19S29-merge-master-into-kmc-convert 2026-05-22 07:22:45 +02:00
dependabot[bot]
957d26e28f
chore(deps): bump lodash and @microsoft/api-extractor
Bumps [lodash](https://github.com/lodash/lodash) to 4.18.1 and updates ancestor dependency [@microsoft/api-extractor](https://github.com/microsoft/rushstack/tree/HEAD/apps/api-extractor). These dependencies need to be updated together.


Updates `lodash` from 4.17.23 to 4.18.1
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

Updates `@microsoft/api-extractor` from 7.57.6 to 7.58.1
- [Changelog](https://github.com/microsoft/rushstack/blob/main/apps/api-extractor/CHANGELOG.md)
- [Commits](https://github.com/microsoft/rushstack/commits/@microsoft/api-extractor_v7.58.1/apps/api-extractor)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
- dependency-name: "@microsoft/api-extractor"
  dependency-version: 7.58.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-08 17:07:46 +00:00
Marc Durdin
59a12fd2cb maint(web): downgrade playwright to 1.46.1
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Failing builds on webkit tests on Ubuntu, going back to 'known good'
version for now.
2026-03-16 17:00:43 +01:00
SabineSIL
2faf0a78e3
Merge branch 'epic/kmc-convert' into feat/developer/kmc-convert
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-03-16 14:23:32 +01:00
Marc Durdin
70c54b0b40 chore: Merge branch 'epic/web-core' into auto/A19S24-merge-master-into-web-core
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-03-16 04:49:38 +01:00
Keyman Server
23ab9f95d9
Merge branch 'epic/kmc-convert' into auto/A19S24-merge-master-into-kmc-convert 2026-03-13 07:45:54 +01:00
Marc Durdin
659e85033a
Merge pull request #15665 from keymanapp/maint/developer/test-callbacks-cleanup
maint(developer): make `TestCompilerCallbacks` usage more consistent and simplify
2026-03-06 21:00:39 +07:00
Marc Durdin
0ce96dbdcc maint(common): rollback from Typescript 5.8.2 to 5.4.x
Pull request #15647 bumped our version of tsc from 5.4.5 to 5.8.2,
because api-extractor wanted it. We have not tested yet with 5.8.2 and
there are some incompatibility warnings and a new error that was patched
in #15689.

We will upgrade to a later version of Typescript in due course, but now
is not the time.

With this patch, we rollback our Typescript version to 5.4.x.

Sample warning from build:

```
[web/src/engine/osk/gesture-processor/src/tools] ## build:test-module starting...
=============

WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.

You may find that it works just fine, or you may not.

SUPPORTED TYPESCRIPT VERSIONS: >=4.7.4 <5.5.0

YOUR TYPESCRIPT VERSION: 5.8.2

Please only submit bug reports when using the officially supported version.

=============
```

Report of typescript version usage with this patch:

```
$ npm ls typescript
root@ D:\Projects\keyman\app
├─┬ @keymanapp/auto-history-action@ -> .\resources\build\version
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/common-test-resources@ -> .\common\test\resources
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/common-types@ -> .\common\web\types
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/developer-server@ -> .\developer\src\server
│ ├─┬ tsc-watch@4.6.2
│ │ └── typescript@5.4.5 deduped
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/developer-test-helpers@ -> .\developer\src\common\web\test-helpers
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/developer-utils@ -> .\developer\src\common\web\utils
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/gesture-recognizer@ -> .\web\src\engine\osk\gesture-processor
│ ├─┬ @keymanapp/web-utils@ -> .\web\src\engine\common\web-utils
│ │ └── typescript@5.4.5 deduped
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/keyman-version@ -> .\common\web\keyman-version
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-analyze@ -> .\developer\src\kmc-analyze
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-copy@ -> .\developer\src\kmc-copy
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-generate@ -> .\developer\src\kmc-generate
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-keyboard-info@ -> .\developer\src\kmc-keyboard-info
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-kmn@ -> .\developer\src\kmc-kmn
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-ldml@ -> .\developer\src\kmc-ldml
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-model-info@ -> .\developer\src\kmc-model-info
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-model@ -> .\developer\src\kmc-model
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc-package@ -> .\developer\src\kmc-package
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/kmc@ -> .\developer\src\kmc
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/langtags@ -> .\common\web\langtags
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/lexical-model-layer@ -> .\web\src\engine\predictive-text\worker-main
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/lm-message-types@ -> .\web\src\engine\predictive-text\types
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/lm-worker@ -> .\web\src\engine\predictive-text\worker-thread
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/models-templates@ -> .\web\src\engine\predictive-text\templates
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/models-wordbreakers@ -> .\web\src\engine\predictive-text\wordbreakers
│ └── typescript@5.4.5 deduped
├─┬ @keymanapp/sourcemap-path-remapper@ -> .\common\tools\sourcemap-path-remapper
│ └── typescript@5.4.5 deduped
├─┬ @microsoft/api-extractor@7.57.6
│ └── typescript@5.8.2
├─┬ @typescript-eslint/eslint-plugin@7.13.1
│ └─┬ ts-api-utils@1.3.0
│   └── typescript@5.4.5 deduped
├─┬ eslint-config-love@53.0.0
│ └── typescript@5.4.5 deduped
├─┬ keyman@ -> .\web
│ ├─┬ @keymanapp/recorder-core@ -> .\web\src\tools\testing\recorder-core
│ │ └── typescript@5.4.5 deduped
│ └─┬ @keymanapp/web-sentry-manager@ -> .\web\src\engine\sentry-manager
│   └── typescript@5.4.5 deduped
└── typescript@5.4.5
```

Test-bot: skip
2026-03-06 09:57:36 +01:00
Marc Durdin
529a49431e maint(developer): make TestCompilerCallbacks usage more consistent and simplify
Simplify usage of `TestCompilerCallbacks` by making it responsible for
the `beforeEach` and `afterEach` incantations itself. There are a couple
of more complex usages of `TestCompilerCallbacks` which have been
excluded from this change on purpose.

Renamed `testCallbacks` to `callbacks` in the one place where it was
different.

Hoist @types/node and @types/mocha because inconsistent versions of
@types/mocha were causing compiler errors with this change.

Also added a cast to `fs.readFileSync` to `Uint8Array` to eliminate
compiler warnings/errors in test files.

Fixes: #15654
Test-bot: skip
2026-03-03 16:44:06 +01:00
dependabot[bot]
5d2f9bd65e
chore(deps): bump minimatch and @microsoft/api-extractor
Bumps [minimatch](https://github.com/isaacs/minimatch) to 3.1.5 and updates ancestor dependencies [minimatch](https://github.com/isaacs/minimatch) and [@microsoft/api-extractor](https://github.com/microsoft/rushstack/tree/HEAD/apps/api-extractor). These dependencies need to be updated together.


Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `minimatch` from 9.0.4 to 9.0.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `minimatch` from 9.0.5 to 9.0.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `minimatch` from 5.1.6 to 5.1.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

Updates `@microsoft/api-extractor` from 7.47.3 to 7.57.6
- [Changelog](https://github.com/microsoft/rushstack/blob/main/apps/api-extractor/CHANGELOG.md)
- [Commits](https://github.com/microsoft/rushstack/commits/@microsoft/api-extractor_v7.57.6/apps/api-extractor)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 5.1.9
  dependency-type: indirect
- dependency-name: "@microsoft/api-extractor"
  dependency-version: 7.57.6
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 02:58:16 +00:00
SabineSIL
06694173fa
Merge branch 'epic/kmc-convert' into feat/developer/kmc-convert 2026-01-08 11:38:36 +01:00
Marc Durdin
00e88d37a4 chore: Merge remote-tracking branch 'origin/epic/web-core' into auto/A19S17-merge-master-into-web-core 2025-12-05 08:07:35 +01:00
Keyman Server
1a8e26f7ec
Merge branch 'epic/kmc-convert' into auto/A19S17-merge-master-into-kmc-convert 2025-12-05 07:58:56 +01:00
dependabot[bot]
cec4bfce89
chore(deps): bump js-yaml and @microsoft/api-documenter
Bumps [js-yaml](https://github.com/nodeca/js-yaml) to 4.1.1 and updates ancestor dependencies [js-yaml](https://github.com/nodeca/js-yaml) and [@microsoft/api-documenter](https://github.com/microsoft/rushstack/tree/HEAD/apps/api-documenter). These dependencies need to be updated together.


Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

Updates `js-yaml` from 3.14.1 to 3.14.2
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

Updates `@microsoft/api-documenter` from 7.23.31 to 7.28.0
- [Changelog](https://github.com/microsoft/rushstack/blob/main/apps/api-documenter/CHANGELOG.md)
- [Commits](https://github.com/microsoft/rushstack/commits/@microsoft/api-documenter_v7.28.0/apps/api-documenter)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
- dependency-name: "@microsoft/api-documenter"
  dependency-version: 7.28.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 22:23:18 +00:00
Marc Durdin
bdca09bdeb
Merge pull request #15107 from keymanapp/refactor/web/sentry-manager-to-common-web
refactor(web): move sentry-manager and es-bundling to common 🎼
2025-11-10 14:49:58 +01:00
Marc Durdin
aa6b3c328e chore: Merge branch 'epic/web-core' into auto/A19S15-merge-master-into-web-core 2025-11-07 14:23:43 +01:00
Marc Durdin
80a5785408 chore: Merge branch 'epic/kmc-convert' into auto/A19S15-merge-master-into-kmc-convert 2025-11-07 14:17:47 +01:00
Marc Durdin
86a903dcf5 refactor(web): move sentry-manager and es-bundling to common
sentry-manager is used by Keyman Engine for Android and Keyman Engine
for iOS, but not directly by KeymanWeb, nor does it have any
dependencies on /web. So it does not make sense to keep it under /web.

es-bundling is used by sentry-manager and potentially other /common/web
tools in the future, so moving it under /common/tools makes it more
consistent in the future.

This is part of simplifying the web source tree; these changes do not
make significant build performance differences at this time.

Test-bot: skip
2025-11-06 15:28:04 +01:00
Marc Durdin
9d2c23e0d3 refactor(web): merge engine modules
In order to simplify and make the build significantly faster, as well as
reduce duplication of configuration files, we have merged most of the
engine modules into a single module, engine:
  * engine/attachment
  * engine/core-processor
  * engine/dom-utils
  * engine/element-wrappers
  * engine/events
  * engine/interfaces
  * engine/js-processor
  * engine/keyboard
  * engine/keyboard-storage
  * engine/main
  * engine/osk

A few test-specific files have been moved from engine to test, such as
nodeCloudRequester.ts and nodeKeyboardLoader.ts.
2025-11-04 19:13:17 +01:00
Marc Durdin
df212364a2 maint(resources): add repository record for all published packages
While not documented as such, it appears that the repository record is
required with trusted publishing of npm packages.

Test-bot: skip
Build-bot: skip
2025-10-29 14:35:31 +01:00
Marc Durdin
58b56f7ed1
Revert "chore(deps-dev): bump playwright from 1.46.1 to 1.56.1" 2025-10-23 11:02:53 +02:00
dependabot[bot]
006f0a57cf
chore(deps-dev): bump playwright from 1.46.1 to 1.56.1
Bumps [playwright](https://github.com/microsoft/playwright) from 1.46.1 to 1.56.1.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.46.1...v1.56.1)

---
updated-dependencies:
- dependency-name: playwright
  dependency-version: 1.56.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 18:55:50 +00:00
Keyman Server
61b562917b
Merge branch 'epic/kmc-convert' into chore/A19S13-merge-master-into-kmc-convert 2025-10-10 05:04:56 +02:00
Eberhard Beilharz
229bdf8270
maint(resources): nest unit tests under parent block
This adds a modified `mocha-teamcity-reporter` that allows to nest the
unit tests under the parent block.

Fixes: #14839
Test-bot: skip
2025-10-06 16:09:47 +02:00
Sabine
461717808d feat(developer): version with broken schema.bundler 2025-07-08 15:37:27 +02:00
Marc Durdin
b9f8e8eb85
Merge branch 'epic/kmc-convert' into chore/merge-master-into-kmc-convert 2025-05-30 08:24:00 +07:00
Joshua Horton
8991df3865 maint: update fast-json-parser
The `fast-json-parser` package is needed by `ajv-cli`, which is used during common/web/types/build.sh configure.

Test-bot: skip
2025-05-13 14:46:32 +07:00
Joshua Horton
155c1a2b12 maint: update mocha
Some of the npm audit warnings left after #13897 require an updated `mocha` version to remedy.  As we only really use `mocha` to do unit-testing, it should be safe to update if all of our existing tests pass with the new version.

Test-bot: skip
2025-05-13 14:02:02 +07:00
Marc Durdin
4eb03c862e
Merge branch 'epic/kmc-convert' into chore/merge-master-into-kmc-convert 2025-03-31 12:13:38 +07:00
Marc Durdin
951feda773
Merge pull request #13224 from keymanapp/chore/merge-master-into-kmc-convert
chore: merge master into kmc-convert
2025-02-14 05:29:46 +07:00
dependabot[bot]
4abc1b3d2b
chore(deps-dev): bump esbuild from 0.18.20 to 0.25.0
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.18.20 to 0.25.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.18.20...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 11:17:53 +00:00
Marc Durdin
50097802ba chore: include sourcemap-path-remapper tool in package.json 2025-01-27 10:22:28 +07:00
Marc Durdin
75d77704a2 refactor: move langtags to @keymanapp/langtags npm module
We want to use langtags in several modules, so it makes sense to make it
into its own NPM module.

Relates-to: #13045
2025-01-27 09:59:38 +07:00
Marc Durdin
ecdcd410e6 chore: Merge remote-tracking branch 'origin/epic/kmc-convert' into chore/merge-master-into-kmc-convert 2024-11-08 11:34:36 +07:00
Marc Durdin
9d4c103ccf
Merge branch 'epic/kmc-convert' into chore/merge-master-into-kmc-convert 2024-10-25 03:42:26 +02:00
Marc Durdin
7d17913e18 feat(developer): seed kmc-copy 2024-10-22 10:28:00 +07:00
Marc Durdin
0d9688451d
Merge branch 'master' into feat/developer/kmc-generate 2024-10-11 03:26:54 +02:00
Marc Durdin
640d3e5096 test(developer): add markdown link check test for product documentation
Adds check-markdown package that parses .md files, looks for links and
images, and verifies that they are valid links (for internal links).
2024-09-25 15:51:32 -07:00
Marc Durdin
b4ea167621
Merge pull request #12412 from keymanapp/chore/merge-master-into-kmc-convert
chore: merge master into kmc-convert 😎
2024-09-13 09:24:26 +02:00
Marc Durdin
8424cb9349
Merge branch 'master' into feat/developer/kmc-generate 2024-09-12 08:18:37 +02:00
Eberhard Beilharz
a9b9c4d016
refactor(web): move common/models to web/src/engine/predictive-text
Fixes: #12133
2024-09-10 17:45:22 +02:00
Marc Durdin
939134a9a3 feat(developer): kmc-generate module
Plenty of todo items left but this is a mostly-functional module for the
kmc generate command for automatically creating keyboard and model
projects.
2024-09-03 06:15:33 +07:00
Marc Durdin
48672f423d
Merge pull request #12318 from keymanapp/chore/merge-master-into-kmc-convert
chore: merge master into kmc-convert 😎
2024-08-30 04:33:41 +02:00
Eberhard Beilharz
e788bf5077
fix(web): enable tests to run on Ubuntu 24.04 Noble
Previously running the tests failed because it couldn't find ICU 70 when
running webkit. Ubuntu 24.04 Noble comes with ICU 74. Updating
playwright to 1.46 fixes this.
2024-08-26 16:22:15 +07:00
Eberhard Beilharz
7dabd30cae
refactor(web): move gesture-recognizergesture-processor
Moves `common/web/gesture-recognizer/` →
`web/src/engine/osk/gesture-processor`.

Fixes: #12151
2024-08-26 15:29:21 +07:00
Marc Durdin
c1bfcac0c7
Merge pull request #12254 from keymanapp/chore/merge-master-into-kmc-convert
chore: merge master into kmc-convert
2024-08-22 08:19:21 +02:00