From 9fe589488dc8e10596678b8fee64b9497323adf5 Mon Sep 17 00:00:00 2001 From: Alex Moon Date: Wed, 6 Nov 2024 16:32:35 -0800 Subject: [PATCH] deprecate: remove all packages related to gatsby plugin fastify --- integration-tests/plugin-fastify/.gitignore | 6 - integration-tests/plugin-fastify/CHANGELOG.md | 151 ------- integration-tests/plugin-fastify/README.md | 54 --- integration-tests/plugin-fastify/benchmark.js | 229 ----------- .../plugin-fastify/gatsby-config.js | 44 -- .../plugin-fastify/gatsby-node.ts | 182 --------- integration-tests/plugin-fastify/package.json | 43 -- .../plugin-fastify/src/api/splat/[splat].js | 3 - .../plugin-fastify/src/api/test.js | 272 ------------- .../plugin-fastify/src/api/test1/[splat].js | 3 - .../plugin-fastify/src/api/wildcard/[...].js | 3 - .../plugin-fastify/src/components/Post.js | 13 - .../plugin-fastify/src/images/icon.png | Bin 11189 -> 0 bytes .../src/images/tree-in-sunset-main.jpeg | Bin 356190 -> 0 bytes .../plugin-fastify/src/pages/404.js | 54 --- .../plugin-fastify/src/pages/500.js | 54 --- .../plugin-fastify/src/pages/app/[...].js | 37 -- .../plugin-fastify/src/pages/imagecdn.js | 20 - .../plugin-fastify/src/pages/index.js | 160 -------- .../plugin-fastify/src/pages/posts/page-1.js | 6 - .../plugin-fastify/src/pages/posts/page-2.js | 6 - .../plugin-fastify/src/pages/posts/page-3.js | 6 - .../plugin-fastify/src/pages/ssr.js | 29 -- .../plugin-fastify/src/pages/ssr/[slug].js | 13 - .../plugin-fastify/src/pages/ssr403.js | 17 - .../plugin-fastify/src/pages/ssrBad.js | 13 - .../src/pages/ssr_named_splat/[...test].js | 17 - .../src/pages/ssr_splat/[...].js | 17 - .../plugin-fastify/src/templates/example.js | 5 - .../src/templates/fakerArchive.js | 21 - .../plugin-fastify/src/templates/fakerPost.js | 19 - packages/gatsby-plugin-fastify/.babelrc | 3 - packages/gatsby-plugin-fastify/.npmignore | 2 - .../gatsby-plugin-fastify/.vscode/launch.json | 22 - packages/gatsby-plugin-fastify/CHANGELOG.md | 375 ------------------ .../gatsby-plugin-fastify/CONTRIBUTING.md | 11 - packages/gatsby-plugin-fastify/README.md | 257 ------------ packages/gatsby-plugin-fastify/gatsby-node.js | 1 - packages/gatsby-plugin-fastify/index.js | 1 - packages/gatsby-plugin-fastify/jest.config.js | 11 - packages/gatsby-plugin-fastify/logo.png | Bin 99356 -> 0 bytes packages/gatsby-plugin-fastify/package.json | 70 ---- .../src/__tests__/__files__/public/404.html | 14 - .../__files__/public/app/[...]/index.html | 14 - .../src/__tests__/__files__/public/index.html | 14 - .../__files__/public/posts/page-1/index.html | 14 - .../__snapshots__/gatsby-node.js.snap | 69 ---- .../src/__tests__/__utils__/config.js | 27 -- .../src/__tests__/__utils__/server.js | 32 -- .../src/__tests__/__utils__/setup-file.js | 9 - .../src/__tests__/gatsby-node.js | 121 ------ .../__snapshots__/client-routes.js.snap | 35 -- .../plugins/__snapshots__/functions.js.snap | 7 - .../plugins/__snapshots__/gatsby.js.snap | 18 - .../plugins/__snapshots__/static.js.snap | 35 -- .../src/__tests__/plugins/client-routes.js | 27 -- .../src/__tests__/plugins/functions.js | 33 -- .../src/__tests__/plugins/gatsby.js | 24 -- .../src/__tests__/plugins/redirects.js | 172 -------- .../src/__tests__/plugins/reverse-proxy.js | 34 -- .../src/__tests__/plugins/server-routes.js | 220 ---------- .../src/__tests__/plugins/static.js | 37 -- .../src/__tests__/utils/routes.ts | 16 - packages/gatsby-plugin-fastify/src/cli.ts | 66 --- .../gatsby-plugin-fastify/src/gatsby-node.ts | 70 ---- .../src/gatsby/client-side-route.ts | 22 - .../src/gatsby/funcitons-manifest.ts | 16 - .../src/gatsby/proxies-and-redirects.ts | 23 -- .../src/gatsby/server-routes.ts | 25 -- .../gatsby-plugin-fastify/src/plugins/404.ts | 26 -- .../gatsby-plugin-fastify/src/plugins/500.ts | 28 -- .../src/plugins/client-routes.ts | 31 -- .../src/plugins/decorators.ts | 17 - .../src/plugins/functions.ts | 74 ---- .../src/plugins/gatsby.ts | 67 ---- .../src/plugins/image-transform.ts | 8 - .../src/plugins/redirects.ts | 74 ---- .../src/plugins/reverse-proxy.ts | 36 -- .../src/plugins/server-routes.ts | 139 ------- .../src/plugins/static.ts | 33 -- packages/gatsby-plugin-fastify/src/serve.ts | 29 -- .../gatsby-plugin-fastify/src/utils/config.ts | 76 ---- .../src/utils/constants.ts | 18 - .../src/utils/headers.ts | 40 -- .../gatsby-plugin-fastify/src/utils/log.ts | 15 - .../src/utils/plugin-data.ts | 39 -- .../gatsby-plugin-fastify/src/utils/routes.ts | 28 -- .../gatsby-plugin-fastify/src/utils/server.ts | 11 - packages/gatsby-plugin-fastify/tsconfig.json | 21 - 89 files changed, 4254 deletions(-) delete mode 100644 integration-tests/plugin-fastify/.gitignore delete mode 100644 integration-tests/plugin-fastify/CHANGELOG.md delete mode 100644 integration-tests/plugin-fastify/README.md delete mode 100644 integration-tests/plugin-fastify/benchmark.js delete mode 100644 integration-tests/plugin-fastify/gatsby-config.js delete mode 100644 integration-tests/plugin-fastify/gatsby-node.ts delete mode 100644 integration-tests/plugin-fastify/package.json delete mode 100644 integration-tests/plugin-fastify/src/api/splat/[splat].js delete mode 100644 integration-tests/plugin-fastify/src/api/test.js delete mode 100644 integration-tests/plugin-fastify/src/api/test1/[splat].js delete mode 100644 integration-tests/plugin-fastify/src/api/wildcard/[...].js delete mode 100644 integration-tests/plugin-fastify/src/components/Post.js delete mode 100644 integration-tests/plugin-fastify/src/images/icon.png delete mode 100644 integration-tests/plugin-fastify/src/images/tree-in-sunset-main.jpeg delete mode 100644 integration-tests/plugin-fastify/src/pages/404.js delete mode 100644 integration-tests/plugin-fastify/src/pages/500.js delete mode 100644 integration-tests/plugin-fastify/src/pages/app/[...].js delete mode 100644 integration-tests/plugin-fastify/src/pages/imagecdn.js delete mode 100644 integration-tests/plugin-fastify/src/pages/index.js delete mode 100644 integration-tests/plugin-fastify/src/pages/posts/page-1.js delete mode 100644 integration-tests/plugin-fastify/src/pages/posts/page-2.js delete mode 100644 integration-tests/plugin-fastify/src/pages/posts/page-3.js delete mode 100644 integration-tests/plugin-fastify/src/pages/ssr.js delete mode 100644 integration-tests/plugin-fastify/src/pages/ssr/[slug].js delete mode 100644 integration-tests/plugin-fastify/src/pages/ssr403.js delete mode 100644 integration-tests/plugin-fastify/src/pages/ssrBad.js delete mode 100644 integration-tests/plugin-fastify/src/pages/ssr_named_splat/[...test].js delete mode 100644 integration-tests/plugin-fastify/src/pages/ssr_splat/[...].js delete mode 100644 integration-tests/plugin-fastify/src/templates/example.js delete mode 100644 integration-tests/plugin-fastify/src/templates/fakerArchive.js delete mode 100644 integration-tests/plugin-fastify/src/templates/fakerPost.js delete mode 100644 packages/gatsby-plugin-fastify/.babelrc delete mode 100644 packages/gatsby-plugin-fastify/.npmignore delete mode 100644 packages/gatsby-plugin-fastify/.vscode/launch.json delete mode 100644 packages/gatsby-plugin-fastify/CHANGELOG.md delete mode 100644 packages/gatsby-plugin-fastify/CONTRIBUTING.md delete mode 100644 packages/gatsby-plugin-fastify/README.md delete mode 100644 packages/gatsby-plugin-fastify/gatsby-node.js delete mode 100644 packages/gatsby-plugin-fastify/index.js delete mode 100644 packages/gatsby-plugin-fastify/jest.config.js delete mode 100644 packages/gatsby-plugin-fastify/logo.png delete mode 100644 packages/gatsby-plugin-fastify/package.json delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/__files__/public/404.html delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/__files__/public/app/[...]/index.html delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/__files__/public/index.html delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/__files__/public/posts/page-1/index.html delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/__snapshots__/gatsby-node.js.snap delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/__utils__/config.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/__utils__/server.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/__utils__/setup-file.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/gatsby-node.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/client-routes.js.snap delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/functions.js.snap delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/gatsby.js.snap delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/static.js.snap delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/client-routes.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/functions.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/gatsby.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/redirects.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/reverse-proxy.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/server-routes.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/plugins/static.js delete mode 100644 packages/gatsby-plugin-fastify/src/__tests__/utils/routes.ts delete mode 100755 packages/gatsby-plugin-fastify/src/cli.ts delete mode 100644 packages/gatsby-plugin-fastify/src/gatsby-node.ts delete mode 100644 packages/gatsby-plugin-fastify/src/gatsby/client-side-route.ts delete mode 100644 packages/gatsby-plugin-fastify/src/gatsby/funcitons-manifest.ts delete mode 100644 packages/gatsby-plugin-fastify/src/gatsby/proxies-and-redirects.ts delete mode 100644 packages/gatsby-plugin-fastify/src/gatsby/server-routes.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/404.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/500.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/client-routes.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/decorators.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/functions.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/gatsby.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/image-transform.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/redirects.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/reverse-proxy.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/server-routes.ts delete mode 100644 packages/gatsby-plugin-fastify/src/plugins/static.ts delete mode 100755 packages/gatsby-plugin-fastify/src/serve.ts delete mode 100644 packages/gatsby-plugin-fastify/src/utils/config.ts delete mode 100644 packages/gatsby-plugin-fastify/src/utils/constants.ts delete mode 100644 packages/gatsby-plugin-fastify/src/utils/headers.ts delete mode 100644 packages/gatsby-plugin-fastify/src/utils/log.ts delete mode 100644 packages/gatsby-plugin-fastify/src/utils/plugin-data.ts delete mode 100644 packages/gatsby-plugin-fastify/src/utils/routes.ts delete mode 100644 packages/gatsby-plugin-fastify/src/utils/server.ts delete mode 100644 packages/gatsby-plugin-fastify/tsconfig.json diff --git a/integration-tests/plugin-fastify/.gitignore b/integration-tests/plugin-fastify/.gitignore deleted file mode 100644 index 9adea5029..000000000 --- a/integration-tests/plugin-fastify/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -node_modules/ -.cache/ -public - - -.env* \ No newline at end of file diff --git a/integration-tests/plugin-fastify/CHANGELOG.md b/integration-tests/plugin-fastify/CHANGELOG.md deleted file mode 100644 index 5d3deb29e..000000000 --- a/integration-tests/plugin-fastify/CHANGELOG.md +++ /dev/null @@ -1,151 +0,0 @@ -# test-fastify-gatsby - -## 1.0.19 - -### Patch Changes - -- [#467](https://github.com/gatsby-uc/plugins/pull/467) [`e7f1d20`](https://github.com/gatsby-uc/plugins/commit/e7f1d20bb7c91e6b5890c1c7655fcc77afbd39f8) Thanks [@renovate](https://github.com/apps/renovate)! - chore(integration-tests): update integration tests - -- Updated dependencies [[`4759545`](https://github.com/gatsby-uc/plugins/commit/475954526a982c149696255f7ddfb3dba60e17b5), [`3ff08a8`](https://github.com/gatsby-uc/plugins/commit/3ff08a8bcd712a9728a009e42e48a092251a1b01), [`2579b64`](https://github.com/gatsby-uc/plugins/commit/2579b64b1bbf62df71fd3717486c600161f8b307), [`67b7397`](https://github.com/gatsby-uc/plugins/commit/67b73976f7606fed7653e26150d4a7bab092935f), [`3731300`](https://github.com/gatsby-uc/plugins/commit/3731300946af4aeed7caf052cea62886941f8c82)]: - - gatsby-plugin-fastify@0.13.4 - -## 1.0.18 - -### Patch Changes - -- [#462](https://github.com/gatsby-uc/plugins/pull/462) [`a4e6768`](https://github.com/gatsby-uc/plugins/commit/a4e6768b601581df831fc8e446b9ef7e464bfebf) Thanks [@renovate](https://github.com/apps/renovate)! - chore(integration-tests): update dependency @babel/core to ^7.23.7 - -- Updated dependencies [[`c43c4d8`](https://github.com/gatsby-uc/plugins/commit/c43c4d86a4d787415b7efd830b9b1620ae4df989), [`f334dd4`](https://github.com/gatsby-uc/plugins/commit/f334dd4a79868cef3dc03534baa27e95e36760c8)]: - - gatsby-plugin-fastify@0.13.3 - -## 1.0.17 - -### Patch Changes - -- [#461](https://github.com/gatsby-uc/plugins/pull/461) [`caf7d4f`](https://github.com/gatsby-uc/plugins/commit/caf7d4feb52b9ca062b0d78883659d62e86243f4) Thanks [@moonmeister](https://github.com/moonmeister)! - Updated can-i-use database - -- [#461](https://github.com/gatsby-uc/plugins/pull/461) [`caf7d4f`](https://github.com/gatsby-uc/plugins/commit/caf7d4feb52b9ca062b0d78883659d62e86243f4) Thanks [@moonmeister](https://github.com/moonmeister)! - - Updated testing and runners to latest Node 20 LTS. - - Updated to latests Yarn v4 and corepack for management of packageManager. Please run `corepack enable` to use the correct version of `yarn`. - - Updated dependencies. - - Updated prettier and associated formatting. - - Update TypeScript versions used to latest. -- Updated dependencies [[`caf7d4f`](https://github.com/gatsby-uc/plugins/commit/caf7d4feb52b9ca062b0d78883659d62e86243f4), [`caf7d4f`](https://github.com/gatsby-uc/plugins/commit/caf7d4feb52b9ca062b0d78883659d62e86243f4), [`b7b48b7`](https://github.com/gatsby-uc/plugins/commit/b7b48b781885a7b0378bb44f18ee18b0733a3981), [`6a313dc`](https://github.com/gatsby-uc/plugins/commit/6a313dca5b1f7f71a2a7ef8c19aef7e72e5f7445), [`caf7d4f`](https://github.com/gatsby-uc/plugins/commit/caf7d4feb52b9ca062b0d78883659d62e86243f4)]: - - gatsby-plugin-fastify@0.13.2 - -## 1.0.16 - -### Patch Changes - -- [#415](https://github.com/gatsby-uc/plugins/pull/415) [`f176155`](https://github.com/gatsby-uc/plugins/commit/f176155ca410ffe9bca73ce2472d62f90758de9d) Thanks [@renovate](https://github.com/apps/renovate)! - chore(integration-tests): update integration tests - -- Updated dependencies [[`04a77c7`](https://github.com/gatsby-uc/plugins/commit/04a77c7697eff0e4955096e9c2b58241d5eb8e75), [`c6b3c08`](https://github.com/gatsby-uc/plugins/commit/c6b3c084c542b24ed0e953005f394fdb62396465), [`23f9fba`](https://github.com/gatsby-uc/plugins/commit/23f9fba42e854a86874545c4fce2be2858133c5f), [`badae40`](https://github.com/gatsby-uc/plugins/commit/badae403b130fd3bdf8d706c540d14de884c8490)]: - - gatsby-plugin-fastify@0.13.0 - -## 1.0.15 - -### Patch Changes - -- [#379](https://github.com/gatsby-uc/plugins/pull/379) [`e0c9ee3`](https://github.com/gatsby-uc/plugins/commit/e0c9ee3b591bd87a407de9580d9e3ba5fd0eac62) Thanks [@renovate](https://github.com/apps/renovate)! - chore(integration-tests): update integration tests - -- Updated dependencies [[`d578b78`](https://github.com/gatsby-uc/plugins/commit/d578b7896f804716a4c2222385c19be11c27bdf4), [`9da9a23`](https://github.com/gatsby-uc/plugins/commit/9da9a23a13343ca52cf32aa98105cb2f597a2f07), [`07bbfa7`](https://github.com/gatsby-uc/plugins/commit/07bbfa7c434b8543a7d15c5f2e87ac48705aa593)]: - - gatsby-plugin-fastify@0.12.4 - -## 1.0.14 - -### Patch Changes - -- [#311](https://github.com/gatsby-uc/plugins/pull/311) [`b7df7b2`](https://github.com/gatsby-uc/plugins/commit/b7df7b2a2ae97f55cb0025bdb12b5b52e4e7bcd3) Thanks [@renovate](https://github.com/apps/renovate)! - chore(integration-tests): update integration tests - -- Updated dependencies [[`8fd9b57`](https://github.com/gatsby-uc/plugins/commit/8fd9b577189c98ddbacc0afb37a3cf3d756ea199), [`3c854d0`](https://github.com/gatsby-uc/plugins/commit/3c854d0fd7c4bb81c894a08d6dca0ca2c18f7025), [`60fecbc`](https://github.com/gatsby-uc/plugins/commit/60fecbc600ce57bf82887a78f4e4d9a430b35f00)]: - - gatsby-plugin-fastify@0.11.1 - -## 1.0.13 - -### Patch Changes - -- Updated dependencies [[`4c1365d`](https://github.com/gatsby-uc/plugins/commit/4c1365d639ecb1f0409d72db4e15593706d82639)]: - - gatsby-plugin-fastify@0.7.4 - -## 1.0.12 - -### Patch Changes - -- Updated dependencies [[`a3c5e55`](https://github.com/gatsby-uc/plugins/commit/a3c5e55542ad0b3dd97afcc04d686a00d44bdbe3), [`1d9f473`](https://github.com/gatsby-uc/plugins/commit/1d9f4732872028be5cd8e77e7af15c478d392311)]: - - gatsby-plugin-fastify@0.7.3 - -## 1.0.11 - -### Patch Changes - -- Updated dependencies [[`5d1f1bf`](https://github.com/gatsby-uc/plugins/commit/5d1f1bf7989c119540760dc40ae7bc4dcf822836)]: - - gatsby-plugin-fastify@0.7.2 - -## 1.0.10 - -### Patch Changes - -- Updated dependencies [[`331bf7d`](https://github.com/gatsby-uc/plugins/commit/331bf7d2464701f8dab39c8e680efa3c996f056b)]: - - gatsby-plugin-fastify@0.7.1 - -## 1.0.9 - -### Patch Changes - -- Updated dependencies [[`e93dc62`](https://github.com/gatsby-uc/plugins/commit/e93dc62044ce2ac2069d80c339247901b4416ece), [`e93dc62`](https://github.com/gatsby-uc/plugins/commit/e93dc62044ce2ac2069d80c339247901b4416ece), [`acbf356`](https://github.com/gatsby-uc/plugins/commit/acbf356b305eff55f4ef96c77fbb47b2360319da)]: - - gatsby-plugin-fastify@0.7.0 - -## 1.0.8 - -### Patch Changes - -- Updated dependencies [[`529590e`](https://github.com/gatsby-uc/plugins/commit/529590eb9e83ec4188ad9ef23eca9c9d14fb8729)]: - - gatsby-plugin-fastify@0.6.1 - -## 1.0.7 - -### Patch Changes - -- Updated dependencies [[`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f), [`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f), [`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f), [`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f), [`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f)]: - - gatsby-plugin-fastify@0.6.0 - -## 1.0.6 - -### Patch Changes - -- Updated dependencies [[`fec2c31`](https://github.com/gatsby-uc/plugins/commit/fec2c31d1d64a51d6b99297ff0c1345ec2f4bad3), [`09bb2c2`](https://github.com/gatsby-uc/plugins/commit/09bb2c272f7127a732e1ad54d2b8fb38db054523)]: - - gatsby-plugin-fastify@0.5.0 - -## 1.0.5 - -### Patch Changes - -- Updated dependencies [[`7007934`](https://github.com/gatsby-uc/plugins/commit/700793427bf754a8449717179d51dabe76096d81)]: - - gatsby-plugin-fastify@0.4.5 - -## 1.0.4 - -### Patch Changes - -- Updated dependencies [[`5529aad`](https://github.com/gatsby-uc/plugins/commit/5529aadf0f65c4b0c193131d606c3ce7d8d06651)]: - - gatsby-plugin-fastify@0.4.4 - -## 1.0.3 - -### Patch Changes - -- Updated dependencies [[`eb12e74`](https://github.com/gatsby-uc/plugins/commit/eb12e74e05268ee7778f00711772749cd7d8ab6c), [`80aa8f3`](https://github.com/gatsby-uc/plugins/commit/80aa8f39c79bed433b47dad39810767710d0bdd2)]: - - gatsby-plugin-fastify@0.4.3 - -## 1.0.2 - -### Patch Changes - -- Updated dependencies [[`30f7ac4`](https://github.com/gatsby-uc/plugins/commit/30f7ac4bb5c39374b79ed900b3aab60f9c44774a)]: - - gatsby-plugin-fastify@0.4.2 - -## 1.0.1 - -### Patch Changes - -- Updated dependencies [[`79a49d6`](https://github.com/gatsby-uc/plugins/commit/79a49d63ef6fbb9ad997545e9e692f16b9e04ec3)]: - - gatsby-plugin-fastify@0.4.1 diff --git a/integration-tests/plugin-fastify/README.md b/integration-tests/plugin-fastify/README.md deleted file mode 100644 index 2f8181922..000000000 --- a/integration-tests/plugin-fastify/README.md +++ /dev/null @@ -1,54 +0,0 @@ -

- - Gatsby - -

-

- Gatsby minimal starter -

