@visulima/vis 3.0.5 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/LICENSE.md +0 -116
  3. package/README.md +3 -2
  4. package/dist/bin.js +1 -1
  5. package/dist/binx.js +1 -1
  6. package/dist/config/index.d.ts +24 -4
  7. package/dist/packem_chunks/CONFIG_FILES.js +6 -5
  8. package/dist/packem_chunks/catalog.js +32 -32
  9. package/dist/packem_chunks/cli-exec.js +1 -1
  10. package/dist/packem_chunks/cli-main.js +153 -152
  11. package/dist/packem_chunks/handler12.js +25 -10
  12. package/dist/packem_chunks/handler2.js +1 -1
  13. package/dist/packem_chunks/handler28.js +1 -1
  14. package/dist/packem_chunks/handler3.js +2 -2
  15. package/dist/packem_chunks/handler55.js +1 -1
  16. package/dist/packem_chunks/handler59.js +1 -1
  17. package/dist/packem_chunks/handler6.js +1 -1
  18. package/dist/packem_chunks/handler67.js +28 -25
  19. package/dist/packem_chunks/handler68.js +25 -153
  20. package/dist/packem_chunks/handler69.js +153 -10
  21. package/dist/packem_chunks/handler70.js +10 -22
  22. package/dist/packem_chunks/handler71.js +21 -22
  23. package/dist/packem_chunks/handler72.js +23 -322
  24. package/dist/packem_chunks/handler73.js +273 -659
  25. package/dist/packem_chunks/handler74.js +708 -48
  26. package/dist/packem_chunks/handler75.js +48 -27
  27. package/dist/packem_chunks/handler76.js +27 -3
  28. package/dist/packem_chunks/handler77.js +3 -189
  29. package/dist/packem_chunks/handler78.js +188 -39
  30. package/dist/packem_chunks/help-command.js +1 -1
  31. package/dist/packem_shared/{affected-selection-DIgAsQTu.js → affected-selection-BmUh3_Qp.js} +1 -1
  32. package/dist/packem_shared/{bin-CVfNImCA.js → bin-D-Es9mva.js} +1 -1
  33. package/dist/packem_shared/{index-5GrALmsb.js → index-BvYJA7e5.js} +1 -1
  34. package/dist/packem_shared/lockfile-DVFySxTS.js +1 -0
  35. package/dist/packem_shared/{package-version-CIhwFJn3.js → package-version-B_KfpWKC.js} +1 -1
  36. package/dist/packem_shared/{project-name-filter-sYH4Zvsm.js → project-name-filter-D6uEN2ot.js} +1 -1
  37. package/dist/packem_shared/vis-user-error-By2ZNeEA.js +31 -0
  38. package/index.d.ts +204 -204
  39. package/index.js +26 -26
  40. package/package.json +13 -13
  41. package/schemas/project.schema.json +2 -2
  42. package/schemas/vis-config.schema.json +8 -9
  43. package/skills/vis/SKILL.md +1 -1
  44. package/dist/packem_shared/lockfile-35RFsJDs.js +0 -1
  45. package/dist/packem_shared/vis-user-error-CgyYA29v.js +0 -30
package/index.js CHANGED
@@ -82,7 +82,7 @@ function requireNative() {
82
82
  const binding = require('@visulima/vis-binding-android-arm64')
83
83
  const bindingPackageVersion = require('@visulima/vis-binding-android-arm64/package.json').version
84
84
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
85
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
85
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
86
86
  }
87
87
  return binding
