@proteinjs/reflection-build 2.0.1 → 2.0.3
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 +16 -0
- package/package.json +5 -5
- 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/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
|
@@ -1053,9 +1053,9 @@
|
|
|
1053
1053
|
}
|
|
1054
1054
|
},
|
|
1055
1055
|
"node_modules/@proteinjs/reflection": {
|
|
1056
|
-
"version": "1.
|
|
1057
|
-
"resolved": "https://registry.npmjs.org/@proteinjs/reflection/-/reflection-1.
|
|
1058
|
-
"integrity": "sha512-
|
|
1056
|
+
"version": "1.2.0",
|
|
1057
|
+
"resolved": "https://registry.npmjs.org/@proteinjs/reflection/-/reflection-1.2.0.tgz",
|
|
1058
|
+
"integrity": "sha512-AsoipvjpRD0WA1VC4770D5NsN0BDdli9UipdzHHPxcA+BJYcxwPLPLA7h+AAXTNMNfpr/BbEFkxHC0oSCiTkNg==",
|
|
1059
1059
|
"license": "ISC",
|
|
1060
1060
|
"dependencies": {
|
|
1061
1061
|
"@dagrejs/graphlib": "2.1.4",
|
|
@@ -1063,9 +1063,9 @@
|
|
|
1063
1063
|
}
|
|
1064
1064
|
},
|
|
1065
1065
|
"node_modules/@proteinjs/util": {
|
|
1066
|
-
"version": "1.6.
|
|
1067
|
-
"resolved": "https://registry.npmjs.org/@proteinjs/util/-/util-1.6.
|
|
1068
|
-
"integrity": "sha512-
|
|
1066
|
+
"version": "1.6.2",
|
|
1067
|
+
"resolved": "https://registry.npmjs.org/@proteinjs/util/-/util-1.6.2.tgz",
|
|
1068
|
+
"integrity": "sha512-ZY7rMImFNnGV7x/Bqkkav1/gy9IvRR823JcnRJ4SoWXSlA29kuPdaHfnBay6eTQ7+kjiGGtJ+tMWM6NvZW9rUw==",
|
|
1069
1069
|
"license": "ISC",
|
|
1070
1070
|
"dependencies": {
|
|
1071
1071
|
"@dagrejs/graphlib": "2.1.4",
|
|
@@ -1073,13 +1073,13 @@
|
|
|
1073
1073
|
}
|
|
1074
1074
|
},
|
|
1075
1075
|
"node_modules/@proteinjs/util-node": {
|
|
1076
|
-
"version": "1.
|
|
1077
|
-
"resolved": "https://registry.npmjs.org/@proteinjs/util-node/-/util-node-1.
|
|
1078
|
-
"integrity": "sha512
|
|
1076
|
+
"version": "1.11.0",
|
|
1077
|
+
"resolved": "https://registry.npmjs.org/@proteinjs/util-node/-/util-node-1.11.0.tgz",
|
|
1078
|
+
"integrity": "sha512-+G6Q2w/F5NqmB/3wpNlhj6anpFs503xeKGiec4Hh0+WAsN1JkZCMmEQsHrrzaLGide0b6LyY3Kdo1eycFWRwGw==",
|
|
1079
1079
|
"license": "ISC",
|
|
1080
1080
|
"dependencies": {
|
|
1081
1081
|
"@dagrejs/graphlib": "2.1.4",
|
|
1082
|
-
"@proteinjs/util": "^1.6.
|
|
1082
|
+
"@proteinjs/util": "^1.6.2",
|
|
1083
1083
|
"fs-extra": "11.1.1",
|
|
1084
1084
|
"globby": "11.0.1",
|
|
1085
1085
|
"typescript": "5.2.2"
|
|
@@ -3,6 +3,14 @@
|
|
|
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
|
+
## [1.6.2](https://github.com/proteinjs/util/compare/@proteinjs/util@1.6.1...@proteinjs/util@1.6.2) (2026-08-13)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @proteinjs/util
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [1.6.0](https://github.com/proteinjs/util/compare/@proteinjs/util@1.5.0...@proteinjs/util@1.6.0) (2026-03-06)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Brent Bahry
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/util",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.2",
|
|
4
4
|
"description": "Runtime-agnostic util libs",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -36,5 +36,6 @@
|
|
|
36
36
|
"eslint-config-prettier": "9.1.0",
|
|
37
37
|
"eslint-plugin-prettier": "5.1.3",
|
|
38
38
|
"typescript": "5.2.2"
|
|
39
|
-
}
|
|
39
|
+
},
|
|
40
|
+
"gitHead": "6b3396594c660b51fb8312414afba5af74287159"
|
|
40
41
|
}
|
|
@@ -3,6 +3,69 @@
|
|
|
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
|
+
# [1.11.0](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.10.6...@proteinjs/util-node@1.11.0) (2026-09-03)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **util-node:** workspace membership is declared, never crawled — WorkspaceDeclaration is the one owner of which package.json files are members: a root's lerna.json `packages` (lerna's default packages/* when the field is absent) plus the root package.json `workspacePackages` extra roots name exactly its members; a declared root OWNS its subtree (nothing undeclared beneath it is a member, however the tree is walked from above); only a tree with no declaration at its root is crawled — bounded exactly as before (no hidden dirs, node_modules, dist, symlinks) — and it hands every declared root it meets to that root's declaration. Hard errors naming their paths: a declared literal with no package.json; two leaf packages sharing a name (containers — every root in the metarepo is named `root` — are path-identified and exempt). npm's own `workspaces` field is deliberately not read (a different install model). Why: n3xah/app Deploy to Test run 33747781291 (2026-09-03) — CI fixture trees carrying the app's own package names shadowed packages/common, server and ui in the crawl (last path wins), build-workspace built "1 package in workspace", the image shipped with no packages/server/dist, and the migration gate failed on `Cannot find module dist/generated/index.js`. RED RUN stated: the shadowing repro through PackageUtil.getWorkspaceMetadata resolved @t/server to the fixture path at the pre-fix scanner; green with the declaration wired in. Bites verified: collision check disarmed -> the collision pin red alone; declaration ignored at the root -> repro + globs + literal-missing red; restored green. Suite: packages/node 6 suites / 30 tests green (24 pre-existing + 6 new). ([a8f3684](https://github.com/proteinjs/util/commit/a8f368494a07146d850c33584428945601d223e3))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.10.6](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.10.5...@proteinjs/util-node@1.10.6) (2026-09-02)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **util-node:** Fs glob helpers prune ignored directories under a dot-directory base path — match relative to cwd (absolute:true) instead of folding the directory into an absolute pattern. In the absolute form fast-glob matched the ignore list against the absolute entry path and a globstar does not cross a dot-segment, so under ~/.n3xa/workspaces/<name> (the default local workspaces root) or a .scratch estate the ignore list matched nothing: every node_modules/dist was walked in full, workspace symlinks followed into cycles, and the dev-skill Glob of every package.json over a materialized metarepo exhausted a 12G heap three times running (2026-09-02). getFilePaths now rides the same path (its dir + '**/*' form walked one level only without a trailing separator). RED RUN stated: Fs.getFilePathsMatchingGlob.test 3/3 red at the pre-fix code (EACCES from inside node_modules/dep/locked under a dot-directory tmp root — the walk provably entering node_modules); green with the cwd form. Bite verified: absolute form re-introduced -> 3/3 red; restored green. Suite: packages/node 5 suites / 24 tests green (21 pre-existing + 3 new). ([2aace27](https://github.com/proteinjs/util/commit/2aace277e5e5727dc2666ee0a3cd3d49a3c69932))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [1.10.5](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.10.4...@proteinjs/util-node@1.10.5) (2026-09-02)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* **util-node:** parseArgsMap splits on the FIRST '=' only — values with embedded '=' (the estate CLI's --note among them) previously truncated at the second '=' (split('=')[1] kept one segment). The parser now preserves the full value after the first separator; bare flags and empty values unchanged. RED RUN stated: ArgsMap.test 2/6 red at the pre-fix code (--note=a=b=c parsed as 'a'); green with the indexOf split. Bite verified: truncation re-introduced -> the 2 embedded-'=' pins red alone; restored green. Suite: packages/node 4 suites / 21 tests green (15 pre-existing + 6 new). ([277c1d6](https://github.com/proteinjs/util/commit/277c1d65e15d874f7c1750b3edf63bf905120780))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## [1.10.4](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.10.3...@proteinjs/util-node@1.10.4) (2026-08-17)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Bug Fixes
|
|
43
|
+
|
|
44
|
+
* package identity is the package.json path — name-keyed discovery dropped same-named packages ([9cd9721](https://github.com/proteinjs/util/commit/9cd9721dec7052f65b1021a4c004900ff19802a8)), closes [#75](https://github.com/proteinjs/util/issues/75)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## [1.10.3](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.10.2...@proteinjs/util-node@1.10.3) (2026-08-15)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Bug Fixes
|
|
54
|
+
|
|
55
|
+
* bounded workspace package discovery — replace glob walk that descended unpruned into hidden directories ([04a56bb](https://github.com/proteinjs/util/commit/04a56bb228536ffa2fb63e888524c672f4cca186))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
## [1.10.2](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.10.1...@proteinjs/util-node@1.10.2) (2026-08-13)
|
|
62
|
+
|
|
63
|
+
**Note:** Version bump only for package @proteinjs/util-node
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
6
69
|
# [1.10.0](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.9.0...@proteinjs/util-node@1.10.0) (2026-07-28)
|
|
7
70
|
|
|
8
71
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Brent Bahry
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -22,4 +22,5 @@ __exportStar(require("./src/PackageUtil"), exports);
|
|
|
22
22
|
__exportStar(require("./src/GitUtil"), exports);
|
|
23
23
|
__exportStar(require("./src/ArgsMap"), exports);
|
|
24
24
|
__exportStar(require("./src/LogColorWrapper"), exports);
|
|
25
|
+
__exportStar(require("./src/WorkspaceDeclaration"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,mDAAiC;AACjC,4CAA0B;AAC1B,2CAAyB;AACzB,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,mDAAiC;AACjC,4CAA0B;AAC1B,2CAAyB;AACzB,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,wDAAsC;AACtC,6DAA2C"}
|
package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js
CHANGED
|
@@ -7,12 +7,15 @@ var parseArgsMap = function (rawArgs) {
|
|
|
7
7
|
if (!arg.startsWith('--')) {
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
// Split on the FIRST '=' only — values legitimately contain '=' (e.g. --note=port=9040)
|
|
11
|
+
// and must be preserved in full.
|
|
12
|
+
var keyValue = arg.slice(2);
|
|
13
|
+
var separatorIndex = keyValue.indexOf('=');
|
|
14
|
+
if (separatorIndex >= 0) {
|
|
15
|
+
args[keyValue.slice(0, separatorIndex)] = keyValue.slice(separatorIndex + 1);
|
|
13
16
|
}
|
|
14
17
|
else {
|
|
15
|
-
args[keyValue
|
|
18
|
+
args[keyValue] = true;
|
|
16
19
|
}
|
|
17
20
|
});
|
|
18
21
|
return args;
|
package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgsMap.js","sourceRoot":"","sources":["../../src/ArgsMap.ts"],"names":[],"mappings":";;;AAIO,IAAM,YAAY,GAAG,UAAC,OAAiB;IAC5C,IAAM,IAAI,GAAY,EAAE,CAAC;IACzB,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG;QAClB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO;SACR;QAED,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ArgsMap.js","sourceRoot":"","sources":["../../src/ArgsMap.ts"],"names":[],"mappings":";;;AAIO,IAAM,YAAY,GAAG,UAAC,OAAiB;IAC5C,IAAM,IAAI,GAAY,EAAE,CAAC;IACzB,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG;QAClB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO;SACR;QAED,wFAAwF;QACxF,iCAAiC;QACjC,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,cAAc,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;SAC9E;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAlBW,QAAA,YAAY,gBAkBvB"}
|
|
@@ -218,9 +218,7 @@ var Fs = /** @class */ (function () {
|
|
|
218
218
|
return __awaiter(this, void 0, void 0, function () {
|
|
219
219
|
return __generator(this, function (_a) {
|
|
220
220
|
switch (_a.label) {
|
|
221
|
-
case 0: return [4 /*yield*/,
|
|
222
|
-
ignore: __spreadArray([], globIgnorePatterns, true),
|
|
223
|
-
})];
|
|
221
|
+
case 0: return [4 /*yield*/, Fs.getFilePathsMatchingGlob(dir, '**/*', globIgnorePatterns)];
|
|
224
222
|
case 1: return [2 /*return*/, _a.sent()];
|
|
225
223
|
}
|
|
226
224
|
});
|
|
@@ -229,20 +227,26 @@ var Fs = /** @class */ (function () {
|
|
|
229
227
|
// @param dirPrefix recursively search for files in this dir
|
|
230
228
|
// @param glob file matching pattern ie. **/package.json
|
|
231
229
|
// @param globIgnorePatterns ie. ['**/node_modules/**', '**/dist/**'] to ignore these directories
|
|
232
|
-
// @return string[] of file paths
|
|
230
|
+
// @return string[] of absolute file paths
|
|
233
231
|
Fs.getFilePathsMatchingGlob = function (dirPrefix, glob, globIgnorePatterns) {
|
|
234
232
|
if (globIgnorePatterns === void 0) { globIgnorePatterns = []; }
|
|
235
233
|
return __awaiter(this, void 0, void 0, function () {
|
|
236
234
|
return __generator(this, function (_a) {
|
|
237
235
|
switch (_a.label) {
|
|
238
|
-
case 0:
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
236
|
+
case 0: return [4 /*yield*/, (0, globby_1.default)(glob, {
|
|
237
|
+
cwd: dirPrefix,
|
|
238
|
+
absolute: true,
|
|
239
|
+
ignore: __spreadArray([], globIgnorePatterns, true),
|
|
240
|
+
})];
|
|
241
|
+
case 1:
|
|
242
|
+
// Match relative to the directory (`cwd`) rather than folding it into an absolute pattern.
|
|
243
|
+
// In the absolute form fast-glob matched the ignore list against the absolute entry path,
|
|
244
|
+
// and a globstar does not cross a dot-segment — so under any base path containing a
|
|
245
|
+
// dot-directory (`~/.n3xa/workspaces/<name>`, a `.scratch` estate) the ignore list matched
|
|
246
|
+
// nothing: every node_modules/dist was walked in full, workspace symlinks followed into
|
|
247
|
+
// cycles, and the caller ran out of heap on a large tree. Relative matching keeps the ignore
|
|
248
|
+
// list and the entry paths in the same frame, so the prune holds under any base path.
|
|
249
|
+
return [2 /*return*/, _a.sent()];
|
|
246
250
|
}
|
|
247
251
|
});
|
|
248
252
|
});
|
package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fs.js","sourceRoot":"","sources":["../../src/Fs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,sDAA+B;AAC/B,yDAA6B;AAC7B,kDAA4B;AAC5B,6BAA4B;AAwB5B;IAAA;
|
|
1
|
+
{"version":3,"file":"Fs.js","sourceRoot":"","sources":["../../src/Fs.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,29 @@ export type LocalPackage = {
|
|
|
14
14
|
lernaJson?: any;
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* Name-keyed resolution index: dependency declarations reference packages BY NAME, so name →
|
|
19
|
+
* package is how a declared dep resolves to a workspace member. Names are not identities —
|
|
20
|
+
* every workspace root in a metarepo is named `root` — so when several packages share a name,
|
|
21
|
+
* this map holds only one of them (deterministically: the lexicographically last package.json
|
|
22
|
+
* path wins). Enumeration and identity questions belong to `LocalPackagePathMap`.
|
|
23
|
+
*/
|
|
17
24
|
export type LocalPackageMap = {
|
|
18
25
|
[packageName: string]: LocalPackage;
|
|
19
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* Path-keyed identity map: one entry per discovered package.json, keyed by its absolute path.
|
|
29
|
+
* This is the DISCOVERY truth — same-named packages (the metarepo root, the app root, and every
|
|
30
|
+
* nested lerna root are all named `root`) never collide here. Use it wherever the question is
|
|
31
|
+
* "which packages exist" (enumeration, symlink coverage); use `LocalPackageMap` only to resolve
|
|
32
|
+
* a dependency NAME to its workspace member.
|
|
33
|
+
*/
|
|
34
|
+
export type LocalPackagePathMap = {
|
|
35
|
+
[packageJsonPath: string]: LocalPackage;
|
|
36
|
+
};
|
|
20
37
|
export type WorkspaceMetadata = {
|
|
21
38
|
packageMap: LocalPackageMap;
|
|
39
|
+
packagePathMap: LocalPackagePathMap;
|
|
22
40
|
packageGraph: any;
|
|
23
41
|
sortedPackageNames: string[];
|
|
24
42
|
workspaceToPackageMap: {
|
|
@@ -59,13 +77,33 @@ export declare class PackageUtil {
|
|
|
59
77
|
};
|
|
60
78
|
private static logCompilerErrors;
|
|
61
79
|
/**
|
|
62
|
-
* Get
|
|
80
|
+
* Get the name-keyed resolution index of local packages within the repo specified by
|
|
81
|
+
* directory path. Derived from `getLocalPackagePathMap` (which owns discovery); see
|
|
82
|
+
* `LocalPackageMap` for the name-collision semantics.
|
|
63
83
|
*
|
|
64
84
|
* @param dir dir path that contains local packages
|
|
65
|
-
* @param globIgnorePatterns already includes: ['**\/node_modules/**', '**\/dist/**']
|
|
66
85
|
* @returns {[packageName: string]: LocalPackage}
|
|
67
86
|
*/
|
|
68
|
-
static getLocalPackageMap(dir: string
|
|
87
|
+
static getLocalPackageMap(dir: string): Promise<LocalPackageMap>;
|
|
88
|
+
/**
|
|
89
|
+
* Every member package of the workspace rooted at `dir`, keyed by package.json path — the
|
|
90
|
+
* package's IDENTITY. Same-named packages (every workspace root is named `root`) are distinct
|
|
91
|
+
* entries here; anything that enumerates workspace members must start from this map, not from
|
|
92
|
+
* the name-keyed index.
|
|
93
|
+
*
|
|
94
|
+
* Membership is DECLARED, never crawled — `WorkspaceDeclaration` is the one owner: a root's
|
|
95
|
+
* lerna.json `packages` (plus the root package.json's `workspacePackages` extra roots) names
|
|
96
|
+
* exactly its members, a declared root owns its subtree, and only a tree with no declaration
|
|
97
|
+
* at its root is walked (bounded: never into hidden directories, `node_modules`, `dist`, or
|
|
98
|
+
* through symlinks — the unbounded-glob OOM of 2026-09-02 stays fixed). A same-named
|
|
99
|
+
* package.json nobody declared (the CI fixture trees that shadowed the app's packages in
|
|
100
|
+
* n3xah/app run 33747781291) is not a member; a leaf-name collision among members is a hard
|
|
101
|
+
* error naming both paths.
|
|
102
|
+
*
|
|
103
|
+
* @param dir dir path that contains local packages
|
|
104
|
+
* @returns {[packageJsonPath: string]: LocalPackage}
|
|
105
|
+
*/
|
|
106
|
+
static getLocalPackagePathMap(dir: string): Promise<LocalPackagePathMap>;
|
|
69
107
|
/**
|
|
70
108
|
* Finds the nearest package.json in the directory hierarchy starting from the given directory.
|
|
71
109
|
* @param dir The starting directory path to search from.
|
|
@@ -120,17 +158,18 @@ export declare class PackageUtil {
|
|
|
120
158
|
/**
|
|
121
159
|
* Compute the transitive closure of workspace dependencies for `localPackage`.
|
|
122
160
|
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
161
|
+
* Traverses dependency DECLARATIONS (`dependencies` + `devDependencies`) starting from THIS
|
|
162
|
+
* package instance's own package.json, resolving each declared name through
|
|
163
|
+
* `localPackageMap` and expanding through the resolved packages' declarations in turn.
|
|
164
|
+
* Cycle safety and the visited set are PATH-KEYED (package.json paths): identity is the
|
|
165
|
+
* path, never the name. The closure is never seeded from a shared name-keyed graph node —
|
|
166
|
+
* same-named packages (every workspace root is named `root`) share such a node, so a
|
|
167
|
+
* graph-seeded closure conflates their dependencies and computes another package's closure
|
|
168
|
+
* for whichever same-named instance lost the name-keyed collision.
|
|
129
169
|
*
|
|
130
|
-
* Only names present in `localPackageMap` are returned — i.e. packages that
|
|
131
|
-
* actually live in the workspace and can be symlinked
|
|
132
|
-
*
|
|
133
|
-
* again here so the result is exactly the set of linkable packages).
|
|
170
|
+
* Only names present in `localPackageMap` are traversed and returned — i.e. packages that
|
|
171
|
+
* actually live in the workspace and can be symlinked. The package itself is excluded from
|
|
172
|
+
* the result (its own path seeds the visited set).
|
|
134
173
|
*
|
|
135
174
|
* Public: WorkspaceDoctor (@proteinjs/build) diagnoses the same closure this method links —
|
|
136
175
|
* verification and repair must agree on the set of packages that ought to be symlinked.
|
|
@@ -152,4 +191,11 @@ export declare class PackageUtil {
|
|
|
152
191
|
* @param localPackageMap `LocalPackageMap` of the workspace
|
|
153
192
|
*/
|
|
154
193
|
private static symlinkPackage;
|
|
194
|
+
/**
|
|
195
|
+
* Derive the name-keyed resolution index from the path-keyed discovery map. When several
|
|
196
|
+
* packages share a name, the lexicographically last package.json path wins — deterministic,
|
|
197
|
+
* and irrelevant for real dependency names (nothing declares a dep on `root`; uniquely-named
|
|
198
|
+
* packages resolve identically either way).
|
|
199
|
+
*/
|
|
200
|
+
private static toNameKeyedMap;
|
|
155
201
|
}
|