diff --git a/.changeset/add-on-prettify-callback.md b/.changeset/add-on-prettify-callback.md new file mode 100644 index 00000000000..40640e5571c --- /dev/null +++ b/.changeset/add-on-prettify-callback.md @@ -0,0 +1,6 @@ +--- +"@graphiql/react": minor +"graphiql": minor +--- + +Add support for `onPrettifyQuery` callback to enable customised query formatting diff --git a/.changeset/breezy-chicken-crash.md b/.changeset/breezy-chicken-crash.md new file mode 100644 index 00000000000..1a3bff1737e --- /dev/null +++ b/.changeset/breezy-chicken-crash.md @@ -0,0 +1,12 @@ +--- +'@graphiql/plugin-code-exporter': major +--- + +`style.css` import was changed + +## Migration + +```diff +-import '@graphiql/plugin-code-exporter/dist/style.css'; ++import '@graphiql/plugin-code-exporter/style.css'; +``` diff --git a/.changeset/few-steaks-clap.md b/.changeset/few-steaks-clap.md new file mode 100644 index 00000000000..7eff915641d --- /dev/null +++ b/.changeset/few-steaks-clap.md @@ -0,0 +1,5 @@ +--- +'graphiql': major +--- + +show tabs even there is only 1 tab diff --git a/.changeset/flat-lies-heal.md b/.changeset/flat-lies-heal.md new file mode 100644 index 00000000000..dfe39818386 --- /dev/null +++ b/.changeset/flat-lies-heal.md @@ -0,0 +1,7 @@ +--- +'@graphiql/react': minor +'@graphiql/plugin-explorer': minor +'@graphiql/plugin-code-exporter': minor +--- + +generate types with `vite-plugin-dts` diff --git a/.changeset/gentle-bugs-mix.md b/.changeset/gentle-bugs-mix.md new file mode 100644 index 00000000000..9bb1ae56ab2 --- /dev/null +++ b/.changeset/gentle-bugs-mix.md @@ -0,0 +1,19 @@ +--- +'graphiql': major +--- + +remove default export + +## Migration + +### Before + +```jsx +import GraphiQL from 'graphiql' +``` + +### After + +```jsx +import { GraphiQL } from 'graphiql' +``` diff --git a/.changeset/good-vans-refuse.md b/.changeset/good-vans-refuse.md new file mode 100644 index 00000000000..ef8a4038150 --- /dev/null +++ b/.changeset/good-vans-refuse.md @@ -0,0 +1,12 @@ +--- +'@graphiql/react': major +--- + +`style.css` import was changed + +## Migration + +```diff +-import '@graphiql/react/dist/style.css'; ++import '@graphiql/react/style.css'; +``` diff --git a/.changeset/green-pugs-worry.md b/.changeset/green-pugs-worry.md new file mode 100644 index 00000000000..4342a6bc271 --- /dev/null +++ b/.changeset/green-pugs-worry.md @@ -0,0 +1,5 @@ +--- +'graphiql': major +--- + +remove `disableTabs` option diff --git a/.changeset/healthy-onions-bake.md b/.changeset/healthy-onions-bake.md new file mode 100644 index 00000000000..37a059e690e --- /dev/null +++ b/.changeset/healthy-onions-bake.md @@ -0,0 +1,5 @@ +--- +'@graphiql/plugin-explorer': patch +--- + +improve explorer styles diff --git a/.changeset/hungry-spiders-cheat.md b/.changeset/hungry-spiders-cheat.md new file mode 100644 index 00000000000..2f22a97f550 --- /dev/null +++ b/.changeset/hungry-spiders-cheat.md @@ -0,0 +1,5 @@ +--- +'graphiql': major +--- + +remove `data-testid="graphiql-container"` diff --git a/.changeset/metal-glasses-bow.md b/.changeset/metal-glasses-bow.md new file mode 100644 index 00000000000..48c99bbf5c7 --- /dev/null +++ b/.changeset/metal-glasses-bow.md @@ -0,0 +1,5 @@ +--- +'graphiql': patch +--- + +update graphql to `16.9.0` and use vite `define` configuration to remove development code from cdn bundle diff --git a/.changeset/nine-meals-happen.md b/.changeset/nine-meals-happen.md new file mode 100644 index 00000000000..34b1551d197 --- /dev/null +++ b/.changeset/nine-meals-happen.md @@ -0,0 +1,6 @@ +--- +'@graphiql/plugin-code-exporter': patch +'@graphiql/plugin-explorer': patch +--- + +fix types incorrect types entry diff --git a/.changeset/old-zebras-knock.md b/.changeset/old-zebras-knock.md new file mode 100644 index 00000000000..a0109290d2e --- /dev/null +++ b/.changeset/old-zebras-knock.md @@ -0,0 +1,5 @@ +--- +'graphiql': minor +--- + +remove `.graphiql-session` class diff --git a/.changeset/olive-mice-hide.md b/.changeset/olive-mice-hide.md new file mode 100644 index 00000000000..2606c7cae1c --- /dev/null +++ b/.changeset/olive-mice-hide.md @@ -0,0 +1,6 @@ +--- +'graphiql': patch +'@graphiql/react': patch +--- + +Respect Markdown format: ignore single newline diff --git a/.changeset/orange-rivers-draw.md b/.changeset/orange-rivers-draw.md new file mode 100644 index 00000000000..f87e0f7e852 --- /dev/null +++ b/.changeset/orange-rivers-draw.md @@ -0,0 +1,9 @@ +--- +'@graphiql/plugin-code-exporter': patch +'@graphiql/plugin-explorer': patch +'@graphiql/react': patch +--- + +use `vite build --watch` instead of `vite` for `dev` script because we don't need development server for them + +do not use `vite-plugin-dts` when generating umd build diff --git a/.changeset/pink-moose-shake.md b/.changeset/pink-moose-shake.md new file mode 100644 index 00000000000..59273f6196b --- /dev/null +++ b/.changeset/pink-moose-shake.md @@ -0,0 +1,5 @@ +--- +'graphiql': patch +--- + +use `position: absolute` for `.graphiql-logo` class diff --git a/.changeset/poor-ghosts-jump.md b/.changeset/poor-ghosts-jump.md new file mode 100644 index 00000000000..79d454d52a5 --- /dev/null +++ b/.changeset/poor-ghosts-jump.md @@ -0,0 +1,13 @@ +--- +'@graphiql/plugin-explorer': major +--- + +`style.css` import was changed + +## Migration + +```diff +-import '@graphiql/plugin-explorer/dist/style.css'; ++import '@graphiql/plugin-explorer/style.css'; +``` + diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000000..4220dda8dcc --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,51 @@ +{ + "mode": "pre", + "tag": "alpha", + "initialVersions": { + "cm6-graphql": "0.0.15", + "codemirror-graphql": "2.0.13", + "graphiql": "3.4.0", + "@graphiql/plugin-code-exporter": "3.0.5", + "@graphiql/plugin-explorer": "3.1.1", + "@graphiql/react": "0.23.0", + "@graphiql/toolkit": "0.9.2", + "graphql-language-service": "5.2.2", + "graphql-language-service-cli": "3.4.2", + "graphql-language-service-server": "2.13.2", + "monaco-graphql": "1.5.3", + "vscode-graphql": "0.11.2", + "vscode-graphql-execution": "0.2.6", + "vscode-graphql-syntax": "1.3.6", + "example-graphiql-webpack": "0.0.0", + "example-monaco-graphql-nextjs": "0.0.0", + "example-monaco-graphql-react-vite": "0.0.0", + "example-monaco-graphql-webpack": "0.0.0" + }, + "changesets": [ + "add-on-prettify-callback", + "breezy-chicken-crash", + "few-steaks-clap", + "flat-lies-heal", + "gentle-bugs-mix", + "good-vans-refuse", + "green-pugs-worry", + "healthy-onions-bake", + "hungry-spiders-cheat", + "metal-glasses-bow", + "nine-meals-happen", + "old-zebras-knock", + "olive-mice-hide", + "orange-rivers-draw", + "pink-moose-shake", + "poor-ghosts-jump", + "red-papayas-fly", + "rich-jobs-kick", + "serious-forks-sip", + "spotty-bulldogs-confess", + "strong-ears-bake", + "thick-adults-leave", + "thirty-spoons-call", + "weak-dancers-jog", + "wicked-seas-laugh" + ] +} diff --git a/.changeset/red-papayas-fly.md b/.changeset/red-papayas-fly.md new file mode 100644 index 00000000000..2d02218e3b5 --- /dev/null +++ b/.changeset/red-papayas-fly.md @@ -0,0 +1,6 @@ +--- +'@graphiql/react': patch +'graphiql': patch +--- + +replace `overflow-y: scroll` with `overflow-y: auto` diff --git a/.changeset/rich-jobs-kick.md b/.changeset/rich-jobs-kick.md new file mode 100644 index 00000000000..9ac63586559 --- /dev/null +++ b/.changeset/rich-jobs-kick.md @@ -0,0 +1,23 @@ +--- +'graphiql': major +--- + +migrate from `webpack` to `vite` + +changed exports + +```diff +-graphiql/graphiql.css ++graphiql/style.css +``` + +changed cdn paths, `dist/index.umd.js` and `dist/style.css` are minified + +```diff +-https://unpkg.com/graphiql/graphiql.js +-https://unpkg.com/graphiql/graphiql.min.js ++https://unpkg.com/graphiql/dist/index.umd.js +-https://unpkg.com/graphiql/graphiql.css +-https://unpkg.com/graphiql/graphiql.min.css ++https://unpkg.com/graphiql/dist/style.css +``` diff --git a/.changeset/serious-forks-sip.md b/.changeset/serious-forks-sip.md new file mode 100644 index 00000000000..e7c0353f66f --- /dev/null +++ b/.changeset/serious-forks-sip.md @@ -0,0 +1,6 @@ +--- +'@graphiql/react': patch +'graphiql': patch +--- + +rollback `position: absolute` style for `.graphiql-logo` because tabs will behind logo diff --git a/.changeset/spotty-bulldogs-confess.md b/.changeset/spotty-bulldogs-confess.md new file mode 100644 index 00000000000..eed64fbd7f1 --- /dev/null +++ b/.changeset/spotty-bulldogs-confess.md @@ -0,0 +1,7 @@ +--- +'@graphiql/react': patch +'graphiql': patch +--- + +- prefer `location` over `window.location` +- prefer `navigator` over `window.navigator` diff --git a/.changeset/strong-ears-bake.md b/.changeset/strong-ears-bake.md new file mode 100644 index 00000000000..45ac76e3ebd --- /dev/null +++ b/.changeset/strong-ears-bake.md @@ -0,0 +1,5 @@ +--- +'graphiql': patch +--- + +use `right: var(--px-16)` instead of `right: 0` for `.graphiql-logo` diff --git a/.changeset/thick-adults-leave.md b/.changeset/thick-adults-leave.md new file mode 100644 index 00000000000..f18738c9905 --- /dev/null +++ b/.changeset/thick-adults-leave.md @@ -0,0 +1,5 @@ +--- +'@graphiql/react': minor +--- + +remove `createComponentGroup` utility in favour `Object.assign` diff --git a/.changeset/thirty-spoons-call.md b/.changeset/thirty-spoons-call.md new file mode 100644 index 00000000000..4853b541b98 --- /dev/null +++ b/.changeset/thirty-spoons-call.md @@ -0,0 +1,8 @@ +--- +"graphiql": major +"@graphiql/react": minor +--- + +- new looks of tabs + +- fix `disableTabs` when `Add tab` button is still shown diff --git a/.changeset/weak-dancers-jog.md b/.changeset/weak-dancers-jog.md new file mode 100644 index 00000000000..8b78fe25302 --- /dev/null +++ b/.changeset/weak-dancers-jog.md @@ -0,0 +1,79 @@ +--- +'graphiql': major +--- + +Remove `toolbar.additionalContent` and `toolbar.additionalComponent` props in favor of `GraphiQL.Toolbar` render props. + +## Migration from `toolbar.additionalContent` + +### Before + +```jsx +My button }} /> +``` + +### After + +```jsx + + + {({ merge, prettify, copy }) => ( + <> + {prettify} + {merge} + {copy} + + + )} + + +``` + +## Migration from `toolbar.additionalComponent` + +### Before + +```jsx +My button; + }, + }} +/> +``` + +### After + +```jsx + + + {({ merge, prettify, copy }) => ( + <> + {prettify} + {merge} + {copy} + + + )} + + +``` + +--- + +Additionally, you can sort default toolbar buttons in different order or remove unneeded buttons for you: + +```jsx + + + {({ prettify, copy }) => ( + <> + {copy /* Copy button will be first instead of default last */} + {/* Merge button is removed from toolbar */} + {prettify} + + )} + + +``` diff --git a/.changeset/wicked-seas-laugh.md b/.changeset/wicked-seas-laugh.md new file mode 100644 index 00000000000..3162059dcaf --- /dev/null +++ b/.changeset/wicked-seas-laugh.md @@ -0,0 +1,5 @@ +--- +'graphiql': patch +--- + +replace `Tooltip`s in tabs with html `title="..."` attribute diff --git a/.eslintrc.js b/.eslintrc.js index 8fb38b34309..520de949a49 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -129,6 +129,16 @@ module.exports = { property: 'localStorage', message: 'Use `localStorage` instead', }, + { + object: 'window', + property: 'location', + message: 'Use `location` instead', + }, + { + object: 'window', + property: 'navigator', + message: 'Use `navigator` instead', + }, ], 'no-return-assign': 'error', 'no-return-await': 'error', diff --git a/.github/workflows/pr-graphql-compat-check.yml b/.github/workflows/pr-graphql-compat-check.yml index 7643e219f43..cd77d4741f5 100644 --- a/.github/workflows/pr-graphql-compat-check.yml +++ b/.github/workflows/pr-graphql-compat-check.yml @@ -4,8 +4,7 @@ on: # only on merge to main. # it's rare that this workflow would # show us an error, but when it does it's important! - branches: - - main + branches: [main, graphiql-v4] # don't run this regression suite if we don't need to paths-ignore: - '**.md' diff --git a/.gitignore b/.gitignore index b6865f3e8a3..157428f1bc2 100644 --- a/.gitignore +++ b/.gitignore @@ -41,12 +41,7 @@ packages/codemirror-graphql/*.d.ts packages/codemirror-graphql/*.map !packages/codemirror-graphql/*.config.js -packages/graphiql/index.html -packages/graphiql/dev.html -packages/graphiql/analyzer.html -packages/graphiql/graphiql*.js -packages/graphiql/*.css -packages/graphiql/*.map packages/graphiql/cypress/screenshots/ +packages/graphiql/cypress/videos/ packages/graphiql/typedoc/ packages/graphiql/webpack/ diff --git a/examples/cm6-graphql-legacy-parcel/package.json b/examples/cm6-graphql-legacy-parcel/package.json index 7397dfc7d0f..faffc8f5c60 100644 --- a/examples/cm6-graphql-legacy-parcel/package.json +++ b/examples/cm6-graphql-legacy-parcel/package.json @@ -25,7 +25,7 @@ "@codemirror/basic-setup": "^0.20.0", "@codemirror/language": "^0.20.0", "codemirror-graphql": "^2.0.2", - "graphql": "^16.8.1" + "graphql": "^16.9.0" }, "devDependencies": { "parcel-bundler": "^1.12.4", diff --git a/examples/cm6-graphql-parcel/package.json b/examples/cm6-graphql-parcel/package.json index 416f31729ec..f6cb82f7761 100644 --- a/examples/cm6-graphql-parcel/package.json +++ b/examples/cm6-graphql-parcel/package.json @@ -29,7 +29,7 @@ "@codemirror/theme-one-dark": "6.0.0", "@codemirror/view": "6.1.2", "cm6-graphql": "0.0.1", - "graphql": "^16.8.1" + "graphql": "^16.9.0" }, "devDependencies": { "parcel": "^2.6.2", diff --git a/examples/graphiql-cdn/index.html b/examples/graphiql-cdn/index.html index 13bad1a3a3d..8deb2388ebe 100644 --- a/examples/graphiql-cdn/index.html +++ b/examples/graphiql-cdn/index.html @@ -42,11 +42,11 @@ favored resource bundler. --> - - + + + + + + + + + + +
+
Loading...
+
+ + + + diff --git a/packages/graphiql-plugin-explorer/examples/index.html b/packages/graphiql-plugin-explorer/examples/index.html deleted file mode 100644 index 9e93f7aa6d8..00000000000 --- a/packages/graphiql-plugin-explorer/examples/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - -
Loading...
- - - - - - - - - - diff --git a/packages/graphiql-plugin-explorer/package.json b/packages/graphiql-plugin-explorer/package.json index 368f34e6f39..c0b88ec2bab 100644 --- a/packages/graphiql-plugin-explorer/package.json +++ b/packages/graphiql-plugin-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@graphiql/plugin-explorer", - "version": "3.2.2", + "version": "4.0.0-alpha.2", "repository": { "type": "git", "url": "https://github.com/graphql/graphiql", @@ -8,7 +8,7 @@ }, "main": "dist/index.js", "module": "dist/index.mjs", - "types": "types/index.d.ts", + "types": "dist/index.d.ts", "license": "MIT", "keywords": [ "react", @@ -18,33 +18,42 @@ "explorer" ], "files": [ - "dist", - "src", - "types" + "dist" ], + "exports": { + "./package.json": "./package.json", + "./style.css": "./dist/style.css", + ".": { + "import": "./dist/index.mjs", + "require": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, "scripts": { - "prebuild": "rimraf dist types", - "dev": "vite", - "build": "tsc --emitDeclarationOnly && node resources/copy-types.mjs && vite build && UMD=true vite build", - "preview": "vite preview" + "dev": "vite build --watch", + "build": "vite build && UMD=true vite build", + "postbuild": "cp src/graphiql-explorer.d.ts dist/graphiql-explorer.d.ts", + "prebuild": "yarn types:check", + "types:check": "tsc --noEmit" }, "dependencies": { "graphiql-explorer": "^0.9.0" }, "peerDependencies": { - "@graphiql/react": "^0.26.0", + "@graphiql/react": "^1.0.0-alpha.0", "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0-alpha.2", "react": "^16.8.0 || ^17 || ^18", "react-dom": "^16.8.0 || ^17 || ^18" }, "devDependencies": { - "@graphiql/react": "^0.26.0", + "@graphiql/react": "^1.0.0-alpha.3", "@vitejs/plugin-react": "^4.3.1", "graphql": "^17.0.0-alpha.7", "react": "^18.2.0", "react-dom": "^18.2.0", "typescript": "^4.6.3", - "vite": "^5.3.5", + "vite": "^5.4.0", + "vite-plugin-dts": "^4.0.1", "vite-plugin-svgr": "^4.2.0" } } diff --git a/packages/graphiql-plugin-explorer/resources/copy-types.mjs b/packages/graphiql-plugin-explorer/resources/copy-types.mjs deleted file mode 100644 index 8f6175f68c7..00000000000 --- a/packages/graphiql-plugin-explorer/resources/copy-types.mjs +++ /dev/null @@ -1,11 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import { fileURLToPath } from 'url'; - -const __filename = fileURLToPath(import.meta.url); -const base = path.resolve(path.dirname(__filename), '..'); - -fs.copyFileSync( - path.resolve(base, 'src', 'graphiql-explorer.d.ts'), - path.resolve(base, 'types', 'graphiql-explorer.d.ts'), -); diff --git a/packages/graphiql-plugin-explorer/src/icons/folder-plus.svg b/packages/graphiql-plugin-explorer/src/icons/folder-plus.svg index d6714651b81..0e5550c87d8 100644 --- a/packages/graphiql-plugin-explorer/src/icons/folder-plus.svg +++ b/packages/graphiql-plugin-explorer/src/icons/folder-plus.svg @@ -13,8 +13,6 @@ /> div { + overflow: auto !important; /* override overflow: scroll */ +} + .graphiql-explorer-root input { background: unset; } @@ -44,16 +48,23 @@ padding: var(--px-4) var(--px-6); } -.graphiql-operation-title-bar .toolbar-button { - line-height: 0; - margin-left: var(--px-8); - color: hsla(var(--color-neutral), var(--alpha-secondary, 0.6)); - font-size: var(--font-size-h3); - vertical-align: middle; +.toolbar-button { + all: unset; + cursor: pointer; + line-height: 0 !important; + margin-left: var(--px-6); + color: hsl(var(--color-primary)); + font-size: var(--font-size-h3) !important; +} + +.graphiql-explorer-slug .toolbar-button, +.graphiql-explorer-graphql-arguments .toolbar-button { + font-size: inherit !important; } .graphiql-explorer-graphql-arguments input { line-height: 0; + min-width: 2rem; } .graphiql-explorer-actions { diff --git a/packages/graphiql-plugin-explorer/tsconfig.json b/packages/graphiql-plugin-explorer/tsconfig.json index 8ad4d4a311c..4b1db24ef65 100644 --- a/packages/graphiql-plugin-explorer/tsconfig.json +++ b/packages/graphiql-plugin-explorer/tsconfig.json @@ -14,9 +14,7 @@ "resolveJsonModule": true, "isolatedModules": true, "declaration": true, - "declarationDir": "types", "jsx": "react" }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] + "include": ["src"] } diff --git a/packages/graphiql-plugin-explorer/tsconfig.node.json b/packages/graphiql-plugin-explorer/tsconfig.node.json deleted file mode 100644 index 9d31e2aed93..00000000000 --- a/packages/graphiql-plugin-explorer/tsconfig.node.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Node", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/packages/graphiql-plugin-explorer/vite.config.mts b/packages/graphiql-plugin-explorer/vite.config.mts index e47ea748b70..b0f7a21c6e6 100644 --- a/packages/graphiql-plugin-explorer/vite.config.mts +++ b/packages/graphiql-plugin-explorer/vite.config.mts @@ -1,6 +1,8 @@ -import { defineConfig } from 'vite'; +import { createRequire } from 'node:module'; +import { defineConfig, PluginOption } from 'vite'; import react from '@vitejs/plugin-react'; import svgr from 'vite-plugin-svgr'; +import dts from 'vite-plugin-dts'; import packageJSON from './package.json'; const IS_UMD = process.env.UMD === 'true'; @@ -14,9 +16,12 @@ export default defineConfig({ titleProp: true, }, }), + !IS_UMD && [dts({ rollupTypes: true }), htmlPlugin()], ], build: { - minify: IS_UMD ? 'esbuild' : false, + minify: IS_UMD + ? 'terser' // produce better bundle size than esbuild + : false, // avoid clean cjs/es builds emptyOutDir: !IS_UMD, lib: { @@ -47,3 +52,37 @@ export default defineConfig({ }, }, }); + +function htmlPlugin(): PluginOption { + const require = createRequire(import.meta.url); + + const graphiqlPath = require + .resolve('graphiql/package.json') + .replace('/package.json', ''); + + const htmlForVite = ` +`; + + return { + name: 'html-replace-umd-with-src', + transformIndexHtml: { + order: 'pre', + handler(html) { + const start = ''; + const end = ''; + const contentToReplace = html.slice( + html.indexOf(start) + start.length, + html.indexOf(end), + ); + return html.replace(contentToReplace, htmlForVite); + }, + }, + }; +} diff --git a/packages/graphiql-react/CHANGELOG.md b/packages/graphiql-react/CHANGELOG.md index c4b0b2f8668..cdce832e63e 100644 --- a/packages/graphiql-react/CHANGELOG.md +++ b/packages/graphiql-react/CHANGELOG.md @@ -1,5 +1,61 @@ # @graphiql/react +## 1.0.0-alpha.4 + +### Minor Changes + +- [#3733](https://github.com/graphql/graphiql/pull/3733) [`8dbddb5`](https://github.com/graphql/graphiql/commit/8dbddb50273720d76f895af6b783b04204c68e03) Thanks [@dimaMachina](https://github.com/dimaMachina)! - Add support for `onPrettifyQuery` callback to enable customised query formatting + +## 1.0.0-alpha.3 + +### Patch Changes + +- [#3414](https://github.com/graphql/graphiql/pull/3414) [`f8b719f`](https://github.com/graphql/graphiql/commit/f8b719f215a79038d1b2a54ddfef461fd849a912) Thanks [@leonardehrenfried](https://github.com/leonardehrenfried)! - Respect Markdown format: ignore single newline + +- [#3730](https://github.com/graphql/graphiql/pull/3730) [`360a038`](https://github.com/graphql/graphiql/commit/360a0385d4ef0105beb8e76044a78f5cd43c9448) Thanks [@dimaMachina](https://github.com/dimaMachina)! - rollback `position: absolute` style for `.graphiql-logo` because tabs will behind logo + +## 1.0.0-alpha.2 + +### Patch Changes + +- [#3720](https://github.com/graphql/graphiql/pull/3720) [`79f3abf`](https://github.com/graphql/graphiql/commit/79f3abf9b697c448442e32eb5a21b7ff720bc242) Thanks [@dimaMachina](https://github.com/dimaMachina)! - replace `overflow-y: scroll` with `overflow-y: auto` + +## 1.0.0-alpha.1 + +### Minor Changes + +- [#3717](https://github.com/graphql/graphiql/pull/3717) [`bf0c4e7`](https://github.com/graphql/graphiql/commit/bf0c4e7236f4a68448063aa0c6a4ed439e869a9f) Thanks [@dimaMachina](https://github.com/dimaMachina)! - remove `createComponentGroup` utility in favour `Object.assign` + +## 1.0.0-alpha.0 + +### Major Changes + +- [#3709](https://github.com/graphql/graphiql/pull/3709) [`9baf1f0`](https://github.com/graphql/graphiql/commit/9baf1f0fc9f32404fbb8bf57b3d1c2c2c8778ddb) Thanks [@dimaMachina](https://github.com/dimaMachina)! - `style.css` import was changed + + ## Migration + + ```diff + -import '@graphiql/react/dist/style.css'; + +import '@graphiql/react/style.css'; + ``` + +### Minor Changes + +- [#3702](https://github.com/graphql/graphiql/pull/3702) [`00415d2`](https://github.com/graphql/graphiql/commit/00415d2940c4d76a4a9e683e9fa0504ba97dd627) Thanks [@dimaMachina](https://github.com/dimaMachina)! - generate types with `vite-plugin-dts` + +- [#3644](https://github.com/graphql/graphiql/pull/3644) [`3c1a345`](https://github.com/graphql/graphiql/commit/3c1a345acd9bf07b45bc230009cb57c51c425673) Thanks [@dimaMachina](https://github.com/dimaMachina)! - - new looks of tabs + + - fix `disableTabs` when `Add tab` button is still shown + +### Patch Changes + +- [#3705](https://github.com/graphql/graphiql/pull/3705) [`8ff87d7`](https://github.com/graphql/graphiql/commit/8ff87d7b6b3d5d12b539612a39ca3abf7e631106) Thanks [@dimaMachina](https://github.com/dimaMachina)! - use `vite build --watch` instead of `vite` for `dev` script because we don't need development server for them + + do not use `vite-plugin-dts` when generating umd build + +- [#3692](https://github.com/graphql/graphiql/pull/3692) [`82bc961`](https://github.com/graphql/graphiql/commit/82bc961a33c4e9da29dffb4a603035a4909f49ad) Thanks [@dimaMachina](https://github.com/dimaMachina)! - - prefer `location` over `window.location` + - prefer `navigator` over `window.navigator` + ## 0.26.2 ### Patch Changes diff --git a/packages/graphiql-react/README.md b/packages/graphiql-react/README.md index 54ac1e2615e..77b90db13c2 100644 --- a/packages/graphiql-react/README.md +++ b/packages/graphiql-react/README.md @@ -61,7 +61,7 @@ function MyGraphQLIDE() { ``` The package also ships the necessary CSS that all its UI components need. You -can import them from `@graphiql/react/dist/style.css`. +can import them from `@graphiql/react/style.css`. > **Note**: In order for these styles to apply, the UI components need to be > rendered inside an element that has a class name `graphiql-container`. diff --git a/packages/graphiql-react/package.json b/packages/graphiql-react/package.json index ce6c2cf3fe0..935fc26094d 100644 --- a/packages/graphiql-react/package.json +++ b/packages/graphiql-react/package.json @@ -1,6 +1,6 @@ { "name": "@graphiql/react", - "version": "0.26.2", + "version": "1.0.0-alpha.4", "repository": { "type": "git", "url": "https://github.com/graphql/graphiql", @@ -15,16 +15,15 @@ "module": "dist/index.mjs", "exports": { "./package.json": "./package.json", + "./style.css": "./dist/style.css", + "./font/*": "./font/*", ".": { "import": "./dist/index.mjs", "require": "./dist/index.js", - "types": "./types/index.d.ts" - }, - "./font/roboto.css": "./font/roboto.css", - "./font/fira-code.css": "./font/fira-code.css", - "./dist/style.css": "./dist/style.css" + "types": "./dist/types/index.d.ts" + } }, - "types": "types/index.d.ts", + "types": "dist/types/index.d.ts", "keywords": [ "react", "graphql", @@ -33,14 +32,13 @@ ], "files": [ "dist", - "font", - "src", - "types" + "font" ], "scripts": { - "prebuild": "rimraf dist types", - "dev": "concurrently 'tsc --emitDeclarationOnly --watch' 'vite build --watch'", - "build": "tsc --emitDeclarationOnly && vite build" + "dev": "vite build --watch", + "build": "vite build", + "prebuild": "yarn types:check", + "types:check": "tsc --noEmit" }, "peerDependencies": { "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0-alpha.2", @@ -59,7 +57,7 @@ "codemirror": "^5.65.3", "codemirror-graphql": "^2.1.1", "copy-to-clipboard": "^3.2.0", - "framer-motion": "^6.5.1", + "framer-motion": "^10.0.0", "get-value": "^3.0.1", "graphql-language-service": "^5.3.0", "markdown-it": "^14.1.0", @@ -77,7 +75,8 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "typescript": "^4.6.3", - "vite": "^5.3.5", + "vite": "^5.4.0", + "vite-plugin-dts": "^4.0.1", "vite-plugin-svgr": "^4.2.0" } } diff --git a/packages/graphiql-react/src/editor/common.ts b/packages/graphiql-react/src/editor/common.ts index 33f55299a5c..8739b6b50f5 100644 --- a/packages/graphiql-react/src/editor/common.ts +++ b/packages/graphiql-react/src/editor/common.ts @@ -25,10 +25,10 @@ export async function importCodeMirror( addons: Promise[], options?: { useCommonAddons?: boolean }, ) { - const CodeMirror = await import('codemirror').then(c => + const CodeMirror = await import('codemirror').then(mod => // Depending on bundler and settings the dynamic import either returns a // function (e.g. parcel) or an object containing a `default` property - typeof c === 'function' ? c : c.default, + typeof mod === 'function' ? mod : mod.default, ); await Promise.all( options?.useCommonAddons === false diff --git a/packages/graphiql-react/src/editor/components/image-preview.tsx b/packages/graphiql-react/src/editor/components/image-preview.tsx index 4a2b65dfc16..f21f6aa5ef5 100644 --- a/packages/graphiql-react/src/editor/components/image-preview.tsx +++ b/packages/graphiql-react/src/editor/components/image-preview.tsx @@ -76,11 +76,8 @@ function tokenToURL(token: Token) { const value = token.string.slice(1).slice(0, -1).trim(); try { - const { location } = window; return new URL(value, location.protocol + '//' + location.host); - } catch { - return; - } + } catch {} } function isImageURL(url: URL) { diff --git a/packages/graphiql-react/src/editor/hooks.ts b/packages/graphiql-react/src/editor/hooks.ts index e946c59926b..cf19b2ee3ed 100644 --- a/packages/graphiql-react/src/editor/hooks.ts +++ b/packages/graphiql-react/src/editor/hooks.ts @@ -204,14 +204,23 @@ export function useMergeQuery({ caller }: UseMergeQueryArgs = {}) { }, [queryEditor, schema]); } -type UsePrettifyEditorsArgs = { +export type UsePrettifyEditorsArgs = { /** * This is only meant to be used internally in `@graphiql/react`. */ caller?: Function; + /** + * Invoked when the prettify callback is invoked + * @param query The current value of the query editor. + * @returns {string} The formatted query + */ + onPrettifyQuery?: (query: string) => string; }; -export function usePrettifyEditors({ caller }: UsePrettifyEditorsArgs = {}) { +export function usePrettifyEditors({ + caller, + onPrettifyQuery, +}: UsePrettifyEditorsArgs = {}) { const { queryEditor, headerEditor, variableEditor } = useEditorContext({ nonNull: true, caller: caller || usePrettifyEditors, @@ -252,13 +261,15 @@ export function usePrettifyEditors({ caller }: UsePrettifyEditorsArgs = {}) { if (queryEditor) { const editorContent = queryEditor.getValue(); - const prettifiedEditorContent = print(parse(editorContent)); + const prettifiedEditorContent = onPrettifyQuery + ? onPrettifyQuery(editorContent) + : print(parse(editorContent)); if (prettifiedEditorContent !== editorContent) { queryEditor.setValue(prettifiedEditorContent); } } - }, [queryEditor, variableEditor, headerEditor]); + }, [queryEditor, variableEditor, headerEditor, onPrettifyQuery]); } export type UseAutoCompleteLeafsArgs = { @@ -333,8 +344,6 @@ export function useAutoCompleteLeafs({ }, [getDefaultFieldNames, queryEditor, schema]); } -export type InitialState = string | (() => string); - // https://react.dev/learn/you-might-not-need-an-effect export const useEditorState = (editor: 'query' | 'variable' | 'header') => { diff --git a/packages/graphiql-react/src/editor/query-editor.ts b/packages/graphiql-react/src/editor/query-editor.ts index 48c8aec4f97..f3c931d08fc 100644 --- a/packages/graphiql-react/src/editor/query-editor.ts +++ b/packages/graphiql-react/src/editor/query-editor.ts @@ -39,6 +39,7 @@ import { useCompletion, useCopyQuery, UseCopyQueryArgs, + UsePrettifyEditorsArgs, useKeyMap, useMergeQuery, usePrettifyEditors, @@ -52,7 +53,8 @@ import { import { normalizeWhitespace } from './whitespace'; export type UseQueryEditorArgs = WriteableEditorProps & - Pick & { + Pick & + Pick & { /** * Invoked when a reference to the GraphQL schema (type or field) is clicked * as part of the editor or one of its tooltips. @@ -74,6 +76,7 @@ export function useQueryEditor( onClickReference, onCopyQuery, onEdit, + onPrettifyQuery, readOnly = false, }: UseQueryEditorArgs = {}, caller?: Function, @@ -101,7 +104,10 @@ export function useQueryEditor( const plugin = usePluginContext(); const copy = useCopyQuery({ caller: caller || useQueryEditor, onCopyQuery }); const merge = useMergeQuery({ caller: caller || useQueryEditor }); - const prettify = usePrettifyEditors({ caller: caller || useQueryEditor }); + const prettify = usePrettifyEditors({ + caller: caller || useQueryEditor, + onPrettifyQuery, + }); const ref = useRef(null); const codeMirrorRef = useRef(); diff --git a/packages/graphiql-react/src/markdown.ts b/packages/graphiql-react/src/markdown.ts index 9386e370973..1e26795a8c1 100644 --- a/packages/graphiql-react/src/markdown.ts +++ b/packages/graphiql-react/src/markdown.ts @@ -1,6 +1,8 @@ import MarkdownIt from 'markdown-it'; export const markdown = new MarkdownIt({ - breaks: true, + // we don't want to convert \n to
because in markdown a single newline is not a line break + // https://github.com/graphql/graphiql/issues/3155 + breaks: false, linkify: true, }); diff --git a/packages/graphiql-react/src/style/root.css b/packages/graphiql-react/src/style/root.css index 5f18fa336c6..8c8dbcfa09f 100644 --- a/packages/graphiql-react/src/style/root.css +++ b/packages/graphiql-react/src/style/root.css @@ -68,7 +68,7 @@ /* Layout */ --sidebar-width: 60px; --toolbar-width: 40px; - --session-header-height: 51px; + --session-header-height: 38.5px; } @media (prefers-color-scheme: dark) { diff --git a/packages/graphiql-react/src/toolbar/menu.tsx b/packages/graphiql-react/src/toolbar/menu.tsx index fd5ab6f5075..1f3ab4f638e 100644 --- a/packages/graphiql-react/src/toolbar/menu.tsx +++ b/packages/graphiql-react/src/toolbar/menu.tsx @@ -1,7 +1,6 @@ import { ReactNode } from 'react'; import { clsx } from 'clsx'; import { DropdownMenu, Tooltip } from '../ui'; -import { createComponentGroup } from '../utility/component-group'; import './menu.css'; import { DropdownMenuProps } from '@radix-ui/react-dropdown-menu'; @@ -36,6 +35,6 @@ const ToolbarMenuRoot = ({ ); -export const ToolbarMenu = createComponentGroup(ToolbarMenuRoot, { +export const ToolbarMenu = Object.assign(ToolbarMenuRoot, { Item: DropdownMenu.Item, }); diff --git a/packages/graphiql-react/src/ui/dialog.tsx b/packages/graphiql-react/src/ui/dialog.tsx index 4b9d3091645..6a5f9881fea 100644 --- a/packages/graphiql-react/src/ui/dialog.tsx +++ b/packages/graphiql-react/src/ui/dialog.tsx @@ -1,7 +1,6 @@ import { clsx } from 'clsx'; import { forwardRef, ReactElement } from 'react'; import { CloseIcon } from '../icons'; -import { createComponentGroup } from '../utility/component-group'; import { UnStyledButton } from './button'; import * as D from '@radix-ui/react-dialog'; import { Root as VisuallyHidden } from '@radix-ui/react-visually-hidden'; @@ -40,7 +39,7 @@ export function DialogRoot({ ); } -export const Dialog = createComponentGroup(DialogRoot, { +export const Dialog = Object.assign(DialogRoot, { Close: DialogClose, Title: D.Title, Trigger: D.Trigger, diff --git a/packages/graphiql-react/src/ui/dropdown.css b/packages/graphiql-react/src/ui/dropdown.css index 5f7b9186ee2..09f4c57524e 100644 --- a/packages/graphiql-react/src/ui/dropdown.css +++ b/packages/graphiql-react/src/ui/dropdown.css @@ -12,7 +12,7 @@ calc(var(--radix-dropdown-menu-content-available-height) - 10px), 400px ); - overflow-y: scroll; + overflow-y: auto; } .graphiql-dropdown-item { diff --git a/packages/graphiql-react/src/ui/dropdown.tsx b/packages/graphiql-react/src/ui/dropdown.tsx index 5009c102da4..4d39e706fbc 100644 --- a/packages/graphiql-react/src/ui/dropdown.tsx +++ b/packages/graphiql-react/src/ui/dropdown.tsx @@ -1,6 +1,5 @@ import { ComponentProps, forwardRef, ReactElement } from 'react'; import { clsx } from 'clsx'; -import { createComponentGroup } from '../utility/component-group'; import { Trigger, Portal, @@ -53,7 +52,7 @@ const Item = ({ className, children, ...props }: DropdownMenuItemProps) => ( ); -export const DropdownMenu = createComponentGroup(Root, { +export const DropdownMenu = Object.assign(Root, { Button, Item, Content, diff --git a/packages/graphiql-react/src/ui/tabs.css b/packages/graphiql-react/src/ui/tabs.css index d3ddb46e7e8..66cd5b73361 100644 --- a/packages/graphiql-react/src/ui/tabs.css +++ b/packages/graphiql-react/src/ui/tabs.css @@ -1,46 +1,84 @@ .graphiql-tabs { + --bg: hsl(var(--color-base)); + display: flex; align-items: center; - overflow-x: auto; - padding: var(--px-12); + gap: var(--px-8); + /* reset browser defaults */ + padding: 0; + margin: 0; + list-style: none; +} - & > :not(:first-child) { - margin-left: var(--px-12); - } +/* trick to shrink multiple tabs, instead of overflow container */ +.graphiql-tabs, +.graphiql-tab { + min-width: 0; } .graphiql-tab { - align-items: stretch; - border-radius: var(--border-radius-8); - color: hsla(var(--color-neutral), var(--alpha-secondary)); + border-radius: var(--border-radius-8) var(--border-radius-8) 0 0; + background: hsla(var(--color-neutral), var(--alpha-background-light)); + position: relative; display: flex; + max-width: 140px; - & > button.graphiql-tab-close { - visibility: hidden; - } - &.graphiql-tab-active > button.graphiql-tab-close, - &:hover > button.graphiql-tab-close, - &:focus-within > button.graphiql-tab-close { - visibility: unset; + /* disable shrinking while changing the operation name */ + &:not(:focus-within) { + transform: none !important; } + &:hover, + &:focus-within, &.graphiql-tab-active { - background-color: hsla(var(--color-neutral), var(--alpha-background-heavy)); - color: hsla(var(--color-neutral), 1); + background: var(--bg); + color: hsl(var(--color-neutral)); + + .graphiql-tab-close { + display: block; + } } -} -button.graphiql-tab-button { - padding: var(--px-4) 0 var(--px-4) var(--px-8); -} + .graphiql-tab-button { + border-radius: var(--border-radius-8) var(--border-radius-8) 0 0; + overflow: hidden; + text-overflow: ellipsis; + padding: var(--px-4) 28px var(--px-4) var(--px-8); -button.graphiql-tab-close { - align-items: center; - display: flex; - padding: var(--px-4) var(--px-8); + &:hover { + background: none; + } + } + + .graphiql-tab-close { + position: absolute; + right: min(var(--px-4), 5%); + top: 50%; + transform: translateY(-50%); + display: none; + background: var(--bg); + box-shadow: -10px 0 10px 0 var(--bg); + padding: var(--px-6); + line-height: 0; + + & > svg { + height: var(--px-8); + width: var(--px-8); + } + + &:hover { + background: var(--bg); + color: hsl(var(--color-neutral)); + overflow: hidden; /* bg in `:before` will not overflow from radius area */ - & > svg { - height: var(--px-8); - width: var(--px-8); + /* trick to add 2nd bg with opacity */ + &:before { + content: ''; + position: absolute; + inset: 0; + z-index: -1; + background: hsla(var(--color-neutral), 0.3); + } + } } } diff --git a/packages/graphiql-react/src/ui/tabs.tsx b/packages/graphiql-react/src/ui/tabs.tsx index cc5947f13c1..dfbaa793975 100644 --- a/packages/graphiql-react/src/ui/tabs.tsx +++ b/packages/graphiql-react/src/ui/tabs.tsx @@ -2,9 +2,7 @@ import { forwardRef, ReactNode } from 'react'; import { clsx } from 'clsx'; import { Reorder } from 'framer-motion'; import { CloseIcon } from '../icons'; -import { createComponentGroup } from '../utility/component-group'; import { UnStyledButton } from './button'; -import { Tooltip } from './tooltip'; import './tabs.css'; @@ -21,7 +19,7 @@ const TabRoot = forwardRef( {...props} ref={ref} value={value} - aria-selected={isActive ? 'true' : undefined} + aria-selected={isActive} role="tab" className={clsx( 'graphiql-tab', @@ -38,36 +36,34 @@ TabRoot.displayName = 'Tab'; const TabButton = forwardRef< HTMLButtonElement, JSX.IntrinsicElements['button'] ->((props, ref) => ( +>(({ children, className, ...props }, ref) => ( - {props.children} + {children} )); TabButton.displayName = 'Tab.Button'; const TabClose = forwardRef( (props, ref) => ( - - - - - + + + ), ); TabClose.displayName = 'Tab.Close'; -export const Tab = createComponentGroup(TabRoot, { +export const Tab = Object.assign(TabRoot, { Button: TabButton, Close: TabClose, }); diff --git a/packages/graphiql-react/src/ui/tooltip.tsx b/packages/graphiql-react/src/ui/tooltip.tsx index af141a9364c..8c9cea4523c 100644 --- a/packages/graphiql-react/src/ui/tooltip.tsx +++ b/packages/graphiql-react/src/ui/tooltip.tsx @@ -1,6 +1,5 @@ import { ReactElement, ReactNode } from 'react'; import * as T from '@radix-ui/react-tooltip'; -import { createComponentGroup } from '../utility/component-group'; import './tooltip.css'; export function TooltipRoot({ @@ -27,6 +26,6 @@ export function TooltipRoot({ ); } -export const Tooltip = createComponentGroup(TooltipRoot, { +export const Tooltip = Object.assign(TooltipRoot, { Provider: T.Provider, }); diff --git a/packages/graphiql-react/src/utility/component-group.ts b/packages/graphiql-react/src/utility/component-group.ts deleted file mode 100644 index d8cae861a00..00000000000 --- a/packages/graphiql-react/src/utility/component-group.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { JSXElementConstructor } from 'react'; - -export const createComponentGroup = < - Root extends JSXElementConstructor, - Children extends { [key: string]: JSXElementConstructor }, ->( - root: Root, - children: Children, -): Root & Children => - Object.entries(children).reduce((r, [key, value]) => { - r[key] = value; - return r; - }, root); diff --git a/packages/graphiql-react/tsconfig.cjs.json b/packages/graphiql-react/tsconfig.cjs.json deleted file mode 100644 index 01792adbce1..00000000000 --- a/packages/graphiql-react/tsconfig.cjs.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "composite": true, - "module": "commonjs", - "target": "es6", - "outDir": "cjs" - }, - "include": ["src"], - "exclude": ["**/__tests__/**"] -} diff --git a/packages/graphiql-react/tsconfig.json b/packages/graphiql-react/tsconfig.json index 95480738c1d..d0698784ddd 100644 --- a/packages/graphiql-react/tsconfig.json +++ b/packages/graphiql-react/tsconfig.json @@ -14,10 +14,7 @@ "resolveJsonModule": true, "isolatedModules": true, "jsx": "react-jsx", - "declaration": true, - "declarationDir": "types", - "outDir": "tsc" + "declaration": true }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] + "include": ["src"] } diff --git a/packages/graphiql-react/tsconfig.node.json b/packages/graphiql-react/tsconfig.node.json deleted file mode 100644 index e993792cb12..00000000000 --- a/packages/graphiql-react/tsconfig.node.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "module": "esnext", - "moduleResolution": "node" - }, - "include": ["vite.config.ts"] -} diff --git a/packages/graphiql-react/vite.config.mts b/packages/graphiql-react/vite.config.mts index fb552395aaf..1abcf2859ed 100644 --- a/packages/graphiql-react/vite.config.mts +++ b/packages/graphiql-react/vite.config.mts @@ -3,6 +3,7 @@ import react from '@vitejs/plugin-react'; import svgr from 'vite-plugin-svgr'; import postCssNestingPlugin from 'postcss-nesting'; import packageJSON from './package.json'; +import dts from 'vite-plugin-dts'; export default defineConfig({ plugins: [ @@ -13,6 +14,10 @@ export default defineConfig({ titleProp: true, }, }), + dts({ + outDir: ['dist/types'], + exclude: ['**/*.spec.{ts,tsx}', '**/__tests__/'], + }), ], css: { postcss: { @@ -37,7 +42,7 @@ export default defineConfig({ ), ], output: { - chunkFileNames: '[name].[format].js', + chunkFileNames: '[format]/[name].js', }, }, }, diff --git a/packages/graphiql/.babelrc.js b/packages/graphiql/.babelrc.js deleted file mode 100644 index b76123ca373..00000000000 --- a/packages/graphiql/.babelrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./babel.config'); diff --git a/packages/graphiql/CHANGELOG.md b/packages/graphiql/CHANGELOG.md index 35f1823bb20..36e85e03b8a 100644 --- a/packages/graphiql/CHANGELOG.md +++ b/packages/graphiql/CHANGELOG.md @@ -1,5 +1,192 @@ # Change Log +## 4.0.0-alpha.5 + +### Minor Changes + +- [#3733](https://github.com/graphql/graphiql/pull/3733) [`8dbddb5`](https://github.com/graphql/graphiql/commit/8dbddb50273720d76f895af6b783b04204c68e03) Thanks [@dimaMachina](https://github.com/dimaMachina)! - Add support for `onPrettifyQuery` callback to enable customised query formatting + +### Patch Changes + +- Updated dependencies [[`8dbddb5`](https://github.com/graphql/graphiql/commit/8dbddb50273720d76f895af6b783b04204c68e03)]: + - @graphiql/react@1.0.0-alpha.4 + +## 4.0.0-alpha.4 + +### Minor Changes + +- [#3728](https://github.com/graphql/graphiql/pull/3728) [`a1a5208`](https://github.com/graphql/graphiql/commit/a1a5208aeebe4ff622e83cd355f8b4e9b7fa011c) Thanks [@dimaMachina](https://github.com/dimaMachina)! - remove `.graphiql-session` class + +### Patch Changes + +- [#3414](https://github.com/graphql/graphiql/pull/3414) [`f8b719f`](https://github.com/graphql/graphiql/commit/f8b719f215a79038d1b2a54ddfef461fd849a912) Thanks [@leonardehrenfried](https://github.com/leonardehrenfried)! - Respect Markdown format: ignore single newline + +- [#3730](https://github.com/graphql/graphiql/pull/3730) [`360a038`](https://github.com/graphql/graphiql/commit/360a0385d4ef0105beb8e76044a78f5cd43c9448) Thanks [@dimaMachina](https://github.com/dimaMachina)! - rollback `position: absolute` style for `.graphiql-logo` because tabs will behind logo + +- [#3726](https://github.com/graphql/graphiql/pull/3726) [`196e9a0`](https://github.com/graphql/graphiql/commit/196e9a081ffc0df16a5537c8ec0fb622fc3ba0b0) Thanks [@dimaMachina](https://github.com/dimaMachina)! - use `right: var(--px-16)` instead of `right: 0` for `.graphiql-logo` + +- Updated dependencies [[`f8b719f`](https://github.com/graphql/graphiql/commit/f8b719f215a79038d1b2a54ddfef461fd849a912), [`360a038`](https://github.com/graphql/graphiql/commit/360a0385d4ef0105beb8e76044a78f5cd43c9448)]: + - @graphiql/react@1.0.0-alpha.3 + +## 4.0.0-alpha.3 + +### Patch Changes + +- [#3720](https://github.com/graphql/graphiql/pull/3720) [`79f3abf`](https://github.com/graphql/graphiql/commit/79f3abf9b697c448442e32eb5a21b7ff720bc242) Thanks [@dimaMachina](https://github.com/dimaMachina)! - replace `overflow-y: scroll` with `overflow-y: auto` + +- [#3720](https://github.com/graphql/graphiql/pull/3720) [`79f3abf`](https://github.com/graphql/graphiql/commit/79f3abf9b697c448442e32eb5a21b7ff720bc242) Thanks [@dimaMachina](https://github.com/dimaMachina)! - replace `Tooltip`s in tabs with html `title="..."` attribute + +- Updated dependencies [[`79f3abf`](https://github.com/graphql/graphiql/commit/79f3abf9b697c448442e32eb5a21b7ff720bc242)]: + - @graphiql/react@1.0.0-alpha.2 + +## 4.0.0-alpha.2 + +### Patch Changes + +- [#3716](https://github.com/graphql/graphiql/pull/3716) [`cc2808f`](https://github.com/graphql/graphiql/commit/cc2808f9b0d9ac0f98603299ec67e2a659cbfcd7) Thanks [@dimaMachina](https://github.com/dimaMachina)! - use `position: absolute` for `.graphiql-logo` class + +- Updated dependencies [[`bf0c4e7`](https://github.com/graphql/graphiql/commit/bf0c4e7236f4a68448063aa0c6a4ed439e869a9f)]: + - @graphiql/react@1.0.0-alpha.1 + +## 4.0.0-alpha.1 + +### Major Changes + +- [#3713](https://github.com/graphql/graphiql/pull/3713) [`27bbc51`](https://github.com/graphql/graphiql/commit/27bbc51a69504ffa9c6efbb17f112668f38fe52d) Thanks [@dimaMachina](https://github.com/dimaMachina)! - show tabs even there is only 1 tab + +- [#3707](https://github.com/graphql/graphiql/pull/3707) [`3c901c1`](https://github.com/graphql/graphiql/commit/3c901c104123750f45bcd64ade5b0ab9706d3146) Thanks [@dimaMachina](https://github.com/dimaMachina)! - Remove `toolbar.additionalContent` and `toolbar.additionalComponent` props in favor of `GraphiQL.Toolbar` render props. + + ## Migration from `toolbar.additionalContent` + + #### Before + + ```jsx + My button }} /> + ``` + + #### After + + ```jsx + + + {({ merge, prettify, copy }) => ( + <> + {prettify} + {merge} + {copy} + + + )} + + + ``` + + ### Migration from `toolbar.additionalComponent` + + #### Before + + ```jsx + My button; + }, + }} + /> + ``` + + #### After + + ```jsx + + + {({ merge, prettify, copy }) => ( + <> + {prettify} + {merge} + {copy} + + + )} + + + ``` + + *** + + Additionally, you can sort default toolbar buttons in different order or remove unneeded buttons for you: + + ```jsx + + + {({ prettify, copy }) => ( + <> + {copy /* Copy button will be first instead of default last */} + {/* Merge button is removed from toolbar */} + {prettify} + + )} + + + ``` + +## 4.0.0-alpha.0 + +### Major Changes + +- [#3706](https://github.com/graphql/graphiql/pull/3706) [`343dd59`](https://github.com/graphql/graphiql/commit/343dd599ee10b0670cd7ab4dfaa65344f0d48c84) Thanks [@dimaMachina](https://github.com/dimaMachina)! - remove default export + + ## Migration + + ### Before + + ```jsx + import GraphiQL from 'graphiql'; + ``` + + ### After + + ```jsx + import { GraphiQL } from 'graphiql'; + ``` + +- [#3687](https://github.com/graphql/graphiql/pull/3687) [`09e7004`](https://github.com/graphql/graphiql/commit/09e700403beb6c7290d165df33a2455ac2196971) Thanks [@dimaMachina](https://github.com/dimaMachina)! - remove `disableTabs` option + +- [#3688](https://github.com/graphql/graphiql/pull/3688) [`0fdd9b9`](https://github.com/graphql/graphiql/commit/0fdd9b9f32513d96281f577a5d9bd2fefb5f05d4) Thanks [@dimaMachina](https://github.com/dimaMachina)! - remove `data-testid="graphiql-container"` + +- [#3679](https://github.com/graphql/graphiql/pull/3679) [`5d90e0e`](https://github.com/graphql/graphiql/commit/5d90e0eed58214c5926e6e0edb196971b15b1121) Thanks [@dimaMachina](https://github.com/dimaMachina)! - migrate from `webpack` to `vite` + + changed exports + + ```diff + -graphiql/graphiql.css + +graphiql/style.css + ``` + + changed cdn paths, `dist/index.umd.js` and `dist/style.css` are minified + + ```diff + -https://unpkg.com/graphiql/graphiql.js + -https://unpkg.com/graphiql/graphiql.min.js + +https://unpkg.com/graphiql/dist/index.umd.js + -https://unpkg.com/graphiql/graphiql.css + -https://unpkg.com/graphiql/graphiql.min.css + +https://unpkg.com/graphiql/dist/style.css + ``` + +- [#3644](https://github.com/graphql/graphiql/pull/3644) [`3c1a345`](https://github.com/graphql/graphiql/commit/3c1a345acd9bf07b45bc230009cb57c51c425673) Thanks [@dimaMachina](https://github.com/dimaMachina)! - - new looks of tabs + + - fix `disableTabs` when `Add tab` button is still shown + +### Patch Changes + +- [#3683](https://github.com/graphql/graphiql/pull/3683) [`8efb873`](https://github.com/graphql/graphiql/commit/8efb873458489ce3497d917bcafd4ad8dfcbe6c8) Thanks [@dimaMachina](https://github.com/dimaMachina)! - update graphql to `16.9.0` and use vite `define` configuration to remove development code from cdn bundle + +- [#3692](https://github.com/graphql/graphiql/pull/3692) [`82bc961`](https://github.com/graphql/graphiql/commit/82bc961a33c4e9da29dffb4a603035a4909f49ad) Thanks [@dimaMachina](https://github.com/dimaMachina)! - - prefer `location` over `window.location` + - prefer `navigator` over `window.navigator` +- Updated dependencies [[`00415d2`](https://github.com/graphql/graphiql/commit/00415d2940c4d76a4a9e683e9fa0504ba97dd627), [`9baf1f0`](https://github.com/graphql/graphiql/commit/9baf1f0fc9f32404fbb8bf57b3d1c2c2c8778ddb), [`8ff87d7`](https://github.com/graphql/graphiql/commit/8ff87d7b6b3d5d12b539612a39ca3abf7e631106), [`82bc961`](https://github.com/graphql/graphiql/commit/82bc961a33c4e9da29dffb4a603035a4909f49ad), [`3c1a345`](https://github.com/graphql/graphiql/commit/3c1a345acd9bf07b45bc230009cb57c51c425673)]: + - @graphiql/react@1.0.0-alpha.0 + ## 3.7.1 ### Patch Changes diff --git a/packages/graphiql/README.md b/packages/graphiql/README.md index 817cf6a3171..c51f442a423 100644 --- a/packages/graphiql/README.md +++ b/packages/graphiql/README.md @@ -63,8 +63,8 @@ _/ˈɡrafək(ə)l/_ A graphical interactive in-browser GraphQL IDE. With `unpkg`/`jsdelivr`, etc.: ```html - - + + ``` (see: Usage UMD Bundle below for more required script tags) @@ -107,7 +107,7 @@ import { createGraphiQLFetcher } from '@graphiql/toolkit'; import { GraphiQL } from 'graphiql'; import React from 'react'; import { createRoot } from 'react-dom/client'; -import 'graphiql/graphiql.css'; +import 'graphiql/style.css'; const fetcher = createGraphiQLFetcher({ url: 'https://my.backend/graphql' }); diff --git a/packages/graphiql/babel.config.js b/packages/graphiql/babel.config.js deleted file mode 100644 index 4c05afbee70..00000000000 --- a/packages/graphiql/babel.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../babel.config'); diff --git a/packages/graphiql/cypress.config.ts b/packages/graphiql/cypress.config.ts index a2b7771ac3a..5a837a00d60 100644 --- a/packages/graphiql/cypress.config.ts +++ b/packages/graphiql/cypress.config.ts @@ -1,8 +1,10 @@ import { defineConfig } from 'cypress'; +const PORT = process.env.CI === 'true' ? 8080 : 5173; + export default defineConfig({ e2e: { - baseUrl: 'http://localhost:8080', + baseUrl: `http://localhost:${PORT}`, }, video: false, viewportWidth: 1920, diff --git a/packages/graphiql/cypress/e2e/errors.cy.ts b/packages/graphiql/cypress/e2e/errors.cy.ts index a6613665f19..b46511b3a8d 100644 --- a/packages/graphiql/cypress/e2e/errors.cy.ts +++ b/packages/graphiql/cypress/e2e/errors.cy.ts @@ -39,7 +39,7 @@ describe('Errors', () => { cy.visit('/'); /** * We can't use `cy.assertQueryResult` here because the stack contains line - * and column numbers of the `graphiql.min.js` bundle which are not stable. + * and column numbers of the `index.umd.js` bundle which are not stable. */ cy.get('section.result-window').should(element => { expect(element.get(0).innerText).to.contain( diff --git a/packages/graphiql/cypress/e2e/incremental-delivery.cy.ts b/packages/graphiql/cypress/e2e/incremental-delivery.cy.ts index 1ea0c0ed822..8dcee9bc941 100644 --- a/packages/graphiql/cypress/e2e/incremental-delivery.cy.ts +++ b/packages/graphiql/cypress/e2e/incremental-delivery.cy.ts @@ -105,7 +105,7 @@ describeOrSkip('IncrementalDelivery support via fetcher', () => { This tests that; 1. user ({name}) => { name } 2. user ({age}) => { name, age } - 3. user.friends.0 ({name}) => { name, age, friends: [{name}] } <- can sometimes happen before 4, due the the promise race + 3. user.friends.0 ({name}) => { name, age, friends: [{name}] } <- can sometimes happen before 4, due to the promise race 4. user.friends.0 ({age}) => { name, age, friends: [{name, age}] } This shows us that we can deep merge defers, deep merge streams, and also deep merge defers inside streams diff --git a/packages/graphiql/cypress/e2e/init.cy.ts b/packages/graphiql/cypress/e2e/init.cy.ts index 15f2b84e39d..d10ee2810b5 100644 --- a/packages/graphiql/cypress/e2e/init.cy.ts +++ b/packages/graphiql/cypress/e2e/init.cy.ts @@ -15,7 +15,7 @@ const mockSuccess = { data: { longDescriptionType: { id: 'abc123', - image: '/images/logo.svg', + image: '/resources/logo.svg', hasArgs: '{"defaultValue":"test default value"}', test: { id: 'abc123', diff --git a/packages/graphiql/cypress/e2e/prettify.cy.ts b/packages/graphiql/cypress/e2e/prettify.cy.ts index 6e2224f28dc..ba8e3e16ada 100644 --- a/packages/graphiql/cypress/e2e/prettify.cy.ts +++ b/packages/graphiql/cypress/e2e/prettify.cy.ts @@ -1,4 +1,5 @@ import { version } from 'graphql'; + let describeOrSkip = describe.skip; // hard to account for the extra \n between 15/16 so these only run for 16 for now @@ -25,6 +26,26 @@ const brokenQuery = 'longDescriptionType {id}}'; const brokenVariables = '"a": 1}'; describeOrSkip('GraphiQL Prettify', () => { + describe('onPrettifyQuery', () => { + const rawQuery = '{ test\n\nid }'; + const resultQuery = '{ test id }'; + + it('should work while click on prettify button', () => { + cy.visit(`/?query=${rawQuery}&onPrettifyQuery=true`); + cy.clickPrettify(); + cy.assertHasValues({ query: resultQuery }); + }); + + it('should work while click on key map short cut', () => { + cy.visit(`/?query=${rawQuery}&onPrettifyQuery=true`); + cy.get('.graphiql-query-editor textarea').type('{shift}{ctrl}P', { + force: true, + }); + cy.get('.graphiql-query-editor textarea').type('{esc}'); + cy.assertHasValues({ query: resultQuery }); + }); + }); + it('Regular prettification', () => { cy.visitWithOp({ query: uglyQuery, variablesString: uglyVariables }); diff --git a/packages/graphiql/cypress/e2e/tabs.cy.ts b/packages/graphiql/cypress/e2e/tabs.cy.ts index 007bd2d5ded..c3dac4a5705 100644 --- a/packages/graphiql/cypress/e2e/tabs.cy.ts +++ b/packages/graphiql/cypress/e2e/tabs.cy.ts @@ -2,8 +2,8 @@ describe('Tabs', () => { it('Should store editor contents when switching between tabs', () => { cy.visit('/?defaultQuery=&query='); - // Assert that no tab visible when there's only one session - cy.get('#graphiql-session-tab-0').should('not.exist'); + // Assert that tab visible when there's only one session + cy.get('.graphiql-tab-button').eq(0).should('exist'); // Enter a query without operation name cy.get('.graphiql-query-editor textarea').type('{id', { force: true }); @@ -18,7 +18,7 @@ describe('Tabs', () => { cy.get('.graphiql-query-editor textarea').type('query Foo {image', { force: true, }); - cy.get('#graphiql-session-tab-1').should('have.text', 'Foo'); + cy.get('.graphiql-tab-button').eq(1).should('have.text', 'Foo'); // Enter variables cy.get('.graphiql-editor-tool textarea') @@ -35,11 +35,11 @@ describe('Tabs', () => { cy.clickExecuteQuery(); // Switch back to the first tab - cy.get('#graphiql-session-tab-0').click(); + cy.get('.graphiql-tab-button').eq(0).click(); // Assert tab titles - cy.get('#graphiql-session-tab-0').should('have.text', ''); - cy.get('#graphiql-session-tab-1').should('have.text', 'Foo'); + cy.get('.graphiql-tab-button').eq(0).should('have.text', ''); + cy.get('.graphiql-tab-button').eq(1).should('have.text', 'Foo'); // Assert editor values cy.assertHasValues({ @@ -50,25 +50,25 @@ describe('Tabs', () => { }); // Switch back to the second tab - cy.get('#graphiql-session-tab-1').click(); + cy.get('.graphiql-tab-button').eq(1).click(); // Assert tab titles - cy.get('#graphiql-session-tab-0').should('have.text', ''); - cy.get('#graphiql-session-tab-1').should('have.text', 'Foo'); + cy.get('.graphiql-tab-button').eq(0).should('have.text', ''); + cy.get('.graphiql-tab-button').eq(1).should('have.text', 'Foo'); // Assert editor values cy.assertHasValues({ query: 'query Foo {image}', variablesString: '{"someVar":42}', headersString: '{"someHeader":"someValue"}', - response: { data: { image: '/images/logo.svg' } }, + response: { data: { image: '/resources/logo.svg' } }, }); // Close tab - cy.get('#graphiql-session-tab-1 + .graphiql-tab-close').click(); + cy.get('.graphiql-tab-button + .graphiql-tab-close').eq(1).click(); - // Assert that no tab visible when there's only one session - cy.get('#graphiql-session-tab-0').should('not.exist'); + // Assert that tab close button not visible when there is only 1 tab + cy.get('.graphiql-tab-button + .graphiql-tab-close').should('not.exist'); // Assert editor values cy.assertHasValues({ @@ -99,7 +99,7 @@ describe('Tabs', () => { cy.get('.graphiql-tab-button + .graphiql-tab-close').eq(1).click(); - cy.get('.graphiql-tab-button').should('have.length', 0); + cy.get('.graphiql-tab-button').should('have.length', 1); }); }); }); diff --git a/packages/graphiql/index.html b/packages/graphiql/index.html new file mode 100644 index 00000000000..04073bb4c0e --- /dev/null +++ b/packages/graphiql/index.html @@ -0,0 +1,45 @@ + + + + + + + GraphiQL + + + + + + + + + +
+
Loading…
+
+ + + diff --git a/packages/graphiql/package.json b/packages/graphiql/package.json index c81a2049afd..6208211afd4 100644 --- a/packages/graphiql/package.json +++ b/packages/graphiql/package.json @@ -1,6 +1,6 @@ { "name": "graphiql", - "version": "3.7.1", + "version": "4.0.0-alpha.5", "description": "An graphical interactive in-browser GraphQL IDE.", "contributors": [ "Hyohyeon Jeong ", @@ -17,37 +17,31 @@ }, "license": "MIT", "main": "dist/index.js", - "module": "esm/index.js", + "module": "dist/index.mjs", "types": "dist/index.d.ts", "files": [ - "dist", - "esm", - "src", - "graphiql.js", - "graphiql.min.js", - "graphiql.min.js.map", - "graphiql.css", - "graphiql.min.css", - "graphiql.min.css.map" + "dist" ], + "exports": { + "./package.json": "./package.json", + "./style.css": "./dist/style.css", + ".": { + "require": "./dist/index.js", + "import": "./dist/index.mjs", + "types": "./dist/index.d.ts" + } + }, "scripts": { - "analyze-bundle": "cross-env NODE_ENV=production ANALYZE=1 yarn webpack -p", - "build": "yarn build-clean && yarn build-cjs && yarn build-esm", - "build-bundles": "yarn build-bundles-clean && yarn build-bundles-webpack", - "build-bundles-clean": "rimraf 'graphiql.*{js,css}' *.html", - "build-bundles-webpack": "cross-env yarn webpack --mode development --bail", - "build-cjs": "tsc", - "build-clean": "rimraf esm dist webpack *.html", - "build-esm": "tsc --project ./tsconfig.esm.json", - "check": "tsc --noEmit", - "cypress-open": "yarn e2e-server 'cypress open'", - "dev": "cross-env NODE_ENV=development webpack-dev-server --config resources/webpack.config.js", + "cypress-open": "yarn dev 'cypress open'", + "build": "vite build && UMD=true vite build", + "dev": "concurrently 'cross-env PORT=8080 node test/e2e-server' vite", + "prebuild": "yarn types:check", + "types:check": "tsc --noEmit", "e2e": "yarn e2e-server 'cypress run'", - "e2e-server": "start-server-and-test 'cross-env PORT=8080 node test/e2e-server' 'http-get://localhost:8080/graphql?query={test { id }}'", - "webpack": "webpack-cli --config resources/webpack.config.js" + "e2e-server": "start-server-and-test 'cross-env PORT=8080 node test/e2e-server' 'http-get://localhost:8080/graphql?query={test { id }}'" }, "dependencies": { - "@graphiql/react": "^0.26.2" + "@graphiql/react": "^1.0.0-alpha.4" }, "peerDependencies": { "graphql": "^15.5.0 || ^16.0.0 || ^17.0.0-alpha.2", @@ -59,39 +53,23 @@ "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "14.0.0", "@types/testing-library__jest-dom": "5.14.5", - "babel-loader": "^9.1.2", - "babel-plugin-macros": "^3.1.0", "cross-env": "^7.0.2", - "css-loader": "^6.7.3", - "cssnano": "^5.1.15", "cypress": "^13.13.2", "express": "^4.19.2", - "fork-ts-checker-webpack-plugin": "7.3.0", "graphql": "^17.0.0-alpha.7", "graphql-helix": "^1.13.0", "graphql-subscriptions": "^2.0.0", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "mini-css-extract-plugin": "^2.7.2", "postcss": "8.4.31", "postcss-import": "15.1.0", - "postcss-loader": "7.0.2", - "postcss-preset-env": "^8.0.1", + "postcss-lightningcss": "^1.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-hot-loader": "^4.12.20", - "react-test-renderer": "^18.2.0", - "require-context.macro": "^1.2.2", - "rimraf": "^3.0.2", - "serve": "^11.3.0", "start-server-and-test": "^1.10.11", - "style-loader": "^3.3.1", "subscriptions-transport-ws": "0.11.0", "typescript": "^4.6.3", - "webpack": "5.76.0", - "webpack-bundle-analyzer": "^3.6.1", - "webpack-cli": "^5.0.1", - "webpack-dev-server": "^4.11.1", + "vite": "^5.4.0", + "vite-plugin-commonjs": "^0.10.1", + "vite-plugin-dts": "^4.0.1", "ws": "8.17.1" } } diff --git a/packages/graphiql/postcss.config.js b/packages/graphiql/postcss.config.js index 0212e4d5f0a..31470672ba7 100644 --- a/packages/graphiql/postcss.config.js +++ b/packages/graphiql/postcss.config.js @@ -1,9 +1,9 @@ -module.exports = ({ options, webpackLoaderContext }) => ({ +module.exports = { plugins: { // https://github.com/postcss/postcss-import/issues/442#issuecomment-822427606 - 'postcss-import': { root: webpackLoaderContext.context }, - // contains autoprefixer, etc - 'postcss-preset-env': options['postcss-preset-env'] || false, - cssnano: process.env.NODE_ENV === 'production' ? options.cssnano : false, + 'postcss-import': '', + 'postcss-lightningcss': { + browsers: '>= .25%', + }, }, -}); +}; diff --git a/packages/graphiql/resources/build.sh b/packages/graphiql/resources/build.sh deleted file mode 100644 index e112482842c..00000000000 --- a/packages/graphiql/resources/build.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -set -e -set -o pipefail - -if [ ! -d "node_modules/.bin" ]; then - echo "Be sure to run \`yarn install\` before building GraphiQL." - exit 1 -fi - -babel src --ignore __tests__ --out-dir dist/ -ESM=true babel src --ignore __tests__ --out-dir esm/ -echo "Bundling graphiql.js..." -browserify -g browserify-shim -s GraphiQL dist/index.js > graphiql.js -echo "Bundling graphiql.min.js..." -browserify -g browserify-shim -t uglifyify -s GraphiQL graphiql.js | uglifyjs -c > graphiql.min.js -echo "Bundling graphiql.css..." -postcss --no-map --use autoprefixer -d dist/ css/*.css -cat dist/*.css > graphiql.css -echo "Done" diff --git a/packages/graphiql/resources/checkgit.sh b/packages/graphiql/resources/checkgit.sh deleted file mode 100644 index f6798e23d40..00000000000 --- a/packages/graphiql/resources/checkgit.sh +++ /dev/null @@ -1,27 +0,0 @@ -# -# This script determines if current git state is the up to date master. If so -# it exits normally. If not it prompts for an explicit continue. This script -# intends to protect from versioning for NPM without first pushing changes -# and including any changes on master. -# - -# First fetch to ensure git is up to date. Fail-fast if this fails. -git fetch; -if [[ $? -ne 0 ]]; then exit 1; fi; - -# Extract useful information. -GITBRANCH=$(git branch -v 2> /dev/null | sed '/^[^*]/d'); -GITBRANCHNAME=$(echo "$GITBRANCH" | sed 's/* \([A-Za-z0-9_\-]*\).*/\1/'); -GITBRANCHSYNC=$(echo "$GITBRANCH" | sed 's/* [^[]*.\([^]]*\).*/\1/'); - -# Check if master is checked out -if [ "$GITBRANCHNAME" != "master" ]; then - read -p "Git not on master but $GITBRANCHNAME. Continue? (y|N) " yn; - if [ "$yn" != "y" ]; then exit 1; fi; -fi; - -# Check if branch is synced with remote -if [ "$GITBRANCHSYNC" != "" ]; then - read -p "Git not up to date but $GITBRANCHSYNC. Continue? (y|N) " yn; - if [ "$yn" != "y" ]; then exit 1; fi; -fi; diff --git a/packages/graphiql/resources/index.html.ejs b/packages/graphiql/resources/index.html.ejs deleted file mode 100644 index f3512006ed6..00000000000 --- a/packages/graphiql/resources/index.html.ejs +++ /dev/null @@ -1,51 +0,0 @@ - - - - - GraphiQL - - - - - - - - - -
Loading...
- - - - diff --git a/packages/graphiql/test/images/logo.svg b/packages/graphiql/resources/logo.svg similarity index 68% rename from packages/graphiql/test/images/logo.svg rename to packages/graphiql/resources/logo.svg index 43e513e06ca..e50db408fa2 100644 --- a/packages/graphiql/test/images/logo.svg +++ b/packages/graphiql/resources/logo.svg @@ -1,27 +1,15 @@ - + + + - - + - + - diff --git a/packages/graphiql/resources/renderExample.js b/packages/graphiql/resources/renderExample.js index 0bbadd29069..9a81c2ca4a9 100644 --- a/packages/graphiql/resources/renderExample.js +++ b/packages/graphiql/resources/renderExample.js @@ -1,4 +1,4 @@ -/* global React, ReactDOM, GraphiQL, GraphQLVersion */ +/* global React, ReactDOM, GraphiQL */ /** * UMD GraphiQL Example @@ -9,7 +9,7 @@ * It is used by: * - the netlify demo * - end-to-end tests - * - webpack dev server + * - vite dev server */ // Parse the search string to get url parameters. @@ -47,6 +47,10 @@ function confirmCloseTab(index) { return confirm(`Are you sure you want to close tab with index ${index}?`); } +function onPrettifyQuery(query) { + return query.replaceAll(/([ \n])+/g, ' '); +} + function updateURL() { const newSearch = Object.entries(parameters) .filter(([_key, value]) => value) @@ -59,7 +63,7 @@ function updateURL() { } function getSchemaUrl() { - const isDev = window.location.hostname.match(/localhost$/); + const isDev = /localhost$/.test(location.hostname); if (isDev) { return '/graphql'; @@ -72,6 +76,7 @@ function getSchemaUrl() { // how you can customize GraphiQL by providing different values or // additional child elements. const root = ReactDOM.createRoot(document.getElementById('graphiql')); +const graphqlVersion = GraphiQL.GraphQL.version; root.render( React.createElement(GraphiQL, { @@ -89,9 +94,11 @@ root.render( defaultEditorToolsVisibility: true, isHeadersEditorEnabled: true, shouldPersistHeaders: true, - inputValueDeprecation: GraphQLVersion.includes('15.5') ? undefined : true, + inputValueDeprecation: !graphqlVersion.includes('15.5'), confirmCloseTab: parameters.confirmCloseTab === 'true' ? confirmCloseTab : undefined, + onPrettifyQuery: + parameters.onPrettifyQuery === 'true' ? onPrettifyQuery : undefined, onTabChange, forcedTheme: parameters.forcedTheme, defaultQuery: parameters.defaultQuery, diff --git a/packages/graphiql/resources/webpack.config.js b/packages/graphiql/resources/webpack.config.js deleted file mode 100644 index 15b1f7d8619..00000000000 --- a/packages/graphiql/resources/webpack.config.js +++ /dev/null @@ -1,133 +0,0 @@ -const path = require('node:path'); -const webpack = require('webpack'); - -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); -const graphql = require('graphql'); -const rimraf = require('rimraf'); - -const relPath = (...args) => path.resolve(__dirname, ...args); -const rootPath = (...args) => relPath('../', ...args); - -const resultConfig = ({ isDev = false }) => { - const isHMR = Boolean(isDev && process.env.WEBPACK_SERVE); - - const config = { - mode: isDev ? 'development' : 'production', - entry: './cdn.ts', - context: rootPath('src'), - output: { - path: rootPath(), - library: 'GraphiQL', - libraryTarget: 'window', - libraryExport: 'default', - filename: isDev ? 'graphiql.js' : 'graphiql.min.js', - }, - devServer: { - hot: true, - // bypass simple localhost CORS restrictions by setting - // these to 127.0.0.1 in /etc/hosts - allowedHosts: ['local.example.com', 'graphiql.com'], - setupMiddlewares(middlewares, devServer) { - require('../test/beforeDevServer')(devServer.app); - - return middlewares; - }, - }, - devtool: isDev ? 'cheap-module-source-map' : 'source-map', - externals: { - react: 'React', - 'react-dom': 'ReactDOM', - }, - - module: { - rules: [ - // for graphql module, which uses .mjs - { - type: 'javascript/auto', - test: /\.mjs$/, - use: [], - include: /node_modules/, - exclude: /\.(ts|d\.ts|d\.ts\.map)$/, - }, - // i think we need to add another rule for - // codemirror-graphql esm.js files to load - { - test: /\.(js|jsx|ts|tsx|mjs)$/, - use: [{ loader: 'babel-loader' }], - exclude: /\.(d\.ts|d\.ts\.map|spec\.tsx)$/, - }, - { - test: /\.css$/, - use: [{ loader: MiniCssExtractPlugin.loader }, 'css-loader'], - }, - { - test: /\.css$/, - exclude: /graphiql-react/, - use: ['postcss-loader'], - }, - ], - }, - - plugins: [ - // in order to prevent async modules for CDN builds - // until we can guarantee it will work with the CDN properly - // and so that graphiql.min.js can retain parity - new webpack.optimize.LimitChunkCountPlugin({ - maxChunks: 1, - }), - - new HtmlWebpackPlugin({ - template: relPath('index.html.ejs'), - inject: 'head', - filename: isDev && !isHMR ? 'dev.html' : 'index.html', - graphqlVersion: JSON.stringify(graphql.version), - }), - new MiniCssExtractPlugin({ - // Options similar to the same options in webpackOptions.output - // both options are optional - filename: isDev ? 'graphiql.css' : 'graphiql.min.css', - chunkFilename: '[id].css', - }), - new ForkTsCheckerWebpackPlugin({ - async: isDev, - typescript: { - configFile: rootPath('tsconfig.json'), - }, - }), - new (class { - apply(compiler) { - compiler.hooks.done.tap('Remove LICENSE', () => { - console.log('Remove LICENSE.txt'); - rimraf.sync('./*.LICENSE.txt'); - }); - } - })(), - ], - resolve: { - extensions: ['.mjs', '.js', '.json', '.jsx', '.css', '.ts', '.tsx'], - modules: [ - rootPath('node_modules'), - rootPath('../', '../', 'node_modules'), - ], - }, - }; - - if (process.env.ANALYZE) { - config.plugins.push( - new BundleAnalyzerPlugin({ - analyzerMode: 'static', - openAnalyzer: false, - reportFilename: rootPath('analyzer.html'), - }), - ); - } - return config; -}; -const configs = [resultConfig({ isDev: true })]; -if (!process.env.WEBPACK_SERVE) { - configs.push(resultConfig({ isDev: false })); -} -module.exports = configs; diff --git a/packages/graphiql/src/cdn.ts b/packages/graphiql/src/cdn.ts index d7a5914f9dc..6ad0bceabc1 100644 --- a/packages/graphiql/src/cdn.ts +++ b/packages/graphiql/src/cdn.ts @@ -9,41 +9,28 @@ import { createGraphiQLFetcher, createLocalStorage } from '@graphiql/toolkit'; import * as GraphQL from 'graphql'; import { GraphiQL } from './components/GraphiQL'; -import '@graphiql/react/font/roboto.css'; -import '@graphiql/react/font/fira-code.css'; -import '@graphiql/react/dist/style.css'; -import './style.css'; - /** * For the CDN bundle we add some static properties to the component function * so that they can be accessed in the inline-script in the HTML file. */ - -/** - * This function is needed in order to easily create a fetcher function. - */ -// @ts-expect-error -GraphiQL.createFetcher = createGraphiQLFetcher; - -/** - * This function is needed in order to easily generate a custom storage namespace - */ -// @ts-expect-error -GraphiQL.createLocalStorage = createLocalStorage; - -/** - * We also add the complete `graphiql-js` exports so that this instance of - * `graphiql-js` can be reused from plugin CDN bundles. - */ -// @ts-expect-error -GraphiQL.GraphQL = GraphQL; - -/** - * We also add the complete `@graphiql/react` exports. These will be included - * in the bundle anyway since they make up the `GraphiQL` component, so by - * doing this we can reuse them from plugin CDN bundles. - */ -// @ts-expect-error -GraphiQL.React = GraphiQLReact; - -export default GraphiQL; +export default Object.assign(GraphiQL, { + /** + * This function is needed in order to easily create a fetcher function. + */ + createFetcher: createGraphiQLFetcher, + /** + * This function is needed in order to easily generate a custom storage namespace + */ + createLocalStorage, + /** + * We also add the complete `graphiql-js` exports so that this instance of + * `graphiql-js` can be reused from plugin CDN bundles. + */ + GraphQL, + /** + * We also add the complete `@graphiql/react` exports. These will be included + * in the bundle anyway since they make up the `GraphiQL` component, so by + * doing this we can reuse them from plugin CDN bundles. + */ + React: GraphiQLReact, +}); diff --git a/packages/graphiql/src/components/GraphiQL.tsx b/packages/graphiql/src/components/GraphiQL.tsx index 9a4be7a2221..58d035e6e4a 100644 --- a/packages/graphiql/src/components/GraphiQL.tsx +++ b/packages/graphiql/src/components/GraphiQL.tsx @@ -6,7 +6,6 @@ */ import React, { - ComponentType, Fragment, MouseEventHandler, PropsWithChildren, @@ -16,6 +15,10 @@ import React, { useState, useEffect, useMemo, + version, + Children, + JSX, + cloneElement, } from 'react'; import { @@ -63,7 +66,7 @@ import { isMacOs, } from '@graphiql/react'; -const majorVersion = parseInt(React.version.slice(0, 2), 10); +const majorVersion = parseInt(version.slice(0, 2), 10); if (majorVersion < 16) { throw new Error( @@ -75,20 +78,6 @@ if (majorVersion < 16) { ); } -export type GraphiQLToolbarConfig = { - /** - * This content will be rendered after the built-in buttons of the toolbar. - * Note that this will not apply if you provide a completely custom toolbar - * (by passing `GraphiQL.Toolbar` as child to the `GraphiQL` component). - */ - additionalContent?: React.ReactNode; - - /** - * same as above, except a component with access to context - */ - additionalComponent?: React.JSXElementConstructor; -}; - /** * API docs for this live here: * @@ -139,7 +128,18 @@ export function GraphiQL({ 'The `GraphiQL` component requires a `fetcher` function to be passed as prop.', ); } - + // @ts-expect-error -- Prop is removed + if (props.toolbar?.additionalContent) { + throw new TypeError( + '`toolbar.additionalContent` was removed. Use render props on `GraphiQL.Toolbar` component instead.', + ); + } + // @ts-expect-error -- Prop is removed + if (props.toolbar?.additionalComponent) { + throw new TypeError( + '`toolbar.additionalComponent` was removed. Use render props on `GraphiQL.Toolbar` component instead.', + ); + } return ( @@ -191,7 +190,7 @@ type AddSuffix, Suffix extends string> = { export type GraphiQLInterfaceProps = WriteableEditorProps & AddSuffix, 'Query'> & - Pick & + Pick & AddSuffix, 'Variables'> & AddSuffix, 'Headers'> & Pick & { @@ -211,18 +210,12 @@ export type GraphiQLInterfaceProps = WriteableEditorProps & * @default true */ isHeadersEditorEnabled?: boolean; - /** - * An object that allows configuration of the toolbar next to the query - * editor. - */ - toolbar?: GraphiQLToolbarConfig; /** * Indicates if settings for persisting headers should appear in the * settings modal. */ showPersistHeadersSettings?: boolean; defaultTheme?: Theme; - disableTabs?: boolean; /** * `forcedTheme` allows enforcement of a specific theme for GraphiQL. * This is useful when you want to make sure that GraphiQL is always @@ -261,11 +254,6 @@ export function GraphiQLInterface(props: GraphiQLInterfaceProps) { : undefined, [props.forcedTheme], ); - - const copy = useCopyQuery({ onCopyQuery: props.onCopyQuery }); - const merge = useMergeQuery(); - const prettify = usePrettifyEditors(); - const { theme, setTheme } = useTheme(props.defaultTheme); useEffect(() => { @@ -339,37 +327,41 @@ export function GraphiQLInterface(props: GraphiQLInterfaceProps) { 'success' | 'error' | null >(null); - const children = React.Children.toArray(props.children); - - const logo = children.find(child => - isChildComponentType(child, GraphiQL.Logo), - ) || ; - - const toolbar = children.find(child => - isChildComponentType(child, GraphiQL.Toolbar), - ) || ( - <> - - - - - - - - - - {props.toolbar?.additionalContent} - {props.toolbar?.additionalComponent && ( - - )} - - ); - - const footer = children.find(child => - isChildComponentType(child, GraphiQL.Footer), + const { + logo = , + toolbar = ( + + ), + footer, + } = useMemo( + () => + Children.toArray(props.children).reduce<{ + logo?: ReactNode; + toolbar?: ReactNode; + footer?: ReactNode; + }>((acc, curr) => { + switch (getChildComponentType(curr)) { + case GraphiQL.Logo: + acc.logo = curr; + break; + case GraphiQL.Toolbar: + // @ts-expect-error -- fix type error + acc.toolbar = cloneElement(curr, { + onCopyQuery: props.onCopyQuery, + onPrettifyQuery: props.onPrettifyQuery, + }); + break; + case GraphiQL.Footer: + acc.footer = curr; + break; + } + return acc; + }, {}), + [props.children, props.onCopyQuery, props.onPrettifyQuery], ); const onClickReference = useCallback(() => { @@ -470,19 +462,6 @@ export function GraphiQLInterface(props: GraphiQLInterfaceProps) { } }, []); - const addTab = ( - - - - - - ); - const className = props.className ? ` ${props.className}` : ''; const confirmClose = props.confirmCloseTab; @@ -529,65 +508,59 @@ export function GraphiQLInterface(props: GraphiQLInterfaceProps) { return ( -
+
-
- {pluginContext?.plugins.map((plugin, index) => { - const isVisible = plugin === pluginContext.visiblePlugin; - const label = `${isVisible ? 'Hide' : 'Show'} ${plugin.title}`; - return ( - - - - - ); - })} -
-
- - - - - - - - - - - - -
+ {pluginContext?.plugins.map((plugin, index) => { + const isVisible = plugin === pluginContext.visiblePlugin; + const label = `${isVisible ? 'Hide' : 'Show'} ${plugin.title}`; + return ( + + + + + ); + })} + + + + + + + + + + + +
- {!props.disableTabs && ( - + {editorContext.tabs.map((tab, index, tabs) => ( + + + {tab.title} + + {tabs.length > 1 && } + + ))} + + + - {editorContext.tabs.length > 1 && ( - <> - {editorContext.tabs.map((tab, index) => ( - - - {tab.title} - - - - ))} - {addTab} - - )} - - )} -
- {editorContext.tabs.length === 1 && addTab} - {logo} -
+
+
+ {logo}
-
+
@@ -975,53 +945,96 @@ function ShortKeys({ keyMap }: { keyMap: string }): ReactElement { } // Configure the UI by providing this Component as a child of GraphiQL. -function GraphiQLLogo(props: PropsWithChildren) { - return ( -
- {props.children || ( - - Graph - i - QL - - )} -
- ); +function GraphiQLLogo({ + children = ( + + Graph + i + QL + + ), +}: PropsWithChildren) { + return
{children}
; } -GraphiQLLogo.displayName = 'GraphiQLLogo'; +type ToolbarRenderProps = (props: { + prettify: ReactNode; + copy: ReactNode; + merge: ReactNode; +}) => JSX.Element; + +const DefaultToolbarRenderProps: ToolbarRenderProps = ({ + prettify, + copy, + merge, +}) => ( + <> + {prettify} + {merge} + {copy} + +); // Configure the UI by providing this Component as a child of GraphiQL. -function GraphiQLToolbar(props: PropsWithChildren) { - // eslint-disable-next-line react/jsx-no-useless-fragment - return <>{props.children}; -} +function GraphiQLToolbar({ + children = DefaultToolbarRenderProps, + // @ts-expect-error -- Hide this prop for user, we use cloneElement to pass onCopyQuery + onCopyQuery, + // @ts-expect-error -- Hide this prop for user, we use cloneElement to pass onPrettifyQuery + onPrettifyQuery, +}: { + children?: ToolbarRenderProps; +}) { + if (typeof children !== 'function') { + throw new TypeError( + 'The `GraphiQL.Toolbar` component requires a render prop function as its child.', + ); + } + const onCopy = useCopyQuery({ onCopyQuery }); + const onMerge = useMergeQuery(); + const onPrettify = usePrettifyEditors({ onPrettifyQuery }); + + const prettify = ( + + + ); -GraphiQLToolbar.displayName = 'GraphiQLToolbar'; + const merge = ( + + + ); + + const copy = ( + + + ); + + return children({ prettify, copy, merge }); +} // Configure the UI by providing this Component as a child of GraphiQL. function GraphiQLFooter(props: PropsWithChildren) { return
{props.children}
; } -GraphiQLFooter.displayName = 'GraphiQLFooter'; - -// Determines if the React child is of the same type of the provided React component -function isChildComponentType( - child: any, - component: T, -): child is T { +function getChildComponentType(child: ReactNode) { if ( - child?.type?.displayName && - child.type.displayName === component.displayName + child && + typeof child === 'object' && + 'type' in child && + typeof child.type === 'function' ) { - return true; + return child.type; } - - return child.type === component; } diff --git a/packages/graphiql/src/components/__tests__/GraphiQL.spec.tsx b/packages/graphiql/src/components/__tests__/GraphiQL.spec.tsx index e278a1310fe..2bf102d0f0c 100644 --- a/packages/graphiql/src/components/__tests__/GraphiQL.spec.tsx +++ b/packages/graphiql/src/components/__tests__/GraphiQL.spec.tsx @@ -410,13 +410,13 @@ describe('GraphiQL', () => { }); describe('Tabs', () => { - it('show tabs if there are more than one', async () => { + it('show tabs', async () => { const { container } = render(); await waitFor(() => { expect( container.querySelectorAll('.graphiql-tabs .graphiql-tab'), - ).toHaveLength(0); + ).toHaveLength(1); }); act(() => { @@ -492,7 +492,7 @@ describe('GraphiQL', () => { await waitFor(() => { expect( container.querySelectorAll('.graphiql-tabs .graphiql-tab'), - ).toHaveLength(0); + ).toHaveLength(1); expect( container.querySelectorAll('.graphiql-tab .graphiql-tab-close'), ).toHaveLength(0); @@ -599,28 +599,6 @@ describe('GraphiQL', () => { expect(getByText('My Exported Type Logo')).toBeInTheDocument(); }); }); - - it('can be overridden using a named component', async () => { - const WrappedLogo = () => { - return ( -
- My Named Component Logo -
- ); - }; - WrappedLogo.displayName = 'GraphiQLLogo'; - - const { container, getByText } = render( - - - , - ); - - await waitFor(() => { - expect(container.querySelector('.test-wrapper')).toBeInTheDocument(); - expect(getByText('My Named Component Logo')).toBeInTheDocument(); - }); - }); }); describe('GraphiQL.Toolbar', () => { @@ -628,7 +606,7 @@ describe('GraphiQL', () => { const { container } = render( - + {() => } , ); @@ -641,35 +619,6 @@ describe('GraphiQL', () => { ).toHaveLength(1); }); }); - - it('can be overridden using a named component', async () => { - const WrappedToolbar = () => { - return ( -
- - - - , -
- ); - }; - WrappedToolbar.displayName = 'GraphiQLToolbar'; - - const { container } = render( - - - , - ); - - await waitFor(() => { - expect(container.querySelector('.test-wrapper')).toBeInTheDocument(); - expect( - container.querySelectorAll( - '[role="toolbar"] .graphiql-toolbar-button', - ), - ).toHaveLength(1); - }); - }); }); describe('GraphiQL.Footer', () => { @@ -688,33 +637,6 @@ describe('GraphiQL', () => { ).toHaveLength(1); }); }); - - it('can be overridden using a named component', async () => { - const WrappedFooter = () => { - return ( -
- - - - , -
- ); - }; - WrappedFooter.displayName = 'GraphiQLFooter'; - - const { container } = render( - - - , - ); - - await waitFor(() => { - expect(container.querySelector('.test-wrapper')).toBeInTheDocument(); - expect( - container.querySelectorAll('.graphiql-footer button'), - ).toHaveLength(1); - }); - }); }); }); }); diff --git a/packages/graphiql/src/index.ts b/packages/graphiql/src/index.ts index b4ea740e2e5..dd68af03422 100644 --- a/packages/graphiql/src/index.ts +++ b/packages/graphiql/src/index.ts @@ -4,11 +4,11 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ +import './style.css'; /** * GraphiQL */ - export { GraphiQLProvider } from '@graphiql/react'; /** @@ -20,8 +20,4 @@ export type { } from './components/GraphiQL'; export type { GraphiQLProviderProps } from '@graphiql/react'; -export { - GraphiQLInterface, - GraphiQL, - GraphiQL as default, -} from './components/GraphiQL'; +export { GraphiQLInterface, GraphiQL } from './components/GraphiQL'; diff --git a/packages/graphiql/src/style.css b/packages/graphiql/src/style.css index ed695eac028..e653e2edeb7 100644 --- a/packages/graphiql/src/style.css +++ b/packages/graphiql/src/style.css @@ -1,3 +1,7 @@ +@import '@graphiql/react/font/roboto.css'; +@import '@graphiql/react/font/fira-code.css'; +@import '@graphiql/react/style.css'; + /* Everything */ .graphiql-container { background-color: hsl(var(--color-base)); @@ -12,34 +16,26 @@ .graphiql-container .graphiql-sidebar { display: flex; flex-direction: column; - justify-content: space-between; padding: var(--px-8); width: var(--sidebar-width); -} - -.graphiql-container .graphiql-sidebar .graphiql-sidebar-section { - display: flex; - flex-direction: column; gap: var(--px-8); + overflow-y: auto; } -.graphiql-container .graphiql-sidebar button { +.graphiql-container .graphiql-sidebar > button { display: flex; align-items: center; justify-content: center; color: hsla(var(--color-neutral), var(--alpha-secondary)); height: calc(var(--sidebar-width) - (2 * var(--px-8))); width: calc(var(--sidebar-width) - (2 * var(--px-8))); + flex-shrink: 0; } .graphiql-container .graphiql-sidebar button.active { color: hsl(var(--color-neutral)); } -.graphiql-container .graphiql-sidebar button:not(:first-child) { - margin-top: var(--px-4); -} - .graphiql-container .graphiql-sidebar button > svg { height: var(--px-20); width: var(--px-20); @@ -68,47 +64,45 @@ /* The session header containing tabs and the logo */ .graphiql-container .graphiql-session-header { + height: var(--session-header-height); align-items: center; display: flex; - justify-content: space-between; - height: var(--session-header-height); + padding: var(--px-8) var(--px-8) 0; + gap: var(--px-8); } /* The button to add a new tab */ button.graphiql-tab-add { - height: 100%; padding: var(--px-4); -} -button.graphiql-tab-add > svg { - color: hsla(var(--color-neutral), var(--alpha-secondary)); - display: block; - height: var(--px-16); - width: var(--px-16); -} - -/* The right-hand-side of the session header */ -.graphiql-container .graphiql-session-header-right { - align-items: center; - display: flex; + & > svg { + color: hsla(var(--color-neutral), var(--alpha-secondary)); + display: block; + height: var(--px-16); + width: var(--px-16); + } } /* The GraphiQL logo */ .graphiql-container .graphiql-logo { + margin-left: auto; color: hsla(var(--color-neutral), var(--alpha-secondary)); font-size: var(--font-size-h4); font-weight: var(--font-weight-medium); - padding: var(--px-12) var(--px-16); } /* Undo default link styling for the default GraphiQL logo link */ .graphiql-container .graphiql-logo .graphiql-logo-link { color: hsla(var(--color-neutral), var(--alpha-secondary)); text-decoration: none; + + &:focus { + outline: hsla(var(--color-neutral), var(--alpha-background-heavy)) auto 1px; + } } /* The editor of the session */ -.graphiql-container .graphiql-session { +.graphiql-container #graphiql-session { display: flex; flex: 1; padding: 0 var(--px-8) var(--px-8); @@ -117,17 +111,13 @@ button.graphiql-tab-add > svg { /* All editors (query, variable, headers) */ .graphiql-container .graphiql-editors { background-color: hsl(var(--color-base)); - border-radius: calc(var(--border-radius-12)); + border-radius: 0 0 var(--border-radius-12) var(--border-radius-12); box-shadow: var(--popover-box-shadow); display: flex; flex: 1; flex-direction: column; } -.graphiql-container .graphiql-editors.full-height { - margin-top: calc(var(--px-8) - var(--session-header-height)); -} - /* The query editor and the toolbar */ .graphiql-container .graphiql-query-editor { border-bottom: 1px solid @@ -141,10 +131,13 @@ button.graphiql-tab-add > svg { /* The vertical toolbar next to the query editor */ .graphiql-container .graphiql-toolbar { width: var(--toolbar-width); + display: flex; + flex-direction: column; + gap: var(--px-8); } -.graphiql-container .graphiql-toolbar > * + * { - margin-top: var(--px-8); +.graphiql-container .graphiql-toolbar > button { + flex-shrink: 0; } /* The toolbar icons */ diff --git a/packages/graphiql/test/afterDevServer.js b/packages/graphiql/test/afterDevServer.js deleted file mode 100644 index 6d54fa923fa..00000000000 --- a/packages/graphiql/test/afterDevServer.js +++ /dev/null @@ -1,14 +0,0 @@ -// eslint-disable-next-line import-x/no-extraneous-dependencies -const { useServer } = require('graphql-ws/lib/use/ws'); -const { Server: WebSocketServer } = require('ws'); -const schema = require('./schema'); - -module.exports = function afterDevServer(_app, _server, _compiler) { - const wsServer = new WebSocketServer({ - path: '/subscriptions', - port: 8081, - }); - // eslint-disable-next-line react-hooks/rules-of-hooks - useServer({ schema }, wsServer); - return wsServer; -}; diff --git a/packages/graphiql/test/beforeDevServer.js b/packages/graphiql/test/beforeDevServer.js deleted file mode 100644 index 4a3d4fb89ef..00000000000 --- a/packages/graphiql/test/beforeDevServer.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (c) 2021 GraphQL Contributors. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const express = require('express'); -const path = require('node:path'); -// eslint-disable-next-line import-x/no-extraneous-dependencies -const { createHandler } = require('graphql-http/lib/use/express'); -const schema = require('./schema'); -const { customExecute } = require('./execute'); - -module.exports = function beforeDevServer(app, _server, _compiler) { - // GraphQL Server - const handler = createHandler({ schema, execute: customExecute }); - app.post('/graphql', handler); - app.get('/graphql', handler); - - app.use('/images', express.static(path.join(__dirname, 'images'))); - - app.use( - '/resources/renderExample.js', - express.static(path.join(__dirname, '../resources/renderExample.js')), - ); -}; diff --git a/packages/graphiql/test/e2e-server.js b/packages/graphiql/test/e2e-server.js index 970b8144162..fa7c04602d6 100644 --- a/packages/graphiql/test/e2e-server.js +++ b/packages/graphiql/test/e2e-server.js @@ -5,18 +5,21 @@ * LICENSE file in the root directory of this source tree. */ -/* eslint-disable no-console */ -const { createServer } = require('node:http'); -const express = require('express'); -const path = require('node:path'); -const { +/* eslint-disable no-console, import-x/no-extraneous-dependencies */ +import { createServer } from 'node:http'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import express from 'express'; +import { useServer } from 'graphql-ws/lib/use/ws'; +import { WebSocketServer } from 'ws'; +import { getGraphQLParameters, processRequest, sendResult, -} = require('graphql-helix'); // update when `graphql-http` is upgraded to support multipart requests for incremental delivery https://github.com/graphql/graphiql/pull/3682#discussion_r1715545279 -const WebSocketsServer = require('./afterDevServer'); -const schema = require('./schema'); -const { customExecute } = require('./execute'); +} from 'graphql-helix'; // update when `graphql-http` is upgraded to support multipart requests for incremental delivery https://github.com/graphql/graphiql/pull/3682#discussion_r1715545279 + +import { schema } from './schema.js'; +import { customExecute } from './execute.js'; const app = express(); @@ -48,8 +51,16 @@ app.use(express.json()); app.post('/graphql', handler); app.get('/graphql', handler); -app.use(express.static(path.resolve(__dirname, '../'))); -app.use('index.html', express.static(path.resolve(__dirname, '../dev.html'))); +// On CI we test the UMD build +if (process.env.CI === 'true') { + const __dirname = path.dirname(fileURLToPath(import.meta.url)); + // const __dirname = import.meta.dirname; // can be converted to, after Node.js upgrade to v20 + app.use(express.static(path.join(__dirname, '..'))); +} else { + app.get('/', (req, res) => { + res.redirect('http://localhost:5173'); + }); +} // messy but it allows close const server = createServer(app); @@ -57,7 +68,7 @@ const server = createServer(app); server.listen(process.env.PORT || 3100, function () { const { port } = this.address(); - console.log(`Started on http://localhost:${port}/`); + console.log(`Started on http://localhost:${port}`); console.log('PID', process.pid); process.once('SIGINT', () => { @@ -68,4 +79,10 @@ server.listen(process.env.PORT || 3100, function () { }); }); -WebSocketsServer(); +const wsServer = new WebSocketServer({ + path: '/subscriptions', + port: 8081, +}); + +// eslint-disable-next-line react-hooks/rules-of-hooks +useServer({ schema }, wsServer); diff --git a/packages/graphiql/test/execute.js b/packages/graphiql/test/execute.js index 1ca1ed1f7ca..ada5ee703cb 100644 --- a/packages/graphiql/test/execute.js +++ b/packages/graphiql/test/execute.js @@ -1,10 +1,7 @@ -const { - execute, - experimentalExecuteIncrementally, - version, -} = require('graphql'); +/* eslint-disable import-x/no-extraneous-dependencies */ +import { execute, experimentalExecuteIncrementally, version } from 'graphql'; -const customExecute = +export const customExecute = parseInt(version, 10) > 16 ? async (...args) => { const result = await experimentalExecuteIncrementally(...args); @@ -24,5 +21,3 @@ const customExecute = })(); } : execute; - -module.exports = { customExecute }; diff --git a/packages/graphiql/test/package.json b/packages/graphiql/test/package.json new file mode 100644 index 00000000000..3dbc1ca591c --- /dev/null +++ b/packages/graphiql/test/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/packages/graphiql/test/schema.js b/packages/graphiql/test/schema.js index d6c048e5514..ab5a58766ec 100644 --- a/packages/graphiql/test/schema.js +++ b/packages/graphiql/test/schema.js @@ -6,9 +6,8 @@ * LICENSE file in the root directory of this source tree. */ -const graphql = require('graphql'); - -const { +// eslint-disable-next-line import-x/no-extraneous-dependencies +import { GraphQLSchema, GraphQLObjectType, GraphQLUnionType, @@ -25,7 +24,7 @@ const { GraphQLStreamDirective, specifiedDirectives, version, -} = graphql; +} from 'graphql'; const directives = parseInt(version, 10) > 16 @@ -131,9 +130,7 @@ const UnionSecond = new GraphQLObjectType({ const TestUnion = new GraphQLUnionType({ name: 'TestUnion', types: [UnionFirst, UnionSecond], - resolveType() { - return UnionFirst; - }, + resolveType: () => UnionFirst, }); const Greeting = new GraphQLObjectType({ @@ -193,7 +190,7 @@ const Person = new GraphQLObjectType({ friends: { type: new GraphQLList(Person), async *resolve(_value, _args) { - const names = ['James', 'Mary', 'John', 'Patrica']; // Top 4 names https://www.ssa.gov/oact/babynames/decades/century.html + const names = ['James', 'Mary', 'John', 'Patrica']; // Top 4 names https://ssa.gov/oact/babynames/decades/century.html for (const name of names) { await sleep(100); yield { name }; @@ -203,14 +200,15 @@ const Person = new GraphQLObjectType({ }), }); -const sleep = async timeout => new Promise(res => setTimeout(res, timeout)); +const sleep = async timeout => + new Promise(resolve => setTimeout(resolve, timeout)); const longDescription = ` The \`longDescriptionType\` field on the \`Test\` type has a long, verbose, description to test inline field docs. > We want to test several \`markdown\` styles! -Check out [Markdown](https://www.markdownguide.org/) by the way. +Check out [Markdown](https://markdownguide.org) by the way. Some notes: - Lists @@ -219,14 +217,14 @@ Some notes: - and with very very very very very very very very very very long items that span multiple lines - you get the gist -To-Do's: +TO-DO's: 1. Open GraphiQL -2. Write a query +1. Write a query 1. Maybe add some variables - 2. Could also add headers -3. Send the request + 1. Could also add headers +1. Send the request -Example quey: +Example query: \`\`\`graphql { test { @@ -238,7 +236,7 @@ Example quey: And we have a cool logo: -![](/images/logo.svg) +![](/resources/logo.svg) `.trim(); const TestType = new GraphQLObjectType({ @@ -307,7 +305,7 @@ const TestType = new GraphQLObjectType({ image: { type: GraphQLString, description: 'field that returns an image URI.', - resolve: () => '/images/logo.svg', + resolve: () => '/resources/logo.svg', }, deprecatedField: { type: TestType, @@ -372,7 +370,7 @@ const TestMutationType = new GraphQLObjectType({ const TestSubscriptionType = new GraphQLObjectType({ name: 'SubscriptionType', description: - 'This is a simple subscription type. Learn more at https://www.npmjs.com/package/graphql-ws', + 'This is a simple subscription type. Learn more at https://npmjs.com/package/graphql-ws', fields: { message: { type: GraphQLString, @@ -392,12 +390,10 @@ const TestSubscriptionType = new GraphQLObjectType({ }, }); -const myTestSchema = new GraphQLSchema({ +export const schema = new GraphQLSchema({ query: TestType, mutation: TestMutationType, subscription: TestSubscriptionType, description: 'This is a test schema for GraphiQL', directives, }); - -module.exports = myTestSchema; diff --git a/packages/graphiql/tsconfig.esm.json b/packages/graphiql/tsconfig.esm.json deleted file mode 100644 index e65af015416..00000000000 --- a/packages/graphiql/tsconfig.esm.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "../../resources/tsconfig.base.esm.json", - "compilerOptions": { - "rootDir": "./src", - "outDir": "./esm", - "composite": false, - "jsx": "react", - "baseUrl": ".", - "target": "es5" - }, - "include": ["src"], - "exclude": [ - "**/__tests__/**", - "**/dist/**.*", - "**/*.spec.ts", - "**/*.spec.js", - "**/*-test.ts", - "**/*-test.js" - ], - "references": [ - { - "path": "../codemirror-graphql" - }, - { - "path": "../graphql-language-service" - } - ] -} diff --git a/packages/graphiql/vite.config.mts b/packages/graphiql/vite.config.mts new file mode 100644 index 00000000000..f6f830074f4 --- /dev/null +++ b/packages/graphiql/vite.config.mts @@ -0,0 +1,99 @@ +import { defineConfig, PluginOption } from 'vite'; +import packageJSON from './package.json'; +import dts from 'vite-plugin-dts'; +import commonjs from 'vite-plugin-commonjs'; + +const umdConfig = defineConfig({ + define: { + // graphql v17 + 'globalThis.process.env.NODE_ENV': 'true', + // https://github.com/graphql/graphql-js/blob/16.x.x/website/docs/tutorials/going-to-production.md#vite + 'globalThis.process': 'true', + 'process.env.NODE_ENV': '"production"', + }, + // To bundle `const { createClient } = require('graphql-ws')` in `createWebsocketsFetcherFromUrl` function + plugins: [commonjs()], + build: { + minify: 'terser', // produce less bundle size + sourcemap: true, + emptyOutDir: false, + lib: { + entry: 'src/cdn.ts', + // 👇 The name of the exposed global variable. Required when the formats option includes umd or iife + name: 'GraphiQL', + fileName: 'index', + formats: ['umd'], + }, + rollupOptions: { + external: ['react', 'react-dom'], + output: { + globals: { + react: 'React', + 'react-dom': 'ReactDOM', + }, + }, + }, + }, +}); + +const esmConfig = defineConfig({ + build: { + minify: false, + sourcemap: true, + lib: { + entry: 'src/index.ts', + fileName: 'index', + formats: ['cjs', 'es'], + }, + rollupOptions: { + external: [ + // Exclude peer dependencies and dependencies from bundle + ...Object.keys(packageJSON.peerDependencies), + ...Object.keys(packageJSON.dependencies), + ], + }, + }, + server: { + // prevent browser window from opening automatically + open: false, + proxy: { + '/graphql': 'http://localhost:8080', + '/subscriptions': { + target: 'ws://localhost:8081', + ws: true, + }, + }, + }, + plugins: [htmlPlugin(), dts({ rollupTypes: true })], +}); + +function htmlPlugin(): PluginOption { + const htmlForVite = /* HTML */ ` + + + `; + + return { + name: 'html-replace-umd-with-src', + transformIndexHtml: { + order: 'pre', + handler(html) { + const start = ''; + const end = ''; + const contentToReplace = html.slice( + html.indexOf(start), + html.indexOf(end) + end.length, + ); + return html.replace(contentToReplace, htmlForVite); + }, + }, + }; +} + +export default process.env.UMD === 'true' ? umdConfig : esmConfig; diff --git a/packages/graphql-language-service-server/src/__tests__/MessageProcessor.spec.ts b/packages/graphql-language-service-server/src/__tests__/MessageProcessor.spec.ts index ffbe0dc6f36..85ac3bfee7d 100644 --- a/packages/graphql-language-service-server/src/__tests__/MessageProcessor.spec.ts +++ b/packages/graphql-language-service-server/src/__tests__/MessageProcessor.spec.ts @@ -15,6 +15,7 @@ import { version, } from 'graphql'; import fetchMock from 'fetch-mock'; +import { schema as graphiqlSchema } from '../../../graphiql/test/schema'; const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); @@ -30,9 +31,7 @@ jest.mock('@whatwg-node/fetch', () => { const mockSchema = (schema: GraphQLSchema) => { const introspectionResult = { - data: introspectionFromSchema(schema, { - descriptions: true, - }), + data: introspectionFromSchema(schema, { descriptions: true }), }; return fetchMock.mock({ matcher: '*', @@ -45,10 +44,10 @@ const mockSchema = (schema: GraphQLSchema) => { }); }; -const defaultFiles = [ +const defaultFiles: MockFile[] = [ ['query.graphql', 'query { bar ...B }'], ['fragments.graphql', 'fragment B on Foo { bar }'], -] as MockFile[]; +]; const schemaFile: MockFile = [ 'schema.graphql', 'type Query { foo: Foo, test: Test }\n\ntype Foo { bar: String }\n\ntype Test { test: Foo }', @@ -366,8 +365,7 @@ describe('MessageProcessor with config', () => { it('caches files and schema with a URL config', async () => { const offset = parseInt(version, 10) > 16 ? 25 : 0; - - mockSchema(require('../../../graphiql/test/schema')); + mockSchema(graphiqlSchema); const project = new MockProject({ files: [ @@ -409,9 +407,10 @@ describe('MessageProcessor with config', () => { // ensure that fragment definitions work const definitions = await project.lsp.handleDefinitionRequest({ - textDocument: { uri: project.uri('query.graphql') }, // console.log(project.uri('query.graphql')) + textDocument: { uri: project.uri('query.graphql') }, position: { character: 26, line: 0 }, }); + expect(definitions[0].uri).toEqual(project.uri('fragments.graphql')); expect(serializeRange(definitions[0].range)).toEqual({ start: { @@ -499,7 +498,7 @@ describe('MessageProcessor with config', () => { }); it('caches multiple projects with files and schema with a URL config and a local schema', async () => { - mockSchema(require('../../../graphiql/test/schema')); + mockSchema(graphiqlSchema); const project = new MockProject({ files: [ diff --git a/packages/vscode-graphql-execution/package.json b/packages/vscode-graphql-execution/package.json index 00fd9823a2f..6cb04f08616 100644 --- a/packages/vscode-graphql-execution/package.json +++ b/packages/vscode-graphql-execution/package.json @@ -109,7 +109,7 @@ "cosmiconfig": "8.2.0", "cosmiconfig-toml-loader": "^1.0.0", "dotenv": "10.0.0", - "graphql": "^16.8.1 || ^17.0.0-alpha.2", + "graphql": "^16.9.0 || ^17.0.0-alpha.2", "graphql-config": "5.0.3", "graphql-tag": "2.12.6", "graphql-ws": "5.10.0", diff --git a/packages/vscode-graphql/package.json b/packages/vscode-graphql/package.json index 3422298af8d..50d0f059553 100644 --- a/packages/vscode-graphql/package.json +++ b/packages/vscode-graphql/package.json @@ -179,7 +179,7 @@ "ovsx": "0.8.3" }, "dependencies": { - "graphql": "^16.8.1 || ^17.0.0-alpha.2", + "graphql": "^16.9.0 || ^17.0.0-alpha.2", "graphql-language-service-server": "^2.14.0", "vscode-languageclient": "8.0.2", "typescript": "^5.3.3" diff --git a/resources/custom-words.txt b/resources/custom-words.txt index 23fea95fca5..fdd98ae4735 100644 --- a/resources/custom-words.txt +++ b/resources/custom-words.txt @@ -52,6 +52,7 @@ codicon colmena combobox cshaver +crossorigin dedenting delivr devx @@ -114,6 +115,7 @@ linenumber linenumbers linkify listbox +lightningcss listvalues lostplan maint diff --git a/yarn.lock b/yarn.lock index b47771846d7..98b4f31e170 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2037,188 +2037,11 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-vue/-/dict-vue-2.0.1.tgz#7514875f760ae755d2a6ef1fd00917d107682fe1" integrity sha512-n9So2C2Zw+uSDRzb2h9wq3PjZBqoHx+vBvu6a34H2qpumNjZ6HaEronrzX5tXJJXzOtocIQYrLxdd128TAU3+g== -"@csstools/cascade-layer-name-parser@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.1.tgz#5957adeb71be8159e543d37a9c48e124dcd6c32e" - integrity sha512-SAAi5DpgJJWkfTvWSaqkgyIsTawa83hMwKrktkj6ra2h+q6ZN57vOGZ6ySHq6RSo+CbP64fA3aPChPBRDDUgtw== - -"@csstools/color-helpers@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-1.0.0.tgz#7097722a51da1e9e622345ca000261f1ae6e8f58" - integrity sha512-tgqtiV8sU/VaWYjOB3O7PWs7HR/MmOLl2kTYRW2qSsTSEniJq7xmyAYFB1LPpXvvQcE5u2ih2dK9fyc8BnrAGQ== - -"@csstools/css-calc@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-1.0.0.tgz#f93e4cc9d80b504467aee1b5251bb2fd8be435a7" - integrity sha512-Xw0b/Jr+vLGGYD8cxsGWPaY5n1GtVC6G4tcga+eZPXZzRjjZHorPwW739UgtXzL2Da1RLxNE73c0r/KvmizPsw== - -"@csstools/css-parser-algorithms@^2.0.0", "@csstools/css-parser-algorithms@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.0.1.tgz#ff02629c7c95d1f4f8ea84d5ef1173461610535e" - integrity sha512-B9/8PmOtU6nBiibJg0glnNktQDZ3rZnGn/7UmDfrm2vMtrdlXO3p7ErE95N0up80IRk9YEtB5jyj/TmQ1WH3dw== - -"@csstools/css-tokenizer@^2.0.0", "@csstools/css-tokenizer@^2.0.1": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.1.0.tgz#fee4de3d444db3ce9007f3af6474af8ba3e4b930" - integrity sha512-dtqFyoJBHUxGi9zPZdpCKP1xk8tq6KPHJ/NY4qWXiYo6IcSGwzk3L8x2XzZbbyOyBs9xQARoGveU2AsgLj6D2A== - -"@csstools/media-query-list-parser@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.0.1.tgz#d85a366811563a5d002755ed10e5212a1613c91d" - integrity sha512-X2/OuzEbjaxhzm97UJ+95GrMeT29d1Ib+Pu+paGLuRWZnWRK9sI9r3ikmKXPWGA1C4y4JEdBEFpp9jEqCvLeRA== - -"@csstools/postcss-cascade-layers@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-3.0.1.tgz#d839386e90428b448e3f75276bc01d516e852a0d" - integrity sha512-dD8W98dOYNOH/yX4V4HXOhfCOnvVAg8TtsL+qCGNoKXuq5z2C/d026wGWgySgC8cajXXo/wNezS31Glj5GcqrA== - dependencies: - "@csstools/selector-specificity" "^2.0.2" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-color-function@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-2.1.0.tgz#2ed0320b4f7e0d7718280e273f88ba4164eae7e7" - integrity sha512-XBoCClLyWchlYGHGlmMOa6M2UXZNrZm63HVfsvgD/z1RPm/s3+FhHyT6VkDo+OvEBPhCgn6xz4IeCu4pRctKDQ== - dependencies: - "@csstools/color-helpers" "^1.0.0" - "@csstools/postcss-progressive-custom-properties" "^2.0.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-font-format-keywords@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-2.0.2.tgz#d798d96f4af6cddcfee459f598c976e6011042d2" - integrity sha512-iKYZlIs6JsNT7NKyRjyIyezTCHLh4L4BBB3F5Nx7Dc4Z/QmBgX+YJFuUSar8IM6KclGiAUFGomXFdYxAwJydlA== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-hwb-function@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-2.1.1.tgz#a86efbae9f95236022d6bed83e06357a3bfb4de7" - integrity sha512-XijKzdxBdH2hU6IcPWmnaU85FKEF1XE5hGy0d6dQC6XznFUIRu1T4uebL3krayX40m4xIcxfCBsQm5zphzVrtg== - dependencies: - "@csstools/color-helpers" "^1.0.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-ic-unit@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-2.0.2.tgz#5a5e481c53977deec3d63793788eec924d4c5f7d" - integrity sha512-N84qGTJkfLTPj2qOG5P4CIqGjpZBbjOEMKMn+UjO5wlb9lcBTfBsxCF0lQsFdWJUzBHYFOz19dL66v71WF3Pig== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^2.0.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-is-pseudo-class@^3.0.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-3.1.1.tgz#81b0f3ba388bf3c8966e1a4413e1839beef7960e" - integrity sha512-hhiacuby4YdUnnxfCYCRMBIobyJImozf0u+gHSbQ/tNOdwvmrZtVROvgW7zmfYuRkHVDNZJWZslq2v5jOU+j/A== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-logical-float-and-clear@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-1.0.1.tgz#d255ea7aad18880930b63d8a04164f56182f2ecf" - integrity sha512-eO9z2sMLddvlfFEW5Fxbjyd03zaO7cJafDurK4rCqyRt9P7aaWwha0LcSzoROlcZrw1NBV2JAp2vMKfPMQO1xw== - -"@csstools/postcss-logical-resize@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-resize/-/postcss-logical-resize-1.0.1.tgz#826d3de929d7d786c32c2c118f78e813a1c2cdec" - integrity sha512-x1ge74eCSvpBkDDWppl+7FuD2dL68WP+wwP2qvdUcKY17vJksz+XoE1ZRV38uJgS6FNUwC0AxrPW5gy3MxsDHQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-logical-viewport-units@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-1.0.2.tgz#b968c57e1459429b48b24e2c250ca0904d71df6e" - integrity sha512-nnKFywBqRMYjv5jyjSplD/nbAnboUEGFfdxKw1o34Y1nvycgqjQavhKkmxbORxroBBIDwC5y6SfgENcPPUcOxQ== - dependencies: - "@csstools/css-tokenizer" "^2.0.0" - -"@csstools/postcss-media-queries-aspect-ratio-number-values@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-1.0.1.tgz#fd6a8e50c2d6d46a5c95b6cdc5563a091fa2f0fa" - integrity sha512-V9yQqXdje6OfqDf6EL5iGOpi6N0OEczwYK83rql9UapQwFEryXlAehR5AqH8QqLYb6+y31wUXK6vMxCp0920Zg== - dependencies: - "@csstools/css-parser-algorithms" "^2.0.0" - "@csstools/css-tokenizer" "^2.0.0" - "@csstools/media-query-list-parser" "^2.0.0" - -"@csstools/postcss-nested-calc@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-2.0.2.tgz#a0857650ef88b1aa7b094c7ea8ea1378c35695e0" - integrity sha512-jbwrP8rN4e7LNaRcpx3xpMUjhtt34I9OV+zgbcsYAAk6k1+3kODXJBf95/JMYWhu9g1oif7r06QVUgfWsKxCFw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-normalize-display-values@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-2.0.1.tgz#35dc188c5b4713cf902959fe3c8ce613fcb7543e" - integrity sha512-TQT5g3JQ5gPXC239YuRK8jFceXF9d25ZvBkyjzBGGoW5st5sPXFVQS8OjYb9IJ/K3CdfK4528y483cgS2DJR/w== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-oklab-function@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-2.1.0.tgz#0f9b914574549e617942a40297ffe76da76809c6" - integrity sha512-U/odSNjOVhagNRu+RDaNVbn8vaqA9GyCOoneQA2je7697KOrtRDc7/POrYsP7QioO2aaezDzKNX02wBzc99fkQ== - dependencies: - "@csstools/color-helpers" "^1.0.0" - "@csstools/postcss-progressive-custom-properties" "^2.0.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-progressive-custom-properties@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-2.1.0.tgz#df35da0e85a6d5e1d8e4c9a0ba9032e8486e8b9d" - integrity sha512-tRX1rinsXajZlc4WiU7s9Y6O9EdSHScT997zDsvDUjQ1oZL2nvnL6Bt0s9KyQZZTdC3lrG2PIdBqdOIWXSEPlQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-scope-pseudo-class@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-2.0.2.tgz#6325e1e3b321093c59b008ec670bb772e17f06fe" - integrity sha512-6Pvo4uexUCXt+Hz5iUtemQAcIuCYnL+ePs1khFR6/xPgC92aQLJ0zGHonWoewiBE+I++4gXK3pr+R1rlOFHe5w== - dependencies: - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-stepped-value-functions@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-2.1.0.tgz#8ca134a7f70e00b14f5796fb32ed33a656ba0b1b" - integrity sha512-CkEo9BF8fQeMoXW3biXjlgTLY7PA4UFihn6leq7hPoRzIguLUI0WZIVgsITGXfX8LXmkhCSTjXO2DLYu/LUixQ== - dependencies: - "@csstools/css-calc" "^1.0.0" - "@csstools/css-parser-algorithms" "^2.0.1" - "@csstools/css-tokenizer" "^2.0.1" - -"@csstools/postcss-text-decoration-shorthand@^2.0.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-2.2.1.tgz#1accf54487d74aa7ccade2e674c7290bb2ce10ae" - integrity sha512-Ow6/cWWdjjVvA83mkm3kLRvvWsbzoe1AbJCxkpC+c9ibUjyS8pifm+LpZslQUKcxRVQ69ztKHDBEbFGTDhNeUw== - dependencies: - "@csstools/color-helpers" "^1.0.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-trigonometric-functions@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-2.0.1.tgz#2ecede7066187cf08423f8318ef5796cda75351f" - integrity sha512-uGmmVWGHozyWe6+I4w321fKUC034OB1OYW0ZP4ySHA23n+r9y93K+1yrmW+hThpSfApKhaWySoD4I71LLlFUYQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-unset-value@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-2.0.1.tgz#67091dd6cff556bff896c95053eb070cc6b21c25" - integrity sha512-oJ9Xl29/yU8U7/pnMJRqAZd4YXNCfGEdcP4ywREuqm/xMqcgDNDppYRoCGDt40aaZQIEKBS79LytUDN/DHf0Ew== - "@csstools/selector-specificity@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-1.0.0.tgz#91c560df2ed8d9700e4c7ed4ac21a3a322c9d975" integrity sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw== -"@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.1", "@csstools/selector-specificity@^2.0.2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz#c9c61d9fe5ca5ac664e1153bb0aa0eba1c6d6308" - integrity sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw== - "@cypress/request@^3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" @@ -3271,58 +3094,48 @@ resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz#1fead437f3957ceebe2e8c3f46beccdb9bc575b8" integrity sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA== -"@motionone/animation@^10.12.0": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" - integrity sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ== - dependencies: - "@motionone/easing" "^10.15.1" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/dom@10.12.0": - version "10.12.0" - resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.12.0.tgz#ae30827fd53219efca4e1150a5ff2165c28351ed" - integrity sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw== - dependencies: - "@motionone/animation" "^10.12.0" - "@motionone/generators" "^10.12.0" - "@motionone/types" "^10.12.0" - "@motionone/utils" "^10.12.0" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/easing@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.15.1.tgz#95cf3adaef34da6deebb83940d8143ede3deb693" - integrity sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw== - dependencies: - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" +"@microsoft/api-extractor-model@7.29.4": + version "7.29.4" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.29.4.tgz#098f94f304db98f3cea8618fd1107946e212eaf5" + integrity sha512-LHOMxmT8/tU1IiiiHOdHFF83Qsi+V8d0kLfscG4EvQE9cafiR8blOYr8SfkQKWB1wgEilQgXJX3MIA4vetDLZw== + dependencies: + "@microsoft/tsdoc" "~0.15.0" + "@microsoft/tsdoc-config" "~0.17.0" + "@rushstack/node-core-library" "5.5.1" + +"@microsoft/api-extractor@7.47.4": + version "7.47.4" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.47.4.tgz#1a66dc9d6f316fe86eef336e7f8004ab9222499b" + integrity sha512-HKm+P4VNzWwvq1Ey+Jfhhj/3MjsD+ka2hbt8L5AcRM95lu1MFOYnz3XlU7Gr79Q/ZhOb7W/imAKeYrOI0bFydg== + dependencies: + "@microsoft/api-extractor-model" "7.29.4" + "@microsoft/tsdoc" "~0.15.0" + "@microsoft/tsdoc-config" "~0.17.0" + "@rushstack/node-core-library" "5.5.1" + "@rushstack/rig-package" "0.5.3" + "@rushstack/terminal" "0.13.3" + "@rushstack/ts-command-line" "4.22.3" + lodash "~4.17.15" + minimatch "~3.0.3" + resolve "~1.22.1" + semver "~7.5.4" + source-map "~0.6.1" + typescript "5.4.2" -"@motionone/generators@^10.12.0": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.15.1.tgz#dc6abb11139d1bafe758a41c134d4c753a9b871c" - integrity sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ== +"@microsoft/tsdoc-config@~0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.17.0.tgz#82605152b3c1d3f5cd4a11697bc298437484d55d" + integrity sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg== dependencies: - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/types@^10.12.0", "@motionone/types@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.15.1.tgz#89441b54285012795cbba8612cbaa0fa420db3eb" - integrity sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA== + "@microsoft/tsdoc" "0.15.0" + ajv "~8.12.0" + jju "~1.4.0" + resolve "~1.22.2" -"@motionone/utils@^10.12.0", "@motionone/utils@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.15.1.tgz#6b5f51bde75be88b5411e084310299050368a438" - integrity sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw== - dependencies: - "@motionone/types" "^10.15.1" - hey-listen "^1.0.8" - tslib "^2.3.1" +"@microsoft/tsdoc@0.15.0", "@microsoft/tsdoc@~0.15.0": + version "0.15.0" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.15.0.tgz#f29a55df17cb6e87cfbabce33ff6a14a9f85076d" + integrity sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA== "@n1ru4l/push-pull-async-iterable-iterator@^3.1.0": version "3.1.0" @@ -3818,7 +3631,7 @@ estree-walker "^2.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^5.0.5": +"@rollup/pluginutils@^5.0.5", "@rollup/pluginutils@^5.1.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== @@ -3987,6 +3800,46 @@ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz#20c09cf44dcb082140cc7f439dd679fe4bba3375" integrity sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ== +"@rushstack/node-core-library@5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-5.5.1.tgz#890db37eafaab582c79eb6bf421447b82b3a964b" + integrity sha512-ZutW56qIzH8xIOlfyaLQJFx+8IBqdbVCZdnj+XT1MorQ1JqqxHse8vbCpEM+2MjsrqcbxcgDIbfggB1ZSQ2A3g== + dependencies: + ajv "~8.13.0" + ajv-draft-04 "~1.0.0" + ajv-formats "~3.0.1" + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.22.1" + semver "~7.5.4" + +"@rushstack/rig-package@0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.5.3.tgz#ea4d8a3458540b1295500149c04e645f23134e5d" + integrity sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow== + dependencies: + resolve "~1.22.1" + strip-json-comments "~3.1.1" + +"@rushstack/terminal@0.13.3": + version "0.13.3" + resolved "https://registry.yarnpkg.com/@rushstack/terminal/-/terminal-0.13.3.tgz#9a05b8cf759f14161a49d3ccb09d556e4161caca" + integrity sha512-fc3zjXOw8E0pXS5t9vTiIPx9gHA0fIdTXsu9mT4WbH+P3mYvnrX0iAQ5a6NvyK1+CqYWBTw/wVNx7SDJkI+WYQ== + dependencies: + "@rushstack/node-core-library" "5.5.1" + supports-color "~8.1.1" + +"@rushstack/ts-command-line@4.22.3": + version "4.22.3" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.22.3.tgz#dcc75bd25b21031b32b2758ee3f2f4973b112572" + integrity sha512-edMpWB3QhFFZ4KtSzS8WNjBgR4PXPPOVrOHMbb7kNpmQ1UFS9HdVtjCXg1H5fG+xYAbeE+TMPcVPUyX2p84STA== + dependencies: + "@rushstack/terminal" "0.13.3" + "@types/argparse" "1.0.38" + argparse "~1.0.9" + string-argv "~0.3.1" + "@samverschueren/stream-to-observable@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" @@ -4221,11 +4074,6 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - "@types/acorn@^4.0.0": version "4.0.6" resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" @@ -4233,6 +4081,11 @@ dependencies: "@types/estree" "*" +"@types/argparse@1.0.38": + version "1.0.38" + resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" + integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== + "@types/aria-query@^5.0.1": version "5.0.1" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc" @@ -4809,11 +4662,6 @@ resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.62.0.tgz#b4d6d192d5aeb75e91d0adef689c3ecef9879da7" integrity sha512-iGlQJ1w5e3qPUryroO6v4lxg3ql1ztdTCwQW3xEwFawdyPLoeUSv48SYfMwc7kQA7h6ThUqflZIjgKAykeF9oA== -"@types/webpack-env@^1.14.0": - version "1.15.2" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.15.2.tgz#927997342bb9f4a5185a86e6579a0a18afc33b0a" - integrity sha512-67ZgZpAlhIICIdfQrB5fnDvaKFcDxpKibxznfYRVAT4mQE41Dido/3Ty+E3xGBmTogc5+0Qb8tWhna+5B8z1iQ== - "@types/ws@8.2.2": version "8.2.2" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.2.tgz#7c5be4decb19500ae6b3d563043cd407bf366c21" @@ -5173,6 +5021,27 @@ loupe "^3.1.1" tinyrainbow "^1.2.0" +"@volar/language-core@2.4.0", "@volar/language-core@~2.4.0-alpha.18": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-2.4.0.tgz#962efc66ff9198ee2412786e99528bf77cdad100" + integrity sha512-FTla+khE+sYK0qJP+6hwPAAUwiNHVMph4RUXpxf/FIPKUP61NFrVZorml4mjFShnueR2y9/j8/vnh09YwVdH7A== + dependencies: + "@volar/source-map" "2.4.0" + +"@volar/source-map@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-2.4.0.tgz#b6690f06c600eaf587bbc81b0153203e4f6db72a" + integrity sha512-2ceY8/NEZvN6F44TXw2qRP6AQsvCYhV2bxaBPWxV9HqIfkbRydSksTFObCF1DBDNBfKiZTS8G/4vqV6cvjdOIQ== + +"@volar/typescript@^2.3.4", "@volar/typescript@~2.4.0-alpha.18": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-2.4.0.tgz#f909d20dfe43dd846d30695f6e5467276ff4418e" + integrity sha512-9zx3lQWgHmVd+JRRAHUSRiEhe4TlzL7U7e6ulWXOxHH/WNYxzKwCvZD7WYWEZFdw4dHfTD9vUR0yPQO6GilCaQ== + dependencies: + "@volar/language-core" "2.4.0" + path-browserify "^1.0.1" + vscode-uri "^3.0.8" + "@vscode/vsce-sign-alpine-arm64@2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.2.tgz#4accc485e55aa6ff04b195b47f722ead57daa58e" @@ -5305,6 +5174,17 @@ estree-walker "^2.0.2" source-map-js "^1.2.0" +"@vue/compiler-core@3.4.38": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.38.tgz#326dfe3c92fa2b0f1dc9b39a948a231980253496" + integrity sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A== + dependencies: + "@babel/parser" "^7.24.7" + "@vue/shared" "3.4.38" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.2.0" + "@vue/compiler-dom@3.4.35": version "3.4.35" resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.35.tgz#cd0881f1b4ed655cd96367bce4845f87023a5a2d" @@ -5313,6 +5193,14 @@ "@vue/compiler-core" "3.4.35" "@vue/shared" "3.4.35" +"@vue/compiler-dom@^3.4.0": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz#90348fac1130e0bbd408b650635cb626b3b9df06" + integrity sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ== + dependencies: + "@vue/compiler-core" "3.4.38" + "@vue/shared" "3.4.38" + "@vue/compiler-sfc@3.4.35": version "3.4.35" resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.35.tgz#16f87dd3bdab64cef14d3a6fcf53f8673e404071" @@ -5336,6 +5224,28 @@ "@vue/compiler-dom" "3.4.35" "@vue/shared" "3.4.35" +"@vue/compiler-vue2@^2.7.16": + version "2.7.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz#2ba837cbd3f1b33c2bc865fbe1a3b53fb611e249" + integrity sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A== + dependencies: + de-indent "^1.0.2" + he "^1.2.0" + +"@vue/language-core@2.0.29": + version "2.0.29" + resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-2.0.29.tgz#19462d786cd7a1c21dbe575b46970a57094e0357" + integrity sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ== + dependencies: + "@volar/language-core" "~2.4.0-alpha.18" + "@vue/compiler-dom" "^3.4.0" + "@vue/compiler-vue2" "^2.7.16" + "@vue/shared" "^3.4.0" + computeds "^0.0.1" + minimatch "^9.0.3" + muggle-string "^0.4.1" + path-browserify "^1.0.1" + "@vue/reactivity@3.4.35": version "3.4.35" resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.35.tgz#dfbb4f5371da1290ac86e3313d0e9a68bb0ab38d" @@ -5374,6 +5284,11 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.35.tgz#5432f4b1c79e763fcf78cc830faf59ff01248968" integrity sha512-hvuhBYYDe+b1G8KHxsQ0diDqDMA8D9laxWZhNAjE83VZb5UDaXl9Xnz7cGdDSyiHM90qqI/CyGMcpBpiDy6VVQ== +"@vue/shared@3.4.38", "@vue/shared@^3.4.0": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.38.tgz#552a6770098bfd556fa3e2c686c9d3b4f4cd94c2" + integrity sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw== + "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -5569,11 +5484,6 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -"@zeit/schemas@2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@zeit/schemas/-/schemas-2.6.0.tgz#004e8e553b4cd53d538bd38eac7bcbf58a867fe3" - integrity sha512-uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg== - abab@^2.0.3, abab@^2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" @@ -5659,6 +5569,11 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" +ajv-draft-04@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz#3b64761b268ba0b9e668f0b41ba53fce0ad77fc8" + integrity sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw== + ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -5666,6 +5581,13 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" +ajv-formats@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-3.0.1.tgz#3d5dc762bca17679c3c2ea7e90ad6b7532309578" + integrity sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ== + dependencies: + ajv "^8.0.0" + ajv-keywords@^3.1.0, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" @@ -5678,16 +5600,6 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@6.5.3: - version "6.5.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.3.tgz#71a569d189ecf4f4f321224fecb166f071dd90f9" - integrity sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - ajv@^6.1.0, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -5698,7 +5610,7 @@ ajv@^6.1.0, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.6.0, ajv@^8.8.0: +ajv@^8.0.0, ajv@^8.6.0, ajv@^8.8.0, ajv@~8.12.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -5708,12 +5620,15 @@ ajv@^8.0.0, ajv@^8.6.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= +ajv@~8.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.13.0.tgz#a3939eaec9fb80d217ddf0c3376948c023f28c91" + integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== dependencies: - string-width "^2.0.0" + fast-deep-equal "^3.1.3" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.4.1" ansi-colors@4.1.1: version "4.1.1" @@ -5839,7 +5754,7 @@ aproba@^1.0.3: resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -arch@^2.1.0, arch@^2.2.0: +arch@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== @@ -5852,17 +5767,12 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" -arg@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arg/-/arg-2.0.0.tgz#c06e7ff69ab05b3a4a03ebe0407fac4cba657545" - integrity sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w== - arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.7: +argparse@^1.0.7, argparse@~1.0.9: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -6092,11 +6002,6 @@ async-each@^1.0.0: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - async@^3.2.0, async@^3.2.3: version "3.2.4" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" @@ -6112,18 +6017,6 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@^10.4.13: - version "10.4.13" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8" - integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg== - dependencies: - browserslist "^4.21.4" - caniuse-lite "^1.0.30001426" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - available-typed-arrays@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" @@ -6388,16 +6281,6 @@ better-path-resolve@1.0.0: dependencies: is-windows "^1.0.0" -bfj@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" - integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== - dependencies: - bluebird "^3.5.5" - check-types "^8.0.3" - hoopy "^0.1.4" - tryer "^1.0.1" - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -6429,7 +6312,7 @@ blob-util@^2.0.2: resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== -bluebird@3.7.2, bluebird@^3.4.1, bluebird@^3.5.1, bluebird@^3.5.5, bluebird@^3.7.2: +bluebird@3.7.2, bluebird@^3.4.1, bluebird@^3.5.1, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -6467,19 +6350,6 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -boxen@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -6548,7 +6418,7 @@ browserslist@4.20.2: node-releases "^2.0.2" picocolors "^1.0.0" -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.20.2, browserslist@^4.21.4, browserslist@^4.22.2, browserslist@^4.23.0: +browserslist@^4.14.5, browserslist@^4.20.2, browserslist@^4.22.2, browserslist@^4.23.0: version "4.23.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== @@ -6558,6 +6428,16 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.20.2, browserslist@^4 node-releases "^2.0.14" update-browserslist-db "^1.0.16" +browserslist@^4.19.1: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== + dependencies: + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + browserslist@^4.23.1: version "4.23.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.2.tgz#244fe803641f1c19c28c48c4b6ec9736eb3d32ed" @@ -6700,11 +6580,6 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -6715,17 +6590,7 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001317, caniuse-lite@^1.0.30001328, caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001629: +caniuse-lite@^1.0.30001317, caniuse-lite@^1.0.30001328, caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001629: version "1.0.30001639" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001639.tgz#972b3a6adeacdd8f46af5fc7f771e9639f6c1521" integrity sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg== @@ -6735,6 +6600,11 @@ caniuse-lite@^1.0.30001640: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz#9c004caef315de9452ab970c3da71085f8241dbd" integrity sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg== +caniuse-lite@^1.0.30001646: + version "1.0.30001651" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138" + integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg== + capital-case@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669" @@ -6770,15 +6640,6 @@ chai@^5.1.1: loupe "^3.1.0" pathval "^2.0.0" -chalk@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@4.1.2, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -6798,7 +6659,7 @@ chalk@^1.0.0, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -6888,11 +6749,6 @@ check-more-types@2.24.0, check-more-types@^2.24.0: resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= -check-types@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" - integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== - cheerio-select@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.5.0.tgz#faf3daeb31b17c5e1a9dabcee288aaf8aafa5823" @@ -7006,11 +6862,6 @@ clear-module@^4.1.2: parent-module "^2.0.0" resolve-from "^5.0.0" -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= - cli-cursor@^2.0.0, cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -7055,14 +6906,6 @@ client-only@0.0.1, client-only@^0.0.1: resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== -clipboardy@1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.2.3.tgz#0526361bf78724c1f20be248d428e365433c07ef" - integrity sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA== - dependencies: - arch "^2.1.0" - execa "^0.8.0" - cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -7181,11 +7024,6 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colord@^2.9.1: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - colorette@^2.0.10, colorette@^2.0.14, colorette@^2.0.16: version "2.0.19" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" @@ -7198,7 +7036,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.18.0, commander@^2.20.0, commander@~2.20.3: +commander@^2.20.0, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -7213,11 +7051,6 @@ commander@^6.1.0, commander@^6.2.1: resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - commander@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" @@ -7254,6 +7087,11 @@ compare-versions@^3.6.0: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== +compare-versions@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-6.1.1.tgz#7af3cc1099ba37d244b3145a9af5201b629148a9" + integrity sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg== + compatfactory@^0.0.13: version "0.0.13" resolved "https://registry.yarnpkg.com/compatfactory/-/compatfactory-0.0.13.tgz#3862c967623c8976eb1a11208f5cf84520c03346" @@ -7261,26 +7099,13 @@ compatfactory@^0.0.13: dependencies: helpertypes "^0.0.18" -compressible@~2.0.14, compressible@~2.0.16: +compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: mime-db ">= 1.43.0 < 2" -compression@1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db" - integrity sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.14" - debug "2.6.9" - on-headers "~1.0.1" - safe-buffer "5.1.2" - vary "~1.1.2" - compression@^1.7.4: version "1.7.4" resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" @@ -7294,6 +7119,11 @@ compression@^1.7.4: safe-buffer "5.1.2" vary "~1.1.2" +computeds@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/computeds/-/computeds-0.0.1.tgz#215b08a4ba3e08a11ff6eee5d6d8d7166a97ce2e" + integrity sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -7323,6 +7153,11 @@ concurrently@^7.0.0: tree-kill "^1.2.2" yargs "^16.2.0" +confbox@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.7.tgz#ccfc0a2bcae36a84838e83a3b7f770fb17d6c579" + integrity sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA== + configstore@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" @@ -7359,11 +7194,6 @@ constant-case@^3.0.4: tslib "^2.0.3" upper-case "^2.0.2" -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= - content-disposition@0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -7508,7 +7338,7 @@ cross-env@^7.0.2: dependencies: cross-spawn "^7.0.1" -cross-spawn@^5.0.1, cross-spawn@^5.1.0: +cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= @@ -7620,27 +7450,6 @@ cspell@^5.15.2: strip-ansi "^6.0.1" vscode-uri "^3.0.3" -css-blank-pseudo@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-5.0.2.tgz#3df5cd950f64de960974da05e76954fd3d7442f9" - integrity sha512-aCU4AZ7uEcVSUzagTlA9pHciz7aWPKA/YzrEkpdSopJ2pvhIxiQ5sYeMz1/KByxlIo4XBdvMNJAVKMg/GRnhfw== - dependencies: - postcss-selector-parser "^6.0.10" - -css-declaration-sorter@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz#be5e1d71b7a992433fb1c542c7a1b835e45682ec" - integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== - -css-has-pseudo@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-5.0.2.tgz#8798118c705d858b7aeb9d839a39edd901c1cc83" - integrity sha512-q+U+4QdwwB7T9VEW/LyO6CFrLAeLqOykC5mDqJXc7aKZAhDbq7BvGT13VGJe+IwBfdN2o3Xdw2kJ5IxwV1Sc9Q== - dependencies: - "@csstools/selector-specificity" "^2.0.1" - postcss-selector-parser "^6.0.10" - postcss-value-parser "^4.2.0" - css-loader@^6.7.3: version "6.7.3" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd" @@ -7655,11 +7464,6 @@ css-loader@^6.7.3: postcss-value-parser "^4.2.0" semver "^7.3.8" -css-prefers-color-scheme@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-8.0.2.tgz#a0671f54eb19ed0d30b952574c0af11ec355fb6d" - integrity sha512-OvFghizHJ45x7nsJJUSYLyQNTzsCU8yWjxAc/nhPQg1pbs18LMoET8N3kOweFDPy0JV0OSXN2iqRFhPBHYOeMA== - css-select@^4.1.3: version "4.2.1" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" @@ -7671,14 +7475,6 @@ css-select@^4.1.3: domutils "^2.8.0" nth-check "^2.0.1" -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - css-tree@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" @@ -7697,72 +7493,11 @@ css.escape@^1.5.1: resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= -cssdb@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.4.1.tgz#61d55c0173126689922a219e15e131e4b5caf422" - integrity sha512-0Q8NOMpXJ3iTDDbUv9grcmQAfdDx4qz+fN/+Md2FGbevT+6+bJNQ2LjB2YIUlLbpBTM32idU1Sb+tb/uGt6/XQ== - cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^5.2.14: - version "5.2.14" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" - integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== - dependencies: - css-declaration-sorter "^6.3.1" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.1" - postcss-convert-values "^5.1.3" - postcss-discard-comments "^5.1.2" - postcss-discard-duplicates "^5.1.0" - postcss-discard-empty "^5.1.1" - postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.7" - postcss-merge-rules "^5.1.4" - postcss-minify-font-values "^5.1.0" - postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.4" - postcss-minify-selectors "^5.2.1" - postcss-normalize-charset "^5.1.0" - postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.1" - postcss-normalize-repeat-style "^5.1.1" - postcss-normalize-string "^5.1.0" - postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.1" - postcss-normalize-url "^5.1.0" - postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.2" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== - -cssnano@^5.1.15: - version "5.1.15" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" - integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== - dependencies: - cssnano-preset-default "^5.2.14" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - cssom@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" @@ -7923,6 +7658,11 @@ dayjs@^1.10.4: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== + debounce-promise@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/debounce-promise/-/debounce-promise-3.1.2.tgz#320fb8c7d15a344455cd33cee5ab63530b6dc7c5" @@ -7963,6 +7703,13 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.3.6: + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + dependencies: + ms "2.1.2" + decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -8128,6 +7875,11 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + detect-libc@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd" @@ -8302,7 +8054,7 @@ dset@^3.1.2: resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.2.tgz#89c436ca6450398396dc6538ea00abc0c54cd45a" integrity sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q== -duplexer@^0.1.1, duplexer@~0.1.1: +duplexer@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== @@ -8332,11 +8084,6 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^2.6.1: - version "2.7.4" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" - integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== - ejs@^3.1.6: version "3.1.9" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" @@ -8354,6 +8101,11 @@ electron-to-chromium@^1.4.820: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.1.tgz#24640bd4dcfaccb6d82bb4c3f4c7311503241581" integrity sha512-FKbOCOQ5QRB3VlIbl1LZQefWIYwszlBloaXcY2rbfpu9ioJnNh3TK03YtIDKDo3WKBi8u+YV4+Fn2CkEozgf4w== +electron-to-chromium@^1.5.4: + version "1.5.13" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" + integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -8541,6 +8293,11 @@ es-module-lexer@^0.9.0, es-module-lexer@^0.9.3: resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-module-lexer@^1.2.1: + version "1.5.4" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" + integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + es-object-atoms@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" @@ -9279,32 +9036,6 @@ execa@4.1.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" - integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -9422,7 +9153,7 @@ expect@^29.0.0: jest-message-util "^29.5.0" jest-util "^29.5.0" -express@^4.16.3, express@^4.17.3, express@^4.19.2: +express@^4.17.3, express@^4.19.2: version "4.19.2" resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== @@ -9523,11 +9254,6 @@ fast-decode-uri-component@^1.0.1: resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543" integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -9538,7 +9264,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.11, fast-glob@^3.2.7, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.1: +fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.7, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -9566,7 +9292,7 @@ fast-querystring@^1.1.1: dependencies: fast-decode-uri-component "^1.0.1" -fast-url-parser@1.1.3, fast-url-parser@^1.1.3: +fast-url-parser@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0= @@ -9726,11 +9452,6 @@ filename-regex@^2.0.0: resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= -filesize@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - fill-range@^2.1.0: version "2.2.4" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" @@ -9893,24 +9614,6 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -fork-ts-checker-webpack-plugin@7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.3.0.tgz#a9c984a018493962360d7c7e77a67b44a2d5f3aa" - integrity sha512-IN+XTzusCjR5VgntYFgxbxVx3WraPRnKehBFrf00cMSrtUuW9MsG9dhL6MWpY6MkjC3wVwoujfCDgZZCQwbswA== - dependencies: - "@babel/code-frame" "^7.16.7" - chalk "^4.1.2" - chokidar "^3.5.3" - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - fs-extra "^10.0.0" - memfs "^3.4.1" - minimatch "^3.0.4" - node-abort-controller "^3.0.1" - schema-utils "^3.1.1" - semver "^7.3.5" - tapable "^2.2.1" - form-data-encoder@^1.7.1: version "1.7.2" resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040" @@ -9956,32 +9659,15 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== - -framer-motion@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-6.5.1.tgz#802448a16a6eb764124bf36d8cbdfa6dd6b931a7" - integrity sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw== - dependencies: - "@motionone/dom" "10.12.0" - framesync "6.0.1" - hey-listen "^1.0.8" - popmotion "11.0.3" - style-value-types "5.0.0" - tslib "^2.1.0" +framer-motion@^10.0.0: + version "10.18.0" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-10.18.0.tgz#1f4fc51403996ea7170af885bd44a7079d255950" + integrity sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w== + dependencies: + tslib "^2.4.0" optionalDependencies: "@emotion/is-prop-valid" "^0.8.2" -framesync@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.0.1.tgz#5e32fc01f1c42b39c654c35b16440e07a25d6f20" - integrity sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA== - dependencies: - tslib "^2.1.0" - fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -10011,7 +9697,7 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^7.0.1: +fs-extra@^7.0.1, fs-extra@~7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== @@ -10172,11 +9858,6 @@ get-stdin@^8.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -10522,19 +10203,11 @@ graphql-ws@5.14.0, graphql-ws@^5.5.5: resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.14.0.tgz#766f249f3974fc2c48fae0d1fb20c2c4c79cd591" integrity sha512-itrUTQZP/TgswR4GSSYuwWUzrE/w5GhbwM2GX3ic2U7aw33jgEsayfIlvaj7/GcIvZgNMzsPTrE5hqPuFUiE5g== -graphql@17.0.0-alpha.7, graphql@^16.8.1, "graphql@^16.8.1 || ^17.0.0-alpha.2", graphql@^17.0.0-alpha.7: +graphql@17.0.0-alpha.7, graphql@^16.9.0, "graphql@^16.9.0 || ^17.0.0-alpha.2", graphql@^17.0.0-alpha.7: version "17.0.0-alpha.7" resolved "https://registry.yarnpkg.com/graphql/-/graphql-17.0.0-alpha.7.tgz#707e7457d7ed5316a8d7940f78809a2eb5854383" integrity sha512-kdteHez9s0lfNAGntSwnDBpxSl09sBWEFxFRPS/Z8K1nCD4FZ2wVGwXuj5dvrTKcqOA+O8ujAJ3CiY/jXhs14g== -gzip-size@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" @@ -10650,11 +10323,6 @@ helpertypes@^0.0.18: resolved "https://registry.yarnpkg.com/helpertypes/-/helpertypes-0.0.18.tgz#fd2bf5d3351cc7d80f7876732361d3adba63e5b4" integrity sha512-XRhfbSEmR+poXUC5/8AbmYNJb2riOT6qPzjGJZr0S9YedHiaY+/tzPYzWMUclYMEdCYo/1l8PDYrQFCj02v97w== -hey-listen@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" - integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== - highlight.js@^10.2.0: version "10.5.0" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.5.0.tgz#3f09fede6a865757378f2d9ebdcbc15ba268f98f" @@ -10679,11 +10347,6 @@ homedir-polyfill@^1.0.0: dependencies: parse-passwd "^1.0.0" -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - hosted-git-info@^2.1.4: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" @@ -10951,6 +10614,11 @@ import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-lazy@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + import-local@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" @@ -12222,6 +11890,11 @@ jiti@^1.18.2: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.18.2.tgz#80c3ef3d486ebf2450d9335122b32d121f2a83cd" integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== +jju@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== + joi@^17.3.0: version "17.4.0" resolved "https://registry.yarnpkg.com/joi/-/joi-17.4.0.tgz#b5c2277c8519e016316e49ababd41a1908d9ef20" @@ -12539,10 +12212,10 @@ kleur@^4.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== -klona@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== +kolorist@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" + integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== language-subtag-registry@^0.3.20: version "0.3.23" @@ -12601,10 +12274,73 @@ lie@~3.3.0: dependencies: immediate "~3.0.5" -lilconfig@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== +lightningcss-darwin-arm64@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.26.0.tgz#1fda92d523dd1ef2fc8042d17153a5ded2de4726" + integrity sha512-n4TIvHO1NY1ondKFYpL2ZX0bcC2y6yjXMD6JfyizgR8BCFNEeArINDzEaeqlfX9bXz73Bpz/Ow0nu+1qiDrBKg== + +lightningcss-darwin-x64@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.26.0.tgz#eb311b9aa661948c6e92971f499afcaf453d2235" + integrity sha512-Rf9HuHIDi1R6/zgBkJh25SiJHF+dm9axUZW/0UoYCW1/8HV0gMI0blARhH4z+REmWiU1yYT/KyNF3h7tHyRXUg== + +lightningcss-freebsd-x64@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.26.0.tgz#85d01defc5b2d9af3cba1d5d2f253d356c8cdc56" + integrity sha512-C/io7POAxp6sZxFSVGezjajMlCKQ8KSwISLLGRq8xLQpQMokYrUoqYEwmIX8mLmF6C/CZPk0gFmRSzd8biWM0g== + +lightningcss-linux-arm-gnueabihf@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.26.0.tgz#c14fe3aaf152b0318367030734d3e08fdf6add86" + integrity sha512-Aag9kqXqkyPSW+dXMgyWk66C984Nay2pY8Nws+67gHlDzV3cWh7TvFlzuaTaVFMVqdDTzN484LSK3u39zFBnzg== + +lightningcss-linux-arm64-gnu@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.26.0.tgz#3b2d8cae1f112bf3ae26ea81eccc02efb81b5f09" + integrity sha512-iJmZM7fUyVjH+POtdiCtExG+67TtPUTer7K/5A8DIfmPfrmeGvzfRyBltGhQz13Wi15K1lf2cPYoRaRh6vcwNA== + +lightningcss-linux-arm64-musl@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.26.0.tgz#df309b1acafbded280171db44eb615f2d26e2cab" + integrity sha512-XxoEL++tTkyuvu+wq/QS8bwyTXZv2y5XYCMcWL45b8XwkiS8eEEEej9BkMGSRwxa5J4K+LDeIhLrS23CpQyfig== + +lightningcss-linux-x64-gnu@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.26.0.tgz#29a82a15d463298bd263686d4c23243ba8824d3d" + integrity sha512-1dkTfZQAYLj8MUSkd6L/+TWTG8V6Kfrzfa0T1fSlXCXQHrt1HC1/UepXHtKHDt/9yFwyoeayivxXAsApVxn6zA== + +lightningcss-linux-x64-musl@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.26.0.tgz#831cf950d824e88d6e00f3fc2f33ef6f50850004" + integrity sha512-yX3Rk9m00JGCUzuUhFEojY+jf/6zHs3XU8S8Vk+FRbnr4St7cjyMXdNjuA2LjiT8e7j8xHRCH8hyZ4H/btRE4A== + +lightningcss-win32-arm64-msvc@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.26.0.tgz#77790f68891e01a520df1a97dc669b0f5546ac3c" + integrity sha512-X/597/cFnCogy9VItj/+7Tgu5VLbAtDF7KZDPdSw0MaL6FL940th1y3HiOzFIlziVvAtbo0RB3NAae1Oofr+Tw== + +lightningcss-win32-x64-msvc@1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.26.0.tgz#ff69764eceada846eab0d721d653518d5ba8049b" + integrity sha512-pYS3EyGP3JRhfqEFYmfFDiZ9/pVNfy8jVIYtrx9TVNusVyDK3gpW1w/rbvroQ4bDJi7grdUtyrYU6V2xkY/bBw== + +lightningcss@^1.22.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.26.0.tgz#ca2ff6ebabb044c6e49e57f9491a6f85db03b256" + integrity sha512-a/XZ5hdgifrofQJUArr5AiJjx26SwMam3SJUSMjgebZbESZ96i+6Qsl8tLi0kaUsdMzBWXh9sN1Oe6hp2/dkQw== + dependencies: + detect-libc "^1.0.3" + optionalDependencies: + lightningcss-darwin-arm64 "1.26.0" + lightningcss-darwin-x64 "1.26.0" + lightningcss-freebsd-x64 "1.26.0" + lightningcss-linux-arm-gnueabihf "1.26.0" + lightningcss-linux-arm64-gnu "1.26.0" + lightningcss-linux-arm64-musl "1.26.0" + lightningcss-linux-x64-gnu "1.26.0" + lightningcss-linux-x64-musl "1.26.0" + lightningcss-win32-arm64-msvc "1.26.0" + lightningcss-win32-x64-msvc "1.26.0" lilconfig@^3.1.1: version "3.1.2" @@ -12733,7 +12469,7 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@^1.0.0, loader-utils@^1.1.0: +loader-utils@^1.0.0: version "1.4.2" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== @@ -12742,7 +12478,7 @@ loader-utils@^1.0.0, loader-utils@^1.1.0: emojis-list "^3.0.0" json5 "^1.0.1" -loader-utils@^2.0.0, loader-utils@^2.0.2: +loader-utils@^2.0.0, loader-utils@^2.0.2, loader-utils@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== @@ -12751,6 +12487,14 @@ loader-utils@^2.0.0, loader-utils@^2.0.2: emojis-list "^3.0.0" json5 "^2.1.2" +local-pkg@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" + integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== + dependencies: + mlly "^1.4.2" + pkg-types "^1.0.3" + locate-character@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-character/-/locate-character-3.0.0.tgz#0305c5b8744f61028ef5d01f444009e00779f974" @@ -12813,7 +12557,7 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== -lodash.memoize@4.x, lodash.memoize@^4.1.2: +lodash.memoize@4.x: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= @@ -12838,12 +12582,7 @@ lodash.startcase@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" integrity sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg= -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: +lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -12986,7 +12725,7 @@ magic-string@^0.30.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" -magic-string@^0.30.10: +magic-string@^0.30.1, magic-string@^0.30.10, magic-string@^0.30.11: version "0.30.11" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954" integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== @@ -13194,11 +12933,6 @@ mdast-util-to-string@^4.0.0: dependencies: "@types/mdast" "^4.0.0" -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - mdn-data@2.0.30: version "2.0.30" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" @@ -13214,7 +12948,7 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memfs@^3.4.1, memfs@^3.4.3: +memfs@^3.4.3: version "3.4.13" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.13.tgz#248a8bd239b3c240175cd5ec548de5227fc4f345" integrity sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg== @@ -13597,18 +13331,6 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== - -mime-types@2.1.18: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== - dependencies: - mime-db "~1.33.0" - mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" @@ -13658,25 +13380,11 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz#e049d3ea7d3e4e773aad585c6cb329ce0c7b72d7" - integrity sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw== - dependencies: - schema-utils "^4.0.0" - minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - minimatch@5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" @@ -13719,6 +13427,13 @@ minimatch@^9.0.0, minimatch@^9.0.3, minimatch@^9.0.4: dependencies: brace-expansion "^2.0.1" +minimatch@~3.0.3: + version "3.0.8" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" + integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -13760,6 +13475,16 @@ mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +mlly@^1.4.2, mlly@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.1.tgz#e0336429bb0731b6a8e887b438cbdae522c8f32f" + integrity sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.1.1" + ufo "^1.5.3" + mocha@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.0.0.tgz#205447d8993ec755335c4b13deba3d3a13c4def9" @@ -13825,6 +13550,11 @@ ms@2.1.3, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +muggle-string@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/muggle-string/-/muggle-string-0.4.1.tgz#3b366bd43b32f809dc20659534dd30e7c8a0d328" + integrity sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ== + multicast-dns@^7.2.5: version "7.2.5" resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" @@ -13968,6 +13698,11 @@ node-releases@^2.0.14, node-releases@^2.0.2: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + nopt@^7.2.1: version "7.2.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" @@ -14007,11 +13742,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" @@ -14188,7 +13918,7 @@ on-finished@2.4.1: dependencies: ee-first "1.1.1" -on-headers@~1.0.1, on-headers@~1.0.2: +on-headers@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== @@ -14243,11 +13973,6 @@ opencollective-postinstall@^2.0.2: resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== -opener@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -14555,6 +14280,11 @@ patch-package@^7.0.2: tmp "^0.0.33" yaml "^2.2.2" +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + path-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f" @@ -14578,11 +14308,6 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -14616,11 +14341,6 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= -path-to-regexp@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.2.1.tgz#90b617025a16381a879bc82a38d4e8bdeb2bcf45" - integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== - path-to-regexp@^2.2.1: version "2.4.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.4.0.tgz#35ce7f333d5616f1c1e1bfe266c3aba2e5b2e704" @@ -14723,6 +14443,15 @@ pkg-dir@^5.0.0: dependencies: find-up "^5.0.0" +pkg-types@^1.0.3, pkg-types@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.2.0.tgz#d0268e894e93acff11a6279de147e83354ebd42d" + integrity sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA== + dependencies: + confbox "^0.1.7" + mlly "^1.7.1" + pathe "^1.1.2" + platform@^1.3.3, platform@^1.3.5: version "1.3.6" resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" @@ -14740,178 +14469,11 @@ pluralize@^8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== -popmotion@11.0.3: - version "11.0.3" - resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.3.tgz#565c5f6590bbcddab7a33a074bb2ba97e24b0cc9" - integrity sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA== - dependencies: - framesync "6.0.1" - hey-listen "^1.0.8" - style-value-types "5.0.0" - tslib "^2.1.0" - possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== -postcss-attribute-case-insensitive@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz#e843091859323342e461878d201ee70278809e01" - integrity sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-calc@^8.2.3: - version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-clamp@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" - integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-functional-notation@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-5.0.2.tgz#6d03c928aa3a13487703af86c301bdcd501e7430" - integrity sha512-M6ygxWOyd6eWf3sd1Lv8xi4SeF4iBPfJvkfMU4ITh8ExJc1qhbvh/U8Cv/uOvBgUVOMDdScvCdlg8+hREQzs7w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-hex-alpha@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.2.tgz#6d3ed50342802469880981a1999515d003ff7d79" - integrity sha512-SfPjgr//VQ/DOCf80STIAsdAs7sbIbxATvVmd+Ec7JvR8onz9pjawhq3BJM3Pie40EE3TyB0P6hft16D33Nlyg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-rebeccapurple@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-8.0.2.tgz#c0f2dcf1ef4dd393314920aa181cca8c390a2648" - integrity sha512-xWf/JmAxVoB5bltHpXk+uGRoGFwu4WDAR7210el+iyvTdqiKpDhtcT8N3edXMoVJY0WHFMrKMUieql/wRNiXkw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-colormin@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" - integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" - integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-custom-media@^9.1.0: - version "9.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-9.1.2.tgz#0e9c34b0b5325edc2c5f42f47543cb64d777764b" - integrity sha512-osM9g4UKq4XKimAC7RAXroqi3BXpxfwTswAJQiZdrBjWGFGEyxQrY5H2eDWI8F+MEvEUfYDxA8scqi3QWROCSw== - dependencies: - "@csstools/cascade-layer-name-parser" "^1.0.0" - "@csstools/css-parser-algorithms" "^2.0.0" - "@csstools/css-tokenizer" "^2.0.0" - "@csstools/media-query-list-parser" "^2.0.0" - -postcss-custom-properties@^13.1.0: - version "13.1.4" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-13.1.4.tgz#590e5770137011001602806da51243b6c82c1cde" - integrity sha512-iSAdaZrM3KMec8cOSzeTUNXPYDlhqsMJHpt62yrjwG6nAnMtRHPk5JdMzGosBJtqEahDolvD5LNbcq+EZ78o5g== - dependencies: - "@csstools/cascade-layer-name-parser" "^1.0.0" - "@csstools/css-parser-algorithms" "^2.0.0" - "@csstools/css-tokenizer" "^2.0.0" - postcss-value-parser "^4.2.0" - -postcss-custom-selectors@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-7.1.2.tgz#e100e9dd628d969a651d7d310cdfd25b27b58d4b" - integrity sha512-jX7VlE3jrgfBIOfxiGNRFq81xUoHSZhvxhQurzE7ZFRv+bUmMwB7/XnA0nNlts2CwNtbXm4Ozy0ZAYKHlCRmBQ== - dependencies: - "@csstools/cascade-layer-name-parser" "^1.0.0" - "@csstools/css-parser-algorithms" "^2.0.0" - "@csstools/css-tokenizer" "^2.0.0" - postcss-selector-parser "^6.0.4" - -postcss-dir-pseudo-class@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-7.0.2.tgz#71618b7eb4abe067845d11b3c8f322760c9b3e88" - integrity sha512-cMnslilYxBf9k3qejnovrUONZx1rXeUZJw06fgIUBzABJe3D2LiLL5WAER7Imt3nrkaIgG05XZBztueLEf5P8w== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== - -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== - -postcss-discard-empty@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== - -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== - -postcss-double-position-gradients@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-4.0.2.tgz#855a23201f26be447210504e9b668429cbf4640c" - integrity sha512-GXL1RmFREDK4Q9aYvI2RhVrA6a6qqSMQQ5ke8gSH1xgV6exsqbcJpIumC7AOgooH6/WIG3/K/T8xxAiVHy/tJg== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^2.0.0" - postcss-value-parser "^4.2.0" - -postcss-focus-visible@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-8.0.2.tgz#a7ac26ffe3e9c2bd17d7200d75e2d79ee8110891" - integrity sha512-f/Vd+EC/GaKElknU59esVcRYr/Y3t1ZAQyL4u2xSOgkDy4bMCmG7VP5cGvj3+BTLNE9ETfEuz2nnt4qkZwTTeA== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-focus-within@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-7.0.2.tgz#5d2c866030e66ed22b204c9506de640943310b1c" - integrity sha512-AHAJ89UQBcqBvFgQJE9XasGuwMNkKsGj4D/f9Uk60jFmEBHpAL14DrnSk3Rj+SwZTr/WUG+mh+Rvf8fid/346w== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-font-variant@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" - integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== - -postcss-gap-properties@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-4.0.1.tgz#0347d6a84a46bfbe88bedc542cc4b354e04a8338" - integrity sha512-V5OuQGw4lBumPlwHWk/PRfMKjaq/LTGR4WDTemIMCaMevArVfCCA9wBJiL1VjDAd+rzuCIlkRoRvDsSiAaZ4Fg== - -postcss-image-set-function@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-5.0.2.tgz#088e0f535f43e74d6ea8033ff7b0482e2735ea6e" - integrity sha512-Sszjwo0ubETX0Fi5MvpYzsONwrsjeabjMoc5YqHvURFItXgIu3HdCjcVuVKGMPGzKRhgaknmdM5uVWInWPJmeg== - dependencies: - postcss-value-parser "^4.2.0" - postcss-import@15.1.0: version "15.1.0" resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" @@ -14921,19 +14483,13 @@ postcss-import@15.1.0: read-cache "^1.0.0" resolve "^1.1.7" -postcss-initial@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" - integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== - -postcss-lab-function@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-5.1.0.tgz#ed3822feb0f7ff229e6d185929583b16861f7753" - integrity sha512-iZApRTNcpc71uTn7PkzjHtj5cmuZpvu6okX4jHnM5OFi2fG97sodjxkq6SpL65xhW0NviQrAMSX97ntyGVRV0w== +postcss-lightningcss@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-lightningcss/-/postcss-lightningcss-1.0.1.tgz#4a28c451e5205e0da6ec9110ad881f8d6b1b222f" + integrity sha512-9IrtZVt2HQ92iZJTkO43Qipx7E3PM+lLzZM8aGwMmMjNQHcir5jNC42U33p3Gh2lj1nES/ireYWEbMrJNiRBoQ== dependencies: - "@csstools/color-helpers" "^1.0.0" - "@csstools/postcss-progressive-custom-properties" "^2.0.0" - postcss-value-parser "^4.2.0" + browserslist "^4.19.1" + lightningcss "^1.22.0" postcss-load-config@^6.0.1: version "6.0.1" @@ -14942,77 +14498,6 @@ postcss-load-config@^6.0.1: dependencies: lilconfig "^3.1.1" -postcss-loader@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.0.2.tgz#b53ff44a26fba3688eee92a048c7f2d4802e23bb" - integrity sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.8" - -postcss-logical@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-6.1.0.tgz#c33ae75d3edaea7eb821e76dc4e6d0ecedc3200d" - integrity sha512-qb1+LpClhYjxac8SfOcWotnY3unKZesDqIOm+jnGt8rTl7xaIWpE2bPGZHxflOip1E/4ETo79qlJyRL3yrHn1g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-media-minmax@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" - integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== - -postcss-merge-longhand@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" - integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^5.1.1" - -postcss-merge-rules@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" - integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" - integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== - dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" - integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== - dependencies: - browserslist "^4.21.4" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== - dependencies: - postcss-selector-parser "^6.0.5" - postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" @@ -15049,203 +14534,7 @@ postcss-nesting@^10.1.7: "@csstools/selector-specificity" "1.0.0" postcss-selector-parser "^6.0.10" -postcss-nesting@^11.0.0: - version "11.2.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-11.2.1.tgz#260806f20971c82700d327468b49d1c1b44f1790" - integrity sha512-E6Jq74Jo/PbRAtZioON54NPhUNJYxVWhwxbweYl1vAoBYuGlDIts5yhtKiZFLvkvwT73e/9nFrW3oMqAtgG+GQ== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -postcss-normalize-charset@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== - -postcss-normalize-display-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" - integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" - integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== - dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-opacity-percentage@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz#5b89b35551a556e20c5d23eb5260fbfcf5245da6" - integrity sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A== - -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== - dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-overflow-shorthand@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-4.0.1.tgz#cb61ca24d8c4e1dbf14d85181b017cfa6953aa34" - integrity sha512-HQZ0qi/9iSYHW4w3ogNqVNr2J49DHJAl7r8O2p0Meip38jsdnRPgiDW7r/LlLrrMBMe3KHkvNtAV2UmRVxzLIg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-page-break@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" - integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== - -postcss-place@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-8.0.1.tgz#408d7a27e99192df51c95fe62a3a34def62aa66a" - integrity sha512-Ow2LedN8sL4pq8ubukO77phSVt4QyCm35ZGCYXKvRFayAwcpgB0sjNJglDoTuRdUL32q/ZC1VkPBo0AOEr4Uiw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-preset-env@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-8.0.1.tgz#d249c137febc037dd5dbb97e18f94dba4dd0cda8" - integrity sha512-IUbymw0JlUbyVG+I85963PNWgPp3KhnFa1sxU7M/2dGthxV8e297P0VV5W9XcyypoH4hirH2fp1c6fmqh6YnSg== - dependencies: - "@csstools/postcss-cascade-layers" "^3.0.0" - "@csstools/postcss-color-function" "^2.0.0" - "@csstools/postcss-font-format-keywords" "^2.0.0" - "@csstools/postcss-hwb-function" "^2.0.0" - "@csstools/postcss-ic-unit" "^2.0.0" - "@csstools/postcss-is-pseudo-class" "^3.0.0" - "@csstools/postcss-logical-float-and-clear" "^1.0.0" - "@csstools/postcss-logical-resize" "^1.0.0" - "@csstools/postcss-logical-viewport-units" "^1.0.0" - "@csstools/postcss-media-queries-aspect-ratio-number-values" "^1.0.0" - "@csstools/postcss-nested-calc" "^2.0.0" - "@csstools/postcss-normalize-display-values" "^2.0.0" - "@csstools/postcss-oklab-function" "^2.0.0" - "@csstools/postcss-progressive-custom-properties" "^2.0.0" - "@csstools/postcss-scope-pseudo-class" "^2.0.0" - "@csstools/postcss-stepped-value-functions" "^2.0.0" - "@csstools/postcss-text-decoration-shorthand" "^2.0.0" - "@csstools/postcss-trigonometric-functions" "^2.0.0" - "@csstools/postcss-unset-value" "^2.0.0" - autoprefixer "^10.4.13" - browserslist "^4.21.4" - css-blank-pseudo "^5.0.0" - css-has-pseudo "^5.0.0" - css-prefers-color-scheme "^8.0.0" - cssdb "^7.4.0" - postcss-attribute-case-insensitive "^6.0.0" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^5.0.0" - postcss-color-hex-alpha "^9.0.0" - postcss-color-rebeccapurple "^8.0.0" - postcss-custom-media "^9.1.0" - postcss-custom-properties "^13.1.0" - postcss-custom-selectors "^7.1.0" - postcss-dir-pseudo-class "^7.0.0" - postcss-double-position-gradients "^4.0.0" - postcss-focus-visible "^8.0.0" - postcss-focus-within "^7.0.0" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^4.0.0" - postcss-image-set-function "^5.0.0" - postcss-initial "^4.0.1" - postcss-lab-function "^5.0.0" - postcss-logical "^6.0.0" - postcss-media-minmax "^5.0.0" - postcss-nesting "^11.0.0" - postcss-opacity-percentage "^1.1.3" - postcss-overflow-shorthand "^4.0.0" - postcss-page-break "^3.0.4" - postcss-place "^8.0.0" - postcss-pseudo-class-any-link "^8.0.0" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^7.0.0" - postcss-value-parser "^4.2.0" - -postcss-pseudo-class-any-link@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-8.0.2.tgz#f5738503f2045de0c4dc216eca99bd835f74e42e" - integrity sha512-FYTIuRE07jZ2CW8POvctRgArQJ43yxhr5vLmImdKUvjFCkR09kh8pIdlCwdx/jbFm7MiW4QP58L4oOUv3grQYA== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-reduce-initial@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" - integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-replace-overflow-wrap@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" - integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== - -postcss-selector-not@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz#8142e90c8eb6c8c5faecb3e9d96d4353d02e94fb" - integrity sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.11" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== @@ -15253,21 +14542,6 @@ postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selecto cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== - dependencies: - postcss-selector-parser "^6.0.5" - postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" @@ -15309,6 +14583,15 @@ postcss@^8.4.39, postcss@^8.4.40: picocolors "^1.0.1" source-map-js "^1.2.0" +postcss@^8.4.41: + version "8.4.41" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.41.tgz#d6104d3ba272d882fe18fc07d15dc2da62fa2681" + integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.1" + source-map-js "^1.2.0" + postinstall-postinstall@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3" @@ -15558,11 +14841,6 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= - range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -15578,7 +14856,7 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7, rc@^1.2.8: +rc@^1.2.7, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -15596,25 +14874,20 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" -react-hot-loader@^4.12.20: - version "4.12.21" - resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.12.21.tgz#332e830801fb33024b5a147d6b13417f491eb975" - integrity sha512-Ynxa6ROfWUeKWsTHxsrL2KMzujxJVPjs385lmB2t5cHUxdoRPGind9F00tOkdc1l5WBleOF4XEAMILY1KPIIDA== +react-hot-loader@^4.13.1: + version "4.13.1" + resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.13.1.tgz#979fd7598e27338b3faffae6ed01c65374dace5e" + integrity sha512-ZlqCfVRqDJmMXTulUGic4lN7Ic1SXgHAFw7y/Jb7t25GBgTR0fYAJ8uY4mrpxjRyWGWmqw77qJQGnYbzCvBU7g== dependencies: fast-levenshtein "^2.0.6" global "^4.3.0" hoist-non-react-statics "^3.3.0" - loader-utils "^1.1.0" + loader-utils "^2.0.3" prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" shallowequal "^1.1.0" source-map "^0.7.3" -"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -15625,6 +14898,11 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" @@ -15654,14 +14932,6 @@ react-remove-scroll@2.5.5: use-callback-ref "^1.3.0" use-sidecar "^1.1.2" -react-shallow-renderer@^16.15.0: - version "16.15.0" - resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" - integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== - dependencies: - object-assign "^4.1.1" - react-is "^16.12.0 || ^17.0.0 || ^18.0.0" - react-style-singleton@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" @@ -15671,15 +14941,6 @@ react-style-singleton@^2.2.1: invariant "^2.2.4" tslib "^2.0.0" -react-test-renderer@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.2.0.tgz#1dd912bd908ff26da5b9fca4fd1c489b9523d37e" - integrity sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA== - dependencies: - react-is "^18.2.0" - react-shallow-renderer "^16.15.0" - scheduler "^0.23.0" - react@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" @@ -15895,14 +15156,6 @@ regexpu-core@^5.3.1: unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" -registry-auth-token@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" - integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ== - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - registry-auth-token@^4.0.0: version "4.2.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" @@ -15910,13 +15163,6 @@ registry-auth-token@^4.0.0: dependencies: rc "^1.2.8" -registry-url@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= - dependencies: - rc "^1.0.1" - registry-url@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" @@ -16008,13 +15254,6 @@ request-progress@^3.0.0: dependencies: throttleit "^1.0.0" -require-context.macro@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/require-context.macro/-/require-context.macro-1.2.2.tgz#84bc90f6b9c6dec3a840c84cfd6b2dd92884e34d" - integrity sha512-qibgUj+t0YeBAIsQSqgY3iwFrwQoAV7mmZmvdEpGwe1eAS7iunLpINsRYX/lyuHtJDeJdF7U92jXNzbuDeM2RA== - dependencies: - "@types/webpack-env" "^1.14.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -16082,7 +15321,7 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.4: +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.4, resolve@~1.22.1, resolve@~1.22.2: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -16239,7 +15478,7 @@ rollup@^4.13.0: "@rollup/rollup-win32-x64-msvc" "4.19.0" fsevents "~2.3.2" -rollup@^4.19.0: +rollup@^4.19.0, rollup@^4.20.0: version "4.21.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.21.0.tgz#28db5f5c556a5180361d35009979ccc749560b9d" integrity sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ== @@ -16442,6 +15681,13 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +semver@~7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -16491,20 +15737,6 @@ serialize-javascript@^6.0.0: dependencies: randombytes "^2.1.0" -serve-handler@6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.3.tgz#1bf8c5ae138712af55c758477533b9117f6435e8" - integrity sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w== - dependencies: - bytes "3.0.0" - content-disposition "0.5.2" - fast-url-parser "1.1.3" - mime-types "2.1.18" - minimatch "3.0.4" - path-is-inside "1.0.2" - path-to-regexp "2.2.1" - range-parser "1.2.0" - serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" @@ -16528,21 +15760,6 @@ serve-static@1.15.0, serve-static@^1.14.1: parseurl "~1.3.3" send "0.18.0" -serve@^11.3.0: - version "11.3.2" - resolved "https://registry.yarnpkg.com/serve/-/serve-11.3.2.tgz#b905e980616feecd170e51c8f979a7b2374098f5" - integrity sha512-yKWQfI3xbj/f7X1lTBg91fXBP0FqjJ4TEi+ilES5yzH0iKJpN5LjNb1YzIfQg9Rqn4ECUS2SOf2+Kmepogoa5w== - dependencies: - "@zeit/schemas" "2.6.0" - ajv "6.5.3" - arg "2.0.0" - boxen "1.3.0" - chalk "2.4.1" - clipboardy "1.2.3" - compression "1.7.3" - serve-handler "6.1.3" - update-check "1.5.2" - set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -16918,11 +16135,6 @@ stable-hash@^0.0.4: resolved "https://registry.yarnpkg.com/stable-hash/-/stable-hash-0.0.4.tgz#55ae7dadc13e4b3faed13601587cec41859b42f7" integrity sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g== -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - stack-utils@^2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" @@ -16985,6 +16197,11 @@ string-argv@0.3.1: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +string-argv@~0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + string-env-interpolation@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152" @@ -17016,7 +16233,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -17245,7 +16462,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@3.1.1, strip-json-comments@^3.0.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.0.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -17265,14 +16482,6 @@ style-mod@^4.0.0: resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.0.0.tgz#97e7c2d68b592975f2ca7a63d0dd6fcacfe35a01" integrity sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw== -style-value-types@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-5.0.0.tgz#76c35f0e579843d523187989da866729411fc8ad" - integrity sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA== - dependencies: - hey-listen "^1.0.8" - tslib "^2.1.0" - styled-jsx@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" @@ -17280,14 +16489,6 @@ styled-jsx@5.1.1: dependencies: client-only "0.0.1" -stylehacks@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" - integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== - dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" - subscriptions-transport-ws@0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz#baf88f050cba51d52afe781de5e81b3c31f89883" @@ -17317,7 +16518,7 @@ sucrase@^3.35.0: pirates "^4.0.1" ts-interface-checker "^0.1.9" -supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.0, supports-color@^8.1.1: +supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.0, supports-color@^8.1.1, supports-color@~8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -17401,19 +16602,6 @@ svg-parser@^2.0.4: resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - symbol-observable@^1.0.4, symbol-observable@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -17440,7 +16628,7 @@ synckit@^0.9.0: "@pkgr/core" "^0.1.0" tslib "^2.6.2" -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== @@ -17481,13 +16669,6 @@ tempy@^0.6.0: type-fest "^0.16.0" unique-string "^2.0.0" -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= - dependencies: - execa "^0.7.0" - term-size@^2.1.0: version "2.2.1" resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" @@ -17717,11 +16898,6 @@ trough@^2.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - ts-api-utils@^1.0.1, ts-api-utils@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" @@ -17972,6 +17148,11 @@ typedoc@^0.19.2: shelljs "^0.8.4" typedoc-default-themes "^0.11.4" +typescript@5.4.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" + integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== + typescript@^4.2.3, typescript@^4.6.3: version "4.7.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" @@ -17992,6 +17173,11 @@ uc.micro@^2.0.0, uc.micro@^2.1.0: resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== +ufo@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.4.tgz#16d6949674ca0c9e0fbbae1fa20a71d7b1ded754" + integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ== + uglify-js@^3.1.4: version "3.8.1" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.8.1.tgz#43bb15ce6f545eaa0a64c49fd29375ea09fa0f93" @@ -18220,14 +17406,6 @@ update-browserslist-db@^1.1.0: escalade "^3.1.2" picocolors "^1.0.1" -update-check@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/update-check/-/update-check-1.5.2.tgz#2fe09f725c543440b3d7dabe8971f2d5caaedc28" - integrity sha512-1TrmYLuLj/5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs/zJMo6TwwlhYKkSeEwzleeiSBV5/3c9ufAQWDaQ== - dependencies: - registry-auth-token "3.3.2" - registry-url "3.1.0" - upper-case-first@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" @@ -18242,7 +17420,7 @@ upper-case@^2.0.2: dependencies: tslib "^2.0.3" -uri-js@^4.2.2: +uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== @@ -18422,6 +17600,42 @@ vite-node@2.0.5: tinyrainbow "^1.2.0" vite "^5.0.0" +vite-plugin-commonjs@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/vite-plugin-commonjs/-/vite-plugin-commonjs-0.10.1.tgz#18585abc6020adaee733150847972f55a1f88c55" + integrity sha512-taP8R9kYGlCW5OzkVR0UIWRCnG6rSxeWWuA7tnU5b9t5MniibOnDY219NhisTeDhJAeGT8cEnrhVWZ9A5yD+vg== + dependencies: + acorn "^8.8.2" + fast-glob "^3.2.12" + magic-string "^0.30.1" + vite-plugin-dynamic-import "^1.5.0" + +vite-plugin-dts@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-4.0.3.tgz#0f452be5ea81a50fa27ade4e0f3a0d750873affc" + integrity sha512-+xnTsaONwU2kV6zhRjtbRJSGN41uFR/whqmcb4k4fftLFDJElxthp0PP5Fq8gMeM9ytWMt1yk5gGgekLREWYQQ== + dependencies: + "@microsoft/api-extractor" "7.47.4" + "@rollup/pluginutils" "^5.1.0" + "@volar/typescript" "^2.3.4" + "@vue/language-core" "2.0.29" + compare-versions "^6.1.1" + debug "^4.3.6" + kolorist "^1.8.0" + local-pkg "^0.5.0" + magic-string "^0.30.11" + vue-tsc "2.0.29" + +vite-plugin-dynamic-import@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/vite-plugin-dynamic-import/-/vite-plugin-dynamic-import-1.5.0.tgz#a28f4768da977f0e448009489617aec259180b63" + integrity sha512-Qp85c+AVJmLa8MLni74U4BDiWpUeFNx7NJqbGZyR2XJOU7mgW0cb7nwlAMucFyM4arEd92Nfxp4j44xPi6Fu7g== + dependencies: + acorn "^8.8.2" + es-module-lexer "^1.2.1" + fast-glob "^3.2.12" + magic-string "^0.30.1" + vite-plugin-monaco-editor@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/vite-plugin-monaco-editor/-/vite-plugin-monaco-editor-1.1.0.tgz#a6238c2e13d5e98dd54a1bc51f6f189325219de3" @@ -18436,7 +17650,7 @@ vite-plugin-svgr@^4.2.0: "@svgr/core" "^8.1.0" "@svgr/plugin-jsx" "^8.1.0" -vite@^5.0.0, vite@^5.3.5: +vite@^5.0.0: version "5.3.5" resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.5.tgz#b847f846fb2b6cb6f6f4ed50a830186138cb83d8" integrity sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA== @@ -18447,6 +17661,17 @@ vite@^5.0.0, vite@^5.3.5: optionalDependencies: fsevents "~2.3.3" +vite@^5.4.0: + version "5.4.2" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.2.tgz#8acb6ec4bfab823cdfc1cb2d6c53ed311bc4e47e" + integrity sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA== + dependencies: + esbuild "^0.21.3" + postcss "^8.4.41" + rollup "^4.20.0" + optionalDependencies: + fsevents "~2.3.3" + vitest@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.0.5.tgz#2f15a532704a7181528e399cc5b754c7f335fd62" @@ -18560,6 +17785,20 @@ vscode-uri@^3.0.2, vscode-uri@^3.0.3: resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.3.tgz#a95c1ce2e6f41b7549f86279d19f47951e4f4d84" integrity sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA== +vscode-uri@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" + integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== + +vue-tsc@2.0.29: + version "2.0.29" + resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-2.0.29.tgz#bf7e9605af9fadec7fd6037d242217f5c6ad2c3b" + integrity sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q== + dependencies: + "@volar/typescript" "~2.4.0-alpha.18" + "@vue/language-core" "2.0.29" + semver "^7.5.4" + vue@^3.2.0: version "3.4.35" resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.35.tgz#9ad23525919eece40153fdf8675d07ddd879eb33" @@ -18674,25 +17913,6 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-bundle-analyzer@^3.6.1: - version "3.8.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16" - integrity sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - bfj "^6.1.1" - chalk "^2.4.1" - commander "^2.18.0" - ejs "^2.6.1" - express "^4.16.3" - filesize "^3.6.1" - gzip-size "^5.0.0" - lodash "^4.17.15" - mkdirp "^0.5.1" - opener "^1.5.1" - ws "^6.0.0" - webpack-cli@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.0.1.tgz#95fc0495ac4065e9423a722dec9175560b6f2d9a" @@ -18989,13 +18209,6 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -widest-line@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== - dependencies: - string-width "^2.1.1" - wildcard@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" @@ -19289,13 +18502,6 @@ ws@8.17.1, ws@>=8.7.0, ws@^8.12.0, ws@^8.4.2: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - wsrun@^5.2.4: version "5.2.4" resolved "https://registry.yarnpkg.com/wsrun/-/wsrun-5.2.4.tgz#6eb6c3ccd3327721a8df073a5e3578fb0dea494e" @@ -19377,7 +18583,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: +yaml@^1.10.0, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==