88
88
  } catch (e) {
@@ -98,7 +98,7 @@ function requireNative() {
98
98
  const binding = require('@visulima/vis-binding-android-arm-eabi')
99
99
  const bindingPackageVersion = require('@visulima/vis-binding-android-arm-eabi/package.json').version
100
100
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
101
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
101
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
102
102
  }
103
103
  return binding
104
104
  } catch (e) {
@@ -119,7 +119,7 @@ function requireNative() {
119
119
  const binding = require('@visulima/vis-binding-win32-x64-gnu')
120
120
  const bindingPackageVersion = require('@visulima/vis-binding-win32-x64-gnu/package.json').version
121
121
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
122
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
122
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
123
123
  }
124
124
  return binding
125
125
  } catch (e) {
@@ -135,7 +135,7 @@ function requireNative() {
135
135
  const binding = require('@visulima/vis-binding-win32-x64-msvc')
136
136
  const bindingPackageVersion = require('@visulima/vis-binding-win32-x64-msvc/package.json').version
137
137
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
138
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
138
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
139
139
  }
140
140
  return binding
141
141
  } catch (e) {
@@ -152,7 +152,7 @@ function requireNative() {
152
152
  const binding = require('@visulima/vis-binding-win32-ia32-msvc')
153
153
  const bindingPackageVersion = require('@visulima/vis-binding-win32-ia32-msvc/package.json').version
154
154
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
155
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
155
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
156
156
  }
157
157
  return binding
158
158
  } catch (e) {
@@ -168,7 +168,7 @@ function requireNative() {
168
168
  const binding = require('@visulima/vis-binding-win32-arm64-msvc')
169
169
  const bindingPackageVersion = require('@visulima/vis-binding-win32-arm64-msvc/package.json').version
170
170
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
171
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
171
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
172
172
  }
173
173
  return binding
174
174
  } catch (e) {
@@ -187,7 +187,7 @@ function requireNative() {
187
187
  const binding = require('@visulima/vis-binding-darwin-universal')
188
188
  const bindingPackageVersion = require('@visulima/vis-binding-darwin-universal/package.json').version
189
189
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
190
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
190
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
191
191
  }
192
192
  return binding
193
193
  } catch (e) {
@@ -203,7 +203,7 @@ function requireNative() {
203
203
  const binding = require('@visulima/vis-binding-darwin-x64')
204
204
  const bindingPackageVersion = require('@visulima/vis-binding-darwin-x64/package.json').version
205
205
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
206
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
206
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
207
207
  }
208
208
  return binding
209
209
  } catch (e) {
@@ -219,7 +219,7 @@ function requireNative() {
219
219
  const binding = require('@visulima/vis-binding-darwin-arm64')
220
220
  const bindingPackageVersion = require('@visulima/vis-binding-darwin-arm64/package.json').version
221
221
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
222
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
222
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
223
223
  }
224
224
  return binding
225
225
  } catch (e) {
@@ -239,7 +239,7 @@ function requireNative() {
239
239
  const binding = require('@visulima/vis-binding-freebsd-x64')
240
240
  const bindingPackageVersion = require('@visulima/vis-binding-freebsd-x64/package.json').version
241
241
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
242
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
242
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
243
243
  }
244
244
  return binding
245
245
  } catch (e) {
@@ -255,7 +255,7 @@ function requireNative() {
255
255
  const binding = require('@visulima/vis-binding-freebsd-arm64')
256
256
  const bindingPackageVersion = require('@visulima/vis-binding-freebsd-arm64/package.json').version
257
257
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
258
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
258
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
259
259
  }
260
260
  return binding
261
261
  } catch (e) {
@@ -276,7 +276,7 @@ function requireNative() {
276
276
  const binding = require('@visulima/vis-binding-linux-x64-musl')
277
277
  const bindingPackageVersion = require('@visulima/vis-binding-linux-x64-musl/package.json').version
278
278
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
279
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
279
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
280
280
  }
281
281
  return binding
282
282
  } catch (e) {
@@ -292,7 +292,7 @@ function requireNative() {
292
292
  const binding = require('@visulima/vis-binding-linux-x64-gnu')
293
293
  const bindingPackageVersion = require('@visulima/vis-binding-linux-x64-gnu/package.json').version
294
294
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
295
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
295
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
296
296
  }
297
297
  return binding
298
298
  } catch (e) {
@@ -310,7 +310,7 @@ function requireNative() {
310
310
  const binding = require('@visulima/vis-binding-linux-arm64-musl')
311
311
  const bindingPackageVersion = require('@visulima/vis-binding-linux-arm64-musl/package.json').version
312
312
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
313
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
313
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
314
314
  }
315
315
  return binding
316
316
  } catch (e) {
@@ -326,7 +326,7 @@ function requireNative() {
326
326
  const binding = require('@visulima/vis-binding-linux-arm64-gnu')
327
327
  const bindingPackageVersion = require('@visulima/vis-binding-linux-arm64-gnu/package.json').version
328
328
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
329
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
329
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
330
330
  }
331
331
  return binding
332
332
  } catch (e) {
@@ -344,7 +344,7 @@ function requireNative() {
344
344
  const binding = require('@visulima/vis-binding-linux-arm-musleabihf')
345
345
  const bindingPackageVersion = require('@visulima/vis-binding-linux-arm-musleabihf/package.json').version
346
346
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
347
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
347
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
348
348
  }
349
349
  return binding
350
350
  } catch (e) {
@@ -360,7 +360,7 @@ function requireNative() {
360
360
  const binding = require('@visulima/vis-binding-linux-arm-gnueabihf')
361
361
  const bindingPackageVersion = require('@visulima/vis-binding-linux-arm-gnueabihf/package.json').version
362
362
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
363
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
363
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
364
364
  }
365
365
  return binding
366
366
  } catch (e) {
@@ -378,7 +378,7 @@ function requireNative() {
378
378
  const binding = require('@visulima/vis-binding-linux-loong64-musl')
379
379
  const bindingPackageVersion = require('@visulima/vis-binding-linux-loong64-musl/package.json').version
380
380
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
381
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
381
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
382
382
  }
383
383
  return binding
384
384
  } catch (e) {
@@ -394,7 +394,7 @@ function requireNative() {
394
394
  const binding = require('@visulima/vis-binding-linux-loong64-gnu')
395
395
  const bindingPackageVersion = require('@visulima/vis-binding-linux-loong64-gnu/package.json').version
396
396
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
397
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
397
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
398
398
  }
399
399
  return binding
400
400
  } catch (e) {
@@ -412,7 +412,7 @@ function requireNative() {
412
412
  const binding = require('@visulima/vis-binding-linux-riscv64-musl')
413
413
  const bindingPackageVersion = require('@visulima/vis-binding-linux-riscv64-musl/package.json').version
414
414
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
415
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
415
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
416
416
  }
417
417
  return binding
418
418
  } catch (e) {
@@ -428,7 +428,7 @@ function requireNative() {
428
428
  const binding = require('@visulima/vis-binding-linux-riscv64-gnu')
429
429
  const bindingPackageVersion = require('@visulima/vis-binding-linux-riscv64-gnu/package.json').version
430
430
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
431
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
431
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
432
432
  }
433
433
  return binding
434
434
  } catch (e) {
@@ -445,7 +445,7 @@ function requireNative() {
445
445
  const binding = require('@visulima/vis-binding-linux-ppc64-gnu')
446
446
  const bindingPackageVersion = require('@visulima/vis-binding-linux-ppc64-gnu/package.json').version
447
447
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
448
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
448
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
449
449
  }
450
450
  return binding
451
451
  } catch (e) {
@@ -461,7 +461,7 @@ function requireNative() {
461
461
  const binding = require('@visulima/vis-binding-linux-s390x-gnu')
462
462
  const bindingPackageVersion = require('@visulima/vis-binding-linux-s390x-gnu/package.json').version
463
463
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
464
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
464
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
465
465
  }
466
466
  return binding
467
467
  } catch (e) {
@@ -481,7 +481,7 @@ function requireNative() {
481
481
  const binding = require('@visulima/vis-binding-openharmony-arm64')
482
482
  const bindingPackageVersion = require('@visulima/vis-binding-openharmony-arm64/package.json').version
483
483
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
484
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
484
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
485
485
  }
486
486
  return binding
487
487
  } catch (e) {
@@ -497,7 +497,7 @@ function requireNative() {
497
497
  const binding = require('@visulima/vis-binding-openharmony-x64')
498
498
  const bindingPackageVersion = require('@visulima/vis-binding-openharmony-x64/package.json').version
499
499
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
500
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
500
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
501
501
  }
502
502
  return binding
503
503
  } catch (e) {
@@ -513,7 +513,7 @@ function requireNative() {
513
513
  const binding = require('@visulima/vis-binding-openharmony-arm')
514
514
  const bindingPackageVersion = require('@visulima/vis-binding-openharmony-arm/package.json').version
515
515
  if (bindingPackageVersion !== '3.0.4' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
516
- throw new Error(`Native binding package version mismatch, expected 3.0.5 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
516
+ throw new Error(`Native binding package version mismatch, expected 4.0.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
517
517
  }
518
518
  return binding
519
519
  } catch (e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/vis",
3
- "version": "3.0.5",
3
+ "version": "4.0.0",
4
4
  "description": "A monorepo dev toolkit — task runner, remote caching, security scanning, git hooks, and AI agent integrations — powered by @visulima/task-runner",
5
5
  "keywords": [
6
6
  "build",
@@ -116,12 +116,12 @@
116
116
  ],
117
117
  "dependencies": {
118
118
  "@visulima/error": "6.1.0",
119
- "@visulima/secret-scanner": "2.0.0",
119
+ "@visulima/secret-scanner": "2.0.1",
120
120
  "@visulima/source-map": "3.0.1",
121
121
  "@visulima/tabular": "4.1.0",
122
- "@visulima/task-runner": "1.0.4",
123
- "@visulima/tui": "4.0.4",
124
- "@visulima/tui-kit": "1.0.7",
122
+ "@visulima/task-runner": "1.0.6",
123
+ "@visulima/tui": "4.0.6",
124
+ "@visulima/tui-kit": "1.0.9",
125
125
  "module-replacements": "^3.1.0",
126
126
  "module-replacements-codemods": "^2.0.2",
127
127
  "react": "19.2.8",
@@ -148,14 +148,14 @@
148
148
  }
149
149
  },
150
150
  "optionalDependencies": {
151
- "@visulima/vis-binding-darwin-arm64": "3.0.5",
152
- "@visulima/vis-binding-linux-x64-gnu": "3.0.5",
153
- "@visulima/vis-binding-linux-arm64-musl": "3.0.5",
154
- "@visulima/vis-binding-linux-arm64-gnu": "3.0.5",
155
- "@visulima/vis-binding-darwin-x64": "3.0.5",
156
- "@visulima/vis-binding-linux-x64-musl": "3.0.5",
157
- "@visulima/vis-binding-win32-arm64-msvc": "3.0.5",
158
- "@visulima/vis-binding-win32-x64-msvc": "3.0.5"
151
+ "@visulima/vis-binding-darwin-arm64": "4.0.0",
152
+ "@visulima/vis-binding-darwin-x64": "4.0.0",
153
+ "@visulima/vis-binding-linux-arm64-musl": "4.0.0",
154
+ "@visulima/vis-binding-linux-x64-gnu": "4.0.0",
155
+ "@visulima/vis-binding-linux-arm64-gnu": "4.0.0",
156
+ "@visulima/vis-binding-linux-x64-musl": "4.0.0",
157
+ "@visulima/vis-binding-win32-arm64-msvc": "4.0.0",
158
+ "@visulima/vis-binding-win32-x64-msvc": "4.0.0"
159
159
  },
160
160
  "engines": {
161
161
  "node": "^22.14.0 || >=24.10.0"
@@ -227,7 +227,7 @@
227
227
  }
228
228
  }
229
229
  ],
