@visulima/package 5.0.0-alpha.3 → 5.0.0-alpha.31
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 +370 -0
- package/LICENSE.md +1 -1
- package/README.md +138 -0
- package/dist/error.d.ts +15 -1
- package/dist/error.js +1 -1
- package/dist/index.d.ts +13 -11
- package/dist/index.js +1 -1
- package/dist/lockfile.d.ts +120 -0
- package/dist/lockfile.js +1 -0
- package/dist/monorepo.d.ts +23 -22
- package/dist/monorepo.js +1 -1
- package/dist/package-json.d.ts +7 -138
- package/dist/package-json.js +4 -4
- package/dist/package-manager.d.ts +65 -63
- package/dist/package-manager.js +6 -6
- package/dist/package.d.ts +11 -10
- package/dist/package.js +1 -1
- package/dist/packem_shared/PackageNotFoundError-Bi41exhP.js +1 -0
- package/dist/packem_shared/package-json.d-BHWsl_Em.d.ts +182 -0
- package/dist/pnpm.d.ts +12 -11
- package/dist/pnpm.js +1 -1
- package/package.json +20 -19
- package/dist/error/package-not-found-error.d.ts +0 -15
- package/dist/packem_shared/PackageNotFoundError-BictYTIA.js +0 -1
- package/dist/types.d.ts +0 -37
- package/dist/utils/confirm.d.ts +0 -11
- package/dist/utils/is-node.d.ts +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,373 @@
|
|
|
1
|
+
## @visulima/package [5.0.0-alpha.31](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.30...@visulima/package@5.0.0-alpha.31) (2026-06-13)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **package:** recognise the modern bun.lock text lockfile ([8fec531](https://github.com/visulima/visulima/commit/8fec531a20c32857de93c801d4b42e0eff32c6a8))
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* **package:** replace unsafe type cast with String() coercions ([4c85a5e](https://github.com/visulima/visulima/commit/4c85a5e3fdeb194a0a2bbcee24b85ee23697d3ea))
|
|
10
|
+
* **package:** resolve caching and ReDoS findings ([fb9e5cb](https://github.com/visulima/visulima/commit/fb9e5cb0fbb5fad2078750464845c6b223e0afc5))
|
|
11
|
+
|
|
12
|
+
### Tests
|
|
13
|
+
|
|
14
|
+
* **package:** stop partial process stub leaking across ensurePackages tests ([7059537](https://github.com/visulima/visulima/commit/705953754fe0a64612de06ff1140a9e744b25bfe))
|
|
15
|
+
|
|
16
|
+
### Build System
|
|
17
|
+
|
|
18
|
+
* regenerate bundled-license manifests and types ordering ([af26588](https://github.com/visulima/visulima/commit/af26588d75aaa937fd4862800560bd4070a4878c))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Dependencies
|
|
22
|
+
|
|
23
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.32
|
|
24
|
+
* **@visulima/path:** upgraded to 3.0.0-alpha.13
|
|
25
|
+
|
|
26
|
+
## @visulima/package [5.0.0-alpha.30](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.29...@visulima/package@5.0.0-alpha.30) (2026-06-04)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Dependencies
|
|
30
|
+
|
|
31
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.31
|
|
32
|
+
|
|
33
|
+
## @visulima/package [5.0.0-alpha.29](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.28...@visulima/package@5.0.0-alpha.29) (2026-06-04)
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* **lint:** clear pre-existing eslint rot across packages ([#674](https://github.com/visulima/visulima/issues/674)) ([5354253](https://github.com/visulima/visulima/commit/5354253b163bd50bcefaf8a3fddf831bdb5df32b))
|
|
38
|
+
* **package:** 4 bug fixes ([1e2fba6](https://github.com/visulima/visulima/commit/1e2fba6b0d048f3b90f4e0b428fd984d66f1431e))
|
|
39
|
+
|
|
40
|
+
### Tests
|
|
41
|
+
|
|
42
|
+
* fix cross-platform flakes in package + cerebro ([#676](https://github.com/visulima/visulima/issues/676)) ([d1afb4b](https://github.com/visulima/visulima/commit/d1afb4ba743cf18bdf9f02081539d70bdcda91e9))
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### Dependencies
|
|
46
|
+
|
|
47
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.30
|
|
48
|
+
* **@visulima/path:** upgraded to 3.0.0-alpha.12
|
|
49
|
+
|
|
50
|
+
## @visulima/package [5.0.0-alpha.28](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.27...@visulima/package@5.0.0-alpha.28) (2026-06-02)
|
|
51
|
+
|
|
52
|
+
### Miscellaneous Chores
|
|
53
|
+
|
|
54
|
+
* apply eslint + prettier autofixes across packages ([c1bb784](https://github.com/visulima/visulima/commit/c1bb7848a0d93d0dfe2960c77e3cda22239c79a0))
|
|
55
|
+
|
|
56
|
+
### Tests
|
|
57
|
+
|
|
58
|
+
* **package:** cover confirm prompt, lockfile parsers, package-json/manager, monorepo, and pnpm workspace branches ([7916131](https://github.com/visulima/visulima/commit/7916131a2206a8ebefb0817d7ae0a340fdee2ba0))
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
### Dependencies
|
|
62
|
+
|
|
63
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.29
|
|
64
|
+
|
|
65
|
+
## @visulima/package [5.0.0-alpha.27](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.26...@visulima/package@5.0.0-alpha.27) (2026-05-27)
|
|
66
|
+
|
|
67
|
+
### Bug Fixes
|
|
68
|
+
|
|
69
|
+
* **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
### Dependencies
|
|
73
|
+
|
|
74
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.28
|
|
75
|
+
* **@visulima/path:** upgraded to 3.0.0-alpha.11
|
|
76
|
+
|
|
77
|
+
## @visulima/package [5.0.0-alpha.26](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.25...@visulima/package@5.0.0-alpha.26) (2026-05-26)
|
|
78
|
+
|
|
79
|
+
### Miscellaneous Chores
|
|
80
|
+
|
|
81
|
+
* sorted package.json ([b47c545](https://github.com/visulima/visulima/commit/b47c545591600fdab17d5cd3a3fbc68b61e199da))
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
### Dependencies
|
|
85
|
+
|
|
86
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.27
|
|
87
|
+
|
|
88
|
+
## @visulima/package [5.0.0-alpha.25](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.24...@visulima/package@5.0.0-alpha.25) (2026-05-26)
|
|
89
|
+
|
|
90
|
+
### Miscellaneous Chores
|
|
91
|
+
|
|
92
|
+
* **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
|
|
93
|
+
* **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
|
|
94
|
+
|
|
95
|
+
### Tests
|
|
96
|
+
|
|
97
|
+
* **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
### Dependencies
|
|
101
|
+
|
|
102
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.26
|
|
103
|
+
|
|
104
|
+
## @visulima/package [5.0.0-alpha.24](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.23...@visulima/package@5.0.0-alpha.24) (2026-05-20)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
### Dependencies
|
|
108
|
+
|
|
109
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.25
|
|
110
|
+
|
|
111
|
+
## @visulima/package [5.0.0-alpha.23](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.22...@visulima/package@5.0.0-alpha.23) (2026-05-19)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
### Dependencies
|
|
115
|
+
|
|
116
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.24
|
|
117
|
+
|
|
118
|
+
## @visulima/package [5.0.0-alpha.22](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.21...@visulima/package@5.0.0-alpha.22) (2026-05-16)
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
### Dependencies
|
|
122
|
+
|
|
123
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.23
|
|
124
|
+
|
|
125
|
+
## @visulima/package [5.0.0-alpha.21](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.20...@visulima/package@5.0.0-alpha.21) (2026-05-14)
|
|
126
|
+
|
|
127
|
+
### Miscellaneous Chores
|
|
128
|
+
|
|
129
|
+
* **tooling:** apply prettier and eslint formatting sweep ([c2c641d](https://github.com/visulima/visulima/commit/c2c641d40242e99030cb990fa01039db5e267667))
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
### Dependencies
|
|
133
|
+
|
|
134
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.22
|
|
135
|
+
|
|
136
|
+
## @visulima/package [5.0.0-alpha.20](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.19...@visulima/package@5.0.0-alpha.20) (2026-05-11)
|
|
137
|
+
|
|
138
|
+
### ⚠ BREAKING CHANGES
|
|
139
|
+
|
|
140
|
+
* **vis:** vis sbom now emits CycloneDX 1.7. Downstream consumers
|
|
141
|
+
pinned to a 1.6 validator must upgrade.
|
|
142
|
+
|
|
143
|
+
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
144
|
+
|
|
145
|
+
### Features
|
|
146
|
+
|
|
147
|
+
* **vis:** bump sbom to cyclonedx 1.7 ([904075f](https://github.com/visulima/visulima/commit/904075fd9353e40b593d5a13f53307c584e31da7))
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
### Dependencies
|
|
151
|
+
|
|
152
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.21
|
|
153
|
+
|
|
154
|
+
## @visulima/package [5.0.0-alpha.19](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.18...@visulima/package@5.0.0-alpha.19) (2026-05-11)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
### Dependencies
|
|
158
|
+
|
|
159
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.20
|
|
160
|
+
|
|
161
|
+
## @visulima/package [5.0.0-alpha.18](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.17...@visulima/package@5.0.0-alpha.18) (2026-05-10)
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
### Dependencies
|
|
165
|
+
|
|
166
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.19
|
|
167
|
+
|
|
168
|
+
## @visulima/package [5.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.16...@visulima/package@5.0.0-alpha.17) (2026-05-10)
|
|
169
|
+
|
|
170
|
+
### Code Refactoring
|
|
171
|
+
|
|
172
|
+
* replace execa with tinyexec ([56ec776](https://github.com/visulima/visulima/commit/56ec776908fe0c068c54542f3885cb29f061fea7))
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
### Dependencies
|
|
176
|
+
|
|
177
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.18
|
|
178
|
+
|
|
179
|
+
## @visulima/package [5.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.15...@visulima/package@5.0.0-alpha.16) (2026-05-07)
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
### Dependencies
|
|
183
|
+
|
|
184
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.17
|
|
185
|
+
|
|
186
|
+
## @visulima/package [5.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.14...@visulima/package@5.0.0-alpha.15) (2026-05-07)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
### Dependencies
|
|
190
|
+
|
|
191
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.16
|
|
192
|
+
|
|
193
|
+
## @visulima/package [5.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.13...@visulima/package@5.0.0-alpha.14) (2026-05-06)
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
### Dependencies
|
|
197
|
+
|
|
198
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.15
|
|
199
|
+
|
|
200
|
+
## @visulima/package [5.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.12...@visulima/package@5.0.0-alpha.13) (2026-05-06)
|
|
201
|
+
|
|
202
|
+
### Miscellaneous Chores
|
|
203
|
+
|
|
204
|
+
* **package:** apply prettier and eslint quote-style auto-fix ([0316bca](https://github.com/visulima/visulima/commit/0316bca0deca444ff12675bc760c7091ce243d31))
|
|
205
|
+
* **package:** housekeeping cleanup ([113978b](https://github.com/visulima/visulima/commit/113978b0babcfc7879514aec076f6e2d5e7afab0))
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
### Dependencies
|
|
209
|
+
|
|
210
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.14
|
|
211
|
+
|
|
212
|
+
## @visulima/package [5.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.11...@visulima/package@5.0.0-alpha.12) (2026-05-04)
|
|
213
|
+
|
|
214
|
+
### Miscellaneous Chores
|
|
215
|
+
|
|
216
|
+
* **package:** upgrade packem to 2.0.0-alpha.76 ([b2ef62b](https://github.com/visulima/visulima/commit/b2ef62b72a84545cb025a250cbe7e3e36b34330d))
|
|
217
|
+
* re-sort workspace package.json files via vis sort-package-json ([f625696](https://github.com/visulima/visulima/commit/f625696cfac974325774b3243e1a83c3d23acbd7))
|
|
218
|
+
* simplify pnpm-workspace packages list ([7cab221](https://github.com/visulima/visulima/commit/7cab221163632d9b7aa044a6f88c49083103a869))
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
### Dependencies
|
|
222
|
+
|
|
223
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.13
|
|
224
|
+
|
|
225
|
+
## @visulima/package [5.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.10...@visulima/package@5.0.0-alpha.11) (2026-04-22)
|
|
226
|
+
|
|
227
|
+
### Bug Fixes
|
|
228
|
+
|
|
229
|
+
* Remove JSR configuration generation script and generated jsr.json files ([#616](https://github.com/visulima/visulima/issues/616)) ([533744b](https://github.com/visulima/visulima/commit/533744b103b74896941db5b727173e617a27a63b))
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
### Dependencies
|
|
233
|
+
|
|
234
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.12
|
|
235
|
+
* **@visulima/path:** upgraded to 3.0.0-alpha.10
|
|
236
|
+
|
|
237
|
+
## @visulima/package [5.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.9...@visulima/package@5.0.0-alpha.10) (2026-04-21)
|
|
238
|
+
|
|
239
|
+
### Miscellaneous Chores
|
|
240
|
+
|
|
241
|
+
* jsr.json update and lock file ([73fce38](https://github.com/visulima/visulima/commit/73fce38c7cb4603f3fffb88609b1b18e2feb4937))
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
### Dependencies
|
|
245
|
+
|
|
246
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.11
|
|
247
|
+
|
|
248
|
+
## @visulima/package [5.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.8...@visulima/package@5.0.0-alpha.9) (2026-04-21)
|
|
249
|
+
|
|
250
|
+
### Miscellaneous Chores
|
|
251
|
+
|
|
252
|
+
* update the jsr.json ([864ab7e](https://github.com/visulima/visulima/commit/864ab7e71c4b5ae82f64792d1ae8debfea2c539b))
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
### Dependencies
|
|
256
|
+
|
|
257
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.10
|
|
258
|
+
|
|
259
|
+
## @visulima/package [5.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.7...@visulima/package@5.0.0-alpha.8) (2026-04-21)
|
|
260
|
+
|
|
261
|
+
### Features
|
|
262
|
+
|
|
263
|
+
* Add CycloneDX 1.6 SBOM generation with `vis sbom` command ([#611](https://github.com/visulima/visulima/issues/611)) ([1e95276](https://github.com/visulima/visulima/commit/1e9527630958722a0f0f7e79d18bb23b5a57e0df))
|
|
264
|
+
* **package:** add lockfile utilities ([12f9076](https://github.com/visulima/visulima/commit/12f9076ba1570bec2f2d43b58fcd31701634434e))
|
|
265
|
+
|
|
266
|
+
### Bug Fixes
|
|
267
|
+
|
|
268
|
+
* **package:** hoist regexes, rewrite lockfile parser, resolve eslint issues ([585ed7f](https://github.com/visulima/visulima/commit/585ed7f16b3f42996bb030a8bae5f1f37a50c316))
|
|
269
|
+
|
|
270
|
+
### Miscellaneous Chores
|
|
271
|
+
|
|
272
|
+
* **api-platform:** apply pending lint and source updates ([3fb0043](https://github.com/visulima/visulima/commit/3fb0043a4cf35f752ca89a09a077100ae0142da8))
|
|
273
|
+
* bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
|
|
274
|
+
* fixed jsr.json ([5d85e51](https://github.com/visulima/visulima/commit/5d85e5179de38e284ec433b14d77c71a1619c8d6))
|
|
275
|
+
* **package:** apply formatter and lint fixes ([a0f4acf](https://github.com/visulima/visulima/commit/a0f4acfb15beb256edd3b62958b4e3db039757a9))
|
|
276
|
+
* **package:** apply pending changes ([919b214](https://github.com/visulima/visulima/commit/919b214f9659a5b4ff95ec8b35a70c10af3c4853))
|
|
277
|
+
* **package:** apply pending lint and source updates ([2fd1c04](https://github.com/visulima/visulima/commit/2fd1c044d9528500943368c01f9b24fd2280058c))
|
|
278
|
+
* **package:** enforce curly braces and apply lint fixes ([0df50ba](https://github.com/visulima/visulima/commit/0df50ba4f45bac67dabeb78ebfc3d555ba5aec56))
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
### Dependencies
|
|
282
|
+
|
|
283
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.9
|
|
284
|
+
|
|
285
|
+
## @visulima/package [5.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.6...@visulima/package@5.0.0-alpha.7) (2026-04-08)
|
|
286
|
+
|
|
287
|
+
### Bug Fixes
|
|
288
|
+
|
|
289
|
+
* **package:** properly fix eslint errors in code ([56b1547](https://github.com/visulima/visulima/commit/56b15474d6edd8f33fb46cca81fa34d600df2023))
|
|
290
|
+
* **package:** remove remaining eslint suppressions with proper code fixes ([69efa7a](https://github.com/visulima/visulima/commit/69efa7a9c67977c491a1ec8eaded733478ed29a1))
|
|
291
|
+
* **package:** resolve eslint errors ([1ec4728](https://github.com/visulima/visulima/commit/1ec47286cfcec55ea50c51d51f198b119dd22e71))
|
|
292
|
+
* resolve failing tests across multiple packages ([2b4b6f0](https://github.com/visulima/visulima/commit/2b4b6f04169b60fdc4cf77b293015436a272c0fb))
|
|
293
|
+
|
|
294
|
+
### Miscellaneous Chores
|
|
295
|
+
|
|
296
|
+
* **package:** add tsconfig.eslint.json for type-aware linting ([0355fea](https://github.com/visulima/visulima/commit/0355fea301fb7a8571da25bebd108830bc23ed04))
|
|
297
|
+
* **package:** apply prettier formatting ([ebb5bd1](https://github.com/visulima/visulima/commit/ebb5bd12c6b7d49811c68ea96bf62ce7e2a7d42d))
|
|
298
|
+
* **package:** migrate .prettierrc.cjs to prettier.config.js ([2b84ef0](https://github.com/visulima/visulima/commit/2b84ef0db67467e1360b2f1e6f9b6e96bf3dbbb0))
|
|
299
|
+
* **tooling:** remove empty dependency objects from package.json ([dc52a23](https://github.com/visulima/visulima/commit/dc52a23bc1e2d36f4ec71ca67506bf6861a02929))
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
### Dependencies
|
|
303
|
+
|
|
304
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.7
|
|
305
|
+
* **@visulima/path:** upgraded to 3.0.0-alpha.8
|
|
306
|
+
|
|
307
|
+
## @visulima/package [5.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.5...@visulima/package@5.0.0-alpha.6) (2026-03-26)
|
|
308
|
+
|
|
309
|
+
### Features
|
|
310
|
+
|
|
311
|
+
* **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
|
|
312
|
+
|
|
313
|
+
### Miscellaneous Chores
|
|
314
|
+
|
|
315
|
+
* update homepage URLs to visulima.com/packages/ format ([be42968](https://github.com/visulima/visulima/commit/be42968129df85fb074224435e33135ff44cab91))
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
### Dependencies
|
|
319
|
+
|
|
320
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.6
|
|
321
|
+
* **@visulima/path:** upgraded to 3.0.0-alpha.7
|
|
322
|
+
|
|
323
|
+
## @visulima/package [5.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.4...@visulima/package@5.0.0-alpha.5) (2026-03-26)
|
|
324
|
+
|
|
325
|
+
### Bug Fixes
|
|
326
|
+
|
|
327
|
+
* **package:** use workspace:* for internal [@visulima](https://github.com/visulima) deps ([e409128](https://github.com/visulima/visulima/commit/e409128c02a6d801dd385ae845c1ab28ca5c09da))
|
|
328
|
+
* **web:** improve build setup with incremental stats caching and prod install ([fe33e75](https://github.com/visulima/visulima/commit/fe33e75827586779b4b3a0c6d57b39f889ee6207))
|
|
329
|
+
|
|
330
|
+
### Miscellaneous Chores
|
|
331
|
+
|
|
332
|
+
* **package:** migrate deps to pnpm catalogs ([301fac4](https://github.com/visulima/visulima/commit/301fac41be88df7469155649467921a72ca740a6))
|
|
333
|
+
* **package:** update dependencies ([fb1a43d](https://github.com/visulima/visulima/commit/fb1a43de0fd345806d76aec660d48c627d576083))
|
|
334
|
+
* visulima website ([#591](https://github.com/visulima/visulima/issues/591)) ([59ab2e2](https://github.com/visulima/visulima/commit/59ab2e2befb03e51cd2088956f83d9b87de6d033))
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
### Dependencies
|
|
338
|
+
|
|
339
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.5
|
|
340
|
+
* **@visulima/path:** upgraded to 3.0.0-alpha.6
|
|
341
|
+
|
|
342
|
+
## @visulima/package [5.0.0-alpha.4](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.3...@visulima/package@5.0.0-alpha.4) (2026-03-06)
|
|
343
|
+
|
|
344
|
+
### Bug Fixes
|
|
345
|
+
|
|
346
|
+
* **package:** update packem to 2.0.0-alpha.54 ([e5b3249](https://github.com/visulima/visulima/commit/e5b3249026a425b7a42443f66a08f8f68c3d62e4))
|
|
347
|
+
* **package:** use intentionally malformed JSON in bad workspace fixture ([a6680e7](https://github.com/visulima/visulima/commit/a6680e7a97aeae643c26b69bc5eb6c64c28de278))
|
|
348
|
+
|
|
349
|
+
### Documentation
|
|
350
|
+
|
|
351
|
+
* **humanizer,html,iso-locale,package,tsconfig:** add comprehensive Fumadocs documentation ([19781ce](https://github.com/visulima/visulima/commit/19781ce5d27605971a9f2fdf0a99863effd98091))
|
|
352
|
+
|
|
353
|
+
### Miscellaneous Chores
|
|
354
|
+
|
|
355
|
+
* **package:** update dependencies ([d89cde6](https://github.com/visulima/visulima/commit/d89cde6792e9036d0690cfaf9b771e26b24faac8))
|
|
356
|
+
* **package:** update dependencies ([4b62cf8](https://github.com/visulima/visulima/commit/4b62cf85e6ef4deac4ef01c8a7e15bcf49ecbe80))
|
|
357
|
+
* **tooling:** update dependencies ([7f6f9d3](https://github.com/visulima/visulima/commit/7f6f9d3c41b170c53659ab34b79ceb23e4e9660a))
|
|
358
|
+
* update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
|
|
359
|
+
* year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
|
|
360
|
+
|
|
361
|
+
### Tests
|
|
362
|
+
|
|
363
|
+
* **package:** fix broken JSON test fixture ([46141d6](https://github.com/visulima/visulima/commit/46141d6472d8de20512109200a12e79c48ddc33c))
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
### Dependencies
|
|
367
|
+
|
|
368
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.4
|
|
369
|
+
* **@visulima/path:** upgraded to 3.0.0-alpha.5
|
|
370
|
+
|
|
1
371
|
## @visulima/package [5.0.0-alpha.3](https://github.com/visulima/visulima/compare/@visulima/package@5.0.0-alpha.2...@visulima/package@5.0.0-alpha.3) (2025-12-27)
|
|
2
372
|
|
|
3
373
|
### Bug Fixes
|
package/LICENSE.md
CHANGED
package/README.md
CHANGED
|
@@ -155,6 +155,41 @@ const version = await getPackageManagerVersion("pnpm");
|
|
|
155
155
|
// => '8.15.0'
|
|
156
156
|
```
|
|
157
157
|
|
|
158
|
+
> `getPackageManagerVersion` only accepts the known managers (`npm`, `pnpm`, `yarn`, `bun`) and throws on anything else, so a `packageManager`-derived value from an untrusted repo can't be executed as an arbitrary binary.
|
|
159
|
+
|
|
160
|
+
#### identifyInitiatingPackageManager
|
|
161
|
+
|
|
162
|
+
Detects which package manager is currently executing the process by reading the `npm_config_user_agent` environment variable. Useful inside `postinstall`/`prepare` scripts to print the right install command. Returns `undefined` when the variable is not set.
|
|
163
|
+
|
|
164
|
+
```typescript
|
|
165
|
+
import { identifyInitiatingPackageManager } from "@visulima/package";
|
|
166
|
+
|
|
167
|
+
const pm = identifyInitiatingPackageManager();
|
|
168
|
+
// => { name: 'pnpm', version: '8.15.0' } | { name: 'cnpm', ... } | undefined
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
#### generateMissingPackagesInstallMessage
|
|
172
|
+
|
|
173
|
+
Builds a human-readable message instructing the user how to install missing packages with each requested package manager.
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
import { generateMissingPackagesInstallMessage } from "@visulima/package";
|
|
177
|
+
|
|
178
|
+
const message = generateMissingPackagesInstallMessage("my-tool", ["typescript", "@types/node"], {
|
|
179
|
+
packageManagers: ["npm", "pnpm", "yarn"], // default: ["npm", "pnpm", "yarn"]
|
|
180
|
+
preMessage: "Some optional dependencies are missing.\n",
|
|
181
|
+
postMessage: "\nSee the docs for details.",
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
console.log(message);
|
|
185
|
+
// my-tool could not find the following packages
|
|
186
|
+
// typescript
|
|
187
|
+
// @types/node
|
|
188
|
+
// To install the missing packages, please run the following command:
|
|
189
|
+
// npm install typescript@latest @types/node@latest --save-dev
|
|
190
|
+
// ...
|
|
191
|
+
```
|
|
192
|
+
|
|
158
193
|
### Package.json Operations
|
|
159
194
|
|
|
160
195
|
#### parsePackageJson
|
|
@@ -218,6 +253,14 @@ const result3 = await parsePackageJson("./package.json", { cache: myCache }); //
|
|
|
218
253
|
const result4 = await parsePackageJson({ name: "test" }, { cache: true }); // Always parsed fresh
|
|
219
254
|
```
|
|
220
255
|
|
|
256
|
+
The module-level cache used when `cache: true` (and no custom cache is supplied) never expires on its own. Writing through `writePackageJson[Sync]` evicts the written path automatically, but if you mutate a package file out of band (e.g. in a long-running process or test), call `clearPackageJsonCache()` to drop all cached reads:
|
|
257
|
+
|
|
258
|
+
```typescript
|
|
259
|
+
import { clearPackageJsonCache } from "@visulima/package";
|
|
260
|
+
|
|
261
|
+
clearPackageJsonCache();
|
|
262
|
+
```
|
|
263
|
+
|
|
221
264
|
**Example File Formats**:
|
|
222
265
|
|
|
223
266
|
```yaml
|
|
@@ -335,6 +378,101 @@ import { ensurePackages } from "@visulima/package";
|
|
|
335
378
|
await ensurePackages(packageJson, ["typescript", "@types/node"], "devDependencies");
|
|
336
379
|
```
|
|
337
380
|
|
|
381
|
+
### Lockfile Parsing
|
|
382
|
+
|
|
383
|
+
A regex-based lockfile parser (no YAML dependency) covering all four mainstream JS package managers. Each entry is normalized to `{ name, version, integrity?, dependencies?, peerDependencies?, optionalDependencies? }`, so callers can build SBOMs, dedupe reports, or any other lockfile-derived artifact from a single source of truth.
|
|
384
|
+
|
|
385
|
+
Integrity support:
|
|
386
|
+
|
|
387
|
+
- **npm** (`package-lock.json` v2/v3): `integrity: "sha512-…"` ✅
|
|
388
|
+
- **pnpm** (`pnpm-lock.yaml`): `resolution: { integrity: "sha512-…" }` ✅
|
|
389
|
+
- **yarn v1** (Classic): `integrity "sha512-…"` ✅
|
|
390
|
+
- **yarn v2+** (Berry): emits `checksum: 10c0/…` (XXH64), which is not a cryptographic hash and is outside the CycloneDX 1.6 `HashAlgorithm` enum. Berry entries are still parsed (name / version / dependencies), but `integrity` is `undefined`.
|
|
391
|
+
- **bun** (`bun.lock`): `[versionKey, registryUrl, metadata, integrity]` tuples ✅
|
|
392
|
+
|
|
393
|
+
#### parseLockFile
|
|
394
|
+
|
|
395
|
+
Walks up from `cwd`, locates the nearest supported lockfile, reads it, and returns the parsed entries alongside the lockfile type and absolute path.
|
|
396
|
+
|
|
397
|
+
```typescript
|
|
398
|
+
import { parseLockFile, parseLockFileSync } from "@visulima/package";
|
|
399
|
+
|
|
400
|
+
const result = await parseLockFile();
|
|
401
|
+
// => { entries: [{ name: 'react', version: '18.2.0', integrity: { algorithm: 'sha512', hex: '…' } }, …], path: '/path/to/pnpm-lock.yaml', type: 'pnpm' }
|
|
402
|
+
|
|
403
|
+
// Synchronous version
|
|
404
|
+
const resultSync = parseLockFileSync("./some/dir");
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
#### Per-package-manager parsers
|
|
408
|
+
|
|
409
|
+
When you already have the lockfile contents (and know the format), call a specific parser directly. Each returns a `LockFileEntry[]`.
|
|
410
|
+
|
|
411
|
+
```typescript
|
|
412
|
+
import { parseNpmLockFile, parsePnpmLockFile, parseYarnLockFile, parseBunLockFile } from "@visulima/package";
|
|
413
|
+
import { readFileSync } from "node:fs";
|
|
414
|
+
|
|
415
|
+
const entries = parsePnpmLockFile(readFileSync("./pnpm-lock.yaml", "utf8"));
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
#### decodeSriIntegrity
|
|
419
|
+
|
|
420
|
+
Decodes a Subresource Integrity string (`sha512-<base64>`) into a `{ algorithm, hex }` pair. Returns `undefined` if the string is malformed, oversized, or uses an unsupported algorithm.
|
|
421
|
+
|
|
422
|
+
```typescript
|
|
423
|
+
import { decodeSriIntegrity } from "@visulima/package";
|
|
424
|
+
|
|
425
|
+
const integrity = decodeSriIntegrity("sha512-…");
|
|
426
|
+
// => { algorithm: 'sha512', hex: '…' } | undefined
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### pnpm Catalogs & Workspaces
|
|
430
|
+
|
|
431
|
+
Helpers for reading and resolving pnpm [catalog](https://pnpm.io/catalogs) references from `pnpm-workspace.yaml`.
|
|
432
|
+
|
|
433
|
+
#### readPnpmCatalogs
|
|
434
|
+
|
|
435
|
+
Reads the catalog definitions for the workspace that owns `packagePath`. Returns `undefined` when the package is not part of a pnpm workspace.
|
|
436
|
+
|
|
437
|
+
```typescript
|
|
438
|
+
import { readPnpmCatalogs, readPnpmCatalogsSync } from "@visulima/package";
|
|
439
|
+
|
|
440
|
+
const catalogs = await readPnpmCatalogs("./packages/app/package.json");
|
|
441
|
+
// => { default: { react: '^18.0.0' }, named: { next: { react: '^19.0.0' } } } | undefined
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
#### isPackageInWorkspace
|
|
445
|
+
|
|
446
|
+
Checks whether a package path is covered by a workspace's `packages:` globs.
|
|
447
|
+
|
|
448
|
+
```typescript
|
|
449
|
+
import { isPackageInWorkspace } from "@visulima/package";
|
|
450
|
+
|
|
451
|
+
const inWorkspace = isPackageInWorkspace("/repo", "/repo/packages/app", ["packages/*"]);
|
|
452
|
+
// => true
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
> Catalog references are also resolved automatically when you pass `resolveCatalogs: true` to `parsePackageJson[Sync]` / `findPackageJson[Sync]` (see above).
|
|
456
|
+
|
|
457
|
+
### Subpath Exports
|
|
458
|
+
|
|
459
|
+
Every concern ships as its own entry point. Import from the narrowest one for the best tree-shaking — the root (`@visulima/package`) re-exports everything but pulls in all modules.
|
|
460
|
+
|
|
461
|
+
| Subpath | Contents |
|
|
462
|
+
| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
463
|
+
| `@visulima/package/monorepo` | `findMonorepoRoot[Sync]` |
|
|
464
|
+
| `@visulima/package/package` | `findPackageRoot[Sync]` |
|
|
465
|
+
| `@visulima/package/package-json` | `findPackageJson[Sync]`, `parsePackageJson[Sync]`, `writePackageJson[Sync]`, `clearPackageJsonCache`, property helpers, `ensurePackages` |
|
|
466
|
+
| `@visulima/package/package-manager` | `findPackageManager[Sync]`, `findLockFile[Sync]`, `getPackageManagerVersion`, `identifyInitiatingPackageManager`, `generateMissingPackagesInstallMessage` |
|
|
467
|
+
| `@visulima/package/lockfile` | `parseLockFile[Sync]`, `parseNpmLockFile`, `parsePnpmLockFile`, `parseYarnLockFile`, `parseBunLockFile`, `decodeSriIntegrity` |
|
|
468
|
+
| `@visulima/package/pnpm` | `readPnpmCatalogs[Sync]`, `resolveCatalogReference[s]`, `resolveDependenciesCatalogReferences`, `isPackageInWorkspace` |
|
|
469
|
+
| `@visulima/package/error` | `PackageNotFoundError` |
|
|
470
|
+
|
|
471
|
+
```typescript
|
|
472
|
+
import { parseLockFile } from "@visulima/package/lockfile";
|
|
473
|
+
import { readPnpmCatalogs } from "@visulima/package/pnpm";
|
|
474
|
+
```
|
|
475
|
+
|
|
338
476
|
## Supported Node.js Versions
|
|
339
477
|
|
|
340
478
|
Libraries in this ecosystem make the best effort to track [Node.js’ release schedule](https://github.com/nodejs/release#release-schedule).
|
package/dist/error.d.ts
CHANGED
|
@@ -1 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Error thrown when a package was not found.
|
|
3
|
+
*/
|
|
4
|
+
declare class PackageNotFoundError extends Error {
|
|
5
|
+
/**
|
|
6
|
+
* @param packageName The name of the package that was not found.
|
|
7
|
+
* @param packageManager The package manager used to install the package.
|
|
8
|
+
*/
|
|
9
|
+
constructor(packageName: string[] | string, packageManager?: string);
|
|
10
|
+
get code(): string;
|
|
11
|
+
set code(_name: string);
|
|
12
|
+
override get name(): string;
|
|
13
|
+
override set name(_name: string);
|
|
14
|
+
}
|
|
15
|
+
export { PackageNotFoundError };
|
package/dist/error.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as a}from"./packem_shared/PackageNotFoundError-
|
|
1
|
+
import{default as a}from"./packem_shared/PackageNotFoundError-Bi41exhP.js";export{a as PackageNotFoundError};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export type
|
|
3
|
-
export { findMonorepoRoot, findMonorepoRootSync } from "./monorepo.
|
|
4
|
-
export { findPackageRoot, findPackageRootSync } from "./package.
|
|
5
|
-
export type
|
|
6
|
-
export {
|
|
7
|
-
export type
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
export { PackageNotFoundError } from "./error.js";
|
|
2
|
+
export { type LockFileEntry, type LockFileIntegrity, type LockFileIntegrityAlgorithm, type LockFileParseResult, type LockFileType, decodeSriIntegrity, parseBunLockFile, parseLockFile, parseLockFileContent, parseLockFileSync, parseNpmLockFile, parsePnpmLockFile, parseYarnLockFile } from "./lockfile.js";
|
|
3
|
+
export { type RootMonorepo, type Strategy, findMonorepoRoot, findMonorepoRootSync } from "./monorepo.js";
|
|
4
|
+
export { findPackageRoot, findPackageRootSync } from "./package.js";
|
|
5
|
+
export { type E as EnsurePackagesOptions, type F as FindPackageJsonCache, type N as NormalizedPackageJson, type a as NormalizedReadResult, type P as PackageJson, c as clearPackageJsonCache, e as ensurePackages, f as findPackageJson, b as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, d as hasPackageJsonProperty, p as parsePackageJson, i as parsePackageJsonSync, w as writePackageJson, j as writePackageJsonSync } from "./packem_shared/package-json.d-BHWsl_Em.js";
|
|
6
|
+
export { type PackageManager, type PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from "./package-manager.js";
|
|
7
|
+
export { type PnpmCatalog, type PnpmCatalogs, isPackageInWorkspace, readPnpmCatalogs, readPnpmCatalogsSync, resolveCatalogReference, resolveCatalogReferences, resolveDependenciesCatalogReferences } from "./pnpm.js";
|
|
8
|
+
import '@visulima/fs';
|
|
9
|
+
import 'type-fest';
|
|
10
|
+
import '@antfu/install-pkg';
|
|
11
|
+
import '@inquirer/core';
|
|
12
|
+
import '@inquirer/type';
|
|
13
|
+
import 'normalize-package-data';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as
|
|
1
|
+
import{default as o}from"./packem_shared/PackageNotFoundError-Bi41exhP.js";import{decodeSriIntegrity as r,parseBunLockFile as c,parseLockFile as s,parseLockFileContent as g,parseLockFileSync as i,parseNpmLockFile as t,parsePnpmLockFile as k,parseYarnLockFile as p}from"./lockfile.js";import{findMonorepoRoot as f,findMonorepoRootSync as l}from"./monorepo.js";import{findPackageRoot as y,findPackageRootSync as m}from"./package.js";import{clearPackageJsonCache as J,ensurePackages as S,findPackageJson as L,findPackageJsonSync as M,getPackageJsonProperty as x,hasPackageJsonAnyDependency as C,hasPackageJsonProperty as R,parsePackageJson as u,parsePackageJsonSync as I,writePackageJson as h,writePackageJsonSync as v}from"./package-json.js";import{findLockFile as D,findLockFileSync as N,findPackageManager as A,findPackageManagerSync as B,generateMissingPackagesInstallMessage as E,getPackageManagerVersion as V,identifyInitiatingPackageManager as W}from"./package-manager.js";import{isPackageInWorkspace as b,readPnpmCatalogs as j,readPnpmCatalogsSync as q,resolveCatalogReference as z,resolveCatalogReferences as G,resolveDependenciesCatalogReferences as H}from"./pnpm.js";export{o as PackageNotFoundError,J as clearPackageJsonCache,r as decodeSriIntegrity,S as ensurePackages,D as findLockFile,N as findLockFileSync,f as findMonorepoRoot,l as findMonorepoRootSync,L as findPackageJson,M as findPackageJsonSync,A as findPackageManager,B as findPackageManagerSync,y as findPackageRoot,m as findPackageRootSync,E as generateMissingPackagesInstallMessage,x as getPackageJsonProperty,V as getPackageManagerVersion,C as hasPackageJsonAnyDependency,R as hasPackageJsonProperty,W as identifyInitiatingPackageManager,b as isPackageInWorkspace,c as parseBunLockFile,s as parseLockFile,g as parseLockFileContent,i as parseLockFileSync,t as parseNpmLockFile,u as parsePackageJson,I as parsePackageJsonSync,k as parsePnpmLockFile,p as parseYarnLockFile,j as readPnpmCatalogs,q as readPnpmCatalogsSync,z as resolveCatalogReference,G as resolveCatalogReferences,H as resolveDependenciesCatalogReferences,h as writePackageJson,v as writePackageJsonSync};
|