@visulima/vis 6.1.2 → 6.1.4
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 +31 -0
- package/LICENSE.md +0 -29
- package/dashboard/dist/index.html +10 -10
- package/dist/bin.js +1 -1
- package/dist/binx.js +1 -1
- package/dist/config/index.d.ts +16 -10
- package/dist/generate/index.d.ts +25 -0
- package/dist/packem_chunks/CONFIG_FILES.js +6 -7
- package/dist/packem_chunks/bloom-status.js +1 -1
- package/dist/packem_chunks/bloom-sync.js +1 -1
- package/dist/packem_chunks/catalog2.js +7 -7
- package/dist/packem_chunks/cli-exec.js +1 -1
- package/dist/packem_chunks/cli-main.js +129 -129
- package/dist/packem_chunks/dispatch.js +1 -1
- package/dist/packem_chunks/fix.js +1 -1
- package/dist/packem_chunks/handler.js +1 -1
- package/dist/packem_chunks/handler10.js +5 -5
- package/dist/packem_chunks/handler11.js +1 -1
- package/dist/packem_chunks/handler12.js +1 -1
- package/dist/packem_chunks/handler13.js +1 -1
- package/dist/packem_chunks/handler14.js +1 -1
- package/dist/packem_chunks/handler15.js +1 -1
- package/dist/packem_chunks/handler16.js +1 -1
- package/dist/packem_chunks/handler17.js +1 -1
- package/dist/packem_chunks/handler18.js +1 -1
- package/dist/packem_chunks/handler19.js +1 -1
- package/dist/packem_chunks/handler2.js +1 -1
- package/dist/packem_chunks/handler20.js +1 -1
- package/dist/packem_chunks/handler21.js +1 -1
- package/dist/packem_chunks/handler22.js +1 -1
- package/dist/packem_chunks/handler23.js +1 -1
- package/dist/packem_chunks/handler24.js +1 -1
- package/dist/packem_chunks/handler25.js +1 -1
- package/dist/packem_chunks/handler26.js +1 -1
- package/dist/packem_chunks/handler27.js +1 -1
- package/dist/packem_chunks/handler28.js +1 -1
- package/dist/packem_chunks/handler29.js +1 -1
- package/dist/packem_chunks/handler3.js +2 -2
- package/dist/packem_chunks/handler30.js +1 -1
- package/dist/packem_chunks/handler32.js +1 -1
- package/dist/packem_chunks/handler4.js +1 -1
- package/dist/packem_chunks/handler40.js +1 -1
- package/dist/packem_chunks/handler46.js +1 -1
- package/dist/packem_chunks/handler5.js +1 -1
- package/dist/packem_chunks/handler50.js +2 -2
- package/dist/packem_chunks/handler51.js +1 -1
- package/dist/packem_chunks/handler52.js +1 -1
- package/dist/packem_chunks/handler53.js +1 -1
- package/dist/packem_chunks/handler54.js +2 -2
- package/dist/packem_chunks/handler55.js +1 -1
- package/dist/packem_chunks/handler56.js +1 -1
- package/dist/packem_chunks/handler58.js +1 -1
- package/dist/packem_chunks/handler59.js +1 -1
- package/dist/packem_chunks/handler6.js +1 -1
- package/dist/packem_chunks/handler60.js +4 -4
- package/dist/packem_chunks/handler61.js +2 -2
- package/dist/packem_chunks/handler62.js +1 -1
- package/dist/packem_chunks/handler63.js +2 -61
- package/dist/packem_chunks/handler64.js +61 -6
- package/dist/packem_chunks/handler65.js +6 -8
- package/dist/packem_chunks/handler66.js +8 -2
- package/dist/packem_chunks/handler67.js +2 -28
- package/dist/packem_chunks/handler68.js +28 -12
- package/dist/packem_chunks/handler69.js +12 -25
- package/dist/packem_chunks/handler7.js +1 -1
- package/dist/packem_chunks/handler70.js +25 -22
- package/dist/packem_chunks/handler71.js +22 -10
- package/dist/packem_chunks/handler72.js +10 -133
- package/dist/packem_chunks/handler73.js +133 -23
- package/dist/packem_chunks/handler74.js +23 -323
- package/dist/packem_chunks/handler75.js +274 -659
- package/dist/packem_chunks/handler76.js +13 -13
- package/dist/packem_chunks/handler77.js +12 -12
- package/dist/packem_chunks/handler78.js +1 -1
- package/dist/packem_chunks/handler79.js +69 -67
- package/dist/packem_chunks/handler8.js +1 -1
- package/dist/packem_chunks/handler9.js +1 -1
- package/dist/packem_chunks/heal-accept.js +1 -1
- package/dist/packem_chunks/heal.js +1 -1
- package/dist/packem_chunks/help-command.js +1 -1
- package/dist/packem_chunks/html.js +707 -0
- package/dist/packem_chunks/index4.js +1 -1
- package/dist/packem_chunks/index6.js +57 -51
- package/dist/packem_chunks/index7.js +2 -2
- package/dist/packem_chunks/keys-refresh.js +1 -1
- package/dist/packem_chunks/lean.js +1 -1
- package/dist/packem_chunks/list.js +1 -1
- package/dist/packem_chunks/loader.js +1 -1
- package/dist/packem_chunks/prune.js +1 -1
- package/dist/packem_chunks/run.js +1 -1
- package/dist/packem_chunks/status.js +1 -1
- package/dist/packem_chunks/sync.js +1 -1
- package/dist/packem_chunks/sync2.js +1 -1
- package/dist/packem_chunks/tripwire.js +1 -1
- package/dist/packem_chunks/ts-loader.js +1 -1
- package/dist/packem_chunks/verify-lockfile.js +1 -1
- package/dist/packem_shared/{ReleaseClient-CWD9BC5w.js → ReleaseClient-CRuCHDsT.js} +1 -1
- package/dist/packem_shared/advisories-DHGJ6XhP.js +1 -0
- package/dist/packem_shared/affected-selection-DCT4CLex.js +1 -0
- package/dist/packem_shared/{affected-shas-B_kfSKss.js → affected-shas-CycHU3nr.js} +1 -1
- package/dist/packem_shared/{ai-analysis-BCJ1kuDM.js → ai-analysis-CO4rT3Nd.js} +1 -1
- package/dist/packem_shared/ai-cache-Dkb6me20.js +1 -0
- package/dist/packem_shared/{ai-fix-DIMErSws.js → ai-fix-C0OBhGDq.js} +1 -1
- package/dist/packem_shared/{augment-B9kSZuvW.js → augment-BSeqaai8.js} +1 -1
- package/dist/packem_shared/{bin-BcLTer1k.js → bin-DwACrJUJ.js} +1 -1
- package/dist/packem_shared/build-scripts-BeMIA-_q.js +1 -0
- package/dist/packem_shared/{command-runtime-HSsYGCQd.js → command-runtime-DG49t2MT.js} +1 -1
- package/dist/packem_shared/{dependency-scan-D_v3KM59.js → dependency-scan-D8e370_h.js} +1 -1
- package/dist/packem_shared/detect-C-9o_BPB.js +1 -0
- package/dist/packem_shared/{docker-DXqV-07f.js → docker-vRDm2lHX.js} +1 -1
- package/dist/packem_shared/{ecosystem-gate-CwsTc7YW.js → ecosystem-gate-DpO43yAS.js} +1 -1
- package/dist/packem_shared/env-BymuoTL8.js +4 -0
- package/dist/packem_shared/env-consistency-BDfAa56d.js +1 -0
- package/dist/packem_shared/{failure-log-DIsKBKaI.js → failure-log-BslhfaEO.js} +1 -1
- package/dist/packem_shared/glob-Cyk1H9ZL-6yDyaJwk.js +1 -0
- package/dist/packem_shared/{index-BzhrR_iC.js → index-0dnGN3GP.js} +1 -1
- package/dist/packem_shared/index-CIdjkZgt.js +1 -0
- package/dist/packem_shared/{index-9Ot7jTd4.js → index-Cwxbl_pY.js} +1 -1
- package/dist/packem_shared/index-Doab17tq.js +1 -0
- package/dist/packem_shared/{isAccessibleSync-DYKTrrvc-C-_5cgwu.js → isAccessibleSync-DYKTrrvc-CBsMZhj-.js} +1 -1
- package/dist/packem_shared/{lifecycle-CQjeMPY0.js → lifecycle-Gy7mqMGg.js} +2 -2
- package/dist/packem_shared/{lockfile-CiUtEbnt.js → lockfile-DEWjBrlY.js} +1 -1
- package/dist/packem_shared/manifests-kE5OweNT.js +1 -0
- package/dist/packem_shared/{min-release-age-JViyQuBM.js → min-release-age-yvuPbJ8G.js} +1 -1
- package/dist/packem_shared/missing-package-json-CEEPXqYi.js +1 -0
- package/dist/packem_shared/{multi-eco-lockfiles-fgkpeHJv.js → multi-eco-lockfiles-D5tM7pkg.js} +1 -1
- package/dist/packem_shared/{native-config-sync-TdTWjVgI.js → native-config-sync-DDGt3vvd.js} +1 -1
- package/dist/packem_shared/{npmrc-CHsOyMvA.js → npmrc-CIvOb61L.js} +1 -1
- package/dist/packem_shared/{osv-Do9PMOea.js → osv-4kFhXIoW.js} +1 -1
- package/dist/packem_shared/osv-bloom-DU6avR2k.js +2 -0
- package/dist/packem_shared/package-version-x7sPg2TM.js +4 -0
- package/dist/packem_shared/packument-Dg8cIDYR.js +1 -0
- package/dist/packem_shared/{pm-runner-RM72mDZg.js → pm-runner-Dboj-wZG.js} +1 -1
- package/dist/packem_shared/{project-name-filter-ZQaLgytG.js → project-name-filter-B3tKt-Pf.js} +1 -1
- package/dist/packem_shared/{provenance-SX1MxPUZ.js → provenance-BG5mu0H_.js} +1 -1
- package/dist/packem_shared/publish-DkgvB2Lk.js +34 -0
- package/dist/packem_shared/registry-CndByNx9.js +85 -0
- package/dist/packem_shared/registry-keys-CE-RZlp_.js +1 -0
- package/dist/packem_shared/{removeSync-g1D5kONg-LbjATA8v.js → removeSync-g1D5kONg-jOsRSIIv.js} +1 -1
- package/dist/packem_shared/{renderToString-DR0zDUjh-DXppT6AM.js → renderToString-DR0zDUjh-DeiCwydO.js} +1 -1
- package/dist/packem_shared/{resolve-explicit-D9kdTNvl.js → resolve-explicit-Cge6eKPt.js} +1 -1
- package/dist/packem_shared/{resolve-runtime-DNukUjIr.js → resolve-runtime-D8rxuo3J.js} +1 -1
- package/dist/packem_shared/run-CKL4VGzQ.js +10 -0
- package/dist/packem_shared/{run-file-UBukWaha.js → run-file-D1mlOnd8.js} +1 -1
- package/dist/packem_shared/{run-summary-utils-CMeURYtS.js → run-summary-utils-DbyeUM6f.js} +1 -1
- package/dist/packem_shared/runtime-check-Dw0q3X67.js +1 -0
- package/dist/packem_shared/s1ngularity-BOl0c716.js +1 -0
- package/dist/packem_shared/{scaffold-files-DJlz36Mu.js → scaffold-files-B8zMyMvq.js} +1 -1
- package/dist/packem_shared/{scan-progress-DymX71_5.js → scan-progress-CY3XIDOY.js} +1 -1
- package/dist/packem_shared/selectors-BB0yaWyK.js +3 -0
- package/dist/packem_shared/{signatures-CeL0bOEo.js → signatures-r1SeDHLL.js} +1 -1
- package/dist/packem_shared/spinner-B_rRdoro.js +1 -0
- package/dist/packem_shared/{table-oA7p7-yP.js → table-bu4cV-it.js} +1 -1
- package/dist/packem_shared/{tabs-BiSifphV.js → tabs-A2EUpTHt.js} +1 -1
- package/dist/packem_shared/target-merge-ya19LiWB.js +1 -0
- package/dist/packem_shared/{target-options-DsHFmRZH.js → target-options-rIthWS4M.js} +1 -1
- package/dist/packem_shared/{task-env-C2lmxvzA.js → task-env-Cl4jNMCR.js} +1 -1
- package/dist/packem_shared/toolchain-Bt93i37e.js +5 -0
- package/dist/packem_shared/typosquats-BbebOgKM.js +1 -0
- package/dist/packem_shared/{use-measured-height-BHm-HiSF.js → use-measured-height-CwhybDI9.js} +1 -1
- package/dist/packem_shared/{verify-B_MblU_Q.js → verify-3WE9U_Bv.js} +1 -1
- package/dist/packem_shared/{vis-update-app-6QOYxnNx.js → vis-update-app-PjJWvxqF.js} +1 -1
- package/dist/packem_shared/{vis-user-error-3YS7sPYy.js → vis-user-error-BivZDkQD.js} +2 -2
- package/dist/packem_shared/{watch-CcTketln.js → watch-C-9-PD2m.js} +1 -1
- package/dist/packem_shared/{watch-loop-CGi66Fs0.js → watch-loop-dWYGUQwi.js} +1 -1
- package/dist/release/index.js +1 -1
- package/dist/release/plugin-sdk.d.ts +32 -0
- package/dist/release/presets.d.ts +38 -0
- package/dist/runtime/preload.js +1 -1
- package/index.js +26 -26
- package/package.json +19 -15
- package/schemas/vis-config.schema.json +12 -0
- package/dist/packem_shared/advisories-DO-P0V1_.js +0 -1
- package/dist/packem_shared/affected-selection-CeeZo7Uy.js +0 -1
- package/dist/packem_shared/ai-cache-iSIyY3So.js +0 -1
- package/dist/packem_shared/build-scripts-CEDx_nJp.js +0 -1
- package/dist/packem_shared/detect-CbMRSXkM.js +0 -1
- package/dist/packem_shared/env-BSXG3QKH.js +0 -4
- package/dist/packem_shared/env-consistency-B4rU4MQb.js +0 -1
- package/dist/packem_shared/glob-Cyk1H9ZL-CL9optrn.js +0 -1
- package/dist/packem_shared/index-BS6A9QR_.js +0 -1
- package/dist/packem_shared/manifests-Du4yKlf_.js +0 -1
- package/dist/packem_shared/missing-package-json-1BIoWQq0.js +0 -1
- package/dist/packem_shared/osv-bloom-BCAX5ARR.js +0 -2
- package/dist/packem_shared/package-version-Bq6Cne_7.js +0 -4
- package/dist/packem_shared/packument-CbTmbHU4.js +0 -1
- package/dist/packem_shared/publish-Dc0XGH3K.js +0 -34
- package/dist/packem_shared/readJsonSync-CbryXYxN-EWl7_7KX.js +0 -1
- package/dist/packem_shared/registry-Dg9XI6RT.js +0 -81
- package/dist/packem_shared/registry-keys-z038Ecb4.js +0 -1
- package/dist/packem_shared/run-DLvd3RIZ.js +0 -10
- package/dist/packem_shared/runtime-check-D3cRDuoi.js +0 -1
- package/dist/packem_shared/s1ngularity-BuU9Cxpy.js +0 -1
- package/dist/packem_shared/selectors-edwcgNl3.js +0 -3
- package/dist/packem_shared/spinner-CPoBymcv.js +0 -1
- package/dist/packem_shared/target-merge-DVJl-7Qz.js +0 -4
- package/dist/packem_shared/toolchain-CP79HNVy.js +0 -5
- package/dist/packem_shared/typosquats-BFKus_aM.js +0 -1
- package/dist/packem_shared/writeFileSync-DJoHk3Ks-BPRoepNw.js +0 -1
package/dist/bin.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./packem_shared/compile-cache-DoMHRsRZ.js";import"./packem_shared/bin-
|
|
1
|
+
import"./packem_shared/compile-cache-DoMHRsRZ.js";import"./packem_shared/bin-DwACrJUJ.js";
|
package/dist/binx.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as r,x as i,i as c,d as a,r as d}from"./packem_shared/vis-user-error-
|
|
2
|
+
import{a as r,x as i,i as c,d as a,r as d}from"./packem_shared/vis-user-error-BivZDkQD.js";import{t as n}from"./packem_shared/compile-cache-DoMHRsRZ.js";import{g as o}from"./packem_shared/package-version-x7sPg2TM.js";process.argv.includes("--no-color")&&(process.env.NO_COLOR="1",process.env.FORCE_COLOR="0");process.argv.slice(2).some(s=>s==="--version"||s==="-v"||s==="-V")&&(process.stdout.write(`${o()}
|
|
3
3
|
`),process.exit(0));process.argv.splice(2,0,"dlx");n();const e=r("visx",{packageName:"visx",packageVersion:o()}),p=process.argv.includes("--debug")||!!process.env.DEBUG;e.addPlugin(i({concise:c,detailed:p,exitOnError:!1}));e.addCommand(a);d(e);
|
package/dist/config/index.d.ts
CHANGED
|
@@ -2473,6 +2473,15 @@ interface VisConfig {
|
|
|
2473
2473
|
*/
|
|
2474
2474
|
lockfile?: boolean;
|
|
2475
2475
|
};
|
|
2476
|
+
/**
|
|
2477
|
+
* Workspace package directories to leave out of the project graph:
|
|
2478
|
+
* `vis list`, `run`, `affected` and the graph never see them. The
|
|
2479
|
+
* package manager still installs them, so use this for fixtures that
|
|
2480
|
+
* must be in `pnpm-workspace.yaml` but should not be built or tested.
|
|
2481
|
+
* Uses the same `!`-exclusion semantics as `pnpm-workspace.yaml`.
|
|
2482
|
+
* @example ["packages/fixtures/**"]
|
|
2483
|
+
*/
|
|
2484
|
+
projectIgnore?: string[];
|
|
2476
2485
|
/**
|
|
2477
2486
|
* Python projects as task projects. Off by default: a directory with a
|
|
2478
2487
|
* `pyproject.toml` (and `[project]`) gets an inferred build target only when this is set.
|
|
@@ -3369,9 +3378,7 @@ declare const findVisTaskConfigFile: (projectDirectory: string) => string | unde
|
|
|
3369
3378
|
* Load the vis configuration from a `vis.config.ts` (or `.js`, `.mjs`, `.cjs`, `.mts`, `.cts`) file.
|
|
3370
3379
|
*
|
|
3371
3380
|
* Resolves the entire `extends` chain, post-order, and folds it into a
|
|
3372
|
-
* single merged config (extends first, root last — child wins).
|
|
3373
|
-
* cache key covers every file in the chain, so editing any extended
|
|
3374
|
-
* file invalidates the cache.
|
|
3381
|
+
* single merged config (extends first, root last — child wins).
|
|
3375
3382
|
*
|
|
3376
3383
|
* Falls back to secure defaults if no config file is found.
|
|
3377
3384
|
* @param workspaceRoot The workspace root directory to search for the config file.
|
|
@@ -3389,18 +3396,17 @@ declare const loadVisConfig: (workspaceRoot: string, options?: {
|
|
|
3389
3396
|
* Load the per-package `vis.task.ts` overlay for a project, if any.
|
|
3390
3397
|
*
|
|
3391
3398
|
* Returns `undefined` when no overlay file exists. Otherwise compiles
|
|
3392
|
-
* the file via the oxc TS loader
|
|
3393
|
-
*
|
|
3394
|
-
*
|
|
3395
|
-
* the root config cache.
|
|
3399
|
+
* the file via the oxc TS loader on every call. The result is not cached
|
|
3400
|
+
* on disk: a content hash of the overlay file misses edits to the modules it
|
|
3401
|
+
* imports, and a JSON copy cannot hold function values.
|
|
3396
3402
|
*
|
|
3397
3403
|
* Errors thrown by the file are wrapped in `VisConfigLoadError` so the
|
|
3398
3404
|
* source path is reported instead of an opaque workspace.ts failure.
|
|
3399
|
-
* @param
|
|
3405
|
+
* @param _workspaceRoot Absolute workspace root path. Unused, since the overlay is not cached. Kept for a stable public signature.
|
|
3400
3406
|
* @param projectDirectory Absolute path of the project to probe.
|
|
3401
|
-
* @param
|
|
3407
|
+
* @param _projectName Project identifier. Unused, since the overlay is not cached. Kept for a stable public signature.
|
|
3402
3408
|
*/
|
|
3403
|
-
declare const loadVisTaskConfig: (
|
|
3409
|
+
declare const loadVisTaskConfig: (_workspaceRoot: string, projectDirectory: string, _projectName: string) => Promise<VisTaskConfig | undefined>;
|
|
3404
3410
|
/**
|
|
3405
3411
|
* Type-safe helper for defining a per-package `vis.task.ts` overlay.
|
|
3406
3412
|
* Pure identity — exists only so users get type inference and
|
package/dist/generate/index.d.ts
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public surface for `vis generate` template authors.
|
|
3
|
+
*
|
|
4
|
+
* Native templates live at `<workspace>/.vis/templates/<name>.{ts,js,mjs}`
|
|
5
|
+
* and import `createTemplate` from this module.
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { createTemplate } from "@visulima/vis/generate";
|
|
9
|
+
*
|
|
10
|
+
* export default createTemplate({
|
|
11
|
+
* about: { name: "package", description: "Scaffold a new package" },
|
|
12
|
+
* options: {
|
|
13
|
+
* name: { type: "string", required: true, prompt: "Package name?" },
|
|
14
|
+
* },
|
|
15
|
+
* async produce({ options }) {
|
|
16
|
+
* return {
|
|
17
|
+
* files: {
|
|
18
|
+
* [`packages/${options.name}/package.json`]: JSON.stringify({ name: options.name }, null, 2),
|
|
19
|
+
* [`packages/${options.name}/src/index.ts`]: "export {};\n",
|
|
20
|
+
* },
|
|
21
|
+
* };
|
|
22
|
+
* },
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
1
26
|
/**
|
|
2
27
|
* Type definitions for the `vis generate` template runtime.
|
|
3
28
|
*
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import{createRequire as
|
|
2
|
-
`),t),this.filePath=s,this.removedKeys=o}}class
|
|
3
|
-
Chain: ${t.join(" → ")}`:"";super(`Failed to load ${s}: ${
|
|
1
|
+
import{createRequire as x}from"node:module";import{v as b,e as l,m as A}from"../packem_shared/index-0dnGN3GP.js";import{i as R}from"./ts-loader.js";import{m as V}from"../packem_shared/target-merge-ya19LiWB.js";import{otelPlugin as fe}from"../packem_shared/otelPlugin-D8LL2-4L.js";import{definePlugin as de}from"../packem_shared/definePlugin-DoUcoYSy.js";import{y as T}from"../packem_shared/isAccessibleSync-DYKTrrvc-CBsMZhj-.js";let _;const E=e=>(_??=x(import.meta.url))(e),c=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,g=e=>{if(typeof c<"u"&&c.versions&&c.versions.node){const[s,t]=c.versions.node.split(".").map(Number);if(s>22||s===22&&t>=3||s===20&&t>=16)return c.getBuiltinModule(e)}return E(e)},{readdirSync:j}=g("node:fs"),{createRequire:S}=g("node:module");class f extends Error{chain;constructor(s,t,o){super(s,o),this.name=this.constructor.name,this.chain=t}}class D extends f{constructor(s,t){const o=[...t,`${s} (re-enters)`].join(" → ");super(`Config cycle: ${o}`,t)}}class v extends f{filePath;removedKeys;constructor(s,t,o){const n=[`${s} uses removed keys.`,""];for(const r of o){const i=r.location?` (at ${r.location})`:"";n.push(` • ${r.name}${i} → renamed to \`${r.renamedTo}\``);for(const a of r.children??[])n.push(` ↳ ${a.name} → renamed to \`${a.renamedTo}\``)}n.push("","Run `vis migrate self` to auto-rewrite the config (use --dry-run to preview)."),super(n.join(`
|
|
2
|
+
`),t),this.filePath=s,this.removedKeys=o}}class h extends f{constructor(s,t,o){const n=o instanceof Error?o.message:String(o),r=t.length>0?`
|
|
3
|
+
Chain: ${t.join(" → ")}`:"";super(`Failed to load ${s}: ${n}${r}`,t,{cause:o})}}const G=e=>e.join(" → ");class p extends f{constructor(s,t,o){const n=t.length>0?t[t.length-1]:"<unknown>",r=o.length>0?`
|
|
4
4
|
Tried:
|
|
5
5
|
${o.join(`
|
|
6
|
-
`)}`:"";super(`Cannot resolve "${s}" extended from ${
|
|
7
|
-
Chain: ${
|
|
8
|
-
`),t),this.filePath=s,this.violations=o}}const
|
|
9
|
-
`);return s.digest("hex")},ne=e=>{const s=a(e,"node_modules");if(d(s)){const o=a(s,".cache","vis");return m(o),a(o,"vis-config-cache.json")}const t=x("vis",{create:!0,cwd:e});return t?a(t,"vis-config-cache.json"):void 0},re=(e,s)=>{if(d(e))try{const t=S(e);if(t.hash===s)return t.config}catch{}},ce=(e,s,t)=>{try{m(C(e)),O(e,{config:t,hash:s})}catch{}},ie=e=>e===void 0?[]:Array.isArray(e)?e:[e],ae=(e,s,t)=>{if(_(e))throw new k(e,[...t,s],["Absolute paths in `extends` are not supported. Use a relative path or an npm package name."]);const o=[];if(e.startsWith("./")||e.startsWith("../")){const r=C(s),n=a(r,e);if(o.push(n),d(n))return n;throw new k(e,[...t,s],o)}try{return q(s).resolve(e)}catch{throw o.push(`require.resolve("${e}") from ${s}`),new k(e,[...t,s],o)}},G=async(e,s)=>{let t;try{t=(await M(e)).default??{}}catch(o){throw new T(e,s,o)}try{return(typeof t=="function"?await t()??{}:t)??{}}catch(o){throw new T(e,s,o)}},fe=(e,s)=>{const t={...e,...s};if(e.tasks||s.tasks){const o=new Set([...Object.keys(e.tasks??{}),...Object.keys(s.tasks??{})]),r={};for(const n of o)r[n]=K(e.tasks?.[n],s.tasks?.[n]);t.tasks=r}if((e.scopedTasks||s.scopedTasks)&&(t.scopedTasks=[...e.scopedTasks??[],...s.scopedTasks??[]]),(e.fileGroups||s.fileGroups)&&(t.fileGroups={...e.fileGroups,...s.fileGroups}),(e.taskGroups||s.taskGroups)&&(t.taskGroups={...e.taskGroups,...s.taskGroups}),e.security||s.security){const o=e.security?.policies??{},r=s.security?.policies??{},n={...o,...r};for(const c of Object.keys(o)){const i=o[c],f=r[c];i!==void 0&&f!==void 0&&(n[c]={...i,...f})}t.security={...e.security,...s.security,acceptedRisks:{...e.security?.acceptedRisks,...s.security?.acceptedRisks},policies:n}}return(e.update||s.update)&&(t.update={...e.update,...s.update}),(e.taskRunner||s.taskRunner)&&(t.taskRunner={...e.taskRunner,...s.taskRunner}),delete t.extends,t},R=async(e,s,t,o,r)=>{if(t.has(e))throw new P(e,s);if(!o.has(e)){t.add(e);try{const n=await G(e,s);H(e,s,n),Q(e,s,n);const c=ie(n.extends);for(const i of c){const f=ae(i,e,s);await R(f,[...s,e],t,o,r)}o.set(e,n),r.push(e)}finally{t.delete(e)}}},Te=async(e,s)=>{let t;if(s?.explicitConfigPath){const u=_(s.explicitConfigPath)?s.explicitConfigPath:a(e,s.explicitConfigPath);if(!d(u))throw new Error(`Cannot find config file at ${u}`);t=u}else t=se(e);if(!t)return b({});const o=new Set,r=new Map,n=[];await R(t,[],o,r,n);const c=oe(n),i=ne(e);if(i){const u=re(i,c);if(u)return u}let f={};for(const u of n)f=fe(f,r.get(u));const j=b(f);return i&&ce(i,c,j),j},ue=e=>e.replaceAll(/[^\w.-]+/g,"_"),de=(e,s)=>{const t=a(e,"node_modules"),o=ue(s);if(d(t)){const n=a(t,".cache","vis","task-configs");return m(n),a(n,`${o}.json`)}const r=x("vis",{create:!0,cwd:e});return r?a(r,"task-configs",`${o}.json`):void 0},le=(e,s)=>{if(d(e))try{const t=S(e);if(t.hash===s)return t.config}catch{}},pe=(e,s,t)=>{try{m(C(e)),O(e,{config:t,hash:s})}catch{}},be=async(e,s,t)=>{const o=te(s);if(!o)return;const r=V(o),n=de(e,t);if(n){const f=le(n,r);if(f)return f}const c=await G(o,[]);Y(o,[],c);const i=c;return n&&pe(n,r,i),i},we=e=>e,$e=e=>e;export{D as CONFIG_FILES,je as DEFAULT_MIN_RELEASE_AGE_MINUTES,y as SECURITY_DEFAULTS,A as TASK_CONFIG_FILES,b as applyDefaults,$e as defineConfig,Ee as definePlugin,we as defineTaskConfig,se as findVisConfigFile,te as findVisTaskConfigFile,Te as loadVisConfig,be as loadVisTaskConfig,_e as otelPlugin};
|
|
6
|
+
`)}`:"";super(`Cannot resolve "${s}" extended from ${n}.${r}
|
|
7
|
+
Chain: ${G(t)}`,t)}}class I extends f{filePath;violations;constructor(s,t,o){const n=[`${s} has an invalid value.`,""];for(const r of o)n.push(` • ${r.location} — expected ${r.expected}, found ${r.found}`);n.push("","See https://visulima.com/docs/packages/vis/configuration for the expected shape."),super(n.join(`
|
|
8
|
+
`),t),this.filePath=s,this.violations=o}}const N=e=>{const s=[];if(Object.hasOwn(e,"targetDefaults")&&s.push({name:"targetDefaults",renamedTo:"tasks"}),Object.hasOwn(e,"taskRunnerOptions")&&s.push({name:"taskRunnerOptions",renamedTo:"taskRunner"}),Object.hasOwn(e,"taskDefaults")){const{taskDefaults:t}=e,o=[];if(Array.isArray(t))for(const[n,r]of t.entries())r&&typeof r=="object"&&(Object.hasOwn(r,"scope")&&o.push({location:`taskDefaults[${n}].scope`,name:"scope",renamedTo:"match"}),Object.hasOwn(r,"targets")&&o.push({location:`taskDefaults[${n}].targets`,name:"targets",renamedTo:"tasks"}));s.push({children:o.length>0?o:void 0,name:"taskDefaults",renamedTo:"scopedTasks"})}else if(Array.isArray(e.scopedTasks))for(const[t,o]of e.scopedTasks.entries())o&&typeof o=="object"&&(Object.hasOwn(o,"scope")&&s.push({location:`scopedTasks[${t}].scope`,name:"scope",renamedTo:"match"}),Object.hasOwn(o,"targets")&&s.push({location:`scopedTasks[${t}].targets`,name:"targets",renamedTo:"tasks"}));return s},F=e=>Object.hasOwn(e,"targets")&&!Object.hasOwn(e,"tasks")?[{name:"targets",renamedTo:"tasks"}]:[],L=(e,s,t)=>{if(!t||typeof t!="object")return;const o=N(t);if(o.length>0)throw new v(e,s,o)},q=(e,s,t)=>{if(!t||typeof t!="object")return;const o=F(t);if(o.length>0)throw new v(e,s,o)},d=e=>{if(e===null)return"null";if(Array.isArray(e))return"an array";if(typeof e=="object"){const s=Object.keys(e);return s.length>0?`an object with { ${s.join(", ")} }`:"an empty object"}return typeof e},k=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),K=e=>{const s=[];if(!Object.hasOwn(e,"scopedTasks")||e.scopedTasks===void 0)return s;const{scopedTasks:t}=e;if(!Array.isArray(t))return s.push({expected:"an array of `{ match?, tasks }` blocks",found:d(t),location:"scopedTasks"}),s;for(const[o,n]of t.entries()){const r=`scopedTasks[${o}]`;if(!k(n)){s.push({expected:"a `{ match?, tasks }` block",found:d(n),location:r});continue}k(n.tasks)||s.push({expected:"`tasks` to be an object keyed by target name",found:n.tasks===void 0?`a block with { ${Object.keys(n).join(", ")} }`:d(n.tasks),location:`${r}.tasks`}),n.match!==void 0&&!k(n.match)&&s.push({expected:"`match` to be an object of project constraints",found:d(n.match),location:`${r}.match`})}return s},P=(e,s,t)=>{if(!t||typeof t!="object")return;const o=K(t);if(o.length>0)throw new I(e,s,o)},w=["vis.config.ts","vis.config.mts","vis.config.cts","vis.config.js","vis.config.mjs","vis.config.cjs"],M=new Set(w),C=["vis.task.ts","vis.task.mts","vis.task.cts","vis.task.js","vis.task.mjs","vis.task.cjs"],U=new Set(C),te=2880,m={blockExoticSubdeps:!0,policies:{installScripts:{strict:!0},publisherChange:{ignoreAfter:43200,mode:"no-downgrade"}}},W=e=>{if(!e)return{...m};const s=m.policies??{},t=e.policies??{},o={...s,...t};for(const n of Object.keys(s)){const r=s[n],i=t[n];r!==void 0&&i!==void 0&&(o[n]={...r,...i})}return{...m,...e,policies:o}},y=e=>({...e,security:W(e.security),update:{security:!0,target:"minor",...e.update}}),B=e=>{let s;try{s=j(e)}catch{return}const t=new Set(s.filter(o=>M.has(o)));for(const o of w)if(t.has(o))return l(e,o)},z=e=>{let s;try{s=j(e)}catch{return}const t=new Set(s.filter(o=>U.has(o)));for(const o of C)if(t.has(o))return l(e,o)},Y=e=>e===void 0?[]:Array.isArray(e)?e:[e],H=(e,s,t)=>{if(b(e))throw new p(e,[...t,s],["Absolute paths in `extends` are not supported. Use a relative path or an npm package name."]);const o=[];if(e.startsWith("./")||e.startsWith("../")){const n=A(s),r=l(n,e);if(o.push(r),T(r))return r;throw new p(e,[...t,s],o)}try{return S(s).resolve(e)}catch{throw o.push(`require.resolve("${e}") from ${s}`),new p(e,[...t,s],o)}},$=async(e,s)=>{let t;try{t=(await R(e)).default??{}}catch(o){throw new h(e,s,o)}try{return(typeof t=="function"?await t()??{}:t)??{}}catch(o){throw new h(e,s,o)}},J=(e,s)=>{const t={...e,...s};if(e.tasks||s.tasks){const o=new Set([...Object.keys(e.tasks??{}),...Object.keys(s.tasks??{})]),n={};for(const r of o)n[r]=V(e.tasks?.[r],s.tasks?.[r]);t.tasks=n}if((e.scopedTasks||s.scopedTasks)&&(t.scopedTasks=[...e.scopedTasks??[],...s.scopedTasks??[]]),(e.fileGroups||s.fileGroups)&&(t.fileGroups={...e.fileGroups,...s.fileGroups}),(e.taskGroups||s.taskGroups)&&(t.taskGroups={...e.taskGroups,...s.taskGroups}),e.security||s.security){const o=e.security?.policies??{},n=s.security?.policies??{},r={...o,...n};for(const i of Object.keys(o)){const a=o[i],u=n[i];a!==void 0&&u!==void 0&&(r[i]={...a,...u})}t.security={...e.security,...s.security,acceptedRisks:{...e.security?.acceptedRisks,...s.security?.acceptedRisks},policies:r}}return(e.update||s.update)&&(t.update={...e.update,...s.update}),(e.taskRunner||s.taskRunner)&&(t.taskRunner={...e.taskRunner,...s.taskRunner}),delete t.extends,t},O=async(e,s,t,o,n)=>{if(t.has(e))throw new D(e,s);if(!o.has(e)){t.add(e);try{const r=await $(e,s);L(e,s,r),P(e,s,r);const i=Y(r.extends);for(const a of i){const u=H(a,e,s);await O(u,[...s,e],t,o,n)}o.set(e,r),n.push(e)}finally{t.delete(e)}}},oe=async(e,s)=>{let t;if(s?.explicitConfigPath){const a=b(s.explicitConfigPath)?s.explicitConfigPath:l(e,s.explicitConfigPath);if(!T(a))throw new Error(`Cannot find config file at ${a}`);t=a}else t=B(e);if(!t)return y({});const o=new Set,n=new Map,r=[];await O(t,[],o,n,r);let i={};for(const a of r)i=J(i,n.get(a));return y(i)},ne=async(e,s,t)=>{const o=z(s);if(!o)return;const n=await $(o,[]);return q(o,[],n),n},re=e=>e,ie=e=>e;export{w as CONFIG_FILES,te as DEFAULT_MIN_RELEASE_AGE_MINUTES,m as SECURITY_DEFAULTS,C as TASK_CONFIG_FILES,y as applyDefaults,ie as defineConfig,de as definePlugin,re as defineTaskConfig,B as findVisConfigFile,z as findVisTaskConfigFile,oe as loadVisConfig,ne as loadVisTaskConfig,fe as otelPlugin};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as f,F as s,J as c}from"../packem_shared/index.server-Ca_EEVfw.js";import{p as r}from"./cli-main.js";import{g as u}from"../packem_shared/osv-bloom-
|
|
1
|
+
import{b as f,F as s,J as c}from"../packem_shared/index.server-Ca_EEVfw.js";import{p as r}from"./cli-main.js";import{g as u}from"../packem_shared/osv-bloom-DU6avR2k.js";const a=t=>{if(!t)return"never";const i=Date.parse(t);if(Number.isNaN(i))return t;const e=Date.now()-i;if(e<0)return t;const n=Math.floor(e/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;const o=Math.floor(n/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`},m=t=>t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`,l=async({options:t,workspaceRoot:i})=>{if(!i)throw new Error("Could not determine workspace root. Run this command inside a workspace.");const e=await u(i,t.cacheDir);if(t.format==="json"){process.stdout.write(`${JSON.stringify(e,void 0,2)}
|
|
2
2
|
`);return}if(r.info(`Cache: ${e.cacheDir}`),!e.present){r.warn(`No osv-bloom filter yet. Run ${f("vis advisories bloom sync")} to populate.`);return}if(e.manifest){const{manifest:o}=e;r.info(`Built: ${o.builtAtRfc3339} (${a(o.builtAtRfc3339)})`),r.info(`Fetch: ${e.fetchedAtIso??s("—")} (${a(e.fetchedAtIso)})`),r.info(`Filter: ${c(m(o.bloomByteLen))} m=${o.bloomMBits.toLocaleString()} bits k=${String(o.bloomKHashes)}`),r.info(`Set: ${o.entryCount.toLocaleString()} entries from ${o.advisoryCount.toLocaleString()} advisories (target FPR ${o.targetFpr})`),r.info(s(`Digest: ${o.setDigestSha256}`))}else r.warn("filter.bin present but manifest.json missing — `vis advisories bloom sync` will rewrite the cache.")},g=l;export{g as advisoriesBloomStatusExecute};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{F as f}from"../packem_shared/index.server-Ca_EEVfw.js";import{p as i}from"./cli-main.js";import{s as d}from"../packem_shared/scan-progress-
|
|
1
|
+
import{F as f}from"../packem_shared/index.server-Ca_EEVfw.js";import{p as i}from"./cli-main.js";import{s as d}from"../packem_shared/scan-progress-CY3XIDOY.js";import{D as p,s as D}from"../packem_shared/osv-bloom-DU6avR2k.js";const h=o=>o?.security?.audit?.advisories?.bloom??{},u=o=>o>=1e3?`${(o/1e3).toFixed(1)}s`:`${Math.round(o)}ms`,$=o=>o<1024?`${o} B`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:`${(o/(1024*1024)).toFixed(1)} MB`,b=async({options:o,visConfig:m,workspaceRoot:n})=>{if(!n)throw new Error("Could not determine workspace root. Run this command inside a workspace.");const a=o.format==="json",c=h(m),l=o.source??c.source??p,r=d([{id:"bloom",label:"Sync osv-bloom prefilter"}],{live:!a});let e,t;try{r.start("bloom");const s=Date.now();e=await D({allowedHosts:c.allowedHosts,cacheDir:o.cacheDir,force:!!o.force,source:l,workspaceRoot:n}),e.upToDate?r.finish("bloom","ok",`up to date · ${u(Date.now()-s)}`):r.finish("bloom","ok",`${e.manifest.entryCount.toLocaleString()} entries · ${$(e.bytesOnDisk)} · ${u(e.durationMs)}`)}catch(s){t=s instanceof Error?s.message:String(s),r.finish("bloom","error",t)}finally{r.stop()}a?process.stdout.write(`${JSON.stringify({bytesOnDisk:e?.bytesOnDisk??0,cacheDir:e?.cacheDir??null,durationMs:e?.durationMs??0,error:t??null,manifest:e?.manifest??null,source:l,upToDate:e?.upToDate??!1},void 0,2)}
|
|
2
2
|
`):e&&(i.info(f(`Cache: ${e.cacheDir}`)),i.info(f(`Built: ${e.manifest.builtAtRfc3339}`)),t||i.success(e.upToDate?"osv-bloom prefilter up to date.":"osv-bloom prefilter synced.")),t&&(process.exitCode=1)},g=b;export{g as advisoriesBloomSyncExecute};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{createRequire as je}from"node:module";import{z as
|
|
2
|
-
`)){const r=a.trimStart(),o=a.length-r.length;if(o===0&&r.length>0&&!r.startsWith("#")){n=$e(r),n==="catalogs"&&(s="");continue}r.length===0||r.startsWith("#")||(n==="catalog"&&tt(e,r,o),n==="catalogs"&&(s=nt(e,r,o,s)))}return e},at=t=>{const e=g(t,"pnpm-workspace.yaml");if(!h(e))return!1;const n=
|
|
3
|
-
`),r=it(e);let o="none",c="";const i=[];for(const l of a){const
|
|
4
|
-
`))},
|
|
5
|
-
`),ft=t=>{const e=new Map;for(const n of t){e.has(n.catalogName)||e.set(n.catalogName,[]);const s=e.get(n.catalogName);s&&s.push(n)}return e},gt=t=>{const e=x(t);return e?`${e.relativePath==="."?"root":e.relativePath} (${e.depType})`:`Catalog: ${t}`},
|
|
1
|
+
import{createRequire as je}from"node:module";import{z as N,e as g,$ as _e,m as V}from"../packem_shared/index-0dnGN3GP.js";import{L as Re,q as X,u as oe,R as C,O as W,X as De,e as J,p as P,g as ce,F as I,f as Oe,G as ie,J as H,h as le,i as D}from"../packem_shared/registry-CndByNx9.js";import{L as ue}from"../packem_shared/index-CIdjkZgt.js";import{y as h}from"../packem_shared/isAccessibleSync-DYKTrrvc-CBsMZhj-.js";import{U as A,h as O,e as Le,i as Me}from"../packem_shared/env-BymuoTL8.js";import{f as Ue}from"../packem_shared/removeSync-g1D5kONg-jOsRSIIv.js";import{p as b}from"../packem_shared/package-version-x7sPg2TM.js";import{g as pe,T as fe,l as Wt}from"../packem_shared/npmrc-CIvOb61L.js";import{p as cn}from"../packem_shared/npmrc-CIvOb61L.js";import{O as ge}from"../packem_shared/renderToString-DR0zDUjh-DeiCwydO.js";import{q as We}from"../packem_shared/table-bu4cV-it.js";import{f as Ie}from"../packem_shared/osv-4kFhXIoW.js";import{s as Be}from"../packem_shared/index-B4AjSxHU.js";import{a as Z}from"../packem_shared/advisories-DHGJ6XhP.js";let Ce;const Ae=t=>(Ce??=je(import.meta.url))(t),j=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,xe=t=>{if(typeof j<"u"&&j.versions&&j.versions.node){const[e,n]=j.versions.node.split(".").map(Number);if(e>22||e===22&&n>=3||e===20&&n>=16)return j.getBuiltinModule(t)}return Ae(t)},{createInterface:Fe}=xe("node:readline"),G=["dependencies","devDependencies","optionalDependencies"],Ge=new Set([...G,"overrides","peerDependencies","pnpm.overrides","resolutions"]),x=t=>{const e=t.lastIndexOf(":");if(e===-1)return;const n=t.slice(e+1);if(Ge.has(n))return{depType:n,relativePath:t.slice(0,e)}},L=t=>{const e=ue("vis",{create:!0,cwd:t});if(!e)throw new Error("Cannot resolve cache directory. Ensure node_modules exists in your workspace. Run your package manager's install command first.");return g(e,"backup")},Y=(t,e)=>e==="bun"?g(t,"package.json"):g(t,"pnpm-workspace.yaml"),K=(t,e)=>{const n=L(t),s=new Set;for(const a of e){const r=x(a.catalogName);r&&s.add(r.relativePath==="."?"package.json":g(r.relativePath,"package.json"))}if(s.size!==0){O(n);for(const a of s){const r=g(t,a);if(h(r)){const o=g(n,a),c=V(o);O(c),A(o,N(r))}}return n}},q=(t,e)=>{const n=Y(t,e),s=L(t);return g(s,`${_e(n)}.bak`)},Ve=(t,e,n)=>{if((e==="npm"||e==="yarn")&&n)return K(t,n);let s;const a=Y(t,e);if(h(a)&&(s=q(t,e),O(V(s)),A(s,N(a))),n){const r=n.filter(o=>x(o.catalogName));r.length>0&&K(t,r)}return s},Xe=t=>{const e=L(t);if(!h(e))return!1;for(const n of Re(e,{includeDirs:!1})){const s=n.path.slice(e.length+1),a=g(t,s);A(a,N(n.path))}return Ue(e),!0},Xt=(t,e)=>{if(e==="npm"||e==="yarn")return Xe(t);const n=Y(t,e),s=q(t,e);if(!h(s))return!1;const a=N(s);return A(n,a),!0},Jt=(t,e)=>{if(e==="npm"||e==="yarn")try{const n=L(t);return h(n)}catch{return!1}try{return h(q(t,e))}catch{return!1}},de=t=>{if(h(t))try{return b(t)}catch{return}},Je=t=>{const e=de(g(t,"package.json"));return!!(e?.workspaces?.catalog||e?.workspaces?.catalogs)},He=t=>{const e=new Map;if(t.workspaces?.catalog&&typeof t.workspaces.catalog=="object"&&e.set("default",new Map(Object.entries(t.workspaces.catalog))),t.workspaces?.catalogs&&typeof t.workspaces.catalogs=="object")for(const[n,s]of Object.entries(t.workspaces.catalogs))s&&typeof s=="object"&&e.set(n,new Map(Object.entries(s)));return e},Ye=t=>{const e=de(g(t,"package.json"));return e?He(e):new Map},qe=(t,e,n)=>{const s=g(t,"package.json"),a=b(s);for(const r of e)if(r.catalogName==="default")a.workspaces?.catalog&&(a.workspaces.catalog[r.packageName]=r.newRange);else{const o=a.workspaces?.catalogs?.[r.catalogName];o&&(o[r.packageName]=r.newRange)}X(s,a,{indent:oe(s,{useEditorconfig:n}),overwrite:!0})},ze=/\*+/g,Qe=/[.+^${}()|[\]\\]/g,ee=new Map,E=(t,e)=>{let n=ee.get(e);if(!n){const a=e.replaceAll(ze,"*").replaceAll(Qe,String.raw`\$&`);n=new RegExp(`^${a.replaceAll("*",".*").replaceAll("?",".")}$`),ee.set(e,n)}return n.test(t)},me=(t,e,n)=>n.some(s=>E(t,s))?!1:e.length>0?e.some(s=>E(t,s)):!0,te=new Map,he=(t,e,n)=>{if(!n)return e;const s=n[t];if(s!==void 0)return s;for(const[a,r]of Object.entries(n))if(a!==t){if(a.startsWith("/")&&a.endsWith("/")){let o=te.get(a);if(o||(o=new RegExp(a.slice(1,-1)),te.set(a,o)),o.test(t))return r}else if(E(t,a))return r}return e},Ze=/^(?:'([^']+)'|"([^"]+)"|([^:\s]+)):\s*(?:'([^']+)'|"([^"]+)"|(\S+))/,Ke=/^catalog:/m,et=/^catalogs:/m,ke=/^['"]|['"]$/g,we=t=>{const e=Ze.exec(t);if(!e)return;const n=e[1]??e[2]??e[3],s=e[4]??e[5]??e[6];if(!(!n||!s))return[n,s]},ye=(t,e,n,s)=>{t.has(e)||t.set(e,new Map);const a=t.get(e);a&&a.set(n,s)},tt=(t,e,n)=>{if(n<2)return;const s=we(e);s&&ye(t,"default",s[0],s[1])},nt=(t,e,n,s)=>{if(n===2&&e.endsWith(":"))return e.slice(0,-1).trim().replaceAll(ke,"");if(n>=4&&s){const a=we(e);a&&ye(t,s,a[0],a[1])}return s},$e=t=>t==="catalog:"||t.startsWith("catalog:")?"catalog":t==="catalogs:"||t.startsWith("catalogs:")?"catalogs":"none",st=t=>{const e=new Map;let n="none",s="";for(const a of t.split(`
|
|
2
|
+
`)){const r=a.trimStart(),o=a.length-r.length;if(o===0&&r.length>0&&!r.startsWith("#")){n=$e(r),n==="catalogs"&&(s="");continue}r.length===0||r.startsWith("#")||(n==="catalog"&&tt(e,r,o),n==="catalogs"&&(s=nt(e,r,o,s)))}return e},at=t=>{const e=g(t,"pnpm-workspace.yaml");if(!h(e))return!1;const n=N(e);return Ke.test(n)||et.test(n)},rt=t=>{const e=g(t,"pnpm-workspace.yaml");if(!h(e))return new Map;const n=N(e);return st(n)},ne=/[.*+?^${}()|[\]\\]/g,ot=(t,e)=>{const n=t.replaceAll(ne,String.raw`\$&`),s=e.replaceAll(ne,String.raw`\$&`);return new RegExp(String.raw`^(?:'${n}'|"${n}"|${n}):\s*['"]?${s}['"]?`)},ct=(t,e,n)=>ot(e,n).test(t),it=t=>{const e=new Map;for(const n of t){e.has(n.catalogName)||e.set(n.catalogName,new Map);const s=e.get(n.catalogName);s&&s.set(n.packageName,{newRange:n.newRange,oldRange:n.currentRange})}return e},se=(t,e,n)=>{if(!n)return t;for(const[s,{newRange:a,oldRange:r}]of n)if(ct(e,s,r))return t.replace(r,a);return t},lt=(t,e,n,s)=>{const a=t.trimStart(),r=t.length-a.length;return a.length===0||a.startsWith("#")?t:e==="catalog"&&r>=2?se(t,a,s.get("default")):e==="catalogs"&&r>=4&&n?se(t,a,s.get(n)):t},ut=(t,e)=>{const n=g(t,"pnpm-workspace.yaml"),a=N(n).split(`
|
|
3
|
+
`),r=it(e);let o="none",c="";const i=[];for(const l of a){const u=l.trimStart(),p=l.length-u.length;p===0&&u.length>0&&!u.startsWith("#")&&(o=$e(u),o==="catalogs"&&(c="")),o==="catalogs"&&p===2&&u.endsWith(":")&&(c=u.slice(0,-1).trim().replaceAll(ke,"")),i.push(lt(l,o,c,r))}A(n,i.join(`
|
|
4
|
+
`))},pt=/github\.com[/:]([\w.-]+)\/([\w.-]+?)(?:\.git|\/|$)/,Ht=async(t,e=1e4,n)=>{const s=[],a=new AbortController,r=setTimeout(()=>{a.abort()},e),o=async u=>{const p=`https://www.npmjs.com/package/${u.packageName}`;try{const f=n?pe(u.packageName,n):{url:"https://registry.npmjs.org"},w=f.url.replace(fe,""),y={Accept:"application/json"};f.token&&(y.Authorization=`Bearer ${f.token}`);const m=await fetch(`${w}/${u.packageName}/latest`,{headers:y,signal:a.signal});if(!m.ok)return{npmUrl:p,packageName:u.packageName};const $=(await m.json()).repository?.url;if(!$)return{npmUrl:p,packageName:u.packageName};const d=pt.exec($);if(!d)return{npmUrl:p,packageName:u.packageName,repoUrl:$};const v=d[1],T=d[2],k=`https://github.com/${v}/${T}/releases/tag/v${u.targetVersion}`;return{npmUrl:p,packageName:u.packageName,releaseUrl:k,repoUrl:`https://github.com/${v}/${T}`}}catch{return{npmUrl:p,packageName:u.packageName}}},c=Math.min(8,t.length);let i=0;const l=async()=>{for(;i<t.length;){const u=i;i+=1,s[u]=await o(t[u])}};try{await Promise.all(Array.from({length:c},()=>l()))}finally{clearTimeout(r)}return s},Yt=t=>JSON.stringify(t,void 0,2),qt=t=>t.map(e=>`${e.packageName} ${e.currentRange} → ${e.newRange}`).join(`
|
|
5
|
+
`),ft=t=>{const e=new Map;for(const n of t){e.has(n.catalogName)||e.set(n.catalogName,[]);const s=e.get(n.catalogName);s&&s.push(n)}return e},gt=t=>{const e=x(t);return e?`${e.relativePath==="."?"root":e.relativePath} (${e.depType})`:`Catalog: ${t}`},zt=(t,e)=>{const n=ft(t),s=process.stdout.columns||80,a=t.some(r=>r.socketReport);for(const[r,o]of n){const c=o.flatMap(u=>{const p=u.vulnerabilities&&u.vulnerabilities.length>0,f=u.socketReport&&u.socketReport.alerts.length>0,y=`${p||f?"[SEC] ":""}${u.packageName}`,m=u.socketReport?`${String(Math.round(u.socketReport.score.overall*100))}%`:"",S={current:u.currentRange,package:y,target:u.newRange,type:u.updateType};a&&(S.score=m);const $=[S];if(u.vulnerabilities)for(const d of u.vulnerabilities){const v={current:d.summary,package:` ${d.severity} ${d.id}`,target:"",type:""};a&&(v.score=""),$.push(v)}if(u.socketReport)for(const d of u.socketReport.alerts){const v={current:d.category,package:` [${d.severity.toUpperCase()}] ${d.type}`,target:"",type:""};a&&(v.score=""),$.push(v)}return $}),i=gt(r),l=ge(C.createElement(We,{data:c}),{columns:s});e.info(`${i}
|
|
6
6
|
${l}
|
|
7
|
-
`)}},
|
|
7
|
+
`)}},Qt=(t,e=Le)=>{let n=0,s=0,a=0,r=0,o=0,c=0;for(const f of t)f.updateType==="major"?n++:f.updateType==="minor"?s++:a++,f.vulnerabilities&&f.vulnerabilities.length>0&&r++,f.socketReport?.alerts.length&&o++,f.socketReport&&f.socketReport.score.overall<e&&c++;const i=[];n&&i.push(`${String(n)} major`),s&&i.push(`${String(s)} minor`),a&&i.push(`${String(a)} patch`),r&&i.push(`${String(r)} with vulnerabilities`),o&&i.push(`${String(o)} with Socket.dev alerts`);const l=`Found ${String(t.length)} outdated (${i.join(", ")})`,u=process.stdout.columns||80,p=[C.createElement(W,{bold:!0},"─ Summary"),C.createElement(W,null,` ${l}`)];return c>0&&p.push(C.createElement(W,{color:"yellow"},` ${String(c)} package${c===1?"":"s"} with low Socket.dev score (<${String(Math.round(e*100))}%)`)),ge(C.createElement(De,{flexDirection:"column",paddingX:1},...p),{columns:u})},ve=15e3,dt=async(t,e,n=ve,s=!1)=>{const r=`${(e?.url??"https://registry.npmjs.org").replace(fe,"")}/${t}`,o=s?{Accept:"application/json"}:{Accept:"application/vnd.npm.install-v1+json"};e?.authToken&&(o.Authorization=`Bearer ${e.authToken}`);const c=new AbortController,i=setTimeout(()=>{c.abort()},n);try{const l=await fetch(r,{headers:o,signal:c.signal});if(!l.ok)throw new Error(`Failed to fetch ${t}: ${String(l.status)} ${l.statusText}`);const u=await l.json(),p={latest:u["dist-tags"]?.latest??"",versions:Object.keys(u.versions??{})};return s&&u.time&&(p.publishTimes=new Map(Object.entries(u.time))),p}finally{clearTimeout(i)}},mt=async(t,e,n,s=!1,a)=>{const r=new Map,o=[],c=Math.max(1,Math.min(64,Math.floor(a??8)||8));let i=0,l=0;const u=async w=>{try{const y=e?pe(w,e):void 0,m=await dt(w,y?{authToken:y.token,url:y.url}:void 0,ve,s);r.set(w,m)}catch{o.push(w)}finally{i+=1,n&&n(i,t.length)}},p=async()=>{for(;l<t.length;){const w=t[l];l+=1,await u(w)}},f=Math.min(c,t.length);return await Promise.all(Array.from({length:f},()=>p())),{failed:o,versionCache:r}},Se=(t,e,n)=>{const s=e?.get(t);return s?Date.now()-new Date(s).getTime()<n:!1},ht=t=>t?.minimumReleaseAge?t.packageName&&t.minimumReleaseAgeExclude?.some(n=>E(t.packageName,n))?0:t.minimumReleaseAge*60*1e3:0,be=(t,e)=>e??(t?"any":"stable"),B=(t,e,n,s,a,r,o)=>{const c=be(n,o);return t.map(l=>({parsed:P(l),raw:l})).filter(l=>!l.parsed||!ie(l.parsed,e,c)||!H(e,l.parsed)||s&&Se(l.raw,a,s)?!1:r?r(l.parsed):!0).toSorted((l,u)=>Be.rcompare(l.raw,u.raw))[0]?.raw},kt=(t,e,n,s,a,r,o)=>{const c=P(n);if(!c)return;const i=ht(r),l=be(a,o);if(s==="latest"){const p=P(e);return p?ie(p,c,l)?H(c,p)?!i||!Se(e,r?.publishTimes,i)?e:B(t,c,a,i,r?.publishTimes,void 0,l):void 0:B(t,c,a,i,r?.publishTimes,void 0,l):void 0}const u=s==="patch"?p=>p.major===c.major&&p.minor===c.minor:p=>p.major===c.major;return B(t,c,a,i,r?.publishTimes,u,l)},wt=(t,e)=>{const n=[],s=new Set;for(const[a,r]of t)for(const[o,c]of r)if(!(c.startsWith("workspace:")||c.startsWith("file:")||c.startsWith("link:")||c==="*")&&!(!e.includeLocked&&!J(c))){if(e.ignore.some(i=>E(o,i))){s.add(o);continue}me(o,e.include,e.exclude)&&n.push({catalogName:a,packageName:o,range:c})}return{entries:n,ignored:[...s]}},ae=(t,e,n)=>{const s=[];for(const a of t){const r=e.get(a.packageName);if(!r)continue;const o=he(a.packageName,n.target,n.packageMode),c=kt(r.versions,r.latest,a.range,o,n.includePrerelease,{minimumReleaseAge:n.minimumReleaseAge,minimumReleaseAgeExclude:n.minimumReleaseAgeExclude,packageName:a.packageName,publishTimes:r.publishTimes},n.releaseChannel);if(!c)continue;const i=P(a.range),l=P(c);if(!i||!l)continue;const u=ce(i,l);if(u==="none")continue;const p=J(a.range);s.push({catalogName:a.catalogName,currentRange:a.range,newRange:`${p}${c}`,packageName:a.packageName,targetVersion:c,updateType:u})}return s},yt=async(t,e,n,s)=>{const a=[...new Map(e.map(i=>{const l=I(P(i.range));return[Z(i.packageName,l),{name:i.packageName,version:l}]})).values()].filter(i=>i.version),r=n&&n.length>0?Oe(n,a):void 0,[o,c]=await Promise.all([Ie(a),r]);for(const i of t){const l=o.get(Z(i.packageName,I(P(i.currentRange))));l&&l.length>0&&(i.vulnerabilities=l);const u=P(i.currentRange),p=I(u);if(c){const f=c.get(`${i.packageName}@${p}`);f&&(i.socketReport={alerts:f.alerts,license:f.license,score:f.score})}if(s){const f=Me(i.packageName,p,s);f&&(i.acceptedRisk=f)}}},$t=6e4,vt=(t,e,n,s)=>{const a=[];for(const[c,i]of t)for(const[l,u]of i)a.push(`${c}:${l}=${u}`);if(a.push(`target=${e.target},pre=${String(e.includePrerelease)},chan=${e.releaseChannel??"_"},sec=${String(e.security??!1)}`),a.push(`in=${e.include.join(",")},ex=${e.exclude.join(",")},ig=${e.ignore.join(",")}`),a.push(`locked=${String(e.includeLocked)}`),a.push(`mra=${String(e.minimumReleaseAge??0)}`),e.packageMode){const c=Object.entries(e.packageMode).map(([i,l])=>`${i}=${l}`).toSorted().join(",");a.push(`pkgMode=${c}`)}a.push(`socket=${String(n??!1)}`),s&&s.length>0&&a.push(`risks=${s.toSorted().join(",")}`);let r=5381;const o=a.join("|");for(let c=0;c<o.length;c++)r=(r<<5)+r+o.charCodeAt(c)|0;return String(r)},Te=t=>{const e=ue("vis",{create:!0,cwd:t});return e?g(e,"outdated-cache.json"):void 0},St=(t,e)=>{const n=Te(t);if(!(!n||!h(n)))try{const s=b(n);if(s.hash===e&&Date.now()-s.timestamp<$t)return s.result}catch{}},bt=(t,e,n)=>{const s=Te(t);if(s)try{O(V(s)),X(s,{hash:e,result:n,timestamp:Date.now()})}catch{}},Zt=async(t,e,n,s,a,r,o)=>{const c=!!(r&&r.length>0),i=vt(t,e,c,o?Object.keys(o):void 0);if(a){const d=St(a,i);if(d)return d}const{entries:l,ignored:u}=wt(t,e),p=[...new Set(l.map(d=>d.packageName))],f=!!(e.minimumReleaseAge&&e.minimumReleaseAge>0),{failed:w,versionCache:y}=await mt(p,n,s,f,e.maxConcurrentRequests),m=ae(l,y,e);let S=[];if(e.target!=="latest"){const d=new Set(m.map(k=>k.packageName)),v={...e,packageMode:void 0,target:"latest"};S=ae(l,y,v).filter(k=>!d.has(k.packageName))}(e.security||c)&&m.length>0&&await yt(m,l,r,o);const $={checkedCount:p.length,failed:w,filteredByTarget:S,ignored:u,outdated:m};return a&&bt(a,i,$),$},Kt=async t=>{const e=Fe({input:process.stdin,output:process.stdout}),n=a=>new Promise(r=>{e.question(a,o=>{r(o.trim())})});process.stdout.write(`
|
|
8
8
|
Outdated catalog dependencies:
|
|
9
9
|
`);for(const[a,r]of t.entries())r&&process.stdout.write(` ${String(a+1)}. ${r.packageName}: ${r.currentRange} → ${r.newRange} (${r.updateType})
|
|
10
10
|
`);process.stdout.write(`
|
|
11
|
-
`);const s=await n("Apply updates? [a]ll / [n]one / [s]elect: ");if(s.toLowerCase()==="a"||s.toLowerCase()==="all")return e.close(),t;if(s.toLowerCase()==="n"||s.toLowerCase()==="none")return e.close(),[];if(s.toLowerCase()==="s"||s.toLowerCase()==="select"){const a=await n("Enter numbers to apply (comma-separated): ");return e.close(),a.split(",").map(o=>Number.parseInt(o.trim(),10)-1).filter(o=>o>=0&&o<t.length).map(o=>t[o]).filter(o=>o!==void 0)}return e.close(),[]},Pe=t=>t?.dev?["devDependencies"]:t?.prod?["dependencies"]:t?.depFields&&t.depFields.length>0?t.depFields:t?.peer?[...G,"peerDependencies"]:G,Tt=(t,e,n)=>{const s=new Set;e&&s.add(e);for(const a of n){const r=g(t,a,"package.json");if(h(r))try{const o=b(r);o.name&&s.add(o.name)}catch{}}return s},z=(t,e)=>{const n=e.split(".");let s=t;for(const a of n)if(s&&typeof s=="object")s=s[a];else return;return typeof s=="object"&&s!==null?s:void 0},Pt=(t,e,n,s)=>{const a=e.split(".");let r=t;for(const c of a.slice(0,-1))(!r[c]||typeof r[c]!="object")&&(r[c]={}),r=r[c];const o=a.at(-1);(!r[o]||typeof r[o]!="object")&&(r[o]={}),r[o][n]=s},
|
|
11
|
+
`);const s=await n("Apply updates? [a]ll / [n]one / [s]elect: ");if(s.toLowerCase()==="a"||s.toLowerCase()==="all")return e.close(),t;if(s.toLowerCase()==="n"||s.toLowerCase()==="none")return e.close(),[];if(s.toLowerCase()==="s"||s.toLowerCase()==="select"){const a=await n("Enter numbers to apply (comma-separated): ");return e.close(),a.split(",").map(o=>Number.parseInt(o.trim(),10)-1).filter(o=>o>=0&&o<t.length).map(o=>t[o]).filter(o=>o!==void 0)}return e.close(),[]},Pe=t=>t?.dev?["devDependencies"]:t?.prod?["dependencies"]:t?.depFields&&t.depFields.length>0?t.depFields:t?.peer?[...G,"peerDependencies"]:G,Tt=(t,e,n)=>{const s=new Set;e&&s.add(e);for(const a of n){const r=g(t,a,"package.json");if(h(r))try{const o=b(r);o.name&&s.add(o.name)}catch{}}return s},z=(t,e)=>{const n=e.split(".");let s=t;for(const a of n)if(s&&typeof s=="object")s=s[a];else return;return typeof s=="object"&&s!==null?s:void 0},Pt=(t,e,n,s)=>{const a=e.split(".");let r=t;for(const c of a.slice(0,-1))(!r[c]||typeof r[c]!="object")&&(r[c]={}),r=r[c];const o=a.at(-1);(!r[o]||typeof r[o]!="object")&&(r[o]={}),r[o][n]=s},Nt=(t,e)=>{const n=new Map;for(const[s,a]of Object.entries(t))e.has(s)||a.startsWith("workspace:")||a.startsWith("file:")||a.startsWith("link:")||a.startsWith("catalog:")||a.startsWith("$")||n.set(s,a);return n},Et=(t,e,n,s,a,r)=>{const o=e==="."?n:g(t,e,"package.json");if(!h(o))return;let c;try{c=b(o)}catch{return}for(const i of s){const l=i.includes(".")?z(c,i):c[i];if(!l||typeof l!="object")continue;const u=Nt(l,a);u.size>0&&r.set(`${e}:${i}`,u)}},jt=(t,e)=>{const n=new Map,s=g(t,"package.json");if(!h(s))return n;const a=b(s);let r=[];const o=le(t);if(o)r=D(t,o);else{const u=a.workspaces;if(u){const p=Array.isArray(u)?u:u.packages;p&&(r=D(t,p))}}const c=e?.includeInternal?new Set:Tt(t,a.name,r),i=Pe(e),l=[".",...r];for(const u of l)Et(t,u,s,i,c,n);return n},F=t=>{const e=g(t,"package.json");if(!h(e))return!1;try{const n=b(e);return!!(n.dependencies||n.devDependencies||n.peerDependencies||n.optionalDependencies||n.overrides||n.resolutions||z(n,"pnpm.overrides"))}catch{return!1}},re=(t,e,n)=>{const s=new Map;for(const a of e){const r=x(a.catalogName);if(!r)continue;const o=r.relativePath==="."?g(t,"package.json"):g(t,r.relativePath,"package.json");s.has(o)||s.set(o,[]);const c=s.get(o);c&&c.push({depType:r.depType,newRange:a.newRange,packageName:a.packageName})}for(const[a,r]of s){const o=b(a);for(const{depType:c,newRange:i,packageName:l}of r)c.includes(".")?Pt(o,c,l,i):o[c]&&(o[c][l]=i);X(a,o,{indent:oe(a,{useEditorconfig:n}),overwrite:!0})}},en=(t,e)=>e==="bun"?Je(t)||F(t):e==="npm"||e==="yarn"?F(t):at(t)||F(t),tn=(t,e,n)=>{let s;e==="bun"?s=Ye(t):e==="npm"||e==="yarn"?s=new Map:s=rt(t);const a=jt(t,n);for(const[r,o]of a)s.has(r)||s.set(r,o);return s},Ct=(t,e)=>{const n=new Map;for(const s of e){const a=g(t,s,"package.json");if(h(a))try{const r=b(a);r.name&&r.version&&n.set(r.name,r.version)}catch{}}return n},nn=(t,e)=>{const n=g(t,"package.json");if(!h(n))return{ignored:[],outdated:[]};const s=b(n);let a=[];const r=le(t);if(r)a=D(t,r);else{const m=s.workspaces;if(m){const S=Array.isArray(m)?m:m.packages;S&&(a=D(t,S))}}const o=Ct(t,a);if(o.size===0)return{ignored:[],outdated:[]};const c=Pe(e),i=[".",...a],l=e?.include??[],u=e?.exclude??[],p=e?.ignore??[],f=e?.target??"latest",w=new Set,y=[];for(const m of i){const S=m==="."?n:g(t,m,"package.json");if(!h(S))continue;let $;try{$=b(S)}catch{continue}for(const d of c){const v=d.includes(".")?z($,d):$[d];if(!(!v||typeof v!="object"))for(const[T,k]of Object.entries(v)){const _=o.get(T);if(!_||k.startsWith("workspace:")||k.startsWith("file:")||k.startsWith("link:")||k.startsWith("catalog:")||k.startsWith("$")||k==="*")continue;if(p.some(Ee=>E(T,Ee))){w.add(T);continue}if(!me(T,l,u))continue;const M=P(k),U=P(_);if(!M||!U||!H(M,U))continue;const R=ce(M,U);if(R==="none")continue;const Q=he(T,f,e?.packageMode);if(Q==="patch"&&R!=="patch"||Q==="minor"&&R==="major")continue;const Ne=J(k);y.push({catalogName:`${m}:${d}`,currentRange:k,newRange:`${Ne}${_}`,packageName:T,targetVersion:_,updateType:R})}}}return{ignored:[...w],outdated:y}},sn=t=>t?Array.isArray(t)?t:[t]:[],an=(t,e,n,s=!0,a={})=>{const{useEditorconfig:r}=a;let o;s&&(o=Ve(t,n,e));const c=[],i=[];for(const l of e)x(l.catalogName)?i.push(l):c.push(l);return c.length>0&&(n==="npm"||n==="yarn"?re(t,c,r):n==="bun"?qe(t,c,r):ut(t,c)),i.length>0&&re(t,i,r),o};export{an as applyCatalogUpdates,re as applyPackageJsonUpdates,Zt as checkOutdated,nn as collectInternalOutdated,Ve as createBackup,J as extractPrefix,Ht as fetchChangelogInfo,dt as fetchPackageVersions,Ie as fetchVulnerabilities,kt as findTargetVersion,Yt as formatOutdatedJson,qt as formatOutdatedMinimal,zt as formatOutdatedTable,Qt as formatSummary,pe as getRegistryForPackage,ce as getUpdateType,ft as groupByCatalog,Jt as hasBackup,en as hasCatalogs,F as hasPackageJsonDeps,H as isNewer,Wt as loadNpmrc,me as matchesFilters,E as matchesPattern,He as parseBunCatalogs,st as parseCatalogsFromYaml,x as parseCompositeCatalogName,cn as parseNpmrc,P as parseVersion,Kt as promptPackageSelection,tn as readCatalogs,jt as readPackageJsonDeps,he as resolvePackageTarget,Xt as restoreFromBackup,sn as toFilterArray};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as r,x as o,d as i,r as n,i as s}from"../packem_shared/vis-user-error-
|
|
1
|
+
import{a as r,x as o,d as i,r as n,i as s}from"../packem_shared/vis-user-error-BivZDkQD.js";import{e as t}from"../packem_shared/index-Cwxbl_pY.js";import{g as d}from"../packem_shared/package-version-x7sPg2TM.js";const g=async()=>{const e=r("vis",{packageName:"vis",packageVersion:d()}),a=process.argv.includes("--debug")||!!process.env.DEBUG;e.addPlugin(o({concise:s,detailed:a,exitOnError:!1})),e.addGlobalOption({description:"Target JS runtime: node (default) or bun. Overrides VIS_RUNTIME; falls back to lockfile detection.",name:"runtime",type:String}),e.addCommand(t),e.addCommand(i),await n(e)};export{g as runExecCli};
|