230
- "description": "The project name (if different from the current project)"
230
+ "description": "Which projects to depend on, as exact names or `*`/`?` globs over project names (`\"@scope/*\"`, `\"*\"`). Unlike path globbing, `*` crosses `/`, so `\"*\"` really does mean every project. The declaring project is excluded from a glob's matches when the dependency names the same target, since that would be a cycle of one.\n\nA selector matching nothing produces no edge; `createTaskGraph` reports it through `onUnmatchedProjectSelector` rather than dropping it silently."
231
231
  },
232
232
  "target": {
233
233
  "type": "string",
@@ -379,7 +379,7 @@
379
379
  "additionalProperties": false
380
380
  }
381
381
  ],
382
- "description": "A single entry in a task's `outputs` list.\n\n- `string` — a literal path *or* a glob pattern relative to the workspace root. Prefix with `!` to exclude files the positive patterns would otherwise include (e.g. `\"!dist/cache/**\"`).\n- `{ auto: true }` — use whatever files the task actually wrote during execution (resolved from the file-access tracker). Lets authors who don't know their exact output layout cache results without listing every path. Silently behaves as \"no outputs\" when tracking isn't active for this task."
382
+ "description": "A single entry in a task's `outputs` list.\n\n- `string` — a literal path *or* a glob pattern, always resolved against the **workspace root**, never the project root. A bare `\"dist/**\"` therefore means `<workspaceRoot>/dist/**` and will match nothing for a package in `packages/foo`; write `\"{projectRoot}/dist/**\"` for per-project outputs. `{projectRoot}` and `{projectName}` are substituted before matching. Prefix with `!` to exclude files the positive patterns would otherwise include (e.g. `\"!{projectRoot}/dist/cache/**\"`).\n- `{ auto: true }` — use whatever files the task actually wrote during execution (resolved from the file-access tracker). Lets authors who don't know their exact output layout cache results without listing every path. Silently behaves as \"no outputs\" when tracking isn't active for this task."
383
383
  },
