Skip to content

Commit 88843f0

Browse files
committed
chore(vue-model-api,ts-model-api): switch from CommonJS to modern ESNext
- ESNext produces ES Modules (ESM) - eases bundling it in vite projects with moduleResolution: bundler - ESM allows treeshaking the assembled projects, reducing their file size
1 parent 8d3510b commit 88843f0

File tree

6 files changed

+24
-12
lines changed

6 files changed

+24
-12
lines changed

ts-model-api/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
],
2222
"type": "commonjs",
2323
"main": "dist/index",
24+
"module": "dist/index.js",
2425
"typings": "dist/index.d.ts",
2526
"types": "dist/index.d.ts",
2627
"scripts": {

ts-model-api/src/index.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
2-
export * from "./ChildrenAccessor.js"
3-
export * from "./GeneratedConcept.js"
4-
export * from "./GeneratedLanguage.js"
5-
export * from "./IConceptJS.js"
6-
export * from "./ILanguage.js"
7-
export * from "./INodeJS.js"
8-
export * from "./LanguageRegistry.js"
9-
export * from "./TSModelClient.js"
10-
export * from "./TypedNode.js"
1+
export { ChildrenAccessor, ChildListAccessor, SingleChildAccessor } from "./ChildrenAccessor.js"
2+
export { GeneratedConcept } from "./GeneratedConcept.js"
3+
export { GeneratedLanguage } from "./GeneratedLanguage.js"
4+
export { IConceptJS } from "./IConceptJS.js"
5+
export { ILanguage } from "./ILanguage.js"
6+
export { ChildRole, ReferenceRole, PropertyRole, toRoleJS, INodeJS } from "./INodeJS.js"
7+
export { LanguageRegistry } from "./LanguageRegistry.js"
8+
export { NodeId, IModelServerConnection, ModelService } from "./TSModelClient.js"
9+
export { TypedNode, ITypedNode, UnknownTypedNode } from "./TypedNode.js"

ts-model-api/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"outDir": "dist",
2929
"declarationDir": "dist",
3030
"noUnusedLocals": false,
31-
"module": "CommonJS",
31+
"module": "ESNext",
3232
"resolveJsonModule": false,
3333
"target": "ES2020"
3434
},

vue-model-api/jest.config.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
/** @type {import('ts-jest').JestConfigWithTsJest} */
22
module.exports = {
3-
preset: "ts-jest",
3+
transform: {
4+
"^.+\\.(t|j)sx?$": ["ts-jest", { tsconfig: { allowJs: true } }],
5+
},
6+
moduleNameMapper: {
7+
"^@modelix/ts-model-api$": "<rootDir>/../ts-model-api/src/index.ts",
8+
"^@modelix/ts-model-api/(.*)\\.js$": "<rootDir>/../ts-model-api/src/$1",
9+
"^@modelix/ts-model-api/(.*)$": "<rootDir>/../ts-model-api/src/$1",
10+
"^(\\..*)\\.js$": "$1",
11+
},
412
modulePathIgnorePatterns: ["<rootDir>/dist/"],
513
testEnvironment: "node",
14+
transformIgnorePatterns: ["node_modules/(?!(@modelix)/)"],
615
};

vue-model-api/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"directory": "vue-model-api"
1010
},
1111
"main": "dist/index.js",
12+
"module": "dist/index.js",
1213
"files": [
1314
"dist/"
1415
],

vue-model-api/tsconfig.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
"rootDir": "src",
88
"outDir": "dist",
99
// 2021 is needed for FinalizationRegistry
10+
"module": "ESNext",
11+
"moduleResolution": "Node",
1012
"target": "es2021"
1113
}
1214
}

0 commit comments

Comments
 (0)