From 457d820bb3658994fe7c42bcf0908d9f6f7eb27c Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 11 Jun 2024 15:12:41 +0800 Subject: [PATCH] register: allow load sourcemap from file --- packages/register/index.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/register/index.js b/packages/register/index.js index 6d70e161e..d7ee5f518 100644 --- a/packages/register/index.js +++ b/packages/register/index.js @@ -50,6 +50,12 @@ require.extensions['.js'] = function loader(module, filename) { } try { const content = fs.readFileSync(filename, 'utf-8'); + const lastLine = content.trim().split('\n').pop(); + if (lastLine.startsWith('//# sourceMappingURL=data:application/json;base64,')) { + const info = lastLine.split('//# sourceMappingURL=data:application/json;base64,')[1]; + const payload = JSON.parse(Buffer.from(info, 'base64').toString()); + map[filename] = payload; + } return module._compile(content, filename); } catch (e) { // ESM return module._compile(transform(filename), filename);