- -## πŸš€ Quick start - -1. **Create a Gatsby site.** - - Use the Gatsby CLI to create a new site, specifying the minimal starter. - - ```shell - # create a new Gatsby site using the minimal starter - npm init gatsby - ``` - -2. **Start developing.** - - Navigate into your new site’s directory and start it up. - - ```shell - cd my-gatsby-site/ - npm run develop - ``` - -3. **Open the code and start customizing!** - - Your site is now running at http://localhost:8000! - - Edit `src/pages/index.js` to see your site update in real-time! - -4. **Learn more** - - - [Documentation](https://www.gatsbyjs.com/docs/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) - - - [Tutorials](https://www.gatsbyjs.com/tutorial/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) - - - [Guides](https://www.gatsbyjs.com/tutorial/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) - - - [API Reference](https://www.gatsbyjs.com/docs/api-reference/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) - - - [Plugin Library](https://www.gatsbyjs.com/plugins?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) - - - [Cheat Sheet](https://www.gatsbyjs.com/docs/cheat-sheet/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter) - -## πŸš€ Quick start (Gatsby Cloud) - -Deploy this starter with one click on [Gatsby Cloud](https://www.gatsbyjs.com/cloud/): - -[Deploy to Gatsby Cloud](https://www.gatsbyjs.com/dashboard/deploynow?url=https://github.com/gatsbyjs/gatsby-starter-minimal) diff --git a/integration-tests/plugin-fastify/benchmark.js b/integration-tests/plugin-fastify/benchmark.js deleted file mode 100644 index c525df798..000000000 --- a/integration-tests/plugin-fastify/benchmark.js +++ /dev/null @@ -1,229 +0,0 @@ -const Benchmark = require("benchmark"); -const { - getServerConfig, - setConfig, - ConfigKeyEnum, - getConfig, -} = require("gatsby-plugin-fastify/utils/config"); -const { serveGatsby } = require("gatsby-plugin-fastify/plugins/gatsby"); -const Fastify = require("fastify"); - -Benchmark.options.minSamples = 500; -const suite = Benchmark.Suite(); - -function createCliConfig({ host, port, logLevel, open }) { - return { - host, - h: host, - port, - p: port, - logLevel, - l: logLevel, - open, - o: open, - }; -} - -setConfig( - ConfigKeyEnum.CLI, - createCliConfig({ - port: 3001, - host: "127.0.0.1", - logLevel: "fatal", - open: false, - }), -); - -const serverConfig = getServerConfig(); -setConfig(ConfigKeyEnum.SERVER, serverConfig); - -function expectResp(def, path, code = 200) { - return (res) => { - if (res.statusCode !== code) { - console.log(`Expected status code ${code}, got ${res.statusCode} from ${path}`); - process.exit(1); - } - def.resolve(); - }; -} - -(async () => { - const { - cli: { logLevel }, - } = getConfig(); - const server = Fastify({ - ignoreTrailingSlash: true, - logger: { - level: logLevel, - transport: { - target: "pino-pretty", - options: { - translateTime: "HH:MM:ss Z", - ignore: "pid,hostname", - }, - }, - }, - disableRequestLogging: ["trace", "debug"].includes(logLevel) ? false : true, - }); - - await server.register(serveGatsby, { prefix: "" }); - - console.log("server is ready"); - - suite - .add("Serve SSG HTML file from root", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/", - }) - .then(expectResp(def, "/")); - }, - }) - .add("Serve SSG HTML from path", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/posts/page-1/", - timeout: 10000, - }) - .then(expectResp(def, "/posts/page-1/")); - }, - }) - .add("Serve SSG `page-data.json` from path", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/page-data/posts/page-1/page-data.json", - }) - .then(expectResp(def, "/page-data/posts/page-1/page-data.json")); - }, - }) - .add("Serve CSR", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/app/", - }) - .then(expectResp(def, "/app")); - }, - }) - .add("Serve SSR HTML", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/ssr", - hostname: "localhost:3001", - }) - .then(expectResp(def, "/ssr")); - }, - }) - .add("Serve DSG HTML", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/generated/page-6", - }) - .then(expectResp(def, "/generated/page-6")); - }, - }) - .add("Serve DSG/SSR page-data.json", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/page-data/generated/page-6/page-data.json", - }) - .then(expectResp(def, "/page-data/generated/page-6/page-data.json")); - }, - }) - .add("Serve 404", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/nonExistentRoute", - }) - .then(expectResp(def, "/nonExistentRoute", 404)); - }, - }) - .add("Serve 500", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/ssrBad/", - }) - .then(expectResp(def, "/ssrBad/", 500)); - }, - }) - .add("Serve Redirect", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/perm-redirect/", - }) - .then(expectResp(def, "/perm-redirect/", 301)); - }, - }) - .add("Serve Reverse Proxy", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/example-proxy/", - }) - .then(expectResp(def, "/example-proxy/", 200)); - }, - }) - .add("Serve Function", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/api/test", - }) - .then(expectResp(def, "/api/test", 200)); - }, - }) - .add("Serve Splat Function", { - defer: true, - fn: (def) => { - server - .inject({ - method: "GET", - url: "/api/test1/thisShouldWork", - }) - .then(expectResp(def, "/api/test1/thisShouldWork", 200)); - }, - }) - .on("cycle", function (event) { - console.log(String(event.target)); - }) - .on("complete", () => { - console.log("complete"); - server.close().then(() => { - console.log("server closed"); - }); - }) - .run(); -})(); diff --git a/integration-tests/plugin-fastify/gatsby-config.js b/integration-tests/plugin-fastify/gatsby-config.js deleted file mode 100644 index b1d6a2957..000000000 --- a/integration-tests/plugin-fastify/gatsby-config.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - pathPrefix: "stuff", - siteMetadata: { - title: "Test Gatsby", - siteUrl: "http://localhost:8080/", - }, - plugins: [ - "gatsby-plugin-postcss", - "gatsby-plugin-image", - { - resolve: "gatsby-plugin-manifest", - options: { - icon: "src/images/icon.png", - }, - }, - "gatsby-plugin-sharp", - "gatsby-transformer-sharp", - { - resolve: "gatsby-source-filesystem", - options: { - name: "images", - path: "./src/images/", - }, - __key: "images", - }, - { - resolve: `gatsby-plugin-fastify`, - options: {}, - }, - "gatsby-plugin-sitemap", - { - resolve: `gatsby-source-faker`, - // derive schema from faker's options - options: { - schema: { - lorem: ["words", "paragraphs", "slug"], - name: ["firstName", "lastName"], - }, - count: 3, // how many fake objects you need - type: "NameData", // Name of the graphql query node - }, - }, - ], -}; diff --git a/integration-tests/plugin-fastify/gatsby-node.ts b/integration-tests/plugin-fastify/gatsby-node.ts deleted file mode 100644 index bd9a2d2c5..000000000 --- a/integration-tests/plugin-fastify/gatsby-node.ts +++ /dev/null @@ -1,182 +0,0 @@ -import path from "path"; -import type { GatsbyNode } from "gatsby"; - -export const createPages: GatsbyNode["createPages"] = async (gatsbyUtilities) => { - const { - actions: { createRedirect, createPage }, - graphql, - } = gatsbyUtilities; - - const result = await graphql(` - query fakerQuery { - allNameData { - nodes { - lorem { - paragraphs - slug - words - } - name { - lastName - firstName - } - } - } - } - `); - - const fakerPostTemplate = path.resolve(`src/templates/fakerPost.js`); - const fakerPostArchive = path.resolve(`src/templates/fakerArchive.js`); - - createPage({ - path: `/faker/`, - component: fakerPostArchive, - defer: true, - context: { - //@ts-ignore - posts: result.data.allNameData.nodes, - }, - }); - //@ts-ignore - result.data.allNameData.nodes.forEach((node) => { - createPage({ - path: `/faker/${node.lorem.slug}`, - component: fakerPostTemplate, - defer: true, - context: { - slug: node.lorem.slug, - }, - }); - }); - - for (let i = 1; i <= 10; i++) { - createPage({ - path: `/generated/page-${i}`, - component: path.resolve(`./src/templates/example.js`), - defer: i <= 5 ? false : true, - context: { - pageNumber: i, - }, - }); - } - - createRedirect({ - fromPath: "/perm-redirect", - toPath: "/posts/page-1", - isPermanent: true, - }); - createRedirect({ - fromPath: "/temp-redirect", - toPath: "/posts/page-2", - isPermanent: false, - }); - createRedirect({ - fromPath: "/alt-redirect", - toPath: "/posts/page-3", - statusCode: 301, - }); - - createRedirect({ - fromPath: "/example-proxy", - toPath: "http://example.com", - statusCode: 200, - }); - - createRedirect({ - fromPath: "/example-proxy-star/*", - toPath: "http://example.com/*", - statusCode: 200, - }); - - createRedirect({ - fromPath: "/redirect/:letter", - toPath: "/app/:letter", - }); - createRedirect({ - fromPath: "/redirect-query?letter=:letter", - toPath: "/app/:letter", - }); - createRedirect({ - fromPath: "/redirect-query-query?letter=:letter", - toPath: "/app?letter=:letter", - }); - createRedirect({ - fromPath: "/redirect-all/*", - toPath: "/app/*", - }); - createRedirect({ - fromPath: "/redirect-all2/*", - toPath: "/app/", - }); - createRedirect({ - fromPath: "/redirect-weird/:path/*", - toPath: "/app/:path/*", - }); - createRedirect({ - fromPath: "/redirect-query-specific?id=1", - toPath: "file1.pdf", - }); - createRedirect({ - fromPath: "/redirect-query-specific?id=2", - toPath: "/file2.pdf", - }); - createRedirect({ - fromPath: "/redirect-query-specific?id=2&letter=:letter", - toPath: "/app/:letter/file2.pdf", - }); - createRedirect({ - fromPath: "/wiki/category/url", - toPath: "https://en.wikipedia.org/wiki/Category:URL", - }); - createRedirect({ - fromPath: "/wiki/category/:category", - toPath: "https://en.wikipedia.org/wiki/Category::category", - }); - createRedirect({ - fromPath: "/wiki/:namespace/:value", - toPath: "https://en.wikipedia.org/wiki/:namespace::value", - }); - createRedirect({ - fromPath: "/Category::URL", - toPath: "/wiki/Category:URL", - }); - createRedirect({ - fromPath: "/some/:thing/all", - toPath: "/something::thing/*", - }); - createRedirect({ - fromPath: "/google/*", - toPath: "https://google.com/search?q=*", - }); -}; - -export const createSchemaCustomization: GatsbyNode["createSchemaCustomization"] = ({ - actions, - schema, -}) => { - actions.createTypes( - schema.buildObjectType({ - name: `TestImage`, - fields: { - title: "String", - }, - interfaces: [`Node`, `RemoteFile`], - }), - ); -}; - -export const sourceNodes: GatsbyNode["sourceNodes"] = async ({ actions }) => { - actions.createNode({ - id: `test-image`, - url: "https://images.unsplash.com/photo-1650247452475-b5866374545d?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb", - mimeType: "image/jpeg", - title: "test image", - filename: "indonesia.jpg", - width: 2666, - height: 3996, - internal: { - type: `TestImage`, - contentDigest: `test-image`, - }, - }); -}; diff --git a/integration-tests/plugin-fastify/package.json b/integration-tests/plugin-fastify/package.json deleted file mode 100644 index e7dad120d..000000000 --- a/integration-tests/plugin-fastify/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "test-plugin-fastify", - "version": "1.0.19", - "private": true, - "description": "Gatsby starter and test site for gatsby-plugin-fastify", - "author": "Alex Moon", - "keywords": [ - "gatsby" - ], - "scripts": { - "benchmark": "node benchmark.js", - "develop": "gatsby develop", - "start": "gserve", - "build": "gatsby build", - "serve": "gatsby serve", - "clean": "gatsby clean", - "build:deps": "cd ../../packages/gatsby-plugin-fastify && yarn build", - "postinstall": "[[ x\"${GATSBY_CLOUD}\" == \"x\" ]] || yarn build:deps" - }, - "dependencies": { - "fastify": "^4.28.1", - "gatsby": "^5.13.7", - "gatsby-plugin-fastify": "*", - "gatsby-plugin-image": "^3.13.1", - "gatsby-plugin-manifest": "^5.13.1", - "gatsby-plugin-postcss": "^6.13.1", - "gatsby-plugin-sharp": "^5.13.1", - "gatsby-plugin-sitemap": "^6.13.1", - "gatsby-source-faker": "^5.13.1", - "gatsby-source-filesystem": "^5.13.1", - "gatsby-transformer-sharp": "^5.13.1", - "postcss": "^8.4.47", - "react": "^18.3.1", - "react-dom": "^18.3.1" - }, - "devDependencies": { - "@babel/core": "^7.25.8", - "@babel/preset-typescript": "^7.25.7", - "babel-loader": "^9.2.1", - "babel-preset-gatsby": "^3.13.2", - "benchmark": "^2.1.4" - } -} diff --git a/integration-tests/plugin-fastify/src/api/splat/[splat].js b/integration-tests/plugin-fastify/src/api/splat/[splat].js deleted file mode 100644 index af5029990..000000000 --- a/integration-tests/plugin-fastify/src/api/splat/[splat].js +++ /dev/null @@ -1,3 +0,0 @@ -export default function handler(req, res) { - res.code(200).send({ splat: req.params.splat }); -} diff --git a/integration-tests/plugin-fastify/src/api/test.js b/integration-tests/plugin-fastify/src/api/test.js deleted file mode 100644 index dddd50e2a..000000000 --- a/integration-tests/plugin-fastify/src/api/test.js +++ /dev/null @@ -1,272 +0,0 @@ -const responseData = [ - { - _id: "612d652f43f0c05240ed09b1", - index: 0, - guid: "ced90cbd-3fad-4c66-bd8d-678eebb3f319", - isActive: true, - balance: "$3,289.14", - picture: "http://placehold.it/32x32", - age: 34, - eyeColor: "blue", - name: "Mcclure Cohen", - gender: "male", - company: "ONTALITY", - email: "mcclurecohen@ontality.com", - phone: "+1 (876) 555-3658", - address: "933 Conklin Avenue, Joes, Indiana, 9109", - about: - "Do labore fugiat exercitation esse commodo dolor voluptate proident ullamco mollit eu. Dolor aliqua incididunt ex consectetur qui labore in laborum dolore mollit fugiat. Occaecat nisi ea nulla deserunt dolore aliqua consequat ipsum fugiat aliqua est sunt anim cillum. Nulla culpa dolore reprehenderit quis aliquip.\r\n", - registered: "2016-03-02T03:01:11 +08:00", - latitude: -13.438572, - longitude: 116.414307, - tags: ["Lorem", "dolore", "anim", "mollit", "ullamco", "magna", "elit"], - friends: [ - { - id: 0, - name: "Burnett Farley", - }, - { - id: 1, - name: "Glenn Osborn", - }, - { - id: 2, - name: "Berry Schwartz", - }, - ], - greeting: "Hello, Mcclure Cohen! You have 7 unread messages.", - favoriteFruit: "banana", - }, - { - _id: "612d652f366d8330fa996824", - index: 1, - guid: "7101122e-8cea-4a02-b1b8-ae910c0802af", - isActive: false, - balance: "$3,387.50", - picture: "http://placehold.it/32x32", - age: 32, - eyeColor: "blue", - name: "Geneva Valdez", - gender: "female", - company: "LIQUICOM", - email: "genevavaldez@liquicom.com", - phone: "+1 (974) 495-2314", - address: "615 Waldorf Court, Belleview, New Jersey, 4579", - about: - "Sint anim sunt enim ea ea exercitation officia adipisicing aute. Cillum aliquip dolor mollit sunt sint. Sint excepteur sit ut eu culpa aute voluptate est non est sint do nostrud ut. Nostrud officia amet consectetur exercitation aliquip nulla occaecat. Irure voluptate aute irure quis aute ipsum.\r\n", - registered: "2019-10-23T07:06:59 +07:00", - latitude: 4.157784, - longitude: 79.800439, - tags: ["Lorem", "enim", "sint", "commodo", "minim", "tempor", "consectetur"], - friends: [ - { - id: 0, - name: "Teri Crane", - }, - { - id: 1, - name: "Colleen Burns", - }, - { - id: 2, - name: "Pierce Stafford", - }, - ], - greeting: "Hello, Geneva Valdez! You have 5 unread messages.", - favoriteFruit: "banana", - }, - { - _id: "612d652fac8efd8e645f7305", - index: 2, - guid: "9e49d2b8-2684-4a2b-8d34-2db63470105e", - isActive: true, - balance: "$1,648.73", - picture: "http://placehold.it/32x32", - age: 39, - eyeColor: "green", - name: "Beth Pitts", - gender: "female", - company: "QUIZKA", - email: "bethpitts@quizka.com", - phone: "+1 (967) 452-3934", - address: "209 Elm Avenue, Soham, South Dakota, 6752", - about: - "Excepteur est et cupidatat id nisi quis occaecat est non cillum. Dolore aliquip elit aliquip exercitation anim ad aliqua sint enim mollit anim. Nulla veniam amet labore consectetur nulla non culpa laboris non ea. Irure fugiat fugiat reprehenderit aute labore. Commodo enim velit sit sunt in eu adipisicing proident aliqua sit officia. Et cupidatat mollit est voluptate adipisicing ullamco ullamco. Elit in sint velit laboris fugiat.\r\n", - registered: "2018-07-10T08:23:13 +07:00", - latitude: -41.232792, - longitude: 14.620843, - tags: ["ipsum", "voluptate", "reprehenderit", "fugiat", "nulla", "elit", "dolore"], - friends: [ - { - id: 0, - name: "Rosa Case", - }, - { - id: 1, - name: "Charlene Wilkinson", - }, - { - id: 2, - name: "Wilcox Shannon", - }, - ], - greeting: "Hello, Beth Pitts! You have 4 unread messages.", - favoriteFruit: "apple", - }, - { - _id: "612d652f86b888292e0537ea", - index: 3, - guid: "ae58b78c-46a4-4a09-b636-d86ebc84870c", - isActive: false, - balance: "$1,820.92", - picture: "http://placehold.it/32x32", - age: 38, - eyeColor: "blue", - name: "Mack Parker", - gender: "male", - company: "GRONK", - email: "mackparker@gronk.com", - phone: "+1 (942) 455-3698", - address: "340 Village Court, Spokane, Iowa, 7827", - about: - "Officia occaecat eu duis officia amet in ea ad mollit ut. Mollit non anim ex do. In esse commodo esse ullamco irure laborum officia enim deserunt et. Ut adipisicing aliqua qui anim fugiat duis magna culpa aliqua nisi ex tempor Lorem cupidatat. Aute Lorem ut fugiat reprehenderit fugiat velit. Eu occaecat esse sit anim ad.\r\n", - registered: "2017-10-26T05:06:57 +07:00", - latitude: 62.176215, - longitude: 50.081649, - tags: ["eiusmod", "esse", "adipisicing", "deserunt", "minim", "dolor", "sint"], - friends: [ - { - id: 0, - name: "Corinne Cleveland", - }, - { - id: 1, - name: "Janell Stevenson", - }, - { - id: 2, - name: "Ruiz Dalton", - }, - ], - greeting: "Hello, Mack Parker! You have 5 unread messages.", - favoriteFruit: "banana", - }, - { - _id: "612d652f918c5464a5d1badc", - index: 4, - guid: "16de477f-8260-4dbf-803a-0b9af672a7a3", - isActive: false, - balance: "$2,015.74", - picture: "http://placehold.it/32x32", - age: 40, - eyeColor: "brown", - name: "Benton Garza", - gender: "male", - company: "CODACT", - email: "bentongarza@codact.com", - phone: "+1 (978) 544-3959", - address: "723 Linden Street, Loma, Hawaii, 2183", - about: - "Veniam voluptate eiusmod est exercitation magna dolor cillum veniam. Anim culpa veniam adipisicing consequat sint adipisicing. Minim velit eu tempor enim nulla enim adipisicing id elit irure ex. Voluptate duis cupidatat fugiat amet dolore veniam. Adipisicing ad occaecat velit cillum.\r\n", - registered: "2016-05-12T08:32:44 +07:00", - latitude: 41.639383, - longitude: -33.102296, - tags: ["excepteur", "et", "duis", "velit", "laboris", "pariatur", "dolor"], - friends: [ - { - id: 0, - name: "Ryan Waters", - }, - { - id: 1, - name: "Robbie Rosario", - }, - { - id: 2, - name: "Gracie Freeman", - }, - ], - greeting: "Hello, Benton Garza! You have 1 unread messages.", - favoriteFruit: "strawberry", - }, - { - _id: "612d652f1dd2eb98a16e0a3d", - index: 5, - guid: "856875e2-24fa-426c-a1cd-5447ea2abeb9", - isActive: false, - balance: "$1,889.99", - picture: "http://placehold.it/32x32", - age: 37, - eyeColor: "brown", - name: "Tommie Durham", - gender: "female", - company: "EVIDENDS", - email: "tommiedurham@evidends.com", - phone: "+1 (866) 570-3407", - address: "694 Barlow Drive, Lithium, Tennessee, 1100", - about: - "Enim nostrud ea ea quis. Commodo commodo reprehenderit ea minim officia enim. Velit laboris incididunt commodo esse commodo ea excepteur in deserunt deserunt. Fugiat ad exercitation aliqua minim ea sunt pariatur est commodo sunt nisi ex. Ipsum ad enim ut et culpa pariatur.\r\n", - registered: "2018-03-01T06:21:31 +08:00", - latitude: 52.298302, - longitude: -22.076203, - tags: ["laboris", "labore", "officia", "in", "est", "deserunt", "ad"], - friends: [ - { - id: 0, - name: "Francis Park", - }, - { - id: 1, - name: "Schmidt Williamson", - }, - { - id: 2, - name: "Adkins Shields", - }, - ], - greeting: "Hello, Tommie Durham! You have 6 unread messages.", - favoriteFruit: "apple", - }, - { - _id: "612d652f8e1b1bc30f3585ec", - index: 6, - guid: "eb70d15e-fee8-4e76-8c90-049d3d6dac43", - isActive: false, - balance: "$1,139.14", - picture: "http://placehold.it/32x32", - age: 21, - eyeColor: "brown", - name: "Lee Good", - gender: "male", - company: "LIMAGE", - email: "leegood@limage.com", - phone: "+1 (945) 414-3105", - address: "652 Hendrickson Street, Wilsonia, Arizona, 9156", - about: - "Amet ullamco adipisicing velit cillum quis minim nulla sint dolor. Labore magna quis nulla occaecat cupidatat anim irure. Anim duis nisi ipsum sint.\r\n", - registered: "2017-10-14T04:22:31 +07:00", - latitude: 85.591186, - longitude: 51.21934, - tags: ["ipsum", "ad", "exercitation", "mollit", "magna", "irure", "elit"], - friends: [ - { - id: 0, - name: "Delacruz Vaughn", - }, - { - id: 1, - name: "Kari Figueroa", - }, - { - id: 2, - name: "Kris Marsh", - }, - ], - greeting: "Hello, Lee Good! You have 7 unread messages.", - favoriteFruit: "strawberry", - }, -]; - -export default function handler(req, res) { - res.code(200).send(responseData); -} diff --git a/integration-tests/plugin-fastify/src/api/test1/[splat].js b/integration-tests/plugin-fastify/src/api/test1/[splat].js deleted file mode 100644 index 220d50e90..000000000 --- a/integration-tests/plugin-fastify/src/api/test1/[splat].js +++ /dev/null @@ -1,3 +0,0 @@ -export default function handler(req, res) { - res.code(200).send(req.params); -} diff --git a/integration-tests/plugin-fastify/src/api/wildcard/[...].js b/integration-tests/plugin-fastify/src/api/wildcard/[...].js deleted file mode 100644 index 220d50e90..000000000 --- a/integration-tests/plugin-fastify/src/api/wildcard/[...].js +++ /dev/null @@ -1,3 +0,0 @@ -export default function handler(req, res) { - res.code(200).send(req.params); -} diff --git a/integration-tests/plugin-fastify/src/components/Post.js b/integration-tests/plugin-fastify/src/components/Post.js deleted file mode 100644 index eac1c560a..000000000 --- a/integration-tests/plugin-fastify/src/components/Post.js +++ /dev/null @@ -1,13 +0,0 @@ -import * as React from "react"; -import { Link } from "gatsby"; - -export default function PostPage({ title, content }) { - return ( -
- Return to Home - -

