1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const tslib_1 = require("tslib");
|
4 | const path_1 = tslib_1.__importDefault(require("path"));
|
5 | const stream_1 = tslib_1.__importDefault(require("stream"));
|
6 | const vinyl_1 = tslib_1.__importDefault(require("vinyl"));
|
7 | const pathUtils_1 = require("./pathUtils");
|
8 | function collectComponentSourceMaps() {
|
9 | const emitter = new stream_1.default.PassThrough({ objectMode: true });
|
10 | const collector = (componentType, componentPlatform) => new stream_1.default.Transform({
|
11 | objectMode: true,
|
12 | transform(file, _, next) {
|
13 | if (file.sourceMap) {
|
14 | const componentMapKey = [componentType];
|
15 | if (componentPlatform)
|
16 | componentMapKey.push(componentPlatform);
|
17 | componentMapKey.push(pathUtils_1.normalizeToPOSIX(file.relative));
|
18 | const mapPath = ['sourceMaps', ...componentMapKey].join('/') + '.map';
|
19 | emitter.push(new vinyl_1.default({
|
20 | componentMapKey,
|
21 | contents: Buffer.from(JSON.stringify(file.sourceMap, undefined, 2), 'utf8'),
|
22 | base: process.cwd(),
|
23 | path: path_1.default.resolve(process.cwd(), mapPath),
|
24 | }));
|
25 | }
|
26 | next(undefined, file);
|
27 | },
|
28 | });
|
29 | return {
|
30 | collector,
|
31 | emitter,
|
32 | };
|
33 | }
|
34 | exports.default = collectComponentSourceMaps;
|