diff --git a/README.md b/README.md index fd183aa..e341079 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,11 @@ import adapter from 'sveltekit-adapter-browser-extension'; export default { kit: { - adapter: adapter(), + adapter: adapter({ + manifest: { + // You can customize manifest here + } + }), appDir: 'ext', // This is important - chrome extensions can't handle the default _app directory name. prerender: { default: true diff --git a/adapter-browser-extension.mjs b/adapter-browser-extension.mjs index b24a007..ea4d57c 100644 --- a/adapter-browser-extension.mjs +++ b/adapter-browser-extension.mjs @@ -21,8 +21,8 @@ function generate_csp (html) { return `script-src 'self' ${csp_hashes}; object-src 'self'` } -function generate_manifest (html) { - return { +function generate_manifest (html, manifest = {}) { + return {...{ browser_action: { default_title: 'SvelteKit', default_popup: 'index.html' @@ -31,7 +31,7 @@ function generate_manifest (html) { manifest_version: 2, name: 'TODO', version: '0.1' - } + }, ...manifest} } function load_manifest () { @@ -44,7 +44,7 @@ function load_manifest () { /** @type {import('.')} */ -export default function ({ pages = 'build', assets = pages, fallback } = {}) { +export default function ({ pages = 'build', assets = pages, manifest={}, fallback } = {}) { return { name: 'sveltekit-adapter-browser-extension', @@ -69,7 +69,7 @@ export default function ({ pages = 'build', assets = pages, fallback } = {}) { const index_page = join(assets, 'index.html') const index = readFileSync(index_page) - const generated_manifest = generate_manifest(index.toString()) + const generated_manifest = generate_manifest(index.toString(), manifest) const merged_manifest = applyToDefaults(generated_manifest, provided_manifest, { nullOverride: true }) writeFileSync(join(assets, manifest_filename), JSON.stringify(merged_manifest))