@proteinjs/reflection-build 2.0.3 → 2.1.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.
Files changed (176) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/src/ReflectionDoctor.d.ts +6 -1
  3. package/dist/src/ReflectionDoctor.js +53 -51
  4. package/dist/src/ReflectionDoctor.js.map +1 -1
  5. package/dist/src/codegen/CanonicalSourceGraph.d.ts +22 -0
  6. package/dist/src/codegen/CanonicalSourceGraph.js +60 -0
  7. package/dist/src/codegen/CanonicalSourceGraph.js.map +1 -0
  8. package/dist/src/codegen/writeGeneratedIndex.d.ts +12 -3
  9. package/dist/src/codegen/writeGeneratedIndex.js +21 -13
  10. package/dist/src/codegen/writeGeneratedIndex.js.map +1 -1
  11. package/dist/src/parser/PackageSourceFiles.d.ts +30 -0
  12. package/dist/src/parser/PackageSourceFiles.js +151 -0
  13. package/dist/src/parser/PackageSourceFiles.js.map +1 -0
  14. package/dist/src/parser/SharedQualifiedNames.d.ts +43 -0
  15. package/dist/src/parser/SharedQualifiedNames.js +81 -0
  16. package/dist/src/parser/SharedQualifiedNames.js.map +1 -0
  17. package/dist/src/parser/createGraphBuilder.d.ts +6 -1
  18. package/dist/src/parser/createGraphBuilder.js +16 -31
  19. package/dist/src/parser/createGraphBuilder.js.map +1 -1
  20. package/dist/src/parser/createSourceGraph.d.ts +6 -1
  21. package/dist/src/parser/createSourceGraph.js +23 -38
  22. package/dist/src/parser/createSourceGraph.js.map +1 -1
  23. package/dist/test/Class.test.js +1 -1
  24. package/dist/test/Class.test.js.map +1 -1
  25. package/dist/test/ExamplePackageFixture.d.ts +47 -0
  26. package/dist/test/ExamplePackageFixture.js +207 -0
  27. package/dist/test/ExamplePackageFixture.js.map +1 -0
  28. package/dist/test/GraphEmitRelativePaths.test.js +1 -1
  29. package/dist/test/GraphEmitRelativePaths.test.js.map +1 -1
  30. package/dist/test/PackageSourceFiles.test.d.ts +1 -0
  31. package/dist/test/PackageSourceFiles.test.js +57 -0
  32. package/dist/test/PackageSourceFiles.test.js.map +1 -0
  33. package/dist/test/ReflectionDoctor.test.js +55 -18
  34. package/dist/test/ReflectionDoctor.test.js.map +1 -1
  35. package/dist/test/ReproducibleGeneratedIndex.test.d.ts +1 -0
  36. package/dist/test/ReproducibleGeneratedIndex.test.js +224 -0
  37. package/dist/test/ReproducibleGeneratedIndex.test.js.map +1 -0
  38. package/dist/test/SharedQualifiedNames.test.d.ts +1 -0
  39. package/dist/test/SharedQualifiedNames.test.js +186 -0
  40. package/dist/test/SharedQualifiedNames.test.js.map +1 -0
  41. package/dist/test/examples/reproducible/index.d.ts +4 -0
  42. package/dist/test/examples/reproducible/index.js +21 -0
  43. package/dist/test/examples/reproducible/index.js.map +1 -0
  44. package/dist/test/examples/reproducible/src/alpha/Alpha.d.ts +10 -0
  45. package/dist/test/examples/reproducible/src/alpha/Alpha.js +18 -0
  46. package/dist/test/examples/reproducible/src/alpha/Alpha.js.map +1 -0
  47. package/dist/test/examples/reproducible/src/alpha/Defaults.d.ts +2 -0
  48. package/dist/test/examples/reproducible/src/alpha/Defaults.js +6 -0
  49. package/dist/test/examples/reproducible/src/alpha/Defaults.js.map +1 -0
  50. package/dist/test/examples/reproducible/src/beta/Beta.d.ts +5 -0
  51. package/dist/test/examples/reproducible/src/beta/Beta.js +12 -0
  52. package/dist/test/examples/reproducible/src/beta/Beta.js.map +1 -0
  53. package/dist/test/examples/reproducible/src/beta/deep/Gamma.d.ts +4 -0
  54. package/dist/test/examples/reproducible/src/beta/deep/Gamma.js +11 -0
  55. package/dist/test/examples/reproducible/src/beta/deep/Gamma.js.map +1 -0
  56. package/dist/test/examples/reproducible/src/zeta/Defaults.d.ts +2 -0
  57. package/dist/test/examples/reproducible/src/zeta/Defaults.js +6 -0
  58. package/dist/test/examples/reproducible/src/zeta/Defaults.js.map +1 -0
  59. package/dist/test/examples/reproducible/src/zeta/Zeta.d.ts +7 -0
  60. package/dist/test/examples/reproducible/src/zeta/Zeta.js +18 -0
  61. package/dist/test/examples/reproducible/src/zeta/Zeta.js.map +1 -0
  62. package/dist/test/examples/shared-name/index.d.ts +1 -0
  63. package/dist/test/examples/shared-name/index.js +18 -0
  64. package/dist/test/examples/shared-name/index.js.map +1 -0
  65. package/dist/test/examples/shared-name/src/alpha/Widget.d.ts +4 -0
  66. package/dist/test/examples/shared-name/src/alpha/Widget.js +3 -0
  67. package/dist/test/examples/shared-name/src/alpha/Widget.js.map +1 -0
  68. package/dist/test/examples/shared-name/src/beta/Widget.d.ts +3 -0
  69. package/dist/test/examples/shared-name/src/beta/Widget.js +13 -0
  70. package/dist/test/examples/shared-name/src/beta/Widget.js.map +1 -0
  71. package/dist/test/examples/shared-name/src/gamma/Gear.d.ts +7 -0
  72. package/dist/test/examples/shared-name/src/gamma/Gear.js +5 -0
  73. package/dist/test/examples/shared-name/src/gamma/Gear.js.map +1 -0
  74. package/dist/test/examples/shared-name-pruned/index.d.ts +1 -0
  75. package/dist/test/examples/shared-name-pruned/index.js +18 -0
  76. package/dist/test/examples/shared-name-pruned/index.js.map +1 -0
  77. package/dist/test/examples/shared-name-pruned/src/alpha/Limits.d.ts +3 -0
  78. package/dist/test/examples/shared-name-pruned/src/alpha/Limits.js +6 -0
  79. package/dist/test/examples/shared-name-pruned/src/alpha/Limits.js.map +1 -0
  80. package/dist/test/examples/shared-name-pruned/src/alpha/Shape.d.ts +3 -0
  81. package/dist/test/examples/shared-name-pruned/src/alpha/Shape.js +3 -0
  82. package/dist/test/examples/shared-name-pruned/src/alpha/Shape.js.map +1 -0
  83. package/dist/test/examples/shared-name-pruned/src/alpha/Tile.d.ts +7 -0
  84. package/dist/test/examples/shared-name-pruned/src/alpha/Tile.js +11 -0
  85. package/dist/test/examples/shared-name-pruned/src/alpha/Tile.js.map +1 -0
  86. package/dist/test/examples/shared-name-pruned/src/beta/Limits.d.ts +3 -0
  87. package/dist/test/examples/shared-name-pruned/src/beta/Limits.js +6 -0
  88. package/dist/test/examples/shared-name-pruned/src/beta/Limits.js.map +1 -0
  89. package/dist/test/examples/shared-name-pruned/src/beta/Shape.d.ts +3 -0
  90. package/dist/test/examples/shared-name-pruned/src/beta/Shape.js +3 -0
  91. package/dist/test/examples/shared-name-pruned/src/beta/Shape.js.map +1 -0
  92. package/dist/test/examples/source-repository/a/generated/index.js +28 -28
  93. package/dist/test/examples/source-repository/a/generated/index.js.map +1 -1
  94. package/dist/test/examples/source-repository/a/src/ExtendsForeignType.d.ts +1 -1
  95. package/dist/test/examples/source-repository/a/src/ExtendsForeignType.js +5 -5
  96. package/dist/test/examples/source-repository/a/src/ExtendsForeignType.js.map +1 -1
  97. package/dist/test/examples/source-repository/b/generated/index.js +3 -3
  98. package/dist/test/examples/source-repository/b/generated/index.js.map +1 -1
  99. package/package.json +2 -2
  100. package/src/ReflectionDoctor.ts +37 -17
  101. package/src/codegen/CanonicalSourceGraph.ts +50 -0
  102. package/src/codegen/writeGeneratedIndex.ts +35 -9
  103. package/src/parser/PackageSourceFiles.ts +66 -0
  104. package/src/parser/SharedQualifiedNames.ts +76 -0
  105. package/src/parser/createGraphBuilder.ts +25 -10
  106. package/src/parser/createSourceGraph.ts +14 -16
  107. package/test/Class.test.ts +1 -1
  108. package/test/ExamplePackageFixture.ts +142 -0
  109. package/test/GraphEmitRelativePaths.test.ts +1 -1
  110. package/test/PackageSourceFiles.test.ts +42 -0
  111. package/test/ReflectionDoctor.test.ts +50 -12
  112. package/test/ReproducibleGeneratedIndex.test.ts +114 -0
  113. package/test/SharedQualifiedNames.test.ts +89 -0
  114. package/test/examples/reproducible/index.ts +4 -0
  115. package/test/examples/reproducible/src/alpha/Alpha.ts +13 -0
  116. package/test/examples/reproducible/src/alpha/Defaults.ts +4 -0
  117. package/test/examples/reproducible/src/beta/Beta.ts +7 -0
  118. package/test/examples/reproducible/src/beta/deep/Gamma.ts +5 -0
  119. package/test/examples/reproducible/src/zeta/Defaults.ts +4 -0
  120. package/test/examples/reproducible/src/zeta/Zeta.ts +9 -0
  121. package/test/examples/shared-name/index.ts +1 -0
  122. package/test/examples/shared-name/src/alpha/Widget.ts +6 -0
  123. package/test/examples/shared-name/src/beta/Widget.ts +5 -0
  124. package/test/examples/shared-name/src/gamma/Gear.ts +9 -0
  125. package/test/examples/shared-name-pruned/index.ts +1 -0
  126. package/test/examples/shared-name-pruned/src/alpha/Limits.ts +2 -0
  127. package/test/examples/shared-name-pruned/src/alpha/Shape.ts +3 -0
  128. package/test/examples/shared-name-pruned/src/alpha/Tile.ts +9 -0
  129. package/test/examples/shared-name-pruned/src/beta/Limits.ts +2 -0
  130. package/test/examples/shared-name-pruned/src/beta/Shape.ts +4 -0
  131. package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.d.ts +22 -0
  132. package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.js +60 -0
  133. package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.js.map +1 -0
  134. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.d.ts +12 -3
  135. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js +21 -13
  136. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js.map +1 -1
  137. package/test/examples/source-repository/a/dist/generated/index.js +28 -28
  138. package/test/examples/source-repository/a/dist/generated/index.js.map +1 -1
  139. package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.d.ts +30 -0
  140. package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.js +151 -0
  141. package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.js.map +1 -0
  142. package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.d.ts +43 -0
  143. package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.js +81 -0
  144. package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.js.map +1 -0
  145. package/test/examples/source-repository/a/dist/parser/createGraphBuilder.d.ts +6 -1
  146. package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js +16 -31
  147. package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js.map +1 -1
  148. package/test/examples/source-repository/a/dist/parser/createSourceGraph.d.ts +6 -1
  149. package/test/examples/source-repository/a/dist/parser/createSourceGraph.js +23 -38
  150. package/test/examples/source-repository/a/dist/parser/createSourceGraph.js.map +1 -1
  151. package/test/examples/source-repository/a/dist/src/ExtendsForeignType.d.ts +1 -1
  152. package/test/examples/source-repository/a/dist/src/ExtendsForeignType.js +5 -5
  153. package/test/examples/source-repository/a/dist/src/ExtendsForeignType.js.map +1 -1
  154. package/test/examples/source-repository/a/generated/index.ts +44 -44
  155. package/test/examples/source-repository/a/src/ExtendsForeignType.ts +1 -1
  156. package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.d.ts +22 -0
  157. package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.js +60 -0
  158. package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.js.map +1 -0
  159. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.d.ts +12 -3
  160. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js +21 -13
  161. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js.map +1 -1
  162. package/test/examples/source-repository/b/dist/generated/index.js +3 -3
  163. package/test/examples/source-repository/b/dist/generated/index.js.map +1 -1
  164. package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.d.ts +30 -0
  165. package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.js +151 -0
  166. package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.js.map +1 -0
  167. package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.d.ts +43 -0
  168. package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.js +81 -0
  169. package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.js.map +1 -0
  170. package/test/examples/source-repository/b/dist/parser/createGraphBuilder.d.ts +6 -1
  171. package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js +16 -31
  172. package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js.map +1 -1
  173. package/test/examples/source-repository/b/dist/parser/createSourceGraph.d.ts +6 -1
  174. package/test/examples/source-repository/b/dist/parser/createSourceGraph.js +23 -38
  175. package/test/examples/source-repository/b/dist/parser/createSourceGraph.js.map +1 -1
  176. package/test/examples/source-repository/b/generated/index.ts +6 -6
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.1.0](https://github.com/proteinjs/reflection/compare/@proteinjs/reflection-build@2.0.3...@proteinjs/reflection-build@2.1.0) (2026-09-24)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * reproducible generated index — sources parse in package-relative path order, the source graph is emitted in canonical order ([82db62e](https://github.com/proteinjs/reflection/commit/82db62ec245e25797b3c79bdb52a192b94d70d44))
12
+
13
+
14
+ ### Features
15
+
16
+ * reflection-build refuses a name exported by two files when it reaches the generated index ([f024328](https://github.com/proteinjs/reflection/commit/f024328f879e71df665ce1731585a84288d28b37))
17
+
18
+
19
+
20
+
21
+
6
22
  ## [2.0.3](https://github.com/proteinjs/reflection/compare/@proteinjs/reflection-build@2.0.2...@proteinjs/reflection-build@2.0.3) (2026-09-13)
7
23
 
8
24
  **Note:** Version bump only for package @proteinjs/reflection-build
@@ -1,3 +1,4 @@
1
+ import { SharedQualifiedName } from './parser/SharedQualifiedNames';
1
2
  export interface DoctorReport {
2
3
  text: string;
3
4
  healthy: boolean;
@@ -18,6 +19,8 @@ export interface DoctorReport {
18
19
  /** declarations in the built artifact no longer in sources (stale dist) */
19
20
  onlyInDist: string[];
20
21
  };
22
+ /** names in current sources that two or more files declare and that reach the graph (reflection-build refuses these sources) */
23
+ sharedNames: SharedQualifiedName[];
21
24
  orphans: Orphan[];
22
25
  }
23
26
  export interface Orphan {
@@ -37,7 +40,9 @@ export interface Explanation {
37
40
  * the runtime would merge).
38
41
  *
39
42
  * - `diagnose()` prints the registered inventory (deps with graphs / without / skip-listed),
40
- * this package's node+edge+sourceLink counts, emitted-vs-source drift (stale dist), and
43
+ * this package's node+edge+sourceLink counts, emitted-vs-source drift (stale dist), SHARED
44
+ * NAMES: names in current sources that two files declare and that reach the graph (the build
45
+ * refuses these sources; an artifact built before the refusal kept one file's declaration), and
41
46
  * ORPHANS: nodes the build kept because a parent is foreign, whose parent's package
42
47
  * resolves to no loadable graph — the undeclared-dep / typo footgun that the runtime
43
48
  * silently prunes today.
@@ -58,16 +58,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
58
58
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
59
  }
60
60
  };
61
- var __importDefault = (this && this.__importDefault) || function (mod) {
62
- return (mod && mod.__esModule) ? mod : { "default": mod };
63
- };
64
61
  Object.defineProperty(exports, "__esModule", { value: true });
65
62
  exports.ReflectionDoctor = void 0;
66
63
  var fs = __importStar(require("fs"));
67
64
  var path = __importStar(require("path"));
68
- var globby_1 = __importDefault(require("globby"));
69
65
  var typescript_parser_1 = require("../modules/typescript-parser");
70
66
  var writeGeneratedIndex_1 = require("./codegen/writeGeneratedIndex");
67
+ var PackageSourceFiles_1 = require("./parser/PackageSourceFiles");
71
68
  var LOADABLE_QUALIFIED_NAME = '@proteinjs/reflection/Loadable';
72
69
  var SOURCE_REPOSITORY_FILTER_QUALIFIED_NAME = '@proteinjs/reflection/SourceRepositoryFilter';
73
70
  /**
@@ -78,7 +75,9 @@ var SOURCE_REPOSITORY_FILTER_QUALIFIED_NAME = '@proteinjs/reflection/SourceRepos
78
75
  * the runtime would merge).
79
76
  *
80
77
  * - `diagnose()` prints the registered inventory (deps with graphs / without / skip-listed),
81
- * this package's node+edge+sourceLink counts, emitted-vs-source drift (stale dist), and
78
+ * this package's node+edge+sourceLink counts, emitted-vs-source drift (stale dist), SHARED
79
+ * NAMES: names in current sources that two files declare and that reach the graph (the build
80
+ * refuses these sources; an artifact built before the refusal kept one file's declaration), and
82
81
  * ORPHANS: nodes the build kept because a parent is foreign, whose parent's package
83
82
  * resolves to no loadable graph — the undeclared-dep / typo footgun that the runtime
84
83
  * silently prunes today.
@@ -93,7 +92,7 @@ var ReflectionDoctor = /** @class */ (function () {
93
92
  }
94
93
  ReflectionDoctor.prototype.diagnose = function () {
95
94
  return __awaiter(this, void 0, void 0, function () {
96
- var packageJson, universe, own, dependencies, drift, orphans, sourceLinkCount, healthy, report;
95
+ var packageJson, universe, own, dependencies, fresh, drift, orphans, sourceLinkCount, healthy, report;
97
96
  return __generator(this, function (_a) {
98
97
  switch (_a.label) {
99
98
  case 0:
@@ -101,12 +100,16 @@ var ReflectionDoctor = /** @class */ (function () {
101
100
  universe = this.harvestUniverse(packageJson);
102
101
  own = universe.graphs[packageJson.name];
103
102
  dependencies = this.dependencyInventory(packageJson);
104
- return [4 /*yield*/, this.computeDrift(packageJson, own.graph)];
103
+ return [4 /*yield*/, (0, writeGeneratedIndex_1.createEmittedSourceGraph)(this.packageDir, ['src'])];
105
104
  case 1:
106
- drift = _a.sent();
105
+ fresh = _a.sent();
106
+ drift = this.computeDrift(fresh.graph, own.graph);
107
107
  orphans = this.findOrphans(packageJson, universe);
108
108
  sourceLinkCount = this.parseSourceLinkKeys(fs.readFileSync(own.artifactPath, 'utf-8')).length;
109
- healthy = orphans.length === 0 && drift.missingFromDist.length === 0 && drift.onlyInDist.length === 0;
109
+ healthy = orphans.length === 0 &&
110
+ drift.missingFromDist.length === 0 &&
111
+ drift.onlyInDist.length === 0 &&
112
+ fresh.sharedNames.length === 0;
110
113
  report = {
111
114
  text: '',
112
115
  healthy: healthy,
@@ -115,6 +118,7 @@ var ReflectionDoctor = /** @class */ (function () {
115
118
  edgeCount: own.graph.edges.length,
116
119
  sourceLinkCount: sourceLinkCount,
117
120
  drift: drift,
121
+ sharedNames: fresh.sharedNames,
118
122
  orphans: orphans,
119
123
  };
120
124
  report.text = this.formatReport(packageJson.name, own.artifactPath, report);
@@ -286,35 +290,25 @@ var ReflectionDoctor = /** @class */ (function () {
286
290
  return orphans;
287
291
  };
288
292
  /** Emitted-vs-source drift: rebuild-needed detection for the prod graph. */
289
- ReflectionDoctor.prototype.computeDrift = function (packageJson, emittedGraph) {
290
- return __awaiter(this, void 0, void 0, function () {
291
- var freshGraph, freshValued, _i, _a, nodeName, emittedValued, _b, _c, node;
292
- return __generator(this, function (_d) {
293
- switch (_d.label) {
294
- case 0: return [4 /*yield*/, (0, writeGeneratedIndex_1.createEmittedSourceGraph)(this.packageDir, ['src'])];
295
- case 1:
296
- freshGraph = _d.sent();
297
- freshValued = {};
298
- for (_i = 0, _a = freshGraph.nodes(); _i < _a.length; _i++) {
299
- nodeName = _a[_i];
300
- if (freshGraph.node(nodeName)) {
301
- freshValued[nodeName] = true;
302
- }
303
- }
304
- emittedValued = {};
305
- for (_b = 0, _c = emittedGraph.nodes; _b < _c.length; _b++) {
306
- node = _c[_b];
307
- if (node.value) {
308
- emittedValued[node.v] = true;
309
- }
310
- }
311
- return [2 /*return*/, {
312
- missingFromDist: Object.keys(freshValued).filter(function (qualifiedName) { return !emittedValued[qualifiedName]; }),
313
- onlyInDist: Object.keys(emittedValued).filter(function (qualifiedName) { return !freshValued[qualifiedName]; }),
314
- }];
315
- }
316
- });
317
- });
293
+ ReflectionDoctor.prototype.computeDrift = function (freshGraph, emittedGraph) {
294
+ var freshValued = {};
295
+ for (var _i = 0, _a = freshGraph.nodes(); _i < _a.length; _i++) {
296
+ var nodeName = _a[_i];
297
+ if (freshGraph.node(nodeName)) {
298
+ freshValued[nodeName] = true;
299
+ }
300
+ }
301
+ var emittedValued = {};
302
+ for (var _b = 0, _c = emittedGraph.nodes; _b < _c.length; _b++) {
303
+ var node = _c[_b];
304
+ if (node.value) {
305
+ emittedValued[node.v] = true;
306
+ }
307
+ }
308
+ return {
309
+ missingFromDist: Object.keys(freshValued).filter(function (qualifiedName) { return !emittedValued[qualifiedName]; }),
310
+ onlyInDist: Object.keys(emittedValued).filter(function (qualifiedName) { return !freshValued[qualifiedName]; }),
311
+ };
318
312
  };
319
313
  /**
320
314
  * Statically harvest this package's graph and, transitively, every reflection-built
@@ -427,7 +421,7 @@ var ReflectionDoctor = /** @class */ (function () {
427
421
  : nameOrQualifiedName;
428
422
  return [4 /*yield*/, (0, writeGeneratedIndex_1.createEmittedSourceGraph)(this.packageDir, ['src'])];
429
423
  case 1:
430
- freshGraph = _a.sent();
424
+ freshGraph = (_a.sent()).graph;
431
425
  freshMatch = freshGraph
432
426
  .nodes()
433
427
  .find(function (qualifiedName) { return freshGraph.node(qualifiedName) && qualifiedName.endsWith("/".concat(name)); });
@@ -454,17 +448,10 @@ var ReflectionDoctor = /** @class */ (function () {
454
448
  /** Raw parser pass over src — sees non-exported declarations the graph never contains. */
455
449
  ReflectionDoctor.prototype.findDeclarationInSources = function (name) {
456
450
  return __awaiter(this, void 0, void 0, function () {
457
- var patterns, sourceFilePaths, parser, _i, sourceFilePaths_1, sourceFilePath, parsedFile, _a, _b, declaration;
451
+ var sourceFilePaths, parser, _i, sourceFilePaths_1, sourceFilePath, parsedFile, _a, _b, declaration;
458
452
  return __generator(this, function (_c) {
459
453
  switch (_c.label) {
460
- case 0:
461
- patterns = [
462
- path.join(this.packageDir, 'src', '**/*.ts'),
463
- path.join(this.packageDir, 'src', '**/*.tsx'),
464
- '!**/node_modules/**',
465
- '!**/generated/**',
466
- ];
467
- return [4 /*yield*/, (0, globby_1.default)(patterns)];
454
+ case 0: return [4 /*yield*/, new PackageSourceFiles_1.PackageSourceFiles(this.packageDir, ['src']).list()];
468
455
  case 1:
469
456
  sourceFilePaths = _c.sent();
470
457
  parser = new typescript_parser_1.TypescriptParser();
@@ -480,7 +467,7 @@ var ReflectionDoctor = /** @class */ (function () {
480
467
  declaration = _b[_a];
481
468
  if (declaration.name === name) {
482
469
  return [2 /*return*/, {
483
- filePath: path.relative(this.packageDir, sourceFilePath),
470
+ filePath: PackageSourceFiles_1.PackageSourceFiles.relativePath(this.packageDir, sourceFilePath),
484
471
  isExported: !!declaration.isExported,
485
472
  }];
486
473
  }
@@ -554,14 +541,29 @@ var ReflectionDoctor = /** @class */ (function () {
554
541
  lines.push(" in artifact, not in sources: ".concat(qualifiedName));
555
542
  }
556
543
  }
544
+ if (report.sharedNames.length === 0) {
545
+ lines.push("Shared names: none \u2014 each name in the graph has one declaring file");
546
+ }
547
+ else {
548
+ lines.push("Shared names: reflection-build refuses these sources \u2014 each name below reaches the graph from more than " +
549
+ "one file, and the graph keeps one declaration per name; give each declaration its own name");
550
+ for (var _d = 0, _e = report.sharedNames; _d < _e.length; _d++) {
551
+ var _f = _e[_d], qualifiedName = _f.qualifiedName, filePaths = _f.filePaths;
552
+ lines.push(" ".concat(qualifiedName));
553
+ for (var _g = 0, filePaths_1 = filePaths; _g < filePaths_1.length; _g++) {
554
+ var filePath = filePaths_1[_g];
555
+ lines.push(" declared in ".concat(filePath));
556
+ }
557
+ }
558
+ }
557
559
  lines.push('');
558
560
  if (report.orphans.length === 0) {
559
561
  lines.push("Orphans: none \u2014 every foreign parent resolves in a loaded graph");
560
562
  }
561
563
  else {
562
564
  lines.push("Orphans (kept at build, silently pruned at runtime \u2014 parent resolves in NO loaded graph):");
563
- for (var _d = 0, _e = report.orphans; _d < _e.length; _d++) {
564
- var orphan = _e[_d];
565
+ for (var _h = 0, _j = report.orphans; _h < _j.length; _h++) {
566
+ var orphan = _j[_h];
565
567
  lines.push(" ".concat(orphan.qualifiedName, " -> ").concat(orphan.unresolvedParent));
566
568
  lines.push(" ".concat(orphan.cause));
567
569
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectionDoctor.js","sourceRoot":"","sources":["../../src/ReflectionDoctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReflectionDoctor.js","sourceRoot":"","sources":["../../src/ReflectionDoctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Graph } from '@dagrejs/graphlib';
2
+ /**
3
+ * The emitted form of a source graph: the same nodes, values and edges, in an order that is a
4
+ * function of the graph's content alone — never of the order the builder happened to visit the
5
+ * sources or insert placeholder parents. The generated index serializes nodes and edges in
6
+ * insertion order, so this order is the artifact's byte order (and the runtime's `objects()`
7
+ * order within one package).
8
+ *
9
+ * - Nodes by the declaring file's package-relative path, then by qualified name. A placeholder
10
+ * (a parent referenced here but declared elsewhere) has no file and sorts by name ahead of
11
+ * the declared nodes.
12
+ * - Edges by child, then parent (a source graph is never a multigraph: one edge per pair).
13
+ *
14
+ * Both keys are package-relative strings compared by code unit, so they are the same on every
15
+ * machine and in every checkout location.
16
+ */
17
+ export declare class CanonicalSourceGraph {
18
+ /** A copy of `graph` whose node and edge order is canonical. */
19
+ static of(graph: Graph): Graph;
20
+ private static nodeOrder;
21
+ private static edgeOrder;
22
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CanonicalSourceGraph = void 0;
13
+ var graphlib_1 = require("@dagrejs/graphlib");
14
+ var PackageSourceFiles_1 = require("../parser/PackageSourceFiles");
15
+ /**
16
+ * The emitted form of a source graph: the same nodes, values and edges, in an order that is a
17
+ * function of the graph's content alone — never of the order the builder happened to visit the
18
+ * sources or insert placeholder parents. The generated index serializes nodes and edges in
19
+ * insertion order, so this order is the artifact's byte order (and the runtime's `objects()`
20
+ * order within one package).
21
+ *
22
+ * - Nodes by the declaring file's package-relative path, then by qualified name. A placeholder
23
+ * (a parent referenced here but declared elsewhere) has no file and sorts by name ahead of
24
+ * the declared nodes.
25
+ * - Edges by child, then parent (a source graph is never a multigraph: one edge per pair).
26
+ *
27
+ * Both keys are package-relative strings compared by code unit, so they are the same on every
28
+ * machine and in every checkout location.
29
+ */
30
+ var CanonicalSourceGraph = /** @class */ (function () {
31
+ function CanonicalSourceGraph() {
32
+ }
33
+ /** A copy of `graph` whose node and edge order is canonical. */
34
+ CanonicalSourceGraph.of = function (graph) {
35
+ var canonical = new graphlib_1.Graph({
36
+ directed: graph.isDirected(),
37
+ multigraph: graph.isMultigraph(),
38
+ compound: graph.isCompound(),
39
+ });
40
+ for (var _i = 0, _a = CanonicalSourceGraph.nodeOrder(graph); _i < _a.length; _i++) {
41
+ var nodeName = _a[_i];
42
+ canonical.setNode(nodeName, graph.node(nodeName));
43
+ }
44
+ for (var _b = 0, _c = CanonicalSourceGraph.edgeOrder(graph); _b < _c.length; _b++) {
45
+ var edge = _c[_b];
46
+ canonical.setEdge(edge, graph.edge(edge));
47
+ }
48
+ return canonical;
49
+ };
50
+ CanonicalSourceGraph.nodeOrder = function (graph) {
51
+ var fileOf = function (nodeName) { var _a; return ((_a = graph.node(nodeName)) === null || _a === void 0 ? void 0 : _a.filePath) || ''; };
52
+ return __spreadArray([], graph.nodes(), true).sort(function (a, b) { return PackageSourceFiles_1.PackageSourceFiles.compare(fileOf(a), fileOf(b)) || PackageSourceFiles_1.PackageSourceFiles.compare(a, b); });
53
+ };
54
+ CanonicalSourceGraph.edgeOrder = function (graph) {
55
+ return __spreadArray([], graph.edges(), true).sort(function (a, b) { return PackageSourceFiles_1.PackageSourceFiles.compare(a.v, b.v) || PackageSourceFiles_1.PackageSourceFiles.compare(a.w, b.w); });
56
+ };
57
+ return CanonicalSourceGraph;
58
+ }());
59
+ exports.CanonicalSourceGraph = CanonicalSourceGraph;
60
+ //# sourceMappingURL=CanonicalSourceGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanonicalSourceGraph.js","sourceRoot":"","sources":["../../../src/codegen/CanonicalSourceGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAgD;AAChD,mEAAkE;AAElE;;;;;;;;;;;;;;GAcG;AACH;IAAA;IA+BA,CAAC;IA9BC,gEAAgE;IACzD,uBAAE,GAAT,UAAU,KAAY;QACpB,IAAM,SAAS,GAAG,IAAI,gBAAK,CAAC;YAC1B,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE;YAC5B,UAAU,EAAE,KAAK,CAAC,YAAY,EAAE;YAChC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE;SAC7B,CAAC,CAAC;QACH,KAAuB,UAAqC,EAArC,KAAA,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAArC,cAAqC,EAArC,IAAqC,EAAE;YAAzD,IAAM,QAAQ,SAAA;YACjB,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnD;QAED,KAAmB,UAAqC,EAArC,KAAA,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,EAArC,cAAqC,EAArC,IAAqC,EAAE;YAArD,IAAM,IAAI,SAAA;YACb,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3C;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEc,8BAAS,GAAxB,UAAyB,KAAY;QACnC,IAAM,MAAM,GAAG,UAAC,QAAgB,YAAa,OAAA,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,QAAQ,KAAI,EAAE,CAAA,EAAA,CAAC;QAClF,OAAO,kBAAI,KAAK,CAAC,KAAK,EAAE,QAAE,IAAI,CAC5B,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,uCAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,uCAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAApF,CAAoF,CAC/F,CAAC;IACJ,CAAC;IAEc,8BAAS,GAAxB,UAAyB,KAAY;QACnC,OAAO,kBAAI,KAAK,CAAC,KAAK,EAAE,QAAE,IAAI,CAC5B,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,uCAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,uCAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAA5E,CAA4E,CACvF,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,oDAAoB"}
@@ -1,4 +1,5 @@
1
1
  import { Graph } from '@dagrejs/graphlib';
2
+ import { SharedQualifiedName } from '../parser/SharedQualifiedNames';
2
3
  /**
3
4
  * @param packageDir Root of the package (contains package.json)
4
5
  * @param packageGeneratedDir Directory where generated/index.ts will be written
@@ -27,9 +28,17 @@ export declare function findDependencySourceGraph(packageDir: string, packageNam
27
28
  * consuming package — npm-layout resolution: the nearest installed copy shadows hoisted ones.
28
29
  */
29
30
  export declare function findDependencyDir(packageDir: string, packageName: string): string | undefined;
31
+ export interface EmittedSourceGraph {
32
+ /** The pruned graph in canonical order: what the generated index serializes. */
33
+ graph: Graph;
34
+ /** The names in `graph` that two or more source files declare; the build refuses to emit while there is one. */
35
+ sharedNames: SharedQualifiedName[];
36
+ }
30
37
  /**
31
38
  * 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.
39
+ * build-time-non-loadable declarations pruned, in canonical order (the serialized graph and
40
+ * the source links follow it, so the same sources emit the same bytes on every machine), and
41
+ * the names in it that more than one file declares. Owned here so build emit and diagnostic
42
+ * tooling (reflection-doctor drift and shared-name checks) share one pipeline.
34
43
  */
35
- export declare function createEmittedSourceGraph(packageDir: string, sourceRootsRel: string[]): Promise<Graph>;
44
+ export declare function createEmittedSourceGraph(packageDir: string, sourceRootsRel: string[]): Promise<EmittedSourceGraph>;
@@ -69,6 +69,9 @@ var util_node_1 = require("@proteinjs/util-node");
69
69
  var util_1 = require("@proteinjs/util");
70
70
  var jsesc_1 = __importDefault(require("jsesc"));
71
71
  var createSourceGraph_1 = require("../parser/createSourceGraph");
72
+ var PackageSourceFiles_1 = require("../parser/PackageSourceFiles");
73
+ var SharedQualifiedNames_1 = require("../parser/SharedQualifiedNames");
74
+ var CanonicalSourceGraph_1 = require("./CanonicalSourceGraph");
72
75
  var reflection_1 = require("@proteinjs/reflection");
73
76
  /**
74
77
  * @param packageDir Root of the package (contains package.json)
@@ -121,8 +124,8 @@ function writeGeneratedIndex(packageDir, packageGeneratedDir, generatedIndexPath
121
124
  case 7:
122
125
  generatedIndex = _a.sent();
123
126
  exportTargetNoExt = publicEntryRelOverride
124
- ? path.relative(packageGeneratedDir, path.join(packageDir, publicEntryRelOverride)).replace(/\.[^/.]+$/, '')
125
- : "".concat(path.relative(packageGeneratedDir, packageDir), "/index");
127
+ ? PackageSourceFiles_1.PackageSourceFiles.relativePath(packageGeneratedDir, path.join(packageDir, publicEntryRelOverride)).replace(/\.[^/.]+$/, '')
128
+ : "".concat(PackageSourceFiles_1.PackageSourceFiles.relativePath(packageGeneratedDir, packageDir), "/index");
126
129
  generatedIndex += "\n\n\nexport * from '".concat(exportTargetNoExt, "';");
127
130
  return [4 /*yield*/, util_node_1.promisifiedFs.writeFile(generatedIndexPath, generatedIndex)];
128
131
  case 8:
@@ -135,17 +138,18 @@ function writeGeneratedIndex(packageDir, packageGeneratedDir, generatedIndexPath
135
138
  exports.writeGeneratedIndex = writeGeneratedIndex;
136
139
  function sourceRepositoryLoader(packageDir, generatedIndexPath, sourceRootsRel) {
137
140
  return __awaiter(this, void 0, void 0, function () {
138
- var packageJson, code, roots, sourceGraph;
139
- return __generator(this, function (_a) {
140
- switch (_a.label) {
141
+ var packageJson, code, roots, _a, sourceGraph, sharedNames;
142
+ return __generator(this, function (_b) {
143
+ switch (_b.label) {
141
144
  case 0: return [4 /*yield*/, getPackageJson(packageDir)];
142
145
  case 1:
143
- packageJson = _a.sent();
146
+ packageJson = _b.sent();
144
147
  code = loadDependencySourceGraphs(packageDir, packageJson);
145
148
  roots = Array.isArray(sourceRootsRel) ? sourceRootsRel : [sourceRootsRel];
146
149
  return [4 /*yield*/, createEmittedSourceGraph(packageDir, roots)];
147
150
  case 2:
148
- sourceGraph = _a.sent();
151
+ _a = _b.sent(), sourceGraph = _a.graph, sharedNames = _a.sharedNames;
152
+ SharedQualifiedNames_1.SharedQualifiedNames.refuse(packageJson.name, sharedNames);
149
153
  code += generateSourceGraph(sourceGraph);
150
154
  code += generateSourceLinks(sourceGraph, packageJson, packageDir, generatedIndexPath);
151
155
  code += mergeSourceGraph();
@@ -304,22 +308,26 @@ function getDependencyImportSpecifier(packageDir, packageName) {
304
308
  }
305
309
  /**
306
310
  * 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.
311
+ * build-time-non-loadable declarations pruned, in canonical order (the serialized graph and
312
+ * the source links follow it, so the same sources emit the same bytes on every machine), and
313
+ * the names in it that more than one file declares. Owned here so build emit and diagnostic
314
+ * tooling (reflection-doctor drift and shared-name checks) share one pipeline.
309
315
  */
310
316
  function createEmittedSourceGraph(packageDir, sourceRootsRel) {
311
317
  return __awaiter(this, void 0, void 0, function () {
312
- var packageJson, sourceGraph;
318
+ var packageJson, declarations, sourceGraph, sharedNames;
313
319
  return __generator(this, function (_a) {
314
320
  switch (_a.label) {
315
321
  case 0: return [4 /*yield*/, getPackageJson(packageDir)];
316
322
  case 1:
317
323
  packageJson = _a.sent();
318
- return [4 /*yield*/, (0, createSourceGraph_1.createSourceGraph)(packageDir, [], sourceRootsRel)];
324
+ declarations = new SharedQualifiedNames_1.SharedQualifiedNames();
325
+ return [4 /*yield*/, (0, createSourceGraph_1.createSourceGraph)(packageDir, [], sourceRootsRel, declarations)];
319
326
  case 2:
320
327
  sourceGraph = _a.sent();
321
328
  removeNonLoadables(sourceGraph, packageJson.name);
322
- return [2 /*return*/, sourceGraph];
329
+ sharedNames = declarations.in(sourceGraph);
330
+ return [2 /*return*/, { graph: CanonicalSourceGraph_1.CanonicalSourceGraph.of(sourceGraph), sharedNames: sharedNames }];
323
331
  }
324
332
  });
325
333
  });
@@ -410,7 +418,7 @@ function generateSourceLinks(sourceGraph, packageJson, packageDir, generatedInde
410
418
  }
411
419
  // node.filePath is package-relative (never serialized absolute); resolve against the
412
420
  // 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));
421
+ var relativeImportPath = PackageSourceFiles_1.PackageSourceFiles.relativePath(path.dirname(generatedIndexPath), path.join(packageDir, node.filePath));
414
422
  code += "import { ".concat(node.name, " } from '").concat(relativeImportPath.replace(/\.[^/.]+$/, ''), "';\n");
415
423
  linkableNodes.push(node);
416
424
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeGeneratedIndex.js","sourceRoot":"","sources":["../../../src/codegen/writeGeneratedIndex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,yCAA6B;AAC7B,kDAAqD;AACrD,wCAAgE;AAEhE,gDAA0B;AAC1B,iEAAgE;AAChE,oDAAqH;AAErH;;;;;;;;GAQG;AACH,SAAsB,mBAAmB,CACvC,UAAkB,EAClB,mBAA2B,EAC3B,kBAA0B,EAC1B,cAAyC,EACzC,sBAA+B;IAD/B,+BAAA,EAAA,sBAAyC;;;;;;oBAKrC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;oBACnD,qBAAM,yBAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAA;;yBAA9C,CAAC,CAAC,SAA4C,CAAC,EAA/C,wBAA+C;oBACjD,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;oBACnD,qBAAM,yBAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAA;;oBAAlD,IAAI,CAAC,CAAC,SAA4C,CAAC,EAAE;wBACnD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;qBACzE;;;yBAIC,sBAAsB,EAAtB,wBAAsB;oBAClB,qBAAqB,GAAG;wBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC;wBAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;wBAC9E,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC;qBAChF,CAAC;oBACa,qBAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,yBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC,EAAA;;oBAArF,MAAM,GAAG,SAA4E;oBAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;wBACzB,2FAA2F;wBAC3F,yGAAyG;wBACzG,sCAAsC;wBACtC,OAAO,CAAC,IAAI,CACV,qEAA8D,sBAAsB,8DAA2D,CAChJ,CAAC;qBACH;;wBAGH,qBAAM,yBAAa,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAA;;oBAAnE,SAAmE,CAAC;oBAE/C,qBAAM,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAA;;oBAA7F,cAAc,GAAG,SAA4E;oBAK3F,iBAAiB,GAAG,sBAAsB;wBAC9C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC5G,CAAC,CAAC,UAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,CAAC,WAAQ,CAAC;oBAE9D,cAAc,IAAI,+BAAwB,iBAAiB,OAAI,CAAC;oBAEhE,qBAAM,yBAAa,CAAC,SAAS,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAA;;oBAAjE,SAAiE,CAAC;;;;;CACnE;AAjDD,kDAiDC;AAED,SAAe,sBAAsB,CACnC,UAAkB,EAClB,kBAA0B,EAC1B,cAAiC;;;;;wBAEb,qBAAM,cAAc,CAAC,UAAU,CAAC,EAAA;;oBAA9C,WAAW,GAAG,SAAgC;oBAChD,IAAI,GAAG,0BAA0B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;oBAGzD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;oBACrD,qBAAM,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAA;;oBAAtE,WAAW,GAAU,SAAiD;oBAE5E,IAAI,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;oBACzC,IAAI,IAAI,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;oBACtF,IAAI,IAAI,gBAAgB,EAAE,CAAC;oBAC3B,sBAAO,IAAI,EAAC;;;;CACb;AAED,SAAe,cAAc,CAAC,UAAkB;;;;;;oBACxC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;oBACxD,qBAAM,yBAAa,CAAC,MAAM,CAAC,eAAe,CAAC,EAAA;;oBAAjD,IAAI,CAAC,CAAC,SAA2C,CAAC,EAAE;wBAClD,MAAM,IAAI,KAAK,CAAC,8CAAuC,UAAU,CAAE,CAAC,CAAC;qBACtE;oBACD,sBAAO,OAAO,CAAC,eAAe,CAAC,EAAC;;;;CACjC;AAED,SAAS,0BAA0B,CAAC,UAAkB,EAAE,WAAgB;IACtE,IAAI,IAAI,GAAG,0CAA0C,CAAC;IAEtD,IAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;IACvD,IAAM,QAAQ,GAAG,OAAO;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,WAAW,CAAC,YAAY,EAAE;QAC5B,KAAK,IAAM,WAAW,IAAI,WAAW,CAAC,YAAY,EAAE;YAClD,qFAAqF;YACrF,kEAAkE;YAClE,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAClC,SAAS;aACV;YAED,sFAAsF;YACtF,sFAAsF;YACtF,uEAAuE;YACvE,uFAAuF;YACvF,oFAAoF;YACpF,iFAAiF;YACjF,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;gBACtD,SAAS;aACV;YAED,IAAM,SAAS,GAAG,4BAA4B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACxE,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS;aACV;YACD,IAAI,IAAI,kBAAW,SAAS,SAAM,CAAC,CAAC,kEAAkE;SACvG;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,UAAkB,EAAE,WAAmB;IAC9E,OAAO,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC9D,CAAC;AAFD,4DAEC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,UAAkB,EAAE,WAAmB;IAC/E,IAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACjE,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IAED,IAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC/E,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AARD,8DAQC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,UAAkB,EAAE,WAAmB;IACvE,IAAI,UAAU,GAAG,UAAU,CAAC;IAC5B,wDAAwD;IACxD,SAAS;QACP,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACrE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC5B,OAAO,SAAS,CAAC;SAClB;QACD,IAAM,QAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,QAAM,KAAK,UAAU,EAAE;YACzB,OAAO,SAAS,CAAC;SAClB;QACD,UAAU,GAAG,QAAM,CAAC;KACrB;AACH,CAAC;AAdD,8CAcC;AAED;;GAEG;AACH,SAAS,4BAA4B,CAAC,UAAkB,EAAE,WAAmB;IAC3E,IAAI;QACF,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,WAAW,CAAC;KACpB;IAAC,WAAM;QACN,wEAAwE;QACxE,IAAI,UAAU,SAAK,CAAC;QACpB,IAAI;YACF,IAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrG,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;SACnC;QAAC,WAAM;YACN,OAAO,SAAS,CAAC;SAClB;QACD,IAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC;QACxC,IAAI,YAAY,EAAE;YAChB,IAAI,YAA8B,CAAC;YACnC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;gBACpC,YAAU,GAAG,YAAY,CAAC;aAC3B;iBAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;gBAC3C,IAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;oBAClC,YAAU,GAAG,UAAU,CAAC;iBACzB;qBAAM,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;oBACvD,YAAU,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC;iBACtD;aACF;YACD,IAAI,CAAC,YAAU,EAAE;gBACf,OAAO,SAAS,CAAC;aAClB;YACD,IAAI,YAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC/B,YAAU,GAAG,YAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAClC;YACD,YAAU,GAAG,YAAU,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACjD,OAAO,UAAG,WAAW,cAAI,YAAU,CAAE,CAAC;SACvC;QAED,gDAAgD;QAChD,IAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,UAAU,GAAG,QAAQ,CAAC;QAC1B,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClC;QACD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,UAAG,WAAW,cAAI,UAAU,CAAE,CAAC;KACvC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAsB,wBAAwB,CAAC,UAAkB,EAAE,cAAwB;;;;;wBACrE,qBAAM,cAAc,CAAC,UAAU,CAAC,EAAA;;oBAA9C,WAAW,GAAG,SAAgC;oBAChC,qBAAM,IAAA,qCAAiB,EAAC,UAAU,EAAE,EAAE,EAAE,cAAc,CAAC,EAAA;;oBAArE,WAAW,GAAG,SAAuD;oBAC3E,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;oBAClD,sBAAO,WAAW,EAAC;;;;CACpB;AALD,4DAKC;AAED,SAAS,mBAAmB,CAAC,WAAkB;IAC7C,IAAI,IAAI,GAAG,sCAAsC,CAAC;IAClD,IAAM,qBAAqB,GAAG,sBAAe,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACrE,IAAM,kCAAkC,GAAG,IAAA,eAAK,EAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,uDAAuD;IAChJ,IAAI,IAAI,8BAAuB,kCAAkC,QAAK,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,WAAkB,EAAE,sBAA8B;IAC5E,KAAuB,UAAmB,EAAnB,KAAA,WAAW,CAAC,KAAK,EAAE,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;QAAvC,IAAM,QAAQ,SAAA;QACjB,IAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE;YACT,gDAAgD;YAChD,SAAS;SACV;QAED,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,EAAE,WAAW,CAAC,CAAC;KAClE;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,YAA0B,EAC1B,sBAA8B,EAC9B,WAAkB;IAElB,uBAAuB;IACvB,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ,EAAE;QACb,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;KACb;IAED,gBAAgB;IAChB,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,KAAsB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;QAA3B,IAAM,OAAO,iBAAA;QAChB,6BAA6B;QAC7B,IAAI,OAAO,CAAC,CAAC,IAAI,oCAAuB,EAAE;YACxC,YAAY,GAAG,KAAK,CAAC;YACrB,SAAS;SACV;QAED,uFAAuF;QACvF,IAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,IAAI,iBAAiB,IAAI,iBAAiB,IAAI,sBAAsB,EAAE;YACpE,YAAY,GAAG,KAAK,CAAC;YACrB,SAAS;SACV;QAED,IAAM,QAAM,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAM,EAAE;YACX,SAAS;SACV;QAED,IAAI,CAAC,qBAAqB,CAAC,QAAM,EAAE,sBAAsB,EAAE,WAAW,CAAC,EAAE;YACvE,YAAY,GAAG,KAAK,CAAC;SACtB;KACF;IAED,IAAI,YAAY,EAAE;QAChB,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;KACpD;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAkB,EAClB,WAAgB,EAChB,UAAkB,EAClB,kBAA0B;IAE1B,IAAI,IAAI,GAAG,sCAAsC,CAAC;IAClD,IAAM,aAAa,GAAmB,EAAE,CAAC;IACzC,KAAuB,UAAmB,EAAnB,KAAA,WAAW,CAAC,KAAK,EAAE,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;QAAvC,IAAM,QAAQ,SAAA;QACjB,IAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE;YACT,SAAS;SACV;QAED,IAAI,CAAC,CAAC,IAAA,mBAAY,EAAC,IAAI,EAAE,gCAAmB,CAAC,IAAI,IAAA,mBAAY,EAAC,IAAI,EAAE,6BAAgB,CAAC,CAAC,EAAE;YACtF,SAAS;SACV;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE;YACxC,SAAS;SACV;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,SAAS;SACV;QAED,qFAAqF;QACrF,2EAA2E;QAC3E,IAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjH,IAAI,IAAI,mBAAY,IAAI,CAAC,IAAI,sBAAY,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,SAAM,CAAC;QAC3F,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;IAED,IAAI,IAAI,2BAA2B,CAAC;IACpC,KAAmB,UAAa,EAAb,+BAAa,EAAb,2BAAa,EAAb,IAAa,EAAE;QAA7B,IAAM,IAAI,sBAAA;QACb,IAAI,IAAI,aAAM,IAAI,CAAC,aAAa,gBAAM,IAAI,CAAC,IAAI,QAAK,CAAC;KACtD;IACD,IAAI,IAAI,MAAM,CAAC;IAEf,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,IAAI,GAAG,4CAA4C,CAAC;IACxD,IAAI,IAAI,6DAA6D,CAAC;IACtE,IAAI,IAAI,mDAAmD,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"writeGeneratedIndex.js","sourceRoot":"","sources":["../../../src/codegen/writeGeneratedIndex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The TypeScript sources of a package, in one reproducible order.
3
+ *
4
+ * Every build of the same sources must write the same bytes, whatever machine or directory it
5
+ * runs in. Two machine-specific inputs are closed here, where they enter:
6
+ *
7
+ * - ORDER. The glob returns files in the order its concurrent directory reads complete, which
8
+ * varies with the filesystem and from run to run. The parse order decides the graph's
9
+ * insertion order, which declaration a name exported by two files holds (the last one parsed;
10
+ * the build refuses such a name when it survives the prune — `SharedQualifiedNames`), and the
11
+ * order that refusal lists the files in. `list()` therefore orders the files by their
12
+ * package-relative path, compared by code unit — never by `localeCompare`, whose collation
13
+ * depends on the machine's locale data.
14
+ * - LOCATION. `relativePath()` is the only form a source path takes in a generated artifact:
15
+ * relative, with `/` separators on every platform, no leading `./`.
16
+ */
17
+ export declare class PackageSourceFiles {
18
+ private readonly packageDir;
19
+ private readonly sourceRootsRel;
20
+ private readonly excludedDirs;
21
+ constructor(packageDir: string, sourceRootsRel: string[], excludedDirs?: string[]);
22
+ /** Absolute paths of the package's `.ts`/`.tsx` sources under the source roots, in package-relative path order. */
23
+ list(): Promise<string[]>;
24
+ /** `filePath` relative to `fromDir`, with `/` separators on every platform and no leading `./`. */
25
+ static relativePath(fromDir: string, filePath: string): string;
26
+ /** Code-unit order: the same on every machine, unlike `localeCompare`. */
27
+ static compare(a: string, b: string): number;
28
+ private includePatterns;
29
+ private excludePatterns;
30
+ }