{title}

-
-
- ); -} diff --git a/integration-tests/plugin-fastify/src/images/icon.png b/integration-tests/plugin-fastify/src/images/icon.png deleted file mode 100644 index 38b2fb0e467e023806c846454e35ede8af67105e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11189 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 R^|Id+(7vmu{#Fee^?z+!bVL9E diff --git a/integration-tests/plugin-fastify/src/images/tree-in-sunset-main.jpeg b/integration-tests/plugin-fastify/src/images/tree-in-sunset-main.jpeg deleted file mode 100644 index e7fa1e985cdfcb8ff75b6d7e9775f2de228b5b33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356190 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
9R~> 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�#aA(XJ{?Gs@P+xk2d|(I*WWK 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≈+k}-ZzaN9Hq${r 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Ⓢ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 diff --git a/integration-tests/plugin-fastify/src/pages/404.js b/integration-tests/plugin-fastify/src/pages/404.js deleted file mode 100644 index fd99104fd..000000000 --- a/integration-tests/plugin-fastify/src/pages/404.js +++ /dev/null @@ -1,54 +0,0 @@ -import * as React from "react"; -import { Link } from "gatsby"; - -// styles -const pageStyles = { - color: "#232129", - padding: "96px", - fontFamily: "-apple-system, Roboto, sans-serif, serif", -}; -const headingStyles = { - marginTop: 0, - marginBottom: 64, - maxWidth: 320, -}; - -const paragraphStyles = { - marginBottom: 48, -}; -const codeStyles = { - color: "#8A6534", - padding: 4, - backgroundColor: "#FFF4DB", - fontSize: "1.25rem", - borderRadius: 4, -}; - -// markup -const NotFoundPage = () => { - return ( -
- Not found -

Page not found

-

- Sorry{" "} - - πŸ˜” - {" "} - we couldn’t find what you were looking for. -
- {process.env.NODE_ENV === "development" ? ( - <> -
- Try creating a page in src/pages/. -
- - ) : null} -
- Go home. -

-
- ); -}; - -export default NotFoundPage; diff --git a/integration-tests/plugin-fastify/src/pages/500.js b/integration-tests/plugin-fastify/src/pages/500.js deleted file mode 100644 index 1b682ccc0..000000000 --- a/integration-tests/plugin-fastify/src/pages/500.js +++ /dev/null @@ -1,54 +0,0 @@ -import * as React from "react"; -import { Link } from "gatsby"; - -// styles -const pageStyles = { - color: "#232129", - padding: "96px", - fontFamily: "-apple-system, Roboto, sans-serif, serif", -}; -const headingStyles = { - marginTop: 0, - marginBottom: 64, - maxWidth: 320, -}; - -const paragraphStyles = { - marginBottom: 48, -}; -const codeStyles = { - color: "#8A6534", - padding: 4, - backgroundColor: "#FFF4DB", - fontSize: "1.25rem", - borderRadius: 4, -}; - -// markup -const InternalServerError = () => { - return ( -
- Internal Server Error -

Internal Server Error

-

- Sorry{" "} - - πŸ˜” - {" "} - something went terribly wrong. -
- {process.env.NODE_ENV === "development" ? ( - <> -
- Try creating a page in src/pages/. -
- - ) : null} -
- Go home. -

-
- ); -}; - -export default InternalServerError; diff --git a/integration-tests/plugin-fastify/src/pages/app/[...].js b/integration-tests/plugin-fastify/src/pages/app/[...].js deleted file mode 100644 index da492b87d..000000000 --- a/integration-tests/plugin-fastify/src/pages/app/[...].js +++ /dev/null @@ -1,37 +0,0 @@ -import React from "react"; -import { Router } from "@reach/router"; -import { Link } from "gatsby"; - -const A = () => { - return ( - <> -

route A

- Go To app Home - - ); -}; -const B = () => { - return ( - <> -

route b

- Go To app Home - - ); -}; - -const App = () => { - return ( - <> -

Welcome to my client only routes

- Go To A - Go To B - Go To Home - - -
- - - - ); -}; -export default App; diff --git a/integration-tests/plugin-fastify/src/pages/imagecdn.js b/integration-tests/plugin-fastify/src/pages/imagecdn.js deleted file mode 100644 index deac402b6..000000000 --- a/integration-tests/plugin-fastify/src/pages/imagecdn.js +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from "react"; -import { graphql } from "gatsby"; -import { GatsbyImage } from "gatsby-plugin-image"; -export default function StuffsArchive({ data }) { - return ( -
-

Gatsby Image CDN Image

-

here's some content

- -
- ); -} - -export const pageQuery = graphql` - query TestImage { - testImage(id: { eq: "test-image" }) { - gatsbyImage(width: 1024) - } - } -`; diff --git a/integration-tests/plugin-fastify/src/pages/index.js b/integration-tests/plugin-fastify/src/pages/index.js deleted file mode 100644 index 9be52c3ba..000000000 --- a/integration-tests/plugin-fastify/src/pages/index.js +++ /dev/null @@ -1,160 +0,0 @@ -import * as React from "react"; -import { Link, withPrefix } from "gatsby"; -// styles -const pageStyles = { - color: "#232129", - padding: 96, - fontFamily: "-apple-system, Roboto, sans-serif, serif", -}; -const headingStyles = { - marginTop: 0, - marginBottom: 64, - maxWidth: 320, -}; -const headingAccentStyles = { - color: "#663399", -}; -const paragraphStyles = { - marginBottom: 48, -}; -const codeStyles = { - color: "#8A6534", - padding: 4, - backgroundColor: "#FFF4DB", - fontSize: "1.25rem", - borderRadius: 4, -}; -const listStyles = { - marginBottom: 96, - paddingLeft: 0, -}; -const listItemStyles = { - fontWeight: 300, - fontSize: 24, - maxWidth: 560, - marginBottom: 30, -}; - -const linkStyle = { - color: "#8954A8", - fontWeight: "bold", - fontSize: 16, - verticalAlign: "5%", -}; - -// const descriptionStyle = { -// color: "#232129", -// fontSize: 14, -// marginTop: 10, -// marginBottom: 0, -// lineHeight: 1.25, -// }; - -// markup -const IndexPage = () => { - const posts = [ - { - title: "Page 1", - uri: "/posts/page-1", - }, - { - title: "Page 2", - uri: "/posts/page-2", - }, - { - title: "Page 3", - uri: "/posts/page-3", - }, - ]; - - return ( -
- Home Page -

- Congratulations -
- β€” you just made a Gatsby site! - - πŸŽ‰πŸŽ‰πŸŽ‰ - -

-

- Edit src/pages/index.js to see this page update in - real-time.{" "} - - 😎 - -

-
    - {posts.map(({ title, excerpt, uri }) => ( -
  • - - - {title} - - -
  • - ))} -
