@tomjs/create-app 1.1.0 → 1.2.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.js +6 -6
- package/package.json +4 -4
- package/templates/base/core/package.json +1 -1
- package/templates/base/electron/package.json +2 -2
- package/templates/base/node/package.json +2 -2
- package/templates/base/react/package.json +1 -1
- package/templates/base/vscode/package.json +4 -3
- package/templates/base/vscode/resources/logo.png +0 -0
- package/templates/base/vscode/resources/logo.svg +1 -0
- package/templates/base/vue/package.json +2 -2
- package/templates/config.json +6 -3
- package/templates/electron-react/package.json +1 -24
- package/templates/node-vite-plugin/package.json +1 -1
- package/templates/vscode/package.json +6 -5
- package/templates/vscode/resources/logo.png +0 -0
- package/templates/vscode/resources/logo.svg +1 -0
- package/templates/vscode-vue/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import Ge from"meow";import w from"node:fs";import Oe from"node:os";import g from"node:path";import{fileURLToPath as Pe}from"node:url";import{copySync as Ae,mkdirSync as $e,readFileSync as
|
|
2
|
-
${
|
|
3
|
-
`)}`)}else
|
|
1
|
+
import Ge from"meow";import w from"node:fs";import Oe from"node:os";import g from"node:path";import{fileURLToPath as Pe}from"node:url";import{copySync as Ae,mkdirSync as $e,readFileSync as oe,readJsonSync as ie,rmSync as R,writeFileSync as C,writeJsonSync as Ee}from"@tomjs/node";import x from"chalk";import{camelCase as Se,cloneDeep as ae,merge as De}from"lodash-es";import H from"node:os";import B from"node:path";import{mkdirSync as xe,readJsonSync as ve,writeJsonSync as be}from"@tomjs/node";import j from"chalk";import ke from"inquirer";import we from"@tomjs/logger";import{$ as he}from"execa";import $ from"inquirer";var y=new we({directory:"create-app/logs"});function E(e,t,o){let n={message:e};return Array.isArray(t)||typeof t!="object"?n.default=t:Object.assign(n,t),Object.assign(n,o)}async function h(e,t){let o=`confirm-${Date.now()}`,n=E(e,t);return(await $.prompt([{type:"confirm",name:o,...n}]))[o]}async function L(e,t){let o=`input-${Date.now()}`,{required:n,...r}=E(e,t),i=n??!0,c=r.validate;return(i||c)&&(r.validate=s=>{let u=(s||"").trim();return i&&!u?"It's required!":c?c(s):!0}),(await $.prompt([{type:"input",name:o,...r}]))[o]}async function z(e,t,o){let n=`checkbox-${Date.now()}`,{required:r,min:i,max:c,...p}=E(e,o),s=r??!0,u=p.validate;return(s||i||c)&&(p.validate=a=>s&&a.length===0?"Please select at least one option":i&&a.length<i?`Please select at least ${i} options`:c&&a.length>c?`Please select at most ${c} options`:u?u(a):!0),(await $.prompt([{type:"checkbox",name:n,choices:t,pageSize:Math.min(t.length,10),...p}]))[n]}async function b(e,t,o){let n=`list-${Date.now()}`,r=E(e,o);return(await $.prompt([{type:"list",name:n,choices:t,pageSize:Math.min(t.length,10),...r}]))[n]}var U={cwd:"."};async function S(e,t){let{trim:o,...n}=Object.assign({stdio:"pipe",shell:!0,cwd:U.cwd},t);n.cwd??=U.cwd,Array.isArray(e)&&(e=e.join(" "));let r=i=>{U.verbose?y.debug(i):y.write(i)};r(`$ ${e}`);try{let c=(await he(n)`${e}`).stdout;return r(c),o?c.trim().replace(/\n|\r/g,""):c.trim()}catch(i){let c=i.stderr||i.message;throw r(c),new Error(c)}}function _(e){if(e&&e.packageManager)return e.packageManager.split("@")[0];let t=process.env.npm_config_user_agent;return t?t.split(" ")[0].split("/")[0]:void 0}var K={repo:"https://github.com",owner:H.userInfo().username};function G(e){let{repo:t,owner:o}=e;return`${t}${t.endsWith("/")?"":"/"}${o}`}async function Y(e){let t=await ke.prompt([{type:"text",name:"repo",message:`${e?.repo?"Edit":"Add"} git repository url:`,default:e?.repo||K.repo},{type:"text",name:"owner",message:`${e?.owner?"Edit":"Add"} git repository owner:`,default:e?.owner||K.owner}]);return{id:e?.id||Date.now().toString(),repo:t.repo,owner:t.owner}}var X=B.join(H.homedir(),".tomjs","create-app"),Z=B.join(X,"config.json");function D(){return xe(X),Object.assign({gitRepos:[]},ve(Z))}function je(e){let t=D();t.createTime?t.updateTime=Date.now():t.createTime=Date.now(),be(Z,Object.assign(t,e))}function Q(e){je({gitRepos:e})}async function k(e,t=!1){e||(e=D().gitRepos||[]);let o=e.map(p=>({name:G(p),value:p.id})).concat([{name:j.green("+ Add"),value:"add"},{name:j.yellow("\u2190 Exit"),value:"exit"}]),n=await b(e.length===0?"You choose to add or exit:":"You can choose the repository to be operated, or choose to add or exit:",o);if(n==="exit")return;if(n==="add"){let p=await Y();return e.push(p),Q(e),k(e,t)}let r=e.findIndex(p=>p.id===n),i=await b("Select an action?",[{name:j.green("^ Edit"),value:"edit"},{name:j.red("- Remove"),value:"remove"},{name:j.yellow("\u2190 Exit"),value:"exit"}]);if(i==="exit")return t?k(e,t):D();if(i==="remove")return await h("Where confirm to remove?",!0)&&(e.splice(r,1),Q(e)),k(e,t);let c=await Y(e[r]);return e[r]=c,Q(e),k(e,t)}async function ee(){let e=D(),{gitRepos:t}=e;return t.length===0&&(console.log(`You need to set the ${j.blue("git remote repository")} for the first time.`),await k(t)),e}var v={},Ce=g.join(Pe(import.meta.url),"../../"),ce=g.join(Ce,"templates"),Te=ie(g.join(ce,"config.json"))||{},O=Te.list||[],T=O.map(e=>e.variants?e.variants.map(t=>({parent:e,...t})):[]).flat(),Ie=O.map(e=>e.variants&&e.variants.map(t=>t.name)||[e.name]).reduce((e,t)=>e.concat(t),[]),Re=["name","version","displayName","description","private","type","engines","packageManager","keywords","categories","author","publisher","contributors","homepage","bugs","license","files","bin","main","module","types","exports","publishConfig","repository","activationEvents","contributes","badges","icon","vsce","scripts","dependencies","devDependencies","peerDependencies","optionalDependencies"],Ne=["dev","dev:","debug","start","build","build:","release","clean","preview","test","lint","lint:eslint","lint:stylelint","lint:prettier"];async function te(e){return S(`git config --get ${e}`,{trim:!0})}var ne=e=>/^(?:(@[a-z0-9.+-]+(-[a-z0-9.+-]+)*\/)?([a-z0-9][a-z0-9._-]*[a-z0-9]))$/.test(e),Ue=e=>/^[a-z0-9._-]+$/.test(e),Fe=e=>e.includes("/")?e.substring(e.indexOf("/")+1):e;function I(e){return ie(g.join(e,"package.json"))||{}}function q(e,t){Ee(g.join(e,"package.json"),t)}function se(e,t,o){let n={},r=Object.keys(e);{let s=r.filter(l=>l.includes(":"));r=r.filter(l=>!l.includes(":")).sort().concat(s)}let i=p(t),c=p(o);return i.concat(r.filter(s=>!i.includes(s)&&!c.includes(s))).concat(c).forEach(s=>{n[s]=e[s]}),n;function p(s){let u=Array.isArray(s)?s:[];return u.length>0&&(u=u.reduce((l,a)=>{if(a.endsWith(":")){let m=r.filter(d=>!l.includes(d)&&d.startsWith(a));return l.concat(m)}return r.includes(a)?l.concat(a):l},[])),u}}async function pe(e){if(Object.assign(v,e),v.git){await k(void 0,!0);return}v.type==="project"?await Ve():await le(v.type)}async function Ve(){let e="project",t=await ue(e,v.cwd),{projectDir:o}=t.userOptions;M(e,t),await W(t);let{workspaces:n}=t,r=g.join(o,"packages");n&&await h("Do you want to create an package?")&&await le("package",r);let{examples:i}=t,c=Array.isArray(i)&&i.length>0;if(c){let s=T.filter(l=>i.includes(l.name)),u=g.join(o,"examples");for(let l of s){let a=ae(l);a.templates=me(a.templates).concat(a.name);let m=g.join(u,a.name);a.userOptions={projectDir:m,pkgName:a.name,gitUserUrl:"",textVars:{}},await fe(a),M("example",a),await W(a)}}let p=w.existsSync(r)&&w.readdirSync(g.join(o,"packages")).length>0;if(p||c){let s=I(o),u=_(s)||"npm",l=[];if(p&&l.push("packages"),c&&l.push("examples"),u==="pnpm"){let m=g.join(o,"pnpm-workspace.yaml");w.existsSync(m)||C(m,`packages:
|
|
2
|
+
${l.map(d=>` - '${d}/*'
|
|
3
|
+
`)}`)}else s.workspaces??=l.map(m=>`"${m}/*"`),q(o,s);let a=s.devDependencies??{};p&&"vitest"in a&&C(g.join(o,"vitest.config.ts"),'export default ["packages/*"];')}await Qe(t)}async function le(e,t){let o=!0,n=0;for(;o;){n++;let r=await ue(e,t||v.cwd,n===1?v.template:void 0),{pkgName:i}=r.userOptions;M(e,r),await W(r),y.success(`${x.green(i)} created successfully!`),o=await h(`Do you want to create another ${e}?`)}}function re(e,...t){!Array.isArray(t)||t.length===0||t.forEach(o=>{let n=g.join(e,o);w.existsSync(n)&&R(n)})}function Le(e,t,o){if(!w.existsSync(e))return;let n=oe(e);n=n.replaceAll(t,o),C(e,n)}function _e(e,t,o){let n=o.userOptions,{textVars:r}=n;if(["scripts","dependencies","devDependencies","peerDependencies"].forEach(i=>{e[i]&&(i==="scripts"?e[i]=se(e[i],Ne,["prepare"]):e[i]=se(e[i]))}),t==="example"?(delete e.types,delete e.exports,delete e.publishConfig,delete e.repository,delete e.module,delete e.license,e.private=!0):t==="package"&&e.repository&&typeof e.repository=="object"&&(e.repository.directory=`packages/${r.pkgShortName}`),!o.test){let i=e.scripts;if(i){delete i.test;{let c=i["lint:eslint"]||"";c&&(i["lint:eslint"]=c.replace(",test",""))}}delete e.devDependencies?.vitest}e.type==="commonjs"&&delete e.type,e.private===!1&&delete e.private,o.userOptions.gitUserUrl||delete e.repository}function M(e,t,o){let n=o??t.userOptions.projectDir,r=g.join(n,".temp");$e(r);let i=t.templates||[];if((e!=="project"?i:["base/core",...i]).forEach((p,s)=>{let u=g.join(ce,p);if(!w.existsSync(u))return;Ae(u,n);let l=I(r)||{},a=De(l,I(n));if(s===i.length){let m={};Re.forEach(d=>{d in a&&(m[d]=a[d],delete a[d])}),a=Object.assign(m,a),_e(a,e,t),q(n,a)}else q(r,a)}),R(r),re(n,"tests"),Le(g.join(n,"tsconfig.json"),', "test"',""),e==="package"){let p=[".vscode"].concat(t.packages?.exclude??[]);re(n,...p)}}async function W(e,t){let o=e.userOptions,{textVars:n}=o,r=t??o.projectDir;w.readdirSync(r).filter(p=>p.startsWith("_")).forEach(p=>{w.renameSync(g.join(r,p),g.join(r,p.replace("_",".")))});let i=I(r),c=["LICENSE","README.md","README.zh_CN.md"];i.publishConfig||c.forEach(p=>{R(g.join(r,p))}),["package.json",...c].forEach(p=>{let s=g.join(r,p);if(!w.existsSync(s))return;let u=oe(s);Object.keys(n).forEach(l=>{u=u.replace(new RegExp("{{"+l+"}}","g"),n[l])}),C(s,u)})}async function ue(e,t,o){let{gitRepos:n}=await ee(),r=(v.name||"").trim(),i=ne(r);(!r||!i)&&(r=await L("Package name:",{validate:a=>ne(a)?!0:"Please input a valid name!"}));let c=Fe(r);c!==r&&(c=await L("Project name:",{default:c,validate:a=>Ue(a)?!0:"Please input a valid name!"})),y.debug("projectName:",c);let p=g.join(t,c);w.existsSync(p)&&await h("Project already exists, overwrite?")&&R(p),y.debug("projectDir:",p);let s;o&&Ie.includes(o)&&(s=T.find(a=>a.name===o));let u=async a=>{let m=await b(!s&&a?`${x.red(a)} is invalid, please select a framework again:`:"Select a framework:",O.filter(f=>!f.variants||!f.variants.length?!1:e==="package"?f.variants.filter(A=>!A.packages?.ignore).length>0:!0).map(f=>({name:f.display,value:f.name})));y.debug("framework:",m);let d=O.find(f=>f.name===m)?.variants||[],de=e==="package"?d.filter(f=>!f.packages?.ignore).map(f=>{let A=f.parent;return A?{name:`${A.display} > ${f.display}`,value:f.name}:{name:f.display,value:f.name}}):d.map(f=>({name:f.display,value:f.name})),ye=O.find(f=>f.name===m)?.display,N=await b(`Select a ${x.blue(ye)} variant:`,de.concat([{name:x.yellow("\u2190 Back"),value:"_"}]));y.debug("variant:",N),N==="_"?await u(a):s=d.find(f=>f.name===N)};if(s||await u(o),!s)throw new Error("variant not found");s=ae(s),s.templates||(s.templates=[]),s.templates=me(s.templates).concat(s.name),y.debug("variant:",s),e==="project"&&Array.isArray(s.examples)&&(s.examples=await z("Select examples:",s.examples.map(a=>{let m=T.find(d=>d.name===a);if(!m)throw new Error(`Can't find example ${x.yellow(a)} from ${x.blue(s.name)}`);return{name:m.display,value:m.name,checked:!0}}),{required:!1}));let l="";if(e==="example"?(s.devDependencies=0,s.workspaces=!1,s.test=!1):e==="package"?s.workspaces=!1:s.git&&(l=await b("Which git repository do you want to choose?",n.map(a=>{let m=G(a);return{name:m,value:m}}).concat([{name:x.yellow("None"),value:""}]))),s.devDependencies===2){let a=await h("Whether it will be used for devDependencies?");s.devDependencies=a?1:0}return s.test&&(s.test=await h("Whether to use test?")),s.userOptions={pkgName:r,projectDir:p,gitUserUrl:l},await fe(s),s}function me(e){let t=[],o=async n=>{if(!(!Array.isArray(n)||!n.length))for(let r of n){if(r.startsWith("base/")){t.push(r);continue}let i=T.find(c=>c.name===r);if(!i){y.warning(`Can't find template ${x.yellow(r)}`);continue}o(i.templates)}};return o(e),[...new Set(t)]}async function fe(e){let{pkgName:t,gitUserUrl:o}=e.userOptions,n=await te("user.name"),r=await te("user.email"),i={name:n||Oe.userInfo().username,email:r||""},c=["pnpm","yarn","npm"].map(a=>`# ${a}
|
|
4
4
|
${a} add ${t}${e.devDependencies?" -D":""}`).join(`
|
|
5
5
|
|
|
6
|
-
`),p={pkgName:t,pkgShortName:t.startsWith("@")?t.split("/")[1]:t,pkgInstall:c,gitUserName:i.name,gitUserEmail:i.email,gitOrg:
|
|
6
|
+
`),p={pkgName:t,pkgShortName:t.startsWith("@")?t.split("/")[1]:t,pkgInstall:c,gitUserName:i.name,gitUserEmail:i.email,gitOrg:u(),gitUrl:s(),gitFullUrl:l(),gitFullSSHUrl:l(),dateYear:new Date().getFullYear()};function s(){return`${o||`https://github.com/${u()}`}/${t.substring(t.indexOf("/")+1)}`}function u(){return o?o.substring(o.lastIndexOf("/")+1):t.startsWith("@")?t.split("/")[0].substring(1):Se(i.name)}function l(a=!1){let m=o||`https://github.com/${u()}`;return a&&(m=m.replace(/http(s):\/\//g,"git@").replace(/\//,":")),`${m}/${t.substring(t.indexOf("/")+1)}.git`}return e.userOptions.textVars=p,p}async function Qe(e){let{gitUserUrl:t,textVars:o,projectDir:n}=e.userOptions;t&&(await S("git init",{cwd:n}),await S(`git remote add origin ${o.gitFullSSHUrl}`,{cwd:n}));let r=process.cwd(),i=g.relative(r,n);console.log(`
|
|
7
7
|
Done. Now run:
|
|
8
|
-
`),n!==
|
|
8
|
+
`),n!==r&&console.log(` cd ${i.includes(" ")?`"${i}"`:i}`);let c=_()||"npm";switch(c){case"yarn":console.log(" yarn"),console.log(" yarn dev");break;default:console.log(` ${c} install`),console.log(` ${c} run dev`);break}}var J=Ge(`
|
|
9
9
|
Usage
|
|
10
10
|
$ create-app [name] [options]
|
|
11
11
|
|
|
@@ -23,4 +23,4 @@ Options
|
|
|
23
23
|
Examples
|
|
24
24
|
$ create-app my-project
|
|
25
25
|
$ create-app my-project --template=vue
|
|
26
|
-
`,{importMeta:import.meta,booleanDefault:void 0,helpIndent:0,flags:{cwd:{type:"string"},verbose:{type:"boolean",default:process.env.NODE_ENV==="development"},example:{shortFlag:"e",type:"boolean",default:!1},package:{shortFlag:"p",type:"boolean",default:!1},h:{type:"boolean",default:!1},v:{type:"boolean",default:!1}}}),{input:
|
|
26
|
+
`,{importMeta:import.meta,booleanDefault:void 0,helpIndent:0,flags:{cwd:{type:"string"},verbose:{type:"boolean",default:process.env.NODE_ENV==="development"},example:{shortFlag:"e",type:"boolean",default:!1},package:{shortFlag:"p",type:"boolean",default:!1},h:{type:"boolean",default:!1},v:{type:"boolean",default:!1}}}),{input:ge,flags:P}=J;if(P.h)J.showHelp(0);else if(P.v)J.showVersion();else{y.enableDebug(P.verbose),y.debug("cli options:",ge,P);let e=Object.assign({name:ge[0],type:"project"},P);e.cwd||=process.cwd(),y.debug("final options:",e),e.type=qe(e),await pe(e)}function qe(e){return e.example?"example":e.package?"package":"project"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tomjs/create-app",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"description": "create tomjs web app",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"tomjs",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"@tomjs/node": "^2.1.0",
|
|
48
48
|
"chalk": "^5.3.0",
|
|
49
49
|
"dayjs": "^1.11.11",
|
|
50
|
-
"execa": "^9.
|
|
50
|
+
"execa": "^9.2.0",
|
|
51
51
|
"inquirer": "^9.2.23",
|
|
52
52
|
"lodash-es": "^4.17.21",
|
|
53
53
|
"meow": "^13.2.0"
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
"prettier": "^3.3.1",
|
|
73
73
|
"stylelint": "^16.6.1",
|
|
74
74
|
"tsup": "^8.1.0",
|
|
75
|
-
"tsx": "^4.
|
|
76
|
-
"type-fest": "^4.
|
|
75
|
+
"tsx": "^4.15.1",
|
|
76
|
+
"type-fest": "^4.20.0",
|
|
77
77
|
"typescript": "~5.4.5"
|
|
78
78
|
},
|
|
79
79
|
"scripts": {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"description": "vite + electron",
|
|
2
3
|
"type": "module",
|
|
3
4
|
"engines": {
|
|
4
5
|
"node": ">=18"
|
|
@@ -17,9 +18,8 @@
|
|
|
17
18
|
},
|
|
18
19
|
"devDependencies": {
|
|
19
20
|
"@tomjs/vite-plugin-electron": "^1.9.0",
|
|
20
|
-
"electron": "^30.0
|
|
21
|
+
"electron": "^30.1.0",
|
|
21
22
|
"electron-builder": "^24.13.3",
|
|
22
|
-
"vite": "^5.2.12",
|
|
23
23
|
"vite-plugin-electron-renderer": "^0.14.5"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -39,7 +39,8 @@
|
|
|
39
39
|
"url": "git+{{gitUrl}}.git"
|
|
40
40
|
},
|
|
41
41
|
"bugs": {
|
|
42
|
-
"url": "
|
|
42
|
+
"url": "{{gitUrl}}/issues",
|
|
43
|
+
"email": "{{gitUserEmail}}"
|
|
43
44
|
},
|
|
44
45
|
"homepage": "{{gitUrl}}/blob/main/README.md",
|
|
45
46
|
"icon": "resources/logo.png",
|
|
@@ -62,9 +63,9 @@
|
|
|
62
63
|
},
|
|
63
64
|
"devDependencies": {
|
|
64
65
|
"@tomjs/vite-plugin-vscode": "^2.3.1",
|
|
65
|
-
"@tomjs/vscode-dev": "^2.
|
|
66
|
+
"@tomjs/vscode-dev": "^2.2.0",
|
|
66
67
|
"@types/vscode": "^1.56.0",
|
|
67
68
|
"@types/vscode-webview": "^1.57.5",
|
|
68
|
-
"vite": "^5.2.
|
|
69
|
+
"vite": "^5.2.13"
|
|
69
70
|
}
|
|
70
71
|
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1717641233000" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3499" width="256" height="256" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M396.24 502.47m-41.91 0a41.91 41.91 0 1 0 83.82 0 41.91 41.91 0 1 0-83.82 0Z" fill="#005ba4" p-id="3500"></path><path d="M615.18 502.47m-41.91 0a41.91 41.91 0 1 0 83.82 0 41.91 41.91 0 1 0-83.82 0Z" fill="#005ba4" p-id="3501"></path><path d="M504.6 863.45c-216.57 0-348.06-211.65-348.06-304.73 0-177.6 156.14-322.1 348.06-322.1s348.06 144.5 348.06 322.1c0 91.13-118.42 304.73-348.06 304.73z m0-577.28c-164.6 0-298.51 122.26-298.51 272.55 0 73.6 118.97 255.18 298.51 255.18 193.9 0 298.51-181.13 298.51-255.18 0-150.29-133.91-272.55-298.51-272.55z" fill="#005ba4" p-id="3502"></path><path d="M181.3 583.5c-13.19 0-24.16-10.4-24.73-23.71l-15.63-360.94c-0.4-9.23 4.37-17.9 12.37-22.52a24.7 24.7 0 0 1 25.69 0.56l166.11 105.86c11.54 7.35 14.93 22.66 7.58 34.19-7.35 11.55-22.64 14.94-34.21 7.58L192.5 244.25l13.57 313.4c0.6 13.66-10.01 25.23-23.68 25.82-0.36 0.03-0.72 0.03-1.09 0.03zM830.12 583.5c-0.36 0-0.73 0-1.09-0.02-13.67-0.6-24.27-12.16-23.68-25.82l13.57-313.4-125.98 80.27c-11.56 7.34-26.86 3.95-34.21-7.56-7.35-11.55-3.96-26.85 7.58-34.21l166.1-105.86c7.8-5 17.7-5.21 25.69-0.56 8 4.61 12.77 13.29 12.37 22.52L854.84 559.8c-0.56 13.29-11.53 23.7-24.72 23.7zM911.81 790.16c-2 0-4.04-0.24-6.06-0.76l-234.1-58.97c-13.27-3.34-21.31-16.81-17.98-30.06 3.34-13.26 16.85-21.34 30.07-17.97l234.1 58.97c13.27 3.34 21.31 16.81 17.98 30.06-2.83 11.25-12.92 18.73-24.01 18.73zM116.13 790.16c-11.09 0-21.18-7.48-24.01-18.73-3.34-13.26 4.7-26.73 17.98-30.06l234.1-58.97c13.23-3.42 26.73 4.69 30.07 17.97 3.34 13.26-4.7 26.73-17.98 30.06l-234.1 58.97c-2.02 0.52-4.06 0.76-6.06 0.76zM340.67 633.18H40.23c-13.69 0-24.77-11.1-24.77-24.77 0-13.68 11.09-24.77 24.77-24.77h300.44c13.69 0 24.77 11.1 24.77 24.77s-11.09 24.77-24.77 24.77zM984.31 633.18H683.87c-13.69 0-24.77-11.1-24.77-24.77 0-13.68 11.09-24.77 24.77-24.77h300.44c13.69 0 24.77 11.1 24.77 24.77s-11.09 24.77-24.77 24.77z" fill="#005ba4" p-id="3503"></path><path d="M510.89 576.08m-33.31 0a33.31 33.31 0 1 0 66.62 0 33.31 33.31 0 1 0-66.62 0Z" fill="#005ba4" p-id="3504"></path><path d="M454.4 690.66c-44.81 0-81.27-36.45-81.27-81.27 0-13.68 11.09-24.77 24.77-24.77 13.69 0 24.77 11.1 24.77 24.77 0 17.5 14.23 31.73 31.73 31.73s31.72-14.23 31.72-31.73c0-13.68 11.09-24.77 24.77-24.77s24.77 11.1 24.77 24.77c0.01 44.82-36.45 81.27-81.26 81.27z" fill="#005ba4" p-id="3505"></path><path d="M567.39 690.66c-44.81 0-81.27-36.45-81.27-81.27 0-13.68 11.09-24.77 24.77-24.77s24.77 11.1 24.77 24.77c0 17.5 14.23 31.73 31.73 31.73s31.72-14.23 31.72-31.73c0-13.68 11.09-24.77 24.77-24.77s24.77 11.1 24.77 24.77c0.01 44.82-36.45 81.27-81.26 81.27z" fill="#005ba4" p-id="3506"></path></svg>
|
package/templates/config.json
CHANGED
|
@@ -87,17 +87,20 @@
|
|
|
87
87
|
"variants": [
|
|
88
88
|
{
|
|
89
89
|
"name": "vscode",
|
|
90
|
-
"display": "Base"
|
|
90
|
+
"display": "Base",
|
|
91
|
+
"git": 2
|
|
91
92
|
},
|
|
92
93
|
{
|
|
93
94
|
"name": "vscode-vue",
|
|
94
95
|
"display": "Vue",
|
|
95
|
-
"templates": ["base/style", "base/vue", "base/vscode"]
|
|
96
|
+
"templates": ["base/style", "base/vue", "base/vscode"],
|
|
97
|
+
"git": 2
|
|
96
98
|
},
|
|
97
99
|
{
|
|
98
100
|
"name": "vscode-react",
|
|
99
101
|
"display": "React",
|
|
100
|
-
"templates": ["base/style", "base/react", "base/vscode"]
|
|
102
|
+
"templates": ["base/style", "base/react", "base/vscode"],
|
|
103
|
+
"git": 2
|
|
101
104
|
}
|
|
102
105
|
]
|
|
103
106
|
}
|
|
@@ -1,26 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "vite + electron +
|
|
3
|
-
"type": "module",
|
|
4
|
-
"engines": {
|
|
5
|
-
"node": ">=18"
|
|
6
|
-
},
|
|
7
|
-
"main": "dist/main/index.mjs",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"dev": "vite",
|
|
10
|
-
"debug": "cross-env VITE_ELECTRON_DEBUG=1 npm run dev",
|
|
11
|
-
"build": "npm run clean && vite build",
|
|
12
|
-
"release": "cross-env VITE_ELECTRON_BUILDER=1 npm run build",
|
|
13
|
-
"clean": "rimraf ./dist",
|
|
14
|
-
"lint:eslint": "eslint \"{src,electron}/**/*.{ts,tsx}\" *.{js,cjs,mjs,ts} --fix --cache"
|
|
15
|
-
},
|
|
16
|
-
"dependencies": {
|
|
17
|
-
"@tomjs/electron-devtools-installer": "^2.2.1"
|
|
18
|
-
},
|
|
19
|
-
"devDependencies": {
|
|
20
|
-
"@tomjs/vite-plugin-electron": "^1.9.0",
|
|
21
|
-
"electron": "^30.0.9",
|
|
22
|
-
"electron-builder": "^24.13.3",
|
|
23
|
-
"vite": "^5.2.12",
|
|
24
|
-
"vite-plugin-electron-renderer": "^0.14.5"
|
|
25
|
-
}
|
|
2
|
+
"description": "vite + electron + react"
|
|
26
3
|
}
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"url": "git+{{gitUrl}}.git"
|
|
31
31
|
},
|
|
32
32
|
"bugs": {
|
|
33
|
-
"url": "
|
|
33
|
+
"url": "{{gitUrl}}/issues",
|
|
34
|
+
"email": "{{gitUserEmail}}"
|
|
34
35
|
},
|
|
35
36
|
"homepage": "{{gitUrl}}/blob/main/README.md",
|
|
36
37
|
"icon": "resources/logo.png",
|
|
@@ -40,16 +41,16 @@
|
|
|
40
41
|
},
|
|
41
42
|
"scripts": {
|
|
42
43
|
"dev": "run-p dev:*",
|
|
43
|
-
"dev:
|
|
44
|
+
"dev:vsd": "vscode-dev --watch",
|
|
44
45
|
"dev:dist": "tsup --watch",
|
|
45
|
-
"build": "vscode-dev
|
|
46
|
+
"build": "vscode-dev && tsup --minify"
|
|
46
47
|
},
|
|
47
48
|
"dependencies": {
|
|
48
49
|
"@tomjs/node": "^2.1.0",
|
|
49
|
-
"@tomjs/vscode": "^2.0
|
|
50
|
+
"@tomjs/vscode": "^2.1.0"
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|
|
52
|
-
"@tomjs/vscode-dev": "^
|
|
53
|
+
"@tomjs/vscode-dev": "^2.2.0",
|
|
53
54
|
"@types/vscode": "^1.56.0",
|
|
54
55
|
"tsup": "^8.1.0"
|
|
55
56
|
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1717641233000" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3499" width="256" height="256" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M396.24 502.47m-41.91 0a41.91 41.91 0 1 0 83.82 0 41.91 41.91 0 1 0-83.82 0Z" fill="#005ba4" p-id="3500"></path><path d="M615.18 502.47m-41.91 0a41.91 41.91 0 1 0 83.82 0 41.91 41.91 0 1 0-83.82 0Z" fill="#005ba4" p-id="3501"></path><path d="M504.6 863.45c-216.57 0-348.06-211.65-348.06-304.73 0-177.6 156.14-322.1 348.06-322.1s348.06 144.5 348.06 322.1c0 91.13-118.42 304.73-348.06 304.73z m0-577.28c-164.6 0-298.51 122.26-298.51 272.55 0 73.6 118.97 255.18 298.51 255.18 193.9 0 298.51-181.13 298.51-255.18 0-150.29-133.91-272.55-298.51-272.55z" fill="#005ba4" p-id="3502"></path><path d="M181.3 583.5c-13.19 0-24.16-10.4-24.73-23.71l-15.63-360.94c-0.4-9.23 4.37-17.9 12.37-22.52a24.7 24.7 0 0 1 25.69 0.56l166.11 105.86c11.54 7.35 14.93 22.66 7.58 34.19-7.35 11.55-22.64 14.94-34.21 7.58L192.5 244.25l13.57 313.4c0.6 13.66-10.01 25.23-23.68 25.82-0.36 0.03-0.72 0.03-1.09 0.03zM830.12 583.5c-0.36 0-0.73 0-1.09-0.02-13.67-0.6-24.27-12.16-23.68-25.82l13.57-313.4-125.98 80.27c-11.56 7.34-26.86 3.95-34.21-7.56-7.35-11.55-3.96-26.85 7.58-34.21l166.1-105.86c7.8-5 17.7-5.21 25.69-0.56 8 4.61 12.77 13.29 12.37 22.52L854.84 559.8c-0.56 13.29-11.53 23.7-24.72 23.7zM911.81 790.16c-2 0-4.04-0.24-6.06-0.76l-234.1-58.97c-13.27-3.34-21.31-16.81-17.98-30.06 3.34-13.26 16.85-21.34 30.07-17.97l234.1 58.97c13.27 3.34 21.31 16.81 17.98 30.06-2.83 11.25-12.92 18.73-24.01 18.73zM116.13 790.16c-11.09 0-21.18-7.48-24.01-18.73-3.34-13.26 4.7-26.73 17.98-30.06l234.1-58.97c13.23-3.42 26.73 4.69 30.07 17.97 3.34 13.26-4.7 26.73-17.98 30.06l-234.1 58.97c-2.02 0.52-4.06 0.76-6.06 0.76zM340.67 633.18H40.23c-13.69 0-24.77-11.1-24.77-24.77 0-13.68 11.09-24.77 24.77-24.77h300.44c13.69 0 24.77 11.1 24.77 24.77s-11.09 24.77-24.77 24.77zM984.31 633.18H683.87c-13.69 0-24.77-11.1-24.77-24.77 0-13.68 11.09-24.77 24.77-24.77h300.44c13.69 0 24.77 11.1 24.77 24.77s-11.09 24.77-24.77 24.77z" fill="#005ba4" p-id="3503"></path><path d="M510.89 576.08m-33.31 0a33.31 33.31 0 1 0 66.62 0 33.31 33.31 0 1 0-66.62 0Z" fill="#005ba4" p-id="3504"></path><path d="M454.4 690.66c-44.81 0-81.27-36.45-81.27-81.27 0-13.68 11.09-24.77 24.77-24.77 13.69 0 24.77 11.1 24.77 24.77 0 17.5 14.23 31.73 31.73 31.73s31.72-14.23 31.72-31.73c0-13.68 11.09-24.77 24.77-24.77s24.77 11.1 24.77 24.77c0.01 44.82-36.45 81.27-81.26 81.27z" fill="#005ba4" p-id="3505"></path><path d="M567.39 690.66c-44.81 0-81.27-36.45-81.27-81.27 0-13.68 11.09-24.77 24.77-24.77s24.77 11.1 24.77 24.77c0 17.5 14.23 31.73 31.73 31.73s31.72-14.23 31.72-31.73c0-13.68 11.09-24.77 24.77-24.77s24.77 11.1 24.77 24.77c0.01 44.82-36.45 81.27-81.26 81.27z" fill="#005ba4" p-id="3506"></path></svg>
|