mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
bootstrap: simplify initialization of source map handlers
- Move the initialization of process.setSourceMapsEnabled and the maybeCacheGeneratedSourceMap callback to bootstrap/node.js so they are included in the snapshot. - Simplify the handling of --enable-source-maps by explicitly calling setSourceMapsEnabled() during pre-execution. PR-URL: https://github.com/nodejs/node/pull/48304 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
This commit is contained in:
@@ -335,6 +335,22 @@ process.emitWarning = emitWarning;
|
||||
// Note: only after this point are the timers effective
|
||||
}
|
||||
|
||||
{
|
||||
const {
|
||||
setSourceMapsEnabled,
|
||||
maybeCacheGeneratedSourceMap,
|
||||
} = require('internal/source_map/source_map_cache');
|
||||
const {
|
||||
setMaybeCacheGeneratedSourceMap,
|
||||
} = internalBinding('errors');
|
||||
|
||||
process.setSourceMapsEnabled = setSourceMapsEnabled;
|
||||
// The C++ land calls back to maybeCacheGeneratedSourceMap()
|
||||
// when code is generated by user with eval() or new Function()
|
||||
// to cache the source maps from the evaluated code, if any.
|
||||
setMaybeCacheGeneratedSourceMap(maybeCacheGeneratedSourceMap);
|
||||
}
|
||||
|
||||
function setupProcessObject() {
|
||||
const EventEmitter = require('events');
|
||||
const origProcProto = ObjectGetPrototypeOf(process);
|
||||
|
||||
@@ -305,8 +305,6 @@ if (internalBinding('config').hasInspector) {
|
||||
internalBinding('wasm_web_api');
|
||||
// Needed to detect whether it's on main thread.
|
||||
internalBinding('worker');
|
||||
// Needed to setup source maps.
|
||||
require('internal/source_map/source_map_cache');
|
||||
// Needed by most execution modes.
|
||||
require('internal/modules/run_main');
|
||||
// Needed to refresh DNS configurations.
|
||||
|
||||
@@ -618,11 +618,10 @@ function initializeESMLoader(isLoaderWorker) {
|
||||
}
|
||||
|
||||
function initializeSourceMapsHandlers() {
|
||||
const { setSourceMapsEnabled, getSourceMapsEnabled } =
|
||||
require('internal/source_map/source_map_cache');
|
||||
process.setSourceMapsEnabled = setSourceMapsEnabled;
|
||||
// Initialize the environment flag of source maps.
|
||||
getSourceMapsEnabled();
|
||||
const {
|
||||
setSourceMapsEnabled,
|
||||
} = require('internal/source_map/source_map_cache');
|
||||
setSourceMapsEnabled(getOptionValue('--enable-source-maps'));
|
||||
}
|
||||
|
||||
function initializeFrozenIntrinsics() {
|
||||
|
||||
@@ -15,10 +15,12 @@ const { Buffer } = require('buffer');
|
||||
let debug = require('internal/util/debuglog').debuglog('source_map', (fn) => {
|
||||
debug = fn;
|
||||
});
|
||||
const { getOptionValue } = require('internal/options');
|
||||
|
||||
const { validateBoolean } = require('internal/validators');
|
||||
const { setMaybeCacheGeneratedSourceMap } = internalBinding('errors');
|
||||
const {
|
||||
setSourceMapsEnabled: setSourceMapsNative,
|
||||
setPrepareStackTraceCallback,
|
||||
} = internalBinding('errors');
|
||||
const { getLazy } = require('internal/util');
|
||||
|
||||
// Since the CJS module cache is mutable, which leads to memory leaks when
|
||||
@@ -41,22 +43,16 @@ const { fileURLToPath, pathToFileURL, URL } = require('internal/url');
|
||||
|
||||
let SourceMap;
|
||||
|
||||
let sourceMapsEnabled;
|
||||
// This is configured with --enable-source-maps during pre-execution.
|
||||
let sourceMapsEnabled = false;
|
||||
function getSourceMapsEnabled() {
|
||||
if (sourceMapsEnabled === undefined) {
|
||||
setSourceMapsEnabled(getOptionValue('--enable-source-maps'));
|
||||
}
|
||||
return sourceMapsEnabled;
|
||||
}
|
||||
|
||||
function setSourceMapsEnabled(val) {
|
||||
validateBoolean(val, 'val');
|
||||
|
||||
const {
|
||||
setSourceMapsEnabled,
|
||||
setPrepareStackTraceCallback,
|
||||
} = internalBinding('errors');
|
||||
setSourceMapsEnabled(val);
|
||||
setSourceMapsNative(val);
|
||||
if (val) {
|
||||
const {
|
||||
prepareStackTrace,
|
||||
@@ -186,7 +182,6 @@ function maybeCacheGeneratedSourceMap(content) {
|
||||
debug(err);
|
||||
}
|
||||
}
|
||||
setMaybeCacheGeneratedSourceMap(maybeCacheGeneratedSourceMap);
|
||||
|
||||
function dataFromUrl(sourceURL, sourceMappingURL) {
|
||||
try {
|
||||
@@ -333,5 +328,6 @@ module.exports = {
|
||||
getSourceMapsEnabled,
|
||||
setSourceMapsEnabled,
|
||||
maybeCacheSourceMap,
|
||||
maybeCacheGeneratedSourceMap,
|
||||
sourceMapCacheToObject,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user