From 44ea0c6d941a26a3c38fc6dc045a8a25215d154a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Seery?= Date: Mon, 10 Oct 2022 15:50:08 -0300 Subject: [PATCH 01/14] chore: Upgrade Astro compiler to 0.27.1 (#5044) --- .changeset/sixty-ladybugs-return.md | 5 +++++ packages/astro/package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 .changeset/sixty-ladybugs-return.md diff --git a/.changeset/sixty-ladybugs-return.md b/.changeset/sixty-ladybugs-return.md new file mode 100644 index 000000000000..0f8282dc59da --- /dev/null +++ b/.changeset/sixty-ladybugs-return.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Upgrade Astro compiler to 0.27.1 diff --git a/packages/astro/package.json b/packages/astro/package.json index 73f30610ff1a..f135854b196f 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -95,7 +95,7 @@ "test:e2e:match": "playwright test -g" }, "dependencies": { - "@astrojs/compiler": "^0.26.0", + "@astrojs/compiler": "^0.27.1", "@astrojs/language-server": "^0.26.2", "@astrojs/markdown-remark": "^1.1.3", "@astrojs/telemetry": "^1.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fc38bc22122c..00cc78cb51dc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -357,7 +357,7 @@ importers: packages/astro: specifiers: - '@astrojs/compiler': ^0.26.0 + '@astrojs/compiler': ^0.27.1 '@astrojs/language-server': ^0.26.2 '@astrojs/markdown-remark': ^1.1.3 '@astrojs/telemetry': ^1.0.1 @@ -451,7 +451,7 @@ importers: yargs-parser: ^21.0.1 zod: ^3.17.3 dependencies: - '@astrojs/compiler': 0.26.0 + '@astrojs/compiler': 0.27.1 '@astrojs/language-server': 0.26.2 '@astrojs/markdown-remark': link:../markdown/remark '@astrojs/telemetry': link:../telemetry @@ -3733,8 +3733,8 @@ packages: resolution: {integrity: sha512-vBMPy9ok4iLapSyCCT1qsZ9dK7LkVFl9mObtLEmWiec9myGHS9h2kQY2xzPeFNJiWXUf9O6tSyQpQTy5As/p3g==} dev: false - /@astrojs/compiler/0.26.0: - resolution: {integrity: sha512-we6XcJp4BnG2+1HhKYwIqfM6xt/T0nrhBkNSZNcrY/g449t2TyA6H/j0dRadiV8CGIE27T6q3sEq7Nm2Qfi6oQ==} + /@astrojs/compiler/0.27.1: + resolution: {integrity: sha512-jdbnULQkafKuSBa9yL7amQ5Ee7WIiQSAkCCGSgWhpt7t1HvtlbviNYuNIw5ob9Ax+rA08jNQ896rHqaPB31XjA==} dev: false /@astrojs/language-server/0.26.2: From 0f2a88ba5c19318854be12cc81609f2dbc5012f7 Mon Sep 17 00:00:00 2001 From: Matthew Phillips Date: Mon, 10 Oct 2022 15:19:18 -0400 Subject: [PATCH 02/14] Allow `class` to be passed into Svelte islands (#5045) * Allow class to be passed into svelte component * Adding a changeset --- .changeset/early-pillows-deliver.md | 5 +++++ packages/integrations/svelte/client.js | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 .changeset/early-pillows-deliver.md diff --git a/.changeset/early-pillows-deliver.md b/.changeset/early-pillows-deliver.md new file mode 100644 index 000000000000..745ff35f07b0 --- /dev/null +++ b/.changeset/early-pillows-deliver.md @@ -0,0 +1,5 @@ +--- +'@astrojs/svelte': patch +--- + +Allow class to be passed into Svelte islands diff --git a/packages/integrations/svelte/client.js b/packages/integrations/svelte/client.js index c8c252eaa96f..406500374959 100644 --- a/packages/integrations/svelte/client.js +++ b/packages/integrations/svelte/client.js @@ -3,7 +3,6 @@ const noop = () => {}; export default (target) => { return (Component, props, slotted, { client }) => { if (!target.hasAttribute('ssr')) return; - delete props['class']; const slots = {}; for (const [key, value] of Object.entries(slotted)) { slots[key] = createSlotDefinition(key, value); From 8d2d0c3c03d3192973c24dc57a88b03e2ad98fd8 Mon Sep 17 00:00:00 2001 From: Mohammad Hamzehei <74182139+morezam@users.noreply.github.com> Date: Tue, 11 Oct 2022 11:17:16 +0330 Subject: [PATCH 03/14] fix a typo in Code component's wrap prop (#5050) --- packages/astro/components/Code.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/astro/components/Code.astro b/packages/astro/components/Code.astro index 8a4d50c7f3d0..6728e13f1267 100644 --- a/packages/astro/components/Code.astro +++ b/packages/astro/components/Code.astro @@ -24,7 +24,7 @@ export interface Props { /** * Enable word wrapping. * - true: enabled. - * - false: enabled. + * - false: disabled. * - null: All overflow styling removed. Code will overflow the element by default. * * @default false From baf88ee9e5e692a94981d7a696fbdcb4cd8ab2a6 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Wed, 12 Oct 2022 20:25:54 +0800 Subject: [PATCH 04/14] Skip JSX tagging for export statements with source (#5057) --- .changeset/serious-icons-dream.md | 5 +++++ packages/astro/src/vite-plugin-jsx/tag.ts | 2 +- .../react-jsx-export/src/components/ListExportTest.jsx | 2 ++ .../src/components/ListExportTestComponent.jsx | 6 ++++++ .../test/fixtures/react-jsx-export/src/pages/index.astro | 3 ++- packages/astro/test/react-jsx-export.test.js | 1 + 6 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 .changeset/serious-icons-dream.md create mode 100644 packages/astro/test/fixtures/react-jsx-export/src/components/ListExportTestComponent.jsx diff --git a/.changeset/serious-icons-dream.md b/.changeset/serious-icons-dream.md new file mode 100644 index 000000000000..968f8a4b451e --- /dev/null +++ b/.changeset/serious-icons-dream.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Skip JSX tagging for export statements with source diff --git a/packages/astro/src/vite-plugin-jsx/tag.ts b/packages/astro/src/vite-plugin-jsx/tag.ts index 23e9e41a5a90..b6ba7c302263 100644 --- a/packages/astro/src/vite-plugin-jsx/tag.ts +++ b/packages/astro/src/vite-plugin-jsx/tag.ts @@ -104,7 +104,7 @@ export default function tagExportsWithRenderer({ addTag(property.key.name); } }); - } else if (t.isExportNamedDeclaration(node)) { + } else if (t.isExportNamedDeclaration(node) && !node.source) { node.specifiers.forEach((specifier) => { if (t.isExportSpecifier(specifier) && t.isIdentifier(specifier.exported)) { addTag(specifier.local.name); diff --git a/packages/astro/test/fixtures/react-jsx-export/src/components/ListExportTest.jsx b/packages/astro/test/fixtures/react-jsx-export/src/components/ListExportTest.jsx index e695821d1fe1..812e2648ee0b 100644 --- a/packages/astro/test/fixtures/react-jsx-export/src/components/ListExportTest.jsx +++ b/packages/astro/test/fixtures/react-jsx-export/src/components/ListExportTest.jsx @@ -1,5 +1,7 @@ import { useState } from "react" +export { ListExportTestComponent } from './ListExportTestComponent' + const ListExport = () => { const [example] = useState('Example') return

{example}

diff --git a/packages/astro/test/fixtures/react-jsx-export/src/components/ListExportTestComponent.jsx b/packages/astro/test/fixtures/react-jsx-export/src/components/ListExportTestComponent.jsx new file mode 100644 index 000000000000..c2b32eb203d1 --- /dev/null +++ b/packages/astro/test/fixtures/react-jsx-export/src/components/ListExportTestComponent.jsx @@ -0,0 +1,6 @@ +import { useState } from "react" + +export const ListExportTestComponent = () => { + const [example] = useState('Example') + return

{example}

+} diff --git a/packages/astro/test/fixtures/react-jsx-export/src/pages/index.astro b/packages/astro/test/fixtures/react-jsx-export/src/pages/index.astro index 92a3833a415b..8414987e3395 100644 --- a/packages/astro/test/fixtures/react-jsx-export/src/pages/index.astro +++ b/packages/astro/test/fixtures/react-jsx-export/src/pages/index.astro @@ -1,5 +1,5 @@ --- -import ListAsDefaultExport, {ListExport, RenamedListExport} from '../components/ListExportTest' +import ListAsDefaultExport, {ListExport, RenamedListExport, ListExportTestComponent} from '../components/ListExportTest' import {ConstDeclarationExport, LetDeclarationExport, FunctionDeclarationExport} from '../components/DeclarationExportTest' import AnonymousArrowDefaultExport from '../components/defaultExport/AnonymousArrowDefaultExport' import AnonymousFunctionDefaultExport from '../components/defaultExport/AnonymousFunctionDefaultExport' @@ -12,6 +12,7 @@ import NamedFunctionDefaultExport from '../components/defaultExport/NamedFunctio + diff --git a/packages/astro/test/react-jsx-export.test.js b/packages/astro/test/react-jsx-export.test.js index 4a5b951b26a8..b43f53c5fe06 100644 --- a/packages/astro/test/react-jsx-export.test.js +++ b/packages/astro/test/react-jsx-export.test.js @@ -17,6 +17,7 @@ describe('react-jsx-export', () => { 'default_list_export', 'renamed_list_export', 'list_as_default_export', + 'list_export_test_component', ]; const reactInvalidHookWarning = From 1e27992437aa0371b8550acb3e3f79e62721a506 Mon Sep 17 00:00:00 2001 From: Matthew Phillips Date: Wed, 12 Oct 2022 08:31:55 -0400 Subject: [PATCH 05/14] Update the Astro.cookies.set types to receive boolean and numbers (#5047) --- .changeset/witty-sheep-wave.md | 7 +++++++ packages/astro/src/core/cookies/cookies.ts | 2 +- packages/astro/test/units/cookies/set.test.js | 10 ++++++++++ packages/integrations/deno/test/basics.test.ts | 17 +++++++++++++++++ .../test/fixtures/basics/src/pages/admin.astro | 8 ++++++++ .../test/fixtures/basics/src/pages/login.astro | 10 ++++++++++ 6 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 .changeset/witty-sheep-wave.md create mode 100644 packages/integrations/deno/test/fixtures/basics/src/pages/admin.astro create mode 100644 packages/integrations/deno/test/fixtures/basics/src/pages/login.astro diff --git a/.changeset/witty-sheep-wave.md b/.changeset/witty-sheep-wave.md new file mode 100644 index 000000000000..cac7841e4659 --- /dev/null +++ b/.changeset/witty-sheep-wave.md @@ -0,0 +1,7 @@ +--- +'astro': patch +--- + +Update Astro.cookies.set types to allow booleans and numbers + +Note that booleans and numbers were already allowed, they just were not allowed by the type definitions. diff --git a/packages/astro/src/core/cookies/cookies.ts b/packages/astro/src/core/cookies/cookies.ts index 3345024d75be..6a4adf788d7b 100644 --- a/packages/astro/src/core/cookies/cookies.ts +++ b/packages/astro/src/core/cookies/cookies.ts @@ -25,7 +25,7 @@ interface AstroCookieInterface { interface AstroCookiesInterface { get(key: string): AstroCookieInterface; has(key: string): boolean; - set(key: string, value: string | Record, options?: AstroCookieSetOptions): void; + set(key: string, value: string | number | boolean | Record, options?: AstroCookieSetOptions): void; delete(key: string, options?: AstroCookieDeleteOptions): void; } diff --git a/packages/astro/test/units/cookies/set.test.js b/packages/astro/test/units/cookies/set.test.js index a70f2f457ac4..0913bcc7da1c 100644 --- a/packages/astro/test/units/cookies/set.test.js +++ b/packages/astro/test/units/cookies/set.test.js @@ -45,6 +45,16 @@ describe('astro/src/core/cookies', () => { expect(headers[0]).to.equal('one=2'); }); + it('Can pass a boolean', () => { + let req = new Request('http://example.com/'); + let cookies = new AstroCookies(req); + cookies.set('admin', true); + expect(cookies.get('admin').boolean()).to.equal(true); + let headers = Array.from(cookies.headers()); + expect(headers).to.have.a.lengthOf(1); + expect(headers[0]).to.equal('admin=true'); + }); + it('Can get the value after setting', () => { let req = new Request('http://example.com/'); let cookies = new AstroCookies(req); diff --git a/packages/integrations/deno/test/basics.test.ts b/packages/integrations/deno/test/basics.test.ts index 9c55397c2bc1..d1f8907cb3c7 100644 --- a/packages/integrations/deno/test/basics.test.ts +++ b/packages/integrations/deno/test/basics.test.ts @@ -126,3 +126,20 @@ Deno.test({ sanitizeResources: false, sanitizeOps: false, }); + +Deno.test({ + name: 'Astro.cookies', + permissions: defaultTestPermissions, + async fn() { + await startApp(async (baseUrl: URL) => { + const url = new URL('/admin', baseUrl); + const resp = await fetch(url, { redirect: 'manual' }); + assertEquals(resp.status, 302); + + const headers = resp.headers; + assertEquals(headers.get('set-cookie'), 'logged-in=false; Max-Age=77760000; Path=/'); + }); + }, + sanitizeResources: false, + sanitizeOps: false, +}); diff --git a/packages/integrations/deno/test/fixtures/basics/src/pages/admin.astro b/packages/integrations/deno/test/fixtures/basics/src/pages/admin.astro new file mode 100644 index 000000000000..8aa627394bcc --- /dev/null +++ b/packages/integrations/deno/test/fixtures/basics/src/pages/admin.astro @@ -0,0 +1,8 @@ +--- +Astro.cookies.set('logged-in', false, { + maxAge: 60 * 60 * 24 * 900, + path: '/' +}); + +return Astro.redirect('/login'); +--- diff --git a/packages/integrations/deno/test/fixtures/basics/src/pages/login.astro b/packages/integrations/deno/test/fixtures/basics/src/pages/login.astro new file mode 100644 index 000000000000..e06d49b853b1 --- /dev/null +++ b/packages/integrations/deno/test/fixtures/basics/src/pages/login.astro @@ -0,0 +1,10 @@ +--- +--- + + + Testing + + +

Testing

+ + From 640ce72d336101ff3bc02a596373ddbf1713e5db Mon Sep 17 00:00:00 2001 From: matthewp Date: Wed, 12 Oct 2022 12:33:46 +0000 Subject: [PATCH 06/14] [ci] format --- packages/astro/src/core/cookies/cookies.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/astro/src/core/cookies/cookies.ts b/packages/astro/src/core/cookies/cookies.ts index 6a4adf788d7b..f999db8a16b6 100644 --- a/packages/astro/src/core/cookies/cookies.ts +++ b/packages/astro/src/core/cookies/cookies.ts @@ -25,7 +25,11 @@ interface AstroCookieInterface { interface AstroCookiesInterface { get(key: string): AstroCookieInterface; has(key: string): boolean; - set(key: string, value: string | number | boolean | Record, options?: AstroCookieSetOptions): void; + set( + key: string, + value: string | number | boolean | Record, + options?: AstroCookieSetOptions + ): void; delete(key: string, options?: AstroCookieDeleteOptions): void; } From f604ef6c694e88bcf2f22ce97a33bf131074326f Mon Sep 17 00:00:00 2001 From: Erika <3019731+Princesseuh@users.noreply.github.com> Date: Wed, 12 Oct 2022 09:48:29 -0300 Subject: [PATCH 07/14] Run astro check on all examples in CI (#5022) * Run astro check on all examples in CI * Output stderr * Build Astro before running checks * Making things faster + colors * Fix errors inside examples * Add congrats message * Revert unentional change to tsconfigs * Remove more unneeded changes --- .github/workflows/check.yml | 47 +++++++++++ examples/framework-lit/src/pages/index.astro | 7 +- examples/non-html-pages/src/pages/index.astro | 8 +- .../src/components/PortfolioPreview.astro | 7 ++ examples/portfolio/src/layouts/project.astro | 7 +- examples/portfolio/src/pages/index.astro | 5 +- examples/portfolio/src/pages/projects.astro | 3 +- examples/portfolio/src/types.ts | 8 ++ examples/ssr/src/api.ts | 2 +- .../ssr/src/components/ProductListing.astro | 6 ++ .../src/components/TextDecorationSkip.astro | 4 + examples/ssr/src/pages/index.astro | 5 +- examples/with-tailwindcss/package.json | 3 +- .../src/components/Button.astro | 6 +- package.json | 1 + pnpm-lock.yaml | 13 ++- scripts/package.json | 3 + scripts/smoke/check.js | 84 +++++++++++++++++++ 18 files changed, 200 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/check.yml create mode 100644 examples/portfolio/src/types.ts create mode 100644 scripts/smoke/check.js diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 000000000000..b8826f5383d2 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,47 @@ +name: Examples astro check + +on: + push: + branches: + - main + pull_request: + paths: + - 'examples/**' + - '.github/workflows/check.yml' + - 'scripts/smoke/check.js' + - 'packages/astro/src/@types/astro.ts' + +env: + ASTRO_TELEMETRY_DISABLED: true + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ secrets.TURBO_TEAM }} + FORCE_COLOR: true + +jobs: + check: + name: astro check + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v3 + + - name: Setup PNPM + uses: pnpm/action-setup@v2.2.1 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16 + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install + + - name: Build + run: pnpm run build + + - name: Status + run: git status + + - name: astro check + run: pnpm run test:check-examples diff --git a/examples/framework-lit/src/pages/index.astro b/examples/framework-lit/src/pages/index.astro index 4f0dbc30969c..d193842a0695 100644 --- a/examples/framework-lit/src/pages/index.astro +++ b/examples/framework-lit/src/pages/index.astro @@ -19,6 +19,11 @@ import { MyCounter } from '../components/my-counter.js';

Test app

- + + {/** + * Our VS Code extension does not currently properly typecheck attributes on Lit components + * As such, the following code will result in a TypeScript error inside the editor, nonetheless, it works in Astro! + * @ts-expect-error */} + diff --git a/examples/non-html-pages/src/pages/index.astro b/examples/non-html-pages/src/pages/index.astro index 18fe9b9dad29..921400acd578 100644 --- a/examples/non-html-pages/src/pages/index.astro +++ b/examples/non-html-pages/src/pages/index.astro @@ -12,9 +12,11 @@ // can fetch them directly in the browser. const response = await fetch(`/about.json`); const data = await response.json(); - document.getElementById( - 'result' - ).innerHTML = `Load complete!
Built with: ${data.name}!`; + const resultHeader = document.getElementById('result'); + + if (resultHeader) { + resultHeader.innerHTML = `Load complete!
Built with: ${data.name}!`; + } diff --git a/examples/portfolio/src/components/PortfolioPreview.astro b/examples/portfolio/src/components/PortfolioPreview.astro index 3d0a91522911..bf59f100f675 100644 --- a/examples/portfolio/src/components/PortfolioPreview.astro +++ b/examples/portfolio/src/components/PortfolioPreview.astro @@ -1,4 +1,11 @@ --- +import type { MarkdownInstance } from 'astro'; +import type { Project } from '../types'; + +interface Props { + project: MarkdownInstance +} + const { frontmatter, url } = Astro.props.project; --- diff --git a/examples/portfolio/src/layouts/project.astro b/examples/portfolio/src/layouts/project.astro index f02f89c74675..c4025dc39624 100644 --- a/examples/portfolio/src/layouts/project.astro +++ b/examples/portfolio/src/layouts/project.astro @@ -2,11 +2,16 @@ import MainHead from '../components/MainHead.astro'; import Footer from '../components/Footer.astro'; import Nav from '../components/Nav.astro'; +import type { Project } from '../types'; + +interface Props { + content: Project; +} const { content } = Astro.props; --- - +
- +

Product Listing

diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json index f85137fd261d..4ffa96751753 100644 --- a/examples/with-tailwindcss/package.json +++ b/examples/with-tailwindcss/package.json @@ -11,8 +11,9 @@ "astro": "astro" }, "dependencies": { - "astro": "^1.4.7", "@astrojs/tailwind": "^2.0.2", + "@types/canvas-confetti": "^1.4.3", + "astro": "^1.4.7", "autoprefixer": "^10.4.7", "canvas-confetti": "^1.5.1", "postcss": "^8.4.14", diff --git a/examples/with-tailwindcss/src/components/Button.astro b/examples/with-tailwindcss/src/components/Button.astro index ef7af656b375..79060699bbdf 100644 --- a/examples/with-tailwindcss/src/components/Button.astro +++ b/examples/with-tailwindcss/src/components/Button.astro @@ -11,5 +11,9 @@ diff --git a/package.json b/package.json index 675d305ce47d..e1d71d61ce4a 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "test": "turbo run test --output-logs=new-only --concurrency=1 --filter=astro --filter=create-astro --filter=\"@astrojs/*\"", "test:match": "cd packages/astro && pnpm run test:match", "test:smoke": "turbo run build --filter=\"@example/*\" --filter=\"astro.build\" --filter=\"docs\" --output-logs=new-only --concurrency=1", + "test:check-examples": "node ./scripts/smoke/check.js", "test:vite-ci": "turbo run test --filter=astro --output-logs=new-only --no-deps --concurrency=1", "test:e2e": "cd packages/astro && pnpm playwright install && pnpm run test:e2e", "test:e2e:match": "cd packages/astro && pnpm playwright install && pnpm run test:e2e:match", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 00cc78cb51dc..d0b656a7ad60 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -324,6 +324,7 @@ importers: examples/with-tailwindcss: specifiers: '@astrojs/tailwind': ^2.0.2 + '@types/canvas-confetti': ^1.4.3 astro: ^1.4.7 autoprefixer: ^10.4.7 canvas-confetti: ^1.5.1 @@ -331,6 +332,7 @@ importers: tailwindcss: ^3.0.24 dependencies: '@astrojs/tailwind': link:../../packages/integrations/tailwind + '@types/canvas-confetti': 1.4.3 astro: link:../../packages/astro autoprefixer: 10.4.12_postcss@8.4.17 canvas-confetti: 1.5.1 @@ -3435,6 +3437,7 @@ importers: kleur: ^4.1.4 svelte: ^3.48.0 tar: ^6.1.11 + tsconfig-resolver: ^3.0.1 dependencies: '@astrojs/webapi': link:../packages/webapi adm-zip: 0.5.9 @@ -3444,6 +3447,8 @@ importers: kleur: 4.1.5 svelte: 3.50.1 tar: 6.1.11 + devDependencies: + tsconfig-resolver: 3.0.1 packages: @@ -9397,6 +9402,10 @@ packages: '@types/node': 18.8.2 dev: true + /@types/canvas-confetti/1.4.3: + resolution: {integrity: sha512-UwFPTsW1ZwVyo/ETp4hPSikSD7yl2V42E3VWBF5P/0+DHO4iajyceWv7hfNdZ2AX5tkZnuViiBWOqyCPohU2FQ==} + dev: false + /@types/chai-as-promised/7.1.5: resolution: {integrity: sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==} dependencies: @@ -9521,7 +9530,6 @@ packages: /@types/json5/0.0.30: resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} - dev: false /@types/mdast/3.0.10: resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} @@ -13620,7 +13628,6 @@ packages: resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} engines: {node: '>=6'} hasBin: true - dev: false /jsonc-parser/2.3.1: resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} @@ -16803,7 +16810,6 @@ packages: /strip-bom/4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} - dev: false /strip-comments/2.0.1: resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} @@ -17157,7 +17163,6 @@ packages: resolve: 1.22.1 strip-bom: 4.0.0 type-fest: 0.13.1 - dev: false /tsconfig/7.0.0: resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==} diff --git a/scripts/package.json b/scripts/package.json index 5759362d1515..39f58947a911 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -16,5 +16,8 @@ "kleur": "^4.1.4", "svelte": "^3.48.0", "tar": "^6.1.11" + }, + "devDependencies": { + "tsconfig-resolver": "^3.0.1" } } diff --git a/scripts/smoke/check.js b/scripts/smoke/check.js new file mode 100644 index 000000000000..447a76edc997 --- /dev/null +++ b/scripts/smoke/check.js @@ -0,0 +1,84 @@ +// @ts-check + +import { spawn } from 'child_process'; +import { readdirSync, readFileSync, writeFileSync } from 'fs'; +import * as path from 'path'; +import { tsconfigResolverSync } from 'tsconfig-resolver'; + +function checkExamples() { + let examples = readdirSync('./examples', { withFileTypes: true }); + examples = examples.filter((dirent) => dirent.isDirectory()); + + console.log(`Running astro check on ${examples.length} examples...`); + + Promise.all( + examples.map( + (example) => + new Promise((resolve) => { + const originalConfig = prepareExample(example.name); + let data = ''; + const child = spawn('node', ['../../packages/astro/astro.js', 'check'], { + cwd: path.join('./examples', example.name), + env: { ...process.env, FORCE_COLOR: 'true' }, + }); + + child.stdout.on('data', function (buffer) { + data += buffer.toString(); + }); + + child.on('exit', (code) => { + if (code !== 0) { + console.error(data); + } + if (originalConfig) { + resetExample(example.name, originalConfig); + } + resolve(code); + }); + }) + ) + ).then((codes) => { + if (codes.some((code) => code !== 0)) { + process.exit(1); + } + + console.log("No errors found!"); + }); +} + +/** + * @param {string} examplePath + */ +function prepareExample(examplePath) { + const tsconfigPath = path.join('./examples/', examplePath, 'tsconfig.json'); + const tsconfig = tsconfigResolverSync({ filePath: tsconfigPath, cache: false }); + let originalConfig = undefined; + + if (tsconfig.exists) { + tsconfig.config.extends = 'astro/tsconfigs/strictest'; + originalConfig = readFileSync(tsconfigPath).toString(); + + if (!tsconfig.config.compilerOptions) { + tsconfig.config.compilerOptions = {}; + } + + tsconfig.config.compilerOptions = Object.assign(tsconfig.config.compilerOptions, { + types: tsconfig.config.compilerOptions.types ?? [], // Speeds up tests + }); + } + + writeFileSync(tsconfigPath, JSON.stringify(tsconfig.config)); + + return originalConfig; +} + +/** + * @param {string} examplePath + * @param {string} originalConfig + */ +function resetExample(examplePath, originalConfig) { + const tsconfigPath = path.join('./examples/', examplePath, 'tsconfig.json'); + writeFileSync(tsconfigPath, originalConfig); +} + +checkExamples(); From b7bff4847ba9e32eb59ec87b05e2b23fe82374a4 Mon Sep 17 00:00:00 2001 From: Princesseuh Date: Wed, 12 Oct 2022 12:50:30 +0000 Subject: [PATCH 08/14] [ci] format --- examples/portfolio/src/components/PortfolioPreview.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/portfolio/src/components/PortfolioPreview.astro b/examples/portfolio/src/components/PortfolioPreview.astro index bf59f100f675..4a4b55e7dc62 100644 --- a/examples/portfolio/src/components/PortfolioPreview.astro +++ b/examples/portfolio/src/components/PortfolioPreview.astro @@ -3,7 +3,7 @@ import type { MarkdownInstance } from 'astro'; import type { Project } from '../types'; interface Props { - project: MarkdownInstance + project: MarkdownInstance; } const { frontmatter, url } = Astro.props.project; From 5cab04521a6b9de142dadd86990c17e296a82c10 Mon Sep 17 00:00:00 2001 From: "Fred K. Bot" <108291165+fredkbot@users.noreply.github.com> Date: Wed, 12 Oct 2022 06:09:59 -0700 Subject: [PATCH 09/14] [ci] update lockfile (#5054) Co-authored-by: FredKSchott --- pnpm-lock.yaml | 952 +++++++++++++++++++++++++------------------------ 1 file changed, 478 insertions(+), 474 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d0b656a7ad60..6bc130ed5dae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,15 +38,15 @@ importers: '@changesets/changelog-github': 0.4.4 '@changesets/cli': 2.23.0_kcozqtpxuwjzskw6zg5royevn4 '@octokit/action': 3.18.1 - '@types/node': 18.8.2 - '@typescript-eslint/eslint-plugin': 5.39.0_7ofitwjcu3mblzci5hd3mkm4pe - '@typescript-eslint/parser': 5.39.0_oma37ntcsyoxqn5sr4l7ekf4na + '@types/node': 18.8.4 + '@typescript-eslint/eslint-plugin': 5.40.0_ik43yucnjuzsopqc3tao6tk3x4 + '@typescript-eslint/parser': 5.40.0_l76llshcx5hpzqzl7lfng4kpb4 del: 7.0.0 esbuild: 0.14.54 - eslint: 8.24.0 - eslint-config-prettier: 8.5.0_eslint@8.24.0 + eslint: 8.25.0 + eslint-config-prettier: 8.5.0_eslint@8.25.0 eslint-plugin-no-only-tests: 2.6.0 - eslint-plugin-prettier: 4.2.1_cfn5x6ujhhgzv3423d6k7r2zzm + eslint-plugin-prettier: 4.2.1_hvbqyfstm4urdpm6ffpwfka4e4 execa: 6.1.0 organize-imports-cli: 0.10.0 prettier: 2.7.1 @@ -109,7 +109,7 @@ importers: '@astrojs/react': link:../../packages/integrations/react '@docsearch/css': 3.2.1 '@docsearch/react': 3.2.1_gp2f66hjvprqsmo7rewhrpia4e - '@types/node': 18.8.2 + '@types/node': 18.8.4 '@types/react': 17.0.50 '@types/react-dom': 18.0.6 astro: link:../../packages/astro @@ -126,7 +126,7 @@ importers: dependencies: '@astrojs/alpinejs': link:../../packages/integrations/alpinejs '@types/alpinejs': 3.7.0 - alpinejs: 3.10.3 + alpinejs: 3.10.4 astro: link:../../packages/astro examples/framework-lit: @@ -166,7 +166,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 examples/framework-preact: @@ -215,7 +215,7 @@ importers: dependencies: '@astrojs/svelte': link:../../packages/integrations/svelte astro: link:../../packages/astro - svelte: 3.50.1 + svelte: 3.51.0 examples/framework-vue: specifiers: @@ -267,9 +267,9 @@ importers: astro: link:../../packages/astro concurrently: 7.4.0 lightcookie: 1.0.25 - svelte: 3.50.1 + svelte: 3.51.0 unocss: 0.15.6 - vite-imagetools: 4.0.9 + vite-imagetools: 4.0.11 examples/with-markdown-plugins: specifiers: @@ -459,18 +459,18 @@ importers: '@astrojs/telemetry': link:../telemetry '@astrojs/webapi': link:../webapi '@babel/core': 7.19.3 - '@babel/generator': 7.19.3 - '@babel/parser': 7.19.3 + '@babel/generator': 7.19.5 + '@babel/parser': 7.19.4 '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.19.3 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/traverse': 7.19.4 + '@babel/types': 7.19.4 '@proload/core': 0.3.3 '@proload/plugin-tsm': 0.2.1_@proload+core@0.3.3 '@types/babel__core': 7.1.19 '@types/html-escaper': 3.0.0 '@types/yargs-parser': 21.0.0 boxen: 6.2.1 - ci-info: 3.4.0 + ci-info: 3.5.0 common-ancestor-path: 1.0.1 cookie: 0.5.0 debug: 4.3.4 @@ -509,11 +509,11 @@ importers: typescript: 4.8.4 unist-util-visit: 4.1.1 vfile: 5.3.5 - vite: 3.1.5_sass@1.55.0 + vite: 3.1.7_sass@1.55.0 yargs-parser: 21.1.1 zod: 3.19.1 devDependencies: - '@playwright/test': 1.26.1 + '@playwright/test': 1.27.1 '@types/babel__generator': 7.6.4 '@types/babel__traverse': 7.18.2 '@types/chai': 4.3.3 @@ -621,7 +621,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: '@astrojs/preact': link:../../../../integrations/preact @@ -694,7 +694,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 packages/astro/e2e/fixtures/hydration-race: @@ -749,7 +749,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: '@astrojs/lit': link:../../../../integrations/lit @@ -792,7 +792,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: '@astrojs/preact': link:../../../../integrations/preact @@ -821,7 +821,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: '@astrojs/preact': link:../../../../integrations/preact @@ -850,7 +850,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: '@astrojs/preact': link:../../../../integrations/preact @@ -879,7 +879,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: '@astrojs/preact': link:../../../../integrations/preact @@ -908,7 +908,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: '@astrojs/preact': link:../../../../integrations/preact @@ -937,7 +937,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: '@astrojs/preact': link:../../../../integrations/preact @@ -1035,7 +1035,7 @@ importers: '@astrojs/mdx': link:../../../../integrations/mdx '@astrojs/svelte': link:../../../../integrations/svelte astro: link:../../.. - svelte: 3.50.1 + svelte: 3.51.0 packages/astro/e2e/fixtures/tailwindcss: specifiers: @@ -1100,7 +1100,7 @@ importers: astro: link:../../.. react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 packages/astro/test/fixtures/alias: @@ -1111,7 +1111,7 @@ importers: dependencies: '@astrojs/svelte': link:../../../../integrations/svelte astro: link:../../.. - svelte: 3.50.1 + svelte: 3.51.0 packages/astro/test/fixtures/alias-tsconfig: specifiers: @@ -1121,7 +1121,7 @@ importers: dependencies: '@astrojs/svelte': link:../../../../integrations/svelte astro: link:../../.. - svelte: 3.50.1 + svelte: 3.51.0 packages/astro/test/fixtures/api-routes: specifiers: @@ -1190,7 +1190,7 @@ importers: '@astrojs/vue': link:../../../../integrations/vue astro: link:../../.. preact: 10.11.1 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 packages/astro/test/fixtures/astro-class-list: @@ -1215,7 +1215,7 @@ importers: astro: link:../../.. react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - svelte: 3.50.1 + svelte: 3.51.0 packages/astro/test/fixtures/astro-client-only/pkg: specifiers: {} @@ -1276,7 +1276,7 @@ importers: astro: link:../../.. react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - svelte: 3.50.1 + svelte: 3.51.0 packages/astro/test/fixtures/astro-envs: specifiers: @@ -1700,7 +1700,7 @@ importers: '@astrojs/vue': link:../../../../integrations/vue astro: link:../../.. preact: 10.11.1 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 packages/astro/test/fixtures/fontsource-package: @@ -1802,7 +1802,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: '@astrojs/preact': link:../../../../integrations/preact @@ -1840,7 +1840,7 @@ importers: '@astrojs/svelte': link:../../../../integrations/svelte astro: link:../../.. preact: 10.11.1 - svelte: 3.50.1 + svelte: 3.51.0 packages/astro/test/fixtures/legacy-build: specifiers: @@ -1932,7 +1932,7 @@ importers: autoprefixer: 10.4.12_postcss@8.4.17 postcss: 8.4.17 solid-js: 1.5.7 - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 devDependencies: postcss-preset-env: 7.8.2_postcss@8.4.17 @@ -2100,7 +2100,7 @@ importers: '@astrojs/mdx': link:../../../../integrations/mdx '@astrojs/svelte': link:../../../../integrations/svelte astro: link:../../.. - svelte: 3.50.1 + svelte: 3.51.0 packages/astro/test/fixtures/slots-vue: specifiers: @@ -2311,7 +2311,7 @@ importers: dependencies: '@astrojs/svelte': link:../../../../integrations/svelte astro: link:../../.. - svelte: 3.50.1 + svelte: 3.51.0 packages/astro/test/fixtures/tailwindcss: specifiers: @@ -2386,7 +2386,7 @@ importers: '@astrojs/svelte': link:../../../../integrations/svelte '@astrojs/vue': link:../../../../integrations/vue astro: link:../../.. - svelte: 3.50.1 + svelte: 3.51.0 vue: 3.2.40 packages/astro/test/fixtures/with-endpoint-routes: @@ -2430,7 +2430,7 @@ importers: which-pm-runs: ^1.1.0 yargs-parser: ^21.0.1 dependencies: - chalk: 5.1.0 + chalk: 5.1.1 comment-json: 4.2.3 degit: 2.8.4 execa: 6.1.0 @@ -2477,7 +2477,7 @@ importers: chai: 4.3.6 cheerio: 1.0.0-rc.12 mocha: 9.2.2 - wrangler: 2.1.10 + wrangler: 2.1.11 packages/integrations/cloudflare/test/fixtures/basics: specifiers: @@ -2570,7 +2570,7 @@ importers: mocha: 9.2.2 rollup-plugin-copy: 3.4.0 sharp: 0.31.1 - vite: 3.1.5 + vite: 3.1.7 web-streams-polyfill: 3.2.1 packages/integrations/image/test/fixtures/background-color-image: @@ -2737,8 +2737,8 @@ importers: vite: ^3.0.0 dependencies: '@astrojs/prism': link:../../astro-prism - '@mdx-js/mdx': 2.1.3 - '@mdx-js/rollup': 2.1.3 + '@mdx-js/mdx': 2.1.5 + '@mdx-js/rollup': 2.1.5 acorn: 8.8.0 es-module-lexer: 0.10.5 estree-util-visit: 1.2.0 @@ -2769,7 +2769,7 @@ importers: reading-time: 1.5.0 remark-shiki-twoslash: 3.1.0 remark-toc: 8.0.1 - vite: 3.1.5 + vite: 3.1.7 packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection: specifiers: @@ -2864,13 +2864,13 @@ importers: devDependencies: '@netlify/edge-handler-types': 0.34.1 '@netlify/functions': 1.3.0 - '@types/node': 14.18.31 + '@types/node': 14.18.32 astro: link:../../astro astro-scripts: link:../../../scripts chai: 4.3.6 cheerio: 1.0.0-rc.12 mocha: 9.2.2 - vite: 3.1.5 + vite: 3.1.7 packages/integrations/netlify/test/edge-functions/fixtures/dynimport: specifiers: @@ -2955,7 +2955,7 @@ importers: '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.19.3 '@preact/signals': 1.1.1_preact@10.11.1 babel-plugin-module-resolver: 4.1.0 - preact-render-to-string: 5.2.4_preact@10.11.1 + preact-render-to-string: 5.2.5_preact@10.11.1 devDependencies: astro: link:../../astro astro-scripts: link:../../../scripts @@ -2974,13 +2974,13 @@ importers: dependencies: throttles: 1.0.1 devDependencies: - '@playwright/test': 1.26.1 + '@playwright/test': 1.27.1 '@types/chai': 4.3.3 '@types/chai-as-promised': 7.1.5 '@types/mocha': 9.1.1 astro: link:../../astro astro-scripts: link:../../../scripts - playwright: 1.26.1 + playwright: 1.27.1 packages/integrations/prefetch/test/fixtures/basic-prefetch: specifiers: @@ -3062,15 +3062,15 @@ importers: svelte2tsx: ^0.5.11 vite: ^3.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.8_svelte@3.50.1+vite@3.1.5 + '@sveltejs/vite-plugin-svelte': 1.0.9_svelte@3.51.0+vite@3.1.7 postcss-load-config: 3.1.4 - svelte-preprocess: 4.10.7_dnlyed3grtnuceggogyodrmgvm - svelte2tsx: 0.5.19_svelte@3.50.1 + svelte-preprocess: 4.10.7_4xfe42rvmrtc673en6qbybjmy4 + svelte2tsx: 0.5.20_svelte@3.51.0 devDependencies: astro: link:../../astro astro-scripts: link:../../../scripts - svelte: 3.50.1 - vite: 3.1.5 + svelte: 3.51.0 + vite: 3.1.7 packages/integrations/tailwind: specifiers: @@ -3136,14 +3136,14 @@ importers: vite: ^3.0.0 vue: ^3.2.37 dependencies: - '@vitejs/plugin-vue': 3.1.2_vite@3.1.5+vue@3.2.40 - '@vitejs/plugin-vue-jsx': 2.0.1_vite@3.1.5+vue@3.2.40 + '@vitejs/plugin-vue': 3.1.2_vite@3.1.7+vue@3.2.40 + '@vitejs/plugin-vue-jsx': 2.0.1_vite@3.1.7+vue@3.2.40 '@vue/babel-plugin-jsx': 1.1.1 '@vue/compiler-sfc': 3.2.40 devDependencies: astro: link:../../astro astro-scripts: link:../../../scripts - vite: 3.1.5 + vite: 3.1.7 vue: 3.2.40 packages/markdown/component: @@ -3184,7 +3184,7 @@ importers: '@astrojs/svelte': link:../../../../../integrations/svelte astro: link:../../../../../astro preact: 10.11.1 - svelte: 3.50.1 + svelte: 3.51.0 packages/markdown/component/test/fixtures/astro-markdown-plugins: specifiers: @@ -3357,7 +3357,7 @@ importers: node-fetch: ^3.2.5 which-pm-runs: ^1.1.0 dependencies: - ci-info: 3.4.0 + ci-info: 3.5.0 debug: 4.3.4 dlv: 1.1.3 dset: 3.1.2 @@ -3368,7 +3368,7 @@ importers: devDependencies: '@types/debug': 4.1.7 '@types/dlv': 1.1.2 - '@types/node': 14.18.31 + '@types/node': 14.18.32 '@types/which-pm-runs': 1.0.0 astro-scripts: link:../../scripts chai: 4.3.6 @@ -3411,7 +3411,7 @@ importers: '@types/chai': 4.3.3 '@types/global-agent': 2.1.1 '@types/mocha': 9.1.1 - '@types/node': 14.18.31 + '@types/node': 14.18.32 '@ungap/structured-clone': 0.3.4 abort-controller: 3.0.0 chai: 4.3.6 @@ -3445,7 +3445,7 @@ importers: esbuild: 0.14.54 globby: 12.2.0 kleur: 4.1.5 - svelte: 3.50.1 + svelte: 3.51.0 tar: 6.1.11 devDependencies: tsconfig-resolver: 3.0.1 @@ -3665,7 +3665,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.16 dev: false /@antfu/install-pkg/0.1.1: @@ -3780,8 +3780,8 @@ packages: dependencies: '@babel/highlight': 7.18.6 - /@babel/compat-data/7.19.3: - resolution: {integrity: sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==} + /@babel/compat-data/7.19.4: + resolution: {integrity: sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==} engines: {node: '>=6.9.0'} dev: false @@ -3791,15 +3791,15 @@ packages: dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.19.3 + '@babel/generator': 7.19.5 '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.3 '@babel/helper-module-transforms': 7.19.0 - '@babel/helpers': 7.19.0 - '@babel/parser': 7.19.3 + '@babel/helpers': 7.19.4 + '@babel/parser': 7.19.4 '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 - convert-source-map: 1.8.0 + '@babel/traverse': 7.19.4 + '@babel/types': 7.19.4 + convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.1 @@ -3808,11 +3808,11 @@ packages: - supports-color dev: false - /@babel/generator/7.19.3: - resolution: {integrity: sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==} + /@babel/generator/7.19.5: + resolution: {integrity: sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 dev: false @@ -3821,7 +3821,7 @@ packages: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9: @@ -3829,7 +3829,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-compilation-targets/7.19.3_@babel+core@7.19.3: @@ -3841,7 +3841,7 @@ packages: '@babel/core': optional: true dependencies: - '@babel/compat-data': 7.19.3 + '@babel/compat-data': 7.19.4 '@babel/core': 7.19.3 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.4 @@ -3911,7 +3911,7 @@ packages: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-function-name/7.19.0: @@ -3919,35 +3919,35 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.18.10 - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-member-expression-to-functions/7.18.9: resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-module-imports/7.16.0: resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-module-imports/7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-module-transforms/7.19.0: @@ -3956,12 +3956,12 @@ packages: dependencies: '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.18.6 + '@babel/helper-simple-access': 7.19.4 '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/traverse': 7.19.4 + '@babel/types': 7.19.4 transitivePeerDependencies: - supports-color dev: false @@ -3970,7 +3970,7 @@ packages: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-plugin-utils/7.19.0: @@ -3991,7 +3991,7 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-wrap-function': 7.19.0 - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 transitivePeerDependencies: - supports-color dev: false @@ -4003,35 +4003,35 @@ packages: '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-member-expression-to-functions': 7.18.9 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/traverse': 7.19.4 + '@babel/types': 7.19.4 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-simple-access/7.18.6: - resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} + /@babel/helper-simple-access/7.19.4: + resolution: {integrity: sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-skip-transparent-expression-wrappers/7.18.9: resolution: {integrity: sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false - /@babel/helper-string-parser/7.18.10: - resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==} + /@babel/helper-string-parser/7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier/7.19.1: @@ -4049,19 +4049,19 @@ packages: dependencies: '@babel/helper-function-name': 7.19.0 '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/traverse': 7.19.4 + '@babel/types': 7.19.4 transitivePeerDependencies: - supports-color dev: false - /@babel/helpers/7.19.0: - resolution: {integrity: sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==} + /@babel/helpers/7.19.4: + resolution: {integrity: sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/traverse': 7.19.4 + '@babel/types': 7.19.4 transitivePeerDependencies: - supports-color dev: false @@ -4074,12 +4074,12 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser/7.19.3: - resolution: {integrity: sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==} + /@babel/parser/7.19.4: + resolution: {integrity: sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.19.3: resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} @@ -4244,8 +4244,8 @@ packages: '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.19.3 dev: false - /@babel/plugin-proposal-object-rest-spread/7.18.9_@babel+core@7.19.3: - resolution: {integrity: sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==} + /@babel/plugin-proposal-object-rest-spread/7.19.4_@babel+core@7.19.3: + resolution: {integrity: sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -4253,7 +4253,7 @@ packages: '@babel/core': optional: true dependencies: - '@babel/compat-data': 7.19.3 + '@babel/compat-data': 7.19.4 '@babel/core': 7.19.3 '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.3 '@babel/helper-plugin-utils': 7.19.0 @@ -4615,8 +4615,8 @@ packages: '@babel/helper-plugin-utils': 7.19.0 dev: false - /@babel/plugin-transform-block-scoping/7.18.9_@babel+core@7.19.3: - resolution: {integrity: sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==} + /@babel/plugin-transform-block-scoping/7.19.4_@babel+core@7.19.3: + resolution: {integrity: sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -4664,8 +4664,8 @@ packages: '@babel/helper-plugin-utils': 7.19.0 dev: false - /@babel/plugin-transform-destructuring/7.18.13_@babel+core@7.19.3: - resolution: {integrity: sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==} + /@babel/plugin-transform-destructuring/7.19.4_@babel+core@7.19.3: + resolution: {integrity: sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -4801,7 +4801,7 @@ packages: '@babel/core': 7.19.3 '@babel/helper-module-transforms': 7.19.0 '@babel/helper-plugin-utils': 7.19.0 - '@babel/helper-simple-access': 7.18.6 + '@babel/helper-simple-access': 7.19.4 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: - supports-color @@ -4925,7 +4925,7 @@ packages: '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.19.0 '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.3 - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 dev: false /@babel/plugin-transform-regenerator/7.18.6_@babel+core@7.19.3: @@ -5065,8 +5065,8 @@ packages: '@babel/helper-plugin-utils': 7.19.0 dev: false - /@babel/preset-env/7.19.3_@babel+core@7.19.3: - resolution: {integrity: sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w==} + /@babel/preset-env/7.19.4_@babel+core@7.19.3: + resolution: {integrity: sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5074,7 +5074,7 @@ packages: '@babel/core': optional: true dependencies: - '@babel/compat-data': 7.19.3 + '@babel/compat-data': 7.19.4 '@babel/core': 7.19.3 '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.3 '@babel/helper-plugin-utils': 7.19.0 @@ -5090,7 +5090,7 @@ packages: '@babel/plugin-proposal-logical-assignment-operators': 7.18.9_@babel+core@7.19.3 '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.19.3 '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.19.3 - '@babel/plugin-proposal-object-rest-spread': 7.18.9_@babel+core@7.19.3 + '@babel/plugin-proposal-object-rest-spread': 7.19.4_@babel+core@7.19.3 '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.19.3 '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.19.3 '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.19.3 @@ -5114,10 +5114,10 @@ packages: '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.19.3 '@babel/plugin-transform-async-to-generator': 7.18.6_@babel+core@7.19.3 '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.19.3 - '@babel/plugin-transform-block-scoping': 7.18.9_@babel+core@7.19.3 + '@babel/plugin-transform-block-scoping': 7.19.4_@babel+core@7.19.3 '@babel/plugin-transform-classes': 7.19.0_@babel+core@7.19.3 '@babel/plugin-transform-computed-properties': 7.18.9_@babel+core@7.19.3 - '@babel/plugin-transform-destructuring': 7.18.13_@babel+core@7.19.3 + '@babel/plugin-transform-destructuring': 7.19.4_@babel+core@7.19.3 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.19.3 '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.19.3 '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.19.3 @@ -5144,7 +5144,7 @@ packages: '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.19.3 '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.19.3 '@babel/preset-modules': 0.1.5_@babel+core@7.19.3 - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.19.3 babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.19.3 babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.19.3 @@ -5166,12 +5166,12 @@ packages: '@babel/helper-plugin-utils': 7.19.0 '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.19.3 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.19.3 - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 esutils: 2.0.3 dev: false - /@babel/runtime/7.19.0: - resolution: {integrity: sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==} + /@babel/runtime/7.19.4: + resolution: {integrity: sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.9 @@ -5181,45 +5181,45 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 + '@babel/parser': 7.19.4 + '@babel/types': 7.19.4 dev: false - /@babel/traverse/7.19.3: - resolution: {integrity: sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==} + /@babel/traverse/7.19.4: + resolution: {integrity: sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.19.3 + '@babel/generator': 7.19.5 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 + '@babel/parser': 7.19.4 + '@babel/types': 7.19.4 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types/7.19.3: - resolution: {integrity: sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==} + /@babel/types/7.19.4: + resolution: {integrity: sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.18.10 + '@babel/helper-string-parser': 7.19.4 '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 /@builder.io/partytown/0.7.1: - resolution: {integrity: sha1-qhO1YCJgm6Kk1hz4vygqlCIcETM=} + resolution: {integrity: sha512-hvu2gG9NDtCa5aoL4JkvDe3E5SegXlHAkhtA+Az96uTtFA0PYuEPjDYGiayGTkZuRKUmxetebWjIFgSDNdlBOw==} hasBin: true dev: false /@changesets/apply-release-plan/6.1.1: resolution: {integrity: sha512-LaQiP/Wf0zMVR0HNrLQAjz3rsNsr0d/RlnP6Ef4oi8VafOwnY1EoWdK4kssuUJGgNgDyHpomS50dm8CU3D7k7g==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@changesets/config': 2.2.0 '@changesets/get-version-range-type': 0.3.2 '@changesets/git': 1.5.0 @@ -5237,7 +5237,7 @@ packages: /@changesets/assemble-release-plan/5.2.2: resolution: {integrity: sha512-B1qxErQd85AeZgZFZw2bDKyOfdXHhG+X5S+W3Da2yCem8l/pRy4G/S7iOpEcMwg6lH8q2ZhgbZZwZ817D+aLuQ==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@changesets/errors': 0.1.4 '@changesets/get-dependents-graph': 1.3.4 '@changesets/types': 5.2.0 @@ -5265,7 +5265,7 @@ packages: resolution: {integrity: sha512-Gi3tMi0Vr6eNd8GX6q73tbOm9XOzGfuLEm4PYVeWG2neg5DlRGNOjYwrFULJ/An3N9MHtHn4r5h1Qvnju9Ijug==} hasBin: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@changesets/apply-release-plan': 6.1.1 '@changesets/assemble-release-plan': 5.2.2 '@changesets/changelog-git': 0.1.13 @@ -5341,7 +5341,7 @@ packages: /@changesets/get-release-plan/3.0.15: resolution: {integrity: sha512-W1tFwxE178/en+zSj/Nqbc3mvz88mcdqUMJhRzN1jDYqN3QI4ifVaRF9mcWUU+KI0gyYEtYR65tour690PqTcA==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@changesets/assemble-release-plan': 5.2.2 '@changesets/config': 2.2.0 '@changesets/pre': 1.0.13 @@ -5357,7 +5357,7 @@ packages: /@changesets/git/1.5.0: resolution: {integrity: sha512-Xo8AT2G7rQJSwV87c8PwMm6BAc98BnufRMsML7m7Iw8Or18WFvFmxqG5aOL5PBvhgq9KrKvaeIBNIymracSuHg==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@changesets/errors': 0.1.4 '@changesets/types': 5.2.0 '@manypkg/get-packages': 1.1.3 @@ -5381,7 +5381,7 @@ packages: /@changesets/pre/1.0.13: resolution: {integrity: sha512-jrZc766+kGZHDukjKhpBXhBJjVQMied4Fu076y9guY1D3H622NOw8AQaLV3oQsDtKBTrT2AUFjt9Z2Y9Qx+GfA==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@changesets/errors': 0.1.4 '@changesets/types': 5.2.0 '@manypkg/get-packages': 1.1.3 @@ -5391,7 +5391,7 @@ packages: /@changesets/read/0.5.8: resolution: {integrity: sha512-eYaNfxemgX7f7ELC58e7yqQICW5FB7V+bd1lKt7g57mxUrTveYME+JPaBPpYx02nP53XI6CQp6YxnR9NfmFPKw==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@changesets/git': 1.5.0 '@changesets/logger': 0.0.5 '@changesets/parse': 0.3.15 @@ -5412,7 +5412,7 @@ packages: /@changesets/write/0.1.9: resolution: {integrity: sha512-E90ZrsrfJVOOQaP3Mm5Xd7uDwBAqq3z5paVEavTHKA8wxi7NAL8CmjgbGxSFuiP7ubnJA2BuHlrdE4z86voGOg==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@changesets/types': 5.2.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -5667,8 +5667,8 @@ packages: requiresBuild: true optional: true - /@eslint/eslintrc/1.3.2: - resolution: {integrity: sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==} + /@eslint/eslintrc/1.3.3: + resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -5737,10 +5737,6 @@ packages: - supports-color dev: true - /@humanwhocodes/gitignore-to-minimatch/1.0.2: - resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} - dev: true - /@humanwhocodes/module-importer/1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} @@ -5774,26 +5770,26 @@ packages: /@internationalized/date/3.0.1: resolution: {integrity: sha512-E/3lASs4mAeJ2Z2ye6ab7eUD0bPUfTeNVTAv6IS+ne9UtMu9Uepb9A1U2Ae0hDr6WAlBuvUtrakaxEdYB9TV6Q==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 dev: false /@internationalized/message/3.0.9: resolution: {integrity: sha512-yHQggKWUuSvj1GznVtie4tcYq+xMrkd/lTKCFHp6gG18KbIliDw+UI7sL9+yJPGuWiR083xuLyyhzqiPbNOEww==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 intl-messageformat: 10.1.5 dev: false /@internationalized/number/3.1.1: resolution: {integrity: sha512-dBxCQKIxvsZvW2IBt3KsqrCfaw2nV6o6a8xsloJn/hjW0ayeyhKuiiMtTwW3/WGNPP7ZRyDbtuiUEjMwif1ENQ==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 dev: false /@internationalized/string/3.0.0: resolution: {integrity: sha512-NUSr4u+mNu5BysXFeVWZW4kvjXylPkU/YYqaWzdNuz1eABfehFiZTEYhWAAMzI3U8DTxfqF9PM3zyhk5gcfz6w==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 dev: false /@jridgewell/gen-mapping/0.1.1: @@ -5810,7 +5806,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.16 /@jridgewell/resolve-uri/3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} @@ -5824,13 +5820,13 @@ packages: resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} dependencies: '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.15 + '@jridgewell/trace-mapping': 0.3.16 /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/trace-mapping/0.3.15: - resolution: {integrity: sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==} + /@jridgewell/trace-mapping/0.3.16: + resolution: {integrity: sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 @@ -5853,7 +5849,7 @@ packages: dependencies: '@lit-labs/ssr-client': 1.0.1 '@lit/reactive-element': 1.4.1 - '@types/node': 16.11.64 + '@types/node': 16.11.65 lit: 2.4.0 lit-element: 3.2.2 lit-html: 2.4.0 @@ -5872,7 +5868,7 @@ packages: /@manypkg/find-root/1.1.0: resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 @@ -5881,7 +5877,7 @@ packages: /@manypkg/get-packages/1.1.3: resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -5907,8 +5903,8 @@ packages: - supports-color dev: false - /@mdx-js/mdx/2.1.3: - resolution: {integrity: sha512-ahbb47HJIJ4xnifaL06tDJiSyLEy1EhFAStO7RZIm3GTa7yGW3NGhZaj+GUCveFgl5oI54pY4BgiLmYm97y+zg==} + /@mdx-js/mdx/2.1.5: + resolution: {integrity: sha512-zEG0lt+Bl/r5U6e0TOS7qDbsXICtemfAPquxWFsMbdzrvlWaqMGemLl+sjVpqlyaaiCiGVQBSGdCk0t1qXjkQg==} dependencies: '@types/estree-jsx': 1.0.0 '@types/mdx': 2.0.2 @@ -5919,7 +5915,7 @@ packages: hast-util-to-estree: 2.1.0 markdown-extensions: 1.1.1 periscopic: 3.0.4 - remark-mdx: 2.1.3 + remark-mdx: 2.1.5 remark-parse: 10.0.1 remark-rehype: 10.1.0 unified: 10.1.2 @@ -5931,15 +5927,15 @@ packages: - supports-color dev: false - /@mdx-js/rollup/2.1.3: - resolution: {integrity: sha512-KaX9GcZ63TDaLNH9UYYE94+naZQldV2IUzmMkDVOlPxDtTh8kcEn8l6/4W1P79wxZZbakSOFejTuaYmcstl5sA==} + /@mdx-js/rollup/2.1.5: + resolution: {integrity: sha512-l90rSiwnEf6PnjH8uRXjZ1W0rR8p1fp1YIiDuA3uF7SOfxMQ98uymaIwI6BsX+8BC2dcWij7Racwp++JkvdOLQ==} peerDependencies: rollup: '>=2' peerDependenciesMeta: rollup: optional: true dependencies: - '@mdx-js/mdx': 2.1.3 + '@mdx-js/mdx': 2.1.5 '@rollup/pluginutils': 4.2.1 source-map: 0.7.4 vfile: 5.3.5 @@ -6068,7 +6064,7 @@ packages: resolution: {integrity: sha512-5Ew/Ph0cHDQqKvOlmN70kz+qZW0hdgE9fQBStKLY3vDYhnBEhopbCUChSS+FCcL7WtxVJJVE7iB6J09NQTnQ/A==} engines: {node: '>=16.13'} dependencies: - '@types/better-sqlite3': 7.6.0 + '@types/better-sqlite3': 7.6.2 kleur: 4.1.5 npx-import: 1.1.3 picomatch: 2.3.1 @@ -6297,13 +6293,13 @@ packages: tiny-glob: 0.2.9 tslib: 2.4.0 - /@playwright/test/1.26.1: - resolution: {integrity: sha512-bNxyZASVt2adSZ9gbD7NCydzcb5JaI0OR9hc7s+nmPeH604gwp0zp17NNpwXY4c8nvuBGQQ9oGDx72LE+cUWvw==} + /@playwright/test/1.27.1: + resolution: {integrity: sha512-mrL2q0an/7tVqniQQF6RBL2saskjljXzqNcCOVMUjRIgE6Y38nCNaP+Dc2FBW06bcpD3tqIws/HT9qiMHbNU0A==} engines: {node: '>=14'} hasBin: true dependencies: - '@types/node': 18.8.2 - playwright-core: 1.26.1 + '@types/node': 18.8.4 + playwright-core: 1.27.1 dev: true /@polka/url/1.0.0-next.21: @@ -6347,7 +6343,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -6368,7 +6364,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/link': 3.3.4_react@18.2.0 @@ -6386,7 +6382,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -6407,7 +6403,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@internationalized/date': 3.0.1 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -6429,7 +6425,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/label': 3.4.2_react@18.2.0 '@react-aria/toggle': 3.4.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -6451,7 +6447,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/listbox': 3.7.0_react@18.2.0 @@ -6482,7 +6478,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@internationalized/date': 3.0.1 '@internationalized/number': 3.1.1 '@internationalized/string': 3.0.0 @@ -6510,7 +6506,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/overlays': 3.11.0_biqbaboplfbrettd7655fr4n2y '@react-aria/utils': 3.14.0_react@18.2.0 @@ -6530,7 +6526,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -6549,7 +6545,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -6574,7 +6570,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/grid': 3.5.0_biqbaboplfbrettd7655fr4n2y '@react-aria/i18n': 3.6.1_react@18.2.0 @@ -6597,7 +6593,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@internationalized/date': 3.0.1 '@internationalized/message': 3.0.9 '@internationalized/number': 3.1.1 @@ -6616,7 +6612,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 react: 18.2.0 @@ -6630,7 +6626,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-types/label': 3.7.0_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -6645,7 +6641,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -6662,7 +6658,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/label': 3.4.2_react@18.2.0 @@ -6678,7 +6674,7 @@ packages: /@react-aria/live-announcer/3.1.1: resolution: {integrity: sha512-e7b+dRh1SUTla42vzjdbhGYkeLD7E6wIYjYaHW9zZ37rBkSqLHUhTigh3eT3k5NxFlDD/uRxTYuwaFnWQgR+4g==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 dev: false /@react-aria/menu/3.6.2_biqbaboplfbrettd7655fr4n2y: @@ -6692,7 +6688,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/overlays': 3.11.0_biqbaboplfbrettd7655fr4n2y @@ -6716,7 +6712,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/progress': 3.3.2_react@18.2.0 '@react-types/meter': 3.2.4_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -6734,7 +6730,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/live-announcer': 3.1.1 @@ -6761,7 +6757,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -6784,7 +6780,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/label': 3.4.2_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -6801,7 +6797,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -6821,7 +6817,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/textfield': 3.7.2_react@18.2.0 @@ -6844,7 +6840,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/label': 3.4.2_react@18.2.0 @@ -6869,7 +6865,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -6888,7 +6884,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 react: 18.2.0 @@ -6902,7 +6898,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -6927,7 +6923,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/live-announcer': 3.1.1 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -6945,7 +6941,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 react: 18.2.0 dev: false @@ -6957,7 +6953,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/toggle': 3.4.0_react@18.2.0 '@react-stately/toggle': 3.4.2_react@18.2.0 '@react-types/switch': 3.2.4_react@18.2.0 @@ -6975,7 +6971,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/grid': 3.5.0_biqbaboplfbrettd7655fr4n2y '@react-aria/i18n': 3.6.1_react@18.2.0 @@ -7001,7 +6997,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -7022,7 +7018,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/label': 3.4.2_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -7039,7 +7035,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -7058,7 +7054,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -7076,7 +7072,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/ssr': 3.3.0_react@18.2.0 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -7095,7 +7091,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -7113,7 +7109,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -7133,7 +7129,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/actiongroup': 3.4.2_react@18.2.0 '@react-aria/button': 3.6.2_react@18.2.0 '@react-aria/focus': 3.9.0_react@18.2.0 @@ -7167,7 +7163,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y '@react-spectrum/text': 3.3.2_s2rnajdv35qq55v4psxg5dgv5q @@ -7189,7 +7185,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/breadcrumbs': 3.3.2_react@18.2.0 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 @@ -7216,7 +7212,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/button': 3.6.2_react@18.2.0 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -7242,7 +7238,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/button': 3.10.0_jshkqybnlidashxgfmbz45rdaq '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y @@ -7267,7 +7263,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@internationalized/date': 3.0.1 '@react-aria/calendar': 3.0.3_biqbaboplfbrettd7655fr4n2y '@react-aria/focus': 3.9.0_react@18.2.0 @@ -7297,7 +7293,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/checkbox': 3.6.0_react@18.2.0 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -7327,7 +7323,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/button': 3.6.2_react@18.2.0 '@react-aria/combobox': 3.4.2_biqbaboplfbrettd7655fr4n2y '@react-aria/dialog': 3.4.0_biqbaboplfbrettd7655fr4n2y @@ -7366,7 +7362,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/button': 3.10.0_jshkqybnlidashxgfmbz45rdaq @@ -7393,7 +7389,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@internationalized/date': 3.0.1 '@internationalized/number': 3.1.1 '@react-aria/datepicker': 3.1.2_biqbaboplfbrettd7655fr4n2y @@ -7431,7 +7427,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/dialog': 3.4.0_biqbaboplfbrettd7655fr4n2y '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 @@ -7465,7 +7461,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/separator': 3.2.4_react@18.2.0 '@react-spectrum/utils': 3.7.4_react@18.2.0 '@react-types/divider': 3.2.4_react@18.2.0 @@ -7482,7 +7478,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y '@react-spectrum/utils': 3.7.4_react@18.2.0 @@ -7500,7 +7496,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y '@react-spectrum/utils': 3.7.4_react@18.2.0 @@ -7517,7 +7513,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/layout': 3.4.2_s2rnajdv35qq55v4psxg5dgv5q '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y @@ -7536,7 +7532,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y '@react-spectrum/utils': 3.7.4_react@18.2.0 @@ -7554,7 +7550,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/label': 3.4.2_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -7579,7 +7575,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@internationalized/date': 3.0.1 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -7601,7 +7597,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/ssr': 3.3.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y @@ -7621,7 +7617,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/link': 3.3.4_react@18.2.0 @@ -7644,7 +7640,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/button': 3.6.2_react@18.2.0 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/gridlist': 3.1.0_biqbaboplfbrettd7655fr4n2y @@ -7683,7 +7679,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -7719,7 +7715,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -7759,7 +7755,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/meter': 3.3.2_react@18.2.0 '@react-spectrum/progress': 3.3.2_s2rnajdv35qq55v4psxg5dgv5q '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y @@ -7781,7 +7777,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/button': 3.6.2_react@18.2.0 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 @@ -7815,7 +7811,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/overlays': 3.11.0_biqbaboplfbrettd7655fr4n2y '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y @@ -7840,7 +7836,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -7874,7 +7870,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/progress': 3.3.2_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y @@ -7895,7 +7891,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/overlays': 3.11.0_biqbaboplfbrettd7655fr4n2y '@react-aria/utils': 3.14.0_react@18.2.0 @@ -7916,7 +7912,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/radio': 3.4.0_react@18.2.0 @@ -7941,7 +7937,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/searchfield': 3.4.2_react@18.2.0 '@react-spectrum/button': 3.10.0_jshkqybnlidashxgfmbz45rdaq '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y @@ -7965,7 +7961,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -7989,7 +7985,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y '@react-spectrum/utils': 3.7.4_react@18.2.0 @@ -8007,7 +8003,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/switch': 3.2.4_react@18.2.0 @@ -8035,7 +8031,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/button': 3.6.2_react@18.2.0 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/grid': 3.5.0_biqbaboplfbrettd7655fr4n2y @@ -8077,7 +8073,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -8109,7 +8105,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y '@react-spectrum/utils': 3.7.4_react@18.2.0 @@ -8127,7 +8123,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 @@ -8153,7 +8149,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-types/provider': 3.5.4_react@18.2.0 react: 18.2.0 dev: false @@ -8166,7 +8162,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-types/provider': 3.5.4_react@18.2.0 react: 18.2.0 dev: false @@ -8179,7 +8175,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-types/provider': 3.5.4_react@18.2.0 react: 18.2.0 dev: false @@ -8196,7 +8192,7 @@ packages: react-dom: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/focus': 3.9.0_react@18.2.0 '@react-aria/interactions': 3.12.0_react@18.2.0 '@react-aria/overlays': 3.11.0_biqbaboplfbrettd7655fr4n2y @@ -8223,7 +8219,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/ssr': 3.3.0_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 @@ -8241,7 +8237,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y @@ -8259,7 +8255,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-spectrum/utils': 3.7.4_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -8275,7 +8271,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@internationalized/date': 3.0.1 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/calendar': 3.0.3_react@18.2.0 @@ -8292,7 +8288,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/toggle': 3.4.2_react@18.2.0 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/checkbox': 3.4.0_react@18.2.0 @@ -8308,7 +8304,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-types/shared': 3.15.0_react@18.2.0 react: 18.2.0 dev: false @@ -8321,7 +8317,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/list': 3.5.4_react@18.2.0 '@react-stately/menu': 3.4.2_react@18.2.0 '@react-stately/select': 3.3.2_react@18.2.0 @@ -8339,7 +8335,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-types/shared': 3.15.0_react@18.2.0 react: 18.2.0 dev: false @@ -8352,7 +8348,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@internationalized/date': 3.0.1 '@internationalized/string': 3.0.0 '@react-stately/overlays': 3.4.2_react@18.2.0 @@ -8370,7 +8366,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/selection': 3.11.0_react@18.2.0 '@react-types/grid': 3.1.4_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -8385,7 +8381,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/virtualizer': 3.3.1_react@18.2.0 '@react-types/grid': 3.1.4_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -8401,7 +8397,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/collections': 3.4.4_react@18.2.0 '@react-stately/selection': 3.11.0_react@18.2.0 '@react-stately/utils': 3.5.1_react@18.2.0 @@ -8417,7 +8413,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/overlays': 3.4.2_react@18.2.0 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/menu': 3.7.2_react@18.2.0 @@ -8433,7 +8429,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@internationalized/number': 3.1.1 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/numberfield': 3.3.4_react@18.2.0 @@ -8449,7 +8445,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/overlays': 3.6.4_react@18.2.0 react: 18.2.0 @@ -8463,7 +8459,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/radio': 3.3.0_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -8478,7 +8474,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/searchfield': 3.3.4_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -8493,7 +8489,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/collections': 3.4.4_react@18.2.0 '@react-stately/list': 3.5.4_react@18.2.0 '@react-stately/menu': 3.4.2_react@18.2.0 @@ -8512,7 +8508,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/collections': 3.4.4_react@18.2.0 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -8527,7 +8523,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/i18n': 3.6.1_react@18.2.0 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-stately/utils': 3.5.1_react@18.2.0 @@ -8544,7 +8540,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/collections': 3.4.4_react@18.2.0 '@react-stately/grid': 3.4.0_react@18.2.0 '@react-stately/selection': 3.11.0_react@18.2.0 @@ -8562,7 +8558,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/list': 3.5.4_react@18.2.0 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/tabs': 3.1.4_react@18.2.0 @@ -8577,7 +8573,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/checkbox': 3.4.0_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 @@ -8592,7 +8588,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/overlays': 3.4.2_react@18.2.0 '@react-stately/utils': 3.5.1_react@18.2.0 '@react-types/tooltip': 3.2.4_react@18.2.0 @@ -8607,7 +8603,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-stately/collections': 3.4.4_react@18.2.0 '@react-stately/selection': 3.11.0_react@18.2.0 '@react-stately/utils': 3.5.1_react@18.2.0 @@ -8623,7 +8619,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 react: 18.2.0 dev: false @@ -8635,7 +8631,7 @@ packages: react: optional: true dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-aria/utils': 3.14.0_react@18.2.0 '@react-types/shared': 3.15.0_react@18.2.0 react: 18.2.0 @@ -9273,6 +9269,19 @@ packages: picomatch: 2.3.1 dev: false + /@rollup/pluginutils/5.0.0: + resolution: {integrity: sha512-LJAlpJhSH4cAoNrh5G4mQ7VJJgmGVN1A91Skwpd6uMT4CGmDbrZ59RQWwNB08WkLtKOzTHFj6pKgVn18zlDFrQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: false + /@spectrum-icons/ui/3.3.3_jshkqybnlidashxgfmbz45rdaq: resolution: {integrity: sha512-KGPRQidTviIZWI1VHQCqNZ1dgPuOjXVTjr0ELih4y7+fV2r39qeukiKCs0AzePs7VUj04sZGRL+ZezKcvk/98Q==} peerDependencies: @@ -9283,7 +9292,7 @@ packages: optional: true dependencies: '@adobe/react-spectrum-ui': 1.2.0_biqbaboplfbrettd7655fr4n2y - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-spectrum/icon': 3.6.1_s2rnajdv35qq55v4psxg5dgv5q '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y react: 18.2.0 @@ -9301,7 +9310,7 @@ packages: optional: true dependencies: '@adobe/react-spectrum-workflow': 2.3.3_biqbaboplfbrettd7655fr4n2y - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 '@react-spectrum/icon': 3.6.1_s2rnajdv35qq55v4psxg5dgv5q '@react-spectrum/provider': 3.5.2_biqbaboplfbrettd7655fr4n2y react: 18.2.0 @@ -9318,8 +9327,8 @@ packages: string.prototype.matchall: 4.0.7 dev: false - /@sveltejs/vite-plugin-svelte/1.0.8_svelte@3.50.1+vite@3.1.5: - resolution: {integrity: sha512-1xkVTB4pm6zuign858FzVYE9Fdw9MQBOlxrdd85STV0NvTDmcofcRpcrK+zcIyT8SZ2dseHLu8hvDwzssF6RfA==} + /@sveltejs/vite-plugin-svelte/1.0.9_svelte@3.51.0+vite@3.1.7: + resolution: {integrity: sha512-+SDrAnT7TDi8sdj4OfD2SC4s9DNrpNVBrue8fT2PmKks9Ddu0JIfSeX91wXZb/1xHz4EkGb+rli8GTRI0yGOjg==} engines: {node: ^14.18.0 || >= 16} peerDependencies: diff-match-patch: ^1.0.5 @@ -9335,10 +9344,10 @@ packages: debug: 4.3.4 deepmerge: 4.2.2 kleur: 4.1.5 - magic-string: 0.26.6 - svelte: 3.50.1 - svelte-hmr: 0.15.0_svelte@3.50.1 - vite: 3.1.5 + magic-string: 0.26.7 + svelte: 3.51.0 + svelte-hmr: 0.15.0_svelte@3.51.0 + vite: 3.1.7 transitivePeerDependencies: - supports-color dev: false @@ -9372,8 +9381,8 @@ packages: /@types/babel__core/7.1.19: resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} dependencies: - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 + '@babel/parser': 7.19.4 + '@babel/types': 7.19.4 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.18.2 @@ -9382,24 +9391,24 @@ packages: /@types/babel__generator/7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 /@types/babel__template/7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.19.3 - '@babel/types': 7.19.3 + '@babel/parser': 7.19.4 + '@babel/types': 7.19.4 dev: false /@types/babel__traverse/7.18.2: resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} dependencies: - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 - /@types/better-sqlite3/7.6.0: - resolution: {integrity: sha512-rnSP9vY+fVsF3iJja5yRGBJV63PNBiezJlYrCkqUmQWFoB16cxAHwOkjsAYEu317miOfKaJpa65cbp0P4XJ/jw==} + /@types/better-sqlite3/7.6.2: + resolution: {integrity: sha512-RgmaapusqTq6IMAr4McMyAsC6RshYTCjXCnzwVV59WctUxC8bNPyUfT9t5F81lKcU41lLurhjqjoMHfauzfqGg==} dependencies: - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: true /@types/canvas-confetti/1.4.3: @@ -9428,7 +9437,7 @@ packages: /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: true /@types/cookie/0.5.1: @@ -9480,7 +9489,7 @@ packages: /@types/fs-extra/8.1.2: resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} dependencies: - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: true /@types/github-slugger/1.3.0: @@ -9491,14 +9500,14 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: true /@types/glob/8.0.0: resolution: {integrity: sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: true /@types/global-agent/2.1.1: @@ -9521,7 +9530,7 @@ packages: /@types/is-ci/3.0.0: resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} dependencies: - ci-info: 3.4.0 + ci-info: 3.5.0 dev: true /@types/json-schema/7.0.11: @@ -9573,19 +9582,19 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node/14.18.31: - resolution: {integrity: sha512-vQAnaReSQkEDa8uwAyQby8bYGKu84R/deEc6mg5T8fX6gzCn8QW6rziSgsti1fNvsrswKUKPnVTi7uoB+u62Mw==} + /@types/node/14.18.32: + resolution: {integrity: sha512-Y6S38pFr04yb13qqHf8uk1nHE3lXgQ30WZbv1mLliV9pt0NjvqdWttLcrOYLnXbOafknVYRHZGoMSpR9UwfYow==} - /@types/node/16.11.64: - resolution: {integrity: sha512-z5hPTlVFzNwtJ2LNozTpJcD1Cu44c4LNuzaq1mwxmiHWQh2ULdR6Vjwo1UGldzRpzL0yUEdZddnfqGW2G70z6Q==} + /@types/node/16.11.65: + resolution: {integrity: sha512-Vfz7wGMOr4jbQGiQHVJm8VjeQwM9Ya7mHe9LtQ264/Epf5n1KiZShOFqk++nBzw6a/ubgYdB9Od7P+MH/LjoWw==} dev: false /@types/node/17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/node/18.8.2: - resolution: {integrity: sha512-cRMwIgdDN43GO4xMWAfJAecYn8wV4JbsOGHNfNUIDiuYkUYAR5ec4Rj7IO2SAhFPEfpPtLtUTbbny/TCT7aDwA==} + /@types/node/18.8.4: + resolution: {integrity: sha512-WdlVphvfR/GJCLEMbNA8lJ0lhFNBj4SW3O+O5/cEGw9oYrv0al9zTwuQsq+myDUXgNx2jgBynoVgZ2MMJ6pbow==} /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -9609,7 +9618,7 @@ packages: /@types/prompts/2.4.1: resolution: {integrity: sha512-1Mqzhzi9W5KlooNE4o0JwSXGUDeQXKldbGn9NO4tpxwZbHXYd+WcKpCksG2lbhH7U9I9LigfsdVsP2QAY0lNPA==} dependencies: - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: true /@types/prop-types/15.7.5: @@ -9649,7 +9658,7 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 14.18.31 + '@types/node': 14.18.32 /@types/resolve/1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -9658,13 +9667,13 @@ packages: resolution: {integrity: sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==} dependencies: '@types/glob': 8.0.0 - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: true /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: false /@types/sax/1.2.4: @@ -9684,13 +9693,13 @@ packages: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: true /@types/sharp/0.30.5: resolution: {integrity: sha512-EhO29617AIBqxoVtpd1qdBanWpspk/kD2B6qTFRJ31Q23Rdf+DNU1xlHSwtqvwq1vgOqBwq1i38SX+HGCymIQg==} dependencies: - '@types/node': 18.8.2 + '@types/node': 18.8.4 dev: true /@types/stack-trace/0.0.29: @@ -9722,8 +9731,8 @@ packages: /@types/yargs-parser/21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - /@typescript-eslint/eslint-plugin/5.39.0_7ofitwjcu3mblzci5hd3mkm4pe: - resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} + /@typescript-eslint/eslint-plugin/5.40.0_ik43yucnjuzsopqc3tao6tk3x4: + resolution: {integrity: sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -9733,12 +9742,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.39.0_oma37ntcsyoxqn5sr4l7ekf4na - '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/type-utils': 5.39.0_oma37ntcsyoxqn5sr4l7ekf4na - '@typescript-eslint/utils': 5.39.0_oma37ntcsyoxqn5sr4l7ekf4na + '@typescript-eslint/parser': 5.40.0_l76llshcx5hpzqzl7lfng4kpb4 + '@typescript-eslint/scope-manager': 5.40.0 + '@typescript-eslint/type-utils': 5.40.0_l76llshcx5hpzqzl7lfng4kpb4 + '@typescript-eslint/utils': 5.40.0_l76llshcx5hpzqzl7lfng4kpb4 debug: 4.3.4 - eslint: 8.24.0 + eslint: 8.25.0 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.8 @@ -9748,8 +9757,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.39.0_oma37ntcsyoxqn5sr4l7ekf4na: - resolution: {integrity: sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==} + /@typescript-eslint/parser/5.40.0_l76llshcx5hpzqzl7lfng4kpb4: + resolution: {integrity: sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -9758,26 +9767,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.7.4 + '@typescript-eslint/scope-manager': 5.40.0 + '@typescript-eslint/types': 5.40.0 + '@typescript-eslint/typescript-estree': 5.40.0_typescript@4.7.4 debug: 4.3.4 - eslint: 8.24.0 + eslint: 8.25.0 typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.39.0: - resolution: {integrity: sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==} + /@typescript-eslint/scope-manager/5.40.0: + resolution: {integrity: sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/visitor-keys': 5.39.0 + '@typescript-eslint/types': 5.40.0 + '@typescript-eslint/visitor-keys': 5.40.0 dev: true - /@typescript-eslint/type-utils/5.39.0_oma37ntcsyoxqn5sr4l7ekf4na: - resolution: {integrity: sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==} + /@typescript-eslint/type-utils/5.40.0_l76llshcx5hpzqzl7lfng4kpb4: + resolution: {integrity: sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -9786,23 +9795,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.7.4 - '@typescript-eslint/utils': 5.39.0_oma37ntcsyoxqn5sr4l7ekf4na + '@typescript-eslint/typescript-estree': 5.40.0_typescript@4.7.4 + '@typescript-eslint/utils': 5.40.0_l76llshcx5hpzqzl7lfng4kpb4 debug: 4.3.4 - eslint: 8.24.0 + eslint: 8.25.0 tsutils: 3.21.0_typescript@4.7.4 typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.39.0: - resolution: {integrity: sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==} + /@typescript-eslint/types/5.40.0: + resolution: {integrity: sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.39.0_typescript@4.7.4: - resolution: {integrity: sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==} + /@typescript-eslint/typescript-estree/5.40.0_typescript@4.7.4: + resolution: {integrity: sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -9810,8 +9819,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/visitor-keys': 5.39.0 + '@typescript-eslint/types': 5.40.0 + '@typescript-eslint/visitor-keys': 5.40.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -9822,29 +9831,30 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.39.0_oma37ntcsyoxqn5sr4l7ekf4na: - resolution: {integrity: sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==} + /@typescript-eslint/utils/5.40.0_l76llshcx5hpzqzl7lfng4kpb4: + resolution: {integrity: sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.7.4 - eslint: 8.24.0 + '@typescript-eslint/scope-manager': 5.40.0 + '@typescript-eslint/types': 5.40.0 + '@typescript-eslint/typescript-estree': 5.40.0_typescript@4.7.4 + eslint: 8.25.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.24.0 + eslint-utils: 3.0.0_eslint@8.25.0 + semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.39.0: - resolution: {integrity: sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==} + /@typescript-eslint/visitor-keys/5.40.0: + resolution: {integrity: sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/types': 5.40.0 eslint-visitor-keys: 3.3.0 dev: true @@ -9992,7 +10002,7 @@ packages: - supports-color dev: false - /@vitejs/plugin-vue-jsx/2.0.1_vite@3.1.5+vue@3.2.40: + /@vitejs/plugin-vue-jsx/2.0.1_vite@3.1.7+vue@3.2.40: resolution: {integrity: sha512-lmiR1k9+lrF7LMczO0pxtQ8mOn6XeppJDHxnpxkJQpT5SiKz4SKhKdeNstXaTNuR8qZhUo5X0pJlcocn72Y4Jg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -10006,13 +10016,13 @@ packages: '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.19.3 '@babel/plugin-transform-typescript': 7.19.3_@babel+core@7.19.3 '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.3 - vite: 3.1.5 + vite: 3.1.7 vue: 3.2.40 transitivePeerDependencies: - supports-color dev: false - /@vitejs/plugin-vue/3.1.2_vite@3.1.5+vue@3.2.40: + /@vitejs/plugin-vue/3.1.2_vite@3.1.7+vue@3.2.40: resolution: {integrity: sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -10022,7 +10032,7 @@ packages: vite: optional: true dependencies: - vite: 3.1.5 + vite: 3.1.7 vue: 3.2.40 dev: false @@ -10047,8 +10057,8 @@ packages: '@babel/helper-module-imports': 7.18.6 '@babel/plugin-syntax-jsx': 7.18.6 '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/traverse': 7.19.4 + '@babel/types': 7.19.4 '@vue/babel-helper-vue-transform-on': 1.0.2 camelcase: 6.3.0 html-tags: 3.2.0 @@ -10064,8 +10074,8 @@ packages: '@babel/helper-module-imports': 7.18.6 '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.3 '@babel/template': 7.18.10 - '@babel/traverse': 7.19.3 - '@babel/types': 7.19.3 + '@babel/traverse': 7.19.4 + '@babel/types': 7.19.4 '@vue/babel-helper-vue-transform-on': 1.0.2 camelcase: 6.3.0 html-tags: 3.2.0 @@ -10078,7 +10088,7 @@ packages: /@vue/compiler-core/3.2.40: resolution: {integrity: sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==} dependencies: - '@babel/parser': 7.19.3 + '@babel/parser': 7.19.4 '@vue/shared': 3.2.40 estree-walker: 2.0.2 source-map: 0.6.1 @@ -10092,7 +10102,7 @@ packages: /@vue/compiler-sfc/3.2.40: resolution: {integrity: sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==} dependencies: - '@babel/parser': 7.19.3 + '@babel/parser': 7.19.4 '@vue/compiler-core': 3.2.40 '@vue/compiler-dom': 3.2.40 '@vue/compiler-ssr': 3.2.40 @@ -10112,7 +10122,7 @@ packages: /@vue/reactivity-transform/3.2.40: resolution: {integrity: sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==} dependencies: - '@babel/parser': 7.19.3 + '@babel/parser': 7.19.4 '@vue/compiler-core': 3.2.40 '@vue/shared': 3.2.40 estree-walker: 2.0.2 @@ -10272,8 +10282,8 @@ packages: '@algolia/transporter': 4.14.2 dev: false - /alpinejs/3.10.3: - resolution: {integrity: sha512-nt/w4hLq9pPaexCsHmO5zV5Alvq4yu9n0Iclti6aV0HmiqLWH/axUb0pn8z3XVuVNcj8EOXOQw+WpwPzMzLBWg==} + /alpinejs/3.10.4: + resolution: {integrity: sha512-AC6Xchlb/xURO7F93OSMItooClpzGNZRM5+rDa6/3Y20mPxQs1TQ/wfiwiH4mtcVt8yTxdkOW5dOl8CBCK095A==} dependencies: '@vue/reactivity': 3.1.5 dev: false @@ -10315,8 +10325,8 @@ packages: dependencies: color-convert: 2.0.1 - /ansi-styles/6.1.1: - resolution: {integrity: sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg==} + /ansi-styles/6.2.0: + resolution: {integrity: sha512-3MWBO/XxbkDtc/qpECaUwDM0DQ++ujBjdjs0ElZvChUoPv/P7GOnl3x+R2RF2My5UJHEW5R87q556MiR8U3PLw==} engines: {node: '>=12'} dev: false @@ -10375,7 +10385,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.3 + es-abstract: 1.20.4 es-shim-unscopables: 1.0.0 dev: true @@ -10437,7 +10447,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.4 - caniuse-lite: 1.0.30001416 + caniuse-lite: 1.0.30001418 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -10450,8 +10460,8 @@ packages: object.assign: 4.1.4 dev: false - /babel-plugin-jsx-dom-expressions/0.34.11: - resolution: {integrity: sha512-pXygym8znJC/WiozMVA5R/8keu5j6kTZEVJjJi2tjnQrUHsm9JMbXQw8QjLZSW0oxU601rsutb1TlECdBAvfJQ==} + /babel-plugin-jsx-dom-expressions/0.34.13: + resolution: {integrity: sha512-rKkJ7a0arzqE180hPeZI/EIB4OTuByVgE5bsHlI/lZGpU+pVtuvIwwePIIFH8ld49a8pvM0fLfrryP/W6ZMx0g==} peerDependencies: '@babel/core': ^7.0.0 peerDependenciesMeta: @@ -10460,7 +10470,7 @@ packages: dependencies: '@babel/helper-module-imports': 7.16.0 '@babel/plugin-syntax-jsx': 7.18.6 - '@babel/types': 7.19.3 + '@babel/types': 7.19.4 html-entities: 2.3.2 dev: false @@ -10483,7 +10493,7 @@ packages: '@babel/core': optional: true dependencies: - '@babel/compat-data': 7.19.3 + '@babel/compat-data': 7.19.4 '@babel/core': 7.19.3 '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.19.3 semver: 6.3.0 @@ -10528,7 +10538,7 @@ packages: '@babel/core': optional: true dependencies: - babel-plugin-jsx-dom-expressions: 0.34.11 + babel-plugin-jsx-dom-expressions: 0.34.13 dev: false /bail/2.0.2: @@ -10637,8 +10647,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001416 - electron-to-chromium: 1.4.274 + caniuse-lite: 1.0.30001418 + electron-to-chromium: 1.4.279 node-releases: 2.0.6 update-browserslist-db: 1.0.10_browserslist@4.21.4 @@ -10722,8 +10732,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - /caniuse-lite/1.0.30001416: - resolution: {integrity: sha512-06wzzdAkCPZO+Qm4e/eNghZBDfVNDsCgw33T27OwBH9unE9S478OYw//Q2L7Npf/zBzs7rjZOszIFQkwQKAEqA==} + /caniuse-lite/1.0.30001418: + resolution: {integrity: sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==} /canvas-confetti/1.5.1: resolution: {integrity: sha512-Ncz+oZJP6OvY7ti4E1slxVlyAV/3g7H7oQtcCDXgwGgARxPnwYY9PW5Oe+I8uvspYNtuHviAdgA0LfcKFWJfpg==} @@ -10768,8 +10778,8 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk/5.1.0: - resolution: {integrity: sha512-56zD4khRTBoIyzUYAFgDDaPhUMN/fC/rySe6aZGqbj/VWiU2eI3l6ZLOtYGFZAV5v02mwPjtpzlrOveJiz5eZQ==} + /chalk/5.1.1: + resolution: {integrity: sha512-OItMegkSDU3P7OJRWBbNRsQsL8SzgwlIGXSZRVfHCLBYrDgzYDuozwDMwvEDpiZdjr50tdOTbTzuubirtEozsg==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: false @@ -10838,8 +10848,8 @@ packages: engines: {node: '>=10'} dev: false - /ci-info/3.4.0: - resolution: {integrity: sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==} + /ci-info/3.5.0: + resolution: {integrity: sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==} /clean-stack/4.2.0: resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} @@ -11006,10 +11016,8 @@ packages: safe-buffer: 5.2.1 dev: true - /convert-source-map/1.8.0: - resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} - dependencies: - safe-buffer: 5.1.2 + /convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: false /cookie/0.4.2: @@ -11241,8 +11249,8 @@ packages: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} - /defaults/1.0.3: - resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} + /defaults/1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 @@ -11335,7 +11343,7 @@ packages: dependencies: acorn-node: 1.8.2 defined: 1.0.0 - minimist: 1.2.6 + minimist: 1.2.7 /didyoumean/1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -11373,7 +11381,7 @@ packages: /dom-helpers/3.4.0: resolution: {integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 dev: false /dom-serializer/2.0.0: @@ -11444,8 +11452,8 @@ packages: jake: 10.8.5 dev: false - /electron-to-chromium/1.4.274: - resolution: {integrity: sha512-Fgn7JZQzq85I81FpKUNxVLAzoghy8JZJ4NIue+YfUYBbu1AkpgzFvNwzF/ZNZH9ElkmJD0TSWu1F2gTpw/zZlg==} + /electron-to-chromium/1.4.279: + resolution: {integrity: sha512-xs7vEuSZ84+JsHSTFqqG0TE3i8EAivHomRQZhhcRvsmnjsh5C2KdhwNKf4ZRYtzq75wojpFyqb62m32Oam57wA==} /emmet/2.3.6: resolution: {integrity: sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==} @@ -11488,8 +11496,8 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract/1.20.3: - resolution: {integrity: sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw==} + /es-abstract/1.20.4: + resolution: {integrity: sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -12157,13 +12165,13 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier/8.5.0_eslint@8.24.0: + /eslint-config-prettier/8.5.0_eslint@8.25.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.24.0 + eslint: 8.25.0 dev: true /eslint-plugin-no-only-tests/2.6.0: @@ -12171,7 +12179,7 @@ packages: engines: {node: '>=4.0.0'} dev: true - /eslint-plugin-prettier/4.2.1_cfn5x6ujhhgzv3423d6k7r2zzm: + /eslint-plugin-prettier/4.2.1_hvbqyfstm4urdpm6ffpwfka4e4: resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -12182,8 +12190,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.24.0 - eslint-config-prettier: 8.5.0_eslint@8.24.0 + eslint: 8.25.0 + eslint-config-prettier: 8.5.0_eslint@8.25.0 prettier: 2.7.1 prettier-linter-helpers: 1.0.0 dev: true @@ -12204,13 +12212,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.24.0: + /eslint-utils/3.0.0_eslint@8.25.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.24.0 + eslint: 8.25.0 eslint-visitor-keys: 2.1.0 dev: true @@ -12224,14 +12232,13 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.24.0: - resolution: {integrity: sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==} + /eslint/8.25.0: + resolution: {integrity: sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.3.2 + '@eslint/eslintrc': 1.3.3 '@humanwhocodes/config-array': 0.10.7 - '@humanwhocodes/gitignore-to-minimatch': 1.0.2 '@humanwhocodes/module-importer': 1.0.1 ajv: 6.12.6 chalk: 4.1.2 @@ -12240,7 +12247,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.24.0 + eslint-utils: 3.0.0_eslint@8.25.0 eslint-visitor-keys: 3.3.0 espree: 9.4.0 esquery: 1.4.0 @@ -12649,7 +12656,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.3 + es-abstract: 1.20.4 functions-have-names: 1.2.3 /functions-have-names/1.2.3: @@ -12942,7 +12949,7 @@ packages: '@types/hast': 2.3.4 '@types/parse5': 6.0.3 '@types/unist': 2.0.6 - hastscript: 7.0.2 + hastscript: 7.1.0 property-information: 6.1.1 vfile: 5.3.5 vfile-location: 4.0.1 @@ -13084,8 +13091,8 @@ packages: resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==} dev: false - /hastscript/7.0.2: - resolution: {integrity: sha512-uA8ooUY4ipaBvKcMuPehTAB/YfFLSSzCwFSwT6ltJbocFUKH/GDHLN+tflq7lSRf9H86uOuxOFkh1KgIy3Gg2g==} + /hastscript/7.1.0: + resolution: {integrity: sha512-uBjaTTLN0MkCZxY/R2fWUOcu7FRtUVzKRO5P/RAfgsu3yFiMB1JWCO4AjeVkgHxAira1f2UecHK5WfS9QurlWA==} dependencies: '@types/hast': 2.3.4 comma-separated-tokens: 2.0.2 @@ -13209,8 +13216,8 @@ packages: queue: 6.0.2 dev: false - /imagetools-core/3.2.1: - resolution: {integrity: sha512-cTa1cQqGUhw1eqBpz6Jdby7aYP4d18v1hLG9j3mS/223+gx/fmRv+B/E/zDYlX7NoZ5gh4Tvft6mcxek7suE/A==} + /imagetools-core/3.2.3: + resolution: {integrity: sha512-YbZhedg/zja34yV6iRDhfo4cmAYSwxaErkuzc/RpMMAELgszpDKf3MLH6VlsR+QkenPUEGkGAVpJAM2GbUls9Q==} engines: {node: '>=12.0.0'} dependencies: sharp: 0.31.1 @@ -13340,7 +13347,7 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true dependencies: - ci-info: 3.4.0 + ci-info: 3.5.0 dev: true /is-core-module/2.10.0: @@ -13554,7 +13561,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 14.18.31 + '@types/node': 14.18.32 merge-stream: 2.0.0 supports-color: 7.2.0 @@ -13803,7 +13810,7 @@ packages: resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} engines: {node: '>=12'} dependencies: - chalk: 5.1.0 + chalk: 5.1.1 is-unicode-supported: 1.3.0 dev: false @@ -13856,8 +13863,8 @@ packages: dependencies: sourcemap-codec: 1.4.8 - /magic-string/0.26.6: - resolution: {integrity: sha512-6d+3bFybzyQFJYSoRsl9ZC0wheze8M1LrQC7tNMRqXR4izUTDOLMd9BtSuExK9iAukFh+s5K0WAhc/dlQ+HKYA==} + /magic-string/0.26.7: + resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} engines: {node: '>=12'} dependencies: sourcemap-codec: 1.4.8 @@ -13919,7 +13926,7 @@ packages: '@types/unist': 2.0.6 decode-named-character-reference: 1.0.2 mdast-util-to-string: 3.1.0 - micromark: 3.0.10 + micromark: 3.1.0 micromark-util-decode-numeric-character-reference: 1.0.0 micromark-util-decode-string: 1.0.2 micromark-util-normalize-identifier: 1.0.0 @@ -14425,8 +14432,8 @@ packages: /micromark-util-types/1.0.2: resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} - /micromark/3.0.10: - resolution: {integrity: sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==} + /micromark/3.1.0: + resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} dependencies: '@types/debug': 4.1.7 debug: 4.3.4 @@ -14564,8 +14571,8 @@ packages: kind-of: 6.0.3 dev: true - /minimist/1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + /minimist/1.2.7: + resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} /minipass/3.3.4: resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} @@ -14594,7 +14601,7 @@ packages: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true dependencies: - minimist: 1.2.6 + minimist: 1.2.7 dev: false /mkdirp/1.0.4: @@ -14910,7 +14917,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: bl: 5.0.0 - chalk: 5.1.0 + chalk: 5.1.1 cli-cursor: 4.0.0 cli-spinners: 2.7.0 is-interactive: 2.0.0 @@ -15165,19 +15172,19 @@ packages: find-up: 3.0.0 dev: false - /playwright-core/1.26.1: - resolution: {integrity: sha512-hzFchhhxnEiPc4qVPs9q2ZR+5eKNifY2hQDHtg1HnTTUuphYCBP8ZRb2si+B1TR7BHirgXaPi48LIye5SgrLAA==} + /playwright-core/1.27.1: + resolution: {integrity: sha512-9EmeXDncC2Pmp/z+teoVYlvmPWUC6ejSSYZUln7YaP89Z6lpAaiaAnqroUt/BoLo8tn7WYShcfaCh+xofZa44Q==} engines: {node: '>=14'} hasBin: true dev: true - /playwright/1.26.1: - resolution: {integrity: sha512-WQmEdCgYYe8jOEkhkW9QLcK0PB+w1RZztBLYIT10MEEsENYg251cU0IzebDINreQsUt+HCwwRhtdz4weH9ICcQ==} + /playwright/1.27.1: + resolution: {integrity: sha512-xXYZ7m36yTtC+oFgqH0eTgullGztKSRMb4yuwLPl8IYSmgBM88QiB+3IWb1mRIC9/NNwcgbG0RwtFlg+EAFQHQ==} engines: {node: '>=14'} hasBin: true requiresBuild: true dependencies: - playwright-core: 1.26.1 + playwright-core: 1.27.1 dev: true /postcss-attribute-case-insensitive/5.0.2_postcss@8.4.17: @@ -15584,8 +15591,8 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /preact-render-to-string/5.2.4_preact@10.11.1: - resolution: {integrity: sha512-iIPHb3BXUQ3Za6KNhkjN/waq11Oh+QWWtAgN3id3LrL+cszH3DYh8TxJPNQ6Aogsbu4JsqdJLBZltwPFpG6N6w==} + /preact-render-to-string/5.2.5_preact@10.11.1: + resolution: {integrity: sha512-rEBn42C3Wh+AjPxXUbDkb6xw0cTJQgxdYlp6ytUR1uBZF647Wn6ykkopMeQlRl7ggX+qnYYjZ4Hs1abZENl7ww==} peerDependencies: preact: '>=10' dependencies: @@ -15608,7 +15615,7 @@ packages: detect-libc: 2.0.1 expand-template: 2.0.3 github-from-package: 0.0.0 - minimist: 1.2.6 + minimist: 1.2.7 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 node-abi: 3.26.0 @@ -15792,7 +15799,7 @@ packages: dependencies: deep-extend: 0.6.0 ini: 1.3.8 - minimist: 1.2.6 + minimist: 1.2.7 strip-json-comments: 2.0.1 /react-dom/18.2.0_react@18.2.0: @@ -15935,7 +15942,7 @@ packages: /regenerator-transform/0.15.0: resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==} dependencies: - '@babel/runtime': 7.19.0 + '@babel/runtime': 7.19.4 dev: false /regexp.prototype.flags/1.4.3: @@ -16061,8 +16068,8 @@ packages: - supports-color dev: false - /remark-mdx/2.1.3: - resolution: {integrity: sha512-3SmtXOy9+jIaVctL8Cs3VAQInjRLGOwNXfrBB9KCT+EpJpKD3PQiy0x8hUNGyjQmdyOs40BqgPU7kYtH9uoR6w==} + /remark-mdx/2.1.5: + resolution: {integrity: sha512-A8vw5s+BgOa968Irt8BO7DfWJTE0Fe7Ge3hX8zzDB1DnwMZTNdK6qF2IcFao+/7nzk1vSysKcFp+3ku4vhMpaQ==} dependencies: mdast-util-mdx: 2.0.0 micromark-extension-mdxjs: 1.0.0 @@ -16312,10 +16319,6 @@ packages: dependencies: mri: 1.2.0 - /safe-buffer/5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: false - /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -16616,7 +16619,7 @@ packages: hasBin: true dependencies: buffer-crc32: 0.2.13 - minimist: 1.2.6 + minimist: 1.2.7 sander: 0.5.1 sourcemap-codec: 1.4.8 dev: false @@ -16739,7 +16742,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.3 + es-abstract: 1.20.4 get-intrinsic: 1.1.3 has-symbols: 1.0.3 internal-slot: 1.0.3 @@ -16752,14 +16755,14 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.3 + es-abstract: 1.20.4 /string.prototype.trimstart/1.0.5: resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.3 + es-abstract: 1.20.4 /string_decoder/0.10.31: resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} @@ -16883,16 +16886,16 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-hmr/0.15.0_svelte@3.50.1: + /svelte-hmr/0.15.0_svelte@3.51.0: resolution: {integrity: sha512-Aw21SsyoohyVn4yiKXWPNCSW2DQNH/76kvUnE9kpt4h9hcg9tfyQc6xshx9hzgMfGF0kVx0EGD8oBMWSnATeOg==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.50.1 + svelte: 3.51.0 dev: false - /svelte-preprocess/4.10.7_dnlyed3grtnuceggogyodrmgvm: + /svelte-preprocess/4.10.7_4xfe42rvmrtc673en6qbybjmy4: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -16940,15 +16943,15 @@ packages: postcss-load-config: 3.1.4 sorcery: 0.10.0 strip-indent: 3.0.0 - svelte: 3.50.1 + svelte: 3.51.0 dev: false - /svelte/3.50.1: - resolution: {integrity: sha512-bS4odcsdj5D5jEg6riZuMg5NKelzPtmsCbD9RG+8umU03TeNkdWnP6pqbCm0s8UQNBkqk29w/Bdubn3C+HWSwA==} + /svelte/3.51.0: + resolution: {integrity: sha512-PBITYIrsNOuW+Dtds00gSY68raNZQn7i59Dg/fjgf6WwyawPKeBwle692coO7ILZqSO+UJe9899aDn9sMdeOHA==} engines: {node: '>= 8'} - /svelte2tsx/0.5.19_svelte@3.50.1: - resolution: {integrity: sha512-PvhcjG3fVhFmoO7XWYYqWYkg7lQzO8Q9/T4RQiCAsTZ+lK+9jCAPV8rbeQD8M4AN44u3JqgvaxHrmh095SaxBA==} + /svelte2tsx/0.5.20_svelte@3.51.0: + resolution: {integrity: sha512-yNHmN/uoAnJ7d1XqVohiNA6TMFOxibHyEddUAHVt1PiLXtbwAJF3WaGYlg8QbOdoXzOVsVNCAlqRUIdULUm+OA==} peerDependencies: svelte: ^3.24 typescript: ^4.1.2 @@ -16958,7 +16961,7 @@ packages: dependencies: dedent-js: 1.0.1 pascal-case: 3.1.2 - svelte: 3.50.1 + svelte: 3.51.0 dev: false /svg-tags/1.0.0: @@ -17708,13 +17711,14 @@ packages: unist-util-stringify-position: 3.0.2 vfile-message: 3.1.2 - /vite-imagetools/4.0.9: - resolution: {integrity: sha512-MQZWqYH/dbliA1IC7jiARgzpn+NCT3LEGgmln+IIj2WJiVX/Ry+KgmJoIK1OvA6tUsGXNpQSLhAqBQKRA9NuGQ==} + /vite-imagetools/4.0.11: + resolution: {integrity: sha512-S6+vzsd/6kSBdPIdjJFGeZ4+UV/aIK09V7oLb/Z9soV3jNwKh60WBi6jF+RnKtY7F9FMU3W6xPbln+VPHI0icA==} engines: {node: '>=12.0.0'} dependencies: - '@rollup/pluginutils': 4.2.1 - imagetools-core: 3.2.1 - magic-string: 0.26.6 + '@rollup/pluginutils': 5.0.0 + imagetools-core: 3.2.3 + transitivePeerDependencies: + - rollup dev: false /vite-plugin-pwa/0.11.11_workbox-window@6.5.4: @@ -17737,8 +17741,8 @@ packages: - supports-color dev: false - /vite/3.1.5: - resolution: {integrity: sha512-V4Avke0b7h2zTWVJf8vq6TE3aH061NQ3b1ixHQyqdoE/5HIVsxVLCyTLjJtHVcsJ5fIKSHvOtflWpgavHS8RPw==} + /vite/3.1.7: + resolution: {integrity: sha512-5vCAmU4S8lyVdFCInu9M54f/g8qbOMakVw5xJ4pjoaDy5wgy9sLLZkGdSLN52dlsBqh0tBqxjaqqa8LgPqwRAA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -17763,8 +17767,8 @@ packages: optionalDependencies: fsevents: 2.3.2 - /vite/3.1.5_sass@1.55.0: - resolution: {integrity: sha512-V4Avke0b7h2zTWVJf8vq6TE3aH061NQ3b1ixHQyqdoE/5HIVsxVLCyTLjJtHVcsJ5fIKSHvOtflWpgavHS8RPw==} + /vite/3.1.7_sass@1.55.0: + resolution: {integrity: sha512-5vCAmU4S8lyVdFCInu9M54f/g8qbOMakVw5xJ4pjoaDy5wgy9sLLZkGdSLN52dlsBqh0tBqxjaqqa8LgPqwRAA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -17818,13 +17822,13 @@ packages: dependencies: '@types/chai': 4.3.3 '@types/chai-subset': 1.3.3 - '@types/node': 18.8.2 + '@types/node': 18.8.4 chai: 4.3.6 debug: 4.3.4 local-pkg: 0.4.2 tinypool: 0.2.4 tinyspy: 1.0.2 - vite: 3.1.5 + vite: 3.1.7 transitivePeerDependencies: - less - sass @@ -17922,7 +17926,7 @@ packages: /wcwidth/1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: - defaults: 1.0.3 + defaults: 1.0.4 /web-namespaces/2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -18029,8 +18033,8 @@ packages: dependencies: '@apideck/better-ajv-errors': 0.3.6_ajv@8.11.0 '@babel/core': 7.19.3 - '@babel/preset-env': 7.19.3_@babel+core@7.19.3 - '@babel/runtime': 7.19.0 + '@babel/preset-env': 7.19.4_@babel+core@7.19.3 + '@babel/runtime': 7.19.4 '@rollup/plugin-babel': 5.3.1_vy4anxjpv2s44kyfi2kxqu576u '@rollup/plugin-node-resolve': 11.2.1_rollup@2.79.1 '@rollup/plugin-replace': 2.4.2_rollup@2.79.1 @@ -18160,8 +18164,8 @@ packages: resolution: {integrity: sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==} dev: true - /wrangler/2.1.10: - resolution: {integrity: sha512-hiaTNvkKw8axZljxHOjtDXIVo4GOrDclyxr0cF2aypzAwtrGlaYWD+WP0Z66BqRLpUpbF3BdzrPn1k+xGp0u+Q==} + /wrangler/2.1.11: + resolution: {integrity: sha512-zXydDzU+KKOwYDD9IX+XdSZMFEPWTghzTN/CiZc+pxHGIjTuQBtbk97trY3i9YKeih/QOSlo+H7Clfoq+6rZLw==} engines: {node: '>=16.13.0'} hasBin: true dependencies: @@ -18211,7 +18215,7 @@ packages: resolution: {integrity: sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==} engines: {node: '>=12'} dependencies: - ansi-styles: 6.1.1 + ansi-styles: 6.2.0 string-width: 5.1.2 strip-ansi: 7.0.1 dev: false From f7fcdfe6210b3cf08cad92c49b64adf169b9e744 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Wed, 12 Oct 2022 21:29:26 +0800 Subject: [PATCH 10/14] Support solidjs libraries (#5059) --- .changeset/ten-phones-drop.md | 5 ++ .changeset/thin-parents-breathe.md | 5 ++ packages/astro/package.json | 1 + packages/astro/src/vite-plugin-jsx/index.ts | 7 ++- packages/astro/src/vite-plugin-jsx/tag.ts | 13 ++++- .../fixtures/solid-component/package.json | 1 + .../solid-component/src/pages/index.astro | 2 + .../integrations/solid/src/dependencies.ts | 57 +++++++++++++++++++ packages/integrations/solid/src/index.ts | 9 +-- pnpm-lock.yaml | 12 ++++ 10 files changed, 104 insertions(+), 8 deletions(-) create mode 100644 .changeset/ten-phones-drop.md create mode 100644 .changeset/thin-parents-breathe.md create mode 100644 packages/integrations/solid/src/dependencies.ts diff --git a/.changeset/ten-phones-drop.md b/.changeset/ten-phones-drop.md new file mode 100644 index 000000000000..4233ec43300a --- /dev/null +++ b/.changeset/ten-phones-drop.md @@ -0,0 +1,5 @@ +--- +'@astrojs/solid-js': minor +--- + +Auto ssr.noExternal solidjs dependencies diff --git a/.changeset/thin-parents-breathe.md b/.changeset/thin-parents-breathe.md new file mode 100644 index 000000000000..2867ab3b62f7 --- /dev/null +++ b/.changeset/thin-parents-breathe.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Support strict dependency install for libraries with JSX diff --git a/packages/astro/package.json b/packages/astro/package.json index f135854b196f..252a169f6ef3 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -126,6 +126,7 @@ "gray-matter": "^4.0.3", "html-entities": "^2.3.3", "html-escaper": "^3.0.3", + "import-meta-resolve": "^2.1.0", "kleur": "^4.1.4", "magic-string": "^0.25.9", "mime": "^3.0.0", diff --git a/packages/astro/src/vite-plugin-jsx/index.ts b/packages/astro/src/vite-plugin-jsx/index.ts index 5c84ec512332..357e441f6c7a 100644 --- a/packages/astro/src/vite-plugin-jsx/index.ts +++ b/packages/astro/src/vite-plugin-jsx/index.ts @@ -98,6 +98,7 @@ interface TransformJSXOptions { mode: string; renderer: AstroRenderer; ssr: boolean; + root: URL; } async function transformJSX({ @@ -106,12 +107,13 @@ async function transformJSX({ id, ssr, renderer, + root, }: TransformJSXOptions): Promise { const { jsxTransformOptions } = renderer; const options = await jsxTransformOptions!({ mode, ssr }); const plugins = [...(options.plugins || [])]; if (ssr) { - plugins.push(tagExportsPlugin({ rendererName: renderer.name })); + plugins.push(await tagExportsPlugin({ rendererName: renderer.name, root })); } const result = await babel.transformAsync(code, { presets: options.presets, @@ -204,6 +206,7 @@ export default function jsx({ settings, logging }: AstroPluginJSXOptions): Plugi renderer: astroJSXRenderer, mode, ssr, + root: settings.config.root, }); } if (defaultJSXRendererEntry && jsxRenderersIntegrationOnly.size === 1) { @@ -220,6 +223,7 @@ export default function jsx({ settings, logging }: AstroPluginJSXOptions): Plugi renderer: defaultJSXRendererEntry[1], mode, ssr, + root: settings.config.root, }); } @@ -286,6 +290,7 @@ https://docs.astro.build/en/core-concepts/framework-components/#installing-integ renderer: selectedJsxRenderer, mode, ssr, + root: settings.config.root, }); }, }; diff --git a/packages/astro/src/vite-plugin-jsx/tag.ts b/packages/astro/src/vite-plugin-jsx/tag.ts index b6ba7c302263..1b957b58d283 100644 --- a/packages/astro/src/vite-plugin-jsx/tag.ts +++ b/packages/astro/src/vite-plugin-jsx/tag.ts @@ -1,3 +1,5 @@ +import { fileURLToPath } from 'url'; +import { resolve as importMetaResolve } from 'import-meta-resolve'; import type { PluginObj } from '@babel/core'; import * as t from '@babel/types'; @@ -9,11 +11,16 @@ import * as t from '@babel/types'; * This plugin crawls each export in the file and "tags" each export with a given `rendererName`. * This allows us to automatically match a component to a renderer and skip the usual `check()` calls. */ -export default function tagExportsWithRenderer({ +export default async function tagExportsWithRenderer({ rendererName, + root, }: { rendererName: string; -}): PluginObj { + root: URL; +}): Promise { + const astroServerPath = fileURLToPath( + await importMetaResolve('astro/server/index.js', root.toString()) + ); return { visitor: { Program: { @@ -29,7 +36,7 @@ export default function tagExportsWithRenderer({ t.identifier('__astro_tag_component__') ), ], - t.stringLiteral('astro/server/index.js') + t.stringLiteral(astroServerPath) ) ); }, diff --git a/packages/astro/test/fixtures/solid-component/package.json b/packages/astro/test/fixtures/solid-component/package.json index 6863b1978762..cf557f06d0d7 100644 --- a/packages/astro/test/fixtures/solid-component/package.json +++ b/packages/astro/test/fixtures/solid-component/package.json @@ -4,6 +4,7 @@ "private": true, "dependencies": { "@astrojs/solid-js": "workspace:*", + "@solidjs/router": "^0.5.0", "astro": "workspace:*", "solid-js": "^1.5.6" } diff --git a/packages/astro/test/fixtures/solid-component/src/pages/index.astro b/packages/astro/test/fixtures/solid-component/src/pages/index.astro index 1f7522cedcb4..06c48e18a68d 100644 --- a/packages/astro/test/fixtures/solid-component/src/pages/index.astro +++ b/packages/astro/test/fixtures/solid-component/src/pages/index.astro @@ -1,6 +1,7 @@ --- import Hello from '../components/Hello.jsx'; import WithNewlines from '../components/WithNewlines.jsx'; +import { Router } from "@solidjs/router"; --- Solid @@ -8,6 +9,7 @@ import WithNewlines from '../components/WithNewlines.jsx';
+
diff --git a/packages/integrations/solid/src/dependencies.ts b/packages/integrations/solid/src/dependencies.ts new file mode 100644 index 000000000000..bdcfb4c8f562 --- /dev/null +++ b/packages/integrations/solid/src/dependencies.ts @@ -0,0 +1,57 @@ +// This file is a fork of vite-plugin-solid. +// Original: https://github.com/solidjs/vite-plugin-solid/blob/03130c8a0a2ceaab9a07e16f1e1df832b996e1b8/src/index.ts#L251-L297 +// License: MIT (https://github.com/solidjs/vite-plugin-solid/blob/03130c8a0a2ceaab9a07e16f1e1df832b996e1b8/package.json#L38) + +import fs from 'fs'; +import path from 'path'; +import { createRequire } from 'module'; +import { fileURLToPath } from 'url'; + +function containsSolidField(fields: Record) { + const keys = Object.keys(fields); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === 'solid') return true; + if (typeof fields[key] === 'object' && containsSolidField(fields[key])) return true; + } + return false; +} + +export function getSolidDeps(root: URL) { + const pkgPath = path.join(fileURLToPath(root), 'package.json'); + if (!fs.existsSync(pkgPath)) { + // eslint-disable-next-line no-console + console.log('No package.json found at project root'); + return []; + } + const require = createRequire(pkgPath); + const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8')); + const deps = [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.devDependencies || {})]; + const pkgs = deps.map((dep) => { + try { + return require(`${dep}/package.json`); + } catch { + try { + let dir = path.dirname(require.resolve(dep)); + while (dir) { + const subPkgPath = path.join(dir, 'package.json'); + if (fs.existsSync(subPkgPath)) { + const subPkg = JSON.parse(fs.readFileSync(subPkgPath, 'utf-8')); + if (subPkg && subPkg.name === dep) return subPkg; + } + const parent = path.dirname(dir); + if (parent === dir) { + break; + } + dir = parent; + } + } catch (e) { + console.warn("Couldn't find package.json for", dep, e); + } + } + }); + return deps.reduce((acc, dep, i) => { + if (pkgs[i] && pkgs[i].exports && containsSolidField(pkgs[i].exports)) acc.push(dep); + return acc; + }, []); +} diff --git a/packages/integrations/solid/src/index.ts b/packages/integrations/solid/src/index.ts index 20df48297b3f..5241141a92c1 100644 --- a/packages/integrations/solid/src/index.ts +++ b/packages/integrations/solid/src/index.ts @@ -1,4 +1,5 @@ import type { AstroIntegration, AstroRenderer } from 'astro'; +import { getSolidDeps } from './dependencies.js'; function getRenderer(): AstroRenderer { return { @@ -23,7 +24,7 @@ function getRenderer(): AstroRenderer { }; } -function getViteConfiguration(isDev: boolean) { +function getViteConfiguration(isDev: boolean, root: URL) { // https://github.com/solidjs/vite-plugin-solid // We inject the dev mode only if the user explicitely wants it or if we are in dev (serve) mode const nestedDeps = ['solid-js', 'solid-js/web', 'solid-js/store', 'solid-js/html', 'solid-js/h']; @@ -45,7 +46,7 @@ function getViteConfiguration(isDev: boolean) { ssr: { external: ['babel-preset-solid'], target: 'node', - noExternal: ['solid-js'], + noExternal: ['solid-js', ...getSolidDeps(root)], }, }; } @@ -54,9 +55,9 @@ export default function (): AstroIntegration { return { name: '@astrojs/solid-js', hooks: { - 'astro:config:setup': ({ command, addRenderer, updateConfig }) => { + 'astro:config:setup': ({ command, addRenderer, updateConfig, config }) => { addRenderer(getRenderer()); - updateConfig({ vite: getViteConfiguration(command === 'dev') }); + updateConfig({ vite: getViteConfiguration(command === 'dev', config.root) }); }, }, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6bc130ed5dae..67501c8385be 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -415,6 +415,7 @@ importers: gray-matter: ^4.0.3 html-entities: ^2.3.3 html-escaper: ^3.0.3 + import-meta-resolve: ^2.1.0 kleur: ^4.1.4 magic-string: ^0.25.9 mime: ^3.0.0 @@ -484,6 +485,7 @@ importers: gray-matter: 4.0.3 html-entities: 2.3.3 html-escaper: 3.0.3 + import-meta-resolve: 2.1.0 kleur: 4.1.5 magic-string: 0.25.9 mime: 3.0.0 @@ -2117,10 +2119,12 @@ importers: packages/astro/test/fixtures/solid-component: specifiers: '@astrojs/solid-js': workspace:* + '@solidjs/router': ^0.5.0 astro: workspace:* solid-js: ^1.5.6 dependencies: '@astrojs/solid-js': link:../../../../integrations/solid + '@solidjs/router': 0.5.0_solid-js@1.5.7 astro: link:../../.. solid-js: 1.5.7 @@ -9282,6 +9286,14 @@ packages: picomatch: 2.3.1 dev: false + /@solidjs/router/0.5.0_solid-js@1.5.7: + resolution: {integrity: sha512-rNR07l21tWWDVmCbaapggB89rEX7jlM2XChpTLqEGEnj46LzVZ8zgvjcF6NNKScByAlLpoQUkVIjB2KHpcMi+w==} + peerDependencies: + solid-js: ^1.5.3 + dependencies: + solid-js: 1.5.7 + dev: false + /@spectrum-icons/ui/3.3.3_jshkqybnlidashxgfmbz45rdaq: resolution: {integrity: sha512-KGPRQidTviIZWI1VHQCqNZ1dgPuOjXVTjr0ELih4y7+fV2r39qeukiKCs0AzePs7VUj04sZGRL+ZezKcvk/98Q==} peerDependencies: From 5412c0c1146d8583828ede647e4f653a68cfeb01 Mon Sep 17 00:00:00 2001 From: bluwy Date: Wed, 12 Oct 2022 14:34:35 +0000 Subject: [PATCH 11/14] [ci] format --- packages/astro/src/vite-plugin-jsx/tag.ts | 4 ++-- packages/integrations/solid/src/dependencies.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/astro/src/vite-plugin-jsx/tag.ts b/packages/astro/src/vite-plugin-jsx/tag.ts index 1b957b58d283..320965eb1c68 100644 --- a/packages/astro/src/vite-plugin-jsx/tag.ts +++ b/packages/astro/src/vite-plugin-jsx/tag.ts @@ -1,7 +1,7 @@ -import { fileURLToPath } from 'url'; -import { resolve as importMetaResolve } from 'import-meta-resolve'; import type { PluginObj } from '@babel/core'; import * as t from '@babel/types'; +import { resolve as importMetaResolve } from 'import-meta-resolve'; +import { fileURLToPath } from 'url'; /** * This plugin handles every file that runs through our JSX plugin. diff --git a/packages/integrations/solid/src/dependencies.ts b/packages/integrations/solid/src/dependencies.ts index bdcfb4c8f562..67e50a947beb 100644 --- a/packages/integrations/solid/src/dependencies.ts +++ b/packages/integrations/solid/src/dependencies.ts @@ -3,8 +3,8 @@ // License: MIT (https://github.com/solidjs/vite-plugin-solid/blob/03130c8a0a2ceaab9a07e16f1e1df832b996e1b8/package.json#L38) import fs from 'fs'; -import path from 'path'; import { createRequire } from 'module'; +import path from 'path'; import { fileURLToPath } from 'url'; function containsSolidField(fields: Record) { From a5e3ecc8039c1e115ce5597362e18cd35d04e40b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Seery?= Date: Wed, 12 Oct 2022 12:36:33 -0300 Subject: [PATCH 12/14] feat: restart dev server when tsconfig and tailwind config changes (#4947) * First run * Works with tailwind! * Added TSConfig to watchlist * Changeset * Fix eslint * Renamed `isConfigReload` --> `isRestart` and `injectWatchTarget` --> `addWatchFile` * Refactored watchTargets to watchFiles * Refactor createSettings * addWatchFile now accepts URL * Fix getViteConfig * Expanded description of the change Co-authored-by: Matthew Phillips --- .changeset/new-hotels-unite.md | 6 ++ .changeset/ten-candles-relate.md | 7 ++ packages/astro/src/@types/astro.ts | 3 + packages/astro/src/cli/index.ts | 86 ++++++++++----------- packages/astro/src/config/index.ts | 9 +-- packages/astro/src/core/config/config.ts | 4 +- packages/astro/src/core/config/settings.ts | 15 ++-- packages/astro/src/core/dev/index.ts | 7 +- packages/astro/src/integrations/index.ts | 7 ++ packages/astro/test/test-utils.js | 9 +-- packages/integrations/tailwind/src/index.ts | 50 ++++++++++-- 11 files changed, 129 insertions(+), 74 deletions(-) create mode 100644 .changeset/new-hotels-unite.md create mode 100644 .changeset/ten-candles-relate.md diff --git a/.changeset/new-hotels-unite.md b/.changeset/new-hotels-unite.md new file mode 100644 index 000000000000..8febc2d47eda --- /dev/null +++ b/.changeset/new-hotels-unite.md @@ -0,0 +1,6 @@ +--- +'astro': minor +--- + +- Added `isRestart` and `addWatchFile` to integration step `isRestart`. +- Restart dev server automatically when tsconfig changes. diff --git a/.changeset/ten-candles-relate.md b/.changeset/ten-candles-relate.md new file mode 100644 index 000000000000..402e46a1cdee --- /dev/null +++ b/.changeset/ten-candles-relate.md @@ -0,0 +1,7 @@ +--- +'@astrojs/tailwind': minor +--- + +## HMR on config file changes + +New in this release is the ability for config changes to automatically reflect via HMR. Now when you edit your `tsconfig.json` or `tailwind.config.js` configs, the changes will reload automatically without the need to restart your dev server. diff --git a/packages/astro/src/@types/astro.ts b/packages/astro/src/@types/astro.ts index 0d6e4d5a5307..b95aae04756f 100644 --- a/packages/astro/src/@types/astro.ts +++ b/packages/astro/src/@types/astro.ts @@ -891,6 +891,7 @@ export interface AstroSettings { }[]; tsConfig: TsConfigJson | undefined; tsConfigPath: string | undefined; + watchFiles: string[]; } export type AsyncRendererComponentFn = ( @@ -1142,8 +1143,10 @@ export interface AstroIntegration { 'astro:config:setup'?: (options: { config: AstroConfig; command: 'dev' | 'build'; + isRestart: boolean; updateConfig: (newConfig: Record) => void; addRenderer: (renderer: AstroRenderer) => void; + addWatchFile: (path: URL | string) => void; injectScript: (stage: InjectedScriptStage, content: string) => void; injectRoute: (injectRoute: InjectedRoute) => void; // TODO: Add support for `injectElement()` for full HTML element injection, not just scripts. diff --git a/packages/astro/src/cli/index.ts b/packages/astro/src/cli/index.ts index 93e589396fd9..ab52f6415db4 100644 --- a/packages/astro/src/cli/index.ts +++ b/packages/astro/src/cli/index.ts @@ -9,7 +9,6 @@ import add from '../core/add/index.js'; import build from '../core/build/index.js'; import { createSettings, - loadTSConfig, openConfig, resolveConfigPath, resolveFlags, @@ -168,12 +167,7 @@ async function runCommand(cmd: string, flags: yargs.Arguments) { }); if (!initialAstroConfig) return; telemetry.record(event.eventCliSession(cmd, initialUserConfig, flags)); - let initialTsConfig = loadTSConfig(root); - let settings = createSettings({ - config: initialAstroConfig, - tsConfig: initialTsConfig?.config, - tsConfigPath: initialTsConfig?.path, - }); + let settings = createSettings(initialAstroConfig, root); // Common CLI Commands: // These commands run normally. All commands are assumed to have been handled @@ -191,42 +185,48 @@ async function runCommand(cmd: string, flags: yargs.Arguments) { const handleServerRestart = (logMsg: string) => async function (changedFile: string) { - if ( - !restartInFlight && - (configFlag - ? // If --config is specified, only watch changes for this file - configFlagPath && normalizePath(configFlagPath) === normalizePath(changedFile) - : // Otherwise, watch for any astro.config.* file changes in project root - new RegExp( - `${normalizePath(resolvedRoot)}.*astro\.config\.((mjs)|(cjs)|(js)|(ts))$` - ).test(normalizePath(changedFile))) - ) { - restartInFlight = true; - console.clear(); - try { - const newConfig = await openConfig({ - cwd: root, - flags, - cmd, - logging, - isConfigReload: true, - }); - info(logging, 'astro', logMsg + '\n'); - let astroConfig = newConfig.astroConfig; - let tsconfig = loadTSConfig(root); - settings = createSettings({ - config: astroConfig, - tsConfig: tsconfig?.config, - tsConfigPath: tsconfig?.path, - }); - await stop(); - await startDevServer({ isRestart: true }); - } catch (e) { - await handleConfigError(e, { cwd: root, flags, logging }); - await stop(); - info(logging, 'astro', 'Continuing with previous valid configuration\n'); - await startDevServer({ isRestart: true }); - } + if (restartInFlight) return; + + let shouldRestart = false; + + // If the config file changed, reload the config and restart the server. + shouldRestart = configFlag + ? // If --config is specified, only watch changes for this file + !!configFlagPath && normalizePath(configFlagPath) === normalizePath(changedFile) + : // Otherwise, watch for any astro.config.* file changes in project root + new RegExp( + `${normalizePath(resolvedRoot)}.*astro\.config\.((mjs)|(cjs)|(js)|(ts))$` + ).test(normalizePath(changedFile)); + + if (!shouldRestart && settings.watchFiles.length > 0) { + // If the config file didn't change, check if any of the watched files changed. + shouldRestart = settings.watchFiles.some( + (path) => normalizePath(path) === normalizePath(changedFile) + ); + } + + if (!shouldRestart) return; + + restartInFlight = true; + console.clear(); + try { + const newConfig = await openConfig({ + cwd: root, + flags, + cmd, + logging, + isRestart: true, + }); + info(logging, 'astro', logMsg + '\n'); + let astroConfig = newConfig.astroConfig; + settings = createSettings(astroConfig, root); + await stop(); + await startDevServer({ isRestart: true }); + } catch (e) { + await handleConfigError(e, { cwd: root, flags, logging }); + await stop(); + info(logging, 'astro', 'Continuing with previous valid configuration\n'); + await startDevServer({ isRestart: true }); } }; diff --git a/packages/astro/src/config/index.ts b/packages/astro/src/config/index.ts index 8b38ed354c3b..6601a7a5acc8 100644 --- a/packages/astro/src/config/index.ts +++ b/packages/astro/src/config/index.ts @@ -16,7 +16,7 @@ export function getViteConfig(inlineConfig: UserConfig) { const [ { mergeConfig }, { nodeLogDestination }, - { openConfig, createSettings, loadTSConfig }, + { openConfig, createSettings }, { createVite }, { runHookConfigSetup, runHookConfigDone }, ] = await Promise.all([ @@ -34,12 +34,7 @@ export function getViteConfig(inlineConfig: UserConfig) { cmd, logging, }); - const initialTsConfig = loadTSConfig(inlineConfig.root); - const settings = createSettings({ - config, - tsConfig: initialTsConfig?.config, - tsConfigPath: initialTsConfig?.path, - }); + const settings = createSettings(config, inlineConfig.root); await runHookConfigSetup({ settings, command: cmd, logging }); const viteConfig = await createVite( { diff --git a/packages/astro/src/core/config/config.ts b/packages/astro/src/core/config/config.ts index bbaeee18657f..07f6b03203f3 100644 --- a/packages/astro/src/core/config/config.ts +++ b/packages/astro/src/core/config/config.ts @@ -135,7 +135,7 @@ interface LoadConfigOptions { validate?: boolean; logging: LogOptions; /** Invalidate when reloading a previously loaded config */ - isConfigReload?: boolean; + isRestart?: boolean; } /** @@ -222,7 +222,7 @@ async function tryLoadConfig( flags: configOptions.flags, }); if (!configPath) return undefined; - if (configOptions.isConfigReload) { + if (configOptions.isRestart) { // Hack: Write config to temporary file at project root // This invalidates and reloads file contents when using ESM imports or "resolve" const tempConfigPath = path.join( diff --git a/packages/astro/src/core/config/settings.ts b/packages/astro/src/core/config/settings.ts index a696977264bf..8b7bfbec88f0 100644 --- a/packages/astro/src/core/config/settings.ts +++ b/packages/astro/src/core/config/settings.ts @@ -1,24 +1,21 @@ -import type { TsConfigJson } from 'tsconfig-resolver'; import type { AstroConfig, AstroSettings } from '../../@types/astro'; import jsxRenderer from '../../jsx/renderer.js'; +import { loadTSConfig } from './tsconfig.js'; -export interface CreateSettings { - config: AstroConfig; - tsConfig?: TsConfigJson; - tsConfigPath?: string; -} +export function createSettings(config: AstroConfig, cwd?: string): AstroSettings { + const tsconfig = loadTSConfig(cwd); -export function createSettings({ config, tsConfig, tsConfigPath }: CreateSettings): AstroSettings { return { config, - tsConfig, - tsConfigPath, + tsConfig: tsconfig?.config, + tsConfigPath: tsconfig?.path, adapter: undefined, injectedRoutes: [], pageExtensions: ['.astro', '.md', '.html'], renderers: [jsxRenderer], scripts: [], + watchFiles: tsconfig?.exists ? [tsconfig.path, ...tsconfig.extendedPaths] : [], }; } diff --git a/packages/astro/src/core/dev/index.ts b/packages/astro/src/core/dev/index.ts index 2979deeff886..bd36596718e6 100644 --- a/packages/astro/src/core/dev/index.ts +++ b/packages/astro/src/core/dev/index.ts @@ -35,7 +35,12 @@ export default async function dev( const devStart = performance.now(); applyPolyfill(); await options.telemetry.record([]); - settings = await runHookConfigSetup({ settings, command: 'dev', logging: options.logging }); + settings = await runHookConfigSetup({ + settings, + command: 'dev', + logging: options.logging, + isRestart: options.isRestart, + }); const { host, port } = settings.config.server; const { isRestart = false } = options; diff --git a/packages/astro/src/integrations/index.ts b/packages/astro/src/integrations/index.ts index d533a1a8e0a1..9a9acd2dd29a 100644 --- a/packages/astro/src/integrations/index.ts +++ b/packages/astro/src/integrations/index.ts @@ -1,5 +1,6 @@ import { bold } from 'kleur/colors'; import type { AddressInfo } from 'net'; +import { fileURLToPath } from 'node:url'; import type { InlineConfig, ViteDevServer } from 'vite'; import { AstroConfig, @@ -37,10 +38,12 @@ export async function runHookConfigSetup({ settings, command, logging, + isRestart = false, }: { settings: AstroSettings; command: 'dev' | 'build'; logging: LogOptions; + isRestart?: boolean; }): Promise { // An adapter is an integration, so if one is provided push it. if (settings.config.adapter) { @@ -66,6 +69,7 @@ export async function runHookConfigSetup({ const hooks: HookParameters<'astro:config:setup'> = { config: updatedConfig, command, + isRestart, addRenderer(renderer: AstroRenderer) { if (!renderer.name) { throw new Error(`Integration ${bold(integration.name)} has an unnamed renderer.`); @@ -86,6 +90,9 @@ export async function runHookConfigSetup({ injectRoute: (injectRoute) => { updatedSettings.injectedRoutes.push(injectRoute); }, + addWatchFile: (path) => { + updatedSettings.watchFiles.push(path instanceof URL ? fileURLToPath(path) : path); + }, }; // Semi-private `addPageExtension` hook function addPageExtension(...input: (string | string[])[]) { diff --git a/packages/astro/test/test-utils.js b/packages/astro/test/test-utils.js index c1fe6958c65c..a4f9191f962f 100644 --- a/packages/astro/test/test-utils.js +++ b/packages/astro/test/test-utils.js @@ -3,7 +3,7 @@ import { polyfill } from '@astrojs/webapi'; import fs from 'fs'; import { fileURLToPath } from 'url'; import { loadConfig } from '../dist/core/config/config.js'; -import { createSettings, loadTSConfig } from '../dist/core/config/index.js'; +import { createSettings } from '../dist/core/config/index.js'; import dev from '../dist/core/dev/index.js'; import build from '../dist/core/build/index.js'; import preview from '../dist/core/preview/index.js'; @@ -95,12 +95,7 @@ export async function loadFixture(inlineConfig) { if (inlineConfig.base && !inlineConfig.base.endsWith('/')) { config.base = inlineConfig.base + '/'; } - let tsconfig = loadTSConfig(fileURLToPath(cwd)); - let settings = createSettings({ - config, - tsConfig: tsconfig?.config, - tsConfigPath: tsconfig?.path, - }); + let settings = createSettings(config, fileURLToPath(cwd)); if (config.integrations.find((integration) => integration.name === '@astrojs/mdx')) { // Enable default JSX integration. It needs to come first, so unshift rather than push! const { default: jsxRenderer } = await import('astro/jsx/renderer.js'); diff --git a/packages/integrations/tailwind/src/index.ts b/packages/integrations/tailwind/src/index.ts index 1e5008f6ce67..2f1b68e28fc0 100644 --- a/packages/integrations/tailwind/src/index.ts +++ b/packages/integrations/tailwind/src/index.ts @@ -1,6 +1,7 @@ -import load from '@proload/core'; +import load, { resolve } from '@proload/core'; import type { AstroIntegration } from 'astro'; import autoprefixerPlugin from 'autoprefixer'; +import fs from 'fs/promises'; import path from 'path'; import tailwindPlugin, { Config as TailwindConfig } from 'tailwindcss'; import resolveConfig from 'tailwindcss/resolveConfig.js'; @@ -17,7 +18,7 @@ function getDefaultTailwindConfig(srcUrl: URL): TailwindConfig { }) as TailwindConfig; } -async function getUserConfig(root: URL, configPath?: string) { +async function getUserConfig(root: URL, configPath?: string, isRestart = false) { const resolvedRoot = fileURLToPath(root); let userConfigPath: string | undefined; @@ -26,7 +27,42 @@ async function getUserConfig(root: URL, configPath?: string) { userConfigPath = fileURLToPath(new URL(configPathWithLeadingSlash, root)); } - return await load('tailwind', { mustExist: false, cwd: resolvedRoot, filePath: userConfigPath }); + if (isRestart) { + // Hack: Write config to temporary file at project root + // This invalidates and reloads file contents when using ESM imports or "resolve" + const resolvedConfigPath = (await resolve('tailwind', { + mustExist: false, + cwd: resolvedRoot, + filePath: userConfigPath, + })) as string; + + const { dir, base } = path.parse(resolvedConfigPath); + const tempConfigPath = path.join(dir, `.temp.${Date.now()}.${base}`); + await fs.copyFile(resolvedConfigPath, tempConfigPath); + + const result = await load('tailwind', { + mustExist: false, + cwd: resolvedRoot, + filePath: tempConfigPath, + }); + + try { + await fs.unlink(tempConfigPath); + } catch { + /** file already removed */ + } + + return { + ...result, + filePath: resolvedConfigPath, + }; + } else { + return await load('tailwind', { + mustExist: false, + cwd: resolvedRoot, + filePath: userConfigPath, + }); + } } type TailwindOptions = @@ -55,9 +91,9 @@ export default function tailwindIntegration(options?: TailwindOptions): AstroInt return { name: '@astrojs/tailwind', hooks: { - 'astro:config:setup': async ({ config, injectScript }) => { + 'astro:config:setup': async ({ config, injectScript, addWatchFile, isRestart }) => { // Inject the Tailwind postcss plugin - const userConfig = await getUserConfig(config.root, customConfigPath); + const userConfig = await getUserConfig(config.root, customConfigPath, isRestart); if (customConfigPath && !userConfig?.value) { throw new Error( @@ -67,6 +103,10 @@ export default function tailwindIntegration(options?: TailwindOptions): AstroInt ); } + if (userConfig?.filePath) { + addWatchFile(userConfig.filePath); + } + const tailwindConfig: TailwindConfig = (userConfig?.value as TailwindConfig) ?? getDefaultTailwindConfig(config.srcDir); config.style.postcss.plugins.push(tailwindPlugin(tailwindConfig)); From 0ea6187f95f68d1a3ed98ef4d660e71206883bac Mon Sep 17 00:00:00 2001 From: Erika <3019731+Princesseuh@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:11:25 -0300 Subject: [PATCH 13/14] Added support for updating tsconfig.json when using astro add (#4959) * Added support for updating tsconfig.json when using astro add * Refactor * Remove unneeded change * Fix build failling due to type difference * Extend changeset description --- .changeset/giant-news-speak.md | 18 ++ package.json | 3 + packages/astro/package.json | 1 + packages/astro/src/core/add/index.ts | 197 +++++++++++++++--- packages/astro/src/core/config/index.ts | 2 +- packages/astro/src/core/config/tsconfig.ts | 101 ++++++++- packages/astro/src/core/util.ts | 4 +- .../tsconfig-handling/invalid/tsconfig.json | 3 + .../tsconfig-handling/jsconfig/jsconfig.json | 3 + .../tsconfig-handling/missing/.gitkeep | 0 .../tsconfig-handling/nested-folder/.gitkeep | 0 .../fixtures/tsconfig-handling/tsconfig.json | 3 + .../test/units/config/config-tsconfig.test.js | 68 ++++++ packages/integrations/react/package.json | 3 +- pnpm-lock.yaml | 18 +- 15 files changed, 388 insertions(+), 36 deletions(-) create mode 100644 .changeset/giant-news-speak.md create mode 100644 packages/astro/test/fixtures/tsconfig-handling/invalid/tsconfig.json create mode 100644 packages/astro/test/fixtures/tsconfig-handling/jsconfig/jsconfig.json create mode 100644 packages/astro/test/fixtures/tsconfig-handling/missing/.gitkeep create mode 100644 packages/astro/test/fixtures/tsconfig-handling/nested-folder/.gitkeep create mode 100644 packages/astro/test/fixtures/tsconfig-handling/tsconfig.json create mode 100644 packages/astro/test/units/config/config-tsconfig.test.js diff --git a/.changeset/giant-news-speak.md b/.changeset/giant-news-speak.md new file mode 100644 index 000000000000..f0fb38d64b2e --- /dev/null +++ b/.changeset/giant-news-speak.md @@ -0,0 +1,18 @@ +--- +'astro': minor +--- + +Added support for updating TypeScript settings automatically when using `astro add` + +The `astro add` command will now automatically update your `tsconfig.json` with the proper TypeScript settings needed for the chosen frameworks. + +For instance, typing `astro add solid` will update your `tsconfig.json` with the following settings, per [Solid's TypeScript guide](https://www.solidjs.com/guides/typescript): + +```json +{ + "compilerOptions": { + "jsx": "preserve", + "jsxImportSource": "solid-js" + } +} +``` diff --git a/package.json b/package.json index e1d71d61ce4a..cd298e1ffc78 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,9 @@ } } }, + "overrides": { + "tsconfig-resolver>type-fest": "3.0.0" + }, "peerDependencyRules": { "ignoreMissing": [ "rollup", diff --git a/packages/astro/package.json b/packages/astro/package.json index 252a169f6ef3..16a9a004de70 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -116,6 +116,7 @@ "common-ancestor-path": "^1.0.1", "cookie": "^0.5.0", "debug": "^4.3.4", + "deepmerge-ts": "^4.2.2", "diff": "^5.1.0", "eol": "^0.9.1", "es-module-lexer": "^0.10.5", diff --git a/packages/astro/src/core/add/index.ts b/packages/astro/src/core/add/index.ts index 0f4e387edf43..396bf7eb9b0c 100644 --- a/packages/astro/src/core/add/index.ts +++ b/packages/astro/src/core/add/index.ts @@ -3,14 +3,20 @@ import boxen from 'boxen'; import { diffWords } from 'diff'; import { execa } from 'execa'; import { existsSync, promises as fs } from 'fs'; -import { bold, cyan, dim, green, magenta, yellow } from 'kleur/colors'; +import { bold, cyan, dim, green, magenta, red, yellow } from 'kleur/colors'; import ora from 'ora'; import path from 'path'; import preferredPM from 'preferred-pm'; import prompts from 'prompts'; import { fileURLToPath, pathToFileURL } from 'url'; import type yargs from 'yargs-parser'; -import { resolveConfigPath } from '../config/index.js'; +import { loadTSConfig, resolveConfigPath } from '../config/index.js'; +import { + defaultTSConfig, + frameworkWithTSSettings, + presets, + updateTSConfigForFramework, +} from '../config/tsconfig.js'; import { debug, info, LogOptions } from '../logger/core.js'; import * as msg from '../messages.js'; import { printHelp } from '../messages.js'; @@ -239,7 +245,7 @@ export default async function add(names: string[], { cwd, flags, logging, teleme switch (configResult) { case UpdateResult.cancelled: { info(logging, null, msg.cancelled(`Your configuration has ${bold('NOT')} been updated.`)); - return; + break; } case UpdateResult.none: { const pkgURL = new URL('./package.json', configURL); @@ -253,12 +259,12 @@ export default async function add(names: string[], { cwd, flags, logging, teleme ); if (missingDeps.length === 0) { info(logging, null, msg.success(`Configuration up-to-date.`)); - return; + break; } } info(logging, null, msg.success(`Configuration up-to-date.`)); - return; + break; } default: { const list = integrations.map((integration) => ` - ${integration.packageName}`).join('\n'); @@ -273,6 +279,29 @@ export default async function add(names: string[], { cwd, flags, logging, teleme ); } } + + const updateTSConfigResult = await updateTSConfig(cwd, logging, integrations, flags); + + switch (updateTSConfigResult) { + case UpdateResult.none: { + break; + } + case UpdateResult.cancelled: { + info( + logging, + null, + msg.cancelled(`Your TypeScript configuration has ${bold('NOT')} been updated.`) + ); + break; + } + case UpdateResult.failure: { + throw new Error( + `Unknown error parsing tsconfig.json or jsconfig.json. Could not update TypeScript settings.` + ); + } + default: + info(logging, null, msg.success(`Successfully updated TypeScript settings`)); + } } function isAdapter( @@ -471,29 +500,13 @@ async function updateAstroConfig({ return UpdateResult.none; } - let changes = []; - for (const change of diffWords(input, output)) { - let lines = change.value.trim().split('\n').slice(0, change.count); - if (lines.length === 0) continue; - if (change.added) { - if (!change.value.trim()) continue; - changes.push(change.value); - } - } - if (changes.length === 0) { - return UpdateResult.none; - } + const diff = getDiffContent(input, output); - let diffed = output; - for (let newContent of changes) { - const coloredOutput = newContent - .split('\n') - .map((ln) => (ln ? green(ln) : '')) - .join('\n'); - diffed = diffed.replace(newContent, coloredOutput); + if (!diff) { + return UpdateResult.none; } - const message = `\n${boxen(diffed, { + const message = `\n${boxen(diff, { margin: 0.5, padding: 0.5, borderStyle: 'round', @@ -533,6 +546,7 @@ interface InstallCommand { flags: string[]; dependencies: string[]; } + async function getInstallIntegrationsCommand({ integrations, cwd = process.cwd(), @@ -727,6 +741,113 @@ export async function validateIntegrations(integrations: string[]): Promise { + const integrations = integrationsInfo.map( + (integration) => integration.id as frameworkWithTSSettings + ); + const firstIntegrationWithTSSettings = integrations.find((integration) => + presets.has(integration) + ); + + if (!firstIntegrationWithTSSettings) { + return UpdateResult.none; + } + + const inputConfig = loadTSConfig(cwd, false); + const configFileName = inputConfig.exists ? inputConfig.path.split('/').pop() : 'tsconfig.json'; + + if (inputConfig.reason === 'invalid-config') { + return UpdateResult.failure; + } + + if (inputConfig.reason === 'not-found') { + debug('add', "Couldn't find tsconfig.json or jsconfig.json, generating one"); + } + + const outputConfig = updateTSConfigForFramework( + inputConfig.exists ? inputConfig.config : defaultTSConfig, + firstIntegrationWithTSSettings + ); + + const input = inputConfig.exists ? JSON.stringify(inputConfig.config, null, 2) : ''; + const output = JSON.stringify(outputConfig, null, 2); + const diff = getDiffContent(input, output); + + if (!diff) { + return UpdateResult.none; + } + + const message = `\n${boxen(diff, { + margin: 0.5, + padding: 0.5, + borderStyle: 'round', + title: configFileName, + })}\n`; + + info( + logging, + null, + `\n ${magenta(`Astro will make the following changes to your ${configFileName}:`)}\n${message}` + ); + + // Every major framework, apart from Vue and Svelte requires different `jsxImportSource`, as such it's impossible to config + // all of them in the same `tsconfig.json`. However, Vue only need `"jsx": "preserve"` for template intellisense which + // can be compatible with some frameworks (ex: Solid), though ultimately run into issues on the current version of Volar + const conflictingIntegrations = [...Object.keys(presets).filter((config) => config !== 'vue')]; + const hasConflictingIntegrations = + integrations.filter((integration) => presets.has(integration)).length > 1 && + integrations.filter((integration) => conflictingIntegrations.includes(integration)).length > 0; + + if (hasConflictingIntegrations) { + info( + logging, + null, + red( + ` ${bold( + 'Caution:' + )} Selected UI frameworks require conflicting tsconfig.json settings, as such only settings for ${bold( + firstIntegrationWithTSSettings + )} were used.\n More information: https://docs.astro.build/en/guides/typescript/#errors-typing-multiple-jsx-frameworks-at-the-same-time\n` + ) + ); + } + + // TODO: Remove this when Volar 1.0 ships, as it fixes the issue. + // Info: https://github.com/johnsoncodehk/volar/discussions/592#discussioncomment-3660903 + if ( + integrations.includes('vue') && + hasConflictingIntegrations && + ((outputConfig.compilerOptions?.jsx !== 'preserve' && + outputConfig.compilerOptions?.jsxImportSource !== undefined) || + integrations.includes('react')) // https://docs.astro.build/en/guides/typescript/#vue-components-are-mistakenly-typed-by-the-typesreact-package-when-installed + ) { + info( + logging, + null, + red( + ` ${bold( + 'Caution:' + )} Using Vue together with a JSX framework can lead to type checking issues inside Vue files.\n More information: https://docs.astro.build/en/guides/typescript/#vue-components-are-mistakenly-typed-by-the-typesreact-package-when-installed\n` + ) + ); + } + + if (await askToContinue({ flags })) { + await fs.writeFile(inputConfig?.path ?? path.join(cwd, 'tsconfig.json'), output, { + encoding: 'utf-8', + }); + debug('add', `Updated ${configFileName} file`); + return UpdateResult.updated; + } else { + return UpdateResult.cancelled; + } +} + function parseIntegrationName(spec: string) { const result = parseNpmName(spec); if (!result) return; @@ -755,3 +876,29 @@ async function askToContinue({ flags }: { flags: yargs.Arguments }): Promise (ln ? green(ln) : '')) + .join('\n'); + diffed = diffed.replace(newContent, coloredOutput); + } + + return diffed; +} diff --git a/packages/astro/src/core/config/index.ts b/packages/astro/src/core/config/index.ts index 4984b3b91623..195ab1430670 100644 --- a/packages/astro/src/core/config/index.ts +++ b/packages/astro/src/core/config/index.ts @@ -7,4 +7,4 @@ export { } from './config.js'; export type { AstroConfigSchema } from './schema'; export { createSettings } from './settings.js'; -export { loadTSConfig } from './tsconfig.js'; +export { loadTSConfig, updateTSConfigForFramework } from './tsconfig.js'; diff --git a/packages/astro/src/core/config/tsconfig.ts b/packages/astro/src/core/config/tsconfig.ts index ddfa72300cb6..e0ec7578b020 100644 --- a/packages/astro/src/core/config/tsconfig.ts +++ b/packages/astro/src/core/config/tsconfig.ts @@ -1,11 +1,100 @@ +import { deepmerge } from 'deepmerge-ts'; import * as tsr from 'tsconfig-resolver'; +import { existsSync } from 'fs'; +import { join } from 'path'; -export function loadTSConfig(cwd: string | undefined): tsr.TsConfigResult | undefined { - for (const searchName of ['tsconfig.json', 'jsconfig.json']) { - const config = tsr.tsconfigResolverSync({ cwd, searchName }); - if (config.exists) { - return config; +export const defaultTSConfig: tsr.TsConfigJson = { extends: 'astro/tsconfigs/base' }; + +export type frameworkWithTSSettings = 'vue' | 'react' | 'preact' | 'solid-js'; +// The following presets unfortunately cannot be inside the specific integrations, as we need +// them even in cases where the integrations are not installed +export const presets = new Map([ + [ + 'vue', // Settings needed for template intellisense when using Volar + { + compilerOptions: { + jsx: 'preserve', + }, + }, + ], + [ + 'react', // Default TypeScript settings, but we need to redefine them in case the users changed them previously + { + compilerOptions: { + jsx: 'react-jsx', + jsxImportSource: 'react', + }, + }, + ], + [ + 'preact', // https://preactjs.com/guide/v10/typescript/#typescript-configuration + { + compilerOptions: { + jsx: 'react-jsx', + jsxImportSource: 'preact', + }, + }, + ], + [ + 'solid-js', // https://www.solidjs.com/guides/typescript#configuring-typescript + { + compilerOptions: { + jsx: 'preserve', + jsxImportSource: 'solid-js', + }, + }, + ], +]); + +/** + * Load a tsconfig.json or jsconfig.json is the former is not found + * @param cwd Directory to start from + * @param resolve Determine if the function should go up directories like TypeScript would + */ +export function loadTSConfig(cwd: string | undefined, resolve = true): tsr.TsConfigResult { + cwd = cwd ?? process.cwd(); + let config = tsr.tsconfigResolverSync({ + cwd, + filePath: resolve ? undefined : cwd, + }); + + // When a direct filepath is provided to `tsconfigResolver`, it'll instead return invalid-config even when + // the file does not exists. We'll manually handle this so we can provide better errors to users + if (!resolve && config.reason === 'invalid-config' && !existsSync(join(cwd, 'tsconfig.json'))) { + config = { reason: 'not-found', path: undefined, exists: false }; + } else { + return config; + } + + // If we couldn't find a tsconfig.json, try to load a jsconfig.json instead + if (config.reason === 'not-found') { + const jsconfig = tsr.tsconfigResolverSync({ + cwd, + filePath: resolve ? undefined : cwd, + searchName: 'jsconfig.json', + }); + + if ( + !resolve && + jsconfig.reason === 'invalid-config' && + !existsSync(join(cwd, 'jsconfig.json')) + ) { + return { reason: 'not-found', path: undefined, exists: false }; + } else { + return jsconfig; } } - return undefined; + + return config; +} + +export function updateTSConfigForFramework( + target: tsr.TsConfigJson, + framework: frameworkWithTSSettings +): tsr.TsConfigJson { + if (!presets.has(framework)) { + return target; + } + + return deepmerge(target, presets.get(framework)!); } diff --git a/packages/astro/src/core/util.ts b/packages/astro/src/core/util.ts index 70cd7d2acb63..ed049ff41665 100644 --- a/packages/astro/src/core/util.ts +++ b/packages/astro/src/core/util.ts @@ -226,8 +226,8 @@ export function resolveJsToTs(filePath: string) { } export const AggregateError = - typeof globalThis.AggregateError !== 'undefined' - ? globalThis.AggregateError + typeof (globalThis as any).AggregateError !== 'undefined' + ? (globalThis as any).AggregateError : class extends Error { errors: Array = []; constructor(errors: Iterable, message?: string | undefined) { diff --git a/packages/astro/test/fixtures/tsconfig-handling/invalid/tsconfig.json b/packages/astro/test/fixtures/tsconfig-handling/invalid/tsconfig.json new file mode 100644 index 000000000000..0cad03048958 --- /dev/null +++ b/packages/astro/test/fixtures/tsconfig-handling/invalid/tsconfig.json @@ -0,0 +1,3 @@ +{ + "buildOptions": +} diff --git a/packages/astro/test/fixtures/tsconfig-handling/jsconfig/jsconfig.json b/packages/astro/test/fixtures/tsconfig-handling/jsconfig/jsconfig.json new file mode 100644 index 000000000000..ee8c7cd81e58 --- /dev/null +++ b/packages/astro/test/fixtures/tsconfig-handling/jsconfig/jsconfig.json @@ -0,0 +1,3 @@ +{ + "files": ["im-a-test-js"] +} diff --git a/packages/astro/test/fixtures/tsconfig-handling/missing/.gitkeep b/packages/astro/test/fixtures/tsconfig-handling/missing/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/astro/test/fixtures/tsconfig-handling/nested-folder/.gitkeep b/packages/astro/test/fixtures/tsconfig-handling/nested-folder/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/astro/test/fixtures/tsconfig-handling/tsconfig.json b/packages/astro/test/fixtures/tsconfig-handling/tsconfig.json new file mode 100644 index 000000000000..c676c0234f52 --- /dev/null +++ b/packages/astro/test/fixtures/tsconfig-handling/tsconfig.json @@ -0,0 +1,3 @@ +{ + "files": ["im-a-test"] +} diff --git a/packages/astro/test/units/config/config-tsconfig.test.js b/packages/astro/test/units/config/config-tsconfig.test.js new file mode 100644 index 000000000000..3e53278faeba --- /dev/null +++ b/packages/astro/test/units/config/config-tsconfig.test.js @@ -0,0 +1,68 @@ +import { expect } from 'chai'; +import { fileURLToPath } from 'url'; +import { loadTSConfig, updateTSConfigForFramework } from '../../../dist/core/config/index.js'; +import * as path from 'path'; +import * as tsr from 'tsconfig-resolver'; + +const cwd = fileURLToPath(new URL('../../fixtures/tsconfig-handling/', import.meta.url)); + +describe('TSConfig handling', () => { + beforeEach(() => { + // `tsconfig-resolver` has a weird internal cache that only vaguely respect its own rules when not resolving + // so we need to clear it before each test or we'll get false positives. This should only be relevant in tests. + tsr.clearCache(); + }); + + describe('tsconfig / jsconfig loading', () => { + it('can load tsconfig.json', () => { + const config = loadTSConfig(cwd); + + expect(config.exists).to.equal(true); + expect(config.config.files).to.deep.equal(['im-a-test']); + }); + + it('can resolve tsconfig.json up directories', () => { + const config = loadTSConfig(path.join(cwd, 'nested-folder')); + + expect(config.exists).to.equal(true); + expect(config.path).to.equal(path.join(cwd, 'tsconfig.json')); + expect(config.config.files).to.deep.equal(['im-a-test']); + }); + + it('can fallback to jsconfig.json if tsconfig.json does not exists', () => { + const config = loadTSConfig(path.join(cwd, 'jsconfig'), false); + + expect(config.exists).to.equal(true); + expect(config.path).to.equal(path.join(cwd, 'jsconfig', 'jsconfig.json')); + expect(config.config.files).to.deep.equal(['im-a-test-js']); + }); + + it('properly return errors when not resolving', () => { + const invalidConfig = loadTSConfig(path.join(cwd, 'invalid'), false); + const missingConfig = loadTSConfig(path.join(cwd, 'missing'), false); + + expect(invalidConfig.exists).to.equal(false); + expect(invalidConfig.reason).to.equal('invalid-config'); + + expect(missingConfig.exists).to.equal(false); + expect(missingConfig.reason).to.equal('not-found'); + }); + }); + + describe('tsconfig / jsconfig updates', () => { + it('can update a tsconfig with a framework config', () => { + const config = loadTSConfig(cwd); + const updatedConfig = updateTSConfigForFramework(config.config, 'react'); + + expect(config.config).to.not.equal('react-jsx'); + expect(updatedConfig.compilerOptions.jsx).to.equal('react-jsx'); + }); + + it('produce no changes on invalid frameworks', () => { + const config = loadTSConfig(cwd); + const updatedConfig = updateTSConfigForFramework(config.config, 'doesnt-exist'); + + expect(config.config).to.deep.equal(updatedConfig); + }); + }); +}); diff --git a/packages/integrations/react/package.json b/packages/integrations/react/package.json index 7b7b7644fe0e..980752eec5a5 100644 --- a/packages/integrations/react/package.json +++ b/packages/integrations/react/package.json @@ -47,7 +47,8 @@ }, "peerDependencies": { "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0" + "react-dom": "^17.0.2 || ^18.0.0", + "@types/react": "^17.0.50 || ^18.0.21" }, "engines": { "node": "^14.18.0 || >=16.12.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67501c8385be..b9258f1bb20d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5 +1,8 @@ lockfileVersion: 5.4 +overrides: + tsconfig-resolver>type-fest: 3.0.0 + packageExtensionsChecksum: 01871422d489547c532184effb134b35 patchedDependencies: @@ -405,6 +408,7 @@ importers: common-ancestor-path: ^1.0.1 cookie: ^0.5.0 debug: ^4.3.4 + deepmerge-ts: ^4.2.2 diff: ^5.1.0 eol: ^0.9.1 es-module-lexer: ^0.10.5 @@ -475,6 +479,7 @@ importers: common-ancestor-path: 1.0.1 cookie: 0.5.0 debug: 4.3.4 + deepmerge-ts: 4.2.2 diff: 5.1.0 eol: 0.9.1 es-module-lexer: 0.10.5 @@ -11257,6 +11262,11 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /deepmerge-ts/4.2.2: + resolution: {integrity: sha512-Ka3Kb21tiWjvQvS9U+1Dx+aqFAHsdTnMdYptLTmC2VAmDFMugWMY1e15aTODstipmCun8iNuqeSfcx6rsUUk0Q==} + engines: {node: '>=12.4.0'} + dev: false + /deepmerge/4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} @@ -17177,7 +17187,8 @@ packages: json5: 2.2.1 resolve: 1.22.1 strip-bom: 4.0.0 - type-fest: 0.13.1 + type-fest: 3.0.0 + dev: false /tsconfig/7.0.0: resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==} @@ -17402,6 +17413,11 @@ packages: engines: {node: '>=12.20'} dev: false + /type-fest/3.0.0: + resolution: {integrity: sha512-MINvUN5ug9u+0hJDzSZNSnuKXI8M4F5Yvb6SQZ2CYqe7SgKXKOosEcU5R7tRgo85I6eAVBbkVF7TCvB4AUK2xQ==} + engines: {node: '>=14.16'} + dev: false + /type-is/1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} From 07d16ff43ce6a2bc4550e56cbac7c6b4ce0c03ba Mon Sep 17 00:00:00 2001 From: Princesseuh Date: Wed, 12 Oct 2022 18:13:53 +0000 Subject: [PATCH 14/14] [ci] format --- packages/astro/src/core/config/tsconfig.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/astro/src/core/config/tsconfig.ts b/packages/astro/src/core/config/tsconfig.ts index e0ec7578b020..203a1f6348be 100644 --- a/packages/astro/src/core/config/tsconfig.ts +++ b/packages/astro/src/core/config/tsconfig.ts @@ -1,7 +1,7 @@ import { deepmerge } from 'deepmerge-ts'; -import * as tsr from 'tsconfig-resolver'; import { existsSync } from 'fs'; import { join } from 'path'; +import * as tsr from 'tsconfig-resolver'; export const defaultTSConfig: tsr.TsConfigJson = { extends: 'astro/tsconfigs/base' };