@huberyyang/create-todo-vue 1.0.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -8
- package/bin/index.js +3 -1
- package/dist/index.js +49 -63
- package/package.json +21 -24
- package/template-vitesse-base/.dockerignore +0 -2
- package/template-vitesse-base/.editorconfig +0 -9
- package/template-vitesse-base/.github/FUNDING.yml +0 -2
- package/template-vitesse-base/.github/workflows/ci.yml +0 -96
- package/template-vitesse-base/.vscode/extensions.json +0 -13
- package/template-vitesse-base/.vscode/settings.json +0 -48
- package/template-vitesse-base/Dockerfile +0 -18
- package/template-vitesse-base/LICENSE +0 -21
- package/template-vitesse-base/README.md +0 -216
- package/template-vitesse-base/README.zh-CN.md +0 -185
- package/template-vitesse-base/_gitignore +0 -11
- package/template-vitesse-base/cypress/e2e/basic.spec.ts +0 -36
- package/template-vitesse-base/cypress/tsconfig.json +0 -12
- package/template-vitesse-base/cypress.config.ts +0 -14
- package/template-vitesse-base/eslint.config.js +0 -10
- package/template-vitesse-base/index.html +0 -23
- package/template-vitesse-base/locales/README.md +0 -7
- package/template-vitesse-base/locales/ar.yml +0 -14
- package/template-vitesse-base/locales/de.yml +0 -14
- package/template-vitesse-base/locales/en.yml +0 -14
- package/template-vitesse-base/locales/es.yml +0 -14
- package/template-vitesse-base/locales/fr.yml +0 -14
- package/template-vitesse-base/locales/id.yml +0 -14
- package/template-vitesse-base/locales/it.yml +0 -13
- package/template-vitesse-base/locales/ja.yml +0 -13
- package/template-vitesse-base/locales/ka.yml +0 -14
- package/template-vitesse-base/locales/ko.yml +0 -13
- package/template-vitesse-base/locales/pl.yml +0 -14
- package/template-vitesse-base/locales/pt-BR.yml +0 -14
- package/template-vitesse-base/locales/ru.yml +0 -13
- package/template-vitesse-base/locales/tr.yml +0 -14
- package/template-vitesse-base/locales/uk.yml +0 -13
- package/template-vitesse-base/locales/uz.yml +0 -14
- package/template-vitesse-base/locales/vi.yml +0 -13
- package/template-vitesse-base/locales/zh-CN.yml +0 -14
- package/template-vitesse-base/netlify.toml +0 -17
- package/template-vitesse-base/package.json +0 -81
- package/template-vitesse-base/public/_headers +0 -3
- package/template-vitesse-base/public/favicon-dark.svg +0 -3
- package/template-vitesse-base/public/favicon.svg +0 -3
- package/template-vitesse-base/public/pwa-192x192.png +0 -0
- package/template-vitesse-base/public/pwa-512x512.png +0 -0
- package/template-vitesse-base/public/safari-pinned-tab.svg +0 -41
- package/template-vitesse-base/src/App.vue +0 -29
- package/template-vitesse-base/src/auto-imports.d.ts +0 -624
- package/template-vitesse-base/src/components/README.md +0 -9
- package/template-vitesse-base/src/components/TheCounter.vue +0 -19
- package/template-vitesse-base/src/components/TheFooter.vue +0 -37
- package/template-vitesse-base/src/components/TheInput.vue +0 -20
- package/template-vitesse-base/src/components.d.ts +0 -17
- package/template-vitesse-base/src/composables/dark.ts +0 -4
- package/template-vitesse-base/src/layouts/404.vue +0 -21
- package/template-vitesse-base/src/layouts/README.md +0 -14
- package/template-vitesse-base/src/layouts/default.vue +0 -12
- package/template-vitesse-base/src/layouts/home.vue +0 -12
- package/template-vitesse-base/src/main.ts +0 -25
- package/template-vitesse-base/src/modules/README.md +0 -11
- package/template-vitesse-base/src/modules/i18n.ts +0 -50
- package/template-vitesse-base/src/modules/nprogress.ts +0 -14
- package/template-vitesse-base/src/modules/pinia.ts +0 -17
- package/template-vitesse-base/src/modules/pwa.ts +0 -14
- package/template-vitesse-base/src/pages/README.md +0 -20
- package/template-vitesse-base/src/pages/[...all].vue +0 -14
- package/template-vitesse-base/src/pages/about.md +0 -26
- package/template-vitesse-base/src/pages/hi/[name].vue +0 -50
- package/template-vitesse-base/src/pages/index.vue +0 -59
- package/template-vitesse-base/src/shims.d.ts +0 -18
- package/template-vitesse-base/src/stores/user.ts +0 -34
- package/template-vitesse-base/src/styles/main.css +0 -29
- package/template-vitesse-base/src/styles/markdown.css +0 -25
- package/template-vitesse-base/src/typed-router.d.ts +0 -27
- package/template-vitesse-base/src/types.ts +0 -3
- package/template-vitesse-base/test/__snapshots__/component.test.ts.snap +0 -3
- package/template-vitesse-base/test/basic.test.ts +0 -7
- package/template-vitesse-base/test/component.test.ts +0 -28
- package/template-vitesse-base/tsconfig.json +0 -38
- package/template-vitesse-base/uno.config.ts +0 -41
- package/template-vitesse-base/vite.config.ts +0 -167
- package/template-vitesse-lite/.editorconfig +0 -9
- package/template-vitesse-lite/.github/FUNDING.yml +0 -2
- package/template-vitesse-lite/.github/workflows/test.yml +0 -47
- package/template-vitesse-lite/.vscode/extensions.json +0 -11
- package/template-vitesse-lite/.vscode/settings.json +0 -48
- package/template-vitesse-lite/LICENSE +0 -21
- package/template-vitesse-lite/README.md +0 -86
- package/template-vitesse-lite/README.zh-CN.md +0 -87
- package/template-vitesse-lite/_gitignore +0 -9
- package/template-vitesse-lite/auto-imports.d.ts +0 -603
- package/template-vitesse-lite/components.d.ts +0 -17
- package/template-vitesse-lite/eslint.config.js +0 -9
- package/template-vitesse-lite/index.html +0 -25
- package/template-vitesse-lite/netlify.toml +0 -11
- package/template-vitesse-lite/package.json +0 -53
- package/template-vitesse-lite/public/favicon.svg +0 -9
- package/template-vitesse-lite/shims.d.ts +0 -6
- package/template-vitesse-lite/src/App.vue +0 -6
- package/template-vitesse-lite/src/components/README.md +0 -9
- package/template-vitesse-lite/src/components/TheCounter.vue +0 -19
- package/template-vitesse-lite/src/components/TheFooter.vue +0 -15
- package/template-vitesse-lite/src/components/TheInput.vue +0 -18
- package/template-vitesse-lite/src/composables/dark.ts +0 -2
- package/template-vitesse-lite/src/composables/index.ts +0 -1
- package/template-vitesse-lite/src/main.ts +0 -15
- package/template-vitesse-lite/src/pages/README.md +0 -20
- package/template-vitesse-lite/src/pages/[...all].vue +0 -5
- package/template-vitesse-lite/src/pages/hi/[name].vue +0 -22
- package/template-vitesse-lite/src/pages/index.vue +0 -46
- package/template-vitesse-lite/src/styles/main.css +0 -11
- package/template-vitesse-lite/test/__snapshots__/component.test.ts.snap +0 -3
- package/template-vitesse-lite/test/basic.test.ts +0 -7
- package/template-vitesse-lite/test/component.test.ts +0 -22
- package/template-vitesse-lite/tsconfig.json +0 -32
- package/template-vitesse-lite/typed-router.d.ts +0 -25
- package/template-vitesse-lite/uno.config.ts +0 -29
- package/template-vitesse-lite/vite.config.ts +0 -68
package/README.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<h1 align="center">🚀 create-todo-vue</h1>
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
|
-
<a href="https://
|
|
4
|
+
<a href="https://www.npmjs.com/package/@huberyyang/create-todo-vue"><img src="https://img.shields.io/npm/v/@huberyyang/create-todo-vue?style=flat-square&label=%20&color=%23000" alt="npm version"></a>
|
|
5
|
+
<a href="https://github.com/Hub-yang/create-todo-vue/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/Hub-yang/create-todo-vue/ci.yml?branch=main&style=flat-square&label=CI" alt="CI status"/></a>
|
|
5
6
|
<a href="https://github.com/Hub-yang/create-todo-vue"><img src="https://img.shields.io/static/v1?label=%F0%9F%8C%9F&message=If%20Useful&style=flat-square&color=BC4E99" alt="star badge"/></a>
|
|
6
|
-
<a href="https://opensource.org/license/MIT"><img src="https://img.shields.io/npm/l/
|
|
7
|
+
<a href="https://opensource.org/license/MIT"><img src="https://img.shields.io/npm/l/@huberyyang/create-todo-vue?style=flat-square" alt="license"/></a>
|
|
7
8
|
</div>
|
|
8
9
|
|
|
9
10
|
### 💡 说明 (Features)
|
|
@@ -31,25 +32,54 @@ deno run -A npm:@huberyyang/create-todo-vue
|
|
|
31
32
|
|
|
32
33
|
#### ⚡️ 快速创建
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
指定好参数即可跳过全部交互:
|
|
35
36
|
|
|
36
37
|
```sh
|
|
38
|
+
# 创建并立即安装依赖
|
|
37
39
|
npm create @huberyyang/todo-vue vue-project --overwrite -t vue-ts -i
|
|
40
|
+
|
|
41
|
+
# 只创建,不装依赖(适合 CI 或脚本调用)
|
|
42
|
+
npm create @huberyyang/todo-vue vue-project --overwrite -t vue-ts --no-immediate
|
|
38
43
|
```
|
|
39
44
|
|
|
40
45
|
#### 🔵 参数说明
|
|
41
46
|
|
|
42
47
|
- `-h, --help` 查看帮助
|
|
48
|
+
- `-v, --version` 查看版本号
|
|
43
49
|
- `-t, --template` 指定模板
|
|
44
50
|
- `-i, --immediate` 创建后立即安装依赖
|
|
45
|
-
- `--
|
|
51
|
+
- `--no-immediate` 创建后不安装依赖,只打印后续步骤(不加这两个 flag 时会询问)
|
|
52
|
+
- `--overwrite` 目标目录不为空时直接覆盖,不再询问
|
|
53
|
+
|
|
54
|
+
传入未声明的参数会直接报错退出,并列出拼错的那个。
|
|
55
|
+
|
|
56
|
+
#### 🟡 退出码
|
|
57
|
+
|
|
58
|
+
脚本化调用时可据此判断结果:
|
|
59
|
+
|
|
60
|
+
| 退出码 | 含义 |
|
|
61
|
+
| --- | --- |
|
|
62
|
+
| `0` | 创建成功;`-h` / `-v` 同样返回 0 |
|
|
63
|
+
| `1` | 操作被取消、参数有误,或创建过程中出错 |
|
|
64
|
+
|
|
65
|
+
两点值得单独说明,它们在 `v1.2.0` 之前的行为不同:
|
|
66
|
+
|
|
67
|
+
- **取消操作返回 1。** 既包括交互式按 <kbd>Ctrl</kbd>+<kbd>C</kbd>,也包括在非交互环境(CI、脚本)下走到了需要输入的提示。后者以前返回 `0`,调用方会把「什么都没创建」误判成创建成功。
|
|
68
|
+
- **拼错的参数会被指出来。** 以前拼错的 flag 会被静默忽略,而且它还会把紧跟其后的目录名当成自己的值吃掉——`--overwirte my-app` 连项目名都会丢,CLI 转而追问项目名称,用户看不出哪里写错了。
|
|
46
69
|
|
|
47
70
|
#### 🟢 当前可用模板
|
|
48
71
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- `
|
|
52
|
-
- `
|
|
72
|
+
内置模板(`-t` 可直接指定):
|
|
73
|
+
|
|
74
|
+
- `vanilla` / `vanilla-ts`
|
|
75
|
+
- `vue` / `vue-ts`
|
|
76
|
+
- `lit` / `lit-ts`
|
|
77
|
+
|
|
78
|
+
交互式选择 Vue 时,还可转交给以下上游脚手架:
|
|
79
|
+
|
|
80
|
+
- `Official Vue Starter` → `create-vue`
|
|
81
|
+
- `Nuxt` → `nuxi init`
|
|
82
|
+
- `Vike` → `create vike --vue`
|
|
53
83
|
|
|
54
84
|
### 📜 许可证 (License)
|
|
55
85
|
|
package/bin/index.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,84 +1,70 @@
|
|
|
1
|
-
import{createRequire as e}from"node:module";import t,{existsSync as n,lstatSync as r,readdirSync as i}from"node:fs";import a,{dirname as o,join as s}from"node:path";import c,{stdin as l,stdout as u}from"node:process";import{fileURLToPath as d}from"node:url";import{stripVTControlCharacters as f,styleText as p}from"node:util";import*as m from"node:readline";import h from"node:readline";import{ReadStream as g}from"node:tty";var _=Object.create,v=Object.defineProperty,y=Object.getOwnPropertyDescriptor,b=Object.getOwnPropertyNames,x=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty,C=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),w=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=b(t),a=0,o=i.length,s;a<o;a++)s=i[a],!S.call(e,s)&&s!==n&&v(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=y(t,s))||r.enumerable});return e},T=(e,t,n)=>(n=e==null?{}:_(x(e)),w(t||!e||!e.__esModule?v(n,`default`,{value:e,enumerable:!0}):n,e)),E=e(import.meta.url),D=C(((e,t)=>{let n={to(e,t){return t?`[${t+1};${e+1}H`:`[${e+1}G`},move(e,t){let n=``;return e<0?n+=`[${-e}D`:e>0&&(n+=`[${e}C`),t<0?n+=`[${-t}A`:t>0&&(n+=`[${t}B`),n},up:(e=1)=>`[${e}A`,down:(e=1)=>`[${e}B`,forward:(e=1)=>`[${e}C`,backward:(e=1)=>`[${e}D`,nextLine:(e=1)=>`\x1B[E`.repeat(e),prevLine:(e=1)=>`\x1B[F`.repeat(e),left:`\x1B[G`,hide:`\x1B[?25l`,show:`\x1B[?25h`,save:`\x1B7`,restore:`\x1B8`};t.exports={cursor:n,scroll:{up:(e=1)=>`\x1B[S`.repeat(e),down:(e=1)=>`\x1B[T`.repeat(e)},erase:{screen:`\x1B[2J`,up:(e=1)=>`\x1B[1J`.repeat(e),down:(e=1)=>`\x1B[J`.repeat(e),line:`\x1B[2K`,lineEnd:`\x1B[K`,lineStart:`\x1B[1K`,lines(e){let t=``;for(let r=0;r<e;r++)t+=this.line+(r<e-1?n.up():``);return e&&(t+=n.left),t}},beep:`\x07`}}))();function O(e,t,n){if(!n.some(e=>!e.disabled))return e;let r=e+t,i=Math.max(n.length-1,0),a=r<0?i:r>i?0:r;return n[a].disabled?O(a,t<0?-1:1,n):a}const ee=e=>e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109,te=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,k=e=>e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141,ne=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,A=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,j=/\t{1,1000}/y,re=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,M=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,ie=/\p{M}+/gu,ae={limit:1/0,ellipsis:``},oe=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?oe(i,ae,n).width:0),o=n.ansiWidth??0,s=n.controlWidth??0,c=n.tabWidth??8,l=n.ambiguousWidth??1,u=n.emojiWidth??2,d=n.fullWidthWidth??2,f=n.regularWidth??1,p=n.wideWidth??2,m=0,h=0,g=e.length,_=0,v=!1,y=g,b=Math.max(0,r-a),x=0,S=0,C=0,w=0;t:for(;;){if(S>x||h>=g&&h>m){let t=e.slice(x,S)||e.slice(m,h);_=0;for(let e of t.replaceAll(ie,``)){let t=e.codePointAt(0)||0;if(w=te(t)?d:k(t)?p:l!==f&&ee(t)?l:f,C+w>b&&(y=Math.min(y,Math.max(x,m)+_)),C+w>r){v=!0;break t}_+=e.length,C+=w}x=S=0}if(h>=g)break;if(M.lastIndex=h,M.test(e)){if(_=M.lastIndex-h,w=_*f,C+w>b&&(y=Math.min(y,h+Math.floor((b-C)/f))),C+w>r){v=!0;break}C+=w,x=m,S=h,h=m=M.lastIndex;continue}if(ne.lastIndex=h,ne.test(e)){if(C+o>b&&(y=Math.min(y,h)),C+o>r){v=!0;break}C+=o,x=m,S=h,h=m=ne.lastIndex;continue}if(A.lastIndex=h,A.test(e)){if(_=A.lastIndex-h,w=_*s,C+w>b&&(y=Math.min(y,h+Math.floor((b-C)/s))),C+w>r){v=!0;break}C+=w,x=m,S=h,h=m=A.lastIndex;continue}if(j.lastIndex=h,j.test(e)){if(_=j.lastIndex-h,w=_*c,C+w>b&&(y=Math.min(y,h+Math.floor((b-C)/c))),C+w>r){v=!0;break}C+=w,x=m,S=h,h=m=j.lastIndex;continue}if(re.lastIndex=h,re.test(e)){if(C+u>b&&(y=Math.min(y,h)),C+u>r){v=!0;break}C+=u,x=m,S=h,h=m=re.lastIndex;continue}h+=1}return{width:v?b:C,index:v?y:g,truncated:v,ellipsed:v&&r>=a}},se={limit:1/0,ellipsis:``,ellipsisWidth:0},N=(e,t={})=>oe(e,se,t).width,ce=`]8;;`,le=RegExp(`(?:\\[(?<code>\\d+)m|\\${ce}(?<uri>.*))`,`y`),ue=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},de=e=>`[${e}m`,fe=e=>`${ce}${e}`,pe=e=>e.map(e=>N(e)),me=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:N(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=N(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===``)&&(i=!0,a=t.startsWith(ce,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length>0&&e.length>1&&(e[e.length-2]+=e.pop())},he=e=>{let t=e.split(` `),n=t.length;for(;n>0&&!(N(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},ge=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=pe(o),c=[``];for(let[e,r]of o.entries()){n.trim!==!1&&(c[c.length-1]=(c.at(-1)??``).trimStart());let i=N(c.at(-1)??``);if(e!==0&&(i>=t&&(n.wordWrap===!1||n.trim===!1)&&(c.push(``),i=0),(i>0||n.trim===!1)&&(c[c.length-1]+=` `,i++)),n.hard&&s[e]>t){let n=t-i,a=1+Math.floor((s[e]-n-1)/t);Math.floor((s[e]-1)/t)<a&&c.push(``),me(c,r,t);continue}if(i+s[e]>t&&i>0&&s[e]>0){if(n.wordWrap===!1&&i<t){me(c,r,t);continue}c.push(``)}if(i+s[e]>t&&n.wordWrap===!1){me(c,r,t);continue}c[c.length-1]+=r}n.trim!==!1&&(c=c.map(e=>he(e)));let l=c.join(`
|
|
2
|
-
`),u
|
|
3
|
-
|
|
4
|
-
`&&(i&&
|
|
5
|
-
`,`
|
|
6
|
-
`).split(`
|
|
7
|
-
`).map(e=>ge(e,t,n)).join(`
|
|
8
|
-
`)}const P={actions:new Set([`up`,`down`,`left`,`right`,`space`,`enter`,`cancel`]),aliases:new Map([[`k`,`up`],[`j`,`down`],[`h`,`left`],[`l`,`right`],[``,`cancel`],[`escape`,`cancel`]]),messages:{cancel:`Canceled`,error:`Something went wrong`},withGuide:!0};function ve(e,t){if(typeof e==`string`)return P.aliases.get(e)===t;for(let n of e)if(n!==void 0&&ve(n,t))return!0;return!1}function ye(e,t){if(e===t)return;let n=e.split(`
|
|
1
|
+
import{createRequire as e}from"node:module";import t from"node:fs";import n from"node:path";import r,{stdin as i,stdout as a}from"node:process";import{fileURLToPath as o}from"node:url";import{styleText as s}from"node:util";import*as c from"node:readline";import l from"node:readline";import{ReadStream as u}from"node:tty";var d=Object.create,f=Object.defineProperty,p=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyNames,h=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty,_=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),v=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=m(t),a=0,o=i.length,s;a<o;a++)s=i[a],!g.call(e,s)&&s!==n&&f(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=p(t,s))||r.enumerable});return e},y=(e,t,n)=>(n=e==null?{}:d(h(e)),v(t||!e||!e.__esModule||!g.call(e,`default`)?f(n,`default`,{value:e,enumerable:!0}):n,e)),b=e(import.meta.url);const x=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let n=0;for(e.lastIndex=0;e.test(t);)n+=1;return t.length-n}})(),S=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,ee=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,te=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,C=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,w=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,T=/\t{1,1000}/y,ne=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,re=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,E=/\p{M}+/gu,ie={limit:1/0,ellipsis:``},ae=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?ae(i,ie,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[re,l],[te,0],[C,o],[T,s],[ne,c],[w,u]],f=0,p=0,m=e.length,h=0,g=!1,_=m,v=Math.max(0,r-a),y=0,b=0,D=0,O=0;outer:for(;;){if(b>y||p>=m&&p>f){let t=e.slice(y,b)||e.slice(f,p);h=0;for(let e of t.replaceAll(E,``)){let t=e.codePointAt(0)||0;if(O=S(t)?2:ee(t)?u:l,D+O>v&&(_=Math.min(_,Math.max(y,f)+h)),D+O>r){g=!0;break outer}h+=e.length,D+=O}y=b=0}if(p>=m)break outer;for(let t=0,n=d.length;t<n;t++){let[n,i]=d[t];if(n.lastIndex=p,n.test(e)){if(h=n===w?x(e.slice(p,n.lastIndex)):n===ne?1:n.lastIndex-p,O=h*i,D+O>v&&(_=Math.min(_,p+Math.floor((v-D)/i))),D+O>r){g=!0;break outer}D+=O,y=f,b=p,p=f=n.lastIndex;continue outer}}p+=1}return{width:g?v:D,index:g?_:m,truncated:g,ellipsed:g&&r>=a}},D={limit:1/0,ellipsis:``,ellipsisWidth:0},O=(e,t={})=>ae(e,D,t).width,k=`]8;;`,oe=RegExp(`(?:\\[(?<code>\\d+)m|\\${k}(?<uri>.*))`,`y`),se=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},ce=e=>`[${e}m`,le=e=>`${k}${e}`,A=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:O(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=O(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===``)&&(i=!0,a=t.startsWith(k,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length&&e.length>1&&(e[e.length-2]+=e.pop())},ue=e=>{let t=e.split(` `),n=t.length;for(;n&&!O(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},de=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=[``],c=0;for(let e=0;e<o.length;e++){let r=o[e];if(n.trim!==!1){let e=s.at(-1)??``,t=e.trimStart();e.length!==t.length&&(s[s.length-1]=t,c=O(t))}e!==0&&(c>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),c=0),(c||n.trim===!1)&&(s[s.length-1]+=` `,c++));let i=O(r);if(n.hard&&i>t){let e=t-c,n=1+Math.floor((i-e-1)/t);Math.floor((i-1)/t)<n&&s.push(``),A(s,r,t),c=O(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){A(s,r,t),c=O(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){A(s,r,t),c=O(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>ue(e)));let l=s.join(`
|
|
2
|
+
`),u=!1;for(let e=0;e<l.length;e++){let t=l[e];if(r+=t,u)u=!1;else if(u=t>=`\ud800`&&t<=`\udbff`,u)continue;if(t===`\x1B`||t===``){oe.lastIndex=e+1;let t=oe.exec(l)?.groups;if(t?.code!==void 0){let e=Number.parseFloat(t.code);i=e===39?void 0:e}else t?.uri!==void 0&&(a=t.uri.length===0?void 0:t.uri)}if(l[e+1]===`
|
|
3
|
+
`){a&&(r+=le(``));let e=i?se(i):void 0;i&&e&&(r+=ce(e))}else t===`
|
|
4
|
+
`&&(i&&se(i)&&(r+=ce(i)),a&&(r+=le(a)))}return r},fe=/\r?\n/;function j(e,t,n){return String(e).normalize().split(fe).map(e=>de(e,t,n)).join(`
|
|
5
|
+
`)}var M=_(((e,t)=>{let n={to(e,t){return t?`[${t+1};${e+1}H`:`[${e+1}G`},move(e,t){let n=``;return e<0?n+=`[${-e}D`:e>0&&(n+=`[${e}C`),t<0?n+=`[${-t}A`:t>0&&(n+=`[${t}B`),n},up:(e=1)=>`[${e}A`,down:(e=1)=>`[${e}B`,forward:(e=1)=>`[${e}C`,backward:(e=1)=>`[${e}D`,nextLine:(e=1)=>`\x1B[E`.repeat(e),prevLine:(e=1)=>`\x1B[F`.repeat(e),left:`\x1B[G`,hide:`\x1B[?25l`,show:`\x1B[?25h`,save:`\x1B7`,restore:`\x1B8`};t.exports={cursor:n,scroll:{up:(e=1)=>`\x1B[S`.repeat(e),down:(e=1)=>`\x1B[T`.repeat(e)},erase:{screen:`\x1B[2J`,up:(e=1)=>`\x1B[1J`.repeat(e),down:(e=1)=>`\x1B[J`.repeat(e),line:`\x1B[2K`,lineEnd:`\x1B[K`,lineStart:`\x1B[1K`,lines(e){let t=``;for(let r=0;r<e;r++)t+=this.line+(r<e-1?n.up():``);return e&&(t+=n.left),t}},beep:`\x07`}}))();function N(e,t,n){if(!n.some(e=>!e.disabled))return e;let r=e+t,i=Math.max(n.length-1,0),a=r<0?i:r>i?0:r;return n[a]?.disabled?N(a,t<0?-1:1,n):a}const P={actions:new Set([`up`,`down`,`left`,`right`,`space`,`enter`,`cancel`]),aliases:new Map([[`k`,`up`],[`j`,`down`],[`h`,`left`],[`l`,`right`],[``,`cancel`],[`escape`,`cancel`]]),messages:{cancel:`Canceled`,error:`Something went wrong`},withGuide:!0,date:{monthNames:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],messages:{required:`Please enter a valid date`,invalidMonth:`There are only 12 months in a year`,invalidDay:(e,t)=>`There are only ${e} days in ${t}`,afterMin:e=>`Date must be on or after ${e.toISOString().slice(0,10)}`,beforeMax:e=>`Date must be on or before ${e.toISOString().slice(0,10)}`}}};function pe(e,t){if(typeof e==`string`)return P.aliases.get(e)===t;for(let n of e)if(n!==void 0&&pe(n,t))return!0;return!1}function me(e,t){if(e===t)return;let n=e.split(`
|
|
9
6
|
`),r=t.split(`
|
|
10
|
-
`),i=Math.max(n.length,r.length),a=[];for(let e=0;e<i;e++)n[e]!==r[e]&&a.push(e);return{lines:a,numLinesBefore:n.length,numLinesAfter:r.length,numLines:i}}const
|
|
11
|
-
`).map((e,t)
|
|
12
|
-
`)}var
|
|
13
|
-
`),
|
|
14
|
-
`).length-1;this.output.write(
|
|
15
|
-
`);this.output.write(t[a]),this._prevFrame=e,this.output.write(
|
|
7
|
+
`),i=Math.max(n.length,r.length),a=[];for(let e=0;e<i;e++)n[e]!==r[e]&&a.push(e);return{lines:a,numLinesBefore:n.length,numLinesAfter:r.length,numLines:i}}const he=globalThis.process.platform.startsWith(`win`),F=Symbol(`clack:cancel`);function I(e){return e===F}function L(e,t){let n=e;n.isTTY&&n.setRawMode(t)}function ge({input:e=i,output:t=a,overwrite:n=!0,hideCursor:r=!0}={}){let o=c.createInterface({input:e,output:t,prompt:``,tabSize:1});c.emitKeypressEvents(e,o),e instanceof u&&e.isTTY&&e.setRawMode(!0);let s=(i,{name:a,sequence:o})=>{if(pe([String(i),a,o],`cancel`)){r&&t.write(M.cursor.show),process.exit(0);return}if(!n)return;let l=a===`return`?0:-1,u=a===`return`?-1:0;c.moveCursor(t,l,u,()=>{c.clearLine(t,1,()=>{e.once(`keypress`,s)})})};return r&&t.write(M.cursor.hide),e.once(`keypress`,s),()=>{e.off(`keypress`,s),r&&t.write(M.cursor.show),e instanceof u&&e.isTTY&&!he&&e.setRawMode(!1),o.terminal=!1,o.close()}}const R=e=>`columns`in e&&typeof e.columns==`number`?e.columns:80,_e=e=>`rows`in e&&typeof e.rows==`number`?e.rows:20;function z(e,t,n,r=n,i=n,o){return j(t,R(e??a)-n.length,{hard:!0,trim:!1}).split(`
|
|
8
|
+
`).map((e,t,a)=>{let s=o?o(e,t):e;return t===0?`${r}${s}`:t===a.length-1?`${i}${s}`:`${n}${s}`}).join(`
|
|
9
|
+
`)}function ve(e,t){if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw TypeError("Schema validation must be synchronous. Update `validate()` and remove any asynchronous logic.");return n.issues?.at(0)?.message}return e(t)}var B=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame=``;_subscribers=new Map;_cursor=0;state=`initial`;error=``;value;userInput=``;constructor(e,t=!0){let{input:n=i,output:r=a,render:o,signal:s,...c}=e;this.opts=c,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=o.bind(this),this._track=t,this._abortSignal=s,this.input=n,this.output=r}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){let n=this._subscribers.get(e)??[];n.push(t),this._subscribers.set(e,n)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){let n=this._subscribers.get(e)??[],r=[];for(let e of n)e.cb(...t),e.once&&r.push(()=>n.splice(n.indexOf(e),1));for(let e of r)e()}prompt(){return new Promise(e=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=`cancel`,this.close(),e(F);this._abortSignal.addEventListener(`abort`,()=>{this.state=`cancel`,this.close()},{once:!0})}this.rl=l.createInterface({input:this.input,tabSize:2,prompt:``,escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on(`keypress`,this.onKeypress),L(this.input,!0),this.output.on(`resize`,this.render),this.render(),this.once(`submit`,()=>{this.output.write(M.cursor.show),this.output.off(`resize`,this.render),L(this.input,!1),e(this.value)}),this.once(`cancel`,()=>{this.output.write(M.cursor.show),this.output.off(`resize`,this.render),L(this.input,!1),e(F)})})}_isActionKey(e,t){return e===` `}_shouldSubmit(e,t){return!0}_setValue(e){this.value=e,this.emit(`value`,this.value)}_setUserInput(e,t){this.userInput=e??``,this.emit(`userInput`,this.userInput),t&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:`u`}),this._setUserInput(``)}onKeypress(e,t){if(this._track&&t.name!==`return`&&(t.name&&this._isActionKey(e,t)&&this.rl?.write(null,{ctrl:!0,name:`h`}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state===`error`&&(this.state=`active`),t?.name&&(!this._track&&P.aliases.has(t.name)&&this.emit(`cursor`,P.aliases.get(t.name)),P.actions.has(t.name)&&this.emit(`cursor`,t.name)),e&&(e.toLowerCase()===`y`||e.toLowerCase()===`n`)&&this.emit(`confirm`,e.toLowerCase()===`y`),this.emit(`key`,e,t),t?.name===`return`&&this._shouldSubmit(e,t)){if(this.opts.validate){let e=ve(this.opts.validate,this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=`error`,this.rl?.write(this.userInput))}this.state!==`error`&&(this.state=`submit`)}pe([e,t?.name,t?.sequence],`cancel`)&&(this.state=`cancel`),(this.state===`submit`||this.state===`cancel`)&&this.emit(`finalize`),this.render(),(this.state===`submit`||this.state===`cancel`)&&this.close()}close(){this.input.unpipe(),this.input.removeListener(`keypress`,this.onKeypress),this.output.write(`
|
|
10
|
+
`),L(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let e=j(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
|
|
11
|
+
`).length-1;this.output.write(M.cursor.move(-999,e*-1))}render(){let e=j(this._render(this)??``,process.stdout.columns,{hard:!0,trim:!1});if(e!==this._prevFrame){if(this.state===`initial`)this.output.write(M.cursor.hide);else{let t=me(this._prevFrame,e),n=_e(this.output);if(this.restoreCursor(),t){let r=Math.max(0,t.numLinesAfter-n),i=Math.max(0,t.numLinesBefore-n),a=t.lines.find(e=>e>=r);if(a===void 0){this._prevFrame=e;return}if(t.lines.length===1){this.output.write(M.cursor.move(0,a-i)),this.output.write(M.erase.lines(1));let t=e.split(`
|
|
12
|
+
`);this.output.write(t[a]),this._prevFrame=e,this.output.write(M.cursor.move(0,t.length-a-1));return}if(t.lines.length>1){if(r<i)a=r;else{let e=a-i;e>0&&this.output.write(M.cursor.move(0,e))}this.output.write(M.erase.down());let t=e.split(`
|
|
16
13
|
`).slice(a);this.output.write(t.join(`
|
|
17
|
-
`)),this._prevFrame=e;return}}this.output.write(D.erase.down())}this.output.write(e),this.state===`initial`&&(this.state=`active`),this._prevFrame=e}}},Ee=class extends L{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on(`userInput`,()=>{this.value=this._value}),this.on(`confirm`,e=>{this.output.write(D.cursor.move(0,-1)),this.value=e,this.state=`submit`,this.close()}),this.on(`cursor`,()=>{this.value=!this.value})}},De=class extends L{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(e){super(e,!1),this.options=e.options;let t=this.options.findIndex(({value:t})=>t===e.initialValue),n=t===-1?0:t;this.cursor=this.options[n].disabled?O(n,1,this.options):n,this.changeValue(),this.on(`cursor`,e=>{switch(e){case`left`:case`up`:this.cursor=O(this.cursor,-1,this.options);break;case`down`:case`right`:this.cursor=O(this.cursor,1,this.options);break}this.changeValue()})}},Oe=class extends L{get userInputWithCursor(){if(this.state===`submit`)return this.userInput;let e=this.userInput;if(this.cursor>=e.length)return`${this.userInput}\u2588`;let t=e.slice(0,this.cursor),[n,...r]=e.slice(this.cursor);return`${t}${p(`inverse`,n)}${r.join(``)}`}get cursor(){return this._cursor}constructor(e){super({...e,initialUserInput:e.initialUserInput??e.initialValue}),this.on(`userInput`,e=>{this._setValue(e)}),this.on(`finalize`,()=>{this.value||=e.defaultValue,this.value===void 0&&(this.value=``)})}};function ke(){return c.platform===`win32`?!!c.env.CI||!!c.env.WT_SESSION||!!c.env.TERMINUS_SUBLIME||c.env.ConEmuTask===`{cmd::Cmder}`||c.env.TERM_PROGRAM===`Terminus-Sublime`||c.env.TERM_PROGRAM===`vscode`||c.env.TERM===`xterm-256color`||c.env.TERM===`alacritty`||c.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:c.env.TERM!==`linux`}const Ae=ke(),je=()=>process.env.CI===`true`,R=(e,t)=>Ae?e:t,Me=R(`◆`,`*`),Ne=R(`■`,`x`),Pe=R(`▲`,`x`),z=R(`◇`,`o`),B=R(`│`,`|`),V=R(`└`,`—`),Fe=R(`●`,`>`),H=R(`○`,` `),Ie=R(`●`,`•`),Le=R(`◆`,`*`),Re=R(`▲`,`!`),ze=R(`■`,`x`),Be=e=>{switch(e){case`initial`:case`active`:return p(`cyan`,Me);case`cancel`:return p(`red`,Ne);case`error`:return p(`yellow`,Pe);case`submit`:return p(`green`,z)}},Ve=e=>{switch(e){case`initial`:case`active`:return p(`cyan`,B);case`cancel`:return p(`red`,B);case`error`:return p(`yellow`,B);case`submit`:return p(`green`,B)}},He=e=>e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109,Ue=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,We=e=>e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141,Ge=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,U=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,W=/\t{1,1000}/y,Ke=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,G=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,qe=/\p{M}+/gu,Je={limit:1/0,ellipsis:``},Ye=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?Ye(i,Je,n).width:0),o=n.ansiWidth??0,s=n.controlWidth??0,c=n.tabWidth??8,l=n.ambiguousWidth??1,u=n.emojiWidth??2,d=n.fullWidthWidth??2,f=n.regularWidth??1,p=n.wideWidth??2,m=0,h=0,g=e.length,_=0,v=!1,y=g,b=Math.max(0,r-a),x=0,S=0,C=0,w=0;e:for(;;){if(S>x||h>=g&&h>m){let t=e.slice(x,S)||e.slice(m,h);_=0;for(let e of t.replaceAll(qe,``)){let t=e.codePointAt(0)||0;if(w=Ue(t)?d:We(t)?p:l!==f&&He(t)?l:f,C+w>b&&(y=Math.min(y,Math.max(x,m)+_)),C+w>r){v=!0;break e}_+=e.length,C+=w}x=S=0}if(h>=g)break;if(G.lastIndex=h,G.test(e)){if(_=G.lastIndex-h,w=_*f,C+w>b&&(y=Math.min(y,h+Math.floor((b-C)/f))),C+w>r){v=!0;break}C+=w,x=m,S=h,h=m=G.lastIndex;continue}if(Ge.lastIndex=h,Ge.test(e)){if(C+o>b&&(y=Math.min(y,h)),C+o>r){v=!0;break}C+=o,x=m,S=h,h=m=Ge.lastIndex;continue}if(U.lastIndex=h,U.test(e)){if(_=U.lastIndex-h,w=_*s,C+w>b&&(y=Math.min(y,h+Math.floor((b-C)/s))),C+w>r){v=!0;break}C+=w,x=m,S=h,h=m=U.lastIndex;continue}if(W.lastIndex=h,W.test(e)){if(_=W.lastIndex-h,w=_*c,C+w>b&&(y=Math.min(y,h+Math.floor((b-C)/c))),C+w>r){v=!0;break}C+=w,x=m,S=h,h=m=W.lastIndex;continue}if(Ke.lastIndex=h,Ke.test(e)){if(C+u>b&&(y=Math.min(y,h)),C+u>r){v=!0;break}C+=u,x=m,S=h,h=m=Ke.lastIndex;continue}h+=1}return{width:v?b:C,index:v?y:g,truncated:v,ellipsed:v&&r>=a}},Xe={limit:1/0,ellipsis:``,ellipsisWidth:0},K=(e,t={})=>Ye(e,Xe,t).width,Ze=`]8;;`,Qe=RegExp(`(?:\\[(?<code>\\d+)m|\\${Ze}(?<uri>.*))`,`y`),$e=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},et=e=>`[${e}m`,tt=e=>`${Ze}${e}`,nt=e=>e.map(e=>K(e)),rt=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:K(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=K(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===``)&&(i=!0,a=t.startsWith(Ze,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length>0&&e.length>1&&(e[e.length-2]+=e.pop())},it=e=>{let t=e.split(` `),n=t.length;for(;n>0&&!(K(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},at=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=nt(o),c=[``];for(let[e,r]of o.entries()){n.trim!==!1&&(c[c.length-1]=(c.at(-1)??``).trimStart());let i=K(c.at(-1)??``);if(e!==0&&(i>=t&&(n.wordWrap===!1||n.trim===!1)&&(c.push(``),i=0),(i>0||n.trim===!1)&&(c[c.length-1]+=` `,i++)),n.hard&&s[e]>t){let n=t-i,a=1+Math.floor((s[e]-n-1)/t);Math.floor((s[e]-1)/t)<a&&c.push(``),rt(c,r,t);continue}if(i+s[e]>t&&i>0&&s[e]>0){if(n.wordWrap===!1&&i<t){rt(c,r,t);continue}c.push(``)}if(i+s[e]>t&&n.wordWrap===!1){rt(c,r,t);continue}c[c.length-1]+=r}n.trim!==!1&&(c=c.map(e=>it(e)));let l=c.join(`
|
|
18
|
-
`),
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
`)
|
|
23
|
-
`).
|
|
24
|
-
|
|
25
|
-
`)
|
|
26
|
-
|
|
27
|
-
`,a=this.value?t:n;switch(this.state){case`submit`:return`${i}${r?`${p(`gray`,B)} `:``}${p(`dim`,a)}`;case`cancel`:return`${i}${r?`${p(`gray`,B)} `:``}${p([`strikethrough`,`dim`],a)}${r?`
|
|
28
|
-
${p(`gray`,B)}`:``}`;default:{let a=r?`${p(`cyan`,B)} `:``,o=r?p(`cyan`,V):``;return`${i}${a}${this.value?`${p(`green`,Fe)} ${t}`:`${p(`dim`,H)} ${p(`dim`,t)}`}${e.vertical?r?`
|
|
29
|
-
${p(`cyan`,B)} `:`
|
|
30
|
-
`:` ${p(`dim`,`/`)} `}${this.value?`${p(`dim`,H)} ${p(`dim`,n)}`:`${p(`green`,Fe)} ${n}`}
|
|
31
|
-
${o}
|
|
32
|
-
`}}}}).prompt()},q={message:(e=[],{symbol:t=p(`gray`,B),secondarySymbol:n=p(`gray`,B),output:r=process.stdout,spacing:i=1,withGuide:a}={})=>{let o=[],s=a??P.withGuide,c=s?n:``,l=s?`${t} `:``,u=s?`${n} `:``;for(let e=0;e<i;e++)o.push(c);let d=Array.isArray(e)?e:e.split(`
|
|
33
|
-
`);if(d.length>0){let[e,...r]=d;e.length>0?o.push(`${l}${e}`):o.push(s?t:``);for(let e of r)e.length>0?o.push(`${u}${e}`):o.push(s?n:``)}r.write(`${o.join(`
|
|
14
|
+
`)),this._prevFrame=e;return}}this.output.write(M.erase.down())}this.output.write(e),this.state===`initial`&&(this.state=`active`),this._prevFrame=e}}},ye=class extends B{get cursor(){return+!this.value}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on(`userInput`,()=>{this.value=this._value}),this.on(`confirm`,e=>{this.output.write(M.cursor.move(0,-1)),this.value=e,this.state=`submit`,this.close()}),this.on(`cursor`,()=>{this.value=!this.value})}};let be=class extends B{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){let e=this._selectedValue;this.value=e===void 0?void 0:e.value}constructor(e){super(e,!1),this.options=e.options;let t=this.options.findIndex(({value:t})=>t===e.initialValue),n=t===-1?0:t;this.cursor=this.options[n]?.disabled?N(n,1,this.options):n,this.changeValue(),this.on(`cursor`,e=>{switch(e){case`left`:case`up`:this.cursor=N(this.cursor,-1,this.options);break;case`down`:case`right`:this.cursor=N(this.cursor,1,this.options)}this.changeValue()})}};var xe=class extends B{get userInputWithCursor(){if(this.state===`submit`)return this.userInput;let e=this.userInput;if(this.cursor>=e.length)return`${this.userInput}\u2588`;let t=e.slice(0,this.cursor),n=e.slice(this.cursor,this.cursor+1),r=e.slice(this.cursor+1);return`${t}${s(`inverse`,n)}${r}`}get cursor(){return this._cursor}constructor(e){super({...e,initialUserInput:e.initialUserInput??e.initialValue}),this.on(`userInput`,e=>{this._setValue(e)}),this.on(`finalize`,()=>{this.value||=e.defaultValue,this.value===void 0&&(this.value=``)})}};function Se(){return r.platform===`win32`?!!r.env.CI||!!r.env.WT_SESSION||!!r.env.TERMINUS_SUBLIME||r.env.ConEmuTask===`{cmd::Cmder}`||r.env.TERM_PROGRAM===`Terminus-Sublime`||r.env.TERM_PROGRAM===`vscode`||r.env.TERM===`xterm-256color`||r.env.TERM===`alacritty`||r.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:r.env.TERM!==`linux`}const V=Se(),Ce=()=>process.env.CI===`true`,H=(e,t)=>V?e:t,we=H(`◆`,`*`),Te=H(`■`,`x`),Ee=H(`▲`,`x`),U=H(`◇`,`o`),De=H(`┌`,`T`),W=H(`│`,`|`),G=H(`└`,`—`),K=H(`●`,`>`),q=H(`○`,` `),Oe=H(`●`,`•`),ke=H(`◆`,`*`),Ae=H(`▲`,`!`),je=H(`■`,`x`),J=e=>{switch(e){case`initial`:case`active`:return s(`cyan`,we);case`cancel`:return s(`red`,Te);case`error`:return s(`yellow`,Ee);case`submit`:return s(`green`,U)}},Me=e=>{switch(e){case`initial`:case`active`:return s(`cyan`,W);case`cancel`:return s(`red`,W);case`error`:return s(`yellow`,W);case`submit`:return s(`green`,W)}};function Ne(e,t){let n=[`${t?`${s(`cyan`,W)} `:``}${e.join(` • `)}`];return t&&n.push(s(`cyan`,G)),n}const Pe=(e,t,n,r,i,a=!1)=>{let o=t,s=0;if(a)for(let t=r-1;t>=n;t--){let n=e[t];if(n&&(o-=n.length),s++,o<=i)break}else for(let t=n;t<r;t++){let n=e[t];if(n&&(o-=n.length),s++,o<=i)break}return{lineCount:o,removals:s}},Fe=({cursor:e,options:t,style:n,output:r=process.stdout,maxItems:i=1/0,columnPadding:a=0,rowPadding:o=4})=>{let c=R(r)-a,l=_e(r),u=s(`dim`,`...`),d=Math.max(l-o,0),f=Math.max(Math.min(i,d),5),p=0;e>=f-3&&(p=Math.max(Math.min(e-f+3,t.length-f),0));let m=f<t.length&&p>0,h=f<t.length&&p+f<t.length,g=Math.min(p+f,t.length),_=[],v=0;m&&v++,h&&v++;let y=p+ +!!m,b=g-+!!h;for(let r=y;r<b;r++){let i=t[r],a=j(i?n(i,r===e):``,c,{hard:!0,trim:!1}).split(`
|
|
15
|
+
`);_.push(a),v+=a.length}if(v>d){let t=0,n=0,r=v,i=e-y,a=d,o=()=>Pe(_,r,0,i,a),s=()=>Pe(_,r,i+1,_.length,a,!0);m?({lineCount:r,removals:t}=o(),r>a&&(h||--a,{lineCount:r,removals:n}=s())):(h||--a,{lineCount:r,removals:n}=s(),r>a&&(--a,{lineCount:r,removals:t}=o())),t>0&&(m=!0,_.splice(0,t)),n>0&&(h=!0,_.splice(_.length-n,n))}let x=[];m&&x.push(u);for(let e of _)for(let t of e)x.push(t);return h&&x.push(u),x},Ie=e=>{let t=e.active??`Yes`,n=e.inactive??`No`;return new ye({active:t,inactive:n,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){let r=e.withGuide??P.withGuide,i=`${J(this.state)} `,a=r?`${s(`gray`,W)} `:``,o=z(e.output,e.message,a,i),c=`${r?`${s(`gray`,W)}
|
|
16
|
+
`:``}${o}
|
|
17
|
+
`,l=this.value?t:n;switch(this.state){case`submit`:return`${c}${r?`${s(`gray`,W)} `:``}${s(`dim`,l)}`;case`cancel`:return`${c}${r?`${s(`gray`,W)} `:``}${s([`strikethrough`,`dim`],l)}${r?`
|
|
18
|
+
${s(`gray`,W)}`:``}`;default:{let i=r?`${s(`cyan`,W)} `:``,a=r?s(`cyan`,G):``;return`${c}${i}${this.value?`${s(`green`,K)} ${t}`:`${s(`dim`,q)} ${s(`dim`,t)}`}${e.vertical?r?`
|
|
19
|
+
${s(`cyan`,W)} `:`
|
|
20
|
+
`:` ${s(`dim`,`/`)} `}${this.value?`${s(`dim`,q)} ${s(`dim`,n)}`:`${s(`green`,K)} ${n}`}
|
|
21
|
+
${a}
|
|
22
|
+
`}}}}).prompt()};`${s(`dim`,`↑/↓`)}`,`${s(`dim`,`Space:`)}`,`${s(`dim`,`Enter:`)}`;const Y={message:(e=[],{symbol:t=s(`gray`,W),secondarySymbol:n=s(`gray`,W),output:r=process.stdout,spacing:i=1,withGuide:a}={})=>{let o=[],c=a??P.withGuide,l=c?n:``,u=c?`${t} `:``,d=c?`${n} `:``;for(let e=0;e<i;e++)o.push(l);let f=Array.isArray(e)?e:e.split(`
|
|
23
|
+
`);if(f.length>0){let[e,...r]=f;e.length>0?o.push(`${u}${e}`):o.push(c?t:``);for(let e of r)e.length>0?o.push(`${d}${e}`):o.push(c?n:``)}r.write(`${o.join(`
|
|
34
24
|
`)}
|
|
35
|
-
`)},info:(e,t)=>{
|
|
25
|
+
`)},info:(e,t)=>{Y.message(e,{...t,symbol:s(`blue`,Oe)})},success:(e,t)=>{Y.message(e,{...t,symbol:s(`green`,ke)})},step:(e,t)=>{Y.message(e,{...t,symbol:s(`green`,U)})},warn:(e,t)=>{Y.message(e,{...t,symbol:s(`yellow`,Ae)})},warning:(e,t)=>{Y.warn(e,t)},error:(e,t)=>{Y.message(e,{...t,symbol:s(`red`,je)})}},Le=(e=``,t)=>{let n=t?.output??process.stdout,r=t?.withGuide??P.withGuide?`${s(`gray`,G)} `:``;n.write(`${r}${s(`red`,e)}
|
|
36
26
|
|
|
37
|
-
`)},
|
|
38
|
-
|
|
27
|
+
`)},Re=(e=``,t)=>{let n=t?.output??process.stdout,r=t?.withGuide??P.withGuide?`${s(`gray`,De)} `:``;n.write(`${r}${e}
|
|
28
|
+
`)},ze=(e=``,t)=>{let n=t?.output??process.stdout,r=t?.withGuide??P.withGuide?`${s(`gray`,W)}
|
|
29
|
+
${s(`gray`,G)} `:``;n.write(`${r}${e}
|
|
39
30
|
|
|
40
|
-
`)},
|
|
41
|
-
`);let e=
|
|
42
|
-
`);e.length>1&&n.write(
|
|
43
|
-
`);let r=0,i=0;
|
|
31
|
+
`)},Be=e=>s(`magenta`,e),Ve=({indicator:e=`dots`,onCancel:t,output:n=process.stdout,cancelMessage:r,errorMessage:i,frames:a=V?[`◒`,`◐`,`◓`,`◑`]:[`•`,`o`,`O`,`0`],delay:o=V?80:120,signal:c,...l}={})=>{let u=Ce(),d,f,p=!1,m=!1,h=``,g,_=performance.now(),v=R(n),y=l?.styleFrame??Be,b=e=>{let n=e>1?i??P.messages.error:r??P.messages.cancel;m=e===1,p&&(E(n,e),m&&typeof t==`function`&&t())},x=()=>b(2),S=()=>b(1),ee=()=>{process.on(`uncaughtExceptionMonitor`,x),process.on(`unhandledRejection`,x),process.on(`SIGINT`,S),process.on(`SIGTERM`,S),process.on(`exit`,b),c&&c.addEventListener(`abort`,S)},te=()=>{process.removeListener(`uncaughtExceptionMonitor`,x),process.removeListener(`unhandledRejection`,x),process.removeListener(`SIGINT`,S),process.removeListener(`SIGTERM`,S),process.removeListener(`exit`,b),c&&c.removeEventListener(`abort`,S)},C=()=>{if(g===void 0)return;u&&n.write(`
|
|
32
|
+
`);let e=j(g,v,{hard:!0,trim:!1}).split(`
|
|
33
|
+
`);e.length>1&&n.write(M.cursor.up(e.length-1)),n.write(M.cursor.to(0)),n.write(M.erase.down())},w=e=>e.replace(/\.+$/,``),T=e=>{let t=(performance.now()-e)/1e3,n=Math.floor(t/60),r=Math.floor(t%60);return n>0?`[${n}m ${r}s]`:`[${r}s]`},ne=l.withGuide??P.withGuide,re=(t=``)=>{p=!0,d=ge({output:n}),h=w(t),_=performance.now(),ne&&n.write(`${s(`gray`,W)}
|
|
34
|
+
`);let r=0,i=0;ee(),f=setInterval(()=>{if(u&&h===g)return;C(),g=h;let t=y(a[r]),o;if(u)o=`${t} ${h}...`;else if(e===`timer`)o=`${t} ${h} ${T(_)}`;else{let e=`.`.repeat(Math.floor(i)).slice(0,3);o=`${t} ${h}${e}`}let s=j(o,v,{hard:!0,trim:!1});n.write(s),r=r+1<a.length?r+1:0,i=i<4?i+.125:0},o)},E=(t=``,r=0,i=!1)=>{if(!p)return;p=!1,clearInterval(f),C();let a=r===0?s(`green`,U):r===1?s(`red`,Te):s(`red`,Ee);h=t??h,i||(e===`timer`?n.write(`${a} ${h} ${T(_)}
|
|
44
35
|
`):n.write(`${a} ${h}
|
|
45
|
-
`)),
|
|
36
|
+
`)),te(),d()};return{start:re,stop:(e=``)=>E(e,0),message:(e=``)=>{h=w(e??h)},cancel:(e=``)=>E(e,1),error:(e=``)=>E(e,2),clear:()=>E(``,0,!0),get isCancelled(){return m}}},He=[`${s(`dim`,`↑/↓`)} to navigate`,`${s(`dim`,`Enter:`)} confirm`],X=(e,t)=>e.includes(`
|
|
46
37
|
`)?e.split(`
|
|
47
38
|
`).map(e=>t(e)).join(`
|
|
48
|
-
`):t(e),
|
|
49
|
-
`:``}${
|
|
50
|
-
`;switch(this.state){case`submit`:{let r
|
|
51
|
-
${
|
|
52
|
-
`).length,
|
|
53
|
-
${
|
|
54
|
-
${i}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
${
|
|
58
|
-
`)
|
|
59
|
-
`))).length);let e=f(t).length;n+e<process.stdout.columns?(n+=e,process.stdout.write(t)):(process.stdout.write(`
|
|
60
|
-
${ht}${t.trimStart()}`),n=3+f(t.trimStart()).length)}process.stdout.write(`
|
|
61
|
-
`)},info:e=>Y.message(e,{symbol:p(`blue`,Ie)}),success:e=>Y.message(e,{symbol:p(`green`,Le)}),step:e=>Y.message(e,{symbol:p(`green`,z)}),warn:e=>Y.message(e,{symbol:p(`yellow`,Re)}),warning:e=>Y.warn(e),error:e=>Y.message(e,{symbol:p(`red`,ze)})},gt=e=>new Oe({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){let t=e?.withGuide??P.withGuide,n=`${`${t?`${p(`gray`,B)}
|
|
62
|
-
`:``}${Be(this.state)} `}${e.message}
|
|
63
|
-
`,r=e.placeholder?p(`inverse`,e.placeholder[0])+p(`dim`,e.placeholder.slice(1)):p([`inverse`,`hidden`],`_`),i=this.userInput?this.userInputWithCursor:r,a=this.value??``;switch(this.state){case`error`:{let e=this.error?` ${p(`yellow`,this.error)}`:``,r=t?`${p(`yellow`,B)} `:``,a=t?p(`yellow`,V):``;return`${n.trim()}
|
|
39
|
+
`):t(e),Z=e=>{let t=(e,t)=>{if(e===void 0)return``;let n=e.label??String(e.value);switch(t){case`disabled`:return`${s(`gray`,q)} ${X(n,e=>s(`gray`,e))}${e.hint?` ${s(`dim`,`(${e.hint??`disabled`})`)}`:``}`;case`selected`:return`${X(n,e=>s(`dim`,e))}`;case`active`:return`${s(`green`,K)} ${n}${e.hint?` ${s(`dim`,`(${e.hint})`)}`:``}`;case`cancelled`:return`${X(n,e=>s([`strikethrough`,`dim`],e))}`;default:return`${s(`dim`,q)} ${X(n,e=>s(`dim`,e))}`}},n=e.showInstructions??!0;return new be({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,render(){let r=e.withGuide??P.withGuide,i=`${J(this.state)} `,a=`${Me(this.state)} `,o=z(e.output,e.message,a,i),c=`${r?`${s(`gray`,W)}
|
|
40
|
+
`:``}${o}
|
|
41
|
+
`;switch(this.state){case`submit`:{let n=r?`${s(`gray`,W)} `:``;return`${c}${z(e.output,t(this.options[this.cursor],`selected`),n)}`}case`cancel`:{let n=r?`${s(`gray`,W)} `:``;return`${c}${z(e.output,t(this.options[this.cursor],`cancelled`),n)}${r?`
|
|
42
|
+
${s(`gray`,W)}`:``}`}default:{let i=r?`${s(`cyan`,W)} `:``,a=c.split(`
|
|
43
|
+
`).length,o=n?Ne(He,r):r?[s(`cyan`,G)]:[],l=o.join(`
|
|
44
|
+
`),u=o.length+1;return`${c}${i}${Fe({output:e.output,cursor:this.cursor,options:this.options,maxItems:e.maxItems,columnPadding:i.length,rowPadding:a+u,style:(e,n)=>t(e,e.disabled?`disabled`:n?`active`:`inactive`)}).join(`
|
|
45
|
+
${i}`)}
|
|
46
|
+
${l}
|
|
47
|
+
`}}}}).prompt()};`${s(`gray`,W)}`;const Ue=e=>new xe({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){let t=e?.withGuide??P.withGuide,n=`${`${t?`${s(`gray`,W)}
|
|
48
|
+
`:``}${J(this.state)} `}${e.message}
|
|
49
|
+
`,r=e.placeholder&&e.placeholder.length>0?s(`inverse`,e.placeholder[0])+s(`dim`,e.placeholder.slice(1)):s([`inverse`,`hidden`],`_`),i=this.userInput?this.userInputWithCursor:r,a=this.value??``;switch(this.state){case`error`:{let e=this.error?` ${s(`yellow`,this.error)}`:``,r=t?`${s(`yellow`,W)} `:``,a=t?s(`yellow`,G):``;return`${n.trim()}
|
|
64
50
|
${r}${i}
|
|
65
51
|
${a}${e}
|
|
66
|
-
`}case`submit`:{let e=a?` ${
|
|
67
|
-
${r}`:``}`}default:return`${n}${t?`${
|
|
68
|
-
${t?
|
|
69
|
-
`}}}).prompt();var
|
|
52
|
+
`}case`submit`:{let e=a?` ${s(`dim`,a)}`:``;return`${n}${t?s(`gray`,W):``}${e}`}case`cancel`:{let e=a?` ${s([`strikethrough`,`dim`],a)}`:``,r=t?s(`gray`,W):``;return`${n}${r}${e}${a.trim()?`
|
|
53
|
+
${r}`:``}`}default:return`${n}${t?`${s(`cyan`,W)} `:``}${i}
|
|
54
|
+
${t?s(`cyan`,G):``}
|
|
55
|
+
`}}}).prompt();var We=_(((e,t)=>{t.exports=a,a.sync=o;var n=b(`fs`);function r(e,t){var n=t.pathExt===void 0?process.env.PATHEXT:t.pathExt;if(!n||(n=n.split(`;`),n.indexOf(``)!==-1))return!0;for(var r=0;r<n.length;r++){var i=n[r].toLowerCase();if(i&&e.substr(-i.length).toLowerCase()===i)return!0}return!1}function i(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:r(t,n)}function a(e,t,r){n.stat(e,function(n,a){r(n,!n&&i(a,e,t))})}function o(e,t){return i(n.statSync(e),e,t)}})),Ge=_(((e,t)=>{t.exports=r,r.sync=i;var n=b(`fs`);function r(e,t,r){n.stat(e,function(e,n){r(e,!e&&a(n,t))})}function i(e,t){return a(n.statSync(e),t)}function a(e,t){return e.isFile()&&o(e,t)}function o(e,t){var n=e.mode,r=e.uid,i=e.gid,a=t.uid===void 0?process.getuid&&process.getuid():t.uid,o=t.gid===void 0?process.getgid&&process.getgid():t.gid,s=64,c=8,l=1,u=s|c;return n&l||n&c&&i===o||n&s&&r===a||n&u&&a===0}})),Ke=_(((e,t)=>{b(`fs`);var n=process.platform===`win32`||global.TESTING_WINDOWS?We():Ge();t.exports=r,r.sync=i;function r(e,t,i){if(typeof t==`function`&&(i=t,t={}),!i){if(typeof Promise!=`function`)throw TypeError(`callback not provided`);return new Promise(function(n,i){r(e,t||{},function(e,t){e?i(e):n(t)})})}n(e,t||{},function(e,n){e&&(e.code===`EACCES`||t&&t.ignoreErrors)&&(e=null,n=!1),i(e,n)})}function i(e,t){try{return n.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||e.code===`EACCES`)return!1;throw e}}})),qe=_(((e,t)=>{let n=process.platform===`win32`||process.env.OSTYPE===`cygwin`||process.env.OSTYPE===`msys`,r=b(`path`),i=n?`;`:`:`,a=Ke(),o=e=>Object.assign(Error(`not found: ${e}`),{code:`ENOENT`}),s=(e,t)=>{let r=t.colon||i,a=e.match(/\//)||n&&e.match(/\\/)?[``]:[...n?[process.cwd()]:[],...(t.path||process.env.PATH||``).split(r)],o=n?t.pathExt||process.env.PATHEXT||`.EXE;.CMD;.BAT;.COM`:``,s=n?o.split(r):[``];return n&&e.indexOf(`.`)!==-1&&s[0]!==``&&s.unshift(``),{pathEnv:a,pathExt:s,pathExtExe:o}},c=(e,t,n)=>{typeof t==`function`&&(n=t,t={}),t||={};let{pathEnv:i,pathExt:c,pathExtExe:l}=s(e,t),u=[],d=n=>new Promise((a,s)=>{if(n===i.length)return t.all&&u.length?a(u):s(o(e));let c=i[n],l=/^".*"$/.test(c)?c.slice(1,-1):c,d=r.join(l,e),p=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;a(f(p,n,0))}),f=(e,n,r)=>new Promise((i,o)=>{if(r===c.length)return i(d(n+1));let s=c[r];a(e+s,{pathExt:l},(a,o)=>{if(!a&&o){if(t.all)u.push(e+s);else return i(e+s)}return i(f(e,n,r+1))})});return n?d(0).then(e=>n(null,e),n):d(0)};t.exports=c,c.sync=(e,t)=>{t||={};let{pathEnv:n,pathExt:i,pathExtExe:c}=s(e,t),l=[];for(let o=0;o<n.length;o++){let s=n[o],u=/^".*"$/.test(s)?s.slice(1,-1):s,d=r.join(u,e),f=!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let e=0;e<i.length;e++){let n=f+i[e];try{if(a.sync(n,{pathExt:c})){if(t.all)l.push(n);else return n}}catch{}}}if(t.all&&l.length)return l;if(t.nothrow)return null;throw o(e)}})),Je=_(((e,t)=>{let n=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)===`win32`?Object.keys(t).reverse().find(e=>e.toUpperCase()===`PATH`)||`Path`:`PATH`};t.exports=n,t.exports.default=n})),Ye=_(((e,t)=>{let n=b(`path`),r=qe(),i=Je();function a(e,t){let a=e.options.env||process.env,o=process.cwd(),s=e.options.cwd!=null,c=s&&process.chdir!==void 0&&!process.chdir.disabled;if(c)try{process.chdir(e.options.cwd)}catch{}let l;try{l=r.sync(e.command,{path:a[i({env:a})],pathExt:t?n.delimiter:void 0})}catch{}finally{c&&process.chdir(o)}return l&&=n.resolve(s?e.options.cwd:``,l),l}function o(e){return a(e)||a(e,!0)}t.exports=o})),Xe=_(((e,t)=>{let n=/([()\][%!^"`<>&|;, *?])/g;function r(e){return e=e.replace(n,`^$1`),e}function i(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,`$1$1\\"`),e=e.replace(/(?=(\\+?)?)\1$/,`$1$1`),e=`"${e}"`,e=e.replace(n,`^$1`),t&&(e=e.replace(n,`^$1`)),e}t.exports.command=r,t.exports.argument=i})),Ze=_(((e,t)=>{t.exports=/^#!(.*)/})),Qe=_(((e,t)=>{let n=Ze();t.exports=(e=``)=>{let t=e.match(n);if(!t)return null;let[r,i]=t[0].replace(/#! ?/,``).split(` `),a=r.split(`/`).pop();return a===`env`?i:i?`${a} ${i}`:a}})),$e=_(((e,t)=>{let n=b(`fs`),r=Qe();function i(e){let t=Buffer.alloc(150),i;try{i=n.openSync(e,`r`),n.readSync(i,t,0,150,0),n.closeSync(i)}catch{}return r(t.toString())}t.exports=i})),et=_(((e,t)=>{let n=b(`path`),r=Ye(),i=Xe(),a=$e(),o=process.platform===`win32`,s=/\.(?:com|exe)$/i,c=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function l(e){e.file=r(e);let t=e.file&&a(e.file);return t?(e.args.unshift(e.file),e.command=t,r(e)):e.file}function u(e){if(!o)return e;let t=l(e),r=!s.test(t);if(e.options.forceShell||r){let r=c.test(t);e.command=n.normalize(e.command),e.command=i.command(e.command),e.args=e.args.map(e=>i.argument(e,r)),e.args=[`/d`,`/s`,`/c`,`"${[e.command].concat(e.args).join(` `)}"`],e.command=process.env.comspec||`cmd.exe`,e.options.windowsVerbatimArguments=!0}return e}function d(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:u(r)}t.exports=d})),tt=_(((e,t)=>{let n=process.platform===`win32`;function r(e,t){return Object.assign(Error(`${t} ${e.command} ENOENT`),{code:`ENOENT`,errno:`ENOENT`,syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function i(e,t){if(!n)return;let r=e.emit;e.emit=function(n,i){if(n===`exit`){let n=a(i,t);if(n)return r.call(e,`error`,n)}return r.apply(e,arguments)}}function a(e,t){return n&&e===1&&!t.file?r(t.original,`spawn`):null}function o(e,t){return n&&e===1&&!t.file?r(t.original,`spawnSync`):null}t.exports={hookChildProcess:i,verifyENOENT:a,verifyENOENTSync:o,notFoundError:r}})),nt=_(((e,t)=>{let n=b(`child_process`),r=et(),i=tt();function a(e,t,a){let o=r(e,t,a),s=n.spawn(o.command,o.args,o.options);return i.hookChildProcess(s,o),s}function o(e,t,a){let o=r(e,t,a),s=n.spawnSync(o.command,o.args,o.options);return s.error=s.error||i.verifyENOENTSync(s.status,o),s}t.exports=a,t.exports.spawn=a,t.exports.sync=o,t.exports._parse=r,t.exports._enoent=i})),rt=_(((e,t)=>{function n(e){return e==null?[]:Array.isArray(e)?e:[e]}function r(e,t,n,r){var i,a=e[t],o=~r.string.indexOf(t)?n==null||n===!0?``:String(n):typeof n==`boolean`?n:~r.boolean.indexOf(t)?n===`false`?!1:n===`true`||(e._.push((i=+n,i*0==0?i:n)),!!n):(i=+n,i*0==0?i:n);e[t]=a==null?o:Array.isArray(a)?a.concat(o):[a,o]}t.exports=function(e,t){e||=[],t||={};var i,a,o,s,c,l={_:[]},u=0,d=0,f=0,p=e.length;let m=t.alias!==void 0,h=t.unknown!==void 0,g=t.default!==void 0;if(t.alias=t.alias||{},t.string=n(t.string),t.boolean=n(t.boolean),m)for(i in t.alias)for(a=t.alias[i]=n(t.alias[i]),u=0;u<a.length;u++)(t.alias[a[u]]=a.concat(i)).splice(u,1);for(u=t.boolean.length;u-->0;)for(a=t.alias[t.boolean[u]]||[],d=a.length;d-->0;)t.boolean.push(a[d]);for(u=t.string.length;u-->0;)for(a=t.alias[t.string[u]]||[],d=a.length;d-->0;)t.string.push(a[d]);if(g){for(i in t.default)if(s=typeof t.default[i],a=t.alias[i]=t.alias[i]||[],t[s]!==void 0)for(t[s].push(i),u=0;u<a.length;u++)t[s].push(a[u])}let _=h?Object.keys(t.alias):[];for(u=0;u<p;u++){if(o=e[u],o===`--`){l._=l._.concat(e.slice(++u));break}for(d=0;d<o.length&&o.charCodeAt(d)===45;d++);if(d===0)l._.push(o);else if(o.substring(d,d+3)===`no-`){if(s=o.substring(d+3),h&&!~_.indexOf(s))return t.unknown(o);l[s]=!1}else{for(f=d+1;f<o.length&&o.charCodeAt(f)!==61;f++);for(s=o.substring(d,f),c=o.substring(++f)||u+1===p||(``+e[u+1]).charCodeAt(0)===45||e[++u],a=d===2?[s]:s,f=0;f<a.length;f++){if(s=a[f],h&&!~_.indexOf(s))return t.unknown(`-`.repeat(d)+s);r(l,s,f+1<a.length||c,t)}}}if(g)for(i in t.default)l[i]===void 0&&(l[i]=t.default[i]);if(m)for(i in l)for(a=t.alias[i]||[];a.length>0;)l[a.shift()]=l[i];return l}})),it=_(((e,t)=>{let n=process||{},r=n.argv||[],i=n.env||{},a=!(i.NO_COLOR||r.includes(`--no-color`))&&(!!i.FORCE_COLOR||r.includes(`--color`)||n.platform===`win32`||(n.stdout||{}).isTTY&&i.TERM!==`dumb`||!!i.CI),o=(e,t,n=e)=>r=>{let i=``+r,a=i.indexOf(t,e.length);return~a?e+s(i,t,n,a)+t:e+i+t},s=(e,t,n,r)=>{let i=``,a=0;do i+=e.substring(a,r)+n,a=r+t.length,r=e.indexOf(t,a);while(~r);return i+e.substring(a)},c=(e=a)=>{let t=e?o:()=>String;return{isColorSupported:e,reset:t(`\x1B[0m`,`\x1B[0m`),bold:t(`\x1B[1m`,`\x1B[22m`,`\x1B[22m\x1B[1m`),dim:t(`\x1B[2m`,`\x1B[22m`,`\x1B[22m\x1B[2m`),italic:t(`\x1B[3m`,`\x1B[23m`),underline:t(`\x1B[4m`,`\x1B[24m`),inverse:t(`\x1B[7m`,`\x1B[27m`),hidden:t(`\x1B[8m`,`\x1B[28m`),strikethrough:t(`\x1B[9m`,`\x1B[29m`),black:t(`\x1B[30m`,`\x1B[39m`),red:t(`\x1B[31m`,`\x1B[39m`),green:t(`\x1B[32m`,`\x1B[39m`),yellow:t(`\x1B[33m`,`\x1B[39m`),blue:t(`\x1B[34m`,`\x1B[39m`),magenta:t(`\x1B[35m`,`\x1B[39m`),cyan:t(`\x1B[36m`,`\x1B[39m`),white:t(`\x1B[37m`,`\x1B[39m`),gray:t(`\x1B[90m`,`\x1B[39m`),bgBlack:t(`\x1B[40m`,`\x1B[49m`),bgRed:t(`\x1B[41m`,`\x1B[49m`),bgGreen:t(`\x1B[42m`,`\x1B[49m`),bgYellow:t(`\x1B[43m`,`\x1B[49m`),bgBlue:t(`\x1B[44m`,`\x1B[49m`),bgMagenta:t(`\x1B[45m`,`\x1B[49m`),bgCyan:t(`\x1B[46m`,`\x1B[49m`),bgWhite:t(`\x1B[47m`,`\x1B[49m`),blackBright:t(`\x1B[90m`,`\x1B[39m`),redBright:t(`\x1B[91m`,`\x1B[39m`),greenBright:t(`\x1B[92m`,`\x1B[39m`),yellowBright:t(`\x1B[93m`,`\x1B[39m`),blueBright:t(`\x1B[94m`,`\x1B[39m`),magentaBright:t(`\x1B[95m`,`\x1B[39m`),cyanBright:t(`\x1B[96m`,`\x1B[39m`),whiteBright:t(`\x1B[97m`,`\x1B[39m`),bgBlackBright:t(`\x1B[100m`,`\x1B[49m`),bgRedBright:t(`\x1B[101m`,`\x1B[49m`),bgGreenBright:t(`\x1B[102m`,`\x1B[49m`),bgYellowBright:t(`\x1B[103m`,`\x1B[49m`),bgBlueBright:t(`\x1B[104m`,`\x1B[49m`),bgMagentaBright:t(`\x1B[105m`,`\x1B[49m`),bgCyanBright:t(`\x1B[106m`,`\x1B[49m`),bgWhiteBright:t(`\x1B[107m`,`\x1B[49m`)}};t.exports=c(),t.exports.createColors=c})),at=y(nt(),1),ot=y(rt(),1),st=y(it(),1);const{green:ct,yellow:Q,blue:lt,redBright:ut,greenBright:dt}=st.default,ft=`\
|
|
70
56
|
用法: @huberyyang/create-todo-vue [参数]... [目录]
|
|
71
57
|
|
|
72
58
|
快速创建vue模板
|
|
73
59
|
|
|
74
60
|
参数:
|
|
75
61
|
-h, --help 查看帮助
|
|
62
|
+
-v, --version 查看版本号
|
|
76
63
|
-t, --template 指定模板
|
|
77
64
|
-i, --immediate 创建后立即安装依赖
|
|
78
65
|
--overwrite 是否覆盖创建
|
|
79
66
|
|
|
80
67
|
可用模板:
|
|
81
|
-
${
|
|
82
|
-
${
|
|
83
|
-
${
|
|
84
|
-
${It(`lit-ts lit `)}`,zt=`vue-project`,Bt=[{name:`vanilla`,display:`Vanilla`,color:Z,variants:[{name:`vanilla-ts`,display:`TypeScript`,color:Ft},{name:`vanilla`,display:`JavaScript`,color:Z}]},{name:`vue`,display:`Vue`,color:X,variants:[{name:`vue-ts`,display:`TypeScript`,color:Ft},{name:`vue`,display:`JavaScript`,color:Z},{name:`custom-create-vue`,display:`Official Vue Starter ↗`,color:X,customCommand:`npm create vue@latest TARGET_DIR`},{name:`custom-nuxt`,display:`Nuxt ↗`,link:`https://nuxt.com`,color:Lt,customCommand:`npm exec nuxi init TARGET_DIR`},{name:`custom-vike-vue`,display:`Vike ↗`,link:`https://vike.dev`,color:Lt,customCommand:`npm create -- vike@latest --vue TARGET_DIR`}]},{name:`vitesse`,display:`vitesse`,color:X,variants:[{name:`vitesse-base`,display:`vitesse-base`,color:X},{name:`vitesse-lite`,display:`vitesse-lite`,color:X}]},{name:`lit`,display:`Lit`,color:It,variants:[{name:`lit-ts`,display:`TypeScript`,color:Ft},{name:`lit`,display:`JavaScript`,color:Z}]}],Vt=Bt.flatMap(e=>e.variants?.length?e.variants.map(e=>e.name):e.name),Ht={_gitignore:`.gitignore`};function Ut(e){return e.trim().replace(/\/+$/g,``)}function Wt(e){if(!e)return;let t=e.split(` `)[0].split(`/`);return{name:t[0],version:t[1]}}function Q(){return ut(`操作已取消`)}function Gt(e){let n=t.readdirSync(e);return n.length===0||n.length===1&&n[0]===`.git`}function Kt(e){if(!t.existsSync(e))return!1;for(let n of t.readdirSync(e))n!==`.git`&&t.rmSync(a.resolve(e,n),{recursive:!0,force:!0})}function qt(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function Jt(e){return e.trim().toLowerCase().replace(/\s+/g,`-`).replace(/^[._]/,``).replace(/[^a-z\d\-~]+/g,`-`)}function Yt(e,t){let n=t?.name||`npm`,r=n===`yarn`&&t?.version?.startsWith(`1.`);return e.replace(/^npm create (?:-- )?/,()=>n===`bun`?`bun x create-`:n===`deno`?`deno run -A npm:create-`:n===`pnpm`?`pnpm create `:e.startsWith(`npm create -- `)?`${n} create -- `:`${n} create `).replace(`@latest`,r?``:`@latest`).replace(/^npm exec /,()=>n===`pnpm`?`pnpm dlx `:n===`yarn`&&!r?`yarn dlx `:n===`bun`?`bun x `:n===`deno`?`deno run -A npm:`:`npm exec `)}function Xt(e){let{display:t,name:n,color:r,link:i}=e,a=r(t||n);return i&&(a+=` ${(0,Pt.underline)(i)}`),a}function Zt(e,n){t.mkdirSync(n,{recursive:!0});for(let r of t.readdirSync(e))Qt(a.resolve(e,r),a.resolve(n,r))}function Qt(e,n){t.statSync(e).isDirectory()?Zt(e,n):t.copyFileSync(e,n)}function $t(e){return e===`yarn`?[e]:[e,`install`]}function en([e,...t],n){let{status:r,error:i}=Nt.default.sync(e,t,n);r!=null&&r>0&&c.exit(r),i&&(console.error(`\n${e} ${t.join(` `)} 报错!`),console.error(i),c.exit(1))}function tn(e,t){q.step(`使用 ${t} 安装依赖...`),en($t(t),{stdio:`inherit`,cwd:e})}const nn=pt(),rn=c.cwd(),$=(0,Mt.default)(c.argv.slice(2),{boolean:[`help`,`overwrite`,`immediate`],alias:{h:`help`,t:`template`,i:`immediate`},string:[`template`]});async function an(){let e=$._[0]?Ut(String($._[0])):void 0,n=$.overwrite,r=$.template,i=$.immediate;if($.help)return console.log(Rt),!1;let o=Wt(c.env.npm_config_user_agent),s=e;if(!s){let e=await gt({message:`项目名称:`,defaultValue:zt,placeholder:zt,validate(e){return!e||Ut(e).length>0?void 0:`项目名称无效`}});if(F(e))return Q();s=Ut(e)}if(t.existsSync(s)&&!Gt(s)){let e=n?`yes`:void 0;if(!e){let t=await mt({message:`${s===`.`?`当前目录`:`目标目录${s}`} 不为空,请选择如何继续`,options:[{label:`取消操作`,value:`no`},{label:`删除现有文件并继续`,value:`yes`},{label:`忽略文件并继续`,value:`ignore`}]});if(F(t))return Q();e=t}switch(e){case`yes`:Kt(s);break;case`no`:Q();return}}let l=a.basename(a.resolve(s));if(!qt(l)){let e=await gt({message:`请输入package.json name`,defaultValue:Jt(l),placeholder:Jt(l),validate(e){if(e&&!qt(e))return`无效的package.json name`}});if(F(e))return Q();l=e}let u=r,f=!1;if(r&&!Vt.includes(r)&&(u=void 0,f=!0),!u){let e=await mt({message:f?`${r}不是有效的模板名,请从以下选取:`:`选择模板`,options:Bt.map(e=>{let{color:t,name:n,display:r}=e;return{label:t(r||n),value:e}})});if(F(e))return Q();if(u=e.name,e.variants?.length){let t=await mt({message:`选择预设`,options:e.variants.map(e=>{let{name:t,customCommand:n}=e,r=n?Yt(n,o).replace(/ TARGET_DIR$/,``):void 0;return{label:Xt(e),value:t,hint:r}})});if(F(t))return Q();u=t}}let p=o?.name||`npm`,m=a.join(rn,s),{customCommand:h}=Bt.flatMap(e=>e.variants?.length?e.variants:e).find(e=>e.name===u)??{};if(h){let[e,...t]=Yt(h,o).split(` `),n=t.map(e=>e.replace(`TARGET_DIR`,s)),{status:r}=Nt.default.sync(e,n,{stdio:`inherit`});c.exit(r??0)}nn.start(`正在${m}中创建模板`),t.mkdirSync(m,{recursive:!0});let g=a.resolve(d(import.meta.url),`../..`,`template-${u}`);function _(e,n){let r=a.join(m,Ht[e]??e);if(n)t.writeFileSync(r,n);else if(e===`index.html`){let n=a.join(g,e),i=t.readFileSync(n,`utf-8`).replace(/<title>.*?<\/title>/,`<title>${l}</title>`);t.writeFileSync(r,i)}else Qt(a.join(g,e),r)}let v=t.readdirSync(g);for(let e of v.filter(e=>e!==`package.json`))_(e);let y=JSON.parse(t.readFileSync(a.join(g,`package.json`),`utf-8`));y.name=l,_(`package.json`,`${JSON.stringify(y,null,2)}\n`),nn.stop(`模板创建成功`);let b=i;if(b===void 0){let e=await lt({message:`是否立即使用${p}安装依赖?`});if(F(e))return Q();b=e}if(b)tn(m,p);else{let e=``,t=a.relative(rn,m);e+=`创建完成,请执行:`,rn!==m&&(e+=`\n cd ${t.includes(` `)?`"${t}"`:t}`),e+=`\n ${$t(p).join(` `)}`,dt(e)}q.success(`程序结束`)}an();export{};
|
|
68
|
+
${Q(`vanilla-ts vanilla`)}
|
|
69
|
+
${ct(`vue-ts vue`)}
|
|
70
|
+
${ut(`lit-ts lit`)}`,pt=`vue-project`,mt={boolean:[`help`,`version`,`overwrite`,`immediate`],alias:{h:`help`,v:`version`,t:`template`,i:`immediate`},string:[`template`]},ht=[{name:`vanilla`,display:`Vanilla`,color:Q,variants:[{name:`vanilla-ts`,display:`TypeScript`,color:lt},{name:`vanilla`,display:`JavaScript`,color:Q}]},{name:`vue`,display:`Vue`,color:ct,variants:[{name:`vue-ts`,display:`TypeScript`,color:lt},{name:`vue`,display:`JavaScript`,color:Q},{name:`custom-create-vue`,display:`Official Vue Starter ↗`,color:ct,customCommand:`npm create vue@latest TARGET_DIR`},{name:`custom-nuxt`,display:`Nuxt ↗`,link:`https://nuxt.com`,color:dt,customCommand:`npm exec nuxi init TARGET_DIR`},{name:`custom-vike-vue`,display:`Vike ↗`,link:`https://vike.dev`,color:dt,customCommand:`npm create -- vike@latest --vue TARGET_DIR`}]},{name:`lit`,display:`Lit`,color:ut,variants:[{name:`lit-ts`,display:`TypeScript`,color:lt},{name:`lit`,display:`JavaScript`,color:Q}]}],gt=ht.flatMap(e=>e.variants?.length?e.variants.map(e=>e.name):e.name),_t={_gitignore:`.gitignore`};function vt(e){let r=n.resolve(e);for(;;){let e=n.join(r,`package.json`);if(t.existsSync(e))return e;let i=n.dirname(r);if(i===r)return;r=i}}function yt(e){let n=vt(e);if(!n)return`unknown`;try{return JSON.parse(t.readFileSync(n,`utf-8`)).version??`unknown`}catch{return`unknown`}}function bt(e){return e.trim().replace(/\/+$/g,``)}function xt(e){if(!e)return;let t=e.split(` `)[0].split(`/`);return{name:t[0],version:t[1]}}function St(){return Le(`操作已取消`)}function Ct(e){let n=t.readdirSync(e);return n.length===0||n.length===1&&n[0]===`.git`}function wt(e){if(!t.existsSync(e))return!1;for(let r of t.readdirSync(e))r!==`.git`&&t.rmSync(n.resolve(e,r),{recursive:!0,force:!0})}function Tt(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function Et(e){return e.trim().toLowerCase().replace(/\s+/g,`-`).replace(/^[._]/,``).replace(/[^a-z\d\-~]+/g,`-`)}function Dt(e,t){let n=t?.name||`npm`,r=n===`yarn`&&t?.version?.startsWith(`1.`);return e.replace(/^npm create (?:-- )?/,()=>n===`bun`?`bun x create-`:n===`deno`?`deno run -A npm:create-`:n===`pnpm`?`pnpm create `:e.startsWith(`npm create -- `)?`${n} create -- `:`${n} create `).replace(`@latest`,r?``:`@latest`).replace(/^npm exec /,()=>n===`pnpm`?`pnpm dlx `:n===`yarn`&&!r?`yarn dlx `:n===`bun`?`bun x `:n===`deno`?`deno run -A npm:`:`npm exec `)}function Ot(e){let{display:t,name:n,color:r,link:i}=e,a=r(t||n);return i&&(a+=` ${(0,st.underline)(i)}`),a}function kt(e,r){t.mkdirSync(r,{recursive:!0});for(let i of t.readdirSync(e))At(n.resolve(e,i),n.resolve(r,i))}function At(e,n){t.statSync(e).isDirectory()?kt(e,n):t.copyFileSync(e,n)}function jt(e){return e===`yarn`?[e]:[e,`install`]}function Mt([e,...t],n){let{status:i,error:a}=at.default.sync(e,t,n);i!=null&&i>0&&r.exit(i),a&&(console.error(`\n${e} ${t.join(` `)} 报错!`),console.error(a),r.exit(1))}function Nt(e,t){Y.step(`使用 ${t} 安装依赖...`),Mt(jt(t),{stdio:`inherit`,cwd:e})}function Pt(e,t){return e&&!t.includes(e)?{template:void 0,invalid:!0}:{template:e,invalid:!1}}function Ft(e,t){let r=n.basename(n.resolve(t,e));return{name:r,needsPrompt:!Tt(r)}}function It(e,t){let{customCommand:n}=e.flatMap(e=>e.variants?.length?e.variants:e).find(e=>e.name===t)??{};return n}function Lt(e,t){let[n,...r]=e.split(` `);return{command:n,args:r.map(e=>e.replace(`TARGET_DIR`,t))}}function Rt(e,t){let n=e=>t[e]??e,r=e.filter(e=>e!==`package.json`).map(e=>({kind:e===`index.html`?`index-html`:`copy`,from:e,to:n(e)}));return r.push({kind:`package-json`,from:`package.json`,to:n(`package.json`)}),r}function zt(e,t){return e.replace(/<title>.*?<\/title>/,`<title>${t}</title>`)}function Bt(e,t){let n=JSON.parse(e);return n.name=t,`${JSON.stringify(n,null,2)}\n`}function Vt(e,t,r){let i=n.relative(e,t),a=`创建完成,请执行:`;return e!==t&&(a+=`\n cd ${i.includes(` `)?`"${i}"`:i}`),a+=`\n ${jt(r).join(` `)}`,a}function Ht(e){let t=e.alias??{};return[...new Set([...e.boolean??[],...e.string??[],...Object.values(t),...Object.keys(t)])]}function Ut(e,t){let n=new Set(t);return Object.keys(e).filter(e=>e!==`_`&&!n.has(e))}function Wt({templateDir:e,root:r,packageName:i,renameFiles:a}){t.mkdirSync(r,{recursive:!0});let o=Rt(t.readdirSync(e),a);for(let a of o){let o=n.join(e,a.from),s=n.join(r,a.to);switch(a.kind){case`index-html`:t.writeFileSync(s,zt(t.readFileSync(o,`utf-8`),i));break;case`package-json`:t.writeFileSync(s,Bt(t.readFileSync(o,`utf-8`),i));break;case`copy`:At(o,s)}}}const Gt=o(import.meta.url),Kt=n.dirname(Gt),qt=n.resolve(Gt,`../..`),Jt=Ve();function $(){return St(),1}async function Yt(e=r.argv.slice(2)){let i=r.cwd(),a=(0,ot.default)(e,mt),o=a._[0]?bt(String(a._[0])):void 0,s=a.overwrite,c=a.template,l=a.immediate;if(a.help)return console.log(ft),0;if(a.version)return console.log(yt(Kt)),0;let u=Ut(a,Ht(mt));if(u.length)return console.error(`未知参数:${u.map(e=>`--${e}`).join(`, `)}`),console.error(`运行 create-todo-vue --help 查看可用参数`),1;Re(`create-todo-vue`);let d=xt(r.env.npm_config_user_agent),f=o;if(!f){let e=await Ue({message:`项目名称:`,defaultValue:pt,placeholder:pt,validate(e){return!e||bt(e).length>0?void 0:`项目名称无效`}});if(I(e))return $();f=bt(e)}if(t.existsSync(f)&&!Ct(f)){let e=s?`yes`:void 0;if(!e){let t=await Z({message:`${f===`.`?`当前目录`:`目标目录${f}`} 不为空,请选择如何继续`,options:[{label:`取消操作`,value:`no`},{label:`删除现有文件并继续`,value:`yes`},{label:`忽略文件并继续`,value:`ignore`}]});if(I(t))return $();e=t}switch(e){case`yes`:wt(f);break;case`no`:return $()}}let p=Ft(f,i),m=p.name;if(p.needsPrompt){let e=await Ue({message:`请输入package.json name`,defaultValue:Et(m),placeholder:Et(m),validate(e){if(e&&!Tt(e))return`无效的package.json name`}});if(I(e))return $();m=e}let{template:h,invalid:g}=Pt(c,gt),_=h;if(!_){let e=await Z({message:g?`${c}不是有效的模板名,请从以下选取:`:`选择模板`,options:ht.map(e=>{let{color:t,name:n,display:r}=e;return{label:t(r||n),value:e}})});if(I(e))return $();if(_=e.name,e.variants?.length){let t=await Z({message:`选择预设`,options:e.variants.map(e=>{let{name:t,customCommand:n}=e,r=n?Dt(n,d).replace(/ TARGET_DIR$/,``):void 0;return{label:Ot(e),value:t,hint:r}})});if(I(t))return $();_=t}}let v=d?.name||`npm`,y=n.join(i,f),b=It(ht,_);if(b){let{command:e,args:t}=Lt(Dt(b,d),f),{status:n}=at.default.sync(e,t,{stdio:`inherit`});r.exit(n??0)}Jt.start(`正在${y}中创建模板`),Wt({templateDir:n.resolve(qt,`template-${_}`),root:y,packageName:m,renameFiles:_t}),Jt.stop(`模板创建成功`);let x=l;if(x===void 0){let e=await Ie({message:`是否立即使用${v}安装依赖?`});if(I(e))return $();x=e}return x?Nt(y,v):ze(Vt(i,y,v)),Y.success(`程序结束`),0}async function Xt(){r.exitCode=1;try{r.exitCode=await Yt()}catch(e){Jt.error(`创建失败`),Y.error(e instanceof Error?e.message:String(e)),e instanceof Error&&e.stack&&console.error(e.stack),r.exit(1)}}export{Yt as main,Xt as runCli};
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@huberyyang/create-todo-vue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0
|
|
5
|
-
"packageManager": "pnpm@
|
|
4
|
+
"version": "1.2.0",
|
|
5
|
+
"packageManager": "pnpm@11.25.0",
|
|
6
6
|
"description": "💡 create vue projects with awesome templates",
|
|
7
7
|
"author": "HuberyYang",
|
|
8
8
|
"license": "MIT",
|
|
@@ -33,8 +33,6 @@
|
|
|
33
33
|
"template-lit-ts",
|
|
34
34
|
"template-vanilla",
|
|
35
35
|
"template-vanilla-ts",
|
|
36
|
-
"template-vitesse-base",
|
|
37
|
-
"template-vitesse-lite",
|
|
38
36
|
"template-vue",
|
|
39
37
|
"template-vue-ts"
|
|
40
38
|
],
|
|
@@ -43,13 +41,15 @@
|
|
|
43
41
|
},
|
|
44
42
|
"scripts": {
|
|
45
43
|
"dev": "tsdown --watch",
|
|
46
|
-
"preview": "
|
|
44
|
+
"preview": "pnpm build && node ./bin/index.js",
|
|
47
45
|
"build": "tsdown",
|
|
48
|
-
"build:prod": "
|
|
49
|
-
"release": "
|
|
50
|
-
"test": "vitest",
|
|
46
|
+
"build:prod": "pnpm typecheck && pnpm lint:fix && pnpm test && pnpm build && pnpm test:e2e",
|
|
47
|
+
"release": "pnpm build:prod && bumpp && npm publish",
|
|
48
|
+
"test": "vitest run",
|
|
49
|
+
"test:watch": "vitest",
|
|
50
|
+
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
51
|
+
"test:e2e:watch": "vitest --config vitest.e2e.config.ts",
|
|
51
52
|
"typecheck": "tsc",
|
|
52
|
-
"publish": "bumpp && npm publish",
|
|
53
53
|
"lint": "eslint",
|
|
54
54
|
"lint:fix": "eslint --fix",
|
|
55
55
|
"taze": "npx taze major -r",
|
|
@@ -57,25 +57,22 @@
|
|
|
57
57
|
"commitlint": "commitlint --edit"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@antfu/eslint-config": "^
|
|
61
|
-
"@clack/prompts": "^1.
|
|
62
|
-
"@commitlint/cli": "^
|
|
63
|
-
"@commitlint/config-conventional": "^
|
|
64
|
-
"@huberyyang/todo-scripts": "^1.0
|
|
60
|
+
"@antfu/eslint-config": "^9.5.1",
|
|
61
|
+
"@clack/prompts": "^1.7.0",
|
|
62
|
+
"@commitlint/cli": "^21.2.2",
|
|
63
|
+
"@commitlint/config-conventional": "^21.2.2",
|
|
64
|
+
"@huberyyang/todo-scripts": "^1.3.0",
|
|
65
65
|
"@types/cross-spawn": "^6.0.6",
|
|
66
|
-
"@types/node": "^
|
|
67
|
-
"bumpp": "^
|
|
66
|
+
"@types/node": "^26.4.1",
|
|
67
|
+
"bumpp": "^12.3.0",
|
|
68
68
|
"cross-spawn": "^7.0.6",
|
|
69
|
-
"eslint": "^10.
|
|
69
|
+
"eslint": "^10.9.1",
|
|
70
70
|
"husky": "^9.1.7",
|
|
71
|
-
"lint-staged": "^
|
|
71
|
+
"lint-staged": "^17.4.1",
|
|
72
72
|
"mri": "^1.2.0",
|
|
73
|
-
"npm-run-all2": "^8.0.4",
|
|
74
73
|
"picocolors": "^1.1.1",
|
|
75
|
-
"tsdown": "^0.
|
|
76
|
-
"
|
|
77
|
-
|
|
78
|
-
"lint-staged": {
|
|
79
|
-
"*": "eslint . --fix"
|
|
74
|
+
"tsdown": "^0.22.14",
|
|
75
|
+
"typescript": "^6.0.3",
|
|
76
|
+
"vitest": "^5.0.0"
|
|
80
77
|
}
|
|
81
78
|
}
|