Skip to content

Commit 01213c7

Browse files
guybedforddanielleadams
authored andcommitted
module: fix Windows folder exports deprecation warning
PR-URL: #36859 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Geoffrey Booth <[email protected]> Reviewed-By: Myles Borins <[email protected]>
1 parent 17a5233 commit 01213c7

File tree

6 files changed

+21
-5
lines changed

6 files changed

+21
-5
lines changed

lib/internal/modules/esm/resolve.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,11 @@ const emittedPackageWarnings = new SafeSet();
6565
function emitFolderMapDeprecation(match, pjsonUrl, isExports, base) {
6666
const pjsonPath = fileURLToPath(pjsonUrl);
6767
if (!pendingDeprecation) {
68-
const nodeModulesIndex = StringPrototypeLastIndexOf(pjsonPath,
69-
'/node_modules/');
68+
const nodeModulesIndex =
69+
StringPrototypeLastIndexOf(pjsonPath, sep + 'node_modules' + sep);
7070
if (nodeModulesIndex !== -1) {
71-
const afterNodeModulesPath = StringPrototypeSlice(pjsonPath,
72-
nodeModulesIndex + 14,
73-
-13);
71+
const afterNodeModulesPath =
72+
StringPrototypeSlice(pjsonPath, nodeModulesIndex + 14, -13);
7473
try {
7574
const { packageSubpath } = parsePackageName(afterNodeModulesPath);
7675
if (packageSubpath === '.')

test/es-module/test-esm-local-deprecations.mjs

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import { pathToFileURL } from 'url';
66
const selfDeprecatedFolders =
77
fixtures.path('/es-modules/self-deprecated-folders/main.js');
88

9+
const deprecatedFoldersIgnore =
10+
fixtures.path('/es-modules/deprecated-folders-ignore/main.js');
11+
912
let curWarning = 0;
1013
const expectedWarnings = [
1114
'"./" in the "exports" field',
@@ -18,5 +21,6 @@ process.addListener('warning', mustCall((warning) => {
1821

1922
(async () => {
2023
await import(pathToFileURL(selfDeprecatedFolders));
24+
await import(pathToFileURL(deprecatedFoldersIgnore));
2125
})()
2226
.catch((err) => console.error(err));
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import 'pkg/folder/m.js';

test/fixtures/es-modules/deprecated-folders-ignore/node_modules/pkg/m.js

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/fixtures/es-modules/deprecated-folders-ignore/node_modules/pkg/package.json

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type": "module"
3+
}
4+

0 commit comments

Comments
 (0)