create-rubyonly 1.0.3 → 1.0.4
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/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -72,7 +72,7 @@ ${ze}${t.trimStart()}`),n=3+s(t.trimStart()).length)}process.stdout.write(`
|
|
|
72
72
|
npm create rubyonly@latest my-app --template React
|
|
73
73
|
`)}const Z=(0,_.default)(process.argv.slice(2),{boolean:[`help`,`overwrite`],alias:{t:`template`,h:`help`,i:`overwrite`},string:[`template`]}),Q=process.cwd(),$=`my-app`;async function gt(){let e=Z._[0]?J(String(Z._[0])):void 0,t=Z.template,n=Z.overwrite,r=Z.immediate,s=Z.interactive;if(Z.help){ht();return}let c=s??process.stdin.isTTY;console.log(`
|
|
74
74
|
`),console.log(y.default.cyan(`╔════════════════════════════════════════╗`)),console.log(y.default.cyan(`║`)+` `+y.default.bold(y.default.blue(`WELCOME TO RUBYONLY`))+` `+y.default.dim(y.default.white(`v1.0.0`))+` `+y.default.cyan(`║`)),console.log(y.default.cyan(`║`)+` `+y.default.green(`欢迎使用rubyonly cli快速创建前端项目`)+` `+y.default.cyan(`║`)),console.log(y.default.cyan(`╚════════════════════════════════════════╝`)),console.log(`
|
|
75
|
-
`);let l=tt(process.env.npm_config_user_agent),u=l?l.name:`npm`,d=e;if(!d)if(c){let e=await U({message:`请输入您的项目名称:`,defaultValue:$,placeholder:$,validate:e=>e.length===0||J(e).length>0?void 0:`Invalid project name`});if(A(e))return X();d=J(e)}else d=$;if(i.existsSync(d)&&!rt(d)){let e=n?`yes`:void 0;if(!e)if(c){let t=await W({message:(d===`.`?`当前目录`:`目录 "${d}"`)+`已存在且不为空,请选择如何继续:`,options:[{label:`取消操作`,value:`no`},{label:`删除现有文件并继续`,value:`yes`},{label:`忽略文件并继续`,value:`ignore`}]});if(A(t))return X();e=t}else e=`no`;switch(e){case`yes`:it(d);break;case`no`:X();return}}let f=a.basename(a.resolve(d));if(!nt(f))if(c){let e=await U({message:`Please enter the package name:`,defaultValue:Y(f),placeholder:Y(f),validate(e){if(!nt(e))return`Invalid package name !`}});if(A(e))return X();f=e}else f=Y(f);let p=t,m=!1;if(t&&!Be.includes(t)&&(p=void 0,m=!0),!p)if(c){let e=await W({message:m?`"${t}" 不在提供的有效模板中,请选择以下模板: `:`请选择模板类型:`,options:q.map(e=>({label:e.color(e.
|
|
75
|
+
`);let l=tt(process.env.npm_config_user_agent),u=l?l.name:`npm`,d=e;if(!d)if(c){let e=await U({message:`请输入您的项目名称:`,defaultValue:$,placeholder:$,validate:e=>e.length===0||J(e).length>0?void 0:`Invalid project name`});if(A(e))return X();d=J(e)}else d=$;if(i.existsSync(d)&&!rt(d)){let e=n?`yes`:void 0;if(!e)if(c){let t=await W({message:(d===`.`?`当前目录`:`目录 "${d}"`)+`已存在且不为空,请选择如何继续:`,options:[{label:`取消操作`,value:`no`},{label:`删除现有文件并继续`,value:`yes`},{label:`忽略文件并继续`,value:`ignore`}]});if(A(t))return X();e=t}else e=`no`;switch(e){case`yes`:it(d);break;case`no`:X();return}}let f=a.basename(a.resolve(d));if(!nt(f))if(c){let e=await U({message:`Please enter the package name:`,defaultValue:Y(f),placeholder:Y(f),validate(e){if(!nt(e))return`Invalid package name !`}});if(A(e))return X();f=e}else f=Y(f);let p=t,m=!1;if(t&&!Be.includes(t)&&(p=void 0,m=!0),!p)if(c){let e=await W({message:m?`"${t}" 不在提供的有效模板中,请选择以下模板: `:`请选择模板类型:`,options:q.map(e=>({label:e.color(e.name),value:e.name,hint:e.desc}))});if(A(e))return X();p=e}else p=q[0].name;let h=q.find(e=>e.name===p);if(!h)throw Error(`Template "${p}" not found`);let g=`local`;if(c){let e=await W({message:`请选择模板创建方式:`,options:[{label:y.default.cyan(`📦 本地模板 推荐使用`),value:`local`,hint:`本地拉取NPM包内置模板`},{label:y.default.green(`🌐 远程拉取 暂时不可用`),value:`remote`,hint:`远程拉取GitHub最新版本 请勿选择 暂时不可用`}]});if(A(e))return X();g=e}let _=a.join(Q,d);if(i.mkdirSync(_,{recursive:!0}),G.step(` ✨ 请稍等 ${_} 正在创建中 🚀 `),g===`remote`)try{await mt(h.dir,_,f)}catch(e){G.error(`创建项目失败: ${e instanceof Error?e.message:String(e)}`),process.exit(1)}else ct(_,a.resolve(o(import.meta.url),`../..`,`templates`,h.dir),f);let v=r;if(v===void 0)if(c){let e=await Ie({message:`Install with ${u} and start now?`});if(A(e))return X();v=e}else v=!1;if(v)ft(_,u),pt(_,u);else{let e=`✅Done. Now run:
|
|
76
76
|
`,t=a.relative(Q,_);console.log(`
|
|
77
77
|
`),console.log(y.default.green(`┌──────────────────────────────────────────────┐`)),console.log(y.default.green(`│`)+` `+y.default.bold(y.default.green(`🎉 🎉 🎉 project created successfully! `))+y.default.yellow(``)+` `+y.default.green(`│`)),console.log(y.default.green(`└──────────────────────────────────────────────┘`)),console.log(`
|
|
78
78
|
`),_!==Q&&(e+=`\n cd ${t.includes(` `)?`"${t}"`:t}`),e+=`\n ${ut(u).join(` `)}`,e+=`\n ${lt(u,`dev`).join(` `)}`,Re(e)}}gt().catch(e=>{G.error(e instanceof Error?e.message:String(e)),process.exit(1)});export{};
|