Skip to content

Commit 714d3f2

Browse files
authored
refactor(core): use oxc-resolver (#798)
* refactor(core): use oxc-resolver * Debug * conditionNames * debug
1 parent 3499611 commit 714d3f2

File tree

18 files changed

+1731
-2492
lines changed

18 files changed

+1731
-2492
lines changed

.github/workflows/CI.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ on:
55
branches: [master, develop]
66
pull_request:
77

8+
env:
9+
OXC_LOG: 'debug'
10+
DEBUG: '@swc-node'
11+
812
jobs:
913
test:
1014
strategy:
@@ -18,7 +22,7 @@ jobs:
1822
steps:
1923
- uses: actions/checkout@v4
2024

21-
- uses: pnpm/action-setup@v2
25+
- uses: pnpm/action-setup@v4
2226

2327
- name: Setup node
2428
uses: actions/setup-node@v4
@@ -54,7 +58,7 @@ jobs:
5458
node-version: 20
5559

5660
- name: Cache NPM dependencies
57-
uses: actions/cache@v3
61+
uses: actions/cache@v4
5862
with:
5963
path: ~/.pnpm-store
6064
key: npm-cache-ubuntu-latest-node@20

package.json

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -28,51 +28,47 @@
2828
"bench": "node -r @swc-node/register ./bench/index.ts",
2929
"build": "tsc -b tsconfig.json",
3030
"format": "prettier --config ./package.json . -w",
31-
"lint": "eslint -c ./.eslintrc.yml .",
31+
"lint": "oxlint .",
3232
"test": "ava",
3333
"test:jest": "jest --config jest.config.js",
3434
"test:module": "cross-env SWC_NODE_PROJECT=packages/integrate-module/tsconfig.json node --import=@swc-node/register/esm-register packages/integrate-module/src/index.ts",
3535
"version": "pnpm install && git add .",
3636
"postinstall": "husky install"
3737
},
3838
"devDependencies": {
39-
"@babel/core": "^7.24.5",
40-
"@babel/plugin-transform-typescript": "^7.24.5",
41-
"@babel/preset-env": "^7.24.5",
42-
"@babel/preset-typescript": "^7.24.1",
39+
"@babel/core": "^7.24.7",
40+
"@babel/plugin-transform-typescript": "^7.24.7",
41+
"@babel/preset-env": "^7.24.7",
42+
"@babel/preset-typescript": "^7.24.7",
4343
"@swc-node/core": "workspace:*",
4444
"@swc-node/jest": "workspace:*",
4545
"@swc-node/register": "workspace:*",
4646
"@types/babel__core": "^7.20.5",
4747
"@types/benchmark": "^2.1.5",
48-
"@types/lodash": "^4.17.0",
49-
"@types/node": "^20.12.7",
48+
"@types/lodash": "^4.17.6",
49+
"@types/node": "^20.14.9",
5050
"@types/sinon": "^17.0.3",
51-
"@typescript-eslint/eslint-plugin": "^7.8.0",
52-
"@typescript-eslint/parser": "^7.8.0",
53-
"ava": "^6.1.2",
51+
"ava": "^6.1.3",
5452
"benchmark": "^2.1.4",
5553
"colorette": "^2.0.20",
5654
"cross-env": "^7.0.3",
57-
"esbuild": "^0.20.2",
58-
"eslint": "8",
59-
"eslint-config-prettier": "^9.1.0",
60-
"eslint-plugin-import": "^2.29.1",
55+
"esbuild": "^0.23.0",
6156
"husky": "^9.0.11",
6257
"jest": "^29.7.0",
63-
"lerna": "^8.1.2",
64-
"lint-staged": "^15.2.2",
58+
"lerna": "8.1.4",
59+
"lint-staged": "^15.2.7",
6560
"lodash": "^4.17.21",
66-
"prettier": "^3.2.5",
61+
"oxlint": "^0.5.2",
62+
"prettier": "^3.3.2",
6763
"react": "^18.3.1",
6864
"rxjs": "^7.8.1",
69-
"sinon": "^17.0.1",
70-
"tslib": "^2.6.2",
71-
"typescript": "^5.4.5"
65+
"sinon": "^18.0.0",
66+
"tslib": "^2.6.3",
67+
"typescript": "^5.5.3"
7268
},
7369
"lint-staged": {
7470
"*.@(js|ts|tsx|mts)": [
75-
"eslint --fix"
71+
"oxlint --fix"
7672
],
7773
"*.@(js|ts|tsx|mts|yml|yaml|md|json)": [
7874
"prettier --write"

packages/core/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ function transformOption(path: string, options?: Options, jest = false): SwcOpti
8282
: opts.sourcemap,
8383
inlineSourcesContent: true,
8484
swcrc: false,
85-
...(options?.swc ?? {}),
85+
...options?.swc,
8686
}
8787
}
8888

