diff --git a/web/package.json b/web/package.json index 712a8558a2e..0ce1a7d9935 100644 --- a/web/package.json +++ b/web/package.json @@ -3,13 +3,13 @@ "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" + "es6-bundling": "./src/app/browser/src/index.ts", + "types": "./build/app/browser/obj/index.d.ts", + "import": "./build/app/browser/obj/index.js" }, "./common/web-utils": { "es6-bundling": "./src/common/web-utils/src/index.ts", - "types": "./build/common/web-utils/obj/index.d.js", + "types": "./build/common/web-utils/obj/index.d.ts", "import": "./build/common/web-utils/obj/index.js" }, "./engine/attachment": { diff --git a/web/src/app/browser/build.sh b/web/src/app/browser/build.sh index d23b67987af..5396b9baa12 100755 --- a/web/src/app/browser/build.sh +++ b/web/src/app/browser/build.sh @@ -63,7 +63,7 @@ compile_and_copy() { --minify \ --target "es6" - node_es_bundle "${BUILD_ROOT}/obj/test-index.js" \ + node_es_bundle "${BUILD_ROOT}/obj/index.js" \ --out "${BUILD_ROOT}/lib/index.mjs" \ --charset "utf8" \ --sourceRoot "@keymanapp/keyman/web/build/app/browser/lib" \ diff --git a/web/src/app/browser/src/index.ts b/web/src/app/browser/src/index.ts new file mode 100644 index 00000000000..786f004de5a --- /dev/null +++ b/web/src/app/browser/src/index.ts @@ -0,0 +1,22 @@ +/* + * Keyman is copyright (C) SIL Global. MIT License. + */ + +export { ContextManager, KeyboardCookie } from "./contextManager.js"; +export { KeyboardDetails } from './keyboardDetails.js'; +export { KeymanEngine } from './keymanEngine.js'; +export { UIModule } from './uiModuleInterface.js'; + +//---------------------------------------------------------------------- +// Exports for unit testing only + +/** @internal */ +export { type BrowserInitOptionSpec } from './configuration.js'; +/** @internal */ +export { type KeyboardInterface } from './keyboardInterface.js'; + +import { preprocessKeyboardEvent } from './hardwareEventKeyboard.js'; +/** @internal */ +export const unitTestEndPoints = { + preprocessKeyboardEvent +} diff --git a/web/src/app/browser/src/test-index.ts b/web/src/app/browser/src/test-index.ts deleted file mode 100644 index 4c67c5cac8c..00000000000 --- a/web/src/app/browser/src/test-index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export { BrowserConfiguration, BrowserInitOptionSpec } from './configuration.js'; -export { ContextManager, KeyboardCookie } from "./contextManager.js"; -export { preprocessKeyboardEvent, HardwareEventKeyboard } from './hardwareEventKeyboard.js'; -export { KeyboardDetails } from './keyboardDetails.js'; - -export { KeymanEngine } from './keymanEngine.js'; -export { KeyboardInterface } from './keyboardInterface.js'; -export { UIModule } from './uiModuleInterface.js'; diff --git a/web/src/test/auto/headless/app/browser/hardware-event-processing.tests.ts b/web/src/test/auto/headless/app/browser/hardware-event-processing.tests.ts index 0da4588a085..6593b4e1155 100644 --- a/web/src/test/auto/headless/app/browser/hardware-event-processing.tests.ts +++ b/web/src/test/auto/headless/app/browser/hardware-event-processing.tests.ts @@ -1,6 +1,6 @@ import { assert } from 'chai'; -import { preprocessKeyboardEvent } from 'keyman/app/browser'; +import { unitTestEndPoints } from 'keyman/app/browser'; import { processForMnemonicsAndLegacy } from 'keyman/engine/main'; import { PhysicalInputEventSpec } from '@keymanapp/recorder-core'; import { DeviceSpec } from 'keyman/common/web-utils'; @@ -8,6 +8,7 @@ import { Codes, JSKeyboard, KeyEvent } from 'keyman/engine/keyboard'; const ModifierCodes = Codes.modifierCodes; const KeyCodes = Codes.keyCodes; +const preprocessKeyboardEvent = unitTestEndPoints.preprocessKeyboardEvent; const DUMMY_DEVICE = new DeviceSpec('chrome', 'desktop', 'windows', false);