384
384
  "description": "Output patterns produced by this target. Each entry is a literal path, a glob (`\"dist/**\"`), a negative glob (`\"!dist/cache/**\"`), or `{ auto: true }` to cache whatever files the task actually wrote during execution (resolved from the file-access tracker). `{ auto: true }` lets a build script cache zero-config without the author enumerating its output layout; it contributes nothing — and the runner declines to seed the cache — when write tracking isn't available for the task, so a hit can never restore a missing artifact."
385
385
  },
@@ -286,8 +286,7 @@
286
286
  "type": "boolean"
287
287
  }
288
288
  ],
289
- "description": "Auto-create targets from detected config files (Project Crystal-style). On by default; set `false` to disable entirely, or use the object form to disable individual detectors.\n\nInferred targets sit *below* explicit ones — the command from `package.json#scripts`, `project.json#targets`, or `vis.task.ts` always wins per-key, so opting in never changes what runs. As a caching aid, when a `package.json` script's command *is* a detector's command (optionally with extra flags, no shell chaining) and the script declares no `inputs`/`outputs`, the detector's `inputs`/`outputs` are adopted so the script target can cache precisely and restore its artifacts. Customised/compound scripts are left untouched.\n\nBuilt-in detectors and the targets they synthesize:\n\n- **App frameworks** — `nuxt` (build/dev/preview/generate), `next` (build/dev/start), `remix` (build/dev/start), `astro` (build/dev), `gatsby` (build/develop/serve), `docusaurus` (build/start/serve).\n- **Bundlers** — `vite` (build/dev/preview), `rolldown` (build), `tsdown` (build), `tsup` (build), `packem` (build), `rollup` (build), `webpack` (build).\n- **Docs sites** — `vitepress` (docs:build/docs:dev/docs:preview), `typedoc` (docs).\n- **Server frameworks** — `nest` (build/start/start:dev).\n- **Test runners** — `vitest` (test/test:watch), `jest` (test/test:watch), `bun` (test), `playwright` (test:e2e), `cypress` (test:e2e/cypress:open).\n- **Stories** — `storybook` (storybook/build-storybook).\n- **Type checking** — `typescript` (typecheck via `tsc --noEmit`).\n- **Lint / format** — `eslint` (lint), `prettier` (format / format:check), `biome` (lint, format), `oxlint` (lint), `oxfmt` (format / format:check), `stylelint` (lint:css), `knip` (knip).\n- **Runtimes** — `deno` (test/lint/fmt/check).\n- **Database tooling** — `prisma` (db:generate/db:migrate/ db:push/db:studio), `drizzle` (db:generate/db:migrate/ db:push/db:studio).\n- **Codegen / release** — `graphql-codegen` (codegen), `api-extractor` (api-extract), `changeset` (changeset:version / changeset:publish / changeset:status).\n\nTrigger: presence of any matching config file in the project root. Most detectors additionally match when their framework appears in `dependencies` / `devDependencies` / `peerDependencies` / `optionalDependencies` — covering convention-only setups (e.g. vitest with default config). Detectors that intentionally require a config file (because the package frequently appears transitively and a dep-only match would synthesize broken commands): `vite`, `rolldown`, `rollup`, `webpack`, `storybook`, `nest`, `remix`, `vitepress`, `bun`, `deno`, `changeset`.\n\nConflict resolution: detectors are evaluated in registration order (see `BUILT_IN_DETECTORS`) and the first to claim a target name wins. Per-name priorities: `build` → nuxt > next > remix > astro > gatsby > docusaurus > vite > nest > rolldown > tsdown > tsup > packem > rollup > webpack; `test` → vitest > jest > bun > deno; `test:e2e` → playwright > cypress; `lint` → eslint > biome > oxlint > deno; `format` → prettier > biome > oxfmt; `db:*` → prisma > drizzle.\n\nAlso accepts an object form (`{ vite: false, vitest: true }`) to opt individual detectors in or out by name. Detectors omitted from the object run at their default (enabled). Useful when one detector misfires for a given workspace without disabling the rest.",
290
- "default": true
289
+ "description": "Auto-create targets from detected config files (Project Crystal-style). Detectors run by default; set `false` to disable them entirely, or use the object form to disable individual ones. See the note at the bottom of this block for what \"unset\" allows versus an explicit `true`.\n\nInferred targets sit *below* explicit ones — the command from `package.json#scripts`, `project.json#targets`, or `vis.task.ts` always wins per-key, so enrichment never changes what runs. As a caching aid, when a `package.json` script's command *is* a detector's command (optionally with extra flags, no shell chaining) and the script declares no `inputs`/`outputs`, the detector's `inputs`/`outputs` are adopted so the script target can cache precisely and restore its artifacts. Customised/compound scripts are left untouched.\n\nBuilt-in detectors and the targets they synthesize:\n\n- **App frameworks** — `nuxt` (build/dev/preview/generate), `next` (build/dev/start), `remix` (build/dev/start), `astro` (build/dev), `gatsby` (build/develop/serve), `docusaurus` (build/start/serve).\n- **Bundlers** — `vite` (build/dev/preview), `rolldown` (build), `tsdown` (build), `tsup` (build), `packem` (build), `rollup` (build), `webpack` (build).\n- **Docs sites** — `vitepress` (docs:build/docs:dev/docs:preview), `typedoc` (docs).\n- **Server frameworks** — `nest` (build/start/start:dev).\n- **Test runners** — `vitest` (test/test:watch), `jest` (test/test:watch), `bun` (test), `playwright` (test:e2e), `cypress` (test:e2e/cypress:open).\n- **Stories** — `storybook` (storybook/build-storybook).\n- **Type checking** — `typescript` (typecheck via `tsc --noEmit`).\n- **Lint / format** — `eslint` (lint), `prettier` (format / format:check), `biome` (lint, format), `oxlint` (lint), `oxfmt` (format / format:check), `stylelint` (lint:css), `knip` (knip).\n- **Runtimes** — `deno` (test/lint/fmt/check).\n- **Database tooling** — `prisma` (db:generate/db:migrate/ db:push/db:studio), `drizzle` (db:generate/db:migrate/ db:push/db:studio).\n- **Codegen / release** — `graphql-codegen` (codegen), `api-extractor` (api-extract), `changeset` (changeset:version / changeset:publish / changeset:status).\n\nTrigger: presence of any matching config file in the project root. Most detectors additionally match when their framework appears in `dependencies` / `devDependencies` / `peerDependencies` / `optionalDependencies` — covering convention-only setups (e.g. vitest with default config). Detectors that intentionally require a config file (because the package frequently appears transitively and a dep-only match would synthesize broken commands): `vite`, `rolldown`, `rollup`, `webpack`, `storybook`, `nest`, `remix`, `vitepress`, `bun`, `deno`, `changeset`.\n\nConflict resolution: detectors are evaluated in registration order (see `BUILT_IN_DETECTORS`) and the first to claim a target name wins. Per-name priorities: `build` → nuxt > next > remix > astro > gatsby > docusaurus > vite > nest > rolldown > tsdown > tsup > packem > rollup > webpack; `test` → vitest > jest > bun > deno; `test:e2e` → playwright > cypress; `lint` → eslint > biome > oxlint > deno; `format` → prettier > biome > oxfmt; `db:*` → prisma > drizzle.\n\nAlso accepts an object form (`{ vite: false, vitest: true }`) to opt individual detectors in or out by name. Detectors omitted from the object run at their default (enabled). Useful when one detector misfires for a given workspace without disabling the rest.\n\n**Leaving this unset is not the same as setting `true`.** Detectors always *enrich* the targets a project already has — adopting their `type`, `inputs` and `outputs`, which is the caching aid and changes nothing about what runs. *Synthesizing* a target the project never had does change what runs, so on the unset default it is limited to projects that declare no scripts and no targets of their own. Setting this to `true` (or the object form) opts in to synthesis everywhere.\n\nThe distinction exists because a package can deliberately omit a script: a shared eslint-config ships an `eslint.config.js` but no `lint` script, because linting its own flat-config export crashes eslint. Synthesizing `lint` there turned a package `pnpm -r run lint` had always skipped into a failing task, on a workspace that had never asked for inference.\n\nDeliberately no `@default` tag: there is no single value that describes the unset behaviour, and advertising `true` would invite tooling to write it into a config and silently widen synthesis."
291
290
  },
