-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Commit
This previously compiles a script and run it in a new context to avoid global pollution, which is more complex than necessary and can be too slow for it to be reused in other cases. The new implementation just checks the frames in C++ which is safe from global pollution, faster and simpler. The previous implementation also had a bug when the call site is in a ESM, because ESM have URLs as their script names, which don't start with '/' or '\' and will be skipped. The new implementation removes the skipping to fix it for ESM. PR-URL: #55286 Backport-PR-URL: #55217 Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Chengzhong Wu <[email protected]> Refs: #52697
- Loading branch information
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
'use strict'; | ||
|
||
const common = require('../common'); | ||
const fixtures = require('../common/fixtures'); | ||
const { spawnSyncAndAssert } = require('../common/child_process'); | ||
|
||
if (process.env.NODE_PENDING_DEPRECATION) | ||
common.skip('test does not work when NODE_PENDING_DEPRECATION is set'); | ||
|
||
spawnSyncAndAssert( | ||
process.execPath, | ||
[ fixtures.path('warning_node_modules', 'new-buffer-cjs.js') ], | ||
{ | ||
trim: true, | ||
stderr: '', | ||
} | ||
); | ||
|
||
spawnSyncAndAssert( | ||
process.execPath, | ||
[ fixtures.path('warning_node_modules', 'new-buffer-esm.mjs') ], | ||
{ | ||
trim: true, | ||
stderr: '', | ||
} | ||
); | ||
|
||
spawnSyncAndAssert( | ||
process.execPath, | ||
[ | ||
'--pending-deprecation', | ||
fixtures.path('warning_node_modules', 'new-buffer-cjs.js'), | ||
], | ||
{ | ||
stderr: /DEP0005/ | ||
} | ||
); | ||
|
||
spawnSyncAndAssert( | ||
process.execPath, | ||
[ | ||
'--pending-deprecation', | ||
fixtures.path('warning_node_modules', 'new-buffer-esm.mjs'), | ||
], | ||
{ | ||
stderr: /DEP0005/ | ||
} | ||
); |