diff --git a/core/include/ldml/package.json b/core/include/ldml/package.json index 61b71870d9..d74a720d1e 100644 --- a/core/include/ldml/package.json +++ b/core/include/ldml/package.json @@ -8,6 +8,7 @@ "unicode" ], "license": "MIT", + "type": "module", "main": "build/keyboardprocessor_ldml.js", "repository": { "type": "git", diff --git a/core/include/ldml/tsconfig.json b/core/include/ldml/tsconfig.json index f8a56d0687..b89c96a018 100644 --- a/core/include/ldml/tsconfig.json +++ b/core/include/ldml/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "composite": true, "declaration": true, - "module": "CommonJS", + "module": "es2020", "moduleResolution": "node", "rootDir": ".", "outDir": "build/", diff --git a/tsconfig.json b/tsconfig.cjs.json similarity index 69% rename from tsconfig.json rename to tsconfig.cjs.json index 139dbc98b3..1a342edea0 100644 --- a/tsconfig.json +++ b/tsconfig.cjs.json @@ -1,4 +1,7 @@ { + // Lists only CommonJS or 'none' modules; as we move modules from cjs/none to + // esm, we should move them from here into tsconfig.esm.json. Eventually, when + // we have only ES modules, we'll delete this file. "files": [], "include": [], "references": [ @@ -19,18 +22,6 @@ { "path": "./common/predictive-text/testing/two-stage-embedded-webworker/worker/tsconfig.json" }, { "path": "./common/predictive-text/tsconfig.json" }, - //{ "path": "./developer/src/kmc/test/tsconfig.json" }, - { "path": "./developer/src/kmc/tsconfig.json" }, - - { "path": "./developer/src/kmc-keyboard/test/tsconfig.json" }, - { "path": "./developer/src/kmc-keyboard/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" }, - { "path": "./developer/src/kmc-model-info/tsconfig.json" }, - { "path": "./developer/src/kmc-package/test/tsconfig.json" }, - { "path": "./developer/src/kmc-package/tsconfig.json" }, - { "path": "./developer/src/server/tsconfig.json" }, { "path": "./resources/build/version/tsconfig.json" }, @@ -44,6 +35,5 @@ { "path": "./common/web/lm-message-types/" }, { "path": "./common/web/lm-worker/" }, { "path": "./common/web/keyman-version/" }, - { "path": "./common/web/keyman-version/tsconfig.esm.json" }, ] } \ No newline at end of file diff --git a/tsconfig.esm.json b/tsconfig.esm.json new file mode 100644 index 0000000000..fa2cf77aeb --- /dev/null +++ b/tsconfig.esm.json @@ -0,0 +1,24 @@ +{ + // Lists only ES modules; as we move modules from cjs/none to esm, we should + // move them from tsconfig.cjs.json to here. Eventually, when we have only ES + // modules, we can rename this to tsconfig.json. + "files": [], + "include": [], + "references": [ + { "path": "./core/include/ldml/tsconfig.json" }, + + //{ "path": "./developer/src/kmc/test/tsconfig.json" }, + { "path": "./developer/src/kmc/tsconfig.json" }, + + { "path": "./developer/src/kmc-keyboard/test/tsconfig.json" }, + { "path": "./developer/src/kmc-keyboard/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" }, + { "path": "./developer/src/kmc-model-info/tsconfig.json" }, + { "path": "./developer/src/kmc-package/test/tsconfig.json" }, + { "path": "./developer/src/kmc-package/tsconfig.json" }, + + { "path": "./common/web/keyman-version/tsconfig.esm.json" }, + ] +} \ No newline at end of file