@canyonjs/babel-plugin 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 计算字符串的 SHA1 hash
3
+ *
4
+ * @param content - 要计算 hash 的内容
5
+ * @returns SHA1 hash 字符串
6
+ */
7
+ export declare function computeHash(content: string): string;
8
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/helpers/hash.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeHash = computeHash;
4
+ const node_crypto_1 = require("node:crypto");
5
+ /**
6
+ * 计算字符串的 SHA1 hash
7
+ *
8
+ * @param content - 要计算 hash 的内容
9
+ * @returns SHA1 hash 字符串
10
+ */
11
+ function computeHash(content) {
12
+ return (0, node_crypto_1.createHash)('sha1').update(content).digest('hex');
13
+ }
14
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/helpers/hash.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC;;;;;GAKG;AACH,qBAA4B,OAAe,EAAU;IACnD,OAAO,IAAA,wBAAU,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAAA,CACzD"}
@@ -0,0 +1,3 @@
1
+ export declare function remapCoverage(obj: any): Promise<{}>;
2
+ export declare function remapCoverageByOld(obj: any): Promise<{}>;
3
+ //# sourceMappingURL=remap-coverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remap-coverage.d.ts","sourceRoot":"","sources":["../../src/helpers/remap-coverage.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG,eAe3C;AAcD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,GAAG,eA2ChD"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.remapCoverage = remapCoverage;
7
+ exports.remapCoverageByOld = remapCoverageByOld;
8
+ // @ts-nocheck // 这行注释会让 TS 忽略当前文件的所有类型检查报错
9
+ const istanbul_lib_coverage_1 = __importDefault(require("istanbul-lib-coverage"));
10
+ const istanbul_lib_source_maps_1 = __importDefault(require("istanbul-lib-source-maps"));
11
+ async function remapCoverage(obj) {
12
+ const res = await istanbul_lib_source_maps_1.default
13
+ .createSourceMapStore()
14
+ .transformCoverage(istanbul_lib_coverage_1.default.createCoverageMap(obj));
15
+ const { data: data_1 } = res;
16
+ const obj_1 = {};
17
+ Object.entries(data_1).forEach(([key, value], index) => {
18
+ // @ts-expect-error
19
+ const x = value['data'];
20
+ // @ts-expect-error
21
+ obj_1[x.path] = {
22
+ ...x,
23
+ };
24
+ });
25
+ return obj_1;
26
+ }
27
+ function eee(newMap, oldMap) {
28
+ const o = {};
29
+ Object.entries(newMap).forEach(([key, value]) => {
30
+ o[key] = {
31
+ // @ts-expect-errorr
32
+ ...value,
33
+ contentHash: oldMap[key]?.contentHash || '',
34
+ };
35
+ });
36
+ return o;
37
+ }
38
+ async function remapCoverageByOld(obj) {
39
+ const aaa = await Promise.all(Object.values(obj).map((item) => {
40
+ return remapCoverage({
41
+ // @ts-expect-errorr
42
+ [item.path]: item,
43
+ })
44
+ .then((res) => {
45
+ return Object.values(res);
46
+ })
47
+ .then((res) => {
48
+ return res[0];
49
+ })
50
+ .then((res) => {
51
+ const r = {
52
+ // @ts-expect-errorr
53
+ ...res,
54
+ // @ts-expect-errorr
55
+ statementMap: eee(res.statementMap, item.statementMap),
56
+ // @ts-expect-errorr
57
+ fnMap: eee(res.fnMap, item.fnMap),
58
+ // @ts-expect-errorr
59
+ oldPath: item.path,
60
+ // @ts-expect-errorr
61
+ contentHash: item.contentHash,
62
+ };
63
+ return r;
64
+ })
65
+ .catch((err) => {
66
+ return {};
67
+ });
68
+ }));
69
+ const obj2 = {};
70
+ // @ts-expect-errorr
71
+ aaa.forEach((item) => {
72
+ // 过滤作用
73
+ if (item.path) {
74
+ // @ts-expect-errorr
75
+ obj2[item.path] = item;
76
+ }
77
+ });
78
+ return obj2;
79
+ }
80
+ //# sourceMappingURL=remap-coverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remap-coverage.js","sourceRoot":"","sources":["../../src/helpers/remap-coverage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Location 位置信息接口
3
+ */
4
+ interface Location {
5
+ start: {
6
+ line: number;
7
+ column: number;
8
+ };
9
+ end: {
10
+ line: number;
11
+ column: number;
12
+ };
13
+ }
14
+ /**
15
+ * StatementMap 条目接口
16
+ */
17
+ interface StatementMapEntry {
18
+ start: Location['start'];
19
+ end: Location['end'];
20
+ contentHash?: string;
21
+ }
22
+ /**
23
+ * 为 statementMap 中的每个条目添加 contentHash 字段
24
+ * 基于位置信息提取源码片段并计算 hash
25
+ *
26
+ * @param statementMap - StatementMap 对象
27
+ * @param sourceCode - 源代码内容
28
+ */
29
+ export declare function enrichStatementMapWithHash(statementMap: Record<string, StatementMapEntry>, sourceCode: string): void;
30
+ export {};
31
+ //# sourceMappingURL=statement-map-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statement-map-hash.d.ts","sourceRoot":"","sources":["../../src/helpers/statement-map-hash.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,UAAU,QAAQ;IAChB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgDD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC/C,UAAU,EAAE,MAAM,GACjB,IAAI,CA+BN"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enrichStatementMapWithHash = enrichStatementMapWithHash;
4
+ const hash_1 = require("./hash");
5
+ /**
6
+ * 根据位置信息从源码中提取代码片段
7
+ *
8
+ * @param sourceCode - 源代码内容
9
+ * @param start - 起始位置
10
+ * @param end - 结束位置
11
+ * @returns 提取的代码片段
12
+ */
13
+ function extractCodeSnippet(sourceCode, start, end) {
14
+ const lines = sourceCode.split('\n');
15
+ // 行号从 1 开始,数组索引从 0 开始
16
+ const startLineIndex = start.line - 1;
17
+ const endLineIndex = end.line - 1;
18
+ if (startLineIndex < 0 || endLineIndex >= lines.length) {
19
+ return '';
20
+ }
21
+ // 如果是同一行
22
+ if (startLineIndex === endLineIndex) {
23
+ const line = lines[startLineIndex];
24
+ if (!line) {
25
+ return '';
26
+ }
27
+ return line.slice(start.column, end.column);
28
+ }
29
+ // 跨多行的情况
30
+ const startLine = lines[startLineIndex];
31
+ const endLine = lines[endLineIndex];
32
+ if (!startLine || !endLine) {
33
+ return '';
34
+ }
35
+ const firstLinePart = startLine.slice(start.column);
36
+ const middleLines = lines.slice(startLineIndex + 1, endLineIndex);
37
+ const lastLinePart = endLine.slice(0, end.column);
38
+ return [firstLinePart, ...middleLines, lastLinePart].join('\n');
39
+ }
40
+ /**
41
+ * 为 statementMap 中的每个条目添加 contentHash 字段
42
+ * 基于位置信息提取源码片段并计算 hash
43
+ *
44
+ * @param statementMap - StatementMap 对象
45
+ * @param sourceCode - 源代码内容
46
+ */
47
+ function enrichStatementMapWithHash(statementMap, sourceCode) {
48
+ if (!statementMap || typeof statementMap !== 'object') {
49
+ return;
50
+ }
51
+ Object.keys(statementMap).forEach((key) => {
52
+ const entry = statementMap[key];
53
+ if (entry &&
54
+ typeof entry === 'object' &&
55
+ entry.start &&
56
+ entry.end &&
57
+ typeof entry.start.line === 'number' &&
58
+ typeof entry.start.column === 'number' &&
59
+ typeof entry.end.line === 'number' &&
60
+ typeof entry.end.column === 'number') {
61
+ try {
62
+ const codeSnippet = extractCodeSnippet(sourceCode, entry.start, entry.end);
63
+ if (codeSnippet) {
64
+ entry.contentHash = (0, hash_1.computeHash)(codeSnippet);
65
+ }
66
+ }
67
+ catch (_error) {
68
+ // 忽略提取失败,保持现有行为
69
+ }
70
+ }
71
+ });
72
+ }
73
+ //# sourceMappingURL=statement-map-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statement-map-hash.js","sourceRoot":"","sources":["../../src/helpers/statement-map-hash.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AAyBrC;;;;;;;GAOG;AACH,SAAS,kBAAkB,CACzB,UAAkB,EAClB,KAAwB,EACxB,GAAoB,EACZ;IACR,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,gDAAsB;IACtB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAElC,IAAI,cAAc,GAAG,CAAC,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qBAAS;IACT,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,qBAAS;IACT,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAElD,OAAO,CAAC,aAAa,EAAE,GAAG,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAAA,CACjE;AAED;;;;;;GAMG;AACH,oCACE,YAA+C,EAC/C,UAAkB,EACZ;IACN,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,CAAC,KAAK;YACX,KAAK,CAAC,GAAG;YACT,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;YACpC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ;YACtC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ;YAClC,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,EACpC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,kBAAkB,CACpC,UAAU,EACV,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,GAAG,CACV,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAChB,KAAK,CAAC,WAAW,GAAG,IAAA,kBAAW,EAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,0CAAgB;YAClB,CAAC;QACH,CAAC;IAAA,CACF,CAAC,CAAC;AAAA,CACJ"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 覆盖率数据接口
3
+ */
4
+ export interface CoverageData {
5
+ path?: string;
6
+ statementMap?: Record<string, unknown>;
7
+ fnMap?: Record<string, unknown>;
8
+ branchMap?: Record<string, unknown>;
9
+ inputSourceMap?: unknown;
10
+ contentHash?: string;
11
+ [key: string]: unknown;
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/helpers/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/helpers/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"visitor-program-exit.d.ts","sourceRoot":"","sources":["../src/visitor-program-exit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD;;GAEG;AACH,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,wBAAwB;IAChC,oCAAoC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EACzC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GACxC,wBAAwB,CAiJ1B"}
1
+ {"version":3,"file":"visitor-program-exit.d.ts","sourceRoot":"","sources":["../src/visitor-program-exit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAO5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD;;GAEG;AACH,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,wBAAwB;IAChC,oCAAoC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EACzC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GACxC,wBAAwB,CAgQ1B"}
@@ -37,12 +37,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.visitorProgramExit = visitorProgramExit;
40
+ const console = __importStar(require("node:console"));
40
41
  const node_crypto_1 = require("node:crypto");
41
42
  const fs = __importStar(require("node:fs"));
42
43
  const path = __importStar(require("node:path"));
43
44
  const generator_1 = __importDefault(require("@babel/generator"));
44
45
  const generate_build_hash_1 = require("./helpers/generate-build-hash");
45
46
  const generate_initial_coverage_1 = require("./helpers/generate-initial-coverage");
47
+ const hash_1 = require("./helpers/hash");
48
+ const remap_coverage_1 = require("./helpers/remap-coverage");
49
+ const statement_map_hash_1 = require("./helpers/statement-map-hash");
46
50
  /**
47
51
  * Program 节点退出时的访问器函数
48
52
  * 用于处理覆盖率数据,添加元数据并生成初始覆盖率文件
@@ -55,6 +59,32 @@ const generate_initial_coverage_1 = require("./helpers/generate-initial-coverage
55
59
  function visitorProgramExit(api, programPath, config) {
56
60
  const sourceCode = (0, generator_1.default)(programPath.node).code;
57
61
  const initialCoverageData = (0, generate_initial_coverage_1.generateInitialCoverage)(sourceCode, config);
62
+ // 获取原始源码(用于 hash 计算)
63
+ // 优先使用 hub.file.code,如果没有则使用生成的代码
64
+ const hub = programPath.hub;
65
+ const originalCode = hub?.file?.code ?? sourceCode;
66
+ // 这部分代码未经过大规模测试验证,谨防异常错误
67
+ // 基于 statementMap 的位置信息,提取源码片段并写入 contentHash 字段
68
+ try {
69
+ if (initialCoverageData &&
70
+ initialCoverageData.statementMap &&
71
+ typeof initialCoverageData.statementMap === 'object') {
72
+ (0, statement_map_hash_1.enrichStatementMapWithHash)(initialCoverageData.statementMap, originalCode);
73
+ }
74
+ }
75
+ catch (_error) {
76
+ // 忽略提取失败,保持现有行为
77
+ }
78
+ // 基于文件内容计算 contentHash,并写入内存对象
79
+ try {
80
+ if (initialCoverageData && typeof initialCoverageData === 'object') {
81
+ const contentHash = (0, hash_1.computeHash)(originalCode);
82
+ initialCoverageData.contentHash = contentHash;
83
+ }
84
+ }
85
+ catch (_error) {
86
+ // 忽略
87
+ }
58
88
  // 尝试读取 source map 文件(如果 inputSourceMap 不存在)
59
89
  if (initialCoverageData && !initialCoverageData.inputSourceMap) {
60
90
  try {
@@ -98,6 +128,60 @@ function visitorProgramExit(api, programPath, config) {
98
128
  [initialCoverageData.path]: coverageDataWithMetadata,
99
129
  };
100
130
  fs.writeFileSync(outputFilePath, JSON.stringify(coverageDataObject, null, 2), 'utf-8');
131
+ // 如果有 sourceMap,需要对 remap 后的覆盖率数据做 hash 处理
132
+ if (initialCoverageData.inputSourceMap && initialCoverageData.path) {
133
+ // 使用 Promise 处理异步 remap 操作,不阻塞主流程
134
+ (0, remap_coverage_1.remapCoverageByOld)({
135
+ [initialCoverageData.path]: initialCoverageData,
136
+ })
137
+ .then((remappedCoverage) => {
138
+ if (Object.keys(remappedCoverage).length > 0) {
139
+ const originCodePath = Object.keys(remappedCoverage)[0];
140
+ if (!originCodePath) {
141
+ return;
142
+ }
143
+ // 检测源码文件是否存在
144
+ if (fs.existsSync(originCodePath)) {
145
+ // @ts-expect-error
146
+ const remappedCoverageEntry = remappedCoverage[originCodePath];
147
+ if (!remappedCoverageEntry) {
148
+ return;
149
+ }
150
+ const originCodeContent = fs.readFileSync(originCodePath, 'utf-8');
151
+ // 对 remap 后的覆盖率数据做 hash 处理(只对语句维度)
152
+ try {
153
+ if (remappedCoverageEntry.statementMap &&
154
+ typeof remappedCoverageEntry.statementMap === 'object') {
155
+ (0, statement_map_hash_1.enrichStatementMapWithHash)(remappedCoverageEntry.statementMap, originCodeContent);
156
+ }
157
+ }
158
+ catch (_error) {
159
+ // 忽略提取失败,保持现有行为
160
+ }
161
+ // 计算源码文件的 contentHash
162
+ const remappedContentHash = (0, hash_1.computeHash)(originCodeContent);
163
+ try {
164
+ if (typeof remappedCoverageEntry === 'object') {
165
+ remappedCoverageEntry.contentHash = remappedContentHash;
166
+ }
167
+ }
168
+ catch (_error) {
169
+ // 忽略
170
+ }
171
+ // 写入 remap 后的覆盖率文件
172
+ const remapRandomSuffix = (0, node_crypto_1.randomBytes)(16).toString('hex');
173
+ const remapOutputFilePath = `./.canyon_output/cov-final-remap-${remapRandomSuffix}.json`;
174
+ fs.writeFileSync(remapOutputFilePath, JSON.stringify({
175
+ [originCodePath]: remappedCoverageEntry,
176
+ }, null, 2), 'utf-8');
177
+ }
178
+ }
179
+ })
180
+ .catch((_error) => {
181
+ console.log(_error);
182
+ // 忽略 remap 失败,保持现有行为
183
+ });
184
+ }
101
185
  }
102
186
  }
103
187
  // 处理代码中的 coverageData 变量
@@ -1 +1 @@
1
- {"version":3,"file":"visitor-program-exit.js","sourceRoot":"","sources":["../src/visitor-program-exit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitor-program-exit.js","sourceRoot":"","sources":["../src/visitor-program-exit.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canyonjs/babel-plugin",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/index.js",
@@ -22,6 +22,8 @@
22
22
  "@babel/core": "^7.25.6",
23
23
  "@babel/helper-plugin-utils": "^7.0.0",
24
24
  "@babel/types": "^7.25.6",
25
+ "istanbul-lib-coverage": "^3.2.2",
26
+ "istanbul-lib-source-maps": "^4.0.1",
25
27
  "json-stable-stringify": "^1.3.0"
26
28
  },
27
29
  "scripts": {