- -
-
- ); -}; - -export default IndexPage; diff --git a/integration-tests/plugin-fastify/src/pages/posts/page-1.js b/integration-tests/plugin-fastify/src/pages/posts/page-1.js deleted file mode 100644 index 7af051ed3..000000000 --- a/integration-tests/plugin-fastify/src/pages/posts/page-1.js +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from "react"; -import PostPage from "../../components/Post"; - -export default function postPage1() { - return ; -} diff --git a/integration-tests/plugin-fastify/src/pages/posts/page-2.js b/integration-tests/plugin-fastify/src/pages/posts/page-2.js deleted file mode 100644 index fe962e423..000000000 --- a/integration-tests/plugin-fastify/src/pages/posts/page-2.js +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from "react"; -import PostPage from "../../components/Post"; - -export default function postPage2() { - return ; -} diff --git a/integration-tests/plugin-fastify/src/pages/posts/page-3.js b/integration-tests/plugin-fastify/src/pages/posts/page-3.js deleted file mode 100644 index 85b52148e..000000000 --- a/integration-tests/plugin-fastify/src/pages/posts/page-3.js +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from "react"; -import PostPage from "../../components/Post"; - -export default function postPage3() { - return ; -} diff --git a/integration-tests/plugin-fastify/src/pages/ssr.js b/integration-tests/plugin-fastify/src/pages/ssr.js deleted file mode 100644 index 5ddc3dda0..000000000 --- a/integration-tests/plugin-fastify/src/pages/ssr.js +++ /dev/null @@ -1,29 +0,0 @@ -import * as React from "react"; - -export default function SsrExample({ serverData }) { - return ( -
-

SSR Page with Dogs

- Happy dog -
- ); -} - -export async function getServerData() { - try { - const res = await fetch(`https://dog.ceo/api/breeds/image/random`); - if (!res.ok) { - throw new Error(`Response failed`); - } - return { - headers: { - "x-test": "Custom Headers Work!", - }, - props: await res.json(), - }; - } catch (error) { - return { - props: {}, - }; - } -} diff --git a/integration-tests/plugin-fastify/src/pages/ssr/[slug].js b/integration-tests/plugin-fastify/src/pages/ssr/[slug].js deleted file mode 100644 index 20a7b3a31..000000000 --- a/integration-tests/plugin-fastify/src/pages/ssr/[slug].js +++ /dev/null @@ -1,13 +0,0 @@ -import * as React from "react"; -export default function SsrFallBackExample({ serverData }) { - return
{serverData.message}
; -} - -export async function getServerData({ params }) { - return { - status: 200, - props: { - message: params["slug"] === "42" ? "meaning of life" : "try again", - }, - }; -} diff --git a/integration-tests/plugin-fastify/src/pages/ssr403.js b/integration-tests/plugin-fastify/src/pages/ssr403.js deleted file mode 100644 index 8eadc27da..000000000 --- a/integration-tests/plugin-fastify/src/pages/ssr403.js +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; - -export default function Ssr403Example({ serverData }) { - return ( -
-

403 SSR Page

-
{JSON.stringify(serverData, null, 2)}
-
- ); -} - -export async function getServerData({ url, query, method, params, headers }) { - return { - status: 403, - props: {}, - }; -} diff --git a/integration-tests/plugin-fastify/src/pages/ssrBad.js b/integration-tests/plugin-fastify/src/pages/ssrBad.js deleted file mode 100644 index e273d12cf..000000000 --- a/integration-tests/plugin-fastify/src/pages/ssrBad.js +++ /dev/null @@ -1,13 +0,0 @@ -import * as React from "react"; - -export default function SsrExample({ serverData }) { - return ( -
-

This should never render

-
- ); -} - -export async function getServerData() { - throw new Error("This is a bad error"); -} diff --git a/integration-tests/plugin-fastify/src/pages/ssr_named_splat/[...test].js b/integration-tests/plugin-fastify/src/pages/ssr_named_splat/[...test].js deleted file mode 100644 index ed9a66276..000000000 --- a/integration-tests/plugin-fastify/src/pages/ssr_named_splat/[...test].js +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; -export default function SsrFallBackExample({ serverData }) { - return ( -
-
{JSON.stringify(serverData.message, null, 2)}
-
- ); -} - -export async function getServerData({ params }) { - return { - status: 200, - props: { - message: params, - }, - }; -} diff --git a/integration-tests/plugin-fastify/src/pages/ssr_splat/[...].js b/integration-tests/plugin-fastify/src/pages/ssr_splat/[...].js deleted file mode 100644 index ed9a66276..000000000 --- a/integration-tests/plugin-fastify/src/pages/ssr_splat/[...].js +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; -export default function SsrFallBackExample({ serverData }) { - return ( -
-
{JSON.stringify(serverData.message, null, 2)}
-
- ); -} - -export async function getServerData({ params }) { - return { - status: 200, - props: { - message: params, - }, - }; -} diff --git a/integration-tests/plugin-fastify/src/templates/example.js b/integration-tests/plugin-fastify/src/templates/example.js deleted file mode 100644 index 2f0599425..000000000 --- a/integration-tests/plugin-fastify/src/templates/example.js +++ /dev/null @@ -1,5 +0,0 @@ -import * as React from "react"; - -export default function Example({ pageContext }) { - return
Hello world #{pageContext.pageNumber}!
; -} diff --git a/integration-tests/plugin-fastify/src/templates/fakerArchive.js b/integration-tests/plugin-fastify/src/templates/fakerArchive.js deleted file mode 100644 index 67dc4f88c..000000000 --- a/integration-tests/plugin-fastify/src/templates/fakerArchive.js +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; -import { Link } from "gatsby"; - -export default function fakerData({ pageContext: { posts } }) { - return ( - <> -

Faker Entries

-
    - {posts.map(({ lorem, name }) => { - return ( -
  1. - - {lorem.words} - {name.firstName} {name.lastName} - -
  2. - ); - })} -
- - ); -} diff --git a/integration-tests/plugin-fastify/src/templates/fakerPost.js b/integration-tests/plugin-fastify/src/templates/fakerPost.js deleted file mode 100644 index a2735f442..000000000 --- a/integration-tests/plugin-fastify/src/templates/fakerPost.js +++ /dev/null @@ -1,19 +0,0 @@ -import * as React from "react"; -import PostPage from "../components/Post"; -import { graphql } from "gatsby"; - -export default function postPage1({ data }) { - return ; -} - -export const query = graphql` - query fakerPostQuery($slug: String!) { - nameData(lorem: { slug: { eq: $slug } }) { - lorem { - paragraphs - slug - words - } - } - } -`; diff --git a/packages/gatsby-plugin-fastify/.babelrc b/packages/gatsby-plugin-fastify/.babelrc deleted file mode 100644 index ac0ad292b..000000000 --- a/packages/gatsby-plugin-fastify/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": [["babel-preset-gatsby-package"]] -} diff --git a/packages/gatsby-plugin-fastify/.npmignore b/packages/gatsby-plugin-fastify/.npmignore deleted file mode 100644 index 1b2e7f482..000000000 --- a/packages/gatsby-plugin-fastify/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -.vscode/ -src \ No newline at end of file diff --git a/packages/gatsby-plugin-fastify/.vscode/launch.json b/packages/gatsby-plugin-fastify/.vscode/launch.json deleted file mode 100644 index 8a3a853ee..000000000 --- a/packages/gatsby-plugin-fastify/.vscode/launch.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Attach", - "port": 9229, - "request": "attach", - "skipFiles": ["/**"], - "type": "pwa-node" - }, - { - "name": "Attach by Process ID", - "processId": "${command:PickProcess}", - "request": "attach", - "skipFiles": ["/**"], - "type": "pwa-node" - } - ] -} diff --git a/packages/gatsby-plugin-fastify/CHANGELOG.md b/packages/gatsby-plugin-fastify/CHANGELOG.md deleted file mode 100644 index 7f99d926c..000000000 --- a/packages/gatsby-plugin-fastify/CHANGELOG.md +++ /dev/null @@ -1,375 +0,0 @@ -# gatsby-plugin-fastify - -## 0.13.4 - -### Patch Changes - -- [#469](https://github.com/gatsby-uc/plugins/pull/469) [`4759545`](https://github.com/gatsby-uc/plugins/commit/475954526a982c149696255f7ddfb3dba60e17b5) Thanks [@renovate](https://github.com/apps/renovate)! - fix(packages): update non-major dependency versions - -- [#471](https://github.com/gatsby-uc/plugins/pull/471) [`3ff08a8`](https://github.com/gatsby-uc/plugins/commit/3ff08a8bcd712a9728a009e42e48a092251a1b01) Thanks [@renovate](https://github.com/apps/renovate)! - chore(packages): update dependency @types/jest to ^29.5.13 - -- [#484](https://github.com/gatsby-uc/plugins/pull/484) [`2579b64`](https://github.com/gatsby-uc/plugins/commit/2579b64b1bbf62df71fd3717486c600161f8b307) Thanks [@renovate](https://github.com/apps/renovate)! - chore(babel): update build tooling to v7.25.8 - -- [#468](https://github.com/gatsby-uc/plugins/pull/468) [`67b7397`](https://github.com/gatsby-uc/plugins/commit/67b73976f7606fed7653e26150d4a7bab092935f) Thanks [@renovate](https://github.com/apps/renovate)! - Refactor code for updated linting rules - -- [#466](https://github.com/gatsby-uc/plugins/pull/466) [`3731300`](https://github.com/gatsby-uc/plugins/commit/3731300946af4aeed7caf052cea62886941f8c82) Thanks [@renovate](https://github.com/apps/renovate)! - chore(babel): update build tooling - -## 0.13.3 - -### Patch Changes - -- [#464](https://github.com/gatsby-uc/plugins/pull/464) [`c43c4d8`](https://github.com/gatsby-uc/plugins/commit/c43c4d86a4d787415b7efd830b9b1620ae4df989) Thanks [@renovate](https://github.com/apps/renovate)! - fix(packages): update non-major dependency versions - -- [#450](https://github.com/gatsby-uc/plugins/pull/450) [`f334dd4`](https://github.com/gatsby-uc/plugins/commit/f334dd4a79868cef3dc03534baa27e95e36760c8) Thanks [@renovate](https://github.com/apps/renovate)! - chore(babel): update build tooling to v7.23.7 - -## 0.13.2 - -### Patch Changes - -- [#461](https://github.com/gatsby-uc/plugins/pull/461) [`caf7d4f`](https://github.com/gatsby-uc/plugins/commit/caf7d4feb52b9ca062b0d78883659d62e86243f4) Thanks [@moonmeister](https://github.com/moonmeister)! - Updated can-i-use database - -- [#461](https://github.com/gatsby-uc/plugins/pull/461) [`caf7d4f`](https://github.com/gatsby-uc/plugins/commit/caf7d4feb52b9ca062b0d78883659d62e86243f4) Thanks [@moonmeister](https://github.com/moonmeister)! - - Updated testing and runners to latest Node 20 LTS. - - - Updated to latests Yarn v4 and corepack for management of packageManager. Please run `corepack enable` to use the correct version of `yarn`. - - Updated dependencies. - - Updated prettier and associated formatting. - - Update TypeScript versions used to latest. - -- [#444](https://github.com/gatsby-uc/plugins/pull/444) [`b7b48b7`](https://github.com/gatsby-uc/plugins/commit/b7b48b781885a7b0378bb44f18ee18b0733a3981) Thanks [@renovate](https://github.com/apps/renovate)! - fix(packages): update non-major dependency versions - -- [#453](https://github.com/gatsby-uc/plugins/pull/453) [`6a313dc`](https://github.com/gatsby-uc/plugins/commit/6a313dca5b1f7f71a2a7ef8c19aef7e72e5f7445) Thanks [@renovate](https://github.com/apps/renovate)! - fix(packages): update non-major dependency versions - -- [#461](https://github.com/gatsby-uc/plugins/pull/461) [`caf7d4f`](https://github.com/gatsby-uc/plugins/commit/caf7d4feb52b9ca062b0d78883659d62e86243f4) Thanks [@moonmeister](https://github.com/moonmeister)! - fix: something made Gatsby funcitons nest another default export deeper...so I added another line to unnest correctly - -## 0.13.1 - -### Patch Changes - -- [#442](https://github.com/gatsby-uc/plugins/pull/442) [`dd33f3d`](https://github.com/gatsby-uc/plugins/commit/dd33f3d91ef83c0c463e317be836c300f8427d21) Thanks [@renovate](https://github.com/apps/renovate)! - chore(babel): update build tooling - -## 0.13.0 - -### Minor Changes - -- [#430](https://github.com/gatsby-uc/plugins/pull/430) [`23f9fba`](https://github.com/gatsby-uc/plugins/commit/23f9fba42e854a86874545c4fce2be2858133c5f) Thanks [@tboutron](https://github.com/tboutron)! - Fix homepage link for plugins - -### Patch Changes - -- [#417](https://github.com/gatsby-uc/plugins/pull/417) [`04a77c7`](https://github.com/gatsby-uc/plugins/commit/04a77c7697eff0e4955096e9c2b58241d5eb8e75) Thanks [@renovate](https://github.com/apps/renovate)! - chore(packages): update jest monorepo - -- [#418](https://github.com/gatsby-uc/plugins/pull/418) [`c6b3c08`](https://github.com/gatsby-uc/plugins/commit/c6b3c084c542b24ed0e953005f394fdb62396465) Thanks [@renovate](https://github.com/apps/renovate)! - fix(packages): update non-major dependency versions - -- [#414](https://github.com/gatsby-uc/plugins/pull/414) [`badae40`](https://github.com/gatsby-uc/plugins/commit/badae403b130fd3bdf8d706c540d14de884c8490) Thanks [@renovate](https://github.com/apps/renovate)! - chore(babel): update build tooling - -## 0.12.4 - -### Patch Changes - -- [#382](https://github.com/gatsby-uc/plugins/pull/382) [`d578b78`](https://github.com/gatsby-uc/plugins/commit/d578b7896f804716a4c2222385c19be11c27bdf4) Thanks [@renovate](https://github.com/apps/renovate)! - fix(packages): update non-major dependency versions - -- [#380](https://github.com/gatsby-uc/plugins/pull/380) [`9da9a23`](https://github.com/gatsby-uc/plugins/commit/9da9a23a13343ca52cf32aa98105cb2f597a2f07) Thanks [@renovate](https://github.com/apps/renovate)! - chore(packages): update jest monorepo - -- [#378](https://github.com/gatsby-uc/plugins/pull/378) [`07bbfa7`](https://github.com/gatsby-uc/plugins/commit/07bbfa7c434b8543a7d15c5f2e87ac48705aa593) Thanks [@renovate](https://github.com/apps/renovate)! - chore(babel): update build tooling - -## 0.12.3 - -### Patch Changes - -- [#356](https://github.com/gatsby-uc/plugins/pull/356) [`687e7f9`](https://github.com/gatsby-uc/plugins/commit/687e7f9d65c442a53932def1df2e7ecb3b917fdc) Thanks [@renovate](https://github.com/apps/renovate)! - chore(packages): update dependency @types/jest to ^29.2.5 - -- [#365](https://github.com/gatsby-uc/plugins/pull/365) [`369749a`](https://github.com/gatsby-uc/plugins/commit/369749a50931bc073ba25815dc6d1e6561de28de) Thanks [@moonmeister](https://github.com/moonmeister)! - chore(babel): update build tooling - -- [#359](https://github.com/gatsby-uc/plugins/pull/359) [`b91e945`](https://github.com/gatsby-uc/plugins/commit/b91e945ebb0a25249f8432fa682bd771407c3b04) Thanks [@renovate](https://github.com/apps/renovate)! - fix(packages): update non-major dependency versions - -## 0.12.2 - -### Patch Changes - -- [#351](https://github.com/gatsby-uc/plugins/pull/351) [`3029c4b`](https://github.com/gatsby-uc/plugins/commit/3029c4bd65bbc5bc5203c19bd93c392934518136) Thanks [@moonmeister](https://github.com/moonmeister)! - When plugins are nested inside a Gatsby Theme they are required to have an `index.js` file in the package root. We recently removed these not knowing this requirement. Files restored and tests added. - -## 0.12.1 - -### Patch Changes - -- [#328](https://github.com/gatsby-uc/plugins/pull/328) [`90e1706`](https://github.com/gatsby-uc/plugins/commit/90e170661041dd62cb9453c25905bf10418f066f) Thanks [@tsdexter](https://github.com/tsdexter)! - encode replacements in wildcard redirects fixes #327 - -## 0.12.0 - -### Minor Changes - -- [#321](https://github.com/gatsby-uc/plugins/pull/321) [`fa6aa14`](https://github.com/gatsby-uc/plugins/commit/fa6aa14321c3b8012528b94501c56c8f51d2b0dd) Thanks [@moonmeister](https://github.com/moonmeister)! - FEAT: Added ability to configure Fastify server options from plugin config. As a part of this effort several non-critical defaults have been changed. While debating this change it was relized these defaults were more for development ease than good production defaults. - - 1. Request logging is now on by default as is normal in Fastify. - 2. Logging is no longer "pretty" when `NODE_ENV=development`. - - If you'd like to restore either of the functionalities see: - - ```js - //gatsby-config.js - module.exports = { - /* Site config */ - plugins: [ - /* Rest of the plugins */ - { - resolve: `gatsby-plugin-fastify`, - /* Default option value shown */ - options: { - fastify: { - logger: { - level: logLevel, - transport: - process.env.NODE_ENV === "development" - ? { - target: "pino-pretty", - options: { - translateTime: "HH:MM:ss Z", - ignore: "pid,hostname", - }, - } - : undefined, - }, - disableRequestLogging: ["trace", "debug"].includes(logLevel) ? false : true, - }, - }, - }, - ], - }; - ``` - - > To restore pretty printing you'll also need to install `pino-pretty` from npm. - -## 0.11.2 - -### Patch Changes - -- [#319](https://github.com/gatsby-uc/plugins/pull/319) [`327f233`](https://github.com/gatsby-uc/plugins/commit/327f233beb45485e7fcbdcc2d9a2811c7d21c561) Thanks [@moonmeister](https://github.com/moonmeister)! - refactor re-export. no funcitonal changes. - -## 0.11.1 - -### Patch Changes - -- [#317](https://github.com/gatsby-uc/plugins/pull/317) [`8fd9b57`](https://github.com/gatsby-uc/plugins/commit/8fd9b577189c98ddbacc0afb37a3cf3d756ea199) Thanks [@renovate](https://github.com/apps/renovate)! - fix(packages): update dependency fs-extra to v11 - -- [#310](https://github.com/gatsby-uc/plugins/pull/310) [`3c854d0`](https://github.com/gatsby-uc/plugins/commit/3c854d0fd7c4bb81c894a08d6dca0ca2c18f7025) Thanks [@renovate](https://github.com/apps/renovate)! - chore(babel): update build tooling - -- [#313](https://github.com/gatsby-uc/plugins/pull/313) [`60fecbc`](https://github.com/gatsby-uc/plugins/commit/60fecbc600ce57bf82887a78f4e4d9a430b35f00) Thanks [@renovate](https://github.com/apps/renovate)! - fix(packages): update non-major dependency versions - -## 0.11.0 - -### Minor Changes - -- [#306](https://github.com/gatsby-uc/plugins/pull/306) [`c109eb2`](https://github.com/gatsby-uc/plugins/commit/c109eb284913f00c05423804e3de888724848409) Thanks [@moonmeister](https://github.com/moonmeister)! - We've changed the default redirect codes to 307/308 from 301/302. See the redirects docs for more info. This won't break most use cases, unless you were expecting a specific response code. You may uses Gatsby's "statusCode" field to explicitly set the satus code back to 301/302 when creating the redirect. - -### Patch Changes - -- [#306](https://github.com/gatsby-uc/plugins/pull/306) [`c109eb2`](https://github.com/gatsby-uc/plugins/commit/c109eb284913f00c05423804e3de888724848409) Thanks [@moonmeister](https://github.com/moonmeister)! - feat: Changed redirects to respond on any HTTP medthod, not just GET. - -## 0.10.0 - -### Minor Changes - -- [#303](https://github.com/gatsby-uc/plugins/pull/303) [`bae3266`](https://github.com/gatsby-uc/plugins/commit/bae326612720b00116aea0928fc84a01a328fbb7) Thanks [@renovate](https://github.com/apps/renovate)! - Bumping dependencies to match Gatsby v5 related changes. We will only be testing against Gatsby v5, so there's no promisses for Gatsby v4, though there's no known breaking changes. - -### Patch Changes - -- [#305](https://github.com/gatsby-uc/plugins/pull/305) [`97af0d6`](https://github.com/gatsby-uc/plugins/commit/97af0d667d8f6e5265773f9cdb8eb0a184b9a6fa) Thanks [@moonmeister](https://github.com/moonmeister)! - ADded ESLint configs and updated packages to lint rules. Don't expect any functional changes but code was changed. Please open an issue if you notice any change in behavior. - -- [#303](https://github.com/gatsby-uc/plugins/pull/303) [`bae3266`](https://github.com/gatsby-uc/plugins/commit/bae326612720b00116aea0928fc84a01a328fbb7) Thanks [@renovate](https://github.com/apps/renovate)! - Adding Gatsby v5 to peer dependencies now that testing has been done. - -- [#288](https://github.com/gatsby-uc/plugins/pull/288) [`0a047a8`](https://github.com/gatsby-uc/plugins/commit/0a047a8a241c82205b7ac43abcb7f3b9ca5b97a0) Thanks [@moonmeister](https://github.com/moonmeister)! - chore(repo): node 18 version bumps and testing - -## 0.9.8 - -### Patch Changes - -- [#300](https://github.com/gatsby-uc/plugins/pull/300) [`2eacee4`](https://github.com/gatsby-uc/plugins/commit/2eacee4914a036372fcb8751be0d1b40fac6a5e2) Thanks [@moonmeister](https://github.com/moonmeister)! - Fix: bugs arround matching certain paths related to wildcard and parametric SSR routes. #289. - Fix: implemented some more consistent use and parsing of matchPaths to support native gatsby naming that is window ssompatible. #270 - -## 0.9.7 - -### Patch Changes - -- [#292](https://github.com/gatsby-uc/plugins/pull/292) [`4ca97f9`](https://github.com/gatsby-uc/plugins/commit/4ca97f9ae833b719d67f02ae2af0c9313549fea8) Thanks [@tsdexter](https://github.com/tsdexter)! - support colons in redirect `toPath`s - -## 0.9.6 - -### Patch Changes - -- [#277](https://github.com/gatsby-uc/plugins/pull/277) [`a07a56c`](https://github.com/gatsby-uc/plugins/commit/a07a56c6f670ef3606a95ea3dccedbecec1e724e) Thanks [@renovate](https://github.com/apps/renovate)! - fix(gatsby-plugin-fastify): update non-major dependency versions - -## 0.9.5 - -### Patch Changes - -- [#272](https://github.com/gatsby-uc/plugins/pull/272) [`95dcabf`](https://github.com/gatsby-uc/plugins/commit/95dcabf03992ca89382f35c1d4a54938ef3066e7) Thanks [@moonmeister](https://github.com/moonmeister)! - Fix: Correctly handle splat and wildcard routes for redirects as discussed in #271 - -## 0.9.4 - -### Patch Changes - -- [#266](https://github.com/gatsby-uc/plugins/pull/266) [`7792f9f`](https://github.com/gatsby-uc/plugins/commit/7792f9f0e6b9aa4148bdbd6fb3513c7843177be6) Thanks [@moonmeister](https://github.com/moonmeister)! - docs: Change docs to correctly direct user to ENV vars for changing host address. Solves #265 - -- [#260](https://github.com/gatsby-uc/plugins/pull/260) [`7c07006`](https://github.com/gatsby-uc/plugins/commit/7c07006c0464a4219d89f0885d5811d01d8459ba) Thanks [@moonmeister](https://github.com/moonmeister)! - Adding Type checking for all TS files and fixing type issues. - -- [#249](https://github.com/gatsby-uc/plugins/pull/249) [`b11a1b0`](https://github.com/gatsby-uc/plugins/commit/b11a1b04ac3cb7b9304545af82f2ff1aae5b04bd) Thanks [@renovate](https://github.com/apps/renovate)! - Update testing configs and implementation for speed and Jest 29 update. - -## 0.9.3 - -### Patch Changes - -- [#258](https://github.com/gatsby-uc/plugins/pull/258) [`ca806e9`](https://github.com/gatsby-uc/plugins/commit/ca806e94b03d7ecbe3f529d397151096175fa04d) Thanks [@moonmeister](https://github.com/moonmeister)! - fix(gatsby-plugin-fastify): Fix https://github.com/gatsby-uc/plugins/issues/257 where passing query parameters to SSR routes was causing 500. - -## 0.9.2 - -### Patch Changes - -- [#253](https://github.com/gatsby-uc/plugins/pull/253) [`d7ace2d`](https://github.com/gatsby-uc/plugins/commit/d7ace2dc1076feb3ef60e5c132cd86c8701c6908) Thanks [@klyngen](https://github.com/klyngen)! - Fallback routes get SSR-support - -## 0.9.1 - -### Patch Changes - -- [#217](https://github.com/gatsby-uc/plugins/pull/217) [`029cab4`](https://github.com/gatsby-uc/plugins/commit/029cab4ede52db8c7ac315a124d73536c2155bfd) Thanks [@renovate](https://github.com/apps/renovate)! - chore(gatsby-plugin-fastify): update dependency @types/node to ^14.18.28 - -## 0.9.0 - -### Minor Changes - -- [#245](https://github.com/gatsby-uc/plugins/pull/245) [`5f4decc`](https://github.com/gatsby-uc/plugins/commit/5f4decc6554ad6755e51daf01a4192307158956d) Thanks [@moonmeister](https://github.com/moonmeister)! - Upgraded fastify to v4 and bumped majors on related and unrelated packages. - - ## Breaking Changes - - - Logging no longer defaults to "pretty print" unless the environment variable`NODE_ENV` equals `development`. - - - Changes were made to the static file servers config. This fixed issues introduced by fastify updates. While this didn't break tests or knowingly intoduce bugs please let us know if you see any behavior changes. - -### Patch Changes - -- [#243](https://github.com/gatsby-uc/plugins/pull/243) [`8116411`](https://github.com/gatsby-uc/plugins/commit/8116411db4130b8c33ad27da9994095f4323e2eb) Thanks [@renovate](https://github.com/apps/renovate)! - chore(gatsby-plugin-fastify): update non-major dependency versions - -- [#241](https://github.com/gatsby-uc/plugins/pull/241) [`35ba22d`](https://github.com/gatsby-uc/plugins/commit/35ba22de4d10f1402b113880567f561aff4056ab) Thanks [@renovate](https://github.com/apps/renovate)! - chore(all-build-deps): update build tooling - -- [#227](https://github.com/gatsby-uc/plugins/pull/227) [`a08f176`](https://github.com/gatsby-uc/plugins/commit/a08f176070950d0bc63b00ec74c173f14c50b4bf) Thanks [@tsdexter](https://github.com/tsdexter)! - chore(gatsby-plugin-fastify): Update README.md - -## 0.8.1 - -### Patch Changes - -- [#202](https://github.com/gatsby-uc/plugins/pull/202) [`9ced9cb`](https://github.com/gatsby-uc/plugins/commit/9ced9cbc77b2eac88790ced90d8dcf401e258a55) Thanks [@moonmeister](https://github.com/moonmeister)! - Implemented the new "Gatsby Image CDN" from Gatsby Cloud. See the docs for getting started. - -## 0.8.0 - -### Minor Changes - -- [#176](https://github.com/gatsby-uc/plugins/pull/176) [`f556171`](https://github.com/gatsby-uc/plugins/commit/f556171cfbd44a379960a9bceb9f52b081f9ef8c) Thanks [@moonmeister](https://github.com/moonmeister)! - This plugin's focus is on serving the web app. Compression should be handled by an edge server (e.g. Nginx). Therefore we are removing this feature, this should not break an existing config, though you may see a warning during build if you explicitly set the compression setting in your `gatsby-config.js`. - -* [#200](https://github.com/gatsby-uc/plugins/pull/200) [`4a291b1`](https://github.com/gatsby-uc/plugins/commit/4a291b16d9fab8989ae045845a6ac95b11d1a7d3) Thanks [@moonmeister](https://github.com/moonmeister)! - We're nolonger treating the fastify plugins as public API. They've been removed from docs. If you're using them you may continue to do so at your own risk. If you'd like to contribute to help make these publically maintainable please open an issue. - -### Patch Changes - -- [#199](https://github.com/gatsby-uc/plugins/pull/199) [`eec780b`](https://github.com/gatsby-uc/plugins/commit/eec780bc8643bc5b2b5da9b85fc221c14cec743b) Thanks [@moonmeister](https://github.com/moonmeister)! - Did some reworking of redirects and added support for Gatsby's new Reverse Proxy functionality. - -## 0.7.5 - -### Patch Changes - -- [#187](https://github.com/gatsby-uc/plugins/pull/187) [`48c3369`](https://github.com/gatsby-uc/plugins/commit/48c336942ad638f1fb7483460ceb8fc4607ef3cc) Thanks [@renovate](https://github.com/apps/renovate)! - chore(gatsby-plugin-fastify): update non-major dependency versions - -## 0.7.4 - -### Patch Changes - -- [#177](https://github.com/gatsby-uc/plugins/pull/177) [`4c1365d`](https://github.com/gatsby-uc/plugins/commit/4c1365d639ecb1f0409d72db4e15593706d82639) Thanks [@jrotering](https://github.com/jrotering)! - Updated broken fastify documentation links & fixed typo - -## 0.7.3 - -### Patch Changes - -- [#163](https://github.com/gatsby-uc/plugins/pull/163) [`a3c5e55`](https://github.com/gatsby-uc/plugins/commit/a3c5e55542ad0b3dd97afcc04d686a00d44bdbe3) Thanks [@renovate](https://github.com/apps/renovate)! - chore(gatsby-plugin-fastify): update gatsby monorepo (major) - -* [#150](https://github.com/gatsby-uc/plugins/pull/150) [`1d9f473`](https://github.com/gatsby-uc/plugins/commit/1d9f4732872028be5cd8e77e7af15c478d392311) Thanks [@renovate](https://github.com/apps/renovate)! - chore(gatsby-plugin-fastify): update non-major dependency versions - -## 0.7.2 - -### Patch Changes - -- [`5d1f1bf`](https://github.com/gatsby-uc/plugins/commit/5d1f1bf7989c119540760dc40ae7bc4dcf822836) Thanks [@moonmeister](https://github.com/moonmeister)! - Update package dependencies - -## 0.7.1 - -### Patch Changes - -- [#128](https://github.com/gatsby-uc/plugins/pull/128) [`331bf7d`](https://github.com/gatsby-uc/plugins/commit/331bf7d2464701f8dab39c8e680efa3c996f056b) Thanks [@renovate](https://github.com/apps/renovate)! - fix(gatsby-plugin-fastify): update non-major dependency versions - -## 0.7.0 - -### Minor Changes - -- [#124](https://github.com/gatsby-uc/plugins/pull/124) [`e93dc62`](https://github.com/gatsby-uc/plugins/commit/e93dc62044ce2ac2069d80c339247901b4416ece) Thanks [@moonmeister](https://github.com/moonmeister)! - Updated "client path" name to "client routes" for consistency. Imports changed to `import { handleClientOnlyRoutes } from "./clientRoutes";` - -* [#124](https://github.com/gatsby-uc/plugins/pull/124) [`e93dc62`](https://github.com/gatsby-uc/plugins/commit/e93dc62044ce2ac2069d80c339247901b4416ece) Thanks [@moonmeister](https://github.com/moonmeister)! - Remove fastify plugins from peer deps to normal dependencies. Only Gatsby and fastify are peer deps now. - -- [#123](https://github.com/gatsby-uc/plugins/pull/123) [`acbf356`](https://github.com/gatsby-uc/plugins/commit/acbf356b305eff55f4ef96c77fbb47b2360319da) Thanks [@moonmeister](https://github.com/moonmeister)! - Set the HTTP response code when `status` is returned from `getServerData`. https://www.gatsbyjs.com/docs/reference/release-notes/v4.2/#getserverdata-improvements - -## 0.6.1 - -### Patch Changes - -- [#112](https://github.com/gatsby-uc/plugins/pull/112) [`529590e`](https://github.com/gatsby-uc/plugins/commit/529590eb9e83ec4188ad9ef23eca9c9d14fb8729) Thanks [@renovate](https://github.com/apps/renovate)! - chore(gatsby-plugin-fastify): update non-major dependency versions - -## 0.6.0 - -### Minor Changes - -- [#68](https://github.com/gatsby-uc/plugins/pull/68) [`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f) Thanks [@moonmeister](https://github.com/moonmeister)! - feat: much improved logging - -* [#68](https://github.com/gatsby-uc/plugins/pull/68) [`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f) Thanks [@moonmeister](https://github.com/moonmeister)! - feat: add support for Gatsby 500 error if SSR/DSG throws an error. - -- [#68](https://github.com/gatsby-uc/plugins/pull/68) [`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f) Thanks [@moonmeister](https://github.com/moonmeister)! - Support for Gatsby v4's DSG and SSR routes. - -### Patch Changes - -- [#68](https://github.com/gatsby-uc/plugins/pull/68) [`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f) Thanks [@moonmeister](https://github.com/moonmeister)! - Fix: SSR/DSG routes throwing non-fatal error when returning file. - -* [#68](https://github.com/gatsby-uc/plugins/pull/68) [`e736248`](https://github.com/gatsby-uc/plugins/commit/e736248513e6bdbeb29cbedd06b79ed40ac0294f) Thanks [@moonmeister](https://github.com/moonmeister)! - fix: handle situations where dev doesn't provide 404 page by falling back to generic 404. - -## 0.5.0 - -### Minor Changes - -- [#100](https://github.com/gatsby-uc/plugins/pull/100) [`fec2c31`](https://github.com/gatsby-uc/plugins/commit/fec2c31d1d64a51d6b99297ff0c1345ec2f4bad3) Thanks [@moonmeister](https://github.com/moonmeister)! - Implemented better logging. This means we removed teh "verbose" flag from the CLI in favor of a "logLevel" flag. See docs for more info. - -* [#97](https://github.com/gatsby-uc/plugins/pull/97) [`09bb2c2`](https://github.com/gatsby-uc/plugins/commit/09bb2c272f7127a732e1ad54d2b8fb38db054523) Thanks [@moonmeister](https://github.com/moonmeister)! - Implemented testing and that came with some minor changes and fixes. - -## 0.4.5 - -### Patch Changes - -- [#95](https://github.com/gatsby-uc/plugins/pull/95) [`7007934`](https://github.com/gatsby-uc/plugins/commit/700793427bf754a8449717179d51dabe76096d81) Thanks [@moonmeister](https://github.com/moonmeister)! - Add 404 handler for Gatsby functions to not use default Gatsby 404. thus any unknown route under "/api" now just returns a 404 and not found text. - -## 0.4.4 - -### Patch Changes - -- [#87](https://github.com/gatsby-uc/plugins/pull/87) [`5529aad`](https://github.com/gatsby-uc/plugins/commit/5529aadf0f65c4b0c193131d606c3ce7d8d06651) Thanks [@moonmeister](https://github.com/moonmeister)! - Update main server execution to use async/await from callbacks - -## 0.4.3 - -### Patch Changes - -- [#82](https://github.com/gatsby-uc/plugins/pull/82) [`eb12e74`](https://github.com/gatsby-uc/plugins/commit/eb12e74e05268ee7778f00711772749cd7d8ab6c) Thanks [@renovate](https://github.com/apps/renovate)! - chore(gatsby-plugin-fastify): update non-major dependency versions - -* [#85](https://github.com/gatsby-uc/plugins/pull/85) [`80aa8f3`](https://github.com/gatsby-uc/plugins/commit/80aa8f39c79bed433b47dad39810767710d0bdd2) Thanks [@moonmeister](https://github.com/moonmeister)! - chore(gatsby-plugin-fastify): Misc cleanup and typing improvements - -## 0.4.2 - -### Patch Changes - -- [#77](https://github.com/gatsby-uc/plugins/pull/77) [`30f7ac4`](https://github.com/gatsby-uc/plugins/commit/30f7ac4bb5c39374b79ed900b3aab60f9c44774a) Thanks [@renovate](https://github.com/apps/renovate)! - chore(gatsby-plugin-fastify): bump non-major package updates. This includes important security fixes for `fastify-static`. - -## 0.4.1 - -### Patch Changes - -- [#62](https://github.com/gatsby-uc/plugins/pull/62) [`79a49d6`](https://github.com/gatsby-uc/plugins/commit/79a49d63ef6fbb9ad997545e9e692f16b9e04ec3) Thanks [@renovate](https://github.com/apps/renovate)! - chore(gatsby-plugin-fastify): update non-major updates - Updated patch/minor updates in dependencies diff --git a/packages/gatsby-plugin-fastify/CONTRIBUTING.md b/packages/gatsby-plugin-fastify/CONTRIBUTING.md deleted file mode 100644 index 823f475e2..000000000 --- a/packages/gatsby-plugin-fastify/CONTRIBUTING.md +++ /dev/null @@ -1,11 +0,0 @@ -## Intro - -Thanks for your interest. There are two important things to know. - -## Testing - -Running `yarn test` will run tests. Make sure they pass when you start, and then keep them passing as you fix things and add features. If you're fixing a specific bug I'd recommend creating a test that fails before it is fixed so keep the bug from regressing. If you're adding a new feature, please write tests for the new feature. - -## Benchmarks - -When fixing bugs or adding features it'simportant to make sure our servers are fast. You can run benchmarks by building `integration-tests/plugin-fastify` via `yarn build` then run benchmarks with `yarn benchmark` from the `integration-tests/plugin-fastify` folder. To keep things consistent, shutdown as many other applications as possible. diff --git a/packages/gatsby-plugin-fastify/README.md b/packages/gatsby-plugin-fastify/README.md deleted file mode 100644 index 83fc22339..000000000 --- a/packages/gatsby-plugin-fastify/README.md +++ /dev/null @@ -1,257 +0,0 @@ -