292
291
  "install": {
293
292
  "type": "object",
@@ -2310,7 +2309,7 @@
2310
2309
  },
2311
2310
  "summarize": {
2312
2311
  "type": "boolean",
2313
- "description": "Generate a detailed JSON run summary after execution. When true, writes a summary file to `.task-runner/runs/` containing all task inputs, outputs, hashes, timings, and cache status.\n\nUseful for debugging cache misses and comparing runs. Matches Turborepo's `--summarize` flag.",
2312
+ "description": "Generate a detailed JSON run summary after execution. When true, writes a summary file to `<dataDirectory>/runs/` — `.vis/runs/` under vis — containing all task inputs, outputs, hashes, timings, and cache status.\n\nUseful for debugging cache misses and comparing runs. Matches Turborepo's `--summarize` flag.",
2314
2313
  "default": false
2315
2314
  },
2316
2315
  "targetDefaults": {
@@ -2399,7 +2398,7 @@
2399
2398
  }
2400
2399
  }
2401
2400
  ],
2402
- "description": "The project name (if different from the current project)"
2401
+ "description": "Which projects to depend on, as exact names or `*`/`?` globs over project names (`\"@scope/*\"`, `\"*\"`). Unlike path globbing, `*` crosses `/`, so `\"*\"` really does mean every project. The declaring project is excluded from a glob's matches when the dependency names the same target, since that would be a cycle of one.\n\nA selector matching nothing produces no edge; `createTaskGraph` reports it through `onUnmatchedProjectSelector` rather than dropping it silently."
2403
2402
  },
