From 90c7065372a826dd080a50640ed998f88b4590f9 Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Thu, 2 Apr 2026 19:09:22 -0400 Subject: [PATCH 1/9] chore(deps): migrate to @bomb.sh/tools --- AGENTS.md | 16 + biome.json | 47 - build.preset.ts | 15 - package.json | 13 +- packages/core/build.config.ts | 7 - packages/core/package.json | 8 +- packages/prompts/build.config.ts | 6 - packages/prompts/package.json | 9 +- .../__snapshots__/autocomplete.test.ts.snap | 994 +++--- .../test/__snapshots__/box.test.ts.snap | 12 +- .../test/__snapshots__/confirm.test.ts.snap | 300 +- .../test/__snapshots__/date.test.ts.snap | 160 +- .../group-multi-select.test.ts.snap | 984 +++--- .../test/__snapshots__/log.test.ts.snap | 132 +- .../__snapshots__/multi-line.test.ts.snap | 504 +-- .../__snapshots__/multi-select.test.ts.snap | 1352 ++++---- .../test/__snapshots__/note.test.ts.snap | 552 ++-- .../test/__snapshots__/password.test.ts.snap | 260 +- .../test/__snapshots__/path.test.ts.snap | 700 ++--- .../__snapshots__/progress-bar.test.ts.snap | 242 +- .../__snapshots__/select-key.test.ts.snap | 600 ++-- .../test/__snapshots__/select.test.ts.snap | 860 ++--- .../test/__snapshots__/spinner.test.ts.snap | 446 +-- .../test/__snapshots__/task-log.test.ts.snap | 1496 ++++----- .../test/__snapshots__/text.test.ts.snap | 348 +-- packages/prompts/vitest.config.ts | 10 - pnpm-lock.yaml | 2768 ++++++++--------- 27 files changed, 6265 insertions(+), 6576 deletions(-) create mode 100644 AGENTS.md delete mode 100644 biome.json delete mode 100644 build.preset.ts delete mode 100644 packages/core/build.config.ts delete mode 100644 packages/prompts/build.config.ts delete mode 100644 packages/prompts/vitest.config.ts diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..70996d2f --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,16 @@ + +# Skill mappings - when working in these areas, load the linked skill file into context. +skills: + - task: "Building packages for publish or generating declarations" + load: "node_modules/@bomb.sh/tools/skills/build/SKILL.md" + - task: "Writing or running tests" + load: "node_modules/@bomb.sh/tools/skills/test/SKILL.md" + - task: "Development workflow, command ordering, monorepo filtering" + load: "node_modules/@bomb.sh/tools/skills/lifecycle/SKILL.md" + - task: "Linting, code quality, or understanding lint violations" + load: "node_modules/@bomb.sh/tools/skills/lint/SKILL.md" + - task: "Formatting source files before committing" + load: "node_modules/@bomb.sh/tools/skills/format/SKILL.md" + - task: "Migrating off biome, unbuild, or other tools to bsh toolchain" + load: "node_modules/@bomb.sh/tools/skills/migrate/SKILL.md" + diff --git a/biome.json b/biome.json deleted file mode 100644 index c303deeb..00000000 --- a/biome.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$schema": "https://biomejs.dev/schemas/2.1.2/schema.json", - "vcs": { "enabled": false, "clientKind": "git", "useIgnoreFile": false }, - "files": { "ignoreUnknown": false, "includes": ["**", "!**/dist/**"] }, - "formatter": { - "enabled": true, - "useEditorconfig": true, - "formatWithErrors": false, - "indentStyle": "tab", - "indentWidth": 2, - "lineEnding": "lf", - "lineWidth": 100, - "attributePosition": "auto", - "bracketSpacing": true, - "includes": [ - "**", - "!**/.github/workflows/**/*.yml", - "!**/.changeset/**/*.md", - "!**/pnpm-lock.yaml", - "!**/package.json" - ] - }, - "assist": { "actions": { "source": { "organizeImports": "on" } } }, - "linter": { - "enabled": true, - "rules": { "recommended": true, "suspicious": { "noExplicitAny": "off" } } - }, - "javascript": { - "formatter": { - "jsxQuoteStyle": "double", - "quoteProperties": "asNeeded", - "trailingCommas": "es5", - "semicolons": "always", - "arrowParentheses": "always", - "bracketSameLine": false, - "quoteStyle": "single", - "attributePosition": "auto", - "bracketSpacing": true - } - }, - "overrides": [ - { - "includes": ["**/*.json", "**/*.toml", "**/*.yml"], - "formatter": { "indentStyle": "space" } - } - ] -} diff --git a/build.preset.ts b/build.preset.ts deleted file mode 100644 index ca7a1796..00000000 --- a/build.preset.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { definePreset } from 'unbuild'; - -// @see https://github.com/unjs/unbuild -export default definePreset({ - clean: true, - declaration: 'node16', - sourcemap: true, - rollup: { - emitCJS: false, - inlineDependencies: true, - esbuild: { - minify: true, - }, - }, -}); diff --git a/package.json b/package.json index b902cead..fd19a35d 100644 --- a/package.json +++ b/package.json @@ -3,25 +3,20 @@ "private": true, "type": "module", "scripts": { - "stub": "pnpm -r run build --stub", "build": "pnpm --filter \"@clack/*\" run build", "start": "pnpm run dev", "dev": "pnpm --filter @example/changesets run start", - "format": "biome check --write", - "lint": "biome lint --write --unsafe", - "types": "tsc --noEmit", - "deps": "pnpm exec knip --production", + "format": "bsh format", + "lint": "pnpm -r run lint", "test": "pnpm --color -r run test", "pretest": "pnpm run build" }, "devDependencies": { - "@biomejs/biome": "^2.1.2", + "@bomb.sh/tools": "^0.3.4", "@changesets/cli": "^2.29.5", "@types/node": "^24.1.0", "jsr": "^0.13.4", - "knip": "^5.62.0", - "typescript": "^5.8.3", - "unbuild": "^3.6.0" + "typescript": "^5.8.3" }, "packageManager": "pnpm@9.14.2", "volta": { diff --git a/packages/core/build.config.ts b/packages/core/build.config.ts deleted file mode 100644 index 8bd1ad27..00000000 --- a/packages/core/build.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { defineBuildConfig } from 'unbuild'; - -// @see https://github.com/unjs/unbuild -export default defineBuildConfig({ - preset: '../../build.preset', - entries: ['src/index'], -}); diff --git a/packages/core/package.json b/packages/core/package.json index b97d33ab..7ae47af9 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -48,15 +48,13 @@ "license": "MIT", "packageManager": "pnpm@9.14.2", "scripts": { - "build": "unbuild", + "build": "bsh build", "prepack": "pnpm build", - "test": "vitest run" + "test": "bsh test", + "lint": "bsh lint" }, "dependencies": { "fast-wrap-ansi": "^0.1.3", "sisteransi": "^1.0.5" - }, - "devDependencies": { - "vitest": "^3.2.4" } } diff --git a/packages/prompts/build.config.ts b/packages/prompts/build.config.ts deleted file mode 100644 index 6a4cead6..00000000 --- a/packages/prompts/build.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { defineBuildConfig } from 'unbuild'; - -export default defineBuildConfig({ - preset: '../../build.preset', - entries: ['src/index'], -}); diff --git a/packages/prompts/package.json b/packages/prompts/package.json index e0779fa1..fa9dfcf7 100644 --- a/packages/prompts/package.json +++ b/packages/prompts/package.json @@ -48,9 +48,10 @@ ], "packageManager": "pnpm@9.14.2", "scripts": { - "build": "unbuild", + "build": "bsh build", "prepack": "pnpm build", - "test": "vitest run" + "test": "bsh test", + "lint": "bsh lint" }, "dependencies": { "@clack/core": "workspace:*", @@ -60,8 +61,6 @@ }, "devDependencies": { "is-unicode-supported": "^1.3.0", - "memfs": "^4.17.2", - "vitest": "^3.2.4", - "vitest-ansi-serializer": "^0.1.2" + "memfs": "^4.17.2" } } diff --git a/packages/prompts/test/__snapshots__/autocomplete.test.ts.snap b/packages/prompts/test/__snapshots__/autocomplete.test.ts.snap index e508d4f4..efb12990 100644 --- a/packages/prompts/test/__snapshots__/autocomplete.test.ts.snap +++ b/packages/prompts/test/__snapshots__/autocomplete.test.ts.snap @@ -3,36 +3,36 @@ exports[`autocomplete > autocompleteMultiselect respects global withGuide: false 1`] = ` [ "", - "◆ Select fruits + "◆ Select fruits -Search: _ -◻ Apple -◻ Banana -◻ Cherry -◻ Grape -◻ Orange -↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +Search: _ +◻ Apple +Banana +Cherry +Grape +Orange +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search ", "", "", "", - "Search:  -◻ Apple -◻ Banana -◻ Cherry -◻ Grape -◻ Orange -↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search + "Search: +Apple +◻ Banana +Cherry +Grape +Orange +↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search ", "", "", "", - "◼ Banana", + "◼ Banana", "", "", "", - "◇ Select fruits -1 items selected", + "◇ Select fruits +1 items selected", " ", "", @@ -42,36 +42,36 @@ exports[`autocomplete > autocompleteMultiselect respects global withGuide: false exports[`autocomplete > autocompleteMultiselect respects withGuide: false 1`] = ` [ "", - "◆ Select fruits + "◆ Select fruits -Search: _ -◻ Apple -◻ Banana -◻ Cherry -◻ Grape -◻ Orange -↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +Search: _ +◻ Apple +Banana +Cherry +Grape +Orange +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search ", "", "", "", - "Search:  -◻ Apple -◻ Banana -◻ Cherry -◻ Grape -◻ Orange -↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search + "Search: +Apple +◻ Banana +Cherry +Grape +Orange +↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search ", "", "", "", - "◼ Banana", + "◼ Banana", "", "", "", - "◇ Select fruits -1 items selected", + "◇ Select fruits +1 items selected", " ", "", @@ -81,17 +81,17 @@ exports[`autocomplete > autocompleteMultiselect respects withGuide: false 1`] = exports[`autocomplete > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: _ +● Apple +Banana +Cherry +Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", " ", "", @@ -101,30 +101,30 @@ exports[`autocomplete > can be aborted by a signal 1`] = ` exports[`autocomplete > cannot select disabled options when only one left 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +● Apple +Banana +Cherry +Grape +Orange +○ Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: k█ (1 match) -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: k█ (1 match) +○ Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│", + "◇ Select a fruit +│", " ", "", @@ -134,73 +134,73 @@ exports[`autocomplete > cannot select disabled options when only one left 1`] = exports[`autocomplete > displays disabled options correctly 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +● Apple +Banana +Cherry +Grape +Orange +○ Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: -│ ○ Apple -│ ● Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: +Apple +● Banana +Cherry +Grape +Orange +○ Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ ○ Banana -│ ● Cherry -│ ○ Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Banana +● Cherry +Grape +Orange +○ Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ ○ Cherry -│ ● Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Cherry +● Grape +Orange +○ Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ ○ Grape -│ ● Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Grape +● Orange +○ Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "● Apple +Banana +Cherry +Grape +Orange +○ Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ Apple", + "◇ Select a fruit +Apple", " ", "", @@ -210,23 +210,23 @@ exports[`autocomplete > displays disabled options correctly 1`] = ` exports[`autocomplete > limits displayed options when maxItems is set 1`] = ` [ "", - "│ -◆ Select an option -│ -│ Search: _ -│ ● Option 0 -│ ○ Option 1 -│ ○ Option 2 -│ ○ Option 3 -│ ○ Option 4 -│ ... -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select an option +│ +Search: _ +● Option 0 +Option 1 +Option 2 +Option 3 +Option 4 +... +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select an option -│ Option 0", + "◇ Select an option +Option 0", " ", "", @@ -236,30 +236,30 @@ exports[`autocomplete > limits displayed options when maxItems is set 1`] = ` exports[`autocomplete > placeholder is shown if set 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: Type to search... -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: Type to search... +● Apple +Banana +Cherry +Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: g█ (2 matches) -│ ● Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: g█ (2 matches) +● Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ Grape", + "◇ Select a fruit +Grape", " ", "", @@ -269,24 +269,24 @@ exports[`autocomplete > placeholder is shown if set 1`] = ` exports[`autocomplete > renders bottom ellipsis when items do not fit 1`] = ` [ "", - "│ -◆ Select an option -│ -│ Search: _ -│ ● Line 0 -│ Line 1 -│ Line 2 -│ Line 3 -│ ... -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select an option +│ +Search: _ +● Line 0 +│ Line 1 +│ Line 2 +│ Line 3 +... +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", - "◇ Select an option -│ Line 0 + "◇ Select an option +Line 0 Line 1 Line 2 -Line 3", +Line 3", " ", "", @@ -296,22 +296,22 @@ Line 3", exports[`autocomplete > renders initial UI with message and instructions 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +● Apple +Banana +Cherry +Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ Apple", + "◇ Select a fruit +Apple", " ", "", @@ -321,22 +321,22 @@ exports[`autocomplete > renders initial UI with message and instructions 1`] = ` exports[`autocomplete > renders placeholder if set 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: Type to search... -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: Type to search... +● Apple +Banana +Cherry +Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ Apple", + "◇ Select a fruit +Apple", " ", "", @@ -346,19 +346,19 @@ exports[`autocomplete > renders placeholder if set 1`] = ` exports[`autocomplete > renders top ellipsis when scrolled down and its do not fit 1`] = ` [ "", - "│ -◆ Select an option -│ -│ Search: _ -│ ... -│ ● Option 2 -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select an option +│ +Search: _ +... +● Option 2 +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", - "│ -◇ Select an option -│ Option 2", + "│ +◇ Select an option +Option 2", " ", "", @@ -368,69 +368,69 @@ exports[`autocomplete > renders top ellipsis when scrolled down and its do not f exports[`autocomplete > shows hint when option has hint and is focused 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +● Apple +Banana +Cherry +Grape +Orange +Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: -│ ○ Apple -│ ● Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: +Apple +● Banana +Cherry +Grape +Orange +Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ ○ Banana -│ ● Cherry -│ ○ Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Banana +● Cherry +Grape +Orange +Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ ○ Cherry -│ ● Grape -│ ○ Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Cherry +● Grape +Orange +Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ ○ Grape -│ ● Orange -│ ○ Kiwi -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Grape +● Orange +Kiwi +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ ○ Orange -│ ● Kiwi (New Zealand) -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Orange +● Kiwi (New Zealand) +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ Kiwi", + "◇ Select a fruit +Kiwi", " ", "", @@ -440,29 +440,29 @@ exports[`autocomplete > shows hint when option has hint and is focused 1`] = ` exports[`autocomplete > shows no matches message when search has no results 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +● Apple +Banana +Cherry +Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: z█ (0 matches) -│ No matches found -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: z█ (0 matches) +No matches found +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│", + "◇ Select a fruit +│", " ", "", @@ -472,33 +472,33 @@ exports[`autocomplete > shows no matches message when search has no results 1`] exports[`autocomplete > shows selected value in submit state 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +● Apple +Banana +Cherry +Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: -│ ○ Apple -│ ● Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: +Apple +● Banana +Cherry +Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ Banana", + "◇ Select a fruit +Banana", " ", "", @@ -508,22 +508,22 @@ exports[`autocomplete > shows selected value in submit state 1`] = ` exports[`autocomplete > shows strikethrough in cancel state 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ○ Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +● Apple +Banana +Cherry +Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "■ Select a fruit -│", + "■ Select a fruit +│", " ", "", @@ -533,22 +533,22 @@ exports[`autocomplete > shows strikethrough in cancel state 1`] = ` exports[`autocomplete > supports initialValue 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ○ Apple -│ ○ Banana -│ ● Cherry -│ ○ Grape -│ ○ Orange -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +Apple +Banana +● Cherry +Grape +Orange +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ Cherry", + "◇ Select a fruit +Cherry", " ", "", @@ -558,28 +558,28 @@ exports[`autocomplete > supports initialValue 1`] = ` exports[`autocomplete with custom filter > falls back to default filter when not provided 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +● Apple +Banana +Cherry +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: a█ (2 matches) -│ ● Apple -│ ○ Banana -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: a█ (2 matches) +● Apple +Banana +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ Apple", + "◇ Select a fruit +Apple", " ", "", @@ -589,27 +589,27 @@ exports[`autocomplete with custom filter > falls back to default filter when not exports[`autocomplete with custom filter > uses custom filter function when provided 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ● Apple -│ ○ Banana -│ ○ Cherry -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +● Apple +Banana +Cherry +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: a█ (1 match) -│ ● Apple -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: a█ (1 match) +● Apple +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ Apple", + "◇ Select a fruit +Apple", " ", "", @@ -619,17 +619,17 @@ exports[`autocomplete with custom filter > uses custom filter function when prov exports[`autocompleteMultiselect > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: _ -│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: _ +◻ Apple +Banana +Cherry +Grape +Orange +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", " ", "", @@ -639,52 +639,52 @@ exports[`autocompleteMultiselect > can be aborted by a signal 1`] = ` exports[`autocompleteMultiselect > can use navigation keys to select options 1`] = ` [ "", - "│ -◆ Select fruits -│ -│ Search: _ -│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "│ +◆ Select fruits +│ +Search: _ +◻ Apple +Banana +Cherry +Grape +Orange +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search:  -│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search -└", + "Search: +Apple +◻ Banana +Cherry +Grape +Orange +↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ ◼ Banana", + "◼ Banana", "", "", "", "", - "│ ◼ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search -└", + "Banana +◻ Cherry +Grape +Orange +↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ ◼ Cherry", + "◼ Cherry", "", "", "", "", - "◇ Select fruits -│ 2 items selected", + "◇ Select fruits +2 items selected", " ", "", @@ -694,30 +694,30 @@ exports[`autocompleteMultiselect > can use navigation keys to select options 1`] exports[`autocompleteMultiselect > cannot select disabled options when only one left 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ◻ Kiwi -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +◻ Apple +Banana +Cherry +Grape +Orange +◻ Kiwi +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: k█ (1 match) -│ ◻ Kiwi -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "Search: k█ (1 match) +◻ Kiwi +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ 0 items selected", + "◇ Select a fruit +0 items selected", " ", "", @@ -727,78 +727,78 @@ exports[`autocompleteMultiselect > cannot select disabled options when only one exports[`autocompleteMultiselect > displays disabled options correctly 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ◻ Kiwi -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +◻ Apple +Banana +Cherry +Grape +Orange +◻ Kiwi +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search:  -│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ◻ Kiwi -│ ↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search -└", + "Search: +Apple +◻ Banana +Cherry +Grape +Orange +◻ Kiwi +↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ◻ Kiwi -│ ↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search -└", + "Banana +◻ Cherry +Grape +Orange +◻ Kiwi +↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ◻ Kiwi -│ ↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search -└", + "Cherry +◻ Grape +Orange +◻ Kiwi +↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ ◻ Grape -│ ◻ Orange -│ ◻ Kiwi -│ ↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search -└", + "Grape +◻ Orange +◻ Kiwi +↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ◻ Kiwi -│ ↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search -└", + "◻ Apple +Banana +Cherry +Grape +Orange +◻ Kiwi +↑/↓ to navigate • Space/Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ ◼ Apple", + "◼ Apple", "", "", "", "", - "◇ Select a fruit -│ 1 items selected", + "◇ Select a fruit +1 items selected", " ", "", @@ -808,49 +808,49 @@ exports[`autocompleteMultiselect > displays disabled options correctly 1`] = ` exports[`autocompleteMultiselect > renders error when empty selection & required is true 1`] = ` [ "", - "│ -◆ Select a fruit -│ -│ Search: _ -│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "│ +◆ Select a fruit +│ +Search: _ +◻ Apple +Banana +Cherry +Grape +Orange +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "▲ Select a fruit -│ -│ Search: _ -│ Please select at least one item -│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "▲ Select a fruit +│ +Search: _ +Please select at least one item +◻ Apple +Banana +Cherry +Grape +Orange +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "◆ Select a fruit -│ -│ Search: _ -│ ◼ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "◆ Select a fruit +│ +Search: _ +◼ Apple +Banana +Cherry +Grape +Orange +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "◇ Select a fruit -│ 1 items selected", + "◇ Select a fruit +1 items selected", " ", "", @@ -860,34 +860,34 @@ exports[`autocompleteMultiselect > renders error when empty selection & required exports[`autocompleteMultiselect > supports custom filter function 1`] = ` [ "", - "│ -◆ Select fruits -│ -│ Search: _ -│ ◻ Apple -│ ◻ Banana -│ ◻ Cherry -│ ◻ Grape -│ ◻ Orange -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "│ +◆ Select fruits +│ +Search: _ +◻ Apple +Banana +Cherry +Grape +Orange +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: a█ (1 match) -│ ◻ Apple -│ ↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search -└", + "Search: a█ (1 match) +◻ Apple +↑/↓ to navigate • Tab: select • Enter: confirm • Type: to search +└", "", "", "", - "│ ◼ Apple", + "◼ Apple", "", "", "", "", - "◇ Select fruits -│ 1 items selected", + "◇ Select fruits +1 items selected", " ", "", diff --git a/packages/prompts/test/__snapshots__/box.test.ts.snap b/packages/prompts/test/__snapshots__/box.test.ts.snap index b8926767..cb745226 100644 --- a/packages/prompts/test/__snapshots__/box.test.ts.snap +++ b/packages/prompts/test/__snapshots__/box.test.ts.snap @@ -225,11 +225,11 @@ exports[`box (isCI = false) > renders wide characters with specified width 1`] = exports[`box (isCI = false) > renders with formatBorder formatting 1`] = ` [ - "│ ┌─title──────┐ + "│ ─title┐ ", - "│ │ message │ + "│ │ message │ ", - "│ └────────────┘ + "│ ┘ ", ] `; @@ -500,11 +500,11 @@ exports[`box (isCI = true) > renders wide characters with specified width 1`] = exports[`box (isCI = true) > renders with formatBorder formatting 1`] = ` [ - "│ ┌─title──────┐ + "│ ─title┐ ", - "│ │ message │ + "│ │ message │ ", - "│ └────────────┘ + "│ ┘ ", ] `; diff --git a/packages/prompts/test/__snapshots__/confirm.test.ts.snap b/packages/prompts/test/__snapshots__/confirm.test.ts.snap index bdc4ed63..d7bafcda 100644 --- a/packages/prompts/test/__snapshots__/confirm.test.ts.snap +++ b/packages/prompts/test/__snapshots__/confirm.test.ts.snap @@ -3,10 +3,10 @@ exports[`confirm (isCI = false) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ yes? -│ ● Yes / ○ No -└ + "│ +◆ yes? +● Yes / No +└ ", " ", @@ -17,17 +17,17 @@ exports[`confirm (isCI = false) > can be aborted by a signal 1`] = ` exports[`confirm (isCI = false) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ No -└ + "│ +◆ foo +● Yes / No +└ ", "", "", "", - "■ foo -│ No -│", + "■ foo +│ No +│", " ", "", @@ -37,16 +37,16 @@ exports[`confirm (isCI = false) > can cancel 1`] = ` exports[`confirm (isCI = false) > can set initialValue 1`] = ` [ "", - "│ -◆ foo -│ ○ Yes / ● No -└ + "│ +◆ foo +Yes / ● No +└ ", "", "", "", - "◇ foo -│ No", + "◇ foo +No", " ", "", @@ -56,14 +56,14 @@ exports[`confirm (isCI = false) > can set initialValue 1`] = ` exports[`confirm (isCI = false) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo -● Yes / ○ No + "◆ foo +● Yes / No ", "", "", - "◇ foo -Yes", + "◇ foo +Yes", " ", "", @@ -73,26 +73,26 @@ exports[`confirm (isCI = false) > global withGuide: false removes guide 1`] = ` exports[`confirm (isCI = false) > left arrow moves to previous choice 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ No -└ + "│ +◆ foo +● Yes / No +└ ", "", "", "", - "│ ○ Yes / ● No", + "Yes / ● No", "", "", "", "", - "│ ● Yes / ○ No", + "● Yes / No", "", "", "", "", - "◇ foo -│ Yes", + "◇ foo +Yes", " ", "", @@ -102,16 +102,16 @@ exports[`confirm (isCI = false) > left arrow moves to previous choice 1`] = ` exports[`confirm (isCI = false) > renders custom active choice 1`] = ` [ "", - "│ -◆ foo -│ ● bleep / ○ No -└ + "│ +◆ foo +● bleep / No +└ ", "", "", "", - "◇ foo -│ bleep", + "◇ foo +bleep", " ", "", @@ -121,16 +121,16 @@ exports[`confirm (isCI = false) > renders custom active choice 1`] = ` exports[`confirm (isCI = false) > renders custom inactive choice 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ bleep -└ + "│ +◆ foo +● Yes / bleep +└ ", "", "", "", - "◇ foo -│ Yes", + "◇ foo +Yes", " ", "", @@ -140,16 +140,16 @@ exports[`confirm (isCI = false) > renders custom inactive choice 1`] = ` exports[`confirm (isCI = false) > renders message with choices 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ No -└ + "│ +◆ foo +● Yes / No +└ ", "", "", "", - "◇ foo -│ Yes", + "◇ foo +Yes", " ", "", @@ -159,20 +159,20 @@ exports[`confirm (isCI = false) > renders message with choices 1`] = ` exports[`confirm (isCI = false) > renders multi-line messages correctly 1`] = ` [ "", - "│ -◆ foo -│ bar -│ baz -│ ● Yes / ○ No -└ + "│ +◆ foo +│ bar +│ baz +● Yes / No +└ ", "", "", "", - "◇ foo -│ bar -│ baz -│ Yes", + "◇ foo +│ bar +│ baz +Yes", " ", "", @@ -182,17 +182,17 @@ exports[`confirm (isCI = false) > renders multi-line messages correctly 1`] = ` exports[`confirm (isCI = false) > renders options in vertical alignment 1`] = ` [ "", - "│ -◆ foo -│ ● Yes -│ ○ No -└ + "│ +◆ foo +● Yes +No +└ ", "", "", "", - "◇ foo -│ Yes", + "◇ foo +Yes", " ", "", @@ -202,21 +202,21 @@ exports[`confirm (isCI = false) > renders options in vertical alignment 1`] = ` exports[`confirm (isCI = false) > right arrow moves to next choice 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ No -└ + "│ +◆ foo +● Yes / No +└ ", "", "", "", - "│ ○ Yes / ● No", + "Yes / ● No", "", "", "", "", - "◇ foo -│ No", + "◇ foo +No", " ", "", @@ -226,14 +226,14 @@ exports[`confirm (isCI = false) > right arrow moves to next choice 1`] = ` exports[`confirm (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo -● Yes / ○ No + "◆ foo +● Yes / No ", "", "", - "◇ foo -Yes", + "◇ foo +Yes", " ", "", @@ -243,10 +243,10 @@ exports[`confirm (isCI = false) > withGuide: false removes guide 1`] = ` exports[`confirm (isCI = true) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ yes? -│ ● Yes / ○ No -└ + "│ +◆ yes? +● Yes / No +└ ", " ", @@ -257,17 +257,17 @@ exports[`confirm (isCI = true) > can be aborted by a signal 1`] = ` exports[`confirm (isCI = true) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ No -└ + "│ +◆ foo +● Yes / No +└ ", "", "", "", - "■ foo -│ No -│", + "■ foo +│ No +│", " ", "", @@ -277,16 +277,16 @@ exports[`confirm (isCI = true) > can cancel 1`] = ` exports[`confirm (isCI = true) > can set initialValue 1`] = ` [ "", - "│ -◆ foo -│ ○ Yes / ● No -└ + "│ +◆ foo +Yes / ● No +└ ", "", "", "", - "◇ foo -│ No", + "◇ foo +No", " ", "", @@ -296,14 +296,14 @@ exports[`confirm (isCI = true) > can set initialValue 1`] = ` exports[`confirm (isCI = true) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo -● Yes / ○ No + "◆ foo +● Yes / No ", "", "", - "◇ foo -Yes", + "◇ foo +Yes", " ", "", @@ -313,26 +313,26 @@ exports[`confirm (isCI = true) > global withGuide: false removes guide 1`] = ` exports[`confirm (isCI = true) > left arrow moves to previous choice 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ No -└ + "│ +◆ foo +● Yes / No +└ ", "", "", "", - "│ ○ Yes / ● No", + "Yes / ● No", "", "", "", "", - "│ ● Yes / ○ No", + "● Yes / No", "", "", "", "", - "◇ foo -│ Yes", + "◇ foo +Yes", " ", "", @@ -342,16 +342,16 @@ exports[`confirm (isCI = true) > left arrow moves to previous choice 1`] = ` exports[`confirm (isCI = true) > renders custom active choice 1`] = ` [ "", - "│ -◆ foo -│ ● bleep / ○ No -└ + "│ +◆ foo +● bleep / No +└ ", "", "", "", - "◇ foo -│ bleep", + "◇ foo +bleep", " ", "", @@ -361,16 +361,16 @@ exports[`confirm (isCI = true) > renders custom active choice 1`] = ` exports[`confirm (isCI = true) > renders custom inactive choice 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ bleep -└ + "│ +◆ foo +● Yes / bleep +└ ", "", "", "", - "◇ foo -│ Yes", + "◇ foo +Yes", " ", "", @@ -380,16 +380,16 @@ exports[`confirm (isCI = true) > renders custom inactive choice 1`] = ` exports[`confirm (isCI = true) > renders message with choices 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ No -└ + "│ +◆ foo +● Yes / No +└ ", "", "", "", - "◇ foo -│ Yes", + "◇ foo +Yes", " ", "", @@ -399,20 +399,20 @@ exports[`confirm (isCI = true) > renders message with choices 1`] = ` exports[`confirm (isCI = true) > renders multi-line messages correctly 1`] = ` [ "", - "│ -◆ foo -│ bar -│ baz -│ ● Yes / ○ No -└ + "│ +◆ foo +│ bar +│ baz +● Yes / No +└ ", "", "", "", - "◇ foo -│ bar -│ baz -│ Yes", + "◇ foo +│ bar +│ baz +Yes", " ", "", @@ -422,17 +422,17 @@ exports[`confirm (isCI = true) > renders multi-line messages correctly 1`] = ` exports[`confirm (isCI = true) > renders options in vertical alignment 1`] = ` [ "", - "│ -◆ foo -│ ● Yes -│ ○ No -└ + "│ +◆ foo +● Yes +No +└ ", "", "", "", - "◇ foo -│ Yes", + "◇ foo +Yes", " ", "", @@ -442,21 +442,21 @@ exports[`confirm (isCI = true) > renders options in vertical alignment 1`] = ` exports[`confirm (isCI = true) > right arrow moves to next choice 1`] = ` [ "", - "│ -◆ foo -│ ● Yes / ○ No -└ + "│ +◆ foo +● Yes / No +└ ", "", "", "", - "│ ○ Yes / ● No", + "Yes / ● No", "", "", "", "", - "◇ foo -│ No", + "◇ foo +No", " ", "", @@ -466,14 +466,14 @@ exports[`confirm (isCI = true) > right arrow moves to next choice 1`] = ` exports[`confirm (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo -● Yes / ○ No + "◆ foo +● Yes / No ", "", "", - "◇ foo -Yes", + "◇ foo +Yes", " ", "", diff --git a/packages/prompts/test/__snapshots__/date.test.ts.snap b/packages/prompts/test/__snapshots__/date.test.ts.snap index 6af6422b..559b1be9 100644 --- a/packages/prompts/test/__snapshots__/date.test.ts.snap +++ b/packages/prompts/test/__snapshots__/date.test.ts.snap @@ -3,16 +3,16 @@ exports[`date (isCI = false) > can cancel 1`] = ` [ "", - "│ -◆ Pick a date -│ mm/dd/yyyy -└ + "│ +◆ Pick a date +│ mm/dd/yyyy +└ ", "", "", "", - "■ Pick a date -│", + "■ Pick a date +│", " ", "", @@ -22,16 +22,16 @@ exports[`date (isCI = false) > can cancel 1`] = ` exports[`date (isCI = false) > defaultValue used when empty submit 1`] = ` [ "", - "│ -◆ Pick a date -│ 12/25/2025 -└ + "│ +◆ Pick a date +│ 12/25/2025 +└ ", "", "", "", - "◇ Pick a date -│ 12/25/2025", + "◇ Pick a date +12/25/2025", " ", "", @@ -41,16 +41,16 @@ exports[`date (isCI = false) > defaultValue used when empty submit 1`] = ` exports[`date (isCI = false) > renders initial value 1`] = ` [ "", - "│ -◆ Pick a date -│ 01/15/2025 -└ + "│ +◆ Pick a date +│ 01/15/2025 +└ ", "", "", "", - "◇ Pick a date -│ 01/15/2025", + "◇ Pick a date +01/15/2025", " ", "", @@ -60,16 +60,16 @@ exports[`date (isCI = false) > renders initial value 1`] = ` exports[`date (isCI = false) > renders message 1`] = ` [ "", - "│ -◆ Pick a date -│ 01/15/2025 -└ + "│ +◆ Pick a date +│ 01/15/2025 +└ ", "", "", "", - "◇ Pick a date -│ 01/15/2025", + "◇ Pick a date +01/15/2025", " ", "", @@ -79,16 +79,16 @@ exports[`date (isCI = false) > renders message 1`] = ` exports[`date (isCI = false) > renders submitted value 1`] = ` [ "", - "│ -◆ Pick a date -│ 06/15/2025 -└ + "│ +◆ Pick a date +│ 06/15/2025 +└ ", "", "", "", - "◇ Pick a date -│ 06/15/2025", + "◇ Pick a date +06/15/2025", " ", "", @@ -98,16 +98,16 @@ exports[`date (isCI = false) > renders submitted value 1`] = ` exports[`date (isCI = false) > supports MDY format 1`] = ` [ "", - "│ -◆ Pick a date -│ 01/15/2025 -└ + "│ +◆ Pick a date +│ 01/15/2025 +└ ", "", "", "", - "◇ Pick a date -│ 01/15/2025", + "◇ Pick a date +01/15/2025", " ", "", @@ -117,14 +117,14 @@ exports[`date (isCI = false) > supports MDY format 1`] = ` exports[`date (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◆ Pick a date -01/15/2025 + "◆ Pick a date +01/15/2025 ", "", "", - "◇ Pick a date - 01/15/2025", + "◇ Pick a date + 01/15/2025", " ", "", @@ -134,16 +134,16 @@ exports[`date (isCI = false) > withGuide: false removes guide 1`] = ` exports[`date (isCI = true) > can cancel 1`] = ` [ "", - "│ -◆ Pick a date -│ mm/dd/yyyy -└ + "│ +◆ Pick a date +│ mm/dd/yyyy +└ ", "", "", "", - "■ Pick a date -│", + "■ Pick a date +│", " ", "", @@ -153,16 +153,16 @@ exports[`date (isCI = true) > can cancel 1`] = ` exports[`date (isCI = true) > defaultValue used when empty submit 1`] = ` [ "", - "│ -◆ Pick a date -│ 12/25/2025 -└ + "│ +◆ Pick a date +│ 12/25/2025 +└ ", "", "", "", - "◇ Pick a date -│ 12/25/2025", + "◇ Pick a date +12/25/2025", " ", "", @@ -172,16 +172,16 @@ exports[`date (isCI = true) > defaultValue used when empty submit 1`] = ` exports[`date (isCI = true) > renders initial value 1`] = ` [ "", - "│ -◆ Pick a date -│ 01/15/2025 -└ + "│ +◆ Pick a date +│ 01/15/2025 +└ ", "", "", "", - "◇ Pick a date -│ 01/15/2025", + "◇ Pick a date +01/15/2025", " ", "", @@ -191,16 +191,16 @@ exports[`date (isCI = true) > renders initial value 1`] = ` exports[`date (isCI = true) > renders message 1`] = ` [ "", - "│ -◆ Pick a date -│ 01/15/2025 -└ + "│ +◆ Pick a date +│ 01/15/2025 +└ ", "", "", "", - "◇ Pick a date -│ 01/15/2025", + "◇ Pick a date +01/15/2025", " ", "", @@ -210,16 +210,16 @@ exports[`date (isCI = true) > renders message 1`] = ` exports[`date (isCI = true) > renders submitted value 1`] = ` [ "", - "│ -◆ Pick a date -│ 06/15/2025 -└ + "│ +◆ Pick a date +│ 06/15/2025 +└ ", "", "", "", - "◇ Pick a date -│ 06/15/2025", + "◇ Pick a date +06/15/2025", " ", "", @@ -229,16 +229,16 @@ exports[`date (isCI = true) > renders submitted value 1`] = ` exports[`date (isCI = true) > supports MDY format 1`] = ` [ "", - "│ -◆ Pick a date -│ 01/15/2025 -└ + "│ +◆ Pick a date +│ 01/15/2025 +└ ", "", "", "", - "◇ Pick a date -│ 01/15/2025", + "◇ Pick a date +01/15/2025", " ", "", @@ -248,14 +248,14 @@ exports[`date (isCI = true) > supports MDY format 1`] = ` exports[`date (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◆ Pick a date -01/15/2025 + "◆ Pick a date +01/15/2025 ", "", "", - "◇ Pick a date - 01/15/2025", + "◇ Pick a date + 01/15/2025", " ", "", diff --git a/packages/prompts/test/__snapshots__/group-multi-select.test.ts.snap b/packages/prompts/test/__snapshots__/group-multi-select.test.ts.snap index f439de6e..7db02072 100644 --- a/packages/prompts/test/__snapshots__/group-multi-select.test.ts.snap +++ b/packages/prompts/test/__snapshots__/group-multi-select.test.ts.snap @@ -3,13 +3,13 @@ exports[`groupMultiselect (isCI = false) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ Select a fruit -│ ◻ group1 -│ └ ◻ group1value0 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "│ +◆ Select a fruit +◻ group1 +│ └ group1value0 +group2 +group2value0 +└ ", " ", @@ -20,54 +20,54 @@ exports[`groupMultiselect (isCI = false) > can be aborted by a signal 1`] = ` exports[`groupMultiselect (isCI = false) > can deselect an option 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "group1 +◻ group1value0 +group1value1 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "│ │ ◼ group1value0 -│ └ ◻ group1value1 -└ + "group1value0 +◻ group1value1 +└ ", "", "", "", - "│ ◼ group1 -│ │ ◼ group1value0 -│ └ ◼ group1value1 -└ + "group1 +group1value0 +◼ group1value1 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◼ group1value0 -│ └ ◻ group1value1 -└ + "group1 +group1value0 +◻ group1value1 +└ ", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -77,26 +77,26 @@ exports[`groupMultiselect (isCI = false) > can deselect an option 1`] = ` exports[`groupMultiselect (isCI = false) > can select a group 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "│ ◼ group1 -│ │ ◼ group1value0 -│ └ ◼ group1value1 -└ + "◼ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "◇ foo -│ group1value0, group1value1", + "◇ foo +group1value0, group1value1", " ", "", @@ -106,46 +106,46 @@ exports[`groupMultiselect (isCI = false) > can select a group 1`] = ` exports[`groupMultiselect (isCI = false) > can select a group by selecting all members 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "group1 +◻ group1value0 +group1value1 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "│ │ ◼ group1value0 -│ └ ◻ group1value1 -└ + "group1value0 +◻ group1value1 +└ ", "", "", "", - "│ ◼ group1 -│ │ ◼ group1value0 -│ └ ◼ group1value1 -└ + "group1 +group1value0 +◼ group1value1 +└ ", "", "", "", - "◇ foo -│ group1value0, group1value1", + "◇ foo +group1value0, group1value1", " ", "", @@ -155,46 +155,46 @@ exports[`groupMultiselect (isCI = false) > can select a group by selecting all m exports[`groupMultiselect (isCI = false) > can select multiple options 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ │ ◻ group1value1 -│ └ ◻ group1value2 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ │ group1value1 +│ └ group1value2 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ group1value0 -│ │ ◻ group1value1 -│ └ ◻ group1value2 -└ + "group1 +◻ group1value0 +group1value1 +group1value2 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "│ │ ◼ group1value0 -│ │ ◻ group1value1 -│ └ ◻ group1value2 -└ + "group1value0 +◻ group1value1 +group1value2 +└ ", "", "", "", - "│ │ ◼ group1value1", + "◼ group1value1", "", "", "", "", - "◇ foo -│ group1value0, group1value1", + "◇ foo +group1value0, group1value1", " ", "", @@ -204,18 +204,18 @@ exports[`groupMultiselect (isCI = false) > can select multiple options 1`] = ` exports[`groupMultiselect (isCI = false) > can submit empty selection when require = false 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "◇ foo -│", + "◇ foo +│", " ", "", @@ -225,23 +225,23 @@ exports[`groupMultiselect (isCI = false) > can submit empty selection when requi exports[`groupMultiselect (isCI = false) > cursorAt sets initial selection 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +group1 +group1value0 +◻ group1value1 +└ ", "", "", "", - "│ └ ◼ group1value1", + "◼ group1value1", "", "", "", "", - "◇ foo -│ group1value1", + "◇ foo +group1value1", " ", "", @@ -251,29 +251,29 @@ exports[`groupMultiselect (isCI = false) > cursorAt sets initial selection 1`] = exports[`groupMultiselect (isCI = false) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo - ◻ group1 - │ ◻ group1value0 - └ ◻ group1value1 + "◆ foo + ◻ group1 + │ group1value0 + └ group1value1 ", "", "", "", - " ◻ group1 - │ ◻ group1value0 - └ ◻ group1value1 + " group1 + ◻ group1value0 + group1value1 ", "", "", "", - " │ ◼ group1value0", + " ◼ group1value0", "", "", "", - "◇ foo - group1value0", + "◇ foo + group1value0", " ", "", @@ -283,37 +283,37 @@ exports[`groupMultiselect (isCI = false) > global withGuide: false removes guide exports[`groupMultiselect (isCI = false) > groupSpacing > negative spacing is ignored 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ └ ◻ group1value0 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "│ +◆ foo +◻ group1 +│ └ group1value0 +group2 +group2value0 +└ ", "", "", "", - "│ ◻ group1 -│ └ ◻ group1value0 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◻ group1value0 +group2 +group2value0 +└ ", "", "", "", - "│ ◼ group1 -│ └ ◼ group1value0 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◼ group1value0 +group2 +group2value0 +└ ", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -323,45 +323,45 @@ exports[`groupMultiselect (isCI = false) > groupSpacing > negative spacing is ig exports[`groupMultiselect (isCI = false) > groupSpacing > renders spaced groups 1`] = ` [ "", - "│ -◆ foo -│ -│ -│ ◻ group1 -│ └ ◻ group1value0 -│ -│ -│ ◻ group2 -│ └ ◻ group2value0 -└ + "│ +◆ foo +│ +│ +◻ group1 +│ └ group1value0 +│ +│ +group2 +group2value0 +└ ", "", "", "", - "│ ◻ group1 -│ └ ◻ group1value0 -│ -│ -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◻ group1value0 +│ +│ +group2 +group2value0 +└ ", "", "", "", - "│ ◼ group1 -│ └ ◼ group1value0 -│ -│ -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◼ group1value0 +│ +│ +group2 +group2value0 +└ ", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -371,18 +371,18 @@ exports[`groupMultiselect (isCI = false) > groupSpacing > renders spaced groups exports[`groupMultiselect (isCI = false) > initial values can be set 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◼ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "◇ foo -│ group1value1", + "◇ foo +group1value1", " ", "", @@ -392,42 +392,42 @@ exports[`groupMultiselect (isCI = false) > initial values can be set 1`] = ` exports[`groupMultiselect (isCI = false) > renders error when nothing selected 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "▲ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ Please select at least one option. - Press  space  to select,  enter  to submit + "▲ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +Please select at least one option. + Press  space  to select,  enter  to submit ", "", "", "", - "◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "◆ foo +group1 +◻ group1value0 +group1value1 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -437,35 +437,35 @@ exports[`groupMultiselect (isCI = false) > renders error when nothing selected 1 exports[`groupMultiselect (isCI = false) > renders message with options 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +group2 +group2value0 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◻ group1value0 +group1value1 +group2 +group2value0 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -475,23 +475,23 @@ exports[`groupMultiselect (isCI = false) > renders message with options 1`] = ` exports[`groupMultiselect (isCI = false) > selectableGroups = false > cannot select groups 1`] = ` [ "", - "│ -◆ foo -│  group1 -│  ◻ group1value0 -│  ◻ group1value1 -└ + "│ +◆ foo + group1 + ◻ group1value0 + group1value1 +└ ", "", "", "", - "│  ◼ group1value0", + " ◼ group1value0", "", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -501,35 +501,35 @@ exports[`groupMultiselect (isCI = false) > selectableGroups = false > cannot sel exports[`groupMultiselect (isCI = false) > selectableGroups = false > selecting all members of group does not select group 1`] = ` [ "", - "│ -◆ foo -│  group1 -│  ◻ group1value0 -│  ◻ group1value1 -└ + "│ +◆ foo + group1 + ◻ group1value0 + group1value1 +└ ", "", "", "", - "│  ◼ group1value0", + " ◼ group1value0", "", "", "", "", - "│  ◼ group1value0 -│  ◻ group1value1 -└ + " group1value0 + ◻ group1value1 +└ ", "", "", "", - "│  ◼ group1value1", + " ◼ group1value1", "", "", "", "", - "◇ foo -│ group1value0, group1value1", + "◇ foo +group1value0, group1value1", " ", "", @@ -539,31 +539,31 @@ exports[`groupMultiselect (isCI = false) > selectableGroups = false > selecting exports[`groupMultiselect (isCI = false) > values can be non-primitive 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ value0 -│ └ ◻ value1 -└ + "│ +◆ foo +◻ group1 +│ │ value0 +│ └ value1 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ value0 -│ └ ◻ value1 -└ + "group1 +◻ value0 +value1 +└ ", "", "", "", - "│ │ ◼ value0", + "◼ value0", "", "", "", "", - "◇ foo -│ value0", + "◇ foo +value0", " ", "", @@ -573,29 +573,29 @@ exports[`groupMultiselect (isCI = false) > values can be non-primitive 1`] = ` exports[`groupMultiselect (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo - ◻ group1 - │ ◻ group1value0 - └ ◻ group1value1 + "◆ foo + ◻ group1 + │ group1value0 + └ group1value1 ", "", "", "", - " ◻ group1 - │ ◻ group1value0 - └ ◻ group1value1 + " group1 + ◻ group1value0 + group1value1 ", "", "", "", - " │ ◼ group1value0", + " ◼ group1value0", "", "", "", - "◇ foo - group1value0", + "◇ foo + group1value0", " ", "", @@ -605,13 +605,13 @@ exports[`groupMultiselect (isCI = false) > withGuide: false removes guide 1`] = exports[`groupMultiselect (isCI = true) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ Select a fruit -│ ◻ group1 -│ └ ◻ group1value0 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "│ +◆ Select a fruit +◻ group1 +│ └ group1value0 +group2 +group2value0 +└ ", " ", @@ -622,54 +622,54 @@ exports[`groupMultiselect (isCI = true) > can be aborted by a signal 1`] = ` exports[`groupMultiselect (isCI = true) > can deselect an option 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "group1 +◻ group1value0 +group1value1 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "│ │ ◼ group1value0 -│ └ ◻ group1value1 -└ + "group1value0 +◻ group1value1 +└ ", "", "", "", - "│ ◼ group1 -│ │ ◼ group1value0 -│ └ ◼ group1value1 -└ + "group1 +group1value0 +◼ group1value1 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◼ group1value0 -│ └ ◻ group1value1 -└ + "group1 +group1value0 +◻ group1value1 +└ ", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -679,26 +679,26 @@ exports[`groupMultiselect (isCI = true) > can deselect an option 1`] = ` exports[`groupMultiselect (isCI = true) > can select a group 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "│ ◼ group1 -│ │ ◼ group1value0 -│ └ ◼ group1value1 -└ + "◼ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "◇ foo -│ group1value0, group1value1", + "◇ foo +group1value0, group1value1", " ", "", @@ -708,46 +708,46 @@ exports[`groupMultiselect (isCI = true) > can select a group 1`] = ` exports[`groupMultiselect (isCI = true) > can select a group by selecting all members 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "group1 +◻ group1value0 +group1value1 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "│ │ ◼ group1value0 -│ └ ◻ group1value1 -└ + "group1value0 +◻ group1value1 +└ ", "", "", "", - "│ ◼ group1 -│ │ ◼ group1value0 -│ └ ◼ group1value1 -└ + "group1 +group1value0 +◼ group1value1 +└ ", "", "", "", - "◇ foo -│ group1value0, group1value1", + "◇ foo +group1value0, group1value1", " ", "", @@ -757,46 +757,46 @@ exports[`groupMultiselect (isCI = true) > can select a group by selecting all me exports[`groupMultiselect (isCI = true) > can select multiple options 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ │ ◻ group1value1 -│ └ ◻ group1value2 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ │ group1value1 +│ └ group1value2 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ group1value0 -│ │ ◻ group1value1 -│ └ ◻ group1value2 -└ + "group1 +◻ group1value0 +group1value1 +group1value2 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "│ │ ◼ group1value0 -│ │ ◻ group1value1 -│ └ ◻ group1value2 -└ + "group1value0 +◻ group1value1 +group1value2 +└ ", "", "", "", - "│ │ ◼ group1value1", + "◼ group1value1", "", "", "", "", - "◇ foo -│ group1value0, group1value1", + "◇ foo +group1value0, group1value1", " ", "", @@ -806,18 +806,18 @@ exports[`groupMultiselect (isCI = true) > can select multiple options 1`] = ` exports[`groupMultiselect (isCI = true) > can submit empty selection when require = false 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "◇ foo -│", + "◇ foo +│", " ", "", @@ -827,23 +827,23 @@ exports[`groupMultiselect (isCI = true) > can submit empty selection when requir exports[`groupMultiselect (isCI = true) > cursorAt sets initial selection 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +group1 +group1value0 +◻ group1value1 +└ ", "", "", "", - "│ └ ◼ group1value1", + "◼ group1value1", "", "", "", "", - "◇ foo -│ group1value1", + "◇ foo +group1value1", " ", "", @@ -853,29 +853,29 @@ exports[`groupMultiselect (isCI = true) > cursorAt sets initial selection 1`] = exports[`groupMultiselect (isCI = true) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo - ◻ group1 - │ ◻ group1value0 - └ ◻ group1value1 + "◆ foo + ◻ group1 + │ group1value0 + └ group1value1 ", "", "", "", - " ◻ group1 - │ ◻ group1value0 - └ ◻ group1value1 + " group1 + ◻ group1value0 + group1value1 ", "", "", "", - " │ ◼ group1value0", + " ◼ group1value0", "", "", "", - "◇ foo - group1value0", + "◇ foo + group1value0", " ", "", @@ -885,37 +885,37 @@ exports[`groupMultiselect (isCI = true) > global withGuide: false removes guide exports[`groupMultiselect (isCI = true) > groupSpacing > negative spacing is ignored 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ └ ◻ group1value0 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "│ +◆ foo +◻ group1 +│ └ group1value0 +group2 +group2value0 +└ ", "", "", "", - "│ ◻ group1 -│ └ ◻ group1value0 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◻ group1value0 +group2 +group2value0 +└ ", "", "", "", - "│ ◼ group1 -│ └ ◼ group1value0 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◼ group1value0 +group2 +group2value0 +└ ", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -925,45 +925,45 @@ exports[`groupMultiselect (isCI = true) > groupSpacing > negative spacing is ign exports[`groupMultiselect (isCI = true) > groupSpacing > renders spaced groups 1`] = ` [ "", - "│ -◆ foo -│ -│ -│ ◻ group1 -│ └ ◻ group1value0 -│ -│ -│ ◻ group2 -│ └ ◻ group2value0 -└ + "│ +◆ foo +│ +│ +◻ group1 +│ └ group1value0 +│ +│ +group2 +group2value0 +└ ", "", "", "", - "│ ◻ group1 -│ └ ◻ group1value0 -│ -│ -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◻ group1value0 +│ +│ +group2 +group2value0 +└ ", "", "", "", - "│ ◼ group1 -│ └ ◼ group1value0 -│ -│ -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◼ group1value0 +│ +│ +group2 +group2value0 +└ ", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -973,18 +973,18 @@ exports[`groupMultiselect (isCI = true) > groupSpacing > renders spaced groups 1 exports[`groupMultiselect (isCI = true) > initial values can be set 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◼ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "◇ foo -│ group1value1", + "◇ foo +group1value1", " ", "", @@ -994,42 +994,42 @@ exports[`groupMultiselect (isCI = true) > initial values can be set 1`] = ` exports[`groupMultiselect (isCI = true) > renders error when nothing selected 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +└ ", "", "", "", - "▲ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ Please select at least one option. - Press  space  to select,  enter  to submit + "▲ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +Please select at least one option. + Press  space  to select,  enter  to submit ", "", "", "", - "◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -└ + "◆ foo +group1 +◻ group1value0 +group1value1 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -1039,35 +1039,35 @@ exports[`groupMultiselect (isCI = true) > renders error when nothing selected 1` exports[`groupMultiselect (isCI = true) > renders message with options 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "│ +◆ foo +◻ group1 +│ │ group1value0 +│ └ group1value1 +group2 +group2value0 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ group1value0 -│ └ ◻ group1value1 -│ ◻ group2 -│ └ ◻ group2value0 -└ + "group1 +◻ group1value0 +group1value1 +group2 +group2value0 +└ ", "", "", "", - "│ │ ◼ group1value0", + "◼ group1value0", "", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -1077,23 +1077,23 @@ exports[`groupMultiselect (isCI = true) > renders message with options 1`] = ` exports[`groupMultiselect (isCI = true) > selectableGroups = false > cannot select groups 1`] = ` [ "", - "│ -◆ foo -│  group1 -│  ◻ group1value0 -│  ◻ group1value1 -└ + "│ +◆ foo + group1 + ◻ group1value0 + group1value1 +└ ", "", "", "", - "│  ◼ group1value0", + " ◼ group1value0", "", "", "", "", - "◇ foo -│ group1value0", + "◇ foo +group1value0", " ", "", @@ -1103,35 +1103,35 @@ exports[`groupMultiselect (isCI = true) > selectableGroups = false > cannot sele exports[`groupMultiselect (isCI = true) > selectableGroups = false > selecting all members of group does not select group 1`] = ` [ "", - "│ -◆ foo -│  group1 -│  ◻ group1value0 -│  ◻ group1value1 -└ + "│ +◆ foo + group1 + ◻ group1value0 + group1value1 +└ ", "", "", "", - "│  ◼ group1value0", + " ◼ group1value0", "", "", "", "", - "│  ◼ group1value0 -│  ◻ group1value1 -└ + " group1value0 + ◻ group1value1 +└ ", "", "", "", - "│  ◼ group1value1", + " ◼ group1value1", "", "", "", "", - "◇ foo -│ group1value0, group1value1", + "◇ foo +group1value0, group1value1", " ", "", @@ -1141,31 +1141,31 @@ exports[`groupMultiselect (isCI = true) > selectableGroups = false > selecting a exports[`groupMultiselect (isCI = true) > values can be non-primitive 1`] = ` [ "", - "│ -◆ foo -│ ◻ group1 -│ │ ◻ value0 -│ └ ◻ value1 -└ + "│ +◆ foo +◻ group1 +│ │ value0 +│ └ value1 +└ ", "", "", "", - "│ ◻ group1 -│ │ ◻ value0 -│ └ ◻ value1 -└ + "group1 +◻ value0 +value1 +└ ", "", "", "", - "│ │ ◼ value0", + "◼ value0", "", "", "", "", - "◇ foo -│ value0", + "◇ foo +value0", " ", "", @@ -1175,29 +1175,29 @@ exports[`groupMultiselect (isCI = true) > values can be non-primitive 1`] = ` exports[`groupMultiselect (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo - ◻ group1 - │ ◻ group1value0 - └ ◻ group1value1 + "◆ foo + ◻ group1 + │ group1value0 + └ group1value1 ", "", "", "", - " ◻ group1 - │ ◻ group1value0 - └ ◻ group1value1 + " group1 + ◻ group1value0 + group1value1 ", "", "", "", - " │ ◼ group1value0", + " ◼ group1value0", "", "", "", - "◇ foo - group1value0", + "◇ foo + group1value0", " ", "", diff --git a/packages/prompts/test/__snapshots__/log.test.ts.snap b/packages/prompts/test/__snapshots__/log.test.ts.snap index a36e9fd4..af5e5615 100644 --- a/packages/prompts/test/__snapshots__/log.test.ts.snap +++ b/packages/prompts/test/__snapshots__/log.test.ts.snap @@ -2,26 +2,26 @@ exports[`log (isCI = false) > error > renders error message 1`] = ` [ - "│ -■ error message + "│ +■ error message ", ] `; exports[`log (isCI = false) > info > renders info message 1`] = ` [ - "│ -● info message + "│ +● info message ", ] `; exports[`log (isCI = false) > message > renders empty lines correctly 1`] = ` [ - "│ -│ foo -│ -│ bar + "│ +│ foo +│ +│ bar ", ] `; @@ -38,8 +38,8 @@ bar exports[`log (isCI = false) > message > renders empty message correctly 1`] = ` [ - "│ -│ + "│ +│ ", ] `; @@ -54,37 +54,37 @@ exports[`log (isCI = false) > message > renders empty message with guide disable exports[`log (isCI = false) > message > renders message 1`] = ` [ - "│ -│ message + "│ +│ message ", ] `; exports[`log (isCI = false) > message > renders message from array 1`] = ` [ - "│ -│ line 1 -│ line 2 -│ line 3 + "│ +│ line 1 +│ line 2 +│ line 3 ", ] `; exports[`log (isCI = false) > message > renders message with custom spacing 1`] = ` [ - "│ -│ -│ -│ spaced message + "│ +│ +│ +│ spaced message ", ] `; exports[`log (isCI = false) > message > renders message with custom symbols and spacing 1`] = ` [ - "-- ->> custom --- symbols + "-- +>> custom +-- symbols ", ] `; @@ -99,10 +99,10 @@ standalone message exports[`log (isCI = false) > message > renders multiline message 1`] = ` [ - "│ -│ line 1 -│ line 2 -│ line 3 + "│ +│ line 1 +│ line 2 +│ line 3 ", ] `; @@ -119,50 +119,50 @@ line 3 exports[`log (isCI = false) > step > renders step message 1`] = ` [ - "│ -◇ step message + "│ +◇ step message ", ] `; exports[`log (isCI = false) > success > renders success message 1`] = ` [ - "│ -◆ success message + "│ +◆ success message ", ] `; exports[`log (isCI = false) > warn > renders warn message 1`] = ` [ - "│ -▲ warn message + "│ +▲ warn message ", ] `; exports[`log (isCI = true) > error > renders error message 1`] = ` [ - "│ -■ error message + "│ +■ error message ", ] `; exports[`log (isCI = true) > info > renders info message 1`] = ` [ - "│ -● info message + "│ +● info message ", ] `; exports[`log (isCI = true) > message > renders empty lines correctly 1`] = ` [ - "│ -│ foo -│ -│ bar + "│ +│ foo +│ +│ bar ", ] `; @@ -179,8 +179,8 @@ bar exports[`log (isCI = true) > message > renders empty message correctly 1`] = ` [ - "│ -│ + "│ +│ ", ] `; @@ -195,37 +195,37 @@ exports[`log (isCI = true) > message > renders empty message with guide disabled exports[`log (isCI = true) > message > renders message 1`] = ` [ - "│ -│ message + "│ +│ message ", ] `; exports[`log (isCI = true) > message > renders message from array 1`] = ` [ - "│ -│ line 1 -│ line 2 -│ line 3 + "│ +│ line 1 +│ line 2 +│ line 3 ", ] `; exports[`log (isCI = true) > message > renders message with custom spacing 1`] = ` [ - "│ -│ -│ -│ spaced message + "│ +│ +│ +│ spaced message ", ] `; exports[`log (isCI = true) > message > renders message with custom symbols and spacing 1`] = ` [ - "-- ->> custom --- symbols + "-- +>> custom +-- symbols ", ] `; @@ -240,10 +240,10 @@ standalone message exports[`log (isCI = true) > message > renders multiline message 1`] = ` [ - "│ -│ line 1 -│ line 2 -│ line 3 + "│ +│ line 1 +│ line 2 +│ line 3 ", ] `; @@ -260,24 +260,24 @@ line 3 exports[`log (isCI = true) > step > renders step message 1`] = ` [ - "│ -◇ step message + "│ +◇ step message ", ] `; exports[`log (isCI = true) > success > renders success message 1`] = ` [ - "│ -◆ success message + "│ +◆ success message ", ] `; exports[`log (isCI = true) > warn > renders warn message 1`] = ` [ - "│ -▲ warn message + "│ +▲ warn message ", ] `; diff --git a/packages/prompts/test/__snapshots__/multi-line.test.ts.snap b/packages/prompts/test/__snapshots__/multi-line.test.ts.snap index 2acfe22c..8bdb615f 100644 --- a/packages/prompts/test/__snapshots__/multi-line.test.ts.snap +++ b/packages/prompts/test/__snapshots__/multi-line.test.ts.snap @@ -3,10 +3,10 @@ exports[`multiline (isCI = false) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", " ", @@ -17,16 +17,16 @@ exports[`multiline (isCI = false) > can be aborted by a signal 1`] = ` exports[`multiline (isCI = false) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "■ foo -│ escape", + "■ foo +│ escape", " ", "", @@ -36,23 +36,23 @@ exports[`multiline (isCI = false) > can cancel 1`] = ` exports[`multiline (isCI = false) > defaultValue sets the value but does not render 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ bar", + "◇ foo +bar", " ", "", @@ -62,23 +62,23 @@ exports[`multiline (isCI = false) > defaultValue sets the value but does not ren exports[`multiline (isCI = false) > empty string when no value and no default 1`] = ` [ "", - "│ -◆ foo -│   (submit to use default) -└ + "│ +◆ foo +│   (submit to use default) +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ ", + "◇ foo +", " ", "", @@ -88,7 +88,7 @@ exports[`multiline (isCI = false) > empty string when no value and no default 1` exports[`multiline (isCI = false) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", @@ -101,7 +101,7 @@ exports[`multiline (isCI = false) > global withGuide: false removes guide 1`] = ", "", "", - "◇ foo + "◇ foo ", " ", @@ -112,23 +112,23 @@ exports[`multiline (isCI = false) > global withGuide: false removes guide 1`] = exports[`multiline (isCI = false) > placeholder is not used as value when pressing enter 1`] = ` [ "", - "│ -◆ foo -│   (submit to use default) -└ + "│ +◆ foo +│   (submit to use default) +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ default-value", + "◇ foo +default-value", " ", "", @@ -138,26 +138,26 @@ exports[`multiline (isCI = false) > placeholder is not used as value when pressi exports[`multiline (isCI = false) > renders cancelled value if one set 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - "■ foo -│ xy", + "■ foo +│ xy", " ", "", @@ -167,23 +167,23 @@ exports[`multiline (isCI = false) > renders cancelled value if one set 1`] = ` exports[`multiline (isCI = false) > renders message 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ ", + "◇ foo +", " ", "", @@ -193,23 +193,23 @@ exports[`multiline (isCI = false) > renders message 1`] = ` exports[`multiline (isCI = false) > renders placeholder if set 1`] = ` [ "", - "│ -◆ foo -│ bar -└ + "│ +◆ foo +│ bar +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ ", + "◇ foo +", " ", "", @@ -219,32 +219,32 @@ exports[`multiline (isCI = false) > renders placeholder if set 1`] = ` exports[`multiline (isCI = false) > renders submit button 1`] = ` [ "", - "│ -◆ foo -│ _ -└ - [ submit ] + "│ +◆ foo +│ _ +└ + [ submit ] ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - " [ submit ]", + " [ submit ]", "", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -254,33 +254,33 @@ exports[`multiline (isCI = false) > renders submit button 1`] = ` exports[`multiline (isCI = false) > renders submitted value 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - "│ xy -│ █ -└ + "│ xy +│ █ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -290,49 +290,49 @@ exports[`multiline (isCI = false) > renders submitted value 1`] = ` exports[`multiline (isCI = false) > validation errors render and clear (using Error) 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ x -│ █ -└ + "│ x +│ █ +└ ", "", "", "", - "▲ foo -│ x█ -└ should be xy + "▲ foo +│ x█ +should be xy ", "", "", "", - "◆ foo -│ xy█ -└ + "◆ foo +│ xy█ +└ ", "", "", "", - "│ xy -│ █ -└ + "│ xy +│ █ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -342,49 +342,49 @@ exports[`multiline (isCI = false) > validation errors render and clear (using Er exports[`multiline (isCI = false) > validation errors render and clear 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ x -│ █ -└ + "│ x +│ █ +└ ", "", "", "", - "▲ foo -│ x█ -└ should be xy + "▲ foo +│ x█ +should be xy ", "", "", "", - "◆ foo -│ xy█ -└ + "◆ foo +│ xy█ +└ ", "", "", "", - "│ xy -│ █ -└ + "│ xy +│ █ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -394,7 +394,7 @@ exports[`multiline (isCI = false) > validation errors render and clear 1`] = ` exports[`multiline (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", @@ -407,7 +407,7 @@ exports[`multiline (isCI = false) > withGuide: false removes guide 1`] = ` ", "", "", - "◇ foo + "◇ foo ", " ", @@ -418,10 +418,10 @@ exports[`multiline (isCI = false) > withGuide: false removes guide 1`] = ` exports[`multiline (isCI = true) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", " ", @@ -432,16 +432,16 @@ exports[`multiline (isCI = true) > can be aborted by a signal 1`] = ` exports[`multiline (isCI = true) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "■ foo -│ escape", + "■ foo +│ escape", " ", "", @@ -451,23 +451,23 @@ exports[`multiline (isCI = true) > can cancel 1`] = ` exports[`multiline (isCI = true) > defaultValue sets the value but does not render 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ bar", + "◇ foo +bar", " ", "", @@ -477,23 +477,23 @@ exports[`multiline (isCI = true) > defaultValue sets the value but does not rend exports[`multiline (isCI = true) > empty string when no value and no default 1`] = ` [ "", - "│ -◆ foo -│   (submit to use default) -└ + "│ +◆ foo +│   (submit to use default) +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ ", + "◇ foo +", " ", "", @@ -503,7 +503,7 @@ exports[`multiline (isCI = true) > empty string when no value and no default 1`] exports[`multiline (isCI = true) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", @@ -516,7 +516,7 @@ exports[`multiline (isCI = true) > global withGuide: false removes guide 1`] = ` ", "", "", - "◇ foo + "◇ foo ", " ", @@ -527,23 +527,23 @@ exports[`multiline (isCI = true) > global withGuide: false removes guide 1`] = ` exports[`multiline (isCI = true) > placeholder is not used as value when pressing enter 1`] = ` [ "", - "│ -◆ foo -│   (submit to use default) -└ + "│ +◆ foo +│   (submit to use default) +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ default-value", + "◇ foo +default-value", " ", "", @@ -553,26 +553,26 @@ exports[`multiline (isCI = true) > placeholder is not used as value when pressin exports[`multiline (isCI = true) > renders cancelled value if one set 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - "■ foo -│ xy", + "■ foo +│ xy", " ", "", @@ -582,23 +582,23 @@ exports[`multiline (isCI = true) > renders cancelled value if one set 1`] = ` exports[`multiline (isCI = true) > renders message 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ ", + "◇ foo +", " ", "", @@ -608,23 +608,23 @@ exports[`multiline (isCI = true) > renders message 1`] = ` exports[`multiline (isCI = true) > renders placeholder if set 1`] = ` [ "", - "│ -◆ foo -│ bar -└ + "│ +◆ foo +│ bar +└ ", "", "", "", - "│ -│ █ -└ + "│ +│ █ +└ ", "", "", "", - "◇ foo -│ ", + "◇ foo +", " ", "", @@ -634,32 +634,32 @@ exports[`multiline (isCI = true) > renders placeholder if set 1`] = ` exports[`multiline (isCI = true) > renders submit button 1`] = ` [ "", - "│ -◆ foo -│ _ -└ - [ submit ] + "│ +◆ foo +│ _ +└ + [ submit ] ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - " [ submit ]", + " [ submit ]", "", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -669,33 +669,33 @@ exports[`multiline (isCI = true) > renders submit button 1`] = ` exports[`multiline (isCI = true) > renders submitted value 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - "│ xy -│ █ -└ + "│ xy +│ █ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -705,49 +705,49 @@ exports[`multiline (isCI = true) > renders submitted value 1`] = ` exports[`multiline (isCI = true) > validation errors render and clear (using Error) 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ x -│ █ -└ + "│ x +│ █ +└ ", "", "", "", - "▲ foo -│ x█ -└ should be xy + "▲ foo +│ x█ +should be xy ", "", "", "", - "◆ foo -│ xy█ -└ + "◆ foo +│ xy█ +└ ", "", "", "", - "│ xy -│ █ -└ + "│ xy +│ █ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -757,49 +757,49 @@ exports[`multiline (isCI = true) > validation errors render and clear (using Err exports[`multiline (isCI = true) > validation errors render and clear 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ x -│ █ -└ + "│ x +│ █ +└ ", "", "", "", - "▲ foo -│ x█ -└ should be xy + "▲ foo +│ x█ +should be xy ", "", "", "", - "◆ foo -│ xy█ -└ + "◆ foo +│ xy█ +└ ", "", "", "", - "│ xy -│ █ -└ + "│ xy +│ █ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -809,7 +809,7 @@ exports[`multiline (isCI = true) > validation errors render and clear 1`] = ` exports[`multiline (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", @@ -822,7 +822,7 @@ exports[`multiline (isCI = true) > withGuide: false removes guide 1`] = ` ", "", "", - "◇ foo + "◇ foo ", " ", diff --git a/packages/prompts/test/__snapshots__/multi-select.test.ts.snap b/packages/prompts/test/__snapshots__/multi-select.test.ts.snap index 38714036..a2126a38 100644 --- a/packages/prompts/test/__snapshots__/multi-select.test.ts.snap +++ b/packages/prompts/test/__snapshots__/multi-select.test.ts.snap @@ -3,11 +3,11 @@ exports[`multiselect (isCI = false) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", " ", @@ -18,17 +18,17 @@ exports[`multiselect (isCI = false) > can be aborted by a signal 1`] = ` exports[`multiselect (isCI = false) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "■ foo -│", + "■ foo +│", " ", "", @@ -38,22 +38,22 @@ exports[`multiselect (isCI = false) > can cancel 1`] = ` exports[`multiselect (isCI = false) > can render option hints 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 (Hint 0) -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 (Hint 0) +opt1 +└ ", "", "", "", - "│ ◼ opt0 (Hint 0)", + "◼ opt0 (Hint 0)", "", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -63,22 +63,22 @@ exports[`multiselect (isCI = false) > can render option hints 1`] = ` exports[`multiselect (isCI = false) > can set cursorAt to preselect an option 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +opt0 +◻ opt1 +└ ", "", "", "", - "│ ◼ opt1", + "◼ opt1", "", "", "", "", - "◇ foo -│ opt1", + "◇ foo +opt1", " ", "", @@ -88,22 +88,22 @@ exports[`multiselect (isCI = false) > can set cursorAt to preselect an option 1` exports[`multiselect (isCI = false) > can set custom labels 1`] = ` [ "", - "│ -◆ foo -│ ◻ Option 0 -│ ◻ Option 1 -└ + "│ +◆ foo +◻ Option 0 +Option 1 +└ ", "", "", "", - "│ ◼ Option 0", + "◼ Option 0", "", "", "", "", - "◇ foo -│ Option 0", + "◇ foo +Option 0", " ", "", @@ -113,17 +113,17 @@ exports[`multiselect (isCI = false) > can set custom labels 1`] = ` exports[`multiselect (isCI = false) > can set initial values 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◼ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ opt1", + "◇ foo +opt1", " ", "", @@ -133,17 +133,17 @@ exports[`multiselect (isCI = false) > can set initial values 1`] = ` exports[`multiselect (isCI = false) > can submit without selection when required = false 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ none", + "◇ foo +none", " ", "", @@ -153,20 +153,20 @@ exports[`multiselect (isCI = false) > can submit without selection when required exports[`multiselect (isCI = false) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo -◻ opt0 -◻ opt1 + "◆ foo +◻ opt0 +opt1 ", "", "", "", - "◼ opt0", + "◼ opt0", "", "", "", - "◇ foo -opt0", + "◇ foo +opt0", " ", "", @@ -176,87 +176,87 @@ exports[`multiselect (isCI = false) > global withGuide: false removes guide 1`] exports[`multiselect (isCI = false) > maxItems renders a sliding window 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt0 +◻ opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt1 +◻ opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt2 +◻ opt3 +opt4 +... +└ ", "", "", "", - "│ ... -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ◻ opt5 -│ ... -└ + "... +opt2 +opt3 +◻ opt4 +opt5 +... +└ ", "", "", "", - "│ ◻ opt3 -│ ◻ opt4 -│ ◻ opt5 -│ ◻ opt6 -│ ... -└ + "opt3 +opt4 +◻ opt5 +opt6 +... +└ ", "", "", "", - "│ ◻ opt4 -│ ◻ opt5 -│ ◻ opt6 -│ ◻ opt7 -│ ... -└ + "opt4 +opt5 +◻ opt6 +opt7 +... +└ ", "", "", "", - "│ ◼ opt6", + "◼ opt6", "", "", "", "", - "◇ foo -│ opt6", + "◇ foo +opt6", " ", "", @@ -266,23 +266,23 @@ exports[`multiselect (isCI = false) > maxItems renders a sliding window 1`] = ` exports[`multiselect (isCI = false) > renders disabled options 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 (Hint 2) -└ + "│ +◆ foo +◻ opt0 +◻ opt1 +◻ opt2 (Hint 2) +└ ", "", "", "", - "│ ◼ opt1", + "◼ opt1", "", "", "", "", - "◇ foo -│ opt1", + "◇ foo +opt1", " ", "", @@ -292,22 +292,22 @@ exports[`multiselect (isCI = false) > renders disabled options 1`] = ` exports[`multiselect (isCI = false) > renders message 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -317,37 +317,37 @@ exports[`multiselect (isCI = false) > renders message 1`] = ` exports[`multiselect (isCI = false) > renders multiple cancelled values 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "│ ◼ opt0 -│ ◻ opt1 -│ ◻ opt2 -└ + "opt0 +◻ opt1 +opt2 +└ ", "", "", "", - "│ ◼ opt1", + "◼ opt1", "", "", "", "", - "■ foo -│ opt0, opt1 -│", + "■ foo +│ opt0, opt1 +│", " ", "", @@ -357,43 +357,43 @@ exports[`multiselect (isCI = false) > renders multiple cancelled values 1`] = ` exports[`multiselect (isCI = false) > renders multiple selected options 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "│ ◼ opt0 -│ ◻ opt1 -│ ◻ opt2 -└ + "opt0 +◻ opt1 +opt2 +└ ", "", "", "", - "│ ◼ opt1", + "◼ opt1", "", "", "", "", - "│ ◼ opt1 -│ ◻ opt2 -└ + "opt1 +◻ opt2 +└ ", "", "", "", - "◇ foo -│ opt0, opt1", + "◇ foo +opt0, opt1", " ", "", @@ -403,34 +403,34 @@ exports[`multiselect (isCI = false) > renders multiple selected options 1`] = ` exports[`multiselect (isCI = false) > renders validation errors 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "▲ foo -│ ◻ opt0 -│ ◻ opt1 -└ Please select at least one option. - Press  space  to select,  enter  to submit + "▲ foo +◻ opt0 +opt1 +Please select at least one option. + Press  space  to select,  enter  to submit ", "", "", "", - "◆ foo -│ ◼ opt0 -│ ◻ opt1 -└ + "◆ foo +◼ opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -440,33 +440,33 @@ exports[`multiselect (isCI = false) > renders validation errors 1`] = ` exports[`multiselect (isCI = false) > shows hints for all selected options 1`] = ` [ "", - "│ -◆ foo -│ ◼ opt0 (Hint 0) -│ ◼ opt1 (Hint 1) -│ ◻ opt2 -└ + "│ +◆ foo +◼ opt0 (Hint 0) +opt1 (Hint 1) +opt2 +└ ", "", "", "", - "│ ◼ opt0 (Hint 0) -│ ◼ opt1 (Hint 1) -│ ◻ opt2 -└ + "opt0 (Hint 0) +◼ opt1 (Hint 1) +opt2 +└ ", "", "", "", - "│ ◼ opt1 (Hint 1) -│ ◻ opt2 (Hint 2) -└ + "opt1 (Hint 1) +◻ opt2 (Hint 2) +└ ", "", "", "", - "◇ foo -│ opt0, opt1", + "◇ foo +opt0, opt1", " ", "", @@ -476,143 +476,143 @@ exports[`multiselect (isCI = false) > shows hints for all selected options 1`] = exports[`multiselect (isCI = false) > sliding window loops downwards 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt0 +◻ opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt1 +◻ opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt2 +◻ opt3 +opt4 +... +└ ", "", "", "", - "│ ... -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ◻ opt5 -│ ... -└ + "... +opt2 +opt3 +◻ opt4 +opt5 +... +└ ", "", "", "", - "│ ◻ opt3 -│ ◻ opt4 -│ ◻ opt5 -│ ◻ opt6 -│ ... -└ + "opt3 +opt4 +◻ opt5 +opt6 +... +└ ", "", "", "", - "│ ◻ opt4 -│ ◻ opt5 -│ ◻ opt6 -│ ◻ opt7 -│ ... -└ + "opt4 +opt5 +◻ opt6 +opt7 +... +└ ", "", "", "", - "│ ◻ opt5 -│ ◻ opt6 -│ ◻ opt7 -│ ◻ opt8 -│ ... -└ + "opt5 +opt6 +◻ opt7 +opt8 +... +└ ", "", "", "", - "│ ◻ opt6 -│ ◻ opt7 -│ ◻ opt8 -│ ◻ opt9 -│ ... -└ + "opt6 +opt7 +◻ opt8 +opt9 +... +└ ", "", "", "", - "│ ◻ opt7 -│ ◻ opt8 -│ ◻ opt9 -│ ◻ opt10 -│ ◻ opt11 -└ + "opt7 +opt8 +◻ opt9 +opt10 +opt11 +└ ", "", "", "", - "│ ◻ opt9 -│ ◻ opt10 -│ ◻ opt11 -└ + "opt9 +◻ opt10 +opt11 +└ ", "", "", "", - "│ ◻ opt10 -│ ◻ opt11 -└ + "opt10 +◻ opt11 +└ ", "", "", "", - "│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "◻ opt0 +opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -622,37 +622,37 @@ exports[`multiselect (isCI = false) > sliding window loops downwards 1`] = ` exports[`multiselect (isCI = false) > sliding window loops upwards 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ... -│ ◻ opt7 -│ ◻ opt8 -│ ◻ opt9 -│ ◻ opt10 -│ ◻ opt11 -└ + "... +opt7 +opt8 +opt9 +opt10 +◻ opt11 +└ ", "", "", "", - "│ ◼ opt11", + "◼ opt11", "", "", "", "", - "◇ foo -│ opt11", + "◇ foo +opt11", " ", "", @@ -662,20 +662,20 @@ exports[`multiselect (isCI = false) > sliding window loops upwards 1`] = ` exports[`multiselect (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo -◻ opt0 -◻ opt1 + "◆ foo +◻ opt0 +opt1 ", "", "", "", - "◼ opt0", + "◼ opt0", "", "", "", - "◇ foo -opt0", + "◇ foo +opt0", " ", "", @@ -685,32 +685,32 @@ exports[`multiselect (isCI = false) > withGuide: false removes guide 1`] = ` exports[`multiselect (isCI = false) > wraps cancelled state with long options 1`] = ` [ "", - "│ -◆ foo -│ ◻ Option 0 Option 0 Option -│ 0 Option 0 Option 0 Option -│ 0 Option 0 Option 0 Option -│ 0 Option 0 -│ ◻ Option 1 Option 1 Option  -│ 1 Option 1 Option 1 Option  -│ 1 Option 1 Option 1 Option  -│ 1 Option 1 -└ + "│ +◆ foo +◻ Option 0 Option 0 Option +│ 0 Option 0 Option 0 Option +│ 0 Option 0 Option 0 Option +│ 0 Option 0 +Option 1 Option 1 Option +1 Option 1 Option 1 Option +1 Option 1 Option 1 Option +1 Option 1 +└ ", "", "", "", - "│ ◼ Option 0 Option 0 Option ", + "◼ Option 0 Option 0 Option ", "", "", "", "", - "■ foo -│ Option 0 Option 0 Option 0  -│ Option 0 Option 0 Option 0  -│ Option 0 Option 0 Option 0  -│ Option 0 -│", + "■ foo +│ Option 0 Option 0 Option 0 +Option 0 Option 0 Option 0 +Option 0 Option 0 Option 0 +Option 0 +│", " ", "", @@ -720,26 +720,26 @@ exports[`multiselect (isCI = false) > wraps cancelled state with long options 1` exports[`multiselect (isCI = false) > wraps long messages 1`] = ` [ "", - "│ -◆ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +◻ opt0 +opt1 +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "◇ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ opt0", + "◇ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +opt0", " ", "", @@ -749,31 +749,31 @@ exports[`multiselect (isCI = false) > wraps long messages 1`] = ` exports[`multiselect (isCI = false) > wraps success state with long options 1`] = ` [ "", - "│ -◆ foo -│ ◻ Option 0 Option 0 Option -│ 0 Option 0 Option 0 Option -│ 0 Option 0 Option 0 Option -│ 0 Option 0 -│ ◻ Option 1 Option 1 Option  -│ 1 Option 1 Option 1 Option  -│ 1 Option 1 Option 1 Option  -│ 1 Option 1 -└ + "│ +◆ foo +◻ Option 0 Option 0 Option +│ 0 Option 0 Option 0 Option +│ 0 Option 0 Option 0 Option +│ 0 Option 0 +Option 1 Option 1 Option +1 Option 1 Option 1 Option +1 Option 1 Option 1 Option +1 Option 1 +└ ", "", "", "", - "│ ◼ Option 0 Option 0 Option ", + "◼ Option 0 Option 0 Option ", "", "", "", "", - "◇ foo -│ Option 0 Option 0 Option 0  -│ Option 0 Option 0 Option 0  -│ Option 0 Option 0 Option 0  -│ Option 0", + "◇ foo +Option 0 Option 0 Option 0 +Option 0 Option 0 Option 0 +Option 0 Option 0 Option 0 +Option 0", " ", "", @@ -783,11 +783,11 @@ exports[`multiselect (isCI = false) > wraps success state with long options 1`] exports[`multiselect (isCI = true) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", " ", @@ -798,17 +798,17 @@ exports[`multiselect (isCI = true) > can be aborted by a signal 1`] = ` exports[`multiselect (isCI = true) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "■ foo -│", + "■ foo +│", " ", "", @@ -818,22 +818,22 @@ exports[`multiselect (isCI = true) > can cancel 1`] = ` exports[`multiselect (isCI = true) > can render option hints 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 (Hint 0) -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 (Hint 0) +opt1 +└ ", "", "", "", - "│ ◼ opt0 (Hint 0)", + "◼ opt0 (Hint 0)", "", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -843,22 +843,22 @@ exports[`multiselect (isCI = true) > can render option hints 1`] = ` exports[`multiselect (isCI = true) > can set cursorAt to preselect an option 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +opt0 +◻ opt1 +└ ", "", "", "", - "│ ◼ opt1", + "◼ opt1", "", "", "", "", - "◇ foo -│ opt1", + "◇ foo +opt1", " ", "", @@ -868,22 +868,22 @@ exports[`multiselect (isCI = true) > can set cursorAt to preselect an option 1`] exports[`multiselect (isCI = true) > can set custom labels 1`] = ` [ "", - "│ -◆ foo -│ ◻ Option 0 -│ ◻ Option 1 -└ + "│ +◆ foo +◻ Option 0 +Option 1 +└ ", "", "", "", - "│ ◼ Option 0", + "◼ Option 0", "", "", "", "", - "◇ foo -│ Option 0", + "◇ foo +Option 0", " ", "", @@ -893,17 +893,17 @@ exports[`multiselect (isCI = true) > can set custom labels 1`] = ` exports[`multiselect (isCI = true) > can set initial values 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◼ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ opt1", + "◇ foo +opt1", " ", "", @@ -913,17 +913,17 @@ exports[`multiselect (isCI = true) > can set initial values 1`] = ` exports[`multiselect (isCI = true) > can submit without selection when required = false 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ none", + "◇ foo +none", " ", "", @@ -933,20 +933,20 @@ exports[`multiselect (isCI = true) > can submit without selection when required exports[`multiselect (isCI = true) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo -◻ opt0 -◻ opt1 + "◆ foo +◻ opt0 +opt1 ", "", "", "", - "◼ opt0", + "◼ opt0", "", "", "", - "◇ foo -opt0", + "◇ foo +opt0", " ", "", @@ -956,87 +956,87 @@ exports[`multiselect (isCI = true) > global withGuide: false removes guide 1`] = exports[`multiselect (isCI = true) > maxItems renders a sliding window 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt0 +◻ opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt1 +◻ opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt2 +◻ opt3 +opt4 +... +└ ", "", "", "", - "│ ... -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ◻ opt5 -│ ... -└ + "... +opt2 +opt3 +◻ opt4 +opt5 +... +└ ", "", "", "", - "│ ◻ opt3 -│ ◻ opt4 -│ ◻ opt5 -│ ◻ opt6 -│ ... -└ + "opt3 +opt4 +◻ opt5 +opt6 +... +└ ", "", "", "", - "│ ◻ opt4 -│ ◻ opt5 -│ ◻ opt6 -│ ◻ opt7 -│ ... -└ + "opt4 +opt5 +◻ opt6 +opt7 +... +└ ", "", "", "", - "│ ◼ opt6", + "◼ opt6", "", "", "", "", - "◇ foo -│ opt6", + "◇ foo +opt6", " ", "", @@ -1046,23 +1046,23 @@ exports[`multiselect (isCI = true) > maxItems renders a sliding window 1`] = ` exports[`multiselect (isCI = true) > renders disabled options 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 (Hint 2) -└ + "│ +◆ foo +◻ opt0 +◻ opt1 +◻ opt2 (Hint 2) +└ ", "", "", "", - "│ ◼ opt1", + "◼ opt1", "", "", "", "", - "◇ foo -│ opt1", + "◇ foo +opt1", " ", "", @@ -1072,22 +1072,22 @@ exports[`multiselect (isCI = true) > renders disabled options 1`] = ` exports[`multiselect (isCI = true) > renders message 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -1097,37 +1097,37 @@ exports[`multiselect (isCI = true) > renders message 1`] = ` exports[`multiselect (isCI = true) > renders multiple cancelled values 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "│ ◼ opt0 -│ ◻ opt1 -│ ◻ opt2 -└ + "opt0 +◻ opt1 +opt2 +└ ", "", "", "", - "│ ◼ opt1", + "◼ opt1", "", "", "", "", - "■ foo -│ opt0, opt1 -│", + "■ foo +│ opt0, opt1 +│", " ", "", @@ -1137,43 +1137,43 @@ exports[`multiselect (isCI = true) > renders multiple cancelled values 1`] = ` exports[`multiselect (isCI = true) > renders multiple selected options 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "│ ◼ opt0 -│ ◻ opt1 -│ ◻ opt2 -└ + "opt0 +◻ opt1 +opt2 +└ ", "", "", "", - "│ ◼ opt1", + "◼ opt1", "", "", "", "", - "│ ◼ opt1 -│ ◻ opt2 -└ + "opt1 +◻ opt2 +└ ", "", "", "", - "◇ foo -│ opt0, opt1", + "◇ foo +opt0, opt1", " ", "", @@ -1183,34 +1183,34 @@ exports[`multiselect (isCI = true) > renders multiple selected options 1`] = ` exports[`multiselect (isCI = true) > renders validation errors 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo +◻ opt0 +opt1 +└ ", "", "", "", - "▲ foo -│ ◻ opt0 -│ ◻ opt1 -└ Please select at least one option. - Press  space  to select,  enter  to submit + "▲ foo +◻ opt0 +opt1 +Please select at least one option. + Press  space  to select,  enter  to submit ", "", "", "", - "◆ foo -│ ◼ opt0 -│ ◻ opt1 -└ + "◆ foo +◼ opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -1220,33 +1220,33 @@ exports[`multiselect (isCI = true) > renders validation errors 1`] = ` exports[`multiselect (isCI = true) > shows hints for all selected options 1`] = ` [ "", - "│ -◆ foo -│ ◼ opt0 (Hint 0) -│ ◼ opt1 (Hint 1) -│ ◻ opt2 -└ + "│ +◆ foo +◼ opt0 (Hint 0) +opt1 (Hint 1) +opt2 +└ ", "", "", "", - "│ ◼ opt0 (Hint 0) -│ ◼ opt1 (Hint 1) -│ ◻ opt2 -└ + "opt0 (Hint 0) +◼ opt1 (Hint 1) +opt2 +└ ", "", "", "", - "│ ◼ opt1 (Hint 1) -│ ◻ opt2 (Hint 2) -└ + "opt1 (Hint 1) +◻ opt2 (Hint 2) +└ ", "", "", "", - "◇ foo -│ opt0, opt1", + "◇ foo +opt0, opt1", " ", "", @@ -1256,143 +1256,143 @@ exports[`multiselect (isCI = true) > shows hints for all selected options 1`] = exports[`multiselect (isCI = true) > sliding window loops downwards 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt0 +◻ opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt1 +◻ opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "opt2 +◻ opt3 +opt4 +... +└ ", "", "", "", - "│ ... -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ◻ opt5 -│ ... -└ + "... +opt2 +opt3 +◻ opt4 +opt5 +... +└ ", "", "", "", - "│ ◻ opt3 -│ ◻ opt4 -│ ◻ opt5 -│ ◻ opt6 -│ ... -└ + "opt3 +opt4 +◻ opt5 +opt6 +... +└ ", "", "", "", - "│ ◻ opt4 -│ ◻ opt5 -│ ◻ opt6 -│ ◻ opt7 -│ ... -└ + "opt4 +opt5 +◻ opt6 +opt7 +... +└ ", "", "", "", - "│ ◻ opt5 -│ ◻ opt6 -│ ◻ opt7 -│ ◻ opt8 -│ ... -└ + "opt5 +opt6 +◻ opt7 +opt8 +... +└ ", "", "", "", - "│ ◻ opt6 -│ ◻ opt7 -│ ◻ opt8 -│ ◻ opt9 -│ ... -└ + "opt6 +opt7 +◻ opt8 +opt9 +... +└ ", "", "", "", - "│ ◻ opt7 -│ ◻ opt8 -│ ◻ opt9 -│ ◻ opt10 -│ ◻ opt11 -└ + "opt7 +opt8 +◻ opt9 +opt10 +opt11 +└ ", "", "", "", - "│ ◻ opt9 -│ ◻ opt10 -│ ◻ opt11 -└ + "opt9 +◻ opt10 +opt11 +└ ", "", "", "", - "│ ◻ opt10 -│ ◻ opt11 -└ + "opt10 +◻ opt11 +└ ", "", "", "", - "│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "◻ opt0 +opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -1402,37 +1402,37 @@ exports[`multiselect (isCI = true) > sliding window loops downwards 1`] = ` exports[`multiselect (isCI = true) > sliding window loops upwards 1`] = ` [ "", - "│ -◆ foo -│ ◻ opt0 -│ ◻ opt1 -│ ◻ opt2 -│ ◻ opt3 -│ ◻ opt4 -│ ... -└ + "│ +◆ foo +◻ opt0 +opt1 +opt2 +opt3 +opt4 +... +└ ", "", "", "", - "│ ... -│ ◻ opt7 -│ ◻ opt8 -│ ◻ opt9 -│ ◻ opt10 -│ ◻ opt11 -└ + "... +opt7 +opt8 +opt9 +opt10 +◻ opt11 +└ ", "", "", "", - "│ ◼ opt11", + "◼ opt11", "", "", "", "", - "◇ foo -│ opt11", + "◇ foo +opt11", " ", "", @@ -1442,20 +1442,20 @@ exports[`multiselect (isCI = true) > sliding window loops upwards 1`] = ` exports[`multiselect (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo -◻ opt0 -◻ opt1 + "◆ foo +◻ opt0 +opt1 ", "", "", "", - "◼ opt0", + "◼ opt0", "", "", "", - "◇ foo -opt0", + "◇ foo +opt0", " ", "", @@ -1465,32 +1465,32 @@ exports[`multiselect (isCI = true) > withGuide: false removes guide 1`] = ` exports[`multiselect (isCI = true) > wraps cancelled state with long options 1`] = ` [ "", - "│ -◆ foo -│ ◻ Option 0 Option 0 Option -│ 0 Option 0 Option 0 Option -│ 0 Option 0 Option 0 Option -│ 0 Option 0 -│ ◻ Option 1 Option 1 Option  -│ 1 Option 1 Option 1 Option  -│ 1 Option 1 Option 1 Option  -│ 1 Option 1 -└ + "│ +◆ foo +◻ Option 0 Option 0 Option +│ 0 Option 0 Option 0 Option +│ 0 Option 0 Option 0 Option +│ 0 Option 0 +Option 1 Option 1 Option +1 Option 1 Option 1 Option +1 Option 1 Option 1 Option +1 Option 1 +└ ", "", "", "", - "│ ◼ Option 0 Option 0 Option ", + "◼ Option 0 Option 0 Option ", "", "", "", "", - "■ foo -│ Option 0 Option 0 Option 0  -│ Option 0 Option 0 Option 0  -│ Option 0 Option 0 Option 0  -│ Option 0 -│", + "■ foo +│ Option 0 Option 0 Option 0 +Option 0 Option 0 Option 0 +Option 0 Option 0 Option 0 +Option 0 +│", " ", "", @@ -1500,26 +1500,26 @@ exports[`multiselect (isCI = true) > wraps cancelled state with long options 1`] exports[`multiselect (isCI = true) > wraps long messages 1`] = ` [ "", - "│ -◆ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ ◻ opt0 -│ ◻ opt1 -└ + "│ +◆ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +◻ opt0 +opt1 +└ ", "", "", "", - "│ ◼ opt0", + "◼ opt0", "", "", "", "", - "◇ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ opt0", + "◇ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +opt0", " ", "", @@ -1529,31 +1529,31 @@ exports[`multiselect (isCI = true) > wraps long messages 1`] = ` exports[`multiselect (isCI = true) > wraps success state with long options 1`] = ` [ "", - "│ -◆ foo -│ ◻ Option 0 Option 0 Option -│ 0 Option 0 Option 0 Option -│ 0 Option 0 Option 0 Option -│ 0 Option 0 -│ ◻ Option 1 Option 1 Option  -│ 1 Option 1 Option 1 Option  -│ 1 Option 1 Option 1 Option  -│ 1 Option 1 -└ + "│ +◆ foo +◻ Option 0 Option 0 Option +│ 0 Option 0 Option 0 Option +│ 0 Option 0 Option 0 Option +│ 0 Option 0 +Option 1 Option 1 Option +1 Option 1 Option 1 Option +1 Option 1 Option 1 Option +1 Option 1 +└ ", "", "", "", - "│ ◼ Option 0 Option 0 Option ", + "◼ Option 0 Option 0 Option ", "", "", "", "", - "◇ foo -│ Option 0 Option 0 Option 0  -│ Option 0 Option 0 Option 0  -│ Option 0 Option 0 Option 0  -│ Option 0", + "◇ foo +Option 0 Option 0 Option 0 +Option 0 Option 0 Option 0 +Option 0 Option 0 Option 0 +Option 0", " ", "", diff --git a/packages/prompts/test/__snapshots__/note.test.ts.snap b/packages/prompts/test/__snapshots__/note.test.ts.snap index 032d05c1..eb09ad67 100644 --- a/packages/prompts/test/__snapshots__/note.test.ts.snap +++ b/packages/prompts/test/__snapshots__/note.test.ts.snap @@ -2,384 +2,384 @@ exports[`note (isCI = false) > don't overflow 1`] = ` [ - "│ -◇ title ───────────────────────────────────────────────────────────────╮ -│ │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string │ -│ │ -├───────────────────────────────────────────────────────────────────────╯ + "│ +◇ title ───────────────────────────────────────────────────────────────╮ +│ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string │ +│ +├───────────────────────────────────────────────────────────────────────╯ ", ] `; exports[`note (isCI = false) > don't overflow with formatter 1`] = ` [ - "│ -◇ title ─────────────────────────────────────────────────────────────────╮ -│ │ -│ * test string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string  * │ -│ * test string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string  * │ -│ * test string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string  * │ -│ * test string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string * │ -│ │ -├─────────────────────────────────────────────────────────────────────────╯ + "│ +◇ title ─────────────────────────────────────────────────────────────────╮ +│ +* test string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string * │ +* test string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string * │ +* test string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string * │ +* test string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string * │ +│ +├─────────────────────────────────────────────────────────────────────────╯ ", ] `; exports[`note (isCI = false) > formatter which adds colors works 1`] = ` [ - "│ -◇ title ──╮ -│ │ -│ line 0 │ -│ line 1 │ -│ line 2 │ -│ │ -├──────────╯ + "│ +◇ title ──╮ +│ +line 0 │ +line 1 │ +line 2 │ +│ +├──────────╯ ", ] `; exports[`note (isCI = false) > formatter which adds length works 1`] = ` [ - "│ -◇ title ──────╮ -│ │ -│ * line 0 * │ -│ * line 1 * │ -│ * line 2 * │ -│ │ -├──────────────╯ + "│ +◇ title ──────╮ +│ +│ * line 0 * │ +│ * line 1 * │ +│ * line 2 * │ +│ +├──────────────╯ ", ] `; exports[`note (isCI = false) > handle wide characters 1`] = ` [ - "│ -◇ 这是标题 ─╮ -│ │ -│ 이게 │ -│  첫  │ -│ 번째 │ -│   │ -│ 줄이 │ -│ 에요 │ -│ これ │ -│ は次 │ -│ の行 │ -│ です │ -│ │ -├────────────╯ + "│ +◇ 这是标题 ─╮ +│ +이게 │ +│ +번째 │ + │ +줄이 │ +에요 │ +これ │ +は次 │ +の行 │ +です │ +│ +├────────────╯ ", ] `; exports[`note (isCI = false) > handle wide characters with formatter 1`] = ` [ - "│ -◇ 这是标题 ─╮ -│ │ -│ *  * │ -│ * 이 * │ -│ * 게 * │ -│ *   * │ -│ * 첫 * │ -│ *   * │ -│ * 번 * │ -│ * 째 * │ -│ *   * │ -│ * 줄 * │ -│ * 이 * │ -│ * 에 * │ -│ * 요 * │ -│ *  * │ -│ * こ * │ -│ * れ * │ -│ * は * │ -│ * 次 * │ -│ * の * │ -│ * 行 * │ -│ * で * │ -│ * す * │ -│ │ -├────────────╯ + "│ +◇ 这是标题 ─╮ +│ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +│ +├────────────╯ ", ] `; exports[`note (isCI = false) > renders as wide as longest line 1`] = ` [ - "│ -◇ title ───────────────────────────╮ -│ │ -│ short │ -│ somewhat questionably long line │ -│ │ -├───────────────────────────────────╯ + "│ +◇ title ───────────────────────────╮ +│ +short │ +somewhat questionably long line │ +│ +├───────────────────────────────────╯ ", ] `; exports[`note (isCI = false) > renders message with title 1`] = ` [ - "│ -◇ title ───╮ -│ │ -│ message │ -│ │ -├───────────╯ + "│ +◇ title ───╮ +│ +message │ +│ +├───────────╯ ", ] `; exports[`note (isCI = false) > without guide 1`] = ` [ - "◇ title ───╮ -│ │ -│ message │ -│ │ -╰───────────╯ + "◇ title ───╮ +│ +message │ +│ +╰───────────╯ ", ] `; exports[`note (isCI = true) > don't overflow 1`] = ` [ - "│ -◇ title ───────────────────────────────────────────────────────────────╮ -│ │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string test string  │ -│ test string test string test string test string test string test  │ -│ string test string test string test string test string │ -│ │ -├───────────────────────────────────────────────────────────────────────╯ + "│ +◇ title ───────────────────────────────────────────────────────────────╮ +│ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string test string │ +test string test string test string test string test string test │ +string test string test string test string test string │ +│ +├───────────────────────────────────────────────────────────────────────╯ ", ] `; exports[`note (isCI = true) > don't overflow with formatter 1`] = ` [ - "│ -◇ title ─────────────────────────────────────────────────────────────────╮ -│ │ -│ * test string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string  * │ -│ * test string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string  * │ -│ * test string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string  * │ -│ * test string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string test string test string test string test  * │ -│ * string test string * │ -│ │ -├─────────────────────────────────────────────────────────────────────────╯ + "│ +◇ title ─────────────────────────────────────────────────────────────────╮ +│ +* test string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string * │ +* test string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string * │ +* test string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string * │ +* test string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string test string test string test string test * │ +* string test string * │ +│ +├─────────────────────────────────────────────────────────────────────────╯ ", ] `; exports[`note (isCI = true) > formatter which adds colors works 1`] = ` [ - "│ -◇ title ──╮ -│ │ -│ line 0 │ -│ line 1 │ -│ line 2 │ -│ │ -├──────────╯ + "│ +◇ title ──╮ +│ +line 0 │ +line 1 │ +line 2 │ +│ +├──────────╯ ", ] `; exports[`note (isCI = true) > formatter which adds length works 1`] = ` [ - "│ -◇ title ──────╮ -│ │ -│ * line 0 * │ -│ * line 1 * │ -│ * line 2 * │ -│ │ -├──────────────╯ + "│ +◇ title ──────╮ +│ +│ * line 0 * │ +│ * line 1 * │ +│ * line 2 * │ +│ +├──────────────╯ ", ] `; exports[`note (isCI = true) > handle wide characters 1`] = ` [ - "│ -◇ 这是标题 ─╮ -│ │ -│ 이게 │ -│  첫  │ -│ 번째 │ -│   │ -│ 줄이 │ -│ 에요 │ -│ これ │ -│ は次 │ -│ の行 │ -│ です │ -│ │ -├────────────╯ + "│ +◇ 这是标题 ─╮ +│ +이게 │ +│ +번째 │ + │ +줄이 │ +에요 │ +これ │ +は次 │ +の行 │ +です │ +│ +├────────────╯ ", ] `; exports[`note (isCI = true) > handle wide characters with formatter 1`] = ` [ - "│ -◇ 这是标题 ─╮ -│ │ -│ *  * │ -│ * 이 * │ -│ * 게 * │ -│ *   * │ -│ * 첫 * │ -│ *   * │ -│ * 번 * │ -│ * 째 * │ -│ *   * │ -│ * 줄 * │ -│ * 이 * │ -│ * 에 * │ -│ * 요 * │ -│ *  * │ -│ * こ * │ -│ * れ * │ -│ * は * │ -│ * 次 * │ -│ * の * │ -│ * 行 * │ -│ * で * │ -│ * す * │ -│ │ -├────────────╯ + "│ +◇ 这是标题 ─╮ +│ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +* * │ +│ +├────────────╯ ", ] `; exports[`note (isCI = true) > renders as wide as longest line 1`] = ` [ - "│ -◇ title ───────────────────────────╮ -│ │ -│ short │ -│ somewhat questionably long line │ -│ │ -├───────────────────────────────────╯ + "│ +◇ title ───────────────────────────╮ +│ +short │ +somewhat questionably long line │ +│ +├───────────────────────────────────╯ ", ] `; exports[`note (isCI = true) > renders message with title 1`] = ` [ - "│ -◇ title ───╮ -│ │ -│ message │ -│ │ -├───────────╯ + "│ +◇ title ───╮ +│ +message │ +│ +├───────────╯ ", ] `; exports[`note (isCI = true) > without guide 1`] = ` [ - "◇ title ───╮ -│ │ -│ message │ -│ │ -╰───────────╯ + "◇ title ───╮ +│ +message │ +│ +╰───────────╯ ", ] `; diff --git a/packages/prompts/test/__snapshots__/password.test.ts.snap b/packages/prompts/test/__snapshots__/password.test.ts.snap index 09df3df4..99b5a8d3 100644 --- a/packages/prompts/test/__snapshots__/password.test.ts.snap +++ b/packages/prompts/test/__snapshots__/password.test.ts.snap @@ -3,10 +3,10 @@ exports[`password (isCI = false) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", " ", @@ -17,40 +17,40 @@ exports[`password (isCI = false) > can be aborted by a signal 1`] = ` exports[`password (isCI = false) > clears input on error when clearOnError is true 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ ▪_", + "│ ▪_", "", "", "", "", - "▲ foo -│ ▪ -└ Error + "▲ foo +│ ▪ +Error ", "", "", "", - "◆ foo -│ ▪_ -└ + "◆ foo +│ ▪_ +└ ", "", "", "", - "│ ▪▪_", + "│ ▪▪_", "", "", "", "", - "◇ foo -│ ▪▪", + "◇ foo +▪▪", " ", "", @@ -60,13 +60,13 @@ exports[`password (isCI = false) > clears input on error when clearOnError is tr exports[`password (isCI = false) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", "", "", - "◇ foo + "◇ foo ", " ", @@ -77,35 +77,35 @@ exports[`password (isCI = false) > global withGuide: false removes guide 1`] = ` exports[`password (isCI = false) > renders and clears validation errors 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ ▪_", + "│ ▪_", "", "", "", "", - "▲ foo -│ ▪ -└ Password must be at least 2 characters + "▲ foo +│ ▪ +Password must be at least 2 characters ", "", "", "", - "◆ foo -│ ▪▪_ -└ + "◆ foo +│ ▪▪_ +└ ", "", "", "", - "◇ foo -│ ▪▪", + "◇ foo +▪▪", " ", "", @@ -115,22 +115,22 @@ exports[`password (isCI = false) > renders and clears validation errors 1`] = ` exports[`password (isCI = false) > renders cancelled value 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ ▪_", + "│ ▪_", "", "", "", "", - "■ foo -│ ▪ -│", + "■ foo +│ ▪ +│", " ", "", @@ -140,26 +140,26 @@ exports[`password (isCI = false) > renders cancelled value 1`] = ` exports[`password (isCI = false) > renders custom mask 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ *_", + "│ *_", "", "", "", "", - "│ **_", + "│ **_", "", "", "", "", - "◇ foo -│ **", + "◇ foo +**", " ", "", @@ -169,26 +169,26 @@ exports[`password (isCI = false) > renders custom mask 1`] = ` exports[`password (isCI = false) > renders masked value 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ ▪_", + "│ ▪_", "", "", "", "", - "│ ▪▪_", + "│ ▪▪_", "", "", "", "", - "◇ foo -│ ▪▪", + "◇ foo +▪▪", " ", "", @@ -198,16 +198,16 @@ exports[`password (isCI = false) > renders masked value 1`] = ` exports[`password (isCI = false) > renders message 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "◇ foo -│ ", + "◇ foo +│ ", " ", "", @@ -217,13 +217,13 @@ exports[`password (isCI = false) > renders message 1`] = ` exports[`password (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", "", "", - "◇ foo + "◇ foo ", " ", @@ -234,10 +234,10 @@ exports[`password (isCI = false) > withGuide: false removes guide 1`] = ` exports[`password (isCI = true) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", " ", @@ -248,40 +248,40 @@ exports[`password (isCI = true) > can be aborted by a signal 1`] = ` exports[`password (isCI = true) > clears input on error when clearOnError is true 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ ▪_", + "│ ▪_", "", "", "", "", - "▲ foo -│ ▪ -└ Error + "▲ foo +│ ▪ +Error ", "", "", "", - "◆ foo -│ ▪_ -└ + "◆ foo +│ ▪_ +└ ", "", "", "", - "│ ▪▪_", + "│ ▪▪_", "", "", "", "", - "◇ foo -│ ▪▪", + "◇ foo +▪▪", " ", "", @@ -291,13 +291,13 @@ exports[`password (isCI = true) > clears input on error when clearOnError is tru exports[`password (isCI = true) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", "", "", - "◇ foo + "◇ foo ", " ", @@ -308,35 +308,35 @@ exports[`password (isCI = true) > global withGuide: false removes guide 1`] = ` exports[`password (isCI = true) > renders and clears validation errors 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ ▪_", + "│ ▪_", "", "", "", "", - "▲ foo -│ ▪ -└ Password must be at least 2 characters + "▲ foo +│ ▪ +Password must be at least 2 characters ", "", "", "", - "◆ foo -│ ▪▪_ -└ + "◆ foo +│ ▪▪_ +└ ", "", "", "", - "◇ foo -│ ▪▪", + "◇ foo +▪▪", " ", "", @@ -346,22 +346,22 @@ exports[`password (isCI = true) > renders and clears validation errors 1`] = ` exports[`password (isCI = true) > renders cancelled value 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ ▪_", + "│ ▪_", "", "", "", "", - "■ foo -│ ▪ -│", + "■ foo +│ ▪ +│", " ", "", @@ -371,26 +371,26 @@ exports[`password (isCI = true) > renders cancelled value 1`] = ` exports[`password (isCI = true) > renders custom mask 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ *_", + "│ *_", "", "", "", "", - "│ **_", + "│ **_", "", "", "", "", - "◇ foo -│ **", + "◇ foo +**", " ", "", @@ -400,26 +400,26 @@ exports[`password (isCI = true) > renders custom mask 1`] = ` exports[`password (isCI = true) > renders masked value 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ ▪_", + "│ ▪_", "", "", "", "", - "│ ▪▪_", + "│ ▪▪_", "", "", "", "", - "◇ foo -│ ▪▪", + "◇ foo +▪▪", " ", "", @@ -429,16 +429,16 @@ exports[`password (isCI = true) > renders masked value 1`] = ` exports[`password (isCI = true) > renders message 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "◇ foo -│ ", + "◇ foo +│ ", " ", "", @@ -448,13 +448,13 @@ exports[`password (isCI = true) > renders message 1`] = ` exports[`password (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", "", "", - "◇ foo + "◇ foo ", " ", diff --git a/packages/prompts/test/__snapshots__/path.test.ts.snap b/packages/prompts/test/__snapshots__/path.test.ts.snap index 0153e166..e9af08d5 100644 --- a/packages/prompts/test/__snapshots__/path.test.ts.snap +++ b/packages/prompts/test/__snapshots__/path.test.ts.snap @@ -3,21 +3,21 @@ exports[`text (isCI = false) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "■ foo -│ /tmp/", + "■ foo +│ /tmp/", " ", "", @@ -27,57 +27,57 @@ exports[`text (isCI = false) > can cancel 1`] = ` exports[`text (isCI = false) > cannot submit unknown value 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/_█ -│ No matches found -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/_█ +No matches found +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "▲ foo -│ -│ Search: /tmp/_█ -│ No matches found -│ Please select a path -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "▲ foo +│ +Search: /tmp/_█ +No matches found +Please select a path +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/b█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/b█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -87,18 +87,18 @@ exports[`text (isCI = false) > cannot submit unknown value 1`] = ` exports[`text (isCI = false) > initialValue sets the value 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/bar█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/bar█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -108,33 +108,33 @@ exports[`text (isCI = false) > initialValue sets the value 1`] = ` exports[`text (isCI = false) > renders cancelled value if one set 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/x█ -│ No matches found -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/x█ +No matches found +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/xy█", + "Search: /tmp/xy█", "", "", "", "", - "■ foo -│ /tmp/xy", + "■ foo +│ /tmp/xy", " ", "", @@ -144,21 +144,21 @@ exports[`text (isCI = false) > renders cancelled value if one set 1`] = ` exports[`text (isCI = false) > renders message 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -168,33 +168,33 @@ exports[`text (isCI = false) > renders message 1`] = ` exports[`text (isCI = false) > renders submitted value 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/b█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/b█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/ba█", + "Search: /tmp/ba█", "", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -204,57 +204,57 @@ exports[`text (isCI = false) > renders submitted value 1`] = ` exports[`text (isCI = false) > validation errors render and clear (using Error) 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/r█ -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/r█ +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "▲ foo -│ -│ Search: /tmp/r█ -│ should be /tmp/bar -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "▲ foo +│ +Search: /tmp/r█ +should be /tmp/bar +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◆ foo -│ -│ Search: /tmp/█ -│ ○ /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "◆ foo +│ +Search: /tmp/█ +/tmp/bar +/tmp/foo +/tmp/hello +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/b█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/b█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -264,57 +264,57 @@ exports[`text (isCI = false) > validation errors render and clear (using Error) exports[`text (isCI = false) > validation errors render and clear 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/r█ -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/r█ +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "▲ foo -│ -│ Search: /tmp/r█ -│ should be /tmp/bar -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "▲ foo +│ +Search: /tmp/r█ +should be /tmp/bar +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◆ foo -│ -│ Search: /tmp/█ -│ ○ /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "◆ foo +│ +Search: /tmp/█ +/tmp/bar +/tmp/foo +/tmp/hello +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/b█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/b█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -324,21 +324,21 @@ exports[`text (isCI = false) > validation errors render and clear 1`] = ` exports[`text (isCI = true) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "■ foo -│ /tmp/", + "■ foo +│ /tmp/", " ", "", @@ -348,57 +348,57 @@ exports[`text (isCI = true) > can cancel 1`] = ` exports[`text (isCI = true) > cannot submit unknown value 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/_█ -│ No matches found -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/_█ +No matches found +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "▲ foo -│ -│ Search: /tmp/_█ -│ No matches found -│ Please select a path -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "▲ foo +│ +Search: /tmp/_█ +No matches found +Please select a path +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/b█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/b█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -408,18 +408,18 @@ exports[`text (isCI = true) > cannot submit unknown value 1`] = ` exports[`text (isCI = true) > initialValue sets the value 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/bar█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/bar█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -429,33 +429,33 @@ exports[`text (isCI = true) > initialValue sets the value 1`] = ` exports[`text (isCI = true) > renders cancelled value if one set 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/x█ -│ No matches found -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/x█ +No matches found +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/xy█", + "Search: /tmp/xy█", "", "", "", "", - "■ foo -│ /tmp/xy", + "■ foo +│ /tmp/xy", " ", "", @@ -465,21 +465,21 @@ exports[`text (isCI = true) > renders cancelled value if one set 1`] = ` exports[`text (isCI = true) > renders message 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -489,33 +489,33 @@ exports[`text (isCI = true) > renders message 1`] = ` exports[`text (isCI = true) > renders submitted value 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/b█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/b█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/ba█", + "Search: /tmp/ba█", "", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -525,57 +525,57 @@ exports[`text (isCI = true) > renders submitted value 1`] = ` exports[`text (isCI = true) > validation errors render and clear (using Error) 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/r█ -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/r█ +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "▲ foo -│ -│ Search: /tmp/r█ -│ should be /tmp/bar -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "▲ foo +│ +Search: /tmp/r█ +should be /tmp/bar +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◆ foo -│ -│ Search: /tmp/█ -│ ○ /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "◆ foo +│ +Search: /tmp/█ +/tmp/bar +/tmp/foo +/tmp/hello +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/b█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/b█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", @@ -585,57 +585,57 @@ exports[`text (isCI = true) > validation errors render and clear (using Error) 1 exports[`text (isCI = true) > validation errors render and clear 1`] = ` [ "", - "│ -◆ foo -│ -│ Search: /tmp/█ -│ ● /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ○ /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "│ +◆ foo +│ +Search: /tmp/█ +● /tmp/bar +/tmp/foo +/tmp/hello +/tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/r█ -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/r█ +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "▲ foo -│ -│ Search: /tmp/r█ -│ should be /tmp/bar -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "▲ foo +│ +Search: /tmp/r█ +should be /tmp/bar +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◆ foo -│ -│ Search: /tmp/█ -│ ○ /tmp/bar -│ ○ /tmp/foo -│ ○ /tmp/hello -│ ● /tmp/root.zip -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "◆ foo +│ +Search: /tmp/█ +/tmp/bar +/tmp/foo +/tmp/hello +● /tmp/root.zip +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "│ Search: /tmp/b█ -│ ● /tmp/bar -│ ↑/↓ to select • Enter: confirm • Type: to search -└", + "Search: /tmp/b█ +● /tmp/bar +↑/↓ to select • Enter: confirm • Type: to search +└", "", "", "", - "◇ foo -│ /tmp/bar", + "◇ foo +/tmp/bar", " ", "", diff --git a/packages/prompts/test/__snapshots__/progress-bar.test.ts.snap b/packages/prompts/test/__snapshots__/progress-bar.test.ts.snap index 8296f517..c1239daa 100644 --- a/packages/prompts/test/__snapshots__/progress-bar.test.ts.snap +++ b/packages/prompts/test/__snapshots__/progress-bar.test.ts.snap @@ -3,21 +3,21 @@ exports[`prompts - progress (isCI = false) > message > sets message for next frame 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "◐ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ foo", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ foo", ] `; exports[`prompts - progress (isCI = false) > process exit handling > prioritizes cancel option over global setting 1`] = ` [ "", - "│ + "│ ", - "■ Progress cancel message + "■ Progress cancel message ", "", ] @@ -26,9 +26,9 @@ exports[`prompts - progress (isCI = false) > process exit handling > prioritizes exports[`prompts - progress (isCI = false) > process exit handling > prioritizes error option over global setting 1`] = ` [ "", - "│ + "│ ", - "▲ Progress error message + "▲ Progress error message ", "", ] @@ -37,9 +37,9 @@ exports[`prompts - progress (isCI = false) > process exit handling > prioritizes exports[`prompts - progress (isCI = false) > process exit handling > uses custom cancel message when provided directly 1`] = ` [ "", - "│ + "│ ", - "■ Custom cancel message + "■ Custom cancel message ", "", ] @@ -48,9 +48,9 @@ exports[`prompts - progress (isCI = false) > process exit handling > uses custom exports[`prompts - progress (isCI = false) > process exit handling > uses custom error message when provided directly 1`] = ` [ "", - "│ + "│ ", - "▲ Custom error message + "▲ Custom error message ", "", ] @@ -59,9 +59,9 @@ exports[`prompts - progress (isCI = false) > process exit handling > uses custom exports[`prompts - progress (isCI = false) > process exit handling > uses default cancel message 1`] = ` [ "", - "│ + "│ ", - "■ Canceled + "■ Canceled ", "", ] @@ -70,9 +70,9 @@ exports[`prompts - progress (isCI = false) > process exit handling > uses defaul exports[`prompts - progress (isCI = false) > process exit handling > uses global custom cancel message from settings 1`] = ` [ "", - "│ + "│ ", - "■ Global cancel message + "■ Global cancel message ", "", ] @@ -81,9 +81,9 @@ exports[`prompts - progress (isCI = false) > process exit handling > uses global exports[`prompts - progress (isCI = false) > process exit handling > uses global custom error message from settings 1`] = ` [ "", - "│ + "│ ", - "▲ Global error message + "▲ Global error message ", "", ] @@ -92,48 +92,48 @@ exports[`prompts - progress (isCI = false) > process exit handling > uses global exports[`prompts - progress (isCI = false) > start > renders frames at interval 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "◐ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "◓ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "◑ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", ] `; exports[`prompts - progress (isCI = false) > start > renders message 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ foo", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ foo", ] `; exports[`prompts - progress (isCI = false) > start > renders timer when indicator is "timer" 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [0s]", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [0s]", ] `; exports[`prompts - progress (isCI = false) > stop > renders cancel symbol when calling cancel() 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "■ + "■ ", "", ] @@ -142,12 +142,12 @@ exports[`prompts - progress (isCI = false) > stop > renders cancel symbol when c exports[`prompts - progress (isCI = false) > stop > renders error symbol when calling error() 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "▲ + "▲ ", "", ] @@ -156,12 +156,12 @@ exports[`prompts - progress (isCI = false) > stop > renders error symbol when ca exports[`prompts - progress (isCI = false) > stop > renders message 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "◇ foo + "◇ foo ", "", ] @@ -170,12 +170,12 @@ exports[`prompts - progress (isCI = false) > stop > renders message 1`] = ` exports[`prompts - progress (isCI = false) > stop > renders message when cancelling 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "■ cancelled :-( + "■ cancelled :-( ", "", ] @@ -184,12 +184,12 @@ exports[`prompts - progress (isCI = false) > stop > renders message when cancell exports[`prompts - progress (isCI = false) > stop > renders message when erroring 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "▲ FATAL ERROR! + "▲ FATAL ERROR! ", "", ] @@ -198,12 +198,12 @@ exports[`prompts - progress (isCI = false) > stop > renders message when errorin exports[`prompts - progress (isCI = false) > stop > renders message without removing dots 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "◇ foo. + "◇ foo. ", "", ] @@ -212,12 +212,12 @@ exports[`prompts - progress (isCI = false) > stop > renders message without remo exports[`prompts - progress (isCI = false) > stop > renders submit symbol and stops progress 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ", "", "", - "◇ + "◇ ", "", ] @@ -226,21 +226,21 @@ exports[`prompts - progress (isCI = false) > stop > renders submit symbol and st exports[`prompts - progress (isCI = false) > style > renders block progressbar 1`] = ` [ "", - "│ + "│ ", - "◒ ██████████ ", + "██████████ ", "", "", - "◐ ██████████ ", + "██████████ ", "", "", - "◓ ██████████ ", + "██████████ ", "", "", - "◑ ██████████ ", + "██████████ ", "", "", - "◇ + "◇ ", "", ] @@ -249,21 +249,21 @@ exports[`prompts - progress (isCI = false) > style > renders block progressbar 1 exports[`prompts - progress (isCI = false) > style > renders heavy progressbar 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━ ", + "━━━━━━━━━━ ", "", "", - "◐ ━━━━━━━━━━ ", + "━━━━━━━━━━ ", "", "", - "◓ ━━━━━━━━━━ ", + "━━━━━━━━━━ ", "", "", - "◑ ━━━━━━━━━━ ", + "━━━━━━━━━━ ", "", "", - "◇ + "◇ ", "", ] @@ -272,21 +272,21 @@ exports[`prompts - progress (isCI = false) > style > renders heavy progressbar 1 exports[`prompts - progress (isCI = false) > style > renders light progressbar 1`] = ` [ "", - "│ + "│ ", - "◒ ────────── ", + "────────── ", "", "", - "◐ ────────── ", + "────────── ", "", "", - "◓ ────────── ", + "────────── ", "", "", - "◑ ────────── ", + "────────── ", "", "", - "◇ + "◇ ", "", ] @@ -295,23 +295,23 @@ exports[`prompts - progress (isCI = false) > style > renders light progressbar 1 exports[`prompts - progress (isCI = true) > message > sets message for next frame 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", " ", "", "", - "◐ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ foo...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ foo...", ] `; exports[`prompts - progress (isCI = true) > process exit handling > prioritizes cancel option over global setting 1`] = ` [ "", - "│ + "│ ", - "■ Progress cancel message + "■ Progress cancel message ", "", ] @@ -320,9 +320,9 @@ exports[`prompts - progress (isCI = true) > process exit handling > prioritizes exports[`prompts - progress (isCI = true) > process exit handling > prioritizes error option over global setting 1`] = ` [ "", - "│ + "│ ", - "▲ Progress error message + "▲ Progress error message ", "", ] @@ -331,9 +331,9 @@ exports[`prompts - progress (isCI = true) > process exit handling > prioritizes exports[`prompts - progress (isCI = true) > process exit handling > uses custom cancel message when provided directly 1`] = ` [ "", - "│ + "│ ", - "■ Custom cancel message + "■ Custom cancel message ", "", ] @@ -342,9 +342,9 @@ exports[`prompts - progress (isCI = true) > process exit handling > uses custom exports[`prompts - progress (isCI = true) > process exit handling > uses custom error message when provided directly 1`] = ` [ "", - "│ + "│ ", - "▲ Custom error message + "▲ Custom error message ", "", ] @@ -353,9 +353,9 @@ exports[`prompts - progress (isCI = true) > process exit handling > uses custom exports[`prompts - progress (isCI = true) > process exit handling > uses default cancel message 1`] = ` [ "", - "│ + "│ ", - "■ Canceled + "■ Canceled ", "", ] @@ -364,9 +364,9 @@ exports[`prompts - progress (isCI = true) > process exit handling > uses default exports[`prompts - progress (isCI = true) > process exit handling > uses global custom cancel message from settings 1`] = ` [ "", - "│ + "│ ", - "■ Global cancel message + "■ Global cancel message ", "", ] @@ -375,9 +375,9 @@ exports[`prompts - progress (isCI = true) > process exit handling > uses global exports[`prompts - progress (isCI = true) > process exit handling > uses global custom error message from settings 1`] = ` [ "", - "│ + "│ ", - "▲ Global error message + "▲ Global error message ", "", ] @@ -386,41 +386,41 @@ exports[`prompts - progress (isCI = true) > process exit handling > uses global exports[`prompts - progress (isCI = true) > start > renders frames at interval 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", ] `; exports[`prompts - progress (isCI = true) > start > renders message 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ foo...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ foo...", ] `; exports[`prompts - progress (isCI = true) > start > renders timer when indicator is "timer" 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", ] `; exports[`prompts - progress (isCI = true) > stop > renders cancel symbol when calling cancel() 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", " ", "", "", - "■ + "■ ", "", ] @@ -429,14 +429,14 @@ exports[`prompts - progress (isCI = true) > stop > renders cancel symbol when ca exports[`prompts - progress (isCI = true) > stop > renders error symbol when calling error() 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", " ", "", "", - "▲ + "▲ ", "", ] @@ -445,14 +445,14 @@ exports[`prompts - progress (isCI = true) > stop > renders error symbol when cal exports[`prompts - progress (isCI = true) > stop > renders message 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", " ", "", "", - "◇ foo + "◇ foo ", "", ] @@ -461,14 +461,14 @@ exports[`prompts - progress (isCI = true) > stop > renders message 1`] = ` exports[`prompts - progress (isCI = true) > stop > renders message when cancelling 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", " ", "", "", - "■ cancelled :-( + "■ cancelled :-( ", "", ] @@ -477,14 +477,14 @@ exports[`prompts - progress (isCI = true) > stop > renders message when cancelli exports[`prompts - progress (isCI = true) > stop > renders message when erroring 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", " ", "", "", - "▲ FATAL ERROR! + "▲ FATAL ERROR! ", "", ] @@ -493,14 +493,14 @@ exports[`prompts - progress (isCI = true) > stop > renders message when erroring exports[`prompts - progress (isCI = true) > stop > renders message without removing dots 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", " ", "", "", - "◇ foo. + "◇ foo. ", "", ] @@ -509,14 +509,14 @@ exports[`prompts - progress (isCI = true) > stop > renders message without remov exports[`prompts - progress (isCI = true) > stop > renders submit symbol and stops progress 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", + "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...", " ", "", "", - "◇ + "◇ ", "", ] @@ -525,19 +525,19 @@ exports[`prompts - progress (isCI = true) > stop > renders submit symbol and sto exports[`prompts - progress (isCI = true) > style > renders block progressbar 1`] = ` [ "", - "│ + "│ ", - "◒ ██████████ ...", + "██████████ ...", " ", "", "", - "◐ ██████████ ...", + "██████████ ...", " ", "", "", - "◇ + "◇ ", "", ] @@ -546,19 +546,19 @@ exports[`prompts - progress (isCI = true) > style > renders block progressbar 1` exports[`prompts - progress (isCI = true) > style > renders heavy progressbar 1`] = ` [ "", - "│ + "│ ", - "◒ ━━━━━━━━━━ ...", + "━━━━━━━━━━ ...", " ", "", "", - "◐ ━━━━━━━━━━ ...", + "━━━━━━━━━━ ...", " ", "", "", - "◇ + "◇ ", "", ] @@ -567,19 +567,19 @@ exports[`prompts - progress (isCI = true) > style > renders heavy progressbar 1` exports[`prompts - progress (isCI = true) > style > renders light progressbar 1`] = ` [ "", - "│ + "│ ", - "◒ ────────── ...", + "────────── ...", " ", "", "", - "◐ ────────── ...", + "────────── ...", " ", "", "", - "◇ + "◇ ", "", ] diff --git a/packages/prompts/test/__snapshots__/select-key.test.ts.snap b/packages/prompts/test/__snapshots__/select-key.test.ts.snap index fe08336f..6922d6c6 100644 --- a/packages/prompts/test/__snapshots__/select-key.test.ts.snap +++ b/packages/prompts/test/__snapshots__/select-key.test.ts.snap @@ -3,18 +3,18 @@ exports[`text (isCI = false) > can cancel by pressing escape 1`] = ` [ "", - "│ -◆ foo -│  a  Option A -│  b  Option B -└ + "│ +◆ foo + a Option A + b  Option B +└ ", "", "", "", - "■ foo -│ Option A -│", + "■ foo +│ Option A +│", " ", "", @@ -24,19 +24,19 @@ exports[`text (isCI = false) > can cancel by pressing escape 1`] = ` exports[`text (isCI = false) > caseSensitive: true makes input case-sensitive 1`] = ` [ "", - "│ -◆ foo -│  a  Option a -│  A  Option A -│  b  Option B -└ + "│ +◆ foo + a Option a + A  Option A + b  Option B +└ ", "", "", "", "", - "◇ foo -│ Option A", + "◇ foo +Option A", " ", ] @@ -45,18 +45,18 @@ exports[`text (isCI = false) > caseSensitive: true makes input case-sensitive 1` exports[`text (isCI = false) > caseSensitive: true makes options case-sensitive 1`] = ` [ "", - "│ -◆ foo -│  A  Option A -│  b  Option B -└ + "│ +◆ foo + A Option A + b  Option B +└ ", "", "", "", - "■ foo -│ Option A -│", + "■ foo +│ Option A +│", " ", "", @@ -66,16 +66,16 @@ exports[`text (isCI = false) > caseSensitive: true makes options case-sensitive exports[`text (isCI = false) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo - a  Option A - b  Option B + "◆ foo + a Option A + b  Option B ", "", "", "", - "◇ foo -Option A", + "◇ foo +Option A", " ", ] @@ -84,18 +84,18 @@ exports[`text (isCI = false) > global withGuide: false removes guide 1`] = ` exports[`text (isCI = false) > input is case-insensitive by default 1`] = ` [ "", - "│ -◆ foo -│  a  Option A -│  b  Option B -└ + "│ +◆ foo + a Option A + b  Option B +└ ", "", "", "", "", - "◇ foo -│ Option A", + "◇ foo +Option A", " ", ] @@ -104,40 +104,40 @@ exports[`text (isCI = false) > input is case-insensitive by default 1`] = ` exports[`text (isCI = false) > long cancelled labels are wrapped correctly 1`] = ` [ "", - "│ -◆ Select an option: -│  a  This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│ This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│  b  Short label -└ + "│ +◆ Select an option: + a This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label +│ This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label + b  Short label +└ ", "", "", "", - "■ Select an option: -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label  -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label -│", + "■ Select an option: +│ This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label +│", " ", "", @@ -147,40 +147,40 @@ exports[`text (isCI = false) > long cancelled labels are wrapped correctly 1`] = exports[`text (isCI = false) > long option labels are wrapped correctly 1`] = ` [ "", - "│ -◆ Select an option: -│  a  This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│ This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│  b  Short label -└ + "│ +◆ Select an option: + a This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label +│ This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label + b  Short label +└ ", "", "", "", "", - "◇ Select an option: -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label  -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label", + "◇ Select an option: +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label", " ", ] @@ -189,40 +189,40 @@ exports[`text (isCI = false) > long option labels are wrapped correctly 1`] = ` exports[`text (isCI = false) > long submitted labels are wrapped correctly 1`] = ` [ "", - "│ -◆ Select an option: -│  a  This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│ This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│  b  Short label -└ + "│ +◆ Select an option: + a This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label +│ This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label + b  Short label +└ ", "", "", "", "", - "◇ Select an option: -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label  -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label", + "◇ Select an option: +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label", " ", ] @@ -231,18 +231,18 @@ exports[`text (isCI = false) > long submitted labels are wrapped correctly 1`] = exports[`text (isCI = false) > options are case-insensitive by default 1`] = ` [ "", - "│ -◆ foo -│  A  Option A -│  b  Option B -└ + "│ +◆ foo + A Option A + b  Option B +└ ", "", "", "", "", - "◇ foo -│ Option A", + "◇ foo +Option A", " ", ] @@ -251,17 +251,17 @@ exports[`text (isCI = false) > options are case-insensitive by default 1`] = ` exports[`text (isCI = false) > renders message with options 1`] = ` [ "", - "│ -◆ foo -│  a  Option A -│  b  Option B -└ + "│ +◆ foo + a Option A + b  Option B +└ ", "", "", "", - "◇ foo -│ Option A", + "◇ foo +Option A", " ", "", @@ -271,18 +271,18 @@ exports[`text (isCI = false) > renders message with options 1`] = ` exports[`text (isCI = false) > selects option by keypress 1`] = ` [ "", - "│ -◆ foo -│  a  Option A -│  b  Option B -└ + "│ +◆ foo + a Option A + b  Option B +└ ", "", "", "", "", - "◇ foo -│ Option B", + "◇ foo +Option B", " ", ] @@ -291,16 +291,16 @@ exports[`text (isCI = false) > selects option by keypress 1`] = ` exports[`text (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo - a  Option A - b  Option B + "◆ foo + a Option A + b  Option B ", "", "", "", - "◇ foo -Option A", + "◇ foo +Option A", " ", ] @@ -309,18 +309,18 @@ exports[`text (isCI = false) > withGuide: false removes guide 1`] = ` exports[`text (isCI = true) > can cancel by pressing escape 1`] = ` [ "", - "│ -◆ foo -│  a  Option A -│  b  Option B -└ + "│ +◆ foo + a Option A + b  Option B +└ ", "", "", "", - "■ foo -│ Option A -│", + "■ foo +│ Option A +│", " ", "", @@ -330,19 +330,19 @@ exports[`text (isCI = true) > can cancel by pressing escape 1`] = ` exports[`text (isCI = true) > caseSensitive: true makes input case-sensitive 1`] = ` [ "", - "│ -◆ foo -│  a  Option a -│  A  Option A -│  b  Option B -└ + "│ +◆ foo + a Option a + A  Option A + b  Option B +└ ", "", "", "", "", - "◇ foo -│ Option A", + "◇ foo +Option A", " ", ] @@ -351,18 +351,18 @@ exports[`text (isCI = true) > caseSensitive: true makes input case-sensitive 1`] exports[`text (isCI = true) > caseSensitive: true makes options case-sensitive 1`] = ` [ "", - "│ -◆ foo -│  A  Option A -│  b  Option B -└ + "│ +◆ foo + A Option A + b  Option B +└ ", "", "", "", - "■ foo -│ Option A -│", + "■ foo +│ Option A +│", " ", "", @@ -372,16 +372,16 @@ exports[`text (isCI = true) > caseSensitive: true makes options case-sensitive 1 exports[`text (isCI = true) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo - a  Option A - b  Option B + "◆ foo + a Option A + b  Option B ", "", "", "", - "◇ foo -Option A", + "◇ foo +Option A", " ", ] @@ -390,18 +390,18 @@ exports[`text (isCI = true) > global withGuide: false removes guide 1`] = ` exports[`text (isCI = true) > input is case-insensitive by default 1`] = ` [ "", - "│ -◆ foo -│  a  Option A -│  b  Option B -└ + "│ +◆ foo + a Option A + b  Option B +└ ", "", "", "", "", - "◇ foo -│ Option A", + "◇ foo +Option A", " ", ] @@ -410,40 +410,40 @@ exports[`text (isCI = true) > input is case-insensitive by default 1`] = ` exports[`text (isCI = true) > long cancelled labels are wrapped correctly 1`] = ` [ "", - "│ -◆ Select an option: -│  a  This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│ This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│  b  Short label -└ + "│ +◆ Select an option: + a This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label +│ This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label + b  Short label +└ ", "", "", "", - "■ Select an option: -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label  -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label -│", + "■ Select an option: +│ This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label +│", " ", "", @@ -453,40 +453,40 @@ exports[`text (isCI = true) > long cancelled labels are wrapped correctly 1`] = exports[`text (isCI = true) > long option labels are wrapped correctly 1`] = ` [ "", - "│ -◆ Select an option: -│  a  This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│ This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│  b  Short label -└ + "│ +◆ Select an option: + a This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label +│ This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label + b  Short label +└ ", "", "", "", "", - "◇ Select an option: -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label  -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label", + "◇ Select an option: +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label", " ", ] @@ -495,40 +495,40 @@ exports[`text (isCI = true) > long option labels are wrapped correctly 1`] = ` exports[`text (isCI = true) > long submitted labels are wrapped correctly 1`] = ` [ "", - "│ -◆ Select an option: -│  a  This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│ This is a somewhat long -│ label This is a somewhat -│ long label This is a -│ somewhat long label This is -│ a somewhat long label This -│ is a somewhat long label -│  b  Short label -└ + "│ +◆ Select an option: + a This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label +│ This is a somewhat long +│ label This is a somewhat +│ long label This is a +│ somewhat long label This is +│ a somewhat long label This +│ is a somewhat long label + b  Short label +└ ", "", "", "", "", - "◇ Select an option: -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label  -│ This is a somewhat long  -│ label This is a somewhat  -│ long label This is a  -│ somewhat long label This is -│  a somewhat long label This -│  is a somewhat long label", + "◇ Select an option: +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label +This is a somewhat long +label This is a somewhat +long label This is a +somewhat long label This is + a somewhat long label This + is a somewhat long label", " ", ] @@ -537,18 +537,18 @@ exports[`text (isCI = true) > long submitted labels are wrapped correctly 1`] = exports[`text (isCI = true) > options are case-insensitive by default 1`] = ` [ "", - "│ -◆ foo -│  A  Option A -│  b  Option B -└ + "│ +◆ foo + A Option A + b  Option B +└ ", "", "", "", "", - "◇ foo -│ Option A", + "◇ foo +Option A", " ", ] @@ -557,17 +557,17 @@ exports[`text (isCI = true) > options are case-insensitive by default 1`] = ` exports[`text (isCI = true) > renders message with options 1`] = ` [ "", - "│ -◆ foo -│  a  Option A -│  b  Option B -└ + "│ +◆ foo + a Option A + b  Option B +└ ", "", "", "", - "◇ foo -│ Option A", + "◇ foo +Option A", " ", "", @@ -577,18 +577,18 @@ exports[`text (isCI = true) > renders message with options 1`] = ` exports[`text (isCI = true) > selects option by keypress 1`] = ` [ "", - "│ -◆ foo -│  a  Option A -│  b  Option B -└ + "│ +◆ foo + a Option A + b  Option B +└ ", "", "", "", "", - "◇ foo -│ Option B", + "◇ foo +Option B", " ", ] @@ -597,16 +597,16 @@ exports[`text (isCI = true) > selects option by keypress 1`] = ` exports[`text (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo - a  Option A - b  Option B + "◆ foo + a Option A + b  Option B ", "", "", "", - "◇ foo -Option A", + "◇ foo +Option A", " ", ] diff --git a/packages/prompts/test/__snapshots__/select.test.ts.snap b/packages/prompts/test/__snapshots__/select.test.ts.snap index 4d046e4d..636bb748 100644 --- a/packages/prompts/test/__snapshots__/select.test.ts.snap +++ b/packages/prompts/test/__snapshots__/select.test.ts.snap @@ -3,11 +3,11 @@ exports[`select (isCI = false) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", " ", @@ -18,18 +18,18 @@ exports[`select (isCI = false) > can be aborted by a signal 1`] = ` exports[`select (isCI = false) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", "", "", "", - "■ foo -│ opt0 -│", + "■ foo +│ opt0 +│", " ", "", @@ -39,59 +39,59 @@ exports[`select (isCI = false) > can cancel 1`] = ` exports[`select (isCI = false) > correctly limits options when message wraps to multiple lines 1`] = ` [ "", - "│ -◆ This is a very -│ long message that -│ will wrap to -│ multiple lines -│ ● Option 0 -│ ○ Option 1 -│ ○ Option 2 -│ ... -└ + "│ +◆ This is a very +│ long message that +│ will wrap to +│ multiple lines +● Option 0 +Option 1 +Option 2 +... +└ ", "", "", "", - "│ ○ Option 0 -│ ● Option 1 -│ ○ Option 2 -│ ... -└ + "Option 0 +● Option 1 +Option 2 +... +└ ", "", "", "", - "│ ○ Option 1 -│ ● Option 2 -│ ... -└ + "Option 1 +● Option 2 +... +└ ", "", "", "", - "│ ... -│ ● Option 3 -│ ○ Option 4 -│ ... -└ + "... +● Option 3 +Option 4 +... +└ ", "", "", "", - "│ ● Option 4 -│ ○ Option 5 -│ ... -└ + "● Option 4 +Option 5 +... +└ ", "", "", "", - "◇ This is a very -│ long message that -│ will wrap to -│ multiple lines -│ Option 4", + "◇ This is a very +│ long message that +│ will wrap to +│ multiple lines +Option 4", " ", "", @@ -101,53 +101,53 @@ exports[`select (isCI = false) > correctly limits options when message wraps to exports[`select (isCI = false) > correctly limits options with explicit multiline message 1`] = ` [ "", - "│ -◆ Choose an option: -│ Line 2 of the message -│ Line 3 of the message -│ ● Option 0 -│ ○ Option 1 -│ ○ Option 2 -│ ○ Option 3 -│ ... -└ + "│ +◆ Choose an option: +│ Line 2 of the message +│ Line 3 of the message +● Option 0 +Option 1 +Option 2 +Option 3 +... +└ ", "", "", "", - "│ ○ Option 0 -│ ● Option 1 -│ ○ Option 2 -│ ○ Option 3 -│ ... -└ + "Option 0 +● Option 1 +Option 2 +Option 3 +... +└ ", "", "", "", - "│ ○ Option 1 -│ ● Option 2 -│ ○ Option 3 -│ ... -└ + "Option 1 +● Option 2 +Option 3 +... +└ ", "", "", "", - "│ ... -│ ○ Option 2 -│ ● Option 3 -│ ○ Option 4 -│ ... -└ + "... +Option 2 +● Option 3 +Option 4 +... +└ ", "", "", "", - "◇ Choose an option: -│ Line 2 of the message -│ Line 3 of the message -│ Option 3", + "◇ Choose an option: +│ Line 2 of the message +│ Line 3 of the message +Option 3", " ", "", @@ -157,24 +157,24 @@ exports[`select (isCI = false) > correctly limits options with explicit multilin exports[`select (isCI = false) > down arrow selects next option 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", "", "", "", - "│ ○ opt0 -│ ● opt1 -└ + "opt0 +● opt1 +└ ", "", "", "", - "◇ foo -│ opt1", + "◇ foo +opt1", " ", "", @@ -184,15 +184,15 @@ exports[`select (isCI = false) > down arrow selects next option 1`] = ` exports[`select (isCI = false) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo -● opt0 -○ opt1 + "◆ foo +● opt0 +opt1 ", "", "", - "◇ foo -opt0", + "◇ foo +opt0", " ", "", @@ -202,35 +202,35 @@ exports[`select (isCI = false) > global withGuide: false removes guide 1`] = ` exports[`select (isCI = false) > handles mixed size re-renders 1`] = ` [ "", - "│ -◆ Whatever -│ ● Long Option -│ Long Option -│ Long Option -│ Long Option -│ Long Option -│ Long Option -│ Long Option -│ Long Option -│ ... -└ + "│ +◆ Whatever +● Long Option +│ Long Option +│ Long Option +│ Long Option +│ Long Option +│ Long Option +│ Long Option +│ Long Option +... +└ ", "", "", - "│ -◆ Whatever -│ ... -│ ○ Option 0 -│ ○ Option 1 -│ ○ Option 2 -│ ● Option 3 -└ + "│ +◆ Whatever +... +Option 0 +Option 1 +Option 2 +● Option 3 +└ ", "", "", "", - "◇ Whatever -│ Option 3", + "◇ Whatever +Option 3", " ", "", @@ -240,18 +240,18 @@ exports[`select (isCI = false) > handles mixed size re-renders 1`] = ` exports[`select (isCI = false) > renders disabled options 1`] = ` [ "", - "│ -◆ foo -│ ○ Option 0 -│ ● Option 1 -│ ○ Option 2 (Hint 2) -└ + "│ +◆ foo +Option 0 +● Option 1 +Option 2 (Hint 2) +└ ", "", "", "", - "◇ foo -│ Option 1", + "◇ foo +Option 1", " ", "", @@ -261,26 +261,26 @@ exports[`select (isCI = false) > renders disabled options 1`] = ` exports[`select (isCI = false) > renders multi-line option labels 1`] = ` [ "", - "│ -◆ foo -│ ● Option 0 -│ with multiple lines -│ ○ Option 1 -└ + "│ +◆ foo +● Option 0 +│ with multiple lines +Option 1 +└ ", "", "", "", - "│ ○ Option 0 -│ with multiple lines -│ ● Option 1 -└ + "Option 0 +with multiple lines +● Option 1 +└ ", "", "", "", - "◇ foo -│ Option 1", + "◇ foo +Option 1", " ", "", @@ -290,17 +290,17 @@ exports[`select (isCI = false) > renders multi-line option labels 1`] = ` exports[`select (isCI = false) > renders option hints 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 (Hint 0) -│ ○ opt1 -└ + "│ +◆ foo +● opt0 (Hint 0) +opt1 +└ ", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -310,17 +310,17 @@ exports[`select (isCI = false) > renders option hints 1`] = ` exports[`select (isCI = false) > renders option labels 1`] = ` [ "", - "│ -◆ foo -│ ● Option 0 -│ ○ Option 1 -└ + "│ +◆ foo +● Option 0 +Option 1 +└ ", "", "", "", - "◇ foo -│ Option 0", + "◇ foo +Option 0", " ", "", @@ -330,17 +330,17 @@ exports[`select (isCI = false) > renders option labels 1`] = ` exports[`select (isCI = false) > renders options and message 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -350,31 +350,31 @@ exports[`select (isCI = false) > renders options and message 1`] = ` exports[`select (isCI = false) > up arrow selects previous option 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", "", "", "", - "│ ○ opt0 -│ ● opt1 -└ + "opt0 +● opt1 +└ ", "", "", "", - "│ ● opt0 -│ ○ opt1 -└ + "● opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -384,15 +384,15 @@ exports[`select (isCI = false) > up arrow selects previous option 1`] = ` exports[`select (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo -● opt0 -○ opt1 + "◆ foo +● opt0 +opt1 ", "", "", - "◇ foo -opt0", + "◇ foo +opt0", " ", "", @@ -402,26 +402,26 @@ exports[`select (isCI = false) > withGuide: false removes guide 1`] = ` exports[`select (isCI = false) > wraps long cancelled message 1`] = ` [ "", - "│ -◆ foo -│ ● foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ foo foo foo foo -│ ○ Option 1 -└ + "│ +◆ foo +● foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +│ foo foo foo foo +Option 1 +└ ", "", "", "", - "■ foo -│ foo foo foo foo foo foo foo -│  foo foo foo foo foo foo  -│ foo foo foo foo foo foo foo -│  foo foo foo foo foo foo  -│ foo foo foo foo -│", + "■ foo +│ foo foo foo foo foo foo foo + foo foo foo foo foo foo +foo foo foo foo foo foo foo + foo foo foo foo foo foo +foo foo foo foo +│", " ", "", @@ -431,21 +431,21 @@ exports[`select (isCI = false) > wraps long cancelled message 1`] = ` exports[`select (isCI = false) > wraps long messages 1`] = ` [ "", - "│ -◆ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +● opt0 +opt1 +└ ", "", "", "", - "◇ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ opt0", + "◇ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +opt0", " ", "", @@ -455,25 +455,25 @@ exports[`select (isCI = false) > wraps long messages 1`] = ` exports[`select (isCI = false) > wraps long results 1`] = ` [ "", - "│ -◆ foo -│ ● foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ foo foo foo foo -│ ○ Option 1 -└ + "│ +◆ foo +● foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +│ foo foo foo foo +Option 1 +└ ", "", "", "", - "◇ foo -│ foo foo foo foo foo foo foo -│  foo foo foo foo foo foo  -│ foo foo foo foo foo foo foo -│  foo foo foo foo foo foo  -│ foo foo foo foo", + "◇ foo +foo foo foo foo foo foo foo + foo foo foo foo foo foo +foo foo foo foo foo foo foo + foo foo foo foo foo foo +foo foo foo foo", " ", "", @@ -483,11 +483,11 @@ exports[`select (isCI = false) > wraps long results 1`] = ` exports[`select (isCI = true) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", " ", @@ -498,18 +498,18 @@ exports[`select (isCI = true) > can be aborted by a signal 1`] = ` exports[`select (isCI = true) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", "", "", "", - "■ foo -│ opt0 -│", + "■ foo +│ opt0 +│", " ", "", @@ -519,59 +519,59 @@ exports[`select (isCI = true) > can cancel 1`] = ` exports[`select (isCI = true) > correctly limits options when message wraps to multiple lines 1`] = ` [ "", - "│ -◆ This is a very -│ long message that -│ will wrap to -│ multiple lines -│ ● Option 0 -│ ○ Option 1 -│ ○ Option 2 -│ ... -└ + "│ +◆ This is a very +│ long message that +│ will wrap to +│ multiple lines +● Option 0 +Option 1 +Option 2 +... +└ ", "", "", "", - "│ ○ Option 0 -│ ● Option 1 -│ ○ Option 2 -│ ... -└ + "Option 0 +● Option 1 +Option 2 +... +└ ", "", "", "", - "│ ○ Option 1 -│ ● Option 2 -│ ... -└ + "Option 1 +● Option 2 +... +└ ", "", "", "", - "│ ... -│ ● Option 3 -│ ○ Option 4 -│ ... -└ + "... +● Option 3 +Option 4 +... +└ ", "", "", "", - "│ ● Option 4 -│ ○ Option 5 -│ ... -└ + "● Option 4 +Option 5 +... +└ ", "", "", "", - "◇ This is a very -│ long message that -│ will wrap to -│ multiple lines -│ Option 4", + "◇ This is a very +│ long message that +│ will wrap to +│ multiple lines +Option 4", " ", "", @@ -581,53 +581,53 @@ exports[`select (isCI = true) > correctly limits options when message wraps to m exports[`select (isCI = true) > correctly limits options with explicit multiline message 1`] = ` [ "", - "│ -◆ Choose an option: -│ Line 2 of the message -│ Line 3 of the message -│ ● Option 0 -│ ○ Option 1 -│ ○ Option 2 -│ ○ Option 3 -│ ... -└ + "│ +◆ Choose an option: +│ Line 2 of the message +│ Line 3 of the message +● Option 0 +Option 1 +Option 2 +Option 3 +... +└ ", "", "", "", - "│ ○ Option 0 -│ ● Option 1 -│ ○ Option 2 -│ ○ Option 3 -│ ... -└ + "Option 0 +● Option 1 +Option 2 +Option 3 +... +└ ", "", "", "", - "│ ○ Option 1 -│ ● Option 2 -│ ○ Option 3 -│ ... -└ + "Option 1 +● Option 2 +Option 3 +... +└ ", "", "", "", - "│ ... -│ ○ Option 2 -│ ● Option 3 -│ ○ Option 4 -│ ... -└ + "... +Option 2 +● Option 3 +Option 4 +... +└ ", "", "", "", - "◇ Choose an option: -│ Line 2 of the message -│ Line 3 of the message -│ Option 3", + "◇ Choose an option: +│ Line 2 of the message +│ Line 3 of the message +Option 3", " ", "", @@ -637,24 +637,24 @@ exports[`select (isCI = true) > correctly limits options with explicit multiline exports[`select (isCI = true) > down arrow selects next option 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", "", "", "", - "│ ○ opt0 -│ ● opt1 -└ + "opt0 +● opt1 +└ ", "", "", "", - "◇ foo -│ opt1", + "◇ foo +opt1", " ", "", @@ -664,15 +664,15 @@ exports[`select (isCI = true) > down arrow selects next option 1`] = ` exports[`select (isCI = true) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo -● opt0 -○ opt1 + "◆ foo +● opt0 +opt1 ", "", "", - "◇ foo -opt0", + "◇ foo +opt0", " ", "", @@ -682,35 +682,35 @@ exports[`select (isCI = true) > global withGuide: false removes guide 1`] = ` exports[`select (isCI = true) > handles mixed size re-renders 1`] = ` [ "", - "│ -◆ Whatever -│ ● Long Option -│ Long Option -│ Long Option -│ Long Option -│ Long Option -│ Long Option -│ Long Option -│ Long Option -│ ... -└ + "│ +◆ Whatever +● Long Option +│ Long Option +│ Long Option +│ Long Option +│ Long Option +│ Long Option +│ Long Option +│ Long Option +... +└ ", "", "", - "│ -◆ Whatever -│ ... -│ ○ Option 0 -│ ○ Option 1 -│ ○ Option 2 -│ ● Option 3 -└ + "│ +◆ Whatever +... +Option 0 +Option 1 +Option 2 +● Option 3 +└ ", "", "", "", - "◇ Whatever -│ Option 3", + "◇ Whatever +Option 3", " ", "", @@ -720,18 +720,18 @@ exports[`select (isCI = true) > handles mixed size re-renders 1`] = ` exports[`select (isCI = true) > renders disabled options 1`] = ` [ "", - "│ -◆ foo -│ ○ Option 0 -│ ● Option 1 -│ ○ Option 2 (Hint 2) -└ + "│ +◆ foo +Option 0 +● Option 1 +Option 2 (Hint 2) +└ ", "", "", "", - "◇ foo -│ Option 1", + "◇ foo +Option 1", " ", "", @@ -741,26 +741,26 @@ exports[`select (isCI = true) > renders disabled options 1`] = ` exports[`select (isCI = true) > renders multi-line option labels 1`] = ` [ "", - "│ -◆ foo -│ ● Option 0 -│ with multiple lines -│ ○ Option 1 -└ + "│ +◆ foo +● Option 0 +│ with multiple lines +Option 1 +└ ", "", "", "", - "│ ○ Option 0 -│ with multiple lines -│ ● Option 1 -└ + "Option 0 +with multiple lines +● Option 1 +└ ", "", "", "", - "◇ foo -│ Option 1", + "◇ foo +Option 1", " ", "", @@ -770,17 +770,17 @@ exports[`select (isCI = true) > renders multi-line option labels 1`] = ` exports[`select (isCI = true) > renders option hints 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 (Hint 0) -│ ○ opt1 -└ + "│ +◆ foo +● opt0 (Hint 0) +opt1 +└ ", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -790,17 +790,17 @@ exports[`select (isCI = true) > renders option hints 1`] = ` exports[`select (isCI = true) > renders option labels 1`] = ` [ "", - "│ -◆ foo -│ ● Option 0 -│ ○ Option 1 -└ + "│ +◆ foo +● Option 0 +Option 1 +└ ", "", "", "", - "◇ foo -│ Option 0", + "◇ foo +Option 0", " ", "", @@ -810,17 +810,17 @@ exports[`select (isCI = true) > renders option labels 1`] = ` exports[`select (isCI = true) > renders options and message 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -830,31 +830,31 @@ exports[`select (isCI = true) > renders options and message 1`] = ` exports[`select (isCI = true) > up arrow selects previous option 1`] = ` [ "", - "│ -◆ foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo +● opt0 +opt1 +└ ", "", "", "", - "│ ○ opt0 -│ ● opt1 -└ + "opt0 +● opt1 +└ ", "", "", "", - "│ ● opt0 -│ ○ opt1 -└ + "● opt0 +opt1 +└ ", "", "", "", - "◇ foo -│ opt0", + "◇ foo +opt0", " ", "", @@ -864,15 +864,15 @@ exports[`select (isCI = true) > up arrow selects previous option 1`] = ` exports[`select (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo -● opt0 -○ opt1 + "◆ foo +● opt0 +opt1 ", "", "", - "◇ foo -opt0", + "◇ foo +opt0", " ", "", @@ -882,26 +882,26 @@ exports[`select (isCI = true) > withGuide: false removes guide 1`] = ` exports[`select (isCI = true) > wraps long cancelled message 1`] = ` [ "", - "│ -◆ foo -│ ● foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ foo foo foo foo -│ ○ Option 1 -└ + "│ +◆ foo +● foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +│ foo foo foo foo +Option 1 +└ ", "", "", "", - "■ foo -│ foo foo foo foo foo foo foo -│  foo foo foo foo foo foo  -│ foo foo foo foo foo foo foo -│  foo foo foo foo foo foo  -│ foo foo foo foo -│", + "■ foo +│ foo foo foo foo foo foo foo + foo foo foo foo foo foo +foo foo foo foo foo foo foo + foo foo foo foo foo foo +foo foo foo foo +│", " ", "", @@ -911,21 +911,21 @@ exports[`select (isCI = true) > wraps long cancelled message 1`] = ` exports[`select (isCI = true) > wraps long messages 1`] = ` [ "", - "│ -◆ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ ● opt0 -│ ○ opt1 -└ + "│ +◆ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +● opt0 +opt1 +└ ", "", "", "", - "◇ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ opt0", + "◇ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +opt0", " ", "", @@ -935,25 +935,25 @@ exports[`select (isCI = true) > wraps long messages 1`] = ` exports[`select (isCI = true) > wraps long results 1`] = ` [ "", - "│ -◆ foo -│ ● foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ foo foo foo foo foo foo -│ foo foo foo foo foo foo foo -│ foo foo foo foo -│ ○ Option 1 -└ + "│ +◆ foo +● foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +│ foo foo foo foo foo foo +│ foo foo foo foo foo foo foo +│ foo foo foo foo +Option 1 +└ ", "", "", "", - "◇ foo -│ foo foo foo foo foo foo foo -│  foo foo foo foo foo foo  -│ foo foo foo foo foo foo foo -│  foo foo foo foo foo foo  -│ foo foo foo foo", + "◇ foo +foo foo foo foo foo foo foo + foo foo foo foo foo foo +foo foo foo foo foo foo foo + foo foo foo foo foo foo +foo foo foo foo", " ", "", diff --git a/packages/prompts/test/__snapshots__/spinner.test.ts.snap b/packages/prompts/test/__snapshots__/spinner.test.ts.snap index 31412ea1..71cd44a7 100644 --- a/packages/prompts/test/__snapshots__/spinner.test.ts.snap +++ b/packages/prompts/test/__snapshots__/spinner.test.ts.snap @@ -3,9 +3,9 @@ exports[`spinner (isCI = false) > can be aborted by a signal 1`] = ` [ "", - "│ + "│ ", - "■ Canceled + "■ Canceled ", "", ] @@ -14,9 +14,9 @@ exports[`spinner (isCI = false) > can be aborted by a signal 1`] = ` exports[`spinner (isCI = false) > clear > stops and clears the spinner from the output 1`] = ` [ "", - "│ + "│ ", - "◒ Loading", + "◒ Loading", "", "", "", @@ -26,10 +26,10 @@ exports[`spinner (isCI = false) > clear > stops and clears the spinner from the exports[`spinner (isCI = false) > global withGuide: false removes guide 1`] = ` [ "", - "◒ foo", + "◒ foo", "", "", - "◇ + "◇ ", "", ] @@ -38,21 +38,21 @@ exports[`spinner (isCI = false) > global withGuide: false removes guide 1`] = ` exports[`spinner (isCI = false) > indicator customization > custom delay 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "◐ ", + "◐ ", "", "", - "◓ ", + "◓ ", "", "", - "◑ ", + "◑ ", "", "", - "◇ + "◇ ", "", ] @@ -61,21 +61,21 @@ exports[`spinner (isCI = false) > indicator customization > custom delay 1`] = ` exports[`spinner (isCI = false) > indicator customization > custom frame style 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "◐ ", + "◐ ", "", "", - "◓ ", + "◓ ", "", "", - "◑ ", + "◑ ", "", "", - "◇ + "◇ ", "", ] @@ -84,21 +84,21 @@ exports[`spinner (isCI = false) > indicator customization > custom frame style 1 exports[`spinner (isCI = false) > indicator customization > custom frames 1`] = ` [ "", - "│ + "│ ", - "🐴 ", + "🐴 ", "", "", - "🦋 ", + "🦋 ", "", "", - "🐙 ", + "🐙 ", "", "", - "🐶 ", + "🐶 ", "", "", - "◇ + "◇ ", "", ] @@ -107,201 +107,201 @@ exports[`spinner (isCI = false) > indicator customization > custom frames 1`] = exports[`spinner (isCI = false) > indicator customization > custom frames with lots of frame have consistent ellipsis display 1`] = ` [ "", - "│ + "│ ", - "0 ", + "0 ", "", "", - "1 ", + "1 ", "", "", - "2 ", + "2 ", "", "", - "3 ", + "3 ", "", "", - "4 ", + "4 ", "", "", - "5 ", + "5 ", "", "", - "6 ", + "6 ", "", "", - "7 ", + "7 ", "", "", - "8 .", + "8 .", "", "", - "9 .", + "9 .", "", "", - "0 .", + "0 .", "", "", - "1 .", + "1 .", "", "", - "2 .", + "2 .", "", "", - "3 .", + "3 .", "", "", - "4 .", + "4 .", "", "", - "5 .", + "5 .", "", "", - "6 ..", + "6 ..", "", "", - "7 ..", + "7 ..", "", "", - "8 ..", + "8 ..", "", "", - "9 ..", + "9 ..", "", "", - "0 ..", + "0 ..", "", "", - "1 ..", + "1 ..", "", "", - "2 ..", + "2 ..", "", "", - "3 ..", + "3 ..", "", "", - "4 ...", + "4 ...", "", "", - "5 ...", + "5 ...", "", "", - "6 ...", + "6 ...", "", "", - "7 ...", + "7 ...", "", "", - "8 ...", + "8 ...", "", "", - "9 ...", + "9 ...", "", "", - "0 ...", + "0 ...", "", "", - "1 ...", + "1 ...", "", "", - "2 ...", + "2 ...", "", "", - "3 ", + "3 ", "", "", - "4 ", + "4 ", "", "", - "5 ", + "5 ", "", "", - "6 ", + "6 ", "", "", - "7 ", + "7 ", "", "", - "8 ", + "8 ", "", "", - "9 ", + "9 ", "", "", - "0 ", + "0 ", "", "", - "1 .", + "1 .", "", "", - "2 .", + "2 .", "", "", - "3 .", + "3 .", "", "", - "4 .", + "4 .", "", "", - "5 .", + "5 .", "", "", - "6 .", + "6 .", "", "", - "7 .", + "7 .", "", "", - "8 .", + "8 .", "", "", - "9 ..", + "9 ..", "", "", - "0 ..", + "0 ..", "", "", - "1 ..", + "1 ..", "", "", - "2 ..", + "2 ..", "", "", - "3 ..", + "3 ..", "", "", - "4 ..", + "4 ..", "", "", - "5 ..", + "5 ..", "", "", - "6 ..", + "6 ..", "", "", - "7 ...", + "7 ...", "", "", - "8 ...", + "8 ...", "", "", - "9 ...", + "9 ...", "", "", - "0 ...", + "0 ...", "", "", - "1 ...", + "1 ...", "", "", - "2 ...", + "2 ...", "", "", - "3 ...", + "3 ...", "", "", - "◇ + "◇ ", "", ] @@ -310,15 +310,15 @@ exports[`spinner (isCI = false) > indicator customization > custom frames with l exports[`spinner (isCI = false) > message > sets message for next frame 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "◐ foo", + "◐ foo", "", "", - "◇ + "◇ ", "", ] @@ -327,9 +327,9 @@ exports[`spinner (isCI = false) > message > sets message for next frame 1`] = ` exports[`spinner (isCI = false) > process exit handling > prioritizes cancel option over global setting 1`] = ` [ "", - "│ + "│ ", - "■ Spinner cancel message + "■ Spinner cancel message ", "", ] @@ -338,9 +338,9 @@ exports[`spinner (isCI = false) > process exit handling > prioritizes cancel opt exports[`spinner (isCI = false) > process exit handling > prioritizes error option over global setting 1`] = ` [ "", - "│ + "│ ", - "▲ Spinner error message + "▲ Spinner error message ", "", ] @@ -349,9 +349,9 @@ exports[`spinner (isCI = false) > process exit handling > prioritizes error opti exports[`spinner (isCI = false) > process exit handling > uses custom cancel message when provided directly 1`] = ` [ "", - "│ + "│ ", - "■ Custom cancel message + "■ Custom cancel message ", "", ] @@ -360,9 +360,9 @@ exports[`spinner (isCI = false) > process exit handling > uses custom cancel mes exports[`spinner (isCI = false) > process exit handling > uses custom error message when provided directly 1`] = ` [ "", - "│ + "│ ", - "▲ Custom error message + "▲ Custom error message ", "", ] @@ -371,9 +371,9 @@ exports[`spinner (isCI = false) > process exit handling > uses custom error mess exports[`spinner (isCI = false) > process exit handling > uses default cancel message 1`] = ` [ "", - "│ + "│ ", - "■ Canceled + "■ Canceled ", "", ] @@ -382,9 +382,9 @@ exports[`spinner (isCI = false) > process exit handling > uses default cancel me exports[`spinner (isCI = false) > process exit handling > uses global custom cancel message from settings 1`] = ` [ "", - "│ + "│ ", - "■ Global cancel message + "■ Global cancel message ", "", ] @@ -393,9 +393,9 @@ exports[`spinner (isCI = false) > process exit handling > uses global custom can exports[`spinner (isCI = false) > process exit handling > uses global custom error message from settings 1`] = ` [ "", - "│ + "│ ", - "▲ Global error message + "▲ Global error message ", "", ] @@ -404,15 +404,15 @@ exports[`spinner (isCI = false) > process exit handling > uses global custom err exports[`spinner (isCI = false) > start > handles multi-line messages 1`] = ` [ "", - "│ + "│ ", - "◒ foo + "◒ foo bar baz", "", "", "", - "◇ + "◇ ", "", ] @@ -421,14 +421,14 @@ baz", exports[`spinner (isCI = false) > start > handles wrapping 1`] = ` [ "", - "│ + "│ ", - "◒ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + "◒ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx", "", "", "", - "◇ stopped + "◇ stopped ", "", ] @@ -437,21 +437,21 @@ xxxxxxxxxxxxx", exports[`spinner (isCI = false) > start > renders frames at interval 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "◐ ", + "◐ ", "", "", - "◓ ", + "◓ ", "", "", - "◑ ", + "◑ ", "", "", - "◇ + "◇ ", "", ] @@ -460,12 +460,12 @@ exports[`spinner (isCI = false) > start > renders frames at interval 1`] = ` exports[`spinner (isCI = false) > start > renders message 1`] = ` [ "", - "│ + "│ ", - "◒ foo", + "◒ foo", "", "", - "◇ + "◇ ", "", ] @@ -474,12 +474,12 @@ exports[`spinner (isCI = false) > start > renders message 1`] = ` exports[`spinner (isCI = false) > start > renders timer when indicator is "timer" 1`] = ` [ "", - "│ + "│ ", - "◒ [0s]", + "◒ [0s]", "", "", - "◇ [0s] + "◇ [0s] ", "", ] @@ -488,12 +488,12 @@ exports[`spinner (isCI = false) > start > renders timer when indicator is "timer exports[`spinner (isCI = false) > stop > renders cancel symbol when calling cancel() 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "■ + "■ ", "", ] @@ -502,12 +502,12 @@ exports[`spinner (isCI = false) > stop > renders cancel symbol when calling canc exports[`spinner (isCI = false) > stop > renders error symbol when calling error() 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "▲ + "▲ ", "", ] @@ -516,12 +516,12 @@ exports[`spinner (isCI = false) > stop > renders error symbol when calling error exports[`spinner (isCI = false) > stop > renders message 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "◇ foo + "◇ foo ", "", ] @@ -530,12 +530,12 @@ exports[`spinner (isCI = false) > stop > renders message 1`] = ` exports[`spinner (isCI = false) > stop > renders message when cancelling 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "■ too dizzy — spinning cancelled + "■ too dizzy — spinning cancelled ", "", ] @@ -544,12 +544,12 @@ exports[`spinner (isCI = false) > stop > renders message when cancelling 1`] = ` exports[`spinner (isCI = false) > stop > renders message when erroring 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "▲ error: spun too fast! + "▲ error: spun too fast! ", "", ] @@ -558,12 +558,12 @@ exports[`spinner (isCI = false) > stop > renders message when erroring 1`] = ` exports[`spinner (isCI = false) > stop > renders message without removing dots 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "◇ foo. + "◇ foo. ", "", ] @@ -572,12 +572,12 @@ exports[`spinner (isCI = false) > stop > renders message without removing dots 1 exports[`spinner (isCI = false) > stop > renders submit symbol and stops spinner 1`] = ` [ "", - "│ + "│ ", - "◒ ", + "◒ ", "", "", - "◇ + "◇ ", "", ] @@ -586,10 +586,10 @@ exports[`spinner (isCI = false) > stop > renders submit symbol and stops spinner exports[`spinner (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◒ foo", + "◒ foo", "", "", - "◇ + "◇ ", "", ] @@ -598,9 +598,9 @@ exports[`spinner (isCI = false) > withGuide: false removes guide 1`] = ` exports[`spinner (isCI = true) > can be aborted by a signal 1`] = ` [ "", - "│ + "│ ", - "■ Canceled + "■ Canceled ", "", ] @@ -609,9 +609,9 @@ exports[`spinner (isCI = true) > can be aborted by a signal 1`] = ` exports[`spinner (isCI = true) > clear > stops and clears the spinner from the output 1`] = ` [ "", - "│ + "│ ", - "◒ Loading...", + "◒ Loading...", " ", "", @@ -623,12 +623,12 @@ exports[`spinner (isCI = true) > clear > stops and clears the spinner from the o exports[`spinner (isCI = true) > global withGuide: false removes guide 1`] = ` [ "", - "◒ foo...", + "◒ foo...", " ", "", "", - "◇ + "◇ ", "", ] @@ -637,14 +637,14 @@ exports[`spinner (isCI = true) > global withGuide: false removes guide 1`] = ` exports[`spinner (isCI = true) > indicator customization > custom delay 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "◇ + "◇ ", "", ] @@ -653,14 +653,14 @@ exports[`spinner (isCI = true) > indicator customization > custom delay 1`] = ` exports[`spinner (isCI = true) > indicator customization > custom frame style 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "◇ + "◇ ", "", ] @@ -669,14 +669,14 @@ exports[`spinner (isCI = true) > indicator customization > custom frame style 1` exports[`spinner (isCI = true) > indicator customization > custom frames 1`] = ` [ "", - "│ + "│ ", - "🐴 ...", + "🐴 ...", " ", "", "", - "◇ + "◇ ", "", ] @@ -685,14 +685,14 @@ exports[`spinner (isCI = true) > indicator customization > custom frames 1`] = ` exports[`spinner (isCI = true) > indicator customization > custom frames with lots of frame have consistent ellipsis display 1`] = ` [ "", - "│ + "│ ", - "0 ...", + "0 ...", " ", "", "", - "◇ + "◇ ", "", ] @@ -701,19 +701,19 @@ exports[`spinner (isCI = true) > indicator customization > custom frames with lo exports[`spinner (isCI = true) > message > sets message for next frame 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "◐ foo...", + "◐ foo...", " ", "", "", - "◇ + "◇ ", "", ] @@ -722,9 +722,9 @@ exports[`spinner (isCI = true) > message > sets message for next frame 1`] = ` exports[`spinner (isCI = true) > process exit handling > prioritizes cancel option over global setting 1`] = ` [ "", - "│ + "│ ", - "■ Spinner cancel message + "■ Spinner cancel message ", "", ] @@ -733,9 +733,9 @@ exports[`spinner (isCI = true) > process exit handling > prioritizes cancel opti exports[`spinner (isCI = true) > process exit handling > prioritizes error option over global setting 1`] = ` [ "", - "│ + "│ ", - "▲ Spinner error message + "▲ Spinner error message ", "", ] @@ -744,9 +744,9 @@ exports[`spinner (isCI = true) > process exit handling > prioritizes error optio exports[`spinner (isCI = true) > process exit handling > uses custom cancel message when provided directly 1`] = ` [ "", - "│ + "│ ", - "■ Custom cancel message + "■ Custom cancel message ", "", ] @@ -755,9 +755,9 @@ exports[`spinner (isCI = true) > process exit handling > uses custom cancel mess exports[`spinner (isCI = true) > process exit handling > uses custom error message when provided directly 1`] = ` [ "", - "│ + "│ ", - "▲ Custom error message + "▲ Custom error message ", "", ] @@ -766,9 +766,9 @@ exports[`spinner (isCI = true) > process exit handling > uses custom error messa exports[`spinner (isCI = true) > process exit handling > uses default cancel message 1`] = ` [ "", - "│ + "│ ", - "■ Canceled + "■ Canceled ", "", ] @@ -777,9 +777,9 @@ exports[`spinner (isCI = true) > process exit handling > uses default cancel mes exports[`spinner (isCI = true) > process exit handling > uses global custom cancel message from settings 1`] = ` [ "", - "│ + "│ ", - "■ Global cancel message + "■ Global cancel message ", "", ] @@ -788,9 +788,9 @@ exports[`spinner (isCI = true) > process exit handling > uses global custom canc exports[`spinner (isCI = true) > process exit handling > uses global custom error message from settings 1`] = ` [ "", - "│ + "│ ", - "▲ Global error message + "▲ Global error message ", "", ] @@ -799,9 +799,9 @@ exports[`spinner (isCI = true) > process exit handling > uses global custom erro exports[`spinner (isCI = true) > start > handles multi-line messages 1`] = ` [ "", - "│ + "│ ", - "◒ foo + "◒ foo bar baz...", " @@ -809,7 +809,7 @@ baz...", "", "", "", - "◇ + "◇ ", "", ] @@ -818,16 +818,16 @@ baz...", exports[`spinner (isCI = true) > start > handles wrapping 1`] = ` [ "", - "│ + "│ ", - "◒ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + "◒ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx...", " ", "", "", "", - "◇ stopped + "◇ stopped ", "", ] @@ -836,14 +836,14 @@ xxxxxxxxxxxxx...", exports[`spinner (isCI = true) > start > renders frames at interval 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "◇ + "◇ ", "", ] @@ -852,14 +852,14 @@ exports[`spinner (isCI = true) > start > renders frames at interval 1`] = ` exports[`spinner (isCI = true) > start > renders message 1`] = ` [ "", - "│ + "│ ", - "◒ foo...", + "◒ foo...", " ", "", "", - "◇ + "◇ ", "", ] @@ -868,14 +868,14 @@ exports[`spinner (isCI = true) > start > renders message 1`] = ` exports[`spinner (isCI = true) > start > renders timer when indicator is "timer" 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "◇ [0s] + "◇ [0s] ", "", ] @@ -884,14 +884,14 @@ exports[`spinner (isCI = true) > start > renders timer when indicator is "timer" exports[`spinner (isCI = true) > stop > renders cancel symbol when calling cancel() 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "■ + "■ ", "", ] @@ -900,14 +900,14 @@ exports[`spinner (isCI = true) > stop > renders cancel symbol when calling cance exports[`spinner (isCI = true) > stop > renders error symbol when calling error() 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "▲ + "▲ ", "", ] @@ -916,14 +916,14 @@ exports[`spinner (isCI = true) > stop > renders error symbol when calling error( exports[`spinner (isCI = true) > stop > renders message 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "◇ foo + "◇ foo ", "", ] @@ -932,14 +932,14 @@ exports[`spinner (isCI = true) > stop > renders message 1`] = ` exports[`spinner (isCI = true) > stop > renders message when cancelling 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "■ too dizzy — spinning cancelled + "■ too dizzy — spinning cancelled ", "", ] @@ -948,14 +948,14 @@ exports[`spinner (isCI = true) > stop > renders message when cancelling 1`] = ` exports[`spinner (isCI = true) > stop > renders message when erroring 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "▲ error: spun too fast! + "▲ error: spun too fast! ", "", ] @@ -964,14 +964,14 @@ exports[`spinner (isCI = true) > stop > renders message when erroring 1`] = ` exports[`spinner (isCI = true) > stop > renders message without removing dots 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "◇ foo. + "◇ foo. ", "", ] @@ -980,14 +980,14 @@ exports[`spinner (isCI = true) > stop > renders message without removing dots 1` exports[`spinner (isCI = true) > stop > renders submit symbol and stops spinner 1`] = ` [ "", - "│ + "│ ", - "◒ ...", + "◒ ...", " ", "", "", - "◇ + "◇ ", "", ] @@ -996,12 +996,12 @@ exports[`spinner (isCI = true) > stop > renders submit symbol and stops spinner exports[`spinner (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◒ foo...", + "◒ foo...", " ", "", "", - "◇ + "◇ ", "", ] diff --git a/packages/prompts/test/__snapshots__/task-log.test.ts.snap b/packages/prompts/test/__snapshots__/task-log.test.ts.snap index 39242084..f7f1275a 100644 --- a/packages/prompts/test/__snapshots__/task-log.test.ts.snap +++ b/packages/prompts/test/__snapshots__/task-log.test.ts.snap @@ -2,1211 +2,1211 @@ exports[`taskLog (isCI = false) > error > clears output if showLog = false 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ -■ some error! + "│ +■ some error! ", ] `; exports[`taskLog (isCI = false) > error > renders output with message 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ -■ some error! + "│ +■ some error! ", - "│ -│ line 0 -│ line 1 + "│ +line 0 +line 1 ", ] `; exports[`taskLog (isCI = false) > group > applies limit per group 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 + "Group 1 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 + "Group 0 line 0 +Group 0 line 1 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 + "Group 1 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 + "Group 0 line 0 +Group 0 line 1 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 + "Group 1 line 0 +Group 1 line 1 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 + "Group 1 line 0 +Group 1 line 1 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 1 -│ Group 1 line 2 + "Group 1 line 1 +Group 1 line 2 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 2 -│ Group 0 line 3 + "Group 0 line 2 +Group 0 line 3 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 1 -│ Group 1 line 2 + "Group 1 line 1 +Group 1 line 2 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 2 -│ Group 0 line 3 + "Group 0 line 2 +Group 0 line 3 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 2 -│ Group 1 line 3 + "Group 1 line 2 +Group 1 line 3 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 3 -│ Group 0 line 4 + "Group 0 line 3 +Group 0 line 4 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 2 -│ Group 1 line 3 + "Group 1 line 2 +Group 1 line 3 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 3 -│ Group 0 line 4 + "Group 0 line 3 +Group 0 line 4 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 3 -│ Group 1 line 4 + "Group 1 line 3 +Group 1 line 4 ", ] `; exports[`taskLog (isCI = false) > group > can render multiple groups of different sizes 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 + "Group 0 line 0 +Group 0 line 1 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 + "Group 1 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 + "Group 1 line 0 +Group 1 line 1 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 -│ Group 1 line 4 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 +Group 1 line 4 ", ] `; exports[`taskLog (isCI = false) > group > can render multiple groups of equal size 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 + "Group 1 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 + "Group 0 line 0 +Group 0 line 1 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 + "Group 1 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 + "Group 0 line 0 +Group 0 line 1 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 + "Group 1 line 0 +Group 1 line 1 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 + "Group 1 line 0 +Group 1 line 1 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 -│ Group 0 line 3 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 +Group 0 line 3 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 -│ Group 0 line 3 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 +Group 0 line 3 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 -│ Group 0 line 3 -│ Group 0 line 4 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 +Group 0 line 3 +Group 0 line 4 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 -│ Group 0 line 3 -│ Group 0 line 4 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 +Group 0 line 3 +Group 0 line 4 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 -│ Group 1 line 4 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 +Group 1 line 4 ", ] `; exports[`taskLog (isCI = false) > group > handles empty groups 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", - "◆ Group success! + "◆ Group success! ", ] `; exports[`taskLog (isCI = false) > group > renders error state 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", "", - "■ Group error! + "■ Group error! ", ] `; exports[`taskLog (isCI = false) > group > renders group error state 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", "", - "■ Group error! + "■ Group error! ", ] `; exports[`taskLog (isCI = false) > group > renders group success state 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", "", - "◆ Group success! + "◆ Group success! ", ] `; exports[`taskLog (isCI = false) > group > renders success state 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", "", - "◆ Group success! + "◆ Group success! ", ] `; exports[`taskLog (isCI = false) > group > showLog shows all groups in order 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 + "Group 0 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 + "Group 0 line 0 +Group 0 line 1 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 + "Group 1 line 0 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 + "Group 1 line 0 +Group 1 line 1 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 ", "", - "│ Group 0 + "Group 0 ", - "│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 -│ Group 1 line 4 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 +Group 1 line 4 ", "", - "◆ Group 0 success! + "◆ Group 0 success! ", - "│ Group 1 + "Group 1 ", - "│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 -│ Group 1 line 4 + "Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 +Group 1 line 4 ", "", - "◆ Group 0 success! + "◆ Group 0 success! ", - "■ Group 1 error! + "■ Group 1 error! ", "", - "│ -■ overall error + "│ +■ overall error ", - "│ Group 0 + "Group 0 ", - "│ -│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "│ +Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ -│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 -│ Group 1 line 4 + "│ +Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 +Group 1 line 4 ", ] `; exports[`taskLog (isCI = false) > message > can write line by line 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", ] `; exports[`taskLog (isCI = false) > message > can write multiple lines 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 -│ line 1 + "line 0 +line 1 ", ] `; exports[`taskLog (isCI = false) > message > destructive ansi codes are stripped 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 1 + "line 1 ", "", - "│ line 1 -│ line 2 bad ansi! + "line 1 +line 2 bad ansi! ", "", - "│ line 1 -│ line 2 bad ansi! -│ line 3 + "line 1 +line 2 bad ansi! +line 3 ", ] `; exports[`taskLog (isCI = false) > message > enforces limit if set 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 1 -│ line 2 + "line 1 +line 2 ", ] `; exports[`taskLog (isCI = false) > message > prints empty lines 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 1 + "line 1 ", "", - "│ line 1 -│  + "line 1 + ", "", - "│ line 1 -│  -│ line 3 + "line 1 + +line 3 ", ] `; exports[`taskLog (isCI = false) > message > raw = true appends message text until newline 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0still line 0 + "line 0still line 0 ", "", - "│ line 0still line 0 -│ line 1 + "line 0still line 0 +line 1 ", ] `; exports[`taskLog (isCI = false) > message > raw = true works when mixed with non-raw messages 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0still line 0 + "line 0still line 0 ", "", - "│ line 0still line 0 -│ line 1 + "line 0still line 0 +line 1 ", ] `; exports[`taskLog (isCI = false) > message > raw = true works when started with non-raw messages 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 0 -│ line 1still line 1 + "line 0 +line 1still line 1 ", ] `; exports[`taskLog (isCI = false) > retainLog > error > outputs limited log with limit by default 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 1 -│ line 2 + "line 1 +line 2 ", "", - "│ line 2 -│ line 3 + "line 2 +line 3 ", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 2 -│ line 3 + "│ +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > retainLog > error > retainLog = false outputs full log without limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 0 -│ line 1 -│ line 2 + "line 0 +line 1 +line 2 ", "", - "│ line 0 -│ line 1 -│ line 2 -│ line 3 + "line 0 +line 1 +line 2 +line 3 ", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > retainLog > error > retainLog = false outputs limited log with limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 1 -│ line 2 + "line 1 +line 2 ", "", - "│ line 2 -│ line 3 + "line 2 +line 3 ", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 2 -│ line 3 + "│ +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > retainLog > error > retainLog = true outputs full log 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 0 -│ line 1 -│ line 2 + "line 0 +line 1 +line 2 ", "", - "│ line 0 -│ line 1 -│ line 2 -│ line 3 + "line 0 +line 1 +line 2 +line 3 ", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > retainLog > error > retainLog = true outputs full log with limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 1 -│ line 2 + "line 1 +line 2 ", "", - "│ line 2 -│ line 3 + "line 2 +line 3 ", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > retainLog > success > outputs limited log with limit by default 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 1 -│ line 2 + "line 1 +line 2 ", "", - "│ line 2 -│ line 3 + "line 2 +line 3 ", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 2 -│ line 3 + "│ +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > retainLog > success > retainLog = false outputs full log without limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 0 -│ line 1 -│ line 2 + "line 0 +line 1 +line 2 ", "", - "│ line 0 -│ line 1 -│ line 2 -│ line 3 + "line 0 +line 1 +line 2 +line 3 ", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > retainLog > success > retainLog = false outputs limited log with limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 1 -│ line 2 + "line 1 +line 2 ", "", - "│ line 2 -│ line 3 + "line 2 +line 3 ", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 2 -│ line 3 + "│ +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > retainLog > success > retainLog = true outputs full log 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 0 -│ line 1 -│ line 2 + "line 0 +line 1 +line 2 ", "", - "│ line 0 -│ line 1 -│ line 2 -│ line 3 + "line 0 +line 1 +line 2 +line 3 ", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > retainLog > success > retainLog = true outputs full log with limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ line 1 -│ line 2 + "line 1 +line 2 ", "", - "│ line 2 -│ line 3 + "line 2 +line 3 ", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = false) > success > clears output and renders message 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ -◆ success! + "│ +◆ success! ", ] `; exports[`taskLog (isCI = false) > success > renders output if showLog = true 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", - "│ line 0 + "line 0 ", "", - "│ line 0 -│ line 1 + "line 0 +line 1 ", "", - "│ -◆ success! + "│ +◆ success! ", - "│ -│ line 0 -│ line 1 + "│ +line 0 +line 1 ", ] `; exports[`taskLog (isCI = false) > writes message header 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", ] `; exports[`taskLog (isCI = true) > error > clears output if showLog = false 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", - "│ -■ some error! + "│ +■ some error! ", ] `; exports[`taskLog (isCI = true) > error > renders output with message 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", - "│ -■ some error! + "│ +■ some error! ", - "│ -│ line 0 -│ line 1 + "│ +line 0 +line 1 ", ] `; exports[`taskLog (isCI = true) > group > applies limit per group 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", "", "", @@ -1222,11 +1222,11 @@ exports[`taskLog (isCI = true) > group > applies limit per group 1`] = ` exports[`taskLog (isCI = true) > group > can render multiple groups of different sizes 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", "", "", @@ -1240,11 +1240,11 @@ exports[`taskLog (isCI = true) > group > can render multiple groups of different exports[`taskLog (isCI = true) > group > can render multiple groups of equal size 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", "", "", @@ -1260,22 +1260,22 @@ exports[`taskLog (isCI = true) > group > can render multiple groups of equal siz exports[`taskLog (isCI = true) > group > handles empty groups 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", ] `; exports[`taskLog (isCI = true) > group > renders error state 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", "", ] @@ -1283,11 +1283,11 @@ exports[`taskLog (isCI = true) > group > renders error state 1`] = ` exports[`taskLog (isCI = true) > group > renders group error state 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", "", ] @@ -1295,11 +1295,11 @@ exports[`taskLog (isCI = true) > group > renders group error state 1`] = ` exports[`taskLog (isCI = true) > group > renders group success state 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", "", ] @@ -1307,11 +1307,11 @@ exports[`taskLog (isCI = true) > group > renders group success state 1`] = ` exports[`taskLog (isCI = true) > group > renders success state 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", "", ] @@ -1319,11 +1319,11 @@ exports[`taskLog (isCI = true) > group > renders success state 1`] = ` exports[`taskLog (isCI = true) > group > showLog shows all groups in order 1`] = ` [ - "│ + "│ ", - "◇ Some log + "◇ Some log ", - "│ + "│ ", "", "", @@ -1335,35 +1335,35 @@ exports[`taskLog (isCI = true) > group > showLog shows all groups in order 1`] = "", "", "", - "│ -■ overall error + "│ +■ overall error ", - "│ Group 0 + "Group 0 ", - "│ -│ Group 0 line 0 -│ Group 0 line 1 -│ Group 0 line 2 + "│ +Group 0 line 0 +Group 0 line 1 +Group 0 line 2 ", - "│ Group 1 + "Group 1 ", - "│ -│ Group 1 line 0 -│ Group 1 line 1 -│ Group 1 line 2 -│ Group 1 line 3 -│ Group 1 line 4 + "│ +Group 1 line 0 +Group 1 line 1 +Group 1 line 2 +Group 1 line 3 +Group 1 line 4 ", ] `; exports[`taskLog (isCI = true) > message > can write line by line 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", ] @@ -1371,22 +1371,22 @@ exports[`taskLog (isCI = true) > message > can write line by line 1`] = ` exports[`taskLog (isCI = true) > message > can write multiple lines 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", ] `; exports[`taskLog (isCI = true) > message > destructive ansi codes are stripped 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", @@ -1395,11 +1395,11 @@ exports[`taskLog (isCI = true) > message > destructive ansi codes are stripped 1 exports[`taskLog (isCI = true) > message > enforces limit if set 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", @@ -1408,11 +1408,11 @@ exports[`taskLog (isCI = true) > message > enforces limit if set 1`] = ` exports[`taskLog (isCI = true) > message > prints empty lines 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", @@ -1421,11 +1421,11 @@ exports[`taskLog (isCI = true) > message > prints empty lines 1`] = ` exports[`taskLog (isCI = true) > message > raw = true appends message text until newline 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", @@ -1434,11 +1434,11 @@ exports[`taskLog (isCI = true) > message > raw = true appends message text until exports[`taskLog (isCI = true) > message > raw = true works when mixed with non-raw messages 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", @@ -1447,11 +1447,11 @@ exports[`taskLog (isCI = true) > message > raw = true works when mixed with non- exports[`taskLog (isCI = true) > message > raw = true works when started with non-raw messages 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", @@ -1460,279 +1460,279 @@ exports[`taskLog (isCI = true) > message > raw = true works when started with no exports[`taskLog (isCI = true) > retainLog > error > outputs limited log with limit by default 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 2 -│ line 3 + "│ +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > retainLog > error > retainLog = false outputs full log without limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > retainLog > error > retainLog = false outputs limited log with limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 2 -│ line 3 + "│ +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > retainLog > error > retainLog = true outputs full log 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > retainLog > error > retainLog = true outputs full log with limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -■ woo! + "│ +■ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > retainLog > success > outputs limited log with limit by default 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 2 -│ line 3 + "│ +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > retainLog > success > retainLog = false outputs full log without limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > retainLog > success > retainLog = false outputs limited log with limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 2 -│ line 3 + "│ +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > retainLog > success > retainLog = true outputs full log 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > retainLog > success > retainLog = true outputs full log with limit 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", "", "", - "│ -◆ woo! + "│ +◆ woo! ", - "│ -│ line 0 -│ line 1 -│ line 2 -│ line 3 + "│ +line 0 +line 1 +line 2 +line 3 ", ] `; exports[`taskLog (isCI = true) > success > clears output and renders message 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", - "│ -◆ success! + "│ +◆ success! ", ] `; exports[`taskLog (isCI = true) > success > renders output if showLog = true 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", "", "", - "│ -◆ success! + "│ +◆ success! ", - "│ -│ line 0 -│ line 1 + "│ +line 0 +line 1 ", ] `; exports[`taskLog (isCI = true) > writes message header 1`] = ` [ - "│ + "│ ", - "◇ foo + "◇ foo ", - "│ + "│ ", ] `; diff --git a/packages/prompts/test/__snapshots__/text.test.ts.snap b/packages/prompts/test/__snapshots__/text.test.ts.snap index 43c38c78..c50bf5b1 100644 --- a/packages/prompts/test/__snapshots__/text.test.ts.snap +++ b/packages/prompts/test/__snapshots__/text.test.ts.snap @@ -3,10 +3,10 @@ exports[`text (isCI = false) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", " ", @@ -17,16 +17,16 @@ exports[`text (isCI = false) > can be aborted by a signal 1`] = ` exports[`text (isCI = false) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "■ foo -│", + "■ foo +│", " ", "", @@ -36,16 +36,16 @@ exports[`text (isCI = false) > can cancel 1`] = ` exports[`text (isCI = false) > defaultValue sets the value but does not render 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "◇ foo -│ bar", + "◇ foo +bar", " ", "", @@ -55,16 +55,16 @@ exports[`text (isCI = false) > defaultValue sets the value but does not render 1 exports[`text (isCI = false) > empty string when no value and no default 1`] = ` [ "", - "│ -◆ foo -│   (hit Enter to use default) -└ + "│ +◆ foo +│   (hit Enter to use default) +└ ", "", "", "", - "◇ foo -│", + "◇ foo +│", " ", "", @@ -74,13 +74,13 @@ exports[`text (isCI = false) > empty string when no value and no default 1`] = ` exports[`text (isCI = false) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", "", "", - "◇ foo + "◇ foo ", " ", @@ -91,16 +91,16 @@ exports[`text (isCI = false) > global withGuide: false removes guide 1`] = ` exports[`text (isCI = false) > placeholder is not used as value when pressing enter 1`] = ` [ "", - "│ -◆ foo -│   (hit Enter to use default) -└ + "│ +◆ foo +│   (hit Enter to use default) +└ ", "", "", "", - "◇ foo -│ default-value", + "◇ foo +default-value", " ", "", @@ -110,27 +110,27 @@ exports[`text (isCI = false) > placeholder is not used as value when pressing en exports[`text (isCI = false) > renders cancelled value if one set 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - "■ foo -│ xy -│", + "■ foo +│ xy +│", " ", "", @@ -140,16 +140,16 @@ exports[`text (isCI = false) > renders cancelled value if one set 1`] = ` exports[`text (isCI = false) > renders message 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "◇ foo -│", + "◇ foo +│", " ", "", @@ -159,16 +159,16 @@ exports[`text (isCI = false) > renders message 1`] = ` exports[`text (isCI = false) > renders placeholder if set 1`] = ` [ "", - "│ -◆ foo -│ bar -└ + "│ +◆ foo +│ bar +└ ", "", "", "", - "◇ foo -│", + "◇ foo +│", " ", "", @@ -178,26 +178,26 @@ exports[`text (isCI = false) > renders placeholder if set 1`] = ` exports[`text (isCI = false) > renders submitted value 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -207,35 +207,35 @@ exports[`text (isCI = false) > renders submitted value 1`] = ` exports[`text (isCI = false) > validation errors render and clear (using Error) 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "▲ foo -│ x█ -└ should be xy + "▲ foo +│ x█ +should be xy ", "", "", "", - "◆ foo -│ xy█ -└ + "◆ foo +│ xy█ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -245,35 +245,35 @@ exports[`text (isCI = false) > validation errors render and clear (using Error) exports[`text (isCI = false) > validation errors render and clear 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "▲ foo -│ x█ -└ should be xy + "▲ foo +│ x█ +should be xy ", "", "", "", - "◆ foo -│ xy█ -└ + "◆ foo +│ xy█ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -283,13 +283,13 @@ exports[`text (isCI = false) > validation errors render and clear 1`] = ` exports[`text (isCI = false) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", "", "", - "◇ foo + "◇ foo ", " ", @@ -300,10 +300,10 @@ exports[`text (isCI = false) > withGuide: false removes guide 1`] = ` exports[`text (isCI = true) > can be aborted by a signal 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", " ", @@ -314,16 +314,16 @@ exports[`text (isCI = true) > can be aborted by a signal 1`] = ` exports[`text (isCI = true) > can cancel 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "■ foo -│", + "■ foo +│", " ", "", @@ -333,16 +333,16 @@ exports[`text (isCI = true) > can cancel 1`] = ` exports[`text (isCI = true) > defaultValue sets the value but does not render 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "◇ foo -│ bar", + "◇ foo +bar", " ", "", @@ -352,16 +352,16 @@ exports[`text (isCI = true) > defaultValue sets the value but does not render 1` exports[`text (isCI = true) > empty string when no value and no default 1`] = ` [ "", - "│ -◆ foo -│   (hit Enter to use default) -└ + "│ +◆ foo +│   (hit Enter to use default) +└ ", "", "", "", - "◇ foo -│", + "◇ foo +│", " ", "", @@ -371,13 +371,13 @@ exports[`text (isCI = true) > empty string when no value and no default 1`] = ` exports[`text (isCI = true) > global withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", "", "", - "◇ foo + "◇ foo ", " ", @@ -388,16 +388,16 @@ exports[`text (isCI = true) > global withGuide: false removes guide 1`] = ` exports[`text (isCI = true) > placeholder is not used as value when pressing enter 1`] = ` [ "", - "│ -◆ foo -│   (hit Enter to use default) -└ + "│ +◆ foo +│   (hit Enter to use default) +└ ", "", "", "", - "◇ foo -│ default-value", + "◇ foo +default-value", " ", "", @@ -407,27 +407,27 @@ exports[`text (isCI = true) > placeholder is not used as value when pressing ent exports[`text (isCI = true) > renders cancelled value if one set 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - "■ foo -│ xy -│", + "■ foo +│ xy +│", " ", "", @@ -437,16 +437,16 @@ exports[`text (isCI = true) > renders cancelled value if one set 1`] = ` exports[`text (isCI = true) > renders message 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "◇ foo -│", + "◇ foo +│", " ", "", @@ -456,16 +456,16 @@ exports[`text (isCI = true) > renders message 1`] = ` exports[`text (isCI = true) > renders placeholder if set 1`] = ` [ "", - "│ -◆ foo -│ bar -└ + "│ +◆ foo +│ bar +└ ", "", "", "", - "◇ foo -│", + "◇ foo +│", " ", "", @@ -475,26 +475,26 @@ exports[`text (isCI = true) > renders placeholder if set 1`] = ` exports[`text (isCI = true) > renders submitted value 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "│ xy█", + "│ xy█", "", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -504,35 +504,35 @@ exports[`text (isCI = true) > renders submitted value 1`] = ` exports[`text (isCI = true) > validation errors render and clear (using Error) 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "▲ foo -│ x█ -└ should be xy + "▲ foo +│ x█ +should be xy ", "", "", "", - "◆ foo -│ xy█ -└ + "◆ foo +│ xy█ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -542,35 +542,35 @@ exports[`text (isCI = true) > validation errors render and clear (using Error) 1 exports[`text (isCI = true) > validation errors render and clear 1`] = ` [ "", - "│ -◆ foo -│ _ -└ + "│ +◆ foo +│ _ +└ ", "", "", "", - "│ x█", + "│ x█", "", "", "", "", - "▲ foo -│ x█ -└ should be xy + "▲ foo +│ x█ +should be xy ", "", "", "", - "◆ foo -│ xy█ -└ + "◆ foo +│ xy█ +└ ", "", "", "", - "◇ foo -│ xy", + "◇ foo +xy", " ", "", @@ -580,13 +580,13 @@ exports[`text (isCI = true) > validation errors render and clear 1`] = ` exports[`text (isCI = true) > withGuide: false removes guide 1`] = ` [ "", - "◆ foo + "◆ foo _ ", "", "", - "◇ foo + "◇ foo ", " ", diff --git a/packages/prompts/vitest.config.ts b/packages/prompts/vitest.config.ts deleted file mode 100644 index fd3a35a4..00000000 --- a/packages/prompts/vitest.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from 'vitest/config'; - -export default defineConfig({ - test: { - env: { - FORCE_COLOR: '1', - }, - snapshotSerializers: ['vitest-ansi-serializer'], - }, -}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8625e5a8..43b1be71 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,9 @@ importers: .: devDependencies: - '@biomejs/biome': - specifier: ^2.1.2 - version: 2.1.2 + '@bomb.sh/tools': + specifier: ^0.3.4 + version: 0.3.4(@types/node@24.1.0)(jiti@2.6.1)(oxc-resolver@11.19.1)(typescript@5.8.3)(yaml@2.8.3) '@changesets/cli': specifier: ^2.29.5 version: 2.29.5 @@ -20,15 +20,9 @@ importers: jsr: specifier: ^0.13.4 version: 0.13.4 - knip: - specifier: ^5.62.0 - version: 5.62.0(@types/node@24.1.0)(typescript@5.8.3) typescript: specifier: ^5.8.3 version: 5.8.3 - unbuild: - specifier: ^3.6.0 - version: 3.6.0(typescript@5.8.3) examples/basic: dependencies: @@ -66,10 +60,6 @@ importers: sisteransi: specifier: ^1.0.5 version: 1.0.5 - devDependencies: - vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/node@24.1.0)(jiti@2.5.0) packages/prompts: dependencies: @@ -92,79 +82,40 @@ importers: memfs: specifier: ^4.17.2 version: 4.17.2 - vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/node@24.1.0)(jiti@2.5.0) - vitest-ansi-serializer: - specifier: ^0.1.2 - version: 0.1.2(vitest@3.2.4(@types/node@24.1.0)(jiti@2.5.0)) packages: - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} + '@babel/generator@8.0.0-rc.2': + resolution: {integrity: sha512-oCQ1IKPwkzCeJzAPb7Fv8rQ9k5+1sG8mf2uoHiMInPYvkRfrDJxbTIbH51U+jstlkghus0vAi3EBvkfvEsYNLQ==} + engines: {node: ^20.19.0 || >=22.12.0} - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@8.0.0-rc.3': + resolution: {integrity: sha512-AmwWFx1m8G/a5cXkxLxTiWl+YEoWuoFLUCwqMlNuWO1tqAYITQAbCRPUkyBHv1VOFgfjVOqEj6L3u15J5ZCzTA==} + engines: {node: ^20.19.0 || >=22.12.0} - '@babel/runtime@7.28.2': - resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} - engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@8.0.0-rc.2': + resolution: {integrity: sha512-xExUBkuXWJjVuIbO7z6q7/BA9bgfJDEhVL0ggrggLMbg0IzCUWGT1hZGE8qUH7Il7/RD/a6cZ3AAFrrlp1LF/A==} + engines: {node: ^20.19.0 || >=22.12.0} - '@biomejs/biome@2.1.2': - resolution: {integrity: sha512-yq8ZZuKuBVDgAS76LWCfFKHSYIAgqkxVB3mGVVpOe2vSkUTs7xG46zXZeNPRNVjiJuw0SZ3+J2rXiYx0RUpfGg==} - engines: {node: '>=14.21.3'} + '@babel/parser@8.0.0-rc.2': + resolution: {integrity: sha512-29AhEtcq4x8Dp3T72qvUMZHx0OMXCj4Jy/TEReQa+KWLln524Cj1fWb3QFi0l/xSpptQBR6y9RNEXuxpFvwiUQ==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - '@biomejs/cli-darwin-arm64@2.1.2': - resolution: {integrity: sha512-leFAks64PEIjc7MY/cLjE8u5OcfBKkcDB0szxsWUB4aDfemBep1WVKt0qrEyqZBOW8LPHzrFMyDl3FhuuA0E7g==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [darwin] - - '@biomejs/cli-darwin-x64@2.1.2': - resolution: {integrity: sha512-Nmmv7wRX5Nj7lGmz0FjnWdflJg4zii8Ivruas6PBKzw5SJX/q+Zh2RfnO+bBnuKLXpj8kiI2x2X12otpH6a32A==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [darwin] - - '@biomejs/cli-linux-arm64-musl@2.1.2': - resolution: {integrity: sha512-qgHvafhjH7Oca114FdOScmIKf1DlXT1LqbOrrbR30kQDLFPEOpBG0uzx6MhmsrmhGiCFCr2obDamu+czk+X0HQ==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-arm64@2.1.2': - resolution: {integrity: sha512-NWNy2Diocav61HZiv2enTQykbPP/KrA/baS7JsLSojC7Xxh2nl9IczuvE5UID7+ksRy2e7yH7klm/WkA72G1dw==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-x64-musl@2.1.2': - resolution: {integrity: sha512-xlB3mU14ZUa3wzLtXfmk2IMOGL+S0aHFhSix/nssWS/2XlD27q+S6f0dlQ8WOCbYoXcuz8BCM7rCn2lxdTrlQA==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] + '@babel/runtime@7.28.2': + resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} + engines: {node: '>=6.9.0'} - '@biomejs/cli-linux-x64@2.1.2': - resolution: {integrity: sha512-Km/UYeVowygTjpX6sGBzlizjakLoMQkxWbruVZSNE6osuSI63i4uCeIL+6q2AJlD3dxoiBJX70dn1enjQnQqwA==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] + '@babel/types@8.0.0-rc.2': + resolution: {integrity: sha512-91gAaWRznDwSX4E2tZ1YjBuIfnQVOFDCQ2r0Toby0gu4XEbyF623kXLMA8d4ZbCu+fINcrudkmEcwSUHgDDkNw==} + engines: {node: ^20.19.0 || >=22.12.0} - '@biomejs/cli-win32-arm64@2.1.2': - resolution: {integrity: sha512-G8KWZli5ASOXA3yUQgx+M4pZRv3ND16h77UsdunUL17uYpcL/UC7RkWTdkfvMQvogVsAuz5JUcBDjgZHXxlKoA==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [win32] + '@bomb.sh/args@0.3.1': + resolution: {integrity: sha512-CwxKrfgcorUPP6KfYD59aRdBYWBTsfsxT+GmoLVnKo5Tmyoqbpo0UNcjngRMyU+6tiPbd18RuIYxhgAn44wU/Q==} - '@biomejs/cli-win32-x64@2.1.2': - resolution: {integrity: sha512-9zajnk59PMpjBkty3bK2IrjUsUHvqe9HWwyAWQBjGLE7MIBjbX2vwv1XPEhmO2RRuGoTkVx3WCanHrjAytICLA==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [win32] + '@bomb.sh/tools@0.3.4': + resolution: {integrity: sha512-E/91tj2pRmogBGZEzL9BM6Xi4bzLBzqRYOQSu0N2HiYe7214LZKbOmKrKH2RXP2tbho+mJnxROde3vRhrN6IQg==} + hasBin: true '@changesets/apply-release-plan@7.0.12': resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} @@ -221,14 +172,14 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@emnapi/core@1.4.5': - resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} + '@emnapi/core@1.9.1': + resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==} - '@emnapi/runtime@1.4.5': - resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + '@emnapi/runtime@1.9.1': + resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} - '@emnapi/wasi-threads@1.0.4': - resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} + '@emnapi/wasi-threads@1.2.0': + resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==} '@esbuild/aix-ppc64@0.25.8': resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} @@ -386,8 +337,34 @@ packages: cpu: [x64] os: [win32] - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} '@jsonjoy.com/base64@1.1.2': resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} @@ -413,8 +390,8 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@napi-rs/wasm-runtime@1.0.1': - resolution: {integrity: sha512-KVlQ/jgywZpixGCKMNwxStmmbYEMyokZpCf2YuIChhfJA2uqfAKNEM8INz7zzTo55iEXfBhIIs3VqYyqzDLj8g==} + '@napi-rs/wasm-runtime@1.1.1': + resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -428,154 +405,435 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-resolver/binding-android-arm-eabi@11.6.0': - resolution: {integrity: sha512-UJTf5uZs919qavt9Btvbzkr3eaUu4d+FXBri8AB2BtOezriaTTUvArab2K9fdACQ4yFggTD5ews1l19V/6SW2Q==} + '@oxc-project/types@0.122.0': + resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==} + + '@oxc-resolver/binding-android-arm-eabi@11.19.1': + resolution: {integrity: sha512-aUs47y+xyXHUKlbhqHUjBABjvycq6YSD7bpxSW7vplUmdzAlJ93yXY6ZR0c1o1x5A/QKbENCvs3+NlY8IpIVzg==} cpu: [arm] os: [android] - '@oxc-resolver/binding-android-arm64@11.6.0': - resolution: {integrity: sha512-v17j1WLEAIlyc+6JOWPXcky7dkU3fN8nHTP8KSK05zkkBO0t28R3Q0udmNBiJtVSnw4EFB/fy/3Mu2ItpG6bVQ==} + '@oxc-resolver/binding-android-arm64@11.19.1': + resolution: {integrity: sha512-oolbkRX+m7Pq2LNjr/kKgYeC7bRDMVTWPgxBGMjSpZi/+UskVo4jsMU3MLheZV55jL6c3rNelPl4oD60ggYmqA==} cpu: [arm64] os: [android] - '@oxc-resolver/binding-darwin-arm64@11.6.0': - resolution: {integrity: sha512-ZrU+qd5AKe8s7PZDLCHY23UpbGn1RAkcNd4JYjOTnX22XEjSqLvyC6pCMngTyfgGVJ4zXFubBkRzt/k3xOjNlQ==} + '@oxc-resolver/binding-darwin-arm64@11.19.1': + resolution: {integrity: sha512-nUC6d2i3R5B12sUW4O646qD5cnMXf2oBGPLIIeaRfU9doJRORAbE2SGv4eW6rMqhD+G7nf2Y8TTJTLiiO3Q/dQ==} cpu: [arm64] os: [darwin] - '@oxc-resolver/binding-darwin-x64@11.6.0': - resolution: {integrity: sha512-qBIlX0X0RSxQHcXQnFpBGKxrDVtj7OdpWFGmrcR3NcndVjZ/wJRPST5uTTM83NfsHyuUeOi/vRZjmDrthvhnSQ==} + '@oxc-resolver/binding-darwin-x64@11.19.1': + resolution: {integrity: sha512-cV50vE5+uAgNcFa3QY1JOeKDSkM/9ReIcc/9wn4TavhW/itkDGrXhw9jaKnkQnGbjJ198Yh5nbX/Gr2mr4Z5jQ==} cpu: [x64] os: [darwin] - '@oxc-resolver/binding-freebsd-x64@11.6.0': - resolution: {integrity: sha512-tTyMlHHNhbkq/oEP/fM8hPZ6lqntHIz6EfOt577/lslrwxC5a/ii0lOOHjPuQtkurpyUBWYPs7Z17EgrZulc4Q==} + '@oxc-resolver/binding-freebsd-x64@11.19.1': + resolution: {integrity: sha512-xZOQiYGFxtk48PBKff+Zwoym7ScPAIVp4c14lfLxizO2LTTTJe5sx9vQNGrBymrf/vatSPNMD4FgsaaRigPkqw==} cpu: [x64] os: [freebsd] - '@oxc-resolver/binding-linux-arm-gnueabihf@11.6.0': - resolution: {integrity: sha512-tYinHy5k9/rujo21mG2jZckJJD7fsceNDl5HOl/eh5NPjSt2vXQv181PVKeITw3+3i+gI1d666w5EtgpiCegRA==} + '@oxc-resolver/binding-linux-arm-gnueabihf@11.19.1': + resolution: {integrity: sha512-lXZYWAC6kaGe/ky2su94e9jN9t6M0/6c+GrSlCqL//XO1cxi5lpAhnJYdyrKfm0ZEr/c7RNyAx3P7FSBcBd5+A==} cpu: [arm] os: [linux] - '@oxc-resolver/binding-linux-arm-musleabihf@11.6.0': - resolution: {integrity: sha512-aOlGlSiT9fBgSyiIWvSxbyzaBx3XrgCy6UJRrqBkIvMO9D7W90JmV0RsiLua4w43zJSSrfuQQWqmFCwgIib3Iw==} + '@oxc-resolver/binding-linux-arm-musleabihf@11.19.1': + resolution: {integrity: sha512-veG1kKsuK5+t2IsO9q0DErYVSw2azvCVvWHnfTOS73WE0STdLLB7Q1bB9WR+yHPQM76ASkFyRbogWo1GR1+WbQ==} cpu: [arm] os: [linux] - '@oxc-resolver/binding-linux-arm64-gnu@11.6.0': - resolution: {integrity: sha512-EZ/OuxZA9qQoAANBDb9V4krfYXU3MC+LZ9qY+cE0yMYMIxm7NT5AdR0OaRQqfa3tWIbina1VF7FaMR6rpKvmlA==} + '@oxc-resolver/binding-linux-arm64-gnu@11.19.1': + resolution: {integrity: sha512-heV2+jmXyYnUrpUXSPugqWDRpnsQcDm2AX4wzTuvgdlZfoNYO0O3W2AVpJYaDn9AG4JdM6Kxom8+foE7/BcSig==} cpu: [arm64] os: [linux] - '@oxc-resolver/binding-linux-arm64-musl@11.6.0': - resolution: {integrity: sha512-NpF7sID4NnPetpqDk2eOu6TPUt381Qlpos8nGDcSkAluqSsSGFOPfETEB5VbJeqNVQbepEQX9mOxZygFpW0+nA==} + '@oxc-resolver/binding-linux-arm64-musl@11.19.1': + resolution: {integrity: sha512-jvo2Pjs1c9KPxMuMPIeQsgu0mOJF9rEb3y3TdpsrqwxRM+AN6/nDDwv45n5ZrUnQMsdBy5gIabioMKnQfWo9ew==} cpu: [arm64] os: [linux] - '@oxc-resolver/binding-linux-ppc64-gnu@11.6.0': - resolution: {integrity: sha512-Sqn9Ha4rxCCpjpfkFi9f9y9phsaBnseaKw+JqHgBQoNMToe+/20A1jwIu9OX+484UuLpduM+wLydgngjnoi7Dg==} + '@oxc-resolver/binding-linux-ppc64-gnu@11.19.1': + resolution: {integrity: sha512-vLmdNxWCdN7Uo5suays6A/+ywBby2PWBBPXctWPg5V0+eVuzsJxgAn6MMB4mPlshskYbppjpN2Zg83ArHze9gQ==} cpu: [ppc64] os: [linux] - '@oxc-resolver/binding-linux-riscv64-gnu@11.6.0': - resolution: {integrity: sha512-eFoNcPhImp1FLAQf5U3Nlph4WNWEsdWohSThSTtKPrX+jhPZiVsj3iBC9gjaRwq2Ez4QhP1x7/PSL6mtKnS6rw==} + '@oxc-resolver/binding-linux-riscv64-gnu@11.19.1': + resolution: {integrity: sha512-/b+WgR+VTSBxzgOhDO7TlMXC1ufPIMR6Vj1zN+/x+MnyXGW7prTLzU9eW85Aj7Th7CCEG9ArCbTeqxCzFWdg2w==} cpu: [riscv64] os: [linux] - '@oxc-resolver/binding-linux-riscv64-musl@11.6.0': - resolution: {integrity: sha512-WQw3CT10aJg7SIc/X1QPrh6lTx2wOLg5IaCu/+Mqlxf1nZBEW3+tV/+y3PzXG0MCRhq7FDTiHaW8MBVAwBineQ==} + '@oxc-resolver/binding-linux-riscv64-musl@11.19.1': + resolution: {integrity: sha512-YlRdeWb9j42p29ROh+h4eg/OQ3dTJlpHSa+84pUM9+p6i3djtPz1q55yLJhgW9XfDch7FN1pQ/Vd6YP+xfRIuw==} cpu: [riscv64] os: [linux] - '@oxc-resolver/binding-linux-s390x-gnu@11.6.0': - resolution: {integrity: sha512-p5qcPr/EtGJ2PpeeArL3ifZU/YljWLypeu38+e19z2dyPv8Aoby8tjM+D1VTI8+suMwTkseyove/uu6zIUiqRw==} + '@oxc-resolver/binding-linux-s390x-gnu@11.19.1': + resolution: {integrity: sha512-EDpafVOQWF8/MJynsjOGFThcqhRHy417sRyLfQmeiamJ8qVhSKAn2Dn2VVKUGCjVB9C46VGjhNo7nOPUi1x6uA==} cpu: [s390x] os: [linux] - '@oxc-resolver/binding-linux-x64-gnu@11.6.0': - resolution: {integrity: sha512-/9M/ieoY5v54k3UjtF9Vw43WQ4bBfed+qRL1uIpFbZcO2qi5aXwVMYnjSd/BoaRtDs5JFV9iOjzHwpw0zdOYZA==} + '@oxc-resolver/binding-linux-x64-gnu@11.19.1': + resolution: {integrity: sha512-NxjZe+rqWhr+RT8/Ik+5ptA3oz7tUw361Wa5RWQXKnfqwSSHdHyrw6IdcTfYuml9dM856AlKWZIUXDmA9kkiBQ==} cpu: [x64] os: [linux] - '@oxc-resolver/binding-linux-x64-musl@11.6.0': - resolution: {integrity: sha512-HMtWWHTU7zbwceTFZPAPMMhhWR1nNO2OR60r6i55VprCMvttTWPQl7uLP0AUtAPoU9B/2GqP48rzOuaaKhHnYw==} + '@oxc-resolver/binding-linux-x64-musl@11.19.1': + resolution: {integrity: sha512-cM/hQwsO3ReJg5kR+SpI69DMfvNCp+A/eVR4b4YClE5bVZwz8rh2Nh05InhwI5HR/9cArbEkzMjcKgTHS6UaNw==} cpu: [x64] os: [linux] - '@oxc-resolver/binding-wasm32-wasi@11.6.0': - resolution: {integrity: sha512-rDAwr2oqmnG/6LSZJwvO3Bmt/RC3/Q6myyaUmg3P7GhZDyFPrWJONB7NFhPwU2Q4JIpA73ST4LBdhzmGxMTmrw==} + '@oxc-resolver/binding-openharmony-arm64@11.19.1': + resolution: {integrity: sha512-QF080IowFB0+9Rh6RcD19bdgh49BpQHUW5TajG1qvWHvmrQznTZZjYlgE2ltLXyKY+qs4F/v5xuX1XS7Is+3qA==} + cpu: [arm64] + os: [openharmony] + + '@oxc-resolver/binding-wasm32-wasi@11.19.1': + resolution: {integrity: sha512-w8UCKhX826cP/ZLokXDS6+milN8y4X7zidsAttEdWlVoamTNf6lhBJldaWr3ukTDiye7s4HRcuPEPOXNC432Vg==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-resolver/binding-win32-arm64-msvc@11.6.0': - resolution: {integrity: sha512-COzy8weljZo2lObWl6ZzW6ypDx1v1rtLdnt7JPjTUARikK1gMzlz9kouQhCtCegNFILx2L2oWw7714fnchqujw==} + '@oxc-resolver/binding-win32-arm64-msvc@11.19.1': + resolution: {integrity: sha512-nJ4AsUVZrVKwnU/QRdzPCCrO0TrabBqgJ8pJhXITdZGYOV28TIYystV1VFLbQ7DtAcaBHpocT5/ZJnF78YJPtQ==} cpu: [arm64] os: [win32] - '@oxc-resolver/binding-win32-ia32-msvc@11.6.0': - resolution: {integrity: sha512-p2tMRdi91CovjLBApDPD/uEy1/5r7U6iVkfagLYDytgvj6nJ1EAxLUdXbhoe6//50IvDC/5I51nGCdxmOUiXlQ==} + '@oxc-resolver/binding-win32-ia32-msvc@11.19.1': + resolution: {integrity: sha512-EW+ND5q2Tl+a3pH81l1QbfgbF3HmqgwLfDfVithRFheac8OTcnbXt/JxqD2GbDkb7xYEqy1zNaVFRr3oeG8npA==} cpu: [ia32] os: [win32] - '@oxc-resolver/binding-win32-x64-msvc@11.6.0': - resolution: {integrity: sha512-p6b9q5TACd/y39kDK2HENXqd4lThoVrTkxdvizqd5/VwyHcoSd0cDcIEhHpxvfjc83VsODCBgB/zcjp//TlaqA==} + '@oxc-resolver/binding-win32-x64-msvc@11.19.1': + resolution: {integrity: sha512-6hIU3RQu45B+VNTY4Ru8ppFwjVS/S5qwYyGhBotmjxfEKk41I2DlGtRfGJndZ5+6lneE2pwloqunlOyZuX/XAw==} cpu: [x64] os: [win32] - '@rollup/plugin-alias@5.1.1': - resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@oxfmt/binding-android-arm-eabi@0.36.0': + resolution: {integrity: sha512-Z4yVHJWx/swHHjtr0dXrBZb6LxS+qNz1qdza222mWwPTUK4L790+5i3LTgjx3KYGBzcYpjaiZBw4vOx94dH7MQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] - '@rollup/plugin-commonjs@28.0.6': - resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==} - engines: {node: '>=16.0.0 || 14 >= 14.17'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@oxfmt/binding-android-arm64@0.36.0': + resolution: {integrity: sha512-3ElCJRFNPQl7jexf2CAa9XmAm8eC5JPrIDSjc9jSchkVSFTEqyL0NtZinBB2h1a4i4JgP1oGl/5G5n8YR4FN8Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] - '@rollup/plugin-json@6.1.0': - resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@oxfmt/binding-darwin-arm64@0.36.0': + resolution: {integrity: sha512-nak4znWCqIExKhYSY/mz/lWsqWIpdsS7o0+SRzXR1Q0m7GrMcG1UrF1pS7TLGZhhkf7nTfEF7q6oZzJiodRDuw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] - '@rollup/plugin-node-resolve@16.0.1': - resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@oxfmt/binding-darwin-x64@0.36.0': + resolution: {integrity: sha512-V4GP96thDnpKx6ADnMDnhIXNdtV+Ql9D4HUU+a37VTeVbs5qQSF/s6hhUP1b3xUqU7iRcwh72jUU2Y12rtGHAw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] - '@rollup/plugin-replace@6.0.2': - resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@oxfmt/binding-freebsd-x64@0.36.0': + resolution: {integrity: sha512-/xapWCADfI5wrhxpEUjhI9fnw7MV5BUZizVa8e24n3VSK6A3Y1TB/ClOP1tfxNspykFKXp4NBWl6NtDJP3osqQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxfmt/binding-linux-arm-gnueabihf@0.36.0': + resolution: {integrity: sha512-1lOmv61XMFIH5uNm27620kRRzWt/RK6tdn250BRDoG9W7OXGOQ5UyI1HVT+SFkoOoKztBiinWgi68+NA1MjBVQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm-musleabihf@0.36.0': + resolution: {integrity: sha512-vMH23AskdR1ujUS9sPck2Df9rBVoZUnCVY86jisILzIQ/QQ/yKUTi7tgnIvydPx7TyB/48wsQ5QMr5Knq5p/aw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm64-gnu@0.36.0': + resolution: {integrity: sha512-Hy1V+zOBHpBiENRx77qrUTt5aPDHeCASRc8K5KwwAHkX2AKP0nV89eL17hsZrE9GmnXFjsNmd80lyf7aRTXsbw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxfmt/binding-linux-arm64-musl@0.36.0': + resolution: {integrity: sha512-SPGLJkOIHSIC6ABUQ5V8NqJpvYhMJueJv26NYqfCnwi/Mn6A61amkpJJ9Suy0Nmvs+OWESJpcebrBUbXPGZyQQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxfmt/binding-linux-ppc64-gnu@0.36.0': + resolution: {integrity: sha512-3EuoyB8x9x8ysYJjbEO/M9fkSk72zQKnXCvpZMDHXlnY36/1qMp55Nm0PrCwjGO/1pen5hdOVkz9WmP3nAp2IQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxfmt/binding-linux-riscv64-gnu@0.36.0': + resolution: {integrity: sha512-MpY3itLwpGh8dnywtrZtaZ604T1m715SydCKy0+qTxetv+IHzuA+aO/AGzrlzUNYZZmtWtmDBrChZGibvZxbRQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxfmt/binding-linux-riscv64-musl@0.36.0': + resolution: {integrity: sha512-mmDhe4Vtx+XwQPRPn/V25+APnkApYgZ23q+6GVsNYY98pf3aU0aI3Me96pbRs/AfJ1jIiGC+/6q71FEu8dHcHw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] - '@rollup/pluginutils@5.2.0': - resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} + '@oxfmt/binding-linux-s390x-gnu@0.36.0': + resolution: {integrity: sha512-AYXhU+DmNWLSnvVwkHM92fuYhogtVHab7UQrPNaDf1sxadugg9gWVmcgJDlIwxJdpk5CVW/TFvwUKwI432zhhA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxfmt/binding-linux-x64-gnu@0.36.0': + resolution: {integrity: sha512-H16QhhQ3usoakMleiAAQ2mg0NsBDAdyE9agUgfC8IHHh3jZEbr0rIKwjEqwbOHK5M0EmfhJmr+aGO/MgZPsneA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxfmt/binding-linux-x64-musl@0.36.0': + resolution: {integrity: sha512-EFFGkixA39BcmHiCe2ECdrq02D6FCve5ka6ObbvrheXl4V+R0U/E+/uLyVx1X65LW8TA8QQHdnbdDallRekohw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxfmt/binding-openharmony-arm64@0.36.0': + resolution: {integrity: sha512-zr/t369wZWFOj1qf06Z5gGNjFymfUNDrxKMmr7FKiDRVI1sNsdKRCuRL4XVjtcptKQ+ao3FfxLN1vrynivmCYg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxfmt/binding-win32-arm64-msvc@0.36.0': + resolution: {integrity: sha512-FxO7UksTv8h4olzACgrqAXNF6BP329+H322323iDrMB5V/+a1kcAw07fsOsUmqNrb9iJBsCQgH/zqcqp5903ag==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxfmt/binding-win32-ia32-msvc@0.36.0': + resolution: {integrity: sha512-OjoMQ89H01M0oLMfr/CPNH1zi48ZIwxAKObUl57oh7ssUBNDp/2Vjf7E1TQ8M4oj4VFQ/byxl2SmcPNaI2YNDg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxfmt/binding-win32-x64-msvc@0.36.0': + resolution: {integrity: sha512-MoyeQ9S36ZTz/4bDhOKJgOBIDROd4dQ5AkT9iezhEaUBxAPdNX9Oq0jD8OSnCj3G4wam/XNxVWKMA52kmzmPtQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxlint/binding-android-arm-eabi@1.57.0': + resolution: {integrity: sha512-C7EiyfAJG4B70496eV543nKiq5cH0o/xIh/ufbjQz3SIvHhlDDsyn+mRFh+aW8KskTyUpyH2LGWL8p2oN6bl1A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxlint/binding-android-arm64@1.57.0': + resolution: {integrity: sha512-9i80AresjZ/FZf5xK8tKFbhQnijD4s1eOZw6/FHUwD59HEZbVLRc2C88ADYJfLZrF5XofWDiRX/Ja9KefCLy7w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxlint/binding-darwin-arm64@1.57.0': + resolution: {integrity: sha512-0eUfhRz5L2yKa9I8k3qpyl37XK3oBS5BvrgdVIx599WZK63P8sMbg+0s4IuxmIiZuBK68Ek+Z+gcKgeYf0otsg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxlint/binding-darwin-x64@1.57.0': + resolution: {integrity: sha512-UvrSuzBaYOue+QMAcuDITe0k/Vhj6KZGjfnI6x+NkxBTke/VoM7ZisaxgNY0LWuBkTnd1OmeQfEQdQ48fRjkQg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxlint/binding-freebsd-x64@1.57.0': + resolution: {integrity: sha512-wtQq0dCoiw4bUwlsNVDJJ3pxJA218fOezpgtLKrbQqUtQJcM9yP8z+I9fu14aHg0uyAxIY+99toL6uBa2r7nxA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxlint/binding-linux-arm-gnueabihf@1.57.0': + resolution: {integrity: sha512-qxFWl2BBBFcT4djKa+OtMdnLgoHEJXpqjyGwz8OhW35ImoCwR5qtAGqApNYce5260FQqoAHW8S8eZTjiX67Tsg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-musleabihf@1.57.0': + resolution: {integrity: sha512-SQoIsBU7J0bDW15/f0/RvxHfY3Y0+eB/caKBQtNFbuerTiA6JCYx9P1MrrFTwY2dTm/lMgTSgskvCEYk2AtG/Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm64-gnu@1.57.0': + resolution: {integrity: sha512-jqxYd1W6WMeozsCmqe9Rzbu3SRrGTyGDAipRlRggetyYbUksJqJKvUNTQtZR/KFoJPb+grnSm5SHhdWrywv3RQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxlint/binding-linux-arm64-musl@1.57.0': + resolution: {integrity: sha512-i66WyEPVEvq9bxRUCJ/MP5EBfnTDN3nhwEdFZFTO5MmLLvzngfWEG3NSdXQzTT3vk5B9i6C2XSIYBh+aG6uqyg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxlint/binding-linux-ppc64-gnu@1.57.0': + resolution: {integrity: sha512-oMZDCwz4NobclZU3pH+V1/upVlJZiZvne4jQP+zhJwt+lmio4XXr4qG47CehvrW1Lx2YZiIHuxM2D4YpkG3KVA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxlint/binding-linux-riscv64-gnu@1.57.0': + resolution: {integrity: sha512-uoBnjJ3MMEBbfnWC1jSFr7/nSCkcQYa72NYoNtLl1imshDnWSolYCjzb8LVCwYCCfLJXD+0gBLD7fyC14c0+0g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxlint/binding-linux-riscv64-musl@1.57.0': + resolution: {integrity: sha512-BdrwD7haPZ8a9KrZhKJRSj6jwCor+Z8tHFZ3PT89Y3Jq5v3LfMfEePeAmD0LOTWpiTmzSzdmyw9ijneapiVHKQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxlint/binding-linux-s390x-gnu@1.57.0': + resolution: {integrity: sha512-BNs+7ZNsRstVg2tpNxAXfMX/Iv5oZh204dVyb8Z37+/gCh+yZqNTlg6YwCLIMPSk5wLWIGOaQjT0GUOahKYImw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxlint/binding-linux-x64-gnu@1.57.0': + resolution: {integrity: sha512-AghS18w+XcENcAX0+BQGLiqjpqpaxKJa4cWWP0OWNLacs27vHBxu7TYkv9LUSGe5w8lOJHeMxcYfZNOAPqw2bg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxlint/binding-linux-x64-musl@1.57.0': + resolution: {integrity: sha512-E/FV3GB8phu/Rpkhz5T96hAiJlGzn91qX5yj5gU754P5cmVGXY1Jw/VSjDSlZBCY3VHjsVLdzgdkJaomEmcNOg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxlint/binding-openharmony-arm64@1.57.0': + resolution: {integrity: sha512-xvZ2yZt0nUVfU14iuGv3V25jpr9pov5N0Wr28RXnHFxHCRxNDMtYPHV61gGLhN9IlXM96gI4pyYpLSJC5ClLCQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxlint/binding-win32-arm64-msvc@1.57.0': + resolution: {integrity: sha512-Z4D8Pd0AyHBKeazhdIXeUUy5sIS3Mo0veOlzlDECg6PhRRKgEsBJCCV1n+keUZtQ04OP+i7+itS3kOykUyNhDg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxlint/binding-win32-ia32-msvc@1.57.0': + resolution: {integrity: sha512-StOZ9nFMVKvevicbQfql6Pouu9pgbeQnu60Fvhz2S6yfMaii+wnueLnqQ5I1JPgNF0Syew4voBlAaHD13wH6tw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxlint/binding-win32-x64-msvc@1.57.0': + resolution: {integrity: sha512-6PuxhYgth8TuW0+ABPOIkGdBYw+qYGxgIdXPHSVpiCDm+hqTTWCmC739St1Xni0DJBt8HnSHTG67i1y6gr8qrA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@publint/pack@0.1.4': + resolution: {integrity: sha512-HDVTWq3H0uTXiU0eeSQntcVUTPP3GamzeXI41+x7uU9J65JgWQh3qWZHblR1i0npXfFtF+mxBiU2nJH8znxWnQ==} + engines: {node: '>=18'} + + '@quansync/fs@1.0.0': + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + + '@rolldown/binding-android-arm64@1.0.0-rc.11': + resolution: {integrity: sha512-SJ+/g+xNnOh6NqYxD0V3uVN4W3VfnrGsC9/hoglicgTNfABFG9JjISvkkU0dNY84MNHLWyOgxP9v9Y9pX4S7+A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.0.0-rc.11': + resolution: {integrity: sha512-7WQgR8SfOPwmDZGFkThUvsmd/nwAWv91oCO4I5LS7RKrssPZmOt7jONN0cW17ydGC1n/+puol1IpoieKqQidmg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.0-rc.11': + resolution: {integrity: sha512-39Ks6UvIHq4rEogIfQBoBRusj0Q0nPVWIvqmwBLaT6aqQGIakHdESBVOPRRLacy4WwUPIx4ZKzfZ9PMW+IeyUQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.0.0-rc.11': + resolution: {integrity: sha512-jfsm0ZHfhiqrvWjJAmzsqiIFPz5e7mAoCOPBNTcNgkiid/LaFKiq92+0ojH+nmJmKYkre4t71BWXUZDNp7vsag==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.11': + resolution: {integrity: sha512-zjQaUtSyq1nVe3nxmlSCuR96T1LPlpvmJ0SZy0WJFEsV4kFbXcq2u68L4E6O0XeFj4aex9bEauqjW8UQBeAvfQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.11': + resolution: {integrity: sha512-WMW1yE6IOnehTcFE9eipFkm3XN63zypWlrJQ2iF7NrQ9b2LDRjumFoOGJE8RJJTJCTBAdmLMnJ8uVitACUUo1Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.11': + resolution: {integrity: sha512-jfndI9tsfm4APzjNt6QdBkYwre5lRPUgHeDHoI7ydKUuJvz3lZeCfMsI56BZj+7BYqiKsJm7cfd/6KYV7ubrBg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.11': + resolution: {integrity: sha512-ZlFgw46NOAGMgcdvdYwAGu2Q+SLFA9LzbJLW+iyMOJyhj5wk6P3KEE9Gct4xWwSzFoPI7JCdYmYMzVtlgQ+zfw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.11': + resolution: {integrity: sha512-hIOYmuT6ofM4K04XAZd3OzMySEO4K0/nc9+jmNcxNAxRi6c5UWpqfw3KMFV4MVFWL+jQsSh+bGw2VqmaPMTLyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.11': + resolution: {integrity: sha512-qXBQQO9OvkjjQPLdUVr7Nr2t3QTZI7s4KZtfw7HzBgjbmAPSFwSv4rmET9lLSgq3rH/ndA3ngv3Qb8l2njoPNA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@rolldown/binding-linux-x64-musl@1.0.0-rc.11': + resolution: {integrity: sha512-/tpFfoSTzUkH9LPY+cYbqZBDyyX62w5fICq9qzsHLL8uTI6BHip3Q9Uzft0wylk/i8OOwKik8OxW+QAhDmzwmg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': + resolution: {integrity: sha512-mcp3Rio2w72IvdZG0oQ4bM2c2oumtwHfUfKncUM6zGgz0KgPz4YmDPQfnXEiY5t3+KD/i8HG2rOB/LxdmieK2g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.0.0-rc.11': + resolution: {integrity: sha512-LXk5Hii1Ph9asuGRjBuz8TUxdc1lWzB7nyfdoRgI0WGPZKmCxvlKk8KfYysqtr4MfGElu/f/pEQRh8fcEgkrWw==} engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.11': + resolution: {integrity: sha512-dDwf5otnx0XgRY1yqxOC4ITizcdzS/8cQ3goOWv3jFAo4F+xQYni+hnMuO6+LssHHdJW7+OCVL3CoU4ycnh35Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.11': + resolution: {integrity: sha512-LN4/skhSggybX71ews7dAj6r2geaMJfm3kMbK2KhFMg9B10AZXnKoLCVVgzhMHL0S+aKtr4p8QbAW8k+w95bAA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.0-rc.11': + resolution: {integrity: sha512-xQO9vbwBecJRv9EUcQ/y0dzSTJgA7Q6UVN7xp6B81+tBGSLVAK03yJ9NkJaUA7JFD91kbjxRSC/mDnmvXzbHoQ==} '@rollup/rollup-android-arm-eabi@4.45.1': resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==} @@ -677,12 +935,11 @@ packages: cpu: [x64] os: [win32] - '@trysound/sax@0.2.0': - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@tybys/wasm-util@0.10.0': - resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} '@types/chai@5.2.2': resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} @@ -693,48 +950,82 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/jsesc@2.5.1': + resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==} + '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} '@types/node@24.1.0': resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} - '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260307.1': + resolution: {integrity: sha512-VpnrMP4iDLSTT9Hg/KrHwuIHLZr5dxYPMFErfv3ZDA0tv48u2H1lBhHVVMMopCuskuX3C35EOJbxLkxCJd6zDw==} + cpu: [arm64] + os: [darwin] + + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260307.1': + resolution: {integrity: sha512-+4akGPxwfrPy2AYmQO1bp6CXxUVlBPrL0lSv+wY/E8vNGqwF0UtJCwAcR54ae1+k9EmoirT7Xn6LE3Io6mXntg==} + cpu: [x64] + os: [darwin] + + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260307.1': + resolution: {integrity: sha512-u4kXuHN2p+HeWsnTixoEOwALsCoS+n3/ukWdnV/mwyg6BKuuU69qCv3/miY6YPFtE7mUwzPdflEXsvkZJbJ/RA==} + cpu: [arm64] + os: [linux] - '@vitest/expect@3.2.4': - resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} + '@typescript/native-preview-linux-arm@7.0.0-dev.20260307.1': + resolution: {integrity: sha512-E0Pve6BjTVvPiHq9cPVQu6fbW/Qo/CEs1VN2NMILd0xzFVpVd9FIvzV+Ft6pZilu1SBcihThW3sQ92l03Cw2+Q==} + cpu: [arm] + os: [linux] - '@vitest/mocker@3.2.4': - resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} + '@typescript/native-preview-linux-x64@7.0.0-dev.20260307.1': + resolution: {integrity: sha512-MzuRjTYQIS7XrJcH0As18SbaQU+rFhf9LCpXs2QeHjhXQ33wjuFDNhQeurg2eKm6A0xE0GoW9K+sKsm8bhzzPg==} + cpu: [x64] + os: [linux] + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260307.1': + resolution: {integrity: sha512-UNZl8Q6lx1njEPU8+FNjYvqii5PtDjk6cyxmVPwwJI2Snz5T5qY6oadkUds6CJsLkt7s4UB3P5XgLu1+vwoYGw==} + cpu: [arm64] + os: [win32] + + '@typescript/native-preview-win32-x64@7.0.0-dev.20260307.1': + resolution: {integrity: sha512-aPJb4v0Df9GzWFWbO4YbLg0OjmjxZgXngkF1M746r4CgOdydWgosNPWypzzAwiliGKvCLwfAWYiV+T5Jf1vQ3g==} + cpu: [x64] + os: [win32] + + '@typescript/native-preview@7.0.0-dev.20260307.1': + resolution: {integrity: sha512-NcKdPiGjxxxdh7fLgRKTrn5hLntbt89NOodNaSrMChTfJwvLaDkgrRlnO7v5x+m7nQc87Qf1y7UoT1ZEZUBB4Q==} + hasBin: true + + '@vitest/expect@4.1.1': + resolution: {integrity: sha512-xAV0fqBTk44Rn6SjJReEQkHP3RrqbJo6JQ4zZ7/uVOiJZRarBtblzrOfFIZeYUrukp2YD6snZG6IBqhOoHTm+A==} + + '@vitest/mocker@4.1.1': + resolution: {integrity: sha512-h3BOylsfsCLPeceuCPAAJ+BvNwSENgJa4hXoXu4im0bs9Lyp4URc4JYK4pWLZ4pG/UQn7AT92K6IByi6rE6g3A==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@3.2.4': - resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + '@vitest/pretty-format@4.1.1': + resolution: {integrity: sha512-GM+TEQN5WhOygr1lp7skeVjdLPqqWMHsfzXrcHAqZJi/lIVh63H0kaRCY8MDhNWikx19zBUK8ceaLB7X5AH9NQ==} - '@vitest/runner@3.2.4': - resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + '@vitest/runner@4.1.1': + resolution: {integrity: sha512-f7+FPy75vN91QGWsITueq0gedwUZy1fLtHOCMeQpjs8jTekAHeKP80zfDEnhrleviLHzVSDXIWuCIOFn3D3f8A==} - '@vitest/snapshot@3.2.4': - resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + '@vitest/snapshot@4.1.1': + resolution: {integrity: sha512-kMVSgcegWV2FibXEx9p9WIKgje58lcTbXgnJixfcg15iK8nzCXhmalL0ZLtTWLW9PH1+1NEDShiFFedB3tEgWg==} - '@vitest/spy@3.2.4': - resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + '@vitest/spy@4.1.1': + resolution: {integrity: sha512-6Ti/KT5OVaiupdIZEuZN7l3CZcR0cxnxt70Z0//3CtwgObwA6jZhmVBA3yrXSVN3gmwjgd7oDNLlsXz526gpRA==} - '@vitest/utils@3.2.4': - resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} - - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true + '@vitest/utils@4.1.1': + resolution: {integrity: sha512-cNxAlaB3sHoCdL6pj6yyUXv9Gry1NHNg0kFTXdvSIZXLHsqKH7chiWOkwJ5s5+d/oMwcoG9T0bKU38JZWKusrQ==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -744,90 +1035,49 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - - autoprefixer@10.4.21: - resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 + ast-kit@3.0.0-beta.1: + resolution: {integrity: sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==} + engines: {node: '>=20.19.0'} better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + birpc@4.0.0: + resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.25.1: - resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - - caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - - caniuse-lite@1.0.30001727: - resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} + cac@7.0.0: + resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} + engines: {node: '>=20.19.0'} - chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - citty@0.1.6: - resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - - colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - - confbox@0.2.2: - resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} - - consola@3.4.2: - resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} - engines: {node: ^14.18.0 || >=16.10.0} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} @@ -838,71 +1088,6 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - css-declaration-sorter@7.2.0: - resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.0.9 - - css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - - css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - - css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - cssnano-preset-default@7.0.6: - resolution: {integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano-utils@5.0.0: - resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano@7.0.6: - resolution: {integrity: sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -914,60 +1099,43 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dts-resolver@2.1.3: + resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} + engines: {node: '>=20.19.0'} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true - electron-to-chromium@1.5.190: - resolution: {integrity: sha512-k4McmnB2091YIsdCgkS0fMVMPOJgxl93ltFzaryXqwip1AaxeDqKCGLxkXODDA5Ab/D+tV5EL5+aTx76RvLRxw==} + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-module-lexer@2.0.0: + resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} esbuild@0.25.8: resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} engines: {node: '>=18'} hasBin: true - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - expect-type@1.2.1: - resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} - exsolve@1.0.7: - resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} - extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} @@ -994,8 +1162,9 @@ packages: fd-package-json@2.0.0: resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -1010,17 +1179,11 @@ packages: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - fix-dts-default-cjs-exports@1.0.1: - resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} - - formatly@0.2.4: - resolution: {integrity: sha512-lIN7GpcvX/l/i24r/L9bnJ0I8Qn01qijWpQpDDvTLL29nKqSaJJu4h20+7VJ6m2CAhQ2/En/GbxDiHCzq/0MyA==} + formatly@0.3.0: + resolution: {integrity: sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==} engines: {node: '>=18.3.0'} hasBin: true - fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -1034,8 +1197,8 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + get-tsconfig@4.13.7: + resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1048,12 +1211,8 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hookable@6.1.0: + resolution: {integrity: sha512-ZoKZSJgu8voGK2geJS+6YtYjvIzu9AOM/KZXsBxr83uhLL++e9pEv/dlgwgy3dvHg06kTz6JOh1hk3C8Ceiymw==} human-id@4.1.1: resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} @@ -1071,9 +1230,9 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - is-core-module@2.15.1: - resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} - engines: {node: '>= 0.4'} + import-without-cache@0.2.5: + resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==} + engines: {node: '>=20.19.0'} is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} @@ -1083,16 +1242,10 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} @@ -1112,22 +1265,17 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true - jiti@2.5.0: - resolution: {integrity: sha512-NWDAhdnATItTnRhip9VTd8oXDjVcbhetRN6YzckApnXGxpGUooKMAaf0KVvlZG0+KlJMGkeLElVn4M1ReuxKUQ==} + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} hasBin: true jsonfile@4.0.0: @@ -1137,48 +1285,26 @@ packages: resolution: {integrity: sha512-GJ9Ju8kf2SxH90C1AqANrMKBFlDjrZu1YoFm4SoMCOBOxix3Bvirdg5JB31gbF8FwPBo3196dAaqV0WUjeuq8Q==} hasBin: true - knip@5.62.0: - resolution: {integrity: sha512-hfTUVzmrMNMT1khlZfAYmBABeehwWUUrizLQoLamoRhSFkygsGIXWx31kaWKBgEaIVL77T3Uz7IxGvSw+CvQ6A==} + knip@5.88.1: + resolution: {integrity: sha512-tpy5o7zu1MjawVkLPuahymVJekYY3kYjvzcoInhIchgePxTlo+api90tBv2KfhAIe5uXh+mez1tAfmbv8/TiZg==} engines: {node: '>=18.18.0'} hasBin: true peerDependencies: '@types/node': '>=18' - typescript: '>=5.0.4' - - knitwork@1.2.0: - resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} + typescript: '>=5.0.4 <7' kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - lilconfig@3.1.2: - resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} - engines: {node: '>=14'} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - - loupe@3.2.0: - resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==} - - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} memfs@4.17.2: resolution: {integrity: sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==} @@ -1195,60 +1321,21 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mkdist@2.3.0: - resolution: {integrity: sha512-thkRk+pHdudjdZT3FJpPZ2+pncI6mGlH/B+KBVddlZj4MrFGW41sRIv1wZawZUHU8v7cttGaj+5nx8P+dG664A==} - hasBin: true - peerDependencies: - sass: ^1.85.0 - typescript: '>=5.7.3' - vue: ^3.5.13 - vue-sfc-transformer: ^0.1.1 - vue-tsc: ^1.8.27 || ^2.0.21 - peerDependenciesMeta: - sass: - optional: true - typescript: - optional: true - vue: - optional: true - vue-sfc-transformer: - optional: true - vue-tsc: - optional: true - - mlly@1.7.4: - resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} - mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-postinstall@0.3.2: - resolution: {integrity: sha512-tWVJxJHmBWLy69PvO96TZMZDrzmw5KeiZBz3RHmiM2XZ9grBJ2WgMAFVVg25nqp3ZjTFUs2Ftw1JhscL3Teliw==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - hasBin: true - - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - node-stream-zip@1.15.0: resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} engines: {node: '>=0.12.0'} - normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} @@ -1257,8 +1344,23 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - oxc-resolver@11.6.0: - resolution: {integrity: sha512-Yj3Wy+zLljtFL8ByKOljaPhiXjJWVe875p5MHaT5VAHoEmzeg1BuswM8s/E7ErpJ3s0fsXJfUYJE4v1bl7N65g==} + oxc-resolver@11.19.1: + resolution: {integrity: sha512-qE/CIg/spwrTBFt5aKmwe3ifeDdLfA2NESN30E42X/lII5ClF8V7Wt6WIJhcGZjp0/Q+nQ+9vgxGk//xZNX2hg==} + + oxfmt@0.36.0: + resolution: {integrity: sha512-/ejJ+KoSW6J9bcNT9a9UtJSJNWhJ3yOLSBLbkoFHJs/8CZjmaZVZAJe4YgO1KMJlKpNQasrn/G9JQUEZI3p0EQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + oxlint@1.57.0: + resolution: {integrity: sha512-DGFsuBX5MFZX9yiDdtKjTrYPq45CZ8Fft6qCltJITYZxfwYjVdGf/6wycGYTACloauwIPxUnYhBVeZbHvleGhw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=0.15.0' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} @@ -1283,6 +1385,9 @@ packages: package-manager-detector@0.2.11: resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} + package-manager-detector@1.6.0: + resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1291,9 +1396,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -1301,10 +1403,6 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1312,198 +1410,13 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - - pkg-types@2.2.0: - resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==} - - postcss-calc@10.0.2: - resolution: {integrity: sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==} - engines: {node: ^18.12 || ^20.9 || >=22.0} - peerDependencies: - postcss: ^8.4.38 - - postcss-colormin@7.0.2: - resolution: {integrity: sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-convert-values@7.0.4: - resolution: {integrity: sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-comments@7.0.3: - resolution: {integrity: sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-duplicates@7.0.1: - resolution: {integrity: sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-empty@7.0.0: - resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-overridden@7.0.0: - resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-merge-longhand@7.0.4: - resolution: {integrity: sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-merge-rules@7.0.4: - resolution: {integrity: sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-font-values@7.0.0: - resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-gradients@7.0.0: - resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-params@7.0.2: - resolution: {integrity: sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-selectors@7.0.4: - resolution: {integrity: sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-nested@7.0.2: - resolution: {integrity: sha512-5osppouFc0VR9/VYzYxO03VaDa3e8F23Kfd6/9qcZTUI8P58GIYlArOET2Wq0ywSl2o2PjELhYOFI4W7l5QHKw==} - engines: {node: '>=18.0'} - peerDependencies: - postcss: ^8.2.14 - - postcss-normalize-charset@7.0.0: - resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-display-values@7.0.0: - resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-positions@7.0.0: - resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-repeat-style@7.0.0: - resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-string@7.0.0: - resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-timing-functions@7.0.0: - resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-unicode@7.0.2: - resolution: {integrity: sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-url@7.0.0: - resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-whitespace@7.0.0: - resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-ordered-values@7.0.1: - resolution: {integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-reduce-initial@7.0.2: - resolution: {integrity: sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-reduce-transforms@7.0.0: - resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} - - postcss-selector-parser@7.1.0: - resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} - engines: {node: '>=4'} - - postcss-svgo@7.0.1: - resolution: {integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==} - engines: {node: ^18.12.0 || ^20.9.0 || >= 18} - peerDependencies: - postcss: ^8.4.31 - - postcss-unique-selectors@7.0.3: - resolution: {integrity: sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + engines: {node: '>=6'} postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} @@ -1514,13 +1427,17 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - pretty-bytes@7.0.0: - resolution: {integrity: sha512-U5otLYPR3L0SVjHGrkEUx5mf7MxV2ceXeE7VwWPk+hyzC5drNohsOGNPDZqxCqyX1lkbEN4kl1LiI8QFd7r0ZA==} - engines: {node: '>=20'} + publint@0.3.18: + resolution: {integrity: sha512-JRJFeBTrfx4qLwEuGFPk+haJOJN97KnPuK01yj+4k/Wj5BgoOK5uNsivporiqBjk2JDaslg7qJOhGRnpltGeog==} + engines: {node: '>=18'} + hasBin: true quansync@0.2.10: resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -1532,20 +1449,36 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup-plugin-dts@6.2.1: - resolution: {integrity: sha512-sR3CxYUl7i2CHa0O7bA45mCrgADyAQ0tVtGSqi3yvH28M+eg1+g5d7kQ9hLvEz5dorK3XVsH5L2jwHLQf72DzA==} - engines: {node: '>=16'} + rolldown-plugin-dts@0.22.5: + resolution: {integrity: sha512-M/HXfM4cboo+jONx9Z0X+CUf3B5tCi7ni+kR5fUW50Fp9AlZk0oVLesibGWgCXDKFp5lpgQ9yhKoImUFjl3VZw==} + engines: {node: '>=20.19.0'} peerDependencies: - rollup: ^3.29.4 || ^4 - typescript: ^4.5 || ^5.0 + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20250601.1' + rolldown: ^1.0.0-rc.3 + typescript: ^5.0.0 || ^6.0.0-beta + vue-tsc: ~3.2.0 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + rolldown@1.0.0-rc.11: + resolution: {integrity: sha512-NRjoKMusSjfRbSYiH3VSumlkgFe7kYAa3pzVOsVYVFY3zb5d7nS+a3KGQ7hJKXuYWbzJKPVQ9Wxq2UvyK+ENpw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true rollup@4.45.1: resolution: {integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==} @@ -1555,12 +1488,13 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scule@1.3.0: - resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} - semiver@1.1.0: resolution: {integrity: sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==} engines: {node: '>=6'} @@ -1570,6 +1504,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1592,8 +1531,8 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - smol-toml@1.4.1: - resolution: {integrity: sha512-CxdwHXyYTONGHThDbq5XdwbFsuY4wlClRGejfE2NtwUtiHYsP1QtNsHb/hnj31jKYSchztJsaA8pSQoVzkfCFg==} + smol-toml@1.6.1: + resolution: {integrity: sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==} engines: {node: '>= 18'} source-map-js@1.2.1: @@ -1609,8 +1548,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + std-env@4.0.0: + resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==} strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} @@ -1620,28 +1559,10 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-json-comments@5.0.2: - resolution: {integrity: sha512-4X2FR3UwhNUE9G49aIsJW5hRRR3GXGTBTZRMfv568O60ojM8HcWjV/VxAxCDW3SUND33O6ZY66ZuRcdkj73q2g==} + strip-json-comments@5.0.3: + resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} engines: {node: '>=14.16'} - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - - stylehacks@7.0.4: - resolution: {integrity: sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.31 - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - svgo@3.3.2: - resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} - engines: {node: '>=14.0.0'} - hasBin: true - term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} @@ -1655,23 +1576,20 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyexec@1.0.4: + resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==} + engines: {node: '>=18'} - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} - engines: {node: '>=14.0.0'} + tinypool@2.1.0: + resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} + engines: {node: ^20.0.0 || >=22.0.0} - tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} engines: {node: '>=14.0.0'} tmp@0.0.33: @@ -1688,6 +1606,38 @@ packages: peerDependencies: tslib: '2' + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + tsdown@0.21.5: + resolution: {integrity: sha512-TlgNhfPioAD6ECCUnZsxcUsXXuPPR4Rrxz3az741kL/M3oGIET4a9GajSNRNRx+jIva73TYUKQybrEPkDYN+fQ==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@tsdown/css': 0.21.5 + '@tsdown/exe': 0.21.5 + '@vitejs/devtools': '*' + publint: ^0.3.0 + typescript: ^5.0.0 || ^6.0.0 + unplugin-unused: ^0.5.0 + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@tsdown/css': + optional: true + '@tsdown/exe': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + typescript: + optional: true + unplugin-unused: + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -1696,17 +1646,12 @@ packages: engines: {node: '>=14.17'} hasBin: true - ufo@1.5.4: - resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + unbash@2.2.0: + resolution: {integrity: sha512-X2wH19RAPZE3+ldGicOkoj/SIA83OIxcJ6Cuaw23hf8Xc6fQpvZXY0SftE2JgS0QhYLUG4uwodSI3R53keyh7w==} + engines: {node: '>=14'} - unbuild@3.6.0: - resolution: {integrity: sha512-vWwKMo2bZS9jbMWO7n51nQvKCRUM3WmONA6+k4z0Ttfkkhh6q1DV/JhKkd58d61eeN9UoTGechlAxXvm11sghw==} - hasBin: true - peerDependencies: - typescript: ^5.8.3 - peerDependenciesMeta: - typescript: - optional: true + unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} undici-types@7.8.0: resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} @@ -1715,23 +1660,15 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - untyped@2.0.0: - resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} - hasBin: true - - update-browserslist-db@1.1.3: - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + unrun@0.2.33: + resolution: {integrity: sha512-urXTjZHOHS6lMnatQerLcBpcTsaKZYGuu9aSZ+HlNfCApkiINRbj7YecC9h9hdZroMT4WQ4KVyzHfBqHKuFX9Q==} + engines: {node: '>=20.19.0'} hasBin: true peerDependencies: - browserslist: '>= 4.21.0' - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - vite-node@3.2.4: - resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true + synckit: ^0.11.11 + peerDependenciesMeta: + synckit: + optional: true vite@7.0.6: resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==} @@ -1773,31 +1710,37 @@ packages: yaml: optional: true - vitest-ansi-serializer@0.1.2: - resolution: {integrity: sha512-9GHM76QixD3bwEPvbuZXWSJfTZKiTml5WuFxk41MlB/ZrSdsIyePaZoG6kA+xDmQepVbzmW1ozg2s0iSpEOp+Q==} + vitest-ansi-serializer@0.2.1: + resolution: {integrity: sha512-IC60vT8raDlHwk2tZAy9wfetJMJkVOGC50jyjcC1HTYBAYfJEXVeKe72Jd5Jzcw1Xt73Nri2cdE98p+K2mnDrA==} peerDependencies: - vitest: ^3.1.1 + vitest: ^3.0.0 || ^4.0.0 - vitest@3.2.4: - resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@4.1.1: + resolution: {integrity: sha512-yF+o4POL41rpAzj5KVILUxm1GCjKnELvaqmU9TLLUbMfDzuN0UpUR9uaDs+mCtjPe+uYPksXDRLQGGPvj1cTmA==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.4 - '@vitest/ui': 3.2.4 + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.1 + '@vitest/browser-preview': 4.1.1 + '@vitest/browser-webdriverio': 4.1.1 + '@vitest/ui': 4.1.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true - '@types/debug': + '@opentelemetry/api': optional: true '@types/node': optional: true - '@vitest/browser': + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': optional: true '@vitest/ui': optional: true @@ -1820,63 +1763,88 @@ packages: engines: {node: '>=8'} hasBin: true - zod-validation-error@3.4.0: - resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==} - engines: {node: '>=18.0.0'} - peerDependencies: - zod: ^3.18.0 + yaml@2.8.3: + resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + engines: {node: '>= 14.6'} + hasBin: true - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@4.3.6: + resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} snapshots: - '@babel/code-frame@7.26.2': + '@babel/generator@8.0.0-rc.2': dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - optional: true + '@babel/parser': 8.0.0-rc.2 + '@babel/types': 8.0.0-rc.2 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + '@types/jsesc': 2.5.1 + jsesc: 3.1.0 - '@babel/helper-validator-identifier@7.25.9': - optional: true - - '@babel/runtime@7.28.2': {} - - '@biomejs/biome@2.1.2': - optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.1.2 - '@biomejs/cli-darwin-x64': 2.1.2 - '@biomejs/cli-linux-arm64': 2.1.2 - '@biomejs/cli-linux-arm64-musl': 2.1.2 - '@biomejs/cli-linux-x64': 2.1.2 - '@biomejs/cli-linux-x64-musl': 2.1.2 - '@biomejs/cli-win32-arm64': 2.1.2 - '@biomejs/cli-win32-x64': 2.1.2 - - '@biomejs/cli-darwin-arm64@2.1.2': - optional: true - - '@biomejs/cli-darwin-x64@2.1.2': - optional: true + '@babel/helper-string-parser@8.0.0-rc.3': {} - '@biomejs/cli-linux-arm64-musl@2.1.2': - optional: true + '@babel/helper-validator-identifier@8.0.0-rc.2': {} - '@biomejs/cli-linux-arm64@2.1.2': - optional: true + '@babel/parser@8.0.0-rc.2': + dependencies: + '@babel/types': 8.0.0-rc.2 - '@biomejs/cli-linux-x64-musl@2.1.2': - optional: true + '@babel/runtime@7.28.2': {} - '@biomejs/cli-linux-x64@2.1.2': - optional: true + '@babel/types@8.0.0-rc.2': + dependencies: + '@babel/helper-string-parser': 8.0.0-rc.3 + '@babel/helper-validator-identifier': 8.0.0-rc.2 - '@biomejs/cli-win32-arm64@2.1.2': - optional: true + '@bomb.sh/args@0.3.1': {} - '@biomejs/cli-win32-x64@2.1.2': - optional: true + '@bomb.sh/tools@0.3.4(@types/node@24.1.0)(jiti@2.6.1)(oxc-resolver@11.19.1)(typescript@5.8.3)(yaml@2.8.3)': + dependencies: + '@bomb.sh/args': 0.3.1 + '@humanfs/node': 0.16.7 + '@humanfs/types': 0.15.0 + '@typescript/native-preview': 7.0.0-dev.20260307.1 + knip: 5.88.1(@types/node@24.1.0)(typescript@5.8.3) + oxfmt: 0.36.0 + oxlint: 1.57.0 + publint: 0.3.18 + tinyexec: 1.0.4 + tsdown: 0.21.5(@typescript/native-preview@7.0.0-dev.20260307.1)(oxc-resolver@11.19.1)(publint@0.3.18)(typescript@5.8.3) + vitest: 4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3) + vitest-ansi-serializer: 0.2.1(vitest@4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3)) + transitivePeerDependencies: + - '@arethetypeswrong/core' + - '@edge-runtime/vm' + - '@opentelemetry/api' + - '@ts-macro/tsc' + - '@tsdown/css' + - '@tsdown/exe' + - '@types/node' + - '@vitejs/devtools' + - '@vitest/browser-playwright' + - '@vitest/browser-preview' + - '@vitest/browser-webdriverio' + - '@vitest/ui' + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw + - oxc-resolver + - oxlint-tsgolint + - sass + - sass-embedded + - stylus + - sugarss + - synckit + - terser + - tsx + - typescript + - unplugin-unused + - vue-tsc + - yaml '@changesets/apply-release-plan@7.0.12': dependencies: @@ -1892,7 +1860,7 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.7.2 + semver: 7.7.4 '@changesets/assemble-release-plan@6.0.9': dependencies: @@ -1901,7 +1869,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 - semver: 7.7.2 + semver: 7.7.4 '@changesets/changelog-git@0.2.1': dependencies: @@ -1957,7 +1925,7 @@ snapshots: '@changesets/types': 6.1.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.7.2 + semver: 7.7.4 '@changesets/get-release-plan@4.0.13': dependencies: @@ -2020,18 +1988,18 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@emnapi/core@1.4.5': + '@emnapi/core@1.9.1': dependencies: - '@emnapi/wasi-threads': 1.0.4 + '@emnapi/wasi-threads': 1.2.0 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.4.5': + '@emnapi/runtime@1.9.1': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.0.4': + '@emnapi/wasi-threads@1.2.0': dependencies: tslib: 2.8.1 optional: true @@ -2114,7 +2082,30 @@ snapshots: '@esbuild/win32-x64@0.25.8': optional: true - '@jridgewell/sourcemap-codec@1.5.0': {} + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + + '@humanfs/types@0.15.0': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': dependencies: @@ -2148,11 +2139,11 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@napi-rs/wasm-runtime@1.0.1': + '@napi-rs/wasm-runtime@1.1.1': dependencies: - '@emnapi/core': 1.4.5 - '@emnapi/runtime': 1.4.5 - '@tybys/wasm-util': 0.10.0 + '@emnapi/core': 1.9.1 + '@emnapi/runtime': 1.9.1 + '@tybys/wasm-util': 0.10.1 optional: true '@nodelib/fs.scandir@2.1.5': @@ -2167,111 +2158,238 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@oxc-resolver/binding-android-arm-eabi@11.6.0': + '@oxc-project/types@0.122.0': {} + + '@oxc-resolver/binding-android-arm-eabi@11.19.1': + optional: true + + '@oxc-resolver/binding-android-arm64@11.19.1': optional: true - '@oxc-resolver/binding-android-arm64@11.6.0': + '@oxc-resolver/binding-darwin-arm64@11.19.1': optional: true - '@oxc-resolver/binding-darwin-arm64@11.6.0': + '@oxc-resolver/binding-darwin-x64@11.19.1': optional: true - '@oxc-resolver/binding-darwin-x64@11.6.0': + '@oxc-resolver/binding-freebsd-x64@11.19.1': optional: true - '@oxc-resolver/binding-freebsd-x64@11.6.0': + '@oxc-resolver/binding-linux-arm-gnueabihf@11.19.1': optional: true - '@oxc-resolver/binding-linux-arm-gnueabihf@11.6.0': + '@oxc-resolver/binding-linux-arm-musleabihf@11.19.1': optional: true - '@oxc-resolver/binding-linux-arm-musleabihf@11.6.0': + '@oxc-resolver/binding-linux-arm64-gnu@11.19.1': optional: true - '@oxc-resolver/binding-linux-arm64-gnu@11.6.0': + '@oxc-resolver/binding-linux-arm64-musl@11.19.1': optional: true - '@oxc-resolver/binding-linux-arm64-musl@11.6.0': + '@oxc-resolver/binding-linux-ppc64-gnu@11.19.1': optional: true - '@oxc-resolver/binding-linux-ppc64-gnu@11.6.0': + '@oxc-resolver/binding-linux-riscv64-gnu@11.19.1': optional: true - '@oxc-resolver/binding-linux-riscv64-gnu@11.6.0': + '@oxc-resolver/binding-linux-riscv64-musl@11.19.1': optional: true - '@oxc-resolver/binding-linux-riscv64-musl@11.6.0': + '@oxc-resolver/binding-linux-s390x-gnu@11.19.1': optional: true - '@oxc-resolver/binding-linux-s390x-gnu@11.6.0': + '@oxc-resolver/binding-linux-x64-gnu@11.19.1': optional: true - '@oxc-resolver/binding-linux-x64-gnu@11.6.0': + '@oxc-resolver/binding-linux-x64-musl@11.19.1': optional: true - '@oxc-resolver/binding-linux-x64-musl@11.6.0': + '@oxc-resolver/binding-openharmony-arm64@11.19.1': optional: true - '@oxc-resolver/binding-wasm32-wasi@11.6.0': + '@oxc-resolver/binding-wasm32-wasi@11.19.1': dependencies: - '@napi-rs/wasm-runtime': 1.0.1 + '@napi-rs/wasm-runtime': 1.1.1 optional: true - '@oxc-resolver/binding-win32-arm64-msvc@11.6.0': + '@oxc-resolver/binding-win32-arm64-msvc@11.19.1': optional: true - '@oxc-resolver/binding-win32-ia32-msvc@11.6.0': + '@oxc-resolver/binding-win32-ia32-msvc@11.19.1': optional: true - '@oxc-resolver/binding-win32-x64-msvc@11.6.0': + '@oxc-resolver/binding-win32-x64-msvc@11.19.1': optional: true - '@rollup/plugin-alias@5.1.1(rollup@4.45.1)': - optionalDependencies: - rollup: 4.45.1 + '@oxfmt/binding-android-arm-eabi@0.36.0': + optional: true - '@rollup/plugin-commonjs@28.0.6(rollup@4.45.1)': - dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) - commondir: 1.0.1 - estree-walker: 2.0.2 - fdir: 6.4.6(picomatch@4.0.3) - is-reference: 1.2.1 - magic-string: 0.30.17 - picomatch: 4.0.3 - optionalDependencies: - rollup: 4.45.1 + '@oxfmt/binding-android-arm64@0.36.0': + optional: true - '@rollup/plugin-json@6.1.0(rollup@4.45.1)': - dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) - optionalDependencies: - rollup: 4.45.1 + '@oxfmt/binding-darwin-arm64@0.36.0': + optional: true - '@rollup/plugin-node-resolve@16.0.1(rollup@4.45.1)': - dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.8 - optionalDependencies: - rollup: 4.45.1 + '@oxfmt/binding-darwin-x64@0.36.0': + optional: true - '@rollup/plugin-replace@6.0.2(rollup@4.45.1)': + '@oxfmt/binding-freebsd-x64@0.36.0': + optional: true + + '@oxfmt/binding-linux-arm-gnueabihf@0.36.0': + optional: true + + '@oxfmt/binding-linux-arm-musleabihf@0.36.0': + optional: true + + '@oxfmt/binding-linux-arm64-gnu@0.36.0': + optional: true + + '@oxfmt/binding-linux-arm64-musl@0.36.0': + optional: true + + '@oxfmt/binding-linux-ppc64-gnu@0.36.0': + optional: true + + '@oxfmt/binding-linux-riscv64-gnu@0.36.0': + optional: true + + '@oxfmt/binding-linux-riscv64-musl@0.36.0': + optional: true + + '@oxfmt/binding-linux-s390x-gnu@0.36.0': + optional: true + + '@oxfmt/binding-linux-x64-gnu@0.36.0': + optional: true + + '@oxfmt/binding-linux-x64-musl@0.36.0': + optional: true + + '@oxfmt/binding-openharmony-arm64@0.36.0': + optional: true + + '@oxfmt/binding-win32-arm64-msvc@0.36.0': + optional: true + + '@oxfmt/binding-win32-ia32-msvc@0.36.0': + optional: true + + '@oxfmt/binding-win32-x64-msvc@0.36.0': + optional: true + + '@oxlint/binding-android-arm-eabi@1.57.0': + optional: true + + '@oxlint/binding-android-arm64@1.57.0': + optional: true + + '@oxlint/binding-darwin-arm64@1.57.0': + optional: true + + '@oxlint/binding-darwin-x64@1.57.0': + optional: true + + '@oxlint/binding-freebsd-x64@1.57.0': + optional: true + + '@oxlint/binding-linux-arm-gnueabihf@1.57.0': + optional: true + + '@oxlint/binding-linux-arm-musleabihf@1.57.0': + optional: true + + '@oxlint/binding-linux-arm64-gnu@1.57.0': + optional: true + + '@oxlint/binding-linux-arm64-musl@1.57.0': + optional: true + + '@oxlint/binding-linux-ppc64-gnu@1.57.0': + optional: true + + '@oxlint/binding-linux-riscv64-gnu@1.57.0': + optional: true + + '@oxlint/binding-linux-riscv64-musl@1.57.0': + optional: true + + '@oxlint/binding-linux-s390x-gnu@1.57.0': + optional: true + + '@oxlint/binding-linux-x64-gnu@1.57.0': + optional: true + + '@oxlint/binding-linux-x64-musl@1.57.0': + optional: true + + '@oxlint/binding-openharmony-arm64@1.57.0': + optional: true + + '@oxlint/binding-win32-arm64-msvc@1.57.0': + optional: true + + '@oxlint/binding-win32-ia32-msvc@1.57.0': + optional: true + + '@oxlint/binding-win32-x64-msvc@1.57.0': + optional: true + + '@publint/pack@0.1.4': {} + + '@quansync/fs@1.0.0': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) - magic-string: 0.30.17 - optionalDependencies: - rollup: 4.45.1 + quansync: 1.0.0 + + '@rolldown/binding-android-arm64@1.0.0-rc.11': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.0-rc.11': + optional: true + + '@rolldown/binding-darwin-x64@1.0.0-rc.11': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.0-rc.11': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.11': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.11': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.11': + optional: true + + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.11': + optional: true + + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.11': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.11': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.0-rc.11': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': + optional: true - '@rollup/pluginutils@5.2.0(rollup@4.45.1)': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.11': dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.3 - optionalDependencies: - rollup: 4.45.1 + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.11': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.11': + optional: true + + '@rolldown/pluginutils@1.0.0-rc.11': {} '@rollup/rollup-android-arm-eabi@4.45.1': optional: true @@ -2333,9 +2451,9 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.45.1': optional: true - '@trysound/sax@0.2.0': {} + '@standard-schema/spec@1.1.0': {} - '@tybys/wasm-util@0.10.0': + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 optional: true @@ -2348,139 +2466,123 @@ snapshots: '@types/estree@1.0.8': {} + '@types/jsesc@2.5.1': {} + '@types/node@12.20.55': {} '@types/node@24.1.0': dependencies: undici-types: 7.8.0 - '@types/resolve@1.20.2': {} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260307.1': + optional: true + + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260307.1': + optional: true + + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260307.1': + optional: true + + '@typescript/native-preview-linux-arm@7.0.0-dev.20260307.1': + optional: true + + '@typescript/native-preview-linux-x64@7.0.0-dev.20260307.1': + optional: true + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260307.1': + optional: true + + '@typescript/native-preview-win32-x64@7.0.0-dev.20260307.1': + optional: true + + '@typescript/native-preview@7.0.0-dev.20260307.1': + optionalDependencies: + '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260307.1 + '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260307.1 + '@typescript/native-preview-linux-arm': 7.0.0-dev.20260307.1 + '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260307.1 + '@typescript/native-preview-linux-x64': 7.0.0-dev.20260307.1 + '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260307.1 + '@typescript/native-preview-win32-x64': 7.0.0-dev.20260307.1 - '@vitest/expect@3.2.4': + '@vitest/expect@4.1.1': dependencies: + '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.2.0 - tinyrainbow: 2.0.0 + '@vitest/spy': 4.1.1 + '@vitest/utils': 4.1.1 + chai: 6.2.2 + tinyrainbow: 3.1.0 - '@vitest/mocker@3.2.4(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.0))': + '@vitest/mocker@4.1.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3))': dependencies: - '@vitest/spy': 3.2.4 + '@vitest/spy': 4.1.1 estree-walker: 3.0.3 - magic-string: 0.30.17 + magic-string: 0.30.21 optionalDependencies: - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.0) + vite: 7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3) - '@vitest/pretty-format@3.2.4': + '@vitest/pretty-format@4.1.1': dependencies: - tinyrainbow: 2.0.0 + tinyrainbow: 3.1.0 - '@vitest/runner@3.2.4': + '@vitest/runner@4.1.1': dependencies: - '@vitest/utils': 3.2.4 + '@vitest/utils': 4.1.1 pathe: 2.0.3 - strip-literal: 3.0.0 - '@vitest/snapshot@3.2.4': + '@vitest/snapshot@4.1.1': dependencies: - '@vitest/pretty-format': 3.2.4 - magic-string: 0.30.17 + '@vitest/pretty-format': 4.1.1 + '@vitest/utils': 4.1.1 + magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@3.2.4': - dependencies: - tinyspy: 4.0.3 + '@vitest/spy@4.1.1': {} - '@vitest/utils@3.2.4': + '@vitest/utils@4.1.1': dependencies: - '@vitest/pretty-format': 3.2.4 - loupe: 3.2.0 - tinyrainbow: 2.0.0 - - acorn@8.14.0: {} + '@vitest/pretty-format': 4.1.1 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 ansi-colors@4.1.3: {} ansi-regex@5.0.1: {} + ansis@4.2.0: {} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - argparse@2.0.1: {} - array-union@2.1.0: {} - assertion-error@2.0.1: {} - - autoprefixer@10.4.21(postcss@8.5.6): + ast-kit@3.0.0-beta.1: dependencies: - browserslist: 4.25.1 - caniuse-lite: 1.0.30001727 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@babel/parser': 8.0.0-rc.2 + estree-walker: 3.0.3 + pathe: 2.0.3 better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 - boolbase@1.0.0: {} + birpc@4.0.0: {} braces@3.0.3: dependencies: fill-range: 7.1.1 - browserslist@4.25.1: - dependencies: - caniuse-lite: 1.0.30001727 - electron-to-chromium: 1.5.190 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.1) - - cac@6.7.14: {} - - caniuse-api@3.0.0: - dependencies: - browserslist: 4.25.1 - caniuse-lite: 1.0.30001727 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - - caniuse-lite@1.0.30001727: {} + cac@7.0.0: {} - chai@5.2.0: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.2.0 - pathval: 2.0.0 + chai@6.2.2: {} chardet@0.7.0: {} - check-error@2.1.1: {} - ci-info@3.9.0: {} - citty@0.1.6: - dependencies: - consola: 3.4.2 - - colord@2.9.3: {} - - commander@7.2.0: {} - - commondir@1.0.1: {} - - confbox@0.1.8: {} - - confbox@0.2.2: {} - - consola@3.4.2: {} + convert-source-map@2.0.0: {} cross-env@7.0.3: dependencies: @@ -2492,88 +2594,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - css-declaration-sorter@7.2.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - css-select@5.1.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.1.0 - nth-check: 2.1.1 - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 - - css-tree@2.3.1: - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.1 - - css-what@6.1.0: {} - - cssesc@3.0.0: {} - - cssnano-preset-default@7.0.6(postcss@8.5.6): - dependencies: - browserslist: 4.25.1 - css-declaration-sorter: 7.2.0(postcss@8.5.6) - cssnano-utils: 5.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-calc: 10.0.2(postcss@8.5.6) - postcss-colormin: 7.0.2(postcss@8.5.6) - postcss-convert-values: 7.0.4(postcss@8.5.6) - postcss-discard-comments: 7.0.3(postcss@8.5.6) - postcss-discard-duplicates: 7.0.1(postcss@8.5.6) - postcss-discard-empty: 7.0.0(postcss@8.5.6) - postcss-discard-overridden: 7.0.0(postcss@8.5.6) - postcss-merge-longhand: 7.0.4(postcss@8.5.6) - postcss-merge-rules: 7.0.4(postcss@8.5.6) - postcss-minify-font-values: 7.0.0(postcss@8.5.6) - postcss-minify-gradients: 7.0.0(postcss@8.5.6) - postcss-minify-params: 7.0.2(postcss@8.5.6) - postcss-minify-selectors: 7.0.4(postcss@8.5.6) - postcss-normalize-charset: 7.0.0(postcss@8.5.6) - postcss-normalize-display-values: 7.0.0(postcss@8.5.6) - postcss-normalize-positions: 7.0.0(postcss@8.5.6) - postcss-normalize-repeat-style: 7.0.0(postcss@8.5.6) - postcss-normalize-string: 7.0.0(postcss@8.5.6) - postcss-normalize-timing-functions: 7.0.0(postcss@8.5.6) - postcss-normalize-unicode: 7.0.2(postcss@8.5.6) - postcss-normalize-url: 7.0.0(postcss@8.5.6) - postcss-normalize-whitespace: 7.0.0(postcss@8.5.6) - postcss-ordered-values: 7.0.1(postcss@8.5.6) - postcss-reduce-initial: 7.0.2(postcss@8.5.6) - postcss-reduce-transforms: 7.0.0(postcss@8.5.6) - postcss-svgo: 7.0.1(postcss@8.5.6) - postcss-unique-selectors: 7.0.3(postcss@8.5.6) - - cssnano-utils@5.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - cssnano@7.0.6(postcss@8.5.6): - dependencies: - cssnano-preset-default: 7.0.6(postcss@8.5.6) - lilconfig: 3.1.2 - postcss: 8.5.6 - - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - - debug@4.4.1: - dependencies: - ms: 2.1.3 - - deep-eql@5.0.2: {} - - deepmerge@4.3.1: {} - defu@6.1.4: {} detect-indent@6.1.0: {} @@ -2582,34 +2602,18 @@ snapshots: dependencies: path-type: 4.0.0 - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - domutils@3.1.0: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 + dts-resolver@2.1.3(oxc-resolver@11.19.1): + optionalDependencies: + oxc-resolver: 11.19.1 - electron-to-chromium@1.5.190: {} + empathic@2.0.0: {} enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - entities@4.5.0: {} - - es-module-lexer@1.7.0: {} + es-module-lexer@2.0.0: {} esbuild@0.25.8: optionalDependencies: @@ -2640,19 +2644,13 @@ snapshots: '@esbuild/win32-ia32': 0.25.8 '@esbuild/win32-x64': 0.25.8 - escalade@3.2.0: {} - esprima@4.0.1: {} - estree-walker@2.0.2: {} - estree-walker@3.0.3: dependencies: '@types/estree': 1.0.8 - expect-type@1.2.1: {} - - exsolve@1.0.7: {} + expect-type@1.3.0: {} extendable-error@0.1.7: {} @@ -2688,9 +2686,9 @@ snapshots: dependencies: walk-up-path: 4.0.0 - fdir@6.4.6(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.4): optionalDependencies: - picomatch: 4.0.3 + picomatch: 4.0.4 fill-range@7.1.1: dependencies: @@ -2701,18 +2699,10 @@ snapshots: locate-path: 5.0.0 path-exists: 4.0.0 - fix-dts-default-cjs-exports@1.0.1: - dependencies: - magic-string: 0.30.17 - mlly: 1.7.4 - rollup: 4.45.1 - - formatly@0.2.4: + formatly@0.3.0: dependencies: fd-package-json: 2.0.0 - fraction.js@4.3.7: {} - fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 @@ -2728,7 +2718,9 @@ snapshots: fsevents@2.3.3: optional: true - function-bind@1.1.2: {} + get-tsconfig@4.13.7: + dependencies: + resolve-pkg-maps: 1.0.0 glob-parent@5.1.2: dependencies: @@ -2745,11 +2737,7 @@ snapshots: graceful-fs@4.2.11: {} - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - hookable@5.5.3: {} + hookable@6.1.0: {} human-id@4.1.1: {} @@ -2761,9 +2749,7 @@ snapshots: ignore@5.3.2: {} - is-core-module@2.15.1: - dependencies: - hasown: 2.0.2 + import-without-cache@0.2.5: {} is-extglob@2.1.1: {} @@ -2771,14 +2757,8 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-module@1.0.0: {} - is-number@7.0.0: {} - is-reference@1.2.1: - dependencies: - '@types/estree': 1.0.8 - is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 @@ -2791,21 +2771,14 @@ snapshots: jiti@1.21.7: {} - jiti@2.5.0: {} - - js-tokens@4.0.0: - optional: true - - js-tokens@9.0.1: {} + jiti@2.6.1: {} js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 + jsesc@3.1.0: {} jsonfile@4.0.0: optionalDependencies: @@ -2817,49 +2790,35 @@ snapshots: node-stream-zip: 1.15.0 semiver: 1.1.0 - knip@5.62.0(@types/node@24.1.0)(typescript@5.8.3): + knip@5.88.1(@types/node@24.1.0)(typescript@5.8.3): dependencies: '@nodelib/fs.walk': 1.2.8 '@types/node': 24.1.0 fast-glob: 3.3.3 - formatly: 0.2.4 - jiti: 2.5.0 - js-yaml: 4.1.0 + formatly: 0.3.0 + jiti: 2.6.1 minimist: 1.2.8 - oxc-resolver: 11.6.0 + oxc-resolver: 11.19.1 picocolors: 1.1.1 - picomatch: 4.0.3 - smol-toml: 1.4.1 - strip-json-comments: 5.0.2 + picomatch: 4.0.4 + smol-toml: 1.6.1 + strip-json-comments: 5.0.3 typescript: 5.8.3 - zod: 3.22.4 - zod-validation-error: 3.4.0(zod@3.22.4) - - knitwork@1.2.0: {} + unbash: 2.2.0 + yaml: 2.8.3 + zod: 4.3.6 kolorist@1.8.0: {} - lilconfig@3.1.2: {} - locate-path@5.0.0: dependencies: p-locate: 4.1.0 - lodash.memoize@4.1.2: {} - lodash.startcase@4.4.0: {} - lodash.uniq@4.5.0: {} - - loupe@3.2.0: {} - - magic-string@0.30.17: + magic-string@0.30.21: dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - - mdn-data@2.0.28: {} - - mdn-data@2.0.30: {} + '@jridgewell/sourcemap-codec': 1.5.5 memfs@4.17.2: dependencies: @@ -2877,76 +2836,86 @@ snapshots: minimist@1.2.8: {} - mkdist@2.3.0(typescript@5.8.3): - dependencies: - autoprefixer: 10.4.21(postcss@8.5.6) - citty: 0.1.6 - cssnano: 7.0.6(postcss@8.5.6) - defu: 6.1.4 - esbuild: 0.25.8 - jiti: 1.21.7 - mlly: 1.7.4 - pathe: 2.0.3 - pkg-types: 2.2.0 - postcss: 8.5.6 - postcss-nested: 7.0.2(postcss@8.5.6) - semver: 7.7.2 - tinyglobby: 0.2.14 - optionalDependencies: - typescript: 5.8.3 - - mlly@1.7.4: - dependencies: - acorn: 8.14.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.5.4 - mri@1.2.0: {} - ms@2.1.3: {} - nanoid@3.3.11: {} - napi-postinstall@0.3.2: {} - - node-releases@2.0.19: {} - node-stream-zip@1.15.0: {} - normalize-range@0.1.2: {} - - nth-check@2.1.1: - dependencies: - boolbase: 1.0.0 + obug@2.1.1: {} os-tmpdir@1.0.2: {} outdent@0.5.0: {} - oxc-resolver@11.6.0: - dependencies: - napi-postinstall: 0.3.2 + oxc-resolver@11.19.1: + optionalDependencies: + '@oxc-resolver/binding-android-arm-eabi': 11.19.1 + '@oxc-resolver/binding-android-arm64': 11.19.1 + '@oxc-resolver/binding-darwin-arm64': 11.19.1 + '@oxc-resolver/binding-darwin-x64': 11.19.1 + '@oxc-resolver/binding-freebsd-x64': 11.19.1 + '@oxc-resolver/binding-linux-arm-gnueabihf': 11.19.1 + '@oxc-resolver/binding-linux-arm-musleabihf': 11.19.1 + '@oxc-resolver/binding-linux-arm64-gnu': 11.19.1 + '@oxc-resolver/binding-linux-arm64-musl': 11.19.1 + '@oxc-resolver/binding-linux-ppc64-gnu': 11.19.1 + '@oxc-resolver/binding-linux-riscv64-gnu': 11.19.1 + '@oxc-resolver/binding-linux-riscv64-musl': 11.19.1 + '@oxc-resolver/binding-linux-s390x-gnu': 11.19.1 + '@oxc-resolver/binding-linux-x64-gnu': 11.19.1 + '@oxc-resolver/binding-linux-x64-musl': 11.19.1 + '@oxc-resolver/binding-openharmony-arm64': 11.19.1 + '@oxc-resolver/binding-wasm32-wasi': 11.19.1 + '@oxc-resolver/binding-win32-arm64-msvc': 11.19.1 + '@oxc-resolver/binding-win32-ia32-msvc': 11.19.1 + '@oxc-resolver/binding-win32-x64-msvc': 11.19.1 + + oxfmt@0.36.0: + dependencies: + tinypool: 2.1.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.36.0 + '@oxfmt/binding-android-arm64': 0.36.0 + '@oxfmt/binding-darwin-arm64': 0.36.0 + '@oxfmt/binding-darwin-x64': 0.36.0 + '@oxfmt/binding-freebsd-x64': 0.36.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.36.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.36.0 + '@oxfmt/binding-linux-arm64-gnu': 0.36.0 + '@oxfmt/binding-linux-arm64-musl': 0.36.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.36.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.36.0 + '@oxfmt/binding-linux-riscv64-musl': 0.36.0 + '@oxfmt/binding-linux-s390x-gnu': 0.36.0 + '@oxfmt/binding-linux-x64-gnu': 0.36.0 + '@oxfmt/binding-linux-x64-musl': 0.36.0 + '@oxfmt/binding-openharmony-arm64': 0.36.0 + '@oxfmt/binding-win32-arm64-msvc': 0.36.0 + '@oxfmt/binding-win32-ia32-msvc': 0.36.0 + '@oxfmt/binding-win32-x64-msvc': 0.36.0 + + oxlint@1.57.0: optionalDependencies: - '@oxc-resolver/binding-android-arm-eabi': 11.6.0 - '@oxc-resolver/binding-android-arm64': 11.6.0 - '@oxc-resolver/binding-darwin-arm64': 11.6.0 - '@oxc-resolver/binding-darwin-x64': 11.6.0 - '@oxc-resolver/binding-freebsd-x64': 11.6.0 - '@oxc-resolver/binding-linux-arm-gnueabihf': 11.6.0 - '@oxc-resolver/binding-linux-arm-musleabihf': 11.6.0 - '@oxc-resolver/binding-linux-arm64-gnu': 11.6.0 - '@oxc-resolver/binding-linux-arm64-musl': 11.6.0 - '@oxc-resolver/binding-linux-ppc64-gnu': 11.6.0 - '@oxc-resolver/binding-linux-riscv64-gnu': 11.6.0 - '@oxc-resolver/binding-linux-riscv64-musl': 11.6.0 - '@oxc-resolver/binding-linux-s390x-gnu': 11.6.0 - '@oxc-resolver/binding-linux-x64-gnu': 11.6.0 - '@oxc-resolver/binding-linux-x64-musl': 11.6.0 - '@oxc-resolver/binding-wasm32-wasi': 11.6.0 - '@oxc-resolver/binding-win32-arm64-msvc': 11.6.0 - '@oxc-resolver/binding-win32-ia32-msvc': 11.6.0 - '@oxc-resolver/binding-win32-x64-msvc': 11.6.0 + '@oxlint/binding-android-arm-eabi': 1.57.0 + '@oxlint/binding-android-arm64': 1.57.0 + '@oxlint/binding-darwin-arm64': 1.57.0 + '@oxlint/binding-darwin-x64': 1.57.0 + '@oxlint/binding-freebsd-x64': 1.57.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.57.0 + '@oxlint/binding-linux-arm-musleabihf': 1.57.0 + '@oxlint/binding-linux-arm64-gnu': 1.57.0 + '@oxlint/binding-linux-arm64-musl': 1.57.0 + '@oxlint/binding-linux-ppc64-gnu': 1.57.0 + '@oxlint/binding-linux-riscv64-gnu': 1.57.0 + '@oxlint/binding-linux-riscv64-musl': 1.57.0 + '@oxlint/binding-linux-s390x-gnu': 1.57.0 + '@oxlint/binding-linux-x64-gnu': 1.57.0 + '@oxlint/binding-linux-x64-musl': 1.57.0 + '@oxlint/binding-openharmony-arm64': 1.57.0 + '@oxlint/binding-win32-arm64-msvc': 1.57.0 + '@oxlint/binding-win32-ia32-msvc': 1.57.0 + '@oxlint/binding-win32-x64-msvc': 1.57.0 p-filter@2.1.0: dependencies: @@ -2968,204 +2937,24 @@ snapshots: dependencies: quansync: 0.2.10 + package-manager-detector@1.6.0: {} + path-exists@4.0.0: {} path-key@3.1.1: {} - path-parse@1.0.7: {} - path-type@4.0.0: {} pathe@2.0.3: {} - pathval@2.0.0: {} - picocolors@1.1.1: {} picomatch@2.3.1: {} - picomatch@4.0.3: {} + picomatch@4.0.4: {} pify@4.0.1: {} - pkg-types@1.3.1: - dependencies: - confbox: 0.1.8 - mlly: 1.7.4 - pathe: 2.0.3 - - pkg-types@2.2.0: - dependencies: - confbox: 0.2.2 - exsolve: 1.0.7 - pathe: 2.0.3 - - postcss-calc@10.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 - - postcss-colormin@7.0.2(postcss@8.5.6): - dependencies: - browserslist: 4.25.1 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-convert-values@7.0.4(postcss@8.5.6): - dependencies: - browserslist: 4.25.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-discard-comments@7.0.3(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - - postcss-discard-duplicates@7.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-discard-empty@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-discard-overridden@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-merge-longhand@7.0.4(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - stylehacks: 7.0.4(postcss@8.5.6) - - postcss-merge-rules@7.0.4(postcss@8.5.6): - dependencies: - browserslist: 4.25.1 - caniuse-api: 3.0.0 - cssnano-utils: 5.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - - postcss-minify-font-values@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-minify-gradients@7.0.0(postcss@8.5.6): - dependencies: - colord: 2.9.3 - cssnano-utils: 5.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-minify-params@7.0.2(postcss@8.5.6): - dependencies: - browserslist: 4.25.1 - cssnano-utils: 5.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-minify-selectors@7.0.4(postcss@8.5.6): - dependencies: - cssesc: 3.0.0 - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - - postcss-nested@7.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.0 - - postcss-normalize-charset@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-normalize-display-values@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-normalize-positions@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-normalize-repeat-style@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-normalize-string@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-normalize-timing-functions@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-normalize-unicode@7.0.2(postcss@8.5.6): - dependencies: - browserslist: 4.25.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-normalize-url@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-normalize-whitespace@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-ordered-values@7.0.1(postcss@8.5.6): - dependencies: - cssnano-utils: 5.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-reduce-initial@7.0.2(postcss@8.5.6): - dependencies: - browserslist: 4.25.1 - caniuse-api: 3.0.0 - postcss: 8.5.6 - - postcss-reduce-transforms@7.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-selector-parser@6.1.2: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - postcss-selector-parser@7.1.0: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - - postcss-svgo@7.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - svgo: 3.3.2 - - postcss-unique-selectors@7.0.3(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - - postcss-value-parser@4.2.0: {} - postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -3174,10 +2963,17 @@ snapshots: prettier@2.8.8: {} - pretty-bytes@7.0.0: {} + publint@0.3.18: + dependencies: + '@publint/pack': 0.1.4 + package-manager-detector: 1.6.0 + picocolors: 1.1.1 + sade: 1.8.1 quansync@0.2.10: {} + quansync@1.0.0: {} + queue-microtask@1.2.3: {} read-yaml-file@1.1.0: @@ -3189,21 +2985,48 @@ snapshots: resolve-from@5.0.0: {} - resolve@1.22.8: - dependencies: - is-core-module: 2.15.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 + resolve-pkg-maps@1.0.0: {} reusify@1.0.4: {} - rollup-plugin-dts@6.2.1(rollup@4.45.1)(typescript@5.8.3): - dependencies: - magic-string: 0.30.17 - rollup: 4.45.1 + rolldown-plugin-dts@0.22.5(@typescript/native-preview@7.0.0-dev.20260307.1)(oxc-resolver@11.19.1)(rolldown@1.0.0-rc.11)(typescript@5.8.3): + dependencies: + '@babel/generator': 8.0.0-rc.2 + '@babel/helper-validator-identifier': 8.0.0-rc.2 + '@babel/parser': 8.0.0-rc.2 + '@babel/types': 8.0.0-rc.2 + ast-kit: 3.0.0-beta.1 + birpc: 4.0.0 + dts-resolver: 2.1.3(oxc-resolver@11.19.1) + get-tsconfig: 4.13.7 + obug: 2.1.1 + rolldown: 1.0.0-rc.11 + optionalDependencies: + '@typescript/native-preview': 7.0.0-dev.20260307.1 typescript: 5.8.3 + transitivePeerDependencies: + - oxc-resolver + + rolldown@1.0.0-rc.11: + dependencies: + '@oxc-project/types': 0.122.0 + '@rolldown/pluginutils': 1.0.0-rc.11 optionalDependencies: - '@babel/code-frame': 7.26.2 + '@rolldown/binding-android-arm64': 1.0.0-rc.11 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.11 + '@rolldown/binding-darwin-x64': 1.0.0-rc.11 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.11 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.11 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.11 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.11 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.11 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.11 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.11 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.11 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.11 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.11 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.11 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.11 rollup@4.45.1: dependencies: @@ -3235,14 +3058,18 @@ snapshots: dependencies: queue-microtask: 1.2.3 - safer-buffer@2.1.2: {} + sade@1.8.1: + dependencies: + mri: 1.2.0 - scule@1.3.0: {} + safer-buffer@2.1.2: {} semiver@1.1.0: {} semver@7.7.2: {} + semver@7.7.4: {} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -3257,7 +3084,7 @@ snapshots: slash@3.0.0: {} - smol-toml@1.4.1: {} + smol-toml@1.6.1: {} source-map-js@1.2.1: {} @@ -3270,7 +3097,7 @@ snapshots: stackback@0.0.2: {} - std-env@3.9.0: {} + std-env@4.0.0: {} strip-ansi@6.0.1: dependencies: @@ -3278,29 +3105,7 @@ snapshots: strip-bom@3.0.0: {} - strip-json-comments@5.0.2: {} - - strip-literal@3.0.0: - dependencies: - js-tokens: 9.0.1 - - stylehacks@7.0.4(postcss@8.5.6): - dependencies: - browserslist: 4.25.1 - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - - supports-preserve-symlinks-flag@1.0.0: {} - - svgo@3.3.2: - dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 5.1.0 - css-tree: 2.3.1 - css-what: 6.1.0 - csso: 5.0.5 - picocolors: 1.1.1 + strip-json-comments@5.0.3: {} term-size@2.2.1: {} @@ -3310,18 +3115,16 @@ snapshots: tinybench@2.9.0: {} - tinyexec@0.3.2: {} + tinyexec@1.0.4: {} - tinyglobby@0.2.14: + tinyglobby@0.2.15: dependencies: - fdir: 6.4.6(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 - tinypool@1.1.1: {} + tinypool@2.1.0: {} - tinyrainbow@2.0.0: {} - - tinyspy@4.0.3: {} + tinyrainbow@3.1.0: {} tmp@0.0.33: dependencies: @@ -3335,128 +3138,94 @@ snapshots: dependencies: tslib: 2.8.1 - tslib@2.8.1: {} - - typescript@5.8.3: {} - - ufo@1.5.4: {} + tree-kill@1.2.2: {} - unbuild@3.6.0(typescript@5.8.3): + tsdown@0.21.5(@typescript/native-preview@7.0.0-dev.20260307.1)(oxc-resolver@11.19.1)(publint@0.3.18)(typescript@5.8.3): dependencies: - '@rollup/plugin-alias': 5.1.1(rollup@4.45.1) - '@rollup/plugin-commonjs': 28.0.6(rollup@4.45.1) - '@rollup/plugin-json': 6.1.0(rollup@4.45.1) - '@rollup/plugin-node-resolve': 16.0.1(rollup@4.45.1) - '@rollup/plugin-replace': 6.0.2(rollup@4.45.1) - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) - citty: 0.1.6 - consola: 3.4.2 + ansis: 4.2.0 + cac: 7.0.0 defu: 6.1.4 - esbuild: 0.25.8 - fix-dts-default-cjs-exports: 1.0.1 - hookable: 5.5.3 - jiti: 2.5.0 - magic-string: 0.30.17 - mkdist: 2.3.0(typescript@5.8.3) - mlly: 1.7.4 - pathe: 2.0.3 - pkg-types: 2.2.0 - pretty-bytes: 7.0.0 - rollup: 4.45.1 - rollup-plugin-dts: 6.2.1(rollup@4.45.1)(typescript@5.8.3) - scule: 1.3.0 - tinyglobby: 0.2.14 - untyped: 2.0.0 + empathic: 2.0.0 + hookable: 6.1.0 + import-without-cache: 0.2.5 + obug: 2.1.1 + picomatch: 4.0.4 + rolldown: 1.0.0-rc.11 + rolldown-plugin-dts: 0.22.5(@typescript/native-preview@7.0.0-dev.20260307.1)(oxc-resolver@11.19.1)(rolldown@1.0.0-rc.11)(typescript@5.8.3) + semver: 7.7.4 + tinyexec: 1.0.4 + tinyglobby: 0.2.15 + tree-kill: 1.2.2 + unconfig-core: 7.5.0 + unrun: 0.2.33 optionalDependencies: + publint: 0.3.18 typescript: 5.8.3 transitivePeerDependencies: - - sass - - vue - - vue-sfc-transformer + - '@ts-macro/tsc' + - '@typescript/native-preview' + - oxc-resolver + - synckit - vue-tsc - undici-types@7.8.0: {} + tslib@2.8.1: {} - universalify@0.1.2: {} + typescript@5.8.3: {} - untyped@2.0.0: - dependencies: - citty: 0.1.6 - defu: 6.1.4 - jiti: 2.5.0 - knitwork: 1.2.0 - scule: 1.3.0 + unbash@2.2.0: {} - update-browserslist-db@1.1.3(browserslist@4.25.1): + unconfig-core@7.5.0: dependencies: - browserslist: 4.25.1 - escalade: 3.2.0 - picocolors: 1.1.1 + '@quansync/fs': 1.0.0 + quansync: 1.0.0 + + undici-types@7.8.0: {} - util-deprecate@1.0.2: {} + universalify@0.1.2: {} - vite-node@3.2.4(@types/node@24.1.0)(jiti@2.5.0): + unrun@0.2.33: dependencies: - cac: 6.7.14 - debug: 4.4.1 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.0) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml + rolldown: 1.0.0-rc.11 - vite@7.0.6(@types/node@24.1.0)(jiti@2.5.0): + vite@7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3): dependencies: esbuild: 0.25.8 - fdir: 6.4.6(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 postcss: 8.5.6 rollup: 4.45.1 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 optionalDependencies: '@types/node': 24.1.0 fsevents: 2.3.3 - jiti: 2.5.0 - - vitest-ansi-serializer@0.1.2(vitest@3.2.4(@types/node@24.1.0)(jiti@2.5.0)): - dependencies: - vitest: 3.2.4(@types/node@24.1.0)(jiti@2.5.0) - - vitest@3.2.4(@types/node@24.1.0)(jiti@2.5.0): - dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.0)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.2.0 - debug: 4.4.1 - expect-type: 1.2.1 - magic-string: 0.30.17 + jiti: 2.6.1 + yaml: 2.8.3 + + vitest-ansi-serializer@0.2.1(vitest@4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3)): + dependencies: + vitest: 4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3) + + vitest@4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3): + dependencies: + '@vitest/expect': 4.1.1 + '@vitest/mocker': 4.1.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3)) + '@vitest/pretty-format': 4.1.1 + '@vitest/runner': 4.1.1 + '@vitest/snapshot': 4.1.1 + '@vitest/spy': 4.1.1 + '@vitest/utils': 4.1.1 + es-module-lexer: 2.0.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 pathe: 2.0.3 - picomatch: 4.0.3 - std-env: 3.9.0 + picomatch: 4.0.4 + std-env: 4.0.0 tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.0) - vite-node: 3.2.4(@types/node@24.1.0)(jiti@2.5.0) + tinyexec: 1.0.4 + tinyglobby: 0.2.15 + tinyrainbow: 3.1.0 + vite: 7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 24.1.0 @@ -3469,7 +3238,6 @@ snapshots: - sass-embedded - stylus - sugarss - - supports-color - terser - tsx - yaml @@ -3485,8 +3253,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - zod-validation-error@3.4.0(zod@3.22.4): - dependencies: - zod: 3.22.4 + yaml@2.8.3: {} - zod@3.22.4: {} + zod@4.3.6: {} From f53289cab7a4b115d8c1b124448c264c8c544880 Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Thu, 2 Apr 2026 19:28:31 -0400 Subject: [PATCH 2/9] ref(ci): update scripts --- .github/workflows/ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 45bb1d37..05654f52 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,8 +19,7 @@ jobs: with: commands: > [ + "lint", "build", - "types", - "test", - "deps" + "test" ] From bc827760929c01edf3018a2dd405d1bd02441c28 Mon Sep 17 00:00:00 2001 From: Roman Date: Tue, 28 Apr 2026 21:25:28 +0100 Subject: [PATCH 3/9] update `@bomb.sh/tools` version --- package.json | 2 +- pnpm-lock.yaml | 1138 +++++++++++++++++++++++++++++------------------- 2 files changed, 703 insertions(+), 437 deletions(-) diff --git a/package.json b/package.json index 99248340..ea1923ed 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "pretest": "pnpm run build" }, "devDependencies": { - "@bomb.sh/tools": "^0.3.4", + "@bomb.sh/tools": "^0.4.0", "@changesets/cli": "^2.29.5", "@types/node": "^20.19.39", "jsr": "^0.13.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6f6f02a0..0b74a030 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@bomb.sh/tools': - specifier: ^0.3.4 - version: 0.3.4(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1)(typescript@5.8.3)(yaml@2.8.3) + specifier: ^0.4.0 + version: 0.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.8.3)(yaml@2.8.3) '@changesets/cli': specifier: ^2.29.5 version: 2.29.5 @@ -85,20 +85,20 @@ importers: packages: - '@babel/generator@8.0.0-rc.2': - resolution: {integrity: sha512-oCQ1IKPwkzCeJzAPb7Fv8rQ9k5+1sG8mf2uoHiMInPYvkRfrDJxbTIbH51U+jstlkghus0vAi3EBvkfvEsYNLQ==} + '@babel/generator@8.0.0-rc.3': + resolution: {integrity: sha512-em37/13/nR320G4jab/nIIHZgc2Wz2y/D39lxnTyxB4/D/omPQncl/lSdlnJY1OhQcRGugTSIF2l/69o31C9dA==} engines: {node: ^20.19.0 || >=22.12.0} '@babel/helper-string-parser@8.0.0-rc.3': resolution: {integrity: sha512-AmwWFx1m8G/a5cXkxLxTiWl+YEoWuoFLUCwqMlNuWO1tqAYITQAbCRPUkyBHv1VOFgfjVOqEj6L3u15J5ZCzTA==} engines: {node: ^20.19.0 || >=22.12.0} - '@babel/helper-validator-identifier@8.0.0-rc.2': - resolution: {integrity: sha512-xExUBkuXWJjVuIbO7z6q7/BA9bgfJDEhVL0ggrggLMbg0IzCUWGT1hZGE8qUH7Il7/RD/a6cZ3AAFrrlp1LF/A==} + '@babel/helper-validator-identifier@8.0.0-rc.3': + resolution: {integrity: sha512-8AWCJ2VJJyDFlGBep5GpaaQ9AAaE/FjAcrqI7jyssYhtL7WGV0DOKpJsQqM037xDbpRLHXsY8TwU7zDma7coOw==} engines: {node: ^20.19.0 || >=22.12.0} - '@babel/parser@8.0.0-rc.2': - resolution: {integrity: sha512-29AhEtcq4x8Dp3T72qvUMZHx0OMXCj4Jy/TEReQa+KWLln524Cj1fWb3QFi0l/xSpptQBR6y9RNEXuxpFvwiUQ==} + '@babel/parser@8.0.0-rc.3': + resolution: {integrity: sha512-B20dvP3MfNc/XS5KKCHy/oyWl5IA6Cn9YjXRdDlCjNmUFrjvLXMNUfQq/QUy9fnG2gYkKKcrto2YaF9B32ToOQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -106,15 +106,15 @@ packages: resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} engines: {node: '>=6.9.0'} - '@babel/types@8.0.0-rc.2': - resolution: {integrity: sha512-91gAaWRznDwSX4E2tZ1YjBuIfnQVOFDCQ2r0Toby0gu4XEbyF623kXLMA8d4ZbCu+fINcrudkmEcwSUHgDDkNw==} + '@babel/types@8.0.0-rc.3': + resolution: {integrity: sha512-mOm5ZrYmphGfqVWoH5YYMTITb3cDXsFgmvFlvkvWDMsR9X8RFnt7a0Wb6yNIdoFsiMO9WjYLq+U/FMtqIYAF8Q==} engines: {node: ^20.19.0 || >=22.12.0} '@bomb.sh/args@0.3.1': resolution: {integrity: sha512-CwxKrfgcorUPP6KfYD59aRdBYWBTsfsxT+GmoLVnKo5Tmyoqbpo0UNcjngRMyU+6tiPbd18RuIYxhgAn44wU/Q==} - '@bomb.sh/tools@0.3.4': - resolution: {integrity: sha512-E/91tj2pRmogBGZEzL9BM6Xi4bzLBzqRYOQSu0N2HiYe7214LZKbOmKrKH2RXP2tbho+mJnxROde3vRhrN6IQg==} + '@bomb.sh/tools@0.4.0': + resolution: {integrity: sha512-8ky/tu77Z8vdbF7U1h3Kb+AC+qfzzfbQvRinA6WM7nAsUzBaOLYTCmwrEBDOMAe/ZDYpPrYNCO/ixVr2iq+ynw==} hasBin: true '@changesets/apply-release-plan@7.0.12': @@ -172,14 +172,20 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@emnapi/core@1.9.1': - resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==} + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/runtime@1.9.1': - resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} + '@emnapi/core@1.9.2': + resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} - '@emnapi/wasi-threads@1.2.0': - resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==} + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + + '@emnapi/runtime@1.9.2': + resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} + + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} '@esbuild/aix-ppc64@0.25.8': resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} @@ -390,8 +396,11 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@napi-rs/wasm-runtime@1.1.1': - resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} + '@napi-rs/wasm-runtime@1.1.4': + resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -405,8 +414,135 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-project/types@0.122.0': - resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==} + '@oxc-parser/binding-android-arm-eabi@0.127.0': + resolution: {integrity: sha512-0LC7ye4hvqbIKxAzThzvswgHLFu2AURKzYLeSVvLdu2TBOYWQDmHnTqPLeA597BcUCxiLqLsS4CJ5uoI5WYWCQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-parser/binding-android-arm64@0.127.0': + resolution: {integrity: sha512-b5jtVTH6AU5CJXHNdj7Jj9IEiR9yVjjnwHzPJhGyHGPdcsZSzBCkS9GBbV33niRMvKthDwQRFRJfI4a+k4PvYg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-parser/binding-darwin-arm64@0.127.0': + resolution: {integrity: sha512-obCE8B7ISKkJidjlhv9xRGJPOSDG2Yu6PRga9Ruaz35uintHxbp1Ki/Yc71wx4rj3Edrm0a1kzG1TAwit0wFpg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-parser/binding-darwin-x64@0.127.0': + resolution: {integrity: sha512-JL6Xb5IwPQT8rUzlpsX7E+AgfcdNklXNPFp8pjCQQ5MQOQo5rtEB2ui+3Hgg9Sn7Y9Egj6YOLLiHhLpdAe12Aw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-parser/binding-freebsd-x64@0.127.0': + resolution: {integrity: sha512-SDQ/3MQFw58fqQz3Z1PhSKFF3JoCF4gmlNjziDm8X02tTahCw0qJbd7FGPDKw1i4VTBZene9JPyC3mHtSvi+wA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-parser/binding-linux-arm-gnueabihf@0.127.0': + resolution: {integrity: sha512-Av+D1MIqzV0YMGPT9we2SIZaMKD7Cxs4CvXSx/yxaWHewZjYEjScpOf5igc8IILASViw4WTnjlwUdI1KzVtDHQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm-musleabihf@0.127.0': + resolution: {integrity: sha512-Cs2fdJ8cPpFdeebj6p4dag8A4+56hPvZ0AhQQzlaLswGz1tz7bXt1nETLeorrM9+AMcWFFkqxcXwDGfTVidY8g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm64-gnu@0.127.0': + resolution: {integrity: sha512-qdOfTcT6SY8gsJrrV92uyEUyjqMGPpIB5JZUG6QN5dukYd+7/j0kX6MwK1DgQj39jtUYixxPiaRUiEN1+0CXgQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-arm64-musl@0.127.0': + resolution: {integrity: sha512-EoTCZneNFU/P2qrpEM+RHmQwt+CvDkyGESG6qhr7KaegXLZwePfbrkCDfAk8/rhxbDUVGsZILX+2tqPzFtoFWA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-linux-ppc64-gnu@0.127.0': + resolution: {integrity: sha512-zALjmZYgxFLHjXeudcDF0xFGNydTAtkAeXAr2EuC17ywCyFxcmQra4w0BMde0Yi/re4Bi4iwEoEXtYN7l6eBLQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-riscv64-gnu@0.127.0': + resolution: {integrity: sha512-fPP8M6zQLS7Jz7o9d5ArUSuAuSK3e+WCYVrCpdzeCOejidtZExJ9tjhDrAd3HEPqARBCPmdpqxESPFqy44vkBQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-riscv64-musl@0.127.0': + resolution: {integrity: sha512-7IcC4Ao02oGpfnjt+X/oF4U2mllo2qoSkw5xxiXNKL9MCTsTiAC6616beOuehdxGcnz1bRoPC1RQ2f1GQDdN+g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-linux-s390x-gnu@0.127.0': + resolution: {integrity: sha512-pbXIhiNFHoqWeqDNLiJ9JkpHz1IM9k4DXa66x+1GTWMG7iLxtkXgE53iiuKSXwmk3zIYmaPVfBvgcAhS583K4Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-x64-gnu@0.127.0': + resolution: {integrity: sha512-MYCguB9RvBvlSd6gbuNI7QwiLoCCAlGnlRJFPrzLI6U1/9wkC/WK6LtBAUln55H1Ctqw45PWmqrobKoMhsYQzQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxc-parser/binding-linux-x64-musl@0.127.0': + resolution: {integrity: sha512-5eY0B/bxf1xIUxb4NOTvOI3KWtBQfPWYyKAzgcrCt0mDibSZygVpO1Pz8bkeiSZ5Jj9+M09dkggG3H8I5d0Uyg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxc-parser/binding-openharmony-arm64@0.127.0': + resolution: {integrity: sha512-Gld0ajrFTUXNtdw20fVBuTQx66FA75nIVg+//pPfR3sXkuABB4mTBhl3r9JNzrJpgW//qiwxf0nWXUWGJSL3UQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-parser/binding-wasm32-wasi@0.127.0': + resolution: {integrity: sha512-T6KVD7rhLzFlwGRXMnxUFfkCZD8FHnb968wVXW1mXzgRFc5RNXOBY2mPPDZ77x5Ln76ltLMgtPg0cOkU1NSrEQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@oxc-parser/binding-win32-arm64-msvc@0.127.0': + resolution: {integrity: sha512-Ujvw4X+LD1CCGULcsQcvb4YNVoBGqt+JHgNNzGGaCImELiZLk477ifUH53gIbE7EKd933NdTi25JWEr9K2HwXw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-parser/binding-win32-ia32-msvc@0.127.0': + resolution: {integrity: sha512-0cwxKO7KHQQQfo4Uf4B2SQrhgm+cJaP9OvFFhx52Tkg4bezsacu83GB2/In5bC415Ueeym+kXdnge/57rbSfTw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-parser/binding-win32-x64-msvc@0.127.0': + resolution: {integrity: sha512-rOrnSQSCbhI2kowr9XxE7m9a8oQXnBHjnS6j95LxxAnEZ0+Fz20WlRXG4ondQb+ejjt2KOsa65sE6++L6kUd+w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxc-project/types@0.127.0': + resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} '@oxc-resolver/binding-android-arm-eabi@11.19.1': resolution: {integrity: sha512-aUs47y+xyXHUKlbhqHUjBABjvycq6YSD7bpxSW7vplUmdzAlJ93yXY6ZR0c1o1x5A/QKbENCvs3+NlY8IpIVzg==} @@ -516,246 +652,246 @@ packages: cpu: [x64] os: [win32] - '@oxfmt/binding-android-arm-eabi@0.36.0': - resolution: {integrity: sha512-Z4yVHJWx/swHHjtr0dXrBZb6LxS+qNz1qdza222mWwPTUK4L790+5i3LTgjx3KYGBzcYpjaiZBw4vOx94dH7MQ==} + '@oxfmt/binding-android-arm-eabi@0.47.0': + resolution: {integrity: sha512-KrMQRdMi/upr81qT4ijK6X6BNp6jqpMY7FwILQnwIy9QLc3qpnhUx5rsCLGzn4ewsCQ0CNAspN2ogmP1GXLyLw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxfmt/binding-android-arm64@0.36.0': - resolution: {integrity: sha512-3ElCJRFNPQl7jexf2CAa9XmAm8eC5JPrIDSjc9jSchkVSFTEqyL0NtZinBB2h1a4i4JgP1oGl/5G5n8YR4FN8Q==} + '@oxfmt/binding-android-arm64@0.47.0': + resolution: {integrity: sha512-r4ixS/PeUpAFKgrpDoZ5pSkthjZzVzKd95525Aazj+aOv9H4ulK5zYHGb7wFY5n5kZxHK8TbOJUZgoEb1ohddQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxfmt/binding-darwin-arm64@0.36.0': - resolution: {integrity: sha512-nak4znWCqIExKhYSY/mz/lWsqWIpdsS7o0+SRzXR1Q0m7GrMcG1UrF1pS7TLGZhhkf7nTfEF7q6oZzJiodRDuw==} + '@oxfmt/binding-darwin-arm64@0.47.0': + resolution: {integrity: sha512-CLWxiKpMl+195cm09CuaWEhJK0CirRkoMa07aR9+9AFPat2LfIKtwx1JqxZM0MTvcMe6+adlJNdVL6jdInvq3g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxfmt/binding-darwin-x64@0.36.0': - resolution: {integrity: sha512-V4GP96thDnpKx6ADnMDnhIXNdtV+Ql9D4HUU+a37VTeVbs5qQSF/s6hhUP1b3xUqU7iRcwh72jUU2Y12rtGHAw==} + '@oxfmt/binding-darwin-x64@0.47.0': + resolution: {integrity: sha512-Xq5fjTYDC50faUeLSm0rZdBqoTgleXEdD7NpJdARtQIczkCJn3xNjMUSQQkUmh4CtxkKTNL68lytcOK3e/osgg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxfmt/binding-freebsd-x64@0.36.0': - resolution: {integrity: sha512-/xapWCADfI5wrhxpEUjhI9fnw7MV5BUZizVa8e24n3VSK6A3Y1TB/ClOP1tfxNspykFKXp4NBWl6NtDJP3osqQ==} + '@oxfmt/binding-freebsd-x64@0.47.0': + resolution: {integrity: sha512-QOU9ZIJ52p5askcEC0QJvvr8trHAWoonul8bgISo6gYUL3s50zkqafBYcNAr9LJZQbsZtPfIWHk9+5+nUp1qJQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxfmt/binding-linux-arm-gnueabihf@0.36.0': - resolution: {integrity: sha512-1lOmv61XMFIH5uNm27620kRRzWt/RK6tdn250BRDoG9W7OXGOQ5UyI1HVT+SFkoOoKztBiinWgi68+NA1MjBVQ==} + '@oxfmt/binding-linux-arm-gnueabihf@0.47.0': + resolution: {integrity: sha512-oJxDM1aBhPvz9gmElBv8UpxyiqhwfjcbrSxT5F0xtuUzY6dQI27/AQPIt3eu3Z5Yvn0kQl5R7MA3Z+MbnRvCBw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm-musleabihf@0.36.0': - resolution: {integrity: sha512-vMH23AskdR1ujUS9sPck2Df9rBVoZUnCVY86jisILzIQ/QQ/yKUTi7tgnIvydPx7TyB/48wsQ5QMr5Knq5p/aw==} + '@oxfmt/binding-linux-arm-musleabihf@0.47.0': + resolution: {integrity: sha512-g8Lh50VS4ibGz2q6v7r9UZY4D0dM16SdrFYOMzhqIoCwGcai8VMIRUAcqn1/jlCsOOzUXJ741+kCeJt0cofakQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxfmt/binding-linux-arm64-gnu@0.36.0': - resolution: {integrity: sha512-Hy1V+zOBHpBiENRx77qrUTt5aPDHeCASRc8K5KwwAHkX2AKP0nV89eL17hsZrE9GmnXFjsNmd80lyf7aRTXsbw==} + '@oxfmt/binding-linux-arm64-gnu@0.47.0': + resolution: {integrity: sha512-YrNT1vQ0asaXoRbrvYENPqmBfOQ9Xr8enPNOULeYfg44VjCcrUowFy5QZr+WawE0zyP8cH9e9Gxxg0fDEFzhcg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-arm64-musl@0.36.0': - resolution: {integrity: sha512-SPGLJkOIHSIC6ABUQ5V8NqJpvYhMJueJv26NYqfCnwi/Mn6A61amkpJJ9Suy0Nmvs+OWESJpcebrBUbXPGZyQQ==} + '@oxfmt/binding-linux-arm64-musl@0.47.0': + resolution: {integrity: sha512-IxtQC/sbBi4ubbY+MdwdanRWrG9InQJVZqyMsBa5IUaQcnSg86gQme574HxXMC1p4bo4YhV99zQ+wNnGCvEgzw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-ppc64-gnu@0.36.0': - resolution: {integrity: sha512-3EuoyB8x9x8ysYJjbEO/M9fkSk72zQKnXCvpZMDHXlnY36/1qMp55Nm0PrCwjGO/1pen5hdOVkz9WmP3nAp2IQ==} + '@oxfmt/binding-linux-ppc64-gnu@0.47.0': + resolution: {integrity: sha512-EWXEhOMbWO0q6eJSbu0QLkU8cKi0ljlYLngeDs2Ocu/pm1rrLwyQiYzlFbdnMRURI4w9ndr1sI9rSbhlJ5o23Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-gnu@0.36.0': - resolution: {integrity: sha512-MpY3itLwpGh8dnywtrZtaZ604T1m715SydCKy0+qTxetv+IHzuA+aO/AGzrlzUNYZZmtWtmDBrChZGibvZxbRQ==} + '@oxfmt/binding-linux-riscv64-gnu@0.47.0': + resolution: {integrity: sha512-tZrjS11TUiDuEpRaqdk8K9F9xETRyKXfuZKmdeW+Gj7coBnm7+8sBEfyt033EAFEQSlkniAXvBLh+Qja2ioGBQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-riscv64-musl@0.36.0': - resolution: {integrity: sha512-mmDhe4Vtx+XwQPRPn/V25+APnkApYgZ23q+6GVsNYY98pf3aU0aI3Me96pbRs/AfJ1jIiGC+/6q71FEu8dHcHw==} + '@oxfmt/binding-linux-riscv64-musl@0.47.0': + resolution: {integrity: sha512-KBFy+2CFKUCZzYwX2ZOPQKck1vjQbz+hextuc19G4r0WRJwadfAeuQMQRQvB+Ivc8brlbOVg7et8K7E467440g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxfmt/binding-linux-s390x-gnu@0.36.0': - resolution: {integrity: sha512-AYXhU+DmNWLSnvVwkHM92fuYhogtVHab7UQrPNaDf1sxadugg9gWVmcgJDlIwxJdpk5CVW/TFvwUKwI432zhhA==} + '@oxfmt/binding-linux-s390x-gnu@0.47.0': + resolution: {integrity: sha512-REUPFKVGSiK99B+9eaPhluEVglzaoj/SMykNC5SUiV2RSsBfV5lWN7Y0iCIc251Wz3GaeAGZsJ/zj3gjarxdFg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-gnu@0.36.0': - resolution: {integrity: sha512-H16QhhQ3usoakMleiAAQ2mg0NsBDAdyE9agUgfC8IHHh3jZEbr0rIKwjEqwbOHK5M0EmfhJmr+aGO/MgZPsneA==} + '@oxfmt/binding-linux-x64-gnu@0.47.0': + resolution: {integrity: sha512-KVftVSVEDeIfRW3TIeLe3aNI/iY4m1fu5mDwHcisKMZSCMKLkrhFsjowC7o9RoqNPxbbglm2+/6KAKBIts2t0Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxfmt/binding-linux-x64-musl@0.36.0': - resolution: {integrity: sha512-EFFGkixA39BcmHiCe2ECdrq02D6FCve5ka6ObbvrheXl4V+R0U/E+/uLyVx1X65LW8TA8QQHdnbdDallRekohw==} + '@oxfmt/binding-linux-x64-musl@0.47.0': + resolution: {integrity: sha512-DTsmGEaA2860Aq5VUyDO8/MT9NFxwVL93RnRYmpMwK6DsSkThmvEpqoUDDljziEpAedMRG19SCogrNbINSbLUQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxfmt/binding-openharmony-arm64@0.36.0': - resolution: {integrity: sha512-zr/t369wZWFOj1qf06Z5gGNjFymfUNDrxKMmr7FKiDRVI1sNsdKRCuRL4XVjtcptKQ+ao3FfxLN1vrynivmCYg==} + '@oxfmt/binding-openharmony-arm64@0.47.0': + resolution: {integrity: sha512-8r5BDro7fLOBoq1JXHLVSs55OlrxQhEso4HVo0TcY7OXJUPYfjPoOaYL5us+yIwqyP9rQwN+rxuiNFSmaxSuOQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxfmt/binding-win32-arm64-msvc@0.36.0': - resolution: {integrity: sha512-FxO7UksTv8h4olzACgrqAXNF6BP329+H322323iDrMB5V/+a1kcAw07fsOsUmqNrb9iJBsCQgH/zqcqp5903ag==} + '@oxfmt/binding-win32-arm64-msvc@0.47.0': + resolution: {integrity: sha512-qtz/gzm8IjSPUlseZ0ofW8zyHLoZsuP5HTfcGGkWkUblB89JT8GNYH3ICqjbDsqsGqXum0/ZndXTFplSdXFIcg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxfmt/binding-win32-ia32-msvc@0.36.0': - resolution: {integrity: sha512-OjoMQ89H01M0oLMfr/CPNH1zi48ZIwxAKObUl57oh7ssUBNDp/2Vjf7E1TQ8M4oj4VFQ/byxl2SmcPNaI2YNDg==} + '@oxfmt/binding-win32-ia32-msvc@0.47.0': + resolution: {integrity: sha512-5vIcdcIDE7nCx+MXN6sm8kbC4zajDB31E86rez4i45iHNH/2NjdKlJ720xcHTr3eeiMcttCGPHPhE1TjtBDGZw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxfmt/binding-win32-x64-msvc@0.36.0': - resolution: {integrity: sha512-MoyeQ9S36ZTz/4bDhOKJgOBIDROd4dQ5AkT9iezhEaUBxAPdNX9Oq0jD8OSnCj3G4wam/XNxVWKMA52kmzmPtQ==} + '@oxfmt/binding-win32-x64-msvc@0.47.0': + resolution: {integrity: sha512-Sr59Y5ms54ONBjxFeWhVlGyQcHXxcl9DxC23f6yXlRkcos7LXBLoO+KDfxexjHIOZh7cWqrWduzvUjJ+pHp8cQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@oxlint/binding-android-arm-eabi@1.57.0': - resolution: {integrity: sha512-C7EiyfAJG4B70496eV543nKiq5cH0o/xIh/ufbjQz3SIvHhlDDsyn+mRFh+aW8KskTyUpyH2LGWL8p2oN6bl1A==} + '@oxlint/binding-android-arm-eabi@1.62.0': + resolution: {integrity: sha512-pKsthNECyvJh8lPTICz6VcwVy2jOqdhhsp1rlxCkhgZR47aKvXPmaRWQDv+zlXpRae4qm1MaaTnutkaOk5aofg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxlint/binding-android-arm64@1.57.0': - resolution: {integrity: sha512-9i80AresjZ/FZf5xK8tKFbhQnijD4s1eOZw6/FHUwD59HEZbVLRc2C88ADYJfLZrF5XofWDiRX/Ja9KefCLy7w==} + '@oxlint/binding-android-arm64@1.62.0': + resolution: {integrity: sha512-b1AUNViByvgmR2xJDubvLIr+dSuu3uraG7bsAoKo+xrpspPvu6RIn6Fhr2JUhobfep3jwUTy18Huco6GkwdvGQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxlint/binding-darwin-arm64@1.57.0': - resolution: {integrity: sha512-0eUfhRz5L2yKa9I8k3qpyl37XK3oBS5BvrgdVIx599WZK63P8sMbg+0s4IuxmIiZuBK68Ek+Z+gcKgeYf0otsg==} + '@oxlint/binding-darwin-arm64@1.62.0': + resolution: {integrity: sha512-iG+Tvf70UJ6otfwFYIHk36Sjq9cpPP5YLxkoggANNRtzgi3Tj3g8q6Ybqi6AtkU3+yg9QwF7bDCkCS6bbL4PCg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxlint/binding-darwin-x64@1.57.0': - resolution: {integrity: sha512-UvrSuzBaYOue+QMAcuDITe0k/Vhj6KZGjfnI6x+NkxBTke/VoM7ZisaxgNY0LWuBkTnd1OmeQfEQdQ48fRjkQg==} + '@oxlint/binding-darwin-x64@1.62.0': + resolution: {integrity: sha512-oOWI6YPPr5AJUx+yIDlxmuUbQjS5gZX3OH3QisawYvsZgLiQVvZtR0rPBcJTxLWqt2ClrWg0DlSrlUiG5SQNHg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxlint/binding-freebsd-x64@1.57.0': - resolution: {integrity: sha512-wtQq0dCoiw4bUwlsNVDJJ3pxJA218fOezpgtLKrbQqUtQJcM9yP8z+I9fu14aHg0uyAxIY+99toL6uBa2r7nxA==} + '@oxlint/binding-freebsd-x64@1.62.0': + resolution: {integrity: sha512-dLP33T7VLCmLVv4cvjkVX+rmkcwNk2UfxmsZPNur/7BQHoQR60zJ7XLiRvNUawlzn0u8ngCa3itjEG73MAMa/w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxlint/binding-linux-arm-gnueabihf@1.57.0': - resolution: {integrity: sha512-qxFWl2BBBFcT4djKa+OtMdnLgoHEJXpqjyGwz8OhW35ImoCwR5qtAGqApNYce5260FQqoAHW8S8eZTjiX67Tsg==} + '@oxlint/binding-linux-arm-gnueabihf@1.62.0': + resolution: {integrity: sha512-fl//LWNks6qo9chNY60UDYyIwtp7a5cEx4Y/rHPjaarhuwqx6jtbzEpD5V5AqmdL4a6Y5D8zeXg5HF2Cr0QmSQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm-musleabihf@1.57.0': - resolution: {integrity: sha512-SQoIsBU7J0bDW15/f0/RvxHfY3Y0+eB/caKBQtNFbuerTiA6JCYx9P1MrrFTwY2dTm/lMgTSgskvCEYk2AtG/Q==} + '@oxlint/binding-linux-arm-musleabihf@1.62.0': + resolution: {integrity: sha512-i5vkAuxvueTODV3J2dL61/TXewDHhMFKvtD156cIsk7GsdfiAu7zW7kY0NJXhKeFHeiMZIh7eFNjkPYH6J47HQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm64-gnu@1.57.0': - resolution: {integrity: sha512-jqxYd1W6WMeozsCmqe9Rzbu3SRrGTyGDAipRlRggetyYbUksJqJKvUNTQtZR/KFoJPb+grnSm5SHhdWrywv3RQ==} + '@oxlint/binding-linux-arm64-gnu@1.62.0': + resolution: {integrity: sha512-QwN19LLuIGuOjEflSeJkZmOTfBdBMlTmW8xbMf8TZhjd//cxVNYQPq75q7oKZBJc6hRx3gY7sX0Egc8cEIFZYg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-arm64-musl@1.57.0': - resolution: {integrity: sha512-i66WyEPVEvq9bxRUCJ/MP5EBfnTDN3nhwEdFZFTO5MmLLvzngfWEG3NSdXQzTT3vk5B9i6C2XSIYBh+aG6uqyg==} + '@oxlint/binding-linux-arm64-musl@1.62.0': + resolution: {integrity: sha512-8eCy3FCDuWUM5hWujAv6heMvfZPbcCOU3SdQUAkixZLu5bSzOkNfirJiLGoQFO943xceOKkiQRMQNzH++jM3WA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxlint/binding-linux-ppc64-gnu@1.57.0': - resolution: {integrity: sha512-oMZDCwz4NobclZU3pH+V1/upVlJZiZvne4jQP+zhJwt+lmio4XXr4qG47CehvrW1Lx2YZiIHuxM2D4YpkG3KVA==} + '@oxlint/binding-linux-ppc64-gnu@1.62.0': + resolution: {integrity: sha512-NjQ7K7tpTPDe9J+yq8p/s/J0E7lRCkK2uDBDqvT4XIT6f4Z0tlnr59OBg/WcrmVHER1AbrcfyxhGTXgcG8ytWg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-gnu@1.57.0': - resolution: {integrity: sha512-uoBnjJ3MMEBbfnWC1jSFr7/nSCkcQYa72NYoNtLl1imshDnWSolYCjzb8LVCwYCCfLJXD+0gBLD7fyC14c0+0g==} + '@oxlint/binding-linux-riscv64-gnu@1.62.0': + resolution: {integrity: sha512-oKZed9gmSwze29dEt3/Wnsv6l/Ygw/FUst+8Kfpv2SGeS/glEoTGZAMQw37SVyzFV76UTHJN2snGgxK2t2+8ow==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-musl@1.57.0': - resolution: {integrity: sha512-BdrwD7haPZ8a9KrZhKJRSj6jwCor+Z8tHFZ3PT89Y3Jq5v3LfMfEePeAmD0LOTWpiTmzSzdmyw9ijneapiVHKQ==} + '@oxlint/binding-linux-riscv64-musl@1.62.0': + resolution: {integrity: sha512-gBjBxQ+9lGpAYq+ELqw0w8QXsBnkZclFc7GRX2r0LnEVn3ZTEqeIKpKcGjucmp76Q53bvJD0i4qBWBhcfhSfGA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxlint/binding-linux-s390x-gnu@1.57.0': - resolution: {integrity: sha512-BNs+7ZNsRstVg2tpNxAXfMX/Iv5oZh204dVyb8Z37+/gCh+yZqNTlg6YwCLIMPSk5wLWIGOaQjT0GUOahKYImw==} + '@oxlint/binding-linux-s390x-gnu@1.62.0': + resolution: {integrity: sha512-Ew2Kxs9EQ9/mbAIJ2hvocMC0wsOu6YKzStI2eFBDt+Td5O8seVC/oxgRIHqCcl5sf5ratA1nozQBAuv7tphkHg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-gnu@1.57.0': - resolution: {integrity: sha512-AghS18w+XcENcAX0+BQGLiqjpqpaxKJa4cWWP0OWNLacs27vHBxu7TYkv9LUSGe5w8lOJHeMxcYfZNOAPqw2bg==} + '@oxlint/binding-linux-x64-gnu@1.62.0': + resolution: {integrity: sha512-5z25jcAA0gfKyVwz71A0VXgaPlocPoTAxhlv/hgoK6tlCrfoNuw7haWbDHvGMfjXhdic4EqVXGRv5XsTqFnbRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-musl@1.57.0': - resolution: {integrity: sha512-E/FV3GB8phu/Rpkhz5T96hAiJlGzn91qX5yj5gU754P5cmVGXY1Jw/VSjDSlZBCY3VHjsVLdzgdkJaomEmcNOg==} + '@oxlint/binding-linux-x64-musl@1.62.0': + resolution: {integrity: sha512-IWpHmMB6ZDllPvqWDkG6AmXrN7JF5e/c4g/0PuURsmlK+vHoYZPB70rr4u1bn3I4LsKCSpqqfveyx6UCOC8wdg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxlint/binding-openharmony-arm64@1.57.0': - resolution: {integrity: sha512-xvZ2yZt0nUVfU14iuGv3V25jpr9pov5N0Wr28RXnHFxHCRxNDMtYPHV61gGLhN9IlXM96gI4pyYpLSJC5ClLCQ==} + '@oxlint/binding-openharmony-arm64@1.62.0': + resolution: {integrity: sha512-fjlSxxrD5pA594vkyikCS9MnPRjQawW6/BLgyTYkO+73wwPlYjkcZ7LSd974l0Q2zkHQmu4DPvJFLYA7o8xrxQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxlint/binding-win32-arm64-msvc@1.57.0': - resolution: {integrity: sha512-Z4D8Pd0AyHBKeazhdIXeUUy5sIS3Mo0veOlzlDECg6PhRRKgEsBJCCV1n+keUZtQ04OP+i7+itS3kOykUyNhDg==} + '@oxlint/binding-win32-arm64-msvc@1.62.0': + resolution: {integrity: sha512-EiFXr8loNS0Ul3Gu80+9nr1T8jRmnKocqmHHg16tj5ZqTgUXyb97l2rrspVHdDluyFn9JfR4PoJFdNzw4paHww==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxlint/binding-win32-ia32-msvc@1.57.0': - resolution: {integrity: sha512-StOZ9nFMVKvevicbQfql6Pouu9pgbeQnu60Fvhz2S6yfMaii+wnueLnqQ5I1JPgNF0Syew4voBlAaHD13wH6tw==} + '@oxlint/binding-win32-ia32-msvc@1.62.0': + resolution: {integrity: sha512-IgOFvL73li1bFgab+hThXYA0N2Xms2kV2MvZN95cebV+fmrZ9AVui1JSxfeeqRLo3CpPxKZlzhyq4G0cnaAvIw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxlint/binding-win32-x64-msvc@1.57.0': - resolution: {integrity: sha512-6PuxhYgth8TuW0+ABPOIkGdBYw+qYGxgIdXPHSVpiCDm+hqTTWCmC739St1Xni0DJBt8HnSHTG67i1y6gr8qrA==} + '@oxlint/binding-win32-x64-msvc@1.62.0': + resolution: {integrity: sha512-6hMpyDWQ2zGA1OXFKBrdYMUveUCO8UJhkO6JdwZPd78xIdHZNhjx+pib+4fC2Cljuhjyl0QwA2F3df/bs4Bp6A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -767,103 +903,103 @@ packages: '@quansync/fs@1.0.0': resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} - '@rolldown/binding-android-arm64@1.0.0-rc.11': - resolution: {integrity: sha512-SJ+/g+xNnOh6NqYxD0V3uVN4W3VfnrGsC9/hoglicgTNfABFG9JjISvkkU0dNY84MNHLWyOgxP9v9Y9pX4S7+A==} + '@rolldown/binding-android-arm64@1.0.0-rc.17': + resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-rc.11': - resolution: {integrity: sha512-7WQgR8SfOPwmDZGFkThUvsmd/nwAWv91oCO4I5LS7RKrssPZmOt7jONN0cW17ydGC1n/+puol1IpoieKqQidmg==} + '@rolldown/binding-darwin-arm64@1.0.0-rc.17': + resolution: {integrity: sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.11': - resolution: {integrity: sha512-39Ks6UvIHq4rEogIfQBoBRusj0Q0nPVWIvqmwBLaT6aqQGIakHdESBVOPRRLacy4WwUPIx4ZKzfZ9PMW+IeyUQ==} + '@rolldown/binding-darwin-x64@1.0.0-rc.17': + resolution: {integrity: sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-rc.11': - resolution: {integrity: sha512-jfsm0ZHfhiqrvWjJAmzsqiIFPz5e7mAoCOPBNTcNgkiid/LaFKiq92+0ojH+nmJmKYkre4t71BWXUZDNp7vsag==} + '@rolldown/binding-freebsd-x64@1.0.0-rc.17': + resolution: {integrity: sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.11': - resolution: {integrity: sha512-zjQaUtSyq1nVe3nxmlSCuR96T1LPlpvmJ0SZy0WJFEsV4kFbXcq2u68L4E6O0XeFj4aex9bEauqjW8UQBeAvfQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': + resolution: {integrity: sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.11': - resolution: {integrity: sha512-WMW1yE6IOnehTcFE9eipFkm3XN63zypWlrJQ2iF7NrQ9b2LDRjumFoOGJE8RJJTJCTBAdmLMnJ8uVitACUUo1Q==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.11': - resolution: {integrity: sha512-jfndI9tsfm4APzjNt6QdBkYwre5lRPUgHeDHoI7ydKUuJvz3lZeCfMsI56BZj+7BYqiKsJm7cfd/6KYV7ubrBg==} + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': + resolution: {integrity: sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.11': - resolution: {integrity: sha512-ZlFgw46NOAGMgcdvdYwAGu2Q+SLFA9LzbJLW+iyMOJyhj5wk6P3KEE9Gct4xWwSzFoPI7JCdYmYMzVtlgQ+zfw==} + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.11': - resolution: {integrity: sha512-hIOYmuT6ofM4K04XAZd3OzMySEO4K0/nc9+jmNcxNAxRi6c5UWpqfw3KMFV4MVFWL+jQsSh+bGw2VqmaPMTLyw==} + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.11': - resolution: {integrity: sha512-qXBQQO9OvkjjQPLdUVr7Nr2t3QTZI7s4KZtfw7HzBgjbmAPSFwSv4rmET9lLSgq3rH/ndA3ngv3Qb8l2njoPNA==} + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': + resolution: {integrity: sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.11': - resolution: {integrity: sha512-/tpFfoSTzUkH9LPY+cYbqZBDyyX62w5fICq9qzsHLL8uTI6BHip3Q9Uzft0wylk/i8OOwKik8OxW+QAhDmzwmg==} + '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': + resolution: {integrity: sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': - resolution: {integrity: sha512-mcp3Rio2w72IvdZG0oQ4bM2c2oumtwHfUfKncUM6zGgz0KgPz4YmDPQfnXEiY5t3+KD/i8HG2rOB/LxdmieK2g==} + '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': + resolution: {integrity: sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.11': - resolution: {integrity: sha512-LXk5Hii1Ph9asuGRjBuz8TUxdc1lWzB7nyfdoRgI0WGPZKmCxvlKk8KfYysqtr4MfGElu/f/pEQRh8fcEgkrWw==} - engines: {node: '>=14.0.0'} + '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': + resolution: {integrity: sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.11': - resolution: {integrity: sha512-dDwf5otnx0XgRY1yqxOC4ITizcdzS/8cQ3goOWv3jFAo4F+xQYni+hnMuO6+LssHHdJW7+OCVL3CoU4ycnh35Q==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': + resolution: {integrity: sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.11': - resolution: {integrity: sha512-LN4/skhSggybX71ews7dAj6r2geaMJfm3kMbK2KhFMg9B10AZXnKoLCVVgzhMHL0S+aKtr4p8QbAW8k+w95bAA==} + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': + resolution: {integrity: sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-rc.11': - resolution: {integrity: sha512-xQO9vbwBecJRv9EUcQ/y0dzSTJgA7Q6UVN7xp6B81+tBGSLVAK03yJ9NkJaUA7JFD91kbjxRSC/mDnmvXzbHoQ==} + '@rolldown/pluginutils@1.0.0-rc.17': + resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==} '@rollup/rollup-android-arm-eabi@4.45.1': resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==} @@ -1000,50 +1136,58 @@ packages: '@types/node@20.19.39': resolution: {integrity: sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==} - '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260307.1': - resolution: {integrity: sha512-VpnrMP4iDLSTT9Hg/KrHwuIHLZr5dxYPMFErfv3ZDA0tv48u2H1lBhHVVMMopCuskuX3C35EOJbxLkxCJd6zDw==} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260427.1': + resolution: {integrity: sha512-8zxaaEgIpHSadCoCAvUsp0C6WDH0dUXix7Mm7IBjh+EhSxI2clhXwPZTqgtDqbowXHeE82BG5mBbQx+CXDwGOQ==} + engines: {node: '>=16.20.0'} cpu: [arm64] os: [darwin] - '@typescript/native-preview-darwin-x64@7.0.0-dev.20260307.1': - resolution: {integrity: sha512-+4akGPxwfrPy2AYmQO1bp6CXxUVlBPrL0lSv+wY/E8vNGqwF0UtJCwAcR54ae1+k9EmoirT7Xn6LE3Io6mXntg==} + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260427.1': + resolution: {integrity: sha512-6MjekGfajPtny/bBoBYJ+8dTOlgw6nhSSgJ3Us4R/4L8R90ll803Krz+iz907r1SnYeK5eWubDMV/p1ryLNXkQ==} + engines: {node: '>=16.20.0'} cpu: [x64] os: [darwin] - '@typescript/native-preview-linux-arm64@7.0.0-dev.20260307.1': - resolution: {integrity: sha512-u4kXuHN2p+HeWsnTixoEOwALsCoS+n3/ukWdnV/mwyg6BKuuU69qCv3/miY6YPFtE7mUwzPdflEXsvkZJbJ/RA==} + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260427.1': + resolution: {integrity: sha512-a1yG/vrLaN3dORvaMuNqXz5jcTaTEPBfhmq77vzqRn8As7EdqxtizPosfxB9K1s7PEB8NeGQKqHEQroPUCsPFg==} + engines: {node: '>=16.20.0'} cpu: [arm64] os: [linux] - '@typescript/native-preview-linux-arm@7.0.0-dev.20260307.1': - resolution: {integrity: sha512-E0Pve6BjTVvPiHq9cPVQu6fbW/Qo/CEs1VN2NMILd0xzFVpVd9FIvzV+Ft6pZilu1SBcihThW3sQ92l03Cw2+Q==} + '@typescript/native-preview-linux-arm@7.0.0-dev.20260427.1': + resolution: {integrity: sha512-3bhv/NxU9FHIN3MSmoplIAkIHF62mlF9l5XooAFawwj8yscvPZih/m5fkYIiP5qGri3828XwGyT1Cksaft6FWQ==} + engines: {node: '>=16.20.0'} cpu: [arm] os: [linux] - '@typescript/native-preview-linux-x64@7.0.0-dev.20260307.1': - resolution: {integrity: sha512-MzuRjTYQIS7XrJcH0As18SbaQU+rFhf9LCpXs2QeHjhXQ33wjuFDNhQeurg2eKm6A0xE0GoW9K+sKsm8bhzzPg==} + '@typescript/native-preview-linux-x64@7.0.0-dev.20260427.1': + resolution: {integrity: sha512-lqaA9oF9ZSw1jn87+Ncxo0Sf0d65eVXMjAD0z44ne7QKFRgWd+QpvK4AXAG4lxnFR+XdndWlVm6O1/tdvcG7xQ==} + engines: {node: '>=16.20.0'} cpu: [x64] os: [linux] - '@typescript/native-preview-win32-arm64@7.0.0-dev.20260307.1': - resolution: {integrity: sha512-UNZl8Q6lx1njEPU8+FNjYvqii5PtDjk6cyxmVPwwJI2Snz5T5qY6oadkUds6CJsLkt7s4UB3P5XgLu1+vwoYGw==} + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260427.1': + resolution: {integrity: sha512-ZGXRDC0WPVK/Ky2fZRhy2EcNmdHg22biVYWcWgOUK5tCbJd/KJs3VXk758gn0UbFHEQAR5d7dsvDucCCjZkWpA==} + engines: {node: '>=16.20.0'} cpu: [arm64] os: [win32] - '@typescript/native-preview-win32-x64@7.0.0-dev.20260307.1': - resolution: {integrity: sha512-aPJb4v0Df9GzWFWbO4YbLg0OjmjxZgXngkF1M746r4CgOdydWgosNPWypzzAwiliGKvCLwfAWYiV+T5Jf1vQ3g==} + '@typescript/native-preview-win32-x64@7.0.0-dev.20260427.1': + resolution: {integrity: sha512-Ut4Hncq1IuSeNIfcPs1s719j8H3ZA+ogsJ53W3s/Wy1UF5BIhu5Hkspdc7TzGgJgYqGJKo/+pr4vsRnbBPdWgQ==} + engines: {node: '>=16.20.0'} cpu: [x64] os: [win32] - '@typescript/native-preview@7.0.0-dev.20260307.1': - resolution: {integrity: sha512-NcKdPiGjxxxdh7fLgRKTrn5hLntbt89NOodNaSrMChTfJwvLaDkgrRlnO7v5x+m7nQc87Qf1y7UoT1ZEZUBB4Q==} + '@typescript/native-preview@7.0.0-dev.20260427.1': + resolution: {integrity: sha512-g6L7hed1Y2OGwAzZ+vXoGSvtJUdWUtTqtsn/16+UjYbu3+6pol0cggdWj26SFxI41R+jLfnT2+JGtoXRBdH+RQ==} + engines: {node: '>=16.20.0'} hasBin: true - '@vitest/expect@4.1.1': - resolution: {integrity: sha512-xAV0fqBTk44Rn6SjJReEQkHP3RrqbJo6JQ4zZ7/uVOiJZRarBtblzrOfFIZeYUrukp2YD6snZG6IBqhOoHTm+A==} + '@vitest/expect@4.1.5': + resolution: {integrity: sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==} - '@vitest/mocker@4.1.1': - resolution: {integrity: sha512-h3BOylsfsCLPeceuCPAAJ+BvNwSENgJa4hXoXu4im0bs9Lyp4URc4JYK4pWLZ4pG/UQn7AT92K6IByi6rE6g3A==} + '@vitest/mocker@4.1.5': + resolution: {integrity: sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1053,20 +1197,20 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.1': - resolution: {integrity: sha512-GM+TEQN5WhOygr1lp7skeVjdLPqqWMHsfzXrcHAqZJi/lIVh63H0kaRCY8MDhNWikx19zBUK8ceaLB7X5AH9NQ==} + '@vitest/pretty-format@4.1.5': + resolution: {integrity: sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==} - '@vitest/runner@4.1.1': - resolution: {integrity: sha512-f7+FPy75vN91QGWsITueq0gedwUZy1fLtHOCMeQpjs8jTekAHeKP80zfDEnhrleviLHzVSDXIWuCIOFn3D3f8A==} + '@vitest/runner@4.1.5': + resolution: {integrity: sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==} - '@vitest/snapshot@4.1.1': - resolution: {integrity: sha512-kMVSgcegWV2FibXEx9p9WIKgje58lcTbXgnJixfcg15iK8nzCXhmalL0ZLtTWLW9PH1+1NEDShiFFedB3tEgWg==} + '@vitest/snapshot@4.1.5': + resolution: {integrity: sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==} - '@vitest/spy@4.1.1': - resolution: {integrity: sha512-6Ti/KT5OVaiupdIZEuZN7l3CZcR0cxnxt70Z0//3CtwgObwA6jZhmVBA3yrXSVN3gmwjgd7oDNLlsXz526gpRA==} + '@vitest/spy@4.1.5': + resolution: {integrity: sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==} - '@vitest/utils@4.1.1': - resolution: {integrity: sha512-cNxAlaB3sHoCdL6pj6yyUXv9Gry1NHNg0kFTXdvSIZXLHsqKH7chiWOkwJ5s5+d/oMwcoG9T0bKU38JZWKusrQ==} + '@vitest/utils@4.1.5': + resolution: {integrity: sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -1129,8 +1273,8 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} @@ -1238,8 +1382,8 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - get-tsconfig@4.13.7: - resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} + get-tsconfig@4.14.0: + resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1252,8 +1396,8 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - hookable@6.1.0: - resolution: {integrity: sha512-ZoKZSJgu8voGK2geJS+6YtYjvIzu9AOM/KZXsBxr83uhLL++e9pEv/dlgwgy3dvHg06kTz6JOh1hk3C8Ceiymw==} + hookable@6.1.1: + resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==} human-id@4.1.1: resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} @@ -1271,8 +1415,8 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - import-without-cache@0.2.5: - resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==} + import-without-cache@0.3.3: + resolution: {integrity: sha512-bDxwDdF04gm550DfZHgffvlX+9kUlcz32UD0AeBTmVPFiWkrexF2XVmiuFFbDhiFuP8fQkrkvI2KdSNPYWAXkQ==} engines: {node: '>=20.19.0'} is-extglob@2.1.1: @@ -1326,13 +1470,10 @@ packages: resolution: {integrity: sha512-GJ9Ju8kf2SxH90C1AqANrMKBFlDjrZu1YoFm4SoMCOBOxix3Bvirdg5JB31gbF8FwPBo3196dAaqV0WUjeuq8Q==} hasBin: true - knip@5.88.1: - resolution: {integrity: sha512-tpy5o7zu1MjawVkLPuahymVJekYY3kYjvzcoInhIchgePxTlo+api90tBv2KfhAIe5uXh+mez1tAfmbv8/TiZg==} - engines: {node: '>=18.18.0'} + knip@6.7.0: + resolution: {integrity: sha512-ckL51NDH1YJxnv1kNB0iUdDngB4f/e9Igz8uIqYfmNDoyOFmmk1V0WFv3LQ7/hzC63b2Z9X41gGUE9eOWrZpaA==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - peerDependencies: - '@types/node': '>=18' - typescript: '>=5.0.4 <7' kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -1385,20 +1526,24 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + oxc-parser@0.127.0: + resolution: {integrity: sha512-bkgD4qHlN7WxLdX8bLXdaU54TtQtAIg/ZBAfm0aje/mo3MRDo3P0hZSgr4U7O3xfX+fQmR5AP04JS/TGcZLcFA==} + engines: {node: ^20.19.0 || >=22.12.0} + oxc-resolver@11.19.1: resolution: {integrity: sha512-qE/CIg/spwrTBFt5aKmwe3ifeDdLfA2NESN30E42X/lII5ClF8V7Wt6WIJhcGZjp0/Q+nQ+9vgxGk//xZNX2hg==} - oxfmt@0.36.0: - resolution: {integrity: sha512-/ejJ+KoSW6J9bcNT9a9UtJSJNWhJ3yOLSBLbkoFHJs/8CZjmaZVZAJe4YgO1KMJlKpNQasrn/G9JQUEZI3p0EQ==} + oxfmt@0.47.0: + resolution: {integrity: sha512-OFbkbzxKCpooQEnRmpTDnuwTX8KHXzZTQ4Df/hz85fpS67Pl+lxPEFvUtin56HIIS0B1k4X8oIzTXRZPufA2CA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - oxlint@1.57.0: - resolution: {integrity: sha512-DGFsuBX5MFZX9yiDdtKjTrYPq45CZ8Fft6qCltJITYZxfwYjVdGf/6wycGYTACloauwIPxUnYhBVeZbHvleGhw==} + oxlint@1.62.0: + resolution: {integrity: sha512-1uFkg6HakjsGIpW9wNdeW4/2LOHW9MEkoWjZUTUfQtIHyLIZPYt00w3Sg+H3lH+206FgBPHBbW5dVE5l2ExECQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - oxlint-tsgolint: '>=0.15.0' + oxlint-tsgolint: '>=0.18.0' peerDependenciesMeta: oxlint-tsgolint: optional: true @@ -1497,14 +1642,14 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown-plugin-dts@0.22.5: - resolution: {integrity: sha512-M/HXfM4cboo+jONx9Z0X+CUf3B5tCi7ni+kR5fUW50Fp9AlZk0oVLesibGWgCXDKFp5lpgQ9yhKoImUFjl3VZw==} + rolldown-plugin-dts@0.23.2: + resolution: {integrity: sha512-PbSqLawLgZBGcOGT3yqWBGn4cX+wh2nt5FuBGdcMHyOhoukmjbhYAl8NT9sE4U38Cm9tqLOIQeOrvzeayM0DLQ==} engines: {node: '>=20.19.0'} peerDependencies: '@ts-macro/tsc': ^0.3.6 - '@typescript/native-preview': '>=7.0.0-dev.20250601.1' - rolldown: ^1.0.0-rc.3 - typescript: ^5.0.0 || ^6.0.0-beta + '@typescript/native-preview': '>=7.0.0-dev.20260325.1' + rolldown: ^1.0.0-rc.12 + typescript: ^5.0.0 || ^6.0.0 vue-tsc: ~3.2.0 peerDependenciesMeta: '@ts-macro/tsc': @@ -1516,8 +1661,8 @@ packages: vue-tsc: optional: true - rolldown@1.0.0-rc.11: - resolution: {integrity: sha512-NRjoKMusSjfRbSYiH3VSumlkgFe7kYAa3pzVOsVYVFY3zb5d7nS+a3KGQ7hJKXuYWbzJKPVQ9Wxq2UvyK+ENpw==} + rolldown@1.0.0-rc.17: + resolution: {integrity: sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -1540,11 +1685,6 @@ packages: resolution: {integrity: sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==} engines: {node: '>=6'} - semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} - engines: {node: '>=10'} - hasBin: true - semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} @@ -1617,12 +1757,12 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@1.0.4: - resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==} + tinyexec@1.1.1: + resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==} engines: {node: '>=18'} - tinyglobby@0.2.15: - resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + tinyglobby@0.2.16: + resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} engines: {node: '>=12.0.0'} tinypool@2.1.0: @@ -1651,14 +1791,14 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - tsdown@0.21.5: - resolution: {integrity: sha512-TlgNhfPioAD6ECCUnZsxcUsXXuPPR4Rrxz3az741kL/M3oGIET4a9GajSNRNRx+jIva73TYUKQybrEPkDYN+fQ==} + tsdown@0.21.10: + resolution: {integrity: sha512-3wk73yBhZe/wX7REqSdivNQ84TDs1mJ+IlnzrrEREP70xlJ/AEIzqaI04l/TzMKVIdkTdC3CPaADn2Lk/0SkdA==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: '@arethetypeswrong/core': ^0.18.1 - '@tsdown/css': 0.21.5 - '@tsdown/exe': 0.21.5 + '@tsdown/css': 0.21.10 + '@tsdown/exe': 0.21.10 '@vitejs/devtools': '*' publint: ^0.3.0 typescript: ^5.0.0 || ^6.0.0 @@ -1687,8 +1827,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - unbash@2.2.0: - resolution: {integrity: sha512-X2wH19RAPZE3+ldGicOkoj/SIA83OIxcJ6Cuaw23hf8Xc6fQpvZXY0SftE2JgS0QhYLUG4uwodSI3R53keyh7w==} + unbash@3.0.0: + resolution: {integrity: sha512-FeFPZ/WFT0mbRCuydiZzpPFlrYN8ZUpphQKoq4EeElVIYjYyGzPMxQR/simUwCOJIyVhpFk4RbtyO7RuMpMnHA==} engines: {node: '>=14'} unconfig-core@7.5.0: @@ -1701,8 +1841,8 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - unrun@0.2.33: - resolution: {integrity: sha512-urXTjZHOHS6lMnatQerLcBpcTsaKZYGuu9aSZ+HlNfCApkiINRbj7YecC9h9hdZroMT4WQ4KVyzHfBqHKuFX9Q==} + unrun@0.2.37: + resolution: {integrity: sha512-AA7vDuYsgeSYVzJMm16UKA+aXFKhy7nFqW9z5l7q44K4ppFWZAMqYS58ePRZbugMLPH0fwwMzD5A8nP0avxwZQ==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: @@ -1756,18 +1896,20 @@ packages: peerDependencies: vitest: ^3.0.0 || ^4.0.0 - vitest@4.1.1: - resolution: {integrity: sha512-yF+o4POL41rpAzj5KVILUxm1GCjKnELvaqmU9TLLUbMfDzuN0UpUR9uaDs+mCtjPe+uYPksXDRLQGGPvj1cTmA==} + vitest@4.1.5: + resolution: {integrity: sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.1 - '@vitest/browser-preview': 4.1.1 - '@vitest/browser-webdriverio': 4.1.1 - '@vitest/ui': 4.1.1 + '@vitest/browser-playwright': 4.1.5 + '@vitest/browser-preview': 4.1.5 + '@vitest/browser-webdriverio': 4.1.5 + '@vitest/coverage-istanbul': 4.1.5 + '@vitest/coverage-v8': 4.1.5 + '@vitest/ui': 4.1.5 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -1783,6 +1925,10 @@ packages: optional: true '@vitest/browser-webdriverio': optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true '@vitest/ui': optional: true happy-dom: @@ -1814,10 +1960,10 @@ packages: snapshots: - '@babel/generator@8.0.0-rc.2': + '@babel/generator@8.0.0-rc.3': dependencies: - '@babel/parser': 8.0.0-rc.2 - '@babel/types': 8.0.0-rc.2 + '@babel/parser': 8.0.0-rc.3 + '@babel/types': 8.0.0-rc.3 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 '@types/jsesc': 2.5.1 @@ -1825,38 +1971,40 @@ snapshots: '@babel/helper-string-parser@8.0.0-rc.3': {} - '@babel/helper-validator-identifier@8.0.0-rc.2': {} + '@babel/helper-validator-identifier@8.0.0-rc.3': {} - '@babel/parser@8.0.0-rc.2': + '@babel/parser@8.0.0-rc.3': dependencies: - '@babel/types': 8.0.0-rc.2 + '@babel/types': 8.0.0-rc.3 '@babel/runtime@7.28.2': {} - '@babel/types@8.0.0-rc.2': + '@babel/types@8.0.0-rc.3': dependencies: '@babel/helper-string-parser': 8.0.0-rc.3 - '@babel/helper-validator-identifier': 8.0.0-rc.2 + '@babel/helper-validator-identifier': 8.0.0-rc.3 '@bomb.sh/args@0.3.1': {} - '@bomb.sh/tools@0.3.4(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1)(typescript@5.8.3)(yaml@2.8.3)': + '@bomb.sh/tools@0.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.8.3)(yaml@2.8.3)': dependencies: '@bomb.sh/args': 0.3.1 '@humanfs/node': 0.16.7 '@humanfs/types': 0.15.0 - '@typescript/native-preview': 7.0.0-dev.20260307.1 - knip: 5.88.1(@types/node@20.19.39)(typescript@5.8.3) - oxfmt: 0.36.0 - oxlint: 1.57.0 + '@typescript/native-preview': 7.0.0-dev.20260427.1 + knip: 6.7.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + oxfmt: 0.47.0 + oxlint: 1.62.0 publint: 0.3.18 - tinyexec: 1.0.4 - tsdown: 0.21.5(@typescript/native-preview@7.0.0-dev.20260307.1)(oxc-resolver@11.19.1)(publint@0.3.18)(typescript@5.8.3) - vitest: 4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) - vitest-ansi-serializer: 0.2.1(vitest@4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3)) + tinyexec: 1.1.1 + tsdown: 0.21.10(@typescript/native-preview@7.0.0-dev.20260427.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(publint@0.3.18)(typescript@5.8.3) + vitest: 4.1.5(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) + vitest-ansi-serializer: 0.2.1(vitest@4.1.5(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3)) transitivePeerDependencies: - '@arethetypeswrong/core' - '@edge-runtime/vm' + - '@emnapi/core' + - '@emnapi/runtime' - '@opentelemetry/api' - '@ts-macro/tsc' - '@tsdown/css' @@ -1866,6 +2014,8 @@ snapshots: - '@vitest/browser-playwright' - '@vitest/browser-preview' - '@vitest/browser-webdriverio' + - '@vitest/coverage-istanbul' + - '@vitest/coverage-v8' - '@vitest/ui' - happy-dom - jiti @@ -1943,7 +2093,7 @@ snapshots: package-manager-detector: 0.2.11 picocolors: 1.1.1 resolve-from: 5.0.0 - semver: 7.7.2 + semver: 7.7.4 spawndamnit: 3.0.1 term-size: 2.2.1 @@ -2029,18 +2179,29 @@ snapshots: human-id: 4.1.1 prettier: 2.8.8 - '@emnapi/core@1.9.1': + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true + + '@emnapi/core@1.9.2': dependencies: - '@emnapi/wasi-threads': 1.2.0 + '@emnapi/wasi-threads': 1.2.1 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.9.1': + '@emnapi/runtime@1.10.0': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.0': + '@emnapi/runtime@1.9.2': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 optional: true @@ -2180,10 +2341,17 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@napi-rs/wasm-runtime@1.1.1': + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@emnapi/core': 1.9.1 - '@emnapi/runtime': 1.9.1 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.1 + optional: true + + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + dependencies: + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 '@tybys/wasm-util': 0.10.1 optional: true @@ -2199,7 +2367,71 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@oxc-project/types@0.122.0': {} + '@oxc-parser/binding-android-arm-eabi@0.127.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.127.0': + optional: true + + '@oxc-parser/binding-darwin-arm64@0.127.0': + optional: true + + '@oxc-parser/binding-darwin-x64@0.127.0': + optional: true + + '@oxc-parser/binding-freebsd-x64@0.127.0': + optional: true + + '@oxc-parser/binding-linux-arm-gnueabihf@0.127.0': + optional: true + + '@oxc-parser/binding-linux-arm-musleabihf@0.127.0': + optional: true + + '@oxc-parser/binding-linux-arm64-gnu@0.127.0': + optional: true + + '@oxc-parser/binding-linux-arm64-musl@0.127.0': + optional: true + + '@oxc-parser/binding-linux-ppc64-gnu@0.127.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-gnu@0.127.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-musl@0.127.0': + optional: true + + '@oxc-parser/binding-linux-s390x-gnu@0.127.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.127.0': + optional: true + + '@oxc-parser/binding-linux-x64-musl@0.127.0': + optional: true + + '@oxc-parser/binding-openharmony-arm64@0.127.0': + optional: true + + '@oxc-parser/binding-wasm32-wasi@0.127.0': + dependencies: + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + optional: true + + '@oxc-parser/binding-win32-arm64-msvc@0.127.0': + optional: true + + '@oxc-parser/binding-win32-ia32-msvc@0.127.0': + optional: true + + '@oxc-parser/binding-win32-x64-msvc@0.127.0': + optional: true + + '@oxc-project/types@0.127.0': {} '@oxc-resolver/binding-android-arm-eabi@11.19.1': optional: true @@ -2249,9 +2481,12 @@ snapshots: '@oxc-resolver/binding-openharmony-arm64@11.19.1': optional: true - '@oxc-resolver/binding-wasm32-wasi@11.19.1': + '@oxc-resolver/binding-wasm32-wasi@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.1 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' optional: true '@oxc-resolver/binding-win32-arm64-msvc@11.19.1': @@ -2263,118 +2498,118 @@ snapshots: '@oxc-resolver/binding-win32-x64-msvc@11.19.1': optional: true - '@oxfmt/binding-android-arm-eabi@0.36.0': + '@oxfmt/binding-android-arm-eabi@0.47.0': optional: true - '@oxfmt/binding-android-arm64@0.36.0': + '@oxfmt/binding-android-arm64@0.47.0': optional: true - '@oxfmt/binding-darwin-arm64@0.36.0': + '@oxfmt/binding-darwin-arm64@0.47.0': optional: true - '@oxfmt/binding-darwin-x64@0.36.0': + '@oxfmt/binding-darwin-x64@0.47.0': optional: true - '@oxfmt/binding-freebsd-x64@0.36.0': + '@oxfmt/binding-freebsd-x64@0.47.0': optional: true - '@oxfmt/binding-linux-arm-gnueabihf@0.36.0': + '@oxfmt/binding-linux-arm-gnueabihf@0.47.0': optional: true - '@oxfmt/binding-linux-arm-musleabihf@0.36.0': + '@oxfmt/binding-linux-arm-musleabihf@0.47.0': optional: true - '@oxfmt/binding-linux-arm64-gnu@0.36.0': + '@oxfmt/binding-linux-arm64-gnu@0.47.0': optional: true - '@oxfmt/binding-linux-arm64-musl@0.36.0': + '@oxfmt/binding-linux-arm64-musl@0.47.0': optional: true - '@oxfmt/binding-linux-ppc64-gnu@0.36.0': + '@oxfmt/binding-linux-ppc64-gnu@0.47.0': optional: true - '@oxfmt/binding-linux-riscv64-gnu@0.36.0': + '@oxfmt/binding-linux-riscv64-gnu@0.47.0': optional: true - '@oxfmt/binding-linux-riscv64-musl@0.36.0': + '@oxfmt/binding-linux-riscv64-musl@0.47.0': optional: true - '@oxfmt/binding-linux-s390x-gnu@0.36.0': + '@oxfmt/binding-linux-s390x-gnu@0.47.0': optional: true - '@oxfmt/binding-linux-x64-gnu@0.36.0': + '@oxfmt/binding-linux-x64-gnu@0.47.0': optional: true - '@oxfmt/binding-linux-x64-musl@0.36.0': + '@oxfmt/binding-linux-x64-musl@0.47.0': optional: true - '@oxfmt/binding-openharmony-arm64@0.36.0': + '@oxfmt/binding-openharmony-arm64@0.47.0': optional: true - '@oxfmt/binding-win32-arm64-msvc@0.36.0': + '@oxfmt/binding-win32-arm64-msvc@0.47.0': optional: true - '@oxfmt/binding-win32-ia32-msvc@0.36.0': + '@oxfmt/binding-win32-ia32-msvc@0.47.0': optional: true - '@oxfmt/binding-win32-x64-msvc@0.36.0': + '@oxfmt/binding-win32-x64-msvc@0.47.0': optional: true - '@oxlint/binding-android-arm-eabi@1.57.0': + '@oxlint/binding-android-arm-eabi@1.62.0': optional: true - '@oxlint/binding-android-arm64@1.57.0': + '@oxlint/binding-android-arm64@1.62.0': optional: true - '@oxlint/binding-darwin-arm64@1.57.0': + '@oxlint/binding-darwin-arm64@1.62.0': optional: true - '@oxlint/binding-darwin-x64@1.57.0': + '@oxlint/binding-darwin-x64@1.62.0': optional: true - '@oxlint/binding-freebsd-x64@1.57.0': + '@oxlint/binding-freebsd-x64@1.62.0': optional: true - '@oxlint/binding-linux-arm-gnueabihf@1.57.0': + '@oxlint/binding-linux-arm-gnueabihf@1.62.0': optional: true - '@oxlint/binding-linux-arm-musleabihf@1.57.0': + '@oxlint/binding-linux-arm-musleabihf@1.62.0': optional: true - '@oxlint/binding-linux-arm64-gnu@1.57.0': + '@oxlint/binding-linux-arm64-gnu@1.62.0': optional: true - '@oxlint/binding-linux-arm64-musl@1.57.0': + '@oxlint/binding-linux-arm64-musl@1.62.0': optional: true - '@oxlint/binding-linux-ppc64-gnu@1.57.0': + '@oxlint/binding-linux-ppc64-gnu@1.62.0': optional: true - '@oxlint/binding-linux-riscv64-gnu@1.57.0': + '@oxlint/binding-linux-riscv64-gnu@1.62.0': optional: true - '@oxlint/binding-linux-riscv64-musl@1.57.0': + '@oxlint/binding-linux-riscv64-musl@1.62.0': optional: true - '@oxlint/binding-linux-s390x-gnu@1.57.0': + '@oxlint/binding-linux-s390x-gnu@1.62.0': optional: true - '@oxlint/binding-linux-x64-gnu@1.57.0': + '@oxlint/binding-linux-x64-gnu@1.62.0': optional: true - '@oxlint/binding-linux-x64-musl@1.57.0': + '@oxlint/binding-linux-x64-musl@1.62.0': optional: true - '@oxlint/binding-openharmony-arm64@1.57.0': + '@oxlint/binding-openharmony-arm64@1.62.0': optional: true - '@oxlint/binding-win32-arm64-msvc@1.57.0': + '@oxlint/binding-win32-arm64-msvc@1.62.0': optional: true - '@oxlint/binding-win32-ia32-msvc@1.57.0': + '@oxlint/binding-win32-ia32-msvc@1.62.0': optional: true - '@oxlint/binding-win32-x64-msvc@1.57.0': + '@oxlint/binding-win32-x64-msvc@1.62.0': optional: true '@publint/pack@0.1.4': {} @@ -2383,54 +2618,56 @@ snapshots: dependencies: quansync: 1.0.0 - '@rolldown/binding-android-arm64@1.0.0-rc.11': + '@rolldown/binding-android-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.11': + '@rolldown/binding-darwin-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.11': + '@rolldown/binding-darwin-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.11': + '@rolldown/binding-freebsd-x64@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.11': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.11': + '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.11': + '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.11': + '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.11': + '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.11': + '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.11': + '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': + '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.11': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': dependencies: - '@napi-rs/wasm-runtime': 1.1.1 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.11': + '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.11': + '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': optional: true - '@rolldown/pluginutils@1.0.0-rc.11': {} + '@rolldown/pluginutils@1.0.0-rc.17': {} '@rollup/rollup-android-arm-eabi@4.45.1': optional: true @@ -2515,75 +2752,75 @@ snapshots: dependencies: undici-types: 6.21.0 - '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260307.1': + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260427.1': optional: true - '@typescript/native-preview-darwin-x64@7.0.0-dev.20260307.1': + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260427.1': optional: true - '@typescript/native-preview-linux-arm64@7.0.0-dev.20260307.1': + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260427.1': optional: true - '@typescript/native-preview-linux-arm@7.0.0-dev.20260307.1': + '@typescript/native-preview-linux-arm@7.0.0-dev.20260427.1': optional: true - '@typescript/native-preview-linux-x64@7.0.0-dev.20260307.1': + '@typescript/native-preview-linux-x64@7.0.0-dev.20260427.1': optional: true - '@typescript/native-preview-win32-arm64@7.0.0-dev.20260307.1': + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260427.1': optional: true - '@typescript/native-preview-win32-x64@7.0.0-dev.20260307.1': + '@typescript/native-preview-win32-x64@7.0.0-dev.20260427.1': optional: true - '@typescript/native-preview@7.0.0-dev.20260307.1': + '@typescript/native-preview@7.0.0-dev.20260427.1': optionalDependencies: - '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260307.1 - '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260307.1 - '@typescript/native-preview-linux-arm': 7.0.0-dev.20260307.1 - '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260307.1 - '@typescript/native-preview-linux-x64': 7.0.0-dev.20260307.1 - '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260307.1 - '@typescript/native-preview-win32-x64': 7.0.0-dev.20260307.1 + '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260427.1 + '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260427.1 + '@typescript/native-preview-linux-arm': 7.0.0-dev.20260427.1 + '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260427.1 + '@typescript/native-preview-linux-x64': 7.0.0-dev.20260427.1 + '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260427.1 + '@typescript/native-preview-win32-x64': 7.0.0-dev.20260427.1 - '@vitest/expect@4.1.1': + '@vitest/expect@4.1.5': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 4.1.1 - '@vitest/utils': 4.1.1 + '@vitest/spy': 4.1.5 + '@vitest/utils': 4.1.5 chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.1(vite@7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3))': + '@vitest/mocker@4.1.5(vite@7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3))': dependencies: - '@vitest/spy': 4.1.1 + '@vitest/spy': 4.1.5 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: vite: 7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) - '@vitest/pretty-format@4.1.1': + '@vitest/pretty-format@4.1.5': dependencies: tinyrainbow: 3.1.0 - '@vitest/runner@4.1.1': + '@vitest/runner@4.1.5': dependencies: - '@vitest/utils': 4.1.1 + '@vitest/utils': 4.1.5 pathe: 2.0.3 - '@vitest/snapshot@4.1.1': + '@vitest/snapshot@4.1.5': dependencies: - '@vitest/pretty-format': 4.1.1 - '@vitest/utils': 4.1.1 + '@vitest/pretty-format': 4.1.5 + '@vitest/utils': 4.1.5 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.1': {} + '@vitest/spy@4.1.5': {} - '@vitest/utils@4.1.1': + '@vitest/utils@4.1.5': dependencies: - '@vitest/pretty-format': 4.1.1 + '@vitest/pretty-format': 4.1.5 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 @@ -2601,7 +2838,7 @@ snapshots: ast-kit@3.0.0-beta.1: dependencies: - '@babel/parser': 8.0.0-rc.2 + '@babel/parser': 8.0.0-rc.3 estree-walker: 3.0.3 pathe: 2.0.3 @@ -2635,7 +2872,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - defu@6.1.4: {} + defu@6.1.7: {} detect-indent@6.1.0: {} @@ -2643,9 +2880,9 @@ snapshots: dependencies: path-type: 4.0.0 - dts-resolver@2.1.3(oxc-resolver@11.19.1): + dts-resolver@2.1.3(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)): optionalDependencies: - oxc-resolver: 11.19.1 + oxc-resolver: 11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) empathic@2.0.0: {} @@ -2759,7 +2996,7 @@ snapshots: fsevents@2.3.3: optional: true - get-tsconfig@4.13.7: + get-tsconfig@4.14.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -2778,7 +3015,7 @@ snapshots: graceful-fs@4.2.11: {} - hookable@6.1.0: {} + hookable@6.1.1: {} human-id@4.1.1: {} @@ -2790,7 +3027,7 @@ snapshots: ignore@5.3.2: {} - import-without-cache@0.2.5: {} + import-without-cache@0.3.3: {} is-extglob@2.1.1: {} @@ -2831,23 +3068,25 @@ snapshots: node-stream-zip: 1.15.0 semiver: 1.1.0 - knip@5.88.1(@types/node@20.19.39)(typescript@5.8.3): + knip@6.7.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: - '@nodelib/fs.walk': 1.2.8 - '@types/node': 20.19.39 - fast-glob: 3.3.3 + fdir: 6.5.0(picomatch@4.0.4) formatly: 0.3.0 + get-tsconfig: 4.14.0 jiti: 2.6.1 minimist: 1.2.8 - oxc-resolver: 11.19.1 - picocolors: 1.1.1 + oxc-parser: 0.127.0 + oxc-resolver: 11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) picomatch: 4.0.4 smol-toml: 1.6.1 strip-json-comments: 5.0.3 - typescript: 5.8.3 - unbash: 2.2.0 + tinyglobby: 0.2.16 + unbash: 3.0.0 yaml: 2.8.3 zod: 4.3.6 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' kolorist@1.8.0: {} @@ -2889,7 +3128,32 @@ snapshots: outdent@0.5.0: {} - oxc-resolver@11.19.1: + oxc-parser@0.127.0: + dependencies: + '@oxc-project/types': 0.127.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.127.0 + '@oxc-parser/binding-android-arm64': 0.127.0 + '@oxc-parser/binding-darwin-arm64': 0.127.0 + '@oxc-parser/binding-darwin-x64': 0.127.0 + '@oxc-parser/binding-freebsd-x64': 0.127.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.127.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.127.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.127.0 + '@oxc-parser/binding-linux-arm64-musl': 0.127.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.127.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.127.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.127.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.127.0 + '@oxc-parser/binding-linux-x64-gnu': 0.127.0 + '@oxc-parser/binding-linux-x64-musl': 0.127.0 + '@oxc-parser/binding-openharmony-arm64': 0.127.0 + '@oxc-parser/binding-wasm32-wasi': 0.127.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.127.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.127.0 + '@oxc-parser/binding-win32-x64-msvc': 0.127.0 + + oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): optionalDependencies: '@oxc-resolver/binding-android-arm-eabi': 11.19.1 '@oxc-resolver/binding-android-arm64': 11.19.1 @@ -2907,56 +3171,59 @@ snapshots: '@oxc-resolver/binding-linux-x64-gnu': 11.19.1 '@oxc-resolver/binding-linux-x64-musl': 11.19.1 '@oxc-resolver/binding-openharmony-arm64': 11.19.1 - '@oxc-resolver/binding-wasm32-wasi': 11.19.1 + '@oxc-resolver/binding-wasm32-wasi': 11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@oxc-resolver/binding-win32-arm64-msvc': 11.19.1 '@oxc-resolver/binding-win32-ia32-msvc': 11.19.1 '@oxc-resolver/binding-win32-x64-msvc': 11.19.1 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' - oxfmt@0.36.0: + oxfmt@0.47.0: dependencies: tinypool: 2.1.0 optionalDependencies: - '@oxfmt/binding-android-arm-eabi': 0.36.0 - '@oxfmt/binding-android-arm64': 0.36.0 - '@oxfmt/binding-darwin-arm64': 0.36.0 - '@oxfmt/binding-darwin-x64': 0.36.0 - '@oxfmt/binding-freebsd-x64': 0.36.0 - '@oxfmt/binding-linux-arm-gnueabihf': 0.36.0 - '@oxfmt/binding-linux-arm-musleabihf': 0.36.0 - '@oxfmt/binding-linux-arm64-gnu': 0.36.0 - '@oxfmt/binding-linux-arm64-musl': 0.36.0 - '@oxfmt/binding-linux-ppc64-gnu': 0.36.0 - '@oxfmt/binding-linux-riscv64-gnu': 0.36.0 - '@oxfmt/binding-linux-riscv64-musl': 0.36.0 - '@oxfmt/binding-linux-s390x-gnu': 0.36.0 - '@oxfmt/binding-linux-x64-gnu': 0.36.0 - '@oxfmt/binding-linux-x64-musl': 0.36.0 - '@oxfmt/binding-openharmony-arm64': 0.36.0 - '@oxfmt/binding-win32-arm64-msvc': 0.36.0 - '@oxfmt/binding-win32-ia32-msvc': 0.36.0 - '@oxfmt/binding-win32-x64-msvc': 0.36.0 - - oxlint@1.57.0: + '@oxfmt/binding-android-arm-eabi': 0.47.0 + '@oxfmt/binding-android-arm64': 0.47.0 + '@oxfmt/binding-darwin-arm64': 0.47.0 + '@oxfmt/binding-darwin-x64': 0.47.0 + '@oxfmt/binding-freebsd-x64': 0.47.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.47.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.47.0 + '@oxfmt/binding-linux-arm64-gnu': 0.47.0 + '@oxfmt/binding-linux-arm64-musl': 0.47.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.47.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.47.0 + '@oxfmt/binding-linux-riscv64-musl': 0.47.0 + '@oxfmt/binding-linux-s390x-gnu': 0.47.0 + '@oxfmt/binding-linux-x64-gnu': 0.47.0 + '@oxfmt/binding-linux-x64-musl': 0.47.0 + '@oxfmt/binding-openharmony-arm64': 0.47.0 + '@oxfmt/binding-win32-arm64-msvc': 0.47.0 + '@oxfmt/binding-win32-ia32-msvc': 0.47.0 + '@oxfmt/binding-win32-x64-msvc': 0.47.0 + + oxlint@1.62.0: optionalDependencies: - '@oxlint/binding-android-arm-eabi': 1.57.0 - '@oxlint/binding-android-arm64': 1.57.0 - '@oxlint/binding-darwin-arm64': 1.57.0 - '@oxlint/binding-darwin-x64': 1.57.0 - '@oxlint/binding-freebsd-x64': 1.57.0 - '@oxlint/binding-linux-arm-gnueabihf': 1.57.0 - '@oxlint/binding-linux-arm-musleabihf': 1.57.0 - '@oxlint/binding-linux-arm64-gnu': 1.57.0 - '@oxlint/binding-linux-arm64-musl': 1.57.0 - '@oxlint/binding-linux-ppc64-gnu': 1.57.0 - '@oxlint/binding-linux-riscv64-gnu': 1.57.0 - '@oxlint/binding-linux-riscv64-musl': 1.57.0 - '@oxlint/binding-linux-s390x-gnu': 1.57.0 - '@oxlint/binding-linux-x64-gnu': 1.57.0 - '@oxlint/binding-linux-x64-musl': 1.57.0 - '@oxlint/binding-openharmony-arm64': 1.57.0 - '@oxlint/binding-win32-arm64-msvc': 1.57.0 - '@oxlint/binding-win32-ia32-msvc': 1.57.0 - '@oxlint/binding-win32-x64-msvc': 1.57.0 + '@oxlint/binding-android-arm-eabi': 1.62.0 + '@oxlint/binding-android-arm64': 1.62.0 + '@oxlint/binding-darwin-arm64': 1.62.0 + '@oxlint/binding-darwin-x64': 1.62.0 + '@oxlint/binding-freebsd-x64': 1.62.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.62.0 + '@oxlint/binding-linux-arm-musleabihf': 1.62.0 + '@oxlint/binding-linux-arm64-gnu': 1.62.0 + '@oxlint/binding-linux-arm64-musl': 1.62.0 + '@oxlint/binding-linux-ppc64-gnu': 1.62.0 + '@oxlint/binding-linux-riscv64-gnu': 1.62.0 + '@oxlint/binding-linux-riscv64-musl': 1.62.0 + '@oxlint/binding-linux-s390x-gnu': 1.62.0 + '@oxlint/binding-linux-x64-gnu': 1.62.0 + '@oxlint/binding-linux-x64-musl': 1.62.0 + '@oxlint/binding-openharmony-arm64': 1.62.0 + '@oxlint/binding-win32-arm64-msvc': 1.62.0 + '@oxlint/binding-win32-ia32-msvc': 1.62.0 + '@oxlint/binding-win32-x64-msvc': 1.62.0 p-filter@2.1.0: dependencies: @@ -3030,44 +3297,45 @@ snapshots: reusify@1.0.4: {} - rolldown-plugin-dts@0.22.5(@typescript/native-preview@7.0.0-dev.20260307.1)(oxc-resolver@11.19.1)(rolldown@1.0.0-rc.11)(typescript@5.8.3): + rolldown-plugin-dts@0.23.2(@typescript/native-preview@7.0.0-dev.20260427.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rolldown@1.0.0-rc.17)(typescript@5.8.3): dependencies: - '@babel/generator': 8.0.0-rc.2 - '@babel/helper-validator-identifier': 8.0.0-rc.2 - '@babel/parser': 8.0.0-rc.2 - '@babel/types': 8.0.0-rc.2 + '@babel/generator': 8.0.0-rc.3 + '@babel/helper-validator-identifier': 8.0.0-rc.3 + '@babel/parser': 8.0.0-rc.3 + '@babel/types': 8.0.0-rc.3 ast-kit: 3.0.0-beta.1 birpc: 4.0.0 - dts-resolver: 2.1.3(oxc-resolver@11.19.1) - get-tsconfig: 4.13.7 + dts-resolver: 2.1.3(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)) + get-tsconfig: 4.14.0 obug: 2.1.1 - rolldown: 1.0.0-rc.11 + picomatch: 4.0.4 + rolldown: 1.0.0-rc.17 optionalDependencies: - '@typescript/native-preview': 7.0.0-dev.20260307.1 + '@typescript/native-preview': 7.0.0-dev.20260427.1 typescript: 5.8.3 transitivePeerDependencies: - oxc-resolver - rolldown@1.0.0-rc.11: + rolldown@1.0.0-rc.17: dependencies: - '@oxc-project/types': 0.122.0 - '@rolldown/pluginutils': 1.0.0-rc.11 + '@oxc-project/types': 0.127.0 + '@rolldown/pluginutils': 1.0.0-rc.17 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.11 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.11 - '@rolldown/binding-darwin-x64': 1.0.0-rc.11 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.11 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.11 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.11 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.11 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.11 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.11 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.11 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.11 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.11 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.11 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.11 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.11 + '@rolldown/binding-android-arm64': 1.0.0-rc.17 + '@rolldown/binding-darwin-arm64': 1.0.0-rc.17 + '@rolldown/binding-darwin-x64': 1.0.0-rc.17 + '@rolldown/binding-freebsd-x64': 1.0.0-rc.17 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.17 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.17 + '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.17 + '@rolldown/binding-linux-x64-musl': 1.0.0-rc.17 + '@rolldown/binding-openharmony-arm64': 1.0.0-rc.17 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.17 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17 + '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17 rollup@4.45.1: dependencies: @@ -3107,8 +3375,6 @@ snapshots: semiver@1.1.0: {} - semver@7.7.2: {} - semver@7.7.4: {} shebang-command@2.0.0: @@ -3156,9 +3422,9 @@ snapshots: tinybench@2.9.0: {} - tinyexec@1.0.4: {} + tinyexec@1.1.1: {} - tinyglobby@0.2.15: + tinyglobby@0.2.16: dependencies: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 @@ -3181,24 +3447,24 @@ snapshots: tree-kill@1.2.2: {} - tsdown@0.21.5(@typescript/native-preview@7.0.0-dev.20260307.1)(oxc-resolver@11.19.1)(publint@0.3.18)(typescript@5.8.3): + tsdown@0.21.10(@typescript/native-preview@7.0.0-dev.20260427.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(publint@0.3.18)(typescript@5.8.3): dependencies: ansis: 4.2.0 cac: 7.0.0 - defu: 6.1.4 + defu: 6.1.7 empathic: 2.0.0 - hookable: 6.1.0 - import-without-cache: 0.2.5 + hookable: 6.1.1 + import-without-cache: 0.3.3 obug: 2.1.1 picomatch: 4.0.4 - rolldown: 1.0.0-rc.11 - rolldown-plugin-dts: 0.22.5(@typescript/native-preview@7.0.0-dev.20260307.1)(oxc-resolver@11.19.1)(rolldown@1.0.0-rc.11)(typescript@5.8.3) + rolldown: 1.0.0-rc.17 + rolldown-plugin-dts: 0.23.2(@typescript/native-preview@7.0.0-dev.20260427.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(rolldown@1.0.0-rc.17)(typescript@5.8.3) semver: 7.7.4 - tinyexec: 1.0.4 - tinyglobby: 0.2.15 + tinyexec: 1.1.1 + tinyglobby: 0.2.16 tree-kill: 1.2.2 unconfig-core: 7.5.0 - unrun: 0.2.33 + unrun: 0.2.37 optionalDependencies: publint: 0.3.18 typescript: 5.8.3 @@ -3213,7 +3479,7 @@ snapshots: typescript@5.8.3: {} - unbash@2.2.0: {} + unbash@3.0.0: {} unconfig-core@7.5.0: dependencies: @@ -3224,9 +3490,9 @@ snapshots: universalify@0.1.2: {} - unrun@0.2.33: + unrun@0.2.37: dependencies: - rolldown: 1.0.0-rc.11 + rolldown: 1.0.0-rc.17 vite@7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3): dependencies: @@ -3235,26 +3501,26 @@ snapshots: picomatch: 4.0.4 postcss: 8.5.6 rollup: 4.45.1 - tinyglobby: 0.2.15 + tinyglobby: 0.2.16 optionalDependencies: '@types/node': 20.19.39 fsevents: 2.3.3 jiti: 2.6.1 yaml: 2.8.3 - vitest-ansi-serializer@0.2.1(vitest@4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3)): + vitest-ansi-serializer@0.2.1(vitest@4.1.5(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3)): dependencies: - vitest: 4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) + vitest: 4.1.5(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) - vitest@4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3): + vitest@4.1.5(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3): dependencies: - '@vitest/expect': 4.1.1 - '@vitest/mocker': 4.1.1(vite@7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3)) - '@vitest/pretty-format': 4.1.1 - '@vitest/runner': 4.1.1 - '@vitest/snapshot': 4.1.1 - '@vitest/spy': 4.1.1 - '@vitest/utils': 4.1.1 + '@vitest/expect': 4.1.5 + '@vitest/mocker': 4.1.5(vite@7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3)) + '@vitest/pretty-format': 4.1.5 + '@vitest/runner': 4.1.5 + '@vitest/snapshot': 4.1.5 + '@vitest/spy': 4.1.5 + '@vitest/utils': 4.1.5 es-module-lexer: 2.0.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -3263,8 +3529,8 @@ snapshots: picomatch: 4.0.4 std-env: 4.0.0 tinybench: 2.9.0 - tinyexec: 1.0.4 - tinyglobby: 0.2.15 + tinyexec: 1.1.1 + tinyglobby: 0.2.16 tinyrainbow: 3.1.0 vite: 7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) why-is-node-running: 2.3.0 From 0a01036de98dd2cdafabbeb620c3e370485d7e7f Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 29 Apr 2026 09:40:58 +0100 Subject: [PATCH 4/9] update `@bomb.sh/tools` --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ea1923ed..4e93c6a2 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "pretest": "pnpm run build" }, "devDependencies": { - "@bomb.sh/tools": "^0.4.0", + "@bomb.sh/tools": "^0.4.1", "@changesets/cli": "^2.29.5", "@types/node": "^20.19.39", "jsr": "^0.13.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0b74a030..f198ed25 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@bomb.sh/tools': - specifier: ^0.4.0 - version: 0.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.8.3)(yaml@2.8.3) + specifier: ^0.4.1 + version: 0.4.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.8.3)(yaml@2.8.3) '@changesets/cli': specifier: ^2.29.5 version: 2.29.5 @@ -113,8 +113,8 @@ packages: '@bomb.sh/args@0.3.1': resolution: {integrity: sha512-CwxKrfgcorUPP6KfYD59aRdBYWBTsfsxT+GmoLVnKo5Tmyoqbpo0UNcjngRMyU+6tiPbd18RuIYxhgAn44wU/Q==} - '@bomb.sh/tools@0.4.0': - resolution: {integrity: sha512-8ky/tu77Z8vdbF7U1h3Kb+AC+qfzzfbQvRinA6WM7nAsUzBaOLYTCmwrEBDOMAe/ZDYpPrYNCO/ixVr2iq+ynw==} + '@bomb.sh/tools@0.4.1': + resolution: {integrity: sha512-cYPPLpORxmwjSDjwcMHvjV0lFFODPo9tXNbQeA4kULLwTJe6JfOpySKPPwlzssE9YGWKtPDZyhWn/TnupX2ZBg==} hasBin: true '@changesets/apply-release-plan@7.0.12': @@ -1986,7 +1986,7 @@ snapshots: '@bomb.sh/args@0.3.1': {} - '@bomb.sh/tools@0.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.8.3)(yaml@2.8.3)': + '@bomb.sh/tools@0.4.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@5.8.3)(yaml@2.8.3)': dependencies: '@bomb.sh/args': 0.3.1 '@humanfs/node': 0.16.7 From 3e16abb7bd2a4efc87c43fb28dfcc92a42d96036 Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 29 Apr 2026 20:25:29 +0100 Subject: [PATCH 5/9] update `@bomb.sh/tools` --- package.json | 2 +- pnpm-lock.yaml | 223 ++++++++++++++++++++++--------------------------- 2 files changed, 103 insertions(+), 122 deletions(-) diff --git a/package.json b/package.json index 1368b1a1..ccaaee05 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "pretest": "pnpm run build" }, "devDependencies": { - "@bomb.sh/tools": "^0.4.1", + "@bomb.sh/tools": "^0.4.2", "@changesets/cli": "^2.29.5", "@types/node": "^20.19.39", "jsr": "^0.13.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3360e6df..8ef8fa16 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@bomb.sh/tools': - specifier: ^0.4.1 - version: 0.4.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3) + specifier: ^0.4.2 + version: 0.4.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3) '@changesets/cli': specifier: ^2.29.5 version: 2.29.5 @@ -113,8 +113,8 @@ packages: '@bomb.sh/args@0.3.1': resolution: {integrity: sha512-CwxKrfgcorUPP6KfYD59aRdBYWBTsfsxT+GmoLVnKo5Tmyoqbpo0UNcjngRMyU+6tiPbd18RuIYxhgAn44wU/Q==} - '@bomb.sh/tools@0.4.1': - resolution: {integrity: sha512-cYPPLpORxmwjSDjwcMHvjV0lFFODPo9tXNbQeA4kULLwTJe6JfOpySKPPwlzssE9YGWKtPDZyhWn/TnupX2ZBg==} + '@bomb.sh/tools@0.4.2': + resolution: {integrity: sha512-BbjMPPUhUG9ZM2lVbXiCfy5u+IDEDW5q++F3q/RQDiENhyaGqXk3HZhVFK4XqSRQ+fd4VO8KLzbQGdbis4XU2Q==} hasBin: true '@changesets/apply-release-plan@7.0.12': @@ -175,15 +175,9 @@ packages: '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/core@1.9.2': - resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} - '@emnapi/runtime@1.10.0': resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/runtime@1.9.2': - resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} - '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} @@ -414,129 +408,129 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-parser/binding-android-arm-eabi@0.127.0': - resolution: {integrity: sha512-0LC7ye4hvqbIKxAzThzvswgHLFu2AURKzYLeSVvLdu2TBOYWQDmHnTqPLeA597BcUCxiLqLsS4CJ5uoI5WYWCQ==} + '@oxc-parser/binding-android-arm-eabi@0.128.0': + resolution: {integrity: sha512-aca6ZvzmCBUGOANQRiRQRZuRKYI3ENhcit6GisnknOOmcezfQc7xJ4dxlPU7MV7mOvrC7RNR1u3LAD7xyaiCxA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxc-parser/binding-android-arm64@0.127.0': - resolution: {integrity: sha512-b5jtVTH6AU5CJXHNdj7Jj9IEiR9yVjjnwHzPJhGyHGPdcsZSzBCkS9GBbV33niRMvKthDwQRFRJfI4a+k4PvYg==} + '@oxc-parser/binding-android-arm64@0.128.0': + resolution: {integrity: sha512-BbeDmuohoJ7Rz/it5wnkj69i/OsCPS3Z51nLEzwO/Y6YshtC4JU+15oNwhY8v4LRKRYclRc7ggOikwrsJ/eOEQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-parser/binding-darwin-arm64@0.127.0': - resolution: {integrity: sha512-obCE8B7ISKkJidjlhv9xRGJPOSDG2Yu6PRga9Ruaz35uintHxbp1Ki/Yc71wx4rj3Edrm0a1kzG1TAwit0wFpg==} + '@oxc-parser/binding-darwin-arm64@0.128.0': + resolution: {integrity: sha512-tRUHPt80417QmvNpoSslJT1VY8NUbWdrWR+L14Zn+RbOTcaqB8E6PYE/ZGN8jjWBzqporiA/H4MfO50ew/NCNA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.127.0': - resolution: {integrity: sha512-JL6Xb5IwPQT8rUzlpsX7E+AgfcdNklXNPFp8pjCQQ5MQOQo5rtEB2ui+3Hgg9Sn7Y9Egj6YOLLiHhLpdAe12Aw==} + '@oxc-parser/binding-darwin-x64@0.128.0': + resolution: {integrity: sha512-rWI2Hb1Nt3U/vKsjyNvZzDC8i/l144U20DKjhzaTmwIhIiSRGeroPWWiImwypmKLqrw8GuIixbWJkpGWLbkzrQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-parser/binding-freebsd-x64@0.127.0': - resolution: {integrity: sha512-SDQ/3MQFw58fqQz3Z1PhSKFF3JoCF4gmlNjziDm8X02tTahCw0qJbd7FGPDKw1i4VTBZene9JPyC3mHtSvi+wA==} + '@oxc-parser/binding-freebsd-x64@0.128.0': + resolution: {integrity: sha512-hhpdVMaNCLgQxjgNPeeFzSeJMmZPc5lKfv0NGSI3egZq9EdnEGqeC8JsYsQjK7PoQgbvZ17xlj0SO5ziH5Obkg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-parser/binding-linux-arm-gnueabihf@0.127.0': - resolution: {integrity: sha512-Av+D1MIqzV0YMGPT9we2SIZaMKD7Cxs4CvXSx/yxaWHewZjYEjScpOf5igc8IILASViw4WTnjlwUdI1KzVtDHQ==} + '@oxc-parser/binding-linux-arm-gnueabihf@0.128.0': + resolution: {integrity: sha512-093zNw0zZ/e/obML+rhlSdmnzR0mVZluPcAkxunEc5E3F0yBVsFn24Y1ILfsEte11Ud041qn/gp2OJ1jxNqUng==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.127.0': - resolution: {integrity: sha512-Cs2fdJ8cPpFdeebj6p4dag8A4+56hPvZ0AhQQzlaLswGz1tz7bXt1nETLeorrM9+AMcWFFkqxcXwDGfTVidY8g==} + '@oxc-parser/binding-linux-arm-musleabihf@0.128.0': + resolution: {integrity: sha512-fq7DmKmfC+dvD97IXrgbph6Jzwe0EDu+PYMofmzZ6fv5X1k9vtaqLpDGMuICO9MmUnyKAQmVl+wIv2RNy4Dz8g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm64-gnu@0.127.0': - resolution: {integrity: sha512-qdOfTcT6SY8gsJrrV92uyEUyjqMGPpIB5JZUG6QN5dukYd+7/j0kX6MwK1DgQj39jtUYixxPiaRUiEN1+0CXgQ==} + '@oxc-parser/binding-linux-arm64-gnu@0.128.0': + resolution: {integrity: sha512-Xvm48jJah8TlIrURIjNOP/gNiGe6aKvCB+r06VliflFo8Kq7VOLE8PxtgShJzZIqubrgdMdYfvuPPozn7F6MbQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-arm64-musl@0.127.0': - resolution: {integrity: sha512-EoTCZneNFU/P2qrpEM+RHmQwt+CvDkyGESG6qhr7KaegXLZwePfbrkCDfAk8/rhxbDUVGsZILX+2tqPzFtoFWA==} + '@oxc-parser/binding-linux-arm64-musl@0.128.0': + resolution: {integrity: sha512-M7iwBGmYJTx+pKOYFjI0buop4gJvlmcVzFGaXPt21DKpQkbQZG1f63Yg7LloIYT/t9yLxCw0Lhfx/RFlAlMSjA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-ppc64-gnu@0.127.0': - resolution: {integrity: sha512-zALjmZYgxFLHjXeudcDF0xFGNydTAtkAeXAr2EuC17ywCyFxcmQra4w0BMde0Yi/re4Bi4iwEoEXtYN7l6eBLQ==} + '@oxc-parser/binding-linux-ppc64-gnu@0.128.0': + resolution: {integrity: sha512-21LGNIZb1Pcfk5/EGsqabrxv4yqQOWis1407JJrClS7XpFCrbvr74YAB1V+m54cYbwvO6UWwQqS4WecxiyfCRg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-gnu@0.127.0': - resolution: {integrity: sha512-fPP8M6zQLS7Jz7o9d5ArUSuAuSK3e+WCYVrCpdzeCOejidtZExJ9tjhDrAd3HEPqARBCPmdpqxESPFqy44vkBQ==} + '@oxc-parser/binding-linux-riscv64-gnu@0.128.0': + resolution: {integrity: sha512-gyHjOTFpg9bTTYjxPmQirvufb89+VdZwVfcMtAUyPr6F5H8ZswvCQshK4qOW+Q+2Xyb33hduRgY/eFHJQjU/vQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-musl@0.127.0': - resolution: {integrity: sha512-7IcC4Ao02oGpfnjt+X/oF4U2mllo2qoSkw5xxiXNKL9MCTsTiAC6616beOuehdxGcnz1bRoPC1RQ2f1GQDdN+g==} + '@oxc-parser/binding-linux-riscv64-musl@0.128.0': + resolution: {integrity: sha512-X6Q2oKUrP5GyDd2xniuEBLk6aFQCZ97W2+aVXGgJXdjx5t4/oFuA9ri0wLOUrBIX+qdSuK581snMBio4z910eA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-s390x-gnu@0.127.0': - resolution: {integrity: sha512-pbXIhiNFHoqWeqDNLiJ9JkpHz1IM9k4DXa66x+1GTWMG7iLxtkXgE53iiuKSXwmk3zIYmaPVfBvgcAhS583K4Q==} + '@oxc-parser/binding-linux-s390x-gnu@0.128.0': + resolution: {integrity: sha512-BdzTmqxfxoYkpgokoLaSnOX6T+R3/goL42klre2tnG+kHbG2TXS0VN+P5BPofH1axdKOHy5ei4ENZrjmCOt2lA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-gnu@0.127.0': - resolution: {integrity: sha512-MYCguB9RvBvlSd6gbuNI7QwiLoCCAlGnlRJFPrzLI6U1/9wkC/WK6LtBAUln55H1Ctqw45PWmqrobKoMhsYQzQ==} + '@oxc-parser/binding-linux-x64-gnu@0.128.0': + resolution: {integrity: sha512-OO1nW2Q7sSYYvJZpDHdvyFSdRaVcQqRijZSSmWVMqFxPYy8cEF45zJ9fcdIYuzIT3jYq6YRhEFm/VMWNWhE22Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-musl@0.127.0': - resolution: {integrity: sha512-5eY0B/bxf1xIUxb4NOTvOI3KWtBQfPWYyKAzgcrCt0mDibSZygVpO1Pz8bkeiSZ5Jj9+M09dkggG3H8I5d0Uyg==} + '@oxc-parser/binding-linux-x64-musl@0.128.0': + resolution: {integrity: sha512-4NehAe404MRdoZVS9DW8C5XbJwbXIc/KfVlYdpi5vE4081zc9Y0YzKVqyOYj/Puye7/Do+ohaONBFWlEHYl9hw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-parser/binding-openharmony-arm64@0.127.0': - resolution: {integrity: sha512-Gld0ajrFTUXNtdw20fVBuTQx66FA75nIVg+//pPfR3sXkuABB4mTBhl3r9JNzrJpgW//qiwxf0nWXUWGJSL3UQ==} + '@oxc-parser/binding-openharmony-arm64@0.128.0': + resolution: {integrity: sha512-kVbqgW9xLL8bh8oc7aYOJilRKXE5G33+tE0jan+duo/9OriaFRpijcCwT2waWs2oqYROYq0GlE7/p3ywoshVeg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxc-parser/binding-wasm32-wasi@0.127.0': - resolution: {integrity: sha512-T6KVD7rhLzFlwGRXMnxUFfkCZD8FHnb968wVXW1mXzgRFc5RNXOBY2mPPDZ77x5Ln76ltLMgtPg0cOkU1NSrEQ==} + '@oxc-parser/binding-wasm32-wasi@0.128.0': + resolution: {integrity: sha512-L38ojghJYHmgiz6fJd7jwLB/ESDBpB02NdFxh+smqVM6P2anCEvHn0jhaSrt5eVNR1Ak8+moOeftUlofeyvniA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@oxc-parser/binding-win32-arm64-msvc@0.127.0': - resolution: {integrity: sha512-Ujvw4X+LD1CCGULcsQcvb4YNVoBGqt+JHgNNzGGaCImELiZLk477ifUH53gIbE7EKd933NdTi25JWEr9K2HwXw==} + '@oxc-parser/binding-win32-arm64-msvc@0.128.0': + resolution: {integrity: sha512-xgvO35GyHBtjlQ5AEpaYr7Rll1rvY7zqIhT6ty8E3ezBW2J1SFLjIDEvI/tcgDg6oaseDAqVcM+jU1HuCekgZw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-parser/binding-win32-ia32-msvc@0.127.0': - resolution: {integrity: sha512-0cwxKO7KHQQQfo4Uf4B2SQrhgm+cJaP9OvFFhx52Tkg4bezsacu83GB2/In5bC415Ueeym+kXdnge/57rbSfTw==} + '@oxc-parser/binding-win32-ia32-msvc@0.128.0': + resolution: {integrity: sha512-OY+3eM2SN72prHKRB22mPz8o5A/7dJ+f5DFLBVvggyZhEaNDAH9IB+ElMjmOkOIwf5MDCUAowCK7pAncNxzpBA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.127.0': - resolution: {integrity: sha512-rOrnSQSCbhI2kowr9XxE7m9a8oQXnBHjnS6j95LxxAnEZ0+Fz20WlRXG4ondQb+ejjt2KOsa65sE6++L6kUd+w==} + '@oxc-parser/binding-win32-x64-msvc@0.128.0': + resolution: {integrity: sha512-NE9ny+cPUCCObXa0IKLfj0tCdPd7pe/dz9ZpkxpUOymB3miNeMPybdlYYTBSGJUalMWeBM85/4JcCErCNTqOXw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -544,6 +538,9 @@ packages: '@oxc-project/types@0.127.0': resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} + '@oxc-project/types@0.128.0': + resolution: {integrity: sha512-huv1Y/LzBJkBVHt3OlC7u0zHBW9qXf1FdD7sGmc1rXc2P1mTwHssYv7jyGx5KAACSCH+9B3Bhn6Z9luHRvf7pQ==} + '@oxc-resolver/binding-android-arm-eabi@11.19.1': resolution: {integrity: sha512-aUs47y+xyXHUKlbhqHUjBABjvycq6YSD7bpxSW7vplUmdzAlJ93yXY6ZR0c1o1x5A/QKbENCvs3+NlY8IpIVzg==} cpu: [arm] @@ -1470,8 +1467,8 @@ packages: resolution: {integrity: sha512-GJ9Ju8kf2SxH90C1AqANrMKBFlDjrZu1YoFm4SoMCOBOxix3Bvirdg5JB31gbF8FwPBo3196dAaqV0WUjeuq8Q==} hasBin: true - knip@6.7.0: - resolution: {integrity: sha512-ckL51NDH1YJxnv1kNB0iUdDngB4f/e9Igz8uIqYfmNDoyOFmmk1V0WFv3LQ7/hzC63b2Z9X41gGUE9eOWrZpaA==} + knip@6.9.0: + resolution: {integrity: sha512-2GLjxteBwmsSA3Z5sJZpPDaNPBIMnlm4/9Nx4CZadEK7YccJZ2/4kwKgPWhVYEqxhwhD0WO4txWXNGTO/Odkkg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -1526,8 +1523,8 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - oxc-parser@0.127.0: - resolution: {integrity: sha512-bkgD4qHlN7WxLdX8bLXdaU54TtQtAIg/ZBAfm0aje/mo3MRDo3P0hZSgr4U7O3xfX+fQmR5AP04JS/TGcZLcFA==} + oxc-parser@0.128.0: + resolution: {integrity: sha512-XkOw3eiIxAgQ19WRew/Bq9wc5Ga/guaWIzDBzq80z1PyuDNGvWBpPby9k6YGwV8A8uMw+Nlq3xqlzuDYmUFYUw==} engines: {node: ^20.19.0 || >=22.12.0} oxc-resolver@11.19.1: @@ -1986,13 +1983,13 @@ snapshots: '@bomb.sh/args@0.3.1': {} - '@bomb.sh/tools@0.4.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3)': + '@bomb.sh/tools@0.4.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3)': dependencies: '@bomb.sh/args': 0.3.1 '@humanfs/node': 0.16.7 '@humanfs/types': 0.15.0 '@typescript/native-preview': 7.0.0-dev.20260427.1 - knip: 6.7.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + knip: 6.9.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) oxfmt: 0.47.0 oxlint: 1.62.0 publint: 0.3.18 @@ -2185,22 +2182,11 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/core@1.9.2': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.10.0': dependencies: tslib: 2.8.1 optional: true - '@emnapi/runtime@1.9.2': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 @@ -2348,13 +2334,6 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': - dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 - '@tybys/wasm-util': 0.10.1 - optional: true - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2367,72 +2346,74 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@oxc-parser/binding-android-arm-eabi@0.127.0': + '@oxc-parser/binding-android-arm-eabi@0.128.0': optional: true - '@oxc-parser/binding-android-arm64@0.127.0': + '@oxc-parser/binding-android-arm64@0.128.0': optional: true - '@oxc-parser/binding-darwin-arm64@0.127.0': + '@oxc-parser/binding-darwin-arm64@0.128.0': optional: true - '@oxc-parser/binding-darwin-x64@0.127.0': + '@oxc-parser/binding-darwin-x64@0.128.0': optional: true - '@oxc-parser/binding-freebsd-x64@0.127.0': + '@oxc-parser/binding-freebsd-x64@0.128.0': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.127.0': + '@oxc-parser/binding-linux-arm-gnueabihf@0.128.0': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.127.0': + '@oxc-parser/binding-linux-arm-musleabihf@0.128.0': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.127.0': + '@oxc-parser/binding-linux-arm64-gnu@0.128.0': optional: true - '@oxc-parser/binding-linux-arm64-musl@0.127.0': + '@oxc-parser/binding-linux-arm64-musl@0.128.0': optional: true - '@oxc-parser/binding-linux-ppc64-gnu@0.127.0': + '@oxc-parser/binding-linux-ppc64-gnu@0.128.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.127.0': + '@oxc-parser/binding-linux-riscv64-gnu@0.128.0': optional: true - '@oxc-parser/binding-linux-riscv64-musl@0.127.0': + '@oxc-parser/binding-linux-riscv64-musl@0.128.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.127.0': + '@oxc-parser/binding-linux-s390x-gnu@0.128.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.127.0': + '@oxc-parser/binding-linux-x64-gnu@0.128.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.127.0': + '@oxc-parser/binding-linux-x64-musl@0.128.0': optional: true - '@oxc-parser/binding-openharmony-arm64@0.127.0': + '@oxc-parser/binding-openharmony-arm64@0.128.0': optional: true - '@oxc-parser/binding-wasm32-wasi@0.127.0': + '@oxc-parser/binding-wasm32-wasi@0.128.0': dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.127.0': + '@oxc-parser/binding-win32-arm64-msvc@0.128.0': optional: true - '@oxc-parser/binding-win32-ia32-msvc@0.127.0': + '@oxc-parser/binding-win32-ia32-msvc@0.128.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.127.0': + '@oxc-parser/binding-win32-x64-msvc@0.128.0': optional: true '@oxc-project/types@0.127.0': {} + '@oxc-project/types@0.128.0': {} + '@oxc-resolver/binding-android-arm-eabi@11.19.1': optional: true @@ -3068,14 +3049,14 @@ snapshots: node-stream-zip: 1.15.0 semiver: 1.1.0 - knip@6.7.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): + knip@6.9.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: fdir: 6.5.0(picomatch@4.0.4) formatly: 0.3.0 get-tsconfig: 4.14.0 jiti: 2.6.1 minimist: 1.2.8 - oxc-parser: 0.127.0 + oxc-parser: 0.128.0 oxc-resolver: 11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) picomatch: 4.0.4 smol-toml: 1.6.1 @@ -3128,30 +3109,30 @@ snapshots: outdent@0.5.0: {} - oxc-parser@0.127.0: + oxc-parser@0.128.0: dependencies: - '@oxc-project/types': 0.127.0 + '@oxc-project/types': 0.128.0 optionalDependencies: - '@oxc-parser/binding-android-arm-eabi': 0.127.0 - '@oxc-parser/binding-android-arm64': 0.127.0 - '@oxc-parser/binding-darwin-arm64': 0.127.0 - '@oxc-parser/binding-darwin-x64': 0.127.0 - '@oxc-parser/binding-freebsd-x64': 0.127.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.127.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.127.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.127.0 - '@oxc-parser/binding-linux-arm64-musl': 0.127.0 - '@oxc-parser/binding-linux-ppc64-gnu': 0.127.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.127.0 - '@oxc-parser/binding-linux-riscv64-musl': 0.127.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.127.0 - '@oxc-parser/binding-linux-x64-gnu': 0.127.0 - '@oxc-parser/binding-linux-x64-musl': 0.127.0 - '@oxc-parser/binding-openharmony-arm64': 0.127.0 - '@oxc-parser/binding-wasm32-wasi': 0.127.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.127.0 - '@oxc-parser/binding-win32-ia32-msvc': 0.127.0 - '@oxc-parser/binding-win32-x64-msvc': 0.127.0 + '@oxc-parser/binding-android-arm-eabi': 0.128.0 + '@oxc-parser/binding-android-arm64': 0.128.0 + '@oxc-parser/binding-darwin-arm64': 0.128.0 + '@oxc-parser/binding-darwin-x64': 0.128.0 + '@oxc-parser/binding-freebsd-x64': 0.128.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.128.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.128.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.128.0 + '@oxc-parser/binding-linux-arm64-musl': 0.128.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.128.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.128.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.128.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.128.0 + '@oxc-parser/binding-linux-x64-gnu': 0.128.0 + '@oxc-parser/binding-linux-x64-musl': 0.128.0 + '@oxc-parser/binding-openharmony-arm64': 0.128.0 + '@oxc-parser/binding-wasm32-wasi': 0.128.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.128.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.128.0 + '@oxc-parser/binding-win32-x64-msvc': 0.128.0 oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): optionalDependencies: From 127185c9ae6a8016afc8f938f59b44e249f6bbcd Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 29 Apr 2026 21:05:45 +0100 Subject: [PATCH 6/9] chore: refactor to not use default exports --- packages/core/src/index.ts | 22 +++++++++---------- packages/core/src/prompts/autocomplete.ts | 4 ++-- packages/core/src/prompts/confirm.ts | 4 ++-- packages/core/src/prompts/date.ts | 4 ++-- .../core/src/prompts/group-multiselect.ts | 4 ++-- packages/core/src/prompts/multi-line.ts | 4 ++-- packages/core/src/prompts/multi-select.ts | 4 ++-- packages/core/src/prompts/password.ts | 4 ++-- packages/core/src/prompts/prompt.ts | 2 +- packages/core/src/prompts/select-key.ts | 4 ++-- packages/core/src/prompts/select.ts | 4 ++-- packages/core/src/prompts/text.ts | 4 ++-- 12 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 478095b8..e59605b1 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,25 +1,25 @@ export type { AutocompleteOptions } from './prompts/autocomplete.js'; -export { default as AutocompletePrompt } from './prompts/autocomplete.js'; +export { AutocompletePrompt } from './prompts/autocomplete.js'; export type { ConfirmOptions } from './prompts/confirm.js'; -export { default as ConfirmPrompt } from './prompts/confirm.js'; +export { ConfirmPrompt } from './prompts/confirm.js'; export type { DateFormat, DateOptions, DateParts } from './prompts/date.js'; -export { default as DatePrompt } from './prompts/date.js'; +export { DatePrompt } from './prompts/date.js'; export type { GroupMultiSelectOptions } from './prompts/group-multiselect.js'; -export { default as GroupMultiSelectPrompt } from './prompts/group-multiselect.js'; +export { GroupMultiSelectPrompt } from './prompts/group-multiselect.js'; export type { MultiLineOptions } from './prompts/multi-line.js'; -export { default as MultiLinePrompt } from './prompts/multi-line.js'; +export { MultiLinePrompt } from './prompts/multi-line.js'; export type { MultiSelectOptions } from './prompts/multi-select.js'; -export { default as MultiSelectPrompt } from './prompts/multi-select.js'; +export { MultiSelectPrompt } from './prompts/multi-select.js'; export type { PasswordOptions } from './prompts/password.js'; -export { default as PasswordPrompt } from './prompts/password.js'; +export { PasswordPrompt } from './prompts/password.js'; export type { PromptOptions } from './prompts/prompt.js'; -export { default as Prompt } from './prompts/prompt.js'; +export { Prompt } from './prompts/prompt.js'; export type { SelectOptions } from './prompts/select.js'; -export { default as SelectPrompt } from './prompts/select.js'; +export { SelectPrompt } from './prompts/select.js'; export type { SelectKeyOptions } from './prompts/select-key.js'; -export { default as SelectKeyPrompt } from './prompts/select-key.js'; +export { SelectKeyPrompt } from './prompts/select-key.js'; export type { TextOptions } from './prompts/text.js'; -export { default as TextPrompt } from './prompts/text.js'; +export { TextPrompt } from './prompts/text.js'; export type { ClackState as State } from './types.js'; export { block, getColumns, getRows, isCancel, wrapTextWithPrefix } from './utils/index.js'; export type { ClackSettings } from './utils/settings.js'; diff --git a/packages/core/src/prompts/autocomplete.ts b/packages/core/src/prompts/autocomplete.ts index e023462b..210336e4 100644 --- a/packages/core/src/prompts/autocomplete.ts +++ b/packages/core/src/prompts/autocomplete.ts @@ -1,7 +1,7 @@ import type { Key } from 'node:readline'; import { styleText } from 'node:util'; import { findCursor } from '../utils/cursor.js'; -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; interface OptionLike { value: unknown; @@ -60,7 +60,7 @@ export interface AutocompleteOptions placeholder?: string; } -export default class AutocompletePrompt extends Prompt< +export class AutocompletePrompt extends Prompt< T['value'] | T['value'][] > { filteredOptions: T[]; diff --git a/packages/core/src/prompts/confirm.ts b/packages/core/src/prompts/confirm.ts index 19276367..65f51267 100644 --- a/packages/core/src/prompts/confirm.ts +++ b/packages/core/src/prompts/confirm.ts @@ -1,5 +1,5 @@ import { cursor } from 'sisteransi'; -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; export interface ConfirmOptions extends PromptOptions { active: string; @@ -7,7 +7,7 @@ export interface ConfirmOptions extends PromptOptions { initialValue?: boolean; } -export default class ConfirmPrompt extends Prompt { +export class ConfirmPrompt extends Prompt { get cursor() { return this.value ? 0 : 1; } diff --git a/packages/core/src/prompts/date.ts b/packages/core/src/prompts/date.ts index b04c2b50..30e4dc7f 100644 --- a/packages/core/src/prompts/date.ts +++ b/packages/core/src/prompts/date.ts @@ -1,6 +1,6 @@ import type { Key } from 'node:readline'; import { settings } from '../utils/settings.js'; -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; interface SegmentConfig { type: 'year' | 'month' | 'day'; @@ -127,7 +127,7 @@ export interface DateOptions extends PromptOptions { maxDate?: Date; } -export default class DatePrompt extends Prompt { +export class DatePrompt extends Prompt { #segments: SegmentConfig[]; #separator: string; #segmentValues: DateParts; diff --git a/packages/core/src/prompts/group-multiselect.ts b/packages/core/src/prompts/group-multiselect.ts index c189a919..fa1b1fab 100644 --- a/packages/core/src/prompts/group-multiselect.ts +++ b/packages/core/src/prompts/group-multiselect.ts @@ -1,4 +1,4 @@ -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; export interface GroupMultiSelectOptions extends PromptOptions> { @@ -8,7 +8,7 @@ export interface GroupMultiSelectOptions cursorAt?: T['value']; selectableGroups?: boolean; } -export default class GroupMultiSelectPrompt extends Prompt { +export class GroupMultiSelectPrompt extends Prompt { options: (T & { group: string | boolean })[]; cursor = 0; #selectableGroups: boolean; diff --git a/packages/core/src/prompts/multi-line.ts b/packages/core/src/prompts/multi-line.ts index d3765fc1..adf7505a 100644 --- a/packages/core/src/prompts/multi-line.ts +++ b/packages/core/src/prompts/multi-line.ts @@ -2,7 +2,7 @@ import type { Key } from 'node:readline'; import { styleText } from 'node:util'; import { findTextCursor } from '../utils/cursor.js'; import { type Action, settings } from '../utils/index.js'; -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; export interface MultiLineOptions extends PromptOptions { placeholder?: string; @@ -10,7 +10,7 @@ export interface MultiLineOptions extends PromptOptions showSubmit?: boolean; } -export default class MultiLinePrompt extends Prompt { +export class MultiLinePrompt extends Prompt { #lastKeyWasReturn = false; #showSubmit: boolean; public focused: 'editor' | 'submit' = 'editor'; diff --git a/packages/core/src/prompts/multi-select.ts b/packages/core/src/prompts/multi-select.ts index a19817a5..9c29edfc 100644 --- a/packages/core/src/prompts/multi-select.ts +++ b/packages/core/src/prompts/multi-select.ts @@ -1,5 +1,5 @@ import { findCursor } from '../utils/cursor.js'; -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; interface OptionLike { value: any; @@ -13,7 +13,7 @@ export interface MultiSelectOptions required?: boolean; cursorAt?: T['value']; } -export default class MultiSelectPrompt extends Prompt { +export class MultiSelectPrompt extends Prompt { options: T[]; cursor = 0; diff --git a/packages/core/src/prompts/password.ts b/packages/core/src/prompts/password.ts index 949239d1..4ce0792b 100644 --- a/packages/core/src/prompts/password.ts +++ b/packages/core/src/prompts/password.ts @@ -1,10 +1,10 @@ import { styleText } from 'node:util'; -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; export interface PasswordOptions extends PromptOptions { mask?: string; } -export default class PasswordPrompt extends Prompt { +export class PasswordPrompt extends Prompt { private _mask = '•'; get cursor() { return this._cursor; diff --git a/packages/core/src/prompts/prompt.ts b/packages/core/src/prompts/prompt.ts index 4333da9d..777120e5 100644 --- a/packages/core/src/prompts/prompt.ts +++ b/packages/core/src/prompts/prompt.ts @@ -24,7 +24,7 @@ export interface PromptOptions> { signal?: AbortSignal; } -export default class Prompt { +export class Prompt { protected input: Readable; protected output: Writable; private _abortSignal?: AbortSignal; diff --git a/packages/core/src/prompts/select-key.ts b/packages/core/src/prompts/select-key.ts index 2e8e0b10..0d4338a7 100644 --- a/packages/core/src/prompts/select-key.ts +++ b/packages/core/src/prompts/select-key.ts @@ -1,11 +1,11 @@ -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; export interface SelectKeyOptions extends PromptOptions> { options: T[]; caseSensitive?: boolean; } -export default class SelectKeyPrompt extends Prompt { +export class SelectKeyPrompt extends Prompt { options: T[]; cursor = 0; diff --git a/packages/core/src/prompts/select.ts b/packages/core/src/prompts/select.ts index 99ed5df9..418d5680 100644 --- a/packages/core/src/prompts/select.ts +++ b/packages/core/src/prompts/select.ts @@ -1,12 +1,12 @@ import { findCursor } from '../utils/cursor.js'; -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; export interface SelectOptions extends PromptOptions> { options: T[]; initialValue?: T['value']; } -export default class SelectPrompt extends Prompt< +export class SelectPrompt extends Prompt< T['value'] > { options: T[]; diff --git a/packages/core/src/prompts/text.ts b/packages/core/src/prompts/text.ts index 1aacc12f..b7c36490 100644 --- a/packages/core/src/prompts/text.ts +++ b/packages/core/src/prompts/text.ts @@ -1,12 +1,12 @@ import { styleText } from 'node:util'; -import Prompt, { type PromptOptions } from './prompt.js'; +import { Prompt, type PromptOptions } from './prompt.js'; export interface TextOptions extends PromptOptions { placeholder?: string; defaultValue?: string; } -export default class TextPrompt extends Prompt { +export class TextPrompt extends Prompt { get userInputWithCursor() { if (this.state === 'submit') { return this.userInput; From b85ed4aee45c28c80e67affc801dacfb63e87948 Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 6 May 2026 18:10:32 +0100 Subject: [PATCH 7/9] chore: fix or suppress linter warnings --- .prettierignore | 4 ++ examples/basic/autocomplete-multiselect.ts | 4 +- examples/basic/autocomplete.ts | 2 +- examples/basic/index.ts | 2 +- examples/basic/spinner-cancel-advanced.ts | 4 +- examples/basic/stream.ts | 2 +- examples/changesets/index.ts | 4 +- package.json | 2 +- packages/core/src/prompts/autocomplete.ts | 14 +++---- packages/core/src/prompts/date.ts | 40 ++++++++----------- .../core/src/prompts/group-multiselect.ts | 10 +++-- packages/core/src/prompts/multi-line.ts | 8 ++-- packages/core/src/prompts/multi-select.ts | 8 ++-- packages/core/src/prompts/prompt.ts | 4 +- packages/core/src/prompts/select-key.ts | 6 ++- packages/core/src/prompts/select.ts | 10 ++--- packages/core/src/utils/cursor.ts | 6 ++- packages/core/src/utils/index.ts | 3 +- packages/core/test/mock-writable.ts | 2 +- .../core/test/prompts/autocomplete.test.ts | 2 +- packages/core/test/prompts/confirm.test.ts | 2 +- packages/core/test/prompts/date.test.ts | 2 +- packages/core/test/prompts/multi-line.test.ts | 2 +- .../core/test/prompts/multi-select.test.ts | 2 +- packages/core/test/prompts/password.test.ts | 2 +- packages/core/test/prompts/prompt.test.ts | 4 +- packages/core/test/prompts/select.test.ts | 2 +- packages/core/test/prompts/text.test.ts | 2 +- packages/prompts/src/autocomplete.ts | 15 +++---- packages/prompts/src/box.ts | 33 +++++++-------- packages/prompts/src/confirm.ts | 2 +- packages/prompts/src/group-multi-select.ts | 15 ++++--- packages/prompts/src/group.ts | 2 +- packages/prompts/src/limit-options.ts | 35 +++++++++------- packages/prompts/src/log.ts | 2 +- packages/prompts/src/multi-line.ts | 4 +- packages/prompts/src/multi-select.ts | 16 ++++---- packages/prompts/src/note.ts | 10 +++-- packages/prompts/src/path.ts | 5 ++- packages/prompts/src/select-key.ts | 10 ++--- packages/prompts/src/select.ts | 8 ++-- packages/prompts/src/spinner.ts | 1 + packages/prompts/src/stream.ts | 2 +- packages/prompts/src/task-log.ts | 24 +++++++---- packages/prompts/test/date.test.ts | 2 +- packages/prompts/test/path.test.ts | 2 +- packages/prompts/test/progress-bar.test.ts | 2 +- packages/prompts/test/test-utils.ts | 2 +- pnpm-lock.yaml | 11 ++--- 49 files changed, 192 insertions(+), 166 deletions(-) create mode 100644 .prettierignore diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..ce137b67 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +*.json +*.md +*.yml +*.jsonc diff --git a/examples/basic/autocomplete-multiselect.ts b/examples/basic/autocomplete-multiselect.ts index c34420c6..1630ccaf 100644 --- a/examples/basic/autocomplete-multiselect.ts +++ b/examples/basic/autocomplete-multiselect.ts @@ -21,7 +21,7 @@ ${color.cyan('Filter and select multiple items in a single interface:')} - Press ${color.yellow('Enter')} when done selecting all items - Press ${color.yellow('Ctrl+C')} to cancel `, - 'Instructions' + 'Instructions', ); // Frameworks in alphabetical order @@ -80,7 +80,7 @@ ${color.cyan('Filter and select multiple items in a single interface:')} // Display selected frameworks with detailed information p.note( `You selected ${color.green(selectedFrameworks.length)} frameworks:`, - 'Selection Complete' + 'Selection Complete', ); // Show each selected framework with its details diff --git a/examples/basic/autocomplete.ts b/examples/basic/autocomplete.ts index ea94ece1..e3bee627 100644 --- a/examples/basic/autocomplete.ts +++ b/examples/basic/autocomplete.ts @@ -14,7 +14,7 @@ ${color.cyan('This example demonstrates the type-ahead autocomplete feature:')} - Press ${color.yellow('Enter')} to select the highlighted option - Press ${color.yellow('Ctrl+C')} to cancel `, - 'Instructions' + 'Instructions', ); const countries = [ diff --git a/examples/basic/index.ts b/examples/basic/index.ts index 0115d4ac..bd30b9d9 100644 --- a/examples/basic/index.ts +++ b/examples/basic/index.ts @@ -73,7 +73,7 @@ async function main() { p.cancel('Operation cancelled.'); process.exit(0); }, - } + }, ); if (project.install) { diff --git a/examples/basic/spinner-cancel-advanced.ts b/examples/basic/spinner-cancel-advanced.ts index cbf0927d..eed0f439 100644 --- a/examples/basic/spinner-cancel-advanced.ts +++ b/examples/basic/spinner-cancel-advanced.ts @@ -56,7 +56,7 @@ async function main() { onCancel: () => { p.note( 'You cancelled during processing. Any completed work will be saved.', - 'Processing Cancelled' + 'Processing Cancelled', ); }, }); @@ -114,7 +114,7 @@ async function main() { onCancel: () => { p.note( 'Final operation was cancelled, but processing results are still valid.', - 'Final Stage Cancelled' + 'Final Stage Cancelled', ); }, }); diff --git a/examples/basic/stream.ts b/examples/basic/stream.ts index c87ad5bf..db79a396 100644 --- a/examples/basic/stream.ts +++ b/examples/basic/stream.ts @@ -22,7 +22,7 @@ async function main() { await setTimeout(1000); } } - })() + })(), ); p.outro(`Problems? ${color.underline(color.cyan('https://example.com/issues'))}`); diff --git a/examples/changesets/index.ts b/examples/changesets/index.ts index cb9226db..23e7074a 100644 --- a/examples/changesets/index.ts +++ b/examples/changesets/index.ts @@ -56,7 +56,7 @@ async function main() { const major = Array.isArray(results.major) ? results.major : []; const minor = Array.isArray(results.minor) ? results.minor : []; const possiblePackages = packages.filter( - (pkg) => !major.includes(pkg) && !minor.includes(pkg) + (pkg) => !major.includes(pkg) && !minor.includes(pkg), ); if (possiblePackages.length === 0) return; const note = possiblePackages.join(color.dim(', ')); @@ -67,7 +67,7 @@ async function main() { }, { onCancel, - } + }, ); const message = await p.multiline({ diff --git a/package.json b/package.json index ccaaee05..3d650f8e 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "pretest": "pnpm run build" }, "devDependencies": { - "@bomb.sh/tools": "^0.4.2", + "@bomb.sh/tools": "https://pkg.pr.new/@bomb.sh/tools@175116f", "@changesets/cli": "^2.29.5", "@types/node": "^20.19.39", "jsr": "^0.13.4", diff --git a/packages/core/src/prompts/autocomplete.ts b/packages/core/src/prompts/autocomplete.ts index 210336e4..a3cc405a 100644 --- a/packages/core/src/prompts/autocomplete.ts +++ b/packages/core/src/prompts/autocomplete.ts @@ -13,7 +13,7 @@ type FilterFunction = (search: string, opt: T) => boolean; function getCursorForValue( selected: T['value'] | undefined, - items: T[] + items: T[], ): number { if (selected === undefined) { return 0; @@ -46,8 +46,10 @@ function normalisedValue(multiple: boolean, values: T[] | undefined): T | T[] return values[0]; } -export interface AutocompleteOptions - extends PromptOptions> { +export interface AutocompleteOptions extends PromptOptions< + T['value'] | T['value'][], + AutocompletePrompt +> { options: T[] | ((this: AutocompletePrompt) => T[]); filter?: FilterFunction; multiple?: boolean; @@ -60,9 +62,7 @@ export interface AutocompleteOptions placeholder?: string; } -export class AutocompletePrompt extends Prompt< - T['value'] | T['value'][] -> { +export class AutocompletePrompt extends Prompt { filteredOptions: T[]; multiple: boolean; isNavigating = false; @@ -162,7 +162,7 @@ export class AutocompletePrompt extends Prompt< placeholder !== undefined && placeholder !== '' && options.some( - (opt) => !opt.disabled && (this.#filterFn ? this.#filterFn(placeholder, opt) : true) + (opt) => !opt.disabled && (this.#filterFn ? this.#filterFn(placeholder, opt) : true), ); if (key.name === 'tab' && isEmptyOrOnlyTab && placeholderMatchesOption) { if (this.userInput === '\t') { diff --git a/packages/core/src/prompts/date.ts b/packages/core/src/prompts/date.ts index 30e4dc7f..1371d30b 100644 --- a/packages/core/src/prompts/date.ts +++ b/packages/core/src/prompts/date.ts @@ -78,26 +78,20 @@ function toDate(parts: DateParts): Date | undefined { return p ? new Date(Date.UTC(p.year, p.month - 1, p.day)) : undefined; } +function toParts(date: Date | undefined): { year: number; month: number; day: number } | null { + return date + ? { year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate() } + : null; +} + +// oxlint-disable-next-line max-params function segmentBounds( type: 'year' | 'month' | 'day', ctx: { year: number; month: number }, - minDate: Date | undefined, - maxDate: Date | undefined + dateConstraints: { minDate: Date | undefined; maxDate: Date | undefined }, ): { min: number; max: number } { - const minP = minDate - ? { - year: minDate.getUTCFullYear(), - month: minDate.getUTCMonth() + 1, - day: minDate.getUTCDate(), - } - : null; - const maxP = maxDate - ? { - year: maxDate.getUTCFullYear(), - month: maxDate.getUTCMonth() + 1, - day: maxDate.getUTCDate(), - } - : null; + const minP = toParts(dateConstraints.minDate); + const maxP = toParts(dateConstraints.maxDate); if (type === 'year') { return { min: minP?.year ?? 1, max: maxP?.year ?? 9999 }; @@ -205,7 +199,7 @@ export class DatePrompt extends Prompt { if (!segment) return undefined; this.#cursor.positionInSegment = Math.max( 0, - Math.min(this.#cursor.positionInSegment, segment.len - 1) + Math.min(this.#cursor.positionInSegment, segment.len - 1), ); return { segment, index }; } @@ -217,7 +211,7 @@ export class DatePrompt extends Prompt { if (!ctx) return; this.#cursor.segmentIndex = Math.max( 0, - Math.min(this.#segments.length - 1, ctx.index + direction) + Math.min(this.#segments.length - 1, ctx.index + direction), ); this.#cursor.positionInSegment = 0; this.#segmentSelected = true; @@ -230,12 +224,10 @@ export class DatePrompt extends Prompt { const raw = this.#segmentValues[segment.type]; const isBlank = !raw || raw.replace(/_/g, '') === ''; const num = Number.parseInt((raw || '0').replace(/_/g, '0'), 10) || 0; - const bounds = segmentBounds( - segment.type, - parse(this.#segmentValues), - this.#minDate, - this.#maxDate - ); + const bounds = segmentBounds(segment.type, parse(this.#segmentValues), { + minDate: this.#minDate, + maxDate: this.#maxDate, + }); let next: number; if (isBlank) { diff --git a/packages/core/src/prompts/group-multiselect.ts b/packages/core/src/prompts/group-multiselect.ts index fa1b1fab..529424ad 100644 --- a/packages/core/src/prompts/group-multiselect.ts +++ b/packages/core/src/prompts/group-multiselect.ts @@ -1,7 +1,9 @@ import { Prompt, type PromptOptions } from './prompt.js'; -export interface GroupMultiSelectOptions - extends PromptOptions> { +export interface GroupMultiSelectOptions extends PromptOptions< + T['value'][], + GroupMultiSelectPrompt +> { options: Record; initialValues?: T['value'][]; required?: boolean; @@ -36,7 +38,7 @@ export class GroupMultiSelectPrompt extends Prompt groupedItems.findIndex((i) => i.value === v) === -1 + (v: string) => groupedItems.findIndex((i) => i.value === v) === -1, ); } else { this.value = [...this.value, ...groupedItems.map((i) => i.value)]; @@ -61,7 +63,7 @@ export class GroupMultiSelectPrompt extends Prompt value === opts.cursorAt), - this.#selectableGroups ? 0 : 1 + this.#selectableGroups ? 0 : 1, ); this.on('cursor', (key) => { diff --git a/packages/core/src/prompts/multi-line.ts b/packages/core/src/prompts/multi-line.ts index adf7505a..81feb76f 100644 --- a/packages/core/src/prompts/multi-line.ts +++ b/packages/core/src/prompts/multi-line.ts @@ -38,7 +38,7 @@ export class MultiLinePrompt extends Prompt { return; } this._setUserInput( - this.userInput.slice(0, this.cursor) + char + this.userInput.slice(this.cursor) + this.userInput.slice(0, this.cursor) + char + this.userInput.slice(this.cursor), ); } #handleCursor(key?: Action) { @@ -73,7 +73,7 @@ export class MultiLinePrompt extends Prompt { if (wasReturn) { if (this.userInput[this.cursor - 1] === '\n') { this._setUserInput( - this.userInput.slice(0, this.cursor - 1) + this.userInput.slice(this.cursor) + this.userInput.slice(0, this.cursor - 1) + this.userInput.slice(this.cursor), ); this._cursor--; } @@ -103,14 +103,14 @@ export class MultiLinePrompt extends Prompt { this.#lastKeyWasReturn = false; if (key?.name === 'backspace' && this.cursor > 0) { this._setUserInput( - this.userInput.slice(0, this.cursor - 1) + this.userInput.slice(this.cursor) + this.userInput.slice(0, this.cursor - 1) + this.userInput.slice(this.cursor), ); this._cursor--; return; } if (key?.name === 'delete' && this.cursor < this.userInput.length) { this._setUserInput( - this.userInput.slice(0, this.cursor) + this.userInput.slice(this.cursor + 1) + this.userInput.slice(0, this.cursor) + this.userInput.slice(this.cursor + 1), ); return; } diff --git a/packages/core/src/prompts/multi-select.ts b/packages/core/src/prompts/multi-select.ts index 9c29edfc..7a831aad 100644 --- a/packages/core/src/prompts/multi-select.ts +++ b/packages/core/src/prompts/multi-select.ts @@ -6,8 +6,10 @@ interface OptionLike { disabled?: boolean; } -export interface MultiSelectOptions - extends PromptOptions> { +export interface MultiSelectOptions extends PromptOptions< + T['value'][], + MultiSelectPrompt +> { options: T[]; initialValues?: T['value'][]; required?: boolean; @@ -57,7 +59,7 @@ export class MultiSelectPrompt extends Prompt value === opts.cursorAt), - 0 + 0, ); this.cursor = this.options[cursor].disabled ? findCursor(cursor, 1, this.options) : cursor; this.on('key', (char) => { diff --git a/packages/core/src/prompts/prompt.ts b/packages/core/src/prompts/prompt.ts index 777120e5..193164ab 100644 --- a/packages/core/src/prompts/prompt.ts +++ b/packages/core/src/prompts/prompt.ts @@ -70,7 +70,7 @@ export class Prompt { */ private setSubscriber>( event: T, - opts: { cb: ClackEvents[T]; once?: boolean } + opts: { cb: ClackEvents[T]; once?: boolean }, ) { const params = this._subscribers.get(event) ?? []; params.push(opts); @@ -136,7 +136,7 @@ export class Prompt { this.state = 'cancel'; this.close(); }, - { once: true } + { once: true }, ); } diff --git a/packages/core/src/prompts/select-key.ts b/packages/core/src/prompts/select-key.ts index 0d4338a7..560bde22 100644 --- a/packages/core/src/prompts/select-key.ts +++ b/packages/core/src/prompts/select-key.ts @@ -1,7 +1,9 @@ import { Prompt, type PromptOptions } from './prompt.js'; -export interface SelectKeyOptions - extends PromptOptions> { +export interface SelectKeyOptions extends PromptOptions< + T['value'], + SelectKeyPrompt +> { options: T[]; caseSensitive?: boolean; } diff --git a/packages/core/src/prompts/select.ts b/packages/core/src/prompts/select.ts index 418d5680..4b1faaef 100644 --- a/packages/core/src/prompts/select.ts +++ b/packages/core/src/prompts/select.ts @@ -1,14 +1,14 @@ import { findCursor } from '../utils/cursor.js'; import { Prompt, type PromptOptions } from './prompt.js'; -export interface SelectOptions - extends PromptOptions> { +export interface SelectOptions extends PromptOptions< + T['value'], + SelectPrompt +> { options: T[]; initialValue?: T['value']; } -export class SelectPrompt extends Prompt< - T['value'] -> { +export class SelectPrompt extends Prompt { options: T[]; cursor = 0; diff --git a/packages/core/src/utils/cursor.ts b/packages/core/src/utils/cursor.ts index 75df1ac3..59252583 100644 --- a/packages/core/src/utils/cursor.ts +++ b/packages/core/src/utils/cursor.ts @@ -1,7 +1,8 @@ +// oxlint-disable-next-line max-params export function findCursor( cursor: number, delta: number, - options: T[] + options: T[], ) { const hasEnabledOptions = options.some((opt) => !opt.disabled); if (!hasEnabledOptions) { @@ -17,11 +18,12 @@ export function findCursor( return clampedCursor; } +// oxlint-disable-next-line max-params export function findTextCursor( cursor: number, deltaX: number, deltaY: number, - value: string + value: string, ): number { const lines = value.split('\n'); let cursorY = 0; diff --git a/packages/core/src/utils/index.ts b/packages/core/src/utils/index.ts index b2215721..48d009cb 100644 --- a/packages/core/src/utils/index.ts +++ b/packages/core/src/utils/index.ts @@ -98,12 +98,13 @@ export const getRows = (output: Writable): number => { return 20; }; +// oxlint-disable-next-line max-params export function wrapTextWithPrefix( output: Writable | undefined, text: string, prefix: string, startPrefix: string = prefix, - lineFormatter?: (line: string, index: number) => string + lineFormatter?: (line: string, index: number) => string, ): string { const columns = getColumns(output ?? stdout); const wrapped = wrapAnsi(text, columns - prefix.length, { diff --git a/packages/core/test/mock-writable.ts b/packages/core/test/mock-writable.ts index 746b0a0d..c1f17bd9 100644 --- a/packages/core/test/mock-writable.ts +++ b/packages/core/test/mock-writable.ts @@ -6,7 +6,7 @@ export class MockWritable extends Writable { _write( chunk: any, _encoding: BufferEncoding, - callback: (error?: Error | null | undefined) => void + callback: (error?: Error | null | undefined) => void, ): void { this.buffer.push(chunk.toString()); callback(); diff --git a/packages/core/test/prompts/autocomplete.test.ts b/packages/core/test/prompts/autocomplete.test.ts index f1d98e24..5ccd077f 100644 --- a/packages/core/test/prompts/autocomplete.test.ts +++ b/packages/core/test/prompts/autocomplete.test.ts @@ -1,6 +1,6 @@ import { cursor } from 'sisteransi'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import { default as AutocompletePrompt } from '../../src/prompts/autocomplete.js'; +import { AutocompletePrompt } from '../../src/prompts/autocomplete.js'; import { MockReadable } from '../mock-readable.js'; import { MockWritable } from '../mock-writable.js'; diff --git a/packages/core/test/prompts/confirm.test.ts b/packages/core/test/prompts/confirm.test.ts index 8ad14c56..d6d2a6a5 100644 --- a/packages/core/test/prompts/confirm.test.ts +++ b/packages/core/test/prompts/confirm.test.ts @@ -1,6 +1,6 @@ import { cursor } from 'sisteransi'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import { default as ConfirmPrompt } from '../../src/prompts/confirm.js'; +import { ConfirmPrompt } from '../../src/prompts/confirm.js'; import { MockReadable } from '../mock-readable.js'; import { MockWritable } from '../mock-writable.js'; diff --git a/packages/core/test/prompts/date.test.ts b/packages/core/test/prompts/date.test.ts index 8f3ce7e9..4d2c138b 100644 --- a/packages/core/test/prompts/date.test.ts +++ b/packages/core/test/prompts/date.test.ts @@ -1,6 +1,6 @@ import { cursor } from 'sisteransi'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import { default as DatePrompt } from '../../src/prompts/date.js'; +import { DatePrompt } from '../../src/prompts/date.js'; import { isCancel } from '../../src/utils/index.js'; import { MockReadable } from '../mock-readable.js'; import { MockWritable } from '../mock-writable.js'; diff --git a/packages/core/test/prompts/multi-line.test.ts b/packages/core/test/prompts/multi-line.test.ts index 53f86a5d..74d34791 100644 --- a/packages/core/test/prompts/multi-line.test.ts +++ b/packages/core/test/prompts/multi-line.test.ts @@ -1,7 +1,7 @@ import { styleText } from 'node:util'; import { cursor } from 'sisteransi'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import { default as MultiLinePrompt } from '../../src/prompts/multi-line.js'; +import { MultiLinePrompt } from '../../src/prompts/multi-line.js'; import { MockReadable } from '../mock-readable.js'; import { MockWritable } from '../mock-writable.js'; diff --git a/packages/core/test/prompts/multi-select.test.ts b/packages/core/test/prompts/multi-select.test.ts index 99695793..41fe12b0 100644 --- a/packages/core/test/prompts/multi-select.test.ts +++ b/packages/core/test/prompts/multi-select.test.ts @@ -1,6 +1,6 @@ import { cursor } from 'sisteransi'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import { default as MultiSelectPrompt } from '../../src/prompts/multi-select.js'; +import { MultiSelectPrompt } from '../../src/prompts/multi-select.js'; import { MockReadable } from '../mock-readable.js'; import { MockWritable } from '../mock-writable.js'; diff --git a/packages/core/test/prompts/password.test.ts b/packages/core/test/prompts/password.test.ts index 3b37e9d3..025d4200 100644 --- a/packages/core/test/prompts/password.test.ts +++ b/packages/core/test/prompts/password.test.ts @@ -1,7 +1,7 @@ import { styleText } from 'node:util'; import { cursor } from 'sisteransi'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import { default as PasswordPrompt } from '../../src/prompts/password.js'; +import { PasswordPrompt } from '../../src/prompts/password.js'; import { MockReadable } from '../mock-readable.js'; import { MockWritable } from '../mock-writable.js'; diff --git a/packages/core/test/prompts/prompt.test.ts b/packages/core/test/prompts/prompt.test.ts index bc4fa5e6..f13a568d 100644 --- a/packages/core/test/prompts/prompt.test.ts +++ b/packages/core/test/prompts/prompt.test.ts @@ -1,6 +1,6 @@ import { cursor } from 'sisteransi'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import { default as Prompt } from '../../src/prompts/prompt.js'; +import { Prompt } from '../../src/prompts/prompt.js'; import { isCancel } from '../../src/utils/index.js'; import { MockReadable } from '../mock-readable.js'; import { MockWritable } from '../mock-writable.js'; @@ -186,7 +186,7 @@ describe('Prompt', () => { output, render: () => 'foo', }, - false + false, ); instance.on('cursor', eventSpy); diff --git a/packages/core/test/prompts/select.test.ts b/packages/core/test/prompts/select.test.ts index a3583061..b2e6c72c 100644 --- a/packages/core/test/prompts/select.test.ts +++ b/packages/core/test/prompts/select.test.ts @@ -1,6 +1,6 @@ import { cursor } from 'sisteransi'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import { default as SelectPrompt } from '../../src/prompts/select.js'; +import { SelectPrompt } from '../../src/prompts/select.js'; import { MockReadable } from '../mock-readable.js'; import { MockWritable } from '../mock-writable.js'; diff --git a/packages/core/test/prompts/text.test.ts b/packages/core/test/prompts/text.test.ts index 91338a9b..dbc37979 100644 --- a/packages/core/test/prompts/text.test.ts +++ b/packages/core/test/prompts/text.test.ts @@ -1,7 +1,7 @@ import { styleText } from 'node:util'; import { cursor } from 'sisteransi'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import { default as TextPrompt } from '../../src/prompts/text.js'; +import { TextPrompt } from '../../src/prompts/text.js'; import { MockReadable } from '../mock-readable.js'; import { MockWritable } from '../mock-writable.js'; diff --git a/packages/prompts/src/autocomplete.ts b/packages/prompts/src/autocomplete.ts index f840c717..c62c7b32 100644 --- a/packages/prompts/src/autocomplete.ts +++ b/packages/prompts/src/autocomplete.ts @@ -158,7 +158,7 @@ export const autocomplete = (opts: AutocompleteOptions) => { this.filteredOptions.length !== options.length ? styleText( 'dim', - ` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? '' : 'es'})` + ` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? '' : 'es'})`, ) : ''; @@ -177,7 +177,7 @@ export const autocomplete = (opts: AutocompleteOptions) => { headings.push( `${guidePrefix}${styleText('dim', 'Search:')}${searchText}${matches}`, ...noResults, - ...validationError + ...validationError, ); // Show instructions @@ -201,7 +201,7 @@ export const autocomplete = (opts: AutocompleteOptions) => { style: (option, active) => { return opt( option, - option.disabled ? 'disabled' : active ? 'active' : 'inactive' + option.disabled ? 'disabled' : active ? 'active' : 'inactive', ); }, maxItems: opts.maxItems, @@ -239,11 +239,12 @@ export interface AutocompleteMultiSelectOptions extends AutocompleteShare * Integrated autocomplete multiselect - combines type-ahead filtering with multiselect in one UI */ export const autocompleteMultiselect = (opts: AutocompleteMultiSelectOptions) => { + // oxlint-disable-next-line max-params const formatOption = ( option: Option, active: boolean, selectedValues: Value[], - focusedValue: Value | undefined + focusedValue: Value | undefined, ) => { const isSelected = selectedValues.includes(option.value); const label = option.label ?? String(option.value ?? ''); @@ -308,7 +309,7 @@ export const autocompleteMultiselect = (opts: AutocompleteMultiSelectOpti this.filteredOptions.length !== options.length ? styleText( 'dim', - ` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? '' : 'es'})` + ` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? '' : 'es'})`, ) : ''; @@ -317,13 +318,13 @@ export const autocompleteMultiselect = (opts: AutocompleteMultiSelectOpti case 'submit': { return `${title}${hasGuide ? `${styleText('gray', S_BAR)} ` : ''}${styleText( 'dim', - `${this.selectedValues.length} items selected` + `${this.selectedValues.length} items selected`, )}`; } case 'cancel': { return `${title}${hasGuide ? `${styleText('gray', S_BAR)} ` : ''}${styleText( ['strikethrough', 'dim'], - userInput + userInput, )}`; } default: { diff --git a/packages/prompts/src/box.ts b/packages/prompts/src/box.ts index e8f3b326..1f3955bd 100644 --- a/packages/prompts/src/box.ts +++ b/packages/prompts/src/box.ts @@ -39,26 +39,25 @@ export interface BoxOptions extends CommonOptions { } function getPaddingForLine( - lineLength: number, - innerWidth: number, - padding: number, - contentAlign: BoxAlignment | undefined + sizes: { lineLength: number; innerWidth: number; padding: number }, + contentAlign: BoxAlignment | undefined, ): [number, number] { - let leftPadding = padding; - let rightPadding = padding; + let leftPadding = sizes.padding; + if (contentAlign === 'center') { - leftPadding = Math.floor((innerWidth - lineLength) / 2); + leftPadding = Math.floor((sizes.innerWidth - sizes.lineLength) / 2); } else if (contentAlign === 'right') { - leftPadding = innerWidth - lineLength - padding; + leftPadding = sizes.innerWidth - sizes.lineLength - sizes.padding; } - rightPadding = innerWidth - leftPadding - lineLength; + const rightPadding = sizes.innerWidth - leftPadding - sizes.lineLength; return [leftPadding, rightPadding]; } const defaultFormatBorder = (text: string) => text; +// oxlint-disable-next-line max-params export const box = (message = '', title = '', opts?: BoxOptions) => { const output: Writable = opts?.output ?? process.stdout; const columns = getColumns(output); @@ -103,28 +102,24 @@ export const box = (message = '', title = '', opts?: BoxOptions) => { const truncatedTitle = titleWidth > maxTitleLength ? `${title.slice(0, maxTitleLength - 3)}...` : title; const [titlePaddingLeft, titlePaddingRight] = getPaddingForLine( - stringWidth(truncatedTitle), - innerWidth, - titlePadding, - opts?.titleAlign + { lineLength: stringWidth(truncatedTitle), innerWidth, padding: titlePadding }, + opts?.titleAlign, ); const wrappedMessage = wrapAnsi(message, innerWidth - contentPadding * 2, { hard: true, trim: false, }); output.write( - `${linePrefix}${symbols[0]}${hSymbol.repeat(titlePaddingLeft)}${truncatedTitle}${hSymbol.repeat(titlePaddingRight)}${symbols[1]}\n` + `${linePrefix}${symbols[0]}${hSymbol.repeat(titlePaddingLeft)}${truncatedTitle}${hSymbol.repeat(titlePaddingRight)}${symbols[1]}\n`, ); const wrappedLines = wrappedMessage.split('\n'); for (const line of wrappedLines) { const [leftLinePadding, rightLinePadding] = getPaddingForLine( - stringWidth(line), - innerWidth, - contentPadding, - opts?.contentAlign + { lineLength: stringWidth(line), innerWidth, padding: contentPadding }, + opts?.contentAlign, ); output.write( - `${linePrefix}${vSymbol}${' '.repeat(leftLinePadding)}${line}${' '.repeat(rightLinePadding)}${vSymbol}\n` + `${linePrefix}${vSymbol}${' '.repeat(leftLinePadding)}${line}${' '.repeat(rightLinePadding)}${vSymbol}\n`, ); } output.write(`${linePrefix}${symbols[2]}${hSymbol.repeat(innerWidth)}${symbols[3]}\n`); diff --git a/packages/prompts/src/confirm.ts b/packages/prompts/src/confirm.ts index 75b322ca..2c261e1c 100644 --- a/packages/prompts/src/confirm.ts +++ b/packages/prompts/src/confirm.ts @@ -34,7 +34,7 @@ export const confirm = (opts: ConfirmOptions) => { opts.output, opts.message, titlePrefixBar, - titlePrefix + titlePrefix, ); const title = `${hasGuide ? `${styleText('gray', S_BAR)}\n` : ''}${messageLines}\n`; const value = this.value ? active : inactive; diff --git a/packages/prompts/src/group-multi-select.ts b/packages/prompts/src/group-multi-select.ts index 99c4dbf6..cd7bd8c4 100644 --- a/packages/prompts/src/group-multi-select.ts +++ b/packages/prompts/src/group-multi-select.ts @@ -22,6 +22,7 @@ export interface GroupMultiSelectOptions extends CommonOptions { } export const groupMultiselect = (opts: GroupMultiSelectOptions) => { const { selectableGroups = true, groupSpacing = 0 } = opts; + // oxlint-disable-next-line max-params const opt = ( option: Option & { group: string | boolean }, state: @@ -33,7 +34,7 @@ export const groupMultiselect = (opts: GroupMultiSelectOptions) => | 'group-active-selected' | 'submitted' | 'cancelled', - options: (Option & { group: string | boolean })[] = [] + options: (Option & { group: string | boolean })[] = [], ) => { const label = option.label ?? String(option.value); const isItem = typeof option.group === 'string'; @@ -98,9 +99,9 @@ export const groupMultiselect = (opts: GroupMultiSelectOptions) => 'dim', `Press ${styleText(['gray', 'bgWhite', 'inverse'], ' space ')} to select, ${styleText( 'gray', - styleText(['bgWhite', 'inverse'], ' enter ') - )} to submit` - ) + styleText(['bgWhite', 'inverse'], ' enter '), + )} to submit`, + ), )}`; }, render() { @@ -132,10 +133,11 @@ export const groupMultiselect = (opts: GroupMultiSelectOptions) => .map((ln, i) => i === 0 ? `${hasGuide ? `${styleText('yellow', S_BAR_END)} ` : ''}${styleText('yellow', ln)}` - : ` ${ln}` + : ` ${ln}`, ) .join('\n'); return `${title}${hasGuide ? `${styleText('yellow', S_BAR)} ` : ''}${this.options + // oxlint-disable-next-line max-params .map((option, i, options) => { const selected = value.includes(option.value) || @@ -160,6 +162,7 @@ export const groupMultiselect = (opts: GroupMultiSelectOptions) => } default: { const optionsText = this.options + // oxlint-disable-next-line max-params .map((option, i, options) => { const selected = value.includes(option.value) || @@ -174,7 +177,7 @@ export const groupMultiselect = (opts: GroupMultiSelectOptions) => optionText = opt( option, selected ? 'group-active-selected' : 'group-active', - options + options, ); } else if (active && selected) { optionText = opt(option, 'active-selected', options); diff --git a/packages/prompts/src/group.ts b/packages/prompts/src/group.ts index 25e7365c..740e0093 100644 --- a/packages/prompts/src/group.ts +++ b/packages/prompts/src/group.ts @@ -28,7 +28,7 @@ export type PromptGroup = { */ export const group = async ( prompts: PromptGroup, - opts?: PromptGroupOptions + opts?: PromptGroupOptions, ): Promise>> => { const results = {} as any; const promptNames = Object.keys(prompts); diff --git a/packages/prompts/src/limit-options.ts b/packages/prompts/src/limit-options.ts index f9b63d3d..6fe4c109 100644 --- a/packages/prompts/src/limit-options.ts +++ b/packages/prompts/src/limit-options.ts @@ -14,18 +14,20 @@ export interface LimitOptionsParams extends CommonOptions { const trimLines = ( groups: Array, - initialLineCount: number, - startIndex: number, - endIndex: number, - maxLines: number + options: { + initialLineCount: number; + startIndex: number; + endIndex: number; + outputMaxItems: number; + }, ) => { - let lineCount = initialLineCount; + let lineCount = options.initialLineCount; let removals = 0; - for (let i = startIndex; i < endIndex; i++) { + for (let i = options.startIndex; i < options.endIndex; i++) { const group = groups[i]; lineCount = lineCount - group.length; removals++; - if (lineCount <= maxLines) { + if (lineCount <= options.outputMaxItems) { break; } } @@ -54,7 +56,7 @@ export const limitOptions = ({ if (cursor >= computedMaxItems - 3) { slidingWindowLocation = Math.max( Math.min(cursor - computedMaxItems + 3, options.length - computedMaxItems), - 0 + 0, ); } @@ -64,7 +66,7 @@ export const limitOptions = ({ const slidingWindowLocationEnd = Math.min( slidingWindowLocation + computedMaxItems, - options.length + options.length, ); const lineGroups: Array = []; let lineCount = 0; @@ -95,28 +97,33 @@ export const limitOptions = ({ let newLineCount = lineCount; const cursorGroupIndex = cursor - slidingWindowLocationWithEllipsis; const trimLinesLocal = (startIndex: number, endIndex: number) => - trimLines(lineGroups, newLineCount, startIndex, endIndex, outputMaxItems); + trimLines(lineGroups, { + initialLineCount: newLineCount, + startIndex, + endIndex, + outputMaxItems, + }); if (shouldRenderTopEllipsis) { ({ lineCount: newLineCount, removals: precedingRemovals } = trimLinesLocal( 0, - cursorGroupIndex + cursorGroupIndex, )); if (newLineCount > outputMaxItems) { ({ lineCount: newLineCount, removals: followingRemovals } = trimLinesLocal( cursorGroupIndex + 1, - lineGroups.length + lineGroups.length, )); } } else { ({ lineCount: newLineCount, removals: followingRemovals } = trimLinesLocal( cursorGroupIndex + 1, - lineGroups.length + lineGroups.length, )); if (newLineCount > outputMaxItems) { ({ lineCount: newLineCount, removals: precedingRemovals } = trimLinesLocal( 0, - cursorGroupIndex + cursorGroupIndex, )); } } diff --git a/packages/prompts/src/log.ts b/packages/prompts/src/log.ts index 2728d385..81f70d21 100644 --- a/packages/prompts/src/log.ts +++ b/packages/prompts/src/log.ts @@ -25,7 +25,7 @@ export const log = { output = process.stdout, spacing = 1, withGuide, - }: LogMessageOptions = {} + }: LogMessageOptions = {}, ) => { const parts: string[] = []; const hasGuide = withGuide ?? settings.withGuide; diff --git a/packages/prompts/src/multi-line.ts b/packages/prompts/src/multi-line.ts index 4eac8d8b..e7f42628 100644 --- a/packages/prompts/src/multi-line.ts +++ b/packages/prompts/src/multi-line.ts @@ -42,7 +42,7 @@ export const multiline = (opts: MultiLineOptions) => { const submitPrefix = `${styleText('gray', S_BAR)} `; const lines = hasGuide ? wrapTextWithPrefix(opts.output, value, submitPrefix, undefined, (str) => - styleText('dim', str) + styleText('dim', str), ) : value ? styleText('dim', value) @@ -53,7 +53,7 @@ export const multiline = (opts: MultiLineOptions) => { const cancelPrefix = `${styleText('gray', S_BAR)} `; const lines = hasGuide ? wrapTextWithPrefix(opts.output, value, cancelPrefix, undefined, (str) => - styleText(['strikethrough', 'dim'], str) + styleText(['strikethrough', 'dim'], str), ) : value ? styleText(['strikethrough', 'dim'], value) diff --git a/packages/prompts/src/multi-select.ts b/packages/prompts/src/multi-select.ts index 28b27aab..085a2565 100644 --- a/packages/prompts/src/multi-select.ts +++ b/packages/prompts/src/multi-select.ts @@ -38,7 +38,7 @@ export const multiselect = (opts: MultiSelectOptions) => { | 'active-selected' | 'submitted' | 'cancelled' - | 'disabled' + | 'disabled', ) => { const label = option.label ?? String(option.value); if (state === 'disabled') { @@ -87,9 +87,9 @@ export const multiselect = (opts: MultiSelectOptions) => { 'dim', `Press ${styleText(['gray', 'bgWhite', 'inverse'], ' space ')} to select, ${styleText( 'gray', - styleText('bgWhite', styleText('inverse', ' enter ')) - )} to submit` - ) + styleText('bgWhite', styleText('inverse', ' enter ')), + )} to submit`, + ), )}`; }, render() { @@ -98,7 +98,7 @@ export const multiselect = (opts: MultiSelectOptions) => { opts.output, opts.message, hasGuide ? `${symbolBar(this.state)} ` : '', - `${symbol(this.state)} ` + `${symbol(this.state)} `, ); const title = `${hasGuide ? `${styleText('gray', S_BAR)}\n` : ''}${wrappedMessage}\n`; const value = this.value ?? []; @@ -127,7 +127,7 @@ export const multiselect = (opts: MultiSelectOptions) => { const wrappedSubmitText = wrapTextWithPrefix( opts.output, submitText, - hasGuide ? `${styleText('gray', S_BAR)} ` : '' + hasGuide ? `${styleText('gray', S_BAR)} ` : '', ); return `${title}${wrappedSubmitText}`; } @@ -142,7 +142,7 @@ export const multiselect = (opts: MultiSelectOptions) => { const wrappedLabel = wrapTextWithPrefix( opts.output, label, - hasGuide ? `${styleText('gray', S_BAR)} ` : '' + hasGuide ? `${styleText('gray', S_BAR)} ` : '', ); return `${title}${wrappedLabel}${hasGuide ? `\n${styleText('gray', S_BAR)}` : ''}`; } @@ -153,7 +153,7 @@ export const multiselect = (opts: MultiSelectOptions) => { .map((ln, i) => i === 0 ? `${hasGuide ? `${styleText('yellow', S_BAR_END)} ` : ''}${styleText('yellow', ln)}` - : ` ${ln}` + : ` ${ln}`, ) .join('\n'); // Calculate rowPadding: title lines + footer lines (error message + trailing newline) diff --git a/packages/prompts/src/note.ts b/packages/prompts/src/note.ts index aa68d2b7..4f39aed7 100644 --- a/packages/prompts/src/note.ts +++ b/packages/prompts/src/note.ts @@ -22,6 +22,7 @@ export interface NoteOptions extends CommonOptions { const defaultNoteFormatter = (line: string): string => styleText('dim', line); +// oxlint-disable-next-line max-params const wrapWithFormat = (message: string, width: number, format: FormatFn): string => { const opts: WrapAnsiOptions = { hard: true, @@ -34,6 +35,7 @@ const wrapWithFormat = (message: string, width: number, format: FormatFn): strin return wrapAnsi(message, wrapWidth, opts); }; +// oxlint-disable-next-line max-params export const note = (message = '', title = '', opts?: NoteOptions) => { const output: Writable = opts?.output ?? process.stdout; const hasGuide = opts?.withGuide ?? settings.withGuide; @@ -47,12 +49,12 @@ export const note = (message = '', title = '', opts?: NoteOptions) => { const width = stringWidth(ln); return width > sum ? width : sum; }, 0), - titleLen + titleLen, ) + 2; const msg = lines .map( (ln) => - `${styleText('gray', S_BAR)} ${ln}${' '.repeat(len - stringWidth(ln))}${styleText('gray', S_BAR)}` + `${styleText('gray', S_BAR)} ${ln}${' '.repeat(len - stringWidth(ln))}${styleText('gray', S_BAR)}`, ) .join('\n'); const leadingBorder = hasGuide ? `${styleText('gray', S_BAR)}\n` : ''; @@ -60,7 +62,7 @@ export const note = (message = '', title = '', opts?: NoteOptions) => { output.write( `${leadingBorder}${styleText('green', S_STEP_SUBMIT)} ${styleText('reset', title)} ${styleText( 'gray', - S_BAR_H.repeat(Math.max(len - titleLen - 1, 1)) + S_CORNER_TOP_RIGHT - )}\n${msg}\n${styleText('gray', bottomLeft + S_BAR_H.repeat(len + 2) + S_CORNER_BOTTOM_RIGHT)}\n` + S_BAR_H.repeat(Math.max(len - titleLen - 1, 1)) + S_CORNER_TOP_RIGHT, + )}\n${msg}\n${styleText('gray', bottomLeft + S_BAR_H.repeat(len + 2) + S_CORNER_BOTTOM_RIGHT)}\n`, ); }; diff --git a/packages/prompts/src/path.ts b/packages/prompts/src/path.ts index 70b8618e..a90d8da8 100644 --- a/packages/prompts/src/path.ts +++ b/packages/prompts/src/path.ts @@ -1,4 +1,5 @@ import { existsSync, lstatSync, readdirSync } from 'node:fs'; +// oxlint-disable-next-line no-restricted-imports import { dirname, join } from 'node:path'; import { autocomplete } from './autocomplete.js'; import type { CommonOptions } from './common.js'; @@ -66,13 +67,13 @@ export const path = (opts: PathOptions) => { }; }) .filter( - ({ path, isDirectory }) => path.startsWith(prefix) && (isDirectory || !opts.directory) + ({ path, isDirectory }) => path.startsWith(prefix) && (isDirectory || !opts.directory), ); return items.map((item) => ({ value: item.path, })); - } catch (_e) { + } catch { return []; } }, diff --git a/packages/prompts/src/select-key.ts b/packages/prompts/src/select-key.ts index cceef81e..0316a374 100644 --- a/packages/prompts/src/select-key.ts +++ b/packages/prompts/src/select-key.ts @@ -13,7 +13,7 @@ export interface SelectKeyOptions extends CommonOptions { export const selectKey = (opts: SelectKeyOptions) => { const opt = ( option: Option, - state: 'inactive' | 'active' | 'selected' | 'cancelled' = 'inactive' + state: 'inactive' | 'active' | 'selected' | 'cancelled' = 'inactive', ) => { const label = option.label ?? String(option.value); if (state === 'selected') { @@ -51,7 +51,7 @@ export const selectKey = (opts: SelectKeyOptions) = const wrapped = wrapTextWithPrefix( opts.output, opt(selectedOption, 'selected'), - submitPrefix + submitPrefix, ); return `${title}${wrapped}`; } @@ -60,7 +60,7 @@ export const selectKey = (opts: SelectKeyOptions) = const wrapped = wrapTextWithPrefix( opts.output, opt(this.options[0], 'cancelled'), - cancelPrefix + cancelPrefix, ); return `${title}${wrapped}${hasGuide ? `\n${styleText('gray', S_BAR)}` : ''}`; } @@ -72,8 +72,8 @@ export const selectKey = (opts: SelectKeyOptions) = wrapTextWithPrefix( opts.output, opt(option, i === this.cursor ? 'active' : 'inactive'), - defaultPrefix - ) + defaultPrefix, + ), ) .join('\n'); return `${title}${wrapped}\n${defaultPrefixEnd}\n`; diff --git a/packages/prompts/src/select.ts b/packages/prompts/src/select.ts index a3407cdb..abf626e8 100644 --- a/packages/prompts/src/select.ts +++ b/packages/prompts/src/select.ts @@ -85,7 +85,7 @@ const computeLabel = (label: string, format: (text: string) => string) => { export const select = (opts: SelectOptions) => { const opt = ( option: Option, - state: 'inactive' | 'active' | 'selected' | 'cancelled' | 'disabled' + state: 'inactive' | 'active' | 'selected' | 'cancelled' | 'disabled', ) => { const label = option.label ?? String(option.value); switch (state) { @@ -120,7 +120,7 @@ export const select = (opts: SelectOptions) => { opts.output, opts.message, titlePrefixBar, - titlePrefix + titlePrefix, ); const title = `${hasGuide ? `${styleText('gray', S_BAR)}\n` : ''}${messageLines}\n`; @@ -130,7 +130,7 @@ export const select = (opts: SelectOptions) => { const wrappedLines = wrapTextWithPrefix( opts.output, opt(this.options[this.cursor], 'selected'), - submitPrefix + submitPrefix, ); return `${title}${wrappedLines}`; } @@ -139,7 +139,7 @@ export const select = (opts: SelectOptions) => { const wrappedLines = wrapTextWithPrefix( opts.output, opt(this.options[this.cursor], 'cancelled'), - cancelPrefix + cancelPrefix, ); return `${title}${wrappedLines}${hasGuide ? `\n${styleText('gray', S_BAR)}` : ''}`; } diff --git a/packages/prompts/src/spinner.ts b/packages/prompts/src/spinner.ts index 9b427e3a..2207ac1c 100644 --- a/packages/prompts/src/spinner.ts +++ b/packages/prompts/src/spinner.ts @@ -170,6 +170,7 @@ export const spinner = ({ }, delay); }; + // oxlint-disable-next-line max-params const _stop = (msg = '', code = 0, silent: boolean = false): void => { if (!isSpinnerActive) return; isSpinnerActive = false; diff --git a/packages/prompts/src/stream.ts b/packages/prompts/src/stream.ts index 4ff3db5e..e07dc2e5 100644 --- a/packages/prompts/src/stream.ts +++ b/packages/prompts/src/stream.ts @@ -12,7 +12,7 @@ const prefix = `${styleText('gray', S_BAR)} `; export const stream = { message: async ( iterable: Iterable | AsyncIterable, - { symbol = styleText('gray', S_BAR) }: LogMessageOptions = {} + { symbol = styleText('gray', S_BAR) }: LogMessageOptions = {}, ) => { process.stdout.write(`${styleText('gray', S_BAR)}\n${symbol} `); let lineWidth = 3; diff --git a/packages/prompts/src/task-log.ts b/packages/prompts/src/task-log.ts index e69f2206..4bc7eba9 100644 --- a/packages/prompts/src/task-log.ts +++ b/packages/prompts/src/task-log.ts @@ -37,7 +37,7 @@ interface BufferEntry { } const stripDestructiveANSI = (input: string): string => { - // biome-ignore lint/suspicious/noControlCharactersInRegex: intentional + // oxlint-disable-next-line no-control-regex return input.replace(/\x1b\[(?:\d+;)*\d*[ABCDEFGHfJKSTsu]|\x1b\[(s|u)/g, ''); }; @@ -105,6 +105,7 @@ export const taskLog = (opts: TaskLogOptions) => { output.write(erase.lines(lines)); } }; + // oxlint-disable-next-line max-params const printBuffer = (buffer: BufferEntry, messageSpacing?: number, full?: boolean): void => { const messages = full ? `${buffer.full}\n${buffer.value}` : buffer.value; if (buffer.header !== undefined && buffer.header !== '') { @@ -115,7 +116,7 @@ export const taskLog = (opts: TaskLogOptions) => { secondarySymbol, symbol: secondarySymbol, spacing: 0, - } + }, ); } log.message( @@ -125,7 +126,7 @@ export const taskLog = (opts: TaskLogOptions) => { secondarySymbol, symbol: secondarySymbol, spacing: messageSpacing ?? spacing, - } + }, ); }; const renderBuffer = (): void => { @@ -134,10 +135,18 @@ export const taskLog = (opts: TaskLogOptions) => { if ((header === undefined || header.length === 0) && value.length === 0) { continue; } - printBuffer(buffer, undefined, retainLog === true && full.length > 0); + printBuffer(buffer, undefined, retainLog && full.length > 0); } }; - const message = (buffer: BufferEntry, msg: string, mopts?: TaskLogMessageOptions) => { + const message = ({ + buffer, + msg, + mopts, + }: { + buffer: BufferEntry; + msg: string; + mopts?: TaskLogMessageOptions; + }) => { clear(false); if ((mopts?.raw !== true || !lastMessageWasRaw) && buffer.value !== '') { buffer.value += '\n'; @@ -184,7 +193,8 @@ export const taskLog = (opts: TaskLogOptions) => { return { message(msg: string, mopts?: TaskLogMessageOptions) { - message(buffers[0], msg, mopts); + const buffer = buffers[0]; + message({ buffer, msg, mopts }); }, group(name: string) { const buffer: BufferEntry = { @@ -195,7 +205,7 @@ export const taskLog = (opts: TaskLogOptions) => { buffers.push(buffer); return { message(msg: string, mopts?: TaskLogMessageOptions) { - message(buffer, msg, mopts); + message({ buffer, msg, mopts }); }, error(message: string) { completeBuffer(buffer, { diff --git a/packages/prompts/test/date.test.ts b/packages/prompts/test/date.test.ts index 59490052..fbf6a622 100644 --- a/packages/prompts/test/date.test.ts +++ b/packages/prompts/test/date.test.ts @@ -167,7 +167,7 @@ describe.each(['true', 'false'])('date (isCI = %s)', (isCI) => { await new Promise((r) => setImmediate(r)); const hasError = output.buffer.some( - (s) => typeof s === 'string' && s.includes('Date must be on or after') + (s) => typeof s === 'string' && s.includes('Date must be on or after'), ); expect(hasError).toBe(true); diff --git a/packages/prompts/test/path.test.ts b/packages/prompts/test/path.test.ts index 5c1fe1f9..f2fef78c 100644 --- a/packages/prompts/test/path.test.ts +++ b/packages/prompts/test/path.test.ts @@ -33,7 +33,7 @@ describe.each(['true', 'false'])('text (isCI = %s)', (isCI) => { './root.zip': '6', './bar': '7', }, - '/tmp' + '/tmp', ); }); diff --git a/packages/prompts/test/progress-bar.test.ts b/packages/prompts/test/progress-bar.test.ts index a64061c8..c6215e46 100644 --- a/packages/prompts/test/progress-bar.test.ts +++ b/packages/prompts/test/progress-bar.test.ts @@ -325,7 +325,7 @@ describe.each(['true', 'false'])('prompts - progress (isCI = %s)', (isCI) => { result.stop(); expect(output.buffer).toMatchSnapshot(); - } + }, ); }); }); diff --git a/packages/prompts/test/test-utils.ts b/packages/prompts/test/test-utils.ts index 414ce247..4019176f 100644 --- a/packages/prompts/test/test-utils.ts +++ b/packages/prompts/test/test-utils.ts @@ -9,7 +9,7 @@ export class MockWritable extends Writable { _write( chunk: any, _encoding: BufferEncoding, - callback: (error?: Error | null | undefined) => void + callback: (error?: Error | null | undefined) => void, ): void { this.buffer.push(chunk.toString()); callback(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ef8fa16..86cb9fae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@bomb.sh/tools': - specifier: ^0.4.2 - version: 0.4.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3) + specifier: https://pkg.pr.new/@bomb.sh/tools@175116f + version: https://pkg.pr.new/@bomb.sh/tools@175116f(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3) '@changesets/cli': specifier: ^2.29.5 version: 2.29.5 @@ -113,8 +113,9 @@ packages: '@bomb.sh/args@0.3.1': resolution: {integrity: sha512-CwxKrfgcorUPP6KfYD59aRdBYWBTsfsxT+GmoLVnKo5Tmyoqbpo0UNcjngRMyU+6tiPbd18RuIYxhgAn44wU/Q==} - '@bomb.sh/tools@0.4.2': - resolution: {integrity: sha512-BbjMPPUhUG9ZM2lVbXiCfy5u+IDEDW5q++F3q/RQDiENhyaGqXk3HZhVFK4XqSRQ+fd4VO8KLzbQGdbis4XU2Q==} + '@bomb.sh/tools@https://pkg.pr.new/@bomb.sh/tools@175116f': + resolution: {integrity: sha512-W8WgNHwOJ1tSEFyw2FrqkHFdvGphxo2TXFXYVPmwoztlGW+fZSKHy4Wk3DP1Q4gMk0pqYttcgjwauj5hlTbJrQ==, tarball: https://pkg.pr.new/@bomb.sh/tools@175116f} + version: 0.4.2 hasBin: true '@changesets/apply-release-plan@7.0.12': @@ -1983,7 +1984,7 @@ snapshots: '@bomb.sh/args@0.3.1': {} - '@bomb.sh/tools@0.4.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3)': + '@bomb.sh/tools@https://pkg.pr.new/@bomb.sh/tools@175116f(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3)': dependencies: '@bomb.sh/args': 0.3.1 '@humanfs/node': 0.16.7 From fedefc7f8f9d3bc542dc008422429510b211561d Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 6 May 2026 19:29:46 +0100 Subject: [PATCH 8/9] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 05654f52..922c5c35 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: with: commands: > [ - "lint", "build", + "lint", "test" ] From 5152cf84d934d91eff12a191dd29a56a5ce3d78f Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 6 May 2026 20:12:33 +0100 Subject: [PATCH 9/9] fix: update publint commands --- .github/workflows/ci.yml | 1 + package.json | 3 ++- packages/core/package.json | 3 ++- packages/prompts/package.json | 3 ++- pnpm-lock.yaml | 10 +++++----- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 922c5c35..cd541fc5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,5 +21,6 @@ jobs: [ "build", "lint", + "publint", "test" ] diff --git a/package.json b/package.json index 3d650f8e..bafe2b29 100644 --- a/package.json +++ b/package.json @@ -8,11 +8,12 @@ "dev": "pnpm --filter @example/changesets run start", "format": "bsh format", "lint": "pnpm -r run lint", + "publint": "pnpm -r run publint", "test": "pnpm --color -r run test", "pretest": "pnpm run build" }, "devDependencies": { - "@bomb.sh/tools": "https://pkg.pr.new/@bomb.sh/tools@175116f", + "@bomb.sh/tools": "https://pkg.pr.new/@bomb.sh/tools@400d677", "@changesets/cli": "^2.29.5", "@types/node": "^20.19.39", "jsr": "^0.13.4", diff --git a/packages/core/package.json b/packages/core/package.json index 60d1ed56..ce3778b2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -54,7 +54,8 @@ "build": "bsh build", "prepack": "pnpm build", "test": "bsh test", - "lint": "bsh lint" + "lint": "bsh lint", + "publint": "pnpm build && bsh publint" }, "dependencies": { "fast-wrap-ansi": "^0.2.0", diff --git a/packages/prompts/package.json b/packages/prompts/package.json index c5a01dc8..36d13293 100644 --- a/packages/prompts/package.json +++ b/packages/prompts/package.json @@ -54,7 +54,8 @@ "build": "bsh build", "prepack": "pnpm build", "test": "bsh test", - "lint": "bsh lint" + "lint": "bsh lint", + "publint": "pnpm build && bsh publint" }, "dependencies": { "@clack/core": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86cb9fae..243cd07d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@bomb.sh/tools': - specifier: https://pkg.pr.new/@bomb.sh/tools@175116f - version: https://pkg.pr.new/@bomb.sh/tools@175116f(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3) + specifier: https://pkg.pr.new/@bomb.sh/tools@400d677 + version: https://pkg.pr.new/@bomb.sh/tools@400d677(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3) '@changesets/cli': specifier: ^2.29.5 version: 2.29.5 @@ -113,8 +113,8 @@ packages: '@bomb.sh/args@0.3.1': resolution: {integrity: sha512-CwxKrfgcorUPP6KfYD59aRdBYWBTsfsxT+GmoLVnKo5Tmyoqbpo0UNcjngRMyU+6tiPbd18RuIYxhgAn44wU/Q==} - '@bomb.sh/tools@https://pkg.pr.new/@bomb.sh/tools@175116f': - resolution: {integrity: sha512-W8WgNHwOJ1tSEFyw2FrqkHFdvGphxo2TXFXYVPmwoztlGW+fZSKHy4Wk3DP1Q4gMk0pqYttcgjwauj5hlTbJrQ==, tarball: https://pkg.pr.new/@bomb.sh/tools@175116f} + '@bomb.sh/tools@https://pkg.pr.new/@bomb.sh/tools@400d677': + resolution: {integrity: sha512-jQ8tLtkVKzma5jWFuu25h7CTD1uXW9j0K306KOTljLRpgyZGX0qY0rDiI1liN/OLSjwt4+91z71OHHYn5WPksg==, tarball: https://pkg.pr.new/@bomb.sh/tools@400d677} version: 0.4.2 hasBin: true @@ -1984,7 +1984,7 @@ snapshots: '@bomb.sh/args@0.3.1': {} - '@bomb.sh/tools@https://pkg.pr.new/@bomb.sh/tools@175116f(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3)': + '@bomb.sh/tools@https://pkg.pr.new/@bomb.sh/tools@400d677(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@20.19.39)(jiti@2.6.1)(oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0))(typescript@6.0.3)(yaml@2.8.3)': dependencies: '@bomb.sh/args': 0.3.1 '@humanfs/node': 0.16.7