UEA-Prodem
This commit is contained in:
+23
@@ -0,0 +1,23 @@
|
||||
import { existsSync, readFileSync } from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import convertSourceMap from 'convert-source-map';
|
||||
|
||||
// based on vite
|
||||
// https://github.com/vitejs/vite/blob/84079a84ad94de4c1ef4f1bdb2ab448ff2c01196/packages/vite/src/node/server/sourcemap.ts#L149
|
||||
function extractSourcemapFromFile(code, filePath) {
|
||||
const map = (convertSourceMap.fromSource(code) || convertSourceMap.fromMapFileSource(code, createConvertSourceMapReadMap(filePath)))?.toObject();
|
||||
return map ? { map } : undefined;
|
||||
}
|
||||
function createConvertSourceMapReadMap(originalFileName) {
|
||||
return (filename) => {
|
||||
// convertSourceMap can detect invalid filename from comments.
|
||||
// fallback to empty source map to avoid errors.
|
||||
const targetPath = path.resolve(path.dirname(originalFileName), filename);
|
||||
if (existsSync(targetPath)) {
|
||||
return readFileSync(targetPath, "utf-8");
|
||||
}
|
||||
return "{}";
|
||||
};
|
||||
}
|
||||
|
||||
export { extractSourcemapFromFile };
|
||||
Reference in New Issue
Block a user