mirror of
https://github.com/morluto/rea.git
synced 2026-10-12 02:19:24 +00:00
fix(javascript): preserve trailing slash in package directory requests (#1615)
This commit is contained in:
@@ -234,7 +234,8 @@ const resolvePackageSpecifier = (
|
||||
if (rawExports === undefined || rawExports === null) {
|
||||
if (subpath === ".")
|
||||
return resolveDirectory(input, directory, metadata, new Set());
|
||||
const candidate = confineCandidate(posix.join(directory, subpath.slice(2)));
|
||||
// Preserve the trailing slash for a package directory request.
|
||||
const candidate = confineCandidate(`${directory}/${subpath.slice(2)}`);
|
||||
return typeof candidate === "string"
|
||||
? resolveCandidate(input, candidate, new Set())
|
||||
: candidate;
|
||||
|
||||
@@ -23,10 +23,14 @@ cliTest.for(["CLI", "stdio MCP"] as const)(
|
||||
'const hidden = require("exported/hidden");',
|
||||
'const missing = require("exported/missing");',
|
||||
'new BrowserWindow({webPreferences:{preload:"exported/parser"}});',
|
||||
'const file = require("fixture");',
|
||||
'const packageDirectory = require("fixture/");',
|
||||
].join("\n");
|
||||
const files = {
|
||||
"src/main.cjs": source,
|
||||
"src/node_modules/fixture/parser.js": "module.exports = 1;",
|
||||
"src/node_modules/fixture.js": "module.exports = 'file';",
|
||||
"src/node_modules/fixture/index.js": "module.exports = 'directory';",
|
||||
"node_modules/fixture/package.json": "{}",
|
||||
"node_modules/fixture/parser.js": "module.exports = 2;",
|
||||
"node_modules/nested/package.json": "{}",
|
||||
@@ -59,6 +63,8 @@ cliTest.for(["CLI", "stdio MCP"] as const)(
|
||||
const nativeRequire = createRequire(join(root, "src/main.cjs"));
|
||||
const expectedTargets = {
|
||||
"fixture/parser": "src/node_modules/fixture/parser.js",
|
||||
fixture: "src/node_modules/fixture.js",
|
||||
"fixture/": "src/node_modules/fixture/index.js",
|
||||
"nested/parser": "node_modules/nested/parser/entry.js",
|
||||
"exported/parser": "node_modules/exported/parser.cjs",
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user