- Gatsby + Fastify -

-

-

gatsby-plugin-fastify

-

-

- - Gatsby plugin for easy integration with Fastify. - -

-

- MIT License - NPM version - npm peer dependency version - npm peer dependency version -

- -# About - -`gatsby-plugin-fastify` gives you a way to integrate your Gatsby site with a Node.js server using Fastify. Use to serve a standard Gatsby.js site normally - the plugin will take care of everything: - -- Serving [Gatsby Functions](https://www.gatsbyjs.com/docs/reference/functions/) -- Serving [static files](https://www.gatsbyjs.com/docs/caching/#static-files) -- Serving [DSG](https://www.gatsbyjs.com/docs/reference/rendering-options/deferred-static-generation/)/[SSR](https://www.gatsbyjs.com/docs/reference/rendering-options/server-side-rendering/) Routes -- Gatsby [404 page](https://www.gatsbyjs.com/docs/how-to/adding-common-features/add-404-page/) -- Gatsby [500 page](https://www.gatsbyjs.com/docs/how-to/adding-common-features/add-500-page/) -- Gatsby [redirects](https://www.gatsbyjs.com/docs/reference/config-files/actions/#createRedirect) -- Gatsby [reverse proxy](https://support.gatsbyjs.com/hc/en-us/articles/1500003051241-Working-with-Redirects-and-Rewrites) -- [Client-only routes](https://www.gatsbyjs.com/docs/how-to/routing/client-only-routes-and-user-authentication) -- Serving the site with [pathPrefix](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/path-prefix/) - set it up inside `gatsby-config.js`, the plugin will take care of it -- Etags, and more. - -# Installation - -Install the plugin using npm or yarn - -```sh -npm install gatsby-plugin-fastify fastify -``` - -and add it to your `gatsby-config.js` - -```js -module.exports = { - /* Site config */ - plugins: [ - /* Rest of the plugins */ - { - resolve: `gatsby-plugin-fastify`, - options: { - /* discussed below */ - }, // All options are optional - }, - ], -}; -``` - -# Serving your site - -Node and Fastify are great for building application specific web servers but generally should not be used on the edge. Meaning, most folks will use a fully fledged web server (e.g. [Nginx](https://www.nginx.com/) or [Caddy](https://caddyserver.com/) that handles traffic before passing it back to the Node server. This edge server may handle caching, TLS/SSL, load balancing, compression, etc. Then the Node server only worries about the application. A CDN (e.g. Fastly or CloudFlare ) is also often used for performance and scalability. - -## Server CLI (expected) - -This plugin implements a server that's ready to go. To use this you can configure a `start`(or whatever you prefer) command in your `package.json`: - -```json -{ - "scripts": { - "start": "gserve" - } -} -``` - -### CLI Config - -``` - Server - -p, --port Port to run the server on [number] [default: "8080"] - -h, --host Host to run the server on [string] [default: "127.0.0.1"] - -o, --open Open the browser [boolean] [default: false] - -Options: - --help Show help [boolean] - --version Show version number [boolean] - -l, --logLevel set logging level - [string] [choices: "trace", "debug", "info", "warn", "error", "fatal"] - [default: "info"] -``` - -All settings may be change via environment variables prefixed with `GATSBY_SERVER_` and the flag name. - -```sh -# For example: -export GATSBY_SERVER_PORT=3000 -export GATSBY_SERVER_HOST=0.0.0.0 -# cammelCase is converted to SCREAMING_SNAKE_CASE. -export GATSBY_SERVER_LOG_LEVEL=debug -``` - -### Logging - -For info on logging see Fastify's [documentation on logging](https://www.fastify.io/docs/latest/Reference/Logging/). - -## Fastify Server Options - -You may directly [configure the Fastify server](https://www.fastify.io/docs/latest/Reference/Server/#factory) from the plugin options in Gatsby config. While many options fastify provides are safe to modify, it's very possible to break your server with these as well, test well. Outside the defaults any values passed are not type checked by Gatsby for compatibility, make sure you are passing valid values as defined in the [Fastify server factory docs](https://www.fastify.io/docs/latest/Reference/Server/#factory). - -```js -module.exports = { - /* Site config */ - plugins: [ - /* Rest of the plugins */ - { - resolve: `gatsby-plugin-fastify`, - /* Default option value shown */ - options: { - fastify: { - logger: { level: /* defaults to info by CLI params*/ }, - ignoreTralingSlash: true, - maxParamLength: 500, - // for complete options see https://www.fastify.io/docs/latest/Reference/Server/#factory - }, - }, - }, - ], -}; -``` - -## Features - -Some features can be disabled through the plugin options. This will not provide increased performance but is probided as an option to control features in certain deploys or to handoff certain features to an edge server or CDN as desired. - -```js -module.exports = { - /* Site config */ - plugins: [ - /* Rest of the plugins */ - { - resolve: `gatsby-plugin-fastify`, - /* Default option value shown */ - options: { - features: { - redirects: true, - reverseProxy: true, - imageCdn: false, // Feature in Beta, use with caution - }, - }, - }, - ], -}; -``` - -### Gatsby Image CDN (BETA) - -> **BETA:** This feature is under going active development to fix bugs and extend functionality by the Gatsby team. I'm releasing this feature here with compatability for `gatsby@4.12.1`, `gatsby-source-wordpres@6.12.1`, and `gatsby-source-contentful@7.10.0` No guarantee it works on newer or older versions. - -While not strictly a CDN in our case this still implements the ability for Images to be transformed outside of build time. - -> Please note that this writes generated images to the `/public/\_gatsby folder. This must be writeable in production. - -This will be enabled by default if your version of Gatsby supports the image CDN. You may manually disable it in the config if you don't need it. - -### Gatsby Reverse Proxy - -Building on top of the `createRedirects` API Gatsby Cloud now supports reverse proxies. We've implemented this feature here as well. - -```js -// gatsby-node.js -createRedirect({ - fromPath: `/docs/`, - toPath: `https://www.awesomesite.com/docs/`, - statusCode: 200, // The 200 is required to denote a proxy response as opposed to a redirect -}); -``` - -> The Gatsby docs note ending the to and from paths with `*`. This is not allowed in this plugin. If included they are stripped for compatibility. - -### Gatsby Redirects - -We support the use of `statusCode` but do not currently support `conditions`, `ignoreCase`, or `force` as discussed in the [`createRedirect` docs](https://www.gatsbyjs.com/docs/reference/config-files/actions/#createRedirect). - -For various reasons discussed in [this article](https://kinsta.com/knowledgebase/307-redirect/), the `isPermanent` boolean toggles HTTP `307 Temporray Redirect` and `308 Permanent Redirect` instead of `301 Moved Permanently` and `302 Found`. If you need to use `statusCode` onyour redirects to explicitly set the response code. - -Our implementation supports dynamic redirects as shown by [Gatsby Cloud Docs](https://www.gatsbyjs.com/docs/how-to/cloud/working-with-redirects-and-rewrites/). - -Basic, splat, wildcard, and Querystring splat redirects should all work. e.g. : - -```js -createRedirect({ - fromPath: "/perm-redirect", - toPath: "/posts/page-1", -}); -createRedirect({ - fromPath: "/redirect/:letter", // `/redirect/a` - toPath: "/app/:letter", // `/app/a` -}); -createRedirect({ - fromPath: "/redirect-query?example=:example", // `/redirect-query?example=test` - toPath: "/app/:example", // `/app/test` -}); -createRedirect({ - fromPath: "/redirect-query-query?example=:example", // `/redirect-query-query?example=test` - fromPath: "/redirect-query-query?example=:example", // `/app?example=test` - toPath: "/app?example=:example", -}); -createRedirect({ - fromPath: "/redirect-all/*", // `/redirect-all/example` - toPath: "/app/*", // `/app/example` -}); -createRedirect({ - fromPath: "/redirect-all2/*", // `/redirect-all2/abc/124` | `/redirect-all2/abc/152` - toPath: "/app/", // `/app/` -}); -``` - -Due to router diferences we have to handle non-splat style query string redirects specially. But they cannot be combined with splat or wildcard routes e.g. - -```js -// This works -createRedirect({ - fromPath: "/redirect-query-specific?id=2", - toPath: "/file.pdf", -}); - -// These will not work -createRedirect({ - fromPath: "/redirect-query-specific?id=2&example=:example", - toPath: "/:example/file.pdf", -}); -createRedirect({ - fromPath: "/redirect-query-specific/*?id=2", - toPath: "/*file.pdf", -}); -``` - -> **Note:** While these combos don't currently work it's not imposible to implement such a feature. If you need this feature please consider contributing. - -### Gatsby Functions - -Gatsby's [function docs](https://www.gatsbyjs.com/docs/reference/functions/getting-started/) suggest that the `Request` and `Response` objects for your Gatsby functions will be _Express like_ and provide the types from the Gatsby core for these. - -> **THIS IS NOT TRUE FOR THIS PLUGIN** - -Because we're not using Express or Gatsby's own cloud offering functions will need to use Fastify's own [`Request`](https://www.fastify.io/docs/latest/Reference/Request/) and [`Reply`](https://www.fastify.io/docs/latest/Reference/Reply/) API. - -```ts -import type { FastifyRequest, FastifyReply } from "fastify"; - -export default function handler(req: FastifyRequest, res: FastifyReply) { - res.send(`I am TYPESCRIPT`); -} -``` - -### Gatsby Routing - -We have implemented a compatability layer to support the Gatsby flavor of routing for [Gatsby Functions](https://www.gatsbyjs.com/docs/reference/functions/routing/) and [File System Routing API](https://www.gatsbyjs.com/docs/reference/routing/file-system-route-api/#syntax-client-only-routes). This should be transparent and if you follow the Gatsby docs for routing we should now support all those modes. This very well might not be perfect, if you have issues with routing please file a bug with a reproduction. diff --git a/packages/gatsby-plugin-fastify/gatsby-node.js b/packages/gatsby-plugin-fastify/gatsby-node.js deleted file mode 100644 index 80bdcf994..000000000 --- a/packages/gatsby-plugin-fastify/gatsby-node.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("./dist/gatsby-node"); diff --git a/packages/gatsby-plugin-fastify/index.js b/packages/gatsby-plugin-fastify/index.js deleted file mode 100644 index 48d277392..000000000 --- a/packages/gatsby-plugin-fastify/index.js +++ /dev/null @@ -1 +0,0 @@ -//noop diff --git a/packages/gatsby-plugin-fastify/jest.config.js b/packages/gatsby-plugin-fastify/jest.config.js deleted file mode 100644 index ff9acd3fa..000000000 --- a/packages/gatsby-plugin-fastify/jest.config.js +++ /dev/null @@ -1,11 +0,0 @@ -// For a detailed explanation regarding each configuration property, visit: -// https://jestjs.io/docs/en/configuration.html - -const sharedConfig = require("../../shared/jest.config"); - -module.exports = { - ...sharedConfig, - transformIgnorePatterns: ["/query-engine/", "/page-ssr/"], - coveragePathIgnorePatterns: ["/query-engine/", "/page-ssr/"], - setupFilesAfterEnv: ["/src/__tests__/__utils__/setup-file.js"], -}; diff --git a/packages/gatsby-plugin-fastify/logo.png b/packages/gatsby-plugin-fastify/logo.png deleted file mode 100644 index e1324817032d63a8fa91cead913e08947accfb6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99356 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 `zg@RPgKC_~0s-7P|o-Y|1B6g~?a9p$BGzZA|MF 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" - ], - "license": "MIT", - "keywords": [ - "gatsby", - "gatsby-plugin", - "gatsby-plugin-fastify", - "nodejs", - "server", - "fastify" - ], - "bin": { - "gserve": "./dist/cli.js" - }, - "scripts": { - "build": "babel src --out-dir ./dist --ignore \"**/__tests__,**/*.d.ts\" --extensions \".ts,.js\"", - "pretest": "cd ../../integration-tests/plugin-fastify/ && yarn run build", - "test:disable": "jest --coverage", - "watch": "yarn build --watch" - }, - "dependencies": { - "@babel/runtime": "^7.25.7", - "@fastify/accepts": "^4.3.0", - "@fastify/http-proxy": "^8.4.0", - "@fastify/middie": "^8.3.3", - "@fastify/static": "^6.12.0", - "fastify-plugin": "^4.5.1", - "fs-extra": "^11.2.0", - "gatsby-core-utils": "^4.13.1", - "gatsby-plugin-utils": "^4.13.1", - "http-status-codes": "^2.3.0", - "mime": "^3.0.0", - "open": "^8.4.2", - "picomatch": "^2.3.1", - "yargs": "^17.7.2" - }, - "devDependencies": { - "@babel/cli": "^7.25.7", - "@babel/core": "^7.25.8", - "@types/connect": "^3.4.38", - "@types/fs-extra": "^11.0.4", - "@types/jest": "^29.5.13", - "@types/mime": "^3.0.4", - "@types/node": "^20.16.11", - "@types/picomatch": "^2.3.4", - "@types/yargs": "^17.0.33", - "babel-jest": "^29.7.0", - "babel-preset-gatsby-package": "^3.13.1", - "cross-env": "^7.0.3", - "jest": "^29.7.0" - }, - "peerDependencies": { - "fastify": "^4.5.3", - "gatsby": "^4.2.0 || ^5.0.0" - }, - "engines": { - "node": ">=14.15.0" - } -} diff --git a/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/404.html b/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/404.html deleted file mode 100644 index 58c988e2c..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/404.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - Gatsby Plugin Fastify - - - -

Page Not Found

- - - \ No newline at end of file diff --git a/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/app/[...]/index.html b/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/app/[...]/index.html deleted file mode 100644 index a6e9a619b..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/app/[...]/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - Gatsby Plugin Fastify - Client Side Route - - - -

Welcome to the CSR!

- - - \ No newline at end of file diff --git a/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/index.html b/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/index.html deleted file mode 100644 index cf3c3aeb5..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - Gatsby Plugin Fastify - - - -

Hello World

- - - \ No newline at end of file diff --git a/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/posts/page-1/index.html b/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/posts/page-1/index.html deleted file mode 100644 index 7d75c6c93..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/__files__/public/posts/page-1/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - Gatsby Plugin Fastify - - - -

Hello Static world

