From 50af2942757277868c0624215ebb76cdd298603f Mon Sep 17 00:00:00 2001 From: Ryo Takeuchi Date: Wed, 3 Jul 2024 22:10:40 +0900 Subject: [PATCH 1/7] =?UTF-8?q?feat:=20astrojs/cloudflare=20=E3=81=AE?= =?UTF-8?q?=E5=B0=8E=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.mjs | 8 +++++--- bun.lockb | Bin 281846 -> 321048 bytes package.json | 4 ++-- src/pages/404.astro | 2 ++ src/pages/index.astro | 2 ++ 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index e8da57f..3ed4de3 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,9 +1,11 @@ -import { defineConfig } from 'astro/config' - +import cloudflare from '@astrojs/cloudflare' import sitemap from '@astrojs/sitemap' +import { defineConfig } from 'astro/config' // https://astro.build/config export default defineConfig({ site: 'https://asis.quest', - integrations: [sitemap()] + integrations: [sitemap()], + output: 'server', + adapter: cloudflare() }) diff --git a/bun.lockb b/bun.lockb index 8cbb574bbda3adf5b72229724759b8b93f8163e4..98b2073454441cba810e7be3ee89954c27e850d7 100755 GIT binary patch delta 62185 zcmeFacU)A<)-BrI($Gy15D`I9F##ef3W5?1prDuopeRTXlq5mK)EF=)Txtu73aB7P zj40-uP|Sd$f;s1$-k7UayZh|zJ>U1e_wMihaZmq_j2fe=X3d&4t5&VXDaNGCu;7#e=(x*j+YJe>qZ$*ygzjDvUal`Xo%=zS0ml8f#QW_ z4W6+djYOi<;Dp5ZSkQ!s;P^P;ZZxkAJsW5YTm&=(7Dz=RePCijROAS>8wb5E_){1p zJHx=ufTzJ51AV~B&L;5sKzr~y3KSMVXaHG zk;nv?5EeZ)EM6q40@nc#iH(W{6^+ytiSWPF1Nc!BsISNBcYsH0LkK_tTIzgsv;aOr zCo(V`(<829z#RMnUJLvMkPLQ57|7urK(Z5-5E2{}92({fPWCK;G~;?eYJZ=r5}PPI z(3{*JhpOhl9~g~l2Z2+Z{4l3_KrbMT<^Y|%h=T7Fw`F1$_hpzfg<}Gc+J8YkOsC55 z0|TZ$!(zbkR991xNDd5%2#y*p5{(dDfN=%4o zR6=Zw141whB4t58Af-)5Af;0x7KKI|5u6Za+umL@MBrV3R3FlW*^7&hOo$$pAQ~GU z85JfHwH3KFWo}ylDNe>figOQippL1{Sp9KfT6SDv4HIzzccw;bg_RYnYlybw^geLH zrq(RRb%A6nJ}fb8T%t(y7Mw!!P|)YJV4-{gB!=-kfJ!e6^o*efNg;^iMZBm?Y_YP#oixCj`af4T54h-;#b?S z_806#B1oy*fs{;LfsKHc?U(~o!0ki|WG4!8R9v@bo~HpR*Y^v21<(RK21o-B1ky}b zIWohOfK(qWa37!vcsl{>0BKdc(T^N#*^!MGig9bxsqh_pfg)h$%tD(0BnQSPM<#|u zh(yo85vtTmAW|i@29O3g;mWqvS|B+v6G#J%0Aj^cI|FIPWIV!={VhAOc1A!& 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 Mas)iL1fK*HM=yt^qW}N^ diff --git a/package.json b/package.json index c12f21f..5c74c11 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,9 @@ "plop": "plop" }, "dependencies": { + "@astrojs/cloudflare": "11.0.1", "@astrojs/sitemap": "3.1.6", - "astro": "4.11.3", - "sharp": "0.33.4" + "astro": "4.11.3" }, "devDependencies": { "@astrojs/check": "0.7.0", diff --git a/src/pages/404.astro b/src/pages/404.astro index 1a23ff9..961bd70 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -1,6 +1,8 @@ --- import Hero from '../components/Hero.astro' import BaseLayout from '../layouts/BaseLayout.astro' + +export const prerender = true --- diff --git a/src/pages/index.astro b/src/pages/index.astro index 14bef45..d8a1fb9 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -7,6 +7,8 @@ import Hero from '../components/Hero.astro' // Full Astro Component Syntax: // https://docs.astro.build/core-concepts/astro-components/ + +export const prerender = true --- From 5a77f7eb28f59aa5ca584cd4bea18703a0a91243 Mon Sep 17 00:00:00 2001 From: Ryo Takeuchi Date: Thu, 4 Jul 2024 00:08:27 +0900 Subject: [PATCH 2/7] =?UTF-8?q?chore:=20env=20=E3=82=B5=E3=83=B3=E3=83=97?= =?UTF-8?q?=E3=83=AB=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.sample | 1 + 1 file changed, 1 insertion(+) create mode 100644 .env.sample diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..cff060a --- /dev/null +++ b/.env.sample @@ -0,0 +1 @@ +BACKEND_URL=https://graphql-engine.asis-be.orb.local/v1/graphql From bc5c4e118ba2f83578401f1fa484369ae6c4658b Mon Sep 17 00:00:00 2001 From: Ryo Takeuchi Date: Thu, 4 Jul 2024 00:08:53 +0900 Subject: [PATCH 3/7] =?UTF-8?q?feat:=20=E3=83=8B=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E4=B8=80=E8=A6=A7=E5=8F=96=E5=BE=97=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/api.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/types.ts | 8 ++++++++ 2 files changed, 63 insertions(+) create mode 100644 src/lib/api.ts create mode 100644 src/types.ts diff --git a/src/lib/api.ts b/src/lib/api.ts new file mode 100644 index 0000000..40036a3 --- /dev/null +++ b/src/lib/api.ts @@ -0,0 +1,55 @@ +import type { News } from '@/types.ts' + +/** + * Fetches the GraphQL API + * @param operationsDoc + * @param operationName + * @param variables + */ +async function fetchGraphQL( + operationsDoc: string, + operationName: string, + // biome-ignore lint/suspicious/noExplicitAny: + variables: Record +) { + const result = await fetch(`${import.meta.env.BACKEND_URL}`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + query: operationsDoc, + variables, + operationName + }) + }) + return await result.json() +} + +/** + * Fetches the list of news + */ +export async function fetchNewsList() { + const { errors, data } = await fetchGraphQL( + ` + query GetNewsList { + news { + title + slug + publishedAt + excerpt + coverImageUrl + content + } +} +`, + 'GetNewsList', + {} + ) + + if (errors) { + // handle those errors like a pro + console.error(errors) + } + + console.log(data) + return data.news as News[] +} diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..d49808d --- /dev/null +++ b/src/types.ts @@ -0,0 +1,8 @@ +export interface News { + title: string + slug: string + publishedAt: number + excerpt: string + coverImageUrl: string + content: string +} From ce0beb16a234d03e8b4550ae73f9a2772cb1218c Mon Sep 17 00:00:00 2001 From: Ryo Takeuchi Date: Thu, 4 Jul 2024 00:09:16 +0900 Subject: [PATCH 4/7] =?UTF-8?q?feat:=20=E3=83=8B=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E4=B8=80=E8=A6=A7=E3=83=9A=E3=83=BC=E3=82=B8=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/For.astro | 23 +++++++++++++++++++++++ src/components/Show.astro | 9 +++++++++ src/pages/news/index.astro | 22 ++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 src/components/For.astro create mode 100644 src/components/Show.astro create mode 100644 src/pages/news/index.astro diff --git a/src/components/For.astro b/src/components/For.astro new file mode 100644 index 0000000..6eae88e --- /dev/null +++ b/src/components/For.astro @@ -0,0 +1,23 @@ +--- +import Show from './Show.astro'; + +interface Props { + each: Iterable; +} + +const { each } = Astro.props; +--- + +{ + (async function* () { + for await (const value of each) { + let html = await Astro.slots.render('default', [value]); + yield ; + yield '\n'; + } + })() +} + + + + diff --git a/src/components/Show.astro b/src/components/Show.astro new file mode 100644 index 0000000..ccb642f --- /dev/null +++ b/src/components/Show.astro @@ -0,0 +1,9 @@ +--- +interface Props { + when: T | number | boolean | undefined | null; +} + +const { when } = Astro.props; +--- + +{!!when ? : } diff --git a/src/pages/news/index.astro b/src/pages/news/index.astro new file mode 100644 index 0000000..5b49408 --- /dev/null +++ b/src/pages/news/index.astro @@ -0,0 +1,22 @@ +--- +import For from '@/components/For.astro' +import BaseLayout from '@/layouts/BaseLayout.astro' +import { fetchNewsList } from '@/lib/api' +import type { News } from '@/types' + +const newsList = await fetchNewsList() +--- + + + + From c733fc6183c745ba9827bc8914b94ebf6a2ff457 Mon Sep 17 00:00:00 2001 From: Ryo Takeuchi Date: Thu, 4 Jul 2024 00:19:54 +0900 Subject: [PATCH 5/7] =?UTF-8?q?feat:=20slug=20=E3=81=8B=E3=82=89=E8=A9=B2?= =?UTF-8?q?=E5=BD=93=E3=83=8B=E3=83=A5=E3=83=BC=E3=82=B9=E3=82=92=E5=8F=96?= =?UTF-8?q?=E5=BE=97=E3=81=99=E3=82=8B=E5=87=A6=E7=90=86=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/api.ts | 53 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/src/lib/api.ts b/src/lib/api.ts index 40036a3..5038f93 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -27,18 +27,18 @@ async function fetchGraphQL( /** * Fetches the list of news */ -export async function fetchNewsList() { +export async function fetchNewsList(): Promise { const { errors, data } = await fetchGraphQL( ` - query GetNewsList { - news { - title - slug - publishedAt - excerpt - coverImageUrl - content - } +query GetNewsList { + news { + title + slug + publishedAt + excerpt + coverImageUrl + content + } } `, 'GetNewsList', @@ -53,3 +53,36 @@ export async function fetchNewsList() { console.log(data) return data.news as News[] } + +/** + * Fetches the list of news + */ +export async function fetchNewsBySlug(slug: string): Promise { + const { errors, data } = await fetchGraphQL( + ` +query GetNewsBySlug($slug: String) { + news(where: {slug: {_eq: $slug}}) { + title + slug + publishedAt + excerpt + coverImageUrl + content + } +} +`, + 'GetNewsBySlug', + { + slug + } + ) + + if (errors) { + // handle those errors like a pro + console.error(errors) + } + + console.log(data) + // biome-ignore lint/style/noNonNullAssertion: + return (data.news as News[])[0]! +} From c515d637b6264feeea0e1e56eacb485ec53bbc80 Mon Sep 17 00:00:00 2001 From: Ryo Takeuchi Date: Thu, 4 Jul 2024 00:25:21 +0900 Subject: [PATCH 6/7] =?UTF-8?q?feat:=20=E3=83=8B=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E8=A9=B3=E7=B4=B0=E3=83=9A=E3=83=BC=E3=82=B8=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/news/[slug].astro | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/pages/news/[slug].astro diff --git a/src/pages/news/[slug].astro b/src/pages/news/[slug].astro new file mode 100644 index 0000000..821c347 --- /dev/null +++ b/src/pages/news/[slug].astro @@ -0,0 +1,16 @@ +--- +import BaseLayout from '@/layouts/BaseLayout.astro' +import { fetchNewsBySlug } from '../../lib/api' + +const { slug } = Astro.params as { slug: string } + +const news = await fetchNewsBySlug(slug) +--- + + +
+

