@proteinjs/reflection-build 1.4.12 → 2.0.0
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/CHANGELOG.md +45 -0
- package/dist/src/BuildContract.d.ts +69 -0
- package/dist/src/BuildContract.js +393 -0
- package/dist/src/BuildContract.js.map +1 -0
- package/dist/src/ReflectionDoctor.d.ts +95 -0
- package/dist/src/ReflectionDoctor.js +588 -0
- package/dist/src/ReflectionDoctor.js.map +1 -0
- package/dist/src/build.d.ts +5 -1
- package/dist/src/build.js +13 -77
- package/dist/src/build.js.map +1 -1
- package/dist/src/codegen/writeGeneratedIndex.d.ts +25 -0
- package/dist/src/codegen/writeGeneratedIndex.js +89 -13
- package/dist/src/codegen/writeGeneratedIndex.js.map +1 -1
- package/dist/src/parser/createGraphBuilder.js +30 -5
- package/dist/src/parser/createGraphBuilder.js.map +1 -1
- package/dist/src/runBuild.js +12 -2
- package/dist/src/runBuild.js.map +1 -1
- package/dist/src/runDoctor.d.ts +2 -0
- package/dist/src/runDoctor.js +83 -0
- package/dist/src/runDoctor.js.map +1 -0
- package/dist/test/DependencySourceGraphGate.test.d.ts +1 -0
- package/dist/test/DependencySourceGraphGate.test.js +78 -0
- package/dist/test/DependencySourceGraphGate.test.js.map +1 -0
- package/dist/test/GraphEmitRelativePaths.test.d.ts +1 -0
- package/dist/test/GraphEmitRelativePaths.test.js +162 -0
- package/dist/test/GraphEmitRelativePaths.test.js.map +1 -0
- package/dist/test/ReflectionDoctor.test.d.ts +1 -0
- package/dist/test/ReflectionDoctor.test.js +316 -0
- package/dist/test/ReflectionDoctor.test.js.map +1 -0
- package/dist/test/TestSubpathContract.test.d.ts +1 -0
- package/dist/test/TestSubpathContract.test.js +260 -0
- package/dist/test/TestSubpathContract.test.js.map +1 -0
- package/dist/test/ValidateDontMutate.test.d.ts +1 -0
- package/dist/test/ValidateDontMutate.test.js +238 -0
- package/dist/test/ValidateDontMutate.test.js.map +1 -0
- package/dist/test/examples/source-repository/a/generated/index.d.ts +0 -8
- package/dist/test/examples/source-repository/a/generated/index.js +1 -9
- package/dist/test/examples/source-repository/a/generated/index.js.map +1 -1
- package/dist/test/examples/source-repository/b/generated/index.d.ts +0 -8
- package/dist/test/examples/source-repository/b/generated/index.js +1 -9
- package/dist/test/examples/source-repository/b/generated/index.js.map +1 -1
- package/package.json +5 -4
- package/src/BuildContract.ts +384 -0
- package/src/ReflectionDoctor.ts +589 -0
- package/src/build.ts +19 -56
- package/src/codegen/writeGeneratedIndex.ts +80 -9
- package/src/parser/createGraphBuilder.ts +9 -4
- package/src/runBuild.ts +7 -1
- package/src/runDoctor.ts +34 -0
- package/test/DependencySourceGraphGate.test.ts +61 -0
- package/test/GraphEmitRelativePaths.test.ts +95 -0
- package/test/ReflectionDoctor.test.ts +193 -0
- package/test/TestSubpathContract.test.ts +148 -0
- package/test/ValidateDontMutate.test.ts +126 -0
- package/test/examples/source-repository/a/dist/BuildContract.d.ts +69 -0
- package/test/examples/source-repository/a/dist/BuildContract.js +393 -0
- package/test/examples/source-repository/a/dist/BuildContract.js.map +1 -0
- package/test/examples/source-repository/a/dist/build.d.ts +5 -1
- package/test/examples/source-repository/a/dist/build.js +13 -77
- package/test/examples/source-repository/a/dist/build.js.map +1 -1
- package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.d.ts +25 -0
- package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js +89 -13
- package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js.map +1 -1
- package/test/examples/source-repository/a/dist/generated/index.d.ts +0 -8
- package/test/examples/source-repository/a/dist/generated/index.js +1 -9
- package/test/examples/source-repository/a/dist/generated/index.js.map +1 -1
- package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js +30 -5
- package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js.map +1 -1
- package/test/examples/source-repository/a/dist/runBuild.js +12 -2
- package/test/examples/source-repository/a/dist/runBuild.js.map +1 -1
- package/test/examples/source-repository/a/generated/index.ts +1 -9
- package/test/examples/source-repository/b/dist/BuildContract.d.ts +69 -0
- package/test/examples/source-repository/b/dist/BuildContract.js +393 -0
- package/test/examples/source-repository/b/dist/BuildContract.js.map +1 -0
- package/test/examples/source-repository/b/dist/build.d.ts +5 -1
- package/test/examples/source-repository/b/dist/build.js +13 -77
- package/test/examples/source-repository/b/dist/build.js.map +1 -1
- package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.d.ts +25 -0
- package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js +89 -13
- package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js.map +1 -1
- package/test/examples/source-repository/b/dist/generated/index.d.ts +0 -8
- package/test/examples/source-repository/b/dist/generated/index.js +1 -9
- package/test/examples/source-repository/b/dist/generated/index.js.map +1 -1
- package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js +30 -5
- package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js.map +1 -1
- package/test/examples/source-repository/b/dist/runBuild.js +12 -2
- package/test/examples/source-repository/b/dist/runBuild.js.map +1 -1
- package/test/examples/source-repository/b/generated/index.ts +1 -10
package/dist/src/build.js
CHANGED
|
@@ -61,84 +61,16 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
61
61
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
62
62
|
exports.build = void 0;
|
|
63
63
|
var path = __importStar(require("path"));
|
|
64
|
-
var tsconfig = require('./tsconfigTemplate.json');
|
|
65
|
-
var util_node_1 = require("@proteinjs/util-node");
|
|
66
64
|
var writeGeneratedIndex_1 = require("./codegen/writeGeneratedIndex");
|
|
67
|
-
|
|
65
|
+
var BuildContract_1 = require("./BuildContract");
|
|
66
|
+
function build(options) {
|
|
67
|
+
if (options === void 0) { options = {}; }
|
|
68
68
|
return __awaiter(this, void 0, void 0, function () {
|
|
69
|
-
|
|
70
|
-
function updatePackageJson() {
|
|
71
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
72
|
-
var targetDirPackageJson, targetPackageJson, originalPackageJsonString, isProd, targetDirDist, relGenPath, targetDirDistGenerated, generatedIndexJs, generatedIndexDts, updatedPackageJsonString;
|
|
73
|
-
return __generator(this, function (_a) {
|
|
74
|
-
switch (_a.label) {
|
|
75
|
-
case 0:
|
|
76
|
-
targetDirPackageJson = path.join(targetDir, 'package.json');
|
|
77
|
-
return [4 /*yield*/, util_node_1.promisifiedFs.exists(targetDirPackageJson)];
|
|
78
|
-
case 1:
|
|
79
|
-
if (!(_a.sent())) {
|
|
80
|
-
throw new Error("package.json does not exist, run `npm init -y` to create one");
|
|
81
|
-
}
|
|
82
|
-
targetPackageJson = require(targetDirPackageJson);
|
|
83
|
-
originalPackageJsonString = JSON.stringify(targetPackageJson, null, 2);
|
|
84
|
-
isProd = primaryRoot === 'src';
|
|
85
|
-
if (isProd) {
|
|
86
|
-
targetDirDist = path.join(targetDir, distDirRel);
|
|
87
|
-
relGenPath = primaryRoot && primaryRoot !== 'src'
|
|
88
|
-
? path.relative(targetDir, path.join(targetDir, 'generated', primaryRoot))
|
|
89
|
-
: path.relative(targetDir, path.join(targetDir, 'generated'));
|
|
90
|
-
targetDirDistGenerated = path.join(targetDirDist, relGenPath);
|
|
91
|
-
generatedIndexJs = path.join(targetDirDistGenerated, 'index.js');
|
|
92
|
-
generatedIndexDts = path.join(targetDirDistGenerated, 'index.d.ts');
|
|
93
|
-
targetPackageJson.main = "./".concat(path.relative(targetDir, generatedIndexJs));
|
|
94
|
-
targetPackageJson.types = "./".concat(path.relative(targetDir, generatedIndexDts));
|
|
95
|
-
}
|
|
96
|
-
updatedPackageJsonString = JSON.stringify(targetPackageJson, null, 2);
|
|
97
|
-
if (!(originalPackageJsonString !== updatedPackageJsonString)) return [3 /*break*/, 3];
|
|
98
|
-
return [4 /*yield*/, util_node_1.promisifiedFs.writeFile(targetDirPackageJson, updatedPackageJsonString)];
|
|
99
|
-
case 2:
|
|
100
|
-
_a.sent();
|
|
101
|
-
_a.label = 3;
|
|
102
|
-
case 3: return [2 /*return*/];
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
function writeTsconfig() {
|
|
108
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
109
|
-
var existingTsconfig, includePath, generatedTsconfig;
|
|
110
|
-
return __generator(this, function (_a) {
|
|
111
|
-
switch (_a.label) {
|
|
112
|
-
case 0: return [4 /*yield*/, util_node_1.promisifiedFs.exists(targetDirTsconfig)];
|
|
113
|
-
case 1:
|
|
114
|
-
if (!_a.sent()) return [3 /*break*/, 4];
|
|
115
|
-
existingTsconfig = require(targetDirTsconfig);
|
|
116
|
-
includePath = "./".concat(path.relative(targetDir, generatedIndex));
|
|
117
|
-
if (!(existingTsconfig.include && !existingTsconfig.include.includes(includePath))) return [3 /*break*/, 3];
|
|
118
|
-
existingTsconfig.include.push(includePath);
|
|
119
|
-
return [4 /*yield*/, util_node_1.promisifiedFs.writeFile(targetDirTsconfig, JSON.stringify(existingTsconfig, null, 4))];
|
|
120
|
-
case 2:
|
|
121
|
-
_a.sent();
|
|
122
|
-
_a.label = 3;
|
|
123
|
-
case 3: return [3 /*break*/, 6];
|
|
124
|
-
case 4:
|
|
125
|
-
generatedTsconfig = Object.assign({}, tsconfig);
|
|
126
|
-
generatedTsconfig.include = ["./".concat(path.relative(targetDir, generatedIndex))];
|
|
127
|
-
return [4 /*yield*/, util_node_1.promisifiedFs.writeFile(targetDirTsconfig, JSON.stringify(generatedTsconfig, null, 4))];
|
|
128
|
-
case 5:
|
|
129
|
-
_a.sent();
|
|
130
|
-
_a.label = 6;
|
|
131
|
-
case 6: return [2 /*return*/];
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
var targetDir, targetDirTsconfig, sourceRootsRaw, sourceRoots, primaryRoot, publicEntryRelOverride, distDirRel, targetDirGenerated, generatedIndex;
|
|
69
|
+
var targetDir, sourceRootsRaw, sourceRoots, primaryRoot, publicEntryRelOverride, distDirRel, targetDirGenerated, generatedIndex, contract;
|
|
137
70
|
return __generator(this, function (_a) {
|
|
138
71
|
switch (_a.label) {
|
|
139
72
|
case 0:
|
|
140
73
|
targetDir = process.env.INIT_CWD;
|
|
141
|
-
targetDirTsconfig = path.join(targetDir, 'tsconfig.json');
|
|
142
74
|
sourceRootsRaw = (process.env.REFLECTION_SOURCE_DIRS || '')
|
|
143
75
|
.split(',')
|
|
144
76
|
.map(function (s) { return s.trim(); })
|
|
@@ -151,14 +83,18 @@ function build() {
|
|
|
151
83
|
? path.join(targetDir, 'generated', primaryRoot)
|
|
152
84
|
: path.join(targetDir, 'generated');
|
|
153
85
|
generatedIndex = path.join(targetDirGenerated, 'index.ts');
|
|
154
|
-
|
|
86
|
+
contract = new BuildContract_1.BuildContract({
|
|
87
|
+
packageDir: targetDir,
|
|
88
|
+
primaryRoot: primaryRoot,
|
|
89
|
+
distDirRel: distDirRel,
|
|
90
|
+
generatedIndexPath: generatedIndex,
|
|
91
|
+
fix: !!options.fix,
|
|
92
|
+
});
|
|
93
|
+
return [4 /*yield*/, contract.apply()];
|
|
155
94
|
case 1:
|
|
156
|
-
_a.sent();
|
|
157
|
-
return [4 /*yield*/, writeTsconfig()];
|
|
158
|
-
case 2:
|
|
159
95
|
_a.sent();
|
|
160
96
|
return [4 /*yield*/, (0, writeGeneratedIndex_1.writeGeneratedIndex)(targetDir, targetDirGenerated, generatedIndex, sourceRoots, publicEntryRelOverride)];
|
|
161
|
-
case
|
|
97
|
+
case 2:
|
|
162
98
|
_a.sent();
|
|
163
99
|
return [2 /*return*/];
|
|
164
100
|
}
|
package/dist/src/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,qEAAoE;AACpE,iDAAgD;AAOhD,SAAsB,KAAK,CAAC,OAA0B;IAA1B,wBAAA,EAAA,YAA0B;;;;;;oBAC9C,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAkB,CAAC;oBAK3C,cAAc,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;yBAC9D,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC;yBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;oBAGb,WAAW,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACnE,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAI7B,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;oBAE5D,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM,CAAC;oBAKvD,kBAAkB,GACtB,WAAW,IAAI,WAAW,KAAK,KAAK;wBAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;wBAChD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBAElC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;oBAK3D,QAAQ,GAAG,IAAI,6BAAa,CAAC;wBACjC,UAAU,EAAE,SAAS;wBACrB,WAAW,aAAA;wBACX,UAAU,YAAA;wBACV,kBAAkB,EAAE,cAAc;wBAClC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;qBACnB,CAAC,CAAC;oBACH,qBAAM,QAAQ,CAAC,KAAK,EAAE,EAAA;;oBAAtB,SAAsB,CAAC;oBAEvB,qBAAM,IAAA,yCAAmB,EAAC,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,CAAC,EAAA;;oBAA7G,SAA6G,CAAC;;;;;CAC/G;AA5CD,sBA4CC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Graph } from '@dagrejs/graphlib';
|
|
1
2
|
/**
|
|
2
3
|
* @param packageDir Root of the package (contains package.json)
|
|
3
4
|
* @param packageGeneratedDir Directory where generated/index.ts will be written
|
|
@@ -8,3 +9,27 @@
|
|
|
8
9
|
* If omitted, we re-export from '<packageRoot>/index'.
|
|
9
10
|
*/
|
|
10
11
|
export declare function writeGeneratedIndex(packageDir: string, packageGeneratedDir: string, generatedIndexPath: string, sourceRootsRel?: string | string[], publicEntryRelOverride?: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* True iff the dependency ships a reflection source graph (`dist/generated/index.js`, the
|
|
14
|
+
* artifact `writeGeneratedIndex` itself emits). Located by walking `node_modules` up from the
|
|
15
|
+
* consuming package — the npm layout lookup, immune to `exports`-map resolution restrictions
|
|
16
|
+
* and correct for workspace symlinks (the symlinked package root carries its own dist).
|
|
17
|
+
*/
|
|
18
|
+
export declare function dependencyHasSourceGraph(packageDir: string, packageName: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Full path to the dependency's source-graph artifact, or undefined when the dependency is
|
|
21
|
+
* not installed or not reflection-built. Same walk as `dependencyHasSourceGraph`; exposed for
|
|
22
|
+
* static graph harvesting (reflection-doctor).
|
|
23
|
+
*/
|
|
24
|
+
export declare function findDependencySourceGraph(packageDir: string, packageName: string): string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* The installed location of a dependency, resolved by walking `node_modules` up from the
|
|
27
|
+
* consuming package — npm-layout resolution: the nearest installed copy shadows hoisted ones.
|
|
28
|
+
*/
|
|
29
|
+
export declare function findDependencyDir(packageDir: string, packageName: string): string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* The graph exactly as a build emits it: parsed from the package's source roots, with
|
|
32
|
+
* build-time-non-loadable declarations pruned. Owned here so build emit and diagnostic
|
|
33
|
+
* tooling (reflection-doctor drift checks) share one pipeline.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createEmittedSourceGraph(packageDir: string, sourceRootsRel: string[]): Promise<Graph>;
|
|
@@ -62,7 +62,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
62
62
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
63
63
|
};
|
|
64
64
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
-
exports.writeGeneratedIndex = void 0;
|
|
65
|
+
exports.createEmittedSourceGraph = exports.findDependencyDir = exports.findDependencySourceGraph = exports.dependencyHasSourceGraph = exports.writeGeneratedIndex = void 0;
|
|
66
|
+
var fs = __importStar(require("fs"));
|
|
66
67
|
var path = __importStar(require("path"));
|
|
67
68
|
var util_node_1 = require("@proteinjs/util-node");
|
|
68
69
|
var util_1 = require("@proteinjs/util");
|
|
@@ -142,11 +143,11 @@ function sourceRepositoryLoader(packageDir, generatedIndexPath, sourceRootsRel)
|
|
|
142
143
|
packageJson = _a.sent();
|
|
143
144
|
code = loadDependencySourceGraphs(packageDir, packageJson);
|
|
144
145
|
roots = Array.isArray(sourceRootsRel) ? sourceRootsRel : [sourceRootsRel];
|
|
145
|
-
return [4 /*yield*/, (
|
|
146
|
+
return [4 /*yield*/, createEmittedSourceGraph(packageDir, roots)];
|
|
146
147
|
case 2:
|
|
147
148
|
sourceGraph = _a.sent();
|
|
148
|
-
code += generateSourceGraph(sourceGraph
|
|
149
|
-
code += generateSourceLinks(sourceGraph, packageJson, generatedIndexPath);
|
|
149
|
+
code += generateSourceGraph(sourceGraph);
|
|
150
|
+
code += generateSourceLinks(sourceGraph, packageJson, packageDir, generatedIndexPath);
|
|
150
151
|
code += mergeSourceGraph();
|
|
151
152
|
return [2 /*return*/, code];
|
|
152
153
|
}
|
|
@@ -179,11 +180,18 @@ function loadDependencySourceGraphs(packageDir, packageJson) {
|
|
|
179
180
|
.filter(Boolean);
|
|
180
181
|
if (packageJson.dependencies) {
|
|
181
182
|
for (var packageName in packageJson.dependencies) {
|
|
182
|
-
// Skip any packages listed in SKIP_REFLECTION_LOAD
|
|
183
|
+
// Skip any packages listed in SKIP_REFLECTION_LOAD (deliberate opt-out for deps that
|
|
184
|
+
// DO carry a graph but should not load in this package's context)
|
|
183
185
|
if (skipList.includes(packageName)) {
|
|
184
186
|
continue;
|
|
185
187
|
}
|
|
186
|
-
|
|
188
|
+
// Only reflection-built dependencies belong here: the import exists solely to run the
|
|
189
|
+
// dependency's generated index (SourceRepository.merge of its source graph). A dep is
|
|
190
|
+
// reflection-built iff it ships the artifact this same codegen emits —
|
|
191
|
+
// dist/generated/index.js. Everything else (icon sets, ui libs, utilities) contributed
|
|
192
|
+
// nothing at runtime while pinning its entire dependency root into every consumer's
|
|
193
|
+
// bundle (observed: ~19 duplicate FontAwesome set copies across the app bundle).
|
|
194
|
+
if (!dependencyHasSourceGraph(packageDir, packageName)) {
|
|
187
195
|
continue;
|
|
188
196
|
}
|
|
189
197
|
var specifier = getDependencyImportSpecifier(packageDir, packageName);
|
|
@@ -195,6 +203,50 @@ function loadDependencySourceGraphs(packageDir, packageJson) {
|
|
|
195
203
|
}
|
|
196
204
|
return code;
|
|
197
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* True iff the dependency ships a reflection source graph (`dist/generated/index.js`, the
|
|
208
|
+
* artifact `writeGeneratedIndex` itself emits). Located by walking `node_modules` up from the
|
|
209
|
+
* consuming package — the npm layout lookup, immune to `exports`-map resolution restrictions
|
|
210
|
+
* and correct for workspace symlinks (the symlinked package root carries its own dist).
|
|
211
|
+
*/
|
|
212
|
+
function dependencyHasSourceGraph(packageDir, packageName) {
|
|
213
|
+
return !!findDependencySourceGraph(packageDir, packageName);
|
|
214
|
+
}
|
|
215
|
+
exports.dependencyHasSourceGraph = dependencyHasSourceGraph;
|
|
216
|
+
/**
|
|
217
|
+
* Full path to the dependency's source-graph artifact, or undefined when the dependency is
|
|
218
|
+
* not installed or not reflection-built. Same walk as `dependencyHasSourceGraph`; exposed for
|
|
219
|
+
* static graph harvesting (reflection-doctor).
|
|
220
|
+
*/
|
|
221
|
+
function findDependencySourceGraph(packageDir, packageName) {
|
|
222
|
+
var dependencyDir = findDependencyDir(packageDir, packageName);
|
|
223
|
+
if (!dependencyDir) {
|
|
224
|
+
return undefined;
|
|
225
|
+
}
|
|
226
|
+
var artifactPath = path.join(dependencyDir, 'dist', 'generated', 'index.js');
|
|
227
|
+
return fs.existsSync(artifactPath) ? artifactPath : undefined;
|
|
228
|
+
}
|
|
229
|
+
exports.findDependencySourceGraph = findDependencySourceGraph;
|
|
230
|
+
/**
|
|
231
|
+
* The installed location of a dependency, resolved by walking `node_modules` up from the
|
|
232
|
+
* consuming package — npm-layout resolution: the nearest installed copy shadows hoisted ones.
|
|
233
|
+
*/
|
|
234
|
+
function findDependencyDir(packageDir, packageName) {
|
|
235
|
+
var currentDir = packageDir;
|
|
236
|
+
// Upward fs walk; exits are internal (found / fs root).
|
|
237
|
+
for (;;) {
|
|
238
|
+
var candidate = path.join(currentDir, 'node_modules', packageName);
|
|
239
|
+
if (fs.existsSync(candidate)) {
|
|
240
|
+
return candidate;
|
|
241
|
+
}
|
|
242
|
+
var parent_1 = path.dirname(currentDir);
|
|
243
|
+
if (parent_1 === currentDir) {
|
|
244
|
+
return undefined;
|
|
245
|
+
}
|
|
246
|
+
currentDir = parent_1;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
exports.findDependencyDir = findDependencyDir;
|
|
198
250
|
/**
|
|
199
251
|
* Determine an import specifier for a dependency that respects its package.json exports or main/module fields.
|
|
200
252
|
*/
|
|
@@ -250,8 +302,30 @@ function getDependencyImportSpecifier(packageDir, packageName) {
|
|
|
250
302
|
return "".concat(packageName, "/").concat(entryPoint);
|
|
251
303
|
}
|
|
252
304
|
}
|
|
253
|
-
|
|
254
|
-
|
|
305
|
+
/**
|
|
306
|
+
* The graph exactly as a build emits it: parsed from the package's source roots, with
|
|
307
|
+
* build-time-non-loadable declarations pruned. Owned here so build emit and diagnostic
|
|
308
|
+
* tooling (reflection-doctor drift checks) share one pipeline.
|
|
309
|
+
*/
|
|
310
|
+
function createEmittedSourceGraph(packageDir, sourceRootsRel) {
|
|
311
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
312
|
+
var packageJson, sourceGraph;
|
|
313
|
+
return __generator(this, function (_a) {
|
|
314
|
+
switch (_a.label) {
|
|
315
|
+
case 0: return [4 /*yield*/, getPackageJson(packageDir)];
|
|
316
|
+
case 1:
|
|
317
|
+
packageJson = _a.sent();
|
|
318
|
+
return [4 /*yield*/, (0, createSourceGraph_1.createSourceGraph)(packageDir, [], sourceRootsRel)];
|
|
319
|
+
case 2:
|
|
320
|
+
sourceGraph = _a.sent();
|
|
321
|
+
removeNonLoadables(sourceGraph, packageJson.name);
|
|
322
|
+
return [2 /*return*/, sourceGraph];
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
exports.createEmittedSourceGraph = createEmittedSourceGraph;
|
|
328
|
+
function generateSourceGraph(sourceGraph) {
|
|
255
329
|
var code = "\n\n/** Generate Source Graph */\n\n";
|
|
256
330
|
var serializedSourceGraph = util_1.graphSerializer.serialize(sourceGraph);
|
|
257
331
|
var doubleEscapedSerializedSourceGraph = (0, jsesc_1.default)(serializedSourceGraph, { json: true }); // since we write to file, need to escape a second time
|
|
@@ -303,11 +377,11 @@ function removeNonLoadableNode(packageScope, buildTargetPackageName, sourceGraph
|
|
|
303
377
|
shouldRemove = false;
|
|
304
378
|
continue;
|
|
305
379
|
}
|
|
306
|
-
var
|
|
307
|
-
if (!
|
|
380
|
+
var parent_2 = sourceGraph.node(outEdge.w);
|
|
381
|
+
if (!parent_2) {
|
|
308
382
|
continue;
|
|
309
383
|
}
|
|
310
|
-
if (!removeNonLoadableNode(
|
|
384
|
+
if (!removeNonLoadableNode(parent_2, buildTargetPackageName, sourceGraph)) {
|
|
311
385
|
shouldRemove = false;
|
|
312
386
|
}
|
|
313
387
|
}
|
|
@@ -316,7 +390,7 @@ function removeNonLoadableNode(packageScope, buildTargetPackageName, sourceGraph
|
|
|
316
390
|
}
|
|
317
391
|
return shouldRemove;
|
|
318
392
|
}
|
|
319
|
-
function generateSourceLinks(sourceGraph, packageJson, generatedIndexPath) {
|
|
393
|
+
function generateSourceLinks(sourceGraph, packageJson, packageDir, generatedIndexPath) {
|
|
320
394
|
var code = "\n\n/** Generate Source Links */\n\n";
|
|
321
395
|
var linkableNodes = [];
|
|
322
396
|
for (var _i = 0, _a = sourceGraph.nodes(); _i < _a.length; _i++) {
|
|
@@ -334,7 +408,9 @@ function generateSourceLinks(sourceGraph, packageJson, generatedIndexPath) {
|
|
|
334
408
|
if (!node.filePath) {
|
|
335
409
|
continue;
|
|
336
410
|
}
|
|
337
|
-
|
|
411
|
+
// node.filePath is package-relative (never serialized absolute); resolve against the
|
|
412
|
+
// package dir to compute the real import location for the generated index.
|
|
413
|
+
var relativeImportPath = path.relative(path.dirname(generatedIndexPath), path.join(packageDir, node.filePath));
|
|
338
414
|
code += "import { ".concat(node.name, " } from '").concat(relativeImportPath.replace(/\.[^/.]+$/, ''), "';\n");
|
|
339
415
|
linkableNodes.push(node);
|
|
340
416
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeGeneratedIndex.js","sourceRoot":"","sources":["../../../src/codegen/writeGeneratedIndex.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"writeGeneratedIndex.js","sourceRoot":"","sources":["../../../src/codegen/writeGeneratedIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -37,6 +60,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
37
60
|
};
|
|
38
61
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
62
|
exports.createGraphBuilder = void 0;
|
|
63
|
+
var path = __importStar(require("path"));
|
|
40
64
|
var typescript_parser_1 = require("../../modules/typescript-parser");
|
|
41
65
|
var reflection_1 = require("@proteinjs/reflection");
|
|
42
66
|
var util_1 = require("@proteinjs/util");
|
|
@@ -49,10 +73,11 @@ function createGraphBuilder(graph, packageJson, packageJsonDir) {
|
|
|
49
73
|
var _this = this;
|
|
50
74
|
var packageName = packageJson.name;
|
|
51
75
|
return function (parsedFile) { return __awaiter(_this, void 0, void 0, function () {
|
|
52
|
-
var _i, _a, declaration, packageNameFinder, variableDeclaration, typeAliasDeclaration, classDeclaration, _b, _c, parentInterface, _d, _e, parentClass, interfaceDeclaration, _f, _g, parentInterface;
|
|
76
|
+
var filePath, _i, _a, declaration, packageNameFinder, variableDeclaration, typeAliasDeclaration, classDeclaration, _b, _c, parentInterface, _d, _e, parentClass, interfaceDeclaration, _f, _g, parentInterface;
|
|
53
77
|
return __generator(this, function (_h) {
|
|
54
78
|
switch (_h.label) {
|
|
55
79
|
case 0:
|
|
80
|
+
filePath = path.relative(packageJsonDir, parsedFile.filePath);
|
|
56
81
|
_i = 0, _a = parsedFile.declarations;
|
|
57
82
|
_h.label = 1;
|
|
58
83
|
case 1:
|
|
@@ -66,7 +91,7 @@ function createGraphBuilder(graph, packageJson, packageJsonDir) {
|
|
|
66
91
|
}
|
|
67
92
|
packageNameFinder = new PackageNameFinder_1.PackageNameFinder(parsedFile, packageJsonDir, packageName);
|
|
68
93
|
if (!(0, util_1.isInstanceOf)(declaration, typescript_parser_1.VariableDeclaration)) return [3 /*break*/, 3];
|
|
69
|
-
return [4 /*yield*/, (0, createVariableDeclaration_1.createVariableDeclaration)(declaration, packageNameFinder,
|
|
94
|
+
return [4 /*yield*/, (0, createVariableDeclaration_1.createVariableDeclaration)(declaration, packageNameFinder, filePath)];
|
|
70
95
|
case 2:
|
|
71
96
|
variableDeclaration = _h.sent();
|
|
72
97
|
graph.setNode(variableDeclaration.qualifiedName, Object.assign(variableDeclaration, { sourceType: reflection_1.SourceType.variable }));
|
|
@@ -74,7 +99,7 @@ function createGraphBuilder(graph, packageJson, packageJsonDir) {
|
|
|
74
99
|
return [3 /*break*/, 9];
|
|
75
100
|
case 3:
|
|
76
101
|
if (!(0, util_1.isInstanceOf)(declaration, typescript_parser_1.TypeAliasDeclaration)) return [3 /*break*/, 5];
|
|
77
|
-
return [4 /*yield*/, (0, createTypeAliasDeclaration_1.createTypeAliasDeclaration)(declaration, packageNameFinder,
|
|
102
|
+
return [4 /*yield*/, (0, createTypeAliasDeclaration_1.createTypeAliasDeclaration)(declaration, packageNameFinder, filePath)];
|
|
78
103
|
case 4:
|
|
79
104
|
typeAliasDeclaration = _h.sent();
|
|
80
105
|
graph.setNode(typeAliasDeclaration.qualifiedName, Object.assign(typeAliasDeclaration, { sourceType: reflection_1.SourceType.typeAlias }));
|
|
@@ -82,7 +107,7 @@ function createGraphBuilder(graph, packageJson, packageJsonDir) {
|
|
|
82
107
|
return [3 /*break*/, 9];
|
|
83
108
|
case 5:
|
|
84
109
|
if (!(0, util_1.isInstanceOf)(declaration, typescript_parser_1.ClassDeclaration)) return [3 /*break*/, 7];
|
|
85
|
-
return [4 /*yield*/, (0, createClassDeclaration_1.createClassDeclaration)(declaration, packageNameFinder,
|
|
110
|
+
return [4 /*yield*/, (0, createClassDeclaration_1.createClassDeclaration)(declaration, packageNameFinder, filePath)];
|
|
86
111
|
case 6:
|
|
87
112
|
classDeclaration = _h.sent();
|
|
88
113
|
graph.setNode(classDeclaration.qualifiedName, Object.assign(classDeclaration, { sourceType: reflection_1.SourceType.class }));
|
|
@@ -109,7 +134,7 @@ function createGraphBuilder(graph, packageJson, packageJsonDir) {
|
|
|
109
134
|
return [3 /*break*/, 9];
|
|
110
135
|
case 7:
|
|
111
136
|
if (!(0, util_1.isInstanceOf)(declaration, typescript_parser_1.InterfaceDeclaration)) return [3 /*break*/, 9];
|
|
112
|
-
return [4 /*yield*/, (0, createInterfaceDeclaration_1.createInterfaceDeclaration)(declaration, packageNameFinder,
|
|
137
|
+
return [4 /*yield*/, (0, createInterfaceDeclaration_1.createInterfaceDeclaration)(declaration, packageNameFinder, filePath)];
|
|
113
138
|
case 8:
|
|
114
139
|
interfaceDeclaration = _h.sent();
|
|
115
140
|
graph.setNode(interfaceDeclaration.qualifiedName, Object.assign(interfaceDeclaration, { sourceType: reflection_1.SourceType.interface }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGraphBuilder.js","sourceRoot":"","sources":["../../../src/parser/createGraphBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createGraphBuilder.js","sourceRoot":"","sources":["../../../src/parser/createGraphBuilder.ts"],"names":[],"mappings":"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"}
|
package/dist/src/runBuild.js
CHANGED
|
@@ -40,12 +40,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
40
40
|
var build_1 = require("./build");
|
|
41
41
|
(function () {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function () {
|
|
43
|
+
var error_1;
|
|
43
44
|
return __generator(this, function (_a) {
|
|
44
45
|
switch (_a.label) {
|
|
45
|
-
case 0:
|
|
46
|
+
case 0:
|
|
47
|
+
_a.trys.push([0, 2, , 3]);
|
|
48
|
+
return [4 /*yield*/, (0, build_1.build)({ fix: process.argv.includes('--fix') })];
|
|
46
49
|
case 1:
|
|
47
50
|
_a.sent();
|
|
48
|
-
return [
|
|
51
|
+
return [3 /*break*/, 3];
|
|
52
|
+
case 2:
|
|
53
|
+
error_1 = _a.sent();
|
|
54
|
+
// Contract conflicts are a diagnosis for humans — print the message, not a stack trace.
|
|
55
|
+
console.error(error_1 instanceof Error ? error_1.message : error_1);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
return [3 /*break*/, 3];
|
|
58
|
+
case 3: return [2 /*return*/];
|
|
49
59
|
}
|
|
50
60
|
});
|
|
51
61
|
});
|
package/dist/src/runBuild.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runBuild.js","sourceRoot":"","sources":["../../src/runBuild.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iCAAgC;AAEhC,CAAC
|
|
1
|
+
{"version":3,"file":"runBuild.js","sourceRoot":"","sources":["../../src/runBuild.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iCAAgC;AAEhC,CAAC;;;;;;;oBAEG,qBAAM,IAAA,aAAK,EAAC,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAA;;oBAApD,SAAoD,CAAC;;;;oBAErD,wFAAwF;oBACxF,OAAO,CAAC,KAAK,CAAC,OAAK,YAAY,KAAK,CAAC,CAAC,CAAC,OAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAK,CAAC,CAAC;oBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;CAEnB,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
13
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
14
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
15
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
16
|
+
function step(op) {
|
|
17
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
18
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
19
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
20
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
21
|
+
switch (op[0]) {
|
|
22
|
+
case 0: case 1: t = op; break;
|
|
23
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
24
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
25
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
26
|
+
default:
|
|
27
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
28
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
29
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
30
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
31
|
+
if (t[2]) _.ops.pop();
|
|
32
|
+
_.trys.pop(); continue;
|
|
33
|
+
}
|
|
34
|
+
op = body.call(thisArg, _);
|
|
35
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
36
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
var ReflectionDoctor_1 = require("./ReflectionDoctor");
|
|
41
|
+
(function () {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
43
|
+
var packageDir, skipList, doctor, explainIndex, target, explanation, report, error_1;
|
|
44
|
+
return __generator(this, function (_a) {
|
|
45
|
+
switch (_a.label) {
|
|
46
|
+
case 0:
|
|
47
|
+
_a.trys.push([0, 4, , 5]);
|
|
48
|
+
packageDir = process.env.INIT_CWD || process.cwd();
|
|
49
|
+
skipList = (process.env.SKIP_REFLECTION_LOAD || '')
|
|
50
|
+
.split(',')
|
|
51
|
+
.map(function (s) { return s.trim(); })
|
|
52
|
+
.filter(Boolean);
|
|
53
|
+
doctor = new ReflectionDoctor_1.ReflectionDoctor(packageDir, { skipList: skipList });
|
|
54
|
+
explainIndex = process.argv.indexOf('--explain');
|
|
55
|
+
if (!(explainIndex !== -1)) return [3 /*break*/, 2];
|
|
56
|
+
target = process.argv[explainIndex + 1];
|
|
57
|
+
if (!target) {
|
|
58
|
+
console.error("usage: reflection-doctor [--explain <name|qualifiedName>]");
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
return [4 /*yield*/, doctor.explain(target)];
|
|
62
|
+
case 1:
|
|
63
|
+
explanation = _a.sent();
|
|
64
|
+
console.log(explanation.text);
|
|
65
|
+
return [2 /*return*/];
|
|
66
|
+
case 2: return [4 /*yield*/, doctor.diagnose()];
|
|
67
|
+
case 3:
|
|
68
|
+
report = _a.sent();
|
|
69
|
+
console.log(report.text);
|
|
70
|
+
// Diagnostic exit code: orphans/drift fail CI-style callers.
|
|
71
|
+
process.exit(report.healthy ? 0 : 1);
|
|
72
|
+
return [3 /*break*/, 5];
|
|
73
|
+
case 4:
|
|
74
|
+
error_1 = _a.sent();
|
|
75
|
+
console.error(error_1 instanceof Error ? error_1.message : error_1);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
return [3 /*break*/, 5];
|
|
78
|
+
case 5: return [2 /*return*/];
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
})();
|
|
83
|
+
//# sourceMappingURL=runDoctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runDoctor.js","sourceRoot":"","sources":["../../src/runDoctor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uDAAsD;AAEtD,CAAC;;;;;;;oBAES,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;oBACnD,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;yBACtD,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC;yBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;oBACb,MAAM,GAAG,IAAI,mCAAgB,CAAC,UAAU,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;oBAExD,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;yBACnD,CAAA,YAAY,KAAK,CAAC,CAAC,CAAA,EAAnB,wBAAmB;oBACf,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;oBAC9C,IAAI,CAAC,MAAM,EAAE;wBACX,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;wBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACjB;oBACmB,qBAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;oBAA1C,WAAW,GAAG,SAA4B;oBAChD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC9B,sBAAO;wBAGM,qBAAM,MAAM,CAAC,QAAQ,EAAE,EAAA;;oBAAhC,MAAM,GAAG,SAAuB;oBACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACzB,6DAA6D;oBAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;oBAErC,OAAO,CAAC,KAAK,CAAC,OAAK,YAAY,KAAK,CAAC,CAAC,CAAC,OAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAK,CAAC,CAAC;oBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;;CAEnB,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|