2404
2403
  "target": {
2405
2404
  "type": "string",
@@ -2556,7 +2555,7 @@
2556
2555
  "additionalProperties": false
2557
2556
  }
2558
2557
  ],
2559
- "description": "A single entry in a task's `outputs` list.\n\n- `string` — a literal path *or* a glob pattern relative to the workspace root. Prefix with `!` to exclude files the positive patterns would otherwise include (e.g. `\"!dist/cache/**\"`).\n- `{ auto: true }` — use whatever files the task actually wrote during execution (resolved from the file-access tracker). Lets authors who don't know their exact output layout cache results without listing every path. Silently behaves as \"no outputs\" when tracking isn't active for this task."
2558
+ "description": "A single entry in a task's `outputs` list.\n\n- `string` — a literal path *or* a glob pattern, always resolved against the **workspace root**, never the project root. A bare `\"dist/**\"` therefore means `<workspaceRoot>/dist/**` and will match nothing for a package in `packages/foo`; write `\"{projectRoot}/dist/**\"` for per-project outputs. `{projectRoot}` and `{projectName}` are substituted before matching. Prefix with `!` to exclude files the positive patterns would otherwise include (e.g. `\"!{projectRoot}/dist/cache/**\"`).\n- `{ auto: true }` — use whatever files the task actually wrote during execution (resolved from the file-access tracker). Lets authors who don't know their exact output layout cache results without listing every path. Silently behaves as \"no outputs\" when tracking isn't active for this task."
2560
2559
  },