- - - \ No newline at end of file diff --git a/packages/gatsby-plugin-fastify/src/__tests__/__snapshots__/gatsby-node.js.snap b/packages/gatsby-plugin-fastify/src/__tests__/__snapshots__/gatsby-node.js.snap deleted file mode 100644 index 122faef8d..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/__snapshots__/gatsby-node.js.snap +++ /dev/null @@ -1,69 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Gatsby Node API Should Build Config 1`] = ` -{ - "clientSideRoutes": [ - { - "matchPath": "/app*", - "path": "/app/[...]/", - }, - ], - "fakeOption": "fakeValue", - "functions": [ - { - "absoluteCompiledFilePath": "/Users/user/code/gatsby-uc/plugins/integration-tests/plugin-fastify/.cache/functions/splat/:splat.js", - "functionRoute": "splat/:splat", - "originalAbsoluteFilePath": "/Users/user/code/gatsby-uc/plugins/integration-tests/plugin-fastify/src/api/splat/:splat.js", - "originalRelativeFilePath": "splat/:splat.js", - "pluginName": "default-site-plugin", - "relativeCompiledFilePath": "splat/:splat.js", - }, - { - "absoluteCompiledFilePath": "/Users/user/code/gatsby-uc/plugins/integration-tests/plugin-fastify/.cache/functions/test.js", - "functionRoute": "test", - "originalAbsoluteFilePath": "/Users/user/code/gatsby-uc/plugins/integration-tests/plugin-fastify/src/api/test.js", - "originalRelativeFilePath": "test.js", - "pluginName": "default-site-plugin", - "relativeCompiledFilePath": "test.js", - }, - ], - "prefix": "/test", - "proxies": [], - "redirects": [ - { - "fromPath": "/perm-redirect", - "ignoreCase": true, - "isPermanent": true, - "redirectInBrowser": false, - "toPath": "/posts/page-1", - }, - { - "fromPath": "/temp-redirect", - "ignoreCase": true, - "isPermanent": false, - "redirectInBrowser": false, - "toPath": "/posts/page-2", - }, - { - "fromPath": "/alt-redirect", - "ignoreCase": true, - "isPermanent": false, - "redirectInBrowser": false, - "statusCode": 307, - "toPath": "/posts/page-3", - }, - ], - "serverSideRoutes": [ - { - "matchPath": "/ssr", - "mode": "SSR", - "path": "/ssr", - }, - { - "matchPath": "/my/dsg/path", - "mode": "DSG", - "path": "/my/dsg/path", - }, - ], -} -`; diff --git a/packages/gatsby-plugin-fastify/src/__tests__/__utils__/config.js b/packages/gatsby-plugin-fastify/src/__tests__/__utils__/config.js deleted file mode 100644 index 8e4de88b6..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/__utils__/config.js +++ /dev/null @@ -1,27 +0,0 @@ -import Fastify from "fastify"; -import { getConfig } from "../../utils/config"; -import { createFastifyConfig } from "../../utils/server"; - -export function createCliConfig({ host, port, logLevel, open }) { - return { - host, - h: host, - port, - p: port, - logLevel, - l: logLevel, - open, - o: open, - }; -} - -export async function createFastifyInstance(plugin) { - const config = getConfig(); - - const fastify = Fastify(createFastifyConfig(config)); - - await fastify.register(plugin, { prefix: config.server.prefix }); - await fastify.ready(); - - return fastify; -} diff --git a/packages/gatsby-plugin-fastify/src/__tests__/__utils__/server.js b/packages/gatsby-plugin-fastify/src/__tests__/__utils__/server.js deleted file mode 100644 index 9efd442c6..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/__utils__/server.js +++ /dev/null @@ -1,32 +0,0 @@ -import { serveGatsby } from "../../plugins/gatsby"; -import { setConfig, getServerConfig, ConfigKeyEnum } from "../../utils/config"; -import { createCliConfig, createFastifyInstance } from "./config"; - -jest.mock("../../utils/constants", () => ({ - ...jest.requireActual("../../utils/constants"), - PATH_TO_FUNCTIONS: "../../integration-tests/plugin-fastify/.cache/functions/", - PATH_TO_PUBLIC: "src/__tests__/__files__/public", - PATH_TO_CACHE: "../../integration-tests/plugin-fastify/.cache", - CONFIG_FILE_PATH: "../../integration-tests/plugin-fastify/.cache", -})); - -export async function setupFastify(options) { - const overrideServerConfig = options?.overrideServerConfig ?? {}; - setConfig( - ConfigKeyEnum.CLI, - createCliConfig({ - port: 3000, - host: "127.0.0.1", - logLevel: "fatal", - open: false, - }), - ); - - setConfig(ConfigKeyEnum.SERVER, { ...getServerConfig(), ...overrideServerConfig }); - - return createFastifyInstance(serveGatsby); -} - -export async function shutdownFastify(fastify) { - return fastify.close(); -} diff --git a/packages/gatsby-plugin-fastify/src/__tests__/__utils__/setup-file.js b/packages/gatsby-plugin-fastify/src/__tests__/__utils__/setup-file.js deleted file mode 100644 index b8de0dd58..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/__utils__/setup-file.js +++ /dev/null @@ -1,9 +0,0 @@ -import { setupFastify, shutdownFastify } from "./server"; - -beforeAll(async () => { - globalThis.fastify = await setupFastify(); -}); - -afterAll(async () => { - await shutdownFastify(globalThis.fastify); -}); diff --git a/packages/gatsby-plugin-fastify/src/__tests__/gatsby-node.js b/packages/gatsby-plugin-fastify/src/__tests__/gatsby-node.js deleted file mode 100644 index 1e35ec8a2..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/gatsby-node.js +++ /dev/null @@ -1,121 +0,0 @@ -import { onPostBuild } from "../gatsby-node"; -import fs from "fs-extra"; - -jest.mock("../utils/constants", () => ({ - ...jest.requireActual("../utils/constants"), - PATH_TO_FUNCTIONS: "../../integration-tests/plugin-fastify/.cache/functions/", - PATH_TO_PUBLIC: process.cwd() + "/__files__/public/", - PATH_TO_CACHE: "../../integration-tests/plugin-fastify/.cache/", - CONFIG_FILE_PATH: "../../integration-tests/plugin-fastify/.cache/", -})); - -jest.mock("fs-extra", () => ({ - existsSync: jest.fn((path) => { - if (path.includes(".cache/functions")) { - return true; - } - return false; - }), - mkdir: jest.fn(), - writeJSON: jest.fn(), - readJSON: jest.fn((path) => { - if (path.includes("manifest.json")) { - return [ - { - functionRoute: "splat/:splat", - pluginName: "default-site-plugin", - originalAbsoluteFilePath: - "/Users/user/code/gatsby-uc/plugins/integration-tests/plugin-fastify/src/api/splat/:splat.js", - originalRelativeFilePath: "splat/:splat.js", - relativeCompiledFilePath: "splat/:splat.js", - absoluteCompiledFilePath: - "/Users/user/code/gatsby-uc/plugins/integration-tests/plugin-fastify/.cache/functions/splat/:splat.js", - }, - { - functionRoute: "test", - pluginName: "default-site-plugin", - originalAbsoluteFilePath: - "/Users/user/code/gatsby-uc/plugins/integration-tests/plugin-fastify/src/api/test.js", - originalRelativeFilePath: "test.js", - relativeCompiledFilePath: "test.js", - absoluteCompiledFilePath: - "/Users/user/code/gatsby-uc/plugins/integration-tests/plugin-fastify/.cache/functions/test.js", - }, - ]; - } else { - throw new Error("Invalid path"); - } - }), -})); - -const pathPrefix = "/test"; -const store = { - getState: jest.fn(() => ({ - program: { - directory: process.cwd() + "/__files__/", - }, - pages: [ - { - fakePage: "fakeValue", - path: "/", - }, - { - matchPath: "/app/*", - path: "/app/[...]/", - }, - { - path: "/ssr", - mode: "SSR", - }, - { - path: "/my/dsg/path", - mode: "DSG", - }, - ], - redirects: [ - { - fromPath: "/perm-redirect", - isPermanent: true, - ignoreCase: true, - redirectInBrowser: false, - toPath: "/posts/page-1", - }, - { - fromPath: "/temp-redirect", - isPermanent: false, - ignoreCase: true, - redirectInBrowser: false, - toPath: "/posts/page-2", - }, - { - fromPath: "/alt-redirect", - isPermanent: false, - ignoreCase: true, - redirectInBrowser: false, - toPath: "/posts/page-3", - statusCode: 307, - }, - ], - })), -}; - -const reporter = { - error: jest.fn((_message, error) => { - throw new Error(error); - }), -}; - -const pluginOptions = { - fakeOption: "fakeValue", -}; - -describe(`Gatsby Node API`, () => { - it(`Should Build Config`, async () => { - await onPostBuild({ store, reporter, pathPrefix }, pluginOptions); - - const writeJSONCall = fs.writeJSON.mock.calls[0]; - expect(fs.writeJSON).toHaveBeenCalledTimes(1); - expect(writeJSONCall[0]).toContain(".cache/gatsby-plugin-fastify.json"); - expect(writeJSONCall[1]).toMatchSnapshot(); - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/client-routes.js.snap b/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/client-routes.js.snap deleted file mode 100644 index 4517062f1..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/client-routes.js.snap +++ /dev/null @@ -1,35 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Client Side Routes Should handle base route 1`] = ` -" - - - - - - Gatsby Plugin Fastify - Client Side Route - - - -

Welcome to the CSR!

- - -" -`; - -exports[`Client Side Routes Should handle sub routes 1`] = ` -" - - - - - - Gatsby Plugin Fastify - Client Side Route - - - -

Welcome to the CSR!

- - -" -`; diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/functions.js.snap b/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/functions.js.snap deleted file mode 100644 index 53aebb96e..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/functions.js.snap +++ /dev/null @@ -1,7 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Gatsby Functions Should 404 on bad function route 1`] = `"Function not found."`; - -exports[`Gatsby Functions Should serve function route 1`] = `"[{"_id":"612d652f43f0c05240ed09b1","index":0,"guid":"ced90cbd-3fad-4c66-bd8d-678eebb3f319","isActive":true,"balance":"$3,289.14","picture":"http://placehold.it/32x32","age":34,"eyeColor":"blue","name":"Mcclure Cohen","gender":"male","company":"ONTALITY","email":"mcclurecohen@ontality.com","phone":"+1 (876) 555-3658","address":"933 Conklin Avenue, Joes, Indiana, 9109","about":"Do labore fugiat exercitation esse commodo dolor voluptate proident ullamco mollit eu. Dolor aliqua incididunt ex consectetur qui labore in laborum dolore mollit fugiat. Occaecat nisi ea nulla deserunt dolore aliqua consequat ipsum fugiat aliqua est sunt anim cillum. Nulla culpa dolore reprehenderit quis aliquip.\\r\\n","registered":"2016-03-02T03:01:11 +08:00","latitude":-13.438572,"longitude":116.414307,"tags":["Lorem","dolore","anim","mollit","ullamco","magna","elit"],"friends":[{"id":0,"name":"Burnett Farley"},{"id":1,"name":"Glenn Osborn"},{"id":2,"name":"Berry Schwartz"}],"greeting":"Hello, Mcclure Cohen! You have 7 unread messages.","favoriteFruit":"banana"},{"_id":"612d652f366d8330fa996824","index":1,"guid":"7101122e-8cea-4a02-b1b8-ae910c0802af","isActive":false,"balance":"$3,387.50","picture":"http://placehold.it/32x32","age":32,"eyeColor":"blue","name":"Geneva Valdez","gender":"female","company":"LIQUICOM","email":"genevavaldez@liquicom.com","phone":"+1 (974) 495-2314","address":"615 Waldorf Court, Belleview, New Jersey, 4579","about":"Sint anim sunt enim ea ea exercitation officia adipisicing aute. Cillum aliquip dolor mollit sunt sint. Sint excepteur sit ut eu culpa aute voluptate est non est sint do nostrud ut. Nostrud officia amet consectetur exercitation aliquip nulla occaecat. Irure voluptate aute irure quis aute ipsum.\\r\\n","registered":"2019-10-23T07:06:59 +07:00","latitude":4.157784,"longitude":79.800439,"tags":["Lorem","enim","sint","commodo","minim","tempor","consectetur"],"friends":[{"id":0,"name":"Teri Crane"},{"id":1,"name":"Colleen Burns"},{"id":2,"name":"Pierce Stafford"}],"greeting":"Hello, Geneva Valdez! You have 5 unread messages.","favoriteFruit":"banana"},{"_id":"612d652fac8efd8e645f7305","index":2,"guid":"9e49d2b8-2684-4a2b-8d34-2db63470105e","isActive":true,"balance":"$1,648.73","picture":"http://placehold.it/32x32","age":39,"eyeColor":"green","name":"Beth Pitts","gender":"female","company":"QUIZKA","email":"bethpitts@quizka.com","phone":"+1 (967) 452-3934","address":"209 Elm Avenue, Soham, South Dakota, 6752","about":"Excepteur est et cupidatat id nisi quis occaecat est non cillum. Dolore aliquip elit aliquip exercitation anim ad aliqua sint enim mollit anim. Nulla veniam amet labore consectetur nulla non culpa laboris non ea. Irure fugiat fugiat reprehenderit aute labore. Commodo enim velit sit sunt in eu adipisicing proident aliqua sit officia. Et cupidatat mollit est voluptate adipisicing ullamco ullamco. Elit in sint velit laboris fugiat.\\r\\n","registered":"2018-07-10T08:23:13 +07:00","latitude":-41.232792,"longitude":14.620843,"tags":["ipsum","voluptate","reprehenderit","fugiat","nulla","elit","dolore"],"friends":[{"id":0,"name":"Rosa Case"},{"id":1,"name":"Charlene Wilkinson"},{"id":2,"name":"Wilcox Shannon"}],"greeting":"Hello, Beth Pitts! You have 4 unread messages.","favoriteFruit":"apple"},{"_id":"612d652f86b888292e0537ea","index":3,"guid":"ae58b78c-46a4-4a09-b636-d86ebc84870c","isActive":false,"balance":"$1,820.92","picture":"http://placehold.it/32x32","age":38,"eyeColor":"blue","name":"Mack Parker","gender":"male","company":"GRONK","email":"mackparker@gronk.com","phone":"+1 (942) 455-3698","address":"340 Village Court, Spokane, Iowa, 7827","about":"Officia occaecat eu duis officia amet in ea ad mollit ut. Mollit non anim ex do. In esse commodo esse ullamco irure laborum officia enim deserunt et. Ut adipisicing aliqua qui anim fugiat duis magna culpa aliqua nisi ex tempor Lorem cupidatat. Aute Lorem ut fugiat reprehenderit fugiat velit. Eu occaecat esse sit anim ad.\\r\\n","registered":"2017-10-26T05:06:57 +07:00","latitude":62.176215,"longitude":50.081649,"tags":["eiusmod","esse","adipisicing","deserunt","minim","dolor","sint"],"friends":[{"id":0,"name":"Corinne Cleveland"},{"id":1,"name":"Janell Stevenson"},{"id":2,"name":"Ruiz Dalton"}],"greeting":"Hello, Mack Parker! You have 5 unread messages.","favoriteFruit":"banana"},{"_id":"612d652f918c5464a5d1badc","index":4,"guid":"16de477f-8260-4dbf-803a-0b9af672a7a3","isActive":false,"balance":"$2,015.74","picture":"http://placehold.it/32x32","age":40,"eyeColor":"brown","name":"Benton Garza","gender":"male","company":"CODACT","email":"bentongarza@codact.com","phone":"+1 (978) 544-3959","address":"723 Linden Street, Loma, Hawaii, 2183","about":"Veniam voluptate eiusmod est exercitation magna dolor cillum veniam. Anim culpa veniam adipisicing consequat sint adipisicing. Minim velit eu tempor enim nulla enim adipisicing id elit irure ex. Voluptate duis cupidatat fugiat amet dolore veniam. Adipisicing ad occaecat velit cillum.\\r\\n","registered":"2016-05-12T08:32:44 +07:00","latitude":41.639383,"longitude":-33.102296,"tags":["excepteur","et","duis","velit","laboris","pariatur","dolor"],"friends":[{"id":0,"name":"Ryan Waters"},{"id":1,"name":"Robbie Rosario"},{"id":2,"name":"Gracie Freeman"}],"greeting":"Hello, Benton Garza! You have 1 unread messages.","favoriteFruit":"strawberry"},{"_id":"612d652f1dd2eb98a16e0a3d","index":5,"guid":"856875e2-24fa-426c-a1cd-5447ea2abeb9","isActive":false,"balance":"$1,889.99","picture":"http://placehold.it/32x32","age":37,"eyeColor":"brown","name":"Tommie Durham","gender":"female","company":"EVIDENDS","email":"tommiedurham@evidends.com","phone":"+1 (866) 570-3407","address":"694 Barlow Drive, Lithium, Tennessee, 1100","about":"Enim nostrud ea ea quis. Commodo commodo reprehenderit ea minim officia enim. Velit laboris incididunt commodo esse commodo ea excepteur in deserunt deserunt. Fugiat ad exercitation aliqua minim ea sunt pariatur est commodo sunt nisi ex. Ipsum ad enim ut et culpa pariatur.\\r\\n","registered":"2018-03-01T06:21:31 +08:00","latitude":52.298302,"longitude":-22.076203,"tags":["laboris","labore","officia","in","est","deserunt","ad"],"friends":[{"id":0,"name":"Francis Park"},{"id":1,"name":"Schmidt Williamson"},{"id":2,"name":"Adkins Shields"}],"greeting":"Hello, Tommie Durham! You have 6 unread messages.","favoriteFruit":"apple"},{"_id":"612d652f8e1b1bc30f3585ec","index":6,"guid":"eb70d15e-fee8-4e76-8c90-049d3d6dac43","isActive":false,"balance":"$1,139.14","picture":"http://placehold.it/32x32","age":21,"eyeColor":"brown","name":"Lee Good","gender":"male","company":"LIMAGE","email":"leegood@limage.com","phone":"+1 (945) 414-3105","address":"652 Hendrickson Street, Wilsonia, Arizona, 9156","about":"Amet ullamco adipisicing velit cillum quis minim nulla sint dolor. Labore magna quis nulla occaecat cupidatat anim irure. Anim duis nisi ipsum sint.\\r\\n","registered":"2017-10-14T04:22:31 +07:00","latitude":85.591186,"longitude":51.21934,"tags":["ipsum","ad","exercitation","mollit","magna","irure","elit"],"friends":[{"id":0,"name":"Delacruz Vaughn"},{"id":1,"name":"Kari Figueroa"},{"id":2,"name":"Kris Marsh"}],"greeting":"Hello, Lee Good! You have 7 unread messages.","favoriteFruit":"strawberry"}]"`; - -exports[`Gatsby Functions Should serve function splat route 1`] = `"{"splat":"doesThisWork"}"`; diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/gatsby.js.snap b/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/gatsby.js.snap deleted file mode 100644 index 7846fb44e..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/gatsby.js.snap +++ /dev/null @@ -1,18 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Test Gatsby Server Gatsby Path Prefix Should be served at prefix 1`] = ` -" - - - - - - Gatsby Plugin Fastify - - - -

Hello World

- - -" -`; diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/static.js.snap b/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/static.js.snap deleted file mode 100644 index 8bff97ec1..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/__snapshots__/static.js.snap +++ /dev/null @@ -1,35 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Gatsby Static Routes Should serve custom 404 1`] = ` -" - - - - - - Gatsby Plugin Fastify - - - -

Page Not Found

- - -" -`; - -exports[`Gatsby Static Routes Should serve static index route 1`] = ` -" - - - - - - Gatsby Plugin Fastify - - - -

Hello World

