@kunver/new 2.3.3 → 2.4.3

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 (30) hide show
  1. package/dist/index.js +5 -3
  2. package/dist/templates/electron-svelte/.prettierignore +6 -0
  3. package/dist/templates/electron-svelte/.prettierrc.yaml +13 -0
  4. package/dist/templates/electron-svelte/.vscode/launch.json +39 -0
  5. package/dist/templates/electron-svelte/.vscode/settings.json +15 -0
  6. package/dist/templates/electron-svelte/README.md +3 -0
  7. package/dist/templates/electron-svelte/build/entitlements.mac.plist +12 -0
  8. package/dist/templates/electron-svelte/build/icon.icns +0 -0
  9. package/dist/templates/electron-svelte/build/icon.ico +0 -0
  10. package/dist/templates/electron-svelte/build/icon.png +0 -0
  11. package/dist/templates/electron-svelte/bun.lock +1154 -0
  12. package/dist/templates/electron-svelte/electron-builder.yml +44 -0
  13. package/dist/templates/electron-svelte/electron.vite.config.ts +15 -0
  14. package/dist/templates/electron-svelte/manager.cjs +69 -0
  15. package/dist/templates/electron-svelte/package.json +44 -0
  16. package/dist/templates/electron-svelte/resources/icon.png +0 -0
  17. package/dist/templates/electron-svelte/src/main/index.ts +62 -0
  18. package/dist/templates/electron-svelte/src/preload/index.d.ts +8 -0
  19. package/dist/templates/electron-svelte/src/preload/index.ts +22 -0
  20. package/dist/templates/electron-svelte/src/renderer/index.html +16 -0
  21. package/dist/templates/electron-svelte/src/renderer/src/App.svelte +8 -0
  22. package/dist/templates/electron-svelte/src/renderer/src/assets/main.css +1 -0
  23. package/dist/templates/electron-svelte/src/renderer/src/env.d.ts +2 -0
  24. package/dist/templates/electron-svelte/src/renderer/src/main.ts +11 -0
  25. package/dist/templates/electron-svelte/svelte.config.mjs +7 -0
  26. package/dist/templates/electron-svelte/tsconfig.json +4 -0
  27. package/dist/templates/electron-svelte/tsconfig.node.json +11 -0
  28. package/dist/templates/electron-svelte/tsconfig.web.json +17 -0
  29. package/package.json +39 -38
  30. /package/{README.md → README.MD} +0 -0