2561
2560
  "description": "Output patterns produced by this target. Each entry is a literal path, a glob (`\"dist/**\"`), a negative glob (`\"!dist/cache/**\"`), or `{ auto: true }` to cache whatever files the task actually wrote during execution (resolved from the file-access tracker). `{ auto: true }` lets a build script cache zero-config without the author enumerating its output layout; it contributes nothing — and the runner declines to seed the cache — when write tracking isn't available for the task, so a hit can never restore a missing artifact."
2562
2561
  },
@@ -2969,7 +2968,7 @@
2969
2968
  }
2970
2969
  }
2971
2970
  ],
2972
- "description": "The project name (if different from the current project)"
2971
+ "description": "Which projects to depend on, as exact names or `*`/`?` globs over project names (`\"@scope/*\"`, `\"*\"`). Unlike path globbing, `*` crosses `/`, so `\"*\"` really does mean every project. The declaring project is excluded from a glob's matches when the dependency names the same target, since that would be a cycle of one.\n\nA selector matching nothing produces no edge; `createTaskGraph` reports it through `onUnmatchedProjectSelector` rather than dropping it silently."
2973
2972
  },
2974
2973
  "target": {
2975
2974
  "type": "string",
@@ -3121,7 +3120,7 @@
3121
3120
  "additionalProperties": false
3122
3121
  }
3123
3122
  ],
3124
- "description": "A single entry in a task's `outputs` list.\n\n- `string` — a literal path *or* a glob pattern relative to the workspace root. Prefix with `!` to exclude files the positive patterns would otherwise include (e.g. `\"!dist/cache/**\"`).\n- `{ auto: true }` — use whatever files the task actually wrote during execution (resolved from the file-access tracker). Lets authors who don't know their exact output layout cache results without listing every path. Silently behaves as \"no outputs\" when tracking isn't active for this task."
3123
+ "description": "A single entry in a task's `outputs` list.\n\n- `string` — a literal path *or* a glob pattern, always resolved against the **workspace root**, never the project root. A bare `\"dist/**\"` therefore means `<workspaceRoot>/dist/**` and will match nothing for a package in `packages/foo`; write `\"{projectRoot}/dist/**\"` for per-project outputs. `{projectRoot}` and `{projectName}` are substituted before matching. Prefix with `!` to exclude files the positive patterns would otherwise include (e.g. `\"!{projectRoot}/dist/cache/**\"`).\n- `{ auto: true }` — use whatever files the task actually wrote during execution (resolved from the file-access tracker). Lets authors who don't know their exact output layout cache results without listing every path. Silently behaves as \"no outputs\" when tracking isn't active for this task."
3125
3124
  },
3126
3125
  "description": "Output patterns produced by this target. Each entry is a literal path, a glob (`\"dist/**\"`), a negative glob (`\"!dist/cache/**\"`), or `{ auto: true }` to cache whatever files the task actually wrote during execution (resolved from the file-access tracker). `{ auto: true }` lets a build script cache zero-config without the author enumerating its output layout; it contributes nothing — and the runner declines to seed the cache — when write tracking isn't available for the task, so a hit can never restore a missing artifact."
3127
3126
  },
@@ -5482,7 +5481,7 @@
5482
5481
  }
5483
5482
  }
5484
5483
  ],
5485
- "description": "The project name (if different from the current project)"
5484
+ "description": "Which projects to depend on, as exact names or `*`/`?` globs over project names (`\"@scope/*\"`, `\"*\"`). Unlike path globbing, `*` crosses `/`, so `\"*\"` really does mean every project. The declaring project is excluded from a glob's matches when the dependency names the same target, since that would be a cycle of one.\n\nA selector matching nothing produces no edge; `createTaskGraph` reports it through `onUnmatchedProjectSelector` rather than dropping it silently."
5486
5485
  },
5487
5486
  "target": {
5488
5487
  "type": "string",
@@ -5634,7 +5633,7 @@
5634
5633
  "additionalProperties": false
5635
5634
  }
5636
5635
  ],
5637
- "description": "A single entry in a task's `outputs` list.\n\n- `string` — a literal path *or* a glob pattern relative to the workspace root. Prefix with `!` to exclude files the positive patterns would otherwise include (e.g. `\"!dist/cache/**\"`).\n- `{ auto: true }` — use whatever files the task actually wrote during execution (resolved from the file-access tracker). Lets authors who don't know their exact output layout cache results without listing every path. Silently behaves as \"no outputs\" when tracking isn't active for this task."
5636
+ "description": "A single entry in a task's `outputs` list.\n\n- `string` — a literal path *or* a glob pattern, always resolved against the **workspace root**, never the project root. A bare `\"dist/**\"` therefore means `<workspaceRoot>/dist/**` and will match nothing for a package in `packages/foo`; write `\"{projectRoot}/dist/**\"` for per-project outputs. `{projectRoot}` and `{projectName}` are substituted before matching. Prefix with `!` to exclude files the positive patterns would otherwise include (e.g. `\"!{projectRoot}/dist/cache/**\"`).\n- `{ auto: true }` — use whatever files the task actually wrote during execution (resolved from the file-access tracker). Lets authors who don't know their exact output layout cache results without listing every path. Silently behaves as \"no outputs\" when tracking isn't active for this task."
5638
5637
  },
