diff --git a/common/predictive-text/.build-builder b/common/predictive-text/.build-builder
deleted file mode 100644
index 4e15741a62..0000000000
--- a/common/predictive-text/.build-builder
+++ /dev/null
@@ -1 +0,0 @@
-The presence of this file tells CI to use the new builder_ style parameters for build.sh and unit_tests/test.sh.
\ No newline at end of file
diff --git a/common/predictive-text/src/tsconfig.json b/common/predictive-text/src/tsconfig.json
deleted file mode 100644
index 675bf7cd53..0000000000
--- a/common/predictive-text/src/tsconfig.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "extends": "../../web/tsconfig.kmw-main-base.json",
-
- "compilerOptions": {
- "baseUrl": "./",
- "outDir": "../build/obj",
- "tsBuildInfoFile": "../build/obj/tsconfig.tsbuildinfo",
- "rootDir": "./"
- },
- "references": [
- { "path": "../../web/utils" },
- { "path": "../../models/types"},
- { "path": "../../models/wordbreakers"},
- { "path": "../../web/lm-message-types"},
- { "path": "../../models/templates"}
- ],
- "include" : [ "./*.ts" ],
- "exclude" : [
- "node",
- "web",
- "index.ts" // It's handled by the final layer.
- ]
-}
diff --git a/docs/CODEOWNERS b/docs/CODEOWNERS
index 7902ce7a68..75530e6bde 100644
--- a/docs/CODEOWNERS
+++ b/docs/CODEOWNERS
@@ -3,30 +3,30 @@
#
# @darcywong00 @mcdurdin @ermshiperete @rc-swag @SabineSIL @sgschantz
-/android/ @darcywong00 @sgschantz
+/android/ @darcywong00 @sgschantz
-/common/ @mcdurdin @rc-swag
-/core/ @mcdurdin @rc-swag
-/common/lexical-model-types/ @jahorton @mcdurdin
-/common/models/ @jahorton @mcdurdin
-/common/predictive-text/ @jahorton @mcdurdin
-/common/schemas/ @mcdurdin @jahorton
-/common/test/ @mcdurdin @ermshiperete
-/common/web/ @jahorton @mcdurdin
+/common/ @mcdurdin @rc-swag
+/core/ @mcdurdin @rc-swag
+/common/lexical-model-types/ @jahorton @mcdurdin
+/common/models/ @jahorton @mcdurdin
+/common/schemas/ @mcdurdin @jahorton
+/common/test/ @mcdurdin @ermshiperete
+/common/web/ @jahorton @mcdurdin
-/developer/ @mcdurdin @darcywong00
-/docs/ @mcdurdin @jahorton
-/ios/ @sgschantz @jahorton
-/linux/ @ermshiperete @darcywong00
-/mac/ @sgschantz @SabineSIL
+/developer/ @mcdurdin @darcywong00
+/docs/ @mcdurdin @jahorton
+/ios/ @sgschantz @jahorton
+/linux/ @ermshiperete @darcywong00
+/mac/ @sgschantz @SabineSIL
-/oem/firstvoices/android/ @darcywong00 @sgschantz
-/oem/firstvoices/common/ @mcdurdin @rc-swag
-/oem/firstvoices/ios/ @sgschantz @jahorton
-/oem/firstvoices/windows/ @rc-swag @ermshiperete
-/resources/ @mcdurdin @jahorton
+/oem/firstvoices/android/ @darcywong00 @sgschantz
+/oem/firstvoices/common/ @mcdurdin @rc-swag
+/oem/firstvoices/ios/ @sgschantz @jahorton
+/oem/firstvoices/windows/ @rc-swag @ermshiperete
+/resources/ @mcdurdin @jahorton
# Web is currently shared between Eberhard and Joshua:
-/web/ @ermshiperete @jahorton
+/web/ @ermshiperete @jahorton
+/web/src/engine/predictive-text/ @jahorton @mcdurdin
-/windows/ @rc-swag @ermshiperete
+/windows/ @rc-swag @ermshiperete
diff --git a/linux/scripts/dist.sh b/linux/scripts/dist.sh
index 0038034d42..6ef0be7d8b 100755
--- a/linux/scripts/dist.sh
+++ b/linux/scripts/dist.sh
@@ -30,28 +30,37 @@ cp -a debian ../
cd ..
echo "3.0 (native)" > debian/source/format
dch keyman --newversion "${VERSION}" --force-bad-version --nomultimaint
-dpkg-source --tar-ignore=*~ --tar-ignore=.git --tar-ignore=.gitattributes \
- --tar-ignore=.gitignore --tar-ignore=experiments --tar-ignore=debian \
- --tar-ignore=.github --tar-ignore=.vscode --tar-ignore=android \
+dpkg-source --tar-ignore=*~ \
+ --tar-ignore=.git \
+ --tar-ignore=.gitattributes \
+ --tar-ignore=.gitignore \
+ --tar-ignore=experiments \
+ --tar-ignore=debian \
+ --tar-ignore=.github \
+ --tar-ignore=.vscode \
+ --tar-ignore=android \
--tar-ignore=.devcontainer \
--tar-ignore=artifacts \
\
--tar-ignore=common/models \
- --tar-ignore=common/predictive-text \
--tar-ignore=common/resources \
--tar-ignore=common/schemas \
--tar-ignore=common/test/keyboards/build.* \
- --tar-ignore=common/test/predictive-text \
--tar-ignore=common/test/resources \
--tar-ignore=common/web \
--tar-ignore=common/windows \
\
--tar-ignore=core/build \
- --tar-ignore=developer --tar-ignore=docs --tar-ignore=ios \
+ --tar-ignore=developer \
+ --tar-ignore=docs \
+ --tar-ignore=ios \
--tar-ignore=linux/keyman-config/keyman_config/version.py \
- --tar-ignore=linux/keyman-config/buildtools/build-langtags.py --tar-ignore=__pycache__ \
+ --tar-ignore=linux/keyman-config/buildtools/build-langtags.py \
+ --tar-ignore=__pycache__ \
--tar-ignore=linux/help \
- --tar-ignore=mac --tar-ignore=node_modules --tar-ignore=oem \
+ --tar-ignore=mac \
+ --tar-ignore=node_modules \
+ --tar-ignore=oem \
--tar-ignore=linux/build \
--tar-ignore=linux/builddebs \
--tar-ignore=linux/ibus-keyman/build \
@@ -60,11 +69,17 @@ dpkg-source --tar-ignore=*~ --tar-ignore=.git --tar-ignore=.gitattributes \
--tar-ignore=resources/environment.sh \
--tar-ignore=resources/git-hooks \
--tar-ignore=resources/scopes \
- --tar-ignore=resources/build/*.lua --tar-ignore=resources/build/jq* \
+ --tar-ignore=resources/build/*.lua \
+ --tar-ignore=resources/build/jq* \
--tar-ignore=results \
--tar-ignore=tmp \
- --tar-ignore=web --tar-ignore=windows --tar-ignore=keyman_1* \
- --tar-ignore=dist --tar-ignore=VERSION -Zgzip -b .
+ --tar-ignore=web \
+ --tar-ignore=windows \
+ --tar-ignore=keyman_1* \
+ --tar-ignore=dist \
+ --tar-ignore=VERSION \
+ \
+ -Zgzip -b .
mv ../keyman_"${VERSION}".tar.gz linux/dist/keyman-"${VERSION}".tar.gz
echo "3.0 (quilt)" > debian/source/format
cd "$BASEDIR"
diff --git a/package-lock.json b/package-lock.json
index f6ea28257a..ad53581202 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -25,9 +25,9 @@
"common/test/resources",
"common/tools/*",
"common/web/*",
- "common/predictive-text",
"common/tools/hextobin",
- "web"
+ "web",
+ "web/src/engine/predictive-text/*"
],
"dependencies": {
"@keymanapp/common-types": "file:common/web/types",
@@ -108,7 +108,7 @@
"typescript": "^5.4.5"
}
},
- "common/predictive-text": {
+ "web/src/engine/predictive-text/worker-main": {
"name": "@keymanapp/lexical-model-layer",
"license": "MIT",
"dependencies": {
@@ -2892,7 +2892,7 @@
"link": true
},
"node_modules/@keymanapp/lexical-model-layer": {
- "resolved": "common/predictive-text",
+ "resolved": "web/src/engine/predictive-text/worker-main",
"link": true
},
"node_modules/@keymanapp/lm-message-types": {
diff --git a/package.json b/package.json
index 638f2b2fad..3f0012db10 100644
--- a/package.json
+++ b/package.json
@@ -50,9 +50,9 @@
"common/test/resources",
"common/tools/*",
"common/web/*",
- "common/predictive-text",
"common/tools/hextobin",
- "web"
+ "web",
+ "web/src/engine/predictive-text/*"
],
"dependencies": {
"@keymanapp/common-types": "file:common/web/types",
diff --git a/tsconfig.json b/tsconfig.json
index 8e6596a231..42b3fd1a99 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -5,7 +5,6 @@
{ "path": "./common/models/templates/tsconfig.json" },
{ "path": "./common/models/types/tsconfig.json" },
{ "path": "./common/models/wordbreakers/tsconfig.json" },
- { "path": "./common/predictive-text/tsconfig.all.json" },
{ "path": "./common/tools/hextobin/" },
{ "path": "./common/web/gesture-recognizer/tsconfig.json" },
@@ -43,6 +42,7 @@
{ "path": "./resources/build/version/" },
{ "path": "./web/src/tsconfig.all.json" },
+ { "path": "./web/src/engine/predictive-text/worker-main/tsconfig.all.json" },
// { "path": "./web/tools/recorder/tsconfig.json" },
// { "path": "./web/tools/sourcemap-root/tsconfig.json" },
]
diff --git a/web/README.md b/web/README.md
index 4f35643e1a..1e41497657 100644
--- a/web/README.md
+++ b/web/README.md
@@ -92,7 +92,7 @@ graph TD;
LMWorker["@keymanapp/lm-worker
(/common/web/lm-worker)"];
LMWorker-->Models;
LMWorker-->Wordbreakers;
- LMLayer["@keymanapp/lexical-model-layer
(/common/predictive-text)"];
+ LMLayer["@keymanapp/lexical-model-layer
(/web/src/engine/predictive-text/worker-main)"];
LMLayer-->LMWorker;
Gestures["@keymanapp/gesture-recognizer
(/common/web/gesture-recognizer)"];
Gestures-->WebUtils;
diff --git a/web/build.sh b/web/build.sh
index 4705bc55de..f0dd201bc8 100755
--- a/web/build.sh
+++ b/web/build.sh
@@ -27,12 +27,13 @@ builder_describe "Builds engine modules for Keyman Engine for Web (KMW)." \
":engine/dom-utils A common subset of function used for DOM calculations, layout, etc" \
":engine/events Specialized classes utilized to support KMW API events" \
":engine/element-wrappers Subset used to integrate with website elements" \
+ ":engine/interfaces Subset used to configure KMW" \
":engine/js-processor Build JS processor for KMW" \
":engine/keyboard Builds KMW's keyboard-loading and caching code" \
":engine/keyboard-storage Subset used to collate keyboards and request them from the cloud" \
":engine/main Builds all common code used by KMW's app/-level targets" \
":engine/osk Builds the Web OSK module" \
- ":engine/interfaces Subset used to configure KMW" \
+ ":engine/predictive-text=src/engine/predictive-text/worker-main Builds KMW's predictive text module" \
":samples Builds all needed resources for the KMW sample-page set" \
":tools Builds engine-related development resources" \
":test-pages=src/test/manual Builds resources needed for the KMW manual testing pages" \
@@ -59,12 +60,13 @@ builder_describe_outputs \
build:engine/dom-utils "/web/build/engine/dom-utils/obj/index.js" \
build:engine/events "/web/build/engine/events/lib/index.mjs" \
build:engine/element-wrappers "/web/build/engine/element-wrappers/lib/index.mjs" \
+ build:engine/interfaces "/web/build/engine/interfaces/lib/index.mjs" \
build:engine/js-processor "/web/build/engine/js-processor/lib/index.mjs" \
build:engine/keyboard "/web/build/engine/keyboard/lib/index.mjs" \
build:engine/keyboard-storage "/web/build/engine/keyboard-storage/lib/index.mjs" \
build:engine/main "/web/build/engine/main/lib/index.mjs" \
build:engine/osk "/web/build/engine/osk/lib/index.mjs" \
- build:engine/interfaces "/web/build/engine/interfaces/lib/index.mjs" \
+ build:engine/predictive-text "/web/src/engine/predictive-text/worker-main/build/lib/web/index.mjs" \
build:samples "/web/src/samples/simplest/keymanweb.js" \
build:tools "/web/build/tools/building/sourcemap-root/index.js" \
build:test-pages "/web/build/test-resources/sentry-manager.js"
diff --git a/web/src/engine/main/build.sh b/web/src/engine/main/build.sh
index 737ca9a5bd..77673626e0 100755
--- a/web/src/engine/main/build.sh
+++ b/web/src/engine/main/build.sh
@@ -15,12 +15,12 @@ SUBPROJECT_NAME=engine/main
builder_describe "Builds the Keyman Engine for Web's common top-level base classes." \
"@/common/web/keyman-version" \
"@/web/src/engine/keyboard" \
- "@/common/predictive-text" \
"@/web/src/engine/interfaces build" \
"@/web/src/engine/device-detect build" \
"@/web/src/engine/js-processor build" \
"@/web/src/engine/keyboard-storage build" \
"@/web/src/engine/osk build" \
+ "@/web/src/engine/predictive-text/worker-main" \
"@/developer/src/kmc-model test" \
"clean" \
"configure" \
diff --git a/common/predictive-text/.gitignore b/web/src/engine/predictive-text/worker-main/.gitignore
similarity index 100%
rename from common/predictive-text/.gitignore
rename to web/src/engine/predictive-text/worker-main/.gitignore
diff --git a/common/predictive-text/README.md b/web/src/engine/predictive-text/worker-main/README.md
similarity index 100%
rename from common/predictive-text/README.md
rename to web/src/engine/predictive-text/worker-main/README.md
diff --git a/common/predictive-text/build.sh b/web/src/engine/predictive-text/worker-main/build.sh
similarity index 84%
rename from common/predictive-text/build.sh
rename to web/src/engine/predictive-text/worker-main/build.sh
index b9ab601691..4120fce53b 100755
--- a/common/predictive-text/build.sh
+++ b/web/src/engine/predictive-text/worker-main/build.sh
@@ -8,7 +8,7 @@
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
-. "${THIS_SCRIPT%/*}/../../resources/build/builder.inc.sh"
+. "${THIS_SCRIPT%/*}/../../../../../resources/build/builder.inc.sh"
## END STANDARD BUILD SCRIPT INCLUDE
. "$KEYMAN_ROOT/resources/shellHelperFunctions.sh"
@@ -31,7 +31,7 @@ builder_describe "Builds the lm-layer module" \
builder_describe_outputs \
configure /node_modules \
- build /common/predictive-text/build/lib/web/index.mjs # is built by the final step.
+ build /web/src/engine/predictive-text/worker-main/build/lib/web/index.mjs # is built by the final step.
builder_parse "$@"
@@ -48,8 +48,8 @@ function do_build() {
tsc -b ./tsconfig.all.json
# esbuild-bundled products at this level are not intended to be used for anything but testing.
- $BUNDLE_CMD "${KEYMAN_ROOT}/common/predictive-text/build/obj/web/index.js" \
- --out "${KEYMAN_ROOT}/common/predictive-text/build/lib/web/index.mjs" \
+ $BUNDLE_CMD "${KEYMAN_ROOT}/web/src/engine/predictive-text/worker-main/build/obj/web/index.js" \
+ --out "${KEYMAN_ROOT}/web/src/engine/predictive-text/worker-main/build/lib/web/index.mjs" \
--format esm
}
diff --git a/common/predictive-text/docs/build.sh b/web/src/engine/predictive-text/worker-main/docs/build.sh
similarity index 100%
rename from common/predictive-text/docs/build.sh
rename to web/src/engine/predictive-text/worker-main/docs/build.sh
diff --git a/common/predictive-text/docs/lmlayer-states.dot b/web/src/engine/predictive-text/worker-main/docs/lmlayer-states.dot
similarity index 100%
rename from common/predictive-text/docs/lmlayer-states.dot
rename to web/src/engine/predictive-text/worker-main/docs/lmlayer-states.dot
diff --git a/common/predictive-text/docs/lmlayer-states.png b/web/src/engine/predictive-text/worker-main/docs/lmlayer-states.png
similarity index 100%
rename from common/predictive-text/docs/lmlayer-states.png
rename to web/src/engine/predictive-text/worker-main/docs/lmlayer-states.png
diff --git a/common/predictive-text/docs/predictive-text-sequence.png b/web/src/engine/predictive-text/worker-main/docs/predictive-text-sequence.png
similarity index 100%
rename from common/predictive-text/docs/predictive-text-sequence.png
rename to web/src/engine/predictive-text/worker-main/docs/predictive-text-sequence.png
diff --git a/common/predictive-text/docs/worker-communication-protocol.md b/web/src/engine/predictive-text/worker-main/docs/worker-communication-protocol.md
similarity index 100%
rename from common/predictive-text/docs/worker-communication-protocol.md
rename to web/src/engine/predictive-text/worker-main/docs/worker-communication-protocol.md
diff --git a/common/predictive-text/package.json b/web/src/engine/predictive-text/worker-main/package.json
similarity index 100%
rename from common/predictive-text/package.json
rename to web/src/engine/predictive-text/worker-main/package.json
diff --git a/common/predictive-text/src/index.ts b/web/src/engine/predictive-text/worker-main/src/index.ts
similarity index 100%
rename from common/predictive-text/src/index.ts
rename to web/src/engine/predictive-text/worker-main/src/index.ts
diff --git a/common/predictive-text/src/lmlayer.ts b/web/src/engine/predictive-text/worker-main/src/lmlayer.ts
similarity index 100%
rename from common/predictive-text/src/lmlayer.ts
rename to web/src/engine/predictive-text/worker-main/src/lmlayer.ts
diff --git a/common/predictive-text/src/node/index.ts b/web/src/engine/predictive-text/worker-main/src/node/index.ts
similarity index 100%
rename from common/predictive-text/src/node/index.ts
rename to web/src/engine/predictive-text/worker-main/src/node/index.ts
diff --git a/common/predictive-text/src/node/mappedWorker.ts b/web/src/engine/predictive-text/worker-main/src/node/mappedWorker.ts
similarity index 100%
rename from common/predictive-text/src/node/mappedWorker.ts
rename to web/src/engine/predictive-text/worker-main/src/node/mappedWorker.ts
diff --git a/common/predictive-text/src/node/sourcemappedWorker.ts b/web/src/engine/predictive-text/worker-main/src/node/sourcemappedWorker.ts
similarity index 100%
rename from common/predictive-text/src/node/sourcemappedWorker.ts
rename to web/src/engine/predictive-text/worker-main/src/node/sourcemappedWorker.ts
diff --git a/common/predictive-text/src/node/tsconfig.json b/web/src/engine/predictive-text/worker-main/src/node/tsconfig.json
similarity index 89%
rename from common/predictive-text/src/node/tsconfig.json
rename to web/src/engine/predictive-text/worker-main/src/node/tsconfig.json
index f95364c417..a1ab0f2f7c 100644
--- a/common/predictive-text/src/node/tsconfig.json
+++ b/web/src/engine/predictive-text/worker-main/src/node/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../web/tsconfig.kmw-main-base.json",
+ "extends": "../../../../../../tsconfig.base.json",
"compilerOptions": {
// The Worker class needs access to the `new` keyword, else Node will throw an
// error when constructing the Worker for unit tests. ES6 is sufficient.
diff --git a/common/predictive-text/src/node/worker.ts b/web/src/engine/predictive-text/worker-main/src/node/worker.ts
similarity index 100%
rename from common/predictive-text/src/node/worker.ts
rename to web/src/engine/predictive-text/worker-main/src/node/worker.ts
diff --git a/common/predictive-text/src/promise-store.ts b/web/src/engine/predictive-text/worker-main/src/promise-store.ts
similarity index 100%
rename from common/predictive-text/src/promise-store.ts
rename to web/src/engine/predictive-text/worker-main/src/promise-store.ts
diff --git a/web/src/engine/predictive-text/worker-main/src/tsconfig.json b/web/src/engine/predictive-text/worker-main/src/tsconfig.json
new file mode 100644
index 0000000000..b7cd725cf9
--- /dev/null
+++ b/web/src/engine/predictive-text/worker-main/src/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "extends": "../../../../../tsconfig.base.json",
+
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "../build/obj",
+ "tsBuildInfoFile": "../build/obj/tsconfig.tsbuildinfo",
+ "rootDir": "./"
+ },
+ "references": [
+ { "path": "../../../../../../common/web/utils" },
+ { "path": "../../../../../../common/models/types"},
+ { "path": "../../../../../../common/models/wordbreakers"},
+ { "path": "../../../../../../common/web/lm-message-types"},
+ { "path": "../../../../../../common/models/templates"}
+ ],
+ "include" : [ "./*.ts" ],
+ "exclude" : [
+ "node",
+ "web",
+ "index.ts" // It's handled by the final layer.
+ ]
+}
diff --git a/common/predictive-text/src/unwrap.ts b/web/src/engine/predictive-text/worker-main/src/unwrap.ts
similarity index 100%
rename from common/predictive-text/src/unwrap.ts
rename to web/src/engine/predictive-text/worker-main/src/unwrap.ts
diff --git a/common/predictive-text/src/web/index.ts b/web/src/engine/predictive-text/worker-main/src/web/index.ts
similarity index 100%
rename from common/predictive-text/src/web/index.ts
rename to web/src/engine/predictive-text/worker-main/src/web/index.ts
diff --git a/common/predictive-text/src/web/sourcemappedWorker.ts b/web/src/engine/predictive-text/worker-main/src/web/sourcemappedWorker.ts
similarity index 100%
rename from common/predictive-text/src/web/sourcemappedWorker.ts
rename to web/src/engine/predictive-text/worker-main/src/web/sourcemappedWorker.ts
diff --git a/common/predictive-text/src/web/tsconfig.json b/web/src/engine/predictive-text/worker-main/src/web/tsconfig.json
similarity index 83%
rename from common/predictive-text/src/web/tsconfig.json
rename to web/src/engine/predictive-text/worker-main/src/web/tsconfig.json
index c16936db12..769c97d589 100644
--- a/common/predictive-text/src/web/tsconfig.json
+++ b/web/src/engine/predictive-text/worker-main/src/web/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "../../../web/tsconfig.kmw-main-base.json",
+ "extends": "../../../../../../tsconfig.base.json",
"compilerOptions": {
"lib": ["es6", "DOM"],
"baseUrl": "../",
diff --git a/common/predictive-text/src/web/worker.ts b/web/src/engine/predictive-text/worker-main/src/web/worker.ts
similarity index 100%
rename from common/predictive-text/src/web/worker.ts
rename to web/src/engine/predictive-text/worker-main/src/web/worker.ts
diff --git a/common/predictive-text/src/worker-interface.d.ts b/web/src/engine/predictive-text/worker-main/src/worker-interface.d.ts
similarity index 100%
rename from common/predictive-text/src/worker-interface.d.ts
rename to web/src/engine/predictive-text/worker-main/src/worker-interface.d.ts
diff --git a/common/predictive-text/tsconfig.all.json b/web/src/engine/predictive-text/worker-main/tsconfig.all.json
similarity index 63%
rename from common/predictive-text/tsconfig.all.json
rename to web/src/engine/predictive-text/worker-main/tsconfig.all.json
index f47b208eda..6307444b96 100644
--- a/common/predictive-text/tsconfig.all.json
+++ b/web/src/engine/predictive-text/worker-main/tsconfig.all.json
@@ -3,7 +3,7 @@
// require separate sub-tsconfigs, both of which require common references. The multi-config
// setup in this project and its subfolders ensure all modules can compile cleanly and in the
// necessary compilation order.
- "extends": "../web/tsconfig.kmw-main-base.json",
+ "extends": "../../../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": "./",
@@ -13,11 +13,11 @@
},
"files": [],
"references": [
- { "path": "../web/utils" },
- { "path": "../models/types"},
- { "path": "../models/wordbreakers"},
- { "path": "../web/lm-message-types"},
- { "path": "../models/templates"},
+ { "path": "../../../../../common/web/utils" },
+ { "path": "../../../../../common/models/types"},
+ { "path": "../../../../../common/models/wordbreakers"},
+ { "path": "../../../../../common/web/lm-message-types"},
+ { "path": "../../../../../common/models/templates"},
{ "path": "src/node" },
{ "path": "src/web" }
],
diff --git a/common/predictive-text/unit_tests/headless/promise-store.js b/web/src/engine/predictive-text/worker-main/unit_tests/headless/promise-store.js
similarity index 100%
rename from common/predictive-text/unit_tests/headless/promise-store.js
rename to web/src/engine/predictive-text/worker-main/unit_tests/headless/promise-store.js
diff --git a/common/predictive-text/unit_tests/headless/top-level-lmlayer.js b/web/src/engine/predictive-text/worker-main/unit_tests/headless/top-level-lmlayer.js
similarity index 100%
rename from common/predictive-text/unit_tests/headless/top-level-lmlayer.js
rename to web/src/engine/predictive-text/worker-main/unit_tests/headless/top-level-lmlayer.js
diff --git a/common/predictive-text/unit_tests/headless/worker-dummy-integration.js b/web/src/engine/predictive-text/worker-main/unit_tests/headless/worker-dummy-integration.js
similarity index 100%
rename from common/predictive-text/unit_tests/headless/worker-dummy-integration.js
rename to web/src/engine/predictive-text/worker-main/unit_tests/headless/worker-dummy-integration.js
diff --git a/common/predictive-text/unit_tests/headless/worker-trie-integration.js b/web/src/engine/predictive-text/worker-main/unit_tests/headless/worker-trie-integration.js
similarity index 100%
rename from common/predictive-text/unit_tests/headless/worker-trie-integration.js
rename to web/src/engine/predictive-text/worker-main/unit_tests/headless/worker-trie-integration.js
diff --git a/common/predictive-text/unit_tests/in_browser/cases/top-level-lmlayer.spec.ts b/web/src/engine/predictive-text/worker-main/unit_tests/in_browser/cases/top-level-lmlayer.spec.ts
similarity index 100%
rename from common/predictive-text/unit_tests/in_browser/cases/top-level-lmlayer.spec.ts
rename to web/src/engine/predictive-text/worker-main/unit_tests/in_browser/cases/top-level-lmlayer.spec.ts
diff --git a/common/predictive-text/unit_tests/in_browser/cases/worker-dummy-integration.spec.ts b/web/src/engine/predictive-text/worker-main/unit_tests/in_browser/cases/worker-dummy-integration.spec.ts
similarity index 100%
rename from common/predictive-text/unit_tests/in_browser/cases/worker-dummy-integration.spec.ts
rename to web/src/engine/predictive-text/worker-main/unit_tests/in_browser/cases/worker-dummy-integration.spec.ts
diff --git a/common/predictive-text/unit_tests/in_browser/cases/worker-trie-integration.spec.ts b/web/src/engine/predictive-text/worker-main/unit_tests/in_browser/cases/worker-trie-integration.spec.ts
similarity index 100%
rename from common/predictive-text/unit_tests/in_browser/cases/worker-trie-integration.spec.ts
rename to web/src/engine/predictive-text/worker-main/unit_tests/in_browser/cases/worker-trie-integration.spec.ts
diff --git a/common/predictive-text/unit_tests/in_browser/helpers.mjs b/web/src/engine/predictive-text/worker-main/unit_tests/in_browser/helpers.mjs
similarity index 100%
rename from common/predictive-text/unit_tests/in_browser/helpers.mjs
rename to web/src/engine/predictive-text/worker-main/unit_tests/in_browser/helpers.mjs
diff --git a/common/predictive-text/unit_tests/in_browser/web-test-runner.CI.config.mjs b/web/src/engine/predictive-text/worker-main/unit_tests/in_browser/web-test-runner.CI.config.mjs
similarity index 100%
rename from common/predictive-text/unit_tests/in_browser/web-test-runner.CI.config.mjs
rename to web/src/engine/predictive-text/worker-main/unit_tests/in_browser/web-test-runner.CI.config.mjs
diff --git a/common/predictive-text/unit_tests/in_browser/web-test-runner.config.mjs b/web/src/engine/predictive-text/worker-main/unit_tests/in_browser/web-test-runner.config.mjs
similarity index 96%
rename from common/predictive-text/unit_tests/in_browser/web-test-runner.config.mjs
rename to web/src/engine/predictive-text/worker-main/unit_tests/in_browser/web-test-runner.config.mjs
index 523cd25457..6f9df64ddb 100644
--- a/common/predictive-text/unit_tests/in_browser/web-test-runner.config.mjs
+++ b/web/src/engine/predictive-text/worker-main/unit_tests/in_browser/web-test-runner.config.mjs
@@ -7,7 +7,7 @@ import { dirname, resolve } from 'path';
import { sessionStabilityReporter } from '@keymanapp/common-test-resources/test-runner-stability-reporter.mjs';
const dir = dirname(fileURLToPath(import.meta.url));
-const KEYMAN_ROOT = resolve(dir, '../../../../');
+const KEYMAN_ROOT = resolve(dir, '../../../../../../../');
/** @type {import('@web/test-runner').TestRunnerConfig} */
export default {
diff --git a/common/predictive-text/unit_tests/test.sh b/web/src/engine/predictive-text/worker-main/unit_tests/test.sh
similarity index 98%
rename from common/predictive-text/unit_tests/test.sh
rename to web/src/engine/predictive-text/worker-main/unit_tests/test.sh
index 3eb87bae56..007bf36357 100755
--- a/common/predictive-text/unit_tests/test.sh
+++ b/web/src/engine/predictive-text/worker-main/unit_tests/test.sh
@@ -3,7 +3,7 @@
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
-. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
+. "${THIS_SCRIPT%/*}/../../../../../../resources/build/build-utils.sh"
## END STANDARD BUILD SCRIPT INCLUDE
. "$KEYMAN_ROOT/resources/build/build-utils-ci.inc.sh"
diff --git a/common/test/predictive-text/.gitignore b/web/src/test/manual/predictive-text/.gitignore
similarity index 100%
rename from common/test/predictive-text/.gitignore
rename to web/src/test/manual/predictive-text/.gitignore
diff --git a/common/test/predictive-text/README.md b/web/src/test/manual/predictive-text/README.md
similarity index 96%
rename from common/test/predictive-text/README.md
rename to web/src/test/manual/predictive-text/README.md
index ddf89bb8be..0ab038ca11 100644
--- a/common/test/predictive-text/README.md
+++ b/web/src/test/manual/predictive-text/README.md
@@ -9,10 +9,9 @@ Install
**NOTE**: Requires Node >= 10.0
First, ensure that Keyman web and the LMLayer are built. You can run the
-build script in `/web/source` to do this for you:
+build script in `/web` to do this for you:
- cd ../../../web/source
- ./build.sh
+ ../../../../web/build.sh
Then, you can install locally with `npm`:
diff --git a/common/test/predictive-text/index.js b/web/src/test/manual/predictive-text/index.js
similarity index 99%
rename from common/test/predictive-text/index.js
rename to web/src/test/manual/predictive-text/index.js
index 934dcf67a6..605ed2939c 100755
--- a/common/test/predictive-text/index.js
+++ b/web/src/test/manual/predictive-text/index.js
@@ -13,7 +13,7 @@ const {EventIterator} = require('event-iterator');
const program = require('commander');
// Load the most recent LMLayer code locally.
-const LMLayer = require('../../predictive-text');
+const LMLayer = require('../../../engine/predictive-text/worker-main');
///////////////////////////////// Constants /////////////////////////////////
@@ -331,7 +331,7 @@ async function asyncRepl(modelFile) {
function createAsyncWorker() {
// XXX: import the LMLayerWorker directly -- I know where it is built.
- const LMLayerWorker = require('../../predictive-text/build/intermediate');
+ const LMLayerWorker = require('../../../engine/predictive-text/build/intermediate');
const vm = require('vm');
let worker = {
diff --git a/common/test/predictive-text/package.json b/web/src/test/manual/predictive-text/package.json
similarity index 100%
rename from common/test/predictive-text/package.json
rename to web/src/test/manual/predictive-text/package.json