@66rpg/cgmaker-create 0.1.18 → 0.1.19

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.
Files changed (2) hide show
  1. package/dist/index.js +12 -12
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import d from"node:fs";import p from"node:path";import oe from"node:readline";import{fileURLToPath as ce}from"node:url";import{spawnSync as ae}from"node:child_process";import{spawnSync as Y}from"node:child_process";var M={_comment:"cgmaker-create \u7528\u6237\u53EF\u89C1\u6587\u6848\u3002\u5360\u4F4D\u7B26 {name}\u3002",help:{body:{code:"",text:`cgmaker-create \u2014 \u4ECE\u6258\u7BA1\u6A21\u677F\u521B\u5EFA\u5E26\u5B8C\u6574\u6E90\u7801\u7684\u6E38\u620F\u5DE5\u7A0B
1
+ import p from"node:fs";import d from"node:path";import de from"node:readline";import{fileURLToPath as pe}from"node:url";import{spawnSync as ue}from"node:child_process";import{spawnSync as z}from"node:child_process";var O={_comment:"cgmaker-create \u7528\u6237\u53EF\u89C1\u6587\u6848\u3002\u5360\u4F4D\u7B26 {name}\u3002",help:{body:{code:"",text:`cgmaker-create \u2014 \u4ECE\u6258\u7BA1\u6A21\u677F\u521B\u5EFA\u5E26\u5B8C\u6574\u6E90\u7801\u7684\u6E38\u620F\u5DE5\u7A0B
2
2
 
3
3
  \u7528\u6CD5:
4
4
  npx @66rpg/cgmaker-create@latest <template_id> [\u76EE\u5F55] [data_id]
@@ -12,16 +12,16 @@ data_id \u4E3A\u8BE5\u6A21\u677F\u4E0B\u7684\u8D44\u6E90\u5305 id\uFF1BTTY \u4E0
12
12
  \u672A\u6307\u5B9A skill \u65F6\uFF1A\u4EA4\u4E92\u7EC8\u7AEF\u4F1A\u8BE2\u95EE\u6247\u51FA\u5230\u54EA\u4E2A Agent\uFF08\u56DE\u8F66\u65E0\u6548\uFF0C\u8DF3\u8FC7\u987B\u8F93\u5165 s\uFF1B\u4E4B\u540E\u53EF\u5728\u5DE5\u7A0B\u76EE\u5F55\u6267\u884C cgmaker skill\uFF09\uFF1B\u811A\u672C\u73AF\u5883\u9ED8\u8BA4\u4E0D\u6247\u51FA\u3002Agent \u8BF7\u52A0 --agent --json\uFF1A\u7F3A\u53C2/\u65B0\u7248\u672C\u4F1A\u505C\u4E0B\u8BA9\u5BF9\u8BDD\u8BE2\u95EE\u7528\u6237\u3002
13
13
  --skill-platform \u53EA\u6247\u51FA\u5230\u8BE5\u5E73\u53F0\uFF08\u5982 cursor\uFF09\uFF1B--skill-all \u6247\u51FA\u5230\u5168\u90E8\u5E73\u53F0\u3002\u5DF2\u6709\u5DE5\u7A0B\u8865\u6247\u7528 npx cgmaker skill --platform cursor \u6216 --all\u3002
14
14
  \u6682\u65E0\u4E91\u7AEF\u6A21\u677F\u79CD\u5B50\u65F6\uFF0C\u7528 --from-dir\u3002\u53D1\u73B0\u65B0\u7248\uFF1ATTY \u4F1A\u95EE\u662F\u5426\u66F4\u65B0\uFF1BAgent \u9000\u51FA\u7801 10\uFF0C\u540C\u610F\u540E --apply-update\uFF0C\u62D2\u7EDD --skip-update\u3002
15
- `,comment:"\u6574\u6BB5 --help"}},err:{from_dir_need_path:{code:"",text:"--from-dir \u9700\u8981\u6A21\u677F\u76EE\u5F55\u8DEF\u5F84",comment:"\u53C2\u6570\u9519\u8BEF"},data_id_need:{code:"",text:"--data-id \u9700\u8981\u8D44\u6E90\u5305 id",comment:"\u53C2\u6570\u9519\u8BEF"},skill_platform_need:{code:"",text:"--skill-platform \u9700\u8981\u5E73\u53F0\u540D\uFF08\u5982 cursor\uFF09",comment:"\u53C2\u6570\u9519\u8BEF"},skill_conflict:{code:"",text:"--skill-platform \u4E0E --skill-all \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528",comment:"\u53C2\u6570\u9519\u8BEF"},cleared:{code:"",text:"\u5DF2\u6E05\u7A7A {dir}",comment:"\u5931\u8D25\u56DE\u6EDA"},clear_failed:{code:"",text:"\u65E0\u6CD5\u6E05\u7A7A {dir}: {e}",comment:"\u5931\u8D25\u56DE\u6EDA"},owner_slug:{code:"",text:"\u4E0D\u8981\u7528 owner/slug\u3002\u8BF7\u4F7F\u7528\u5E73\u53F0 template_id\uFF08\u5B57\u6BCD\u6570\u5B57\uFF09\uFF0C\u4F8B\u5982 k8n2x4m7q1w5",comment:"\u53C2\u6570\u9519\u8BEF"},data_id_from_dir:{code:"",text:"--data-id \u4E0D\u80FD\u4E0E --from-dir \u540C\u65F6\u4F7F\u7528",comment:"\u53C2\u6570\u9519\u8BEF"},invalid_data_id:{code:"",text:"\u65E0\u6548\u7684 data_id: {id}",comment:"\u53C2\u6570\u9519\u8BEF"},from_dir_not_template:{code:"",text:"--from-dir \u4E0D\u662F\u6A21\u677F\u76EE\u5F55: {dir}",comment:"\u53C2\u6570\u9519\u8BEF"},need_dest_no_tty:{code:"",text:"\u65E0 TTY \u65F6\u5FC5\u987B\u6307\u5B9A\u5DE5\u7A0B\u76EE\u5F55\u3002",comment:"\u53C2\u6570\u9519\u8BEF"},dest_exists:{code:"",text:"\u76EE\u5F55\u5DF2\u5B58\u5728\u4E14\u975E\u7A7A\uFF0C\u4E0D\u53EF\u521B\u5EFA: {dir}",comment:"\u53C2\u6570\u9519\u8BEF"},npm_install:{code:"",text:"npm install \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},bin_missing:{code:"",text:"\u627E\u4E0D\u5230 {js}",comment:"\u843D\u5730\u5931\u8D25"},run_js:{code:"",text:"\u65E0\u6CD5\u8FD0\u884C {js}: {e}",comment:"\u843D\u5730\u5931\u8D25"},init_failed:{code:"",text:"cgmaker init \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},npm_install_again:{code:"",text:"init \u540E npm install \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},run_npm:{code:"",text:"\u65E0\u6CD5\u8FD0\u884C {cmd}: {e}",comment:"npm \u542F\u52A8\u5931\u8D25"},need_input:{code:"11",text:"\u7F3A\u5C11\u9700\u8981\u5411\u7528\u6237\u786E\u8BA4\u7684\u53C2\u6570\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u540E\uFF0C\u628A\u7B54\u6848\u53D8\u6210\u547D\u4EE4\u884C\u65D7\u6807\u518D\u91CD\u8DD1\u3002",comment:"Agent \u9000\u51FA\u7801 11"},update_available:{code:"10",text:"\u68C0\u6D4B\u5230 cgmaker \u65B0\u7248\u672C\uFF0C\u63A8\u8350\u66F4\u65B0\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u662F\u5426\u73B0\u5728\u66F4\u65B0\u3002",comment:"Agent \u9000\u51FA\u7801 10"},update_use_latest:{code:"",text:"\u5F53\u524D\u76EE\u5F55\u6CA1\u6709 package.json\uFF0C\u65E0\u6CD5\u5199\u5165\u5DE5\u7A0B\u4F9D\u8D56\u3002\u8BF7\u6539\u7528 npx @66rpg/cgmaker-create@latest \u518D\u6267\u884C\u3002",comment:"create --apply-update \u65E0\u5DE5\u7A0B"},update_failed:{code:"",text:"\u66F4\u65B0\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\uFF0C\u7EE7\u7EED\u6267\u884C\u539F\u547D\u4EE4\u3002",comment:"npm install \u5931\u8D25"}},prompt:{dest_dir:{code:"",text:"\u5DE5\u7A0B\u76EE\u5F55",comment:"\u8BE2\u95EE\u843D\u5730\u76EE\u5F55"},skill:{code:"",text:"\u628A\u5E73\u53F0 skill \u6247\u51FA\u5230\u54EA\u4E2A Agent\uFF1F\uFF08\u63A8\u8350 cursor\uFF09",comment:"Agent / TTY \u9009\u5E73\u53F0"},ask:{code:"",text:"{question} ({fallback}): ",comment:"readline \u63D0\u95EE\u683C\u5F0F"},update_ask:{code:"",text:"\u68C0\u6D4B\u5230\u65B0\u7248\u672C\uFF0C\u63A8\u8350\u66F4\u65B0\uFF0C\u662F\u5426\u73B0\u5728\u66F4\u65B0\uFF1F\uFF08\u56DE\u8F66=\u662F\uFF0Cn=\u5426\uFF09",comment:"TTY \u66F4\u65B0\u786E\u8BA4"}},ok:{written:{code:"",text:"\u5DF2\u5199\u5165\u5DE5\u7A0B {dir}",comment:"\u843D\u5730\u6210\u529F"},installed:{code:"",text:"\u5DF2\u5B89\u88C5 @66rpg/cgmaker \u5E76\u6267\u884C cgmaker init\u3002",comment:"\u843D\u5730\u6210\u529F"},local_origin:{code:"",text:"\u672C\u5730 --from-dir \u7684 origin.template_id \u4E3A local\uFF0C\u4E0D\u80FD\u76F4\u63A5 publish-template \u5230\u5E73\u53F0\u3002",comment:"\u672C\u5730\u6A21\u677F\u63D0\u9192"},next:{code:"",text:"\u63A5\u7740: cd \u8BE5\u76EE\u5F55 && npm run dev",comment:"\u843D\u5730\u6210\u529F\u4E0B\u4E00\u6B65"},update_installing:{code:"",text:"\u6B63\u5728\u628A cgmaker \u76F8\u5173\u5305\u66F4\u65B0\u5230\u6700\u65B0\u2026",comment:"npm install \u524D"},update_done:{code:"",text:"\u5DF2\u66F4\u65B0\u3002\u5F53\u524D\u8FDB\u7A0B\u4ECD\u662F\u65E7\u4EE3\u7801\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C\u521A\u624D\u7684\u547D\u4EE4\u3002",comment:"\u66F4\u65B0\u6210\u529F\u540E\u9000\u51FA"}}};function W(){let e={...M};return delete e._comment,e}var L=W();function o(e,t,r){let n=L[e]?.[t];if(!n?.text)throw new Error(`missing create message ${e}.${t}`);let s=n.text;if(r)for(let[i,u]of Object.entries(r))s=s.split(`{${i}}`).join(String(u));return s}function G(){return process.platform==="win32"?"npm.cmd":"npm"}function v(e,t={}){let r=process.platform==="win32",n=Y(G(),e,{windowsHide:r,...t,shell:r});if(n.error)throw new Error(o("err","run_npm",{cmd:G(),e:n.error.message}));return n}import S from"node:fs";import q from"node:os";import y from"node:path";import H from"node:readline";import{fileURLToPath as V}from"node:url";var U=["@66rpg/cgmaker","@66rpg/cgmaker-create","@66rpg/cgmaker-win32-x64"],z=1440*60*1e3;function Z(e,t){let r=e.split(".").map(i=>Number.parseInt(i,10)||0),n=t.split(".").map(i=>Number.parseInt(i,10)||0),s=Math.max(r.length,n.length);for(let i=0;i<s;i++){let u=r[i]??0,_=n[i]??0;if(u>_)return!0;if(u<_)return!1}return!1}function C(e=q.homedir()){return y.join(e,".cgmaker","update-check.json")}function Q(e=C()){try{let t=JSON.parse(S.readFileSync(e,"utf8"));return!t||typeof t.checkedAt!="number"||typeof t.latest!="object"?null:t}catch{return null}}function b(e,t=C()){S.mkdirSync(y.dirname(t),{recursive:!0}),S.writeFileSync(t,`${JSON.stringify(e,null,2)}
16
- `)}function X(){return y.resolve(y.dirname(V(import.meta.url)),"..")}function ee(e,t=process.cwd()){if(e==="@66rpg/cgmaker-create")try{let r=JSON.parse(S.readFileSync(y.join(X(),"package.json"),"utf8"));if(r.version)return r.version}catch{}try{return JSON.parse(S.readFileSync(y.join(t,"node_modules",e,"package.json"),"utf8")).version||null}catch{return null}}function O(e,t=process.cwd(),r={}){let n=[];for(let s of U){let i=e[s];if(!i||r[s]===i)continue;let u=ee(s,t);u&&Z(i,u)&&n.push({name:s,current:u,latest:i})}return n}function te(e=process.cwd()){let t={};for(let r of U)try{let n=v(["view",r,"version"],{cwd:e,encoding:"utf8",timeout:2e3}),s=(n.stdout??"").toString().trim().split(`
17
- `)[0]?.trim();n.status===0&&s&&(t[r]=s)}catch{}return t}function ne(){return process.env.CI==="true"||process.env.CGMAKER_NO_INTERACTIVE==="1"||process.env.CGMAKER_SKIP_UPDATE==="1"}function re(){return process.platform==="win32"?["@66rpg/cgmaker-win32-x64"]:[]}function se(e){process.stdout.write(`${JSON.stringify({success:!1,code:10,command:"update-available",message:o("err","update_available"),data:{packages:e,apply:"npx @66rpg/cgmaker-create@latest --apply-update",skip:"npx @66rpg/cgmaker-create@latest --skip-update <\u539F\u547D\u4EE4\u4E0E\u53C2\u6570>"}},null,2)}
18
- `)}function ie(e,t){let r=H.createInterface({input:process.stdin,output:process.stdout});return new Promise(n=>{r.question(`${e} [${t}]: `,s=>{r.close(),n(s.trim()||t)})})}async function K(e){if(ne())return"continue";let t=e.cwd??process.cwd(),r=e.now??Date.now(),n=e.ppid??process.ppid,s=e.cacheFile??C(),i=Q(s)??{checkedAt:0,latest:{}};if(r-i.checkedAt>=z){let l={};try{l=e.fetch?e.fetch():te(t)}catch{l={}}i={...i,checkedAt:r,latest:{...i.latest,...l}},b(i,s)}if(e.apply)return $(i.latest,t);if(e.skip){let l={...i.declined};for(let f of O(i.latest,t))l[f.name]=f.latest;return b({...i,declined:l,promptedPpid:n},s),"continue"}let u=O(i.latest,t,i.declined??{});if(u.length===0)return"continue";if(e.agent)return se(u),"agent-block";if(!e.tty||i.promptedPpid===n)return"continue";let _=u.map(l=>`${l.name} ${l.current} \u2192 ${l.latest}`).join(`
19
- `),h=await ie(`${o("prompt","update_ask")}
20
- ${_}`,"Y");if(b({...i,promptedPpid:n},s),/^(n|no|否)$/i.test(h)){let l={...i.declined};for(let f of u)l[f.name]=f.latest;return b({...i,declined:l,promptedPpid:n},s),"continue"}return $(i.latest,t)}function $(e,t){let r=y.join(t,"package.json");if(!S.existsSync(r))return console.error(o("err","update_use_latest")),"updated-exit";let n=[];for(let s of["@66rpg/cgmaker","@66rpg/cgmaker-create",...re()]){let i=e[s];n.push(i?`${s}@${i}`:`${s}@latest`)}console.error(o("ok","update_installing"));try{if(v(["install","-D",...n],{cwd:t,stdio:"inherit"}).status!==0)return console.error(o("err","update_failed")),"continue"}catch{return console.error(o("err","update_failed")),"continue"}return console.error(o("ok","update_done")),"updated-exit"}function R(){return o("help","body")}function le(){return p.resolve(p.dirname(ce(import.meta.url)),"..")}function D(e=process.cwd()){let t=e;for(;;){let r=p.join(t,"templates"),n=p.join(t,"package.json");if(d.existsSync(r)&&d.existsSync(n))try{if(JSON.parse(d.readFileSync(n,"utf8")).workspaces?.some(u=>u.includes("templates")))return t}catch{}let s=p.dirname(t);if(s===t)return null;t=s}}function pe(){return JSON.parse(d.readFileSync(p.join(le(),"package.json"),"utf8"))}function J(){let e=D();if(e){let t=p.join(e,"packages/cgmaker");if(d.existsSync(t))return`file:${t.replace(/\\/g,"/")}`}return`^${pe().version}`}function F(e){let t=e.split("@")[0]??e;return((t.includes("/")?t.split("/").pop():t)||"game").replace(/^tmpl_/,"tmpl-")}function de(e){return/^[a-zA-Z0-9]+$/.test(e)}function ue(e){let t=e.filter(g=>g!=="--"),r,n,s,i=!1,u=!1,_=!1,h=!1,l=!1,f=[];for(let g=0;g<t.length;g++){let c=t[g];if(c==="--from-dir"){let a=t[++g];if(!a||a.startsWith("-"))throw new Error(o("err","from_dir_need_path"));r=a;continue}if(c.startsWith("--from-dir=")){if(r=c.slice(11),!r)throw new Error(o("err","from_dir_need_path"));continue}if(c==="--data-id"||c==="--data-ver-id"){let a=t[++g];if(!a||a.startsWith("-"))throw new Error(o("err","data_id_need"));n=a;continue}if(c.startsWith("--data-id=")){if(n=c.slice(10),!n)throw new Error(o("err","data_id_need"));continue}if(c.startsWith("--data-ver-id=")){if(n=c.slice(14),!n)throw new Error(o("err","data_id_need"));continue}if(c==="--skill-all"){i=!0;continue}if(c==="--skill-skip"||c==="--skip-skill"){u=!0;continue}if(c==="--agent"){_=!0;continue}if(c==="--apply-update"){h=!0;continue}if(c==="--skip-update"){l=!0;continue}if(c!=="--json"){if(c==="--skill-platform"){let a=t[++g];if(!a||a.startsWith("-"))throw new Error(o("err","skill_platform_need"));s=a;continue}if(c.startsWith("--skill-platform=")){if(s=c.slice(17),!s)throw new Error(o("err","skill_platform_need"));continue}f.push(c)}}if(i&&s)throw new Error(o("err","skill_conflict"));if(u&&(i||s))throw new Error(o("err","skill_conflict"));return{rest:f,fromDir:r,dataId:n,skillPlatform:s,skillAll:i,skillSkip:u,agent:_,applyUpdate:h,skipUpdateFlag:l}}function me(e,t){process.stdout.write(`${JSON.stringify({success:!1,code:11,command:"need-input",message:e,data:{questions:t}},null,2)}
21
- `)}function fe(e){return process.env.CI==="true"||process.env.CGMAKER_NO_INTERACTIVE==="1"?!1:e||process.env.CGMAKER_AGENT==="1"}function N(e,t){try{if(!d.existsSync(e))return;if(!t)d.rmSync(e,{recursive:!0,force:!0});else for(let r of d.readdirSync(e))d.rmSync(p.join(e,r),{recursive:!0,force:!0});console.error(o("err","cleared",{dir:e}))}catch(r){console.error(o("err","clear_failed",{dir:e,e:r instanceof Error?r.message:String(r)}))}}function ge(e,t){let r=oe.createInterface({input:process.stdin,output:process.stdout});return new Promise(n=>{r.question(o("prompt","ask",{question:e,fallback:t}),s=>{r.close(),n(s.trim()||t)})})}function T(){return!!(process.stdin.isTTY&&process.stdout.isTTY)}function _e(e,t){d.mkdirSync(e,{recursive:!0});let r={name:t,private:!0,type:"module",engines:{node:">=20"},devDependencies:{"@66rpg/cgmaker":J()}};d.writeFileSync(p.join(e,"package.json"),`${JSON.stringify(r,null,2)}
22
- `),d.writeFileSync(p.join(e,".gitignore"),`node_modules/
15
+ `,comment:"\u6574\u6BB5 --help"}},err:{from_dir_need_path:{code:"",text:"--from-dir \u9700\u8981\u6A21\u677F\u76EE\u5F55\u8DEF\u5F84",comment:"\u53C2\u6570\u9519\u8BEF"},data_id_need:{code:"",text:"--data-id \u9700\u8981\u8D44\u6E90\u5305 id",comment:"\u53C2\u6570\u9519\u8BEF"},skill_platform_need:{code:"",text:"--skill-platform \u9700\u8981\u5E73\u53F0\u540D\uFF08\u5982 cursor\uFF09",comment:"\u53C2\u6570\u9519\u8BEF"},skill_conflict:{code:"",text:"--skill-platform \u4E0E --skill-all \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528",comment:"\u53C2\u6570\u9519\u8BEF"},cleared:{code:"",text:"\u5DF2\u6E05\u7A7A {dir}",comment:"\u5931\u8D25\u56DE\u6EDA"},clear_failed:{code:"",text:"\u65E0\u6CD5\u6E05\u7A7A {dir}\uFF1A{e}",comment:"\u5931\u8D25\u56DE\u6EDA\uFF1B{e} \u4E3A\u4E2D\u6587\u539F\u56E0\uFF0C\u4E0D\u8981\u586B\u7CFB\u7EDF Error.message"},sys_denied:{code:"",text:"\u6CA1\u6709\u6743\u9650\uFF0C\u6216\u6587\u4EF6\u88AB\u5360\u7528",comment:"EPERM / EACCES\uFF0C\u4E0D\u6253\u5370\u7CFB\u7EDF\u8DEF\u5F84"},sys_missing:{code:"",text:"\u8DEF\u5F84\u4E0D\u5B58\u5728",comment:"ENOENT"},sys_busy:{code:"",text:"\u76EE\u5F55\u975E\u7A7A\u6216\u6587\u4EF6\u6B63\u5728\u4F7F\u7528",comment:"EBUSY / ENOTEMPTY"},sys_type:{code:"",text:"\u8DEF\u5F84\u7C7B\u578B\u4E0D\u6B63\u786E",comment:"ENOTDIR / EISDIR"},sys_invalid:{code:"",text:"\u8DEF\u5F84\u65E0\u6548",comment:"EINVAL"},sys_too_many:{code:"",text:"\u6253\u5F00\u7684\u6587\u4EF6\u8FC7\u591A",comment:"EMFILE / ENFILE"},sys_unknown:{code:"",text:"\u7CFB\u7EDF\u62D2\u7EDD\u4E86\u8FD9\u6B21\u64CD\u4F5C",comment:"\u5176\u5B83\u7CFB\u7EDF\u9519\u8BEF\uFF0C\u4E0D\u6253\u5370 Error.message \u4EE5\u514D\u4E71\u7801"},owner_slug:{code:"",text:"\u4E0D\u8981\u7528 owner/slug\u3002\u8BF7\u4F7F\u7528\u5E73\u53F0 template_id\uFF08\u5B57\u6BCD\u6570\u5B57\uFF09\uFF0C\u4F8B\u5982 k8n2x4m7q1w5",comment:"\u53C2\u6570\u9519\u8BEF"},data_id_from_dir:{code:"",text:"--data-id \u4E0D\u80FD\u4E0E --from-dir \u540C\u65F6\u4F7F\u7528",comment:"\u53C2\u6570\u9519\u8BEF"},invalid_data_id:{code:"",text:"\u65E0\u6548\u7684 data_id: {id}",comment:"\u53C2\u6570\u9519\u8BEF"},from_dir_not_template:{code:"",text:"--from-dir \u4E0D\u662F\u6A21\u677F\u76EE\u5F55: {dir}",comment:"\u53C2\u6570\u9519\u8BEF"},need_dest_no_tty:{code:"",text:"\u65E0 TTY \u65F6\u5FC5\u987B\u6307\u5B9A\u5DE5\u7A0B\u76EE\u5F55\u3002",comment:"\u53C2\u6570\u9519\u8BEF"},dest_exists:{code:"",text:"\u76EE\u5F55\u5DF2\u5B58\u5728\u4E14\u975E\u7A7A\uFF0C\u4E0D\u53EF\u521B\u5EFA: {dir}",comment:"\u53C2\u6570\u9519\u8BEF"},npm_install:{code:"",text:"npm install \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},bin_missing:{code:"",text:"\u627E\u4E0D\u5230 {js}",comment:"\u843D\u5730\u5931\u8D25"},run_js:{code:"",text:"\u65E0\u6CD5\u8FD0\u884C {js}: {e}",comment:"\u843D\u5730\u5931\u8D25"},init_failed:{code:"",text:"cgmaker init \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},npm_install_again:{code:"",text:"init \u540E npm install \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},run_npm:{code:"",text:"\u65E0\u6CD5\u8FD0\u884C {cmd}: {e}",comment:"npm \u542F\u52A8\u5931\u8D25"},need_input:{code:"11",text:"\u7F3A\u5C11\u9700\u8981\u5411\u7528\u6237\u786E\u8BA4\u7684\u53C2\u6570\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u540E\uFF0C\u628A\u7B54\u6848\u53D8\u6210\u547D\u4EE4\u884C\u65D7\u6807\u518D\u91CD\u8DD1\u3002",comment:"Agent \u9000\u51FA\u7801 11"},update_available:{code:"10",text:"\u68C0\u6D4B\u5230 cgmaker \u65B0\u7248\u672C\uFF0C\u63A8\u8350\u66F4\u65B0\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u662F\u5426\u73B0\u5728\u66F4\u65B0\u3002",comment:"Agent \u9000\u51FA\u7801 10"},update_use_latest:{code:"",text:"\u5F53\u524D\u76EE\u5F55\u6CA1\u6709 package.json\uFF0C\u65E0\u6CD5\u5199\u5165\u5DE5\u7A0B\u4F9D\u8D56\u3002\u8BF7\u6539\u7528 npx @66rpg/cgmaker-create@latest \u518D\u6267\u884C\u3002",comment:"create --apply-update \u65E0\u5DE5\u7A0B"},update_failed:{code:"",text:"\u66F4\u65B0\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\uFF0C\u7EE7\u7EED\u6267\u884C\u539F\u547D\u4EE4\u3002",comment:"npm install \u5931\u8D25"}},prompt:{dest_dir:{code:"",text:"\u5DE5\u7A0B\u76EE\u5F55",comment:"\u8BE2\u95EE\u843D\u5730\u76EE\u5F55"},skill:{code:"",text:"\u628A\u5E73\u53F0 skill \u6247\u51FA\u5230\u54EA\u4E2A Agent\uFF1F\uFF08\u63A8\u8350 cursor\uFF09",comment:"Agent / TTY \u9009\u5E73\u53F0"},ask:{code:"",text:"{question} ({fallback}): ",comment:"readline \u63D0\u95EE\u683C\u5F0F"},update_ask:{code:"",text:"\u68C0\u6D4B\u5230\u65B0\u7248\u672C\uFF0C\u63A8\u8350\u66F4\u65B0\uFF0C\u662F\u5426\u73B0\u5728\u66F4\u65B0\uFF1F\uFF08\u56DE\u8F66=\u662F\uFF0Cn=\u5426\uFF09",comment:"TTY \u66F4\u65B0\u786E\u8BA4"}},ok:{written:{code:"",text:"\u5DF2\u5199\u5165\u5DE5\u7A0B {dir}",comment:"\u843D\u5730\u6210\u529F"},installed:{code:"",text:"\u5DF2\u5B89\u88C5 @66rpg/cgmaker \u5E76\u6267\u884C cgmaker init\u3002",comment:"\u843D\u5730\u6210\u529F"},local_origin:{code:"",text:"\u672C\u5730 --from-dir \u7684 origin.template_id \u4E3A local\uFF0C\u4E0D\u80FD\u76F4\u63A5 publish-template \u5230\u5E73\u53F0\u3002",comment:"\u672C\u5730\u6A21\u677F\u63D0\u9192"},next:{code:"",text:"\u63A5\u7740: cd \u8BE5\u76EE\u5F55 && npm run dev",comment:"\u843D\u5730\u6210\u529F\u4E0B\u4E00\u6B65"},update_installing:{code:"",text:"\u6B63\u5728\u628A cgmaker \u76F8\u5173\u5305\u66F4\u65B0\u5230\u6700\u65B0\u2026",comment:"npm install \u524D"},update_done:{code:"",text:"\u5DF2\u66F4\u65B0\u3002\u5F53\u524D\u8FDB\u7A0B\u4ECD\u662F\u65E7\u4EE3\u7801\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C\u521A\u624D\u7684\u547D\u4EE4\u3002",comment:"\u66F4\u65B0\u6210\u529F\u540E\u9000\u51FA"}}};function W(){let e={...O};return delete e._comment,e}var q=W();function s(e,t,r){let n=q[e]?.[t];if(!n?.text)throw new Error(`missing create message ${e}.${t}`);let o=n.text;if(r)for(let[i,u]of Object.entries(r))o=o.split(`{${i}}`).join(String(u));return o}function V(e){return e&&typeof e=="object"&&"code"in e&&typeof e.code=="string"?e.code:(e instanceof Error?e.message:String(e)).match(/\b(EPERM|EACCES|ENOENT|EBUSY|ENOTEMPTY|ENOTDIR|EISDIR|EINVAL|EMFILE|ENFILE)\b/)?.[1]??""}function H(e){return e?e.includes("\uFFFD")||e.includes("\\\\?\\"):!1}function E(e){switch(V(e)){case"EPERM":case"EACCES":return s("err","sys_denied");case"ENOENT":return s("err","sys_missing");case"EBUSY":case"ENOTEMPTY":return s("err","sys_busy");case"ENOTDIR":case"EISDIR":return s("err","sys_type");case"EINVAL":return s("err","sys_invalid");case"EMFILE":case"ENFILE":return s("err","sys_too_many");default:return s("err","sys_unknown")}}function F(e){let t=e instanceof Error?e.message:String(e??"");return H(t)?E(e):t}function G(){return process.platform==="win32"?"npm.cmd":"npm"}function S(e,t={}){let r=process.platform==="win32",n=z(G(),e,{windowsHide:r,...t,shell:r});if(n.error)throw new Error(s("err","run_npm",{cmd:G(),e:E(n.error)}));return n}import v from"node:fs";import Z from"node:os";import y from"node:path";import Q from"node:readline";import{fileURLToPath as X}from"node:url";var D=["@66rpg/cgmaker","@66rpg/cgmaker-create","@66rpg/cgmaker-win32-x64"],ee=1440*60*1e3;function te(e,t){let r=e.split(".").map(i=>Number.parseInt(i,10)||0),n=t.split(".").map(i=>Number.parseInt(i,10)||0),o=Math.max(r.length,n.length);for(let i=0;i<o;i++){let u=r[i]??0,_=n[i]??0;if(u>_)return!0;if(u<_)return!1}return!1}function T(e=Z.homedir()){return y.join(e,".cgmaker","update-check.json")}function ne(e=T()){try{let t=JSON.parse(v.readFileSync(e,"utf8"));return!t||typeof t.checkedAt!="number"||typeof t.latest!="object"?null:t}catch{return null}}function b(e,t=T()){v.mkdirSync(y.dirname(t),{recursive:!0}),v.writeFileSync(t,`${JSON.stringify(e,null,2)}
16
+ `)}function re(){return y.resolve(y.dirname(X(import.meta.url)),"..")}function se(e,t=process.cwd()){if(e==="@66rpg/cgmaker-create")try{let r=JSON.parse(v.readFileSync(y.join(re(),"package.json"),"utf8"));if(r.version)return r.version}catch{}try{return JSON.parse(v.readFileSync(y.join(t,"node_modules",e,"package.json"),"utf8")).version||null}catch{return null}}function U(e,t=process.cwd(),r={}){let n=[];for(let o of D){let i=e[o];if(!i||r[o]===i)continue;let u=se(o,t);u&&te(i,u)&&n.push({name:o,current:u,latest:i})}return n}function oe(e=process.cwd()){let t={};for(let r of D)try{let n=S(["view",r,"version"],{cwd:e,encoding:"utf8",timeout:2e3}),o=(n.stdout??"").toString().trim().split(`
17
+ `)[0]?.trim();n.status===0&&o&&(t[r]=o)}catch{}return t}function ie(){return process.env.CI==="true"||process.env.CGMAKER_NO_INTERACTIVE==="1"||process.env.CGMAKER_SKIP_UPDATE==="1"}function ce(){return process.platform==="win32"?["@66rpg/cgmaker-win32-x64"]:[]}function ae(e){process.stdout.write(`${JSON.stringify({success:!1,code:10,command:"update-available",message:s("err","update_available"),data:{packages:e,apply:"npx @66rpg/cgmaker-create@latest --apply-update",skip:"npx @66rpg/cgmaker-create@latest --skip-update <\u539F\u547D\u4EE4\u4E0E\u53C2\u6570>"}},null,2)}
18
+ `)}function le(e,t){let r=Q.createInterface({input:process.stdin,output:process.stdout});return new Promise(n=>{r.question(`${e} [${t}]: `,o=>{r.close(),n(o.trim()||t)})})}async function K(e){if(ie())return"continue";let t=e.cwd??process.cwd(),r=e.now??Date.now(),n=e.ppid??process.ppid,o=e.cacheFile??T(),i=ne(o)??{checkedAt:0,latest:{}};if(r-i.checkedAt>=ee){let l={};try{l=e.fetch?e.fetch():oe(t)}catch{l={}}i={...i,checkedAt:r,latest:{...i.latest,...l}},b(i,o)}if(e.apply)return $(i.latest,t);if(e.skip){let l={...i.declined};for(let f of U(i.latest,t))l[f.name]=f.latest;return b({...i,declined:l,promptedPpid:n},o),"continue"}let u=U(i.latest,t,i.declined??{});if(u.length===0)return"continue";if(e.agent)return ae(u),"agent-block";if(!e.tty||i.promptedPpid===n)return"continue";let _=u.map(l=>`${l.name} ${l.current} \u2192 ${l.latest}`).join(`
19
+ `),w=await le(`${s("prompt","update_ask")}
20
+ ${_}`,"Y");if(b({...i,promptedPpid:n},o),/^(n|no|否)$/i.test(w)){let l={...i.declined};for(let f of u)l[f.name]=f.latest;return b({...i,declined:l,promptedPpid:n},o),"continue"}return $(i.latest,t)}function $(e,t){let r=y.join(t,"package.json");if(!v.existsSync(r))return console.error(s("err","update_use_latest")),"updated-exit";let n=[];for(let o of["@66rpg/cgmaker","@66rpg/cgmaker-create",...ce()]){let i=e[o];n.push(i?`${o}@${i}`:`${o}@latest`)}console.error(s("ok","update_installing"));try{if(S(["install","-D",...n],{cwd:t,stdio:"inherit"}).status!==0)return console.error(s("err","update_failed")),"continue"}catch{return console.error(s("err","update_failed")),"continue"}return console.error(s("ok","update_done")),"updated-exit"}function R(){return s("help","body")}function me(){return d.resolve(d.dirname(pe(import.meta.url)),"..")}function Y(e=process.cwd()){let t=e;for(;;){let r=d.join(t,"templates"),n=d.join(t,"package.json");if(p.existsSync(r)&&p.existsSync(n))try{if(JSON.parse(p.readFileSync(n,"utf8")).workspaces?.some(u=>u.includes("templates")))return t}catch{}let o=d.dirname(t);if(o===t)return null;t=o}}function fe(){return JSON.parse(p.readFileSync(d.join(me(),"package.json"),"utf8"))}function B(){let e=Y();if(e){let t=d.join(e,"packages/cgmaker");if(p.existsSync(t))return`file:${t.replace(/\\/g,"/")}`}return`^${fe().version}`}function L(e){let t=e.split("@")[0]??e;return((t.includes("/")?t.split("/").pop():t)||"game").replace(/^tmpl_/,"tmpl-")}function ge(e){return/^[a-zA-Z0-9]+$/.test(e)}function _e(e){let t=e.filter(g=>g!=="--"),r,n,o,i=!1,u=!1,_=!1,w=!1,l=!1,f=[];for(let g=0;g<t.length;g++){let c=t[g];if(c==="--from-dir"){let a=t[++g];if(!a||a.startsWith("-"))throw new Error(s("err","from_dir_need_path"));r=a;continue}if(c.startsWith("--from-dir=")){if(r=c.slice(11),!r)throw new Error(s("err","from_dir_need_path"));continue}if(c==="--data-id"||c==="--data-ver-id"){let a=t[++g];if(!a||a.startsWith("-"))throw new Error(s("err","data_id_need"));n=a;continue}if(c.startsWith("--data-id=")){if(n=c.slice(10),!n)throw new Error(s("err","data_id_need"));continue}if(c.startsWith("--data-ver-id=")){if(n=c.slice(14),!n)throw new Error(s("err","data_id_need"));continue}if(c==="--skill-all"){i=!0;continue}if(c==="--skill-skip"||c==="--skip-skill"){u=!0;continue}if(c==="--agent"){_=!0;continue}if(c==="--apply-update"){w=!0;continue}if(c==="--skip-update"){l=!0;continue}if(c!=="--json"){if(c==="--skill-platform"){let a=t[++g];if(!a||a.startsWith("-"))throw new Error(s("err","skill_platform_need"));o=a;continue}if(c.startsWith("--skill-platform=")){if(o=c.slice(17),!o)throw new Error(s("err","skill_platform_need"));continue}f.push(c)}}if(i&&o)throw new Error(s("err","skill_conflict"));if(u&&(i||o))throw new Error(s("err","skill_conflict"));return{rest:f,fromDir:r,dataId:n,skillPlatform:o,skillAll:i,skillSkip:u,agent:_,applyUpdate:w,skipUpdateFlag:l}}function ke(e,t){process.stdout.write(`${JSON.stringify({success:!1,code:11,command:"need-input",message:e,data:{questions:t}},null,2)}
21
+ `)}function xe(e){return process.env.CI==="true"||process.env.CGMAKER_NO_INTERACTIVE==="1"?!1:e||process.env.CGMAKER_AGENT==="1"}function j(e,t){try{if(!p.existsSync(e))return;if(!t)p.rmSync(e,{recursive:!0,force:!0});else for(let r of p.readdirSync(e))p.rmSync(d.join(e,r),{recursive:!0,force:!0});console.error(s("err","cleared",{dir:e}))}catch(r){console.error(s("err","clear_failed",{dir:e,e:E(r)}))}}function we(e,t){let r=de.createInterface({input:process.stdin,output:process.stdout});return new Promise(n=>{r.question(s("prompt","ask",{question:e,fallback:t}),o=>{r.close(),n(o.trim()||t)})})}function C(){return!!(process.stdin.isTTY&&process.stdout.isTTY)}function he(e,t){p.mkdirSync(e,{recursive:!0});let r={name:t,private:!0,type:"module",engines:{node:">=20"},devDependencies:{"@66rpg/cgmaker":B()}};p.writeFileSync(d.join(e,"package.json"),`${JSON.stringify(r,null,2)}
22
+ `),p.writeFileSync(d.join(e,".gitignore"),`node_modules/
23
23
  dist/
24
24
  .DS_Store
25
- `);let n=r.devDependencies["@66rpg/cgmaker"],s=process.env.CGMAKER_NPM_SCOPE_REGISTRY?.trim();s&&typeof n=="string"&&!n.startsWith("file:")&&d.writeFileSync(p.join(e,".npmrc"),`@66rpg:registry=${s}
26
- `)}function ke(e,t){let r=p.join(e,"package.json"),n=JSON.parse(d.readFileSync(r,"utf8"));n.name=t,n.devDependencies=n.devDependencies??{},n.devDependencies["@66rpg/cgmaker"]||(n.devDependencies["@66rpg/cgmaker"]=J()),d.writeFileSync(r,`${JSON.stringify(n,null,2)}
27
- `)}function xe(){return process.platform==="win32"?"cgmaker.exe":"cgmaker"}function he(){let e=process.platform,t=process.arch;return e==="darwin"&&t==="arm64"?["aarch64-apple-darwin"]:e==="darwin"&&t==="x64"?["x86_64-apple-darwin"]:e==="win32"&&t==="x64"?["x86_64-pc-windows-gnu","x86_64-pc-windows-msvc"]:e==="linux"&&t==="x64"?["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl"]:e==="linux"&&t==="arm64"?["aarch64-unknown-linux-gnu","aarch64-unknown-linux-musl"]:[]}function we(e){let t=xe(),r=[];for(let n of["release","debug"]){for(let s of he())r.push(p.join(e,s,n,t));r.push(p.join(e,n,t))}return r}function ye(){if(process.env.CG_MAKER_CLI_BIN&&d.existsSync(process.env.CG_MAKER_CLI_BIN))return process.env.CG_MAKER_CLI_BIN;if(process.env.CGMAKER_BIN&&d.existsSync(process.env.CGMAKER_BIN))return process.env.CGMAKER_BIN;let e=[];process.env.CARGO_TARGET_DIR&&e.push(process.env.CARGO_TARGET_DIR);let t=D();t&&e.push(p.join(t,"target"));for(let r of e)for(let n of we(r))if(d.existsSync(n))return n}async function ve(){let{rest:e,fromDir:t,dataId:r,skillPlatform:n,skillAll:s,skillSkip:i,agent:u,applyUpdate:_,skipUpdateFlag:h}=ue(process.argv.slice(2));if(e.includes("-h")||e.includes("--help")){process.stdout.write(R());return}let l=fe(u);if(l&&(process.env.CGMAKER_AGENT="1"),_||h||e.length>0){let m=await K({apply:_,skip:h,agent:l,tty:T()});m==="updated-exit"&&process.exit(0),m==="agent-block"&&process.exit(10)}e.length===0&&(process.stdout.write(R()),process.exit(1));let f=e[0],g=e[1],c=r??e[2];if(e.length>3&&(process.stderr.write(R()),process.exit(1)),(!f||f.startsWith("-"))&&(process.stderr.write(R()),process.exit(1)),f.includes("/")&&(console.error(o("err","owner_slug")),process.exit(1)),g?.startsWith("-")&&(process.stderr.write(R()),process.exit(1)),t&&c&&(console.error(o("err","data_id_from_dir")),process.exit(1)),c&&c!=="0"&&!de(c)&&(console.error(o("err","invalid_data_id",{id:c})),process.exit(1)),l&&!T()){let m=[];g||m.push({id:"create.dest",kind:"text",question:o("prompt","dest_dir"),recommended:!0,default:F(f)}),!n&&!s&&!i&&m.push({id:"create.skill",kind:"select",question:o("prompt","skill"),recommended:!0,options:[{value:"cursor",label:"cursor",flag:"--skill-platform cursor"},{value:"__all__",label:"all",flag:"--skill-all"},{value:"skip",label:"skip",flag:"--skill-skip",optional:!0}]}),m.some(k=>k.optional!==!0)&&(me(o("err","need_input"),m),process.exit(11))}if(t){let m=p.resolve(t);d.existsSync(p.join(m,"package.json"))||(console.error(o("err","from_dir_not_template",{dir:m})),process.exit(1))}if(!g){let m=F(f);T()||(console.error(o("err","need_dest_no_tty")),process.stderr.write(R()),process.exit(1)),g=await ge(o("prompt","dest_dir"),m)}let a=p.resolve(g),j=d.existsSync(a);j&&d.readdirSync(a).length&&(console.error(o("err","dest_exists",{dir:a})),process.exit(1));let A=(m,k=1)=>{N(a,j),console.error(m),process.exit(k)};try{_e(a,p.basename(a));let m=v(["install"],{cwd:a,stdio:"inherit"});m.status!==0&&A(o("err","npm_install"),m.status??1);let k=p.join(a,"node_modules/@66rpg/cgmaker/bin/cgmaker.js");d.existsSync(k)||A(o("err","bin_missing",{js:k}));let w=[k,"init",f];t&&w.push("--from-dir",p.resolve(t)),c&&w.push("--data-id",c),s&&w.push("--all"),n&&w.push("--platform",n),i&&w.push("--skip-skill"),l&&w.push("--agent","--json");let I=ye(),E={...process.env};I&&(E.CGMAKER_BIN=I),l&&(E.CGMAKER_AGENT="1"),E.CGMAKER_SKIP_UPDATE="1";let x=ae(process.execPath,w,{cwd:a,stdio:"inherit",windowsHide:!0,env:E});x.error&&A(o("err","run_js",{js:k,e:x.error.message})),(x.status===10||x.status===11||x.status===12)&&(N(a,j),process.exit(x.status)),x.status!==0&&A(o("err","init_failed"),x.status??1),ke(a,p.basename(a));let P=v(["install"],{cwd:a,stdio:"inherit"});P.status!==0&&A(o("err","npm_install_again"),P.status??1)}catch(m){throw N(a,j),m}console.log(o("ok","written",{dir:a})),console.log(o("ok","installed")),t&&console.log(o("ok","local_origin")),console.log(o("ok","next"))}ve().catch(e=>{console.error(e instanceof Error?e.message:e),process.exit(1)});
25
+ `);let n=r.devDependencies["@66rpg/cgmaker"],o=process.env.CGMAKER_NPM_SCOPE_REGISTRY?.trim();o&&typeof n=="string"&&!n.startsWith("file:")&&p.writeFileSync(d.join(e,".npmrc"),`@66rpg:registry=${o}
26
+ `)}function ye(e,t){let r=d.join(e,"package.json"),n=JSON.parse(p.readFileSync(r,"utf8"));n.name=t,n.devDependencies=n.devDependencies??{},n.devDependencies["@66rpg/cgmaker"]||(n.devDependencies["@66rpg/cgmaker"]=B()),p.writeFileSync(r,`${JSON.stringify(n,null,2)}
27
+ `)}function Ee(){return process.platform==="win32"?"cgmaker.exe":"cgmaker"}function Se(){let e=process.platform,t=process.arch;return e==="darwin"&&t==="arm64"?["aarch64-apple-darwin"]:e==="darwin"&&t==="x64"?["x86_64-apple-darwin"]:e==="win32"&&t==="x64"?["x86_64-pc-windows-gnu","x86_64-pc-windows-msvc"]:e==="linux"&&t==="x64"?["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl"]:e==="linux"&&t==="arm64"?["aarch64-unknown-linux-gnu","aarch64-unknown-linux-musl"]:[]}function ve(e){let t=Ee(),r=[];for(let n of["release","debug"]){for(let o of Se())r.push(d.join(e,o,n,t));r.push(d.join(e,n,t))}return r}function Re(){if(process.env.CG_MAKER_CLI_BIN&&p.existsSync(process.env.CG_MAKER_CLI_BIN))return process.env.CG_MAKER_CLI_BIN;if(process.env.CGMAKER_BIN&&p.existsSync(process.env.CGMAKER_BIN))return process.env.CGMAKER_BIN;let e=[];process.env.CARGO_TARGET_DIR&&e.push(process.env.CARGO_TARGET_DIR);let t=Y();t&&e.push(d.join(t,"target"));for(let r of e)for(let n of ve(r))if(p.existsSync(n))return n}async function Ae(){let{rest:e,fromDir:t,dataId:r,skillPlatform:n,skillAll:o,skillSkip:i,agent:u,applyUpdate:_,skipUpdateFlag:w}=_e(process.argv.slice(2));if(e.includes("-h")||e.includes("--help")){process.stdout.write(R());return}let l=xe(u);if(l&&(process.env.CGMAKER_AGENT="1"),_||w||e.length>0){let m=await K({apply:_,skip:w,agent:l,tty:C()});m==="updated-exit"&&process.exit(0),m==="agent-block"&&process.exit(10)}e.length===0&&(process.stdout.write(R()),process.exit(1));let f=e[0],g=e[1],c=r??e[2];if(e.length>3&&(process.stderr.write(R()),process.exit(1)),(!f||f.startsWith("-"))&&(process.stderr.write(R()),process.exit(1)),f.includes("/")&&(console.error(s("err","owner_slug")),process.exit(1)),g?.startsWith("-")&&(process.stderr.write(R()),process.exit(1)),t&&c&&(console.error(s("err","data_id_from_dir")),process.exit(1)),c&&c!=="0"&&!ge(c)&&(console.error(s("err","invalid_data_id",{id:c})),process.exit(1)),l&&!C()){let m=[];g||m.push({id:"create.dest",kind:"text",question:s("prompt","dest_dir"),recommended:!0,default:L(f)}),!n&&!o&&!i&&m.push({id:"create.skill",kind:"select",question:s("prompt","skill"),recommended:!0,options:[{value:"cursor",label:"cursor",flag:"--skill-platform cursor"},{value:"__all__",label:"all",flag:"--skill-all"},{value:"skip",label:"skip",flag:"--skill-skip",optional:!0}]}),m.some(k=>k.optional!==!0)&&(ke(s("err","need_input"),m),process.exit(11))}if(t){let m=d.resolve(t);p.existsSync(d.join(m,"package.json"))||(console.error(s("err","from_dir_not_template",{dir:m})),process.exit(1))}if(!g){let m=L(f);C()||(console.error(s("err","need_dest_no_tty")),process.stderr.write(R()),process.exit(1)),g=await we(s("prompt","dest_dir"),m)}let a=d.resolve(g),N=p.existsSync(a);N&&p.readdirSync(a).length&&(console.error(s("err","dest_exists",{dir:a})),process.exit(1));let A=(m,k=1)=>{j(a,N),console.error(m),process.exit(k)};try{he(a,d.basename(a));let m=S(["install"],{cwd:a,stdio:"inherit"});m.status!==0&&A(s("err","npm_install"),m.status??1);let k=d.join(a,"node_modules/@66rpg/cgmaker/bin/cgmaker.js");p.existsSync(k)||A(s("err","bin_missing",{js:k}));let h=[k,"init",f];t&&h.push("--from-dir",d.resolve(t)),c&&h.push("--data-id",c),o&&h.push("--all"),n&&h.push("--platform",n),i&&h.push("--skip-skill"),l&&h.push("--agent","--json");let M=Re(),I={...process.env};M&&(I.CGMAKER_BIN=M),l&&(I.CGMAKER_AGENT="1"),I.CGMAKER_SKIP_UPDATE="1";let x=ue(process.execPath,h,{cwd:a,stdio:"inherit",windowsHide:!0,env:I});x.error&&A(s("err","run_js",{js:k,e:E(x.error)})),(x.status===10||x.status===11||x.status===12)&&(j(a,N),process.exit(x.status)),x.status!==0&&A(s("err","init_failed"),x.status??1),ye(a,d.basename(a));let P=S(["install"],{cwd:a,stdio:"inherit"});P.status!==0&&A(s("err","npm_install_again"),P.status??1)}catch(m){throw j(a,N),m}console.log(s("ok","written",{dir:a})),console.log(s("ok","installed")),t&&console.log(s("ok","local_origin")),console.log(s("ok","next"))}Ae().catch(e=>{console.error(F(e)),process.exit(1)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@66rpg/cgmaker-create",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "从 cgmaker 托管模板创建带完整源码的游戏工程",
5
5
  "type": "module",
6
6
  "bin": {