Commit graph

540 commits

Author SHA1 Message Date
Eberhard Beilharz
a7083e7960
feat(web): move/add core-adapter module
This change moves the core adapter to core-adapter module which contains
the code to bind to the the WASM core binaries and adds additional type
definitions for Core.

Part-of: #13926
Test-bot: skip
2025-11-14 15:10:20 +01:00
Marc Durdin
d07dbfefd6 chore(web): npm install and remove unused dep 2025-11-11 06:31:33 +01:00
Marc Durdin
2e51955055 chore(web): Merge branch 'refactor/web/merge-engine-modules' into refactor/web/downgrade-web-utils-from-package-to-module 2025-11-06 14:07:19 +01:00
Marc Durdin
d94292959c chore(web): Merge branch 'epic/web-core' into refactor/web/merge-engine-modules 2025-11-06 10:54:25 +01:00
Marc Durdin
41c9cef797 refactor(web): change @keymanapp/web-utils to keyman/common/web-utils
Removes the need for package.json references for @keymanapp/web-utils,
and relies on bundler to include keyman/common/web-utils when building.
2025-11-06 07:24:36 +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
Eberhard Beilharz
22a93cd3f6
refactor(web): rename directory element-wrapperselement-text-stores
Also rename module from element-wrappers → element-text-stores.
2025-11-04 17:14:37 +01:00
Eberhard Beilharz
819c9cc3fe
chore: Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2025-05-30 18:25:23 +02: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
Eberhard Beilharz
387a697990
chore(web): Merge branch 'epic/web-core' into feat/web/readkbd 2024-09-27 17:35:29 +02:00
Eberhard Beilharz
94b06b7ed7
feat(web): improve errors and tests
Addresses code review comments.
2024-09-16 17:34:03 +02:00
Marc Durdin
9ebd1a9b0a
Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2024-09-13 08:09:24 +02:00
Eberhard Beilharz
cbbe971cb3
chore(web): allow to run unit tests in vscode test explorer
#11746 removed the `ts-node` dependency. Unfortunately that broke running
TypeScript test files with Mocha in VSCode Test Explorer because it no
longer knows what to do with .ts files. This change adds the more modern
`tsx` package as developer dependency, which allows to use Test Explorer
again.

See https://stackoverflow.com/a/77609121.
2024-09-12 18:32:46 +02:00
Eberhard Beilharz
fc32f02dc9
Merge pull request #12400 from keymanapp/chore/web/testexplorer
chore(web): allow to run unit tests in vscode test explorer
2024-09-12 14:07:55 +07:00
Eberhard Beilharz
95f36acb68
chore(web): allow to run unit tests in vscode test explorer
#11746 removed the `ts-node` dependency. Unfortunately that broke running
TypeScript test files with Mocha in VSCode Test Explorer because it no
longer knows what to do with .ts files. This change adds the more modern
`tsx` package as developer dependency, which allows to use Test Explorer
again.

See https://stackoverflow.com/a/77609121.
2024-09-11 19:28:33 +02:00
Eberhard Beilharz
f52a1209c8
refactor(web): merge device-detect with web/src/engine/main
This change moves `web/src/engine/device-detect/` →
`web/src/engine/main/` and renames the `Device` class to `DeviceDetector`.

Fixes: #12388
2024-09-11 16:48:15 +02:00
Eberhard Beilharz
c3e587193e
refactor(web): move model/types to web/types
Part-of: #12133
2024-09-09 19:59:01 +02:00
Eberhard Beilharz
165829beb5
Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2024-08-30 15:17:47 +07:00
Eberhard Beilharz
b1fb8122c2
refactor(web): move gesture-processor tests under web/src/test
`gesture-processor/src/test/auto/browser/web-test-runner.config.mjs`
run the tests on iOS and Android. However, if we enable these browsers
in `web/src/test/auto/dom/web-test-runner.config.mjs` we get failing
tests in osk, therefore these browsers are commented for now.
2024-08-26 15:29:22 +07:00
Eberhard Beilharz
0abc250af3
feat(web): POC of Core WASM integration into Keyman Web
- add temporary function to Core for this POC
- add new CoreProcessor to access Keyman Core WASM
- add unit tests for new core processor
- add code to KeymanEngine and InputProcessor to load the new CoreProcessor
- add web server to manual tests and new action `start` to build script

This change requires the manual tests to be loaded from a web server
instead of loaded as file, because otherwise the wasm code won't be
loaded.

Currently we always load CoreProcessor. This should be improved in a future
change to only load when it is actually needed.

Part-of: #11293
2024-08-20 22:45:39 +02:00
Eberhard Beilharz
170ac4bb6b
refactor(web): rename package-cachekeyboard-storage
Move `web/src/engine/package-cache/` →
`web/src/engine/keyboard-storage/`.

Fixes: #12132
2024-08-15 12:26:10 +02:00
Eberhard Beilharz
46ecfd4466
refactor(web): move remaining parts of keyboard-processorkeyboard
move parts of `common/web/keyboard-processor/` →
`web/src/engine/keyboard/`.

Fixes: #12110
2024-08-12 19:40:15 +02:00
Eberhard Beilharz
c09c895333
refactor(web): move parts of keyboard-processorjs-processor
Move parts of `common/web/keyboard-processor/` →
`web/src/engine/js-processor/`.

