Skip to content

Commit 10da929

Browse files
authored
build!: migrate to type: "module" (#137)
1 parent b49334f commit 10da929

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+981
-1267
lines changed

.eslintignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
node_modules
44
/lib/typings
55
.eslintrc.js
6+
.eslintrc.cjs
67
/example
78
/test/.build
89
/test/CMakeFiles
@@ -13,4 +14,4 @@ node_modules
1314
/packages/**/test/**/actual
1415
/packages/**/test/**/expected
1516
/packages/**/test/**/rollup/src
16-
/out
17+
out

.eslintrc.js .eslintrc.cjs

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const sharedRules = {
44
'no-new-func': 'off',
55
'no-implied-eval': 'off',
66
'no-var': 'off',
7-
'camelcase': 'off'
7+
camelcase: 'off'
88
}
99

1010
module.exports = {
@@ -72,7 +72,7 @@ module.exports = {
7272
project: './tsconfig.json',
7373
tsconfigRootDir: __dirname,
7474
createDefaultProgram: true
75-
},
75+
}
7676
}
7777
]
7878
}

.vscode/settings.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"files.associations": {
3-
"**/api-extractor.json": "jsonc"
3+
"**/api-extractor*.json": "jsonc"
44
},
55
"typescript.tsdk": "./node_modules/typescript/lib",
66
"cmake.sourceDirectory": "${workspaceFolder}/packages/test",
@@ -17,5 +17,9 @@
1717
"launch": {
1818
"statusBarVisibility": "hidden"
1919
}
20+
},
21+
"livePreview.httpHeaders": {
22+
"Cross-Origin-Embedder-Policy": "require-corp",
23+
"Cross-Origin-Opener-Policy": "same-origin"
2024
}
2125
}

CONTRIBUTING.md

+13-3
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ This doc will explain the structure of this project and some points need to note
5555

5656
Macros are powered by `packages/ts-transform-macro`
5757

58-
- `packages/core` (`dependencies`)
58+
- `packages/core` (`dependencies`, follow emnapi version)
5959

6060
This package is designed for using emnapi on non-Emscripten platform, it is a trasformed output of `packages/emnapi`
6161
by using `packages/ts-transform-emscripten-parse-tools`.
@@ -64,15 +64,25 @@ This doc will explain the structure of this project and some points need to note
6464
We need to manually provide imported symbols to the second parameter of `WebAssembly.instantiate`,
6565
so this is the use case of this package.
6666

67-
- `packages/runtime` (`dependencies`)
67+
- `packages/runtime` (`dependencies`, follow emnapi version)
6868

6969
Provide runtime implementation of `napi_value` / `napi_handle_scope` / `napi_ref` etc.
7070

71-
- `packages/node` (`dependencies`)
71+
- `packages/node` (`dependencies`, follow emnapi version)
7272

7373
Some APIs make sense on Node.js only, such as `napi_async_init`, `napi_async_destroy` and `napi_make_callback`.
7474
This package provide native Node.js bindings for JavaScript implementation as bridge.
7575

76+
- `packages/rollup-plugin-emscripten-esm-library` (`devDependencies`, independent)
77+
78+
- `packages/ts-transform-emscripten-esm-library` (`devDependencies`, independent)
79+
80+
- `packages/ts-transform-emscripten-parse-tools` (`devDependencies`, follow emnapi version, private)
81+
82+
- `packages/ts-transform-emscripten-parse-tools` (`devDependencies`, independent)
83+
84+
- `packages/wasi-threads` (`dependencies`, independent)
85+
7686
## Environment Requirements
7787

