mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 00:15:32 +00:00
feat(developer): kmc-kmn tdd framework
This commit is contained in:
parent
305445899a
commit
dd15de40df
14 changed files with 657 additions and 1 deletions
|
|
@ -69,7 +69,7 @@ server: .virtual
|
|||
cd $(DEVELOPER_ROOT)\src\server
|
||||
$(MAKE) $(TARGET)
|
||||
|
||||
kmc: kmc-keyboard kmc-model kmc-model-info kmc-package
|
||||
kmc: kmc-keyboard kmc-kmn kmc-model kmc-model-info kmc-package
|
||||
cd $(DEVELOPER_ROOT)\src\kmc
|
||||
$(MAKE) $(TARGET)
|
||||
|
||||
|
|
@ -77,6 +77,10 @@ kmc-keyboard: .virtual
|
|||
cd $(DEVELOPER_ROOT)\src\kmc-keyboard
|
||||
$(MAKE) $(TARGET)
|
||||
|
||||
kmc-kmn: .virtual
|
||||
cd $(DEVELOPER_ROOT)\src\kmc-kmn
|
||||
$(MAKE) $(TARGET)
|
||||
|
||||
kmc-model: .virtual
|
||||
cd $(DEVELOPER_ROOT)\src\kmc-model
|
||||
$(MAKE) $(TARGET)
|
||||
|
|
|
|||
37
developer/src/kmc-kmn/Makefile
Normal file
37
developer/src/kmc-kmn/Makefile
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
#
|
||||
# Keyman Developer - kmc kmn Compiler Makefile
|
||||
#
|
||||
|
||||
!include ..\Defines.mak
|
||||
|
||||
build: .virtual
|
||||
$(GIT_BASH_FOR_KEYMAN) build.sh build
|
||||
|
||||
configure: .virtual
|
||||
$(GIT_BASH_FOR_KEYMAN) build.sh configure
|
||||
|
||||
clean: .virtual
|
||||
$(GIT_BASH_FOR_KEYMAN) build.sh clean
|
||||
|
||||
test: .virtual
|
||||
$(GIT_BASH_FOR_KEYMAN) build.sh test
|
||||
|
||||
# build.sh bundle must be run from shell as it requires a temp folder to be
|
||||
# passed in. See inst/download.in.mak for instantiation.
|
||||
|
||||
publish: .virtual
|
||||
$(GIT_BASH_FOR_KEYMAN) build.sh publish
|
||||
|
||||
signcode:
|
||||
@rem nothing to do
|
||||
|
||||
wrap-symbols:
|
||||
@rem nothing to do
|
||||
|
||||
test-manifest:
|
||||
@rem nothing to do
|
||||
|
||||
install:
|
||||
@rem nothing to do
|
||||
|
||||
!include ..\Target.mak
|
||||
70
developer/src/kmc-kmn/build.sh
Executable file
70
developer/src/kmc-kmn/build.sh
Executable file
|
|
@ -0,0 +1,70 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Compiles the kmc-kmn keyboard compiler.
|
||||
#
|
||||
|
||||
# Exit on command failure and when using unset variables:
|
||||
set -eu
|
||||
|
||||
## START STANDARD BUILD SCRIPT INCLUDE
|
||||
# adjust relative paths as necessary
|
||||
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
|
||||
. "${THIS_SCRIPT%/*}/../../../resources/build/build-utils.sh"
|
||||
## END STANDARD BUILD SCRIPT INCLUDE
|
||||
|
||||
cd "$THIS_SCRIPT_PATH"
|
||||
|
||||
. "$KEYMAN_ROOT/resources/shellHelperFunctions.sh"
|
||||
|
||||
builder_describe "Build Keyman kmc kmn to kmx Compiler module" \
|
||||
"@/common/web/keyman-version" \
|
||||
"@/common/web/types" \
|
||||
"@/developer/src/kmcmplib:wasm" \
|
||||
"configure" \
|
||||
"build" \
|
||||
"clean" \
|
||||
"test" \
|
||||
"publish publish to npm" \
|
||||
"--dry-run,-n don't actually publish, just dry run"
|
||||
|
||||
builder_describe_outputs \
|
||||
configure /node_modules \
|
||||
build /developer/src/kmc-kmn/build/src/main.js
|
||||
|
||||
builder_parse "$@"
|
||||
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if builder_start_action clean; then
|
||||
rm -rf ./build/ ./tsconfig.tsbuildinfo
|
||||
builder_finish_action success clean
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if builder_start_action configure; then
|
||||
verify_npm_setup
|
||||
builder_finish_action success configure
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if builder_start_action build; then
|
||||
tsc --build
|
||||
builder_finish_action success build
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if builder_start_action test; then
|
||||
npm test
|
||||
builder_finish_action success test
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
if builder_start_action publish; then
|
||||
. "$KEYMAN_ROOT/resources/build/npm-publish.inc.sh"
|
||||
npm_publish
|
||||
builder_finish_action success publish
|
||||
fi
|
||||
55
developer/src/kmc-kmn/package.json
Normal file
55
developer/src/kmc-kmn/package.json
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
"name": "@keymanapp/kmc-kmn",
|
||||
"description": "Keyman Developer kmn keyboard compiler",
|
||||
"keywords": [
|
||||
"keyboard",
|
||||
"keyman",
|
||||
"kmn",
|
||||
"kmx",
|
||||
"unicode"
|
||||
],
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./build/src/main.js"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -b",
|
||||
"test": "cd test && tsc -b && cd .. && c8 --reporter=lcov --reporter=text mocha",
|
||||
"prepublishOnly": "npm run build"
|
||||
},
|
||||
"author": "Marc Durdin <marc@keyman.com> (https://github.com/mcdurdin)",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/keymanapp/keyman/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"@keymanapp/keyman-version": "*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/chai": "^4.1.7",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "^10.14.6",
|
||||
"@types/semver": "^7.3.12",
|
||||
"@types/sinon": "^10.0.13",
|
||||
"@types/sinon-chai": "^3.2.9",
|
||||
"@types/xml2js": "^0.4.5",
|
||||
"c8": "^7.12.0",
|
||||
"chai": "^4.3.4",
|
||||
"chalk": "^2.4.2",
|
||||
"mocha": "^8.4.0",
|
||||
"sinon": "^15.0.2",
|
||||
"sinon-chai": "^3.7.0",
|
||||
"ts-node": "^9.1.1",
|
||||
"typescript": "^4.9.5"
|
||||
},
|
||||
"mocha": {
|
||||
"spec": "build/test/**/test-*.js",
|
||||
"require": [
|
||||
"source-map-support/register"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/keymanapp/keyman.git"
|
||||
}
|
||||
}
|
||||
5
developer/src/kmc-kmn/src/compiler/compiler.ts
Normal file
5
developer/src/kmc-kmn/src/compiler/compiler.ts
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
export class Compiler {
|
||||
public run() {
|
||||
console.log('TODO: implement WASM hooks');
|
||||
}
|
||||
}
|
||||
2
developer/src/kmc-kmn/src/main.ts
Normal file
2
developer/src/kmc-kmn/src/main.ts
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
export { Compiler } from './compiler/compiler.js';
|
||||
7
developer/src/kmc-kmn/test/README.md
Normal file
7
developer/src/kmc-kmn/test/README.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
Keyman kmn Keyboard Compiler Tests
|
||||
===================================
|
||||
|
||||
Test
|
||||
----
|
||||
|
||||
../build.sh test
|
||||
28
developer/src/kmc-kmn/test/test-compiler.ts
Normal file
28
developer/src/kmc-kmn/test/test-compiler.ts
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import 'mocha';
|
||||
import sinon from 'sinon';
|
||||
import chai, { expect } from 'chai';
|
||||
import sinonChai from 'sinon-chai';
|
||||
import { Compiler } from '../src/main.js';
|
||||
|
||||
chai.use(sinonChai);
|
||||
|
||||
describe('Compiler class', function() {
|
||||
let consoleLog: any;
|
||||
|
||||
beforeEach(function() {
|
||||
consoleLog = sinon.spy(console, 'log');
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
consoleLog.restore();
|
||||
});
|
||||
|
||||
it('should start', async function() {
|
||||
const compiler = new Compiler();
|
||||
|
||||
compiler.run();
|
||||
|
||||
expect( consoleLog.calledOnce ).to.be.true;
|
||||
expect( consoleLog.calledWith('TODO: implement WASM hooks') ).to.be.true;
|
||||
});
|
||||
});
|
||||
26
developer/src/kmc-kmn/test/tsconfig.json
Normal file
26
developer/src/kmc-kmn/test/tsconfig.json
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"extends": "../../kmc/tsconfig.kmc-base.json",
|
||||
|
||||
"compilerOptions": {
|
||||
"rootDir": ".",
|
||||
"rootDirs": ["./", "../src/"],
|
||||
"outDir": "../build/test",
|
||||
"baseUrl": ".",
|
||||
"allowSyntheticDefaultImports": true, // for chai
|
||||
"paths": {
|
||||
// "@keymanapp/keyman-version": ["../../../common/web/keyman-version/keyman-version.mts"],
|
||||
"@keymanapp/common-types": ["../../../../common/web/types/src/main"],
|
||||
// "@keymanapp/": ["core/include/ldml/ldml-keyboard-constants"],
|
||||
},
|
||||
},
|
||||
"include": [
|
||||
"**/test-*.ts",
|
||||
"./helpers/index.ts"
|
||||
],
|
||||
"references": [
|
||||
{ "path": "../../../../common/web/keyman-version/tsconfig.esm.json" },
|
||||
{ "path": "../../../../common/web/types/" },
|
||||
{ "path": "../../../../common/tools/hextobin/" },
|
||||
{ "path": "../" }
|
||||
]
|
||||
}
|
||||
21
developer/src/kmc-kmn/tsconfig.json
Normal file
21
developer/src/kmc-kmn/tsconfig.json
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"extends": "../../../tsconfig.esm-base.json",
|
||||
|
||||
"compilerOptions": {
|
||||
"outDir": "build/src/",
|
||||
"rootDir": "src/",
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
// "@keymanapp/keyman-version": ["../../../common/web/keyman-version/keyman-version.mts"],
|
||||
"@keymanapp/common-types": ["../../../common/web/types/src/main"],
|
||||
},
|
||||
|
||||
},
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
],
|
||||
"references": [
|
||||
{ "path": "../../../common/web/keyman-version/tsconfig.esm.json" },
|
||||
{ "path": "../../../common/web/types/" },
|
||||
]
|
||||
}
|
||||
|
|
@ -20,6 +20,7 @@ builder_describe "Build Keyman Keyboard Compiler kmc" \
|
|||
"@/common/web/keyman-version" \
|
||||
"@/common/web/types" \
|
||||
"@/developer/src/kmc-keyboard" \
|
||||
"@/developer/src/kmc-kmn" \
|
||||
"@/developer/src/kmc-model" \
|
||||
"@/developer/src/kmc-model-info" \
|
||||
"@/developer/src/kmc-package" \
|
||||
|
|
|
|||
397
package-lock.json
generated
397
package-lock.json
generated
|
|
@ -10,6 +10,7 @@
|
|||
"resources/build/version",
|
||||
"core/include/ldml",
|
||||
"developer/src/kmc-keyboard",
|
||||
"developer/src/kmc-kmn",
|
||||
"developer/src/kmc-model",
|
||||
"developer/src/kmc-model-info",
|
||||
"developer/src/kmc-package",
|
||||
|
|
@ -837,6 +838,345 @@
|
|||
"node": ">=0.3.1"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn": {
|
||||
"name": "@keymanapp/kmc-kmn",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@keymanapp/keyman-version": "*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/chai": "^4.1.7",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "^10.14.6",
|
||||
"@types/semver": "^7.3.12",
|
||||
"@types/sinon": "^10.0.13",
|
||||
"@types/sinon-chai": "^3.2.9",
|
||||
"@types/xml2js": "^0.4.5",
|
||||
"c8": "^7.12.0",
|
||||
"chai": "^4.3.4",
|
||||
"chalk": "^2.4.2",
|
||||
"mocha": "^8.4.0",
|
||||
"sinon": "^15.0.2",
|
||||
"sinon-chai": "^3.7.0",
|
||||
"ts-node": "^9.1.1",
|
||||
"typescript": "^4.9.5"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/@sinonjs/commons": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
|
||||
"integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"type-detect": "4.0.8"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/@sinonjs/samsam": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz",
|
||||
"integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@sinonjs/commons": "^2.0.0",
|
||||
"lodash.get": "^4.4.2",
|
||||
"type-detect": "^4.0.8"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
|
||||
"integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"type-detect": "4.0.8"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/@types/mocha": {
|
||||
"version": "5.2.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz",
|
||||
"integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==",
|
||||
"dev": true
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/@types/node": {
|
||||
"version": "10.17.60",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
|
||||
"integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==",
|
||||
"dev": true
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-convert": "^1.9.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"supports-color": "^5.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/color-convert": {
|
||||
"version": "1.9.3",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-name": "1.1.3"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/color-name": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
|
||||
"dev": true
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
|
||||
"dev": true
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/js-yaml": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz",
|
||||
"integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"argparse": "^2.0.1"
|
||||
},
|
||||
"bin": {
|
||||
"js-yaml": "bin/js-yaml.js"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/mocha": {
|
||||
"version": "8.4.0",
|
||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz",
|
||||
"integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@ungap/promise-all-settled": "1.1.2",
|
||||
"ansi-colors": "4.1.1",
|
||||
"browser-stdout": "1.3.1",
|
||||
"chokidar": "3.5.1",
|
||||
"debug": "4.3.1",
|
||||
"diff": "5.0.0",
|
||||
"escape-string-regexp": "4.0.0",
|
||||
"find-up": "5.0.0",
|
||||
"glob": "7.1.6",
|
||||
"growl": "1.10.5",
|
||||
"he": "1.2.0",
|
||||
"js-yaml": "4.0.0",
|
||||
"log-symbols": "4.0.0",
|
||||
"minimatch": "3.0.4",
|
||||
"ms": "2.1.3",
|
||||
"nanoid": "3.1.20",
|
||||
"serialize-javascript": "5.0.1",
|
||||
"strip-json-comments": "3.1.1",
|
||||
"supports-color": "8.1.1",
|
||||
"which": "2.0.2",
|
||||
"wide-align": "1.1.3",
|
||||
"workerpool": "6.1.0",
|
||||
"yargs": "16.2.0",
|
||||
"yargs-parser": "20.2.4",
|
||||
"yargs-unparser": "2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"_mocha": "bin/_mocha",
|
||||
"mocha": "bin/mocha"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.12.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/mochajs"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/mocha/node_modules/escape-string-regexp": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
||||
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/mocha/node_modules/supports-color": {
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/nise": {
|
||||
"version": "5.1.4",
|
||||
"resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz",
|
||||
"integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@sinonjs/commons": "^2.0.0",
|
||||
"@sinonjs/fake-timers": "^10.0.2",
|
||||
"@sinonjs/text-encoding": "^0.7.1",
|
||||
"just-extend": "^4.0.2",
|
||||
"path-to-regexp": "^1.7.0"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/nise/node_modules/@sinonjs/commons": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
|
||||
"integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"type-detect": "4.0.8"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/path-to-regexp": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
|
||||
"integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"isarray": "0.0.1"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/sinon": {
|
||||
"version": "15.0.2",
|
||||
"resolved": "https://registry.npmjs.org/sinon/-/sinon-15.0.2.tgz",
|
||||
"integrity": "sha512-PCVP63XZkg0/LOqQH5rEU4LILuvTFMb5tNxTHfs6VUMNnZz2XrnGSTZbAGITjzwQWbl/Bl/8hi4G3zZWjyBwHg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@sinonjs/commons": "^3.0.0",
|
||||
"@sinonjs/fake-timers": "^10.0.2",
|
||||
"@sinonjs/samsam": "^7.0.1",
|
||||
"diff": "^5.1.0",
|
||||
"nise": "^5.1.4",
|
||||
"supports-color": "^7.2.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/sinon"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/sinon/node_modules/diff": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
|
||||
"integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.3.1"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/sinon/node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/supports-color/node_modules/has-flag": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/ts-node": {
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz",
|
||||
"integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"arg": "^4.1.0",
|
||||
"create-require": "^1.1.0",
|
||||
"diff": "^4.0.1",
|
||||
"make-error": "^1.1.1",
|
||||
"source-map-support": "^0.5.17",
|
||||
"yn": "3.1.1"
|
||||
},
|
||||
"bin": {
|
||||
"ts-node": "dist/bin.js",
|
||||
"ts-node-script": "dist/bin-script.js",
|
||||
"ts-node-transpile-only": "dist/bin-transpile.js",
|
||||
"ts-script": "dist/bin-script-deprecated.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": ">=2.7"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-kmn/node_modules/ts-node/node_modules/diff": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
||||
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.3.1"
|
||||
}
|
||||
},
|
||||
"developer/src/kmc-model": {
|
||||
"name": "@keymanapp/kmc-model",
|
||||
"license": "MIT",
|
||||
|
|
@ -1763,6 +2103,10 @@
|
|||
"resolved": "developer/src/kmc-keyboard",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/@keymanapp/kmc-kmn": {
|
||||
"resolved": "developer/src/kmc-kmn",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/@keymanapp/kmc-model": {
|
||||
"resolved": "developer/src/kmc-model",
|
||||
"link": true
|
||||
|
|
@ -2194,6 +2538,24 @@
|
|||
"type-detect": "4.0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@sinonjs/fake-timers": {
|
||||
"version": "10.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz",
|
||||
"integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@sinonjs/commons": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
|
||||
"integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"type-detect": "4.0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@sinonjs/formatio": {
|
||||
"version": "3.2.2",
|
||||
"dev": true,
|
||||
|
|
@ -2411,6 +2773,31 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/sinon": {
|
||||
"version": "10.0.13",
|
||||
"resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.13.tgz",
|
||||
"integrity": "sha512-UVjDqJblVNQYvVNUsj0PuYYw0ELRmgt1Nt5Vk0pT5f16ROGfcKJY8o1HVuMOJOpD727RrGB9EGvoaTQE5tgxZQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/sinonjs__fake-timers": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/sinon-chai": {
|
||||
"version": "3.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.9.tgz",
|
||||
"integrity": "sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/chai": "*",
|
||||
"@types/sinon": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/sinonjs__fake-timers": {
|
||||
"version": "8.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz",
|
||||
"integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/ws": {
|
||||
"version": "8.5.3",
|
||||
"dev": true,
|
||||
|
|
@ -6686,6 +7073,16 @@
|
|||
"supports-color": "^5.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sinon-chai": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz",
|
||||
"integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==",
|
||||
"dev": true,
|
||||
"peerDependencies": {
|
||||
"chai": "^4.0.0",
|
||||
"sinon": ">=4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sinon/node_modules/diff": {
|
||||
"version": "3.5.0",
|
||||
"dev": true,
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
"resources/build/version",
|
||||
"core/include/ldml",
|
||||
"developer/src/kmc-keyboard",
|
||||
"developer/src/kmc-kmn",
|
||||
"developer/src/kmc-model",
|
||||
"developer/src/kmc-model-info",
|
||||
"developer/src/kmc-package",
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
|
||||
{ "path": "./developer/src/kmc-keyboard/test/tsconfig.json" },
|
||||
{ "path": "./developer/src/kmc-keyboard/tsconfig.json" },
|
||||
{ "path": "./developer/src/kmc-kmn/test/tsconfig.json" },
|
||||
{ "path": "./developer/src/kmc-kmn/tsconfig.json" },
|
||||
{ "path": "./developer/src/kmc-model/test/tsconfig.json" },
|
||||
{ "path": "./developer/src/kmc-model/tsconfig.json" },
|
||||
//{ "path": "./developer/src/kmc-model-info/test/tsconfig.json" },
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue