diff --git a/common/web/gesture-recognizer/package.json b/common/web/gesture-recognizer/package.json index 7230a53a01..ba8140e807 100644 --- a/common/web/gesture-recognizer/package.json +++ b/common/web/gesture-recognizer/package.json @@ -37,5 +37,6 @@ "dependencies": { "eventemitter3": "^4.0.0" }, - "main": "./build/obj/index.js" + "main": "./build/obj/index.js", + "type": "module" } diff --git a/common/web/gesture-recognizer/src/gestureRecognizer.ts b/common/web/gesture-recognizer/src/gestureRecognizer.ts index 76f1ea7955..b8d2e90fdf 100644 --- a/common/web/gesture-recognizer/src/gestureRecognizer.ts +++ b/common/web/gesture-recognizer/src/gestureRecognizer.ts @@ -1,4 +1,4 @@ -import { EventEmitter } from "eventemitter3"; +import EventEmitter from "eventemitter3"; import { GestureRecognizerConfiguration } from "./gestureRecognizerConfiguration.js"; import { MouseEventEngine } from "./mouseEventEngine.js"; import { Mutable } from "./mutable.js"; diff --git a/common/web/gesture-recognizer/src/inputEventEngine.ts b/common/web/gesture-recognizer/src/inputEventEngine.ts index 4e349afdd7..94ad19bdff 100644 --- a/common/web/gesture-recognizer/src/inputEventEngine.ts +++ b/common/web/gesture-recognizer/src/inputEventEngine.ts @@ -1,4 +1,4 @@ -import { EventEmitter } from "eventemitter3"; +import EventEmitter from "eventemitter3"; import { GestureRecognizerConfiguration } from "./gestureRecognizerConfiguration.js"; import { InputSample } from "./inputSample.js"; import { Nonoptional } from "./nonoptional.js"; diff --git a/common/web/gesture-recognizer/src/test/auto/headless/basicSegmentations.js b/common/web/gesture-recognizer/src/test/auto/headless/basicSegmentations.js index 296f78d35d..4a90884928 100644 --- a/common/web/gesture-recognizer/src/test/auto/headless/basicSegmentations.js +++ b/common/web/gesture-recognizer/src/test/auto/headless/basicSegmentations.js @@ -1,17 +1,14 @@ -const assert = require('chai').assert; -const sinon = require('sinon'); +import { assert } from 'chai' +import sinon from 'sinon'; -const PromiseStatusModule = require('promise-status-async'); +import * as PromiseStatusModule from 'promise-status-async'; const promiseStatus = PromiseStatusModule.promiseStatus; const PromiseStatuses = PromiseStatusModule.PromiseStatuses; -const GestureRecognizer = require('../../../../build/index.js'); -const com = GestureRecognizer.com; -const PathSegmenter = com.keyman.osk.PathSegmenter; +import { PathSegmenter } from '@keymanapp/gesture-recognizer'; +import { timedPromise } from '../../../../build/tools/index.js'; -const timedPromise = require('../../../../build/tools/unit-test-resources.js').timedPromise; - -describe("Basic segmentation cases", function() { +describe.only("Basic segmentation cases", function() { describe("Single-sample 'sequence'", function() { it("expected segment types", function() { let spy = sinon.fake(); diff --git a/common/web/gesture-recognizer/src/tools/build.sh b/common/web/gesture-recognizer/src/tools/build.sh index 44302ef3e5..286ba6f719 100755 --- a/common/web/gesture-recognizer/src/tools/build.sh +++ b/common/web/gesture-recognizer/src/tools/build.sh @@ -69,7 +69,7 @@ if builder_start_action build :recorder; then # Thanks to https://stackoverflow.com/a/10107668 for this tidbit. # Searches for FIXTURE_TARGET above and replaces it with the actual fixture! pushd recorder >/dev/null - node update-index.js build/index.html + node update-index.cjs build/index.html popd >/dev/null builder_finish_action success build :recorder fi diff --git a/common/web/gesture-recognizer/src/tools/host-fixture/extract-fixture.sh b/common/web/gesture-recognizer/src/tools/host-fixture/extract-fixture.sh index 49943fb97b..f8a1998104 100755 --- a/common/web/gesture-recognizer/src/tools/host-fixture/extract-fixture.sh +++ b/common/web/gesture-recognizer/src/tools/host-fixture/extract-fixture.sh @@ -9,6 +9,6 @@ set -eu THIS_SCRIPT="$(greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null || readlink -f "${BASH_SOURCE[0]}")" cd $(dirname "$THIS_SCRIPT") -# On Windows, `node extractor.js` cannot be directly piped; that requires `node.exe`. +# On Windows, `node extractor.cjs` cannot be directly piped; that requires `node.exe`. # But that doesn't make sense on other platforms, so... wrapper script. -node extractor.js \ No newline at end of file +node extractor.cjs \ No newline at end of file diff --git a/common/web/gesture-recognizer/src/tools/host-fixture/extractor.js b/common/web/gesture-recognizer/src/tools/host-fixture/extractor.cjs similarity index 100% rename from common/web/gesture-recognizer/src/tools/host-fixture/extractor.js rename to common/web/gesture-recognizer/src/tools/host-fixture/extractor.cjs diff --git a/common/web/gesture-recognizer/src/tools/recorder/update-index.js b/common/web/gesture-recognizer/src/tools/recorder/update-index.cjs similarity index 81% rename from common/web/gesture-recognizer/src/tools/recorder/update-index.js rename to common/web/gesture-recognizer/src/tools/recorder/update-index.cjs index 97f530d6ee..a4b02c8a41 100644 --- a/common/web/gesture-recognizer/src/tools/recorder/update-index.js +++ b/common/web/gesture-recognizer/src/tools/recorder/update-index.cjs @@ -12,7 +12,7 @@ fs.readFile('src/index.html', 'utf8', function(err, text) { } // Runs the fixture-extractor script, receives the fixture's raw HTML. - let buf = child_process.execSync("node extractor.js", {cwd: "../host-fixture", windowsHide: true, shell: true}).toString(); + let buf = child_process.execSync("node extractor.cjs", {cwd: "../host-fixture", windowsHide: true, shell: true}).toString(); let INSERTION_POINT = " " + os.EOL; text = text.replace(INSERTION_POINT, buf); diff --git a/common/web/gesture-recognizer/src/tools/unit-test-resources/src/hostFixtureLayoutController.ts b/common/web/gesture-recognizer/src/tools/unit-test-resources/src/hostFixtureLayoutController.ts index 651db61896..ecf3850e96 100644 --- a/common/web/gesture-recognizer/src/tools/unit-test-resources/src/hostFixtureLayoutController.ts +++ b/common/web/gesture-recognizer/src/tools/unit-test-resources/src/hostFixtureLayoutController.ts @@ -1,4 +1,4 @@ -import { EventEmitter } from 'eventemitter3'; +import EventEmitter from 'eventemitter3'; import { GestureRecognizer } from '@keymanapp/gesture-recognizer'; import { FixtureLayoutConfiguration } from './fixtureLayoutConfiguration.js'; diff --git a/common/web/gesture-recognizer/src/trackedInput.ts b/common/web/gesture-recognizer/src/trackedInput.ts index 74166192fa..de3daf8b7c 100644 --- a/common/web/gesture-recognizer/src/trackedInput.ts +++ b/common/web/gesture-recognizer/src/trackedInput.ts @@ -1,4 +1,4 @@ -import { EventEmitter } from "eventemitter3"; +import EventEmitter from "eventemitter3"; import { JSONTrackedPoint, TrackedPoint } from "./trackedPoint.js"; /** diff --git a/common/web/gesture-recognizer/src/trackedPath.ts b/common/web/gesture-recognizer/src/trackedPath.ts index b6ee13b930..2634811bdd 100644 --- a/common/web/gesture-recognizer/src/trackedPath.ts +++ b/common/web/gesture-recognizer/src/trackedPath.ts @@ -1,4 +1,4 @@ -import { EventEmitter } from "eventemitter3"; +import EventEmitter from "eventemitter3"; import { InputSample } from "./inputSample.js"; import { PathSegmenter } from "./pathSegmenter.js"; import { Segment } from "./segment.js";