@@ -394,13 +394,16 @@ module.exports = (
394
394
assets [ filename + '.map' ] = { source : JSON . stringify ( map ) , permissions : defaultPermissions } ;
395
395
map = undefined ;
396
396
}
397
+ const columnOffset = - '(function (exports, require, module, __filename, __dirname) { ' . length ;
397
398
code =
398
399
`const { readFileSync, writeFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module');\n` +
399
- `const source = readFileSync(__dirname + '/${ filename } .cache${ ext } ', 'utf-8');\n` +
400
- `const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(__dirname + '/${ filename } .cache');\n` +
401
- `const script = new Script(wrap(source), cachedData ? { cachedData } : {});\n` +
400
+ `const basename = __dirname + '/${ filename } ';\n` +
401
+ `const source = readFileSync(basename + '.cache${ ext } ', 'utf-8');\n` +
402
+ `const cachedData = !process.pkg && require('process').platform !== 'win32' && readFileSync(basename + '.cache');\n` +
403
+ `const scriptOpts = { filename: basename + '.cache${ ext } ', columnOffset: ${ columnOffset } }\n` +
404
+ `const script = new Script(wrap(source), cachedData ? Object.assign({ cachedData }, scriptOpts) : scriptOpts);\n` +
402
405
`(script.runInThisContext())(exports, require, module, __filename, __dirname);\n` +
403
- `if (cachedData) process.on('exit', () => { try { writeFileSync(__dirname + '/ ${ filename } .cache', script.createCachedData()); } catch(e) {} });\n` ;
406
+ `if (cachedData) process.on('exit', () => { try { writeFileSync(basename + '.cache', script.createCachedData()); } catch(e) {} });\n` ;
404
407
}
405
408
406
409
if ( sourceMap && sourceMapRegister ) {
0 commit comments