You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
package self-reference works without a flag in node v12.16 #31754
It has a dev dep of "has-package-exports": "file:.", so that in every node version, i can require('has-package-exports') from within the package, and it works.
In node v13.6 and v12.15, node test passes without issuing (node:96292) ExperimentalWarning: Package name self resolution is an experimental feature. This feature could change at any time as a warning.
In node v13.7, the warning is correctly issued, and the local dev dep is byassed.
However, in node v12.16, without passing any flags, the warning is issued and the local dev dep is bypassed. v12.16 and v12.15 should behave identically with respect to this feature, regardless of the presence of "exports" in package.json.
This is definitely a bug, unfortunately due to the nature of the backporting process between the flagged and unflagged implementations. The fix would be to include an explicit if (!experimentalModules) return in the first line of the trySelf function in lib/internal/modules/cjs/loader.js for the 12.x branch.
Activity
guybedford commentedon Feb 12, 2020
This is definitely a bug, unfortunately due to the nature of the backporting process between the flagged and unflagged implementations. The fix would be to include an explicit
if (!experimentalModules) returnin the first line of thetrySelffunction in lib/internal/modules/cjs/loader.js for the 12.x branch.MylesBorins commentedon Feb 12, 2020
we can get out an emergency release to fix this
ljharb commentedon Feb 14, 2020
Looks like this was resolved in f0b2d87, and may be released in #31781