Skip to content

Commit 4382c7a

Browse files
committed
Only fix relative paths in root dist files
Subdirectory files (e.g., dist/effects/, dist/packages/) need to keep ../ to reference parent modules. Only root-level dist files should have paths adjusted from ../ to ./.
1 parent 8345303 commit 4382c7a

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

scripts/fix-commonjs-exports.mjs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,20 @@ async function processDirectory(dir) {
4848
modified = true
4949
}
5050

51-
// Fix relative paths from ../ to ./ in dist files.
52-
// After compilation, both main files and subdirectories are in dist/,
53-
// so references should use ./ instead of ../.
54-
if (content.includes('require("../')) {
55-
content = content.replace(/require\("\.\.\//g, 'require("./')
56-
modified = true
57-
}
58-
if (content.includes("require('../")) {
59-
content = content.replace(/require\('\.\.\//g, "require('./")
60-
modified = true
51+
// Fix relative paths ONLY for files in the root dist directory.
52+
// Files in subdirectories (e.g., dist/effects/) need to keep ../ to reference parent modules.
53+
const isRootFile = path.dirname(fullPath) === distDir
54+
if (isRootFile && (content.includes('require("../') || content.includes("require('../"))) {
55+
// After compilation, external/ and constants/ subdirectories are in dist/,
56+
// so root-level files should use ./ instead of ../.
57+
if (content.includes('require("../')) {
58+
content = content.replace(/require\("\.\.\//g, 'require("./')
59+
modified = true
60+
}
61+
if (content.includes("require('../")) {
62+
content = content.replace(/require\('\.\.\//g, "require('./")
63+
modified = true
64+
}
6165
}
6266

6367
if (modified) {

0 commit comments

Comments
 (0)