@proteinjs/reflection-build 2.0.2 → 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.
- package/CHANGELOG.md +24 -0
- package/dist/src/ReflectionDoctor.d.ts +6 -1
- package/dist/src/ReflectionDoctor.js +53 -51
- package/dist/src/ReflectionDoctor.js.map +1 -1
- package/dist/src/codegen/CanonicalSourceGraph.d.ts +22 -0
- package/dist/src/codegen/CanonicalSourceGraph.js +60 -0
- package/dist/src/codegen/CanonicalSourceGraph.js.map +1 -0
- package/dist/src/codegen/writeGeneratedIndex.d.ts +12 -3
- package/dist/src/codegen/writeGeneratedIndex.js +21 -13
- package/dist/src/codegen/writeGeneratedIndex.js.map +1 -1
- package/dist/src/parser/PackageSourceFiles.d.ts +30 -0
- package/dist/src/parser/PackageSourceFiles.js +151 -0
- package/dist/src/parser/PackageSourceFiles.js.map +1 -0
- package/dist/src/parser/SharedQualifiedNames.d.ts +43 -0
- package/dist/src/parser/SharedQualifiedNames.js +81 -0
- package/dist/src/parser/SharedQualifiedNames.js.map +1 -0
- package/dist/src/parser/createGraphBuilder.d.ts +6 -1
- package/dist/src/parser/createGraphBuilder.js +16 -31
- package/dist/src/parser/createGraphBuilder.js.map +1 -1
- package/dist/src/parser/createSourceGraph.d.ts +6 -1
- package/dist/src/parser/createSourceGraph.js +23 -38
- package/dist/src/parser/createSourceGraph.js.map +1 -1
- package/dist/test/Class.test.js +1 -1
- package/dist/test/Class.test.js.map +1 -1
- package/dist/test/ExamplePackageFixture.d.ts +47 -0
- package/dist/test/ExamplePackageFixture.js +207 -0
- package/dist/test/ExamplePackageFixture.js.map +1 -0
- package/dist/test/GraphEmitRelativePaths.test.js +1 -1
- package/dist/test/GraphEmitRelativePaths.test.js.map +1 -1
- package/dist/test/PackageSourceFiles.test.d.ts +1 -0
- package/dist/test/PackageSourceFiles.test.js +57 -0
- package/dist/test/PackageSourceFiles.test.js.map +1 -0
- package/dist/test/ReflectionDoctor.test.js +55 -18
- package/dist/test/ReflectionDoctor.test.js.map +1 -1
- package/dist/test/ReproducibleGeneratedIndex.test.d.ts +1 -0
- package/dist/test/ReproducibleGeneratedIndex.test.js +224 -0
- package/dist/test/ReproducibleGeneratedIndex.test.js.map +1 -0
- package/dist/test/SharedQualifiedNames.test.d.ts +1 -0
- package/dist/test/SharedQualifiedNames.test.js +186 -0
- package/dist/test/SharedQualifiedNames.test.js.map +1 -0
- package/dist/test/examples/reproducible/index.d.ts +4 -0
- package/dist/test/examples/reproducible/index.js +21 -0
- package/dist/test/examples/reproducible/index.js.map +1 -0
- package/dist/test/examples/reproducible/src/alpha/Alpha.d.ts +10 -0
- package/dist/test/examples/reproducible/src/alpha/Alpha.js +18 -0
- package/dist/test/examples/reproducible/src/alpha/Alpha.js.map +1 -0
- package/dist/test/examples/reproducible/src/alpha/Defaults.d.ts +2 -0
- package/dist/test/examples/reproducible/src/alpha/Defaults.js +6 -0
- package/dist/test/examples/reproducible/src/alpha/Defaults.js.map +1 -0
- package/dist/test/examples/reproducible/src/beta/Beta.d.ts +5 -0
- package/dist/test/examples/reproducible/src/beta/Beta.js +12 -0
- package/dist/test/examples/reproducible/src/beta/Beta.js.map +1 -0
- package/dist/test/examples/reproducible/src/beta/deep/Gamma.d.ts +4 -0
- package/dist/test/examples/reproducible/src/beta/deep/Gamma.js +11 -0
- package/dist/test/examples/reproducible/src/beta/deep/Gamma.js.map +1 -0
- package/dist/test/examples/reproducible/src/zeta/Defaults.d.ts +2 -0
- package/dist/test/examples/reproducible/src/zeta/Defaults.js +6 -0
- package/dist/test/examples/reproducible/src/zeta/Defaults.js.map +1 -0
- package/dist/test/examples/reproducible/src/zeta/Zeta.d.ts +7 -0
- package/dist/test/examples/reproducible/src/zeta/Zeta.js +18 -0
- package/dist/test/examples/reproducible/src/zeta/Zeta.js.map +1 -0
- package/dist/test/examples/shared-name/index.d.ts +1 -0
- package/dist/test/examples/shared-name/index.js +18 -0
- package/dist/test/examples/shared-name/index.js.map +1 -0
- package/dist/test/examples/shared-name/src/alpha/Widget.d.ts +4 -0
- package/dist/test/examples/shared-name/src/alpha/Widget.js +3 -0
- package/dist/test/examples/shared-name/src/alpha/Widget.js.map +1 -0
- package/dist/test/examples/shared-name/src/beta/Widget.d.ts +3 -0
- package/dist/test/examples/shared-name/src/beta/Widget.js +13 -0
- package/dist/test/examples/shared-name/src/beta/Widget.js.map +1 -0
- package/dist/test/examples/shared-name/src/gamma/Gear.d.ts +7 -0
- package/dist/test/examples/shared-name/src/gamma/Gear.js +5 -0
- package/dist/test/examples/shared-name/src/gamma/Gear.js.map +1 -0
- package/dist/test/examples/shared-name-pruned/index.d.ts +1 -0
- package/dist/test/examples/shared-name-pruned/index.js +18 -0
- package/dist/test/examples/shared-name-pruned/index.js.map +1 -0
- package/dist/test/examples/shared-name-pruned/src/alpha/Limits.d.ts +3 -0
- package/dist/test/examples/shared-name-pruned/src/alpha/Limits.js +6 -0
- package/dist/test/examples/shared-name-pruned/src/alpha/Limits.js.map +1 -0
- package/dist/test/examples/shared-name-pruned/src/alpha/Shape.d.ts +3 -0
- package/dist/test/examples/shared-name-pruned/src/alpha/Shape.js +3 -0
- package/dist/test/examples/shared-name-pruned/src/alpha/Shape.js.map +1 -0
- package/dist/test/examples/shared-name-pruned/src/alpha/Tile.d.ts +7 -0
- package/dist/test/examples/shared-name-pruned/src/alpha/Tile.js +11 -0
- package/dist/test/examples/shared-name-pruned/src/alpha/Tile.js.map +1 -0
- package/dist/test/examples/shared-name-pruned/src/beta/Limits.d.ts +3 -0
- package/dist/test/examples/shared-name-pruned/src/beta/Limits.js +6 -0
- package/dist/test/examples/shared-name-pruned/src/beta/Limits.js.map +1 -0
- package/dist/test/examples/shared-name-pruned/src/beta/Shape.d.ts +3 -0
- package/dist/test/examples/shared-name-pruned/src/beta/Shape.js +3 -0
- package/dist/test/examples/shared-name-pruned/src/beta/Shape.js.map +1 -0
- package/dist/test/examples/source-repository/a/generated/index.js +28 -28
- package/dist/test/examples/source-repository/a/generated/index.js.map +1 -1
- package/dist/test/examples/source-repository/a/src/ExtendsForeignType.d.ts +1 -1
- package/dist/test/examples/source-repository/a/src/ExtendsForeignType.js +5 -5
- package/dist/test/examples/source-repository/a/src/ExtendsForeignType.js.map +1 -1
- package/dist/test/examples/source-repository/b/generated/index.js +3 -3
- package/dist/test/examples/source-repository/b/generated/index.js.map +1 -1
- package/package.json +5 -5
- package/src/ReflectionDoctor.ts +37 -17
- package/src/codegen/CanonicalSourceGraph.ts +50 -0
- package/src/codegen/writeGeneratedIndex.ts +35 -9
- package/src/parser/PackageSourceFiles.ts +66 -0
- package/src/parser/SharedQualifiedNames.ts +76 -0
- package/src/parser/createGraphBuilder.ts +25 -10
- package/src/parser/createSourceGraph.ts +14 -16
- package/test/Class.test.ts +1 -1
- package/test/ExamplePackageFixture.ts +142 -0
- package/test/GraphEmitRelativePaths.test.ts +1 -1
- package/test/PackageSourceFiles.test.ts +42 -0
- package/test/ReflectionDoctor.test.ts +50 -12
- package/test/ReproducibleGeneratedIndex.test.ts +114 -0
- package/test/SharedQualifiedNames.test.ts +89 -0
- package/test/examples/reproducible/index.ts +4 -0
- package/test/examples/reproducible/src/alpha/Alpha.ts +13 -0
- package/test/examples/reproducible/src/alpha/Defaults.ts +4 -0
- package/test/examples/reproducible/src/beta/Beta.ts +7 -0
- package/test/examples/reproducible/src/beta/deep/Gamma.ts +5 -0
- package/test/examples/reproducible/src/zeta/Defaults.ts +4 -0
- package/test/examples/reproducible/src/zeta/Zeta.ts +9 -0
- package/test/examples/shared-name/index.ts +1 -0
- package/test/examples/shared-name/src/alpha/Widget.ts +6 -0
- package/test/examples/shared-name/src/beta/Widget.ts +5 -0
- package/test/examples/shared-name/src/gamma/Gear.ts +9 -0
- package/test/examples/shared-name-pruned/index.ts +1 -0
- package/test/examples/shared-name-pruned/src/alpha/Limits.ts +2 -0
- package/test/examples/shared-name-pruned/src/alpha/Shape.ts +3 -0
- package/test/examples/shared-name-pruned/src/alpha/Tile.ts +9 -0
- package/test/examples/shared-name-pruned/src/beta/Limits.ts +2 -0
- package/test/examples/shared-name-pruned/src/beta/Shape.ts +4 -0
- package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.d.ts +22 -0
- package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.js +60 -0
- package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.js.map +1 -0
- package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.d.ts +12 -3
- package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js +21 -13
- package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js.map +1 -1
- package/test/examples/source-repository/a/dist/generated/index.js +28 -28
- package/test/examples/source-repository/a/dist/generated/index.js.map +1 -1
- package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.d.ts +30 -0
- package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.js +151 -0
- package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.js.map +1 -0
- package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.d.ts +43 -0
- package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.js +81 -0
- package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.js.map +1 -0
- package/test/examples/source-repository/a/dist/parser/createGraphBuilder.d.ts +6 -1
- package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js +16 -31
- package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js.map +1 -1
- package/test/examples/source-repository/a/dist/parser/createSourceGraph.d.ts +6 -1
- package/test/examples/source-repository/a/dist/parser/createSourceGraph.js +23 -38
- package/test/examples/source-repository/a/dist/parser/createSourceGraph.js.map +1 -1
- package/test/examples/source-repository/a/dist/src/ExtendsForeignType.d.ts +1 -1
- package/test/examples/source-repository/a/dist/src/ExtendsForeignType.js +5 -5
- package/test/examples/source-repository/a/dist/src/ExtendsForeignType.js.map +1 -1
- package/test/examples/source-repository/a/generated/index.ts +44 -44
- package/test/examples/source-repository/a/node_modules/.package-lock.json +13 -13
- package/test/examples/source-repository/a/node_modules/@proteinjs/util/CHANGELOG.md +8 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util/LICENSE +21 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util/package.json +3 -2
- package/test/examples/source-repository/a/node_modules/@proteinjs/util/tsconfig.json +1 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/CHANGELOG.md +63 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/LICENSE +21 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/index.d.ts +1 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/index.js +1 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/index.js.map +1 -1
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js +7 -4
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js.map +1 -1
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js +16 -12
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.d.ts +59 -13
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +119 -80
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.d.ts +91 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.js +608 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.js.map +1 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/promisifiedFs.d.ts +0 -1
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/index.ts +1 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/package.json +4 -3
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/ArgsMap.ts +7 -4
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/Fs.ts +12 -9
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/PackageUtil.ts +92 -38
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/WorkspaceDeclaration.ts +340 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/ArgsMap.test.ts +35 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/Fs.getFilePathsMatchingGlob.test.ts +70 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/PackageUtil.getLocalPackageMap.test.ts +107 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/PackageUtil.pathKeyedIdentity.test.ts +169 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/WorkspaceDeclaration.test.ts +174 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/tsconfig.json +1 -0
- package/test/examples/source-repository/a/package-lock.json +16 -16
- package/test/examples/source-repository/a/package.json +3 -3
- package/test/examples/source-repository/a/src/ExtendsForeignType.ts +1 -1
- package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.d.ts +22 -0
- package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.js +60 -0
- package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.js.map +1 -0
- package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.d.ts +12 -3
- package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js +21 -13
- package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js.map +1 -1
- package/test/examples/source-repository/b/dist/generated/index.js +3 -3
- package/test/examples/source-repository/b/dist/generated/index.js.map +1 -1
- package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.d.ts +30 -0
- package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.js +151 -0
- package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.js.map +1 -0
- package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.d.ts +43 -0
- package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.js +81 -0
- package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.js.map +1 -0
- package/test/examples/source-repository/b/dist/parser/createGraphBuilder.d.ts +6 -1
- package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js +16 -31
- package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js.map +1 -1
- package/test/examples/source-repository/b/dist/parser/createSourceGraph.d.ts +6 -1
- package/test/examples/source-repository/b/dist/parser/createSourceGraph.js +23 -38
- package/test/examples/source-repository/b/dist/parser/createSourceGraph.js.map +1 -1
- package/test/examples/source-repository/b/generated/index.ts +6 -6
- package/test/examples/source-repository/b/node_modules/.package-lock.json +10 -10
- package/test/examples/source-repository/b/node_modules/@proteinjs/util/CHANGELOG.md +8 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util/LICENSE +21 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util/package.json +3 -2
- package/test/examples/source-repository/b/node_modules/@proteinjs/util/tsconfig.json +1 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/CHANGELOG.md +63 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/LICENSE +21 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/index.d.ts +1 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/index.js +1 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/index.js.map +1 -1
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js +7 -4
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js.map +1 -1
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js +16 -12
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.d.ts +59 -13
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +119 -80
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.d.ts +91 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.js +608 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.js.map +1 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/promisifiedFs.d.ts +0 -1
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/index.ts +1 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/package.json +4 -3
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/ArgsMap.ts +7 -4
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/Fs.ts +12 -9
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/PackageUtil.ts +92 -38
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/WorkspaceDeclaration.ts +340 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/ArgsMap.test.ts +35 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/Fs.getFilePathsMatchingGlob.test.ts +70 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/PackageUtil.getLocalPackageMap.test.ts +107 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/PackageUtil.pathKeyedIdentity.test.ts +169 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/WorkspaceDeclaration.test.ts +174 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/tsconfig.json +1 -0
- package/test/examples/source-repository/b/package-lock.json +13 -13
- package/test/examples/source-repository/b/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,30 @@
|
|
|
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
|
+
|
|
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)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @proteinjs/reflection-build
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
6
30
|
## [2.0.2](https://github.com/proteinjs/reflection/compare/@proteinjs/reflection-build@2.0.1...@proteinjs/reflection-build@2.0.2) (2026-08-24)
|
|
7
31
|
|
|
8
32
|
**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),
|
|
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),
|
|
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*/,
|
|
103
|
+
return [4 /*yield*/, (0, writeGeneratedIndex_1.createEmittedSourceGraph)(this.packageDir, ['src'])];
|
|
105
104
|
case 1:
|
|
106
|
-
|
|
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 &&
|
|
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 (
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
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
|
|
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:
|
|
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
|
|
564
|
-
var orphan =
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,yCAA6B;AAC7B,kDAA4B;AAC5B,kEAAgE;AAChE,qEAAuH;AAEvH,IAAM,uBAAuB,GAAG,gCAAgC,CAAC;AACjE,IAAM,uCAAuC,GAAG,8CAA8C,CAAC;AAgD/F;;;;;;;;;;;;;;GAcG;AACH;IAGE,0BACmB,UAAkB,EACnC,OAAqC;QAArC,wBAAA,EAAA,YAAqC;QADpB,eAAU,GAAV,UAAU,CAAQ;QAGnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,CAAC;IAEK,mCAAQ,GAAd;;;;;;wBACQ,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACpD,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;wBAC7C,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBACxC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;wBAC7C,qBAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,EAAA;;wBAAvD,KAAK,GAAG,SAA+C;wBACvD,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;wBAClD,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;wBAE9F,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;wBACtG,MAAM,GAAiB;4BAC3B,IAAI,EAAE,EAAE;4BACR,OAAO,SAAA;4BACP,YAAY,cAAA;4BACZ,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;4BACjC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;4BACjC,eAAe,iBAAA;4BACf,KAAK,OAAA;4BACL,OAAO,SAAA;yBACR,CAAC;wBACF,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;wBAC5E,sBAAO,MAAM,EAAC;;;;KACf;IAEK,kCAAO,GAAb,UAAc,mBAA2B;;;;;;;wBACjC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACpD,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;wBAC7C,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;6BACtF,CAAC,aAAa,EAAd,wBAAc;wBACT,qBAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAA;4BAAnE,sBAAO,SAA4D,EAAC;;wBAGhE,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;wBACpD,KAAK,GAAa,EAAE,CAAC;wBACrB,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,CAAC;wBACtC,QAAQ,GAAG,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,QAAQ,EAAC,CAAC,CAAC,YAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzE,KAAK,CAAC,IAAI,CAAC,UAAG,aAAa,gBAAM,IAAI,SAAG,QAAQ,MAAG,CAAC,CAAC;wBAE/C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;wBAEnE,IAAI,OAAO,CAAC,WAAW,EAAE;4BACvB,OAAO,GAAG,wDAA4C,OAAO,CAAC,WAAW,OAAI,CAAC;4BACxE,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;4BAC1F,IAAI,WAAW,EAAE;gCACf,OAAO,IAAI,YAAK,WAAW,CAAE,CAAC;6BAC/B;yBACF;6BAAM,IAAI,OAAO,CAAC,SAAS,EAAE;4BAC5B,OAAO,GAAG,mDAAuC,OAAO,CAAC,SAAS,CAAE,CAAC;yBACtE;6BAAM;4BACL,OAAO;gCACL,+DAAmD,uBAAuB,OAAI;oCAC9E,6FAA6F,CAAC;yBACjG;wBAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACpB,sBAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,SAAA,EAAE,EAAC;;;;KAC5C;IAED;;;OAGG;IACK,gCAAK,GAAb,UACE,aAAqB,EACrB,QAAkB,EAClB,KAAe,EACf,MAAc,EACd,OAA6C,EAC7C,KAAiB;;QAAjB,sBAAA,EAAA,SAAiB;QAEjB,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YAC1B,OAAO,EAAE,CAAC;SACX;QACD,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;QAE9B,IAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrD,IAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,0CAAE,KAAK,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;QAED,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,CAAC,KAAK,aAAa,EAAxB,CAAwB,CAAC,CAAC;QACxE,IAAI,WAA+B,CAAC;QACpC,IAAI,SAA6B,CAAC;QAClC,KAAmB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;YAAxB,IAAM,IAAI,iBAAA;YACb,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;YAC7C,IAAM,QAAM,GAAG,IAAI,CAAC,CAAC,CAAC;YAEtB,IAAI,QAAM,KAAK,uBAAuB,IAAI,QAAM,KAAK,uCAAuC,EAAE;gBAC5F,KAAK,CAAC,IAAI,CAAC,UAAG,MAAM,0BAAM,YAAY,cAAI,QAAM,WAAQ,CAAC,CAAC;gBAC1D,WAAW,GAAG,WAAW,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBACpE,SAAS;aACV;YAED,IAAM,aAAa,GAAG,QAAM,CAAC,SAAS,CAAC,CAAC,EAAE,QAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAM,CAAC,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC,UAAG,MAAM,0BAAM,YAAY,cAAI,QAAM,gBAAa,CAAC,CAAC;gBAC/D,IAAI,aAAa,KAAK,aAAa,EAAE;oBACnC,IAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC;oBACjE,KAAK,CAAC,IAAI,CAAC,UAAG,MAAM,mCAAe,aAAa,uBAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,MAAG,CAAC,CAAC;iBAC/G;gBACD,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,QAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAG,MAAM,QAAK,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC9F,IAAI,aAAa,CAAC,WAAW,EAAE;oBAC7B,WAAW,GAAG,WAAW,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;iBACrE;gBACD,SAAS,GAAG,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC;gBACjD,SAAS;aACV;YAED,2CAA2C;YAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAM,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC5F,KAAK,CAAC,IAAI,CAAC,UAAG,MAAM,0BAAM,YAAY,cAAI,QAAM,eAAY,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,UAAG,MAAM,6BAAS,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC;YAC7C,SAAS,GAAG,SAAS,IAAI,UAAG,QAAM,qBAAM,KAAK,CAAC,OAAO,CAAE,CAAC;SACzD;QAED,OAAO,EAAE,WAAW,aAAA,EAAE,SAAS,WAAA,EAAE,CAAC;IACpC,CAAC;IAEO,mDAAwB,GAAhC,UACE,MAAc,EACd,aAAqB,EACrB,aAAqB,EACrB,QAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE;YAC3C,IAAM,OAAO,GACX,4KAA4K,CAAC;YAC/K,OAAO,EAAE,OAAO,SAAA,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;SACrC;QAED,IAAI,CAAC,aAAa,EAAE;YAClB,IAAM,OAAO,GAAG,gEAAgE,CAAC;YACjF,OAAO,EAAE,OAAO,SAAA,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;SACrC;QAED,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAClC,IAAM,OAAO,GACX,UAAG,aAAa,0EAAkE;gBAClF,kDAA2C,aAAa,uCAA6B,aAAa,CAAE,CAAC;YACvG,OAAO,EAAE,OAAO,SAAA,EAAE,MAAM,EAAE,gBAAS,aAAa,oDAAqC,OAAO,CAAE,EAAE,CAAC;SAClG;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACzF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAS,aAAa,iCAAkB,KAAK,CAAE,EAAE,CAAC;IACrF,CAAC;IAED,sFAAsF;IAC9E,0CAAe,GAAvB,UAAwB,WAAmB,EAAE,WAAgB;QAC3D,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACvC,OAAO,sCAAsC,CAAC;SAC/C;QAED,IAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,UAAG,WAAW,8CAAoC,WAAW,CAAC,IAAI,uHAA+G,CAAC;SAC1L;QAED,IAAM,aAAa,GAAG,IAAA,uCAAiB,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,UAAG,WAAW,mCAAgC,CAAC;SACvD;QAED,OAAO,UAAG,WAAW,wEAAqE,CAAC;IAC7F,CAAC;IAED;;;;;OAKG;IACK,sCAAW,GAAnB,UAAoB,WAAgB,EAAE,QAAkB;QACtD,IAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QACpD,IAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAmB,UAAS,EAAT,KAAA,GAAG,CAAC,KAAK,EAAT,cAAS,EAAT,IAAS,EAAE;YAAzB,IAAM,IAAI,SAAA;YACb,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;YACrB,IAAM,QAAM,GAAG,IAAI,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,IAAI,EAAE;gBAC1E,SAAS;aACV;YACD,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAM,CAAC,EAAE;gBAC3B,SAAS;aACV;YACD,IAAI,QAAM,KAAK,uBAAuB,IAAI,QAAM,KAAK,uCAAuC,EAAE;gBAC5F,SAAS;aACV;YAED,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAM,CAAC,EAAE;gBAC3C,oFAAoF;gBACpF,qEAAqE;gBACrE,SAAS;aACV;YAED,IAAM,aAAa,GAAG,QAAM,CAAC,SAAS,CAAC,CAAC,EAAE,QAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;gBAC1F,SAAS;aACV;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,aAAa,EAAE,KAAK;gBACpB,gBAAgB,EAAE,QAAM;gBACxB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,WAAW,CAAC;aACxD,CAAC,CAAC;SACJ;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC9D,uCAAY,GAA1B,UACE,WAAgB,EAChB,YAAuB;;;;;4BAEJ,qBAAM,IAAA,8CAAwB,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAA;;wBAArE,UAAU,GAAG,SAAwD;wBACrE,WAAW,GAAyC,EAAE,CAAC;wBAC7D,WAAyC,EAAlB,KAAA,UAAU,CAAC,KAAK,EAAE,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;4BAAhC,QAAQ;4BACjB,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gCAC7B,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;6BAC9B;yBACF;wBAEK,aAAa,GAAyC,EAAE,CAAC;wBAC/D,WAAqC,EAAlB,KAAA,YAAY,CAAC,KAAK,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;4BAA5B,IAAI;4BACb,IAAI,IAAI,CAAC,KAAK,EAAE;gCACd,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;6BAC9B;yBACF;wBAED,sBAAO;gCACL,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAC,aAAa,IAAK,OAAA,CAAC,aAAa,CAAC,aAAa,CAAC,EAA7B,CAA6B,CAAC;gCAClG,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,UAAC,aAAa,IAAK,OAAA,CAAC,WAAW,CAAC,aAAa,CAAC,EAA3B,CAA2B,CAAC;6BAC9F,EAAC;;;;KACH;IAED;;;OAGG;IACK,0CAAe,GAAvB,UAAwB,WAAgB;;QAAxC,iBAqCC;QApCC,IAAM,QAAQ,GAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAEtD,IAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACpF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CACb,uDAAgD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,IAAI,GAAG,aAAK;gBACvG,wDAAwD,CAC3D,CAAC;SACH;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAEhE,IAAM,OAAO,GAA+C,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,GAAG,CAC/F,UAAC,WAAW,IAAK,OAAA,CAAC,EAAE,OAAO,EAAE,KAAI,CAAC,UAAU,EAAE,WAAW,aAAA,EAAE,CAAC,EAA3C,CAA2C,CAC7D,CAAC;QACF,IAAM,IAAI,aAAyC,GAAC,WAAW,CAAC,IAAI,IAAG,IAAI,KAAE,CAAC;QAC9E,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,IAAA,KAA2B,OAAO,CAAC,KAAK,EAA8C,EAApF,OAAO,aAAA,EAAE,WAAW,iBAAgE,CAAC;YAC7F,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC5D,SAAS;aACV;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAEzB,IAAM,YAAY,GAAG,IAAA,+CAAyB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACrE,IAAI,CAAC,YAAY,EAAE;gBACjB,SAAS;aACV;YAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YACxD,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAClE,KAAyB,UAA2C,EAA3C,KAAA,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,EAA3C,cAA2C,EAA3C,IAA2C,EAAE;gBAAjE,IAAM,UAAU,SAAA;gBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;aACnE;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,wCAAa,GAArB,UAAsB,QAAkB,EAAE,WAAmB,EAAE,YAAoB;QACjF,IAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACpD,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,OAAA,EAAE,YAAY,cAAA,EAAE,CAAC;QACvD,KAAmB,UAAW,EAAX,KAAA,KAAK,CAAC,KAAK,EAAX,cAAW,EAAX,IAAW,EAAE;YAA3B,IAAM,IAAI,SAAA;YACb,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC1C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;aACvC;SACF;IACH,CAAC;IAED,gFAAgF;IACxE,6CAAkB,GAA1B,UAA2B,YAAoB;QAC7C,IAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,IAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,6BAAsB,YAAY,+CAA4C,CAAC,CAAC;SACjG;QAED,wFAAwF;QACxF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,8CAAmB,GAA3B,UAA4B,QAAgB;QAC1C,IAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,EAAE,CAAC;SACX;QAED,IAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAM,UAAU,GAAG,aAAa,CAAC;QACjC,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACrB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,8CAAmB,GAA3B,UAA4B,WAAgB;QAC1C,IAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAA0B,UAAiC,EAAjC,KAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAjC,cAAiC,EAAjC,IAAiC,EAAE;YAAxD,IAAM,WAAW,SAAA;YACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACvC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC3B;iBAAM,IAAI,IAAA,+CAAyB,EAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;gBAClE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC1B;iBAAM;gBACL,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;SACF;QACD,OAAO,EAAE,MAAM,QAAA,EAAE,YAAY,cAAA,EAAE,OAAO,SAAA,EAAE,CAAC;IAC3C,CAAC;IAEO,wCAAa,GAArB,UAAsB,mBAA2B,EAAE,cAAsB,EAAE,QAAkB;QAC3F,IAAI,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE;YACxC,OAAO,mBAAmB,CAAC;SAC5B;QAED,oEAAoE;QACpE,IAAM,QAAQ,GAAG,UAAG,cAAc,cAAI,mBAAmB,CAAE,CAAC;QAC5D,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC7B,OAAO,QAAQ,CAAC;SACjB;QAED,IAAM,MAAM,GAAG,WAAI,mBAAmB,CAAE,CAAC;QACzC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,aAAa,IAAK,OAAA,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAA9B,CAA8B,CAAC,CAAC;IAC9F,CAAC;IAED,2FAA2F;IAC7E,0CAAe,GAA7B,UAA8B,mBAA2B,EAAE,WAAgB;;;;;;wBACnE,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC;4BAC5C,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BACzE,CAAC,CAAC,mBAAmB,CAAC;wBAEL,qBAAM,IAAA,8CAAwB,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAA;;wBAArE,UAAU,GAAG,SAAwD;wBACrE,UAAU,GAAG,UAAU;6BAC1B,KAAK,EAAE;6BACP,IAAI,CAAC,UAAC,aAAqB,IAAK,OAAA,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,WAAI,IAAI,CAAE,CAAC,EAApE,CAAoE,CAAC,CAAC;wBACzG,IAAI,UAAU,EAAE;4BACR,YACJ,oDAAwC,UAAU,uCAAoC;gCACtF,8EAA8E,CAAC;4BACjF,sBAAO,EAAE,IAAI,EAAE,SAAO,EAAE,OAAO,WAAA,EAAE,EAAC;yBACnC;wBAEmB,qBAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAA;;wBAAvD,WAAW,GAAG,SAAyC;wBAC7D,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;4BACpC,YACJ,2CAA+B,IAAI,6BAAmB,WAAW,CAAC,QAAQ,wBAAqB;gCAC/F,sFAAsF,CAAC;4BACzF,sBAAO,EAAE,IAAI,EAAE,SAAO,EAAE,OAAO,WAAA,EAAE,EAAC;yBACnC;wBAEK,OAAO,GACX,0DAA8C,IAAI,kBAAQ,WAAW,CAAC,IAAI,8BAA2B;4BACrG,2GAA2G,CAAC;wBAC9G,sBAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,SAAA,EAAE,EAAC;;;;KACnC;IAED,0FAA0F;IAC5E,mDAAwB,GAAtC,UAAuC,IAAY;;;;;;wBAC3C,QAAQ,GAAG;4BACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC;4BAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC;4BAC7C,qBAAqB;4BACrB,kBAAkB;yBACnB,CAAC;wBACgC,qBAAM,IAAA,gBAAM,EAAC,QAAQ,CAAC,EAAA;;wBAAlD,eAAe,GAAa,SAAsB;wBAClD,MAAM,GAAG,IAAI,oCAAgB,EAAE,CAAC;8BACM,EAAf,mCAAe;;;6BAAf,CAAA,6BAAe,CAAA;wBAAjC,cAAc;wBACJ,qBAAM,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAA;;wBAAjF,UAAU,GAAG,SAAoE;wBACvF,WAAiD,EAAvB,KAAA,UAAU,CAAC,YAAY,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;4BAAxC,WAAW;4BACpB,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,EAAE;gCAC7B,sBAAO;wCACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC;wCACxD,UAAU,EAAE,CAAC,CAAE,WAAmB,CAAC,UAAU;qCAC9C,EAAC;6BACH;yBACF;;;wBAT0B,IAAe,CAAA;;4BAW5C,sBAAO,SAAS,EAAC;;;;KAClB;IAEO,0CAAe,GAAvB,UACE,aAAqB,EACrB,IAAiC,EACjC,cAAsB,EACtB,QAAkB;;QAElB,sFAAsF;QACtF,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,cAAc,EAAE;YACrD,OAAO,SAAS,CAAC;SAClB;QAED,IAAM,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,UAAU,CAAC;QAC3C,IAAM,OAAO,GAAG,UAAU,KAAK,CAAC,CAAC;QACjC,IAAM,UAAU,GAAG,UAAU,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE;YAC3B,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,OAAO,KAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,UAAU,CAAA,EAAE;YACtC,OAAO,SAAS,CAAC;SAClB;QAED,IAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YAC9D,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,CACL,kGAA6F;YAC7F,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAEO,yCAAc,GAAtB,UAAuB,aAAqB,EAAE,QAAkB;QAC9D,IAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,CAAC,KAAK,aAAa,EAAxB,CAAwB,CAAC,CAAC;IAC7F,CAAC;IAEO,uCAAY,GAApB,UAAqB,KAAU;QAC7B,IAAM,KAAK,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAA,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,aAAa,CAAC;IAC7F,CAAC;IAEO,uCAAY,GAApB,UAAqB,WAAmB,EAAE,YAAoB,EAAE,MAAoB;QAClF,IAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,6BAAsB,WAAW,CAAE,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,oBAAa,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,gBAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAE,CAAC,CAAC;QAC/G,KAAK,CAAC,IAAI,CACR,sBAAe,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,gBAAM,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,mEAA2D,CAC1K,CAAC;QACF,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1C,KAAK,CAAC,IAAI,CACR,yBAAkB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,gBAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA0B,CAC3H,CAAC;SACH;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,gCAAyB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,aAAK;YACxE,UAAG,MAAM,CAAC,SAAS,qBAAW,MAAM,CAAC,SAAS,qBAAW,MAAM,CAAC,eAAe,kBAAe,CACjG,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACrF,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;SACzC;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,8FAAyF,CAAC,CAAC;YACtG,KAA4B,UAA4B,EAA5B,KAAA,MAAM,CAAC,KAAK,CAAC,eAAe,EAA5B,cAA4B,EAA5B,IAA4B,EAAE;gBAArD,IAAM,aAAa,SAAA;gBACtB,KAAK,CAAC,IAAI,CAAC,yCAAkC,aAAa,CAAE,CAAC,CAAC;aAC/D;YACD,KAA4B,UAAuB,EAAvB,KAAA,MAAM,CAAC,KAAK,CAAC,UAAU,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;gBAAhD,IAAM,aAAa,SAAA;gBACtB,KAAK,CAAC,IAAI,CAAC,yCAAkC,aAAa,CAAE,CAAC,CAAC;aAC/D;SACF;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,KAAK,CAAC,IAAI,CAAC,sEAAiE,CAAC,CAAC;SAC/E;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,gGAA2F,CAAC,CAAC;YACxG,KAAqB,UAAc,EAAd,KAAA,MAAM,CAAC,OAAO,EAAd,cAAc,EAAd,IAAc,EAAE;gBAAhC,IAAM,MAAM,SAAA;gBACf,KAAK,CAAC,IAAI,CAAC,YAAK,MAAM,CAAC,aAAa,iBAAO,MAAM,CAAC,gBAAgB,CAAE,CAAC,CAAC;gBACtE,KAAK,CAAC,IAAI,CAAC,cAAO,MAAM,CAAC,KAAK,CAAE,CAAC,CAAC;aACnC;SACF;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,iHAAiH;IACzG,oDAAyB,GAAjC,UAAkC,aAAqB;QACrD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAEO,0CAAe,GAAvB,UAAwB,WAAgB;QACtC,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAEO,0CAAe,GAAvB,UAAwB,GAAW;QACjC,IAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,8CAAuC,GAAG,CAAE,CAAC,CAAC;SAC/D;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IACH,uBAAC;AAAD,CAAC,AAtgBD,IAsgBC;AAtgBY,4CAAgB"}
|
|
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
|
|
33
|
-
*
|
|
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<
|
|
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
|
-
?
|
|
125
|
-
: "".concat(
|
|
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 (
|
|
140
|
-
switch (
|
|
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 =
|
|
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
|
-
|
|
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
|
|
308
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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,
|
|
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
|
+
}
|