diff --git a/common/core/web/input-processor/package.json b/common/core/web/input-processor/package.json
index 2b81d88516..044a949ac8 100644
--- a/common/core/web/input-processor/package.json
+++ b/common/core/web/input-processor/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/input-processor",
- "version": "15.0.233",
"description": "The core text and prediction processing engine for KeymanWeb",
"repository": {
"type": "git",
diff --git a/common/core/web/keyboard-processor/package.json b/common/core/web/keyboard-processor/package.json
index bc3ae514c5..6fd931f8ba 100644
--- a/common/core/web/keyboard-processor/package.json
+++ b/common/core/web/keyboard-processor/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/keyboard-processor",
- "version": "15.0.233",
"description": "Core module for Keyman keyboard support in KeymanWeb.",
"repository": {
"type": "git",
diff --git a/common/core/web/tools/recorder/package.json b/common/core/web/tools/recorder/package.json
index 94c7a7ef1b..a9101b2048 100644
--- a/common/core/web/tools/recorder/package.json
+++ b/common/core/web/tools/recorder/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/recorder-core",
- "version": "15.0.233",
"description": "Core classes used to develop KeymanWeb test cases based on keystrokes",
"main": "index.js",
"scripts": {
diff --git a/common/core/web/tools/sentry-manager/package.json b/common/core/web/tools/sentry-manager/package.json
index 5adcbc35da..710f3fc9cd 100644
--- a/common/core/web/tools/sentry-manager/package.json
+++ b/common/core/web/tools/sentry-manager/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/web-sentry-manager",
- "version": "15.0.233",
"description": "Common setup for KeymanWeb's Sentry-based error reporting",
"main": "dist/index.js",
"scripts": {
diff --git a/common/core/web/utils/package.json b/common/core/web/utils/package.json
index 118c7fe72b..88c8308791 100644
--- a/common/core/web/utils/package.json
+++ b/common/core/web/utils/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/web-utils",
- "version": "15.0.233",
"description": "Common utility functions used throughout other Keyman packages",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
diff --git a/common/models/templates/package.json b/common/models/templates/package.json
index 90ea22b3ab..d4eafa6f0c 100644
--- a/common/models/templates/package.json
+++ b/common/models/templates/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/models-templates",
- "version": "15.0.233",
"description": "Backing model implementations (templates) for Keyman's modelling layer",
"keywords": [
"lm",
diff --git a/common/models/types/package.json b/common/models/types/package.json
index 116d983182..9cdff83231 100644
--- a/common/models/types/package.json
+++ b/common/models/types/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/models-types",
- "version": "15.0.233",
"description": "Type definitions in used in the modeling (lexical model/predictive text) component of Keyman.",
"types": "./index.d.ts",
"scripts": {
diff --git a/common/models/wordbreakers/package.json b/common/models/wordbreakers/package.json
index 447247dfc1..38cf3a0175 100644
--- a/common/models/wordbreakers/package.json
+++ b/common/models/wordbreakers/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/models-wordbreakers",
- "version": "15.0.233",
"description": "Word breakers bundled in the modeling layer",
"keywords": [
"lexical model",
diff --git a/common/predictive-text/package.json b/common/predictive-text/package.json
index fe6ae706fb..11c73b3e86 100644
--- a/common/predictive-text/package.json
+++ b/common/predictive-text/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/lexical-model-layer",
- "version": "15.0.233",
"description": "Keyman/Predictive Text integration layer",
"main": "build/index.js",
"scripts": {
diff --git a/common/test/predictive-text/package.json b/common/test/predictive-text/package.json
index 2c0cf1be90..2a77bac33c 100644
--- a/common/test/predictive-text/package.json
+++ b/common/test/predictive-text/package.json
@@ -1,6 +1,5 @@
{
"name": "lmlayer-cli",
- "version": "0.2.0",
"description": "Command line interface to the predictive text engine.",
"main": "index.js",
"bin": "./index.js",
diff --git a/common/web/es6-shim/package.json b/common/web/es6-shim/package.json
index 7af4ebbeb1..9740e874f1 100644
--- a/common/web/es6-shim/package.json
+++ b/common/web/es6-shim/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/es6-shim",
- "version": "15.0.230",
"description": "Keyman/es6-shim",
"main": "build/index.js",
"scripts": {
diff --git a/common/web/keyman-version/.gitignore b/common/web/keyman-version/.gitignore
new file mode 100644
index 0000000000..3e3464001b
--- /dev/null
+++ b/common/web/keyman-version/.gitignore
@@ -0,0 +1,2 @@
+# version.inc.ts is generated during the build
+version.inc.ts
\ No newline at end of file
diff --git a/common/web/keyman-version/build.sh b/common/web/keyman-version/build.sh
new file mode 100644
index 0000000000..5589e0f678
--- /dev/null
+++ b/common/web/keyman-version/build.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+#
+# Builds the include script for the current Keyman version.
+#
+
+# Exit on command failure and when using unset variables:
+set -eu
+
+## START STANDARD BUILD SCRIPT INCLUDE
+# adjust relative paths as necessary
+THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BASH_SOURCE[0]}")"
+. "$(dirname "$THIS_SCRIPT")/../../../resources/build/build-utils.sh"
+## END STANDARD BUILD SCRIPT INCLUDE
+
+# This script runs from its own folder
+cd "$(dirname "$THIS_SCRIPT")"
+
+display_usage ( ) {
+ echo "Usage: $0 [configure] [clean] [build] [test]"
+ echo " [--verbose|-v]"
+ echo " $0 -h|--help"
+ echo
+ echo " clean removes build/ folder"
+ echo " configure runs 'npm ci' on root folder"
+ echo " build builds wrapped version of package"
+ echo " [if required will: configure]"
+ echo " test runs tests (builds as req'd)"
+ echo " [if required will: build]"
+}
+
+################################ Main script ################################
+
+builder_init "clean configure build" "$@"
+
+# TODO: build if out-of-date if test is specified
+# TODO: configure if npm has not been run, and build is specified
+
+if builder_has_action configure; then
+ verify_npm_setup
+ builder_report configure success
+fi
+
+if builder_has_action clean; then
+ npm run clean
+ rm -f ./version.inc.ts
+ builder_report clean success
+fi
+
+if builder_has_action build; then
+ # Generate index.ts
+ echo "
+ // Generated by common/web/keyman-version/build.sh
+ namespace KEYMAN_VERSION {
+ export const
+ VERSION = \"$VERSION\",
+ VERSION_RELEASE =\"$VERSION_RELEASE\",
+ VERSION_MAJOR = \"$VERSION_MAJOR\",
+ VERSION_MINOR = \"$VERSION_MINOR\",
+ VERSION_PATCH = \"$VERSION_PATCH\",
+ TIER =\"$TIER\",
+ VERSION_TAG = \"$VERSION_TAG\",
+ VERSION_WITH_TAG = \"$VERSION_WITH_TAG\",
+ VERSION_ENVIRONMENT = \"$VERSION_ENVIRONMENT\";
+ }
+ " > ./version.inc.ts
+
+ # Build
+ npm run build -- $builder_verbose || die "Could not build worker."
+ builder_report build success
+fi
+
+if builder_has_action test; then
+ npm test || fail "Tests failed"
+ builder_report test success
+fi
diff --git a/common/web/keyman-version/index.ts b/common/web/keyman-version/index.ts
new file mode 100644
index 0000000000..c43b040ab4
--- /dev/null
+++ b/common/web/keyman-version/index.ts
@@ -0,0 +1,6 @@
+///
+
+// Add all namespaces defined here to the global scope:
+if (typeof module != 'undefined' && typeof module.exports != 'undefined') {
+ module.exports['KEYMAN_VERSION'] = KEYMAN_VERSION;
+}
diff --git a/common/web/keyman-version/package.json b/common/web/keyman-version/package.json
new file mode 100644
index 0000000000..8b8f27440d
--- /dev/null
+++ b/common/web/keyman-version/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "@keymanapp/keyman-version",
+ "description": "Keyman global version data",
+ "main": "./build/index.js",
+ "exports": "./build/index.js",
+ "scripts": {
+ "build": "echo 'Building @keymanapp/keyman-version' && tsc -b",
+ "clean": "tsc -b --clean",
+ "postinstall": "gosh ./build.sh build",
+ "postci": "gosh ./build.sh build"
+ },
+ "license": "MIT",
+ "devDependencies": {
+ "typescript": "^4.5.4",
+ "@keymanapp/resources-gosh": "*"
+ }
+}
diff --git a/common/web/keyman-version/tsconfig.json b/common/web/keyman-version/tsconfig.json
new file mode 100644
index 0000000000..4d856ccc80
--- /dev/null
+++ b/common/web/keyman-version/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig-base.json",
+
+ "compilerOptions": {
+ "allowJs": false,
+ "declaration": true,
+ "module": "none",
+ "outFile": "build/index.js",
+ "sourceMap": true,
+ "lib": ["es6"],
+ "target": "es5",
+ "downlevelIteration": true,
+ },
+ "include": [
+ "index.ts",
+ "version.inc.ts"
+ ]
+}
diff --git a/common/web/lm-message-types/package.json b/common/web/lm-message-types/package.json
index f8b5de235e..1941d69ab3 100644
--- a/common/web/lm-message-types/package.json
+++ b/common/web/lm-message-types/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/lm-message-types",
- "version": "15.0.233",
"description": "Type definitions in used in the lm layer (lexical model/predictive text) component of Keyman.",
"types": "./message.d.ts",
"scripts": {
diff --git a/common/web/lm-worker/package.json b/common/web/lm-worker/package.json
index 58f664ebf8..4a2df1469c 100644
--- a/common/web/lm-worker/package.json
+++ b/common/web/lm-worker/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/lm-worker",
- "version": "15.0.233",
"description": "Keyman/Predictive Text worker",
"main": "build/index.js",
"scripts": {
diff --git a/developer/js/build.sh b/developer/js/build.sh
index f2af9d332a..4182fd6088 100755
--- a/developer/js/build.sh
+++ b/developer/js/build.sh
@@ -96,8 +96,6 @@ if (( install_dependencies )) ; then
verify_npm_setup
fi
-set_npm_version || fail "Setting version failed."
-
build || fail "Compilation failed."
echo "Typescript compilation successful."
@@ -106,6 +104,8 @@ if (( run_tests )); then
fi
if (( should_publish )); then
+ set_npm_version || fail "Setting version failed."
+
if [[ $TIER == stable ]]; then
npm_dist_tag=latest
else
diff --git a/developer/js/package.json b/developer/js/package.json
index 993495d781..bfde9a39d3 100644
--- a/developer/js/package.json
+++ b/developer/js/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/lexical-model-compiler",
- "version": "15.0.233",
"description": "Keyman Developer lexical model compiler",
"keywords": [
"keyboard",
@@ -10,7 +9,7 @@
"unicode"
],
"scripts": {
- "build": "tsc",
+ "build": "tsc -b",
"test": "mocha",
"prepublishOnly": "npm run build"
},
@@ -34,7 +33,7 @@
"kmlmi": "dist/kmlmi.js"
},
"engines": {
- "node": ">=12.0.0"
+ "node": ">=16.0.0"
},
"dependencies": {
"@keymanapp/models-types": "*",
@@ -45,6 +44,7 @@
"devDependencies": {
"@keymanapp/models-templates": "*",
"@keymanapp/models-wordbreakers": "*",
+ "@keymanapp/keyman-version": "*",
"@types/chai": "^4.1.7",
"@types/mocha": "^5.2.7",
"@types/node": "^10.14.6",
diff --git a/developer/js/source/kmlmc.ts b/developer/js/source/kmlmc.ts
index 70ccf11621..e41a90840c 100644
--- a/developer/js/source/kmlmc.ts
+++ b/developer/js/source/kmlmc.ts
@@ -12,10 +12,12 @@ import { SysExits } from './util/sysexits';
let inputFilename: string;
+///
+
/* Arguments */
program
.description('Compiles Keyman lexical models')
- .version(require('../package.json').version)
+ .version(KEYMAN_VERSION.VERSION_WITH_TAG)
.arguments('')
.action(infile => inputFilename = infile)
.option('-o, --outFile ', 'where to save the resultant file');
diff --git a/developer/js/source/kmlmi.ts b/developer/js/source/kmlmi.ts
index 86c28d5e91..c8c54799fe 100644
--- a/developer/js/source/kmlmi.ts
+++ b/developer/js/source/kmlmi.ts
@@ -15,7 +15,7 @@ let inputFilename: string;
/* Arguments */
program
.description('Merges Keyman lexical model model_info files. Intended for use within the keymanapp/lexical-models repository.')
- .version(require('../package.json').version)
+ .version(KEYMAN_VERSION.VERSION_WITH_TAG)
.arguments('')
.action(infile => inputFilename = infile)
.option('-o, --outFile ', 'where to save the resultant file')
diff --git a/developer/js/source/kmlmp.ts b/developer/js/source/kmlmp.ts
index 729043236c..8504c62963 100644
--- a/developer/js/source/kmlmp.ts
+++ b/developer/js/source/kmlmp.ts
@@ -13,7 +13,7 @@ let inputFilename: string;
/* Arguments */
program
.description('Compiles Keyman lexical model packages')
- .version(require('../package.json').version)
+ .version(KEYMAN_VERSION.VERSION_WITH_TAG)
.arguments('')
.action(infile => inputFilename = infile)
.option('-o, --outFile ', 'where to save the resultant file');
diff --git a/developer/js/source/lexical-model-compiler/model-definitions.ts b/developer/js/source/lexical-model-compiler/model-definitions.ts
index a4eca801c7..25f1bc1ad2 100644
--- a/developer/js/source/lexical-model-compiler/model-definitions.ts
+++ b/developer/js/source/lexical-model-compiler/model-definitions.ts
@@ -49,7 +49,7 @@ export class ModelDefinitions {
version: string;
applyCasing?: CasingFunction;
} = {
- version: process.env.npm_package_version
+ version: KEYMAN_VERSION.VERSION_WITH_TAG
};
/**
diff --git a/developer/js/tsconfig.json b/developer/js/tsconfig.json
index 580cc940b6..c30f748994 100644
--- a/developer/js/tsconfig.json
+++ b/developer/js/tsconfig.json
@@ -1,6 +1,8 @@
{
+ "extends": "../../tsconfig-base.json",
+
"compilerOptions": {
- "module": "commonjs",
+ //"module": "commonjs",
"target": "es2017",
"moduleResolution": "node",
"sourceMap": true,
@@ -16,5 +18,11 @@
},
"include": [
"source/**/*.ts"
+ ],
+ "references": [
+ { "path": "../../common/web/keyman-version" },
+ { "path": "../../common/models/types" },
+ { "path": "../../common/models/templates" },
+ { "path": "../../common/models/wordbreakers" },
]
}
diff --git a/developer/server/build.sh b/developer/server/build.sh
index bfcd31e6f9..83e9562747 100644
--- a/developer/server/build.sh
+++ b/developer/server/build.sh
@@ -95,9 +95,12 @@ type npm >/dev/null ||\
if (( install_dependencies )) ; then
verify_npm_setup
- npm install --production=false
+ pushd "$KEYMAN_ROOT" > /dev/null
+ npm ci --production=false
+ popd > /dev/null
# See https://github.com/bubenshchykov/ngrok/issues/254, https://github.com/bubenshchykov/ngrok/pull/255
- rm -f node_modules/ngrok/bin/ngrok.exe
+ # TODO: this is horrible; is there a way we can avoid this?
+ rm -f "$KEYMAN_ROOT"/node_modules/ngrok/bin/ngrok.exe
fi
set_npm_version || fail "Setting version failed."
diff --git a/developer/server/package.json b/developer/server/package.json
index 84123ef291..1bbc6468b6 100644
--- a/developer/server/package.json
+++ b/developer/server/package.json
@@ -1,16 +1,14 @@
{
"name": "@keymanapp/developer-server",
- "version": "15.0.233",
"description": "Keyman Developer backend server",
"main": "dist/index.js",
"scripts": {
- "build": "tsc",
+ "build": "tsc -b",
"postbuild": "npx gosh ./postbuild.sh",
"prod": "node .",
"test": "mocha",
"watch": "npm run postbuild && tsc-watch --onSuccess \"node .\" --onFailure \"node .\""
},
- "author": "",
"license": "MIT",
"dependencies": {
"@sentry/node": "^6.16.1",
@@ -27,6 +25,7 @@
},
"devDependencies": {
"@keymanapp/resources-gosh": "*",
+ "@keymanapp/keyman-version": "*",
"@types/chai": "^4.3.0",
"@types/express": "^4.17.13",
"@types/mocha": "^9.1.0",
diff --git a/developer/server/src/environment.ts b/developer/server/src/environment.ts
index 675a72046e..486a870c9d 100644
--- a/developer/server/src/environment.ts
+++ b/developer/server/src/environment.ts
@@ -1,3 +1,3 @@
-const pjson = require('../package.json');
import { extractVersionData } from './version-data';
-export const environment = extractVersionData(pjson.version);
+// TODO: environment should be just KEYMAN_VERSION
+export const environment = extractVersionData(KEYMAN_VERSION.VERSION_WITH_TAG);
diff --git a/developer/server/tsconfig.json b/developer/server/tsconfig.json
index fac5498ef8..84f810564b 100644
--- a/developer/server/tsconfig.json
+++ b/developer/server/tsconfig.json
@@ -1,4 +1,6 @@
{
+ "extends": "../../tsconfig-base.json",
+
"compilerOptions": {
"module": "commonjs",
"target": "es2017",
@@ -16,5 +18,8 @@
},
"include": [
"src/**/*.ts"
+ ],
+ "references": [
+ { "path": "../../common/web/keyman-version" }
]
}
diff --git a/package-lock.json b/package-lock.json
index 08c2f9f68f..4498311cd6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -30,7 +30,6 @@
},
"common/core/web/input-processor": {
"name": "@keymanapp/input-processor",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@keymanapp/keyboard-processor": "*",
@@ -53,7 +52,6 @@
},
"common/core/web/keyboard-processor": {
"name": "@keymanapp/keyboard-processor",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@keymanapp/models-types": "*",
@@ -72,7 +70,6 @@
},
"common/core/web/tools/recorder": {
"name": "@keymanapp/recorder-core",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@keymanapp/keyboard-processor": "*",
@@ -87,7 +84,6 @@
},
"common/core/web/tools/sentry-manager": {
"name": "@keymanapp/web-sentry-manager",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@keymanapp/web-environment": "*",
@@ -99,7 +95,6 @@
},
"common/core/web/utils": {
"name": "@keymanapp/web-utils",
- "version": "15.0.233",
"license": "MIT",
"devDependencies": {
"@keymanapp/resources-gosh": "*",
@@ -116,7 +111,6 @@
},
"common/models/templates": {
"name": "@keymanapp/models-templates",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@keymanapp/models-wordbreakers": "*"
@@ -153,7 +147,6 @@
},
"common/models/types": {
"name": "@keymanapp/models-types",
- "version": "15.0.233",
"license": "MIT",
"devDependencies": {
"typescript": "^4.5.4"
@@ -161,7 +154,6 @@
},
"common/models/wordbreakers": {
"name": "@keymanapp/models-wordbreakers",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@types/node": "^14.0.3"
@@ -183,7 +175,6 @@
},
"common/predictive-text": {
"name": "@keymanapp/lexical-model-layer",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@keymanapp/models-templates": "*",
@@ -228,16 +219,31 @@
},
"common/web/es6-shim": {
"name": "@keymanapp/es6-shim",
- "version": "15.0.230",
"license": "MIT",
"dependencies": {
"es6-shim": "^0.35.5"
},
"devDependencies": {}
},
+ "common/web/keyman-version": {
+ "name": "@keymanapp/keyman-version",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "devDependencies": {
+ "@keymanapp/resources-gosh": "*",
+ "@types/node": "^14.0.4",
+ "ts-node": "^9.1.1",
+ "typescript": "^4.5.4"
+ }
+ },
+ "common/web/keyman-version/node_modules/@types/node": {
+ "version": "14.18.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.13.tgz",
+ "integrity": "sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA==",
+ "dev": true
+ },
"common/web/lm-message-types": {
"name": "@keymanapp/lm-message-types",
- "version": "15.0.233",
"license": "MIT",
"devDependencies": {
"typescript": "^4.5.4"
@@ -245,7 +251,6 @@
},
"common/web/lm-worker": {
"name": "@keymanapp/lm-worker",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@keymanapp/models-templates": "*",
@@ -290,7 +295,6 @@
},
"developer/js": {
"name": "@keymanapp/lexical-model-compiler",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@keymanapp/models-types": "*",
@@ -304,6 +308,7 @@
"kmlmp": "dist/kmlmp.js"
},
"devDependencies": {
+ "@keymanapp/keyman-version": "*",
"@keymanapp/models-templates": "*",
"@keymanapp/models-wordbreakers": "*",
"@types/chai": "^4.1.7",
@@ -317,7 +322,7 @@
"ts-node": "^9.1.1"
},
"engines": {
- "node": ">=12.0.0"
+ "node": ">=16.0.0"
}
},
"developer/js/node_modules/@types/mocha": {
@@ -396,7 +401,6 @@
},
"developer/server": {
"name": "@keymanapp/developer-server",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@sentry/node": "^6.16.1",
@@ -408,6 +412,7 @@
"ws": "^8.3.0"
},
"devDependencies": {
+ "@keymanapp/keyman-version": "*",
"@keymanapp/resources-gosh": "*",
"@types/chai": "^4.3.0",
"@types/express": "^4.17.13",
@@ -759,6 +764,10 @@
"resolved": "common/core/web/keyboard-processor",
"link": true
},
+ "node_modules/@keymanapp/keyman-version": {
+ "resolved": "common/web/keyman-version",
+ "link": true
+ },
"node_modules/@keymanapp/lexical-model-compiler": {
"resolved": "developer/js",
"link": true
@@ -6151,7 +6160,6 @@
},
"resources/gosh": {
"name": "@keymanapp/resources-gosh",
- "version": "15.0.233",
"license": "MIT",
"bin": {
"gosh": "gosh.js"
@@ -6159,7 +6167,6 @@
},
"resources/web-environment": {
"name": "@keymanapp/web-environment",
- "version": "15.0.233",
"license": "MIT",
"devDependencies": {
"@keymanapp/resources-gosh": "*"
@@ -6167,7 +6174,6 @@
},
"web": {
"name": "keyman",
- "version": "15.0.233",
"license": "MIT",
"dependencies": {
"@keymanapp/input-processor": "*",
@@ -6233,6 +6239,7 @@
"@keymanapp/developer-server": {
"version": "file:developer/server",
"requires": {
+ "@keymanapp/keyman-version": "*",
"@keymanapp/resources-gosh": "*",
"@sentry/node": "^6.16.1",
"@types/chai": "^4.3.0",
@@ -6492,9 +6499,27 @@
"typescript": "^4.5.4"
}
},
+ "@keymanapp/keyman-version": {
+ "version": "file:common/web/keyman-version",
+ "requires": {
+ "@keymanapp/resources-gosh": "*",
+ "@types/node": "^14.0.4",
+ "ts-node": "^9.1.1",
+ "typescript": "^4.5.4"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "14.18.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.13.tgz",
+ "integrity": "sha512-Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA==",
+ "dev": true
+ }
+ }
+ },
"@keymanapp/lexical-model-compiler": {
"version": "file:developer/js",
"requires": {
+ "@keymanapp/keyman-version": "*",
"@keymanapp/models-templates": "*",
"@keymanapp/models-types": "*",
"@keymanapp/models-wordbreakers": "*",
diff --git a/resources/build/version/package.json b/resources/build/version/package.json
index 0339502892..50f35eab14 100644
--- a/resources/build/version/package.json
+++ b/resources/build/version/package.json
@@ -34,6 +34,5 @@
"clean:dist": "rm -rf dist",
"clean:lib": "rm -rf lib",
"types": "tsc --noEmit"
- },
- "version": "1.1.3"
+ }
}
diff --git a/resources/gosh/package.json b/resources/gosh/package.json
index 24cca16e36..bc70a30cc0 100644
--- a/resources/gosh/package.json
+++ b/resources/gosh/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/resources-gosh",
- "version": "15.0.233",
"description": "Good Ol' Shell",
"author": "Marc Durdin (https://github.com/mcdurdin)",
"contributors": [
diff --git a/resources/web-environment/package.json b/resources/web-environment/package.json
index 523ec88089..18efaf9dd3 100644
--- a/resources/web-environment/package.json
+++ b/resources/web-environment/package.json
@@ -1,6 +1,5 @@
{
"name": "@keymanapp/web-environment",
- "version": "15.0.233",
"description": "A compilation utility for passing select environment variables into our TS builds",
"author": "Joshua Horton (https://github.com/jahorton)",
"homepage": "https://github.com/keymanapp/keyman",
diff --git a/tsconfig-base.json b/tsconfig-base.json
index 6ec12831da..0b3abb64c9 100644
--- a/tsconfig-base.json
+++ b/tsconfig-base.json
@@ -18,6 +18,7 @@
"@keymanapp/models-wordbreakers": ["./common/models/wordbreakers"],
"@keymanapp/utils": ["./common/core/web/utils"],
"@keymanapp/lm-message-types": ["./common/web/lm-message-types"],
+ "@keymanapp/keyman-version": ["./common/web/keyman-version"],
}
}
}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index 90873944bb..504c21b15e 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -28,6 +28,7 @@
{ "path": "./web/tools/recorder/tsconfig.json" },
{ "path": "./web/tools/sourcemap-root/tsconfig.json" },
{ "path": "./common/web/lm-message-types/" },
- { "path": "./common/web/lm-worker/" }
+ { "path": "./common/web/lm-worker/" },
+ { "path": "./common/web/keyman-version/" },
]
}
\ No newline at end of file
diff --git a/web/package.json b/web/package.json
index 235f57f1fd..d618ff49fd 100644
--- a/web/package.json
+++ b/web/package.json
@@ -1,6 +1,5 @@
{
"name": "keyman",
- "version": "15.0.233",
"description": "Facilitates text input in any language.",
"repository": {
"type": "git",
diff --git a/web/testing/regression-tests/package.json b/web/testing/regression-tests/package.json
index 70010ad30e..64e04dc4f6 100644
--- a/web/testing/regression-tests/package.json
+++ b/web/testing/regression-tests/package.json
@@ -1,6 +1,5 @@
{
"name": "regression-tests",
- "version": "1.0.0",
"description": "Automated regression test suite for KeymanWeb",
"main": "index.js",
"scripts": {