From bf48a16a3165495e597549ad5c052c14c9c0a19f Mon Sep 17 00:00:00 2001 From: neil Date: Thu, 2 Feb 2023 11:01:12 +0800 Subject: [PATCH] #186 init electron ci build --- .github/workflows/ci.yml | 3 +- .npmrc | 1 + README.md | 14 +- modules/desktop/.gitignore | 3 +- modules/desktop/electron-builder.config.json | 4 +- modules/desktop/package.json | 40 +-- modules/desktop/src/{app.scss => app.css} | 8 +- modules/desktop/src/lib/SideBar.svelte | 2 +- modules/desktop/src/routes/+layout.svelte | 2 +- modules/desktop/src/routes/+page.svelte | 2 +- .../{vite.config.js => vite.config.ts} | 0 ...tailwind.config.cjs => tailwind.config.ts} | 0 package.json | 13 +- pnpm-lock.yaml | 248 +++--------------- 14 files changed, 99 insertions(+), 241 deletions(-) create mode 100644 .npmrc rename modules/desktop/src/{app.scss => app.css} (92%) rename modules/desktop/{vite.config.js => vite.config.ts} (100%) rename modules/gui/{tailwind.config.cjs => tailwind.config.ts} (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 34fc4d8..1707fbc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -125,7 +125,8 @@ jobs: key: ${{matrix.platform.name}}-pnpm-cargo path: | ./pnpm - + - name: build desktop installer + run: tea -ES xc build build_tauri: needs: changes if: false diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..cc8df9d --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +node-linker=hoisted \ No newline at end of file diff --git a/README.md b/README.md index 5a428a3..5837fce 100644 --- a/README.md +++ b/README.md @@ -26,18 +26,24 @@ pnpm install ### build ```sh pnpm install -pnpm build:gui +pnpm build:desktop +``` + +### dev +```sh +pnpm install +pnpm dev ``` ## Development -To develop the GUI within Tauri Webview +To develop the GUI within electron view ``` -$ pnpm dev:gui +$ pnpm dev:desktop ``` To develop the GUI within your local browser at localhost:8080 ``` -$ pnpm web:gui +$ pnpm web:desktop ``` # Creating a release diff --git a/modules/desktop/.gitignore b/modules/desktop/.gitignore index 969a3fe..f2b5c30 100644 --- a/modules/desktop/.gitignore +++ b/modules/desktop/.gitignore @@ -6,4 +6,5 @@ node_modules .env .env.* !.env.example -coverage/* \ No newline at end of file +coverage/* +dist/* \ No newline at end of file diff --git a/modules/desktop/electron-builder.config.json b/modules/desktop/electron-builder.config.json index 1f82000..d5eb53e 100644 --- a/modules/desktop/electron-builder.config.json +++ b/modules/desktop/electron-builder.config.json @@ -1,5 +1,7 @@ { - "asar": false, + "appId": "xyz.tea.gui", + "productName": "gui", + "asar": true, "directories": { "output": "dist" }, "files": ["src/electron.cjs", { "from": "build", "to": "" }] } diff --git a/modules/desktop/package.json b/modules/desktop/package.json index b2e4151..a97ece3 100644 --- a/modules/desktop/package.json +++ b/modules/desktop/package.json @@ -2,12 +2,15 @@ "name": "@tea/desktop", "version": "0.0.0", "private": true, + "description": "tea gui app", + "author": "tea.xyz", + "main": "src/electron.cjs", "scripts": { "package": "pnpm build && electron-builder --config electron-builder.config.json", "dev:package": "pnpm build && electron-builder --config electron-builder.config.json --dir", "electron": "concurrently --kill-others \"vite dev\" \"electron src/electron.cjs\"", "dev": "vite dev --port 8080", - "build": "vite build && cp build/app.html build/index.html", + "build": "vite build", "preview": "vite preview", "unit:test": "vitest", "coverage": "vitest run --coverage", @@ -18,20 +21,12 @@ "format": "prettier --plugin-search-dir . --write ." }, "devDependencies": { - "@sveltejs/adapter-node": "^1.0.0-next.101", - "@sveltejs/adapter-static": "^1.0.0-next.48", - "@sveltejs/kit": "^1.0.0-next.562", - "concurrently": "^6.5.1", - "electron": "^22.1.0", - "electron-builder": "^23.6.0", - "electron-reloader": "^1.2.3", - "sass": "^1.56.1", - "svelte": "^3.55.1", - "svelte-preprocess": "^5.0.1", - "vite": "^4.0.4", "@playwright/experimental-ct-svelte": "^1.29.2", "@playwright/test": "1.25.0", "@sveltejs/adapter-auto": "^1.0.0", + "@sveltejs/adapter-node": "^1.0.0-next.101", + "@sveltejs/adapter-static": "^1.0.0-next.48", + "@sveltejs/kit": "^1.0.0-next.562", "@tea/ui": "workspace:*", "@testing-library/jest-dom": "^5.16.5", "@testing-library/svelte": "^3.2.2", @@ -39,6 +34,10 @@ "@typescript-eslint/eslint-plugin": "^5.27.0", "@typescript-eslint/parser": "^5.27.0", "autoprefixer": "^10.4.13", + "concurrently": "^6.5.1", + "electron": "^22.1.0", + "electron-builder": "^23.6.0", + "electron-reloader": "^1.2.3", "eslint": "^8.16.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^4.0.0", @@ -47,23 +46,27 @@ "prettier": "^2.7.1", "prettier-plugin-svelte": "^2.7.0", "prettier-plugin-tailwindcss": "^0.2.0", + "svelte": "^3.55.1", "svelte-check": "^2.8.0", + "svelte-preprocess": "^5.0.1", "svelte2tsx": "^0.5.20", "tailwindcss": "^3.2.4", "tslib": "^2.3.1", "typescript": "^4.7.4", + "vite": "^4.0.0", "vitest": "^0.27.1" }, "type": "module", "dependencies": { - "electron-log": "^4.4.8", - "electron-serve": "^1.1.0", - "electron-window-state": "^5.0.3", + "@electron/asar": "^3.2.3", "@types/bcryptjs": "^2.4.2", "@types/url-join": "^4.0.1", "@vitest/coverage-c8": "^0.27.1", "bcryptjs": "^2.4.3", "buffer": "^6.0.3", + "electron-log": "^4.4.8", + "electron-serve": "^1.1.0", + "electron-window-state": "^5.0.3", "fuse.js": "^6.6.2", "lodash": "^4.17.21", "lorem-ipsum": "^2.0.8", @@ -75,5 +78,10 @@ "onlyBuiltDependencies": [ "@tea/ui" ] - } + }, + "build": { + "appId": "xyz.tea.gui" + }, + "homepage": "https://tea.xyz", + "repository": "https://github.com/teaxyz/gui.git" } diff --git a/modules/desktop/src/app.scss b/modules/desktop/src/app.css similarity index 92% rename from modules/desktop/src/app.scss rename to modules/desktop/src/app.css index 41e89d0..f59ef0b 100644 --- a/modules/desktop/src/app.scss +++ b/modules/desktop/src/app.css @@ -1,18 +1,16 @@ -$primary: #ff3e00; - :root { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } .text-primary { - color: $primary; + color: #ff3e00; } .button { padding: 10px 10px; display: inline-block; - background-color: $primary; + background-color: #ff3e00; color: white; text-decoration: none; border: none; @@ -26,7 +24,7 @@ $primary: #ff3e00; z-index: 1; /* Stay on top */ top: 0; /* Stay at the top */ left: 0; - background-color: $primary; + background-color: #ff3e00; overflow-x: hidden; /* Disable horizontal scroll */ padding-top: 20px; } diff --git a/modules/desktop/src/lib/SideBar.svelte b/modules/desktop/src/lib/SideBar.svelte index 532c4e6..ddce33c 100644 --- a/modules/desktop/src/lib/SideBar.svelte +++ b/modules/desktop/src/lib/SideBar.svelte @@ -1,6 +1,6 @@
diff --git a/modules/desktop/src/routes/+layout.svelte b/modules/desktop/src/routes/+layout.svelte index abda518..9dca94a 100644 --- a/modules/desktop/src/routes/+layout.svelte +++ b/modules/desktop/src/routes/+layout.svelte @@ -1,5 +1,5 @@ diff --git a/modules/desktop/src/routes/+page.svelte b/modules/desktop/src/routes/+page.svelte index 171cbaf..5966219 100644 --- a/modules/desktop/src/routes/+page.svelte +++ b/modules/desktop/src/routes/+page.svelte @@ -15,7 +15,7 @@

-