Skip to content

Commit 6820335

Browse files
committed
Fix resolving source package exports condition from self reference
1 parent 79843ee commit 6820335

File tree

5 files changed

+21
-1
lines changed

5 files changed

+21
-1
lines changed

crates/parcel-resolver/src/package_json.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ impl PackageJson {
375375
}
376376

377377
if let Ok(realpath) = path.canonicalize(&cache) {
378-
let is_src = realpath != path && !realpath.in_node_modules();
378+
let is_src = !realpath.in_node_modules();
379379
is_source = Some(is_src);
380380
is_src
381381
} else {

packages/utils/node-resolver-core/test/fixture/packages/self-source/compiled.js

Whitespace-only changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"name": "self-source",
3+
"exports": {
4+
"source": "./source.js",
5+
"default": "./compiled.js"
6+
}
7+
}

packages/utils/node-resolver-core/test/fixture/packages/self-source/source.js

Whitespace-only changes.

packages/utils/node-resolver-core/test/resolver.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2396,6 +2396,19 @@ describe('resolver', function () {
23962396
path.join(rootDir, 'packages/self/bar.js'),
23972397
);
23982398
});
2399+
2400+
it('should support resolving package self with source field', async function () {
2401+
let resolved = await resolver.resolve({
2402+
env: NODE_INCLUDE_ENV,
2403+
filename: 'self-source',
2404+
specifierType: 'esm',
2405+
parent: path.join(rootDir, 'packages/self-source/foo.js'),
2406+
});
2407+
assert.equal(
2408+
resolved?.filePath,
2409+
path.join(rootDir, 'packages/self-source/source.js'),
2410+
);
2411+
});
23992412
});
24002413

24012414
describe('symlinks', function () {

0 commit comments

Comments
 (0)