├── .gitignore ├── README.md ├── electron-builder.config.json ├── electron_svelte.svg ├── icon.png ├── package.json ├── screenshot.png ├── src ├── app.html ├── app.scss ├── electron.cjs ├── lib │ ├── Counter.svelte │ └── SideBar.svelte └── routes │ ├── +layout.js │ ├── +layout.svelte │ ├── +page.svelte │ ├── page1 │ └── +page.svelte │ ├── page2 │ └── +page.svelte │ └── page3 │ └── +page.svelte ├── static ├── favicon.ico └── robots.txt ├── svelte.config.js └── vite.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | node_modules 3 | .svelte-kit 4 | build 5 | dist -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SvelteKit + Electron 2 | 3 |
4 |
5 |
7 | A minimal project template for Electron and SvelteKit configured with adapter-static. 8 |
9 | 10 | ## Screenshot 11 |  12 | 13 | ## Installation 14 | 15 | ``` 16 | npx degit Dax89/electron-sveltekit 17 | ``` 18 | 19 | ## Commands 20 | - `npm run dev`: Runs SvelteKit in dev mode 21 | - `npm run preview`: Runs SvelteKit in production mode 22 | - `npm run electron`: Runs SvelteKit with electron in dev mode 23 | - `npm run build`: Runs SvelteKit compiler 24 | - `npm run dev:package`: Creates an Electron package (you can inspect the contents) 25 | - `npm run package`: Creates a distributable Electron package 26 | 27 | ## Bootstrap 5 and FontAwesome support 28 | 29 | Download the template and install the dependencies: 30 | 31 | ``` 32 | npx degit Dax89/electron-sveltekit 33 | npm install --save bootstrap@next @fortawesome/fontawesome-free 34 | ``` 35 | 36 | Add these lines in `src/app.scss`: 37 | 38 | ``` 39 | @import "bootstrap/scss/bootstrap"; 40 | @import "@fortawesome/fontawesome-free/css/all.min.css"; 41 | ``` 42 | -------------------------------------------------------------------------------- /electron-builder.config.json: -------------------------------------------------------------------------------- 1 | { 2 | asar: false, 3 | directories: { output: "dist" }, 4 | files: [ 5 | "src/electron.cjs", 6 | { from: "build", to: "" } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /electron_svelte.svg: -------------------------------------------------------------------------------- 1 | 2 | 97 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dax89/electron-sveltekit/8b6b3edb89bd76f7f2db35ba2d83207fda2a58ad/icon.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "anonymous", 3 | "devDependencies": { 4 | "@sveltejs/adapter-node": "^1.0.0-next.101", 5 | "@sveltejs/adapter-static": "^1.0.0-next.48", 6 | "@sveltejs/kit": "^1.0.0-next.562", 7 | "concurrently": "^6.5.1", 8 | "electron": "^12.2.3", 9 | "electron-builder": "^22.14.13", 10 | "electron-reloader": "^1.2.3", 11 | "sass": "^1.56.1", 12 | "svelte": "^3.53.1", 13 | "svelte-preprocess": "^4.10.7", 14 | "vite": "^4.0.4" 15 | }, 16 | "license": "", 17 | "private": true, 18 | "dependencies": { 19 | "electron-serve": "^1.1.0", 20 | "electron-window-state": "^5.0.3" 21 | }, 22 | "main": "src/electron.cjs", 23 | "scripts": { 24 | "dev": "vite dev", 25 | "package": "npm run build && electron-builder --config electron-builder.config.json", 26 | "dev:package": "npm run build && electron-builder --config electron-builder.config.json --dir", 27 | "electron": "concurrently --kill-others \"vite dev\" \"electron src/electron.cjs\"", 28 | "preview": "vite preview", 29 | "build": "vite build" 30 | }, 31 | "version": "1.0.0", 32 | "name": "electron-sveltekit", 33 | "type": "module", 34 | "description": "Electron and SvelteKit integration" 35 | } 36 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dax89/electron-sveltekit/8b6b3edb89bd76f7f2db35ba2d83207fda2a58ad/screenshot.png -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | %sveltekit.head% 11 | 12 | 13 |Visit svelte.dev to learn how to build Svelte apps.
13 |This is the page 1
7 | 8 | 13 | 14 | -------------------------------------------------------------------------------- /src/routes/page2/+page.svelte: -------------------------------------------------------------------------------- 1 |This is the page 2
7 | 8 | 13 | 14 | -------------------------------------------------------------------------------- /src/routes/page3/+page.svelte: -------------------------------------------------------------------------------- 1 |This is the page 3
7 | 8 | 13 | 14 | -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dax89/electron-sveltekit/8b6b3edb89bd76f7f2db35ba2d83207fda2a58ad/static/favicon.ico -------------------------------------------------------------------------------- /static/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import preprocess from "svelte-preprocess" 2 | import adapter from "@sveltejs/adapter-static" 3 | //import node from "@sveltejs/adapter-node"; 4 | 5 | //const dev = process.env.NODE_ENV == "development" 6 | 7 | export default { 8 | kit: { 9 | //adapter: node() 10 | adapter: adapter(), 11 | }, 12 | 13 | preprocess: preprocess(), 14 | } 15 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { sveltekit } from "@sveltejs/kit/vite"; 2 | 3 | /** @type {import('vite').UserConfig} */ 4 | const config = { 5 | plugins: [sveltekit()], 6 | 7 | server: { 8 | port: 3000 9 | } 10 | }; 11 | 12 | export default config; 13 | --------------------------------------------------------------------------------