packages/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@
4545
"@swc/types": ">= 0.1"
4646
},
4747
"devDependencies": {
48-
"@swc/core": "^1.4.17",
49-
"@swc/types": "^0.1.6"
48+
"@swc/core": "^1.6.6",
49+
"@swc/types": "^0.1.9"
5050
},
5151
"funding": {
5252
"type": "github",

packages/integrate-module/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
"p-timeout": "^6.1.2"
99
},
1010
"devDependencies": {
11-
"@swc/core": "^1.4.17",
11+
"@swc/core": "^1.6.6",
1212
"@swc-node/register": "workspace:*",
13-
"typescript": "^5.4.5"
13+
"typescript": "^5.5.3"
1414
}
1515
}

packages/integrate/__tests__/react-pragma/__snapshots__/react-pragma.spec.ts.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Generated by [AVA](https://avajs.dev).
1111
`"use strict";␊
1212
const Button = ({ text })=>/*#__PURE__*/ h("div", null, text);␊
1313
14-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlxuICBjb25zdCBCdXR0b24gPSAoeyB0ZXh0IH0pID0+IChcbiAgICA8ZGl2PlxuICAgICAge3RleHR9XG4gICAgPC9kaXY+XG4gIClcbiJdLCJuYW1lcyI6WyJCdXR0b24iLCJ0ZXh0IiwiZGl2Il0sInJhbmdlTWFwcGluZ3MiOiI7IiwibWFwcGluZ3MiOiI7QUFDRSxNQUFNQSxTQUFTLENBQUMsRUFBRUMsSUFBSSxFQUFFLGlCQUN0QixFQUFDQyxhQUNFRCJ9`
14+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlxuICBjb25zdCBCdXR0b24gPSAoeyB0ZXh0IH0pID0+IChcbiAgICA8ZGl2PlxuICAgICAge3RleHR9XG4gICAgPC9kaXY+XG4gIClcbiJdLCJuYW1lcyI6WyJCdXR0b24iLCJ0ZXh0IiwiZGl2Il0sIm1hcHBpbmdzIjoiO0FBQ0UsTUFBTUEsU0FBUyxDQUFDLEVBQUVDLElBQUksRUFBRSxpQkFDdEIsRUFBQ0MsYUFDRUQifQ==`
1515

1616
## should transform jsx into new jsx runtime
1717

@@ -26,4 +26,4 @@ Generated by [AVA](https://avajs.dev).
2626
children: text␊
2727
});␊
2828
29-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlxuICBjb25zdCBCdXR0b24gPSAoeyB0ZXh0IH0pID0+IChcbiAgICA8ZGl2PlxuICAgICAge3RleHR9XG4gICAgPC9kaXY+XG4gIClcbiJdLCJuYW1lcyI6WyJCdXR0b24iLCJ0ZXh0IiwiZGl2Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDRSxNQUFNQSxTQUFTLENBQUMsRUFBRUMsSUFBSSxFQUFFLGlCQUN0QixxQkFBQ0M7a0JBQ0VEIn0=`
29+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlxuICBjb25zdCBCdXR0b24gPSAoeyB0ZXh0IH0pID0+IChcbiAgICA8ZGl2PlxuICAgICAge3RleHR9XG4gICAgPC9kaXY+XG4gIClcbiJdLCJuYW1lcyI6WyJCdXR0b24iLCJ0ZXh0IiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7OztBQUNFLE1BQU1BLFNBQVMsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsaUJBQ3RCLHFCQUFDQztrQkFDRUQifQ==`
Binary file not shown.

packages/integrate/__tests__/sourcemaps/__snapshots__/sourcemaps.spec.ts.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ Generated by [AVA](https://avajs.dev).
1010
1111
`Error: ␊
1212
at /packages/integrate/__tests__/sourcemaps/sourcemaps.spec.ts:27:5␊
13-
at Test.callFn (file:///node_modules/.pnpm/[email protected].2_encoding@0.1.13/node_modules/ava/lib/test.js:525:26)␊
14-
at Test.run (file:///node_modules/.pnpm/[email protected].2_encoding@0.1.13/node_modules/ava/lib/test.js:534:33)␊
15-
at Runner.runSingle (file:///node_modules/.pnpm/[email protected].2_encoding@0.1.13/node_modules/ava/lib/runner.js:281:33)␊
16-
at Runner.runTest (file:///node_modules/.pnpm/[email protected].2_encoding@0.1.13/node_modules/ava/lib/runner.js:363:30)␊
13+
at Test.callFn (file:///node_modules/.pnpm/[email protected].3_encoding@0.1.13/node_modules/ava/lib/test.js:525:26)␊
14+
at Test.run (file:///node_modules/.pnpm/[email protected].3_encoding@0.1.13/node_modules/ava/lib/test.js:534:33)␊
15+
at Runner.runSingle (file:///node_modules/.pnpm/[email protected].3_encoding@0.1.13/node_modules/ava/lib/runner.js:281:33)␊
16+
at Runner.runTest (file:///node_modules/.pnpm/[email protected].3_encoding@0.1.13/node_modules/ava/lib/runner.js:363:30)␊
1717
at processTicksAndRejections (node:internal/process/task_queues:95:5)␊
1818
at async Promise.all (index 0)␊
19-
at file:///node_modules/.pnpm/[email protected].2_encoding@0.1.13/node_modules/ava/lib/runner.js:528:21␊
20-
at Runner.start (file:///node_modules/.pnpm/[email protected].2_encoding@0.1.13/node_modules/ava/lib/runner.js:536:15)`
19+
at file:///node_modules/.pnpm/[email protected].3_encoding@0.1.13/node_modules/ava/lib/runner.js:528:21␊
20+
at Runner.start (file:///node_modules/.pnpm/[email protected].3_encoding@0.1.13/node_modules/ava/lib/runner.js:536:15)`
Binary file not shown.

packages/integrate/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@
2020
},
2121
"devDependencies": {
2222
"@swc/helpers": "^0.5.11",
23-
"@swc-node/core": "^1.13.0",
23+
"@swc-node/core": "^1.13.1",
2424
"@swc-node/register": "workspace:*",
2525
"@types/jest": "^29.5.12",
26-
"@types/react": "^18.3.1",
26+
"@types/react": "^18.3.3",
2727
"@types/react-dom": "^18.3.0",
2828
"jest": "^29.7.0",
2929
"react": "^18.3.1",
3030
"react-dom": "^18.3.1",
31-
"sinon": "^17.0.1",
32-
"typescript": "^5.4.5"
31+
"sinon": "^18.0.0",
32+
"typescript": "^5.5.3"
3333
}
3434
}

packages/jest/__test__/hoist-top-level.spec.ts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ Generated by [AVA](https://avajs.dev).
4141
jest.unmock('./bar/foo').dontMock('./bar/bar');␊
4242
};␊
4343
44-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImplc3Quc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbmNvbnN0IGZvbyA9ICdmb28nXG5jb25zb2xlLmxvZyhmb28pXG5qZXN0LmVuYWJsZUF1dG9tb2NrKClcbmplc3QuZGlzYWJsZUF1dG9tb2NrKClcbmplc3QubW9jaygnLi9mb28nKVxuamVzdC5tb2NrKCcuL2Zvby9iYXInLCAoKSA9PiAnYmFyJylcbmplc3QudW5tb2NrKCcuL2Jhci9mb28nKS5kb250TW9jaygnLi9iYXIvYmFyJylcbmplc3QuZGVlcFVubW9jaygnLi9mb28nKVxuamVzdC5tb2NrKCcuL2ZvbycpLm1vY2soJy4vYmFyJylcbmNvbnN0IGZ1bmMgPSAoKSA9PiB7XG4gIGNvbnN0IGJhciA9ICdiYXInXG4gIGNvbnNvbGUubG9nKGJhcilcbiAgamVzdC51bm1vY2soJy4vZm9vJylcbiAgamVzdC5tb2NrKCcuL2JhcicpXG4gIGplc3QubW9jaygnLi9iYXIvZm9vJywgKCkgPT4gJ2ZvbycpXG4gIGplc3QudW5tb2NrKCcuL2Zvby9iYXInKVxuICBqZXN0LnVubW9jaygnLi9iYXIvZm9vJykuZG9udE1vY2soJy4vYmFyL2JhcicpXG4gIGplc3QuZGVlcFVubW9jaygnLi9iYXInKVxuICBqZXN0Lm1vY2soJy4vZm9vJykubW9jaygnLi9iYXInKVxufVxuY29uc3QgZnVuYzIgPSAoKSA9PiB7XG4gIGNvbnN0IGJhciA9ICdiYXInXG4gIGNvbnNvbGUubG9nKGJhcilcbiAgamVzdC5tb2NrKCcuL2JhcicpXG4gIGplc3QudW5tb2NrKCcuL2Zvby9iYXInKVxuICBqZXN0Lm1vY2soJy4vYmFyL2ZvbycsICgpID0+ICdmb28nKVxuICBqZXN0LnVubW9jaygnLi9mb28nKVxuICBqZXN0LnVubW9jaygnLi9iYXIvZm9vJykuZG9udE1vY2soJy4vYmFyL2JhcicpXG4gIGplc3QuZGVlcFVubW9jaygnLi9iYXInKVxuICBqZXN0Lm1vY2soJy4vZm9vJykubW9jaygnLi9iYXInKVxufVxuIl0sIm5hbWVzIjpbImplc3QiLCJlbmFibGVBdXRvbW9jayIsImRpc2FibGVBdXRvbW9jayIsIm1vY2siLCJkZWVwVW5tb2NrIiwiZm9vIiwiY29uc29sZSIsImxvZyIsInVubW9jayIsImRvbnRNb2NrIiwiZnVuYyIsImJhciIsImZ1bmMyIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7QUFHQUEsS0FBS0MsY0FBYztBQUNuQkQsS0FBS0UsZUFBZTtBQUNwQkYsS0FBS0csSUFBSSxDQUFDO0FBQ1ZILEtBQUtHLElBQUksQ0FBQyxhQUFhLElBQU07QUFFN0JILEtBQUtJLFVBQVUsQ0FBQztBQUNoQkosS0FBS0csSUFBSSxDQUFDLFNBQVNBLElBQUksQ0FBQztBQVJ4QixNQUFNRSxNQUFNO0FBQ1pDLFFBQVFDLEdBQUcsQ0FBQ0Y7QUFLWkwsS0FBS1EsTUFBTSxDQUFDLGFBQWFDLFFBQVEsQ0FBQztBQUdsQyxNQUFNQyxPQUFPO0lBR1hWLEtBQUtRLE1BQU0sQ0FBQztJQUNaUixLQUFLRyxJQUFJLENBQUM7SUFDVkgsS0FBS0csSUFBSSxDQUFDLGFBQWEsSUFBTTtJQUM3QkgsS0FBS1EsTUFBTSxDQUFDO0lBRVpSLEtBQUtJLFVBQVUsQ0FBQztJQUNoQkosS0FBS0csSUFBSSxDQUFDLFNBQVNBLElBQUksQ0FBQztJQVJ4QixNQUFNUSxNQUFNO0lBQ1pMLFFBQVFDLEdBQUcsQ0FBQ0k7SUFLWlgsS0FBS1EsTUFBTSxDQUFDLGFBQWFDLFFBQVEsQ0FBQztBQUdwQztBQUNBLE1BQU1HLFFBQVE7SUFHWlosS0FBS0csSUFBSSxDQUFDO0lBQ1ZILEtBQUtRLE1BQU0sQ0FBQztJQUNaUixLQUFLRyxJQUFJLENBQUMsYUFBYSxJQUFNO0lBQzdCSCxLQUFLUSxNQUFNLENBQUM7SUFFWlIsS0FBS0ksVUFBVSxDQUFDO0lBQ2hCSixLQUFLRyxJQUFJLENBQUMsU0FBU0EsSUFBSSxDQUFDO0lBUnhCLE1BQU1RLE1BQU07SUFDWkwsUUFBUUMsR0FBRyxDQUFDSTtJQUtaWCxLQUFLUSxNQUFNLENBQUMsYUFBYUMsUUFBUSxDQUFDO0FBR3BDIn0=`
44+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImplc3Quc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbmNvbnN0IGZvbyA9ICdmb28nXG5jb25zb2xlLmxvZyhmb28pXG5qZXN0LmVuYWJsZUF1dG9tb2NrKClcbmplc3QuZGlzYWJsZUF1dG9tb2NrKClcbmplc3QubW9jaygnLi9mb28nKVxuamVzdC5tb2NrKCcuL2Zvby9iYXInLCAoKSA9PiAnYmFyJylcbmplc3QudW5tb2NrKCcuL2Jhci9mb28nKS5kb250TW9jaygnLi9iYXIvYmFyJylcbmplc3QuZGVlcFVubW9jaygnLi9mb28nKVxuamVzdC5tb2NrKCcuL2ZvbycpLm1vY2soJy4vYmFyJylcbmNvbnN0IGZ1bmMgPSAoKSA9PiB7XG4gIGNvbnN0IGJhciA9ICdiYXInXG4gIGNvbnNvbGUubG9nKGJhcilcbiAgamVzdC51bm1vY2soJy4vZm9vJylcbiAgamVzdC5tb2NrKCcuL2JhcicpXG4gIGplc3QubW9jaygnLi9iYXIvZm9vJywgKCkgPT4gJ2ZvbycpXG4gIGplc3QudW5tb2NrKCcuL2Zvby9iYXInKVxuICBqZXN0LnVubW9jaygnLi9iYXIvZm9vJykuZG9udE1vY2soJy4vYmFyL2JhcicpXG4gIGplc3QuZGVlcFVubW9jaygnLi9iYXInKVxuICBqZXN0Lm1vY2soJy4vZm9vJykubW9jaygnLi9iYXInKVxufVxuY29uc3QgZnVuYzIgPSAoKSA9PiB7XG4gIGNvbnN0IGJhciA9ICdiYXInXG4gIGNvbnNvbGUubG9nKGJhcilcbiAgamVzdC5tb2NrKCcuL2JhcicpXG4gIGplc3QudW5tb2NrKCcuL2Zvby9iYXInKVxuICBqZXN0Lm1vY2soJy4vYmFyL2ZvbycsICgpID0+ICdmb28nKVxuICBqZXN0LnVubW9jaygnLi9mb28nKVxuICBqZXN0LnVubW9jaygnLi9iYXIvZm9vJykuZG9udE1vY2soJy4vYmFyL2JhcicpXG4gIGplc3QuZGVlcFVubW9jaygnLi9iYXInKVxuICBqZXN0Lm1vY2soJy4vZm9vJykubW9jaygnLi9iYXInKVxufVxuIl0sIm5hbWVzIjpbImplc3QiLCJlbmFibGVBdXRvbW9jayIsImRpc2FibGVBdXRvbW9jayIsIm1vY2siLCJkZWVwVW5tb2NrIiwiZm9vIiwiY29uc29sZSIsImxvZyIsInVubW9jayIsImRvbnRNb2NrIiwiZnVuYyIsImJhciIsImZ1bmMyIl0sIm1hcHBpbmdzIjoiO0FBR0FBLEtBQUtDLGNBQWM7QUFDbkJELEtBQUtFLGVBQWU7QUFDcEJGLEtBQUtHLElBQUksQ0FBQztBQUNWSCxLQUFLRyxJQUFJLENBQUMsYUFBYSxJQUFNO0FBRTdCSCxLQUFLSSxVQUFVLENBQUM7QUFDaEJKLEtBQUtHLElBQUksQ0FBQyxTQUFTQSxJQUFJLENBQUM7QUFSeEIsTUFBTUUsTUFBTTtBQUNaQyxRQUFRQyxHQUFHLENBQUNGO0FBS1pMLEtBQUtRLE1BQU0sQ0FBQyxhQUFhQyxRQUFRLENBQUM7QUFHbEMsTUFBTUMsT0FBTztJQUdYVixLQUFLUSxNQUFNLENBQUM7SUFDWlIsS0FBS0csSUFBSSxDQUFDO0lBQ1ZILEtBQUtHLElBQUksQ0FBQyxhQUFhLElBQU07SUFDN0JILEtBQUtRLE1BQU0sQ0FBQztJQUVaUixLQUFLSSxVQUFVLENBQUM7SUFDaEJKLEtBQUtHLElBQUksQ0FBQyxTQUFTQSxJQUFJLENBQUM7SUFSeEIsTUFBTVEsTUFBTTtJQUNaTCxRQUFRQyxHQUFHLENBQUNJO0lBS1pYLEtBQUtRLE1BQU0sQ0FBQyxhQUFhQyxRQUFRLENBQUM7QUFHcEM7QUFDQSxNQUFNRyxRQUFRO0lBR1paLEtBQUtHLElBQUksQ0FBQztJQUNWSCxLQUFLUSxNQUFNLENBQUM7SUFDWlIsS0FBS0csSUFBSSxDQUFDLGFBQWEsSUFBTTtJQUM3QkgsS0FBS1EsTUFBTSxDQUFDO0lBRVpSLEtBQUtJLFVBQVUsQ0FBQztJQUNoQkosS0FBS0csSUFBSSxDQUFDLFNBQVNBLElBQUksQ0FBQztJQVJ4QixNQUFNUSxNQUFNO0lBQ1pMLFFBQVFDLEdBQUcsQ0FBQ0k7SUFLWlgsS0FBS1EsTUFBTSxDQUFDLGFBQWFDLFFBQVEsQ0FBQztBQUdwQyJ9`
-41 Bytes
Binary file not shown.

packages/jest/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
"typescript": ">= 5.0"
3838
},
3939
"devDependencies": {
40-
"@swc/core": "^1.4.17",
41-
"@swc/types": "^0.1.6"
40+
"@swc/core": "^1.6.6",
41+
"@swc/types": "^0.1.9"
4242
},
4343
"repository": {
4444
"type": "git",

packages/loader/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"url": "https://github.com/sponsors/Brooooooklyn"
4848
},
4949
"devDependencies": {
50-
"typescript": "^5.4.5",
51-
"webpack": "^5.91.0"
50+
"typescript": "^5.5.3",
51+
"webpack": "^5.92.1"
5252
}
5353
}

packages/register/esm.mts

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import { readFile } from 'fs/promises'
22
import { createRequire, type LoadFnOutput, type LoadHook, type ResolveFnOutput, type ResolveHook } from 'node:module'
3-
import { extname } from 'path'
3+
import { extname, join } from 'path'
44
import { fileURLToPath, parse as parseUrl, pathToFileURL } from 'url'
55

66
import debugFactory from 'debug'
7+
import { ResolverFactory } from 'oxc-resolver'
78
import ts from 'typescript'
89

910
// @ts-expect-error
@@ -16,11 +17,27 @@ const debug = debugFactory('@swc-node')
1617
const tsconfig: ts.CompilerOptions = readDefaultTsConfig()
1718
tsconfig.module = ts.ModuleKind.ESNext
1819

19-
const moduleResolutionCache = ts.createModuleResolutionCache(ts.sys.getCurrentDirectory(), (x) => x, tsconfig)
20-
const host: ts.ModuleResolutionHost = {
21-
fileExists: ts.sys.fileExists,
22-
readFile: ts.sys.readFile,
23-
}
20+
const TSCONFIG_PATH = (function () {
21+
const pathFromEnv =
22+
process.env.SWC_NODE_PROJECT ?? process.env.TS_NODE_PROJECT ?? join(process.cwd(), 'tsconfig.json')
23+
if (!pathFromEnv.startsWith('/')) {
24+
return join(process.cwd(), pathFromEnv)
25+
}
26+
return pathFromEnv
27+
})()
28+
29+
const resolver = new ResolverFactory({
30+
tsconfig: {
31+
configFile: TSCONFIG_PATH,
32+
references: 'auto',
33+
},
34+
conditionNames: ['node', 'import'],
35+
extensionAlias: {
36+
'.js': ['.ts', '.js'],
37+
'.mjs': ['.mts', '.mjs'],
38+
'.cjs': ['.cts', '.cjs'],
39+
},
40+
})
2441

2542
const addShortCircuitSignal = <T extends ResolveFnOutput | LoadFnOutput>(input: T): T => {
2643
return {
@@ -169,25 +186,27 @@ export const resolve: ResolveHook = async (specifier, context, nextResolve) => {
169186
return addShortCircuitSignal(await nextResolve(specifier))
170187
}
171188

172-
const { resolvedModule } = ts.resolveModuleName(
189+
const { error, path } = await resolver.async(
190+
join(fileURLToPath(context.parentURL), '..'),
173191
specifier.startsWith('file:') ? fileURLToPath(specifier) : specifier,
174-
fileURLToPath(context.parentURL),
175-
tsconfig,
176-
host,
177-
moduleResolutionCache,
178192
)
179193

194+
if (error) {
195+
console.error(error)
196+
throw error
197+
}
198+
180199
// local project file
181200
if (
182-
resolvedModule &&
183-
!resolvedModule.resolvedFileName.includes('/node_modules/') &&
184-
AVAILABLE_TS_EXTENSION_PATTERN.test(resolvedModule.resolvedFileName)
201+
path &&
202+
((process.platform !== 'win32' && !path.includes('/node_modules/')) ||
203+
(process.platform === 'win32' && !path.includes('\\node_modules\\')))
185204
) {
186-
debug('resolved: typescript', specifier, resolvedModule.resolvedFileName)
205+
debug('resolved: typescript', specifier, path)
187206

188207
return addShortCircuitSignal({
189208
...context,
190-
url: pathToFileURL(resolvedModule.resolvedFileName).href,
209+
url: pathToFileURL(path).href,
191210
format: 'module',
192211
})
193212
}

packages/register/package.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,21 +43,22 @@
4343
"@swc-node/core": "^1.13.1",
4444
"@swc-node/sourcemap-support": "^0.5.0",
4545
"colorette": "^2.0.20",
46-
"debug": "^4.3.4",
46+
"debug": "^4.3.5",
47+
"oxc-resolver": "^1.9.2",
4748
"pirates": "^4.0.6",
48-
"tslib": "^2.6.2"
49+
"tslib": "^2.6.3"
4950
},
5051
"peerDependencies": {
5152
"@swc/core": ">= 1.4.13",
5253
"typescript": ">= 4.3"
5354
},
5455
"devDependencies": {
55-
"@swc/core": "^1.4.17",
56+
"@swc/core": "^1.6.6",
5657
"@swc/helpers": "^0.5.11",
5758
"@types/debug": "^4.1.12",
5859
"lodash": "^4.17.21",
59-
"sinon": "^17.0.1",
60-
"typescript": "^5.4.5"
60+
"sinon": "^18.0.0",
61+
"typescript": "^5.5.3"
6162
},
6263
"funding": {
6364
"type": "github",

packages/sourcemap-support/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
},
3434
"dependencies": {
3535
"source-map-support": "^0.5.21",
36-
"tslib": "^2.6.2"
36+
"tslib": "^2.6.3"
3737
},
3838
"bugs": {
3939
"url": "https://github.com/swc-project/swc-node/issues"

0 commit comments

Comments
 (0)