From c1680474d3e422be232b1b391cb133da4cb4199f Mon Sep 17 00:00:00 2001 From: Philipp Melab Date: Thu, 18 Jan 2024 08:54:37 +0100 Subject: [PATCH] refactor(SLB-202): use shared version of @amazeelabs/gatsby-plugin-operations --- apps/website/package.json | 2 +- packages/gatsby-plugin-operations/README.md | 104 ------- .../gatsby-plugin-operations/gatsby-node.js | 1 - .../gatsby-plugin-operations/package.json | 30 -- .../src/gatsby-node.ts | 41 --- .../gatsby-plugin-operations/src/graphql.ts | 29 -- .../gatsby-plugin-operations/src/index.ts | 1 - .../src/plugin.test.ts | 84 ------ .../gatsby-plugin-operations/src/plugin.ts | 64 ---- .../test/operations.json | 3 - .../gatsby-plugin-operations/tsconfig.json | 15 - .../gatsby-plugin-operations/vitest.config.ts | 8 - pnpm-lock.yaml | 275 +++--------------- 13 files changed, 37 insertions(+), 620 deletions(-) delete mode 100644 packages/gatsby-plugin-operations/README.md delete mode 100644 packages/gatsby-plugin-operations/gatsby-node.js delete mode 100644 packages/gatsby-plugin-operations/package.json delete mode 100644 packages/gatsby-plugin-operations/src/gatsby-node.ts delete mode 100644 packages/gatsby-plugin-operations/src/graphql.ts delete mode 100644 packages/gatsby-plugin-operations/src/index.ts delete mode 100644 packages/gatsby-plugin-operations/src/plugin.test.ts delete mode 100644 packages/gatsby-plugin-operations/src/plugin.ts delete mode 100644 packages/gatsby-plugin-operations/test/operations.json delete mode 100644 packages/gatsby-plugin-operations/tsconfig.json delete mode 100644 packages/gatsby-plugin-operations/vitest.config.ts diff --git a/apps/website/package.json b/apps/website/package.json index 61701ac99..59d56cd1c 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -4,7 +4,7 @@ "dependencies": { "@amazeelabs/bridge-gatsby": "^1.2.7", "@amazeelabs/cloudinary-responsive-image": "^1.6.15", - "@amazeelabs/gatsby-plugin-operations": "workspace:*", + "@amazeelabs/gatsby-plugin-operations": "^1.1.0", "@amazeelabs/gatsby-silverback-cloudinary": "^1.2.7", "@amazeelabs/gatsby-source-silverback": "^1.13.10", "@amazeelabs/publisher": "^2.4.17", diff --git a/packages/gatsby-plugin-operations/README.md b/packages/gatsby-plugin-operations/README.md deleted file mode 100644 index d541dafbe..000000000 --- a/packages/gatsby-plugin-operations/README.md +++ /dev/null @@ -1,104 +0,0 @@ -# Gatsby operations - -This Gatsby plugin allows to use persisted query ids provided by -[@amazeelabs/codegen-operation-ids] within templates and in the `createPages` -hook. - -## Installation - -Install the package and configure the plugin within Gatsby. The only argument is -the path to the file of generated operation ids: - -```js -export const plugins = { - { - resolve: '@amazeelabs/gatsby-plugin-operations', - options: { - operations: './node_modules/@custom/schema/build/operations.json', - }, - } -} -``` - -To get proper type checking, you have to augment Gatsby type definitions, by -placing this anywhere in the `src` directory: - -```typescript -import { - AnyOperationId, - OperationResult, - OperationVariables, -} from '@custom/schema'; - -declare module '@amazeelabs/gatsby-plugin-operations' { - export const graphql: ( - id: OperationId, - ) => OperationResult; - - function useStaticQuery(id: Input): Input; - - function graphqlQuery( - id: OperationId, - vars?: OperationVariables, - ): Promise<{ - data: OperationResult; - errors?: Array; - }>; -} -``` - -This relies on the build output of [@amazeelabs/codegen-operation-ids] being -exported by `@custom/schema`. - -## Usage - -### In templates - -For template queries, simply use `graphqlOperation` to define the query export. -The query variable can be used directly to infer the template components -properties. - -```typescript -import { graphql } from '@amazeelabs/gatsby-plugin-operations'; -import { ViewPageQuery } from '@custom/schema'; - -export const query = graphql(ViewPageQuery); -export default function Page({ - data, - pageContext, -}: PageProps) { - return
...
-} -``` - -### In static queries - -To run a static query, one can use `graphql` in combination with -`useStaticQuery`. This will yield a fully typed result of the requested query. - -```typescript -import { useStaticQuery, graphql } from '@amazeelabs/gatsby-plugin-operations'; -import { ListProductsQuery } from '@custom/schema'; - -const myResult = useStaticQuery(graphql(ListProductsQuery)); -``` - -### In `gatsby-node.mjs` - -The `@amazeelabs/gatsby-plugin-operations` package provides a `graphqlQuery` -function that works within the `createPages` hook. - -```typescript -import { graphqlQuery } from '@amazeelabs/gatsby-plugin-operations'; -import { ListPagesQuery } from '@custom/schema'; - -export const createPages({actions}) { - const result = await graphqlQuery(ListPagesQuery); - result.page.forEach((page) => { - actions.createPage({}); - }) -} -``` - -[@amazeelabs/codegen-operation-ids]: - https://www.npmjs.com/package/@amazeelabs/codegen-operation-ids diff --git a/packages/gatsby-plugin-operations/gatsby-node.js b/packages/gatsby-plugin-operations/gatsby-node.js deleted file mode 100644 index 671809aad..000000000 --- a/packages/gatsby-plugin-operations/gatsby-node.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./build/gatsby-node.js'); diff --git a/packages/gatsby-plugin-operations/package.json b/packages/gatsby-plugin-operations/package.json deleted file mode 100644 index ebcd73e39..000000000 --- a/packages/gatsby-plugin-operations/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "@amazeelabs/gatsby-plugin-operations", - "version": "1.0.0", - "description": "", - "type": "commonjs", - "main": "build/index.js", - "types": "build/index.d.ts", - "scripts": { - "test": "vitest run", - "prep": "tsc", - "build": "pnpm prep" - }, - "keywords": [], - "author": "", - "license": "ISC", - "devDependencies": { - "@babel/preset-react": "^7.23.3", - "@babel/preset-typescript": "^7.23.3", - "@babel/types": "^7.23.6", - "@types/babel__core": "^7.20.5", - "@types/node": "^18", - "babel-plugin-tester": "^11.0.4", - "typescript": "^5.3.3", - "vitest": "^1.1.0", - "gatsby": ">= 5" - }, - "dependencies": { - "@babel/core": "^7.23.6" - } -} diff --git a/packages/gatsby-plugin-operations/src/gatsby-node.ts b/packages/gatsby-plugin-operations/src/gatsby-node.ts deleted file mode 100644 index 2074f5997..000000000 --- a/packages/gatsby-plugin-operations/src/gatsby-node.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { transformSync } from '@babel/core'; -import type { GatsbyNode } from 'gatsby'; - -import { initialize } from './graphql.js'; -import babelPlugin from './plugin.js'; - -export const onCreateBabelConfig: GatsbyNode['onCreateBabelConfig'] = ( - { actions }, - options, -) => { - // Inject the babel plugin into webpack. - actions.setBabelPlugin({ name: require.resolve('./plugin'), options }); -}; - -/** - * Replace query id's with gatsby graphql`` tags before queries are collected. - */ -export const preprocessSource: GatsbyNode['preprocessSource'] = ( - { contents }, - options, -) => { - const result = transformSync(contents, { - plugins: [[babelPlugin, options]], - presets: [ - '@babel/preset-react', - ['@babel/preset-typescript', { isTSX: true, allExtensions: true }], - ], - }); - return result?.code ? result.code : contents; -}; - -/** - * Make persisted queries and the graphql function globally - * available. - */ -export const createPages: GatsbyNode['createPages'] = ( - { graphql }, - options, -) => { - initialize(graphql, options.operations as string); -}; diff --git a/packages/gatsby-plugin-operations/src/graphql.ts b/packages/gatsby-plugin-operations/src/graphql.ts deleted file mode 100644 index e42e82be9..000000000 --- a/packages/gatsby-plugin-operations/src/graphql.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { readFileSync } from 'fs'; -import type { CreatePagesArgs } from 'gatsby'; - -export let _graphql: CreatePagesArgs['graphql'] | undefined = undefined; -let _operations: Record | undefined = undefined; - -/** - * Initialize the library. Happens in `./gatsby-node.ts` - */ -export function initialize( - graphql: CreatePagesArgs['graphql'], - operations: string, -) { - _graphql = graphql; - _operations = JSON.parse(readFileSync(operations).toString()); -} - -/** - * Execute a graphql query against gatsby. - */ -export function graphqlQuery(id: string, vars?: any): any { - if (!_graphql || !_operations) { - throw new Error( - 'Plugin "@amazeelabs/gatsby-plugin-operations" not available. Make sure its configured in "gatsby-config.mjs" and that "graphqlQuery" is used within "createPages" only.', - ); - } - const operation = _operations?.[id]; - return _graphql(operation, vars); -} diff --git a/packages/gatsby-plugin-operations/src/index.ts b/packages/gatsby-plugin-operations/src/index.ts deleted file mode 100644 index 0bda6ae15..000000000 --- a/packages/gatsby-plugin-operations/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { graphqlQuery } from './graphql'; diff --git a/packages/gatsby-plugin-operations/src/plugin.test.ts b/packages/gatsby-plugin-operations/src/plugin.test.ts deleted file mode 100644 index b5d79ef8d..000000000 --- a/packages/gatsby-plugin-operations/src/plugin.test.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { pluginTester } from 'babel-plugin-tester'; - -import plugin from './plugin.js'; - -pluginTester({ - plugin, - pluginOptions: { - operations: `./test/operations.json`, - }, - babelOptions: { - presets: [ - '@babel/preset-react', - ['@babel/preset-typescript', { isTSX: true, allExtensions: true }], - ], - }, - tests: [ - { - title: 'Page query', - code: ` -import { MyOperation } from '@custom/schema'; -import { graphql } from '@amazeelabs/gatsby-plugin-operations'; -export const query = graphql(MyOperation); - `, - output: ` -import { MyOperation } from '@custom/schema'; -import { graphql } from 'gatsby'; -export const query = graphql\` - { - field - } -\`;`, - }, - { - title: 'Static query', - code: ` -import { MyOperation } from '@custom/schema'; -import { graphql, useStaticQuery } from '@amazeelabs/gatsby-plugin-operations'; -function useData() { - return useStaticQuery(graphql(MyOperation)); -}`, - output: ` -import { MyOperation } from '@custom/schema'; -import { graphql, useStaticQuery } from 'gatsby'; -function useData() { - return useStaticQuery( - graphql\` - { - field - } - \`, - ); -}`, - }, - { - title: 'Typescript', - code: ` -import { MyOperation } from '@custom/schema'; -import { graphql, useStaticQuery } from '@amazeelabs/gatsby-plugin-operations'; -function useData() { - return useStaticQuery(graphql(MyOperation)); -} - -export function Component(props: { message: string }) { - return
{props.message}
; -} -`, - output: ` -import { MyOperation } from '@custom/schema'; -import { graphql, useStaticQuery } from 'gatsby'; -function useData() { - return useStaticQuery( - graphql\` - { - field - } - \`, - ); -} -export function Component(props) { - return /*#__PURE__*/ React.createElement('div', null, props.message); -}`, - }, - ], -}); diff --git a/packages/gatsby-plugin-operations/src/plugin.ts b/packages/gatsby-plugin-operations/src/plugin.ts deleted file mode 100644 index 72663c82a..000000000 --- a/packages/gatsby-plugin-operations/src/plugin.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { PluginObj, PluginPass, types } from '@babel/core'; -import { readFileSync } from 'fs'; - -function loadOperations(path: string) { - const loadedOperations: Record = {}; - const loaded = JSON.parse(readFileSync(path).toString()); - Object.keys(loaded).forEach((key) => { - loadedOperations[key.split(':')[0]] = loaded[key]; - }); - return loadedOperations; -} - -export default () => - ({ - visitor: { - ImportDeclaration(path) { - if (path.node.source.value === '@amazeelabs/gatsby-plugin-operations') { - path.replaceWith( - types.importDeclaration( - path.node.specifiers, - types.stringLiteral('gatsby'), - ), - ); - path.skip(); - } - }, - CallExpression(path, { opts }) { - const operations = loadOperations(opts.operations); - if (path.node.callee.type === 'Identifier') { - if (path.node.callee.name === 'graphql') { - if ( - !( - path.node.arguments.length === 1 && - path.node.arguments[0].type === 'Identifier' - ) - ) { - return; - } - const operation = path.node.arguments[0].name; - if (!operation || !operations[operation]) { - return; - } - path.replaceWith( - types.taggedTemplateExpression( - types.identifier('graphql'), - types.templateLiteral( - [types.templateElement({ raw: operations[operation] })], - [], - ), - ), - ); - path.skip(); - return; - } - } - }, - }, - }) satisfies PluginObj< - PluginPass & { - opts: { - operations: string; - }; - } - >; diff --git a/packages/gatsby-plugin-operations/test/operations.json b/packages/gatsby-plugin-operations/test/operations.json deleted file mode 100644 index 74a8d6af9..000000000 --- a/packages/gatsby-plugin-operations/test/operations.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "MyOperation:1234": "{ field }" -} diff --git a/packages/gatsby-plugin-operations/tsconfig.json b/packages/gatsby-plugin-operations/tsconfig.json deleted file mode 100644 index 49e7a1980..000000000 --- a/packages/gatsby-plugin-operations/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "module": "CommonJS", - "resolveJsonModule": true, - "declaration": true, - "declarationDir": "build", - "lib": ["ESNext", "DOM"], - "outDir": "build" - }, - "include": ["src"] -} diff --git a/packages/gatsby-plugin-operations/vitest.config.ts b/packages/gatsby-plugin-operations/vitest.config.ts deleted file mode 100644 index 5a4214273..000000000 --- a/packages/gatsby-plugin-operations/vitest.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'vitest/config'; - -export default defineConfig({ - test: { - globals: true, - include: ['src/**/*.test.ts'], - }, -}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4cd7870c0..6af4abbe1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -180,8 +180,8 @@ importers: specifier: ^1.6.15 version: 1.6.15 '@amazeelabs/gatsby-plugin-operations': - specifier: workspace:* - version: link:../../packages/gatsby-plugin-operations + specifier: ^1.1.0 + version: 1.1.0 '@amazeelabs/gatsby-silverback-cloudinary': specifier: ^1.2.7 version: 1.2.7 @@ -793,6 +793,14 @@ packages: lodash-es: 4.17.21 dev: false + /@amazeelabs/gatsby-plugin-operations@1.1.0: + resolution: {integrity: sha512-lZtaLws6e4TpzUWxAXY7zAqkYasTDHONFb6t9G3gHccxrIjwRW7osaNYNa259M15QV48Osfuqn1GC1WTajxHWQ==} + dependencies: + '@babel/core': 7.23.7 + transitivePeerDependencies: + - supports-color + dev: false + /@amazeelabs/gatsby-silverback-cloudinary@1.2.7: resolution: {integrity: sha512-LUhtYau6zFZPTtE0hut0MmoTu4eFI9YUkiBNLHN02EsZlCrPrP0pdyWTqByGsL10WIvQ4bry0dPotKoqZVnx8g==} dev: false @@ -7305,7 +7313,7 @@ packages: react-refresh: 0.14.0 schema-utils: 3.3.0 source-map: 0.7.4 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /@pnpm/config.env-replace@1.1.0: resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} @@ -9965,7 +9973,6 @@ packages: typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: false /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@5.3.3): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} @@ -10041,7 +10048,6 @@ packages: typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: false /@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@5.3.3): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} @@ -10116,7 +10122,6 @@ packages: typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: false /@typescript-eslint/type-utils@5.62.0(eslint@7.32.0)(typescript@5.3.3): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} @@ -10206,7 +10211,6 @@ packages: typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: false /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} @@ -10268,7 +10272,6 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: false /@typescript-eslint/utils@5.62.0(eslint@7.32.0)(typescript@5.3.3): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} @@ -12061,7 +12064,7 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /babel-plugin-add-module-exports@1.0.4: resolution: {integrity: sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==} @@ -12154,7 +12157,7 @@ packages: '@babel/core': 7.23.7 '@babel/runtime': 7.23.7 '@babel/types': 7.23.6 - gatsby: 5.13.1(babel-eslint@10.1.0)(esbuild@0.19.11)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + gatsby: 5.13.1(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) gatsby-core-utils: 4.13.0 /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: @@ -13890,7 +13893,7 @@ packages: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.5.4 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /css-minimizer-webpack-plugin@2.0.0(webpack@5.89.0): resolution: {integrity: sha512-cG/uc94727tx5pBNtb1Sd7gvUPzwmcQi1lkpfqTpdkuNq75hJCw7bIVsCNijLm4dhDcr1atvuysl2rZqOG8Txw==} @@ -13912,7 +13915,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 5.0.1 source-map: 0.6.1 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} @@ -16145,7 +16148,6 @@ packages: eslint-plugin-react: 7.33.2(eslint@7.32.0) eslint-plugin-react-hooks: 4.6.0(eslint@7.32.0) typescript: 4.9.5 - dev: false /eslint-config-react-app@6.0.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(babel-eslint@10.1.0)(eslint-plugin-flowtype@5.10.0)(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.33.2)(eslint@7.32.0)(typescript@5.3.3): resolution: {integrity: sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==} @@ -16182,6 +16184,7 @@ packages: eslint-plugin-react: 7.33.2(eslint@7.32.0) eslint-plugin-react-hooks: 4.6.0(eslint@7.32.0) typescript: 5.3.3 + dev: true /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -16213,7 +16216,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.3.3) + '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@4.9.5) debug: 3.2.7 eslint: 7.32.0 eslint-import-resolver-node: 0.3.9 @@ -16291,7 +16294,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.3.3) + '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@4.9.5) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -16496,7 +16499,7 @@ packages: micromatch: 4.0.5 normalize-path: 3.0.0 schema-utils: 3.3.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /eslint@7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} @@ -17164,7 +17167,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /file-system-cache@2.3.0: resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==} @@ -17489,7 +17492,6 @@ packages: tapable: 1.1.3 typescript: 4.9.5 webpack: 5.89.0 - dev: false /fork-ts-checker-webpack-plugin@6.5.3(eslint@7.32.0)(typescript@5.3.3)(webpack@5.89.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} @@ -17521,6 +17523,7 @@ packages: tapable: 1.1.3 typescript: 5.3.3 webpack: 5.89.0(esbuild@0.19.11) + dev: true /form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} @@ -17778,7 +17781,7 @@ packages: dependencies: '@types/node-fetch': 2.6.10 fs-extra: 9.1.0 - gatsby: 5.13.1(babel-eslint@10.1.0)(esbuild@0.19.11)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + gatsby: 5.13.1(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) lodash: 4.17.21 node-fetch: 2.7.0 p-queue: 6.6.2 @@ -17894,7 +17897,7 @@ packages: chokidar: 3.5.3 fs-exists-cached: 1.0.0 fs-extra: 11.2.0 - gatsby: 5.13.1(babel-eslint@10.1.0)(esbuild@0.19.11)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + gatsby: 5.13.1(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) gatsby-core-utils: 4.13.0 gatsby-page-utils: 3.13.0 gatsby-plugin-utils: 4.13.0(gatsby@5.13.1)(graphql@16.8.1) @@ -17980,7 +17983,7 @@ packages: '@babel/preset-typescript': 7.23.3(@babel/core@7.23.7) '@babel/runtime': 7.23.7 babel-plugin-remove-graphql-queries: 5.13.0(@babel/core@7.23.7)(gatsby@5.13.1) - gatsby: 5.13.1(babel-eslint@10.1.0)(esbuild@0.19.11)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + gatsby: 5.13.1(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) transitivePeerDependencies: - supports-color @@ -17994,7 +17997,7 @@ packages: '@babel/runtime': 7.23.7 fastq: 1.16.0 fs-extra: 11.2.0 - gatsby: 5.13.1(babel-eslint@10.1.0)(esbuild@0.19.11)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + gatsby: 5.13.1(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) gatsby-core-utils: 4.13.0 gatsby-sharp: 1.13.0 graphql: 16.8.1 @@ -18084,211 +18087,6 @@ packages: transitivePeerDependencies: - supports-color - /gatsby@5.13.1(babel-eslint@10.1.0)(esbuild@0.19.11)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): - resolution: {integrity: sha512-y8VB381ZnHX3Xxc1n78AAAd+t0EsIyyIRtfqlSQ10CXwZHpZzBR3DTRoHmqIG3/NmdiqWhbHb/nRlmKZUzixtQ==} - engines: {node: '>=18.0.0'} - hasBin: true - requiresBuild: true - peerDependencies: - react: ^18.0.0 || ^0.0.0 - react-dom: ^18.0.0 || ^0.0.0 - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/core': 7.23.7 - '@babel/eslint-parser': 7.23.3(@babel/core@7.23.7)(eslint@7.32.0) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/parser': 7.23.6 - '@babel/runtime': 7.23.7 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 - '@builder.io/partytown': 0.7.6 - '@gatsbyjs/reach-router': 2.0.1(react-dom@18.2.0)(react@18.2.0) - '@gatsbyjs/webpack-hot-middleware': 2.25.3 - '@graphql-codegen/add': 3.2.3(graphql@16.8.1) - '@graphql-codegen/core': 2.6.8(graphql@16.8.1) - '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.8.1) - '@graphql-codegen/typescript': 2.8.8(graphql@16.8.1) - '@graphql-codegen/typescript-operations': 2.5.13(graphql@16.8.1) - '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.23.7)(graphql@16.8.1) - '@graphql-tools/load': 7.8.14(graphql@16.8.1) - '@jridgewell/trace-mapping': 0.3.20 - '@nodelib/fs.walk': 1.2.8 - '@parcel/cache': 2.8.3(@parcel/core@2.8.3) - '@parcel/core': 2.8.3 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.14.0)(webpack@5.89.0) - '@types/http-proxy': 1.17.14 - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@5.3.3) - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@5.3.3) - '@vercel/webpack-asset-relocator-loader': 1.7.3 - acorn-loose: 8.4.0 - acorn-walk: 8.3.1 - address: 1.2.2 - anser: 2.1.1 - autoprefixer: 10.4.16(postcss@8.4.32) - axios: 0.21.4(debug@4.3.4) - babel-jsx-utils: 1.1.0 - babel-loader: 8.3.0(@babel/core@7.23.7)(webpack@5.89.0) - babel-plugin-add-module-exports: 1.0.4 - babel-plugin-dynamic-import-node: 2.3.3 - babel-plugin-lodash: 3.3.4 - babel-plugin-remove-graphql-queries: 5.13.0(@babel/core@7.23.7)(gatsby@5.13.1) - babel-preset-gatsby: 3.13.0(@babel/core@7.23.7)(core-js@3.35.0) - better-opn: 2.1.1 - bluebird: 3.7.2 - body-parser: 1.20.1 - browserslist: 4.22.2 - cache-manager: 2.11.1 - chalk: 4.1.2 - chokidar: 3.5.3 - common-tags: 1.8.2 - compression: 1.7.4 - cookie: 0.5.0 - core-js: 3.35.0 - cors: 2.8.5 - css-loader: 5.2.7(webpack@5.89.0) - css-minimizer-webpack-plugin: 2.0.0(webpack@5.89.0) - css.escape: 1.5.1 - date-fns: 2.30.0 - debug: 4.3.4 - deepmerge: 4.3.1 - detect-port: 1.5.1 - devcert: 1.2.2 - dotenv: 8.6.0 - enhanced-resolve: 5.15.0 - error-stack-parser: 2.1.4 - eslint: 7.32.0 - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(babel-eslint@10.1.0)(eslint-plugin-flowtype@5.10.0)(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.33.2)(eslint@7.32.0)(typescript@5.3.3) - eslint-plugin-flowtype: 5.10.0(eslint@7.32.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@7.32.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@7.32.0) - eslint-plugin-react: 7.33.2(eslint@7.32.0) - eslint-plugin-react-hooks: 4.6.0(eslint@7.32.0) - eslint-webpack-plugin: 2.7.0(eslint@7.32.0)(webpack@5.89.0) - event-source-polyfill: 1.0.31 - execa: 5.1.1 - express: 4.18.2 - express-http-proxy: 1.6.3 - fastest-levenshtein: 1.0.16 - fastq: 1.16.0 - file-loader: 6.2.0(webpack@5.89.0) - find-cache-dir: 3.3.2 - fs-exists-cached: 1.0.0 - fs-extra: 11.2.0 - gatsby-cli: 5.13.1 - gatsby-core-utils: 4.13.0 - gatsby-graphiql-explorer: 3.13.0 - gatsby-legacy-polyfills: 3.13.0 - gatsby-link: 5.13.0(@gatsbyjs/reach-router@2.0.1)(react-dom@18.2.0)(react@18.2.0) - gatsby-page-utils: 3.13.0 - gatsby-parcel-config: 1.13.0(@parcel/core@2.8.3) - gatsby-plugin-page-creator: 5.13.0(gatsby@5.13.1)(graphql@16.8.1) - gatsby-plugin-typescript: 5.13.0(gatsby@5.13.1) - gatsby-plugin-utils: 4.13.0(gatsby@5.13.1)(graphql@16.8.1) - gatsby-react-router-scroll: 6.13.0(@gatsbyjs/reach-router@2.0.1)(react-dom@18.2.0)(react@18.2.0) - gatsby-script: 2.13.0(@gatsbyjs/reach-router@2.0.1)(react-dom@18.2.0)(react@18.2.0) - gatsby-telemetry: 4.13.0 - gatsby-worker: 2.13.0 - glob: 7.2.3 - globby: 11.1.0 - got: 11.8.6 - graphql: 16.8.1 - graphql-compose: 9.0.10(graphql@16.8.1) - graphql-http: 1.22.0(graphql@16.8.1) - graphql-tag: 2.12.6(graphql@16.8.1) - hasha: 5.2.2 - invariant: 2.2.4 - is-relative: 1.0.0 - is-relative-url: 3.0.0 - joi: 17.11.0 - json-loader: 0.5.7 - latest-version: 7.0.0 - linkfs: 2.1.0 - lmdb: 2.5.3 - lodash: 4.17.21 - meant: 1.0.3 - memoizee: 0.4.15 - micromatch: 4.0.5 - mime: 3.0.0 - mini-css-extract-plugin: 1.6.2(webpack@5.89.0) - mitt: 1.2.0 - moment: 2.30.1 - multer: 1.4.5-lts.1 - node-fetch: 2.7.0 - node-html-parser: 5.4.2 - normalize-path: 3.0.0 - null-loader: 4.0.1(webpack@5.89.0) - opentracing: 0.14.7 - p-defer: 3.0.0 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - physical-cpu-count: 2.0.0 - platform: 1.3.6 - postcss: 8.4.32 - postcss-flexbugs-fixes: 5.0.2(postcss@8.4.32) - postcss-loader: 5.3.0(postcss@8.4.32)(webpack@5.89.0) - prompts: 2.4.2 - prop-types: 15.8.1 - query-string: 6.14.1 - raw-loader: 4.0.2(webpack@5.89.0) - react: 18.2.0 - react-dev-utils: 12.0.1(eslint@7.32.0)(typescript@5.3.3)(webpack@5.89.0) - react-dom: 18.2.0(react@18.2.0) - react-refresh: 0.14.0 - react-server-dom-webpack: 0.0.0-experimental-c8b778b7f-20220825(react@18.2.0)(webpack@5.89.0) - redux: 4.2.1 - redux-thunk: 2.4.2(redux@4.2.1) - resolve-from: 5.0.0 - semver: 7.5.4 - shallow-compare: 1.2.2 - signal-exit: 3.0.7 - slugify: 1.6.6 - socket.io: 4.7.1 - socket.io-client: 4.7.1 - stack-trace: 0.0.10 - string-similarity: 1.2.2 - strip-ansi: 6.0.1 - style-loader: 2.0.0(webpack@5.89.0) - style-to-object: 0.4.4 - terser-webpack-plugin: 5.3.10(esbuild@0.19.11)(webpack@5.89.0) - tmp: 0.2.1 - true-case-path: 2.2.1 - type-of: 2.0.1 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) - uuid: 8.3.2 - webpack: 5.89.0(esbuild@0.19.11) - webpack-dev-middleware: 4.3.0(webpack@5.89.0) - webpack-merge: 5.10.0 - webpack-stats-plugin: 1.1.3 - webpack-virtual-modules: 0.5.0 - xstate: 4.38.3 - yaml-loader: 0.8.0 - optionalDependencies: - gatsby-sharp: 1.13.0 - transitivePeerDependencies: - - '@swc/core' - - '@types/webpack' - - babel-eslint - - bufferutil - - clean-css - - csso - - encoding - - esbuild - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - eslint-plugin-jest - - eslint-plugin-testing-library - - sockjs-client - - supports-color - - type-fest - - typescript - - uglify-js - - utf-8-validate - - vue-template-compiler - - webpack-cli - - webpack-dev-server - - webpack-hot-middleware - - webpack-plugin-serve - /gatsby@5.13.1(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5): resolution: {integrity: sha512-y8VB381ZnHX3Xxc1n78AAAd+t0EsIyyIRtfqlSQ10CXwZHpZzBR3DTRoHmqIG3/NmdiqWhbHb/nRlmKZUzixtQ==} engines: {node: '>=18.0.0'} @@ -18493,7 +18291,6 @@ packages: - webpack-dev-server - webpack-hot-middleware - webpack-plugin-serve - dev: false /gatsby@5.13.1(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-y8VB381ZnHX3Xxc1n78AAAd+t0EsIyyIRtfqlSQ10CXwZHpZzBR3DTRoHmqIG3/NmdiqWhbHb/nRlmKZUzixtQ==} @@ -23290,7 +23087,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 webpack-sources: 1.4.3 /mini-svg-data-uri@1.4.4: @@ -24118,7 +23915,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} @@ -25308,7 +25105,7 @@ packages: klona: 2.0.6 postcss: 8.4.32 semver: 7.5.4 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /postcss-merge-longhand@5.1.7(postcss@8.4.32): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} @@ -26286,7 +26083,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /rbush@3.0.1: resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==} @@ -26423,7 +26220,6 @@ packages: - eslint - supports-color - vue-template-compiler - dev: false /react-dev-utils@12.0.1(eslint@7.32.0)(typescript@5.3.3)(webpack@5.89.0): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} @@ -26465,6 +26261,7 @@ packages: - eslint - supports-color - vue-template-compiler + dev: true /react-dnd-html5-backend@14.1.0: resolution: {integrity: sha512-6ONeqEC3XKVf4eVmMTe0oPds+c5B9Foyj8p/ZKLb7kL2qh9COYxiBHv3szd6gztqi/efkmriywLUVlPotqoJyw==} @@ -26866,7 +26663,7 @@ packages: loose-envify: 1.4.0 neo-async: 2.6.2 react: 18.2.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /react-split-pane@0.1.92(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GfXP1xSzLMcLJI5BM36Vh7GgZBpy+U/X0no+VM3fxayv+p1Jly5HpMofZJraeaMl73b3hvlr+N9zJKvLB/uz9w==} @@ -29217,7 +29014,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /style-to-object@0.3.0: resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} @@ -29551,6 +29348,7 @@ packages: serialize-javascript: 6.0.1 terser: 5.26.0 webpack: 5.89.0(esbuild@0.19.11) + dev: true /terser-webpack-plugin@5.3.10(webpack@5.89.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} @@ -30043,7 +29841,6 @@ packages: dependencies: tslib: 1.14.1 typescript: 4.9.5 - dev: false /tsutils@3.21.0(typescript@5.3.3): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} @@ -30242,7 +30039,6 @@ packages: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true - dev: false /typescript@5.3.3: resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} @@ -30742,7 +30538,7 @@ packages: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /url@0.11.3: resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} @@ -31587,7 +31383,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 3.3.0 - webpack: 5.89.0(esbuild@0.19.11) + webpack: 5.89.0 /webpack-merge@5.10.0: resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} @@ -31694,6 +31490,7 @@ packages: - '@swc/core' - esbuild - uglify-js + dev: true /well-known-symbols@2.0.0: resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==}