@tomjs/create-app 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +10 -7
- package/package.json +6 -6
- package/template-electron-react/package.json +8 -8
- package/template-electron-vue/package.json +8 -8
- package/template-node/.vscode/launch.json +19 -0
- package/template-node/.vscode/tasks.json +36 -0
- package/template-node/LICENSE +1 -1
- package/template-node/package.json +11 -15
- package/template-node/scripts/info.ts +0 -2
- package/template-node/vitest.workspace.ts +3 -0
- package/template-react/package.json +6 -6
- package/template-vscode/package.json +4 -4
- package/template-vscode-react/package.json +6 -6
- package/template-vscode-vue/package.json +6 -6
- package/template-vue/package.json +6 -6
- package/template-node/jest.config.cjs +0 -7
- package/template-node/jest.config.electron.cjs +0 -8
- package/template-node/test/simple.test.ts +0 -7
- /package/template-node/test/{electron.test.ts → index.test.ts} +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
`)}function
|
|
3
|
-
Scaffolding project in ${
|
|
1
|
+
import u,{renameSync as Ye}from"fs";import Be from"os";import l from"path";import{fileURLToPath as He}from"url";import{lightBlue as T,lightCyan as Ke,lightGreen as U,lightYellow as Se,red as be,reset as x,yellow as qe}from"kolorist";import{camelCase as Qe}from"lodash-es";import Xe from"minimist";import Ze from"prompts";import _ from"shelljs";import ve from"os";import xe from"path";import{blue as We,red as D,reset as N}from"kolorist";import Me from"minimist";import te from"prompts";import p from"fs";import K from"path";function $(e){return[["t","template"],["g","git"]].forEach(([i,o])=>{e[o]=e[o]??e[i]}),e}function ue(e){return p.readdirSync(e).length===0}function q(e){return e?.trim().replace(/\/+$/g,"")}function Je(e,i){p.mkdirSync(i,{recursive:!0});for(let o of p.readdirSync(e)){let h=K.resolve(e,o),s=K.resolve(i,o);Q(h,s)}}function Q(e,i){p.statSync(e).isDirectory()?Je(e,i):p.copyFileSync(e,i)}function me(e){if(p.existsSync(e))for(let i of p.readdirSync(e))p.rmSync(K.resolve(e,i),{recursive:!0,force:!0})}function X(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function ge(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}function de(e){if(!e)return;let o=e.split(" ")[0].split("/");return{name:o[0],version:o[1]}}function A(e){if(p.existsSync(e))try{return JSON.parse(p.readFileSync(e,"utf8"))}catch(i){console.error(i)}}function O(e,i){p.writeFileSync(e,JSON.stringify(i,null,2)+`
|
|
2
|
+
`)}function Z(e){return p.existsSync(e)?p.readFileSync(e,"utf8"):""}function F(e,i){p.writeFileSync(e,i)}function C(e){p.existsSync(e)&&p.rmSync(e,{recursive:!0,force:!0})}function fe(e){p.existsSync(e)||p.mkdirSync(e,{recursive:!0})}var ze=$(Me(process.argv.slice(2),{string:["_"]})),ye={repo:"https://github.com",owner:ve.userInfo().username};function ne(e){let{repo:i,owner:o}=e;return`${i}${i.endsWith("/")?"":"/"}${o}`}async function he(e){let i=await te([{type:"text",name:"repo",message:N("Git repository url:"),initial:e?.repo||ye.repo},{type:"text",name:"owner",message:N("Git repository owner:"),initial:e?.owner||ye.owner}],{onCancel:()=>{throw console.log(D("\u2716")+" Operation cancelled"),new Error}});return{id:e?.id||Date.now().toString(),repo:i.repo,owner:i.owner}}var we=xe.join(ve.homedir(),".tomjs","create-app"),ke=xe.join(we,"config.json");function G(){return fe(we),Object.assign({gitRepos:[]},A(ke))}function Le(e){let i=G();i.createTime?i.updateTime=Date.now():i.createTime=Date.now(),O(ke,Object.assign(i,e))}function ee(e){Le({gitRepos:e})}async function ie(){let{gitRepos:e}=G();(e.length===0||ze.git)&&(e.length===0&&console.log(`You need to set the ${We("git remote repository")} for the first time.`),await i());async function i(){let o=e.map(v=>({title:ne(v),value:v.id})).concat([{title:"Add",value:"add"},{title:D("Exit"),value:"exit"}]),h=await te({type:"select",name:"repoId",message:e.length===0?"You choose to add or exit:":"You can choose the repository to be operated, or choose to add or exit:",choices:o},{onCancel:()=>{throw console.log(D("\u2716")+" Operation cancelled"),new Error}}),{repoId:s}=h;if(s==="exit")return;if(s==="add"){let v=await he();return e.push(v),ee(e),i()}let d=e.findIndex(v=>v.id===s),w=await te([{type:"select",name:"action",message:N("Select an action?"),choices:[{title:"Edit",value:"edit"},{title:"Remove",value:"remove"},{title:"Exit",value:"exit"}]},{type:v=>v==="remove"&&"toggle",name:"confirmRemove",message:N("Where confirm to remove?"),initial:!0,active:"Yes",inactive:"No"}],{onCancel:()=>{throw console.log(D("\u2716")+" Operation cancelled"),new Error}}),{action:E,confirmRemove:I}=w;if(E==="exit")return ie();if(E==="remove")return I&&(e.splice(d,1),ee(e)),i();let V=await he(e[d]);return e[d]=V,ee(e),i()}}var re=$(Xe(process.argv.slice(2),{string:["_"]})),oe=process.cwd(),et=["test","vite","examples"],Re=[{name:"node",display:"Node",color:Se,options:[{id:"test",name:"Test"},{id:"publish",name:"Git Repository + NPM Publish",selected:!0},{id:"ssh",name:"Git init by SSH",selected:!0},{id:"tsup",name:"Use tsup build",selected:!0},{id:"vite",name:"Use vite build"},{id:"vite-plugin",name:"Vite Plugin"},{id:"examples",name:"Examples"},{id:"workspace",name:"Workspaces/Monorepo"}]},{name:"web",display:"Web App",color:U,variants:[{name:"vue",display:"Vue",color:U},{name:"react",display:"React",color:T}]},{name:"electron",display:"Electron App",color:T,variants:[{name:"electron-vue",display:"Vue",color:U},{name:"electron-react",display:"React",color:T}]},{name:"vscode",display:"VSCode Extension",color:Ke,options:[{id:"publish",name:"Git Repository"},{id:"ssh",name:"Git init by SSH"}],variants:[{name:"vscode",display:"Base",color:Se},{name:"vscode-vue",display:"Vue",color:U},{name:"vscode-react",display:"React",color:T}]}],je=Re.map(e=>e.variants&&e.variants.map(i=>i.name)||[e.name]).reduce((e,i)=>e.concat(i),[]),se="my-app";function Pe(e){let i=_.exec(`git config --get ${e}`,{silent:!0});if(i.code===0)return i.stdout.trim()}function Ee(e){return e.length>1?e.substring(e.indexOf("/")+1):e}function P(e,...i){$e(e.devDependencies,...i)}function tt(e,...i){$e(e.peerDependencies,...i)}function $e(e,...i){function o(s,d){return s.includes("@")?s.replace("@","").split("/").find(w=>o(w,d)):d===s||s.includes(`-${d}`)||s.includes(`${d}-`)}let h=e||{};Object.keys(h||{}).forEach(s=>{i.find(d=>o(s,d))&&delete h[s]})}async function nt(){let e=q(re._[0]),i=re.template||re.t,o=e||se,h=()=>o==="."?l.basename(l.resolve()):o,s=Ee(o),{gitRepos:d}=G(),w=await Ze([{type:e?null:"text",name:"projectName",message:x("Project name:"),initial:se,onState:t=>{o=q(t.value)||se,s=Ee(o)}},{type:()=>!u.existsSync(s)||ue(s)?null:"toggle",name:"overwrite",message:()=>(s==="."?"Current directory":`Target directory "${s}"`)+" is not empty. Remove existing files and continue?",initial:!1,active:"Yes",inactive:"No"},{type:(t,{overwrite:n})=>{if(n===!1)throw console.log(be("\u2716")+" Operation cancelled"),new Error;return null},name:"overwriteChecker"},{type:()=>X(h())?null:"text",name:"packageName",message:x("Package name:"),initial:()=>ge(h()),validate:t=>X(t)||"Invalid package.json name"},{type:i&&je.includes(i)?null:"select",name:"framework",message:typeof i=="string"&&!je.includes(i)?x(`"${i}" isn't a valid template. Please choose from below: `):x("Select a framework:"),initial:0,choices:Re.map(t=>{let n=t.color;return{title:n(t.display||t.name),value:t}})},{type:t=>t&&t.variants?"select":null,name:"variant",message:x("Select a variant:"),choices:t=>t?.variants?.map(n=>{let r=n.color;return{title:r(n.display||n.name),value:n.name}})},{type:(t,n)=>{let{framework:r}=n;return r&&Array.isArray(r.options)&&r.options.length?"multiselect":null},name:"options",message:x("Select optional options:"),instructions:!1,choices:(t,n)=>{let{framework:r}=n;return r?.options?.map(a=>({title:a.name,value:a.id,selected:a.selected||!1}))}},{type:(t,n)=>d.length&&Array.isArray(n.options)&&n.options.includes("publish")?"select":null,name:"gitUserUrl",message:x("Which git repository to publish to?"),choices:d.map(t=>{let n=ne(t);return{title:n,value:n}})}],{onCancel:()=>{throw console.log(be("\u2716")+" Operation cancelled"),new Error}}),{framework:E,overwrite:I,packageName:V,variant:v,gitUserUrl:k}=w,m=w.options||[],c=l.join(oe,s);I?me(c):u.existsSync(c)||u.mkdirSync(c,{recursive:!0}),console.log(`
|
|
3
|
+
Scaffolding project in ${c}...`);let J=v||E?.name||i||"",W=t=>l.join(He(import.meta.url),"../..",`template-${t}`),Ae=W(J),M=J.includes("node");[W("config"),Ae].forEach(t=>{let n=u.readdirSync(t);for(let r of n){let a=r.startsWith("_")?r.replace("_","."):r;(M&&!m.includes("examples")||J==="vscode")&&r.includes("stylelint")||Q(l.join(t,r),l.join(c,a))}});let y=V||h(),z={name:Pe("user.name")||Be.userInfo().username,email:Pe("user.email")||""},L={"pkg.name":y,"user.name":z.name,"user.email":z.email,"git.org":Y(),"git.url":Oe(),"git.fullUrl":ce()};function Oe(){return`${k||`https://github.com/${Y()}`}/${y.substring(y.indexOf("/")+1)}`}function Y(){return k?k.substring(k.lastIndexOf("/")+1):y.startsWith("@")?y.split("/")[0].substring(1):Qe(z.name)}function ce(t=!1){let n=k||`https://github.com/${Y()}`;return t&&(n=n.replace(/http(s):\/\//g,"git@").replace(/\//,":")),`${n}/${y.substring(y.indexOf("/")+1)}.git`}Te(),M&&(Ue(),_e(),Ie(),Ve());let ae=de(process.env.npm_config_user_agent),B=ae?ae.name:"npm";_.which("git")&&(_.exec(`cd ${c} && git init`),m.includes("publish")&&_.exec(`cd ${c} && git remote add origin ${ce(m.includes("ssh"))}`));let H=l.relative(oe,c);switch(console.log(`
|
|
4
4
|
Done. Now run:
|
|
5
|
-
`),
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
`),c!==oe&&console.log(` cd ${H.includes(" ")?`"${H}"`:H}`),B){case"yarn":console.log(" yarn"),console.log(" yarn dev");break;default:console.log(` ${B} install`),console.log(` ${B} run dev`);break}function S(){return A(l.join(c,"package.json"))}function b(t){O(l.join(c,"package.json"),t)}function Fe(){return Z(l.join(c,"package.json"))}function Ce(t){F(l.join(c,"package.json"),t)}function R(...t){!Array.isArray(t)||t.length===0||t.forEach(n=>{let r=l.join(c,n);u.existsSync(r)&&C(r)})}function De(t,n,r){let a=l.join(c,t),g=Z(a);g=g.replaceAll(n,r),F(a,g)}function Ne(t,n){let r=t.lastIndexOf("."),a=t.substring(0,r)+"."+n+t.substring(r),g=l.join(c,t),f=l.join(c,a);u.existsSync(f)&&(m.includes(n)?(C(g),Ye(f,g)):C(f))}function Ge(...t){t.forEach(n=>{et.forEach(r=>{Ne(n,r)})})}function Te(){let t=S();t.name=y,m.includes("publish")||(delete t.author,delete t.publishConfig,delete t.repository,delete t.scripts.prepublishOnly,delete t.devDependencies.np),y.endsWith("-cli")?(delete t.main,delete t.module,delete t.types,delete t.exports):delete t.bin,M&&(m.includes("vite")?(t.scripts.dev="vite",t.scripts.build="vite build",P(t,"tsup"),R("tsup.config.ts")):(t.scripts.dev="tsup --watch",t.scripts.build="tsup",R("vite.config.ts"),m.includes("vite-plugin")||(P(t,"vite"),De("tsup.config.ts","'vite'",""))),m.includes("vite-plugin")||tt(t,"vite")),b(t);let n=Fe();Object.keys(L).forEach(r=>{n=n.replace(new RegExp("{{"+r+"}}","g"),L[r])}),Ce(n)}function Ue(){Ge(".lintstagedrc.cjs","tsconfig.json");let t=m.find(r=>["vite-plugin"].includes(r))||["cli","plugin"].find(r=>y.includes(`-${r}`)),n=["pnpm","yarn","npm"].map(r=>`# ${r}
|
|
6
|
+
${r} add ${y}${t?" -D":""}`).join(`
|
|
7
|
+
|
|
8
|
+
`);["LICENSE","README.md","README.zh_CN.md"].forEach(r=>{let a=l.join(c,r);if(!m.includes("publish")&&u.existsSync(a)){u.rmSync(a),r==="README.md"&&u.writeFileSync(a,`# ${y}
|
|
9
|
+
`,{encoding:"utf-8"});return}if(!u.existsSync(a))return;let g=Object.assign({},L,{"pkg.install":n}),f=u.readFileSync(a,"utf-8");Object.keys(g).forEach(j=>{f=f.replace(new RegExp("{{"+j+"}}","g"),g[j])}),u.writeFileSync(a,f,"utf8")})}function _e(){let t=S();if(m.includes("test")){m.includes("workspace")||R("vitest.workspace.ts");return}delete t.scripts.test,t.scripts["lint:eslint"]=t.scripts["lint:eslint"].replace(",test",""),P(t,"vitest"),b(t),R("test","vitest.workspace.ts")}function Ie(){if(!m.includes("examples")){let n=S();n.scripts.lint=n.scripts.lint.replace(" lint:stylelint",""),n.scripts["lint:eslint"]=n.scripts["lint:eslint"].replace(",examples",""),delete n.scripts["lint:stylelint"],P(n,"stylelint"),b(n);return}let t=l.join(c,"examples");u.mkdirSync(t),["vue","react"].forEach(n=>{let r=W(n),a=l.join(t,n);if(!u.existsSync(r)){console.log(`${qe(r)} template is not exist`);return}u.cpSync(r,a,{recursive:!0});let g=S();Object.keys(g.scripts).forEach(f=>{(f.startsWith("lint")||["prepare"].includes(f))&&delete g.scripts[f]}),P(g,"eslint","prettier","stylelint","commitlint","husky","lint-staged","tsconfig","lint-staged","npm-run-all"),b(g),["_lintstagedrc.cjs"].forEach(f=>{let j=l.join(a,f);u.existsSync(j)&&u.rmSync(j,{recursive:!0})})})}function Ve(){let t=[];m.includes("examples")&&t.push("examples");let n=S();m.includes("workspace")?(t.push("packages"),delete n.private,delete n.version,delete n.description,delete n.keywords,delete n.license,delete n.main,delete n.module,delete n.types,delete n.exports,delete n.files,delete n.publishConfig,delete n.repository):delete n.private,b(n),t.length&&F(l.join(c,"pnpm-workspace.yaml"),`packages:
|
|
10
|
+
${t.map(r=>` - '${r}/*'`).join(`
|
|
11
|
+
`)}`)}}ie().then(async()=>nt().catch(e=>{e.message&&console.error(e)})).catch(e=>{e.message&&console.error(e)});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tomjs/create-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "create tomjs web app",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tomjs",
|
|
@@ -50,22 +50,22 @@
|
|
|
50
50
|
"shelljs": "^0.8.5"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@commitlint/cli": "^19.2.
|
|
53
|
+
"@commitlint/cli": "^19.2.1",
|
|
54
54
|
"@tomjs/commitlint": "^3.0.0",
|
|
55
|
-
"@tomjs/eslint": "^2.0
|
|
55
|
+
"@tomjs/eslint": "^2.3.0",
|
|
56
56
|
"@tomjs/prettier": "^1.3.0",
|
|
57
57
|
"@tomjs/stylelint": "^2.3.0",
|
|
58
|
-
"@tomjs/tsconfig": "^1.
|
|
58
|
+
"@tomjs/tsconfig": "^1.5.0",
|
|
59
59
|
"@types/lodash-es": "^4.17.12",
|
|
60
60
|
"@types/minimist": "^1.2.5",
|
|
61
|
-
"@types/node": "^18.19.
|
|
61
|
+
"@types/node": "^18.19.26",
|
|
62
62
|
"@types/prompts": "^2.4.9",
|
|
63
63
|
"@types/shelljs": "^0.8.15",
|
|
64
64
|
"cross-env": "^7.0.3",
|
|
65
65
|
"eslint": "^8.57.0",
|
|
66
66
|
"husky": "^9.0.11",
|
|
67
67
|
"lint-staged": "^15.2.2",
|
|
68
|
-
"np": "^
|
|
68
|
+
"np": "^9.2.0",
|
|
69
69
|
"npm-run-all": "^4.1.5",
|
|
70
70
|
"prettier": "^3.2.5",
|
|
71
71
|
"stylelint": "^16.2.1",
|
|
@@ -20,24 +20,24 @@
|
|
|
20
20
|
"prepare": "husky"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@tomjs/electron-devtools-installer": "^2.
|
|
23
|
+
"@tomjs/electron-devtools-installer": "^2.2.1",
|
|
24
24
|
"react": "^18.2.0",
|
|
25
25
|
"react-dom": "^18.2.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@commitlint/cli": "^19.2.
|
|
28
|
+
"@commitlint/cli": "^19.2.1",
|
|
29
29
|
"@tomjs/commitlint": "^3.0.0",
|
|
30
|
-
"@tomjs/eslint": "^2.0
|
|
30
|
+
"@tomjs/eslint": "^2.3.0",
|
|
31
31
|
"@tomjs/prettier": "^1.3.0",
|
|
32
32
|
"@tomjs/stylelint": "^2.3.0",
|
|
33
|
-
"@tomjs/tsconfig": "^1.
|
|
33
|
+
"@tomjs/tsconfig": "^1.5.0",
|
|
34
34
|
"@tomjs/vite-plugin-electron": "^1.9.0",
|
|
35
|
-
"@types/node": "^18.19.
|
|
36
|
-
"@types/react": "^18.2.
|
|
35
|
+
"@types/node": "^18.19.26",
|
|
36
|
+
"@types/react": "^18.2.67",
|
|
37
37
|
"@types/react-dom": "^18.2.22",
|
|
38
38
|
"@vitejs/plugin-react-swc": "^3.6.0",
|
|
39
39
|
"cross-env": "^7.0.3",
|
|
40
|
-
"electron": "^28.2.
|
|
40
|
+
"electron": "^28.2.8",
|
|
41
41
|
"electron-builder": "^24.13.3",
|
|
42
42
|
"eslint": "^8.57.0",
|
|
43
43
|
"husky": "^9.0.11",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"stylelint": "^16.2.1",
|
|
49
49
|
"tsx": "^4.7.1",
|
|
50
50
|
"typescript": "~5.3.3",
|
|
51
|
-
"vite": "^5.
|
|
51
|
+
"vite": "^5.2.2",
|
|
52
52
|
"vite-plugin-electron-renderer": "^0.14.5"
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"prepare": "husky"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@tomjs/electron-devtools-installer": "^2.
|
|
23
|
+
"@tomjs/electron-devtools-installer": "^2.2.1",
|
|
24
24
|
"vue": "^3.4.21"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@commitlint/cli": "^19.2.
|
|
27
|
+
"@commitlint/cli": "^19.2.1",
|
|
28
28
|
"@tomjs/commitlint": "^3.0.0",
|
|
29
|
-
"@tomjs/eslint": "^2.0
|
|
29
|
+
"@tomjs/eslint": "^2.3.0",
|
|
30
30
|
"@tomjs/prettier": "^1.3.0",
|
|
31
31
|
"@tomjs/stylelint": "^2.3.0",
|
|
32
|
-
"@tomjs/tsconfig": "^1.
|
|
32
|
+
"@tomjs/tsconfig": "^1.5.0",
|
|
33
33
|
"@tomjs/vite-plugin-electron": "^1.9.0",
|
|
34
|
-
"@types/node": "^18.19.
|
|
34
|
+
"@types/node": "^18.19.26",
|
|
35
35
|
"@vitejs/plugin-vue": "^5.0.4",
|
|
36
36
|
"cross-env": "^7.0.3",
|
|
37
|
-
"electron": "^28.2.
|
|
37
|
+
"electron": "^28.2.8",
|
|
38
38
|
"electron-builder": "^24.13.3",
|
|
39
39
|
"eslint": "^8.57.0",
|
|
40
40
|
"husky": "^9.0.11",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"stylelint": "^16.2.1",
|
|
46
46
|
"tsx": "^4.7.1",
|
|
47
47
|
"typescript": "~5.3.3",
|
|
48
|
-
"vite": "^5.
|
|
48
|
+
"vite": "^5.2.2",
|
|
49
49
|
"vite-plugin-electron-renderer": "^0.14.5",
|
|
50
|
-
"vue-tsc": "^2.0.
|
|
50
|
+
"vue-tsc": "^2.0.7"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
// Use IntelliSense to learn about possible attributes.
|
|
3
|
+
// Hover to view descriptions of existing attributes.
|
|
4
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
5
|
+
"version": "0.2.0",
|
|
6
|
+
"configurations": [
|
|
7
|
+
{
|
|
8
|
+
"name": "Debug Node",
|
|
9
|
+
"type": "node",
|
|
10
|
+
"request": "launch",
|
|
11
|
+
"skipFiles": [
|
|
12
|
+
"<node_internals>/**"
|
|
13
|
+
],
|
|
14
|
+
"program": "${workspaceFolder}\\dist\\index.js",
|
|
15
|
+
"console": "integratedTerminal",
|
|
16
|
+
"preLaunchTask": "${defaultBuildTask}",
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
|
3
|
+
// for the documentation about the tasks.json format
|
|
4
|
+
"version": "2.0.0",
|
|
5
|
+
"tasks": [
|
|
6
|
+
{
|
|
7
|
+
"type": "npm",
|
|
8
|
+
"script": "dev",
|
|
9
|
+
"problemMatcher": {
|
|
10
|
+
"owner": "typescript",
|
|
11
|
+
"fileLocation": "relative",
|
|
12
|
+
"pattern": {
|
|
13
|
+
"regexp": "^([a-zA-Z]\\:\/?([\\w\\-]\/?)+\\.\\w+):(\\d+):(\\d+): (ERROR|WARNING)\\: (.*)$",
|
|
14
|
+
"file": 1,
|
|
15
|
+
"line": 3,
|
|
16
|
+
"column": 4,
|
|
17
|
+
"code": 5,
|
|
18
|
+
"message": 6
|
|
19
|
+
},
|
|
20
|
+
"background": {
|
|
21
|
+
"activeOnStart": true,
|
|
22
|
+
"beginsPattern": "^.*Build start.*$",
|
|
23
|
+
"endsPattern": "^.*Build success.*$"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"isBackground": true,
|
|
27
|
+
"presentation": {
|
|
28
|
+
"reveal": "never"
|
|
29
|
+
},
|
|
30
|
+
"group": {
|
|
31
|
+
"kind": "build",
|
|
32
|
+
"isDefault": true
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
package/template-node/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2024-PRESENT {{user.name}}<{{user.email}}>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "{{pkg.name}}",
|
|
3
|
+
"private": true,
|
|
3
4
|
"version": "0.0.0",
|
|
4
5
|
"description": "basic node.js template",
|
|
5
6
|
"keywords": [
|
|
@@ -10,6 +11,9 @@
|
|
|
10
11
|
"email": "{{user.email}}"
|
|
11
12
|
},
|
|
12
13
|
"license": "MIT",
|
|
14
|
+
"bin": {
|
|
15
|
+
"xxx": "./dist/index.js"
|
|
16
|
+
},
|
|
13
17
|
"main": "./dist/index.js",
|
|
14
18
|
"module": "./dist/index.mjs",
|
|
15
19
|
"types": "./dist/index.d.ts",
|
|
@@ -46,38 +50,30 @@
|
|
|
46
50
|
"prepare": "husky",
|
|
47
51
|
"prepublishOnly": "npm run build && np --any-branch --yolo --no-publish --message \"chore: release v%s\""
|
|
48
52
|
},
|
|
49
|
-
"dependencies": {
|
|
50
|
-
"kolorist": "^1.8.0"
|
|
51
|
-
},
|
|
53
|
+
"dependencies": {},
|
|
52
54
|
"devDependencies": {
|
|
53
|
-
"@commitlint/cli": "^19.2.
|
|
54
|
-
"@jest/globals": "^29.7.0",
|
|
55
|
-
"@kayahr/jest-electron-runner": "^29.11.0",
|
|
55
|
+
"@commitlint/cli": "^19.2.1",
|
|
56
56
|
"@tomjs/commitlint": "^3.0.0",
|
|
57
|
-
"@tomjs/eslint": "^2.0
|
|
57
|
+
"@tomjs/eslint": "^2.3.0",
|
|
58
58
|
"@tomjs/prettier": "^1.3.0",
|
|
59
59
|
"@tomjs/stylelint": "^2.3.0",
|
|
60
|
-
"@tomjs/tsconfig": "^1.
|
|
61
|
-
"@types/
|
|
62
|
-
"@types/node": "^18.19.24",
|
|
60
|
+
"@tomjs/tsconfig": "^1.5.0",
|
|
61
|
+
"@types/node": "^18.19.26",
|
|
63
62
|
"cross-env": "^7.0.3",
|
|
64
|
-
"electron": "^28.2.7",
|
|
65
63
|
"eslint": "^8.57.0",
|
|
66
64
|
"husky": "^9.0.11",
|
|
67
|
-
"jest": "^29.7.0",
|
|
68
65
|
"lint-staged": "^15.2.2",
|
|
69
66
|
"np": "^10.0.1",
|
|
70
67
|
"npm-run-all": "^4.1.5",
|
|
71
68
|
"prettier": "^3.2.5",
|
|
72
69
|
"rimraf": "^5.0.5",
|
|
73
70
|
"stylelint": "^16.2.1",
|
|
74
|
-
"ts-jest": "^29.1.2",
|
|
75
71
|
"tsup": "^8.0.2",
|
|
76
72
|
"tsx": "^4.7.1",
|
|
77
73
|
"typescript": "~5.3.3",
|
|
78
|
-
"vite": "^5.
|
|
74
|
+
"vite": "^5.2.2",
|
|
79
75
|
"vite-plugin-dts": "^3.7.3",
|
|
80
|
-
"vitest": "^1.
|
|
76
|
+
"vitest": "^1.4.0"
|
|
81
77
|
},
|
|
82
78
|
"peerDependencies": {
|
|
83
79
|
"vite": ">=2.0.0"
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import os from 'node:os';
|
|
2
|
-
import { blue } from 'kolorist';
|
|
3
2
|
|
|
4
3
|
function run() {
|
|
5
|
-
console.log(blue('Hello World!'));
|
|
6
4
|
console.log(
|
|
7
5
|
`system: ${os.platform()} ${os.arch()} v${os.release()} ${os.cpus().length} cores ${Math.ceil(
|
|
8
6
|
os.totalmem() / 1024 / 1024 / 1024,
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
"react-dom": "^18.2.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@commitlint/cli": "^19.2.
|
|
24
|
+
"@commitlint/cli": "^19.2.1",
|
|
25
25
|
"@tomjs/commitlint": "^3.0.0",
|
|
26
|
-
"@tomjs/eslint": "^2.0
|
|
26
|
+
"@tomjs/eslint": "^2.3.0",
|
|
27
27
|
"@tomjs/prettier": "^1.3.0",
|
|
28
28
|
"@tomjs/stylelint": "^2.3.0",
|
|
29
|
-
"@tomjs/tsconfig": "^1.
|
|
30
|
-
"@types/node": "^18.19.
|
|
31
|
-
"@types/react": "^18.2.
|
|
29
|
+
"@tomjs/tsconfig": "^1.5.0",
|
|
30
|
+
"@types/node": "^18.19.26",
|
|
31
|
+
"@types/react": "^18.2.67",
|
|
32
32
|
"@types/react-dom": "^18.2.22",
|
|
33
33
|
"@vitejs/plugin-react-swc": "^3.6.0",
|
|
34
34
|
"cross-env": "^7.0.3",
|
|
@@ -39,6 +39,6 @@
|
|
|
39
39
|
"prettier": "^3.2.5",
|
|
40
40
|
"stylelint": "^16.2.1",
|
|
41
41
|
"typescript": "~5.3.3",
|
|
42
|
-
"vite": "^5.
|
|
42
|
+
"vite": "^5.2.2"
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"prepare": "husky"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@commitlint/cli": "^19.2.
|
|
50
|
+
"@commitlint/cli": "^19.2.1",
|
|
51
51
|
"@tomjs/commitlint": "^3.0.0",
|
|
52
|
-
"@tomjs/eslint": "^2.0
|
|
52
|
+
"@tomjs/eslint": "^2.3.0",
|
|
53
53
|
"@tomjs/prettier": "^1.3.0",
|
|
54
|
-
"@tomjs/tsconfig": "^1.
|
|
55
|
-
"@types/node": "^18.19.
|
|
54
|
+
"@tomjs/tsconfig": "^1.5.0",
|
|
55
|
+
"@types/node": "^18.19.26",
|
|
56
56
|
"@types/vscode": "^1.75.0",
|
|
57
57
|
"eslint": "^8.57.0",
|
|
58
58
|
"husky": "^9.0.11",
|
|
@@ -54,15 +54,15 @@
|
|
|
54
54
|
"react-dom": "^18.2.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@commitlint/cli": "^19.2.
|
|
57
|
+
"@commitlint/cli": "^19.2.1",
|
|
58
58
|
"@tomjs/commitlint": "^3.0.0",
|
|
59
|
-
"@tomjs/eslint": "^2.0
|
|
59
|
+
"@tomjs/eslint": "^2.3.0",
|
|
60
60
|
"@tomjs/prettier": "^1.3.0",
|
|
61
61
|
"@tomjs/stylelint": "^2.3.0",
|
|
62
|
-
"@tomjs/tsconfig": "^1.
|
|
62
|
+
"@tomjs/tsconfig": "^1.5.0",
|
|
63
63
|
"@tomjs/vite-plugin-vscode": "^2.2.0",
|
|
64
|
-
"@types/node": "^18.19.
|
|
65
|
-
"@types/react": "^18.2.
|
|
64
|
+
"@types/node": "^18.19.26",
|
|
65
|
+
"@types/react": "^18.2.67",
|
|
66
66
|
"@types/react-dom": "^18.2.22",
|
|
67
67
|
"@types/vscode": "^1.75.0",
|
|
68
68
|
"@types/vscode-webview": "^1.57.5",
|
|
@@ -77,6 +77,6 @@
|
|
|
77
77
|
"stylelint": "^16.2.1",
|
|
78
78
|
"tsx": "^4.7.1",
|
|
79
79
|
"typescript": "~5.3.3",
|
|
80
|
-
"vite": "^5.
|
|
80
|
+
"vite": "^5.2.2"
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -53,14 +53,14 @@
|
|
|
53
53
|
"vue": "^3.4.21"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@commitlint/cli": "^19.2.
|
|
56
|
+
"@commitlint/cli": "^19.2.1",
|
|
57
57
|
"@tomjs/commitlint": "^3.0.0",
|
|
58
|
-
"@tomjs/eslint": "^2.0
|
|
58
|
+
"@tomjs/eslint": "^2.3.0",
|
|
59
59
|
"@tomjs/prettier": "^1.3.0",
|
|
60
60
|
"@tomjs/stylelint": "^2.3.0",
|
|
61
|
-
"@tomjs/tsconfig": "^1.
|
|
61
|
+
"@tomjs/tsconfig": "^1.5.0",
|
|
62
62
|
"@tomjs/vite-plugin-vscode": "^2.2.0",
|
|
63
|
-
"@types/node": "^18.19.
|
|
63
|
+
"@types/node": "^18.19.26",
|
|
64
64
|
"@types/vscode": "^1.75.0",
|
|
65
65
|
"@types/vscode-webview": "^1.57.5",
|
|
66
66
|
"@vitejs/plugin-vue": "^5.0.4",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"stylelint": "^16.2.1",
|
|
75
75
|
"tsx": "^4.7.1",
|
|
76
76
|
"typescript": "~5.3.3",
|
|
77
|
-
"vite": "^5.
|
|
78
|
-
"vue-tsc": "^2.0.
|
|
77
|
+
"vite": "^5.2.2",
|
|
78
|
+
"vue-tsc": "^2.0.7"
|
|
79
79
|
}
|
|
80
80
|
}
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
"vue": "^3.4.21"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@commitlint/cli": "^19.2.
|
|
23
|
+
"@commitlint/cli": "^19.2.1",
|
|
24
24
|
"@tomjs/commitlint": "^3.0.0",
|
|
25
|
-
"@tomjs/eslint": "^2.0
|
|
25
|
+
"@tomjs/eslint": "^2.3.0",
|
|
26
26
|
"@tomjs/prettier": "^1.3.0",
|
|
27
27
|
"@tomjs/stylelint": "^2.3.0",
|
|
28
|
-
"@tomjs/tsconfig": "^1.
|
|
29
|
-
"@types/node": "^18.19.
|
|
28
|
+
"@tomjs/tsconfig": "^1.5.0",
|
|
29
|
+
"@types/node": "^18.19.26",
|
|
30
30
|
"@vitejs/plugin-vue": "^5.0.4",
|
|
31
31
|
"cross-env": "^7.0.3",
|
|
32
32
|
"eslint": "^8.57.0",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"prettier": "^3.2.5",
|
|
37
37
|
"stylelint": "^16.2.1",
|
|
38
38
|
"typescript": "~5.3.3",
|
|
39
|
-
"vite": "^5.
|
|
40
|
-
"vue-tsc": "^2.0.
|
|
39
|
+
"vite": "^5.2.2",
|
|
40
|
+
"vue-tsc": "^2.0.7"
|
|
41
41
|
}
|
|
42
42
|
}
|
|
File without changes
|