From 9c49e9eb028f5c9035defdae62c2bf272d9b87e6 Mon Sep 17 00:00:00 2001 From: Theodor Steiner <40017636+Theo-Steiner@users.noreply.github.com> Date: Sat, 5 Mar 2022 13:47:05 +0900 Subject: [PATCH 1/2] Adapt to adapter API changes introduced by #4192 --- adapter-browser-extension.mjs | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/adapter-browser-extension.mjs b/adapter-browser-extension.mjs index 74fe113..b24a007 100644 --- a/adapter-browser-extension.mjs +++ b/adapter-browser-extension.mjs @@ -42,25 +42,29 @@ function load_manifest () { return {} } + /** @type {import('.')} */ export default function ({ pages = 'build', assets = pages, fallback } = {}) { return { name: 'sveltekit-adapter-browser-extension', - async adapt({ utils }) { + async adapt(builder) { + if (!fallback && !builder.config.kit.prerender.default) { + builder.log.warn( + 'You should set `config.kit.prerender.default` to `true` if no fallback is specified' + ); + } + + const provided_manifest = load_manifest() - utils.rimraf(assets) - utils.rimraf(pages) + builder.rimraf(assets) + builder.rimraf(pages) - utils.copy_static_files(assets) - utils.copy_client_files(assets) + builder.writeStatic(assets) + builder.writeClient(assets) - await utils.prerender({ - fallback, - all: !fallback, - dest: pages - }) + builder.writePrerendered(pages, { fallback }); const index_page = join(assets, 'index.html') const index = readFileSync(index_page) @@ -69,7 +73,7 @@ export default function ({ pages = 'build', assets = pages, fallback } = {}) { const merged_manifest = applyToDefaults(generated_manifest, provided_manifest, { nullOverride: true }) writeFileSync(join(assets, manifest_filename), JSON.stringify(merged_manifest)) - utils.rimraf(join(assets, '_app')) + builder.rimraf(join(assets, '_app')) } } -} \ No newline at end of file +} From 5756f9d6bb1676bc8ab2f104aa4e79ec8fd58107 Mon Sep 17 00:00:00 2001 From: Theodor Steiner <40017636+Theo-Steiner@users.noreply.github.com> Date: Sat, 5 Mar 2022 14:02:39 +0900 Subject: [PATCH 2/2] Modify readme to reflect newly required config boilerplate --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f3a1e3d..fd183aa 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,9 @@ ## Usage -Install with `npm i -D sveltekit-adapter-browser-extension`, then add the adapter to your `svelte.config.js`, and set the appDir to something without an underscore: +Install with `npm i -D sveltekit-adapter-browser-extension`, then add the adapter to your `svelte.config.js`. + +Some additional configuration is required for this adapter to work - you need to (1) set ``appDir`` to something without an underscore and (2) tell kit to prerender its pages by default: ```js // svelte.config.js @@ -13,7 +15,10 @@ import adapter from 'sveltekit-adapter-browser-extension'; export default { kit: { adapter: adapter(), - appDir: 'ext' // This is important - chrome extensions can't handle the default _app directory name. + appDir: 'ext', // This is important - chrome extensions can't handle the default _app directory name. + prerender: { + default: true + } } }; ```