From 7dd2f41c7385538a1d7de531490afe2acbb0daf6 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Sun, 11 Sep 2022 16:48:22 -0700 Subject: [PATCH] module: runtime deprecate exports double slash maps PR-URL: https://github.com/nodejs/node/pull/44495 Reviewed-By: Antoine du Hamel Reviewed-By: Matteo Collina --- doc/api/deprecations.md | 5 ++++- lib/internal/modules/esm/resolve.js | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md index f19b1cab4f8110..ac42905c7024d1 100644 --- a/doc/api/deprecations.md +++ b/doc/api/deprecations.md @@ -3201,13 +3201,16 @@ The [`--trace-atomics-wait`][] flag is deprecated. -Type: Documentation-only (supports [`--pending-deprecation`][]) +Type: Runtime Package imports and exports targets mapping into paths including a double slash (of _"/"_ or _"\\"_) are deprecated and will fail with a resolution validation diff --git a/lib/internal/modules/esm/resolve.js b/lib/internal/modules/esm/resolve.js index bfee280212fc4d..91ac345e96df86 100644 --- a/lib/internal/modules/esm/resolve.js +++ b/lib/internal/modules/esm/resolve.js @@ -33,7 +33,6 @@ const { Stats, } = require('fs'); const { getOptionValue } = require('internal/options'); -const pendingDeprecation = getOptionValue('--pending-deprecation'); // Do not eagerly grab .manifest, it may be in TDZ const policy = getOptionValue('--experimental-policy') ? require('internal/process/policy') : @@ -102,7 +101,6 @@ function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { const doubleSlashRegEx = /[/\\][/\\]/; function emitInvalidSegmentDeprecation(target, request, match, pjsonUrl, base) { - if (!pendingDeprecation) { return; } const pjsonPath = fileURLToPath(pjsonUrl); const double = RegExpPrototypeExec(doubleSlashRegEx, target) !== null; process.emitWarning(