Note this temporarily disable tests for keyboard-processor which depend on
js-processor, until #12110 is fixed.

Fixes: #12067
2024-08-08 18:25:03 +02:00
Eberhard Beilharz
24159d680b
chore(web): move common/web/input-processor/web/src/engine/main/
Also:
- move `modelSpec.ts` and `PredictionContext.ts` →
  `web/src/engine/interfaces`
- move `correction.ts` and `correctionLayout.ts` to `web/src/engine/osk/`

Relates-to: #12035
Fixes: #12054
2024-08-01 20:13:21 +02:00
Eberhard Beilharz
ab5df20eef
chore(web): move web/src/engine/paths/web/src/engine/interfaces/
Fixes: #12035
2024-07-31 20:06:02 +02:00
Eberhard Beilharz
afe25eda24
change(web): remove support for es5
Fixes: #11878
2024-07-04 20:49:30 +02:00
Joshua Horton
ce49f12af9
Merge pull request #10432 from keymanapp/feat/web/package-kbd-renderer
feat(web): add bulk_render variant that loads and renders keyboards from local KMP
2024-06-12 12:56:40 +07:00
Joshua A. Horton
d07fa7e953 chore(common): eliminate ts-node ref from most subpackages 2024-06-10 10:07:58 +07:00
Joshua A. Horton
cce2f9a867 chore(web): Merge branch 'master' into feat/web/package-kbd-renderer 2024-06-06 08:51:08 +07:00
Joshua A. Horton
40733e4bec chore(web): fix web package.json's typescript entry
It should've been fixed previously, but maybe I messed things up with this while rebasing?
2024-05-31 15:25:48 +07:00
Joshua A. Horton
532bba95a8 chore(web): Merge branch 'master' into feat/web/package-kbd-renderer 2024-05-29 11:44:44 +07:00
Joshua A. Horton
1207c37898 chore(web): drops removed testing dependencies 2024-05-15 15:43:51 +07:00
Joshua A. Horton
55f1ea2b8d chore(web): converts web end-to-end style tests 2024-05-15 15:27:46 +07:00
Joshua A. Horton
ad8bdaa4c1 chore(web): updates eventemitter3 to v5, when it provides esmodule exports 2024-05-09 08:49:50 +07:00
Joshua A. Horton
01d0019d86 chore(web): removes package.json references to old @npm/types versions 2024-05-07 14:38:41 +07:00
Joshua A. Horton
398b9e0ae2 chore(common): drops package-specific 'chai', '@types/chai' versions
chore(web): missed leaving these out of the rebase
2024-05-07 14:35:09 +07:00
Eberhard Beilharz
0e1493906e
fix(web): export internals for unit tests as separate module
Addresses code review comments.
2024-04-24 10:47:46 +02:00
Marc Durdin
debb799caa fix(common): upgrade sentry-cli to 2.31.0
Fixes #11091.

Updating to latest sentry-cli on all projects, reviewed release notes
and there do not appear to be any breaking changes.

sentry-cli 2.19.4 had a bug with uploading wasm symbols:
https://github.com/getsentry/sentry-cli/issues/1682

It was fixed in 2.20.0:
https://github.com/getsentry/sentry-cli/releases/tag/2.20.0
2024-04-03 10:48:35 +07:00
Joshua A. Horton
21266dd109 feat(web): bulk_render variant - loads and renders keyboards from local KMP 2024-01-18 10:53:32 +07:00
Joshua A. Horton
dc7bfc1344 chore(web): Merge branch 'change/web/build-bundler-replacement' into feat/web/es6-target-artifact 2023-12-22 12:59:20 +07:00
Joshua A. Horton
90ecdf38f8 fix(web): adds Symbol, Map polyfill for main Web 2023-12-19 14:17:46 +07:00
Joshua A. Horton
f6e77a3736 feat(web): alternate artifact - es6-bundled Web
Does not affect the worker.

Bundling is in a temp-script and not properly connected to our actual build infrastructure.
2023-12-18 10:32:35 +07:00
Eberhard Beilharz
c9fac1b944
chore(web): Add unit tests for pageContextAttachment 2023-12-13 19:04:59 +01:00
Joshua A. Horton
3ce99b9c73 chore(web): cleanup re set_keyman_standard_build_path 2023-06-14 10:00:39 +07:00
Joshua A. Horton
6fd6b7daff feat(web): c8 for lower-level headless child packages 2023-06-12 11:46:07 +07:00
Joshua A. Horton
754da7aa99 chore(web): cleanup, array-spread -> concat conversion 2023-06-08 13:03:25 +07:00
Joshua A. Horton
06434953a8 chore(web): KMW use of importHelpers 2023-06-08 13:03:25 +07:00
Joshua A. Horton
5bd3f962d3 chore(web): Merge branch 'fix/web/browser-toolbar-ui' into fix/web/browser-float-ui 2023-05-29 13:11:35 +07:00
Joshua A. Horton
6e54067483 chore(web): Merge branch 'fix/web/attached-control-fonts' into fix/web/dom-keyevent-recorder 2023-05-25 10:29:05 +07:00
Joshua A. Horton
683708b1cc chore(web): adjustments per review 2023-05-22 14:22:19 +07:00