5639
5638
  "description": "Output patterns produced by this target. Each entry is a literal path, a glob (`\"dist/**\"`), a negative glob (`\"!dist/cache/**\"`), or `{ auto: true }` to cache whatever files the task actually wrote during execution (resolved from the file-access tracker). `{ auto: true }` lets a build script cache zero-config without the author enumerating its output layout; it contributes nothing — and the runner declines to seed the cache — when write tracking isn't available for the task, so a hit can never restore a missing artifact."
5640
5639
  },
@@ -18,7 +18,7 @@ The MCP server deliberately does NOT execute targets or scaffold templates — N
18
18
  | `list_targets` | Per-target rows across the workspace, optionally narrowed to a single project |
19
19
  | `list_templates` | Scaffolding templates discovered in `.vis/templates/`, `.moon/templates/`, and `vis.config.ts` `generator.templates` |
20
20
  | `describe_template` | Variable schema, default destination, and description for a single template — required before suggesting a `vis generate` command |
21
- | `get_run_logs` | Most recent run summary from `.task-runner/`, or a specific `runId`, optionally filtered to one task |
21
+ | `get_run_logs` | Most recent run summary from `.vis/`, or a specific `runId`, optionally filtered to one task |
22
22
  | `cache_why` | Diff a task's cache hash against the previous run — pinpoints what changed (command, nodes, runtime, implicit deps) |
23
23
  | `cache_hash` | Recorded hash and per-input hash details for a task |
24
24
 
@@ -1 +0,0 @@
1
- import{createRequire as f}from"node:module";import{e as c}from"./index-DHD8wb6Z.js";let p;const k=e=>(p??=f(import.meta.url))(e),i=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=e=>{if(typeof i<"u"&&i.versions&&i.versions.node){const[t,n]=i.versions.node.split(".").map(Number);if(t>22||t===22&&n>=3||t===20&&n>=16)return i.getBuiltinModule(e)}return k(e)},{statSync:m,existsSync:d}=_("node:fs"),b={aube:["aube-lock.yaml"],bun:["bun.lock","bun.lockb"],npm:["npm-shrinkwrap.json","package-lock.json"],pnpm:["pnpm-lock.yaml"],yarn:["yarn.lock"]},g={aube:["node_modules/.aube-state","node_modules/.modules.yaml"],bun:["node_modules/.bun-tag"],npm:["node_modules/.package-lock.json"],pnpm:["node_modules/.modules.yaml","node_modules/.pnpm/lock.yaml"],yarn:["node_modules/.yarn-integrity","node_modules/.yarn-state.yml",".yarn/install-state.gz"]},h={ci:{aube:"aube ci",bun:"bun install --frozen-lockfile",npm:"npm ci",pnpm:"pnpm install --frozen-lockfile",yarn:"yarn install --immutable"},tty:{aube:"aube install",bun:"bun install",npm:"npm install",pnpm:"pnpm install",yarn:"yarn install"}},y=1e3,M=e=>{for(const[t,n]of Object.entries(b))for(const s of n)if(d(c(e,s)))return{lockfileFile:s,manager:t}},j=(e,t)=>{let n;for(const s of g[t]){const o=c(e,s);if(!d(o))continue;const{mtimeMs:r}=m(o);(!n||r>n.mtimeMs)&&(n={mtimeMs:r,path:s})}return n},L=(e,t={})=>{const n=M(e);if(!n)return{checked:!1};const{lockfileFile:s,manager:o}=n,r=m(c(e,s)).mtimeMs,l=j(e,o),u=h[t.inCi?"ci":"tty"][o],a={installMarkerMtimeMs:l?.mtimeMs,lockfileMtimeMs:r,lockfilePath:s,marker:l?.path,packageManager:o};return l?r>l.mtimeMs+y?{checked:!0,detail:a,failure:"stale-install",message:`${s} is newer than node_modules (${l.path}) — run \`${u}\` to sync.`}:{checked:!0,detail:a}:{checked:!0,detail:a,failure:"missing-install",message:`lockfile detected but node_modules looks uninitialised — run \`${u}\` before \`vis run\`.`}},v=(e,t,n,s={})=>{if(s.skip)return{checked:!1,shouldContinue:!0};const o=L(e,{inCi:t});if(!o.failure)return{...o,shouldContinue:!0};const r=`preflight: ${o.message??"lockfile drift detected"}`;return t&&!s.ciAsWarning?{...o,formattedMessage:r,shouldContinue:!1}:(n.warn(r),{...o,formattedMessage:r,shouldContinue:!0})};export{M as d,v as r};