From 44526a9207c8dc48f76850fb7ccfc7dd317e625f Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Wed, 2 Oct 2024 22:30:45 +0200 Subject: [PATCH] chore(cd): added deploy on cloudflare pages --- .github/workflows/cd-app-prod.yaml | 43 +++++++++++++++++++ README.md | 1 + .../token-generator/token-generator.tool.ts | 2 +- .../app/src/modules/tools/pages/tool.page.tsx | 8 +++- .../app/src/modules/tools/tools.models.ts | 3 +- 5 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/cd-app-prod.yaml create mode 100644 README.md diff --git a/.github/workflows/cd-app-prod.yaml b/.github/workflows/cd-app-prod.yaml new file mode 100644 index 000000000..cb6b78eb3 --- /dev/null +++ b/.github/workflows/cd-app-prod.yaml @@ -0,0 +1,43 @@ +name: CD - Production + +on: + push: + branches: + - next + +jobs: + publish-app-prod: + runs-on: ubuntu-latest + permissions: + contents: read + deployments: write + name: Publish app to production + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - run: corepack enable + - uses: actions/setup-node@v4 + with: + node-version: 22 + corepack: true + cache: 'pnpm' + + - name: Install dependencies + run: pnpm i + + - name: Build the app + run: pnpm -F @it-tools/app build + + - name: Publish to Cloudflare Pages + uses: AdrianGonz97/refined-cf-pages-action@v1 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + githubToken: ${{ secrets.GITHUB_TOKEN }} + projectName: it-tools + workingDirectory: packages/app + directory: dist + deploymentName: Production App + branch: next + wranglerVersion: '3' + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 000000000..0d430986a --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# IT-Tools diff --git a/packages/app/src/modules/tools/definitions/token-generator/token-generator.tool.ts b/packages/app/src/modules/tools/definitions/token-generator/token-generator.tool.ts index 5a11e0d1b..490562dbe 100644 --- a/packages/app/src/modules/tools/definitions/token-generator/token-generator.tool.ts +++ b/packages/app/src/modules/tools/definitions/token-generator/token-generator.tool.ts @@ -5,5 +5,5 @@ export const tokenGeneratorTool = defineTool({ entryFile: () => import('./token-generator.page'), icon: 'i-tabler-key', createdAt: new Date('2024-02-13'), - currentDirUrl: import.meta.url, + dirName: 'token-generator', }); diff --git a/packages/app/src/modules/tools/pages/tool.page.tsx b/packages/app/src/modules/tools/pages/tool.page.tsx index 5a2287bac..5f36d5fbe 100644 --- a/packages/app/src/modules/tools/pages/tool.page.tsx +++ b/packages/app/src/modules/tools/pages/tool.page.tsx @@ -18,9 +18,13 @@ export const ToolPage: Component = () => { const ToolComponent = lazy(toolDefinition.entryFile); const [toolDict] = createResource(getLocale, async (locale) => { - const [dict = { default: {} }] = await safely(import(`../definitions/${toolDefinition.dirName}/locales/${locale}.json`)); + const [dict, error] = await safely(import(`../definitions/${toolDefinition.dirName}/locales/${locale}.json`)); - return dict; + if (error) { + console.error(error); + } + + return dict ?? { default: {} }; }); return ( diff --git a/packages/app/src/modules/tools/tools.models.ts b/packages/app/src/modules/tools/tools.models.ts index 9fa5bdb04..2b645e4cb 100644 --- a/packages/app/src/modules/tools/tools.models.ts +++ b/packages/app/src/modules/tools/tools.models.ts @@ -5,13 +5,12 @@ export { defineTool }; function defineTool(toolDefinition: { slug: string; entryFile: () => Promise<{ default: Component }>; - currentDirUrl: string; + dirName: string; icon: string; createdAt: Date; }) { return { ...toolDefinition, key: toolDefinition.slug, - dirName: toolDefinition.currentDirUrl.split('/').slice(-2)[0], }; }