Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michmich112/sveltekit-adapter-chrome-extension
Sveltekit adapter for making chrome extensions
https://github.com/michmich112/sveltekit-adapter-chrome-extension
chrome-extensions svelte sveltekit
Last synced: 6 days ago
JSON representation
Sveltekit adapter for making chrome extensions
- Host: GitHub
- URL: https://github.com/michmich112/sveltekit-adapter-chrome-extension
- Owner: michmich112
- License: mit
- Created: 2022-01-16T04:37:14.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-25T03:04:02.000Z (10 months ago)
- Last Synced: 2024-04-26T17:13:43.851Z (9 months ago)
- Topics: chrome-extensions, svelte, sveltekit
- Language: JavaScript
- Homepage:
- Size: 66.4 KB
- Stars: 98
- Watchers: 5
- Forks: 17
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-svelte-kit - Chrome Extension
README
# sveltekit-adapter-chrome-extension
[Adapter](https://kit.svelte.dev/docs#adapters) for SvelteKit apps that prerenders your site as a collection of static files and removes inline scripts to comply with content source policies of Chrome extensions using manifest v3.
> Based on [@sveltekit/adapter-static](https://github.com/sveltejs/kit/blob/master/packages/adapter-static). Credit goes to [these people](https://github.com/sveltejs/kit/graphs/contributors) for their hard work to make Svelte so great
> 🚧 If you are using SvelteKit v1.0.0+, make sure to set your `prerender=true` for every page reference by your extension so SvelteKit generates the HTML files. (c.f. Issue #27)
## Usage
Install with `npm i -D sveltekit-adapter-chrome-extension`, then add the adapter to your `svelte.config.js`:
```js
// svelte.config.js
import adapter from "sveltekit-adapter-chrome-extension";export default {
kit: {
adapter: adapter({
// default options are shown
pages: "build",
assets: "build",
fallback: null,
precompress: false,
manifest: "manifest.json",
}),
appDir: "app",
},
};
```## Options
### pages
The directory to write prerendered pages to. It defaults to `build`.
### assets
The directory to write static assets (the contents of `static`, plus client-side JS and CSS generated by SvelteKit) to. Ordinarily this should be the same as `pages`, and it will default to whatever the value of `pages` is, but in rare circumstances you might need to output pages and assets to separate locations.
### fallback
Specify a fallback page for SPA mode, e.g. `index.html` or `200.html` or `404.html`.
### precompress
If `true`, precompresses files with brotli and gzip. This will generate `.br` and `.gz` files.
### manifest
Specify manifest file name if you want different manifests for different target platforms, e.g. `chrome_manifest.json`, `firefox_manifest.json`.
This file name must match one that is present in the `static` directory (the dir containing your static files). The selected target file will be renamed to `manifest.json` in the build directory, and all other `.json` files with `manifest` in the name won't be copied.## License
[MIT](LICENSE)