svelte-adapter-browser-extension
v1.0.1
Published
![NPM Version](https://img.shields.io/npm/v/svelte-adapter-browser-extension) ![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/npm/sveltekit-adapter-chrome-extension)
Downloads
5
Readme
svelte-adapter-browser-extension
forked from michmich112/sveltekit-adapter-chrome-extension
This project is a fork from the repository mentioned above. The goal is:
- Fix compatibility issues with SvelteKit v2.
- Improve development/publishing.
- Make it ready for improvements/features (e.g.: more compatibility with other browsers, more updated dependencies, more config options, etc.)
Description
Adapter 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. Credit goes to these people 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 svelte-adapter-browser-extension
, then add the adapter to your svelte.config.js
:
// svelte.config.js
import adapter from "svelte-adapter-browser-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.