@decohere/forge 0.0.1-dev.5
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.
- package/commonjs/src/actions/build.action.js +108 -0
- package/commonjs/src/actions/clean.action.js +55 -0
- package/commonjs/src/actions/commit.action.js +80 -0
- package/commonjs/src/actions/copy.action.js +83 -0
- package/commonjs/src/actions/dependency-report.action.js +142 -0
- package/commonjs/src/actions/dependency-sync.action.js +100 -0
- package/commonjs/src/actions/index.js +30 -0
- package/commonjs/src/actions/publish.action.js +156 -0
- package/commonjs/src/actions/sync-lock-file.action.js +43 -0
- package/commonjs/src/actions/tag.action.js +76 -0
- package/commonjs/src/actions/version.action.js +209 -0
- package/commonjs/src/actions/watch.action.js +50 -0
- package/commonjs/src/commands/build.command.js +49 -0
- package/commonjs/src/commands/dependency.command.js +88 -0
- package/commonjs/src/commands/forge.command.js +24 -0
- package/commonjs/src/commands/index.js +25 -0
- package/commonjs/src/commands/publish.command.js +32 -0
- package/commonjs/src/commands/tag.command.js +28 -0
- package/commonjs/src/commands/version.command.js +36 -0
- package/commonjs/src/const.js +81 -0
- package/commonjs/src/errors.js +39 -0
- package/commonjs/src/extensions/project.extensions.js +66 -0
- package/commonjs/src/factories/swc-config.factory.js +98 -0
- package/commonjs/src/forge.module.js +109 -0
- package/commonjs/src/index.js +22 -0
- package/commonjs/src/mixins/caches-outputs.mixin.js +42 -0
- package/commonjs/src/mixins/incremental-transform.mixin.js +36 -0
- package/commonjs/src/services/dependency-resolver.service.js +172 -0
- package/commonjs/src/services/file-writer.service.js +232 -0
- package/commonjs/src/services/swc-transpiler.js +176 -0
- package/commonjs/src/services/ts-program-host.js +135 -0
- package/commonjs/src/services/type-emission-program.js +160 -0
- package/commonjs/src/services/type-emitter.js +141 -0
- package/commonjs/src/types/build-target.type.js +17 -0
- package/commonjs/src/types/configuration.type.js +6 -0
- package/commonjs/src/types/dependency.types.js +6 -0
- package/commonjs/src/types/swc-config.type.js +17 -0
- package/commonjs/src/types/transform-response.model.js +64 -0
- package/commonjs/src/types/transformer.type.js +13 -0
- package/commonjs/src/types/workspace-config.type.js +6 -0
- package/commonjs/src/vitest/forge-build.plugin.js +129 -0
- package/commonjs/src/vitest/index.js +13 -0
- package/commonjs/src/workspace.config.js +73 -0
- package/es6/src/actions/build.action.js +100 -0
- package/es6/src/actions/clean.action.js +46 -0
- package/es6/src/actions/commit.action.js +71 -0
- package/es6/src/actions/copy.action.js +69 -0
- package/es6/src/actions/dependency-report.action.js +134 -0
- package/es6/src/actions/dependency-sync.action.js +92 -0
- package/es6/src/actions/index.js +13 -0
- package/es6/src/actions/publish.action.js +147 -0
- package/es6/src/actions/sync-lock-file.action.js +33 -0
- package/es6/src/actions/tag.action.js +67 -0
- package/es6/src/actions/version.action.js +189 -0
- package/es6/src/actions/watch.action.js +41 -0
- package/es6/src/commands/build.command.js +34 -0
- package/es6/src/commands/dependency.command.js +78 -0
- package/es6/src/commands/forge.command.js +14 -0
- package/es6/src/commands/index.js +8 -0
- package/es6/src/commands/publish.command.js +22 -0
- package/es6/src/commands/tag.command.js +18 -0
- package/es6/src/commands/version.command.js +26 -0
- package/es6/src/const.js +60 -0
- package/es6/src/errors.js +18 -0
- package/es6/src/extensions/project.extensions.js +51 -0
- package/es6/src/factories/swc-config.factory.js +83 -0
- package/es6/src/forge.module.js +58 -0
- package/es6/src/index.js +4 -0
- package/es6/src/mixins/caches-outputs.mixin.js +32 -0
- package/es6/src/mixins/incremental-transform.mixin.js +26 -0
- package/es6/src/services/dependency-resolver.service.js +162 -0
- package/es6/src/services/file-writer.service.js +217 -0
- package/es6/src/services/swc-transpiler.js +161 -0
- package/es6/src/services/ts-program-host.js +120 -0
- package/es6/src/services/type-emission-program.js +145 -0
- package/es6/src/services/type-emitter.js +134 -0
- package/es6/src/types/build-target.type.js +7 -0
- package/es6/src/types/configuration.type.js +3 -0
- package/es6/src/types/dependency.types.js +3 -0
- package/es6/src/types/swc-config.type.js +7 -0
- package/es6/src/types/transform-response.model.js +46 -0
- package/es6/src/types/transformer.type.js +3 -0
- package/es6/src/types/workspace-config.type.js +3 -0
- package/es6/src/vitest/forge-build.plugin.js +114 -0
- package/es6/src/vitest/index.js +3 -0
- package/es6/src/workspace.config.js +49 -0
- package/package.json +43 -0
- package/types/src/actions/build.action.d.ts +22 -0
- package/types/src/actions/clean.action.d.ts +13 -0
- package/types/src/actions/commit.action.d.ts +17 -0
- package/types/src/actions/copy.action.d.ts +14 -0
- package/types/src/actions/dependency-report.action.d.ts +36 -0
- package/types/src/actions/dependency-sync.action.d.ts +17 -0
- package/types/src/actions/index.d.ts +11 -0
- package/types/src/actions/publish.action.d.ts +34 -0
- package/types/src/actions/sync-lock-file.action.d.ts +10 -0
- package/types/src/actions/tag.action.d.ts +19 -0
- package/types/src/actions/version.action.d.ts +35 -0
- package/types/src/actions/watch.action.d.ts +14 -0
- package/types/src/commands/build.command.d.ts +16 -0
- package/types/src/commands/dependency.command.d.ts +5 -0
- package/types/src/commands/forge.command.d.ts +6 -0
- package/types/src/commands/index.d.ts +6 -0
- package/types/src/commands/publish.command.d.ts +6 -0
- package/types/src/commands/tag.command.d.ts +6 -0
- package/types/src/commands/version.command.d.ts +12 -0
- package/types/src/const.d.ts +3 -0
- package/types/src/errors.d.ts +4 -0
- package/types/src/extensions/project.extensions.d.ts +13 -0
- package/types/src/factories/swc-config.factory.d.ts +24 -0
- package/types/src/forge.module.d.ts +31 -0
- package/types/src/index.d.ts +4 -0
- package/types/src/mixins/caches-outputs.mixin.d.ts +7 -0
- package/types/src/mixins/incremental-transform.mixin.d.ts +13 -0
- package/types/src/services/dependency-resolver.service.d.ts +15 -0
- package/types/src/services/file-writer.service.d.ts +20 -0
- package/types/src/services/swc-transpiler.d.ts +28 -0
- package/types/src/services/ts-program-host.d.ts +22 -0
- package/types/src/services/type-emission-program.d.ts +22 -0
- package/types/src/services/type-emitter.d.ts +43 -0
- package/types/src/types/build-target.type.d.ts +7 -0
- package/types/src/types/configuration.type.d.ts +6 -0
- package/types/src/types/dependency.types.d.ts +39 -0
- package/types/src/types/swc-config.type.d.ts +9 -0
- package/types/src/types/transform-response.model.d.ts +54 -0
- package/types/src/types/transformer.type.d.ts +37 -0
- package/types/src/types/workspace-config.type.d.ts +13 -0
- package/types/src/vitest/forge-build.plugin.d.ts +18 -0
- package/types/src/vitest/index.d.ts +2 -0
- package/types/src/workspace.config.d.ts +6 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "TypeEmissionProgram", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return TypeEmissionProgram;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
12
|
+
const _diagnostics = require("@decohere/nexus/diagnostics");
|
|
13
|
+
const _transformresponsemodel = require("../types/transform-response.model.js");
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
20
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
21
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
22
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
23
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
24
|
+
}
|
|
25
|
+
function _ts_metadata(k, v) {
|
|
26
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
27
|
+
}
|
|
28
|
+
class TypeEmissionProgram {
|
|
29
|
+
#program;
|
|
30
|
+
#group;
|
|
31
|
+
#targetsByDtsPath;
|
|
32
|
+
#targetsByEmittedPath;
|
|
33
|
+
#host;
|
|
34
|
+
#compilerHost;
|
|
35
|
+
#allFiles;
|
|
36
|
+
#compilerOptions;
|
|
37
|
+
constructor(group, hostFactory){
|
|
38
|
+
this.#group = group;
|
|
39
|
+
const targets = this.buildTargetMaps(group);
|
|
40
|
+
this.#targetsByDtsPath = targets.byDtsPath;
|
|
41
|
+
this.#targetsByEmittedPath = targets.byEmittedPath;
|
|
42
|
+
this.#host = hostFactory;
|
|
43
|
+
this.#compilerOptions = group[0].tsconfig.compilerOptions;
|
|
44
|
+
this.#allFiles = group.flatMap(({ files })=>files);
|
|
45
|
+
this.#compilerHost = hostFactory.createHost(this.#compilerOptions);
|
|
46
|
+
this.#program = hostFactory.createProgram(this.#allFiles, this.#compilerOptions, this.#compilerHost);
|
|
47
|
+
}
|
|
48
|
+
toEmissionTarget(groupProject, file, outBaseDir) {
|
|
49
|
+
const extName = _nodepath.default.extname(file.relativePath);
|
|
50
|
+
const dtsRelative = file.relativePath.replace(new RegExp(`${extName}$`), ".d.ts");
|
|
51
|
+
const outputPath = _nodepath.default.join(outBaseDir, dtsRelative);
|
|
52
|
+
return {
|
|
53
|
+
file,
|
|
54
|
+
tsconfig: groupProject.tsconfig,
|
|
55
|
+
project: groupProject.project,
|
|
56
|
+
outputPath,
|
|
57
|
+
outputDir: _nodepath.default.dirname(outputPath),
|
|
58
|
+
dtsRelative
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
emittedKey(file) {
|
|
62
|
+
return file.fullPath.replace(/\.[^.]+$/, ".d.ts");
|
|
63
|
+
}
|
|
64
|
+
buildTargetMaps(group) {
|
|
65
|
+
const byDtsPath = new Map();
|
|
66
|
+
const byEmittedPath = new Map();
|
|
67
|
+
for (const groupProject of group){
|
|
68
|
+
const outBaseDir = groupProject.project.getOutDir("types");
|
|
69
|
+
for (const file of groupProject.files){
|
|
70
|
+
const target = this.toEmissionTarget(groupProject, file, outBaseDir);
|
|
71
|
+
byDtsPath.set(target.dtsRelative, target);
|
|
72
|
+
byEmittedPath.set(this.emittedKey(file), target);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
byDtsPath,
|
|
77
|
+
byEmittedPath
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
addFile(file, project) {
|
|
81
|
+
const groupProject = this.#group.find((g)=>g.project === project);
|
|
82
|
+
if (groupProject == null) return;
|
|
83
|
+
groupProject.files.push(file);
|
|
84
|
+
this.#allFiles.push(file);
|
|
85
|
+
const outBaseDir = groupProject.project.getOutDir("types");
|
|
86
|
+
const target = this.toEmissionTarget(groupProject, file, outBaseDir);
|
|
87
|
+
this.#targetsByDtsPath.set(target.dtsRelative, target);
|
|
88
|
+
this.#targetsByEmittedPath.set(this.emittedKey(file), target);
|
|
89
|
+
this.#host.invalidateSourceFile(file.fullPath);
|
|
90
|
+
}
|
|
91
|
+
async emit(fileFilter, onOutput) {
|
|
92
|
+
if (this.#host.hasInvalidated()) {
|
|
93
|
+
this.#program = this.#host.createProgram(this.#allFiles, this.#compilerOptions, this.#compilerHost, this.#program);
|
|
94
|
+
}
|
|
95
|
+
if (fileFilter == null) {
|
|
96
|
+
return this.emitAll(onOutput);
|
|
97
|
+
}
|
|
98
|
+
return this.emitFiltered(fileFilter, onOutput);
|
|
99
|
+
}
|
|
100
|
+
emitAll(onOutput) {
|
|
101
|
+
const responses = [];
|
|
102
|
+
this.#program.emit(undefined, (emittedPath, content)=>{
|
|
103
|
+
if (!emittedPath.endsWith(".d.ts")) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const response = this.toTransformResponse(emittedPath, content);
|
|
107
|
+
responses.push(response);
|
|
108
|
+
onOutput?.(response);
|
|
109
|
+
});
|
|
110
|
+
return responses;
|
|
111
|
+
}
|
|
112
|
+
async emitFiltered(fileFilter, onOutput) {
|
|
113
|
+
const files = await Promise.all(this.#group.map(({ project })=>fileFilter(project)));
|
|
114
|
+
const sourceFiles = files.flat().map((file)=>this.#program.getSourceFile(file.fullPath)).filter((sf)=>sf != null);
|
|
115
|
+
const responses = [];
|
|
116
|
+
for (const sourceFile of sourceFiles){
|
|
117
|
+
this.#program.emit(sourceFile, (emittedPath, content)=>{
|
|
118
|
+
if (!emittedPath.endsWith(".d.ts")) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const response = this.toTransformResponse(emittedPath, content);
|
|
122
|
+
responses.push(response);
|
|
123
|
+
onOutput?.(response);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return responses;
|
|
127
|
+
}
|
|
128
|
+
toTransformResponse(emittedPath, content) {
|
|
129
|
+
const target = this.#targetsByEmittedPath.get(emittedPath);
|
|
130
|
+
if (target == null) {
|
|
131
|
+
throw new Error(`No matching emission target for: ${emittedPath}`);
|
|
132
|
+
}
|
|
133
|
+
return this.toTransformResponseFromTarget(target, content);
|
|
134
|
+
}
|
|
135
|
+
toTransformResponseFromTarget(target, content) {
|
|
136
|
+
const { file, tsconfig, project, outputPath, outputDir, dtsRelative } = target;
|
|
137
|
+
return _transformresponsemodel.TransformResponse.from({
|
|
138
|
+
file,
|
|
139
|
+
config: tsconfig,
|
|
140
|
+
outcome: "success",
|
|
141
|
+
fileName: dtsRelative,
|
|
142
|
+
code: content,
|
|
143
|
+
target: "types",
|
|
144
|
+
messages: [],
|
|
145
|
+
project,
|
|
146
|
+
outputDir,
|
|
147
|
+
outputPath
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
TypeEmissionProgram = _ts_decorate([
|
|
152
|
+
_diagnostics.Trace,
|
|
153
|
+
_ts_metadata("design:type", Function),
|
|
154
|
+
_ts_metadata("design:paramtypes", [
|
|
155
|
+
Array,
|
|
156
|
+
typeof TsProgramHost === "undefined" ? Object : TsProgramHost
|
|
157
|
+
])
|
|
158
|
+
], TypeEmissionProgram);
|
|
159
|
+
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3NlcnZpY2VzL3R5cGUtZW1pc3Npb24tcHJvZ3JhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QsIFRzY29uZmlnIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZGlhZ25vc3RpY3NcIjtcbmltcG9ydCB0eXBlIHsgRmlsZUV4IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHR5cGUgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcbmltcG9ydCB0eXBlIHsgVHNQcm9ncmFtSG9zdCB9IGZyb20gXCIuLi9zZXJ2aWNlcy90cy1wcm9ncmFtLWhvc3QuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuXG5leHBvcnQgdHlwZSBUeXBlUHJvZ3JhbVByb2plY3QgPSB7XG5cdHByb2plY3Q6IFByb2plY3Q7XG5cdGZpbGVzOiBGaWxlRXhbXTtcblx0dHNjb25maWc6IFRzY29uZmlnO1xufTtcblxudHlwZSBFbWlzc2lvblRhcmdldCA9IHtcblx0ZmlsZTogRmlsZUV4O1xuXHR0c2NvbmZpZzogVHNjb25maWc7XG5cdHByb2plY3Q6IFByb2plY3Q7XG5cdG91dHB1dFBhdGg6IHN0cmluZztcblx0b3V0cHV0RGlyOiBzdHJpbmc7XG5cdGR0c1JlbGF0aXZlOiBzdHJpbmc7XG59O1xuXG5AVHJhY2VcbmV4cG9ydCBjbGFzcyBUeXBlRW1pc3Npb25Qcm9ncmFtIHtcblx0I3Byb2dyYW06IHRzLlByb2dyYW07XG5cdCNncm91cDogVHlwZVByb2dyYW1Qcm9qZWN0W107XG5cdCN0YXJnZXRzQnlEdHNQYXRoOiBNYXA8c3RyaW5nLCBFbWlzc2lvblRhcmdldD47XG5cdCN0YXJnZXRzQnlFbWl0dGVkUGF0aDogTWFwPHN0cmluZywgRW1pc3Npb25UYXJnZXQ+O1xuXHQjaG9zdDogVHNQcm9ncmFtSG9zdDtcblx0I2NvbXBpbGVySG9zdDogdHMuQ29tcGlsZXJIb3N0O1xuXHQjYWxsRmlsZXM6IEZpbGVFeFtdO1xuXHQjY29tcGlsZXJPcHRpb25zOiB0cy5Db21waWxlck9wdGlvbnM7XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKGdyb3VwOiBUeXBlUHJvZ3JhbVByb2plY3RbXSwgaG9zdEZhY3Rvcnk6IFRzUHJvZ3JhbUhvc3QpIHtcblx0XHR0aGlzLiNncm91cCA9IGdyb3VwO1xuXHRcdGNvbnN0IHRhcmdldHMgPSB0aGlzLmJ1aWxkVGFyZ2V0TWFwcyhncm91cCk7XG5cdFx0dGhpcy4jdGFyZ2V0c0J5RHRzUGF0aCA9IHRhcmdldHMuYnlEdHNQYXRoO1xuXHRcdHRoaXMuI3RhcmdldHNCeUVtaXR0ZWRQYXRoID0gdGFyZ2V0cy5ieUVtaXR0ZWRQYXRoO1xuXHRcdHRoaXMuI2hvc3QgPSBob3N0RmFjdG9yeTtcblx0XHR0aGlzLiNjb21waWxlck9wdGlvbnMgPSBncm91cFswXS50c2NvbmZpZy5jb21waWxlck9wdGlvbnM7XG5cdFx0dGhpcy4jYWxsRmlsZXMgPSBncm91cC5mbGF0TWFwKCh7IGZpbGVzIH0pID0+IGZpbGVzKTtcblx0XHR0aGlzLiNjb21waWxlckhvc3QgPSBob3N0RmFjdG9yeS5jcmVhdGVIb3N0KHRoaXMuI2NvbXBpbGVyT3B0aW9ucyk7XG5cdFx0dGhpcy4jcHJvZ3JhbSA9IGhvc3RGYWN0b3J5LmNyZWF0ZVByb2dyYW0oXG5cdFx0XHR0aGlzLiNhbGxGaWxlcyxcblx0XHRcdHRoaXMuI2NvbXBpbGVyT3B0aW9ucyxcblx0XHRcdHRoaXMuI2NvbXBpbGVySG9zdCxcblx0XHQpO1xuXHR9XG5cblx0cHJpdmF0ZSB0b0VtaXNzaW9uVGFyZ2V0KFxuXHRcdGdyb3VwUHJvamVjdDogVHlwZVByb2dyYW1Qcm9qZWN0LFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHRvdXRCYXNlRGlyOiBzdHJpbmcsXG5cdCk6IEVtaXNzaW9uVGFyZ2V0IHtcblx0XHRjb25zdCBleHROYW1lID0gcGF0aC5leHRuYW1lKGZpbGUucmVsYXRpdmVQYXRoKTtcblx0XHRjb25zdCBkdHNSZWxhdGl2ZSA9IGZpbGUucmVsYXRpdmVQYXRoLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtleHROYW1lfSRgKSwgXCIuZC50c1wiKTtcblx0XHRjb25zdCBvdXRwdXRQYXRoID0gcGF0aC5qb2luKG91dEJhc2VEaXIsIGR0c1JlbGF0aXZlKTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0ZmlsZSxcblx0XHRcdHRzY29uZmlnOiBncm91cFByb2plY3QudHNjb25maWcsXG5cdFx0XHRwcm9qZWN0OiBncm91cFByb2plY3QucHJvamVjdCxcblx0XHRcdG91dHB1dFBhdGgsXG5cdFx0XHRvdXRwdXREaXI6IHBhdGguZGlybmFtZShvdXRwdXRQYXRoKSxcblx0XHRcdGR0c1JlbGF0aXZlLFxuXHRcdH07XG5cdH1cblxuXHRwcml2YXRlIGVtaXR0ZWRLZXkoZmlsZTogRmlsZUV4KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gZmlsZS5mdWxsUGF0aC5yZXBsYWNlKC9cXC5bXi5dKyQvLCBcIi5kLnRzXCIpO1xuXHR9XG5cblx0cHJpdmF0ZSBidWlsZFRhcmdldE1hcHMoZ3JvdXA6IFR5cGVQcm9ncmFtUHJvamVjdFtdKToge1xuXHRcdGJ5RHRzUGF0aDogTWFwPHN0cmluZywgRW1pc3Npb25UYXJnZXQ+O1xuXHRcdGJ5RW1pdHRlZFBhdGg6IE1hcDxzdHJpbmcsIEVtaXNzaW9uVGFyZ2V0Pjtcblx0fSB7XG5cdFx0Y29uc3QgYnlEdHNQYXRoID0gbmV3IE1hcDxzdHJpbmcsIEVtaXNzaW9uVGFyZ2V0PigpO1xuXHRcdGNvbnN0IGJ5RW1pdHRlZFBhdGggPSBuZXcgTWFwPHN0cmluZywgRW1pc3Npb25UYXJnZXQ+KCk7XG5cblx0XHRmb3IgKGNvbnN0IGdyb3VwUHJvamVjdCBvZiBncm91cCkge1xuXHRcdFx0Y29uc3Qgb3V0QmFzZURpciA9IGdyb3VwUHJvamVjdC5wcm9qZWN0LmdldE91dERpcihcInR5cGVzXCIpO1xuXHRcdFx0Zm9yIChjb25zdCBmaWxlIG9mIGdyb3VwUHJvamVjdC5maWxlcykge1xuXHRcdFx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLnRvRW1pc3Npb25UYXJnZXQoZ3JvdXBQcm9qZWN0LCBmaWxlLCBvdXRCYXNlRGlyKTtcblx0XHRcdFx0YnlEdHNQYXRoLnNldCh0YXJnZXQuZHRzUmVsYXRpdmUsIHRhcmdldCk7XG5cdFx0XHRcdGJ5RW1pdHRlZFBhdGguc2V0KHRoaXMuZW1pdHRlZEtleShmaWxlKSwgdGFyZ2V0KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4geyBieUR0c1BhdGgsIGJ5RW1pdHRlZFBhdGggfTtcblx0fVxuXG5cdHB1YmxpYyBhZGRGaWxlKGZpbGU6IEZpbGVFeCwgcHJvamVjdDogUHJvamVjdCk6IHZvaWQge1xuXHRcdGNvbnN0IGdyb3VwUHJvamVjdCA9IHRoaXMuI2dyb3VwLmZpbmQoKGcpID0+IGcucHJvamVjdCA9PT0gcHJvamVjdCk7XG5cdFx0aWYgKGdyb3VwUHJvamVjdCA9PSBudWxsKSByZXR1cm47XG5cblx0XHRncm91cFByb2plY3QuZmlsZXMucHVzaChmaWxlKTtcblx0XHR0aGlzLiNhbGxGaWxlcy5wdXNoKGZpbGUpO1xuXG5cdFx0Y29uc3Qgb3V0QmFzZURpciA9IGdyb3VwUHJvamVjdC5wcm9qZWN0LmdldE91dERpcihcInR5cGVzXCIpO1xuXHRcdGNvbnN0IHRhcmdldCA9IHRoaXMudG9FbWlzc2lvblRhcmdldChncm91cFByb2plY3QsIGZpbGUsIG91dEJhc2VEaXIpO1xuXHRcdHRoaXMuI3RhcmdldHNCeUR0c1BhdGguc2V0KHRhcmdldC5kdHNSZWxhdGl2ZSwgdGFyZ2V0KTtcblx0XHR0aGlzLiN0YXJnZXRzQnlFbWl0dGVkUGF0aC5zZXQodGhpcy5lbWl0dGVkS2V5KGZpbGUpLCB0YXJnZXQpO1xuXHRcdHRoaXMuI2hvc3QuaW52YWxpZGF0ZVNvdXJjZUZpbGUoZmlsZS5mdWxsUGF0aCk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgZW1pdChcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0aWYgKHRoaXMuI2hvc3QuaGFzSW52YWxpZGF0ZWQoKSkge1xuXHRcdFx0dGhpcy4jcHJvZ3JhbSA9IHRoaXMuI2hvc3QuY3JlYXRlUHJvZ3JhbShcblx0XHRcdFx0dGhpcy4jYWxsRmlsZXMsXG5cdFx0XHRcdHRoaXMuI2NvbXBpbGVyT3B0aW9ucyxcblx0XHRcdFx0dGhpcy4jY29tcGlsZXJIb3N0LFxuXHRcdFx0XHR0aGlzLiNwcm9ncmFtLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0aWYgKGZpbGVGaWx0ZXIgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZW1pdEFsbChvbk91dHB1dCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmVtaXRGaWx0ZXJlZChmaWxlRmlsdGVyLCBvbk91dHB1dCk7XG5cdH1cblxuXHRwcml2YXRlIGVtaXRBbGwob25PdXRwdXQ/OiAocmVzcG9uc2U6IFRyYW5zZm9ybVJlc3BvbnNlKSA9PiB2b2lkKTogVHJhbnNmb3JtUmVzcG9uc2VbXSB7XG5cdFx0Y29uc3QgcmVzcG9uc2VzOiBUcmFuc2Zvcm1SZXNwb25zZVtdID0gW107XG5cdFx0dGhpcy4jcHJvZ3JhbS5lbWl0KHVuZGVmaW5lZCwgKGVtaXR0ZWRQYXRoLCBjb250ZW50KSA9PiB7XG5cdFx0XHRpZiAoIWVtaXR0ZWRQYXRoLmVuZHNXaXRoKFwiLmQudHNcIikpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgcmVzcG9uc2UgPSB0aGlzLnRvVHJhbnNmb3JtUmVzcG9uc2UoZW1pdHRlZFBhdGgsIGNvbnRlbnQpO1xuXHRcdFx0cmVzcG9uc2VzLnB1c2gocmVzcG9uc2UpO1xuXHRcdFx0b25PdXRwdXQ/LihyZXNwb25zZSk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHJlc3BvbnNlcztcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgZW1pdEZpbHRlcmVkKFxuXHRcdGZpbGVGaWx0ZXI6IChwcm9qZWN0OiBQcm9qZWN0KSA9PiBQcm9taXNlPEZpbGVFeFtdPixcblx0XHRvbk91dHB1dD86IChyZXNwb25zZTogVHJhbnNmb3JtUmVzcG9uc2UpID0+IHZvaWQsXG5cdCk6IFByb21pc2U8VHJhbnNmb3JtUmVzcG9uc2VbXT4ge1xuXHRcdGNvbnN0IGZpbGVzID0gYXdhaXQgUHJvbWlzZS5hbGwodGhpcy4jZ3JvdXAubWFwKCh7IHByb2plY3QgfSkgPT4gZmlsZUZpbHRlcihwcm9qZWN0KSkpO1xuXHRcdGNvbnN0IHNvdXJjZUZpbGVzID0gZmlsZXNcblx0XHRcdC5mbGF0KClcblx0XHRcdC5tYXAoKGZpbGUpID0+IHRoaXMuI3Byb2dyYW0uZ2V0U291cmNlRmlsZShmaWxlLmZ1bGxQYXRoKSlcblx0XHRcdC5maWx0ZXIoKHNmKTogc2YgaXMgdHMuU291cmNlRmlsZSA9PiBzZiAhPSBudWxsKTtcblxuXHRcdGNvbnN0IHJlc3BvbnNlczogVHJhbnNmb3JtUmVzcG9uc2VbXSA9IFtdO1xuXG5cdFx0Zm9yIChjb25zdCBzb3VyY2VGaWxlIG9mIHNvdXJjZUZpbGVzKSB7XG5cdFx0XHR0aGlzLiNwcm9ncmFtLmVtaXQoc291cmNlRmlsZSwgKGVtaXR0ZWRQYXRoLCBjb250ZW50KSA9PiB7XG5cdFx0XHRcdGlmICghZW1pdHRlZFBhdGguZW5kc1dpdGgoXCIuZC50c1wiKSkge1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCByZXNwb25zZSA9IHRoaXMudG9UcmFuc2Zvcm1SZXNwb25zZShlbWl0dGVkUGF0aCwgY29udGVudCk7XG5cdFx0XHRcdHJlc3BvbnNlcy5wdXNoKHJlc3BvbnNlKTtcblx0XHRcdFx0b25PdXRwdXQ/LihyZXNwb25zZSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzcG9uc2VzO1xuXHR9XG5cblx0cHJpdmF0ZSB0b1RyYW5zZm9ybVJlc3BvbnNlKGVtaXR0ZWRQYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyk6IFRyYW5zZm9ybVJlc3BvbnNlIHtcblx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLiN0YXJnZXRzQnlFbWl0dGVkUGF0aC5nZXQoZW1pdHRlZFBhdGgpO1xuXHRcdGlmICh0YXJnZXQgPT0gbnVsbCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBObyBtYXRjaGluZyBlbWlzc2lvbiB0YXJnZXQgZm9yOiAke2VtaXR0ZWRQYXRofWApO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy50b1RyYW5zZm9ybVJlc3BvbnNlRnJvbVRhcmdldCh0YXJnZXQsIGNvbnRlbnQpO1xuXHR9XG5cblx0cHJpdmF0ZSB0b1RyYW5zZm9ybVJlc3BvbnNlRnJvbVRhcmdldChcblx0XHR0YXJnZXQ6IEVtaXNzaW9uVGFyZ2V0LFxuXHRcdGNvbnRlbnQ6IHN0cmluZyxcblx0KTogVHJhbnNmb3JtUmVzcG9uc2Uge1xuXHRcdGNvbnN0IHsgZmlsZSwgdHNjb25maWcsIHByb2plY3QsIG91dHB1dFBhdGgsIG91dHB1dERpciwgZHRzUmVsYXRpdmUgfSA9IHRhcmdldDtcblx0XHRyZXR1cm4gVHJhbnNmb3JtUmVzcG9uc2UuZnJvbSh7XG5cdFx0XHRmaWxlLFxuXHRcdFx0Y29uZmlnOiB0c2NvbmZpZyxcblx0XHRcdG91dGNvbWU6IFwic3VjY2Vzc1wiLFxuXHRcdFx0ZmlsZU5hbWU6IGR0c1JlbGF0aXZlLFxuXHRcdFx0Y29kZTogY29udGVudCxcblx0XHRcdHRhcmdldDogXCJ0eXBlc1wiLFxuXHRcdFx0bWVzc2FnZXM6IFtdLFxuXHRcdFx0cHJvamVjdCxcblx0XHRcdG91dHB1dERpcixcblx0XHRcdG91dHB1dFBhdGgsXG5cdFx0fSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJUeXBlRW1pc3Npb25Qcm9ncmFtIiwiZ3JvdXAiLCJob3N0RmFjdG9yeSIsInRhcmdldHMiLCJidWlsZFRhcmdldE1hcHMiLCJieUR0c1BhdGgiLCJieUVtaXR0ZWRQYXRoIiwidHNjb25maWciLCJjb21waWxlck9wdGlvbnMiLCJmbGF0TWFwIiwiZmlsZXMiLCJjcmVhdGVIb3N0IiwiY3JlYXRlUHJvZ3JhbSIsInRvRW1pc3Npb25UYXJnZXQiLCJncm91cFByb2plY3QiLCJmaWxlIiwib3V0QmFzZURpciIsImV4dE5hbWUiLCJwYXRoIiwiZXh0bmFtZSIsInJlbGF0aXZlUGF0aCIsImR0c1JlbGF0aXZlIiwicmVwbGFjZSIsIlJlZ0V4cCIsIm91dHB1dFBhdGgiLCJqb2luIiwicHJvamVjdCIsIm91dHB1dERpciIsImRpcm5hbWUiLCJlbWl0dGVkS2V5IiwiZnVsbFBhdGgiLCJNYXAiLCJnZXRPdXREaXIiLCJ0YXJnZXQiLCJzZXQiLCJhZGRGaWxlIiwiZmluZCIsImciLCJwdXNoIiwiaW52YWxpZGF0ZVNvdXJjZUZpbGUiLCJlbWl0IiwiZmlsZUZpbHRlciIsIm9uT3V0cHV0IiwiaGFzSW52YWxpZGF0ZWQiLCJlbWl0QWxsIiwiZW1pdEZpbHRlcmVkIiwicmVzcG9uc2VzIiwidW5kZWZpbmVkIiwiZW1pdHRlZFBhdGgiLCJjb250ZW50IiwiZW5kc1dpdGgiLCJyZXNwb25zZSIsInRvVHJhbnNmb3JtUmVzcG9uc2UiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwic291cmNlRmlsZXMiLCJmbGF0IiwiZ2V0U291cmNlRmlsZSIsImZpbHRlciIsInNmIiwic291cmNlRmlsZSIsImdldCIsIkVycm9yIiwidG9UcmFuc2Zvcm1SZXNwb25zZUZyb21UYXJnZXQiLCJUcmFuc2Zvcm1SZXNwb25zZSIsImZyb20iLCJjb25maWciLCJvdXRjb21lIiwiZmlsZU5hbWUiLCJjb2RlIiwibWVzc2FnZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBd0JhQTs7O2VBQUFBOzs7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
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get DEFAULT_TYPE_EMITTER_OPTIONS () {
|
|
13
|
+
return DEFAULT_TYPE_EMITTER_OPTIONS;
|
|
14
|
+
},
|
|
15
|
+
get REQUIRED_TYPE_EMITTER_OPTIONS () {
|
|
16
|
+
return REQUIRED_TYPE_EMITTER_OPTIONS;
|
|
17
|
+
},
|
|
18
|
+
get TypeEmitter () {
|
|
19
|
+
return TypeEmitter;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const _caching = require("@decohere/nexus/caching");
|
|
23
|
+
const _diagnostics = require("@decohere/nexus/diagnostics");
|
|
24
|
+
const _extensibility = require("@decohere/nexus/extensibility");
|
|
25
|
+
const _io = require("@decohere/nexus/io");
|
|
26
|
+
require("../extensions/project.extensions.js");
|
|
27
|
+
const _cachesoutputsmixin = require("../mixins/caches-outputs.mixin.js");
|
|
28
|
+
const _incrementaltransformmixin = require("../mixins/incremental-transform.mixin.js");
|
|
29
|
+
const _tsprogramhost = require("./ts-program-host.js");
|
|
30
|
+
const _typeemissionprogram = require("./type-emission-program.js");
|
|
31
|
+
const _buildtargettype = require("../types/build-target.type.js");
|
|
32
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
33
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
34
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
35
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
36
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
37
|
+
}
|
|
38
|
+
function _ts_metadata(k, v) {
|
|
39
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
40
|
+
}
|
|
41
|
+
const DEFAULT_TYPE_EMITTER_OPTIONS = {
|
|
42
|
+
lib: [
|
|
43
|
+
"lib.es2022.d.ts"
|
|
44
|
+
],
|
|
45
|
+
types: [],
|
|
46
|
+
skipLibCheck: true
|
|
47
|
+
};
|
|
48
|
+
const REQUIRED_TYPE_EMITTER_OPTIONS = {
|
|
49
|
+
emitDeclarationOnly: true,
|
|
50
|
+
declaration: true
|
|
51
|
+
};
|
|
52
|
+
class TypeEmitter extends (0, _extensibility.mixwith)(_cachesoutputsmixin.CachesOutputs, _incrementaltransformmixin.IncrementalTransform) {
|
|
53
|
+
buildTargets = [
|
|
54
|
+
_buildtargettype.BuildTargets.types
|
|
55
|
+
];
|
|
56
|
+
/** Prepared programs from init(), consumed once by the next transformProject() call. */ #programs;
|
|
57
|
+
#host = new _tsprogramhost.TsProgramHost();
|
|
58
|
+
/**
|
|
59
|
+
* Phase 1: fetch files, create TypeScript programs sequentially.
|
|
60
|
+
* Called before transformProject() so that the heavy createProgram work
|
|
61
|
+
* completes before other transformers (SWC/Rayon) start running in parallel.
|
|
62
|
+
*/ async init(projectArrayLike, _filter) {
|
|
63
|
+
if (this.#programs == null) {
|
|
64
|
+
this.#programs = await this.preparePrograms(projectArrayLike);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async transformProject(projectArrayLike, filter, onOutput) {
|
|
68
|
+
// Consume prepared state from init() if available; otherwise do full setup
|
|
69
|
+
// (e.g. watch-mode single-file rebuilds that skip the init phase).
|
|
70
|
+
const programs = this.#programs ?? await this.preparePrograms(projectArrayLike);
|
|
71
|
+
this.#programs = programs;
|
|
72
|
+
if (programs.length === 0) {
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
75
|
+
const responses = (await Promise.all(programs.map((program)=>program.emit(filter, onOutput)))).flat();
|
|
76
|
+
this.cacheOutputs(responses);
|
|
77
|
+
return responses;
|
|
78
|
+
}
|
|
79
|
+
async preparePrograms(projectArrayLike) {
|
|
80
|
+
const allProjects = Array.isArray(projectArrayLike) ? projectArrayLike : [
|
|
81
|
+
projectArrayLike
|
|
82
|
+
];
|
|
83
|
+
const projects = allProjects.filter((proj)=>proj.getForgeConfiguration().targets.includes(_buildtargettype.BuildTargets.types));
|
|
84
|
+
if (projects.length === 0) {
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
// Pre-fetch all files and tsconfigs in parallel across all projects
|
|
88
|
+
const projectData = await Promise.all(projects.map(async (proj)=>({
|
|
89
|
+
project: proj,
|
|
90
|
+
files: await proj.getAllFiles(),
|
|
91
|
+
tsconfig: await proj.getTsConfig()
|
|
92
|
+
})));
|
|
93
|
+
// Group projects by the resolved compiler options that affect the compiler
|
|
94
|
+
// host (lib loading, module resolution, path aliases). Projects sharing the
|
|
95
|
+
// same resolved values get one shared host AND one shared program — all their
|
|
96
|
+
// files are compiled together, matching v1's single-program approach which
|
|
97
|
+
// avoids re-parsing lib/node_modules .d.ts files per project.
|
|
98
|
+
const groups = Map.groupBy(projectData, ({ tsconfig })=>this.#host.hostKey(tsconfig.compilerOptions));
|
|
99
|
+
return [
|
|
100
|
+
...groups.values()
|
|
101
|
+
].map((group)=>new _typeemissionprogram.TypeEmissionProgram(group, this.#host));
|
|
102
|
+
}
|
|
103
|
+
async onIncrementalFileEvent(evt) {
|
|
104
|
+
const { file, project } = evt;
|
|
105
|
+
if (evt.eventName === _io.io.WatchEvents.unlink) {
|
|
106
|
+
this.deleteCachedOutputs(file.fullPath);
|
|
107
|
+
return [];
|
|
108
|
+
}
|
|
109
|
+
if (!project.isSourceFile(file)) {
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
112
|
+
if (evt.eventName === _io.io.WatchEvents.add) {
|
|
113
|
+
this.#programs?.forEach((p)=>{
|
|
114
|
+
p.addFile(file, project);
|
|
115
|
+
});
|
|
116
|
+
} else {
|
|
117
|
+
this.invalidateReadFileCache(file.fullPath);
|
|
118
|
+
this.#host.invalidateSourceFile(file.fullPath);
|
|
119
|
+
}
|
|
120
|
+
return this.transformProject(project, ()=>Promise.resolve([
|
|
121
|
+
file
|
|
122
|
+
]));
|
|
123
|
+
}
|
|
124
|
+
invalidateReadFileCache(_path) {}
|
|
125
|
+
}
|
|
126
|
+
_ts_decorate([
|
|
127
|
+
(0, _caching.invalidateCache)(_tsprogramhost.TsProgramHost.prototype.readFileFromDisk, {
|
|
128
|
+
name: "FILE_CONTENT",
|
|
129
|
+
keyFn: (...args)=>args[0]
|
|
130
|
+
}),
|
|
131
|
+
_ts_metadata("design:type", Function),
|
|
132
|
+
_ts_metadata("design:paramtypes", [
|
|
133
|
+
String
|
|
134
|
+
]),
|
|
135
|
+
_ts_metadata("design:returntype", void 0)
|
|
136
|
+
], TypeEmitter.prototype, "invalidateReadFileCache", null);
|
|
137
|
+
TypeEmitter = _ts_decorate([
|
|
138
|
+
_diagnostics.Trace
|
|
139
|
+
], TypeEmitter);
|
|
140
|
+
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3NlcnZpY2VzL3R5cGUtZW1pdHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb2plY3QsIFByb2plY3RGaWxlRXZlbnQgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IGludmFsaWRhdGVDYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgeyBtaXh3aXRoIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHR5cGUgdHMgZnJvbSBcInR5cGVzY3JpcHRcIjtcbmltcG9ydCBcIi4uL2V4dGVuc2lvbnMvcHJvamVjdC5leHRlbnNpb25zLmpzXCI7XG5pbXBvcnQgeyBDYWNoZXNPdXRwdXRzIH0gZnJvbSBcIi4uL21peGlucy9jYWNoZXMtb3V0cHV0cy5taXhpbi5qc1wiO1xuaW1wb3J0IHsgSW5jcmVtZW50YWxUcmFuc2Zvcm0gfSBmcm9tIFwiLi4vbWl4aW5zL2luY3JlbWVudGFsLXRyYW5zZm9ybS5taXhpbi5qc1wiO1xuaW1wb3J0IHsgVHNQcm9ncmFtSG9zdCB9IGZyb20gXCIuLi9zZXJ2aWNlcy90cy1wcm9ncmFtLWhvc3QuanNcIjtcbmltcG9ydCB7XG5cdFR5cGVFbWlzc2lvblByb2dyYW0sXG5cdHR5cGUgVHlwZVByb2dyYW1Qcm9qZWN0LFxufSBmcm9tIFwiLi4vc2VydmljZXMvdHlwZS1lbWlzc2lvbi1wcm9ncmFtLmpzXCI7XG5pbXBvcnQgeyB0eXBlIEJ1aWxkVGFyZ2V0LCBCdWlsZFRhcmdldHMgfSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNmb3JtUmVzcG9uc2UgfSBmcm9tIFwiLi4vdHlwZXMvdHJhbnNmb3JtLXJlc3BvbnNlLm1vZGVsLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybWVyIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybWVyLnR5cGUuanNcIjtcblxuLyoqXG4gKiBDb21waWxlciBvcHRpb24gZGVmYXVsdHMgYXBwbGllZCBiZWZvcmUgdGhlIHVzZXIncyB0c2NvbmZpZyDigJQgdGhlIHVzZXIncyB2YWx1ZXMgb3ZlcnJpZGUgdGhlc2UuXG4gKlxuICogbGliOiBFUzIwMjIg4oCUIGF2b2lkcyBsb2FkaW5nIGxpYi5kb20uZC50cyAoMS44IE1CKSB3aGljaCBUUyBpbmNsdWRlcyBieSBkZWZhdWx0XG4gKiB3aGVuIG5vIGBsaWJgIGlzIHNldC4gQmFja2VuZCBwYWNrYWdlcyBoYXZlIG5vIHVzZSBmb3IgYnJvd3NlciBBUElzLlxuICpcbiAqIHR5cGVzOiBbXSDigJQgZGlzYWJsZXMgYW1iaWVudCBAdHlwZXMgYXV0by1kaXNjb3ZlcnkuIFdpdGhvdXQgdGhpcywgVFMgc2NhbnNcbiAqIGV2ZXJ5IEB0eXBlcy8qIHBhY2thZ2UgaW4gdGhlIG5vZGVfbW9kdWxlcyBoaWVyYXJjaHk7IGluIGEgbW9ub3JlcG8gdGhhdCBjYW5cbiAqIHB1bGwgaW4gZG96ZW5zIG9mIHVucmVsYXRlZCBwYWNrYWdlcy4gRXhwbGljaXRseSBpbXBvcnRlZCB0eXBlcyBzdGlsbCByZXNvbHZlXG4gKiBub3JtYWxseTsgb25seSBhbWJpZW50IGdsb2JhbHMgKGUuZy4gQnVmZmVyLCBwcm9jZXNzKSBhcmUgc3VwcHJlc3NlZCDigJQgYWRkXG4gKiBgdHlwZXM6IFtcIm5vZGVcIl1gIHRvIGEgcHJvamVjdCdzIHRzY29uZmlnIHRvIHJlc3RvcmUgdGhlbS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVFlQRV9FTUlUVEVSX09QVElPTlM6IFJlYWRvbmx5PHRzLkNvbXBpbGVyT3B0aW9ucz4gPSB7XG5cdGxpYjogW1wibGliLmVzMjAyMi5kLnRzXCJdLFxuXHR0eXBlczogW10sXG5cdHNraXBMaWJDaGVjazogdHJ1ZSxcbn07XG5cbi8qKlxuICogQ29tcGlsZXIgb3B0aW9ucyB0aGF0IFR5cGVFbWl0dGVyIGFsd2F5cyBlbmZvcmNlcyByZWdhcmRsZXNzIG9mIHdoYXQgdGhlIHVzZXInc1xuICogdHNjb25maWcgc3BlY2lmaWVzLiBBcHBsaWVkIGFmdGVyIHRoZSB1c2VyIHNwcmVhZCBzbyB0aGV5IGNhbm5vdCBiZSBvdmVycmlkZGVuLlxuICovXG5leHBvcnQgY29uc3QgUkVRVUlSRURfVFlQRV9FTUlUVEVSX09QVElPTlM6IFJlYWRvbmx5PHRzLkNvbXBpbGVyT3B0aW9ucz4gPSB7XG5cdGVtaXREZWNsYXJhdGlvbk9ubHk6IHRydWUsXG5cdGRlY2xhcmF0aW9uOiB0cnVlLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgVHlwZUVtaXR0ZXJcblx0ZXh0ZW5kcyBtaXh3aXRoKENhY2hlc091dHB1dHMsIEluY3JlbWVudGFsVHJhbnNmb3JtKVxuXHRpbXBsZW1lbnRzIFRyYW5zZm9ybWVyXG57XG5cdHB1YmxpYyBidWlsZFRhcmdldHM6IEJ1aWxkVGFyZ2V0W10gPSBbQnVpbGRUYXJnZXRzLnR5cGVzXTtcblx0LyoqIFByZXBhcmVkIHByb2dyYW1zIGZyb20gaW5pdCgpLCBjb25zdW1lZCBvbmNlIGJ5IHRoZSBuZXh0IHRyYW5zZm9ybVByb2plY3QoKSBjYWxsLiAqL1xuXHQjcHJvZ3JhbXM6IFR5cGVFbWlzc2lvblByb2dyYW1bXSB8IHVuZGVmaW5lZDtcblx0I2hvc3QgPSBuZXcgVHNQcm9ncmFtSG9zdCgpO1xuXG5cdC8qKlxuXHQgKiBQaGFzZSAxOiBmZXRjaCBmaWxlcywgY3JlYXRlIFR5cGVTY3JpcHQgcHJvZ3JhbXMgc2VxdWVudGlhbGx5LlxuXHQgKiBDYWxsZWQgYmVmb3JlIHRyYW5zZm9ybVByb2plY3QoKSBzbyB0aGF0IHRoZSBoZWF2eSBjcmVhdGVQcm9ncmFtIHdvcmtcblx0ICogY29tcGxldGVzIGJlZm9yZSBvdGhlciB0cmFuc2Zvcm1lcnMgKFNXQy9SYXlvbikgc3RhcnQgcnVubmluZyBpbiBwYXJhbGxlbC5cblx0ICovXG5cdHB1YmxpYyBhc3luYyBpbml0KFxuXHRcdHByb2plY3RBcnJheUxpa2U6IFByb2plY3RbXSB8IFByb2plY3QsXG5cdFx0X2ZpbHRlcj86IChwcm9qZWN0OiBQcm9qZWN0KSA9PiBQcm9taXNlPEZpbGVFeFtdPixcblx0KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHRoaXMuI3Byb2dyYW1zID09IG51bGwpIHtcblx0XHRcdHRoaXMuI3Byb2dyYW1zID0gYXdhaXQgdGhpcy5wcmVwYXJlUHJvZ3JhbXMocHJvamVjdEFycmF5TGlrZSk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGFzeW5jIHRyYW5zZm9ybVByb2plY3QoXG5cdFx0cHJvamVjdEFycmF5TGlrZTogUHJvamVjdFtdIHwgUHJvamVjdCxcblx0XHRmaWx0ZXI/OiAocHJvamVjdDogUHJvamVjdCkgPT4gUHJvbWlzZTxGaWxlRXhbXT4sXG5cdFx0b25PdXRwdXQ/OiAocmVzcG9uc2U6IFRyYW5zZm9ybVJlc3BvbnNlKSA9PiB2b2lkLFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlW10+IHtcblx0XHQvLyBDb25zdW1lIHByZXBhcmVkIHN0YXRlIGZyb20gaW5pdCgpIGlmIGF2YWlsYWJsZTsgb3RoZXJ3aXNlIGRvIGZ1bGwgc2V0dXBcblx0XHQvLyAoZS5nLiB3YXRjaC1tb2RlIHNpbmdsZS1maWxlIHJlYnVpbGRzIHRoYXQgc2tpcCB0aGUgaW5pdCBwaGFzZSkuXG5cdFx0Y29uc3QgcHJvZ3JhbXMgPSB0aGlzLiNwcm9ncmFtcyA/PyAoYXdhaXQgdGhpcy5wcmVwYXJlUHJvZ3JhbXMocHJvamVjdEFycmF5TGlrZSkpO1xuXHRcdHRoaXMuI3Byb2dyYW1zID0gcHJvZ3JhbXM7XG5cblx0XHRpZiAocHJvZ3JhbXMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXG5cdFx0Y29uc3QgcmVzcG9uc2VzID0gKFxuXHRcdFx0YXdhaXQgUHJvbWlzZS5hbGwocHJvZ3JhbXMubWFwKChwcm9ncmFtKSA9PiBwcm9ncmFtLmVtaXQoZmlsdGVyLCBvbk91dHB1dCkpKVxuXHRcdCkuZmxhdCgpO1xuXHRcdHRoaXMuY2FjaGVPdXRwdXRzKHJlc3BvbnNlcyk7XG5cdFx0cmV0dXJuIHJlc3BvbnNlcztcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcHJlcGFyZVByb2dyYW1zKFxuXHRcdHByb2plY3RBcnJheUxpa2U6IFByb2plY3RbXSB8IFByb2plY3QsXG5cdCk6IFByb21pc2U8VHlwZUVtaXNzaW9uUHJvZ3JhbVtdPiB7XG5cdFx0Y29uc3QgYWxsUHJvamVjdHMgPSBBcnJheS5pc0FycmF5KHByb2plY3RBcnJheUxpa2UpXG5cdFx0XHQ/IHByb2plY3RBcnJheUxpa2Vcblx0XHRcdDogW3Byb2plY3RBcnJheUxpa2VdO1xuXHRcdGNvbnN0IHByb2plY3RzID0gYWxsUHJvamVjdHMuZmlsdGVyKChwcm9qKSA9PlxuXHRcdFx0cHJvai5nZXRGb3JnZUNvbmZpZ3VyYXRpb24oKS50YXJnZXRzLmluY2x1ZGVzKEJ1aWxkVGFyZ2V0cy50eXBlcyksXG5cdFx0KTtcblx0XHRpZiAocHJvamVjdHMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXG5cdFx0Ly8gUHJlLWZldGNoIGFsbCBmaWxlcyBhbmQgdHNjb25maWdzIGluIHBhcmFsbGVsIGFjcm9zcyBhbGwgcHJvamVjdHNcblx0XHRjb25zdCBwcm9qZWN0RGF0YTogVHlwZVByb2dyYW1Qcm9qZWN0W10gPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHByb2plY3RzLm1hcChhc3luYyAocHJvaikgPT4gKHtcblx0XHRcdFx0cHJvamVjdDogcHJvaixcblx0XHRcdFx0ZmlsZXM6IGF3YWl0IHByb2ouZ2V0QWxsRmlsZXMoKSxcblx0XHRcdFx0dHNjb25maWc6IGF3YWl0IHByb2ouZ2V0VHNDb25maWcoKSxcblx0XHRcdH0pKSxcblx0XHQpO1xuXG5cdFx0Ly8gR3JvdXAgcHJvamVjdHMgYnkgdGhlIHJlc29sdmVkIGNvbXBpbGVyIG9wdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGNvbXBpbGVyXG5cdFx0Ly8gaG9zdCAobGliIGxvYWRpbmcsIG1vZHVsZSByZXNvbHV0aW9uLCBwYXRoIGFsaWFzZXMpLiBQcm9qZWN0cyBzaGFyaW5nIHRoZVxuXHRcdC8vIHNhbWUgcmVzb2x2ZWQgdmFsdWVzIGdldCBvbmUgc2hhcmVkIGhvc3QgQU5EIG9uZSBzaGFyZWQgcHJvZ3JhbSDigJQgYWxsIHRoZWlyXG5cdFx0Ly8gZmlsZXMgYXJlIGNvbXBpbGVkIHRvZ2V0aGVyLCBtYXRjaGluZyB2MSdzIHNpbmdsZS1wcm9ncmFtIGFwcHJvYWNoIHdoaWNoXG5cdFx0Ly8gYXZvaWRzIHJlLXBhcnNpbmcgbGliL25vZGVfbW9kdWxlcyAuZC50cyBmaWxlcyBwZXIgcHJvamVjdC5cblx0XHRjb25zdCBncm91cHMgPSBNYXAuZ3JvdXBCeShwcm9qZWN0RGF0YSwgKHsgdHNjb25maWcgfSkgPT5cblx0XHRcdHRoaXMuI2hvc3QuaG9zdEtleSh0c2NvbmZpZy5jb21waWxlck9wdGlvbnMpLFxuXHRcdCk7XG5cblx0XHRyZXR1cm4gWy4uLmdyb3Vwcy52YWx1ZXMoKV0ubWFwKChncm91cCkgPT4gbmV3IFR5cGVFbWlzc2lvblByb2dyYW0oZ3JvdXAsIHRoaXMuI2hvc3QpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBhc3luYyBvbkluY3JlbWVudGFsRmlsZUV2ZW50KGV2dDogUHJvamVjdEZpbGVFdmVudCk6IFByb21pc2U8VHJhbnNmb3JtUmVzcG9uc2VbXT4ge1xuXHRcdGNvbnN0IHsgZmlsZSwgcHJvamVjdCB9ID0gZXZ0O1xuXHRcdGlmIChldnQuZXZlbnROYW1lID09PSBpby5XYXRjaEV2ZW50cy51bmxpbmspIHtcblx0XHRcdHRoaXMuZGVsZXRlQ2FjaGVkT3V0cHV0cyhmaWxlLmZ1bGxQYXRoKTtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cdFx0aWYgKCFwcm9qZWN0LmlzU291cmNlRmlsZShmaWxlKSkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHRpZiAoZXZ0LmV2ZW50TmFtZSA9PT0gaW8uV2F0Y2hFdmVudHMuYWRkKSB7XG5cdFx0XHR0aGlzLiNwcm9ncmFtcz8uZm9yRWFjaCgocCkgPT4ge1xuXHRcdFx0XHRwLmFkZEZpbGUoZmlsZSwgcHJvamVjdCk7XG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5pbnZhbGlkYXRlUmVhZEZpbGVDYWNoZShmaWxlLmZ1bGxQYXRoKTtcblx0XHRcdHRoaXMuI2hvc3QuaW52YWxpZGF0ZVNvdXJjZUZpbGUoZmlsZS5mdWxsUGF0aCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnRyYW5zZm9ybVByb2plY3QocHJvamVjdCwgKCkgPT4gUHJvbWlzZS5yZXNvbHZlKFtmaWxlXSkpO1xuXHR9XG5cblx0QGludmFsaWRhdGVDYWNoZShUc1Byb2dyYW1Ib3N0LnByb3RvdHlwZS5yZWFkRmlsZUZyb21EaXNrLCB7XG5cdFx0bmFtZTogXCJGSUxFX0NPTlRFTlRcIixcblx0XHRrZXlGbjogKC4uLmFyZ3MpID0+IGFyZ3NbMF0gYXMgc3RyaW5nLFxuXHR9KVxuXHRwcml2YXRlIGludmFsaWRhdGVSZWFkRmlsZUNhY2hlKF9wYXRoOiBzdHJpbmcpOiB2b2lkIHt9XG59XG4iXSwibmFtZXMiOlsiREVGQVVMVF9UWVBFX0VNSVRURVJfT1BUSU9OUyIsIlJFUVVJUkVEX1RZUEVfRU1JVFRFUl9PUFRJT05TIiwiVHlwZUVtaXR0ZXIiLCJsaWIiLCJ0eXBlcyIsInNraXBMaWJDaGVjayIsImVtaXREZWNsYXJhdGlvbk9ubHkiLCJkZWNsYXJhdGlvbiIsIm1peHdpdGgiLCJDYWNoZXNPdXRwdXRzIiwiSW5jcmVtZW50YWxUcmFuc2Zvcm0iLCJidWlsZFRhcmdldHMiLCJCdWlsZFRhcmdldHMiLCJUc1Byb2dyYW1Ib3N0IiwiaW5pdCIsInByb2plY3RBcnJheUxpa2UiLCJfZmlsdGVyIiwicHJlcGFyZVByb2dyYW1zIiwidHJhbnNmb3JtUHJvamVjdCIsImZpbHRlciIsIm9uT3V0cHV0IiwicHJvZ3JhbXMiLCJsZW5ndGgiLCJyZXNwb25zZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwicHJvZ3JhbSIsImVtaXQiLCJmbGF0IiwiY2FjaGVPdXRwdXRzIiwiYWxsUHJvamVjdHMiLCJBcnJheSIsImlzQXJyYXkiLCJwcm9qZWN0cyIsInByb2oiLCJnZXRGb3JnZUNvbmZpZ3VyYXRpb24iLCJ0YXJnZXRzIiwiaW5jbHVkZXMiLCJwcm9qZWN0RGF0YSIsInByb2plY3QiLCJmaWxlcyIsImdldEFsbEZpbGVzIiwidHNjb25maWciLCJnZXRUc0NvbmZpZyIsImdyb3VwcyIsIk1hcCIsImdyb3VwQnkiLCJob3N0S2V5IiwiY29tcGlsZXJPcHRpb25zIiwidmFsdWVzIiwiZ3JvdXAiLCJUeXBlRW1pc3Npb25Qcm9ncmFtIiwib25JbmNyZW1lbnRhbEZpbGVFdmVudCIsImV2dCIsImZpbGUiLCJldmVudE5hbWUiLCJpbyIsIldhdGNoRXZlbnRzIiwidW5saW5rIiwiZGVsZXRlQ2FjaGVkT3V0cHV0cyIsImZ1bGxQYXRoIiwiaXNTb3VyY2VGaWxlIiwiYWRkIiwiZm9yRWFjaCIsInAiLCJhZGRGaWxlIiwiaW52YWxpZGF0ZVJlYWRGaWxlQ2FjaGUiLCJpbnZhbGlkYXRlU291cmNlRmlsZSIsInJlc29sdmUiLCJfcGF0aCIsInByb3RvdHlwZSIsInJlYWRGaWxlRnJvbURpc2siLCJuYW1lIiwia2V5Rm4iLCJhcmdzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQStCYUE7ZUFBQUE7O1FBVUFDO2VBQUFBOztRQU1BQztlQUFBQTs7O3lCQTlDbUI7NkJBQ1Y7K0JBQ0U7b0JBRUw7UUFFWjtvQ0FDdUI7MkNBQ087K0JBQ1A7cUNBSXZCO2lDQUN3Qzs7Ozs7Ozs7OztBQWdCeEMsTUFBTUYsK0JBQTZEO0lBQ3pF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
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "BuildTargets", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return BuildTargets;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const BuildTargets = {
|
|
12
|
+
commonjs: "commonjs",
|
|
13
|
+
es6: "es6",
|
|
14
|
+
types: "types"
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBCdWlsZFRhcmdldHMgPSB7XG5cdGNvbW1vbmpzOiBcImNvbW1vbmpzXCIsXG5cdGVzNjogXCJlczZcIixcblx0dHlwZXM6IFwidHlwZXNcIixcbn0gc2F0aXNmaWVzIFJlY29yZDxCdWlsZFRhcmdldCwgQnVpbGRUYXJnZXQ+O1xuXG5leHBvcnQgdHlwZSBCdWlsZFRhcmdldCA9IFwiZXM2XCIgfCBcImNvbW1vbmpzXCIgfCBcInR5cGVzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYW5zcGlsZVRhcmdldCA9IEV4Y2x1ZGU8QnVpbGRUYXJnZXQsIFwidHlwZXNcIj47XG4iXSwibmFtZXMiOlsiQnVpbGRUYXJnZXRzIiwiY29tbW9uanMiLCJlczYiLCJ0eXBlcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsZUFBZTtJQUMzQkMsVUFBVTtJQUNWQyxLQUFLO0lBQ0xDLE9BQU87QUFDUiJ9
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "SwcConfig", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return SwcConfig;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
class SwcConfig {
|
|
12
|
+
constructor(data = {}){
|
|
13
|
+
Object.assign(this, data);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3R5cGVzL3N3Yy1jb25maWcudHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRzY29uZmlnIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5cbmV4cG9ydCB0eXBlIFN3Y0NvbmZpZ09wdGlvbnMgPSB7XG5cdGFsaWFzUGF0aHM/OiBib29sZWFuO1xuXHR0c0NvbmZpZz86IFRzY29uZmlnO1xuXHR1c2VyQ29uZmlnPzogU3djQ29uZmlnO1xufTtcblxuZXhwb3J0IGNsYXNzIFN3Y0NvbmZpZyB7XG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPFN3Y0NvbmZpZz4gPSB7fSkge1xuXHRcdE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NDb25maWciLCJkYXRhIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiOzs7OytCQVFhQTs7O2VBQUFBOzs7QUFBTixNQUFNQTtJQUNaLFlBQW1CQyxPQUEyQixDQUFDLENBQUMsQ0FBRTtRQUNqREMsT0FBT0MsTUFBTSxDQUFDLElBQUksRUFBRUY7SUFDckI7QUFDRCJ9
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get TransformOutcomes () {
|
|
13
|
+
return TransformOutcomes;
|
|
14
|
+
},
|
|
15
|
+
get TransformResponse () {
|
|
16
|
+
return TransformResponse;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const TransformOutcomes = {
|
|
20
|
+
success: "success",
|
|
21
|
+
failure: "failure",
|
|
22
|
+
skipped: "skipped"
|
|
23
|
+
};
|
|
24
|
+
class TransformResponse {
|
|
25
|
+
static Success(data) {
|
|
26
|
+
return new TransformResponse({
|
|
27
|
+
...data,
|
|
28
|
+
outcome: "success"
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
static Error(data) {
|
|
32
|
+
return new TransformResponse({
|
|
33
|
+
...data,
|
|
34
|
+
outcome: "failure"
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
static Skipped(data) {
|
|
38
|
+
return new TransformResponse({
|
|
39
|
+
...data,
|
|
40
|
+
outcome: "skipped"
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
static from(data) {
|
|
44
|
+
return new TransformResponse({
|
|
45
|
+
...data
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
constructor(data){
|
|
49
|
+
Object.assign(this, data);
|
|
50
|
+
}
|
|
51
|
+
// Properties are populated via Object.assign in the constructor.
|
|
52
|
+
file;
|
|
53
|
+
outcome;
|
|
54
|
+
target;
|
|
55
|
+
code;
|
|
56
|
+
fileName;
|
|
57
|
+
messages;
|
|
58
|
+
config;
|
|
59
|
+
project;
|
|
60
|
+
outputDir;
|
|
61
|
+
outputPath;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgRmlsZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB0eXBlIHsgQnVpbGRUYXJnZXQgfSBmcm9tIFwiLi9idWlsZC10YXJnZXQudHlwZS5qc1wiO1xuXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1PdXRjb21lID0gXCJzdWNjZXNzXCIgfCBcImZhaWx1cmVcIiB8IFwic2tpcHBlZFwiO1xuZXhwb3J0IGNvbnN0IFRyYW5zZm9ybU91dGNvbWVzID0ge1xuXHRzdWNjZXNzOiBcInN1Y2Nlc3NcIixcblx0ZmFpbHVyZTogXCJmYWlsdXJlXCIsXG5cdHNraXBwZWQ6IFwic2tpcHBlZFwiLFxufSBzYXRpc2ZpZXMgUmVjb3JkPHN0cmluZywgVHJhbnNmb3JtT3V0Y29tZT47XG5cbnR5cGUgVHJhbnNmb3JtUmVzcG9uc2VCYXNlID0ge1xuXHRmaWxlOiBGaWxlO1xuXHRjb25maWc6IHVua25vd247XG5cdHByb2plY3Q/OiBQcm9qZWN0O1xuXHQvKiogQWJzb2x1dGUgZGlyZWN0b3J5IHRoYXQgd2lsbCBjb250YWluIHRoZSBvdXRwdXQgZmlsZS4gUHJlLWNvbXB1dGVkIGJ5IHRoZSB0cmFuc2Zvcm1lci4gKi9cblx0b3V0cHV0RGlyPzogc3RyaW5nO1xuXHQvKiogQWJzb2x1dGUgcGF0aCBvZiB0aGUgb3V0cHV0IGZpbGUgKG91dHB1dERpciArIGZpbGVOYW1lKS4gUHJlLWNvbXB1dGVkIGJ5IHRoZSB0cmFuc2Zvcm1lci4gKi9cblx0b3V0cHV0UGF0aD86IHN0cmluZztcbn07XG5cbnR5cGUgVHJhbnNmb3JtU3VjY2VzcyA9IFRyYW5zZm9ybVJlc3BvbnNlQmFzZSAmIHtcblx0b3V0Y29tZTogXCJzdWNjZXNzXCI7XG5cdGNvZGU6IHN0cmluZztcblx0bWVzc2FnZXM/OiBzdHJpbmdbXTtcblx0dGFyZ2V0OiBCdWlsZFRhcmdldDtcblx0ZmlsZU5hbWU6IHN0cmluZztcbn07XG5cbnR5cGUgVHJhbnNmb3JtRmFpbHVyZSA9IFRyYW5zZm9ybVJlc3BvbnNlQmFzZSAmIHtcblx0b3V0Y29tZTogXCJmYWlsdXJlXCI7XG5cdG1lc3NhZ2VzPzogc3RyaW5nW107XG5cdHRhcmdldD86IEJ1aWxkVGFyZ2V0O1xuXHRmaWxlTmFtZT86IHN0cmluZztcbn07XG5cbnR5cGUgVHJhbnNmb3JtU2tpcHBlZCA9IFRyYW5zZm9ybVJlc3BvbnNlQmFzZSAmIHtcblx0b3V0Y29tZTogXCJza2lwcGVkXCI7XG5cdG1lc3NhZ2VzPzogc3RyaW5nIHwgc3RyaW5nW107XG59O1xuXG50eXBlIFRyYW5zZm9ybVJlc3BvbnNlRGF0YTxUIGV4dGVuZHMgVHJhbnNmb3JtT3V0Y29tZSA9IFRyYW5zZm9ybU91dGNvbWU+ID0gVCBleHRlbmRzIFwic3VjY2Vzc1wiXG5cdD8gVHJhbnNmb3JtU3VjY2Vzc1xuXHQ6IFQgZXh0ZW5kcyBcInNraXBwZWRcIlxuXHRcdD8gVHJhbnNmb3JtU2tpcHBlZFxuXHRcdDogVHJhbnNmb3JtRmFpbHVyZTtcblxuZXhwb3J0IGNsYXNzIFRyYW5zZm9ybVJlc3BvbnNlIHtcblx0cHVibGljIHN0YXRpYyBTdWNjZXNzKGRhdGE6IE9taXQ8VHJhbnNmb3JtUmVzcG9uc2VEYXRhPFwic3VjY2Vzc1wiPiwgXCJvdXRjb21lXCI+KSB7XG5cdFx0cmV0dXJuIG5ldyBUcmFuc2Zvcm1SZXNwb25zZSh7IC4uLmRhdGEsIG91dGNvbWU6IFwic3VjY2Vzc1wiIGFzIGNvbnN0IH0pO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBFcnJvcihkYXRhOiBPbWl0PFRyYW5zZm9ybVJlc3BvbnNlRGF0YTxcImZhaWx1cmVcIj4sIFwib3V0Y29tZVwiPikge1xuXHRcdHJldHVybiBuZXcgVHJhbnNmb3JtUmVzcG9uc2UoeyAuLi5kYXRhLCBvdXRjb21lOiBcImZhaWx1cmVcIiBhcyBjb25zdCB9KTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgU2tpcHBlZChkYXRhOiBPbWl0PFRyYW5zZm9ybVJlc3BvbnNlRGF0YTxcInNraXBwZWRcIj4sIFwib3V0Y29tZVwiPikge1xuXHRcdHJldHVybiBuZXcgVHJhbnNmb3JtUmVzcG9uc2UoeyAuLi5kYXRhLCBvdXRjb21lOiBcInNraXBwZWRcIiBhcyBjb25zdCB9KTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgZnJvbShkYXRhOiBUcmFuc2Zvcm1SZXNwb25zZURhdGEpOiBUcmFuc2Zvcm1SZXNwb25zZSB7XG5cdFx0cmV0dXJuIG5ldyBUcmFuc2Zvcm1SZXNwb25zZSh7IC4uLmRhdGEgfSBhcyBUcmFuc2Zvcm1SZXNwb25zZURhdGEpO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKGRhdGE/OiBQYXJ0aWFsPFRyYW5zZm9ybVJlc3BvbnNlRGF0YT4pIHtcblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuXHR9XG5cblx0Ly8gUHJvcGVydGllcyBhcmUgcG9wdWxhdGVkIHZpYSBPYmplY3QuYXNzaWduIGluIHRoZSBjb25zdHJ1Y3Rvci5cblx0cHVibGljIHJlYWRvbmx5IGZpbGUhOiBGaWxlO1xuXHRwdWJsaWMgcmVhZG9ubHkgb3V0Y29tZSE6IFRyYW5zZm9ybU91dGNvbWU7XG5cdHB1YmxpYyByZWFkb25seSB0YXJnZXQ/OiBCdWlsZFRhcmdldDtcblx0cHVibGljIHJlYWRvbmx5IGNvZGUhOiBzdHJpbmc7XG5cdHB1YmxpYyByZWFkb25seSBmaWxlTmFtZT86IHN0cmluZztcblx0cHVibGljIHJlYWRvbmx5IG1lc3NhZ2VzPzogc3RyaW5nW107XG5cdHB1YmxpYyByZWFkb25seSBjb25maWc6IHVua25vd247XG5cdHB1YmxpYyByZWFkb25seSBwcm9qZWN0PzogUHJvamVjdDtcblx0cHVibGljIHJlYWRvbmx5IG91dHB1dERpcj86IHN0cmluZztcblx0cHVibGljIHJlYWRvbmx5IG91dHB1dFBhdGg/OiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiVHJhbnNmb3JtT3V0Y29tZXMiLCJUcmFuc2Zvcm1SZXNwb25zZSIsInN1Y2Nlc3MiLCJmYWlsdXJlIiwic2tpcHBlZCIsIlN1Y2Nlc3MiLCJkYXRhIiwib3V0Y29tZSIsIkVycm9yIiwiU2tpcHBlZCIsImZyb20iLCJPYmplY3QiLCJhc3NpZ24iLCJmaWxlIiwidGFyZ2V0IiwiY29kZSIsImZpbGVOYW1lIiwibWVzc2FnZXMiLCJjb25maWciLCJwcm9qZWN0Iiwib3V0cHV0RGlyIiwib3V0cHV0UGF0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFLYUE7ZUFBQUE7O1FBMENBQztlQUFBQTs7O0FBMUNOLE1BQU1ELG9CQUFvQjtJQUNoQ0UsU0FBUztJQUNUQyxTQUFTO0lBQ1RDLFNBQVM7QUFDVjtBQXNDTyxNQUFNSDtJQUNaLE9BQWNJLFFBQVFDLElBQXVELEVBQUU7UUFDOUUsT0FBTyxJQUFJTCxrQkFBa0I7WUFBRSxHQUFHSyxJQUFJO1lBQUVDLFNBQVM7UUFBbUI7SUFDckU7SUFFQSxPQUFjQyxNQUFNRixJQUF1RCxFQUFFO1FBQzVFLE9BQU8sSUFBSUwsa0JBQWtCO1lBQUUsR0FBR0ssSUFBSTtZQUFFQyxTQUFTO1FBQW1CO0lBQ3JFO0lBRUEsT0FBY0UsUUFBUUgsSUFBdUQsRUFBRTtRQUM5RSxPQUFPLElBQUlMLGtCQUFrQjtZQUFFLEdBQUdLLElBQUk7WUFBRUMsU0FBUztRQUFtQjtJQUNyRTtJQUVBLE9BQWNHLEtBQUtKLElBQTJCLEVBQXFCO1FBQ2xFLE9BQU8sSUFBSUwsa0JBQWtCO1lBQUUsR0FBR0ssSUFBSTtRQUFDO0lBQ3hDO0lBRUEsWUFBbUJBLElBQXFDLENBQUU7UUFDekRLLE9BQU9DLE1BQU0sQ0FBQyxJQUFJLEVBQUVOO0lBQ3JCO0lBRUEsaUVBQWlFO0lBQ2pETyxLQUFZO0lBQ1pOLFFBQTJCO0lBQzNCTyxPQUFxQjtJQUNyQkMsS0FBYztJQUNkQyxTQUFrQjtJQUNsQkMsU0FBb0I7SUFDcEJDLE9BQWdCO0lBQ2hCQyxRQUFrQjtJQUNsQkMsVUFBbUI7SUFDbkJDLFdBQW9CO0FBQ3JDIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "TransformerKey", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return TransformerKey;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const TransformerKey = Symbol("TransformerKey");
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9zcmMvcHJvamVjdHMvZm9yZ2Uvc3JjL3R5cGVzL3RyYW5zZm9ybWVyLnR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgRmlsZUV4IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB0eXBlIHsgQnVpbGRUYXJnZXQgfSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNmb3JtUmVzcG9uc2UgfSBmcm9tIFwiLi90cmFuc2Zvcm0tcmVzcG9uc2UubW9kZWwuanNcIjtcblxuZXhwb3J0IHR5cGUgRmlsZUV2ZW50ID1cblx0fCB7IHR5cGU6IFwiY2hhbmdlZFwiIHwgXCJhZGRlZFwiOyBmaWxlOiBGaWxlRXg7IHByb2plY3Q/OiBQcm9qZWN0IH1cblx0fCB7IHR5cGU6IFwiZGVsZXRlZFwiOyBmaWxlOiBGaWxlRXg7IHByb2plY3Q6IFByb2plY3QgfTtcblxuZXhwb3J0IGNvbnN0IFRyYW5zZm9ybWVyS2V5ID0gU3ltYm9sKFwiVHJhbnNmb3JtZXJLZXlcIik7XG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybWVyIHtcblx0cmVhZG9ubHkgYnVpbGRUYXJnZXRzOiBCdWlsZFRhcmdldFtdO1xuXG5cdC8qKlxuXHQgKiBPcHRpb25hbCBwcmUtYnVpbGQgcGhhc2UgdGhhdCBydW5zIHNlcXVlbnRpYWxseSBiZWZvcmUgYWxsIHRyYW5zZm9ybWVycydcblx0ICoge0BsaW5rIHRyYW5zZm9ybVByb2plY3R9IGNhbGxzLiBVc2UgZm9yIGV4cGVuc2l2ZSBDUFUtYm91bmQgc2V0dXAgKGUuZy5cblx0ICogVHlwZVNjcmlwdCBjcmVhdGVQcm9ncmFtKSB0aGF0IG11c3Qgbm90IGNvbXBldGUgd2l0aCBvdGhlciB0cmFuc2Zvcm1lcnMnXG5cdCAqIHBhcmFsbGVsIHdvcmtsb2Fkcy5cblx0ICovXG5cdGluaXQ/KFxuXHRcdHByb2plY3RzOiBQcm9qZWN0IHwgUHJvamVjdFtdLFxuXHRcdGZpbGVGaWx0ZXI/OiAocHJvamVjdDogUHJvamVjdCkgPT4gUHJvbWlzZTxGaWxlRXhbXT4sXG5cdCk6IFByb21pc2U8dm9pZD47XG5cblx0dHJhbnNmb3JtUHJvamVjdChcblx0XHRwcm9qZWN0czogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPjtcblxuXHQvKipcblx0ICogSWYgaW1wbGVtZW50ZWQsIHNpZ25hbHMgdGhpcyB0cmFuc2Zvcm1lciBzdXBwb3J0cyBpbmNyZW1lbnRhbCAod2F0Y2gpIG1vZGUuXG5cdCAqIHtAbGluayBCdWlsZEFjdGlvbn0gY2FsbHMgdGhpcyBhZnRlciB0aGUgaW5pdGlhbCBidWlsZCwgcGFzc2luZyB0aGUgd29ya3NwYWNlXG5cdCAqIHNvIHRoZSB0cmFuc2Zvcm1lciBjYW4gc2VsZi1zdWJzY3JpYmUgdG8gZmlsZSBjaGFuZ2UgZXZlbnRzLlxuXHQgKi9cblx0d2F0Y2g/KHdvcmtzcGFjZTogV29ya3NwYWNlKTogdm9pZDtcblxuXHQvKipcblx0ICogRW1pdHMgaW5jcmVtZW50YWwgdHJhbnNmb3JtIHJlc3VsdHMgYWZ0ZXIgZWFjaCBmaWxlLWNoYW5nZSBjeWNsZS5cblx0ICogUHJlc2VudCB3aGVuIHtAbGluayB3YXRjaH0gaXMgaW1wbGVtZW50ZWQuXG5cdCAqL1xuXHRpbmNyZW1lbnRhbFRyYW5zZm9ybSQ/OiBPYnNlcnZhYmxlPFRyYW5zZm9ybVJlc3BvbnNlW10+O1xufVxuIl0sIm5hbWVzIjpbIlRyYW5zZm9ybWVyS2V5IiwiU3ltYm9sIl0sIm1hcHBpbmdzIjoiOzs7OytCQVVhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxpQkFBaUJDLE9BQU8ifQ==
|