diff --git a/.changeset/wise-dolphins-train.md b/.changeset/wise-dolphins-train.md
new file mode 100644
index 00000000000..9e1325f7553
--- /dev/null
+++ b/.changeset/wise-dolphins-train.md
@@ -0,0 +1,6 @@
+---
+'@graphql-tools/code-file-loader': minor
+'@graphql-tools/graphql-tag-pluck': minor
+---
+
+Add .astro file support
diff --git a/packages/graphql-tag-pluck/package.json b/packages/graphql-tag-pluck/package.json
index e026bbb6871..dfe90abb124 100644
--- a/packages/graphql-tag-pluck/package.json
+++ b/packages/graphql-tag-pluck/package.json
@@ -56,9 +56,11 @@
"@babel/traverse": "^7.16.8",
"@babel/types": "^7.16.8",
"@graphql-tools/utils": "^10.0.0",
+ "astrojs-compiler-sync": "^0.3.3",
"tslib": "^2.4.0"
},
"devDependencies": {
+ "@astrojs/compiler": "^2.3.4",
"@babel/parser": "7.23.6",
"@babel/traverse": "7.23.7",
"@babel/types": "7.23.6",
@@ -75,7 +77,8 @@
"buildOptions": {
"external": [
"@vue/compiler-sfc",
- "svelte2tsx"
+ "svelte2tsx",
+ "@astrojs/compiler"
]
},
"typescript": {
diff --git a/packages/graphql-tag-pluck/src/config.ts b/packages/graphql-tag-pluck/src/config.ts
index a3e26eaea75..99be5ea61d6 100644
--- a/packages/graphql-tag-pluck/src/config.ts
+++ b/packages/graphql-tag-pluck/src/config.ts
@@ -76,6 +76,9 @@ export default function generateConfig(
case '.svelte':
plugins.push('typescript', 'svelte');
break;
+ case '.astro':
+ plugins.push('typescript', 'jsx');
+ break;
default:
plugins.push('jsx', ...dynamicFlowPlugins);
break;
diff --git a/packages/graphql-tag-pluck/src/index.ts b/packages/graphql-tag-pluck/src/index.ts
index c49d355a1aa..573b6aa8d48 100644
--- a/packages/graphql-tag-pluck/src/index.ts
+++ b/packages/graphql-tag-pluck/src/index.ts
@@ -142,6 +142,7 @@ const supportedExtensions = [
'.flow.jsx',
'.vue',
'.svelte',
+ '.astro',
];
// tslint:disable-next-line: no-implicit-dependencies
@@ -159,10 +160,25 @@ function parseWithSvelte(svelte2tsx: typeof import('svelte2tsx'), fileData: stri
return fileInTsx.code;
}
+// tslint:disable-next-line: no-implicit-dependencies
+async function parseWithAstro(astroCompiler: typeof import('@astrojs/compiler'), fileData: string) {
+ const fileInTsx = await astroCompiler.transform(fileData);
+ return fileInTsx.code;
+}
+
+function parseWithAstroSync(
+ // tslint:disable-next-line: no-implicit-dependencies
+ astroCompiler: typeof import('astrojs-compiler-sync'),
+ fileData: string,
+) {
+ const fileInTsx = astroCompiler.transform(fileData, undefined);
+ return fileInTsx.code;
+}
+
/**
* Asynchronously plucks GraphQL template literals from a single file.
*
- * Supported file extensions include: `.js`, `.mjs`, `.cjs`, `.jsx`, `.ts`, `.mts`, `.cts`, `.tsx`, `.flow`, `.flow.js`, `.flow.jsx`, `.vue`, `.svelte`
+ * Supported file extensions include: `.js`, `.mjs`, `.cjs`, `.jsx`, `.ts`, `.mts`, `.cts`, `.tsx`, `.flow`, `.flow.js`, `.flow.jsx`, `.vue`, `.svelte`, `.astro`
*
* @param filePath Path to the file containing the code. Required to detect the file type
* @param code The contents of the file being parsed.
@@ -180,6 +196,8 @@ export const gqlPluckFromCodeString = async (
code = await pluckVueFileScript(code);
} else if (fileExt === '.svelte') {
code = await pluckSvelteFileScript(code);
+ } else if (fileExt === '.astro') {
+ code = await pluckAstroFileScript(code);
}
return parseCode({ code, filePath, options }).map(
@@ -190,7 +208,7 @@ export const gqlPluckFromCodeString = async (
/**
* Synchronously plucks GraphQL template literals from a single file
*
- * Supported file extensions include: `.js`, `.mjs`, `.cjs`, `.jsx`, `.ts`, `.mjs`, `.cjs`, `.tsx`, `.flow`, `.flow.js`, `.flow.jsx`, `.vue`, `.svelte`
+ * Supported file extensions include: `.js`, `.mjs`, `.cjs`, `.jsx`, `.ts`, `.mjs`, `.cjs`, `.tsx`, `.flow`, `.flow.js`, `.flow.jsx`, `.vue`, `.svelte`, `.astro`
*
* @param filePath Path to the file containing the code. Required to detect the file type
* @param code The contents of the file being parsed.
@@ -208,6 +226,8 @@ export const gqlPluckFromCodeStringSync = (
code = pluckVueFileScriptSync(code);
} else if (fileExt === '.svelte') {
code = pluckSvelteFileScriptSync(code);
+ } else if (fileExt === '.astro') {
+ code = pluckAstroFileScriptSync(code);
}
return parseCode({ code, filePath, options }).map(
@@ -285,6 +305,21 @@ const MissingSvelteTemplateCompilerError = new Error(
`),
);
+const MissingAstroCompilerError = new Error(
+ freeText(`
+ GraphQL template literals cannot be plucked from a Astro template code without having the "@astrojs/compiler" package installed.
+ Please install it and try again.
+
+ Via NPM:
+
+ $ npm install @astrojs/compiler
+
+ Via Yarn:
+
+ $ yarn add @astrojs/compiler
+ `),
+);
+
async function pluckVueFileScript(fileData: string) {
let vueTemplateCompiler: typeof import('@vue/compiler-sfc');
try {
@@ -334,3 +369,26 @@ function pluckSvelteFileScriptSync(fileData: string) {
return parseWithSvelte(svelte2tsx, fileData);
}
+
+async function pluckAstroFileScript(fileData: string) {
+ let astroCompiler: typeof import('@astrojs/compiler');
+ try {
+ // eslint-disable-next-line import/no-extraneous-dependencies
+ astroCompiler = await import('@astrojs/compiler');
+ } catch (e: any) {
+ throw MissingAstroCompilerError;
+ }
+
+ return parseWithAstro(astroCompiler, fileData);
+}
+
+function pluckAstroFileScriptSync(fileData: string) {
+ let astroCompiler: typeof import('astrojs-compiler-sync');
+ try {
+ astroCompiler = require('astrojs-compiler-sync');
+ } catch (e: any) {
+ throw MissingAstroCompilerError;
+ }
+
+ return parseWithAstroSync(astroCompiler, fileData);
+}
diff --git a/packages/graphql-tag-pluck/tests/graphql-tag-pluck.test.ts b/packages/graphql-tag-pluck/tests/graphql-tag-pluck.test.ts
index 6713fbba2df..cda96cece82 100644
--- a/packages/graphql-tag-pluck/tests/graphql-tag-pluck.test.ts
+++ b/packages/graphql-tag-pluck/tests/graphql-tag-pluck.test.ts
@@ -1163,6 +1163,138 @@ describe('graphql-tag-pluck', () => {
);
});
+ it('should pluck graphql-tag template literals from .astro file', async () => {
+ const sources = await pluck(
+ 'tmp-XXXXXX.astro',
+ freeText(`
+ ---
+ import gql from 'graphql-tag';
+
+ let q = gql\`
+ query IndexQuery {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ }
+ \`;
+ ---
+
+
foo
+ `),
+ );
+
+ expect(sources.map(source => source.body).join('\n\n')).toEqual(
+ freeText(`
+ query IndexQuery {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ }
+ `),
+ );
+ });
+
+ it('should pluck graphql-tag template literals from .astro file with 2 queries', async () => {
+ const sources = await pluck(
+ 'tmp-XXXXXX.astro',
+ freeText(`
+ ---
+ import gql from 'graphql-tag';
+
+ let q = gql\`
+ query IndexQuery {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ }
+ \`;
+ let q2 = gql\`
+ query IndexQuery2 {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ }
+ \`;
+ ---
+
+ foo
+ `),
+ );
+
+ expect(sources.map(source => source.body).join('\n\n')).toEqual(
+ freeText(`
+ query IndexQuery {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ }
+
+ query IndexQuery2 {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ }
+ `),
+ );
+ });
+
+ it('should pluck graphql-tag template literals from .astro removing comments', async () => {
+ const sources = await pluck(
+ 'tmp-XXXXXX.astro',
+ freeText(`
+ ---
+ import gql from 'graphql-tag';
+
+ let q = gql\`
+ query IndexQuery {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ }
+ \`;
+
+ // let q2 = gql\`
+ // query IndexQuery2 {
+ // site {
+ // siteMetadata {
+ // title
+ // }
+ // }
+ // }
+ // \`;
+ ---
+
+ foo
+ `),
+ );
+
+ expect(sources.map(source => source.body).join('\n\n')).toEqual(
+ freeText(`
+ query IndexQuery {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ }
+ `),
+ );
+ });
+
it('should pluck graphql-tag template literals from .tsx file with generic jsx elements', async () => {
const sources = await pluck(
'tmp-XXXXXX.tsx',
diff --git a/packages/loaders/code-file/src/index.ts b/packages/loaders/code-file/src/index.ts
index 514d7ea3afa..b5cc486a3ed 100644
--- a/packages/loaders/code-file/src/index.ts
+++ b/packages/loaders/code-file/src/index.ts
@@ -54,6 +54,7 @@ const FILE_EXTENSIONS = [
'.jsx',
'.vue',
'.svelte',
+ '.astro',
];
function createGlobbyOptions(options: CodeFileLoaderOptions): GlobbyOptions {
@@ -75,7 +76,7 @@ const buildIgnoreGlob = (path: string) => `!${path}`;
* ```
*
* Supported extensions include: `.ts`, `.mts`, `.cts`, `.tsx`, `.js`, `.mjs`,
- * `.cjs`, `.jsx`, `.vue`, `.svelte`
+ * `.cjs`, `.jsx`, `.vue`, `.svelte`, `.astro`
*/
export class CodeFileLoader implements Loader {
private config: CodeFileLoaderConfig;
diff --git a/yarn.lock b/yarn.lock
index dbfdd1985fe..079996079fc 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -373,6 +373,11 @@
dependencies:
node-fetch "^2.6.1"
+"@astrojs/compiler@^2.3.4":
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/@astrojs/compiler/-/compiler-2.3.4.tgz#4dbc169de1f071508bf30db390890f16cb266416"
+ integrity sha512-33/YtWoBCE0cBUNy1kh78FCDXBoBANX87ShgATlAHECYbG2+buNTAgq4Xgz4t5NgnEHPN21GIBC2Mvvwisoutw==
+
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5":
version "7.23.5"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
@@ -1663,121 +1668,6 @@
dependencies:
tslib "^2.5.0"
-"@esbuild/aix-ppc64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz#2acd20be6d4f0458bc8c784103495ff24f13b1d3"
- integrity sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==
-
-"@esbuild/android-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz#b45d000017385c9051a4f03e17078abb935be220"
- integrity sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==
-
-"@esbuild/android-arm@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.11.tgz#f46f55414e1c3614ac682b29977792131238164c"
- integrity sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==
-
-"@esbuild/android-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.11.tgz#bfc01e91740b82011ef503c48f548950824922b2"
- integrity sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==
-
-"@esbuild/darwin-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz#533fb7f5a08c37121d82c66198263dcc1bed29bf"
- integrity sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==
-
-"@esbuild/darwin-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz#62f3819eff7e4ddc656b7c6815a31cf9a1e7d98e"
- integrity sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==
-
-"@esbuild/freebsd-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz#d478b4195aa3ca44160272dab85ef8baf4175b4a"
- integrity sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==
-
-"@esbuild/freebsd-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz#7bdcc1917409178257ca6a1a27fe06e797ec18a2"
- integrity sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==
-
-"@esbuild/linux-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz#58ad4ff11685fcc735d7ff4ca759ab18fcfe4545"
- integrity sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==
-
-"@esbuild/linux-arm@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz#ce82246d873b5534d34de1e5c1b33026f35e60e3"
- integrity sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==
-
-"@esbuild/linux-ia32@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz#cbae1f313209affc74b80f4390c4c35c6ab83fa4"
- integrity sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==
-
-"@esbuild/linux-loong64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz#5f32aead1c3ec8f4cccdb7ed08b166224d4e9121"
- integrity sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==
-
-"@esbuild/linux-mips64el@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz#38eecf1cbb8c36a616261de858b3c10d03419af9"
- integrity sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==
-
-"@esbuild/linux-ppc64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz#9c5725a94e6ec15b93195e5a6afb821628afd912"
- integrity sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==
-
-"@esbuild/linux-riscv64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz#2dc4486d474a2a62bbe5870522a9a600e2acb916"
- integrity sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==
-
-"@esbuild/linux-s390x@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz#4ad8567df48f7dd4c71ec5b1753b6f37561a65a8"
- integrity sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==
-
-"@esbuild/linux-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz#b7390c4d5184f203ebe7ddaedf073df82a658766"
- integrity sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==
-
-"@esbuild/netbsd-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz#d633c09492a1721377f3bccedb2d821b911e813d"
- integrity sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==
-
-"@esbuild/openbsd-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz#17388c76e2f01125bf831a68c03a7ffccb65d1a2"
- integrity sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==
-
-"@esbuild/sunos-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz#e320636f00bb9f4fdf3a80e548cb743370d41767"
- integrity sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==
-
-"@esbuild/win32-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz#c778b45a496e90b6fc373e2a2bb072f1441fe0ee"
- integrity sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==
-
-"@esbuild/win32-ia32@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz#481a65fee2e5cce74ec44823e6b09ecedcc5194c"
- integrity sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==
-
-"@esbuild/win32-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz#a5d300008960bb39677c46bf16f53ec70d8dee04"
- integrity sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==
-
"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
@@ -2425,6 +2315,11 @@
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.0.2.tgz#921e1f2b2484b762d77225a8a25074482d93fccf"
integrity sha512-DCF9oC89ao8/EJUqrp/beBlDR8Bp2R43jqtzayqCoomIvkwTuPfLcHdVhIGRR69GFlkykFjcDW+V92t0AS7Tww==
+"@pkgr/core@^0.1.0":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31"
+ integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==
+
"@polka/url@^1.0.0-next.17":
version "1.0.0-next.17"
resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.17.tgz#25fdbdfd282c2f86ddf3fcefbd98be99cd2627e2"
@@ -3941,6 +3836,13 @@ astring@^1.8.0:
resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.3.tgz#1a0ae738c7cc558f8e5ddc8e3120636f5cebcb85"
integrity sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==
+astrojs-compiler-sync@^0.3.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/astrojs-compiler-sync/-/astrojs-compiler-sync-0.3.3.tgz#b8c699cddad24c563ea155ca9df4c8a0d0c1d052"
+ integrity sha512-LbhchWgsvjvRBb5n5ez8/Q/f9ZKViuox27VxMDOdTUm8MRv9U7phzOiLue5KluqTmC0z1LId4gY2SekvoDrkuw==
+ dependencies:
+ synckit "^0.8.0"
+
async-retry@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280"
@@ -5695,35 +5597,6 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
-esbuild@^0.19.0:
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.11.tgz#4a02dca031e768b5556606e1b468fe72e3325d96"
- integrity sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==
- optionalDependencies:
- "@esbuild/aix-ppc64" "0.19.11"
- "@esbuild/android-arm" "0.19.11"
- "@esbuild/android-arm64" "0.19.11"
- "@esbuild/android-x64" "0.19.11"
- "@esbuild/darwin-arm64" "0.19.11"
- "@esbuild/darwin-x64" "0.19.11"
- "@esbuild/freebsd-arm64" "0.19.11"
- "@esbuild/freebsd-x64" "0.19.11"
- "@esbuild/linux-arm" "0.19.11"
- "@esbuild/linux-arm64" "0.19.11"
- "@esbuild/linux-ia32" "0.19.11"
- "@esbuild/linux-loong64" "0.19.11"
- "@esbuild/linux-mips64el" "0.19.11"
- "@esbuild/linux-ppc64" "0.19.11"
- "@esbuild/linux-riscv64" "0.19.11"
- "@esbuild/linux-s390x" "0.19.11"
- "@esbuild/linux-x64" "0.19.11"
- "@esbuild/netbsd-x64" "0.19.11"
- "@esbuild/openbsd-x64" "0.19.11"
- "@esbuild/sunos-x64" "0.19.11"
- "@esbuild/win32-arm64" "0.19.11"
- "@esbuild/win32-ia32" "0.19.11"
- "@esbuild/win32-x64" "0.19.11"
-
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -6850,11 +6723,18 @@ graphql-yoga@5.1.1, graphql-yoga@^5.0.0:
lru-cache "^10.0.0"
tslib "^2.5.2"
-"graphql@14 - 16", graphql@16.8.1, graphql@^14.5.3, graphql@^16.6.0:
+"graphql@14 - 16", graphql@16.8.1, graphql@^16.6.0:
version "16.8.1"
resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07"
integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==
+graphql@^14.5.3:
+ version "14.7.0"
+ resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72"
+ integrity sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==
+ dependencies:
+ iterall "^1.2.2"
+
gray-matter@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
@@ -7729,7 +7609,7 @@ istanbul-reports@^3.1.3:
html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0"
-iterall@^1.2.1, iterall@^1.3.0:
+iterall@^1.2.1, iterall@^1.2.2, iterall@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea"
integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==
@@ -12100,6 +11980,14 @@ symbol-observable@^4.0.0:
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205"
integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==
+synckit@^0.8.0:
+ version "0.8.8"
+ resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7"
+ integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==
+ dependencies:
+ "@pkgr/core" "^0.1.0"
+ tslib "^2.6.2"
+
tailwindcss@^3.3.6:
version "3.3.6"
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.6.tgz#4dd7986bf4902ad385d90d45fd4b2fa5fab26d5f"
@@ -12366,7 +12254,7 @@ tsconfig-paths@^3.15.0:
minimist "^1.2.6"
strip-bom "^3.0.0"
-tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.2, tslib@^2.6.0:
+tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.2, tslib@^2.6.0, tslib@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==