Adapter for SvelteKit apps that prerenders your entire site as a collection of static files for use with Electron. Create your desktop apps with SvelteKit and Electron.
This is a fork of official sveltekit-static-adapter
This project is free, open source and I try to provide excellent free support. Why donate? I work on this project several hours in my spare time and try to keep it up to date and working. THANK YOU!
- 💡 Features
- 👔 Screenshot
- 🚀 Setup
- 🧰 Options
- 📚 Documentation
- 👨💻 Contributing
- 🐛 Known Bugs
- 🍻 Community:
- Telegram (🇬🇧 English | 🇮🇹 Italian)
- [✔️] Easy to use
- [✔️] MIT License
- [✔️] Make desktop apps with svelte kit and electron
- Create new SvelteKit Project
- Install this adapter
npm install @ptkdev/sveltekit-electron-adapter --save-dev
- Edit
svelte.config.js
and replace default adapter with electron-adapter:
import adapter from "@ptkdev/sveltekit-electron-adapter";
/** @type {import('@sveltejs/kit').Config} */
const config = {
kit: {
adapter: adapter({
strict: false,
}),
},
};
- Run
npm run build
(⚠️ IMPORTANT: Only pages withexport const prerender = true;
are supported) - Create new Electron Forge Project
- Copy
build
content from sveltekit project and paste insrc
folder of electron forge project - Run Electron project with
npm run start
or generate binary withnpm run make
I make a boilerplate that "automate" this process, but is working in progress: check this repo.
The adapter({ options })
parameters list:
Parameter | Description | Values | Default value | Available since |
---|---|---|---|---|
pages | See official docs | |||
assets | See official docs | |||
fallback | See official docs | |||
precompress | See official docs | |||
strict | See official docs | |||
policy | Set meta-tag content-security-policy |
String | Empty | v0.2.0 |
viewport | Set meta-tag viewport |
String | width=device-width, initial-scale=1.0, viewport-fit=cover |
v0.2.0 |
const config = {
kit: {
adapter: adapter({
strict: false,
policy: "default-src 'self'; script-src 'self'",
viewport: `width=device-width`,
}),
},
};
Run npm run docs
Thanks to all our backers! 🙏 Donate 3$ or more on paypal, ko-fi, github or patreon and send me email with your avatar and url.
I ❤️ contributions! I will happily accept your pull request! (IMPORTANT: Only to nightly branch!) Translations, grammatical corrections (GrammarNazi you are welcome! Yes my English is bad, sorry), etc... Do not be afraid, if the code is not perfect we will work together 👯 and remember to insert your name in .all-contributorsrc
and package.json
file.
Thanks goes to these wonderful people (emoji key):
Patryk Rzucidło 💻 🌍 📖 🐛 |
💰 In the future, if the donations allow it, I would like to share some of the success with those who helped me the most. For me open source is share of code, share development knowledges and share donations!
- Code and Contributions have MIT License
- Images and logos have CC BY-NC 4.0 License
- Documentations and Translations have CC BY 4.0 License