Skip to content

Commit

Permalink
✨Feat: Cloudflare Pages support (#77)
Browse files Browse the repository at this point in the history
* ✨ Cloudflare support

* 📝 Doc: update README, changset

---------

Co-authored-by: kwchang0831 <88667293+kwchang0831@users.noreply.github.com>
  • Loading branch information
vai and kwchang0831 committed Aug 19, 2023
1 parent 9a74335 commit 59989c3
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 11 deletions.
5 changes: 5 additions & 0 deletions .changeset/angry-otters-add.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@kwchang0831/svelte-qwer': minor
---

✨ Feat: Cloudflare Pages support
2 changes: 1 addition & 1 deletion README-zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ npx degit kwchang0831/svelte-QWER my-blog

- 🌐 多國語系 i18n 透過 [typesafe-i18n](https://github.com/ivanhofer/typesafe-i18n)

- 🚀 免費架設部落格於 [Vercel](https://vercel.com/)[Netlify](https://Netlify.com/) 上。
- 🚀 免費架設部落格於 [Vercel](https://vercel.com/),[Netlify](https://Netlify.com/), 或 [Cloudflare Pages](https://pages.cloudflare.com/) 上。

## 📚 了解更多

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ npx degit kwchang0831/svelte-QWER my-blog

- 🌐 i18n via [typesafe-i18n](https://github.com/ivanhofer/typesafe-i18n).

- 🚀 Deploy the blog **Free** on [Vercel](https://vercel.com/) or [Netlify](https://Netlify.com/).
- 🚀 Deploy the blog **Free** on [Vercel](https://vercel.com/), [Netlify](https://Netlify.com/), or [Cloudflare Pages](https://pages.cloudflare.com/).

## 📚 Learn More

Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
"@iconify-json/vscode-icons": "^1.1.26",
"@kwchang0831/qwer": "link:QWER",
"@kwchang0831/svelte-qwer": "link:",
"@sveltejs/adapter-cloudflare": "^2.3.2",
"@sveltejs/adapter-netlify": "2.0.8",
"@sveltejs/adapter-node": "1.3.1",
"@sveltejs/adapter-static": "2.0.3",
Expand Down
31 changes: 31 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 18 additions & 9 deletions svelte.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,34 @@ import adapterNode from '@sveltejs/adapter-node';
import adapterStatic from '@sveltejs/adapter-static';
import adapterVercel from '@sveltejs/adapter-vercel';
import adapterNetlify from '@sveltejs/adapter-netlify';
import adapterCloudflare from '@sveltejs/adapter-cloudflare';
import preprocess from 'svelte-preprocess';

/** @type {import('@sveltejs/kit').Config} */
const config = {
preprocess: preprocess({ preserve: ['partytown'] }),
kit: {
adapter: Object.keys(process.env).some((key) => key.includes('VERCEL'))
? adapterVercel()
: Object.keys(process.env).some((key) => key.includes('NETLIFY'))
? adapterNetlify()
: process.env.ADAPTER === 'node'
adapter: getAdapter(),
csp: { mode: 'auto' },
},
};

function getAdapter() {
if (Object.keys(process.env).some((key) => key.includes('VERCEL'))) {
return adapterVercel();
} else if (Object.keys(process.env).some((key) => key.includes('NETLIFY'))) {
return adapterNetlify();
} else if (Object.keys(process.env).some((key) => key.includes('CF_PAGES'))) {
return adapterCloudflare();
} else {
return process.env.ADAPTER === 'node'
? adapterNode({ out: 'build' })
: adapterStatic({
pages: 'build',
assets: 'build',
fallback: null,
}),
csp: { mode: 'auto' },
},
};
});
}
}

export default config;

0 comments on commit 59989c3

Please sign in to comment.