@visulima/vis 5.0.0 → 6.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.
- package/CHANGELOG.md +101 -0
- package/LICENSE.md +151 -88
- package/README.md +2 -2
- package/dist/bin.js +1 -1
- package/dist/binx.js +1 -1
- package/dist/config/index.d.ts +16 -18
- package/dist/packem_chunks/CONFIG_FILES.js +4 -4
- package/dist/packem_chunks/bloom-status.js +1 -1
- package/dist/packem_chunks/bloom-sync.js +1 -1
- package/dist/packem_chunks/catalog.js +61 -51
- package/dist/packem_chunks/cli-exec.js +1 -1
- package/dist/packem_chunks/cli-main.js +202 -176
- package/dist/packem_chunks/dart-plan.js +1 -1
- package/dist/packem_chunks/dart-projects.js +1 -1
- package/dist/packem_chunks/dispatch.js +1 -1
- package/dist/packem_chunks/doctor-probe.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 +4 -4
- 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 +2 -2
- package/dist/packem_chunks/handler21.js +1 -1
- package/dist/packem_chunks/handler22.js +2 -2
- package/dist/packem_chunks/handler23.js +1 -1
- package/dist/packem_chunks/handler24.js +1 -1
- package/dist/packem_chunks/handler26.js +3 -3
- 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 +1 -1
- package/dist/packem_chunks/handler30.js +1 -1
- package/dist/packem_chunks/handler39.js +6 -6
- 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/handler53.js +1 -1
- package/dist/packem_chunks/handler54.js +1 -1
- package/dist/packem_chunks/handler55.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 +7 -7
- package/dist/packem_chunks/handler61.js +2 -2
- package/dist/packem_chunks/handler62.js +2 -2
- package/dist/packem_chunks/handler63.js +1 -1
- package/dist/packem_chunks/handler64.js +2 -2
- package/dist/packem_chunks/handler65.js +3 -3
- package/dist/packem_chunks/handler66.js +2 -2
- package/dist/packem_chunks/handler67.js +31 -20
- package/dist/packem_chunks/handler68.js +1 -1
- package/dist/packem_chunks/handler69.js +4 -4
- package/dist/packem_chunks/handler7.js +1 -1
- package/dist/packem_chunks/handler70.js +5 -5
- package/dist/packem_chunks/handler71.js +1 -1
- package/dist/packem_chunks/handler72.js +1 -1
- package/dist/packem_chunks/handler73.js +1 -1
- package/dist/packem_chunks/handler74.js +1 -1
- package/dist/packem_chunks/handler75.js +36 -36
- package/dist/packem_chunks/handler76.js +1 -1
- package/dist/packem_chunks/handler77.js +3 -3
- package/dist/packem_chunks/handler78.js +24 -24
- 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 +40 -7
- package/dist/packem_chunks/index2.js +32 -32
- package/dist/packem_chunks/index6.js +1 -1
- package/dist/packem_chunks/keys-refresh.js +1 -1
- package/dist/packem_chunks/lean.js +3 -4
- package/dist/packem_chunks/list.js +1 -1
- package/dist/packem_chunks/loader.js +1 -1
- package/dist/packem_chunks/orchestrator.js +1 -1
- package/dist/packem_chunks/prompts.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 +5 -5
- package/dist/packem_chunks/verify-lockfile.js +1 -1
- package/dist/packem_shared/{affected-selection-BJXJW_3Q.js → affected-selection-DDxwjwM4.js} +1 -1
- package/dist/packem_shared/{affected-shas-B_kfSKss.js → affected-shas-BuaWvmsG.js} +1 -1
- package/dist/packem_shared/{ai-fix-BC6aIRJT.js → ai-fix-C2BhFFhi.js} +5 -5
- package/dist/packem_shared/{augment-B9kSZuvW.js → augment-CxUPE8KX.js} +1 -1
- package/dist/packem_shared/{bin-Dx8mjl3g.js → bin-Be7_QhQK.js} +1 -1
- package/dist/packem_shared/{build-scripts-CEDx_nJp.js → build-scripts-DxyVSkgM.js} +1 -1
- package/dist/packem_shared/command-runtime-BXvH5EC0.js +1 -0
- package/dist/packem_shared/{dart-pubspec-BK_cK2EP.js → dart-pubspec-DvmyleIr.js} +2 -2
- package/dist/packem_shared/{dependency-scan-B8jroa1D.js → dependency-scan-DKK3ZEZI.js} +1 -1
- package/dist/packem_shared/{docker-DXqV-07f.js → docker-BTuwdXaC.js} +1 -1
- package/dist/packem_shared/{ecosystem-gate-CeV20GSB.js → ecosystem-gate-BpQNUJzN.js} +1 -1
- package/dist/packem_shared/{env-consistency-Dt_uDbSP.js → env-consistency-CUBJHENL.js} +1 -1
- package/dist/packem_shared/{failure-log-D2x5BT8S.js → failure-log-kp0n2rbD.js} +1 -1
- package/dist/packem_shared/{formatBytes-BHAzNIrn-CrusHOew.js → formatBytes-BHAzNIrn-DRcKvqnb.js} +1 -1
- package/dist/packem_shared/{index-BzhrR_iC.js → index-BdMIfGVZ.js} +15 -15
- package/dist/packem_shared/index-C9ENZqH9.js +39 -0
- package/dist/packem_shared/{index-nEyN71oX.js → index-DQfNpt2u.js} +1 -1
- package/dist/packem_shared/{index-C_ScJMpb.js → index-DsSWb5XH.js} +1 -1
- package/dist/packem_shared/{index.server-sXNQYpsl.js → index.server-D8BLnYZO.js} +2 -2
- package/dist/packem_shared/{isAccessibleSync-DYKTrrvc-C-_5cgwu.js → isAccessibleSync-DYKTrrvc-BwaMhQs0.js} +1 -1
- package/dist/packem_shared/{lifecycle-D6PMPor-.js → lifecycle-BAhkhE2L.js} +1 -1
- package/dist/packem_shared/{lockfile-CiUtEbnt.js → lockfile-DHmlPGk1.js} +1 -1
- package/dist/packem_shared/{manifests-Du4yKlf_.js → manifests-Dd4Hoztt.js} +1 -1
- package/dist/packem_shared/{min-release-age-JViyQuBM.js → min-release-age-BJnOQaoF.js} +1 -1
- package/dist/packem_shared/{missing-package-json-Cu5YVAot.js → missing-package-json-DfzrGwe1.js} +1 -1
- package/dist/packem_shared/{multi-eco-lockfiles-B2X3yhyo.js → multi-eco-lockfiles-BIa6xvJc.js} +1 -1
- package/dist/packem_shared/{native-config-sync-TdTWjVgI.js → native-config-sync-Dr9XvxOf.js} +1 -1
- package/dist/packem_shared/osv-bloom-t40ra5U5.js +2 -0
- package/dist/packem_shared/{package-version-CiRZecQu.js → package-version-CFuNUWDG.js} +2 -2
- package/dist/packem_shared/{packument-Df46y5MY.js → packument-C9nRiBJf.js} +1 -1
- package/dist/packem_shared/pm-runner-ImwtpnWY.js +1 -0
- package/dist/packem_shared/{project-name-filter-CH8Ih7Qr.js → project-name-filter-C2rkW-Vn.js} +1 -1
- package/dist/packem_shared/{provenance-DKeR0Ig1.js → provenance-DF-ypZj3.js} +1 -1
- package/dist/packem_shared/{readJsonSync-CbryXYxN-EWl7_7KX.js → readJsonSync-CbryXYxN-Bm5i10UW.js} +1 -1
- package/dist/packem_shared/{registry-keys-DwB3ZXS_.js → registry-keys-BLuHOyZu.js} +1 -1
- package/dist/packem_shared/{resolve-explicit-BmV8YBE-.js → resolve-explicit-BDaQRR6o.js} +1 -1
- package/dist/packem_shared/resolve-runtime-Cr19Pk6L.js +1 -0
- package/dist/packem_shared/{run-file-UBukWaha.js → run-file-XbRCF6Mp.js} +1 -1
- package/dist/packem_shared/{runtime-check-1U8HrQd9.js → runtime-check-Bh5q9IrT.js} +1 -1
- package/dist/packem_shared/{s1ngularity-DZhkIqL4.js → s1ngularity-UCZN7skW.js} +1 -1
- package/dist/packem_shared/{scan-progress-CkumcBG-.js → scan-progress-DcYI76zE.js} +1 -1
- package/dist/packem_shared/{selectors-edwcgNl3.js → selectors-DCiEU0iv.js} +2 -2
- package/dist/packem_shared/{signatures-BxTMck2l.js → signatures-CicxPHN4.js} +1 -1
- package/dist/packem_shared/target-merge-BClIXg2k.js +14 -0
- package/dist/packem_shared/{target-options-DsHFmRZH.js → target-options-PgWIuJnb.js} +1 -1
- package/dist/packem_shared/{task-env-DzR4RkOj.js → task-env-Dl08aklA.js} +1 -1
- package/dist/packem_shared/toolchain-DvUxlbDz.js +5 -0
- package/dist/packem_shared/{typosquats-8u0drCqQ.js → typosquats-DxPzyK7u.js} +1 -1
- package/dist/packem_shared/{verify-B_MblU_Q.js → verify-CadR9PUk.js} +1 -1
- package/dist/packem_shared/{vis-update-app-BCIccZfA.js → vis-update-app-DrFWQyPn.js} +1 -1
- package/dist/packem_shared/{vis-user-error-Dd7hwxlW.js → vis-user-error-k7CLTpA4.js} +15 -15
- package/dist/packem_shared/{watch-CcTketln.js → watch-Dr_6yz3o.js} +1 -1
- package/dist/packem_shared/watch-loop-BId9vT7Q.js +11 -0
- package/dist/packem_shared/{writeFileSync-DJoHk3Ks-BPRoepNw.js → writeFileSync-DJoHk3Ks-Dhem3Uof.js} +1 -1
- package/dist/release/core/version-actions/index.d.ts +1 -1
- package/dist/release/presets.d.ts +1 -55
- package/dist/release/presets.js +1 -1
- package/dist/release/types.d.ts +1 -18
- package/dist/runtime/preload.js +1 -1
- package/index.d.ts +204 -204
- package/index.js +26 -26
- package/package.json +10 -10
- package/schemas/vis-config.schema.json +6 -28
- package/schemas/vis-release-config.schema.json +1 -12
- package/dist/packem_shared/Table-BB8xHTU5-BLPS917D.js +0 -11
- package/dist/packem_shared/command-runtime-p4IXiIf6.js +0 -1
- package/dist/packem_shared/index-BisalDCf.js +0 -39
- package/dist/packem_shared/osv-bloom-BCAX5ARR.js +0 -2
- package/dist/packem_shared/pm-runner-3iiQayy-.js +0 -1
- package/dist/packem_shared/resolve-runtime-CNiHcVtx.js +0 -1
- package/dist/packem_shared/target-merge-DVJl-7Qz.js +0 -4
- package/dist/packem_shared/toolchain-BRdpaAC4.js +0 -5
- package/dist/packem_shared/watch-loop-BBkg02-Q.js +0 -11
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 !== '4.3.1' && 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
|
|
85
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
101
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
122
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
138
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
155
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
171
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
190
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
206
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
222
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
242
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
258
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
279
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
295
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
313
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
329
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
347
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
363
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
381
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
397
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
415
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
431
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
448
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
464
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
484
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
500
|
+
throw new Error(`Native binding package version mismatch, expected 6.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 !== '4.3.1' && 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
|
|
516
|
+
throw new Error(`Native binding package version mismatch, expected 6.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
|
+
"version": "6.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",
|
|
@@ -119,7 +119,7 @@
|
|
|
119
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": "
|
|
122
|
+
"@visulima/task-runner": "3.0.0",
|
|
123
123
|
"@visulima/tui": "5.0.0",
|
|
124
124
|
"@visulima/tui-kit": "1.0.34",
|
|
125
125
|
"module-replacements": "^3.1.0",
|
|
@@ -148,14 +148,14 @@
|
|
|
148
148
|
}
|
|
149
149
|
},
|
|
150
150
|
"optionalDependencies": {
|
|
151
|
-
"@visulima/vis-binding-darwin-arm64": "
|
|
152
|
-
"@visulima/vis-binding-darwin-x64": "
|
|
153
|
-
"@visulima/vis-binding-linux-arm64-gnu": "
|
|
154
|
-
"@visulima/vis-binding-linux-arm64-musl": "
|
|
155
|
-
"@visulima/vis-binding-linux-x64-gnu": "
|
|
156
|
-
"@visulima/vis-binding-linux-x64-musl": "
|
|
157
|
-
"@visulima/vis-binding-win32-arm64-msvc": "
|
|
158
|
-
"@visulima/vis-binding-win32-x64-msvc": "
|
|
151
|
+
"@visulima/vis-binding-darwin-arm64": "6.0.0",
|
|
152
|
+
"@visulima/vis-binding-darwin-x64": "6.0.0",
|
|
153
|
+
"@visulima/vis-binding-linux-arm64-gnu": "6.0.0",
|
|
154
|
+
"@visulima/vis-binding-linux-arm64-musl": "6.0.0",
|
|
155
|
+
"@visulima/vis-binding-linux-x64-gnu": "6.0.0",
|
|
156
|
+
"@visulima/vis-binding-linux-x64-musl": "6.0.0",
|
|
157
|
+
"@visulima/vis-binding-win32-arm64-msvc": "6.0.0",
|
|
158
|
+
"@visulima/vis-binding-win32-x64-msvc": "6.0.0"
|
|
159
159
|
},
|
|
160
160
|
"engines": {
|
|
161
161
|
"node": "^22.14.0 || >=24.10.0"
|
|
@@ -255,9 +255,6 @@
|
|
|
255
255
|
"biome": {
|
|
256
256
|
"$ref": "#/$defs/LintFmtAdapterOverride"
|
|
257
257
|
},
|
|
258
|
-
"deno-fmt": {
|
|
259
|
-
"$ref": "#/$defs/LintFmtAdapterOverride"
|
|
260
|
-
},
|
|
261
258
|
"dprint": {
|
|
262
259
|
"$ref": "#/$defs/LintFmtAdapterOverride"
|
|
263
260
|
},
|
|
@@ -290,7 +287,7 @@
|
|
|
290
287
|
}
|
|
291
288
|
},
|
|
292
289
|
"additionalProperties": false,
|
|
293
|
-
"description": "Configuration for `vis fmt` — the formatter orchestrator.\n\nTunes adapter detection precedence, per-extension routing, and per-adapter overrides. Flags on the CLI always win over config.\n\nThe default fmt precedence is `oxfmt → biome → dprint → prettier
|
|
290
|
+
"description": "Configuration for `vis fmt` — the formatter orchestrator.\n\nTunes adapter detection precedence, per-extension routing, and per-adapter overrides. Flags on the CLI always win over config.\n\nThe default fmt precedence is `oxfmt → biome → dprint → prettier`. When multiple adapters claim the same extension, the first in this order owns it unless overridden here."
|
|
294
291
|
},
|
|
295
292
|
"gem": {
|
|
296
293
|
"type": "object",
|
|
@@ -367,7 +364,7 @@
|
|
|
367
364
|
"type": "boolean"
|
|
368
365
|
}
|
|
369
366
|
],
|
|
370
|
-
"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- **
|
|
367
|
+
"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- **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`, `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; `test:e2e` → playwright > cypress; `lint` → eslint > biome > oxlint; `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."
|
|
371
368
|
},
|
|
372
369
|
"install": {
|
|
373
370
|
"type": "object",
|
|
@@ -395,7 +392,7 @@
|
|
|
395
392
|
"type": "boolean"
|
|
396
393
|
}
|
|
397
394
|
],
|
|
398
|
-
"description": "Whether to dispatch PM invocations through `corepack`.\n- `\"auto\"` (default): use corepack only when the workspace pins a PM via the `packageManager` field AND `corepack` is on PATH AND the PM is one corepack manages (pnpm/yarn/npm).\n- `true`: always prefix `corepack` when the binary is on PATH and the PM is corepack-managed (errors loudly otherwise).\n- `false`: never go through corepack — invoke the PM directly.\n\nMirrors nypm's `corepack: true` flag. Bun
|
|
395
|
+
"description": "Whether to dispatch PM invocations through `corepack`.\n- `\"auto\"` (default): use corepack only when the workspace pins a PM via the `packageManager` field AND `corepack` is on PATH AND the PM is one corepack manages (pnpm/yarn/npm).\n- `true`: always prefix `corepack` when the binary is on PATH and the PM is corepack-managed (errors loudly otherwise).\n- `false`: never go through corepack — invoke the PM directly.\n\nMirrors nypm's `corepack: true` flag. Bun and aube are never wrapped — corepack does not manage them.",
|
|
399
396
|
"default": "auto"
|
|
400
397
|
}
|
|
401
398
|
},
|
|
@@ -411,9 +408,6 @@
|
|
|
411
408
|
"biome": {
|
|
412
409
|
"$ref": "#/$defs/LintFmtAdapterOverride"
|
|
413
410
|
},
|
|
414
|
-
"deno-lint": {
|
|
415
|
-
"$ref": "#/$defs/LintFmtAdapterOverride"
|
|
416
|
-
},
|
|
417
411
|
"eslint": {
|
|
418
412
|
"$ref": "#/$defs/LintFmtAdapterOverride"
|
|
419
413
|
},
|
|
@@ -448,7 +442,7 @@
|
|
|
448
442
|
}
|
|
449
443
|
},
|
|
450
444
|
"additionalProperties": false,
|
|
451
|
-
"description": "Configuration for `vis lint` — the linter orchestrator.\n\nTunes adapter detection precedence and per-adapter overrides. Flags on the CLI always win over config.\n\nThe default lint precedence is `oxlint → biome → eslint → stylelint
|
|
445
|
+
"description": "Configuration for `vis lint` — the linter orchestrator.\n\nTunes adapter detection precedence and per-adapter overrides. Flags on the CLI always win over config.\n\nThe default lint precedence is `oxlint → biome → eslint → stylelint`. Override with `order` to e.g. let biome fire before oxlint when the workspace standardises on biome."
|
|
452
446
|
},
|
|
453
447
|
"maven": {
|
|
454
448
|
"type": "object",
|
|
@@ -3639,9 +3633,6 @@
|
|
|
3639
3633
|
"bun": {
|
|
3640
3634
|
"type": "string"
|
|
3641
3635
|
},
|
|
3642
|
-
"deno": {
|
|
3643
|
-
"type": "string"
|
|
3644
|
-
},
|
|
3645
3636
|
"go": {
|
|
3646
3637
|
"type": "string"
|
|
3647
3638
|
},
|
|
@@ -3939,7 +3930,6 @@
|
|
|
3939
3930
|
"type": "string",
|
|
3940
3931
|
"enum": [
|
|
3941
3932
|
"biome",
|
|
3942
|
-
"deno-fmt",
|
|
3943
3933
|
"dprint",
|
|
3944
3934
|
"oxfmt",
|
|
3945
3935
|
"prettier",
|
|
@@ -3951,7 +3941,6 @@
|
|
|
3951
3941
|
"type": "string",
|
|
3952
3942
|
"enum": [
|
|
3953
3943
|
"biome",
|
|
3954
|
-
"deno-lint",
|
|
3955
3944
|
"eslint",
|
|
3956
3945
|
"markdownlint",
|
|
3957
3946
|
"oxlint",
|
|
@@ -5122,17 +5111,6 @@
|
|
|
5122
5111
|
},
|
|
5123
5112
|
"description": "Per-package `extra-files` rules with paths relative to the package directory. Merged with workspace-level `release.publish.extraFiles` (per-package wins on path collision)."
|
|
5124
5113
|
},
|
|
5125
|
-
"jsrConfigPath": {
|
|
5126
|
-
"type": "string",
|
|
5127
|
-
"description": "Relative path from the package directory to the JSR manifest (`jsr.json` or `deno.json`) for the `jsr` versionActions. Set automatically by the `jsr()` preset from its `manifestPath` option. Defaults to `\"jsr.json\"`."
|
|
5128
|
-
},
|
|
5129
|
-
"jsrPublishArgs": {
|
|
5130
|
-
"type": "array",
|
|
5131
|
-
"items": {
|
|
5132
|
-
"type": "string"
|
|
5133
|
-
},
|
|
5134
|
-
"description": "Extra arguments forwarded verbatim to `jsr publish` for the `jsr` versionActions (the `jsr()` preset wires this from its `publishArgs` / `allowSlowTypes` options). The most common entry is `\"--allow-slow-types\"`, which JSR requires for packages whose public API has types it can't statically infer. `--allow-dirty` is always passed by vis (the version is bumped on disk before publish) and need not be listed here."
|
|
5135
|
-
},
|
|
5136
5114
|
"managed": {
|
|
5137
5115
|
"type": "boolean",
|
|
5138
5116
|
"description": "Hard opt-in/out — overrides every other rule."
|
|
@@ -5194,7 +5172,7 @@
|
|
|
5194
5172
|
},
|
|
5195
5173
|
"versionActions": {
|
|
5196
5174
|
"type": "string",
|
|
5197
|
-
"description": "Built-in id (`\"npm\"`, `\"native-addon\"`, `\"private\"`, `\"shell\"`, `\"cargo\"`, `\"python\"`, `\"maven\"`, `\"container\"
|
|
5175
|
+
"description": "Built-in id (`\"npm\"`, `\"native-addon\"`, `\"private\"`, `\"shell\"`, `\"cargo\"`, `\"python\"`, `\"maven\"`, `\"container\"`) or a path to a custom implementation module."
|
|
5198
5176
|
},
|
|
5199
5177
|
"versionFiles": {
|
|
5200
5178
|
"type": "array",
|
|
@@ -5715,7 +5693,7 @@
|
|
|
5715
5693
|
"bun",
|
|
5716
5694
|
"node"
|
|
5717
5695
|
],
|
|
5718
|
-
"description": "JS runtimes vis can target today.
|
|
5696
|
+
"description": "JS runtimes vis can target today."
|
|
5719
5697
|
},
|
|
5720
5698
|
"ScopedTasksBlock": {
|
|
5721
5699
|
"type": "object",
|
|
@@ -977,17 +977,6 @@
|
|
|
977
977
|
},
|
|
978
978
|
"description": "Per-package `extra-files` rules with paths relative to the package directory. Merged with workspace-level `release.publish.extraFiles` (per-package wins on path collision)."
|
|
979
979
|
},
|
|
980
|
-
"jsrConfigPath": {
|
|
981
|
-
"type": "string",
|
|
982
|
-
"description": "Relative path from the package directory to the JSR manifest (`jsr.json` or `deno.json`) for the `jsr` versionActions. Set automatically by the `jsr()` preset from its `manifestPath` option. Defaults to `\"jsr.json\"`."
|
|
983
|
-
},
|
|
984
|
-
"jsrPublishArgs": {
|
|
985
|
-
"type": "array",
|
|
986
|
-
"items": {
|
|
987
|
-
"type": "string"
|
|
988
|
-
},
|
|
989
|
-
"description": "Extra arguments forwarded verbatim to `jsr publish` for the `jsr` versionActions (the `jsr()` preset wires this from its `publishArgs` / `allowSlowTypes` options). The most common entry is `\"--allow-slow-types\"`, which JSR requires for packages whose public API has types it can't statically infer. `--allow-dirty` is always passed by vis (the version is bumped on disk before publish) and need not be listed here."
|
|
990
|
-
},
|
|
991
980
|
"managed": {
|
|
992
981
|
"type": "boolean",
|
|
993
982
|
"description": "Hard opt-in/out — overrides every other rule."
|
|
@@ -1049,7 +1038,7 @@
|
|
|
1049
1038
|
},
|
|
1050
1039
|
"versionActions": {
|
|
1051
1040
|
"type": "string",
|
|
1052
|
-
"description": "Built-in id (`\"npm\"`, `\"native-addon\"`, `\"private\"`, `\"shell\"`, `\"cargo\"`, `\"python\"`, `\"maven\"`, `\"container\"
|
|
1041
|
+
"description": "Built-in id (`\"npm\"`, `\"native-addon\"`, `\"private\"`, `\"shell\"`, `\"cargo\"`, `\"python\"`, `\"maven\"`, `\"container\"`) or a path to a custom implementation module."
|
|
1053
1042
|
},
|
|
1054
1043
|
"versionFiles": {
|
|
1055
1044
|
"type": "array",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{createRequire as Zt}from"node:module";let Qt;const Xt=t=>(Qt??=Zt(import.meta.url))(t),D=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ti=t=>{if(typeof D<"u"&&D.versions&&D.versions.node){const[i,e]=D.versions.node.split(".").map(Number);if(i>22||i===22&&e>=3||i===20&&e>=16)return D.getBuiltinModule(t)}return Xt(t)},{createRequire:ii}=ti("node:module");let ei;const oi=t=>(ei??=ii(import.meta.url))(t),P=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:J,pt=t=>{if(typeof P<"u"&&P.versions&&P.versions.node){const[i,e]=P.versions.node.split(".").map(Number);if(i>22||i===22&&e>=3||i===20&&e>=16)return P.getBuiltinModule(t)}return oi(t)},J=P,{execFileSync:ri}=pt("node:child_process"),Y=pt("node:fs"),si=pt("node:tty"),ni=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],hi=12288,ai=65510,ci=[12288,12288,65281,65376,65504,65510],li=8361,di=65518,ui=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],fi=32,mi=10630,wi=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],pi=4352,gi=262141,Tt=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],U=(t,i)=>{let e=0,o=Math.floor(t.length/2)-1;for(;e<=o;){const h=Math.floor((e+o)/2),n=h*2;if(i<t[n])o=h-1;else if(i>t[n+1])e=h+1;else return!0}return!1},bt=19968,[bi,xi]=yi(Tt);function yi(t){let i=t[0],e=t[1];for(let o=0;o<t.length;o+=2){const h=t[o],n=t[o+1];if(bt>=h&&bt<=n)return[h,n];n-h>e-i&&(i=h,e=n)}return[i,e]}const Wi=t=>t<161||t>1114109?!1:U(ni,t),Bi=t=>t<hi||t>ai?!1:U(ci,t),vi=t=>t<li||t>di?!1:U(ui,t),Ri=t=>t<fi||t>mi?!1:U(wi,t),Si=t=>t>=bi&&t<=xi?!0:t<pi||t>gi?!1:U(Tt,t);function Ai(t){return Wi(t)?"ambiguous":Bi(t)?"fullwidth":vi(t)?"halfwidth":Ri(t)?"narrow":Si(t)?"wide":"neutral"}function Ci(t){if(!Number.isSafeInteger(t))throw new TypeError(`Expected a code point, got \`${typeof t}\`.`)}function Ot(t){return Ci(t),Ai(t)}const $t=String.raw,xt=$t`\p{Emoji}(?:\p{EMod}|[\u{E0020}-\u{E007E}]+\u{E007F}|\uFE0F?\u20E3?)`,Ii=()=>new RegExp($t`\p{RI}{2}|(?)${xt}(?:\u200D${xt})*`,"gu"),q=new Set(["\x1B",""]),lt="\x07",_t="[",gt="m",K="]8;;",Mi=39,Ei=/[\u200B\uFEFF\u2060-\u2064]/g,ki=new RegExp(`(?:\\${_t}(?<code>\\d+)m|\\${K}(?<uri>.*)${lt})`),ji=Object.freeze(new Map([[0,0],[1,22],[2,22],[3,23],[4,24],[7,27],[8,28],[9,29],[30,39],[31,39],[32,39],[33,39],[34,39],[35,39],[36,39],[37,39],[40,49],[41,49],[42,49],[43,49],[44,49],[45,49],[46,49],[47,49],[90,39]])),ht=/[\u001B\u009B](?:[[()#;?]{0,10}(?:\d{1,4}(?:;\d{0,4})*)?[0-9A-ORZcf-nqry=><]|\]8;;[^\u0007\u001B]{0,100}(?:\u0007|\u001B\\))/g,yt=/\u001B\[[\d;]*m[^\u001B]*(?:\u001B\[[\d;]*m|$)/g,Wt=/\u001B\]8;[^\u0007\u001B]*(?:\u0007|\u001B\\)[^\u001B]*\u001B\]8;;(?:\u0007|\u001B\\)/g,Z=/[\u0000-\u0008\n-\u001F\u007F-\u009F]{1,1000}/y,Ni=Ii(),Bt=new Map,Li=t=>[t.ambiguousIsNarrow?1:0,t.control,t.fullWidth,t.regular,t.wide].join("|"),Fi=t=>{const i=Li(t.width);let e=Bt.get(i);return e||(e=new Map,Bt.set(i,e)),e},Q=new RegExp(ht.source,"y"),dt=new RegExp(Ni.source,"uy"),X=/(?:[\u0020-\u007E\u00A0-\u00FF](?!\uFE0F)){1,1000}/y,Ht=t=>t>=32&&t<=126?"latin":t===8203||t===8204||t===8205||t===8288?"zero":t<=31||t>=127&&t<=159?"control":t>=160&&t<=255||t>=9472&&t<=9599?"latin":t>=4352&&t<=4607||t>=11904&&t<=40959||t>=44032&&t<=55215||t>=63744&&t<=64255||t>=65280&&t<=65519&&!(t>=65377&&t<=65439)||t>=12352&&t<=12543?"wide":t===8230?"latin":"other",Ji=(t,i)=>{const e=Fi(i),o=Math.floor(t/65536),h=t%65536;let n=e.get(o);if(n||(n=new Map,e.set(o,n)),n.has(h))return n.get(h);let r;switch(Ht(t)){case"control":{r=i.width.control;break}case"latin":{r=i.width.regular;break}case"wide":{r=i.width.wide;break}case"zero":{r=0;break}default:switch(Ot(t)){case"ambiguous":{r=i.width.ambiguousIsNarrow?i.width.regular:i.width.wide;break}case"fullwidth":{r=i.width.fullWidth;break}case"wide":{r=i.width.wide;break}default:r=i.width.regular}}return n.set(h,r),r},Ti=t=>t>=768&&t<=879||t>=6832&&t<=6911||t>=7616&&t<=7679||t>=8400&&t<=8447||t>=65056&&t<=65071||t>=917760&&t<=917999||t>=65024&&t<=65039||t>=3633&&t<=3642||t>=3655&&t<=3662||t>=3761&&t<=3769||t>=3771&&t<=3772||t>=3784&&t<=3789||t>=2304&&t<=2307||t>=2362&&t<=2383||t>=2385&&t<=2391||t>=2402&&t<=2403||t>=2433&&t<=2435||t>=2492&&t<=2500||t>=2509&&t<=2509||t>=2561&&t<=2563||t>=2620&&t<=2637||t>=1611&&t<=1631||t>=1648&&t<=1648||t>=1750&&t<=1773||t>=2276&&t<=2302||t>=1425&&t<=1469||t>=1471&&t<=1471||t>=1473&&t<=1474||t>=1476&&t<=1477||t>=1479&&t<=1479||t>=3893&&t<=3893||t>=3895&&t<=3895||t>=3897&&t<=3897||t>=3953&&t<=3966||t>=3968&&t<=3972||t>=3974&&t<=3975?!0:t>=768&&t<=777||t>=803&&t<=803,V=(t,i={})=>{if(!t||t.length===0)return{ellipsed:!1,index:0,truncated:!1,width:0};const e={truncation:{countAnsiEscapeCodes:i.countAnsiEscapeCodes??!1,ellipsis:i.ellipsis??"",ellipsisWidth:i.ellipsisWidth??(i.ellipsis?V(i.ellipsis,{...i,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width:0),limit:i.limit??Number.POSITIVE_INFINITY},width:{ambiguousIsNarrow:i.ambiguousIsNarrow??!1,ansi:i.ansiWidth??0,control:i.controlWidth??0,emoji:i.emojiWidth??2,fullWidth:i.fullWidth??2,halfWidth:i.halfWidth??1,regular:i.regularWidth??1,tab:i.tabWidth??8,wide:i.wideWidth??2}},o=Math.max(0,e.truncation.limit-e.truncation.ellipsisWidth),{length:h}=t,n=h>1e4;let r=0,s=0,a=h,c=!1;const l=t.includes("\x1B")||t.includes("");for(;r<h;){if(l&&(t[r]==="\x1B"||t[r]==="")){if(t.startsWith("\x1B]8;;",r)){const g="\x1B]8;;\x07",f=g.length,b=t.indexOf("\x07",r+5);if(b!==-1){const W=t.indexOf(g,b+1);if(W!==-1){const x=W+f,y=t.slice(b+1,W).replace(ht,""),R=V(y,{ambiguousIsNarrow:e.width.ambiguousIsNarrow,ansiWidth:e.width.ansi,controlWidth:e.width.control,countAnsiEscapeCodes:!1,ellipsis:e.truncation.ellipsis,ellipsisWidth:e.truncation.ellipsisWidth,emojiWidth:e.width.emoji,fullWidth:e.width.fullWidth,halfWidth:e.width.halfWidth,limit:Math.max(0,o-s),regularWidth:e.width.regular,tabWidth:e.width.tab,wideWidth:e.width.wide}),A=R.width;if(R.truncated)c=!0,a=Math.min(a,r);else if(s+A>o&&(a=Math.min(a,r),c=!0,s+A>e.truncation.limit))break;if(s+=A,r=x,c&&s>=e.truncation.limit)break;continue}}}if(Q.lastIndex=r,Q.test(t)){const g=Q.lastIndex-r,f=e.truncation.countAnsiEscapeCodes?g:e.width.ansi;if(s+f>o&&(a=Math.min(a,r),s+f>e.truncation.limit)){c=!0;break}s+=f,r=Q.lastIndex;continue}}const u=t.codePointAt(r);if(u===8203||u===65279||u>=8288&&u<=8292){r+=1;continue}if(u===9){if(s+e.width.tab>o&&(a=Math.min(a,r),s+e.width.tab>e.truncation.limit)){c=!0;break}s+=e.width.tab,r+=1;continue}if(X.lastIndex=r,X.test(t)){const g=(X.lastIndex-r)*e.width.regular;if(s+g>o){const f=e.width.regular>0?Math.floor((o-s)/e.width.regular):0;if(a=Math.min(a,r+f),s+g>e.truncation.limit){c=!0;break}}s+=g,r=X.lastIndex;continue}if((u<=31||u>=127&&u<=159)&&(Z.lastIndex=r,Z.test(t))){const g=(Z.lastIndex-r)*e.width.control;if(s+g>o){const f=e.width.control>0?Math.floor((o-s)/e.width.control):0;if(a=Math.min(a,r+f),s+g>e.truncation.limit){c=!0;break}}s+=g,r=Z.lastIndex;continue}if(dt.lastIndex=r,dt.test(t)){if(s+e.width.emoji>o&&(a=Math.min(a,r),s+e.width.emoji>e.truncation.limit)){c=!0;break}s+=e.width.emoji,r=dt.lastIndex;continue}const w=t.codePointAt(r)??0;if(Ti(w)){r+=w>65535?2:1;continue}let p;if(n)p=Ji(w,e);else switch(Ht(w)){case"control":{p=e.width.control;break}case"latin":{p=e.width.regular;break}case"wide":{p=e.width.wide;break}case"zero":{p=0;break}default:switch(Ot(w)){case"ambiguous":{p=e.width.ambiguousIsNarrow?e.width.regular:e.width.wide;break}case"fullwidth":{p=e.width.fullWidth;break}case"wide":{p=e.width.wide;break}default:p=e.width.regular}}if(s+p>o&&(a=Math.min(a,r),s+p>e.truncation.limit)){c=!0;break}s+=p,r+=w>65535?2:1}let d=s,m=!1;return c&&e.truncation.limit>=e.truncation.ellipsisWidth&&(d=e.truncation.limit,m=!0),{ellipsed:m,index:c?a:h,truncated:c,width:d}},M=(t,i={})=>V(t,{...i,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width;class Oi{capacity;cache;constructor(i){this.capacity=i,this.cache=new Map}get(i){if(!this.cache.has(i))return;const e=this.cache.get(i);return this.cache.delete(i),this.cache.set(i,e),e}has(i){return this.cache.has(i)}set(i,e){if(this.cache.has(i))this.cache.delete(i);else if(this.cache.size>=this.capacity){const o=this.cache.keys().next().value;o!==void 0&&this.cache.delete(o)}this.cache.set(i,e)}delete(i){this.cache.delete(i)}clear(){this.cache.clear()}size(){return this.cache.size}}const vt=new Oi(100),$i=new Intl.Segmenter("en",{granularity:"grapheme"}),_i=/^[\u0000-\u007F]*$/,Hi=new Set(["0","22","23","24","27","28","29","39","49"]),Gi=new Set(["1","3","4","7","8","9"]),Rt=new Map([["22","1"],["23","3"],["24","4"],["27","7"],["28","8"],["29","9"]]),tt=t=>t>="30"&&t<="37"||t>="90"&&t<="97"||t.startsWith("38;"),it=t=>t>="40"&&t<="47"||t>="100"&&t<="107"||t.startsWith("48;"),Pi=[{close:"\x1B[22m",open:"\x1B[1m"},{close:"\x1B[23m",open:"\x1B[3m"},{close:"\x1B[24m",open:"\x1B[4m"},{close:"\x1B[27m",open:"\x1B[7m"},{close:"\x1B[28m",open:"\x1B[8m"},{close:"\x1B[29m",open:"\x1B[9m"}],St=(t,i)=>{let e=-1;for(const o of i){const h=t.indexOf(o);h!==-1&&(e===-1||h<e)&&(e=h)}return e},Vi=(t,i)=>{if(!t.includes("\x1B"))return[{after:"",before:"",content:t,visibleLength:M(t,i.width)}];const e=`${JSON.stringify(i.width??void 0)}\0${t}`,o=vt.get(e);if(o)return o;const h=[],n=[];let r=0,s;for(ht.lastIndex=0;(s=ht.exec(t))!==null;){const d=s[0];h.push(t.slice(r,s.index)),n.push(d),r=s.index+d.length}r<t.length&&h.push(t.slice(r));const a=[];for(const d of n){if(d==="\x1B[0m"||d==="\x1B]8;;\x07"){a.push(d);continue}if(d.startsWith("\x1B[")&&d.endsWith("m")){const m=d.slice(2,-1);if(Hi.has(m)){a.push(d);continue}}}const c=new Set,l=[];for(const[d,m]of h.entries()){if(d>0&&n[d-1]){const p=n[d-1];if(p==="\x1B[0m")c.clear();else if(p==="\x1B]8;;\x07"){for(const g of c)if(g.startsWith("\x1B]8;;")&&!g.endsWith("\x1B]8;;\x07")){c.delete(g);break}}else if(p.startsWith("\x1B[")&&p.endsWith("m")){const g=p.slice(2,-1);if(g==="39"){for(const f of c)if(f.startsWith("\x1B[")&&f.endsWith("m")){const b=f.slice(2,-1);if(tt(b)){c.delete(f);break}}}else if(g==="49"){for(const f of c)if(f.startsWith("\x1B[")&&f.endsWith("m")){const b=f.slice(2,-1);if(it(b)){c.delete(f);break}}}else if(Rt.has(g)){const f=Rt.get(g);for(const b of c)if(b===`\x1B[${f}m`){c.delete(b);break}}else{if(tt(g)){for(const f of c)if(f.startsWith("\x1B[")&&f.endsWith("m")){const b=f.slice(2,-1);if(tt(b)){c.delete(f);break}}}else if(it(g)){for(const f of c)if(f.startsWith("\x1B[")&&f.endsWith("m")){const b=f.slice(2,-1);if(it(b)){c.delete(f);break}}}else if(Gi.has(g)){const f=`\x1B[${g}m`;c.has(f)&&c.delete(f)}c.add(p)}}else if(p.startsWith("\x1B]8;;")&&!p.endsWith("\x1B]8;;\x07")){for(const g of c)if(g.startsWith("\x1B]8;;")&&!g.endsWith("\x1B]8;;\x07")){c.delete(g);break}c.add(p)}}if(m==="")continue;let u="";if(c.size>0)if(a.includes("\x1B[0m"))u="\x1B[0m";else{const p=[];let g=!1;for(const x of c)if(x.startsWith("\x1B]8;;")&&!x.endsWith("\x1B]8;;\x07")){g=!0;break}g&&a.includes("\x1B]8;;\x07")&&p.push("\x1B]8;;\x07");let f=!1,b=!1;for(const x of c)if(x.startsWith("\x1B[")&&x.endsWith("m")){const y=x.slice(2,-1);tt(y)?f=!0:it(y)&&(b=!0)}if(f&&b){const x=St(t,["\x1B[3","\x1B[9","\x1B[38;"]),y=St(t,["\x1B[4","\x1B[10","\x1B[48;"]);x>=0&&y>=0?x>y?p.push("\x1B[39m","\x1B[49m"):p.push("\x1B[49m","\x1B[39m"):p.push("\x1B[39m","\x1B[49m")}else f&&p.push("\x1B[39m"),b&&p.push("\x1B[49m");f&&b&&t.includes("\x1B[39m")&&t.includes("\x1B[49m")&&(t.indexOf("\x1B[39m")<t.indexOf("\x1B[49m")?(p.length-=2,p.push("\x1B[39m","\x1B[49m")):t.indexOf("\x1B[49m")<t.indexOf("\x1B[39m")&&(p.length-=2,p.push("\x1B[49m","\x1B[39m")));const W=Pi.filter(x=>c.has(x.open)).map(x=>({position:t.indexOf(x.open),style:x})).filter(x=>x.position>=0).toSorted((x,y)=>y.position-x.position);for(const x of W){const y=x;a.includes(y.style.close)&&p.push(y.style.close)}u=p.join("")}const w=[...c].join("");l.push({after:u,before:w,content:m,visibleLength:M(m,i.width)})}return vt.set(e,l),l},At=(t,i,e,o)=>{const h=[...o.segmenter.segment(t)],n=[];let r=0,s=!1;for(const a of h){const c=M(a.segment,o.width),l=r,d=r+c;if(!s)if(l<i){r=d;continue}else s=!0;if(l>=e||d>e)break;n.push(a.segment),r=d}return n.join("")},F=(t,i=0,e=Number.MAX_SAFE_INTEGER,o={})=>{const h={segmenter:$i,...o};if(i>=e||t==="")return"";const n=M(t,h.width);if(i===0&&e>=n)return t;if(i<0||e<0)throw new RangeError("Negative indices aren't supported");if(!t.includes("\x1B"))return _i.test(t)?t.slice(i,e):At(t,i,e,h);if(yt.lastIndex=0,Wt.lastIndex=0,!yt.test(t)&&!Wt.test(t))return t;const r=Vi(t,h);if(r.length===0)return"";let s=0;const a=[];for(const[d,m]of r.entries()){const u=s,w=s+m.visibleLength;if(w>i&&u<e){const p=Math.max(0,i-u),g=Math.min(m.visibleLength,e-u);a.push({end:g,index:d,segment:m,start:p})}s=w}if(a.length===0)return"";const c=[],l=a[0].segment;c.push(l.before);for(let d=0;d<a.length;d++){const{end:m,segment:u,start:w}=a[d];if(w===0&&m===u.visibleLength?c.push(u.content):c.push(At(u.content,w,m,h)),d<a.length-1){const p=a[d+1].segment,g=u.after,f=p.before;g!==f&&(g||f)&&c.push(g,f)}}return c.push(a.at(-1).segment.after),c.join("")},Ct="…",qi=3,et=(t,i,e=!1)=>{if(t.charAt(i)===" ")return i;const o=e?1:-1,h=Math.min(qi,e?t.length-i:i);for(let n=1;n<=h;n++){const r=i+n*o;if(t.charAt(r)===" ")return r}return i},ot=(t,i,e)=>V(t,{...e,ellipsis:"",ellipsisWidth:0,limit:i}).index,rt=(t,i,e)=>M(t.slice(0,i),e),It=(t,i,e={})=>{if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof i!="number")throw new TypeError(`Expected \`limit\` to be a number, got ${typeof i}`);if(t===""||i<=0)return"";const o=t.normalize("NFC"),{ellipsis:h=Ct,position:n="end",preferTruncationOnSpace:r=!1}=e;let s=e.ellipsisWidth??(h===Ct?1:void 0);s??=V(h,{...e.width,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width;const{width:a}=V(o,{...e.width,ellipsis:h,ellipsisWidth:s});if(a<=i)return o;switch(n){case"end":{if(r){const c=i-s,l=ot(o,c,e.width),d=et(o,l),m=rt(o,d,e.width);return F(o,0,m,{width:e.width})+h}return F(o,0,i-s,{width:e.width})+h}case"middle":{const c=Math.floor(i/2),l=Math.max(0,i-s),d=Math.min(c,l),m=Math.max(0,l-d);if(r){const u=ot(o,d,e.width),w=et(o,u),p=rt(o,w,e.width),g=a-m,f=ot(o,g,e.width),b=et(o,f,!0),W=rt(o,b,e.width);return F(o,0,p,{width:e.width})+h+F(o,W,a,{width:e.width}).trim()}return F(o,0,d,{width:e.width})+h+F(o,a-m,a,{width:e.width})}case"start":{if(r){const c=a-i+s,l=ot(o,c,e.width),d=et(o,l,!0),m=rt(o,d,e.width);return h+F(o,m,a,{width:e.width}).trim()}return h+F(o,a-i+s,a,{width:e.width})}default:throw new Error(`Invalid position: expected 'start', 'middle' or 'end', got '${n}'`)}},zi=/\x1B\[(\d+)m/;class Gt{activeForeground=void 0;activeBackground=void 0;activeFormatting=[];processEscape(i){const e=zi.exec(i);if(!e)return;const o=Number.parseInt(e[1],10);switch(o){case 0:{this.activeForeground=void 0,this.activeBackground=void 0,this.activeFormatting=[];break}case 39:{this.activeForeground=void 0;break}case 49:{this.activeBackground=void 0;break}default:if(o>=30&&o<=37||o>=90&&o<=97)this.activeForeground=i;else if(o>=40&&o<=47||o>=100&&o<=107)this.activeBackground=i;else if([1,2,3,4,7,8,9].includes(o))this.activeFormatting.push(i);else if([22,23,24,27,28,29].includes(o)){const h={22:"[1m",23:"[3m",24:"[4m",27:"[7m",28:"[8m",29:"[9m"}[o];h&&(this.activeFormatting=this.activeFormatting.filter(n=>!n.includes(h)))}}}getStartEscapesForAllActiveAttributes(){return[this.activeBackground,this.activeForeground,...this.activeFormatting].filter(Boolean).join("")}getEndEscapesForAllActiveAttributes(){const i=[];if(this.activeFormatting.length>0){const e={"\x1B[1m":"\x1B[22m","\x1B[2m":"\x1B[22m","\x1B[3m":"\x1B[23m","\x1B[4m":"\x1B[24m","\x1B[7m":"\x1B[27m","\x1B[8m":"\x1B[28m","\x1B[9m":"\x1B[29m"};[...this.activeFormatting].toReversed().forEach(o=>{const h=e[o];h&&i.push(h)})}return this.activeForeground&&i.push("\x1B[39m"),this.activeBackground&&i.push("\x1B[49m"),i.join("")}}const Di=(t,i)=>{if(!q.has(t[i]))return{isInsideEscape:!1,isInsideLinkEscape:!1};const e=!0,o=t.slice(i+1,i+1+K.length).join("")===K;return{isInsideEscape:e,isInsideLinkEscape:o}},Yi=(t,i={})=>{const e=new Gt;let o="",h=!1,n="",r="",s=!1;const a=[...t];for(let c=0;c<a.length;c++){const l=a[c];if(l&&q.has(l)){if(o){const p=i.getWidth?.(o)??0,g={isEscapeSequence:!1,isGrapheme:!0,text:o,width:p};if(s&&(g.isHyperlink=!0,g.hyperlinkUrl=r),i.onSegment?.(g,e)===!1)return;o=""}h=!0,n=l;const u=Di(a,c),{isInsideLinkEscape:w}=u;if(w){let p=c+1;for(r="";p<a.length;){const f=a[p];if(f===lt)break;r+=f,p+=1}r=r.slice(4);const g={hyperlinkUrl:r,isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkStart:!0,width:0};if(i.onSegment?.(g,e)===!1)return;c=p,s=!0,h=!1,n="";continue}if(c+1<a.length&&a[c+1]==="\\"&&s){const p={isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkEnd:!0,width:0};if(i.onSegment?.(p,e)===!1)return;s=!1,r="",c+=1,h=!1,n="";continue}}if(h){if(n!==l&&(n+=l),l===gt){h=!1,e.processEscape(n);const u={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};if(i.onSegment?.(u,e)===!1)return;n=""}continue}o+=l;const d=i.getWidth?.(o)??0,m={isEscapeSequence:!1,isGrapheme:!0,text:o,width:d};if(s&&(m.isHyperlink=!0,m.hyperlinkUrl=r),i.onSegment?.(m,e)===!1)return;o=""}if(o){const c=i.getWidth?.(o)??0,l={isEscapeSequence:!1,isGrapheme:!0,text:o,width:c};s&&(l.isHyperlink=!0,l.hyperlinkUrl=r),i.onSegment?.(l,e)}if(n){const c={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};i.onSegment?.(c,e)}},Mt=t=>`${q.values().next().value}${_t}${String(t)}${gt}`,Et=t=>`${q.values().next().value}${K}${t}${lt}`,Ki=t=>{if(t.length===0)return"";if(t.length===1)return t[0];let i="",e,o;const h=t.join(`
|
|
2
|
-
`),n=[...h];let r=0;for(const[s,a]of n.entries()){if(i+=a,q.has(a)){const l=ki.exec(h.slice(r))?.groups??{};if(l.code!==void 0){const d=Number.parseFloat(l.code);e=d===Mi?void 0:d}else l.uri!==void 0&&(o=l.uri.length===0?void 0:l.uri)}const c=ji.get(Number(e));n[s+1]===`
|
|
3
|
-
`?(o&&(i+=Et("")),e&&c&&(i+=Mt(c))):a===`
|
|
4
|
-
`&&(e&&c&&(i+=Mt(e)),o&&(i+=Et(o))),r+=a.length}return i},Pt=/(?=\s)|(?<=\s)/,Vt=/^\s+$/,kt=new Map,Ui=t=>{const i=kt.get(t);if(i!==void 0)return i;const e=M(t);return kt.set(t,e),e},ut=t=>{if(!t.includes("\x1B"))return t;let i=t;return t.includes("\x1B[30m")&&(i+="\x1B[39m"),t.includes("\x1B[42m")&&(i+="\x1B[49m"),i},O=t=>{const i=t.split(" ");let e=i.length;for(;e>0&&M(i[e-1])===0;)e--;return e===i.length?t:i.slice(0,e).join(" ")+i.slice(e).join("")},qt=(t,i,e)=>{if(t.length===0)return[""];if(i<=0)return[t];const o=[],h=new Gt;let n="",r=0,s=!1,a=!1,c="",l=0;for(;l<t.length;){const d=t.codePointAt(l),m=String.fromCodePoint(d),u=m.length;if(q.has(m)){s=!0,c=m,n+=m,a=t.startsWith(K,l+1),l+=1;continue}if(s){c+=m,n+=m,a?m===lt&&(s=a=!1):m===gt&&(s=!1,h.processEscape(c)),l+=1;continue}const w=Ui(m),p=m===" ";if(w===0){n+=m,l+=u;continue}if(r+w>i&&(n&&o.push(n+h.getEndEscapesForAllActiveAttributes()),n=h.getStartEscapesForAllActiveAttributes(),r=M(n),p&&e)){for(;l<t.length&&t[l]===" ";)l+=1;continue}if(n+=m,r+=w,r===i&&l+u<t.length&&(o.push(n+h.getEndEscapesForAllActiveAttributes()),n=h.getStartEscapesForAllActiveAttributes(),r=M(n),l+u<t.length&&t[l+u]===" "&&e)){for(l+=u;l<t.length&&t[l]===" ";)l+=1;continue}l+=u}return n&&o.push(n+h.getEndEscapesForAllActiveAttributes()),e?o.map(d=>O(d)):o},Zi=(t,i,e)=>{if(t.length===0)return[];const o=e?t.trim():t;if(o.length===0)return[];const h=[];let n="",r=0;return Yi(o,{getWidth:M,onSegment:(s,a)=>{const c=s.text??"";if(s.isEscapeSequence)n+=c;else{const l=c===" ";if(s.width===0)return n+=c,!0;if(r+s.width>i&&(n&&h.push(n),n=a.getStartEscapesForAllActiveAttributes(),r=0,l))return e||h.push(a.getStartEscapesForAllActiveAttributes()+c),!0;n+=c,r+=s.width}return!0}}),n&&h.push(n),e?h.map(s=>O(s)):h},Qi=(t,i,e)=>{if(t.length===0)return[];const o=e?t.trim():t;if(o.length===0)return[];const h=o.split(Pt),n=[];let r="",s=0,a=0;for(;a<h.length;){const c=h[a],l=Vt.test(c),d=M(c);if(c.length===0){a+=1;continue}if(e&&l&&s===0){a+=1;continue}if(s+d>i&&s>0){e?n.push(O(r)):n.push(r),r="",s=0;continue}r+=c,s+=d,a+=1}return r&&(e?n.push(O(r)):n.push(r)),n},Xi=(t,i,e)=>{if(t.length===0)return[];const o=e?t.trim():t;if(o.length===0)return[];const h=o.split(Pt),n=[];let r="",s=0,a=0;for(;a<h.length;){const c=h[a],l=Vt.test(c),d=M(c);if(c.length===0){a+=1;continue}if(e&&l&&s===0){a+=1;continue}if(d>i){r&&n.push(ut(e?O(r):r));const m=qt(c,i,e);if(m.length>0){for(let u=0;u<m.length-1;u+=1)n.push(m[u]);r=m.at(-1),s=M(r)}else r="",s=0;a+=1;continue}if(s+d>i&&s>0&&(n.push(ut(e?O(r):r)),r="",s=0,e&&l)){a+=1;continue}r+=c,s+=d,a+=1}return r&&n.push(ut(e?O(r):r)),n},st={BREAK_AT_CHARACTERS:"BREAK_AT_CHARACTERS",BREAK_WORDS:"BREAK_WORDS",PRESERVE_WORDS:"PRESERVE_WORDS",STRICT_WIDTH:"STRICT_WIDTH"},te=(t,i={})=>{const{removeZeroWidthCharacters:e=!0,trim:o=!0,width:h=80,wrapMode:n=st.PRESERVE_WORDS}=i;if(o&&t.trim()==="")return"";let r=t.normalize("NFC").replaceAll(`\r
|
|
5
|
-
`,`
|
|
6
|
-
`);return e&&(r=r.replaceAll(Ei,"")),r.split(`
|
|
7
|
-
`).map(s=>{if(o&&s.trim()==="")return"";let a;switch(n){case st.BREAK_AT_CHARACTERS:{a=Zi(s,h,o);break}case st.BREAK_WORDS:{a=Xi(s,h,o);break}case st.STRICT_WIDTH:{a=qt(s,h,o);break}default:a=Qi(s,h,o)}return Ki(a)}).join(`
|
|
8
|
-
`)},zt=80,Dt=24,mt=(t,i,{shell:e,env:o}={})=>ri(t,i,{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:500,shell:e,env:o}).trim(),nt=(t,i)=>({columns:Number.parseInt(t,10),rows:Number.parseInt(i,10)}),Yt=(t,i)=>{const{columns:e,rows:o}=nt(t,i);if(!(Number.isNaN(e)||Number.isNaN(o))&&!(e===zt&&o===Dt))return{columns:e,rows:o}},ie=()=>{if(J.platform!=="linux")return!0;try{const t=Y.readFileSync("/proc/self/stat","utf8"),i=t.lastIndexOf(") ");if(i===-1)return!1;const e=t.slice(i+2).trim().split(/\s+/),o=Number.parseInt(e[2],10),h=Number.parseInt(e[5],10);return Number.isNaN(o)||Number.isNaN(h)||h<=0?!1:o===h}catch{return!1}};function ee(){const{env:t,stdout:i,stderr:e}=J;if(i?.columns&&i?.rows)return nt(i.columns,i.rows);if(e?.columns&&e?.rows)return nt(e.columns,e.rows);if(t.COLUMNS&&t.LINES)return nt(t.COLUMNS,t.LINES);const o={columns:zt,rows:Dt};return J.platform==="win32"?ft()??o:J.platform==="darwin"?jt()??ft()??o:jt()??ft()??oe()??o}const jt=()=>{try{const t=J.platform==="darwin"?Y.constants.O_EVTONLY|Y.constants.O_NONBLOCK:Y.constants.O_NONBLOCK,{columns:i,rows:e}=si.WriteStream(Y.openSync("/dev/tty",t));return{columns:i,rows:e}}catch{}},ft=()=>{try{const t=mt("tput",["cols"],{env:{TERM:"dumb",...J.env}}),i=mt("tput",["lines"],{env:{TERM:"dumb",...J.env}});if(t&&i)return Yt(t,i)}catch{}},oe=()=>{try{if(!ie())return;const t=mt("resize",["-u"]).match(/\d+/g);if(t.length===2)return Yt(t[0],t[1])}catch{}},H=(t,i)=>{switch(i){case"bottom":return{body:t.bottomBody,join:t.bottomJoin,left:t.bottomLeft,right:t.bottomRight};case"middle":return{body:t.joinBody,join:t.joinJoin,left:t.joinLeft,right:t.joinRight};case"top":return{body:t.topBody,join:t.topJoin,left:t.topLeft,right:t.topRight};default:throw new Error(`Invalid borderType: ${String(i)}`)}},re=t=>({join:t.bodyJoin,left:t.bodyLeft,right:t.bodyRight}),at=(t,i,e,o=1)=>{let h=0;for(let n=0;n<e;n+=1)h+=t[i+n]??0;return e>1&&(h+=(e-1)*o),h},wt=(t,i,e,o)=>{let h=i;for(;h>0&&t[h-1]?.[e]===o;)h-=1;let n=i;for(;n<t.length-1&&t[n+1]?.[e]===o;)n+=1;let r;const s=n-h+1;if(s===1)r=!0;else switch(o.vAlign){case"bottom":{r=i===n;break}case"middle":{const a=h+Math.floor(s/2);r=i===a;break}case"top":{r=i===h;break}default:r=i===h}return{firstRow:h,lastRow:n,showContent:r}},se=(t,i,e,o,h)=>{if(t.length===0)return[];const n=e.showBorders?e.border?.bodyJoin.width??0:0,r=e.showBorders&&(e.border?.joinBody.width??0)>0;let s=t.length-1;for(let l=0;l<t.length;l+=1){const d=t[l];if(d){for(const[m,u]of d.entries())if(u&&h(t,l,m,u)===l){const w=wt(t,l,m,u);s=Math.max(s,w.lastRow)}}}const a=Array.from({length:s+1}).fill(1);for(let l=0;l<t.length;l+=1){const d=t[l];if(d)for(let m=0;m<e.columns;m+=1){const u=d[m];if(u&&h(t,l,m,u)===l&&(u.rowSpan??1)===1){const w=u.colSpan??1,p=at(i,m,w,n),g=o(u,p).length;a[l]=Math.max(a[l]??1,g)}}}const c=Array.from({length:a.length}).fill(!1);if(e.fixedRowHeights)for(let l=0;l<a.length;l+=1){let d;e.fixedRowHeights[l]!==void 0?d=e.fixedRowHeights[l]:e.fixedRowHeights.length===1&&e.fixedRowHeights[0]!==void 0&&(d=e.fixedRowHeights[0]),d!==void 0&&(a[l]=Math.max(1,d),c[l]=!0)}for(let l=0;l<t.length;l+=1){const d=t[l];if(d)for(let m=0;m<e.columns;m+=1){const u=d[m];if(u&&h(t,l,m,u)===l&&(u.rowSpan??1)>1){const w=u.colSpan??1,p=at(i,m,w,n),g=o(u,p),f=r?g.length-1:g.length,b=wt(t,l,m,u),{firstRow:W,lastRow:x}=b;let y=0,R=0;for(let v=W;v<=x&&v<a.length;v+=1)y+=a[v]??1,c[v]||(R+=1);const A=f-y;if(A>0)if(R>0){const v=Math.ceil(A/R);let B=0;for(let C=W;C<=x&&C<a.length;C+=1)if(!c[C]){const E=Math.min(v,A-B);if(a[C]=(a[C]??1)+E,B+=E,B>=A)break}}else(e.onWarn??(v=>{console.warn(v)}))(`[calculateRowHeights] Content of spanning cell exceeds fixed height allocated. Cell: ${JSON.stringify(u.content)}, Required: ${String(f)}, Allocated: ${String(y)} (fixed).`)}}}return a},G=(t,i,e,o)=>{let h=i;for(;h>0&&t[h-1]?.[e]===o;)h-=1;return h},Nt=t=>{if(typeof t=="string")return{content:t};if(typeof t=="number"||typeof t=="bigint"||typeof t=="boolean")return{content:String(t)};if(t==null)return{content:"",isEmpty:!0};if(typeof t=="object"&&"content"in t){let{content:i}=t,e=!1;if(typeof i=="number"||typeof i=="bigint"||typeof i=="boolean")i=String(i);else if(i==null)i="",e=!0;else if(typeof i!="string")throw new TypeError(`Invalid item type in grid cell: expected string, number, null, undefined, or GridItem object, but received ${JSON.stringify(t)} (type: ${typeof t})`);return e?{...t,content:i,isEmpty:!0}:{...t,content:i}}throw new TypeError(`Invalid item type in grid cell: expected string, number, null, undefined, or GridItem object, but received ${JSON.stringify(t)} (type: ${typeof t})`)},ne=(t,i,e,o,h)=>{const n=M(t),r=" ".repeat(Math.max(0,o)),s=" ".repeat(Math.max(0,h));if(n===0)return r+" ".repeat(Math.max(0,i))+s;const a=Math.max(0,i-n);switch(e){case"center":{const c=Math.floor(a/2),l=a-c;return r+" ".repeat(c)+t+" ".repeat(l)+s}case"right":return r+" ".repeat(a)+t+s;default:return r+t+" ".repeat(a)+s}},Lt=/\r?\n/,Ft=/\s+/;let Jt;const he=()=>(Jt??=ee().columns,Jt),S=(t,i)=>!t||!i?t:typeof i=="function"?i(t):i.open+t+i.close;class ct{#t;#e=[];#o;#s=new WeakMap;#r=new WeakMap;#i=new WeakMap;#n(i){const e=this.#i.get(i);if(e)return e;const o=String(i.content??"").split(Lt);let h=0;for(const r of o)h=Math.max(h,M(r));const n={lines:o,maxLineWidth:h};return this.#i.set(i,n),n}#h(i){const e=this.#t.onWarn;if(e){e(i);return}console.warn(i)}static createGridLayout(){return[]}static calculateImplicitRowCount(i,e){let o=0;for(const h of i)o+=(h.colSpan??1)*(h.rowSpan??1);return Math.max(1,Math.ceil(o/e))}constructor(i){const e={autoColumns:1,autoFlow:"row",autoRows:1,balancedWidths:!1,gap:0,paddingLeft:1,paddingRight:1,rows:0,showBorders:i.border!==void 0,truncate:!1,truncateOverflow:!0,wordWrap:!1};let o;Array.isArray(i.fixedRowHeights)?o=i.fixedRowHeights:typeof i.fixedRowHeights=="number"&&(o=[i.fixedRowHeights]),this.#t={...e,...i,columns:i.columns,fixedRowHeights:o,showBorders:i.border!==void 0||(i.showBorders??!1)};const{terminalWidth:h}=this.#t;this.#o=h??he(),this.#t.maxWidth&&(this.#t.maxWidth=Math.min(this.#t.maxWidth,this.#o))}addItem(i){const e=Nt(i);return this.#a(e),this.#e.push(e),this}#a(i){i.width!==void 0&&this.#h("@visulima/tabular: GridItem.width is ignored by Grid (it is only consumed by Table). Use fixedColumnWidths or maxWidth to constrain Grid column widths.")}addItems(i){for(const e of i){const o=Nt(e);this.#a(o),this.#e.push(o)}return this}setColumns(i){return this.#t.columns=i,this}setRows(i){return this.#t.rows=i,this}setBorder(i){return this.#t.border=i,this}setShowBorders(i){return this.#t.showBorders=i,this}setMaxWidth(i){return this.#t.maxWidth=i,this}toString(){const i=ct.createGridLayout();if(this.#s=new WeakMap,this.#r=new WeakMap,this.#i=new WeakMap,this.placeItems(i),i.length===0||i[0]?.length===0)return"";let e=this.calculateColumnWidths(i);const o=this.calculateTotalGridWidth(e),h=typeof this.#t.maxWidth=="number"&&this.#t.maxWidth>0?Math.min(this.#t.maxWidth,this.#o):this.#o;return o>h&&(e=this.adjustColumnWidthsForTerminal(e,o)),this.renderGrid(i,e)}placeItems(i){let e=0,o=0;const h=this.#t.rows>0?this.#t.rows:Number.POSITIVE_INFINITY,n=this.#t.rows>0?this.#t.rows:ct.calculateImplicitRowCount(this.#e,Math.max(1,this.#t.columns));for(let r=0;r<this.#e.length;r+=1){const s=this.#e[r];if(s.isEmpty&&!(s.rowSpan&&s.rowSpan>1)&&!(s.colSpan&&s.colSpan>1)){this.#t.autoFlow==="row"?(o+=1,o>=this.#t.columns&&(o=0,e+=1)):(e+=1,e>=n&&(e=0,o+=1));continue}const a=s.colSpan??1,c=s.rowSpan??1;let l=!1,d=e,m=o,u=0;const w=((this.#t.autoFlow==="column"?Math.max(i.length,n):i.length)+c+5)*this.#t.columns,p=a<=this.#t.columns;for(;p&&!l&&d<h&&u<w;){for(u+=1;d+c>i.length;)i.push(Array.from({length:this.#t.columns}).fill(void 0));if(this.canPlaceItem(i,d,m,a,c))this.placeItem(i,d,m,s),l=!0,this.#t.autoFlow==="row"?(o=m+a,e=d,o>=this.#t.columns&&(o=0,e+=1)):(e=d+c,o=m,e>=n&&(e=0,o+=1));else if(this.#t.autoFlow==="row")m+=1,m>=this.#t.columns&&(m=0,d+=1);else if(d+=1,d>=n&&(d=0,m+=1,m>=this.#t.columns))break}l||(this.#h(`@visulima/tabular: Could not find position for item: ${JSON.stringify(s)} after ${String(u)} attempts. Grid might be too small or layout impossible.`),this.#t.autoFlow==="row"?(o+=1,o>=this.#t.columns&&(o=0,e+=1)):(e+=1,e>=n&&(e=0,o+=1)))}if(this.#t.rows>0){if(i.length>0)for(;i.length<this.#t.rows;)i.push(Array.from({length:this.#t.columns}).fill(void 0))}else for(;i.length>0&&i.at(-1)?.every(r=>r===void 0);)i.pop()}canPlaceItem(i,e,o,h,n,r=!1){if(o+h>this.#t.columns)return!1;for(let s=e;s<e+n;s+=1)if(s<i.length){if(!i[s])return this.#h(`Grid layout unexpectedly missing row ${String(s)} during canPlaceItem check.`),!1;for(let a=o;a<o+h;a+=1)if(i[s]?.[a]!==void 0)return!1}else if(!r)return!1;return!0}computeWrappedContentWidth(i,e,o,h){let n=i;if(h){if(n>20){let r=0;for(const s of e){const a=s.split(Ft);for(const c of a)r=Math.max(r,Math.min(M(c),o))}n=Math.min(n,Math.max(r+4,12))}}else{let r=0;for(const s of e){const a=s.split(Ft);for(const c of a)r=Math.max(r,Math.min(M(c),o))}n=Math.min(n,Math.max(r+12,20))}return n}placeItem(i,e,o,h){const n=h.rowSpan??1,r=h.colSpan??1;for(let s=e;s<e+n;s+=1){for(;s>=i.length;)i.push(Array.from({length:this.#t.columns}).fill(void 0));for(let a=o;a<o+r;a+=1)a<this.#t.columns&&(i[s]||(this.#h(`Logic error: Row ${String(s)} not found in placeItem despite check.`),i[s]=Array.from({length:this.#t.columns}).fill(void 0)),i[s][a]=h)}}calculateTotalGridWidth(i){let e=0;const o=this.#t.showBorders?this.#t.border:void 0;o&&(e+=o.bodyLeft.width,e+=o.bodyRight.width);const h=i.length,n=this.#t.showBorders?o?.bodyJoin.width??0:0,r=this.#t.gap;for(let s=0;s<h;s+=1)e+=i[s]??0,s<h-1&&(e+=r,e+=n);return e}adjustColumnWidthsForTerminal(i,e){const o=typeof this.#t.maxWidth=="number"&&this.#t.maxWidth>0?Math.min(this.#t.maxWidth??0,this.#o):this.#o;if(e<=o)return i;let h=0;const n=i.length,r=this.#t.showBorders?this.#t.border:void 0;if(r&&(h+=r.bodyLeft.width,h+=r.bodyRight.width),n>1){h+=(n-1)*this.#t.gap;const m=r?.bodyJoin.width??0;h+=(n-1)*m}if(h>=o)return Array.from({length:n}).fill(1);const s=o-h,a=i.reduce((m,u)=>m+u,0);if(a===0){const m=Math.floor(s/n);return Array.from({length:n}).fill(m)}const c=i.map(m=>{const u=m/a;return Math.max(1,Math.floor(s*u))});let l=c.reduce((m,u)=>m+u,0)-s;for(;l>0;){let m=-1;for(let u=0;u<c.length;u+=1)(c[u]??0)>1&&(m===-1||(c[u]??0)>(c[m]??0))&&(m=u);if(m===-1)break;c[m]-=1,l-=1}let d=s-c.reduce((m,u)=>m+u,0);if(d>0){const m=c.map((u,w)=>{const p=a>0?(i[w]??0)/a:1/n;return{index:w,remainder:s*p%1}}).toSorted((u,w)=>w.remainder-u.remainder);for(const u of m){if(d<=0)break;const{index:w}=u;c[w]!==void 0&&(c[w]+=1,d-=1)}}return c}calculateBalancedColumnWidths(i){const e=this.calculateMinimumColumnWidthsWithGrowableInfo(i),o=e.widths,{growableColumns:h}=e,n=typeof this.#t.maxWidth=="number"&&this.#t.maxWidth>0?Math.min(this.#t.maxWidth,this.#o):this.#o,r=this.#t.showBorders?this.#t.border:void 0;let s=0;if(r&&(s+=r.bodyLeft.width,s+=r.bodyRight.width),this.#t.columns>1){s+=(this.#t.columns-1)*this.#t.gap;const l=r?.bodyJoin.width??0;s+=(this.#t.columns-1)*l}const a=Math.max(0,n-s);if(o.reduce((l,d)=>l+d,0)>0){const l=Math.floor(a/this.#t.columns),d=Array.from({length:this.#t.columns}).fill(l),m=l*this.#t.columns;let u=a-m;for(let f=0;f<d.length&&u>0;f+=1)d[f]=(d[f]??0)+1,u-=1;const w=[];let p=0;for(let f=0;f<this.#t.columns;f+=1){const b=d[f]??0,W=o[f]??0,x=Math.max(b,W);w.push(x),p+=x}if(p>a){const f=a/p,b=w.map(y=>Math.max(3,Math.floor(y*f))),W=b.reduce((y,R)=>y+R,0);let x=a-W;for(let y=0;y<b.length&&x>0;y+=1)b[y]=(b[y]??0)+1,x-=1;return b}let g=a-p;if(g>0){const f=h.length>0?h:w.map((b,W)=>W);for(;g>0&&f.length>0;)for(const b of f){if(g<=0)break;w[b]=(w[b]??0)+1,g-=1}}return w}const c=Math.floor(a/this.#t.columns);return Array.from({length:this.#t.columns}).fill(c)}calculateMinimumColumnWidthsWithGrowableInfo(i){const e=Array.from({length:this.#t.columns}).fill(0),o=[],h=this.#t.paddingLeft+this.#t.paddingRight,n=this.#t.gap+(this.#t.showBorders?this.#t.border?.bodyJoin.width??0:0);for(let r=0;r<this.#t.columns;r+=1)for(let s=0;s<i.length;s+=1){const a=i[s]?.[r];if(!a||G(i,s,r,a)!==s||r>0&&i[s]?.[r-1]===a)continue;const c=a.colSpan??1,l=a.maxWidth??Number.POSITIVE_INFINITY,{lines:d,maxLineWidth:m}=this.#n(a),u=this.#t.wordWrap&&a.wordWrap!==!1;let w=Math.min(m,l);w=this.computeWrappedContentWidth(w,d,l,u),c===1&&(e[r]=Math.max(e[r]??0,w+h),u&&!o.includes(r)&&o.push(r))}for(let r=0;r<i.length;r+=1)for(let s=0;s<this.#t.columns;s+=1){const a=i[r]?.[s];if(!a||G(i,r,s,a)!==r||s>0&&i[r]?.[s-1]===a)continue;const c=a.colSpan??1;if(c>1){const l=a.maxWidth??Number.POSITIVE_INFINITY,{lines:d,maxLineWidth:m}=this.#n(a),u=this.#t.wordWrap&&a.wordWrap!==!1;let w=Math.min(m,l);w=this.computeWrappedContentWidth(w,d,l,u);const p=(c-1)*n,g=w+h+p;let f=0;for(let W=s;W<s+c;W+=1)f+=e[W]??0;const b=f+p;if(g>b){const W=g-b,x=Math.floor(W/c);let y=0;for(let R=0;R<c&&s+R<this.#t.columns;R+=1){const A=Math.min(x,W-y);if(e[s+R]=(e[s+R]??0)+A,y+=A,y>=W)break}}}}return{growableColumns:o,widths:e}}calculateColumnWidths(i){if(this.#t.fixedColumnWidths&&this.#t.fixedColumnWidths.length===this.#t.columns){const n=this.#t.fixedColumnWidths;if(!n.some(r=>r===void 0||!Number.isFinite(r)))return[...n];if(this.#t.balancedWidths){const r=Array.from({length:n.length}).fill(0),s=typeof this.#t.maxWidth=="number"&&this.#t.maxWidth>0?Math.min(this.#t.maxWidth,this.#o):this.#o,a=this.calculateTotalGridWidth(Array.from({length:r.length}).fill(0)),c=Math.max(0,s-a);let l=0;const d=[];for(const[w,p]of n.entries())typeof p=="number"&&Number.isFinite(p)?(r[w]=p,l+=p):d.push(w);let m=Math.max(0,c-l);const u=d.length>0?Math.floor(m/d.length):0;for(const w of d)r[w]=u;m-=u*d.length;for(const w of d){if(m<=0)break;r[w]+=1,m-=1}return r}}if(this.#t.balancedWidths)return this.calculateBalancedColumnWidths(i);const e=Array.from({length:this.#t.columns}).fill(0),o=this.#t.paddingLeft+this.#t.paddingRight,h=this.#t.gap+(this.#t.showBorders?this.#t.border?.bodyJoin.width??0:0);for(let n=0;n<this.#t.columns;n+=1)for(let r=0;r<i.length;r+=1){const s=i[r]?.[n];if(!s||G(i,r,n,s)!==r||n>0&&i[r]?.[n-1]===s)continue;const a=s.colSpan??1,c=s.maxWidth??Number.POSITIVE_INFINITY,{maxLineWidth:l}=this.#n(s),d=Math.min(l,c);a===1&&(e[n]=Math.max(e[n]??0,d+o))}for(let n=0;n<i.length;n+=1)for(let r=0;r<this.#t.columns;r+=1){const s=i[n]?.[r];if(!s||G(i,n,r,s)!==n||r>0&&i[n]?.[r-1]===s)continue;const a=s.colSpan??1;if(a>1){const c=s.maxWidth??Number.POSITIVE_INFINITY,{lines:l,maxLineWidth:d}=this.#n(s),m=this.#t.wordWrap&&s.wordWrap!==!1;let u=Math.min(d,c);u=this.computeWrappedContentWidth(u,l,c,m);let w=0;for(let b=r;b<r+a;b+=1)w+=e[b]??0;const p=a>1?(a-1)*h:0,g=u+o+p,f=w+p;if(g>f){const b=g-f,W=Math.floor(b/a);let x=0;for(let y=0;y<a&&r+y<this.#t.columns;y+=1){const R=Math.min(W,b-x);if(e[r+y]=(e[r+y]??0)+R,x+=R,x>=b)break}}}}if(this.#t.fixedColumnWidths&&this.#t.fixedColumnWidths.length===this.#t.columns)for(const[n,r]of this.#t.fixedColumnWidths.entries())typeof r=="number"&&Number.isFinite(r)&&(e[n]=r);if(this.#t.maxWidth){const n=this.calculateTotalGridWidth(e);if(n>this.#t.maxWidth)return this.adjustColumnWidthsForTerminal(e,n)}return e}renderVisualRowContent(i,e,o,h,n){const r=i[e];if(!r)return"";const s=this.#t.borderColor??this.#t.foregroundColor??void 0,a=[],c=this.#t.showBorders&&this.#t.border?re(this.#t.border):void 0,l=c&&c.left.width>0?c.left.char:"",d=c&&c.right.width>0?c.right.char:"",m=c&&c.join.width>0?c.join.char:"",u=" ".repeat(this.#t.gap);l&&a.push(S(S(l,s),this.#t.backgroundColor));let w=0;for(;w<this.#t.columns;){const p=r[w]??void 0;let g=1,f;if(p){const b=p.colSpan??1;g=b;const W=G(i,e,w,p),x=this.#t.showBorders?this.#t.border?.bodyJoin.width??0:0,y=at(h,w,b,x),R=this.alignCellContent(p,y),A=R.length,v=this.getCachedCellVerticalPosition(i,e,w,p);v.firstRow!==W&&this.#h(`Mismatch between findFirstOccurrenceRow (${String(W)}) and determineCellVerticalPosition (${String(v.firstRow)})`);const B=n.slice(W,v.lastRow+1).reduce((I,k)=>I+k,0),C=v.lastRow-v.firstRow+1;let E=o,L=0;const $=this.#t.showBorders&&(this.#t.border?.joinBody.width??0)>0;for(let I=W;I<e;I+=1)I<n.length&&(E+=n[I]??1),$&&I<v.lastRow&&(L+=1);E+=L;const T=p.vAlign??"top";let j;switch(T){case"bottom":{let I=o;for(let N=W;N<e;N+=1)I+=n[N]??1;const k=B-A;j=I>=k?I-k:-1;break}case"middle":{const I=Math.round((B-A)/2);let k=o;for(let N=W;N<e;N+=1)k+=n[N]??1;j=k>=I&&k<I+A?k-I:-1;break}case"top":{j=E;break}default:j=E}const z=j>=0&&j<A;if(f=" ".repeat(Math.max(0,y)),z){let I=!1;T==="middle"&&C%2===0&&j===0&&(I=!0),I||(f=R[j]??f)}p.colSpan&&p.colSpan>1&&(f+=u.repeat(p.colSpan)),p.foregroundColor?f=S(f,p.foregroundColor):this.#t.foregroundColor&&(f=S(f,this.#t.foregroundColor)),p.backgroundColor?f=S(f,p.backgroundColor):this.#t.backgroundColor&&(f=S(f,this.#t.backgroundColor))}else{const b=this.#t.paddingLeft+this.#t.paddingRight,W=Math.max(0,(h[w]??0)-b),x=" ".repeat(this.#t.paddingLeft+W+this.#t.paddingRight);f=S(S(o===0?x:" ".repeat(x.length),this.#t.foregroundColor),this.#t.backgroundColor)}a.push(f),w+g<this.#t.columns&&(a.push(u),this.#t.showBorders&&m&&a.push(S(S(m,s),this.#t.backgroundColor)),this.#t.gap>0&&a.push(u)),w+=g}return d&&a.push(S(S(d,s),this.#t.backgroundColor)),a.join("")}alignCellContent(i,e){const o=this.#s.get(i);if(o?.has(e))return o.get(e);const{paddingLeft:h,paddingRight:n}=this.#t,r=h+n,s=e-r;if(s<=0){const d=[" ".repeat(r+this.#t.gap)];return o?o.set(e,d):this.#s.set(i,new Map([[e,d]])),d}let a;const c=String(i.content??"");if(a=c.includes(`
|
|
9
|
-
`)||c.includes("\r")?c.split(Lt):[c],this.#t.wordWrap&&i.wordWrap!==!1){const d=typeof this.#t.wordWrap=="object"?this.#t.wordWrap:{},m=typeof i.wordWrap=="object"?i.wordWrap:d;a=te(c,{...m,width:s}).split(`
|
|
10
|
-
`)}if(this.#t.truncate&&i.truncate!==!1){const d=typeof this.#t.truncate=="object"?this.#t.truncate:{},m=typeof i.truncate=="object"?i.truncate:d;a=a.map(u=>It(u,s,m))}else this.#t.truncateOverflow&&(a=a.map(d=>M(d)>s?It(d,s,{}):d));const l=a.map(d=>ne(d,s,i.hAlign??"left",h,n));return o?o.set(e,l):this.#s.set(i,new Map([[e,l]])),l}renderHorizontalBorder(i,e,o,h,n,r=-1){if(!this.#t.showBorders||!this.#t.border)return"";const s=this.#t.border,a=H(s,n),c=a.body.char,l=a.body.width,d=s.bodyJoin.char;if(n!=="middle"&&l===0)return"";let m=a.left.char,u=a.right.char;if(n==="middle"&&r!==-1){const f=i[o]?.[0]??void 0,b=i[r]?.[0]??void 0;f&&b&&f===b&&(m=d);const W=this.#t.columns-1,x=i[o]?.[W]??void 0,y=i[r]?.[W]??void 0;x&&y&&x===y&&(u=d)}const w=[],p=" ".repeat(this.#t.gap);m&&w.push(S(S(m,this.#t.borderColor),this.#t.backgroundColor));let g;for(let f=0;f<this.#t.columns;f+=1){const b=i[o]?.[f]??void 0,W=n==="middle"&&r!==-1?i[r]?.[f]??void 0:void 0;let x,y=!1;if(b&&(f===0||i[o]?.[f-1]!==b)&&(x=b,y=!0),b&&!y)continue;if(!b){const v=h[f]??0;if(g=l>0?c.repeat(v):" ".repeat(v),w.push(S(S(g,this.#t.borderColor),this.#t.backgroundColor)),f<this.#t.columns-1){const B=this.determineJoinChar(n,i,o,r,f,f+1);w.push(p),B.width>0&&w.push(S(S(B.char,this.#t.borderColor),this.#t.backgroundColor))}continue}const R=x?.colSpan??1;if(n==="middle"&&n==="middle"&&W&&b===W&&x){const v=x.vAlign==="middle",{firstRow:B,lastRow:C}=this.getCachedCellVerticalPosition(i,o,f,x),E=C-B+1,L=E%2===0,$=B+Math.ceil(E/2)-1,T=s.bodyJoin.width,j=at(h,f,R,T),z=this.alignCellContent(x,j),I=z.length;if(v&&L&&o===$)g=S(z[0]??"",this.#t.borderColor);else{let k=0;for(let _=B;_<=o;_+=1)k+=e[_]??1,_<o&&(k+=1);const N=k;if(N>=0&&N<I)g=S(z[N]??"",this.#t.foregroundColor);else{const _=h.slice(f,f+R).reduce((Kt,Ut)=>Kt+Ut,0)+(R-1)*(this.#t.gap+this.#t.border.bodyJoin.width);g=S(" ".repeat(_),this.#t.borderColor)}}w.push(S(g,this.#t.backgroundColor))}else{const v=[];for(let B=f;B<f+R;B+=1){const C=h[B]??0,E=l>0?c:" ";if(v.push(E.repeat(C+this.#t.gap)),B<f+R-1){const L=this.determineJoinChar(n,i,o,r,B,B+1);L.width>0&&v.push(L.char)}}g=v.join(""),w.push(S(S(g,this.#t.borderColor),this.#t.backgroundColor))}const A=f+R-1;if(A<this.#t.columns-1){const v=this.determineJoinChar(n,i,o,r,A,A+1);v.width>0&&w.push(S(S(v.char,this.#t.borderColor),this.#t.backgroundColor))}f+=R-1}return u&&w.push(S(S(u,this.#t.borderColor),this.#t.backgroundColor)),w.join("")}determineJoinChar(i,e,o,h,n,r=-1){if(!this.#t.showBorders||!this.#t.border)return{char:" ",width:this.#t.gap};const s=this.#t.border;if(i!=="middle"){const y=H(s,i),R=e[o]?.[n]??void 0,A=r===-1?n+1:r,v=e[o]?.[A]??void 0,B=R!==void 0&&v!==void 0&&R===v?y.body:y.join,{char:C,width:E}=B;return{char:C,width:E>0?E:this.#t.gap}}if(h===-1||r===-1)return{char:" ",width:this.#t.gap};const a=s.bodyJoin,c=e[o]?.[n]??void 0,l=e[h]?.[n]??void 0,d=e[o]?.[r]??void 0,m=e[h]?.[r]??void 0,u=c!==void 0&&l!==void 0&&c===l,w=d!==void 0&&m!==void 0&&d===m,p=c!==void 0&&d!==void 0&&c===d,g=l!==void 0&&m!==void 0&&l===m;let f;const b=H(s,"middle");u&&w?f=p?{char:" ",width:a.width}:a:u?f=s.joinLeft:w?f=s.joinRight:p&&g?f=b.body:p?f=s.topJoin:g?f=s.bottomJoin:f=s.joinJoin;const{char:W,width:x}=f;return{char:W,width:x>0?x:this.#t.gap}}renderGrid(i,e){if(i.length===0)return"";const o=[],h=se(i,e,this.#t,this.alignCellContent.bind(this),G),n=this.#t.showBorders&&this.#t.border?H(this.#t.border,"top"):void 0;n&&n.body.width>0&&o.push(this.renderHorizontalBorder(i,h,0,e,"top"));for(let s=0;s<i.length;s+=1){const a=h[s]??1;for(let l=0;l<a;l+=1)o.push(this.renderVisualRowContent(i,s,l,e,h));const c=this.#t.showBorders&&this.#t.border?H(this.#t.border,"middle"):void 0;if(s<i.length-1&&c&&c.body.width>0){const l=i[s],d=i[s+1];let m=!1;if(l&&d)for(let u=0;u<this.#t.columns;u+=1){const w=l[u],p=d[u];if(w!==p){m=!0;break}}m&&o.push(this.renderHorizontalBorder(i,h,s,e,"middle",s+1))}}const r=this.#t.showBorders&&this.#t.border?H(this.#t.border,"bottom"):void 0;return r&&r.body.width>0&&o.push(this.renderHorizontalBorder(i,h,i.length-1,e,"bottom")),o.join(`
|
|
11
|
-
`)}getCachedCellVerticalPosition(i,e,o,h){const n=this.#r.get(h);if(n)return n;const r=wt(i,e,o,h);return this.#r.set(h,r),r}}const ae={bodyJoin:{char:"│",width:1},bodyLeft:{char:"│",width:1},bodyRight:{char:"│",width:1},bottomBody:{char:"─",width:1},bottomJoin:{char:"┴",width:1},bottomLeft:{char:"└",width:1},bottomRight:{char:"┘",width:1},joinBody:{char:"─",width:1},joinJoin:{char:"┼",width:1},joinLeft:{char:"├",width:1},joinRight:{char:"┤",width:1},topBody:{char:"─",width:1},topJoin:{char:"┬",width:1},topLeft:{char:"┌",width:1},topRight:{char:"┐",width:1}},me={bodyJoin:{char:" ",width:1},bodyLeft:{char:" ",width:1},bodyRight:{char:" ",width:1},bottomBody:{char:"-",width:1},bottomJoin:{char:"-",width:1},bottomLeft:{char:"-",width:1},bottomRight:{char:"-",width:1},joinBody:{char:"-",width:1},joinJoin:{char:"-",width:1},joinLeft:{char:"-",width:1},joinRight:{char:"-",width:1},topBody:{char:"-",width:1},topJoin:{char:"-",width:1},topLeft:{char:"-",width:1},topRight:{char:"-",width:1}},we={bodyJoin:{char:"║",width:1},bodyLeft:{char:"║",width:1},bodyRight:{char:"║",width:1},bottomBody:{char:"═",width:1},bottomJoin:{char:"╩",width:1},bottomLeft:{char:"╚",width:1},bottomRight:{char:"╝",width:1},joinBody:{char:"═",width:1},joinJoin:{char:"╬",width:1},joinLeft:{char:"╠",width:1},joinRight:{char:"╣",width:1},topBody:{char:"═",width:1},topJoin:{char:"╦",width:1},topLeft:{char:"╔",width:1},topRight:{char:"╗",width:1}},pe={bodyJoin:{char:"│",width:1},bodyLeft:{char:"│",width:1},bodyRight:{char:"│",width:1},bottomBody:{char:"─",width:1},bottomJoin:{char:"┴",width:1},bottomLeft:{char:"╰",width:1},bottomRight:{char:"╯",width:1},joinBody:{char:"─",width:1},joinJoin:{char:"┼",width:1},joinLeft:{char:"├",width:1},joinRight:{char:"┤",width:1},topBody:{char:"─",width:1},topJoin:{char:"┬",width:1},topLeft:{char:"╭",width:1},topRight:{char:"╮",width:1}},ge={bodyJoin:{char:"┊",width:1},bodyLeft:{char:"┊",width:1},bodyRight:{char:"┊",width:1},bottomBody:{char:"┈",width:1},bottomJoin:{char:"┴",width:1},bottomLeft:{char:"└",width:1},bottomRight:{char:"┘",width:1},joinBody:{char:"┈",width:1},joinJoin:{char:"┼",width:1},joinLeft:{char:"├",width:1},joinRight:{char:"┤",width:1},topBody:{char:"┈",width:1},topJoin:{char:"┬",width:1},topLeft:{char:"┌",width:1},topRight:{char:"┐",width:1}},be={bodyJoin:{char:"|",width:1},bodyLeft:{char:"|",width:1},bodyRight:{char:"|",width:1},bottomBody:{char:"-",width:1},bottomJoin:{char:"|",width:1},bottomLeft:{char:"|",width:1},bottomRight:{char:"|",width:1},joinBody:{char:"-",width:1},joinJoin:{char:"|",width:1},joinLeft:{char:"|",width:1},joinRight:{char:"|",width:1},topBody:{char:"-",width:1},topJoin:{char:"|",width:1},topLeft:{char:"|",width:1},topRight:{char:"|",width:1}},xe={bodyJoin:{char:"|",width:1},bodyLeft:{char:"|",width:1},bodyRight:{char:"|",width:1},bottomBody:{char:"-",width:1},bottomJoin:{char:"+",width:1},bottomLeft:{char:"+",width:1},bottomRight:{char:"+",width:1},joinBody:{char:"-",width:1},joinJoin:{char:"+",width:1},joinLeft:{char:"+",width:1},joinRight:{char:"+",width:1},topBody:{char:"-",width:1},topJoin:{char:"+",width:1},topLeft:{char:"+",width:1},topRight:{char:"+",width:1}},ye={bodyJoin:{char:"",width:0},bodyLeft:{char:"",width:0},bodyRight:{char:"",width:0},bottomBody:{char:"",width:0},bottomJoin:{char:"",width:0},bottomLeft:{char:"",width:0},bottomRight:{char:"",width:0},joinBody:{char:"",width:0},joinJoin:{char:"",width:0},joinLeft:{char:"",width:0},joinRight:{char:"",width:0},topBody:{char:"",width:0},topJoin:{char:"",width:0},topLeft:{char:"",width:0},topRight:{char:"",width:0}},We={bodyJoin:{char:"█",width:1},bodyLeft:{char:"█",width:1},bodyRight:{char:"█",width:1},bottomBody:{char:"█",width:1},bottomJoin:{char:"█",width:1},bottomLeft:{char:"█",width:1},bottomRight:{char:"█",width:1},joinBody:{char:"█",width:1},joinJoin:{char:"█",width:1},joinLeft:{char:"█",width:1},joinRight:{char:"█",width:1},topBody:{char:"█",width:1},topJoin:{char:"█",width:1},topLeft:{char:"█",width:1},topRight:{char:"█",width:1}},Be={bodyJoin:{char:"┃",width:1},bodyLeft:{char:"┃",width:1},bodyRight:{char:"┃",width:1},bottomBody:{char:"━",width:1},bottomJoin:{char:"┻",width:1},bottomLeft:{char:"┗",width:1},bottomRight:{char:"┛",width:1},joinBody:{char:"━",width:1},joinJoin:{char:"╋",width:1},joinLeft:{char:"┣",width:1},joinRight:{char:"┫",width:1},topBody:{char:"━",width:1},topJoin:{char:"┳",width:1},topLeft:{char:"┏",width:1},topRight:{char:"┓",width:1}},ce=t=>t.reduce((i,e)=>{if(e===null)return i+1;if(typeof e=="object"&&!Array.isArray(e)){const o=typeof e.colSpan=="number"?e.colSpan:1;return i+(o<=0?1:o)}return i+1},0),le=/[\u0000-\u001F\u007F-\u009F]/gu,de=t=>t.replaceAll(le,"");class ue{#t;#e=[];#o=[];#s=[];#r=!0;#i=void 0;#n(i){const e=this.#t.onWarn;if(e){e(i);return}console.warn(i)}constructor(i={}){this.#t={...i,showFooter:i.showFooter??!0,showHeader:i.showHeader??!0,style:{border:ae,paddingLeft:1,paddingRight:1,...i.style}}}setHeaders(i){return i.length>0&&!Array.isArray(i[0])?this.#o=[i]:this.#o=i.map(e=>Array.isArray(e)?e:[e]),this.#r=!0,this.#i=void 0,this}setFooter(i){return i.length>0&&!Array.isArray(i[0])?this.#s=[i]:this.#s=i.map(e=>Array.isArray(e)?e:[e]),this.#r=!0,this.#i=void 0,this}addRow(i){if(!Array.isArray(i))throw new TypeError("Row must be an array");return this.#e.push(i),this.#r=!0,this.#i=void 0,this}addRows(...i){for(const e of i)this.addRow(e);return this.#r=!0,this.#i=void 0,this}getRows(){return this.#e.map(i=>[...i])}get rowCount(){return this.#e.length}removeRow(i){if(!Number.isInteger(i)||i<0||i>=this.#e.length)throw new RangeError(`Row index ${String(i)} is out of bounds (0..${String(this.#e.length-1)})`);return this.#e.splice(i,1),this.#r=!0,this.#i=void 0,this}clear(){return this.#e.length=0,this.#r=!0,this.#i=void 0,this}toString(){if(!this.#r&&this.#i!==void 0)return this.#i;const i=this.#t.showHeader?this.#o:[],e=this.#t.showFooter?this.#s:[],o=[...i,...this.#e,...e];if(o.length===0)return this.#i="",this.#r=!1,"";let h=0;for(const u of o){const w=u;Array.isArray(w)?h=Math.max(h,ce(w)):this.#n(`Unexpected non-array element found while calculating columns: ${JSON.stringify(w)}`)}if(h===0)return this.#i="",this.#r=!1,"";let n;Array.isArray(this.#t.columnWidths)?n=this.#t.columnWidths.length>=h?this.#t.columnWidths.slice(0,h):[...this.#t.columnWidths,...Array.from({length:h-this.#t.columnWidths.length}).fill(void 0)]:typeof this.#t.columnWidths=="number"&&(n=Array.from({length:h}).fill(this.#t.columnWidths));let r;const s=o.length;if(Array.isArray(this.#t.rowHeights)?r=this.#t.rowHeights:typeof this.#t.rowHeights=="number"&&(r=Array.from({length:s}).fill(this.#t.rowHeights)),n||o.some(u=>Array.isArray(u)&&u.some(w=>typeof w=="object"&&w!==null&&!Array.isArray(w)&&w.width!==void 0))&&(n=Array.from({length:h}).fill(void 0)),n&&Array.isArray(n)){const u=[...n];for(const w of o){const p=w;let g=0;for(const f of p){let b={};if(typeof f=="object"&&f!==null&&!Array.isArray(f)){const{content:W,href:x,...y}=f;b=y}b.width!==void 0?u[g]=b.width:b.maxWidth!==void 0&&u[g]!==void 0&&(u[g]=Math.min(u[g],b.maxWidth)),g+=b.colSpan??1}}n=u}const a={autoFlow:"row",backgroundColor:this.#t.style?.backgroundColor,balancedWidths:this.#t.balancedWidths??!1,border:this.#t.style?.border,borderColor:this.#t.style?.borderColor,columns:h,fixedColumnWidths:n,fixedRowHeights:r,foregroundColor:this.#t.style?.foregroundColor,gap:this.#t.gap??0,maxWidth:this.#t.maxWidth,onWarn:this.#t.onWarn,paddingLeft:this.#t.style?.paddingLeft,paddingRight:this.#t.style?.paddingRight,terminalWidth:this.#t.terminalWidth,truncate:this.#t.truncate??(n?.every(u=>typeof u=="number")||this.#t.maxWidth!==void 0&&!this.#t.balancedWidths),truncateOverflow:this.#t.truncateOverflow??!0,wordWrap:this.#t.wordWrap??!1},c=new ct(a),l=[];if(this.#t.columnDefaults)for(const[u,w]of this.#t.columnDefaults.entries())w&&(l[u]={...w});if(this.#t.colAligns)for(const[u,w]of this.#t.colAligns.entries())w!==void 0&&(l[u]={...l[u],hAlign:l[u]?.hAlign??w});const d=l.length>0,m=[];for(const[u,w]of o.entries()){const p=w;if(!Array.isArray(p)){this.#n(`Skipping non-array row while creating GridItems: ${JSON.stringify(p)}`);continue}const g=this.#t.showHeader?this.#o.length:0,f=this.#e.length,b=this.#t.showHeader&&u<g,W=this.#t.showFooter&&u>=g+f,x=b&&p.length===1&&h>1,y=W&&p.length===1&&h>1;let R=0;for(const A of p){let v=A,B={};if(typeof v=="object"&&v!==null&&!Array.isArray(v)){const{content:$,href:T,...j}=v;v=T?`\x1B]8;;${de(T)}\x1B\\${String($)}\x1B]8;;\x1B\\`:$,B=j}const C=d?l[R]:void 0;C&&(B={...B,hAlign:B.hAlign??C.hAlign,maxWidth:B.maxWidth??C.maxWidth,truncate:B.truncate??C.truncate,vAlign:B.vAlign??C.vAlign,wordWrap:B.wordWrap??C.wordWrap}),R+=B.colSpan??1,x&&(B.colSpan=h),y&&(B.colSpan=h);const E=this.#t.transformTabToSpace&&typeof v=="string"?v.replaceAll(" "," ".repeat(this.#t.transformTabToSpace)):v,{maxWidth:L}=B;m.push({backgroundColor:B.backgroundColor,colSpan:B.colSpan,content:E,foregroundColor:B.foregroundColor,hAlign:B.hAlign,maxWidth:L,rowSpan:B.rowSpan,truncate:B.truncate??(L===void 0?void 0:!0),vAlign:B.vAlign,wordWrap:B.wordWrap})}}return c.addItems(m),this.#i=c.toString(),this.#r=!1,this.#i}}const ve=t=>new ue(t);export{ve as N,Be as R,ye as a,be as c,ge as d,me as h,pe as i,ue as k,we as o,xe as r,ae as t,We as w};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as i}from"./resolve-runtime-CNiHcVtx.js";const t=e=>{if(e!==null&&typeof e=="object"&&"runtime"in e){const r=e.runtime;if(typeof r=="string")return r}},u=(e,r)=>{const n=i(r,{config:e.visConfig?.runtime,flag:t(e.options)});return n.deferredNotice!==void 0&&e.logger?.warn?.(n.deferredNotice),n},a=e=>e.runtime==="bun"?"bun":void 0;export{a,u as r};
|