7888
- Node.js `>= 16`

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"private": true,
33
"version": "0.0.0",
4+
"type": "module",
45
"scripts": {
56
"prepare": "npm run build",
67
"build": "npm run build --workspaces --if-present",
@@ -53,6 +54,7 @@
5354
"typescript": "~5.7.2"
5455
},
5556
"workspaces": [
57+
"packages/shared",
5658
"packages/ts-transform-macro",
5759
"packages/ts-transform-emscripten-esm-library",
5860
"packages/ts-transform-emscripten-parse-tools",

packages/core/.npmignore

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ node_modules
77
.npmignore
88
api-extractor.json
99
tsconfig.json
10+
/dist/types

packages/core/api-extractor.json

+1-113
Original file line numberDiff line numberDiff line change
@@ -1,115 +1,3 @@
11
{
2-
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3-
4-
// "extends": "./shared/api-extractor-base.json"
5-
// "extends": "my-package/include/api-extractor-base.json"
6-
7-
"projectFolder": ".",
8-
9-
"mainEntryPointFilePath": "<projectFolder>/lib/typings/index.d.ts",
10-
11-
"bundledPackages": [],
12-
13-
"compiler": {
14-
"tsconfigFilePath": "<projectFolder>/tsconfig.json"
15-
16-
// "overrideTsconfig": {
17-
// . . .
18-
// }
19-
20-
// "skipLibCheck": true,
21-
},
22-
23-
"apiReport": {
24-
"enabled": false
25-
26-
// "reportFileName": "<unscopedPackageName>.api.md",
27-
28-
// "reportFolder": "<projectFolder>/etc/",
29-
30-
// "reportTempFolder": "<projectFolder>/api/temp/"
31-
},
32-
33-
"docModel": {
34-
"enabled": false
35-
36-
// "apiJsonFilePath": "<projectFolder>/temp/<unscopedPackageName>.api.json"
37-
},
38-
39-
"dtsRollup": {
40-
"enabled": true,
41-
42-
"untrimmedFilePath": "",
43-
44-
// "betaTrimmedFilePath": "<projectFolder>/dist/<unscopedPackageName>-beta.d.ts",
45-
46-
"publicTrimmedFilePath": "<projectFolder>/dist/emnapi-core.d.ts"
47-
48-
// "omitTrimmingComments": true
49-
},
50-
51-
"tsdocMetadata": {
52-
"enabled": false,
53-
54-
"tsdocMetadataFilePath": "<projectFolder>/dist/tsdoc-metadata.json"
55-
},
56-
57-
// "newlineKind": "crlf",
58-
59-
"messages": {
60-
/**
61-
* Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing
62-
* the input .d.ts files.
63-
*
64-
* TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551"
65-
*
66-
* DEFAULT VALUE: A single "default" entry with logLevel=warning.
67-
*/
68-
"compilerMessageReporting": {
69-
"default": {
70-
"logLevel": "warning"
71-
72-
// "addToApiReportFile": false
73-
}
74-
75-
// "TS2551": {
76-
// "logLevel": "warning",
77-
// "addToApiReportFile": true
78-
// },
79-
//
80-
// . . .
81-
},
82-
83-
"extractorMessageReporting": {
84-
"default": {
85-
"logLevel": "warning"
86-
// "addToApiReportFile": false
87-
},
88-
"ae-missing-release-tag": {
89-
"logLevel": "none",
90-
"addToApiReportFile": false
91-
}
92-
93-
// "ae-extra-release-tag": {
94-
// "logLevel": "warning",
95-
// "addToApiReportFile": true
96-
// },
97-
//
98-
// . . .
99-
},
100-
101-
"tsdocMessageReporting": {
102-
"default": {
103-
"logLevel": "warning"
104-
// "addToApiReportFile": false
105-
}
106-
107-
// "tsdoc-link-tag-unescaped-text": {
108-
// "logLevel": "warning",
109-
// "addToApiReportFile": true
110-
// },
111-
//
112-
// . . .
113-
}
114-
}
2+
"extends": "../shared/api-extractor-base.json"
1153
}

packages/core/index.js

-5
This file was deleted.

packages/core/package.json

+13-17
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,32 @@
22
"name": "@emnapi/core",
33
"version": "1.3.1",
44
"description": "emnapi core",
5-
"main": "index.js",
6-
"module": "./dist/emnapi-core.esm-bundler.js",
7-
"types": "./dist/emnapi-core.d.ts",
5+
"type": "module",
6+
"main": "./dist/emnapi-core.cjs",
7+
"module": "./dist/emnapi-core.js",
8+
"types": "./dist/emnapi-core.d.cts",
89
"sideEffects": false,
910
"exports": {
1011
".": {
1112
"types": {
1213
"module": "./dist/emnapi-core.d.ts",
13-
"import": "./dist/emnapi-core.d.mts",
14-
"default": "./dist/emnapi-core.d.ts"
14+
"module-sync": "./dist/emnapi-core.d.ts",
15+
"import": "./dist/emnapi-core.d.cts",
16+
"require": "./dist/emnapi-core.d.cts",
17+
"default": "./dist/emnapi-core.d.cts"
1518
},
16-
"module": "./dist/emnapi-core.esm-bundler.js",
17-
"import": "./dist/emnapi-core.mjs",
18-
"default": "./index.js"
19+
"module": "./dist/emnapi-core.js",
20+
"module-sync": "./dist/emnapi-core.js",
21+
"default": "./dist/emnapi-core.cjs"
1922
},
20-
"./dist/emnapi-core.cjs.min": {
21-
"types": "./dist/emnapi-core.d.ts",
22-
"default": "./dist/emnapi-core.cjs.min.js"
23-
},
24-
"./dist/emnapi-core.min.mjs": {
25-
"types": "./dist/emnapi-core.d.mts",
26-
"default": "./dist/emnapi-core.min.mjs"
27-
}
23+
"./package.json": "./package.json"
2824
},
2925
"dependencies": {
3026
"@emnapi/wasi-threads": "1.0.1",
3127
"tslib": "^2.4.0"
3228
},
3329
"scripts": {
34-
"build": "node ./script/build.js"
30+
"build": "node ./script/build.js && rollup -c"
3531
},
3632
"repository": {
3733
"type": "git",

packages/core/rollup.config.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { defineConfig } from '@emnapi/shared'
2+
import pkg from './package.json' with { type: "json" }
3+
4+
export default defineConfig({
5+
outputName: 'emnapiCore',
6+
outputFile: 'emnapi-core',
7+
defines: {
8+
__VERSION__: JSON.stringify(pkg.version)
9+
}
10+
})

0 commit comments

Comments
 (0)