[READ-ONLY] Mirror of https://github.com/bombshell-dev/clack. Effortlessly build beautiful command-line apps bomb.sh/docs/clack/basics/getting-started/
cli command-line command-line-app node prompt prompts
5

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'main' into chore/migrate-tools

Roman (Apr 28, 2026, 9:20 PM +0100) 8d5d976c f53289ca

+150 -54
+5
.changeset/afraid-pets-notice.md
··· 1 + --- 2 + "@clack/core": minor 3 + --- 4 + 5 + Remove unused `debug` option key.
+5
.changeset/honest-crews-go.md
··· 1 + --- 2 + "@clack/prompts": patch 3 + --- 4 + 5 + Fix mixed type-only and runtime exports from @clack/core.
+6
.changeset/mean-squids-slide.md
··· 1 + --- 2 + "@clack/prompts": minor 3 + "@clack/core": minor 4 + --- 5 + 6 + fix: add engines field expressing node >=20.12 requirement
+33
.github/PULL_REQUEST_TEMPLATE.md
··· 1 + ## What does this PR do? 2 + 3 + <!-- 4 + Describe the change and why it's needed. Link to a related issue or discussion. 5 + If there is no issue, please explain why one isn't needed. 6 + --> 7 + 8 + Closes # 9 + 10 + ## Type of change 11 + 12 + <!-- Check one. --> 13 + 14 + - [ ] Bug fix 15 + - [ ] Feature 16 + - [ ] Refactor (no behavior change) 17 + - [ ] Documentation 18 + - [ ] Performance improvement 19 + - [ ] Tests 20 + - [ ] Chore (dependencies, CI, tooling) 21 + 22 + ## Checklist 23 + 24 + - [ ] `pnpm test` passes (or targeted tests for my change) 25 + - [ ] `pnpm format` has been run 26 + - [ ] I have added/updated tests for my changes (if applicable) 27 + - [ ] I have added a changeset 28 + 29 + ## AI-generated code disclosure 30 + 31 + <!-- If any part of this PR was generated by AI tools (Copilot, Claude, GPT, Cursor, etc.), check the box. This is fine — we just need to know so reviewers can pay extra attention to edge cases. --> 32 + 33 + - [ ] This PR includes AI-generated code
+2 -2
package.json
··· 14 14 "devDependencies": { 15 15 "@bomb.sh/tools": "^0.3.4", 16 16 "@changesets/cli": "^2.29.5", 17 - "@types/node": "^24.1.0", 17 + "@types/node": "^20.19.39", 18 18 "jsr": "^0.13.4", 19 19 "typescript": "^5.8.3" 20 20 }, 21 - "packageManager": "pnpm@9.14.2", 21 + "packageManager": "pnpm@10.33.0", 22 22 "volta": { 23 23 "node": "20.18.1" 24 24 }
+5 -2
packages/core/package.json
··· 46 46 "url": "https://twitter.com/n_moore" 47 47 }, 48 48 "license": "MIT", 49 - "packageManager": "pnpm@9.14.2", 49 + "packageManager": "pnpm@10.33.0", 50 + "engines": { 51 + "node": ">= 20.12.0" 52 + }, 50 53 "scripts": { 51 54 "build": "bsh build", 52 55 "prepack": "pnpm build", ··· 54 57 "lint": "bsh lint" 55 58 }, 56 59 "dependencies": { 57 - "fast-wrap-ansi": "^0.1.3", 60 + "fast-wrap-ansi": "^0.2.0", 58 61 "sisteransi": "^1.0.5" 59 62 } 60 63 }
-1
packages/core/src/prompts/prompt.ts
··· 21 21 validate?: ((value: TValue | undefined) => string | Error | undefined) | undefined; 22 22 input?: Readable; 23 23 output?: Writable; 24 - debug?: boolean; 25 24 signal?: AbortSignal; 26 25 } 27 26
+1 -1
packages/core/test/prompts/date.test.ts
··· 45 45 instance.prompt(); 46 46 expect(instance.userInput).to.equal('2025/01/15'); 47 47 expect(instance.value).toBeInstanceOf(Date); 48 - expect(instance.value!.toISOString().slice(0, 10)).to.equal('2025-01-15'); 48 + expect(instance.value?.toISOString().slice(0, 10)).to.equal('2025-01-15'); 49 49 }); 50 50 51 51 test('left/right navigates between segments', () => {
+1 -1
packages/prompts/README.md
··· 262 262 // Do download here 263 263 p.advance(3, 'Downloading (30%)'); 264 264 // ... 265 - p.advance(8, 'Downloading (80%)'); 265 + p.advance(5, 'Downloading (80%)'); 266 266 // ... 267 267 p.stop('Archive downloaded'); 268 268 ```
+6 -3
packages/prompts/package.json
··· 46 46 "stdin", 47 47 "ui" 48 48 ], 49 - "packageManager": "pnpm@9.14.2", 49 + "packageManager": "pnpm@10.33.0", 50 + "engines": { 51 + "node": ">= 20.12.0" 52 + }, 50 53 "scripts": { 51 54 "build": "bsh build", 52 55 "prepack": "pnpm build", ··· 55 58 }, 56 59 "dependencies": { 57 60 "@clack/core": "workspace:*", 58 - "fast-string-width": "^1.1.0", 59 - "fast-wrap-ansi": "^0.1.3", 61 + "fast-string-width": "^3.0.2", 62 + "fast-wrap-ansi": "^0.2.0", 60 63 "sisteransi": "^1.0.5" 61 64 }, 62 65 "devDependencies": {
+2 -1
packages/prompts/src/index.ts
··· 1 - export { type ClackSettings, isCancel, settings, updateSettings } from '@clack/core'; 1 + export type { ClackSettings } from '@clack/core'; 2 + export { isCancel, settings, updateSettings } from '@clack/core'; 2 3 3 4 export * from './autocomplete.js'; 4 5 export * from './box.js';
+84 -43
pnpm-lock.yaml
··· 10 10 devDependencies: 11 11 '@bomb.sh/tools': 12 12 specifier: ^0.3.4 13 - 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) 13 + 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) 14 14 '@changesets/cli': 15 15 specifier: ^2.29.5 16 16 version: 2.29.5 17 17 '@types/node': 18 - specifier: ^24.1.0 19 - version: 24.1.0 18 + specifier: ^20.19.39 19 + version: 20.19.39 20 20 jsr: 21 21 specifier: ^0.13.4 22 22 version: 0.13.4 ··· 55 55 packages/core: 56 56 dependencies: 57 57 fast-wrap-ansi: 58 - specifier: ^0.1.3 59 - version: 0.1.3 58 + specifier: ^0.2.0 59 + version: 0.2.0 60 60 sisteransi: 61 61 specifier: ^1.0.5 62 62 version: 1.0.5 ··· 67 67 specifier: workspace:* 68 68 version: link:../core 69 69 fast-string-width: 70 - specifier: ^1.1.0 71 - version: 1.1.0 70 + specifier: ^3.0.2 71 + version: 3.0.2 72 72 fast-wrap-ansi: 73 - specifier: ^0.1.3 74 - version: 0.1.3 73 + specifier: ^0.2.0 74 + version: 0.2.0 75 75 sisteransi: 76 76 specifier: ^1.0.5 77 77 version: 1.0.5 ··· 447 447 resolution: {integrity: sha512-heV2+jmXyYnUrpUXSPugqWDRpnsQcDm2AX4wzTuvgdlZfoNYO0O3W2AVpJYaDn9AG4JdM6Kxom8+foE7/BcSig==} 448 448 cpu: [arm64] 449 449 os: [linux] 450 + libc: [glibc] 450 451 451 452 '@oxc-resolver/binding-linux-arm64-musl@11.19.1': 452 453 resolution: {integrity: sha512-jvo2Pjs1c9KPxMuMPIeQsgu0mOJF9rEb3y3TdpsrqwxRM+AN6/nDDwv45n5ZrUnQMsdBy5gIabioMKnQfWo9ew==} 453 454 cpu: [arm64] 454 455 os: [linux] 456 + libc: [musl] 455 457 456 458 '@oxc-resolver/binding-linux-ppc64-gnu@11.19.1': 457 459 resolution: {integrity: sha512-vLmdNxWCdN7Uo5suays6A/+ywBby2PWBBPXctWPg5V0+eVuzsJxgAn6MMB4mPlshskYbppjpN2Zg83ArHze9gQ==} 458 460 cpu: [ppc64] 459 461 os: [linux] 462 + libc: [glibc] 460 463 461 464 '@oxc-resolver/binding-linux-riscv64-gnu@11.19.1': 462 465 resolution: {integrity: sha512-/b+WgR+VTSBxzgOhDO7TlMXC1ufPIMR6Vj1zN+/x+MnyXGW7prTLzU9eW85Aj7Th7CCEG9ArCbTeqxCzFWdg2w==} 463 466 cpu: [riscv64] 464 467 os: [linux] 468 + libc: [glibc] 465 469 466 470 '@oxc-resolver/binding-linux-riscv64-musl@11.19.1': 467 471 resolution: {integrity: sha512-YlRdeWb9j42p29ROh+h4eg/OQ3dTJlpHSa+84pUM9+p6i3djtPz1q55yLJhgW9XfDch7FN1pQ/Vd6YP+xfRIuw==} 468 472 cpu: [riscv64] 469 473 os: [linux] 474 + libc: [musl] 470 475 471 476 '@oxc-resolver/binding-linux-s390x-gnu@11.19.1': 472 477 resolution: {integrity: sha512-EDpafVOQWF8/MJynsjOGFThcqhRHy417sRyLfQmeiamJ8qVhSKAn2Dn2VVKUGCjVB9C46VGjhNo7nOPUi1x6uA==} 473 478 cpu: [s390x] 474 479 os: [linux] 480 + libc: [glibc] 475 481 476 482 '@oxc-resolver/binding-linux-x64-gnu@11.19.1': 477 483 resolution: {integrity: sha512-NxjZe+rqWhr+RT8/Ik+5ptA3oz7tUw361Wa5RWQXKnfqwSSHdHyrw6IdcTfYuml9dM856AlKWZIUXDmA9kkiBQ==} 478 484 cpu: [x64] 479 485 os: [linux] 486 + libc: [glibc] 480 487 481 488 '@oxc-resolver/binding-linux-x64-musl@11.19.1': 482 489 resolution: {integrity: sha512-cM/hQwsO3ReJg5kR+SpI69DMfvNCp+A/eVR4b4YClE5bVZwz8rh2Nh05InhwI5HR/9cArbEkzMjcKgTHS6UaNw==} 483 490 cpu: [x64] 484 491 os: [linux] 492 + libc: [musl] 485 493 486 494 '@oxc-resolver/binding-openharmony-arm64@11.19.1': 487 495 resolution: {integrity: sha512-QF080IowFB0+9Rh6RcD19bdgh49BpQHUW5TajG1qvWHvmrQznTZZjYlgE2ltLXyKY+qs4F/v5xuX1XS7Is+3qA==} ··· 555 563 engines: {node: ^20.19.0 || >=22.12.0} 556 564 cpu: [arm64] 557 565 os: [linux] 566 + libc: [glibc] 558 567 559 568 '@oxfmt/binding-linux-arm64-musl@0.36.0': 560 569 resolution: {integrity: sha512-SPGLJkOIHSIC6ABUQ5V8NqJpvYhMJueJv26NYqfCnwi/Mn6A61amkpJJ9Suy0Nmvs+OWESJpcebrBUbXPGZyQQ==} 561 570 engines: {node: ^20.19.0 || >=22.12.0} 562 571 cpu: [arm64] 563 572 os: [linux] 573 + libc: [musl] 564 574 565 575 '@oxfmt/binding-linux-ppc64-gnu@0.36.0': 566 576 resolution: {integrity: sha512-3EuoyB8x9x8ysYJjbEO/M9fkSk72zQKnXCvpZMDHXlnY36/1qMp55Nm0PrCwjGO/1pen5hdOVkz9WmP3nAp2IQ==} 567 577 engines: {node: ^20.19.0 || >=22.12.0} 568 578 cpu: [ppc64] 569 579 os: [linux] 580 + libc: [glibc] 570 581 571 582 '@oxfmt/binding-linux-riscv64-gnu@0.36.0': 572 583 resolution: {integrity: sha512-MpY3itLwpGh8dnywtrZtaZ604T1m715SydCKy0+qTxetv+IHzuA+aO/AGzrlzUNYZZmtWtmDBrChZGibvZxbRQ==} 573 584 engines: {node: ^20.19.0 || >=22.12.0} 574 585 cpu: [riscv64] 575 586 os: [linux] 587 + libc: [glibc] 576 588 577 589 '@oxfmt/binding-linux-riscv64-musl@0.36.0': 578 590 resolution: {integrity: sha512-mmDhe4Vtx+XwQPRPn/V25+APnkApYgZ23q+6GVsNYY98pf3aU0aI3Me96pbRs/AfJ1jIiGC+/6q71FEu8dHcHw==} 579 591 engines: {node: ^20.19.0 || >=22.12.0} 580 592 cpu: [riscv64] 581 593 os: [linux] 594 + libc: [musl] 582 595 583 596 '@oxfmt/binding-linux-s390x-gnu@0.36.0': 584 597 resolution: {integrity: sha512-AYXhU+DmNWLSnvVwkHM92fuYhogtVHab7UQrPNaDf1sxadugg9gWVmcgJDlIwxJdpk5CVW/TFvwUKwI432zhhA==} 585 598 engines: {node: ^20.19.0 || >=22.12.0} 586 599 cpu: [s390x] 587 600 os: [linux] 601 + libc: [glibc] 588 602 589 603 '@oxfmt/binding-linux-x64-gnu@0.36.0': 590 604 resolution: {integrity: sha512-H16QhhQ3usoakMleiAAQ2mg0NsBDAdyE9agUgfC8IHHh3jZEbr0rIKwjEqwbOHK5M0EmfhJmr+aGO/MgZPsneA==} 591 605 engines: {node: ^20.19.0 || >=22.12.0} 592 606 cpu: [x64] 593 607 os: [linux] 608 + libc: [glibc] 594 609 595 610 '@oxfmt/binding-linux-x64-musl@0.36.0': 596 611 resolution: {integrity: sha512-EFFGkixA39BcmHiCe2ECdrq02D6FCve5ka6ObbvrheXl4V+R0U/E+/uLyVx1X65LW8TA8QQHdnbdDallRekohw==} 597 612 engines: {node: ^20.19.0 || >=22.12.0} 598 613 cpu: [x64] 599 614 os: [linux] 615 + libc: [musl] 600 616 601 617 '@oxfmt/binding-openharmony-arm64@0.36.0': 602 618 resolution: {integrity: sha512-zr/t369wZWFOj1qf06Z5gGNjFymfUNDrxKMmr7FKiDRVI1sNsdKRCuRL4XVjtcptKQ+ao3FfxLN1vrynivmCYg==} ··· 669 685 engines: {node: ^20.19.0 || >=22.12.0} 670 686 cpu: [arm64] 671 687 os: [linux] 688 + libc: [glibc] 672 689 673 690 '@oxlint/binding-linux-arm64-musl@1.57.0': 674 691 resolution: {integrity: sha512-i66WyEPVEvq9bxRUCJ/MP5EBfnTDN3nhwEdFZFTO5MmLLvzngfWEG3NSdXQzTT3vk5B9i6C2XSIYBh+aG6uqyg==} 675 692 engines: {node: ^20.19.0 || >=22.12.0} 676 693 cpu: [arm64] 677 694 os: [linux] 695 + libc: [musl] 678 696 679 697 '@oxlint/binding-linux-ppc64-gnu@1.57.0': 680 698 resolution: {integrity: sha512-oMZDCwz4NobclZU3pH+V1/upVlJZiZvne4jQP+zhJwt+lmio4XXr4qG47CehvrW1Lx2YZiIHuxM2D4YpkG3KVA==} 681 699 engines: {node: ^20.19.0 || >=22.12.0} 682 700 cpu: [ppc64] 683 701 os: [linux] 702 + libc: [glibc] 684 703 685 704 '@oxlint/binding-linux-riscv64-gnu@1.57.0': 686 705 resolution: {integrity: sha512-uoBnjJ3MMEBbfnWC1jSFr7/nSCkcQYa72NYoNtLl1imshDnWSolYCjzb8LVCwYCCfLJXD+0gBLD7fyC14c0+0g==} 687 706 engines: {node: ^20.19.0 || >=22.12.0} 688 707 cpu: [riscv64] 689 708 os: [linux] 709 + libc: [glibc] 690 710 691 711 '@oxlint/binding-linux-riscv64-musl@1.57.0': 692 712 resolution: {integrity: sha512-BdrwD7haPZ8a9KrZhKJRSj6jwCor+Z8tHFZ3PT89Y3Jq5v3LfMfEePeAmD0LOTWpiTmzSzdmyw9ijneapiVHKQ==} 693 713 engines: {node: ^20.19.0 || >=22.12.0} 694 714 cpu: [riscv64] 695 715 os: [linux] 716 + libc: [musl] 696 717 697 718 '@oxlint/binding-linux-s390x-gnu@1.57.0': 698 719 resolution: {integrity: sha512-BNs+7ZNsRstVg2tpNxAXfMX/Iv5oZh204dVyb8Z37+/gCh+yZqNTlg6YwCLIMPSk5wLWIGOaQjT0GUOahKYImw==} 699 720 engines: {node: ^20.19.0 || >=22.12.0} 700 721 cpu: [s390x] 701 722 os: [linux] 723 + libc: [glibc] 702 724 703 725 '@oxlint/binding-linux-x64-gnu@1.57.0': 704 726 resolution: {integrity: sha512-AghS18w+XcENcAX0+BQGLiqjpqpaxKJa4cWWP0OWNLacs27vHBxu7TYkv9LUSGe5w8lOJHeMxcYfZNOAPqw2bg==} 705 727 engines: {node: ^20.19.0 || >=22.12.0} 706 728 cpu: [x64] 707 729 os: [linux] 730 + libc: [glibc] 708 731 709 732 '@oxlint/binding-linux-x64-musl@1.57.0': 710 733 resolution: {integrity: sha512-E/FV3GB8phu/Rpkhz5T96hAiJlGzn91qX5yj5gU754P5cmVGXY1Jw/VSjDSlZBCY3VHjsVLdzgdkJaomEmcNOg==} 711 734 engines: {node: ^20.19.0 || >=22.12.0} 712 735 cpu: [x64] 713 736 os: [linux] 737 + libc: [musl] 714 738 715 739 '@oxlint/binding-openharmony-arm64@1.57.0': 716 740 resolution: {integrity: sha512-xvZ2yZt0nUVfU14iuGv3V25jpr9pov5N0Wr28RXnHFxHCRxNDMtYPHV61gGLhN9IlXM96gI4pyYpLSJC5ClLCQ==} ··· 778 802 engines: {node: ^20.19.0 || >=22.12.0} 779 803 cpu: [arm64] 780 804 os: [linux] 805 + libc: [glibc] 781 806 782 807 '@rolldown/binding-linux-arm64-musl@1.0.0-rc.11': 783 808 resolution: {integrity: sha512-jfndI9tsfm4APzjNt6QdBkYwre5lRPUgHeDHoI7ydKUuJvz3lZeCfMsI56BZj+7BYqiKsJm7cfd/6KYV7ubrBg==} 784 809 engines: {node: ^20.19.0 || >=22.12.0} 785 810 cpu: [arm64] 786 811 os: [linux] 812 + libc: [musl] 787 813 788 814 '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.11': 789 815 resolution: {integrity: sha512-ZlFgw46NOAGMgcdvdYwAGu2Q+SLFA9LzbJLW+iyMOJyhj5wk6P3KEE9Gct4xWwSzFoPI7JCdYmYMzVtlgQ+zfw==} 790 816 engines: {node: ^20.19.0 || >=22.12.0} 791 817 cpu: [ppc64] 792 818 os: [linux] 819 + libc: [glibc] 793 820 794 821 '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.11': 795 822 resolution: {integrity: sha512-hIOYmuT6ofM4K04XAZd3OzMySEO4K0/nc9+jmNcxNAxRi6c5UWpqfw3KMFV4MVFWL+jQsSh+bGw2VqmaPMTLyw==} 796 823 engines: {node: ^20.19.0 || >=22.12.0} 797 824 cpu: [s390x] 798 825 os: [linux] 826 + libc: [glibc] 799 827 800 828 '@rolldown/binding-linux-x64-gnu@1.0.0-rc.11': 801 829 resolution: {integrity: sha512-qXBQQO9OvkjjQPLdUVr7Nr2t3QTZI7s4KZtfw7HzBgjbmAPSFwSv4rmET9lLSgq3rH/ndA3ngv3Qb8l2njoPNA==} 802 830 engines: {node: ^20.19.0 || >=22.12.0} 803 831 cpu: [x64] 804 832 os: [linux] 833 + libc: [glibc] 805 834 806 835 '@rolldown/binding-linux-x64-musl@1.0.0-rc.11': 807 836 resolution: {integrity: sha512-/tpFfoSTzUkH9LPY+cYbqZBDyyX62w5fICq9qzsHLL8uTI6BHip3Q9Uzft0wylk/i8OOwKik8OxW+QAhDmzwmg==} 808 837 engines: {node: ^20.19.0 || >=22.12.0} 809 838 cpu: [x64] 810 839 os: [linux] 840 + libc: [musl] 811 841 812 842 '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': 813 843 resolution: {integrity: sha512-mcp3Rio2w72IvdZG0oQ4bM2c2oumtwHfUfKncUM6zGgz0KgPz4YmDPQfnXEiY5t3+KD/i8HG2rOB/LxdmieK2g==} ··· 869 899 resolution: {integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==} 870 900 cpu: [arm] 871 901 os: [linux] 902 + libc: [glibc] 872 903 873 904 '@rollup/rollup-linux-arm-musleabihf@4.45.1': 874 905 resolution: {integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==} 875 906 cpu: [arm] 876 907 os: [linux] 908 + libc: [musl] 877 909 878 910 '@rollup/rollup-linux-arm64-gnu@4.45.1': 879 911 resolution: {integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==} 880 912 cpu: [arm64] 881 913 os: [linux] 914 + libc: [glibc] 882 915 883 916 '@rollup/rollup-linux-arm64-musl@4.45.1': 884 917 resolution: {integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==} 885 918 cpu: [arm64] 886 919 os: [linux] 920 + libc: [musl] 887 921 888 922 '@rollup/rollup-linux-loongarch64-gnu@4.45.1': 889 923 resolution: {integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==} 890 924 cpu: [loong64] 891 925 os: [linux] 926 + libc: [glibc] 892 927 893 928 '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': 894 929 resolution: {integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==} 895 930 cpu: [ppc64] 896 931 os: [linux] 932 + libc: [glibc] 897 933 898 934 '@rollup/rollup-linux-riscv64-gnu@4.45.1': 899 935 resolution: {integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==} 900 936 cpu: [riscv64] 901 937 os: [linux] 938 + libc: [glibc] 902 939 903 940 '@rollup/rollup-linux-riscv64-musl@4.45.1': 904 941 resolution: {integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==} 905 942 cpu: [riscv64] 906 943 os: [linux] 944 + libc: [musl] 907 945 908 946 '@rollup/rollup-linux-s390x-gnu@4.45.1': 909 947 resolution: {integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==} 910 948 cpu: [s390x] 911 949 os: [linux] 950 + libc: [glibc] 912 951 913 952 '@rollup/rollup-linux-x64-gnu@4.45.1': 914 953 resolution: {integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==} 915 954 cpu: [x64] 916 955 os: [linux] 956 + libc: [glibc] 917 957 918 958 '@rollup/rollup-linux-x64-musl@4.45.1': 919 959 resolution: {integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==} 920 960 cpu: [x64] 921 961 os: [linux] 962 + libc: [musl] 922 963 923 964 '@rollup/rollup-win32-arm64-msvc@4.45.1': 924 965 resolution: {integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==} ··· 956 997 '@types/node@12.20.55': 957 998 resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} 958 999 959 - '@types/node@24.1.0': 960 - resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} 1000 + '@types/node@20.19.39': 1001 + resolution: {integrity: sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==} 961 1002 962 1003 '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260307.1': 963 1004 resolution: {integrity: sha512-VpnrMP4iDLSTT9Hg/KrHwuIHLZr5dxYPMFErfv3ZDA0tv48u2H1lBhHVVMMopCuskuX3C35EOJbxLkxCJd6zDw==} ··· 1147 1188 resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1148 1189 engines: {node: '>=8.6.0'} 1149 1190 1150 - fast-string-truncated-width@1.2.1: 1151 - resolution: {integrity: sha512-Q9acT/+Uu3GwGj+5w/zsGuQjh9O1TyywhIwAxHudtWrgF09nHOPrvTLhQevPbttcxjr/SNN7mJmfOw/B1bXgow==} 1191 + fast-string-truncated-width@3.0.3: 1192 + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} 1152 1193 1153 - fast-string-width@1.1.0: 1154 - resolution: {integrity: sha512-O3fwIVIH5gKB38QNbdg+3760ZmGz0SZMgvwJbA1b2TGXceKE6A2cOlfogh1iw8lr049zPyd7YADHy+B7U4W9bQ==} 1194 + fast-string-width@3.0.2: 1195 + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} 1155 1196 1156 - fast-wrap-ansi@0.1.3: 1157 - resolution: {integrity: sha512-iLg8mLuZBztzm8jmY6/xjr+ci4WYo6eYgHAioTA1ElxkE1BJ9J4tPuDlnHaLfljkRZ2vYfP0CDIpCHBBag4InA==} 1197 + fast-wrap-ansi@0.2.0: 1198 + resolution: {integrity: sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==} 1158 1199 1159 1200 fastq@1.17.1: 1160 1201 resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} ··· 1653 1694 unconfig-core@7.5.0: 1654 1695 resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} 1655 1696 1656 - undici-types@7.8.0: 1657 - resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} 1697 + undici-types@6.21.0: 1698 + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 1658 1699 1659 1700 universalify@0.1.2: 1660 1701 resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} ··· 1799 1840 1800 1841 '@bomb.sh/args@0.3.1': {} 1801 1842 1802 - '@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)': 1843 + '@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)': 1803 1844 dependencies: 1804 1845 '@bomb.sh/args': 0.3.1 1805 1846 '@humanfs/node': 0.16.7 1806 1847 '@humanfs/types': 0.15.0 1807 1848 '@typescript/native-preview': 7.0.0-dev.20260307.1 1808 - knip: 5.88.1(@types/node@24.1.0)(typescript@5.8.3) 1849 + knip: 5.88.1(@types/node@20.19.39)(typescript@5.8.3) 1809 1850 oxfmt: 0.36.0 1810 1851 oxlint: 1.57.0 1811 1852 publint: 0.3.18 1812 1853 tinyexec: 1.0.4 1813 1854 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) 1814 - vitest: 4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3) 1815 - vitest-ansi-serializer: 0.2.1(vitest@4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3)) 1855 + vitest: 4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) 1856 + vitest-ansi-serializer: 0.2.1(vitest@4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3)) 1816 1857 transitivePeerDependencies: 1817 1858 - '@arethetypeswrong/core' 1818 1859 - '@edge-runtime/vm' ··· 2470 2511 2471 2512 '@types/node@12.20.55': {} 2472 2513 2473 - '@types/node@24.1.0': 2514 + '@types/node@20.19.39': 2474 2515 dependencies: 2475 - undici-types: 7.8.0 2516 + undici-types: 6.21.0 2476 2517 2477 2518 '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260307.1': 2478 2519 optional: true ··· 2514 2555 chai: 6.2.2 2515 2556 tinyrainbow: 3.1.0 2516 2557 2517 - '@vitest/mocker@4.1.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3))': 2558 + '@vitest/mocker@4.1.1(vite@7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3))': 2518 2559 dependencies: 2519 2560 '@vitest/spy': 4.1.1 2520 2561 estree-walker: 3.0.3 2521 2562 magic-string: 0.30.21 2522 2563 optionalDependencies: 2523 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3) 2564 + vite: 7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) 2524 2565 2525 2566 '@vitest/pretty-format@4.1.1': 2526 2567 dependencies: ··· 2668 2709 merge2: 1.4.1 2669 2710 micromatch: 4.0.8 2670 2711 2671 - fast-string-truncated-width@1.2.1: {} 2712 + fast-string-truncated-width@3.0.3: {} 2672 2713 2673 - fast-string-width@1.1.0: 2714 + fast-string-width@3.0.2: 2674 2715 dependencies: 2675 - fast-string-truncated-width: 1.2.1 2716 + fast-string-truncated-width: 3.0.3 2676 2717 2677 - fast-wrap-ansi@0.1.3: 2718 + fast-wrap-ansi@0.2.0: 2678 2719 dependencies: 2679 - fast-string-width: 1.1.0 2720 + fast-string-width: 3.0.2 2680 2721 2681 2722 fastq@1.17.1: 2682 2723 dependencies: ··· 2790 2831 node-stream-zip: 1.15.0 2791 2832 semiver: 1.1.0 2792 2833 2793 - knip@5.88.1(@types/node@24.1.0)(typescript@5.8.3): 2834 + knip@5.88.1(@types/node@20.19.39)(typescript@5.8.3): 2794 2835 dependencies: 2795 2836 '@nodelib/fs.walk': 1.2.8 2796 - '@types/node': 24.1.0 2837 + '@types/node': 20.19.39 2797 2838 fast-glob: 3.3.3 2798 2839 formatly: 0.3.0 2799 2840 jiti: 2.6.1 ··· 3179 3220 '@quansync/fs': 1.0.0 3180 3221 quansync: 1.0.0 3181 3222 3182 - undici-types@7.8.0: {} 3223 + undici-types@6.21.0: {} 3183 3224 3184 3225 universalify@0.1.2: {} 3185 3226 ··· 3187 3228 dependencies: 3188 3229 rolldown: 1.0.0-rc.11 3189 3230 3190 - vite@7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3): 3231 + vite@7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3): 3191 3232 dependencies: 3192 3233 esbuild: 0.25.8 3193 3234 fdir: 6.5.0(picomatch@4.0.4) ··· 3196 3237 rollup: 4.45.1 3197 3238 tinyglobby: 0.2.15 3198 3239 optionalDependencies: 3199 - '@types/node': 24.1.0 3240 + '@types/node': 20.19.39 3200 3241 fsevents: 2.3.3 3201 3242 jiti: 2.6.1 3202 3243 yaml: 2.8.3 3203 3244 3204 - vitest-ansi-serializer@0.2.1(vitest@4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3)): 3245 + vitest-ansi-serializer@0.2.1(vitest@4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3)): 3205 3246 dependencies: 3206 - vitest: 4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3) 3247 + vitest: 4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) 3207 3248 3208 - vitest@4.1.1(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3): 3249 + vitest@4.1.1(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3): 3209 3250 dependencies: 3210 3251 '@vitest/expect': 4.1.1 3211 - '@vitest/mocker': 4.1.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3)) 3252 + '@vitest/mocker': 4.1.1(vite@7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3)) 3212 3253 '@vitest/pretty-format': 4.1.1 3213 3254 '@vitest/runner': 4.1.1 3214 3255 '@vitest/snapshot': 4.1.1 ··· 3225 3266 tinyexec: 1.0.4 3226 3267 tinyglobby: 0.2.15 3227 3268 tinyrainbow: 3.1.0 3228 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.6.1)(yaml@2.8.3) 3269 + vite: 7.0.6(@types/node@20.19.39)(jiti@2.6.1)(yaml@2.8.3) 3229 3270 why-is-node-running: 2.3.0 3230 3271 optionalDependencies: 3231 - '@types/node': 24.1.0 3272 + '@types/node': 20.19.39 3232 3273 transitivePeerDependencies: 3233 3274 - jiti 3234 3275 - less