{news.title}

+

{news.publishedAt}

+
+
+ From d298e3e788b5c3f288dd1b26163f9e1e9d006555 Mon Sep 17 00:00:00 2001 From: Ryo Takeuchi Date: Thu, 4 Jul 2024 00:51:41 +0900 Subject: [PATCH 7/7] =?UTF-8?q?chore:=20=E3=83=87=E3=83=97=E3=83=AD?= =?UTF-8?q?=E3=82=A4=E9=96=A2=E9=80=A3=E3=81=AB=E5=BF=85=E8=A6=81=E3=81=AA?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cd.yml | 1 + .github/workflows/preview.yml | 1 + .github/workflows/production.yml | 1 + .../workflows/wc-deploy-cloudflare-pages.yml | 6 +++ plopfile.mjs | 39 ++++++++++++++----- templates/env/.env.hbs | 1 + 6 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 templates/env/.env.hbs diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 68decb4..9962d5b 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -17,6 +17,7 @@ jobs: branch: 'main' gh-app-id: ${{ vars.BOT_APP_ID }} pr-comment-enabled: false + backend-url: ${{ vars.STG_BACKEND_URL }} secrets: cloudflare-account-id: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} cloudflare-api-token: ${{ secrets.CLOUDFLARE_API_TOKEN }} diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index c58c4e0..4ceed43 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -20,6 +20,7 @@ jobs: branch: 'preview' gh-app-id: ${{ vars.BOT_APP_ID }} pr-comment-enabled: true + backend-url: ${{ vars.DEV_BACKEND_URL }} secrets: cloudflare-account-id: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} cloudflare-api-token: ${{ secrets.CLOUDFLARE_API_TOKEN }} diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml index 720f3d5..923da1f 100644 --- a/.github/workflows/production.yml +++ b/.github/workflows/production.yml @@ -18,6 +18,7 @@ jobs: branch: 'main' gh-app-id: ${{ vars.BOT_APP_ID }} pr-comment-enabled: false + backend-url: ${{ vars.PROD_BACKEND_URL }} secrets: cloudflare-account-id: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} cloudflare-api-token: ${{ secrets.CLOUDFLARE_API_TOKEN }} diff --git a/.github/workflows/wc-deploy-cloudflare-pages.yml b/.github/workflows/wc-deploy-cloudflare-pages.yml index 47da8cb..8d9b627 100644 --- a/.github/workflows/wc-deploy-cloudflare-pages.yml +++ b/.github/workflows/wc-deploy-cloudflare-pages.yml @@ -15,6 +15,9 @@ on: pr-comment-enabled: required: true type: boolean + backend-url: + required: true + type: string secrets: gh-app-private-key: required: true @@ -43,6 +46,9 @@ jobs: - name: Install deps run: bun install --frozen-lockfile + - name: Generate env + run: bun plop env -- --backendUrl "${{ inputs.backend-url }}" + - name: Build run: bun run build diff --git a/plopfile.mjs b/plopfile.mjs index 7775446..1932375 100644 --- a/plopfile.mjs +++ b/plopfile.mjs @@ -4,19 +4,40 @@ export default function (plop) { plop.setGenerator('sample', { description: 'sample', - prompts: [{ - type: 'input', - name: 'name', - message: 'sample name please' - }], + prompts: [ + { + type: 'input', + name: 'name', + message: 'sample name please' + } + ], actions: [ { type: 'addMany', templateFiles: 'templates/sample/**', destination: './sample/{{name}}', base: 'templates/sample', - abortOnFail: true, - }, + abortOnFail: true + } + ] + }) + + plop.setGenerator('env', { + description: 'env', + prompts: [ + { + type: 'input', + name: 'backendUrl', + message: 'backend url please' + } + ], + actions: [ + { + type: 'add', + templateFile: 'templates/env/.env.hbs', + path: '.env', + force: true + } ] - }); -}; + }) +} diff --git a/templates/env/.env.hbs b/templates/env/.env.hbs new file mode 100644 index 0000000..1a57eaa --- /dev/null +++ b/templates/env/.env.hbs @@ -0,0 +1 @@ +BACKEND_URL={{backendUrl}}