create-electro 1.0.5 → 1.0.6
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 +7 -4
- package/{template/monorepo → dist/template-monorepo}/README.md +3 -1
- package/dist/template-monorepo/_gitignore +5 -0
- package/dist/template-monorepo/package.json +26 -0
- package/dist/template-monorepo/runtime/package.json +15 -0
- package/{template/monorepo → dist/template-monorepo}/runtime/src/modules/app.window.ts +0 -1
- package/dist/template-monorepo/views/main/package.json +17 -0
- package/package.json +2 -3
- package/template/monorepo/package.json +0 -26
- package/template/monorepo/runtime/package.json +0 -15
- package/template/monorepo/views/main/package.json +0 -17
- /package/{template/monorepo → dist/template-monorepo}/electro.config.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/pnpm-workspace.yaml +0 -0
- /package/{template/monorepo → dist/template-monorepo}/runtime/electro-env.d.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/runtime/runtime.config.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/runtime/src/main.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/runtime/src/modules/app.module.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/runtime/src/modules/app.shell.service.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/runtime/src/modules/app.view.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/runtime/src/modules/notes/notes.module.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/runtime/src/modules/notes/notes.service.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/runtime/tsconfig.json +0 -0
- /package/{template/monorepo → dist/template-monorepo}/views/main/electro-env.d.ts +0 -0
- /package/{template/monorepo → dist/template-monorepo}/views/main/index.html +0 -0
- /package/{template/monorepo → dist/template-monorepo}/views/main/src/app.css +0 -0
- /package/{template/monorepo → dist/template-monorepo}/views/main/src/app.tsx +0 -0
- /package/{template/monorepo → dist/template-monorepo}/views/main/src/icon.svg +0 -0
- /package/{template/monorepo → dist/template-monorepo}/views/main/src/main.tsx +0 -0
- /package/{template/monorepo → dist/template-monorepo}/views/main/tsconfig.json +0 -0
- /package/{template/monorepo → dist/template-monorepo}/views/main/view.config.ts +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import{basename as e,dirname as t,
|
|
1
|
+
import{basename as e,dirname as t,extname as n,join as r,resolve as i}from"node:path";import{fileURLToPath as a}from"node:url";import{copyFile as o,mkdir as s,readFile as c,readdir as l,rm as u,stat as d,writeFile as f}from"node:fs/promises";const p=[e=>a(new URL(`../../../templates/${e}`,import.meta.url)),e=>a(new URL(`../dist/template-${e}`,import.meta.url))],m=new Map([[`_gitignore`,`.gitignore`]]),h=new Set([`.css`,`.html`,`.json`,`.md`,`.svg`,`.ts`,`.tsx`,`.yaml`,`.yml`]);function g(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t.length>0?t:`electro-app`}function _(e){return e.split(/[^a-zA-Z0-9]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}async function v(e){try{return await d(e),!0}catch{return!1}}async function y(e){let t=await l(e);await Promise.all(t.map(t=>u(r(e,t),{recursive:!0,force:!0})))}async function b(e,t){if(!await v(e)){await s(e,{recursive:!0});return}if((await l(e)).length!==0){if(!t)throw Error(`Target directory "${e}" is not empty. Use --force to remove existing files.`);await y(e)}}async function x(e){let t=p.map(t=>t(e));for(let e of t)if(await v(e))return e;throw Error(`Unknown template "${e}". Checked:\n${t.map(e=>`- ${e}`).join(`
|
|
2
|
+
`)}`)}function S(e){return m.get(e)??e}function C(t){return h.has(n(t))||e(t)===`_gitignore`}function w(e,t){return e.replaceAll(`__DISPLAY_NAME__`,t.displayName)}async function T(e,t){let n=r(e,`package.json`);if(!await v(n))return;let i=await c(n,`utf8`),a=JSON.parse(i);a.name=t.packageName,await f(n,`${JSON.stringify(a,null,4)}\n`,`utf8`)}async function E(e,n,r){if(await s(t(n),{recursive:!0}),!C(e)){await o(e,n);return}await f(n,w(await c(e,`utf8`),r),`utf8`)}async function D(e,t,n,i){let a=await l(e,{withFileTypes:!0});for(let o of a.sort((e,t)=>e.name.localeCompare(t.name))){let a=r(e,o.name),s=r(t,S(o.name));if(o.isDirectory()){await D(a,s,n,i);continue}o.isFile()&&(await E(a,s,n),i.push(s))}}async function O(t){let n=t.force??!1,r=t.template??`monorepo`,i=g(e(t.projectDir)),a={displayName:_(i),packageName:i};await b(t.projectDir,n);let o=await x(r),s=[];return await D(o,t.projectDir,a,s),await T(t.projectDir,a),s.sort()}const k=`monorepo`;function A(){console.log(`create-electro
|
|
2
3
|
|
|
3
4
|
Usage:
|
|
4
5
|
npm create electro@latest [project-name]
|
|
5
6
|
pnpm create electro [project-name]
|
|
7
|
+
npm create electro@latest [project-name] -- --template monorepo
|
|
6
8
|
|
|
7
9
|
Options:
|
|
8
|
-
-f, --force
|
|
9
|
-
-h, --help
|
|
10
|
-
|
|
10
|
+
-f, --force Remove existing files in a non-empty directory
|
|
11
|
+
-h, --help Show this help message
|
|
12
|
+
-t, --template Template name (default: ${k})
|
|
13
|
+
`)}function j(e){let t=!1,n=!1,r=`electro-app`,i=k,a=!1;for(let o=0;o<e.length;o+=1){let s=e[o];if(s){if(s===`--force`||s===`-f`){t=!0;continue}if(s===`--help`||s===`-h`){n=!0;continue}if(s===`--template`||s===`-t`){let t=e[o+1];if(!t||t.startsWith(`-`))throw Error(`Missing value for "${s}".`);i=t,o+=1;continue}if(s.startsWith(`-`))throw Error(`Unknown option "${s}".`);if(a)throw Error(`Unexpected argument "${s}".`);r=s,a=!0}}return{force:t,help:n,template:i,targetDir:r}}function M(e){return e===`.`||e===`./`?null:e}async function N(e=process.argv.slice(2)){let t=j(e);if(t.help){A();return}let n=i(process.cwd(),t.targetDir),r=await O({force:t.force,projectDir:n,template:t.template});console.log(`\nScaffolded ElectroJS app in ${n}`),console.log(`Created ${r.length} file(s).\n`),console.log(`Next steps:`);let a=M(t.targetDir);a&&console.log(` cd ${a}`),console.log(` pnpm install`),console.log(` pnpm run dev`)}const P=process.argv[1];P&&i(P)===a(import.meta.url)&&await N(process.argv.slice(2)).catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(t),process.exitCode=1});export{N as runCli};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "electro-monorepo-starter",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "electro dev",
|
|
8
|
+
"build": "electro build",
|
|
9
|
+
"preview": "electro preview",
|
|
10
|
+
"generate": "electro generate"
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@electrojs/cli": "1.0.6",
|
|
14
|
+
"@electrojs/config": "1.0.6",
|
|
15
|
+
"@types/node": "^25.5.0",
|
|
16
|
+
"electron": "41.0.4",
|
|
17
|
+
"typescript": "^6.0.2",
|
|
18
|
+
"vite": "^8.0.3"
|
|
19
|
+
},
|
|
20
|
+
"packageManager": "pnpm@10.32.1",
|
|
21
|
+
"pnpm": {
|
|
22
|
+
"onlyBuiltDependencies": [
|
|
23
|
+
"electron"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "runtime",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"devDependencies": {
|
|
7
|
+
"@electrojs/common": "1.0.6",
|
|
8
|
+
"@electrojs/config": "1.0.6",
|
|
9
|
+
"@electrojs/runtime": "1.0.6",
|
|
10
|
+
"@types/node": "^25.5.0",
|
|
11
|
+
"electron": "41.0.4",
|
|
12
|
+
"typescript": "^6.0.2",
|
|
13
|
+
"vite": "^8.0.3"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -2,7 +2,6 @@ import { Window } from "@electrojs/common";
|
|
|
2
2
|
import { inject, WindowProvider } from "@electrojs/runtime";
|
|
3
3
|
import { shell } from "electron";
|
|
4
4
|
import { MainView } from "./app.view";
|
|
5
|
-
import { app, Menu } from "electron/main";
|
|
6
5
|
|
|
7
6
|
const isMacOS = process.platform === "darwin";
|
|
8
7
|
const isWindows = process.platform === "win32";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@views/main",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"devDependencies": {
|
|
7
|
+
"@electrojs/config": "^1.0.6",
|
|
8
|
+
"@electrojs/renderer": "^1.0.6",
|
|
9
|
+
"@types/react": "^19.2.14",
|
|
10
|
+
"@types/react-dom": "^19.2.3",
|
|
11
|
+
"@vitejs/plugin-react": "^6.0.1",
|
|
12
|
+
"react": "^19.2.4",
|
|
13
|
+
"react-dom": "^19.2.4",
|
|
14
|
+
"typescript": "^6.0.2",
|
|
15
|
+
"vite": "^8.0.3"
|
|
16
|
+
}
|
|
17
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-electro",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Scaffold a new ElectroJS Electron app with the recommended monorepo layout",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"create",
|
|
@@ -28,7 +28,6 @@
|
|
|
28
28
|
"files": [
|
|
29
29
|
"bin",
|
|
30
30
|
"dist",
|
|
31
|
-
"template",
|
|
32
31
|
"README.md"
|
|
33
32
|
],
|
|
34
33
|
"type": "module",
|
|
@@ -48,7 +47,7 @@
|
|
|
48
47
|
"vitest": "^4.1.1"
|
|
49
48
|
},
|
|
50
49
|
"scripts": {
|
|
51
|
-
"build": "tsdown",
|
|
50
|
+
"build": "tsdown && node ./scripts/sync-templates.mjs",
|
|
52
51
|
"test": "vitest"
|
|
53
52
|
}
|
|
54
53
|
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "__PACKAGE_NAME__",
|
|
3
|
-
"version": "0.0.0",
|
|
4
|
-
"private": true,
|
|
5
|
-
"type": "module",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"dev": "electro dev",
|
|
8
|
-
"build": "electro build",
|
|
9
|
-
"preview": "electro preview",
|
|
10
|
-
"generate": "electro generate"
|
|
11
|
-
},
|
|
12
|
-
"devDependencies": {
|
|
13
|
-
"@electrojs/cli": "__FRAMEWORK_VERSION__",
|
|
14
|
-
"@electrojs/config": "__FRAMEWORK_VERSION__",
|
|
15
|
-
"@types/node": "__NODE_TYPES_VERSION__",
|
|
16
|
-
"electron": "__ELECTRON_VERSION__",
|
|
17
|
-
"typescript": "__TYPESCRIPT_VERSION__",
|
|
18
|
-
"vite": "__VITE_VERSION__"
|
|
19
|
-
},
|
|
20
|
-
"packageManager": "__PACKAGE_MANAGER__",
|
|
21
|
-
"pnpm": {
|
|
22
|
-
"onlyBuiltDependencies": [
|
|
23
|
-
"electron"
|
|
24
|
-
]
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "runtime",
|
|
3
|
-
"version": "0.0.0",
|
|
4
|
-
"private": true,
|
|
5
|
-
"type": "module",
|
|
6
|
-
"devDependencies": {
|
|
7
|
-
"@electrojs/common": "__FRAMEWORK_VERSION__",
|
|
8
|
-
"@electrojs/config": "__FRAMEWORK_VERSION__",
|
|
9
|
-
"@electrojs/runtime": "__FRAMEWORK_VERSION__",
|
|
10
|
-
"@types/node": "__NODE_TYPES_VERSION__",
|
|
11
|
-
"electron": "__ELECTRON_VERSION__",
|
|
12
|
-
"typescript": "__TYPESCRIPT_VERSION__",
|
|
13
|
-
"vite": "__VITE_VERSION__"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@views/main",
|
|
3
|
-
"version": "0.0.0",
|
|
4
|
-
"private": true,
|
|
5
|
-
"type": "module",
|
|
6
|
-
"devDependencies": {
|
|
7
|
-
"@electrojs/config": "__FRAMEWORK_VERSION__",
|
|
8
|
-
"@electrojs/renderer": "__FRAMEWORK_VERSION__",
|
|
9
|
-
"@types/react": "__REACT_TYPES_VERSION__",
|
|
10
|
-
"@types/react-dom": "__REACT_DOM_TYPES_VERSION__",
|
|
11
|
-
"@vitejs/plugin-react": "__VITE_REACT_PLUGIN_VERSION__",
|
|
12
|
-
"react": "__REACT_VERSION__",
|
|
13
|
-
"react-dom": "__REACT_VERSION__",
|
|
14
|
-
"typescript": "__TYPESCRIPT_VERSION__",
|
|
15
|
-
"vite": "__VITE_VERSION__"
|
|
16
|
-
}
|
|
17
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{template/monorepo → dist/template-monorepo}/runtime/src/modules/app.shell.service.ts
RENAMED
|
File without changes
|
|
File without changes
|
/package/{template/monorepo → dist/template-monorepo}/runtime/src/modules/notes/notes.module.ts
RENAMED
|
File without changes
|
/package/{template/monorepo → dist/template-monorepo}/runtime/src/modules/notes/notes.service.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|