Skip to content

Commit f2713ed

Browse files
committed
Resolve #-imports to source when node condition is unbuilt (resolve #1873)
1 parent 8292981 commit f2713ed

10 files changed

Lines changed: 32 additions & 14 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dist
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
import dep from '#dep';
2+
import builtless from '#builtless';
23
dep;
4+
builtless;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default 'builtless';

packages/knip/fixtures/resolution/subpath-import/package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
"#dep": {
55
"node": "dep-node-native",
66
"default": "./lib/dep-polyfill.js"
7+
},
8+
"#builtless": {
9+
"node": "./dist/builtless.js",
10+
"default": "./lib/builtless.ts"
711
}
812
},
913
"dependencies": {

packages/knip/fixtures/resolution/subpath-patterns/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
"#internals/*": "./src/internals/*.ts",
55
"#internals-explicit-ext/*": "./src/internals/*",
66
"#internals-alias/used.alt": "./src/internals/used.alt",
7-
"#:/*": "./src/internals/*.ts"
7+
"#:/*": "./src/internals/*.ts",
8+
"#conditional/*": {
9+
"node": "./dist/*.js",
10+
"browser": "./src/internals/*.ts"
11+
}
812
}
913
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import used from '#internals/used';
22
import colon from '#:/colon';
3+
import conditional from '#conditional/conditional';
34
import '#internals-explicit-ext/used.ext';
45
import '#internals-alias/used.alt';
56
used;
67
colon;
8+
conditional;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default 'conditional';

packages/knip/src/util/resolve.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ const createSyncModuleResolver = (extensions: string[], tsConfigFile?: string) =
2323
tsconfig: tsConfigFile ? { configFile: tsConfigFile, references: 'auto' } : 'auto',
2424
...baseOptions,
2525
});
26-
const fallbackResolver = new ResolverFactory(baseOptions);
26+
const fallbackResolver = new ResolverFactory({
27+
...baseOptions,
28+
conditionNames: ['require', 'import', 'browser', 'default'],
29+
});
2730

2831
resolverInstances.push(resolver, fallbackResolver);
2932

packages/knip/test/resolution/subpath-import.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ test('Allows subpath-imports', async () => {
1515

1616
assert.deepEqual(counters, {
1717
...baseCounters,
18-
processed: 3,
19-
total: 3,
18+
processed: 4,
19+
total: 4,
2020
});
2121
});
2222

@@ -27,8 +27,8 @@ test('Allows subpath-imports (production)', async () => {
2727

2828
assert.deepEqual(counters, {
2929
...baseCounters,
30-
processed: 3,
31-
total: 3,
30+
processed: 4,
31+
total: 4,
3232
});
3333
});
3434

@@ -37,7 +37,7 @@ test('Allows subpath-imports (strict)', async () => {
3737
const { counters } = await main(options);
3838
assert.deepEqual(counters, {
3939
...baseCounters,
40-
processed: 3,
41-
total: 3,
40+
processed: 4,
41+
total: 4,
4242
});
4343
});

packages/knip/test/resolution/subpath-patterns.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ test('Allows subpath-patterns', async () => {
1616
assert.deepEqual(counters, {
1717
...baseCounters,
1818
files: 1,
19-
processed: 4,
20-
total: 4,
19+
processed: 5,
20+
total: 5,
2121
});
2222
});
2323

@@ -30,8 +30,8 @@ test('Allows subpath-patterns (production)', async () => {
3030
assert.deepEqual(counters, {
3131
...baseCounters,
3232
files: 1,
33-
processed: 4,
34-
total: 4,
33+
processed: 5,
34+
total: 5,
3535
});
3636
});
3737

@@ -44,7 +44,7 @@ test('Allows subpath-patterns (strict)', async () => {
4444
assert.deepEqual(counters, {
4545
...baseCounters,
4646
files: 1,
47-
processed: 4,
48-
total: 4,
47+
processed: 5,
48+
total: 5,
4949
});
5050
});

0 commit comments

Comments
 (0)