'use strict'; const common = require('../common.js'); const assert = require('assert'); const fixtures = require('../../test/common/fixtures'); const bench = common.createBenchmark( main, { operation: [ 'findSourceMap-valid', 'findSourceMap-generated-source', ], n: [1e5], }, ); function main({ operation, n }) { const Module = require('node:module'); Module.setSourceMapsSupport(true, { generatedCode: true, }); const validFileName = fixtures.path('test-runner/source-maps/line-lengths/index.js'); const fileNameKey = '/source-map/disk.js'; const generatedFileName = fixtures.path(fileNameKey); const generatedFileContent = fixtures.readSync(fileNameKey, 'utf8'); const sourceMapUrl = generatedFileName.replace(/\.js$/, '.map'); const sourceWithGeneratedSourceMap = `${generatedFileContent}\n//# sourceMappingURL=${sourceMapUrl}\n//# sourceURL=${generatedFileName}`; const generatedExpectedUrl = `file://${generatedFileName}`; let sourceMap; switch (operation) { case 'findSourceMap-valid': require(validFileName); bench.start(); for (let i = 0; i < n; i++) { sourceMap = Module.findSourceMap(validFileName); } bench.end(n); break; case 'findSourceMap-generated-source': eval(sourceWithGeneratedSourceMap); bench.start(); for (let i = 0; i < n; i++) { sourceMap = Module.findSourceMap(generatedExpectedUrl); } bench.end(n); break; default: throw new Error(`Unknown operation: ${operation}`); } assert.ok(sourceMap); }