Commit graph

55 commits

Author SHA1 Message Date
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
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
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
a6d2d02e61
refactor(web): move common/web/utils to web/src/engine/common/web-utils/
Fixes:#12025
2024-09-10 18:12:46 +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
Eberhard Beilharz
91bbc250a8
refactor(web): move model/templates to web/src/engine/predictive/text
Part-of: #12133
2024-09-10 17:10:12 +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
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
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
Joshua Horton
9d9a091651
Merge pull request #12188 from keymanapp/refactor/web/drop-interface-jsproc-dependency 2024-08-20 07:01:59 +07:00
Eberhard Beilharz
ea62ac23e7
refactor(web): move lm-workerworker-thread
Move `common/web/lm-worker/` →
`web/src/engine/predictive-text/worker-thread/`.

Fixes: #12148
2024-08-16 08:35:20 +02:00
Eberhard Beilharz
b9aa9ccd8c
refactor(web): move predictive-textworker-main
This moves `common/predictive-text/` →
`web/src/engine/predictive-text/worker-main/`.

This also moves `common/test/predictive-text/` →
`web/src/test/manual/predictive-text/`. Note though that this testing
tool is still broken.

Fixes: #12134
2024-08-15 12:26:50 +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
Joshua A. Horton
2938ee110b refactor(web): remove engine/interfaces dependency on engine/js-processor 2024-08-15 10:12:27 +07:00
Eberhard Beilharz
89abdbd64c
refactor(web): move some files around
- move `outputTarget.ts` → `js-processor`
- move `deadkeys.ts` → `js-processor`
- move `stringDivergence.ts` → `js-processor`
- split `Mock` into `mock.ts`
- create `keyboard/outputTarget.interface.ts`
2024-08-14 19:06:32 +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
Joshua A. Horton
9e1854db43 docs(web): updates README, adds project-relationship diagram 2023-05-17 08:23:10 +07:00
Joshua A. Horton
892b4d781e docs(web): updates Web readme post-reorg 2023-01-20 12:51:49 +07:00
Joshua Horton
7aae2d0dc4
chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-12-01 08:18:47 +07:00
Joshua A. Horton
0fa44e0bb9 fix(web): updates testing-page links 2022-10-24 08:43:59 +07:00
Marc Durdin
c6bb33973c chore(web): update readme 2022-07-05 12:29:13 +10:00
Marc Durdin
0bf9089227 feat(web): setup build environment for manual tests
This is work arising from the spacebarText postmortem. The only changes
in this commit at present are in the readme, just to give us a pull
request to play with.
2021-08-16 10:33:16 +10:00
Darcy Wong
7cd5c1134f chore(web): Add additional notes about running tests 2021-07-26 21:06:14 +07:00
Darcy Wong
177e277230 chore(web): Update readme 2021-07-05 13:58:22 +07:00
Darcy Wong
8e35f9a4cc chore(web): Document how to debug unit test
Even though I'm not creating a new unit test for this PR, I wanted to leave notes for future developers
2021-07-02 14:41:46 +07:00
Marc Durdin
4af39a58b0 docs: start consolidation of build config docs
As the build environment documentation is duplicated across each of the
Keyman platform projects, it has become somewhat convoluted and
inconsistent. This PR moves all the mac-based and shared documentation
into docs/build, with placeholders for Windows and Linux documentation
to be moved in the next PR.

The idea is that a developer can configure their box to build any of the
available projects for that platform (web and android build on all three
main dev platforms).

Keeping the build documentation in one place makes it much simpler to
keep it consistent and up-to-date as well, as well as keeping us aware
of potential dependency conflicts between projects.

The icing on the cake is the resources/devbox/macos/macos.sh script,
which I have tested and takes a bare metal mac box through to a full
Keyman development environment (except XCode, there's always something!)
2021-06-21 21:12:27 +10:00
jahorton
fb3c8bfb83 docs(ios): minor readme tweak re Web prereqs 2021-06-10 08:04:19 +07:00
Darcy Wong
6f0f3e5b62 chore(web): Update keymanweb-osk.ttf to v. 2.100
In preparation for #2713, this updates the keymanweb-osk.ttf font to [v. 2.100](https://github.com/silnrsi/font-keymanweb-osk/releases/tag/v2.100) which adds the new glyphs silnrsi/font-keymanweb-osk#1
2020-10-28 14:42:05 +07:00
Joshua A. Horton
60c700f6b7 Documentation. 2018-02-07 14:02:03 +07:00
Joshua A. Horton
16f365a5c2 Merge branch 'master' into web-350-mocha-testing 2018-02-02 15:02:07 +07:00
Joshua A. Horton
2c24e7d187 Established a more long-term file structure for the tests. 2018-02-02 15:00:11 +07:00
Joshua A. Horton
6ec11ab096 Merge conflict fix + accidentally uncommitted file. 2018-02-02 13:37:21 +07:00
Darcy Wong
2db22b44f3 Document Linux steps for building kmw 2018-02-02 11:11:41 +07:00
Tom Bogle
8ece063ceb
Merge pull request #547 from keymanapp/web-fix-typo-in-readme
Fixed syntax of line to run to build.
2018-02-01 11:07:59 -05:00
Joshua A. Horton
c19b2d00e8 Adds a readme change related to the -no-minify PR. 2018-02-01 11:01:48 +07:00
Joshua A. Horton
e2e5a64e04 Documentation update. 2018-01-30 11:15:32 +07:00
Joshua A. Horton
f39cdc9cca Creates a /release/unminified build output folder. 2018-01-30 10:31:47 +07:00
tom_bogle@sil.org
2142e97705 Fixed syntax of line to run to build. 2018-01-25 10:56:49 -05:00
Joshua A. Horton
1e11b4a9a0 A little extra build script polish. 2018-01-25 10:04:57 +07:00
Joshua A. Horton
5114da88ea Further refactoring + some bookkeeping after recent related PR merges/edits. 2018-01-23 09:50:35 +07:00
Joshua A. Horton
f45f2b97b2 Fixing up a few loose ends in the documentation. 2018-01-11 09:11:35 +07:00
Joshua A. Horton
364a5b9317 Minor housekeeping tweaks per code review. 2018-01-09 08:08:49 +07:00
Joshua A. Horton
14f770158f Initial package.json for NPM dependency management. Handles TypeScript and Google Closure, includes edits to fix new warnings from updated Closure. 2017-12-18 12:22:47 +07:00