spiegel-keyman/web/package.json
Marc Durdin 50139a0ebd refactor(web): eliminate nullable variableStoreSerializer code paths
To reduce the number of possible failure cases within KeymanWeb,
require variableStoreSerializer to always be initialized. This impacts
only unit tests in practice. There remains a unit test special case in
the variable store code itself which needs to be removed in the future.

Create a mock VariableStoreTestSerializer class so that unit tests can
run without impacting state or requiring cookies. (We should leverage
this in future tests to verify that variable stores are saved
correctly.)

Establish keyman/test/headless-resources, so that we can include shared
resources such as VariableStoreTestSerializer without creating a
dependency on either DOM or Node.
2026-04-17 15:36:11 +02:00

138 lines
5 KiB
JSON

{
"name": "keyman",
"description": "Facilitates text input in any language.",
"exports": {
"./app/browser": {
"es6-bundling": "./src/app/browser/src/test-index.ts",
"types": "./build/app/browser/obj/test-index.d.js",
"import": "./build/app/browser/obj/test-index.js"
},
"./common/web-utils": {
"es6-bundling": "./src/common/web-utils/src/index.ts",
"types": "./build/common/web-utils/obj/index.d.js",
"import": "./build/common/web-utils/obj/index.js"
},
"./engine/attachment": {
"es6-bundling": "./src/engine/src/attachment/index.ts",
"types": "./build/engine/obj/attachment/index.d.ts",
"import": "./build/engine/obj/attachment/index.js"
},
"./engine/core-adapter": {
"es6-bundling": "./src/engine/src/core-adapter/index.ts",
"types": "./build/engine/obj/core-adapter/index.d.ts",
"import": "./build/engine/obj/core-adapter/index.js"
},
"./engine/core-processor": {
"es6-bundling": "./src/engine/src/core-processor/index.ts",
"types": "./build/engine/obj/core-processor/index.d.ts",
"import": "./build/engine/obj/core-processor/index.js"
},
"./engine/dom-utils": {
"es6-bundling": "./src/engine/src/dom-utils/index.ts",
"types": "./build/engine/obj/dom-utils/index.d.ts",
"import": "./build/engine/obj/dom-utils/index.js"
},
"./engine/element-text-stores": {
"es6-bundling": "./src/engine/src/element-text-stores/index.ts",
"types": "./build/engine/obj/element-text-stores/index.d.ts",
"import": "./build/engine/obj/element-text-stores/index.js"
},
"./engine/events": {
"es6-bundling": "./src/engine/src/events/index.ts",
"types": "./build/engine/obj/events/index.d.ts",
"import": "./build/engine/obj/events/index.js"
},
"./engine/gesture-processor": {
"es6-bundling": "./src/engine/src/gesture-processor/index.ts",
"types": "./build/engine/obj/gesture-processor/index.d.ts",
"import": "./build/engine/obj/gesture-processor/index.js"
},
"./engine/interfaces": {
"es6-bundling": "./src/engine/src/interfaces/index.ts",
"types": "./build/engine/obj/interfaces/index.d.ts",
"import": "./build/engine/obj/interfaces/index.js"
},
"./engine/js-processor": {
"es6-bundling": "./src/engine/src/js-processor/index.ts",
"types": "./build/engine/obj/js-processor/index.d.ts",
"import": "./build/engine/obj/js-processor/index.js"
},
"./engine/keyboard": {
"es6-bundling": "./src/engine/src/keyboard/index.ts",
"types": "./build/engine/obj/keyboard/index.d.ts",
"import": "./build/engine/obj/keyboard/index.js"
},
"./engine/keyboard-storage": {
"es6-bundling": "./src/engine/src/keyboard-storage/index.ts",
"types": "./build/engine/obj/keyboard-storage/index.d.ts",
"import": "./build/engine/obj/keyboard-storage/index.js",
"require": "./build/engine/obj/keyboard-storage/index.js"
},
"./engine/main": {
"es6-bundling": "./src/engine/src/main/index.ts",
"types": "./build/engine/obj/main/index.d.ts",
"import": "./build/engine/obj/main/index.js"
},
"./engine/osk": {
"es6-bundling": "./src/engine/src/osk/index.ts",
"types": "./build/engine/obj/osk/index.d.ts",
"import": "./build/engine/obj/osk/index.js"
},
"./tools/testing/test-utils": {
"types": "./build/tools/testing/test-utils/obj/index.d.ts",
"import": "./build/tools/testing/test-utils/obj/index.js"
},
"./test/resources": {
"types": "./src/test/auto/resources/build/index.d.ts",
"import": "./src/test/auto/resources/build/index.js"
},
"./test/headless-resources": {
"types": "./src/test/auto/headless-resources/build/index.d.ts",
"import": "./src/test/auto/headless-resources/build/index.js"
}
},
"imports": {
"#gesture-tools": "./build/tools/testing/gesture-processor/unit-test-resources/obj/index.js",
"#recorder": "./build/tools/testing/recorder/obj/index.js",
"#test-resources/*.js": "./build/test/resources/*.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/keymanapp/keyman.git"
},
"keywords": [
"input",
"languages",
"keyboards"
],
"author": "SIL International",
"license": "MIT",
"bugs": {
"url": "https://github.com/keymanapp/keyman/issues"
},
"homepage": "https://github.com/keymanapp/keyman#readme",
"devDependencies": {
"@keymanapp/resources-gosh": "*",
"@playwright/test": "1.46.1",
"@sentry/cli": "^2.31.0",
"@zip.js/zip.js": "^2.7.32",
"c8": "^7.12.0",
"express": "^4.19.2",
"jsdom": "^23.0.1",
"promise-status-async": "^1.2.10",
"tsx": "^4.19.0"
},
"scripts": {
"test": "gosh ./test.sh"
},
"dependencies": {
"@keymanapp/common-types": "*",
"@keymanapp/keyman-version": "*",
"@keymanapp/lexical-model-layer": "*",
"@keymanapp/recorder-core": "*",
"core-js": "^3.34.0",
"eventemitter3": "^5.0.0",
"tslib": "^2.5.2"
},
"type": "module"
}