create-vite-uniapp 0.0.1

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 zeMinng
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,64 @@
1
+ # create-vite-uniapp
2
+
3
+ A lightning-fast CLI for scaffolding uni-app projects powered by Vite. Designed to provide a more modern, lightweight, and extensible development experience than standard templates.
4
+
5
+ ## ๐Ÿ› ๏ธ Quick Start
6
+
7
+ ```bash
8
+ # Using npm
9
+ npm create vite-uniapp@latest
10
+
11
+ # Using pnpm
12
+ pnpm create vite-uniapp
13
+ ```
14
+
15
+ ## ๐Ÿ“– Usage
16
+
17
+ Run the command and follow the prompts, or specify options directly:
18
+
19
+ ```bash
20
+ # Interactive mode
21
+ npm create vite-uniapp@latest
22
+
23
+ # With project name
24
+ npm create vite-uniapp@latest my-app
25
+
26
+ # With template
27
+ npm create vite-uniapp@latest my-app --template vue3-ts
28
+ ```
29
+
30
+ ## ๐Ÿ“ Project Structure
31
+
32
+ ```
33
+ my-app/
34
+ โ”œโ”€โ”€ src/
35
+ โ”‚ โ”œโ”€โ”€ App.vue # Root component
36
+ โ”‚ โ”œโ”€โ”€ main.ts # Entry point
37
+ โ”‚ โ””โ”€โ”€ pages/ # Pages directory
38
+ โ”‚ โ””โ”€โ”€ index/
39
+ โ”‚ โ””โ”€โ”€ index.vue
40
+ โ”œโ”€โ”€ index.html # HTML template
41
+ โ”œโ”€โ”€ vite.config.ts # Vite configuration
42
+ โ”œโ”€โ”€ tsconfig.json # TypeScript configuration
43
+ โ””โ”€โ”€ package.json # Project dependencies
44
+ ```
45
+
46
+ ## ๐Ÿค Contributing
47
+
48
+ Contributions are welcome! Please feel free to submit a Pull Request.
49
+
50
+ 1. Fork the repository
51
+ 2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
52
+ 3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
53
+ 4. Push to the branch (`git push origin feature/AmazingFeature`)
54
+ 5. Open a Pull Request
55
+
56
+ ## ๐Ÿ“ License
57
+
58
+ This project is licensed under the MIT License.
59
+
60
+ ## ๐Ÿ™ Acknowledgments
61
+
62
+ - [Vite](https://vitejs.dev/) - Next generation frontend tooling
63
+ - [Vue.js](https://vuejs.org/) - Progressive JavaScript framework
64
+ - [Uni-app](https://uniapp.dcloud.net.cn/) - Cross-platform application framework
@@ -0,0 +1,64 @@
1
+ # create-vite-uniapp
2
+
3
+ ไธ€ไธชๅŸบไบŽ Vite ็š„ๆž้€Ÿ uni-app ้กน็›ฎ่„šๆ‰‹ๆžถๅทฅๅ…ทใ€‚ๆ—จๅœจๆไพ›ๆฏ”ๅฎ˜ๆ–นๆจกๆฟๆ›ด็Žฐไปฃใ€ๆ›ด่ฝป้‡ใ€ๆ›ดๆ˜“ๆ‰ฉๅฑ•็š„ๅผ€ๅ‘ไฝ“้ชŒใ€‚
4
+
5
+ ## ๐Ÿ› ๏ธ ๅฟซ้€Ÿๅผ€ๅง‹
6
+
7
+ ```bash
8
+ # ไฝฟ็”จ npm
9
+ npm create vite-uniapp@latest
10
+
11
+ # ไฝฟ็”จ pnpm
12
+ pnpm create vite-uniapp
13
+ ```
14
+
15
+ ## ๐Ÿ“– ไฝฟ็”จๆŒ‡ๅ—
16
+
17
+ ็›ดๆŽฅ่ฟ่กŒๅ‘ฝไปคๅนถๆŒ‰็…งๆ็คบๆ“ไฝœ๏ผŒๆˆ–็›ดๆŽฅๆŒ‡ๅฎš้€‰้กน๏ผš
18
+
19
+ ```bash
20
+ # ไบคไบ’ๅผๆจกๅผ
21
+ npm create vite-uniapp@latest
22
+
23
+ # ๆŒ‡ๅฎš้กน็›ฎๅ็งฐ
24
+ npm create vite-uniapp@latest my-app
25
+
26
+ # ๆŒ‡ๅฎšๆจกๆฟ
27
+ npm create vite-uniapp@latest my-app --template vue3-ts
28
+ ```
29
+
30
+ ## ๐Ÿ“ ้กน็›ฎ็ป“ๆž„
31
+
32
+ ```
33
+ my-app/
34
+ โ”œโ”€โ”€ src/
35
+ โ”‚ โ”œโ”€โ”€ App.vue # ๆ น็ป„ไปถ
36
+ โ”‚ โ”œโ”€โ”€ main.ts # ๅ…ฅๅฃๆ–‡ไปถ
37
+ โ”‚ โ””โ”€โ”€ pages/ # ้กต้ข็›ฎๅฝ•
38
+ โ”‚ โ””โ”€โ”€ index/
39
+ โ”‚ โ””โ”€โ”€ index.vue
40
+ โ”œโ”€โ”€ index.html # HTML ๆจกๆฟ
41
+ โ”œโ”€โ”€ vite.config.ts # Vite ้…็ฝฎ
42
+ โ”œโ”€โ”€ tsconfig.json # TypeScript ้…็ฝฎ
43
+ โ””โ”€โ”€ package.json # ้กน็›ฎไพ่ต–
44
+ ```
45
+
46
+ ## ๐Ÿค ่ดก็Œฎ
47
+
48
+ ๆฌข่ฟŽ่ดก็Œฎไปฃ็ ๏ผ่ฏท้šๆ—ถๆไบค Pull Requestใ€‚
49
+
50
+ 1. Fork ๆœฌไป“ๅบ“
51
+ 2. ๅˆ›ๅปบๆ‚จ็š„็‰นๆ€งๅˆ†ๆ”ฏ (`git checkout -b feature/AmazingFeature`)
52
+ 3. ๆไบคๆ‚จ็š„ๆ›ดๆ”น (`git commit -m 'ๆทปๅŠ ไธ€ไบ› AmazingFeature'`)
53
+ 4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (`git push origin feature/AmazingFeature`)
54
+ 5. ๅผ€ๅฏไธ€ไธช Pull Request
55
+
56
+ ## ๐Ÿ“ ่ฎธๅฏ่ฏ
57
+
58
+ ๆœฌ้กน็›ฎ้‡‡็”จ MIT ่ฎธๅฏ่ฏใ€‚
59
+
60
+ ## ๐Ÿ™ ่‡ด่ฐข
61
+
62
+ - [Vite](https://vitejs.dev/) - ไธ‹ไธ€ไปฃๅ‰็ซฏๆž„ๅปบๅทฅๅ…ท
63
+ - [Vue.js](https://vuejs.org/) - ๆธ่ฟ›ๅผ JavaScript ๆก†ๆžถ
64
+ - [Uni-app](https://uniapp.dcloud.net.cn/) - ่ทจๅนณๅฐๅบ”็”จๆก†ๆžถ
package/dist/index.js ADDED
@@ -0,0 +1,64 @@
1
+ import e from"node:path";import t from"node:fs";import{fileURLToPath as n}from"node:url";import{stripVTControlCharacters as r}from"node:util";import i,{stdin as a,stdout as o}from"node:process";import*as s from"node:readline";import c from"node:readline";import{Writable as l}from"node:stream";var u=Object.create,d=Object.defineProperty,f=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyNames,m=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=p(t),a=0,o=i.length,s;a<o;a++)s=i[a],!h.call(e,s)&&s!==n&&d(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=f(t,s))||r.enumerable});return e},v=(e,t,n)=>(n=e==null?{}:u(m(e)),_(t||!e||!e.__esModule?d(n,`default`,{value:e,enumerable:!0}):n,e)),ee=g(((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}})),te=g(((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})),ne=g(((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`}})),re=v(ee(),1),y=ne(),b=v(te(),1);function ie({onlyFirst:e=!1}={}){let t=[`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))`,`(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))`].join(`|`);return new RegExp(t,e?void 0:`g`)}const ae=ie();function oe(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(ae,``)}function se(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var ce={exports:{}};(function(e){var t={};e.exports=t,t.eastAsianWidth=function(e){var t=e.charCodeAt(0),n=e.length==2?e.charCodeAt(1):0,r=t;return 55296<=t&&t<=56319&&56320<=n&&n<=57343&&(t&=1023,n&=1023,r=t<<10|n,r+=65536),r==12288||65281<=r&&r<=65376||65504<=r&&r<=65510?`F`:r==8361||65377<=r&&r<=65470||65474<=r&&r<=65479||65482<=r&&r<=65487||65490<=r&&r<=65495||65498<=r&&r<=65500||65512<=r&&r<=65518?`H`:4352<=r&&r<=4447||4515<=r&&r<=4519||4602<=r&&r<=4607||9001<=r&&r<=9002||11904<=r&&r<=11929||11931<=r&&r<=12019||12032<=r&&r<=12245||12272<=r&&r<=12283||12289<=r&&r<=12350||12353<=r&&r<=12438||12441<=r&&r<=12543||12549<=r&&r<=12589||12593<=r&&r<=12686||12688<=r&&r<=12730||12736<=r&&r<=12771||12784<=r&&r<=12830||12832<=r&&r<=12871||12880<=r&&r<=13054||13056<=r&&r<=19903||19968<=r&&r<=42124||42128<=r&&r<=42182||43360<=r&&r<=43388||44032<=r&&r<=55203||55216<=r&&r<=55238||55243<=r&&r<=55291||63744<=r&&r<=64255||65040<=r&&r<=65049||65072<=r&&r<=65106||65108<=r&&r<=65126||65128<=r&&r<=65131||110592<=r&&r<=110593||127488<=r&&r<=127490||127504<=r&&r<=127546||127552<=r&&r<=127560||127568<=r&&r<=127569||131072<=r&&r<=194367||177984<=r&&r<=196605||196608<=r&&r<=262141?`W`:32<=r&&r<=126||162<=r&&r<=163||165<=r&&r<=166||r==172||r==175||10214<=r&&r<=10221||10629<=r&&r<=10630?`Na`:r==161||r==164||167<=r&&r<=168||r==170||173<=r&&r<=174||176<=r&&r<=180||182<=r&&r<=186||188<=r&&r<=191||r==198||r==208||215<=r&&r<=216||222<=r&&r<=225||r==230||232<=r&&r<=234||236<=r&&r<=237||r==240||242<=r&&r<=243||247<=r&&r<=250||r==252||r==254||r==257||r==273||r==275||r==283||294<=r&&r<=295||r==299||305<=r&&r<=307||r==312||319<=r&&r<=322||r==324||328<=r&&r<=331||r==333||338<=r&&r<=339||358<=r&&r<=359||r==363||r==462||r==464||r==466||r==468||r==470||r==472||r==474||r==476||r==593||r==609||r==708||r==711||713<=r&&r<=715||r==717||r==720||728<=r&&r<=731||r==733||r==735||768<=r&&r<=879||913<=r&&r<=929||931<=r&&r<=937||945<=r&&r<=961||963<=r&&r<=969||r==1025||1040<=r&&r<=1103||r==1105||r==8208||8211<=r&&r<=8214||8216<=r&&r<=8217||8220<=r&&r<=8221||8224<=r&&r<=8226||8228<=r&&r<=8231||r==8240||8242<=r&&r<=8243||r==8245||r==8251||r==8254||r==8308||r==8319||8321<=r&&r<=8324||r==8364||r==8451||r==8453||r==8457||r==8467||r==8470||8481<=r&&r<=8482||r==8486||r==8491||8531<=r&&r<=8532||8539<=r&&r<=8542||8544<=r&&r<=8555||8560<=r&&r<=8569||r==8585||8592<=r&&r<=8601||8632<=r&&r<=8633||r==8658||r==8660||r==8679||r==8704||8706<=r&&r<=8707||8711<=r&&r<=8712||r==8715||r==8719||r==8721||r==8725||r==8730||8733<=r&&r<=8736||r==8739||r==8741||8743<=r&&r<=8748||r==8750||8756<=r&&r<=8759||8764<=r&&r<=8765||r==8776||r==8780||r==8786||8800<=r&&r<=8801||8804<=r&&r<=8807||8810<=r&&r<=8811||8814<=r&&r<=8815||8834<=r&&r<=8835||8838<=r&&r<=8839||r==8853||r==8857||r==8869||r==8895||r==8978||9312<=r&&r<=9449||9451<=r&&r<=9547||9552<=r&&r<=9587||9600<=r&&r<=9615||9618<=r&&r<=9621||9632<=r&&r<=9633||9635<=r&&r<=9641||9650<=r&&r<=9651||9654<=r&&r<=9655||9660<=r&&r<=9661||9664<=r&&r<=9665||9670<=r&&r<=9672||r==9675||9678<=r&&r<=9681||9698<=r&&r<=9701||r==9711||9733<=r&&r<=9734||r==9737||9742<=r&&r<=9743||9748<=r&&r<=9749||r==9756||r==9758||r==9792||r==9794||9824<=r&&r<=9825||9827<=r&&r<=9829||9831<=r&&r<=9834||9836<=r&&r<=9837||r==9839||9886<=r&&r<=9887||9918<=r&&r<=9919||9924<=r&&r<=9933||9935<=r&&r<=9953||r==9955||9960<=r&&r<=9983||r==10045||r==10071||10102<=r&&r<=10111||11093<=r&&r<=11097||12872<=r&&r<=12879||57344<=r&&r<=63743||65024<=r&&r<=65039||r==65533||127232<=r&&r<=127242||127248<=r&&r<=127277||127280<=r&&r<=127337||127344<=r&&r<=127386||917760<=r&&r<=917999||983040<=r&&r<=1048573||1048576<=r&&r<=1114109?`A`:`N`},t.characterLength=function(e){var t=this.eastAsianWidth(e);return t==`F`||t==`W`||t==`A`?2:1};function n(e){return e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}t.length=function(e){for(var t=n(e),r=0,i=0;i<t.length;i++)r+=this.characterLength(t[i]);return r},t.slice=function(e,r,i){textLen=t.length(e),r||=0,i||=1,r<0&&(r=textLen+r),i<0&&(i=textLen+i);for(var a=``,o=0,s=n(e),c=0;c<s.length;c++){var l=s[c],u=t.length(l);if(o>=r-(u==2?1:0))if(o+u<=i)a+=l;else break;o+=u}return a}})(ce);var le=ce.exports;const ue=se(le),de=se(function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g});function x(e,t={}){if(typeof e!=`string`||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=oe(e),e.length===0))return 0;e=e.replace(de(),` `);let n=t.ambiguousIsNarrow?1:2,r=0;for(let t of e){let e=t.codePointAt(0);if(!(e<=31||e>=127&&e<=159||e>=768&&e<=879))switch(ue.eastAsianWidth(t)){case`F`:case`W`:r+=2;break;case`A`:r+=n;break;default:r+=1}}return r}const S=(e=0)=>t=>`\x1B[${t+e}m`,C=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,fe=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,w={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(w.modifier);const pe=Object.keys(w.color),me=Object.keys(w.bgColor);[...pe,...me];function he(){let e=new Map;for(let[t,n]of Object.entries(w)){for(let[t,r]of Object.entries(n))w[t]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[t]=w[t],e.set(r[0],r[1]);Object.defineProperty(w,t,{value:n,enumerable:!1})}return Object.defineProperty(w,`codes`,{value:e,enumerable:!1}),w.color.close=`\x1B[39m`,w.bgColor.close=`\x1B[49m`,w.color.ansi=S(),w.color.ansi256=C(),w.color.ansi16m=fe(),w.bgColor.ansi=S(10),w.bgColor.ansi256=C(10),w.bgColor.ansi16m=fe(10),Object.defineProperties(w,{rgbToAnsi256:{value:(e,t,n)=>e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:e=>{let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>w.rgbToAnsi256(...w.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>w.ansi256ToAnsi(w.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>w.ansi256ToAnsi(w.hexToAnsi256(e)),enumerable:!1}}),w}const ge=he(),T=new Set([`\x1B`,`ย›`]),E=`]8;;`,_e=e=>`${T.values().next().value}[${e}m`,ve=e=>`${T.values().next().value}${E}${e}`,ye=e=>e.split(` `).map(e=>x(e)),D=(e,t,n)=>{let r=[...t],i=!1,a=!1,o=x(oe(e[e.length-1]));for(let[t,s]of r.entries()){let c=x(s);if(o+c<=n?e[e.length-1]+=s:(e.push(s),o=0),T.has(s)&&(i=!0,a=r.slice(t+1).join(``).startsWith(E)),i){a?s===`\x07`&&(i=!1,a=!1):s===`m`&&(i=!1);continue}o+=c,o===n&&t<r.length-1&&(e.push(``),o=0)}!o&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},be=e=>{let t=e.split(` `),n=t.length;for(;n>0&&!(x(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},xe=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=ye(e),s=[``];for(let[r,i]of e.split(` `).entries()){n.trim!==!1&&(s[s.length-1]=s[s.length-1].trimStart());let e=x(s[s.length-1]);if(r!==0&&(e>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),e=0),(e>0||n.trim===!1)&&(s[s.length-1]+=` `,e++)),n.hard&&o[r]>t){let n=t-e,a=1+Math.floor((o[r]-n-1)/t);Math.floor((o[r]-1)/t)<a&&s.push(``),D(s,i,t);continue}if(e+o[r]>t&&e>0&&o[r]>0){if(n.wordWrap===!1&&e<t){D(s,i,t);continue}s.push(``)}if(e+o[r]>t&&n.wordWrap===!1){D(s,i,t);continue}s[s.length-1]+=i}n.trim!==!1&&(s=s.map(e=>be(e)));let c=[...s.join(`
2
+ `)];for(let[e,t]of c.entries()){if(r+=t,T.has(t)){let{groups:t}=RegExp(`(?:\\[(?<code>\\d+)m|\\${E}(?<uri>.*))`).exec(c.slice(e).join(``))||{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)}let n=ge.codes.get(Number(i));c[e+1]===`
3
+ `?(a&&(r+=ve(``)),i&&n&&(r+=_e(n))):t===`
4
+ `&&(i&&n&&(r+=_e(i)),a&&(r+=ve(a)))}return r};function O(e,t,n){return String(e).normalize().replace(/\r\n/g,`
5
+ `).split(`
6
+ `).map(e=>xe(e,t,n)).join(`
7
+ `)}const k={actions:new Set([`up`,`down`,`left`,`right`,`space`,`enter`,`cancel`]),aliases:new Map([[`k`,`up`],[`j`,`down`],[`h`,`left`],[`l`,`right`],[``,`cancel`],[`escape`,`cancel`]])};function Se(e,t){if(typeof e==`string`)return k.aliases.get(e)===t;for(let n of e)if(n!==void 0&&Se(n,t))return!0;return!1}function Ce(e,t){if(e===t)return;let n=e.split(`
8
+ `),r=t.split(`
9
+ `),i=[];for(let e=0;e<Math.max(n.length,r.length);e++)n[e]!==r[e]&&i.push(e);return i}globalThis.process.platform.startsWith(`win`);const A=Symbol(`clack:cancel`);function j(e){return e===A}function M(e,t){let n=e;n.isTTY&&n.setRawMode(t)}var we=Object.defineProperty,Te=(e,t,n)=>t in e?we(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,N=(e,t,n)=>(Te(e,typeof t==`symbol`?t:t+``,n),n),P=class{constructor(e,t=!0){N(this,`input`),N(this,`output`),N(this,`_abortSignal`),N(this,`rl`),N(this,`opts`),N(this,`_render`),N(this,`_track`,!1),N(this,`_prevFrame`,``),N(this,`_subscribers`,new Map),N(this,`_cursor`,0),N(this,`state`,`initial`),N(this,`error`,``),N(this,`value`);let{input:n=a,output:r=o,render:i,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=i.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,t)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=`cancel`,this.close(),e(A);this._abortSignal.addEventListener(`abort`,()=>{this.state=`cancel`,this.close()},{once:!0})}let n=new l;n._write=(e,t,n)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,``),this._cursor=this.rl?.cursor??0,this.emit(`value`,this.value)),n()},this.input.pipe(n),this.rl=c.createInterface({input:this.input,output:n,tabSize:2,prompt:``,escapeCodeTimeout:50,terminal:!0}),c.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on(`keypress`,this.onKeypress),M(this.input,!0),this.output.on(`resize`,this.render),this.render(),this.once(`submit`,()=>{this.output.write(y.cursor.show),this.output.off(`resize`,this.render),M(this.input,!1),e(this.value)}),this.once(`cancel`,()=>{this.output.write(y.cursor.show),this.output.off(`resize`,this.render),M(this.input,!1),e(A)})})}onKeypress(e,t){if(this.state===`error`&&(this.state=`active`),t?.name&&(!this._track&&k.aliases.has(t.name)&&this.emit(`cursor`,k.aliases.get(t.name)),k.actions.has(t.name)&&this.emit(`cursor`,t.name)),e&&(e.toLowerCase()===`y`||e.toLowerCase()===`n`)&&this.emit(`confirm`,e.toLowerCase()===`y`),e===` `&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit(`value`,this.opts.placeholder))),e&&this.emit(`key`,e.toLowerCase()),t?.name===`return`){if(this.opts.validate){let e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=`error`,this.rl?.write(this.value))}this.state!==`error`&&(this.state=`submit`)}Se([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
+ `),M(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let e=O(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
11
+ `).length-1;this.output.write(y.cursor.move(-999,e*-1))}render(){let e=O(this._render(this)??``,process.stdout.columns,{hard:!0});if(e!==this._prevFrame){if(this.state===`initial`)this.output.write(y.cursor.hide);else{let t=Ce(this._prevFrame,e);if(this.restoreCursor(),t&&t?.length===1){let n=t[0];this.output.write(y.cursor.move(0,n)),this.output.write(y.erase.lines(1));let r=e.split(`
12
+ `);this.output.write(r[n]),this._prevFrame=e,this.output.write(y.cursor.move(0,r.length-n-1));return}if(t&&t?.length>1){let n=t[0];this.output.write(y.cursor.move(0,n)),this.output.write(y.erase.down());let r=e.split(`
13
+ `).slice(n);this.output.write(r.join(`
14
+ `)),this._prevFrame=e;return}this.output.write(y.erase.down())}this.output.write(e),this.state===`initial`&&(this.state=`active`),this._prevFrame=e}}},Ee=class extends P{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on(`value`,()=>{this.value=this._value}),this.on(`confirm`,e=>{this.output.write(y.cursor.move(0,-1)),this.value=e,this.state=`submit`,this.close()}),this.on(`cursor`,()=>{this.value=!this.value})}};Object.defineProperty,Object.defineProperty,Object.defineProperty;var De=Object.defineProperty,Oe=(e,t,n)=>t in e?De(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ke=(e,t,n)=>(Oe(e,typeof t==`symbol`?t:t+``,n),n),Ae=class extends P{constructor(e){super(e,!1),ke(this,`options`),ke(this,`cursor`,0),this.options=e.options,this.cursor=this.options.findIndex(({value:t})=>t===e.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on(`cursor`,e=>{switch(e){case`left`:case`up`:this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case`down`:case`right`:this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}};Object.defineProperty;var je=class extends P{get valueWithCursor(){if(this.state===`submit`)return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;let e=this.value.slice(0,this.cursor),[t,...n]=this.value.slice(this.cursor);return`${e}${b.default.inverse(t)}${n.join(``)}`}get cursor(){return this._cursor}constructor(e){super(e),this.on(`finalize`,()=>{this.value||=e.defaultValue})}};function Me(){return i.platform===`win32`?!!i.env.CI||!!i.env.WT_SESSION||!!i.env.TERMINUS_SUBLIME||i.env.ConEmuTask===`{cmd::Cmder}`||i.env.TERM_PROGRAM===`Terminus-Sublime`||i.env.TERM_PROGRAM===`vscode`||i.env.TERM===`xterm-256color`||i.env.TERM===`alacritty`||i.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:i.env.TERM!==`linux`}const Ne=Me(),F=(e,t)=>Ne?e:t,Pe=F(`โ—†`,`*`),Fe=F(`โ– `,`x`),Ie=F(`โ–ฒ`,`x`),I=F(`โ—‡`,`o`),Le=F(`โ”Œ`,`T`),L=F(`โ”‚`,`|`),R=F(`โ””`,`โ€”`),z=F(`โ—`,`>`),B=F(`โ—‹`,` `),V=F(`โ—`,`โ€ข`),H=F(`โ—†`,`*`),U=F(`โ–ฒ`,`!`),W=F(`โ– `,`x`),G=e=>{switch(e){case`initial`:case`active`:return b.default.cyan(Pe);case`cancel`:return b.default.red(Fe);case`error`:return b.default.yellow(Ie);case`submit`:return b.default.green(I)}},Re=e=>{let{cursor:t,options:n,style:r}=e,i=e.maxItems??1/0,a=Math.max(process.stdout.rows-4,0),o=Math.min(a,Math.max(i,5)),s=0;t>=s+o-3?s=Math.max(Math.min(t-o+3,n.length-o),0):t<s+2&&(s=Math.max(t-2,0));let c=o<n.length&&s>0,l=o<n.length&&s+o<n.length;return n.slice(s,s+o).map((e,n,i)=>{let a=n===0&&c,o=n===i.length-1&&l;return a||o?b.default.dim(`...`):r(e,n+s===t)})},ze=e=>new je({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,render(){let t=`${b.default.gray(L)}
15
+ ${G(this.state)} ${e.message}
16
+ `,n=e.placeholder?b.default.inverse(e.placeholder[0])+b.default.dim(e.placeholder.slice(1)):b.default.inverse(b.default.hidden(`_`)),r=this.value?this.valueWithCursor:n;switch(this.state){case`error`:return`${t.trim()}
17
+ ${b.default.yellow(L)} ${r}
18
+ ${b.default.yellow(R)} ${b.default.yellow(this.error)}
19
+ `;case`submit`:return`${t}${b.default.gray(L)} ${b.default.dim(this.value||e.placeholder)}`;case`cancel`:return`${t}${b.default.gray(L)} ${b.default.strikethrough(b.default.dim(this.value??``))}${this.value?.trim()?`
20
+ ${b.default.gray(L)}`:``}`;default:return`${t}${b.default.cyan(L)} ${r}
21
+ ${b.default.cyan(R)}
22
+ `}}}).prompt(),Be=e=>{let t=e.active??`Yes`,n=e.inactive??`No`;return new Ee({active:t,inactive:n,initialValue:e.initialValue??!0,render(){let r=`${b.default.gray(L)}
23
+ ${G(this.state)} ${e.message}
24
+ `,i=this.value?t:n;switch(this.state){case`submit`:return`${r}${b.default.gray(L)} ${b.default.dim(i)}`;case`cancel`:return`${r}${b.default.gray(L)} ${b.default.strikethrough(b.default.dim(i))}
25
+ ${b.default.gray(L)}`;default:return`${r}${b.default.cyan(L)} ${this.value?`${b.default.green(z)} ${t}`:`${b.default.dim(B)} ${b.default.dim(t)}`} ${b.default.dim(`/`)} ${this.value?`${b.default.dim(B)} ${b.default.dim(n)}`:`${b.default.green(z)} ${n}`}
26
+ ${b.default.cyan(R)}
27
+ `}}}).prompt()},Ve=e=>{let t=(e,t)=>{let n=e.label??String(e.value);switch(t){case`selected`:return`${b.default.dim(n)}`;case`active`:return`${b.default.green(z)} ${n} ${e.hint?b.default.dim(`(${e.hint})`):``}`;case`cancelled`:return`${b.default.strikethrough(b.default.dim(n))}`;default:return`${b.default.dim(B)} ${b.default.dim(n)}`}};return new Ae({options:e.options,initialValue:e.initialValue,render(){let n=`${b.default.gray(L)}
28
+ ${G(this.state)} ${e.message}
29
+ `;switch(this.state){case`submit`:return`${n}${b.default.gray(L)} ${t(this.options[this.cursor],`selected`)}`;case`cancel`:return`${n}${b.default.gray(L)} ${t(this.options[this.cursor],`cancelled`)}
30
+ ${b.default.gray(L)}`;default:return`${n}${b.default.cyan(L)} ${Re({cursor:this.cursor,options:this.options,maxItems:e.maxItems,style:(e,n)=>t(e,n?`active`:`inactive`)}).join(`
31
+ ${b.default.cyan(L)} `)}
32
+ ${b.default.cyan(R)}
33
+ `}}}).prompt()},K=(e=``)=>{process.stdout.write(`${b.default.gray(R)} ${b.default.red(e)}
34
+
35
+ `)},He=(e=``)=>{process.stdout.write(`${b.default.gray(Le)} ${e}
36
+ `)},q={message:(e=``,{symbol:t=b.default.gray(L)}={})=>{let n=[`${b.default.gray(L)}`];if(e){let[r,...i]=e.split(`
37
+ `);n.push(`${t} ${r}`,...i.map(e=>`${b.default.gray(L)} ${e}`))}process.stdout.write(`${n.join(`
38
+ `)}
39
+ `)},info:e=>{q.message(e,{symbol:b.default.blue(V)})},success:e=>{q.message(e,{symbol:b.default.green(H)})},step:e=>{q.message(e,{symbol:b.default.green(I)})},warn:e=>{q.message(e,{symbol:b.default.yellow(U)})},warning:e=>{q.warn(e)},error:e=>{q.message(e,{symbol:b.default.red(W)})}},Ue=`${b.default.gray(L)} `,J={message:async(e,{symbol:t=b.default.gray(L)}={})=>{process.stdout.write(`${b.default.gray(L)}
40
+ ${t} `);let n=3;for await(let t of e){t=t.replace(/\n/g,`
41
+ ${Ue}`),t.includes(`
42
+ `)&&(n=3+r(t.slice(t.lastIndexOf(`
43
+ `))).length);let e=r(t).length;n+e<process.stdout.columns?(n+=e,process.stdout.write(t)):(process.stdout.write(`
44
+ ${Ue}${t.trimStart()}`),n=3+r(t.trimStart()).length)}process.stdout.write(`
45
+ `)},info:e=>J.message(e,{symbol:b.default.blue(V)}),success:e=>J.message(e,{symbol:b.default.green(H)}),step:e=>J.message(e,{symbol:b.default.green(I)}),warn:e=>J.message(e,{symbol:b.default.yellow(U)}),warning:e=>J.warn(e),error:e=>J.message(e,{symbol:b.default.red(W)})};function We(e){return/^[a-z0-9._-]+$/.test(e)}async function Ge(e){He(b.default.bgCyan(b.default.black(` create-uniapp `)));let t=await ze({message:`้กน็›ฎๅ็งฐๆ˜ฏไป€ไนˆ๏ผŸ`,initialValue:e||`my-uniapp`,validate:e=>{if(!e||e.trim().length===0)return`้กน็›ฎๅ็งฐไธ่ƒฝไธบ็ฉบ`;if(!We(e))return`้กน็›ฎๅ็งฐๆ ผๅผไธๆญฃ็กฎ๏ผŒๅช่ƒฝๅŒ…ๅซๅฐๅ†™ๅญ—ๆฏใ€ๆ•ฐๅญ—ใ€่ฟžๅญ—็ฌฆๅ’Œไธ‹ๅˆ’็บฟ`}});j(t)&&(K(`ๆ“ไฝœๅทฒๅ–ๆถˆ`),process.exit(0));let n=await Ve({message:`้€‰ๆ‹ฉ้กน็›ฎ่ฏญ่จ€`,options:[{value:`ts`,label:`TypeScript`,hint:`ๆŽจ่`},{value:`js`,label:`JavaScript`}],initialValue:`ts`});j(n)&&(K(`ๆ“ไฝœๅทฒๅ–ๆถˆ`),process.exit(0));let r=await Be({message:`ๆ˜ฏๅฆๅฏ็”จ ESLint๏ผˆๅŒ…ๅซ Vue + TypeScript ่ง„ๅˆ™๏ผ‰๏ผŸ`,initialValue:!0});return j(r)&&(K(`ๆ“ไฝœๅทฒๅ–ๆถˆ`),process.exit(0)),{name:String(t).trim(),language:n,features:{eslint:!!r}}}const Y={info:e=>{q.info(b.default.cyan(e))},success:e=>{q.success(b.default.green(e))},error:e=>{q.error(b.default.red(e))},warning:e=>{q.warn(b.default.yellow(e))},step:e=>{q.step(b.default.blue(e))}};function Ke(){let r=n(import.meta.url),i=e.dirname(r);for(;i!==e.dirname(i);){let n=e.join(i,`templates`);if(t.existsSync(n))return n;i=e.dirname(i)}let a=e.dirname(r);if(a.includes(`dist`)){let n=e.resolve(a,`../..`),r=e.join(n,`templates`);if(t.existsSync(r))return r}let o=r;for(;o!==e.dirname(o);){if(e.basename(o)===`node_modules`){let n=e.join(o,`create-vite-uniapp`),r=e.join(n,`templates`);if(t.existsSync(r))return r;break}o=e.dirname(o)}let s=[`ๆ— ๆณ•ๆ‰พๅˆฐๆจกๆฟ็›ฎๅฝ•ใ€‚`,`ๅฝ“ๅ‰ๆ–‡ไปถไฝ็ฝฎ: ${r}`,`ๅทฒๆœ็ดขๅˆฐ: ${i}`,`่ฏท็กฎไฟ templates ็›ฎๅฝ•ๅญ˜ๅœจไบŽๅŒ…ๆ น็›ฎๅฝ•ใ€‚`].join(`
46
+ `);throw Error(s)}const X=Ke();function Z(n,r){t.existsSync(r)||t.mkdirSync(r,{recursive:!0});let i=t.readdirSync(n,{withFileTypes:!0});for(let a of i){let i=e.join(n,a.name),o=e.join(r,a.name);a.isDirectory()?Z(i,o):t.copyFileSync(i,o)}}function Q(e,t){return{...e,...t,scripts:{...e.scripts||{},...t.scripts||{}},dependencies:{...e.dependencies||{},...t.dependencies||{}},devDependencies:{...e.devDependencies||{},...t.devDependencies||{}}}}function qe(n,r){let i=e.join(X,`features`,`js`,`package.json`);if(!t.existsSync(i)){Y.warning(`ๆœชๆ‰พๅˆฐ JS ่ฟ่กŒๆ—ถๆจกๆฟ๏ผšfeatures/js/package.json๏ผŒๅฐ†่ทณ่ฟ‡่ฟ่กŒๆ—ถไพ่ต–ๅˆๅนถ`);return}let a=e.join(n,`package.json`),o={};if(t.existsSync(a))try{o=JSON.parse(t.readFileSync(a,`utf-8`))}catch{Y.warning(`็›ฎๆ ‡้กน็›ฎ package.json ่งฃๆžๅคฑ่ดฅ๏ผŒๅฐ†ไฝฟ็”จ JS ๆจกๆฟ package.json ไฝœไธบๅŸบ็ก€`)}let s=Q(JSON.parse(t.readFileSync(i,`utf-8`)),o);s.name=r,t.writeFileSync(a,`${JSON.stringify(s,null,2)}\n`,`utf-8`),Y.info(`ๅทฒๅบ”็”จ JS ่ฟ่กŒๆ—ถไพ่ต–ๅˆฐ package.json`)}function Je(n){let r=e.join(X,`features`,`ts`,`package.json`);if(!t.existsSync(r)){Y.warning(`ๆœชๆ‰พๅˆฐ TS ๅทฅๅ…ท้“พๆจกๆฟ๏ผšfeatures/ts/package.json๏ผŒๅฐ†่ทณ่ฟ‡ TS ไพ่ต–ๅˆๅนถ`);return}let i=e.join(n,`package.json`),a={};if(t.existsSync(i))try{a=JSON.parse(t.readFileSync(i,`utf-8`))}catch{Y.warning(`็›ฎๆ ‡้กน็›ฎ package.json ่งฃๆžๅคฑ่ดฅ๏ผŒๅฐ†ไฝฟ็”จ TS ๆจกๆฟ package.json ไฝœไธบๅŸบ็ก€`)}let o=JSON.parse(t.readFileSync(r,`utf-8`)),s=Q(a,o);t.writeFileSync(i,`${JSON.stringify(s,null,2)}\n`,`utf-8`),Y.info(`ๅทฒๅบ”็”จ TS ๅทฅๅ…ท้“พไพ่ต–ๅˆฐ package.json`)}function Ye(n){let r=e.join(X,`features`,`ts`,`tsconfig.json`);if(!t.existsSync(r)){Y.warning(`ๆœชๆ‰พๅˆฐ TS ็‰นๆ€งๆจกๆฟ๏ผšfeatures/ts/tsconfig.json๏ผŒๅฐ†่ทณ่ฟ‡ TS ้…็ฝฎๅคๅˆถ`);return}let i=e.join(n,`tsconfig.json`);t.copyFileSync(r,i),Y.info(`ๅทฒๅบ”็”จ TypeScript ้…็ฝฎ๏ผˆtsconfig.json๏ผ‰`)}function Xe(n,r){let i=n===`ts`?e.join(X,`features`,`ts`,`src`):e.join(X,`features`,`js`,`src`);if(!t.existsSync(i)){Y.warning(`ๆœชๆ‰พๅˆฐ ${n.toUpperCase()} ่ฏญ่จ€ๆจกๆฟ็š„ src ็›ฎๅฝ•๏ผš${i}๏ผŒๅฐ†่ทณ่ฟ‡ src/pages ๅคๅˆถ`);return}Z(i,e.join(r,`src`)),Y.info(`ๅทฒๅบ”็”จ ${n.toUpperCase()} ๆจกๆฟ็š„ src๏ผˆๅŒ…ๆ‹ฌ src/pages๏ผ‰`)}function Ze(e,t,n,r){qe(t,r),Xe(e,t),e===`ts`?(Je(t),Ye(t),n.eslint&&Qe(t)):n.eslint&&Y.warning(`ๅฝ“ๅ‰ JS ๆจกๆฟๆš‚ๆœชๅ†…็ฝฎ ESLint ้ข„่ฎพ๏ผŒๅฏ็จๅŽๆ‰‹ๅŠจๆทปๅŠ  ESLint ้…็ฝฎ`)}function Qe(n){let r=e.join(X,`features`,`eslint`,`base`,`package.json`),i=e.join(X,`features`,`eslint`,`core`,`ts`,`package.json`),a=e.join(X,`features`,`eslint`,`core`,`ts`,`eslint.config.mts`),o=t.existsSync(r),s=t.existsSync(i),c=t.existsSync(a);if(!o&&!s&&!c)return;let l=e.join(n,`package.json`),u={};if(t.existsSync(l))try{u=JSON.parse(t.readFileSync(l,`utf-8`))}catch{Y.warning(`็›ฎๆ ‡้กน็›ฎ package.json ่งฃๆžๅคฑ่ดฅ๏ผŒๅฐ†่ฆ†็›–ไธบ ESLint ๆจกๆฟๆไพ›็š„้…็ฝฎ`)}if(o){let e=JSON.parse(t.readFileSync(r,`utf-8`));u=Q(u,e)}if(s){let e=JSON.parse(t.readFileSync(i,`utf-8`));u=Q(u,e)}if((o||s)&&(t.writeFileSync(l,`${JSON.stringify(u,null,2)}\n`,`utf-8`),Y.info(`ๅทฒๅˆๅนถ ESLint ็›ธๅ…ณไพ่ต–ๅŠ่„šๆœฌๅˆฐ package.json`)),c){let r=e.join(n,`eslint.config.mts`);t.copyFileSync(a,r),Y.info(`ๅทฒๅคๅˆถ ESLint ้…็ฝฎๆ–‡ไปถ eslint.config.mts`)}}async function $e(n,r){let i,a,o={eslint:!0};if(n&&r?.template){i=n;let e=String(r.template).toLowerCase();a=e===`js`||e===`vue3-js`||e===`javascript`?`js`:`ts`,o={eslint:!0}}else{let e=await Ge(n);i=e.name,a=e.language,o=e.features}let s=e.resolve(process.cwd(),i),c=e.resolve(X,`base`);t.existsSync(c)||(Y.error(`ๆœชๆ‰พๅˆฐๅŸบ็ก€ๆจกๆฟ็›ฎๅฝ• "templates/base"`),Y.error(`ๅฝ“ๅ‰ templates ๆ น็›ฎๅฝ•: ${X}`),process.exit(1)),Y.info(`ๆญฃๅœจๅˆ›ๅปบ้กน็›ฎ ${i}...`),Z(c,s),Ze(a,s,o,i);let l=e.join(s,`_gitignore`);t.existsSync(l)&&t.renameSync(l,e.join(s,`.gitignore`)),Y.success(`้กน็›ฎๅˆ›ๅปบๆˆๅŠŸ ๐ŸŽ‰`)}const $=(0,re.default)(process.argv.slice(2),{boolean:[`help`,`overwrite`,`immediate`,`interactive`],alias:{h:`help`,t:`template`,i:`immediate`},string:[`template`]});function et(){console.log(`
47
+ ${b.default.bold(`create-uniapp`)} - ๅฟซ้€Ÿๅˆ›ๅปบ uni-app ้กน็›ฎ
48
+
49
+ ${b.default.bold(`็”จๆณ•:`)}
50
+ npm create vite-uniapp@latest [้กน็›ฎๅ็งฐ] [้€‰้กน]
51
+
52
+ ${b.default.bold(`้€‰้กน:`)}
53
+ -h, --help ๆ˜พ็คบๅธฎๅŠฉไฟกๆฏ
54
+ -t, --template ๆŒ‡ๅฎšๆจกๆฟ (้ป˜่ฎค: vue3-ts)
55
+ --overwrite ๅฆ‚ๆžœ็›ฎๅฝ•ๅทฒๅญ˜ๅœจ๏ผŒ่ฆ†็›–ๅฎƒ
56
+ -i, --immediate ่ทณ่ฟ‡ไพ่ต–ๅฎ‰่ฃ…
57
+ --interactive ๅผบๅˆถไบคไบ’ๅผๆจกๅผ
58
+
59
+ ${b.default.bold(`็คบไพ‹:`)}
60
+ npm create vite-uniapp@latest
61
+ npm create vite-uniapp@latest my-app
62
+ npm create vite-uniapp@latest my-app --template vue3-ts
63
+ npm create vite-uniapp@latest my-app --overwrite
64
+ `)}async function tt(){let n=$._[0]?nt(String($._[0])):void 0,r=$.template,i=$.overwrite,a=$.immediate;if($.help){et();return}if(n){let r=e.resolve(process.cwd(),n);t.existsSync(r)&&(i?(Y.warning(`็›ฎๅฝ• "${n}" ๅทฒๅญ˜ๅœจ๏ผŒๅฐ†่ขซ่ฆ†็›–`),t.rmSync(r,{recursive:!0,force:!0})):(Y.error(`็›ฎๅฝ• "${n}" ๅทฒๅญ˜ๅœจ`),Y.info(`ไฝฟ็”จ --overwrite ้€‰้กนๆฅ่ฆ†็›–็Žฐๆœ‰็›ฎๅฝ•`),process.exit(1)))}try{await $e(n,{template:r}),n&&(Y.step(`ไธ‹ไธ€ๆญฅๆ“ไฝœ:`),console.log(` cd ${n}`),a||console.log(` npm install`),console.log(` npm run dev`))}catch(e){e instanceof Error?Y.error(e.message):Y.error(`ๅˆ›ๅปบ้กน็›ฎๆ—ถๅ‘็”Ÿๆœช็Ÿฅ้”™่ฏฏ`),process.exit(1)}}function nt(e){return e.trim().replace(/\/+$/g,``)}tt().catch(e=>{console.error(e),process.exit(1)});export{};
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+
3
+ import './dist/index.js'
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "create-vite-uniapp",
3
+ "version": "0.0.1",
4
+ "description": "A fast CLI to bootstrap production-ready Uniapp projects.",
5
+ "type": "module",
6
+ "bin": {
7
+ "create-uniapp": "index.js"
8
+ },
9
+ "files": [
10
+ "index.js",
11
+ "templates",
12
+ "dist"
13
+ ],
14
+ "scripts": {
15
+ "dev": "tsdown --watch",
16
+ "build": "tsdown",
17
+ "typecheck": "tsc"
18
+ },
19
+ "engines": {
20
+ "node": ">=18"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/zeMinng/create-vite-uniapp.git"
25
+ },
26
+ "keywords": [
27
+ "create-uniapp",
28
+ "uniapp",
29
+ "vue",
30
+ "vite",
31
+ "cli",
32
+ "scaffold",
33
+ "boilerplate",
34
+ "template"
35
+ ],
36
+ "author": "zeMinng",
37
+ "license": "MIT",
38
+ "devDependencies": {
39
+ "@clack/prompts": "^0.11.0",
40
+ "@types/node": "^25.0.3",
41
+ "@vercel/detect-agent": "^1.0.0",
42
+ "cross-spawn": "^7.0.6",
43
+ "mri": "^1.2.0",
44
+ "picocolors": "^1.1.1",
45
+ "tsdown": "^0.18.4",
46
+ "tsx": "^4.21.0"
47
+ }
48
+ }
@@ -0,0 +1,20 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <script>
6
+ var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
7
+ CSS.supports('top: constant(a)'))
8
+ document.write(
9
+ '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
10
+ (coverSupport ? ', viewport-fit=cover' : '') + '" />')
11
+ </script>
12
+ <title></title>
13
+ <!--preload-links-->
14
+ <!--app-context-->
15
+ </head>
16
+ <body>
17
+ <div id="app"><!--app-html--></div>
18
+ <script type="module" src="/src/main.js"></script>
19
+ </body>
20
+ </html>
@@ -0,0 +1,10 @@
1
+ /// <reference types='@dcloudio/types' />
2
+ import 'vue'
3
+
4
+ declare module '@vue/runtime-core' {
5
+ type Hooks = App.AppInstance & Page.PageInstance;
6
+
7
+ interface ComponentCustomOptions extends Hooks {
8
+
9
+ }
10
+ }
@@ -0,0 +1,13 @@
1
+ <script setup lang="ts">
2
+ import { onLaunch, onShow, onHide } from "@dcloudio/uni-app";
3
+ onLaunch(() => {
4
+ console.log("App Launch");
5
+ });
6
+ onShow(() => {
7
+ console.log("App Show");
8
+ });
9
+ onHide(() => {
10
+ console.log("App Hide");
11
+ });
12
+ </script>
13
+ <style></style>
@@ -0,0 +1,72 @@
1
+ {
2
+ "name" : "",
3
+ "appid" : "",
4
+ "description" : "",
5
+ "versionName" : "1.0.0",
6
+ "versionCode" : "100",
7
+ "transformPx" : false,
8
+ /* 5+App็‰นๆœ‰็›ธๅ…ณ */
9
+ "app-plus" : {
10
+ "usingComponents" : true,
11
+ "nvueStyleCompiler" : "uni-app",
12
+ "compilerVersion" : 3,
13
+ "splashscreen" : {
14
+ "alwaysShowBeforeRender" : true,
15
+ "waiting" : true,
16
+ "autoclose" : true,
17
+ "delay" : 0
18
+ },
19
+ /* ๆจกๅ—้…็ฝฎ */
20
+ "modules" : {},
21
+ /* ๅบ”็”จๅ‘ๅธƒไฟกๆฏ */
22
+ "distribute" : {
23
+ /* androidๆ‰“ๅŒ…้…็ฝฎ */
24
+ "android" : {
25
+ "permissions" : [
26
+ "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
27
+ "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
28
+ "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
29
+ "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
30
+ "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
31
+ "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
32
+ "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
33
+ "<uses-permission android:name=\"android.permission.CAMERA\"/>",
34
+ "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
35
+ "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
36
+ "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
37
+ "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
38
+ "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
39
+ "<uses-feature android:name=\"android.hardware.camera\"/>",
40
+ "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
41
+ ]
42
+ },
43
+ /* iosๆ‰“ๅŒ…้…็ฝฎ */
44
+ "ios" : {},
45
+ /* SDK้…็ฝฎ */
46
+ "sdkConfigs" : {}
47
+ }
48
+ },
49
+ /* ๅฟซๅบ”็”จ็‰นๆœ‰็›ธๅ…ณ */
50
+ "quickapp" : {},
51
+ /* ๅฐ็จ‹ๅบ็‰นๆœ‰็›ธๅ…ณ */
52
+ "mp-weixin" : {
53
+ "appid" : "",
54
+ "setting" : {
55
+ "urlCheck" : false
56
+ },
57
+ "usingComponents" : true
58
+ },
59
+ "mp-alipay" : {
60
+ "usingComponents" : true
61
+ },
62
+ "mp-baidu" : {
63
+ "usingComponents" : true
64
+ },
65
+ "mp-toutiao" : {
66
+ "usingComponents" : true
67
+ },
68
+ "uniStatistics": {
69
+ "enable": false
70
+ },
71
+ "vueVersion" : "3"
72
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "pages": [ //pagesๆ•ฐ็ป„ไธญ็ฌฌไธ€้กน่กจ็คบๅบ”็”จๅฏๅŠจ้กต๏ผŒๅ‚่€ƒ๏ผšhttps://uniapp.dcloud.io/collocation/pages
3
+ {
4
+ "path": "pages/index/index",
5
+ "style": {
6
+ "navigationBarTitleText": "uni-app"
7
+ }
8
+ }
9
+ ],
10
+ "globalStyle": {
11
+ "navigationBarTextStyle": "black",
12
+ "navigationBarTitleText": "uni-app",
13
+ "navigationBarBackgroundColor": "#F8F8F8",
14
+ "backgroundColor": "#F8F8F8"
15
+ }
16
+ }
@@ -0,0 +1,6 @@
1
+ export {}
2
+
3
+ declare module "vue" {
4
+ type Hooks = App.AppInstance & Page.PageInstance;
5
+ interface ComponentCustomOptions extends Hooks {}
6
+ }
@@ -0,0 +1,76 @@
1
+ /**
2
+ * ่ฟ™้‡Œๆ˜ฏuni-appๅ†…็ฝฎ็š„ๅธธ็”จๆ ทๅผๅ˜้‡
3
+ *
4
+ * uni-app ๅฎ˜ๆ–นๆ‰ฉๅฑ•ๆ’ไปถๅŠๆ’ไปถๅธ‚ๅœบ๏ผˆhttps://ext.dcloud.net.cn๏ผ‰ไธŠๅพˆๅคšไธ‰ๆ–นๆ’ไปถๅ‡ไฝฟ็”จไบ†่ฟ™ไบ›ๆ ทๅผๅ˜้‡
5
+ * ๅฆ‚ๆžœไฝ ๆ˜ฏๆ’ไปถๅผ€ๅ‘่€…๏ผŒๅปบ่ฎฎไฝ ไฝฟ็”จscss้ข„ๅค„็†๏ผŒๅนถๅœจๆ’ไปถไปฃ็ ไธญ็›ดๆŽฅไฝฟ็”จ่ฟ™ไบ›ๅ˜้‡๏ผˆๆ— ้œ€ import ่ฟ™ไธชๆ–‡ไปถ๏ผ‰๏ผŒๆ–นไพฟ็”จๆˆท้€š่ฟ‡ๆญ็งฏๆœจ็š„ๆ–นๅผๅผ€ๅ‘ๆ•ดไฝ“้ฃŽๆ ผไธ€่‡ด็š„App
6
+ *
7
+ */
8
+
9
+ /**
10
+ * ๅฆ‚ๆžœไฝ ๆ˜ฏAppๅผ€ๅ‘่€…๏ผˆๆ’ไปถไฝฟ็”จ่€…๏ผ‰๏ผŒไฝ ๅฏไปฅ้€š่ฟ‡ไฟฎๆ”น่ฟ™ไบ›ๅ˜้‡ๆฅๅฎšๅˆถ่‡ชๅทฑ็š„ๆ’ไปถไธป้ข˜๏ผŒๅฎž็Žฐ่‡ชๅฎšไน‰ไธป้ข˜ๅŠŸ่ƒฝ
11
+ *
12
+ * ๅฆ‚ๆžœไฝ ็š„้กน็›ฎๅŒๆ ทไฝฟ็”จไบ†scss้ข„ๅค„็†๏ผŒไฝ ไนŸๅฏไปฅ็›ดๆŽฅๅœจไฝ ็š„ scss ไปฃ็ ไธญไฝฟ็”จๅฆ‚ไธ‹ๅ˜้‡๏ผŒๅŒๆ—ถๆ— ้œ€ import ่ฟ™ไธชๆ–‡ไปถ
13
+ */
14
+
15
+ /* ้ขœ่‰ฒๅ˜้‡ */
16
+
17
+ /* ่กŒไธบ็›ธๅ…ณ้ขœ่‰ฒ */
18
+ $uni-color-primary: #007aff;
19
+ $uni-color-success: #4cd964;
20
+ $uni-color-warning: #f0ad4e;
21
+ $uni-color-error: #dd524d;
22
+
23
+ /* ๆ–‡ๅญ—ๅŸบๆœฌ้ขœ่‰ฒ */
24
+ $uni-text-color: #333; // ๅŸบๆœฌ่‰ฒ
25
+ $uni-text-color-inverse: #fff; // ๅ่‰ฒ
26
+ $uni-text-color-grey: #999; // ่พ…ๅŠฉ็ฐ่‰ฒ๏ผŒๅฆ‚ๅŠ ่ฝฝๆ›ดๅคš็š„ๆ็คบไฟกๆฏ
27
+ $uni-text-color-placeholder: #808080;
28
+ $uni-text-color-disable: #c0c0c0;
29
+
30
+ /* ่ƒŒๆ™ฏ้ขœ่‰ฒ */
31
+ $uni-bg-color: #fff;
32
+ $uni-bg-color-grey: #f8f8f8;
33
+ $uni-bg-color-hover: #f1f1f1; // ็‚นๅ‡ป็Šถๆ€้ขœ่‰ฒ
34
+ $uni-bg-color-mask: rgba(0, 0, 0, 0.4); // ้ฎ็ฝฉ้ขœ่‰ฒ
35
+
36
+ /* ่พนๆก†้ขœ่‰ฒ */
37
+ $uni-border-color: #c8c7cc;
38
+
39
+ /* ๅฐบๅฏธๅ˜้‡ */
40
+
41
+ /* ๆ–‡ๅญ—ๅฐบๅฏธ */
42
+ $uni-font-size-sm: 12px;
43
+ $uni-font-size-base: 14px;
44
+ $uni-font-size-lg: 16;
45
+
46
+ /* ๅ›พ็‰‡ๅฐบๅฏธ */
47
+ $uni-img-size-sm: 20px;
48
+ $uni-img-size-base: 26px;
49
+ $uni-img-size-lg: 40px;
50
+
51
+ /* Border Radius */
52
+ $uni-border-radius-sm: 2px;
53
+ $uni-border-radius-base: 3px;
54
+ $uni-border-radius-lg: 6px;
55
+ $uni-border-radius-circle: 50%;
56
+
57
+ /* ๆฐดๅนณ้—ด่ท */
58
+ $uni-spacing-row-sm: 5px;
59
+ $uni-spacing-row-base: 10px;
60
+ $uni-spacing-row-lg: 15px;
61
+
62
+ /* ๅž‚็›ด้—ด่ท */
63
+ $uni-spacing-col-sm: 4px;
64
+ $uni-spacing-col-base: 8px;
65
+ $uni-spacing-col-lg: 12px;
66
+
67
+ /* ้€ๆ˜Žๅบฆ */
68
+ $uni-opacity-disabled: 0.3; // ็ป„ไปถ็ฆ็”จๆ€็š„้€ๆ˜Žๅบฆ
69
+
70
+ /* ๆ–‡็ซ ๅœบๆ™ฏ็›ธๅ…ณ */
71
+ $uni-color-title: #2c405a; // ๆ–‡็ซ ๆ ‡้ข˜้ขœ่‰ฒ
72
+ $uni-font-size-title: 20px;
73
+ $uni-color-subtitle: #555; // ไบŒ็บงๆ ‡้ข˜้ขœ่‰ฒ
74
+ $uni-font-size-subtitle: 18px;
75
+ $uni-color-paragraph: #3f536e; // ๆ–‡็ซ ๆฎต่ฝ้ขœ่‰ฒ
76
+ $uni-font-size-paragraph: 15px;
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from "vite";
2
+ import uni from "@dcloudio/vite-plugin-uni";
3
+
4
+ // https://vitejs.dev/config/
5
+ export default defineConfig({
6
+ plugins: [uni()],
7
+ });
@@ -0,0 +1,10 @@
1
+ {
2
+ "scripts": {
3
+ "lint": "eslint . --fix --cache"
4
+ },
5
+ "devDependencies": {
6
+ "@eslint/js": "^9.39.2",
7
+ "eslint": "^9.39.2",
8
+ "eslint-plugin-vue": "^10.6.2"
9
+ }
10
+ }
@@ -0,0 +1,49 @@
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import tseslint from 'typescript-eslint'
4
+ import pluginVue from 'eslint-plugin-vue'
5
+ import { defineConfig } from 'eslint/config'
6
+
7
+ export default defineConfig([
8
+ { files: ['**/*.{js,mjs,cjs,ts,mts,cts,vue}'], plugins: { js }, extends: ['js/recommended'], languageOptions: { globals: globals.browser } },
9
+ tseslint.configs.recommended,
10
+ pluginVue.configs['flat/essential'],
11
+ { files: ['**/*.vue'], languageOptions: { parserOptions: { parser: tseslint.parser } } },
12
+ {
13
+ ignores: [
14
+ 'node_modules/**',
15
+ 'dist/**',
16
+ 'build/**',
17
+ ],
18
+ },
19
+ /** ่‡ชๅฎšไน‰่ง„ๅˆ™ */
20
+ {
21
+ files: ['src/**/*.{ts,js,vue}'],
22
+ rules: {
23
+ // ็ฆ็”จไปฃ็ ็ป“ๅฐพๅˆ†ๅท
24
+ 'semi': ['error', 'never'],
25
+ // ไฝฟ็”จๅ•ๅผ•ๅท
26
+ 'quotes': ['error', 'single', {
27
+ 'avoidEscape': true, // ๅ…่ฎธๅœจๅญ—็ฌฆไธฒไธญไฝฟ็”จๅŒๅผ•ๅทๆฅ้ฟๅ…่ฝฌไน‰
28
+ 'allowTemplateLiterals': true // ๅ…่ฎธไฝฟ็”จๆจกๆฟๅญ—็ฌฆไธฒ
29
+ }],
30
+ // ๅ…ณ้—ญๅŽŸ็”Ÿ no-unused-vars
31
+ 'no-unused-vars': 'off',
32
+ // ไฝฟ็”จ TS ็‰ˆ no-unused-vars๏ผŒๅนถๅฟฝ็•ฅ _ ๅ‰็ผ€
33
+ '@typescript-eslint/no-unused-vars': ['warn', {
34
+ args: 'all',
35
+ argsIgnorePattern: '^_',
36
+ vars: 'all',
37
+ varsIgnorePattern: '^_',
38
+ caughtErrors: 'all',
39
+ caughtErrorsIgnorePattern: '^_'
40
+ }],
41
+ // ๆ˜ฏๅฆๅฏไปฅ็ฉบๅ‡ฝๆ•ฐ
42
+ '@typescript-eslint/no-explicit-any': 'warn',
43
+ '@typescript-eslint/no-empty-function': 'warn',
44
+ 'jsx-quotes': ['error', 'prefer-double'],
45
+ // ๆ˜ฏๅฆๅคšๅ•่ฏ็ป„ไปถๅ็งฐ
46
+ 'vue/multi-word-component-names': 'off',
47
+ },
48
+ }
49
+ ])
@@ -0,0 +1,5 @@
1
+ {
2
+ "devDependencies": {
3
+ "typescript-eslint": "^8.51.0"
4
+ }
5
+ }
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "uni-preset-vue",
3
+ "version": "0.0.0",
4
+ "scripts": {
5
+ "dev:custom": "uni -p",
6
+ "dev:h5": "uni",
7
+ "dev:h5:ssr": "uni --ssr",
8
+ "dev:mp-alipay": "uni -p mp-alipay",
9
+ "dev:mp-baidu": "uni -p mp-baidu",
10
+ "dev:mp-jd": "uni -p mp-jd",
11
+ "dev:mp-kuaishou": "uni -p mp-kuaishou",
12
+ "dev:mp-lark": "uni -p mp-lark",
13
+ "dev:mp-qq": "uni -p mp-qq",
14
+ "dev:mp-toutiao": "uni -p mp-toutiao",
15
+ "dev:mp-harmony": "uni -p mp-harmony",
16
+ "dev:mp-weixin": "uni -p mp-weixin",
17
+ "dev:mp-xhs": "uni -p mp-xhs",
18
+ "dev:quickapp-webview": "uni -p quickapp-webview",
19
+ "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
20
+ "dev:quickapp-webview-union": "uni -p quickapp-webview-union",
21
+ "build:custom": "uni build -p",
22
+ "build:h5": "uni build",
23
+ "build:h5:ssr": "uni build --ssr",
24
+ "build:mp-alipay": "uni build -p mp-alipay",
25
+ "build:mp-baidu": "uni build -p mp-baidu",
26
+ "build:mp-jd": "uni build -p mp-jd",
27
+ "build:mp-kuaishou": "uni build -p mp-kuaishou",
28
+ "build:mp-lark": "uni build -p mp-lark",
29
+ "build:mp-qq": "uni build -p mp-qq",
30
+ "build:mp-toutiao": "uni build -p mp-toutiao",
31
+ "build:mp-harmony": "uni build -p mp-harmony",
32
+ "build:mp-weixin": "uni build -p mp-weixin",
33
+ "build:mp-xhs": "uni build -p mp-xhs",
34
+ "build:quickapp-webview": "uni build -p quickapp-webview",
35
+ "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
36
+ "build:quickapp-webview-union": "uni build -p quickapp-webview-union"
37
+ },
38
+ "dependencies": {
39
+ "@dcloudio/uni-app": "3.0.0-4080720251210001",
40
+ "@dcloudio/uni-app-harmony": "3.0.0-4080720251210001",
41
+ "@dcloudio/uni-app-plus": "3.0.0-4080720251210001",
42
+ "@dcloudio/uni-components": "3.0.0-4080720251210001",
43
+ "@dcloudio/uni-h5": "3.0.0-4080720251210001",
44
+ "@dcloudio/uni-mp-alipay": "3.0.0-4080720251210001",
45
+ "@dcloudio/uni-mp-baidu": "3.0.0-4080720251210001",
46
+ "@dcloudio/uni-mp-harmony": "3.0.0-4080720251210001",
47
+ "@dcloudio/uni-mp-jd": "3.0.0-4080720251210001",
48
+ "@dcloudio/uni-mp-kuaishou": "3.0.0-4080720251210001",
49
+ "@dcloudio/uni-mp-lark": "3.0.0-4080720251210001",
50
+ "@dcloudio/uni-mp-qq": "3.0.0-4080720251210001",
51
+ "@dcloudio/uni-mp-toutiao": "3.0.0-4080720251210001",
52
+ "@dcloudio/uni-mp-weixin": "3.0.0-4080720251210001",
53
+ "@dcloudio/uni-mp-xhs": "3.0.0-4080720251210001",
54
+ "@dcloudio/uni-quickapp-webview": "3.0.0-4080720251210001",
55
+ "vue": "^3.4.21",
56
+ "vue-i18n": "^9.1.9"
57
+ },
58
+ "devDependencies": {
59
+ "@dcloudio/types": "^3.4.8",
60
+ "@dcloudio/uni-automator": "3.0.0-4080720251210001",
61
+ "@dcloudio/uni-cli-shared": "3.0.0-4080720251210001",
62
+ "@dcloudio/uni-stacktracey": "3.0.0-4080720251210001",
63
+ "@dcloudio/vite-plugin-uni": "3.0.0-4080720251210001",
64
+ "@vue/runtime-core": "^3.4.21",
65
+ "vite": "5.2.8"
66
+ }
67
+ }
@@ -0,0 +1,48 @@
1
+ <template>
2
+ <view class="content">
3
+ <image class="logo" src="/static/logo.png"></image>
4
+ <view class="text-area">
5
+ <text class="title">{{ title }}</text>
6
+ </view>
7
+ </view>
8
+ </template>
9
+
10
+ <script>
11
+ export default {
12
+ data() {
13
+ return {
14
+ title: 'Hello',
15
+ }
16
+ },
17
+ onLoad() {},
18
+ methods: {},
19
+ }
20
+ </script>
21
+
22
+ <style>
23
+ .content {
24
+ display: flex;
25
+ flex-direction: column;
26
+ align-items: center;
27
+ justify-content: center;
28
+ }
29
+
30
+ .logo {
31
+ height: 200rpx;
32
+ width: 200rpx;
33
+ margin-top: 200rpx;
34
+ margin-left: auto;
35
+ margin-right: auto;
36
+ margin-bottom: 50rpx;
37
+ }
38
+
39
+ .text-area {
40
+ display: flex;
41
+ justify-content: center;
42
+ }
43
+
44
+ .title {
45
+ font-size: 36rpx;
46
+ color: #8f8f94;
47
+ }
48
+ </style>
@@ -0,0 +1,10 @@
1
+ {
2
+ "scripts": {
3
+ "type-check": "vue-tsc --noEmit"
4
+ },
5
+ "devDependencies": {
6
+ "@vue/tsconfig": "^0.1.3",
7
+ "typescript": "^4.9.4",
8
+ "vue-tsc": "^1.0.24"
9
+ }
10
+ }
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <view class="content">
3
+ <image class="logo" src="/static/logo.png" />
4
+ <view class="text-area">
5
+ <text class="title">{{ title }}</text>
6
+ </view>
7
+ </view>
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import { ref } from 'vue'
12
+ const title = ref('Hello')
13
+ </script>
14
+
15
+ <style>
16
+ .content {
17
+ display: flex;
18
+ flex-direction: column;
19
+ align-items: center;
20
+ justify-content: center;
21
+ }
22
+
23
+ .logo {
24
+ height: 200rpx;
25
+ width: 200rpx;
26
+ margin-top: 200rpx;
27
+ margin-left: auto;
28
+ margin-right: auto;
29
+ margin-bottom: 50rpx;
30
+ }
31
+
32
+ .text-area {
33
+ display: flex;
34
+ justify-content: center;
35
+ }
36
+
37
+ .title {
38
+ font-size: 36rpx;
39
+ color: #8f8f94;
40
+ }
41
+ </style>
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "@vue/tsconfig/tsconfig.json",
3
+ "compilerOptions": {
4
+ "sourceMap": true,
5
+ "baseUrl": ".",
6
+ "paths": {
7
+ "@/*": ["./src/*"]
8
+ },
9
+ "lib": ["esnext", "dom"],
10
+ "types": ["@dcloudio/types"]
11
+ },
12
+ "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
13
+ }