package/dist/index.js CHANGED
@@ -1,3 +1,5 @@
1
- import oe from"fs";import ne from"path";import{input as ie,select as T}from"@inquirer/prompts";import p from"chalk";import z,{join as M}from"path";import{fileURLToPath as N}from"url";import{execa as C}from"execa";import w from"chalk";import D from"ora";async function c(e,r,a){let t;switch(e){case"pnpm":t=`cd ${r} && pnpm install`;break;case"npm":t=`cd ${r} && npm install`;break;case"bun":t=`cd ${r} && bun install`;break;default:t=`cd ${r} && pnpm install`}let o=D("Installing dependencies with "+w.blue(e)).start();try{return await C(t,{shell:!0,cwd:a}),o.succeed("Installed dependencies for "+w.blue(r)),!0}catch{return o.fail("Failed to install dependencies for "+w.blue(r)),!1}}import{promises as R}from"fs";import W from"ora";async function l(e,r){let a=W("Copying template folder...").start();try{return await R.cp(e,r,{recursive:!0}),a.succeed("Copied template folder"),!0}catch{return a.fail("Failed to copy template folder"),!1}}import{spawn as J}from"child_process";import x from"ora";import i from"chalk";import{execa as L}from"execa";async function y(e,r,a){switch(e){case"pnpm":return await d(r,a);case"bun":return await f(r,a);default:return!1}}async function d(e,r){let a=x("Approving builds for "+i.blue(e)).start();try{return new Promise(t=>{let o=J("pnpm",["approve-builds"],{cwd:`${r}/${e}`,stdio:["pipe","inherit","inherit"],shell:!0});setTimeout(()=>{o.stdin?.write(`a
2
- `),setTimeout(()=>{o.stdin?.write(`y
3
- `),o.stdin?.end()},1e3)},2e3),o.on("close",n=>{n===0?(a.succeed("Approved builds for "+i.blue(e)),t(!0)):(a.fail("Failed to approve builds for "+i.blue(e)),t(!1))}),o.on("error",n=>{a.fail("Failed to approve builds for "+i.blue(e)),console.error(n),t(!1)})})}catch(t){return a.fail("Failed to approve builds for "+i.blue(e)),console.error(t),!1}}async function f(e,r){let a=`cd ${e} && bun pm trust --all`,t=x("Approving builds for "+i.blue(e)).start();try{return await L(a,{shell:!0,cwd:r}),t.succeed("Approved builds for "+i.blue(e)),!0}catch{return t.fail("Failed to approve builds for "+i.blue(e)),!1}}import{join as U}from"path";import j from"fs";async function s(e,r,a){let t=U(a,r,"package.json"),o=JSON.parse(j.readFileSync(t,"utf-8"));e==="bun"?o.scripts.manager=`bun manager.cjs ${e}`:o.scripts.manager=`node manager.cjs ${e}`,j.writeFileSync(t,JSON.stringify(o,null,2))}var X=N(import.meta.url),q=z.dirname(X);async function v(e){let{name:r,packageManager:a,cwd:t=process.cwd()}=e,o=M(q,"templates","react-ts-tw");try{if(!await l(o,M(t,r)))throw new Error("Failed to copy template folder");if(!await c(a,r,t))throw new Error("Failed to install dependencies");return await s(a,r,t),a==="pnpm"?await d(r,t):a==="bun"&&await f(r,t),!0}catch(n){throw console.error("Error creating React project:",n),n}}import G,{join as P}from"path";import{fileURLToPath as H}from"url";var K=H(import.meta.url),Q=G.dirname(K);async function F(e){let{name:r,packageManager:a,cwd:t=process.cwd()}=e,o=P(Q,"templates","next-prisma");try{if(!await l(o,P(t,r)))throw new Error("Failed to copy template folder");if(!await c(a,r,t))throw new Error("Failed to install dependencies");return await s(a,r,t),a==="pnpm"?await d(r,t):a==="bun"&&await f(r,t),!0}catch(n){throw console.error("Error creating Next project:",n),n}}import V,{join as u}from"path";import{fileURLToPath as Y}from"url";import Z from"chalk";import{select as ee}from"@inquirer/prompts";var te=["react - !not ready","vue - !not ready","svelte","vanilla"],re=Y(import.meta.url),b=V.dirname(re);async function S(e){let{name:r,packageManager:a,cwd:t=process.cwd(),selectedFramework:o}=e;try{let n=o||await ee({message:Z.bold.magenta("Select a framework for WXT"),choices:te,default:"svelte"}),m=u(b,"templates","wxt-svelte");switch(n){case"svelte":m=u(b,"templates","wxt-svelte");break;case"vanilla":m=u(b,"templates","wxt-vanilla");break;default:break}await l(m,u(t,r))&&(await s(a,r,t),await c(a,r,t),await y(a,r,t),await s(a,r,t))}catch(n){console.error(n)}}import{join as E}from"path";import h from"fs";async function I(e){let{name:r,cwd:a=process.cwd()}=e,t=E(a,r);h.existsSync(t)||h.mkdirSync(t);let o=E(t,"main.ipynb");h.writeFileSync(o,"")}import{execa as ae}from"execa";import g from"chalk";async function O(e,r,a){console.log(g.white("Opening "+g.blue(e)+" in "+g.green(a)));try{return await ae(`${a} ${e}`,{shell:!0,cwd:r}),!0}catch(t){return console.error(g.red("Failed to open project in editor:"),t),!1}}var _=["react-ts-tw","next-ts-prisma","wxt","python-notebook","cpp-makefile"],$=["bun","pnpm","npm"];async function k(e){switch(e.projectType){case"react-ts-tw":await v({name:e.name,packageManager:e.packageManager});break;case"next-ts-prisma":await F({name:e.name,packageManager:e.packageManager});break;case"wxt":await S({name:e.name,packageManager:e.packageManager});break;case"python-notebook":await I({name:e.name});break;default:console.log("Project Type Not Implemented",e.projectType);break}e.openInEditor!=="no"&&await O(e.name,process.cwd(),e.openInEditor)}var pe=await ie({message:p.bold.blue("Enter a project name"),default:p.gray("my-project"),validate:e=>!e||e.trim().length<2?p.red("Project name must be at least 2 characters"):/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)?oe.existsSync(ne.resolve(process.cwd(),e))?p.red("A folder with that name already exists"):!0:p.red("Only lowercase letters, numbers, and single hyphens allowed. No spaces or special characters.")}),A=await T({message:p.bold.yellow("Select a project type"),default:"react-ts-tw",choices:_}),B;A!=="python-notebook"&&(B=await T({message:p.bold.green("Select a package manager"),choices:$,default:"bun"}));var se=await T({message:p.bold.cyan("Open in editor?"),choices:["no","windsurf","cursor","code"],default:"no"}),ce={projectType:A,packageManager:B,name:pe,openInEditor:se};await k(ce);
1
+ import I,{readFileSync,constants,promises}from'fs';import Y,{dirname,join}from'path';import {input,select}from'@inquirer/prompts';import s from'chalk';import {access,mkdir,writeFile}from'fs/promises';import {spawn}from'child_process';import E from'ora';import {execa}from'execa';import {fileURLToPath}from'url';async function u(e){let{name:o,cwd:t=process.cwd()}=e,r=join(t,o);try{await access(r,constants.F_OK);}catch{await mkdir(r,{recursive:true});}let a=join(r,"main.ipynb");await writeFile(a,"");}var j=["react-ts-tw","next-ts-prisma","wxt","electron-svelte","python-notebook"],v=["bun","pnpm","npm"],M=["no","windsurf","cursor","code"],P=["svelte","vanilla"];async function m(e,o,t){switch(e){case "pnpm":return await W(o,t);case "bun":return await z(o,t);default:return false}}async function W(e,o){let t=E("Approving builds for "+s.blue(e)).start();try{return new Promise(r=>{let a=spawn("pnpm",["approve-builds"],{cwd:`${o}/${e}`,stdio:["pipe","inherit","inherit"],shell:!0});setTimeout(()=>{a.stdin?.write(`a
2
+ `),setTimeout(()=>{a.stdin?.write(`y
3
+ `),a.stdin?.end();},1e3);},2e3),a.on("close",n=>{n===0?(t.succeed("Approved builds for "+s.blue(e)),r(!0)):(t.fail("Failed to approve builds for "+s.blue(e)),r(!1));}),a.on("error",n=>{t.fail("Failed to approve builds for "+s.blue(e)),console.error(n),r(!1);});})}catch(r){return t.fail("Failed to approve builds for "+s.blue(e)),console.error(r),false}}async function z(e,o){let t=`cd ${e} && bun pm trust --all`,r=E("Approving builds for "+s.blue(e)).start();try{return await execa(t,{shell:!0,cwd:o}),r.succeed("Approved builds for "+s.blue(e)),!0}catch{return r.fail("Failed to approve builds for "+s.blue(e)),false}}async function g(e,o,t){let r=`cd ${o} && ${e} install`;console.log("Installing dependencies with "+s.cyan(e)+`
4
+ `);try{return await execa(r,{shell:!0,cwd:t,stdout:"inherit",stderr:"inherit"}),!0}catch{return false}}async function w(e,o){let t=E("Copying template folder...").start();try{return await promises.cp(e,o,{recursive:!0}),t.succeed("Copied template folder"),!0}catch{return t.fail("Failed to copy template folder"),false}}async function y(e,o,t){let r=join(t,o,"package.json"),a=await I.promises.readFile(r,"utf-8"),n=JSON.parse(a);e==="bun"?n.scripts.manager=`bun manager.cjs ${e}`:n.scripts.manager=`node manager.cjs ${e}`,await I.promises.writeFile(r,JSON.stringify(n,null,2));}async function b(e,o,t){console.log(s.white("Opening "+s.blue(e)+" in "+s.green(t)));try{return await execa(`${t} ${e}`,{shell:!0,cwd:o}),!0}catch(r){return console.error(s.red("Failed to open project in editor:"),r),false}}async function i(e){let{templateName:o,name:t,packageManager:r,cwd:a=process.cwd(),addManager:n=true,approveBuild:p=true,installDependency:l=true}=e,A=join(__dirname,"templates",o);try{if(!await w(A,join(a,t)))throw new Error("Failed to copy template folder");if(l&&!await g(r,t,a))throw new Error("Failed to install dependencies");return n&&await y(r,t,a),p&&await m(r,t,a),!0}catch(f){throw console.error("Error creating project:",f),f}}async function h(e){let{name:o,packageManager:t,selectedFramework:r}=e;try{let a=P,n=a.includes("svelte")?"svelte":a[0],p;switch(r&&a.includes(r)?p=r:p=await select({message:s.bold.magenta("Select a framework for WXT"),choices:a.map(l=>({name:l.charAt(0).toUpperCase()+l.slice(1),value:l})),default:n}),p){case "svelte":await i({templateName:"wxt-svelte",name:o,packageManager:t});break;case "vanilla":await i({templateName:"wxt-vanilla",name:o,packageManager:t});break;default:break}}catch(a){console.error(a);}}async function k(e){switch(e.projectType){case "react-ts-tw":await i({templateName:"react-ts-tw",name:e.name,packageManager:e.packageManager});break;case "next-ts-prisma":await i({templateName:"next-ts-prisma",name:e.name,packageManager:e.packageManager});break;case "wxt":await h({name:e.name,packageManager:e.packageManager});break;case "electron-svelte":await i({templateName:"electron-svelte",name:e.name,packageManager:e.packageManager});break;case "python-notebook":await u({name:e.name});break;default:console.log("Project Type Not Implemented",e.projectType);break}e.openInEditor!=="no"&&await b(e.name,process.cwd(),e.openInEditor);}var ae=fileURLToPath(import.meta.url),oe=dirname(ae),ne=join(oe,"../package.json"),se=JSON.parse(readFileSync(ne,"utf8")),ce=se.version;console.log(s.green("Kunver v"+s.bold(ce)+`
5
+ `));var ie=await input({message:s.bold.blue("Enter a project name"),default:s.gray("my-project"),validate:e=>!e||e.trim().length<2?s.red("Project name must be at least 2 characters"):/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)?I.existsSync(Y.resolve(process.cwd(),e))?s.red("A folder with that name already exists"):true:s.red("Only lowercase letters, numbers, and single hyphens allowed. No spaces or special characters.")}),S=await select({message:s.bold.yellow("Select a project type"),default:"react-ts-tw",choices:j}),$="bun";S!=="python-notebook"&&($=await select({message:s.bold.green("Select a package manager"),choices:v,default:"bun"}));var pe=await select({message:s.bold.cyan("Open in editor?"),choices:M,default:"no"}),le={projectType:S,packageManager:$,name:ie,openInEditor:pe};await k(le);
@@ -0,0 +1,6 @@
1
+ out
2
+ dist
3
+ pnpm-lock.yaml
4
+ LICENSE.md
5
+ tsconfig.json
6
+ tsconfig.*.json
@@ -0,0 +1,13 @@
1
+ singleQuote: true
2
+ semi: false
3
+ printWidth: 120
4
+ useTabs: false
5
+ arrowParens: avoid
6
+ tabWidth: 2
7
+ trailingComma: all
8
+ plugins:
9
+ - prettier-plugin-svelte
10
+ overrides:
11
+ - files: '*.svelte'
12
+ options:
13
+ parser: svelte
@@ -0,0 +1,39 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "name": "Debug Main Process",
6
+ "type": "node",
7
+ "request": "launch",
8
+ "cwd": "${workspaceRoot}",
9
+ "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-vite",
10
+ "windows": {
11
+ "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-vite.cmd"
12
+ },
13
+ "runtimeArgs": ["--sourcemap"],
14
+ "env": {
15
+ "REMOTE_DEBUGGING_PORT": "9222"
16
+ }
17
+ },
18
+ {
19
+ "name": "Debug Renderer Process",
20
+ "port": 9222,
21
+ "request": "attach",
22
+ "type": "chrome",
23
+ "webRoot": "${workspaceFolder}/src/renderer",
24
+ "timeout": 60000,
25
+ "presentation": {
26
+ "hidden": true
27
+ }
28
+ }
29
+ ],
30
+ "compounds": [
31
+ {
32
+ "name": "Debug All",
33
+ "configurations": ["Debug Main Process", "Debug Renderer Process"],
34
+ "presentation": {
35
+ "order": 1
36
+ }
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "[typescript]": {
3
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
4
+ },
5
+ "[javascript]": {
6
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
7
+ },
8
+ "[json]": {
9
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
10
+ },
11
+ "[svelte]": {
12
+ "editor.defaultFormatter": "svelte.svelte-vscode"
13
+ },
14
+ "svelte.enable-ts-plugin": true
15
+ }
@@ -0,0 +1,3 @@
1
+ # electron-vite
2
+
3
+ An Electron application with Svelte, TypeScript and Tailwind CSS
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>com.apple.security.cs.allow-jit</key>
6
+ <true/>
7
+ <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
8
+ <true/>
9
+ <key>com.apple.security.cs.allow-dyld-environment-variables</key>
10
+ <true/>
11
+ </dict>
12
+ </plist>