UNPKG

create-base-teek-theme

Version:

``` npm create base-teek-theme@latest my-first-blog ```

17 lines (14 loc) 1.63 kB
#!/usr/bin/env node import o from"path";import l from"process";import t from"fs-extra";import{fileURLToPath as h}from"url";var b=h(import.meta.url),c=o.dirname(b),r=l.argv.slice(2),j=r.filter(e=>e.startsWith("--")),m=r.filter(e=>!e.startsWith("--")),g=m[m.length-1]||"vitepress",n=j.includes("--bun");(r.includes("--help")||r.includes("-h"))&&(console.log(` Usage: create-base-teek-theme [project-name] [Options] Options: --bun Use bun instead of pnpm --help Show this message `),l.exit(0));console.log("\u{1F6A7} Creating vitepress-theme-base-teek project...");console.log();async function $(e){let u=o.join(c,"template");if(t.existsSync(e)){console.log(`\u274C The folder "${g}" already exists.`),console.log();return}try{await t.copy(u,e),await t.copy(o.join(c,"move/gitignore"),o.join(e,".gitignore")),await t.copy(o.join(c,"move/package"),o.join(e,"package.json"));let i=n?"bunfig.toml":"npmrc",f=n?"bunfig.toml":".npmrc";if(await t.copy(o.join(c,`move/${i}`),o.join(e,f)),n){let p=o.join(e,"package.json"),a=await t.readJSON(p);a.scripts.build=`NODE_ENV=production ${a.scripts.build}`,await t.writeJSON(p,a,{spaces:2})}console.log("\u{1F389} \u9879\u76EE\u521B\u5EFA\u6210\u529F!"),console.log(`\u{1F4C1} \u9879\u76EE\u8DEF\u5F84: ${e}`),console.log();let s=n?"bun":"pnpm";console.log(`\u{1F449} \u4E0B\u4E00\u6B65\u64CD\u4F5C: \u2460 cd ${o.parse(e).name} \u2461 ${s} install \u2462 ${s} run ${n?"--bun ":""}dev \u2463 ${s} run ${n?"--bun ":""}build \u2464 ${s} run ${n?"--bun ":""}preview `)}catch(i){console.error("\u274C \u9879\u76EE\u521B\u5EFA\u5931\u8D25:",i)}}$(o.join(l.cwd(),g));