- - -" -`; diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/client-routes.js b/packages/gatsby-plugin-fastify/src/__tests__/plugins/client-routes.js deleted file mode 100644 index a48c8ebce..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/client-routes.js +++ /dev/null @@ -1,27 +0,0 @@ -describe(`Client Side Routes`, () => { - it(`Should handle base route`, async () => { - const response = await fastify.inject({ - url: "/app/", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.payload).toMatchSnapshot(); - }); - - it(`Should handle sub routes`, async () => { - const responseBase = await fastify.inject({ - url: "/app/", - method: "GET", - }); - - const response = await fastify.inject({ - url: "/app/subPath", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.payload).toMatchSnapshot(); - expect(responseBase.payload).toEqual(response.payload); - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/functions.js b/packages/gatsby-plugin-fastify/src/__tests__/plugins/functions.js deleted file mode 100644 index 408463a2d..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/functions.js +++ /dev/null @@ -1,33 +0,0 @@ -describe(`Gatsby Functions`, () => { - it(`Should serve function route`, async () => { - const response = await fastify.inject({ - url: "/api/test", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["content-type"]).toEqual("application/json; charset=utf-8"); - expect(response.payload).toMatchSnapshot(); - }); - - it(`Should serve function splat route`, async () => { - const response = await fastify.inject({ - url: "/api/splat/doesThisWork", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["content-type"]).toEqual("application/json; charset=utf-8"); - expect(response.payload).toMatchSnapshot(); - }); - - it(`Should 404 on bad function route`, async () => { - const response = await fastify.inject({ - url: "/api/badRoute", - method: "GET", - }); - - expect(response.statusCode).toEqual(404); - expect(response.payload).toMatchSnapshot(); - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/gatsby.js b/packages/gatsby-plugin-fastify/src/__tests__/plugins/gatsby.js deleted file mode 100644 index a43243a10..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/gatsby.js +++ /dev/null @@ -1,24 +0,0 @@ -import { setupFastify, shutdownFastify } from "../__utils__/server"; - -describe(`Test Gatsby Server`, () => { - let fastify; - beforeAll(async () => { - fastify = await setupFastify({ overrideServerConfig: { prefix: "/test" } }); - }); - - afterAll(async () => { - await shutdownFastify(fastify); - }); - - describe(`Gatsby Path Prefix`, () => { - it(`Should be served at prefix`, async () => { - const response = await fastify.inject({ - url: "/test/", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.payload).toMatchSnapshot(); - }); - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/redirects.js b/packages/gatsby-plugin-fastify/src/__tests__/plugins/redirects.js deleted file mode 100644 index 6cf0ce2e4..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/redirects.js +++ /dev/null @@ -1,172 +0,0 @@ -import { StatusCodes } from "http-status-codes"; - -describe(`Gatsby Redirects`, () => { - it(`Should handle permanent redirect`, async () => { - const response = await fastify.inject({ - url: "/perm-redirect", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.PERMANENT_REDIRECT); - expect(response.headers.location).toEqual("/posts/page-1"); - }); - - it(`Should handle temporary redirect`, async () => { - const response = await fastify.inject({ - url: "/temp-redirect", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/posts/page-2"); - }); - - it(`Should handle alt redirect`, async () => { - const response = await fastify.inject({ - url: "/alt-redirect", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.MOVED_PERMANENTLY); - expect(response.headers.location).toEqual("/posts/page-3"); - }); - - it(`Should handle redirect with path params`, async () => { - const response = await fastify.inject({ - url: "/redirect/a", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/app/a"); - }); - - it(`Should handle redirect with query string to params`, async () => { - const response = await fastify.inject({ - url: "/redirect-query?letter=a", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/app/a"); - }); - - it(`Should handle redirect with query string to other query params`, async () => { - const response = await fastify.inject({ - url: "/redirect-query-query?letter=a", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/app?letter=a"); - }); - - it(`Should handle redirect with catch all`, async () => { - const response = await fastify.inject({ - url: "/redirect-all/a", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/app/a"); - }); - - it(`Should handle redirect with catch all to 1 location`, async () => { - const response = await fastify.inject({ - url: "/redirect-all2/a", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/app/"); - }); - - it(`Should handle redirect correctly with params and catch all`, async () => { - const response = await fastify.inject({ - url: "/redirect-weird/test/more-stuff", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/app/test/more-stuff"); - }); - - it(`Should handle redirect correctly with specific query strings`, async () => { - const response = await fastify.inject({ - url: "/redirect-query-specific?id=2", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/file2.pdf"); - }); - - it(`Should handle colons in toPaths without splat in fromPath`, async () => { - const response = await fastify.inject({ - url: "/wiki/category/url", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("https://en.wikipedia.org/wiki/Category:URL"); - }); - - it(`Should handle splats in fromPaths with colons in toPaths`, async () => { - const response = await fastify.inject({ - url: "/wiki/category/URL", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("https://en.wikipedia.org/wiki/Category:URL"); - }); - - it(`Should handle multiple splats in fromPaths with colons in toPaths`, async () => { - const response = await fastify.inject({ - url: "/wiki/Category/URL", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("https://en.wikipedia.org/wiki/Category:URL"); - }); - - it(`Should handle colons in fromPaths that are not splats via double colon`, async () => { - const response = await fastify.inject({ - url: "/Category:URL", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/wiki/Category:URL"); - }); - - it(`Should error when including an asterisk in toPath without a wildcard in fromPath, even if there is a splat or colon`, async () => { - const response = await fastify.inject({ - url: "/some/thing/all", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.INTERNAL_SERVER_ERROR); - }); - - it(`Should handle redirect with special chars in the path`, async () => { - const response = await fastify.inject({ - url: "/redirect-all/θ€ŒδΈ”", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("/app/%E8%80%8C%E4%B8%94"); - }); - - it(`Should handle redirect with special chars in the path that go to another domain`, async () => { - const response = await fastify.inject({ - url: "/google/θ€ŒδΈ”", - method: "GET", - }); - - expect(response.statusCode).toEqual(StatusCodes.TEMPORARY_REDIRECT); - expect(response.headers.location).toEqual("https://google.com/search?q=%E8%80%8C%E4%B8%94"); - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/reverse-proxy.js b/packages/gatsby-plugin-fastify/src/__tests__/plugins/reverse-proxy.js deleted file mode 100644 index 2fc443560..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/reverse-proxy.js +++ /dev/null @@ -1,34 +0,0 @@ -describe(`Test Gatsby Reverse Proxy Routes`, () => { - it(`Should serve Reverse Proxy route`, async () => { - const response = await fastify.inject({ - url: "/example-proxy/", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["content-type"]).toContain("text/html"); - expect(response.headers["x-gatsby-fastify"]).toContain("Reverse Proxy"); - expect(response.payload).toContain("Example Domain"); - }); - - it(`Should serve Reverse Proxy route made with trailing *`, async () => { - const response = await fastify.inject({ - url: "/example-proxy-star/", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["content-type"]).toContain("text/html"); - expect(response.headers["x-gatsby-fastify"]).toContain("Reverse Proxy"); - expect(response.payload).toContain("Example Domain"); - }); - - it(`Should not serve Reverse Proxy route made with trailing * at *`, async () => { - const response = await fastify.inject({ - url: "/example-proxy-star/*", - method: "GET", - }); - - expect(response.statusCode).toEqual(404); - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/server-routes.js b/packages/gatsby-plugin-fastify/src/__tests__/plugins/server-routes.js deleted file mode 100644 index 075a23ed4..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/server-routes.js +++ /dev/null @@ -1,220 +0,0 @@ -describe(`Test Gatsby DSG/SSR Routes`, () => { - describe("DSG", () => { - it(`Should serve DSG route HTML no slash`, async () => { - const response = await fastify.inject({ - url: "/generated/page-6", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["content-type"]).toEqual("text/html"); - expect(response.headers["x-gatsby-fastify"]).toContain("DSG"); - expect(response.payload).toContain("
Hello world #6!
"); - }); - - it(`Should serve DSG route HTML with slash`, async () => { - const response = await fastify.inject({ - url: "/generated/page-6/", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["content-type"]).toEqual("text/html"); - expect(response.headers["x-gatsby-fastify"]).toContain("DSG"); - expect(response.payload).toContain("
Hello world #6!
"); - }); - - it(`Should serve DSG route "page-data.json"`, async () => { - const response = await fastify.inject({ - url: "/page-data/generated/page-6/page-data.json", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["x-gatsby-fastify"]).toContain("DSG"); - expect(response.headers["content-type"]).toEqual("application/json; charset=utf-8"); - expect(response.payload).toContain(`"result":{"pageContext":{"pageNumber":6}}`); - }); - }); - - describe("SSR", () => { - it(`Should serve SSR route HTML no slash`, async () => { - const response = await fastify.inject({ - url: "/ssr", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["content-type"]).toEqual("text/html"); - expect(response.headers["x-gatsby-fastify"]).toContain("SSR"); - expect(response.payload).toContain("SSR Page with Dogs"); - }); - - it(`Should serve SSR route HTML with slash`, async () => { - const response = await fastify.inject({ - url: "/ssr/", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["content-type"]).toEqual("text/html"); - expect(response.headers["x-gatsby-fastify"]).toContain("SSR"); - expect(response.payload).toContain("SSR Page with Dogs"); - }); - - it(`Should serve SSR route "page-data.json"`, async () => { - const response = await fastify.inject({ - url: "/page-data/ssr/page-data.json", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["x-gatsby-fastify"]).toContain("SSR"); - expect(response.headers["content-type"]).toEqual("application/json; charset=utf-8"); - expect(response.payload).toContain(`"path":"/ssr/","result":{"serverData"`); - }); - - it(`Should serve SSR route "page-data.json" with custom headers`, async () => { - const response = await fastify.inject({ - url: "/page-data/ssr/page-data.json", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["x-test"]).toEqual("Custom Headers Work!"); - }); - - it(`Should throw 500 error on exception when fetching server data`, async () => { - const response = await fastify.inject({ - url: "/ssrBad", - method: "GET", - }); - - expect(response.statusCode).toEqual(500); - expect(response.headers["x-gatsby-fastify"]).toContain("SSR"); - }); - - it(`Should Add custom headers to SSR routes`, async () => { - const response = await fastify.inject({ - url: "/ssr", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.headers["x-test"]).toEqual("Custom Headers Work!"); - expect(response.payload).toContain("SSR Page with Dogs"); - }); - - it(`Should serve SSR page from a parametric route`, async () => { - const meaningfulResponse = await fastify.inject({ - url: "/ssr/42", - method: "GET", - }); - - expect(meaningfulResponse.statusCode).toEqual(200); - expect(meaningfulResponse.headers["x-gatsby-fastify"]).toContain("SSR"); - expect(meaningfulResponse.payload).toContain("meaning of life"); - - const meaninglessResponse = await fastify.inject({ - url: "/ssr/43", - method: "GET", - }); - - expect(meaninglessResponse.statusCode).toEqual(200); - expect(meaninglessResponse.headers["x-gatsby-fastify"]).toContain("SSR"); - expect(meaninglessResponse.payload).toContain("try again"); - }); - }); - - it(`Should 400 if request does not accept "text/html" on DSG/SSR route`, async () => { - const response = await fastify.inject({ - url: "/ssr", - method: "GET", - headers: { - accept: "text/plain", - }, - }); - - expect(response.statusCode).toEqual(400); - }); - - it(`Should throw 404 if bad /page-data/route`, async () => { - const response = await fastify.inject({ - url: "/page-data/fsdfsd/page-data.json", - method: "GET", - }); - - expect(response.statusCode).toEqual(404); - }); - - it(`Should throw returned status code from getServer Data for HTML`, async () => { - const response = await fastify.inject({ - url: "/ssr403", - method: "GET", - }); - - expect(response.statusCode).toEqual(403); - }); - - it(`Should throw returned status code from getServer Data for page-data.json`, async () => { - const response = await fastify.inject({ - url: "/page-data/ssr403/page-data.json", - method: "GET", - }); - - expect(response.statusCode).toEqual(403); - }); - - it(`Should return route correctly when queryparams exist`, async () => { - const response = await fastify.inject({ - url: "/ssr?test=test", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - }); - - it(`Should return route html correctly when splat route`, async () => { - const response = await fastify.inject({ - url: "/ssr_splat/example/test", - method: "GET", - }); - - expect(response.headers["x-gatsby-fastify"]).toContain("SSR"); - expect(response.statusCode).toEqual(200); - expect(response.body).toContain(""*": "example/test""); - }); - - it(`Should return route page-data.json correctly when splat route`, async () => { - const response = await fastify.inject({ - url: "/page-data/ssr_splat/[...]/page-data.json", - method: "GET", - }); - - expect(response.headers["x-gatsby-fastify"]).toContain("SSR"); - expect(response.headers["content-type"]).toContain("json"); - expect(response.statusCode).toEqual(200); - }); - - it(`Should return route html correctly when named splat route`, async () => { - const response = await fastify.inject({ - url: "/ssr_named_splat/example/test", - method: "GET", - }); - - expect(response.headers["x-gatsby-fastify"]).toContain("SSR"); - expect(response.statusCode).toEqual(200); - expect(response.body).toContain(""test": "example/test""); - }); - - it(`Should return route page-data.json correctly when named splat route`, async () => { - const response = await fastify.inject({ - url: "/page-data/ssr_named_splat/[...test]/page-data.json", - method: "GET", - }); - - expect(response.headers["x-gatsby-fastify"]).toContain("SSR"); - expect(response.headers["content-type"]).toContain("json"); - expect(response.statusCode).toEqual(200); - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/__tests__/plugins/static.js b/packages/gatsby-plugin-fastify/src/__tests__/plugins/static.js deleted file mode 100644 index d7c5a38bd..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/plugins/static.js +++ /dev/null @@ -1,37 +0,0 @@ -describe(`Gatsby Static Routes`, () => { - it(`Should serve custom 404`, async () => { - const response = await fastify.inject({ - url: "/badRoute", - method: "GET", - }); - - expect(response.statusCode).toEqual(404); - expect(response.payload).toMatchSnapshot(); - }); - - it(`Should serve static index route`, async () => { - const response = await fastify.inject({ - url: "/", - method: "GET", - }); - - expect(response.statusCode).toEqual(200); - expect(response.payload).toMatchSnapshot(); - }); - - it(`Should serve static route with or without trailing /`, async () => { - const noSlashResponse = await fastify.inject({ - url: "/posts/page-1", - method: "GET", - }); - - const slashResponse = await fastify.inject({ - url: "/posts/page-1/", - method: "GET", - }); - - expect(noSlashResponse.statusCode).toEqual(200); - expect(slashResponse.statusCode).toEqual(200); - expect(noSlashResponse.payload).toEqual(slashResponse.payload); - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/__tests__/utils/routes.ts b/packages/gatsby-plugin-fastify/src/__tests__/utils/routes.ts deleted file mode 100644 index 7905e146e..000000000 --- a/packages/gatsby-plugin-fastify/src/__tests__/utils/routes.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { formatMatchPath } from "../../utils/routes"; - -describe("Gatsby Route Handler Tests", () => { - describe("Match path formatter Tests", () => { - it.each([ - ["/test/*", "/test*"], - ["/test/*name", "/test*"], - ])("Correctly modify match path from %s to %s", (input, output) => { - expect(formatMatchPath(input)).toBe(output); - }); - - it.each(["/test/:test"])("Don't modify match path route: %s", (input) => { - expect(formatMatchPath(input)).toBe(input); - }); - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/cli.ts b/packages/gatsby-plugin-fastify/src/cli.ts deleted file mode 100755 index 565dd1c28..000000000 --- a/packages/gatsby-plugin-fastify/src/cli.ts +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env node - -import { setConfig, ConfigKeyEnum, getServerConfig, getConfig } from "./utils/config"; -import yargs from "yargs"; -import { hideBin } from "yargs/helpers"; -import { gatsbyServer } from "./serve"; -import open from "open"; - -// eslint-disable-next-line @typescript-eslint/no-unused-expressions -yargs(hideBin(process.argv)) - .env("GATSBY_SERVER_") - .command( - "$0", - "Serve the Gatsby Site", - (yargs) => { - return yargs.options({ - l: { - alias: "logLevel", - default: "info", - choices: ["trace", "debug", "info", "warn", "error", "fatal"], - type: "string", - describe: "set logging level", - global: true, - }, - p: { - alias: "port", - default: "8080", - type: "number", - describe: "Port to run the server on", - group: "Server", - }, - h: { - alias: "host", - default: "127.0.0.1", - type: "string", - describe: "Host to run the server on", - group: "Server", - }, - o: { - alias: "open", - default: false, - type: "boolean", - describe: "Open the browser", - group: "Server", - }, - }); - }, - async (argv) => { - // @ts-expect-error argv isn't correctly typed by yargs. - // We're just going to ignore it since it gives us what we need. - setConfig(ConfigKeyEnum.CLI, argv); - setConfig(ConfigKeyEnum.SERVER, getServerConfig()); - - const { - server: { prefix }, - } = getConfig(); - - await gatsbyServer(); - - if (argv.open) { - const url = `http://${argv.host}:${argv.port}${prefix}`; - - open(url); - } - }, - ).argv; diff --git a/packages/gatsby-plugin-fastify/src/gatsby-node.ts b/packages/gatsby-plugin-fastify/src/gatsby-node.ts deleted file mode 100644 index 325ed5720..000000000 --- a/packages/gatsby-plugin-fastify/src/gatsby-node.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { writeJSON } from "fs-extra"; - -import { hasFeature } from "gatsby-plugin-utils"; - -import type { GatsbyFastifyPluginOptions, GatsbyNodeServerConfig } from "./utils/config"; -import type { GatsbyNode } from "gatsby"; - -import { makePluginData } from "./utils/plugin-data"; -import { getFunctionManifest } from "./gatsby/funcitons-manifest"; -import { CONFIG_FILE_NAME } from "./utils/constants"; -import { getClientSideRoutes } from "./gatsby/client-side-route"; -import { getServerSideRoutes } from "./gatsby/server-routes"; -import { getProxiesAndRedirects } from "./gatsby/proxies-and-redirects"; - -export const onPostBuild: GatsbyNode["onPostBuild"] = async ( - { store, pathPrefix, reporter }, - pluginOptions: GatsbyFastifyPluginOptions, -) => { - try { - const { proxies, redirects } = getProxiesAndRedirects(store); - const pluginData = await makePluginData(store, pathPrefix); - - const functions = await getFunctionManifest(pluginData); - const clientSideRoutes = await getClientSideRoutes(pluginData); - const serverSideRoutes = await getServerSideRoutes(pluginData); - - // @ts-expect-error This can't exist and making TS happy another way got complicated - delete pluginOptions.plugins; - - const config: GatsbyNodeServerConfig = { - ...pluginOptions, - clientSideRoutes, - serverSideRoutes, - redirects, - proxies, - prefix: pathPrefix, - functions, - }; - - await writeJSON(pluginData.configFolder(CONFIG_FILE_NAME), config, { spaces: 2 }); - } catch (error) { - if (error instanceof Error) { - reporter.error("Error building config for Fastify Server", error, "gatsby-plugin-fastify"); - } - } -}; - -export const pluginOptionsSchema: GatsbyNode["pluginOptionsSchema"] = ({ Joi }) => { - return Joi.object({ - features: Joi.object({ - reverseProxy: Joi.alternatives().try(Joi.boolean(), Joi.object()).default(true), - redirects: Joi.boolean().default(true), - imageCdn: Joi.boolean() - .default(hasFeature("image-cdn")) - .custom((value, helpers) => { - if (value && !hasFeature("image-cdn")) { - return helpers.error( - "The Image CDN is not supported by your Gatsby version. Please upgrade to Gatsby v4.10.0 or higher to use it.", - ); - } - - return value; - }), - }).default(), - fastify: Joi.object({ - maxParamLength: Joi.number().default(500), - ignoreTralingSlash: Joi.boolean().default(true), - }).unknown(true), - }); -}; diff --git a/packages/gatsby-plugin-fastify/src/gatsby/client-side-route.ts b/packages/gatsby-plugin-fastify/src/gatsby/client-side-route.ts deleted file mode 100644 index 67c7154d0..000000000 --- a/packages/gatsby-plugin-fastify/src/gatsby/client-side-route.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { PathConfig } from "../plugins/client-routes"; -import { formatMatchPath } from "../utils/routes"; -import type { PluginData } from "../utils/plugin-data"; - -export type NoUndefinedField = { [P in keyof T]-?: NoUndefinedField> }; - -export async function getClientSideRoutes(pageData: PluginData) { - const { pages } = pageData; - - const routes: NoUndefinedField[] = []; - - for (const page of pages.values()) { - if (page?.matchPath && page?.mode !== "SSR" && page?.mode !== "DSG") { - routes.push({ - matchPath: formatMatchPath(page.matchPath), - path: page.path, - }); - } - } - - return routes; -} diff --git a/packages/gatsby-plugin-fastify/src/gatsby/funcitons-manifest.ts b/packages/gatsby-plugin-fastify/src/gatsby/funcitons-manifest.ts deleted file mode 100644 index 0acca7677..000000000 --- a/packages/gatsby-plugin-fastify/src/gatsby/funcitons-manifest.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { existsSync, readJSON } from "fs-extra"; -import { IGatsbyFunction } from "gatsby/dist/redux/types"; -import { PluginData } from "../utils/plugin-data"; - -export async function getFunctionManifest(pluginData: PluginData): Promise { - const { functionsFolder } = pluginData; - const compiledFunctionsDirectory = functionsFolder(); - - if (!existsSync(compiledFunctionsDirectory)) { - throw new Error(`Unable to find function mainfest @ ${compiledFunctionsDirectory}`); - } - - const functions: IGatsbyFunction[] = await readJSON(functionsFolder(`manifest.json`), `utf-8`); - - return functions; -} diff --git a/packages/gatsby-plugin-fastify/src/gatsby/proxies-and-redirects.ts b/packages/gatsby-plugin-fastify/src/gatsby/proxies-and-redirects.ts deleted file mode 100644 index 9800bcfce..000000000 --- a/packages/gatsby-plugin-fastify/src/gatsby/proxies-and-redirects.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { Store } from "gatsby"; -import type { IRedirect } from "gatsby/dist/redux/types"; - -export type GatsbyFastifyProxy = { toPath: string; fromPath: string }; - -export function getProxiesAndRedirects(store: Store) { - const { redirects: proxiesAndRedirects }: { redirects: IRedirect[] } = store.getState(); - - const results = { redirects: [] as IRedirect[], proxies: [] as GatsbyFastifyProxy[] }; - - for (const current of proxiesAndRedirects) { - if (current.statusCode == 200) { - results.proxies.push({ - toPath: current.toPath.replace(/\*$/, ""), - fromPath: current.fromPath.replace(/\*$/, ""), - }); - } else { - results.redirects.push(current); - } - } - - return results; -} diff --git a/packages/gatsby-plugin-fastify/src/gatsby/server-routes.ts b/packages/gatsby-plugin-fastify/src/gatsby/server-routes.ts deleted file mode 100644 index 6a2a5098a..000000000 --- a/packages/gatsby-plugin-fastify/src/gatsby/server-routes.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { PluginData } from "../utils/plugin-data"; -import { formatMatchPath } from "../utils/routes"; - -export type ServerSideRoute = { - path: string; - mode: "DSG" | "SSR"; - matchPath: string; -}; - -export async function getServerSideRoutes(pageData: PluginData) { - const { pages } = pageData; - const routes: ServerSideRoute[] = []; - - for (const page of pages.values()) { - if (page?.mode === "DSG" || page?.mode === "SSR") { - routes.push({ - path: page.path, - mode: page.mode, - matchPath: page?.matchPath ? formatMatchPath(page.matchPath) : page.path, - }); - } - } - - return routes; -} diff --git a/packages/gatsby-plugin-fastify/src/plugins/404.ts b/packages/gatsby-plugin-fastify/src/plugins/404.ts deleted file mode 100644 index b08b3efef..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/404.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { FastifyPluginAsync } from "fastify"; -import { resolve } from "node:path"; -import { existsSync } from "fs-extra"; -import { PATH_TO_PUBLIC } from "../utils/constants"; - -import { StatusCodes, ReasonPhrases } from "http-status-codes"; - -export const handle404: FastifyPluginAsync = async (fastify) => { - const gatsby404ErrorFileExists = existsSync(resolve(PATH_TO_PUBLIC, "404.html")); - fastify.log.info( - `Gatsby 404 error page ${ - gatsby404ErrorFileExists ? "exists" : "missing, using generic 404 error" - }`, - ); - - fastify.setNotFoundHandler((request, reply) => { - fastify.log.warn(`404: '${request.url}' not found.`); - reply.appendModuleHeader("404"); - - if (gatsby404ErrorFileExists) { - reply.code(StatusCodes.NOT_FOUND).sendFile("404.html"); - } else { - reply.code(StatusCodes.NOT_FOUND).send(ReasonPhrases.NOT_FOUND); - } - }); -}; diff --git a/packages/gatsby-plugin-fastify/src/plugins/500.ts b/packages/gatsby-plugin-fastify/src/plugins/500.ts deleted file mode 100644 index e7680f64b..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/500.ts +++ /dev/null @@ -1,28 +0,0 @@ -import fp from "fastify-plugin"; -import { resolve } from "node:path"; -import { existsSync } from "fs-extra"; -import { StatusCodes, ReasonPhrases } from "http-status-codes"; - -import { PATH_TO_PUBLIC } from "../utils/constants"; - -import type { FastifyPluginAsync } from "fastify"; - -export const handle500: FastifyPluginAsync = fp(async (fastify) => { - const gatsby500ErrorFileExists = existsSync(resolve(PATH_TO_PUBLIC, "500.html")); - fastify.log.info( - `Gatsby 500 error page ${ - gatsby500ErrorFileExists ? "exists" : "missing, using generic 500 error for DSG/SSR" - }`, - ); - - fastify.setErrorHandler(async (error, request, reply) => { - fastify.log.error(`Error processing ${request.url}, ${error.message}`); - reply.appendModuleHeader("500"); - - if (gatsby500ErrorFileExists) { - reply.code(StatusCodes.INTERNAL_SERVER_ERROR).sendFile("500.html"); - } else { - reply.code(StatusCodes.INTERNAL_SERVER_ERROR).send(ReasonPhrases.INTERNAL_SERVER_ERROR); - } - }); -}); diff --git a/packages/gatsby-plugin-fastify/src/plugins/client-routes.ts b/packages/gatsby-plugin-fastify/src/plugins/client-routes.ts deleted file mode 100644 index 7c744de5c..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/client-routes.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { resolve } from "node:path"; - -import { PATH_TO_PUBLIC } from "../utils/constants"; - -import type { FastifyPluginAsync } from "fastify"; -import type { NoUndefinedField } from "../gatsby/client-side-route"; - -export type PathConfig = { - matchPath: string | undefined; - path: string; -}; - -export const handleClientOnlyRoutes: FastifyPluginAsync<{ - paths: NoUndefinedField[]; -}> = async (fastify, { paths }) => { - fastify.log.info(`Registering ${paths?.length} client-only route(s)`); - - if (paths?.length > 0) { - for (const p of paths) { - fastify.log.debug(`Registering client-only route: ${p.path}`); - - fastify.get(p.matchPath, (_request, reply) => { - reply.appendModuleHeader("Client Route"); - - reply.sendFile("index.html", resolve(PATH_TO_PUBLIC, p.path.replace("/", ""))); - }); - } - } -}; - -export default { handleClientOnlyRoutes }; diff --git a/packages/gatsby-plugin-fastify/src/plugins/decorators.ts b/packages/gatsby-plugin-fastify/src/plugins/decorators.ts deleted file mode 100644 index 4f7494669..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/decorators.ts +++ /dev/null @@ -1,17 +0,0 @@ -import fp from "fastify-plugin"; - -import { moduleHeaderDecorator, setHeaderDecorator } from "../utils/headers"; - -import type { FastifyPluginAsync } from "fastify"; - -declare module "fastify" { - interface FastifyReply { - appendModuleHeader: typeof moduleHeaderDecorator; - setHeader: FastifyReply["header"]; - } -} - -export const implementUtilDecorators: FastifyPluginAsync = fp(async (fastify) => { - fastify.decorateReply("setHeader", setHeaderDecorator); - fastify.decorateReply("appendModuleHeader", moduleHeaderDecorator, ["setHeader"]); -}); diff --git a/packages/gatsby-plugin-fastify/src/plugins/functions.ts b/packages/gatsby-plugin-fastify/src/plugins/functions.ts deleted file mode 100644 index 15f822730..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/functions.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { resolve } from "node:path"; -import { existsSync } from "fs-extra"; -import { StatusCodes } from "http-status-codes"; - -import { PATH_TO_FUNCTIONS } from "../utils/constants"; - -import type { FastifyPluginAsync, FastifyReply, FastifyRequest } from "fastify"; -import type { IGatsbyFunction } from "gatsby/dist/redux/types"; - -export type GatsbyFunctionHandler = ( - request: FastifyRequest, - reply: FastifyReply, -) => void | Promise; - -async function getFunctionToExec({ - relativeCompiledFilePath, -}: IGatsbyFunction): Promise { - const functionImportAbsPath = resolve(PATH_TO_FUNCTIONS, relativeCompiledFilePath); - - if (!existsSync(functionImportAbsPath)) { - throw new Error(`Unable to find function to import @ ${functionImportAbsPath}`); - } - - const function_ = await import(functionImportAbsPath); - return function_?.default?.default ?? function_?.default ?? function_; -} - -async function getFunctionHandler(routeConfig: IGatsbyFunction) { - const execFunction = await getFunctionToExec(routeConfig); - - return execFunction; -} - -export const handleFunctions: FastifyPluginAsync<{ - prefix: string; - functions: IGatsbyFunction[]; -}> = async (fastify, { prefix, functions }) => { - if (functions?.length > 0) { - fastify.log.info(`Registering ${functions.length} function(s)`); - - for (const functionConfig of functions) { - try { - const functionToExecute = await getFunctionHandler(functionConfig); - - if (functionToExecute) { - const path = functionConfig?.matchPath || functionConfig.functionRoute; - fastify.log.debug(`Registering function: ${prefix + path}`); - fastify.all(path, { - handler: async function (request, reply) { - try { - reply.appendModuleHeader("Functions"); - await Promise.resolve(functionToExecute(request, reply)); - } catch (error) { - fastify.log.error(error); - // Don't send the error if that would cause another error. - if (!reply.sent) { - reply - .code(StatusCodes.INTERNAL_SERVER_ERROR) - .send("Error executing Gatsby Function."); - } - } - }, - }); - } - } catch (error) { - fastify.log.error(error); - } - } - } - - fastify.all("/*", async (_request, reply) => { - reply.code(StatusCodes.NOT_FOUND).send("Function not found."); - }); -}; diff --git a/packages/gatsby-plugin-fastify/src/plugins/gatsby.ts b/packages/gatsby-plugin-fastify/src/plugins/gatsby.ts deleted file mode 100644 index ade9c1d2c..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/gatsby.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { handleClientOnlyRoutes } from "./client-routes"; -import { implementUtilDecorators } from "./decorators"; -import { handleServerRoutes } from "./server-routes"; -import { handleImageTransforms } from "./image-transform"; -import { handleFunctions } from "./functions"; -import { handleRedirects } from "./redirects"; -import { handleReverseProxy } from "./reverse-proxy"; -import { handleStatic } from "./static"; -import { handle404 } from "./404"; -import { handle500 } from "./500"; -import { getConfig } from "../utils/config"; - -import fastifyAccepts from "@fastify/accepts"; -import middiePlugin from "@fastify/middie"; - -import type { FastifyPluginAsync } from "fastify"; - -export const serveGatsby: FastifyPluginAsync = async (fastify) => { - const { server: serverConfig } = getConfig(); - - const { clientSideRoutes, serverSideRoutes, redirects, functions, proxies, features } = - serverConfig; - - // Utils - await fastify.register(fastifyAccepts); - await fastify.register(implementUtilDecorators); - - // Gatsby 500 - This must be registered before anything that wants to use it - await fastify.register(handle500); - - // Gatsby Image CDN - await fastify.register(middiePlugin).register(handleImageTransforms); - - // Gatsby Functions - await fastify.register(handleFunctions, { - prefix: "/api/", - functions, - }); - - // Gatsby Static - await fastify.register(handleStatic); - - // Gatsby Client Only Routes - await fastify.register(handleClientOnlyRoutes, { - paths: clientSideRoutes, - }); - - // Gatsby Redirects - if (features?.redirects) { - await fastify.register(handleRedirects, { redirects }); - } else { - fastify.log.warn("Redirects disabled."); - } - - // Gatsby Reverse Proxy - if (features?.reverseProxy) { - await fastify.register(handleReverseProxy, { proxies }); - } else { - fastify.log.warn("Reverse proxy disabled."); - } - - // Gatsby DSG & SSR - await fastify.register(handleServerRoutes, { paths: serverSideRoutes }); - - // Gatsby 404 - await fastify.register(handle404); -}; diff --git a/packages/gatsby-plugin-fastify/src/plugins/image-transform.ts b/packages/gatsby-plugin-fastify/src/plugins/image-transform.ts deleted file mode 100644 index 796a51318..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/image-transform.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { addImageRoutes } from "gatsby-plugin-utils/polyfill-remote-file"; - -import type { FastifyPluginAsync } from "fastify"; - -export const handleImageTransforms: FastifyPluginAsync = async (fastify) => { - fastify.log.debug(`πŸ“· Handling file/image transforms aka "Gatsby Image CDN"`); - addImageRoutes(fastify); -}; diff --git a/packages/gatsby-plugin-fastify/src/plugins/redirects.ts b/packages/gatsby-plugin-fastify/src/plugins/redirects.ts deleted file mode 100644 index 194d67a47..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/redirects.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { StatusCodes } from "http-status-codes"; - -import { removeQueryParmsFromUrl, buildRedirectUrlFromParameters } from "../utils/routes"; - -import type { FastifyPluginAsync } from "fastify"; -import type { IRedirect } from "gatsby/dist/redux/types"; - -function getResponseCode(redirect: IRedirect): StatusCodes { - //@ts-expect-error - StatusCodes just doesn't have 208 for some reason - return ( - redirect.statusCode || - (redirect.isPermanent ? StatusCodes.PERMANENT_REDIRECT : StatusCodes.TEMPORARY_REDIRECT) - ); -} - -export const handleRedirects: FastifyPluginAsync<{ - redirects: IRedirect[]; -}> = async (fastify, { redirects }) => { - fastify.log.info(`Registering ${redirects.length} redirect(s)`); - - const queryStringHandlers: { - [s: string]: IRedirect; - } = {}; - - const alreadyRegisterd = new Set(); - - for (let redirect of redirects) { - let responseCode = getResponseCode(redirect); - fastify.log.debug( - `Registering "${redirect.fromPath}" as redirect to "${redirect.toPath}" with HTTP status code "${responseCode}".`, - ); - - /* Fastify can't register routes currently with the query stirngs in the path. - * We must strip these out and only register the path once. - * We can then check, in that single route, whether the entire url(including the query params) matches a redirect path, if it does - * - */ - const cleanFromPath = removeQueryParmsFromUrl(redirect.fromPath); - const isCleanedPath = cleanFromPath != redirect.fromPath; - - if (isCleanedPath) { - queryStringHandlers[redirect.fromPath] = redirect; - } - - if (!alreadyRegisterd.has(cleanFromPath)) { - if (isCleanedPath) { - alreadyRegisterd.add(cleanFromPath); - } - - fastify.all<{ - Params: { - [s: string]: string; - }; - Querystring: { - [s: string]: string; - }; - }>(cleanFromPath, { config: {} }, (request, reply) => { - reply.appendModuleHeader("Redirects"); - - if (isCleanedPath && queryStringHandlers[request.url]) { - redirect = queryStringHandlers[request.url]; - responseCode = getResponseCode(redirect); - } - - const toUrl = buildRedirectUrlFromParameters(redirect.toPath, { - ...request.params, - ...request.query, - }); - - reply.code(responseCode).redirect(encodeURI(toUrl)); - }); - } - } -}; diff --git a/packages/gatsby-plugin-fastify/src/plugins/reverse-proxy.ts b/packages/gatsby-plugin-fastify/src/plugins/reverse-proxy.ts deleted file mode 100644 index c8256a737..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/reverse-proxy.ts +++ /dev/null @@ -1,36 +0,0 @@ -import pluginHttpProxy from "@fastify/http-proxy"; - -import type { FastifyPluginAsync, FastifyReply } from "fastify"; -import type { GatsbyFastifyProxy } from "../gatsby/proxies-and-redirects"; - -// Implements https://support.gatsbsyjs.com/hc/en-us/articles/1500003051241-Working-with-Redirects-and-Rewrites -export const handleReverseProxy: FastifyPluginAsync<{ - proxies: GatsbyFastifyProxy[]; -}> = async (fastify, { proxies }) => { - fastify.log.info(`Registering ${proxies.length} reverse proxy route(s)`); - - for (const proxy of proxies) { - try { - // Fastify doesn't not support/require the trailing "*" in the path, so we need to remove if they exist - const cleanTo = proxy.toPath.replace(/\*$/, ""); - const cleanFrom = proxy.fromPath.replace(/\*$/, ""); - - const proxyTo = new URL(cleanTo); - - fastify.log.debug(`Registering "${cleanFrom}" as proxied route to "${cleanTo}".`); - - fastify.register(pluginHttpProxy, { - upstream: proxyTo.href, - prefix: cleanFrom, - replyOptions: { - onResponse: (_request, reply, response) => { - (reply as FastifyReply).appendModuleHeader("Reverse Proxy"); - reply.send(response); - }, - }, - }); - } catch (error) { - fastify.log.error(error); - } - } -}; diff --git a/packages/gatsby-plugin-fastify/src/plugins/server-routes.ts b/packages/gatsby-plugin-fastify/src/plugins/server-routes.ts deleted file mode 100644 index 308b0dcd2..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/server-routes.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { join, posix, resolve } from "node:path"; -import { StatusCodes } from "http-status-codes"; - -import type { FastifyPluginAsync } from "fastify"; -import type { ServerSideRoute } from "../gatsby/server-routes"; - -import { reverseFixedPagePath } from "gatsby/dist/utils/page-data"; -import { NEVER_CACHE_HEADER, PATH_TO_CACHE } from "../utils/constants"; -import { removeQueryParmsFromUrl } from "../utils/routes"; -import { countPaths } from "../utils/log"; - -export const handleServerRoutes: FastifyPluginAsync<{ - paths: ServerSideRoute[]; -}> = async (fastify, { paths }) => { - if (paths?.length > 0) { - const { dsgCount, ssrCount } = countPaths(paths); - - fastify.log.info(`Registering ${dsgCount} DSG route(s)`); - fastify.log.info(`Registering ${ssrCount} SSR route(s)`); - - const cachePath = resolve(PATH_TO_CACHE); - - const { GraphQLEngine } = (await import( - join(cachePath, "query-engine") - )) as typeof import("gatsby/dist/schema/graphql-engine/entry"); - - const { getData, renderPageData, renderHTML } = (await import( - join(cachePath, "page-ssr") - )) as typeof import("gatsby/dist/utils/page-ssr-module/entry"); - - const graphqlEngine = new GraphQLEngine({ - dbPath: join(cachePath, "data", "datastore"), - }); - - // Handle page-data for SSR/DSG routes - for (const { path, mode } of paths) { - const pageDataPath = posix.join("/page-data", path, "page-data.json"); - - fastify.log.debug(`Registering "${pageDataPath}" as "${mode}" route.`); - - fastify.get(pageDataPath, async (request, reply) => { - fastify.log.debug(`DSG/SSR for "page-data.json" @ ${path}`); - const workingURL = removeQueryParmsFromUrl(request.url); - const potentialPagePath = reverseFixedPagePath(path); - const page = graphqlEngine.findPageByPath(potentialPagePath); - if (!page) { - //this theoreticall shouldn't happen cause we're creating these routes based on data from build. - throw new Error(`No page data found for path: ${workingURL}`); - } - reply.appendModuleHeader(`${page?.mode as "DSG" | "SSR"}`); - - try { - // Fetch Page Data and SSR Data - const pageQueryData = await getData({ - pathName: workingURL, - graphqlEngine, - req: request, - }); - - const pageData = (await renderPageData({ data: pageQueryData })) as unknown; - - if (page.mode === `SSR`) { - if (pageQueryData?.serverDataHeaders) { - reply.headers(pageQueryData.serverDataHeaders); - } - - if (pageQueryData?.serverDataStatus) { - reply.code(pageQueryData.serverDataStatus); - } - } - - reply.header(...NEVER_CACHE_HEADER); - return reply.send(pageData); - } catch (error) { - if (error instanceof Error) { - throw new TypeError(`Error fetching page data for ${path}: ${error.message}`); - } - } - }); - } - - //Handle HTML for DSG/SSR - for (const { path, mode, matchPath } of paths) { - fastify.log.debug(`Registering "${path}" as "${mode}" route.`); - - fastify.get(matchPath, async (request, reply) => { - const accept = request.accepts(); - const workingURL = removeQueryParmsFromUrl(request.url); - - if (accept.type(["html"])) { - fastify.log.debug(`DSG/SSR for "text/html" @ ${request.url}`); - const potentialPagePath = reverseFixedPagePath(workingURL); - const page = graphqlEngine.findPageByPath(potentialPagePath); - - if (!page) { - throw new Error(`No page found for ${workingURL}`); - } - - reply.appendModuleHeader(`${page?.mode as "DSG" | "SSR"}`); - - try { - const pageQueryData = await getData({ - pathName: potentialPagePath, - graphqlEngine, - req: request, - }); - - const results = await renderHTML({ data: pageQueryData }); - - if (page.mode === `SSR`) { - if (pageQueryData?.serverDataHeaders) { - reply.headers(pageQueryData.serverDataHeaders); - } - - if (pageQueryData?.serverDataStatus) { - reply.code(pageQueryData.serverDataStatus); - } - } - - if (page.mode === "DSG") { - reply.header(...NEVER_CACHE_HEADER); - } - - return reply.type("text/html").send(results); - } catch (error) { - if (error instanceof Error) { - throw new TypeError(`Error fetching page HTML for ${path}: ${error?.message}`); - } - } - } else { - fastify.log.warn(`Request for route ${request.url} does not support "text/html"`); - return reply - .code(StatusCodes.BAD_REQUEST) - .send("Request must support html via the `accept` header."); - } - }); - } - } -}; diff --git a/packages/gatsby-plugin-fastify/src/plugins/static.ts b/packages/gatsby-plugin-fastify/src/plugins/static.ts deleted file mode 100644 index b9e22de83..000000000 --- a/packages/gatsby-plugin-fastify/src/plugins/static.ts +++ /dev/null @@ -1,33 +0,0 @@ -import fastifyStatic, { FastifyStaticOptions } from "@fastify/static"; -import fp from "fastify-plugin"; -import { resolve } from "node:path"; -import { isMatch } from "picomatch"; -import { PATH_TO_PUBLIC, IMMUTABLE_CACHING_HEADER, NEVER_CACHE_HEADER } from "../utils/constants"; -import { appendModuleHeader } from "../utils/headers"; - -import type { FastifyPluginAsync } from "fastify"; - -export const handleStatic: FastifyPluginAsync> = fp( - async (fastify, options) => { - const publicPath = resolve(PATH_TO_PUBLIC); - fastify.log.debug(`Serving Static Assets from ${publicPath}`); - fastify.register(fastifyStatic, { - root: publicPath, - // These settings were switched to false with fastify v4, not entirely sure what changed, but tests are still passing. - redirect: false, - wildcard: false, - setHeaders: (reply, path) => { - if ( - isMatch(path, ["**/public/*.@(js|css)", "**/public/static/**"]) && - isMatch(path, "!**/sw.js") - ) { - reply.setHeader(...IMMUTABLE_CACHING_HEADER); - } else { - reply.setHeader(...NEVER_CACHE_HEADER); - } - appendModuleHeader("Static", reply); - }, - ...options, - }); - }, -); diff --git a/packages/gatsby-plugin-fastify/src/serve.ts b/packages/gatsby-plugin-fastify/src/serve.ts deleted file mode 100755 index 937e97220..000000000 --- a/packages/gatsby-plugin-fastify/src/serve.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* eslint unicorn/no-process-exit: "off" */ -import { serveGatsby } from "./plugins/gatsby"; -import Fastify from "fastify"; -import { getConfig } from "./utils/config"; -import { createFastifyConfig } from "./utils/server"; - -export async function gatsbyServer() { - const { - cli: { port, host, logLevel }, - server: { prefix }, - } = getConfig(); - - const fastify = Fastify(createFastifyConfig(getConfig())); - - fastify.log.info(`Logging Level set @ ${logLevel}`); - fastify.log.info(`Mounting Gatsby @ ${prefix || "/"}`); - - try { - await fastify.register(serveGatsby, { prefix }); - - await fastify.listen({ port, host }); - } catch (error) { - console.error(error); - fastify.log.fatal("Failed to start Fastify"); - process.exit(1); - } - - return fastify; -} diff --git a/packages/gatsby-plugin-fastify/src/utils/config.ts b/packages/gatsby-plugin-fastify/src/utils/config.ts deleted file mode 100644 index 594ec27b8..000000000 --- a/packages/gatsby-plugin-fastify/src/utils/config.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { readJSONSync, existsSync } from "fs-extra"; - -import type { NoUndefinedField } from "../gatsby/client-side-route"; -import type { IGatsbyFunction, IRedirect } from "gatsby/dist/redux/types"; -import type { PluginOptions } from "gatsby"; -import type { ServerSideRoute } from "../gatsby/server-routes"; -import type { GatsbyFastifyProxy } from "../gatsby/proxies-and-redirects"; -import type { FastifyServerOptions } from "fastify"; - -import { PathConfig } from "../plugins/client-routes"; -import { CONFIG_FILE_NAME, CONFIG_FILE_PATH } from "./constants"; -import { buildPrefixer } from "./plugin-data"; - -let config: Partial = {}; - -const configPrefixer = buildPrefixer(CONFIG_FILE_PATH); - -export interface GatsbyFastifyPluginOptions extends PluginOptions { - features: { - reverseProxy: boolean | Record; - redirects: boolean; - imageCdn: boolean; - }; - fastify: FastifyServerOptions; -} -export interface GatsbyNodeServerConfig extends GatsbyFastifyPluginOptions { - clientSideRoutes: NoUndefinedField[]; - serverSideRoutes: ServerSideRoute[]; - redirects: IRedirect[]; - prefix: string | undefined; - functions: IGatsbyFunction[]; - proxies: GatsbyFastifyProxy[]; -} - -export type GfCliOptions = { - port: number; - p: number; - host: string; - h: string; - open: boolean; - o: boolean; - logLevel: string; - l: string; -}; - -export enum ConfigKeyEnum { - CLI = "cli", - SERVER = "server", -} - -export type GfConfig = { - [ConfigKeyEnum.CLI]: GfCliOptions; - [ConfigKeyEnum.SERVER]: GatsbyNodeServerConfig; -}; - -export function getConfig(): GfConfig { - if (config.hasOwnProperty(ConfigKeyEnum.SERVER) && config.hasOwnProperty(ConfigKeyEnum.CLI)) { - return config as GfConfig; - } - - throw new Error("Must set config before getting Config."); -} - -export function setConfig(key: Key, incomingConfig: GfConfig[Key]) { - config[key] = incomingConfig; -} - -export function getServerConfig(): GatsbyNodeServerConfig { - const configPath = configPrefixer(CONFIG_FILE_NAME); - if (!existsSync(configPath)) { - throw new Error( - `No Server config found @ ${configPath}, did you do a production Gatsby Build?`, - ); - } - return readJSONSync(configPath, { encoding: "utf8" }); -} diff --git a/packages/gatsby-plugin-fastify/src/utils/constants.ts b/packages/gatsby-plugin-fastify/src/utils/constants.ts deleted file mode 100644 index 4845e9fc2..000000000 --- a/packages/gatsby-plugin-fastify/src/utils/constants.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Gatsby values -export const PATH_TO_FUNCTIONS = ".cache/functions"; -export const PATH_TO_PUBLIC = "public"; -export const PATH_TO_CACHE = ".cache"; - -// Config Values - -export const CONFIG_FILE_NAME = "gatsby-plugin-fastify.json"; -export const CONFIG_FILE_PATH = PATH_TO_CACHE; - -// implementation values - -type Header = [string, string]; -export const IMMUTABLE_CACHING_HEADER: Header = [ - `cache-control`, - `public, max-age=31536000, immutable`, -]; -export const NEVER_CACHE_HEADER: Header = [`cache-control`, `public, max-age=0, must-revalidate`]; diff --git a/packages/gatsby-plugin-fastify/src/utils/headers.ts b/packages/gatsby-plugin-fastify/src/utils/headers.ts deleted file mode 100644 index 8f30f7932..000000000 --- a/packages/gatsby-plugin-fastify/src/utils/headers.ts +++ /dev/null @@ -1,40 +0,0 @@ -import type { FastifyReply } from "fastify"; - -function appendHeader({ name, value }: { name: string; value: string }, reply: FastifyReply): void { - const existingHeader = reply.getHeader(name); - if (existingHeader) { - reply.setHeader(name, `${existingHeader} ${value.endsWith(";") ? value : value + ";"}`); - } else { - reply.setHeader(name, value); - } -} - -export type Modules = - | "DSG" - | "SSR" - | "Static" - | "Client Route" - | "Functions" - | "Redirects" - | "Reverse Proxy" - | "404" - | "500" - | "Image Transforms"; - -function servedBy(module: Modules) { - return `served-by: ${module};`; -} - -const FG_MODULE_HEADER = "x-gatsby-fastify"; - -export function appendModuleHeader(module: Modules, reply: FastifyReply): void { - appendHeader({ name: FG_MODULE_HEADER, value: servedBy(module) }, reply); -} - -export function moduleHeaderDecorator(this: FastifyReply, module: Modules): void { - appendModuleHeader(module, this); -} - -export function setHeaderDecorator(this: FastifyReply, key: string, value: string) { - return this.header(key, value); -} diff --git a/packages/gatsby-plugin-fastify/src/utils/log.ts b/packages/gatsby-plugin-fastify/src/utils/log.ts deleted file mode 100644 index 1cb34e478..000000000 --- a/packages/gatsby-plugin-fastify/src/utils/log.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { ServerSideRoute } from "../gatsby/server-routes"; - -export function countPaths(paths: ServerSideRoute[]) { - const results = { dsgCount: 0, ssrCount: 0 }; - - for (const path of paths) { - if (path.mode === "SSR") { - results.ssrCount += 1; - } else if (path.mode === "DSG") { - results.dsgCount += 1; - } - } - - return results; -} diff --git a/packages/gatsby-plugin-fastify/src/utils/plugin-data.ts b/packages/gatsby-plugin-fastify/src/utils/plugin-data.ts deleted file mode 100644 index 5d3fa13d9..000000000 --- a/packages/gatsby-plugin-fastify/src/utils/plugin-data.ts +++ /dev/null @@ -1,39 +0,0 @@ -//This file was initially coppied from `gatsby-plugin-gatsby-cloud` - -import { join } from "node:path"; -import { PATH_TO_CACHE, PATH_TO_FUNCTIONS, PATH_TO_PUBLIC } from "./constants"; -import type { Store } from "gatsby"; -import { IGatsbyState } from "gatsby/dist/redux/types"; - -export function buildPrefixer(prefix: string, ...paths: string[]) { - return (...subpaths: string[]) => join(prefix, ...paths, ...subpaths); -} - -// This function assembles data across the manifests and store to match a similar -// shape of `static-entry.js`. With it, we can build headers that point to the correct -// hashed filenames and ensure we pull in the componentChunkName. -export async function makePluginData(store: Store, pathPrefix: string): Promise { - const { program, pages } = store.getState() as IGatsbyState; - - const publicFolder = buildPrefixer(program.directory, PATH_TO_PUBLIC); - const functionsFolder = buildPrefixer(program.directory, PATH_TO_FUNCTIONS); - const configFolder = buildPrefixer(program.directory, PATH_TO_CACHE); - - return { - pages, - program, - pathPrefix, - publicFolder, - functionsFolder, - configFolder, - }; -} - -export interface PluginData { - pages: IGatsbyState["pages"]; - program: IGatsbyState["program"]; - pathPrefix: string; - publicFolder: (...paths: string[]) => string; - functionsFolder: (...paths: string[]) => string; - configFolder: (...paths: string[]) => string; -} diff --git a/packages/gatsby-plugin-fastify/src/utils/routes.ts b/packages/gatsby-plugin-fastify/src/utils/routes.ts deleted file mode 100644 index 35b964e5d..000000000 --- a/packages/gatsby-plugin-fastify/src/utils/routes.ts +++ /dev/null @@ -1,28 +0,0 @@ -export function formatMatchPath(matchPath: string): string { - return ( - matchPath - // /test/*example (named splat route) => /test/* as find-my-way doesn't support named splats - .replace(/\*([a-z]+)?/i, "*") - // Findmyway can't match a /example/* route to /example, this modifies the match path is /example* so that it correctly matchs /example, /example/, and /example/test - // Work around for https://github.com/fastify/fastify/issues/3331 - .replace(/\/\*$/, "*") - ); -} - -export function removeQueryParmsFromUrl(url: string) { - return url.split("?", 2)[0]; -} - -export function buildRedirectUrlFromParameters(path: string, data: { [s: string]: string } = {}) { - return path.replaceAll(/:(\w+)|(\*)/gi, function (match, p1, p2) { - if (p1 && !data[p1]) return match; // :Something in toPath does not have a splat in fromPath pass it through colon intact - let lookupString = p1 ?? p2; - let replacement = data[lookupString]; - - if (!replacement) { - throw new Error("Could not find url parameter " + lookupString + " in passed data object"); - } - - return replacement; - }); -} diff --git a/packages/gatsby-plugin-fastify/src/utils/server.ts b/packages/gatsby-plugin-fastify/src/utils/server.ts deleted file mode 100644 index 86673ed97..000000000 --- a/packages/gatsby-plugin-fastify/src/utils/server.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { FastifyServerOptions } from "fastify"; -import type { GfConfig } from "./config"; - -export function createFastifyConfig(config: GfConfig): FastifyServerOptions { - return { - logger: { level: config.cli.logLevel }, - maxParamLength: 500, - ...config.server.fastify, - ignoreTrailingSlash: true, - }; -} diff --git a/packages/gatsby-plugin-fastify/tsconfig.json b/packages/gatsby-plugin-fastify/tsconfig.json deleted file mode 100644 index eebb4e2be..000000000 --- a/packages/gatsby-plugin-fastify/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "module": "esnext", - "moduleResolution": "node", - "noUnusedLocals": true, - "noUnusedParameters": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "skipLibCheck": true, - "strictBindCallApply": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "strictPropertyInitialization": true, - "noFallthroughCasesInSwitch": true, - "resolveJsonModule": true, - "esModuleInterop": true, - "jsx": "preserve", - "paths": {} - } -}