├── .eslintrc ├── .gitattributes ├── .github ├── FUNDING.yml ├── dependabot.yml └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .husky └── pre-commit ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── examples └── latest │ ├── .gitignore │ ├── index.html │ ├── package.json │ ├── playwright.config.ts │ ├── schema.graphql │ ├── src │ ├── App.spec.ts │ ├── App.tsx │ ├── __generated__ │ │ └── AppQuery.graphql.ts │ ├── main.tsx │ ├── relay.ts │ └── vite-env.d.ts │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── src └── plugin.ts └── tsconfig.json /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "parser": "@typescript-eslint/parser", 3 | "extends": ["plugin:@typescript-eslint/recommended", "prettier"], 4 | "parserOptions": { "ecmaVersion": 2018, "sourceType": "module" }, 5 | "rules": {} 6 | } 7 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.graphql.ts eol=lf -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [oscartbeaumont] 2 | custom: ["https://paypal.me/oscartbeaumont"] 3 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "github-actions" 4 | directory: "/" 5 | schedule: 6 | interval: "daily" 7 | 8 | - package-ecosystem: "npm" 9 | directory: "/" 10 | schedule: 11 | interval: "daily" 12 | 13 | # - package-ecosystem: "npm" 14 | # directory: "/examples/vite-2" 15 | # schedule: 16 | # interval: "daily" 17 | 18 | # - package-ecosystem: "npm" 19 | # directory: "/examples/vite-3" 20 | # schedule: 21 | # interval: "daily" 22 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | pull_request: 7 | branches: [main] 8 | workflow_dispatch: 9 | 10 | jobs: 11 | test: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout repository 15 | uses: actions/checkout@v3.1.0 16 | - name: Setup Node.js 17 | uses: actions/setup-node@v2 18 | - name: Install pnpm 19 | uses: pnpm/action-setup@v2.2.4 20 | with: 21 | version: latest 22 | - name: Install Dependencies for Vite Plugin Relay 23 | run: pnpm i 24 | - name: Install Playwright 25 | run: pnpm --filter example exec playwright install --with-deps 26 | - name: Test Example Site 27 | run: pnpm --filter example test 28 | 29 | lint: 30 | runs-on: ubuntu-latest 31 | steps: 32 | - name: Checkout repository 33 | uses: actions/checkout@v3.1.0 34 | - name: Setup Node.js 35 | uses: actions/setup-node@v2 36 | - name: Install pnpm 37 | uses: pnpm/action-setup@v2.2.4 38 | with: 39 | version: latest 40 | - name: Install Dependencies for Vite Plugin Relay 41 | run: pnpm i 42 | - name: Lint 43 | run: pnpm lint 44 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | release: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout repository 12 | uses: actions/checkout@v3.1.0 13 | - name: Setup Node.js 14 | uses: actions/setup-node@v2 15 | - name: Install pnpm 16 | uses: pnpm/action-setup@v2.2.4 17 | with: 18 | version: latest 19 | - name: Install Dependencies for Vite Plugin Relay 20 | run: pnpm i 21 | - name: Build Vite Plugin Relay 22 | run: pnpm build 23 | - name: Publish to NPM 24 | run: | 25 | npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN} 26 | npm publish 27 | env: 28 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # node-waf configuration 26 | .lock-wscript 27 | 28 | # Compiled binary addons (https://nodejs.org/api/addons.html) 29 | build/Release 30 | 31 | # Dependency directories 32 | node_modules/ 33 | jspm_packages/ 34 | 35 | # TypeScript v1 declaration files 36 | typings/ 37 | 38 | # TypeScript cache 39 | *.tsbuildinfo 40 | 41 | # Optional npm cache directory 42 | .npm 43 | 44 | # Optional eslint cache 45 | .eslintcache 46 | 47 | # Optional REPL history 48 | .node_repl_history 49 | 50 | # Output of 'npm pack' 51 | *.tgz 52 | 53 | # Yarn Integrity file 54 | .yarn-integrity 55 | 56 | # dotenv environment variables file 57 | .env 58 | .env.test 59 | 60 | # Build / generate output 61 | dist -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npm run lint 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # node-waf configuration 26 | .lock-wscript 27 | 28 | # Compiled binary addons (https://nodejs.org/api/addons.html) 29 | build/Release 30 | 31 | # Dependency directories 32 | node_modules/ 33 | jspm_packages/ 34 | 35 | # TypeScript v1 declaration files 36 | typings/ 37 | 38 | # TypeScript cache 39 | *.tsbuildinfo 40 | 41 | # Optional npm cache directory 42 | .npm 43 | 44 | # Optional eslint cache 45 | .eslintcache 46 | 47 | # Optional REPL history 48 | .node_repl_history 49 | 50 | # Output of 'npm pack' 51 | *.tgz 52 | 53 | # Yarn Integrity file 54 | .yarn-integrity 55 | 56 | # dotenv environment variables file 57 | .env 58 | .env.test 59 | 60 | # Build / generate output 61 | dist 62 | 63 | pnpm-lock.yaml 64 | 65 | __generated__ -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "trailingComma": "all", 4 | "singleQuote": false, 5 | "printWidth": 120, 6 | "tabWidth": 2 7 | } 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Oscar Beaumont 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Vite Plugin Relay

2 | 3 |
4 | 5 | [![NPM](https://img.shields.io/npm/v/vite-plugin-relay)](https://www.npmjs.com/package/vite-plugin-relay) 6 | [![CI workflow](https://github.com/oscartbeaumont/vite-plugin-relay/actions/workflows/ci.yml/badge.svg)](https://github.com/oscartbeaumont/vite-plugin-relay/actions) 7 | 8 |
9 | 10 |
11 | Add relay support to your Vite projects. 12 |
13 | 14 |
15 | 16 | ❤️ Special thanks to: 17 | 18 | - [@Brendonovich](https://github.com/Brendonovich) for general help 19 | - [@kesne](https://github.com/kesne) for adding [pnpm](https://pnpm.io) support 20 | - [@tobias-tengler](https://github.com/tobias-tengler) for adding Vite 3 support 21 | 22 | I **do not** actively use this project anymore, however, it will still receive periodic updates. 23 | 24 | ## Usage 25 | 26 | Follow Relay's guide on [how to add Relay to your project](https://relay.dev/docs/getting-started/installation-and-setup/). 27 | 28 | > ⚠️ Note: Install `babel-plugin-relay` (>= 13.0.1) as devDependencies as instructed, but skip its configuration. `vite-plugin-relay` will invoke the babel plugin for you! 29 | 30 | Add `vite-plugin-relay` to your `devDependencies`: 31 | 32 | ```bash 33 | yarn add vite-plugin-relay -D 34 | ``` 35 | 36 | Add `vite-plugin-relay` to your Vite configuration (`vite.config.ts` or `vite.config.js`): 37 | 38 | ```typescript 39 | import { defineConfig } from "vite"; 40 | import relay from "vite-plugin-relay"; 41 | 42 | export default defineConfig({ 43 | plugins: [..., relay], 44 | }); 45 | ``` 46 | 47 | Configure `relay-compiler` to output artifacts with `export default` syntax, by setting `eagerEsModules` to `true`: 48 | 49 | ```json 50 | { 51 | "relay": { 52 | "src": "./src", 53 | "schema": "./src/schema.graphql", 54 | "language": "typescript", 55 | "eagerEsModules": true, 56 | "exclude": ["**/node_modules/**", "**/__mocks__/**", "**/__generated__/**"] 57 | } 58 | } 59 | ``` 60 | 61 | Now your project is setup to use Relay with Vite! 62 | 63 | ## How this plugin works 64 | 65 | Under the hood we are invoking the official `babel-plugin-relay`. This ensures that our plugin and `babel-plugin-relay` do not get out of sync over time and also reduces the maintainance costs of this project. 66 | 67 | Since v13 `babel-plugin-relay` automatically gets its configuration from either the `package.json`, `relay.config.js` or `relay.config.json`, so our plugin also doesn't have to expose a configuration API. 68 | 69 | ## Common Issues 70 | 71 | ### `Uncaught ReferenceError: global is not defined` 72 | 73 | If you experience this error in your browser console when using the plugin add the following define to your `index.html` file before importing your Javascript: 74 | 75 | ```html 76 | 79 | ``` 80 | 81 | ## Server Side Rendering 82 | 83 | If you are planning to use this plugin with server side rendering you may need to define `window`. You could do this by putting the following snippet in your [`entry-server.js`](https://vitejs.dev/guide/ssr.html#source-structure) file. 84 | 85 | ```js 86 | if (typeof (window as any).global === 'undefined') { 87 | (window as any).global = globalThis; 88 | } 89 | ``` 90 | 91 | ## Contributing 92 | 93 | ``` 94 | git clone ... 95 | pnpm i 96 | # If you have never run Playwright run `npx playwright install` to setup your system. 97 | cd examples/vite-3 98 | pnpm dev 99 | 100 | pnpm format # Do this before doing a commit 101 | ``` 102 | -------------------------------------------------------------------------------- /examples/latest/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | /test-results/ 26 | /playwright-report/ 27 | /blob-report/ 28 | /playwright/.cache/ 29 | -------------------------------------------------------------------------------- /examples/latest/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SpaceX Data Viewer! 7 | 8 | 9 |
10 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/latest/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "concurrently \"npm:dev:*\"", 8 | "dev:vite": "vite", 9 | "dev:relay": "relay-compiler --watch", 10 | "build": "relay-compiler --validate && tsc --noEmit && vite build", 11 | "test": "concurrently \"npm:build\" && playwright test" 12 | }, 13 | "dependencies": { 14 | "react": "^18.2.0", 15 | "react-dom": "^18.2.0", 16 | "react-relay": "^16.0.0", 17 | "relay-runtime": "16.0.0" 18 | }, 19 | "devDependencies": { 20 | "@playwright/test": "1.40.1", 21 | "@types/node": "^20.10.4", 22 | "@types/react": "^18.2.43", 23 | "@types/react-dom": "^18.2.17", 24 | "@types/react-relay": "^16.0.5", 25 | "@types/relay-runtime": "^14.1.19", 26 | "@vitejs/plugin-react": "^4.2.1", 27 | "babel-plugin-relay": "^16.0.0", 28 | "concurrently": "^8.2.2", 29 | "relay-compiler": "^16.0.0", 30 | "typescript": "^5.3.3", 31 | "vite": "^5.0.7", 32 | "vite-plugin-relay": "workspace:*" 33 | }, 34 | "relay": { 35 | "src": "./src", 36 | "schema": "./schema.graphql", 37 | "language": "typescript", 38 | "eagerEsModules": true 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /examples/latest/playwright.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig, devices } from "@playwright/test"; 2 | 3 | /** 4 | * See https://playwright.dev/docs/test-configuration. 5 | */ 6 | export default defineConfig({ 7 | testDir: "./src", 8 | fullyParallel: true, 9 | forbidOnly: !!process.env.CI, 10 | retries: process.env.CI ? 2 : 0, 11 | workers: process.env.CI ? 1 : undefined, 12 | use: { 13 | trace: "on-first-retry", 14 | }, 15 | projects: [ 16 | { 17 | name: "chromium", 18 | use: { ...devices["Desktop Chrome"] }, 19 | }, 20 | { 21 | name: "firefox", 22 | use: { ...devices["Desktop Firefox"] }, 23 | }, 24 | { 25 | name: "webkit", 26 | use: { ...devices["Desktop Safari"] }, 27 | }, 28 | ], 29 | }); 30 | -------------------------------------------------------------------------------- /examples/latest/schema.graphql: -------------------------------------------------------------------------------- 1 | # This schema is a subset of the SpaceX API 2 | # The API can be found at https://api.spacex.land/graphql/ 3 | 4 | type Ship { 5 | abs: Int 6 | active: Boolean 7 | attempted_landings: Int 8 | class: Int 9 | course_deg: Int 10 | home_port: String 11 | id: ID 12 | image: String 13 | imo: Int 14 | # missions: [ShipMission] 15 | mmsi: Int 16 | model: String 17 | name: String 18 | # position: ShipLocation 19 | roles: [String] 20 | speed_kn: Float 21 | status: String 22 | successful_landings: Int 23 | type: String 24 | url: String 25 | weight_kg: Int 26 | weight_lbs: Int 27 | year_built: Int 28 | } 29 | 30 | input ShipsFind { 31 | id: ID 32 | name: String 33 | model: String 34 | type: String 35 | role: String 36 | active: Boolean 37 | imo: Int 38 | mmsi: Int 39 | abs: Int 40 | class: Int 41 | weight_lbs: Int 42 | weight_kg: Int 43 | year_built: Int 44 | home_port: String 45 | status: String 46 | speed_kn: Int 47 | course_deg: Int 48 | latitude: Float 49 | longitude: Float 50 | successful_landings: Int 51 | attempted_landings: Int 52 | mission: String 53 | } 54 | 55 | type Query { 56 | ships(find: ShipsFind, limit: Int, offset: Int, order: String, sort: String): [Ship] 57 | } 58 | -------------------------------------------------------------------------------- /examples/latest/src/App.spec.ts: -------------------------------------------------------------------------------- 1 | import { test, expect, Page } from "@playwright/test"; 2 | import { GraphQLResponseWithData as RelayGraphQLResponseWithData } from "relay-runtime"; 3 | import { AppQuery$data } from "./__generated__/AppQuery.graphql"; 4 | 5 | const apiUrl = "https://spacex-production.up.railway.app/graphql"; 6 | 7 | // Mutable removes the readonly property from a type. This is done because the Relay compiler outputs types with readonly fields. 8 | type Mutable = { 9 | -readonly [P in keyof T]: T[P]; 10 | }; 11 | 12 | // GraphQLResponseWithData is a generic which allows the type of the 'data' field to be modified 13 | interface GraphQLResponseWithData extends Omit { 14 | data: T; 15 | } 16 | 17 | // modifyGraphQLResponse provides an easy way to modify the data returned from a GraphQL endpoint 18 | async function modifyGraphQLResponse( 19 | page: Page, 20 | url: string, 21 | mutator: (body: any) => any /* eslint-disable-line @typescript-eslint/no-explicit-any */, 22 | ) { 23 | await page.route(url, async (route) => { 24 | const response = await page.request.fetch(route.request()); 25 | route.fulfill({ 26 | response, 27 | body: JSON.stringify(mutator(await response.json())), 28 | }); 29 | }); 30 | } 31 | 32 | // This beforeEach hook ensures that the compiled Vite project is served at http://localhost/ for each test. 33 | test.beforeEach(async ({ page }) => { 34 | await page.route("http://localhost/**", (route) => { 35 | if (route.request().resourceType() === "document") { 36 | return route.fulfill({ 37 | status: 200, 38 | path: new URL("../dist/index.html", import.meta.url).pathname, 39 | }); 40 | } else { 41 | const url = new URL(route.request().url()); 42 | return route.fulfill({ 43 | status: 200, 44 | path: new URL("../dist" + url.pathname, import.meta.url).pathname, 45 | }); 46 | } 47 | }); 48 | }); 49 | 50 | test("renders list with many ships", async ({ page }) => { 51 | await modifyGraphQLResponse(page, apiUrl, (body: GraphQLResponseWithData>) => { 52 | body.data.ships = [ 53 | { 54 | id: "one", 55 | name: "Ship One", 56 | }, 57 | { 58 | id: "two", 59 | name: "Ship Two", 60 | }, 61 | ]; 62 | 63 | return body; 64 | }); 65 | 66 | await page.goto(`http://localhost`, { waitUntil: "networkidle" }); 67 | 68 | // Check title exists and hence that page rendered correctly 69 | const titleTxt = page.locator("h1"); 70 | await expect(await titleTxt.count()).toBe(1); 71 | await expect(await titleTxt.textContent()).toBe("SpaceX Data Viewer"); 72 | 73 | // Check list of ships rendered correctly 74 | const shipsList = page.locator("[aria-labelledby=ships-heading]"); 75 | await expect(await shipsList.count()).toBe(1); 76 | const shipsListChildren = shipsList.locator("li"); 77 | await expect(await shipsListChildren.count()).toBe(2); 78 | await expect(await shipsListChildren.nth(0).textContent()).toBe("Ship One"); 79 | await expect(await shipsListChildren.nth(1).textContent()).toBe("Ship Two"); 80 | }); 81 | 82 | test("renders list with no ships", async ({ page }) => { 83 | await modifyGraphQLResponse(page, apiUrl, (body: GraphQLResponseWithData>) => { 84 | body.data.ships = []; 85 | return body; 86 | }); 87 | 88 | await page.goto(`http://localhost`, { waitUntil: "networkidle" }); 89 | 90 | // Check title exists and hence that page rendered correctly 91 | const titleTxt = page.locator("h1"); 92 | await expect(await titleTxt.count()).toBe(1); 93 | await expect(await titleTxt.textContent()).toBe("SpaceX Data Viewer"); 94 | 95 | // Check list of ships rendered correctly 96 | const shipsList = page.locator("[aria-labelledby=ships-heading]"); 97 | await expect(await shipsList.count()).toBe(1); 98 | const shipsListChildren = shipsList.locator("li"); 99 | await expect(await shipsListChildren.count()).toBe(0); 100 | }); 101 | -------------------------------------------------------------------------------- /examples/latest/src/App.tsx: -------------------------------------------------------------------------------- 1 | import { ReactElement } from "react"; 2 | import { graphql, useLazyLoadQuery } from "react-relay"; 3 | import { AppQuery } from "./__generated__/AppQuery.graphql"; 4 | 5 | export default function App(): ReactElement { 6 | const data = useLazyLoadQuery( 7 | graphql` 8 | query AppQuery { 9 | ships { 10 | id 11 | name 12 | } 13 | } 14 | `, 15 | {}, 16 | ); 17 | 18 | return ( 19 | <> 20 |

21 | 22 | SpaceX 23 | {" "} 24 | Data Viewer 25 |

26 |

Ships

27 |
    {data.ships?.map((ship) =>
  • {ship?.name}
  • )}
28 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /examples/latest/src/__generated__/AppQuery.graphql.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @generated SignedSource<<9c7eb0dd7121a9848f4cab80b95e4757>> 3 | * @lightSyntaxTransform 4 | * @nogrep 5 | */ 6 | 7 | /* tslint:disable */ 8 | /* eslint-disable */ 9 | // @ts-nocheck 10 | 11 | import { ConcreteRequest, Query } from 'relay-runtime'; 12 | export type AppQuery$variables = Record; 13 | export type AppQuery$data = { 14 | readonly ships: ReadonlyArray<{ 15 | readonly id: string | null | undefined; 16 | readonly name: string | null | undefined; 17 | } | null | undefined> | null | undefined; 18 | }; 19 | export type AppQuery = { 20 | response: AppQuery$data; 21 | variables: AppQuery$variables; 22 | }; 23 | 24 | const node: ConcreteRequest = (function(){ 25 | var v0 = [ 26 | { 27 | "alias": null, 28 | "args": null, 29 | "concreteType": "Ship", 30 | "kind": "LinkedField", 31 | "name": "ships", 32 | "plural": true, 33 | "selections": [ 34 | { 35 | "alias": null, 36 | "args": null, 37 | "kind": "ScalarField", 38 | "name": "id", 39 | "storageKey": null 40 | }, 41 | { 42 | "alias": null, 43 | "args": null, 44 | "kind": "ScalarField", 45 | "name": "name", 46 | "storageKey": null 47 | } 48 | ], 49 | "storageKey": null 50 | } 51 | ]; 52 | return { 53 | "fragment": { 54 | "argumentDefinitions": [], 55 | "kind": "Fragment", 56 | "metadata": null, 57 | "name": "AppQuery", 58 | "selections": (v0/*: any*/), 59 | "type": "Query", 60 | "abstractKey": null 61 | }, 62 | "kind": "Request", 63 | "operation": { 64 | "argumentDefinitions": [], 65 | "kind": "Operation", 66 | "name": "AppQuery", 67 | "selections": (v0/*: any*/) 68 | }, 69 | "params": { 70 | "cacheID": "5d4f179d9fd77529c8d5229f95d52f65", 71 | "id": null, 72 | "metadata": {}, 73 | "name": "AppQuery", 74 | "operationKind": "query", 75 | "text": "query AppQuery {\n ships {\n id\n name\n }\n}\n" 76 | } 77 | }; 78 | })(); 79 | 80 | (node as any).hash = "fe6589af5b8bfbe9722d3b296cc93444"; 81 | 82 | export default node; 83 | -------------------------------------------------------------------------------- /examples/latest/src/main.tsx: -------------------------------------------------------------------------------- 1 | import React, { Suspense } from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import { RelayEnvironmentProvider } from "react-relay"; 4 | import { RelayEnvironment } from "./relay"; 5 | import App from "./App"; 6 | 7 | ReactDOM.createRoot(document.getElementById("root") as HTMLDivElement).render( 8 | 9 | 10 | Loading Data...}> 11 | 12 | 13 | 14 | , 15 | ); 16 | -------------------------------------------------------------------------------- /examples/latest/src/relay.ts: -------------------------------------------------------------------------------- 1 | import { Environment, Network, Observable, RecordSource, Store } from "relay-runtime"; 2 | 3 | async function FetchGraphQL(query: any, variables: any) /* eslint-disable-line @typescript-eslint/no-explicit-any */ { 4 | const response = await fetch("https://spacex-production.up.railway.app/graphql", { 5 | method: "POST", 6 | headers: { 7 | "Content-Type": "application/json", 8 | }, 9 | body: JSON.stringify({ 10 | query, 11 | variables, 12 | }), 13 | }); 14 | 15 | return await response.json(); 16 | } 17 | 18 | export const RelayEnvironment = new Environment({ 19 | network: Network.create((params: any, variables: any) /* eslint-disable-line @typescript-eslint/no-explicit-any */ => 20 | Observable.create((sink) => { 21 | FetchGraphQL(params.text, variables).then((payload) => { 22 | sink.next(payload); 23 | sink.complete(); 24 | }); 25 | }),), 26 | store: new Store(new RecordSource()), 27 | }); 28 | -------------------------------------------------------------------------------- /examples/latest/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /examples/latest/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 6 | "allowJs": false, 7 | "skipLibCheck": true, 8 | "esModuleInterop": false, 9 | "allowSyntheticDefaultImports": true, 10 | "strict": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "module": "ESNext", 13 | "moduleResolution": "Node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "noEmit": true, 17 | "jsx": "react-jsx" 18 | }, 19 | "include": ["src"], 20 | "references": [{ "path": "./tsconfig.node.json" }] 21 | } 22 | -------------------------------------------------------------------------------- /examples/latest/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /examples/latest/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import react from "@vitejs/plugin-react"; 3 | import relay from "vite-plugin-relay"; 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig({ 7 | plugins: [relay, react()], 8 | }); 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-relay", 3 | "version": "2.1.0", 4 | "description": "A vite plugin for relay", 5 | "author": { 6 | "name": "Oscar Beaumont", 7 | "email": "oscar@otbeaumont.me" 8 | }, 9 | "license": "MIT", 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/oscartbeaumont/vite-plugin-relay.git" 13 | }, 14 | "keywords": [ 15 | "graphql", 16 | "relay", 17 | "typescript", 18 | "graphql-relay", 19 | "vite", 20 | "vite-plugin", 21 | "vite-plugin-relay" 22 | ], 23 | "type": "module", 24 | "main": "dist/plugin.cjs", 25 | "module": "dist/plugin.js", 26 | "types": "dist/plugin.d.ts", 27 | "exports": { 28 | ".": { 29 | "require": "./dist/plugin.cjs", 30 | "import": "./dist/plugin.js" 31 | } 32 | }, 33 | "files": [ 34 | "dist" 35 | ], 36 | "scripts": { 37 | "build": "tsup src/plugin.ts --dts --clean --format cjs,esm --no-splitting --env.NODE_ENV production", 38 | "dev": "tsup src/plugin.ts --dts --clean --format cjs,esm --no-splitting --watch", 39 | "test": "pnpm -r --parallel --filter=!vite-plugin-relay exec pnpm test", 40 | "lint": "prettier --check . && eslint src/** examples/latest/src/**", 41 | "format": "prettier --write . && eslint src/** examples/latest/src/** --fix", 42 | "prepare": "husky install && yarn build" 43 | }, 44 | "peerDependencies": { 45 | "babel-plugin-relay": ">=14.1.0", 46 | "vite": ">=2.0.0" 47 | }, 48 | "dependencies": { 49 | "@babel/core": "^7.23.5" 50 | }, 51 | "devDependencies": { 52 | "@swc/core": "^1.3.100", 53 | "@types/babel__core": "^7.20.5", 54 | "@types/node": "^20.10.4", 55 | "@typescript-eslint/eslint-plugin": "^6.13.2", 56 | "@typescript-eslint/parser": "^6.13.2", 57 | "eslint": "^8.55.0", 58 | "eslint-config-prettier": "^9.1.0", 59 | "husky": "^8.0.3", 60 | "prettier": "^3.1.0", 61 | "tsup": "^8.0.1", 62 | "typescript": "^5.3.3", 63 | "vite": "^5.0.7" 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@babel/core': 12 | specifier: ^7.23.5 13 | version: 7.23.5 14 | babel-plugin-relay: 15 | specifier: '>=14.1.0' 16 | version: 16.0.0 17 | devDependencies: 18 | '@swc/core': 19 | specifier: ^1.3.100 20 | version: 1.3.100 21 | '@types/babel__core': 22 | specifier: ^7.20.5 23 | version: 7.20.5 24 | '@types/node': 25 | specifier: ^20.10.4 26 | version: 20.10.4 27 | '@typescript-eslint/eslint-plugin': 28 | specifier: ^6.13.2 29 | version: 6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.55.0)(typescript@5.3.3) 30 | '@typescript-eslint/parser': 31 | specifier: ^6.13.2 32 | version: 6.13.2(eslint@8.55.0)(typescript@5.3.3) 33 | eslint: 34 | specifier: ^8.55.0 35 | version: 8.55.0 36 | eslint-config-prettier: 37 | specifier: ^9.1.0 38 | version: 9.1.0(eslint@8.55.0) 39 | husky: 40 | specifier: ^8.0.3 41 | version: 8.0.3 42 | prettier: 43 | specifier: ^3.1.0 44 | version: 3.1.0 45 | tsup: 46 | specifier: ^8.0.1 47 | version: 8.0.1(@swc/core@1.3.100)(typescript@5.3.3) 48 | typescript: 49 | specifier: ^5.3.3 50 | version: 5.3.3 51 | vite: 52 | specifier: ^5.0.7 53 | version: 5.0.7(@types/node@20.10.4) 54 | 55 | examples/latest: 56 | dependencies: 57 | react: 58 | specifier: ^18.2.0 59 | version: 18.2.0 60 | react-dom: 61 | specifier: ^18.2.0 62 | version: 18.2.0(react@18.2.0) 63 | react-relay: 64 | specifier: ^16.0.0 65 | version: 16.0.0(react@18.2.0) 66 | relay-runtime: 67 | specifier: 16.0.0 68 | version: 16.0.0 69 | devDependencies: 70 | '@playwright/test': 71 | specifier: 1.40.1 72 | version: 1.40.1 73 | '@types/node': 74 | specifier: ^20.10.4 75 | version: 20.10.4 76 | '@types/react': 77 | specifier: ^18.2.43 78 | version: 18.2.43 79 | '@types/react-dom': 80 | specifier: ^18.2.17 81 | version: 18.2.17 82 | '@types/react-relay': 83 | specifier: ^16.0.5 84 | version: 16.0.5 85 | '@types/relay-runtime': 86 | specifier: ^14.1.19 87 | version: 14.1.19 88 | '@vitejs/plugin-react': 89 | specifier: ^4.2.1 90 | version: 4.2.1(vite@5.0.7) 91 | babel-plugin-relay: 92 | specifier: ^16.0.0 93 | version: 16.0.0 94 | concurrently: 95 | specifier: ^8.2.2 96 | version: 8.2.2 97 | relay-compiler: 98 | specifier: ^16.0.0 99 | version: 16.0.0 100 | typescript: 101 | specifier: ^5.3.3 102 | version: 5.3.3 103 | vite: 104 | specifier: ^5.0.7 105 | version: 5.0.7(@types/node@20.10.4) 106 | vite-plugin-relay: 107 | specifier: workspace:* 108 | version: link:../.. 109 | 110 | packages: 111 | 112 | /@aashutoshrathi/word-wrap@1.2.6: 113 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} 114 | engines: {node: '>=0.10.0'} 115 | dev: true 116 | 117 | /@ampproject/remapping@2.2.1: 118 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} 119 | engines: {node: '>=6.0.0'} 120 | dependencies: 121 | '@jridgewell/gen-mapping': 0.3.3 122 | '@jridgewell/trace-mapping': 0.3.20 123 | 124 | /@babel/code-frame@7.23.5: 125 | resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} 126 | engines: {node: '>=6.9.0'} 127 | dependencies: 128 | '@babel/highlight': 7.23.4 129 | chalk: 2.4.2 130 | 131 | /@babel/compat-data@7.23.5: 132 | resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} 133 | engines: {node: '>=6.9.0'} 134 | 135 | /@babel/core@7.23.5: 136 | resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==} 137 | engines: {node: '>=6.9.0'} 138 | dependencies: 139 | '@ampproject/remapping': 2.2.1 140 | '@babel/code-frame': 7.23.5 141 | '@babel/generator': 7.23.5 142 | '@babel/helper-compilation-targets': 7.22.15 143 | '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) 144 | '@babel/helpers': 7.23.5 145 | '@babel/parser': 7.23.5 146 | '@babel/template': 7.22.15 147 | '@babel/traverse': 7.23.5 148 | '@babel/types': 7.23.5 149 | convert-source-map: 2.0.0 150 | debug: 4.3.4 151 | gensync: 1.0.0-beta.2 152 | json5: 2.2.3 153 | semver: 6.3.1 154 | transitivePeerDependencies: 155 | - supports-color 156 | 157 | /@babel/generator@7.23.5: 158 | resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==} 159 | engines: {node: '>=6.9.0'} 160 | dependencies: 161 | '@babel/types': 7.23.5 162 | '@jridgewell/gen-mapping': 0.3.3 163 | '@jridgewell/trace-mapping': 0.3.20 164 | jsesc: 2.5.2 165 | 166 | /@babel/helper-compilation-targets@7.22.15: 167 | resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} 168 | engines: {node: '>=6.9.0'} 169 | dependencies: 170 | '@babel/compat-data': 7.23.5 171 | '@babel/helper-validator-option': 7.23.5 172 | browserslist: 4.22.2 173 | lru-cache: 5.1.1 174 | semver: 6.3.1 175 | 176 | /@babel/helper-environment-visitor@7.22.20: 177 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} 178 | engines: {node: '>=6.9.0'} 179 | 180 | /@babel/helper-function-name@7.23.0: 181 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} 182 | engines: {node: '>=6.9.0'} 183 | dependencies: 184 | '@babel/template': 7.22.15 185 | '@babel/types': 7.23.5 186 | 187 | /@babel/helper-hoist-variables@7.22.5: 188 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} 189 | engines: {node: '>=6.9.0'} 190 | dependencies: 191 | '@babel/types': 7.23.5 192 | 193 | /@babel/helper-module-imports@7.22.15: 194 | resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} 195 | engines: {node: '>=6.9.0'} 196 | dependencies: 197 | '@babel/types': 7.23.5 198 | 199 | /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5): 200 | resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} 201 | engines: {node: '>=6.9.0'} 202 | peerDependencies: 203 | '@babel/core': ^7.0.0 204 | dependencies: 205 | '@babel/core': 7.23.5 206 | '@babel/helper-environment-visitor': 7.22.20 207 | '@babel/helper-module-imports': 7.22.15 208 | '@babel/helper-simple-access': 7.22.5 209 | '@babel/helper-split-export-declaration': 7.22.6 210 | '@babel/helper-validator-identifier': 7.22.20 211 | 212 | /@babel/helper-plugin-utils@7.22.5: 213 | resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} 214 | engines: {node: '>=6.9.0'} 215 | dev: true 216 | 217 | /@babel/helper-simple-access@7.22.5: 218 | resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} 219 | engines: {node: '>=6.9.0'} 220 | dependencies: 221 | '@babel/types': 7.23.5 222 | 223 | /@babel/helper-split-export-declaration@7.22.6: 224 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} 225 | engines: {node: '>=6.9.0'} 226 | dependencies: 227 | '@babel/types': 7.23.5 228 | 229 | /@babel/helper-string-parser@7.23.4: 230 | resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} 231 | engines: {node: '>=6.9.0'} 232 | 233 | /@babel/helper-validator-identifier@7.22.20: 234 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} 235 | engines: {node: '>=6.9.0'} 236 | 237 | /@babel/helper-validator-option@7.23.5: 238 | resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} 239 | engines: {node: '>=6.9.0'} 240 | 241 | /@babel/helpers@7.23.5: 242 | resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==} 243 | engines: {node: '>=6.9.0'} 244 | dependencies: 245 | '@babel/template': 7.22.15 246 | '@babel/traverse': 7.23.5 247 | '@babel/types': 7.23.5 248 | transitivePeerDependencies: 249 | - supports-color 250 | 251 | /@babel/highlight@7.23.4: 252 | resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} 253 | engines: {node: '>=6.9.0'} 254 | dependencies: 255 | '@babel/helper-validator-identifier': 7.22.20 256 | chalk: 2.4.2 257 | js-tokens: 4.0.0 258 | 259 | /@babel/parser@7.23.5: 260 | resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} 261 | engines: {node: '>=6.0.0'} 262 | hasBin: true 263 | dependencies: 264 | '@babel/types': 7.23.5 265 | 266 | /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.5): 267 | resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} 268 | engines: {node: '>=6.9.0'} 269 | peerDependencies: 270 | '@babel/core': ^7.0.0-0 271 | dependencies: 272 | '@babel/core': 7.23.5 273 | '@babel/helper-plugin-utils': 7.22.5 274 | dev: true 275 | 276 | /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.5): 277 | resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} 278 | engines: {node: '>=6.9.0'} 279 | peerDependencies: 280 | '@babel/core': ^7.0.0-0 281 | dependencies: 282 | '@babel/core': 7.23.5 283 | '@babel/helper-plugin-utils': 7.22.5 284 | dev: true 285 | 286 | /@babel/runtime@7.23.5: 287 | resolution: {integrity: sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==} 288 | engines: {node: '>=6.9.0'} 289 | dependencies: 290 | regenerator-runtime: 0.14.0 291 | 292 | /@babel/template@7.22.15: 293 | resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} 294 | engines: {node: '>=6.9.0'} 295 | dependencies: 296 | '@babel/code-frame': 7.23.5 297 | '@babel/parser': 7.23.5 298 | '@babel/types': 7.23.5 299 | 300 | /@babel/traverse@7.23.5: 301 | resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==} 302 | engines: {node: '>=6.9.0'} 303 | dependencies: 304 | '@babel/code-frame': 7.23.5 305 | '@babel/generator': 7.23.5 306 | '@babel/helper-environment-visitor': 7.22.20 307 | '@babel/helper-function-name': 7.23.0 308 | '@babel/helper-hoist-variables': 7.22.5 309 | '@babel/helper-split-export-declaration': 7.22.6 310 | '@babel/parser': 7.23.5 311 | '@babel/types': 7.23.5 312 | debug: 4.3.4 313 | globals: 11.12.0 314 | transitivePeerDependencies: 315 | - supports-color 316 | 317 | /@babel/types@7.23.5: 318 | resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} 319 | engines: {node: '>=6.9.0'} 320 | dependencies: 321 | '@babel/helper-string-parser': 7.23.4 322 | '@babel/helper-validator-identifier': 7.22.20 323 | to-fast-properties: 2.0.0 324 | 325 | /@esbuild/android-arm64@0.19.9: 326 | resolution: {integrity: sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==} 327 | engines: {node: '>=12'} 328 | cpu: [arm64] 329 | os: [android] 330 | requiresBuild: true 331 | dev: true 332 | optional: true 333 | 334 | /@esbuild/android-arm@0.19.9: 335 | resolution: {integrity: sha512-jkYjjq7SdsWuNI6b5quymW0oC83NN5FdRPuCbs9HZ02mfVdAP8B8eeqLSYU3gb6OJEaY5CQabtTFbqBf26H3GA==} 336 | engines: {node: '>=12'} 337 | cpu: [arm] 338 | os: [android] 339 | requiresBuild: true 340 | dev: true 341 | optional: true 342 | 343 | /@esbuild/android-x64@0.19.9: 344 | resolution: {integrity: sha512-KOqoPntWAH6ZxDwx1D6mRntIgZh9KodzgNOy5Ebt9ghzffOk9X2c1sPwtM9P+0eXbefnDhqYfkh5PLP5ULtWFA==} 345 | engines: {node: '>=12'} 346 | cpu: [x64] 347 | os: [android] 348 | requiresBuild: true 349 | dev: true 350 | optional: true 351 | 352 | /@esbuild/darwin-arm64@0.19.9: 353 | resolution: {integrity: sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==} 354 | engines: {node: '>=12'} 355 | cpu: [arm64] 356 | os: [darwin] 357 | requiresBuild: true 358 | dev: true 359 | optional: true 360 | 361 | /@esbuild/darwin-x64@0.19.9: 362 | resolution: {integrity: sha512-vE0VotmNTQaTdX0Q9dOHmMTao6ObjyPm58CHZr1UK7qpNleQyxlFlNCaHsHx6Uqv86VgPmR4o2wdNq3dP1qyDQ==} 363 | engines: {node: '>=12'} 364 | cpu: [x64] 365 | os: [darwin] 366 | requiresBuild: true 367 | dev: true 368 | optional: true 369 | 370 | /@esbuild/freebsd-arm64@0.19.9: 371 | resolution: {integrity: sha512-uFQyd/o1IjiEk3rUHSwUKkqZwqdvuD8GevWF065eqgYfexcVkxh+IJgwTaGZVu59XczZGcN/YMh9uF1fWD8j1g==} 372 | engines: {node: '>=12'} 373 | cpu: [arm64] 374 | os: [freebsd] 375 | requiresBuild: true 376 | dev: true 377 | optional: true 378 | 379 | /@esbuild/freebsd-x64@0.19.9: 380 | resolution: {integrity: sha512-WMLgWAtkdTbTu1AWacY7uoj/YtHthgqrqhf1OaEWnZb7PQgpt8eaA/F3LkV0E6K/Lc0cUr/uaVP/49iE4M4asA==} 381 | engines: {node: '>=12'} 382 | cpu: [x64] 383 | os: [freebsd] 384 | requiresBuild: true 385 | dev: true 386 | optional: true 387 | 388 | /@esbuild/linux-arm64@0.19.9: 389 | resolution: {integrity: sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==} 390 | engines: {node: '>=12'} 391 | cpu: [arm64] 392 | os: [linux] 393 | requiresBuild: true 394 | dev: true 395 | optional: true 396 | 397 | /@esbuild/linux-arm@0.19.9: 398 | resolution: {integrity: sha512-C/ChPohUYoyUaqn1h17m/6yt6OB14hbXvT8EgM1ZWaiiTYz7nWZR0SYmMnB5BzQA4GXl3BgBO1l8MYqL/He3qw==} 399 | engines: {node: '>=12'} 400 | cpu: [arm] 401 | os: [linux] 402 | requiresBuild: true 403 | dev: true 404 | optional: true 405 | 406 | /@esbuild/linux-ia32@0.19.9: 407 | resolution: {integrity: sha512-f37i/0zE0MjDxijkPSQw1CO/7C27Eojqb+r3BbHVxMLkj8GCa78TrBZzvPyA/FNLUMzP3eyHCVkAopkKVja+6Q==} 408 | engines: {node: '>=12'} 409 | cpu: [ia32] 410 | os: [linux] 411 | requiresBuild: true 412 | dev: true 413 | optional: true 414 | 415 | /@esbuild/linux-loong64@0.19.9: 416 | resolution: {integrity: sha512-t6mN147pUIf3t6wUt3FeumoOTPfmv9Cc6DQlsVBpB7eCpLOqQDyWBP1ymXn1lDw4fNUSb/gBcKAmvTP49oIkaA==} 417 | engines: {node: '>=12'} 418 | cpu: [loong64] 419 | os: [linux] 420 | requiresBuild: true 421 | dev: true 422 | optional: true 423 | 424 | /@esbuild/linux-mips64el@0.19.9: 425 | resolution: {integrity: sha512-jg9fujJTNTQBuDXdmAg1eeJUL4Jds7BklOTkkH80ZgQIoCTdQrDaHYgbFZyeTq8zbY+axgptncko3v9p5hLZtw==} 426 | engines: {node: '>=12'} 427 | cpu: [mips64el] 428 | os: [linux] 429 | requiresBuild: true 430 | dev: true 431 | optional: true 432 | 433 | /@esbuild/linux-ppc64@0.19.9: 434 | resolution: {integrity: sha512-tkV0xUX0pUUgY4ha7z5BbDS85uI7ABw3V1d0RNTii7E9lbmV8Z37Pup2tsLV46SQWzjOeyDi1Q7Wx2+QM8WaCQ==} 435 | engines: {node: '>=12'} 436 | cpu: [ppc64] 437 | os: [linux] 438 | requiresBuild: true 439 | dev: true 440 | optional: true 441 | 442 | /@esbuild/linux-riscv64@0.19.9: 443 | resolution: {integrity: sha512-DfLp8dj91cufgPZDXr9p3FoR++m3ZJ6uIXsXrIvJdOjXVREtXuQCjfMfvmc3LScAVmLjcfloyVtpn43D56JFHg==} 444 | engines: {node: '>=12'} 445 | cpu: [riscv64] 446 | os: [linux] 447 | requiresBuild: true 448 | dev: true 449 | optional: true 450 | 451 | /@esbuild/linux-s390x@0.19.9: 452 | resolution: {integrity: sha512-zHbglfEdC88KMgCWpOl/zc6dDYJvWGLiUtmPRsr1OgCViu3z5GncvNVdf+6/56O2Ca8jUU+t1BW261V6kp8qdw==} 453 | engines: {node: '>=12'} 454 | cpu: [s390x] 455 | os: [linux] 456 | requiresBuild: true 457 | dev: true 458 | optional: true 459 | 460 | /@esbuild/linux-x64@0.19.9: 461 | resolution: {integrity: sha512-JUjpystGFFmNrEHQnIVG8hKwvA2DN5o7RqiO1CVX8EN/F/gkCjkUMgVn6hzScpwnJtl2mPR6I9XV1oW8k9O+0A==} 462 | engines: {node: '>=12'} 463 | cpu: [x64] 464 | os: [linux] 465 | requiresBuild: true 466 | dev: true 467 | optional: true 468 | 469 | /@esbuild/netbsd-x64@0.19.9: 470 | resolution: {integrity: sha512-GThgZPAwOBOsheA2RUlW5UeroRfESwMq/guy8uEe3wJlAOjpOXuSevLRd70NZ37ZrpO6RHGHgEHvPg1h3S1Jug==} 471 | engines: {node: '>=12'} 472 | cpu: [x64] 473 | os: [netbsd] 474 | requiresBuild: true 475 | dev: true 476 | optional: true 477 | 478 | /@esbuild/openbsd-x64@0.19.9: 479 | resolution: {integrity: sha512-Ki6PlzppaFVbLnD8PtlVQfsYw4S9n3eQl87cqgeIw+O3sRr9IghpfSKY62mggdt1yCSZ8QWvTZ9jo9fjDSg9uw==} 480 | engines: {node: '>=12'} 481 | cpu: [x64] 482 | os: [openbsd] 483 | requiresBuild: true 484 | dev: true 485 | optional: true 486 | 487 | /@esbuild/sunos-x64@0.19.9: 488 | resolution: {integrity: sha512-MLHj7k9hWh4y1ddkBpvRj2b9NCBhfgBt3VpWbHQnXRedVun/hC7sIyTGDGTfsGuXo4ebik2+3ShjcPbhtFwWDw==} 489 | engines: {node: '>=12'} 490 | cpu: [x64] 491 | os: [sunos] 492 | requiresBuild: true 493 | dev: true 494 | optional: true 495 | 496 | /@esbuild/win32-arm64@0.19.9: 497 | resolution: {integrity: sha512-GQoa6OrQ8G08guMFgeXPH7yE/8Dt0IfOGWJSfSH4uafwdC7rWwrfE6P9N8AtPGIjUzdo2+7bN8Xo3qC578olhg==} 498 | engines: {node: '>=12'} 499 | cpu: [arm64] 500 | os: [win32] 501 | requiresBuild: true 502 | dev: true 503 | optional: true 504 | 505 | /@esbuild/win32-ia32@0.19.9: 506 | resolution: {integrity: sha512-UOozV7Ntykvr5tSOlGCrqU3NBr3d8JqPes0QWN2WOXfvkWVGRajC+Ym0/Wj88fUgecUCLDdJPDF0Nna2UK3Qtg==} 507 | engines: {node: '>=12'} 508 | cpu: [ia32] 509 | os: [win32] 510 | requiresBuild: true 511 | dev: true 512 | optional: true 513 | 514 | /@esbuild/win32-x64@0.19.9: 515 | resolution: {integrity: sha512-oxoQgglOP7RH6iasDrhY+R/3cHrfwIDvRlT4CGChflq6twk8iENeVvMJjmvBb94Ik1Z+93iGO27err7w6l54GQ==} 516 | engines: {node: '>=12'} 517 | cpu: [x64] 518 | os: [win32] 519 | requiresBuild: true 520 | dev: true 521 | optional: true 522 | 523 | /@eslint-community/eslint-utils@4.4.0(eslint@8.55.0): 524 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 525 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 526 | peerDependencies: 527 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 528 | dependencies: 529 | eslint: 8.55.0 530 | eslint-visitor-keys: 3.4.3 531 | dev: true 532 | 533 | /@eslint-community/regexpp@4.10.0: 534 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} 535 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 536 | dev: true 537 | 538 | /@eslint/eslintrc@2.1.4: 539 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 540 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 541 | dependencies: 542 | ajv: 6.12.6 543 | debug: 4.3.4 544 | espree: 9.6.1 545 | globals: 13.23.0 546 | ignore: 5.3.0 547 | import-fresh: 3.3.0 548 | js-yaml: 4.1.0 549 | minimatch: 3.1.2 550 | strip-json-comments: 3.1.1 551 | transitivePeerDependencies: 552 | - supports-color 553 | dev: true 554 | 555 | /@eslint/js@8.55.0: 556 | resolution: {integrity: sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==} 557 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 558 | dev: true 559 | 560 | /@humanwhocodes/config-array@0.11.13: 561 | resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} 562 | engines: {node: '>=10.10.0'} 563 | dependencies: 564 | '@humanwhocodes/object-schema': 2.0.1 565 | debug: 4.3.4 566 | minimatch: 3.1.2 567 | transitivePeerDependencies: 568 | - supports-color 569 | dev: true 570 | 571 | /@humanwhocodes/module-importer@1.0.1: 572 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 573 | engines: {node: '>=12.22'} 574 | dev: true 575 | 576 | /@humanwhocodes/object-schema@2.0.1: 577 | resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} 578 | dev: true 579 | 580 | /@jridgewell/gen-mapping@0.3.3: 581 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 582 | engines: {node: '>=6.0.0'} 583 | dependencies: 584 | '@jridgewell/set-array': 1.1.2 585 | '@jridgewell/sourcemap-codec': 1.4.15 586 | '@jridgewell/trace-mapping': 0.3.20 587 | 588 | /@jridgewell/resolve-uri@3.1.1: 589 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} 590 | engines: {node: '>=6.0.0'} 591 | 592 | /@jridgewell/set-array@1.1.2: 593 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 594 | engines: {node: '>=6.0.0'} 595 | 596 | /@jridgewell/sourcemap-codec@1.4.15: 597 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 598 | 599 | /@jridgewell/trace-mapping@0.3.20: 600 | resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} 601 | dependencies: 602 | '@jridgewell/resolve-uri': 3.1.1 603 | '@jridgewell/sourcemap-codec': 1.4.15 604 | 605 | /@nodelib/fs.scandir@2.1.5: 606 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 607 | engines: {node: '>= 8'} 608 | dependencies: 609 | '@nodelib/fs.stat': 2.0.5 610 | run-parallel: 1.2.0 611 | dev: true 612 | 613 | /@nodelib/fs.stat@2.0.5: 614 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 615 | engines: {node: '>= 8'} 616 | dev: true 617 | 618 | /@nodelib/fs.walk@1.2.8: 619 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 620 | engines: {node: '>= 8'} 621 | dependencies: 622 | '@nodelib/fs.scandir': 2.1.5 623 | fastq: 1.15.0 624 | dev: true 625 | 626 | /@playwright/test@1.40.1: 627 | resolution: {integrity: sha512-EaaawMTOeEItCRvfmkI9v6rBkF1svM8wjl/YPRrg2N2Wmp+4qJYkWtJsbew1szfKKDm6fPLy4YAanBhIlf9dWw==} 628 | engines: {node: '>=16'} 629 | hasBin: true 630 | dependencies: 631 | playwright: 1.40.1 632 | dev: true 633 | 634 | /@rollup/rollup-android-arm-eabi@4.7.0: 635 | resolution: {integrity: sha512-rGku10pL1StFlFvXX5pEv88KdGW6DHUghsxyP/aRYb9eH+74jTGJ3U0S/rtlsQ4yYq1Hcc7AMkoJOb1xu29Fxw==} 636 | cpu: [arm] 637 | os: [android] 638 | requiresBuild: true 639 | dev: true 640 | optional: true 641 | 642 | /@rollup/rollup-android-arm64@4.7.0: 643 | resolution: {integrity: sha512-/EBw0cuJ/KVHiU2qyVYUhogXz7W2vXxBzeE9xtVIMC+RyitlY2vvaoysMUqASpkUtoNIHlnKTu/l7mXOPgnKOA==} 644 | cpu: [arm64] 645 | os: [android] 646 | requiresBuild: true 647 | dev: true 648 | optional: true 649 | 650 | /@rollup/rollup-darwin-arm64@4.7.0: 651 | resolution: {integrity: sha512-4VXG1bgvClJdbEYYjQ85RkOtwN8sqI3uCxH0HC5w9fKdqzRzgG39K7GAehATGS8jghA7zNoS5CjSKkDEqWmNZg==} 652 | cpu: [arm64] 653 | os: [darwin] 654 | requiresBuild: true 655 | dev: true 656 | optional: true 657 | 658 | /@rollup/rollup-darwin-x64@4.7.0: 659 | resolution: {integrity: sha512-/ImhO+T/RWJ96hUbxiCn2yWI0/MeQZV/aeukQQfhxiSXuZJfyqtdHPUPrc84jxCfXTxbJLmg4q+GBETeb61aNw==} 660 | cpu: [x64] 661 | os: [darwin] 662 | requiresBuild: true 663 | dev: true 664 | optional: true 665 | 666 | /@rollup/rollup-linux-arm-gnueabihf@4.7.0: 667 | resolution: {integrity: sha512-zhye8POvTyUXlKbfPBVqoHy3t43gIgffY+7qBFqFxNqVtltQLtWeHNAbrMnXiLIfYmxcoL/feuLDote2tx+Qbg==} 668 | cpu: [arm] 669 | os: [linux] 670 | requiresBuild: true 671 | dev: true 672 | optional: true 673 | 674 | /@rollup/rollup-linux-arm64-gnu@4.7.0: 675 | resolution: {integrity: sha512-RAdr3OJnUum6Vs83cQmKjxdTg31zJnLLTkjhcFt0auxM6jw00GD6IPFF42uasYPr/wGC6TRm7FsQiJyk0qIEfg==} 676 | cpu: [arm64] 677 | os: [linux] 678 | requiresBuild: true 679 | dev: true 680 | optional: true 681 | 682 | /@rollup/rollup-linux-arm64-musl@4.7.0: 683 | resolution: {integrity: sha512-nhWwYsiJwZGq7SyR3afS3EekEOsEAlrNMpPC4ZDKn5ooYSEjDLe9W/xGvoIV8/F/+HNIY6jY8lIdXjjxfxopXw==} 684 | cpu: [arm64] 685 | os: [linux] 686 | requiresBuild: true 687 | dev: true 688 | optional: true 689 | 690 | /@rollup/rollup-linux-riscv64-gnu@4.7.0: 691 | resolution: {integrity: sha512-rlfy5RnQG1aop1BL/gjdH42M2geMUyVQqd52GJVirqYc787A/XVvl3kQ5NG/43KXgOgE9HXgCaEH05kzQ+hLoA==} 692 | cpu: [riscv64] 693 | os: [linux] 694 | requiresBuild: true 695 | dev: true 696 | optional: true 697 | 698 | /@rollup/rollup-linux-x64-gnu@4.7.0: 699 | resolution: {integrity: sha512-cCkoGlGWfBobdDtiiypxf79q6k3/iRVGu1HVLbD92gWV5WZbmuWJCgRM4x2N6i7ljGn1cGytPn9ZAfS8UwF6vg==} 700 | cpu: [x64] 701 | os: [linux] 702 | requiresBuild: true 703 | dev: true 704 | optional: true 705 | 706 | /@rollup/rollup-linux-x64-musl@4.7.0: 707 | resolution: {integrity: sha512-R2oBf2p/Arc1m+tWmiWbpHBjEcJnHVnv6bsypu4tcKdrYTpDfl1UT9qTyfkIL1iiii5D4WHxUHCg5X0pzqmxFg==} 708 | cpu: [x64] 709 | os: [linux] 710 | requiresBuild: true 711 | dev: true 712 | optional: true 713 | 714 | /@rollup/rollup-win32-arm64-msvc@4.7.0: 715 | resolution: {integrity: sha512-CPtgaQL1aaPc80m8SCVEoxFGHxKYIt3zQYC3AccL/SqqiWXblo3pgToHuBwR8eCP2Toa+X1WmTR/QKFMykws7g==} 716 | cpu: [arm64] 717 | os: [win32] 718 | requiresBuild: true 719 | dev: true 720 | optional: true 721 | 722 | /@rollup/rollup-win32-ia32-msvc@4.7.0: 723 | resolution: {integrity: sha512-pmioUlttNh9GXF5x2CzNa7Z8kmRTyhEzzAC+2WOOapjewMbl+3tGuAnxbwc5JyG8Jsz2+hf/QD/n5VjimOZ63g==} 724 | cpu: [ia32] 725 | os: [win32] 726 | requiresBuild: true 727 | dev: true 728 | optional: true 729 | 730 | /@rollup/rollup-win32-x64-msvc@4.7.0: 731 | resolution: {integrity: sha512-SeZzC2QhhdBQUm3U0c8+c/P6UlRyBcLL2Xp5KX7z46WXZxzR8RJSIWL9wSUeBTgxog5LTPJuPj0WOT9lvrtP7Q==} 732 | cpu: [x64] 733 | os: [win32] 734 | requiresBuild: true 735 | dev: true 736 | optional: true 737 | 738 | /@swc/core-darwin-arm64@1.3.100: 739 | resolution: {integrity: sha512-XVWFsKe6ei+SsDbwmsuRkYck1SXRpO60Hioa4hoLwR8fxbA9eVp6enZtMxzVVMBi8ej5seZ4HZQeAWepbukiBw==} 740 | engines: {node: '>=10'} 741 | cpu: [arm64] 742 | os: [darwin] 743 | requiresBuild: true 744 | dev: true 745 | optional: true 746 | 747 | /@swc/core-darwin-x64@1.3.100: 748 | resolution: {integrity: sha512-KF/MXrnH1nakm1wbt4XV8FS7kvqD9TGmVxeJ0U4bbvxXMvzeYUurzg3AJUTXYmXDhH/VXOYJE5N5RkwZZPs5iA==} 749 | engines: {node: '>=10'} 750 | cpu: [x64] 751 | os: [darwin] 752 | requiresBuild: true 753 | dev: true 754 | optional: true 755 | 756 | /@swc/core-linux-arm64-gnu@1.3.100: 757 | resolution: {integrity: sha512-p8hikNnAEJrw5vHCtKiFT4hdlQxk1V7vqPmvUDgL/qe2menQDK/i12tbz7/3BEQ4UqUPnvwpmVn2d19RdEMNxw==} 758 | engines: {node: '>=10'} 759 | cpu: [arm64] 760 | os: [linux] 761 | requiresBuild: true 762 | dev: true 763 | optional: true 764 | 765 | /@swc/core-linux-arm64-musl@1.3.100: 766 | resolution: {integrity: sha512-BWx/0EeY89WC4q3AaIaBSGfQxkYxIlS3mX19dwy2FWJs/O+fMvF9oLk/CyJPOZzbp+1DjGeeoGFuDYpiNO91JA==} 767 | engines: {node: '>=10'} 768 | cpu: [arm64] 769 | os: [linux] 770 | requiresBuild: true 771 | dev: true 772 | optional: true 773 | 774 | /@swc/core-linux-x64-gnu@1.3.100: 775 | resolution: {integrity: sha512-XUdGu3dxAkjsahLYnm8WijPfKebo+jHgHphDxaW0ovI6sTdmEGFDew7QzKZRlbYL2jRkUuuKuDGvD6lO5frmhA==} 776 | engines: {node: '>=10'} 777 | cpu: [x64] 778 | os: [linux] 779 | requiresBuild: true 780 | dev: true 781 | optional: true 782 | 783 | /@swc/core-linux-x64-musl@1.3.100: 784 | resolution: {integrity: sha512-PhoXKf+f0OaNW/GCuXjJ0/KfK9EJX7z2gko+7nVnEA0p3aaPtbP6cq1Ubbl6CMoPL+Ci3gZ7nYumDqXNc3CtLQ==} 785 | engines: {node: '>=10'} 786 | cpu: [x64] 787 | os: [linux] 788 | requiresBuild: true 789 | dev: true 790 | optional: true 791 | 792 | /@swc/core-win32-arm64-msvc@1.3.100: 793 | resolution: {integrity: sha512-PwLADZN6F9cXn4Jw52FeP/MCLVHm8vwouZZSOoOScDtihjY495SSjdPnlosMaRSR4wJQssGwiD/4MbpgQPqbAw==} 794 | engines: {node: '>=10'} 795 | cpu: [arm64] 796 | os: [win32] 797 | requiresBuild: true 798 | dev: true 799 | optional: true 800 | 801 | /@swc/core-win32-ia32-msvc@1.3.100: 802 | resolution: {integrity: sha512-0f6nicKSLlDKlyPRl2JEmkpBV4aeDfRQg6n8mPqgL7bliZIcDahG0ej+HxgNjZfS3e0yjDxsNRa6sAqWU2Z60A==} 803 | engines: {node: '>=10'} 804 | cpu: [ia32] 805 | os: [win32] 806 | requiresBuild: true 807 | dev: true 808 | optional: true 809 | 810 | /@swc/core-win32-x64-msvc@1.3.100: 811 | resolution: {integrity: sha512-b7J0rPoMkRTa3XyUGt8PwCaIBuYWsL2DqbirrQKRESzgCvif5iNpqaM6kjIjI/5y5q1Ycv564CB51YDpiS8EtQ==} 812 | engines: {node: '>=10'} 813 | cpu: [x64] 814 | os: [win32] 815 | requiresBuild: true 816 | dev: true 817 | optional: true 818 | 819 | /@swc/core@1.3.100: 820 | resolution: {integrity: sha512-7dKgTyxJjlrMwFZYb1auj3Xq0D8ZBe+5oeIgfMlRU05doXZypYJe0LAk0yjj3WdbwYzpF+T1PLxwTWizI0pckw==} 821 | engines: {node: '>=10'} 822 | requiresBuild: true 823 | peerDependencies: 824 | '@swc/helpers': ^0.5.0 825 | peerDependenciesMeta: 826 | '@swc/helpers': 827 | optional: true 828 | dependencies: 829 | '@swc/counter': 0.1.2 830 | '@swc/types': 0.1.5 831 | optionalDependencies: 832 | '@swc/core-darwin-arm64': 1.3.100 833 | '@swc/core-darwin-x64': 1.3.100 834 | '@swc/core-linux-arm64-gnu': 1.3.100 835 | '@swc/core-linux-arm64-musl': 1.3.100 836 | '@swc/core-linux-x64-gnu': 1.3.100 837 | '@swc/core-linux-x64-musl': 1.3.100 838 | '@swc/core-win32-arm64-msvc': 1.3.100 839 | '@swc/core-win32-ia32-msvc': 1.3.100 840 | '@swc/core-win32-x64-msvc': 1.3.100 841 | dev: true 842 | 843 | /@swc/counter@0.1.2: 844 | resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} 845 | dev: true 846 | 847 | /@swc/types@0.1.5: 848 | resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} 849 | dev: true 850 | 851 | /@types/babel__core@7.20.5: 852 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 853 | dependencies: 854 | '@babel/parser': 7.23.5 855 | '@babel/types': 7.23.5 856 | '@types/babel__generator': 7.6.7 857 | '@types/babel__template': 7.4.4 858 | '@types/babel__traverse': 7.20.4 859 | dev: true 860 | 861 | /@types/babel__generator@7.6.7: 862 | resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==} 863 | dependencies: 864 | '@babel/types': 7.23.5 865 | dev: true 866 | 867 | /@types/babel__template@7.4.4: 868 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 869 | dependencies: 870 | '@babel/parser': 7.23.5 871 | '@babel/types': 7.23.5 872 | dev: true 873 | 874 | /@types/babel__traverse@7.20.4: 875 | resolution: {integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==} 876 | dependencies: 877 | '@babel/types': 7.23.5 878 | dev: true 879 | 880 | /@types/json-schema@7.0.15: 881 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 882 | dev: true 883 | 884 | /@types/node@20.10.4: 885 | resolution: {integrity: sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==} 886 | dependencies: 887 | undici-types: 5.26.5 888 | dev: true 889 | 890 | /@types/parse-json@4.0.2: 891 | resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} 892 | 893 | /@types/prop-types@15.7.11: 894 | resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} 895 | dev: true 896 | 897 | /@types/react-dom@18.2.17: 898 | resolution: {integrity: sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==} 899 | dependencies: 900 | '@types/react': 18.2.43 901 | dev: true 902 | 903 | /@types/react-relay@16.0.5: 904 | resolution: {integrity: sha512-iQjijrgYN3SeOxzr2O4bh4ez9xajj1KLwgakui5VKiw/f9r5IISMB7bMq/KdlNO5W3p8qyB09h24iIcO3jMz/g==} 905 | dependencies: 906 | '@types/react': 18.2.43 907 | '@types/relay-runtime': 14.1.19 908 | dev: true 909 | 910 | /@types/react@18.2.43: 911 | resolution: {integrity: sha512-nvOV01ZdBdd/KW6FahSbcNplt2jCJfyWdTos61RYHV+FVv5L/g9AOX1bmbVcWcLFL8+KHQfh1zVIQrud6ihyQA==} 912 | dependencies: 913 | '@types/prop-types': 15.7.11 914 | '@types/scheduler': 0.16.8 915 | csstype: 3.1.3 916 | dev: true 917 | 918 | /@types/relay-runtime@14.1.19: 919 | resolution: {integrity: sha512-j7JlgOGqpEJUjB4/xJ3tktb0eERj036fF1cdBFJ4ykzvANVCIPylJxxYK9Wi7V07qOmcGYB7DhI5R6k6LorZfQ==} 920 | dev: true 921 | 922 | /@types/scheduler@0.16.8: 923 | resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} 924 | dev: true 925 | 926 | /@types/semver@7.5.6: 927 | resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} 928 | dev: true 929 | 930 | /@typescript-eslint/eslint-plugin@6.13.2(@typescript-eslint/parser@6.13.2)(eslint@8.55.0)(typescript@5.3.3): 931 | resolution: {integrity: sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==} 932 | engines: {node: ^16.0.0 || >=18.0.0} 933 | peerDependencies: 934 | '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha 935 | eslint: ^7.0.0 || ^8.0.0 936 | typescript: '*' 937 | peerDependenciesMeta: 938 | typescript: 939 | optional: true 940 | dependencies: 941 | '@eslint-community/regexpp': 4.10.0 942 | '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.3) 943 | '@typescript-eslint/scope-manager': 6.13.2 944 | '@typescript-eslint/type-utils': 6.13.2(eslint@8.55.0)(typescript@5.3.3) 945 | '@typescript-eslint/utils': 6.13.2(eslint@8.55.0)(typescript@5.3.3) 946 | '@typescript-eslint/visitor-keys': 6.13.2 947 | debug: 4.3.4 948 | eslint: 8.55.0 949 | graphemer: 1.4.0 950 | ignore: 5.3.0 951 | natural-compare: 1.4.0 952 | semver: 7.5.4 953 | ts-api-utils: 1.0.3(typescript@5.3.3) 954 | typescript: 5.3.3 955 | transitivePeerDependencies: 956 | - supports-color 957 | dev: true 958 | 959 | /@typescript-eslint/parser@6.13.2(eslint@8.55.0)(typescript@5.3.3): 960 | resolution: {integrity: sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==} 961 | engines: {node: ^16.0.0 || >=18.0.0} 962 | peerDependencies: 963 | eslint: ^7.0.0 || ^8.0.0 964 | typescript: '*' 965 | peerDependenciesMeta: 966 | typescript: 967 | optional: true 968 | dependencies: 969 | '@typescript-eslint/scope-manager': 6.13.2 970 | '@typescript-eslint/types': 6.13.2 971 | '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) 972 | '@typescript-eslint/visitor-keys': 6.13.2 973 | debug: 4.3.4 974 | eslint: 8.55.0 975 | typescript: 5.3.3 976 | transitivePeerDependencies: 977 | - supports-color 978 | dev: true 979 | 980 | /@typescript-eslint/scope-manager@6.13.2: 981 | resolution: {integrity: sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==} 982 | engines: {node: ^16.0.0 || >=18.0.0} 983 | dependencies: 984 | '@typescript-eslint/types': 6.13.2 985 | '@typescript-eslint/visitor-keys': 6.13.2 986 | dev: true 987 | 988 | /@typescript-eslint/type-utils@6.13.2(eslint@8.55.0)(typescript@5.3.3): 989 | resolution: {integrity: sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==} 990 | engines: {node: ^16.0.0 || >=18.0.0} 991 | peerDependencies: 992 | eslint: ^7.0.0 || ^8.0.0 993 | typescript: '*' 994 | peerDependenciesMeta: 995 | typescript: 996 | optional: true 997 | dependencies: 998 | '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) 999 | '@typescript-eslint/utils': 6.13.2(eslint@8.55.0)(typescript@5.3.3) 1000 | debug: 4.3.4 1001 | eslint: 8.55.0 1002 | ts-api-utils: 1.0.3(typescript@5.3.3) 1003 | typescript: 5.3.3 1004 | transitivePeerDependencies: 1005 | - supports-color 1006 | dev: true 1007 | 1008 | /@typescript-eslint/types@6.13.2: 1009 | resolution: {integrity: sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==} 1010 | engines: {node: ^16.0.0 || >=18.0.0} 1011 | dev: true 1012 | 1013 | /@typescript-eslint/typescript-estree@6.13.2(typescript@5.3.3): 1014 | resolution: {integrity: sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==} 1015 | engines: {node: ^16.0.0 || >=18.0.0} 1016 | peerDependencies: 1017 | typescript: '*' 1018 | peerDependenciesMeta: 1019 | typescript: 1020 | optional: true 1021 | dependencies: 1022 | '@typescript-eslint/types': 6.13.2 1023 | '@typescript-eslint/visitor-keys': 6.13.2 1024 | debug: 4.3.4 1025 | globby: 11.1.0 1026 | is-glob: 4.0.3 1027 | semver: 7.5.4 1028 | ts-api-utils: 1.0.3(typescript@5.3.3) 1029 | typescript: 5.3.3 1030 | transitivePeerDependencies: 1031 | - supports-color 1032 | dev: true 1033 | 1034 | /@typescript-eslint/utils@6.13.2(eslint@8.55.0)(typescript@5.3.3): 1035 | resolution: {integrity: sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==} 1036 | engines: {node: ^16.0.0 || >=18.0.0} 1037 | peerDependencies: 1038 | eslint: ^7.0.0 || ^8.0.0 1039 | dependencies: 1040 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) 1041 | '@types/json-schema': 7.0.15 1042 | '@types/semver': 7.5.6 1043 | '@typescript-eslint/scope-manager': 6.13.2 1044 | '@typescript-eslint/types': 6.13.2 1045 | '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) 1046 | eslint: 8.55.0 1047 | semver: 7.5.4 1048 | transitivePeerDependencies: 1049 | - supports-color 1050 | - typescript 1051 | dev: true 1052 | 1053 | /@typescript-eslint/visitor-keys@6.13.2: 1054 | resolution: {integrity: sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==} 1055 | engines: {node: ^16.0.0 || >=18.0.0} 1056 | dependencies: 1057 | '@typescript-eslint/types': 6.13.2 1058 | eslint-visitor-keys: 3.4.3 1059 | dev: true 1060 | 1061 | /@ungap/structured-clone@1.2.0: 1062 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 1063 | dev: true 1064 | 1065 | /@vitejs/plugin-react@4.2.1(vite@5.0.7): 1066 | resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} 1067 | engines: {node: ^14.18.0 || >=16.0.0} 1068 | peerDependencies: 1069 | vite: ^4.2.0 || ^5.0.0 1070 | dependencies: 1071 | '@babel/core': 7.23.5 1072 | '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.5) 1073 | '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.5) 1074 | '@types/babel__core': 7.20.5 1075 | react-refresh: 0.14.0 1076 | vite: 5.0.7(@types/node@20.10.4) 1077 | transitivePeerDependencies: 1078 | - supports-color 1079 | dev: true 1080 | 1081 | /acorn-jsx@5.3.2(acorn@8.11.2): 1082 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 1083 | peerDependencies: 1084 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 1085 | dependencies: 1086 | acorn: 8.11.2 1087 | dev: true 1088 | 1089 | /acorn@8.11.2: 1090 | resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} 1091 | engines: {node: '>=0.4.0'} 1092 | hasBin: true 1093 | dev: true 1094 | 1095 | /ajv@6.12.6: 1096 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 1097 | dependencies: 1098 | fast-deep-equal: 3.1.3 1099 | fast-json-stable-stringify: 2.1.0 1100 | json-schema-traverse: 0.4.1 1101 | uri-js: 4.4.1 1102 | dev: true 1103 | 1104 | /ansi-regex@5.0.1: 1105 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1106 | engines: {node: '>=8'} 1107 | dev: true 1108 | 1109 | /ansi-styles@3.2.1: 1110 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1111 | engines: {node: '>=4'} 1112 | dependencies: 1113 | color-convert: 1.9.3 1114 | 1115 | /ansi-styles@4.3.0: 1116 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1117 | engines: {node: '>=8'} 1118 | dependencies: 1119 | color-convert: 2.0.1 1120 | dev: true 1121 | 1122 | /any-promise@1.3.0: 1123 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 1124 | dev: true 1125 | 1126 | /anymatch@3.1.3: 1127 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 1128 | engines: {node: '>= 8'} 1129 | dependencies: 1130 | normalize-path: 3.0.0 1131 | picomatch: 2.3.1 1132 | dev: true 1133 | 1134 | /argparse@1.0.10: 1135 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 1136 | dependencies: 1137 | sprintf-js: 1.0.3 1138 | 1139 | /argparse@2.0.1: 1140 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1141 | dev: true 1142 | 1143 | /array-union@2.1.0: 1144 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 1145 | engines: {node: '>=8'} 1146 | dev: true 1147 | 1148 | /asap@2.0.6: 1149 | resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} 1150 | dev: false 1151 | 1152 | /babel-plugin-macros@2.8.0: 1153 | resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} 1154 | dependencies: 1155 | '@babel/runtime': 7.23.5 1156 | cosmiconfig: 6.0.0 1157 | resolve: 1.22.8 1158 | 1159 | /babel-plugin-relay@16.0.0: 1160 | resolution: {integrity: sha512-IF6wciLao6wmmc4+deLKHwoOpVU5YzG46xZ70UVafliD+cD46iP9qyXkMcOycNcPsXyvqB63/hz3KrH1ygwHFg==} 1161 | dependencies: 1162 | babel-plugin-macros: 2.8.0 1163 | cosmiconfig: 5.2.1 1164 | graphql: 15.3.0 1165 | 1166 | /balanced-match@1.0.2: 1167 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1168 | dev: true 1169 | 1170 | /binary-extensions@2.2.0: 1171 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 1172 | engines: {node: '>=8'} 1173 | dev: true 1174 | 1175 | /brace-expansion@1.1.11: 1176 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1177 | dependencies: 1178 | balanced-match: 1.0.2 1179 | concat-map: 0.0.1 1180 | dev: true 1181 | 1182 | /braces@3.0.2: 1183 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1184 | engines: {node: '>=8'} 1185 | dependencies: 1186 | fill-range: 7.0.1 1187 | dev: true 1188 | 1189 | /browserslist@4.22.2: 1190 | resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} 1191 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1192 | hasBin: true 1193 | dependencies: 1194 | caniuse-lite: 1.0.30001566 1195 | electron-to-chromium: 1.4.609 1196 | node-releases: 2.0.14 1197 | update-browserslist-db: 1.0.13(browserslist@4.22.2) 1198 | 1199 | /bundle-require@4.0.2(esbuild@0.19.9): 1200 | resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} 1201 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1202 | peerDependencies: 1203 | esbuild: '>=0.17' 1204 | dependencies: 1205 | esbuild: 0.19.9 1206 | load-tsconfig: 0.2.5 1207 | dev: true 1208 | 1209 | /cac@6.7.14: 1210 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 1211 | engines: {node: '>=8'} 1212 | dev: true 1213 | 1214 | /caller-callsite@2.0.0: 1215 | resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} 1216 | engines: {node: '>=4'} 1217 | dependencies: 1218 | callsites: 2.0.0 1219 | 1220 | /caller-path@2.0.0: 1221 | resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} 1222 | engines: {node: '>=4'} 1223 | dependencies: 1224 | caller-callsite: 2.0.0 1225 | 1226 | /callsites@2.0.0: 1227 | resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} 1228 | engines: {node: '>=4'} 1229 | 1230 | /callsites@3.1.0: 1231 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1232 | engines: {node: '>=6'} 1233 | 1234 | /caniuse-lite@1.0.30001566: 1235 | resolution: {integrity: sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==} 1236 | 1237 | /chalk@2.4.2: 1238 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1239 | engines: {node: '>=4'} 1240 | dependencies: 1241 | ansi-styles: 3.2.1 1242 | escape-string-regexp: 1.0.5 1243 | supports-color: 5.5.0 1244 | 1245 | /chalk@4.1.2: 1246 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1247 | engines: {node: '>=10'} 1248 | dependencies: 1249 | ansi-styles: 4.3.0 1250 | supports-color: 7.2.0 1251 | dev: true 1252 | 1253 | /chokidar@3.5.3: 1254 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 1255 | engines: {node: '>= 8.10.0'} 1256 | dependencies: 1257 | anymatch: 3.1.3 1258 | braces: 3.0.2 1259 | glob-parent: 5.1.2 1260 | is-binary-path: 2.1.0 1261 | is-glob: 4.0.3 1262 | normalize-path: 3.0.0 1263 | readdirp: 3.6.0 1264 | optionalDependencies: 1265 | fsevents: 2.3.3 1266 | dev: true 1267 | 1268 | /cliui@8.0.1: 1269 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1270 | engines: {node: '>=12'} 1271 | dependencies: 1272 | string-width: 4.2.3 1273 | strip-ansi: 6.0.1 1274 | wrap-ansi: 7.0.0 1275 | dev: true 1276 | 1277 | /color-convert@1.9.3: 1278 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1279 | dependencies: 1280 | color-name: 1.1.3 1281 | 1282 | /color-convert@2.0.1: 1283 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1284 | engines: {node: '>=7.0.0'} 1285 | dependencies: 1286 | color-name: 1.1.4 1287 | dev: true 1288 | 1289 | /color-name@1.1.3: 1290 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1291 | 1292 | /color-name@1.1.4: 1293 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1294 | dev: true 1295 | 1296 | /commander@4.1.1: 1297 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 1298 | engines: {node: '>= 6'} 1299 | dev: true 1300 | 1301 | /concat-map@0.0.1: 1302 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1303 | dev: true 1304 | 1305 | /concurrently@8.2.2: 1306 | resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==} 1307 | engines: {node: ^14.13.0 || >=16.0.0} 1308 | hasBin: true 1309 | dependencies: 1310 | chalk: 4.1.2 1311 | date-fns: 2.30.0 1312 | lodash: 4.17.21 1313 | rxjs: 7.8.1 1314 | shell-quote: 1.8.1 1315 | spawn-command: 0.0.2 1316 | supports-color: 8.1.1 1317 | tree-kill: 1.2.2 1318 | yargs: 17.7.2 1319 | dev: true 1320 | 1321 | /convert-source-map@2.0.0: 1322 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1323 | 1324 | /cosmiconfig@5.2.1: 1325 | resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} 1326 | engines: {node: '>=4'} 1327 | dependencies: 1328 | import-fresh: 2.0.0 1329 | is-directory: 0.3.1 1330 | js-yaml: 3.14.1 1331 | parse-json: 4.0.0 1332 | 1333 | /cosmiconfig@6.0.0: 1334 | resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} 1335 | engines: {node: '>=8'} 1336 | dependencies: 1337 | '@types/parse-json': 4.0.2 1338 | import-fresh: 3.3.0 1339 | parse-json: 5.2.0 1340 | path-type: 4.0.0 1341 | yaml: 1.10.2 1342 | 1343 | /cross-fetch@3.1.8: 1344 | resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} 1345 | dependencies: 1346 | node-fetch: 2.7.0 1347 | transitivePeerDependencies: 1348 | - encoding 1349 | dev: false 1350 | 1351 | /cross-spawn@7.0.3: 1352 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1353 | engines: {node: '>= 8'} 1354 | dependencies: 1355 | path-key: 3.1.1 1356 | shebang-command: 2.0.0 1357 | which: 2.0.2 1358 | dev: true 1359 | 1360 | /csstype@3.1.3: 1361 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 1362 | dev: true 1363 | 1364 | /date-fns@2.30.0: 1365 | resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} 1366 | engines: {node: '>=0.11'} 1367 | dependencies: 1368 | '@babel/runtime': 7.23.5 1369 | dev: true 1370 | 1371 | /debug@4.3.4: 1372 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1373 | engines: {node: '>=6.0'} 1374 | peerDependencies: 1375 | supports-color: '*' 1376 | peerDependenciesMeta: 1377 | supports-color: 1378 | optional: true 1379 | dependencies: 1380 | ms: 2.1.2 1381 | 1382 | /deep-is@0.1.4: 1383 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1384 | dev: true 1385 | 1386 | /dir-glob@3.0.1: 1387 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1388 | engines: {node: '>=8'} 1389 | dependencies: 1390 | path-type: 4.0.0 1391 | dev: true 1392 | 1393 | /doctrine@3.0.0: 1394 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1395 | engines: {node: '>=6.0.0'} 1396 | dependencies: 1397 | esutils: 2.0.3 1398 | dev: true 1399 | 1400 | /electron-to-chromium@1.4.609: 1401 | resolution: {integrity: sha512-ihiCP7PJmjoGNuLpl7TjNA8pCQWu09vGyjlPYw1Rqww4gvNuCcmvl+44G+2QyJ6S2K4o+wbTS++Xz0YN8Q9ERw==} 1402 | 1403 | /emoji-regex@8.0.0: 1404 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1405 | dev: true 1406 | 1407 | /error-ex@1.3.2: 1408 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1409 | dependencies: 1410 | is-arrayish: 0.2.1 1411 | 1412 | /esbuild@0.19.9: 1413 | resolution: {integrity: sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==} 1414 | engines: {node: '>=12'} 1415 | hasBin: true 1416 | requiresBuild: true 1417 | optionalDependencies: 1418 | '@esbuild/android-arm': 0.19.9 1419 | '@esbuild/android-arm64': 0.19.9 1420 | '@esbuild/android-x64': 0.19.9 1421 | '@esbuild/darwin-arm64': 0.19.9 1422 | '@esbuild/darwin-x64': 0.19.9 1423 | '@esbuild/freebsd-arm64': 0.19.9 1424 | '@esbuild/freebsd-x64': 0.19.9 1425 | '@esbuild/linux-arm': 0.19.9 1426 | '@esbuild/linux-arm64': 0.19.9 1427 | '@esbuild/linux-ia32': 0.19.9 1428 | '@esbuild/linux-loong64': 0.19.9 1429 | '@esbuild/linux-mips64el': 0.19.9 1430 | '@esbuild/linux-ppc64': 0.19.9 1431 | '@esbuild/linux-riscv64': 0.19.9 1432 | '@esbuild/linux-s390x': 0.19.9 1433 | '@esbuild/linux-x64': 0.19.9 1434 | '@esbuild/netbsd-x64': 0.19.9 1435 | '@esbuild/openbsd-x64': 0.19.9 1436 | '@esbuild/sunos-x64': 0.19.9 1437 | '@esbuild/win32-arm64': 0.19.9 1438 | '@esbuild/win32-ia32': 0.19.9 1439 | '@esbuild/win32-x64': 0.19.9 1440 | dev: true 1441 | 1442 | /escalade@3.1.1: 1443 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1444 | engines: {node: '>=6'} 1445 | 1446 | /escape-string-regexp@1.0.5: 1447 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1448 | engines: {node: '>=0.8.0'} 1449 | 1450 | /escape-string-regexp@4.0.0: 1451 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1452 | engines: {node: '>=10'} 1453 | dev: true 1454 | 1455 | /eslint-config-prettier@9.1.0(eslint@8.55.0): 1456 | resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} 1457 | hasBin: true 1458 | peerDependencies: 1459 | eslint: '>=7.0.0' 1460 | dependencies: 1461 | eslint: 8.55.0 1462 | dev: true 1463 | 1464 | /eslint-scope@7.2.2: 1465 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1466 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1467 | dependencies: 1468 | esrecurse: 4.3.0 1469 | estraverse: 5.3.0 1470 | dev: true 1471 | 1472 | /eslint-visitor-keys@3.4.3: 1473 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1474 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1475 | dev: true 1476 | 1477 | /eslint@8.55.0: 1478 | resolution: {integrity: sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==} 1479 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1480 | hasBin: true 1481 | dependencies: 1482 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) 1483 | '@eslint-community/regexpp': 4.10.0 1484 | '@eslint/eslintrc': 2.1.4 1485 | '@eslint/js': 8.55.0 1486 | '@humanwhocodes/config-array': 0.11.13 1487 | '@humanwhocodes/module-importer': 1.0.1 1488 | '@nodelib/fs.walk': 1.2.8 1489 | '@ungap/structured-clone': 1.2.0 1490 | ajv: 6.12.6 1491 | chalk: 4.1.2 1492 | cross-spawn: 7.0.3 1493 | debug: 4.3.4 1494 | doctrine: 3.0.0 1495 | escape-string-regexp: 4.0.0 1496 | eslint-scope: 7.2.2 1497 | eslint-visitor-keys: 3.4.3 1498 | espree: 9.6.1 1499 | esquery: 1.5.0 1500 | esutils: 2.0.3 1501 | fast-deep-equal: 3.1.3 1502 | file-entry-cache: 6.0.1 1503 | find-up: 5.0.0 1504 | glob-parent: 6.0.2 1505 | globals: 13.23.0 1506 | graphemer: 1.4.0 1507 | ignore: 5.3.0 1508 | imurmurhash: 0.1.4 1509 | is-glob: 4.0.3 1510 | is-path-inside: 3.0.3 1511 | js-yaml: 4.1.0 1512 | json-stable-stringify-without-jsonify: 1.0.1 1513 | levn: 0.4.1 1514 | lodash.merge: 4.6.2 1515 | minimatch: 3.1.2 1516 | natural-compare: 1.4.0 1517 | optionator: 0.9.3 1518 | strip-ansi: 6.0.1 1519 | text-table: 0.2.0 1520 | transitivePeerDependencies: 1521 | - supports-color 1522 | dev: true 1523 | 1524 | /espree@9.6.1: 1525 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1526 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1527 | dependencies: 1528 | acorn: 8.11.2 1529 | acorn-jsx: 5.3.2(acorn@8.11.2) 1530 | eslint-visitor-keys: 3.4.3 1531 | dev: true 1532 | 1533 | /esprima@4.0.1: 1534 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1535 | engines: {node: '>=4'} 1536 | hasBin: true 1537 | 1538 | /esquery@1.5.0: 1539 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1540 | engines: {node: '>=0.10'} 1541 | dependencies: 1542 | estraverse: 5.3.0 1543 | dev: true 1544 | 1545 | /esrecurse@4.3.0: 1546 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1547 | engines: {node: '>=4.0'} 1548 | dependencies: 1549 | estraverse: 5.3.0 1550 | dev: true 1551 | 1552 | /estraverse@5.3.0: 1553 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1554 | engines: {node: '>=4.0'} 1555 | dev: true 1556 | 1557 | /esutils@2.0.3: 1558 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1559 | engines: {node: '>=0.10.0'} 1560 | dev: true 1561 | 1562 | /execa@5.1.1: 1563 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1564 | engines: {node: '>=10'} 1565 | dependencies: 1566 | cross-spawn: 7.0.3 1567 | get-stream: 6.0.1 1568 | human-signals: 2.1.0 1569 | is-stream: 2.0.1 1570 | merge-stream: 2.0.0 1571 | npm-run-path: 4.0.1 1572 | onetime: 5.1.2 1573 | signal-exit: 3.0.7 1574 | strip-final-newline: 2.0.0 1575 | dev: true 1576 | 1577 | /fast-deep-equal@3.1.3: 1578 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1579 | dev: true 1580 | 1581 | /fast-glob@3.3.2: 1582 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1583 | engines: {node: '>=8.6.0'} 1584 | dependencies: 1585 | '@nodelib/fs.stat': 2.0.5 1586 | '@nodelib/fs.walk': 1.2.8 1587 | glob-parent: 5.1.2 1588 | merge2: 1.4.1 1589 | micromatch: 4.0.5 1590 | dev: true 1591 | 1592 | /fast-json-stable-stringify@2.1.0: 1593 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1594 | dev: true 1595 | 1596 | /fast-levenshtein@2.0.6: 1597 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1598 | dev: true 1599 | 1600 | /fastq@1.15.0: 1601 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1602 | dependencies: 1603 | reusify: 1.0.4 1604 | dev: true 1605 | 1606 | /fbjs-css-vars@1.0.2: 1607 | resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} 1608 | dev: false 1609 | 1610 | /fbjs@3.0.5: 1611 | resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} 1612 | dependencies: 1613 | cross-fetch: 3.1.8 1614 | fbjs-css-vars: 1.0.2 1615 | loose-envify: 1.4.0 1616 | object-assign: 4.1.1 1617 | promise: 7.3.1 1618 | setimmediate: 1.0.5 1619 | ua-parser-js: 1.0.37 1620 | transitivePeerDependencies: 1621 | - encoding 1622 | dev: false 1623 | 1624 | /file-entry-cache@6.0.1: 1625 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1626 | engines: {node: ^10.12.0 || >=12.0.0} 1627 | dependencies: 1628 | flat-cache: 3.2.0 1629 | dev: true 1630 | 1631 | /fill-range@7.0.1: 1632 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1633 | engines: {node: '>=8'} 1634 | dependencies: 1635 | to-regex-range: 5.0.1 1636 | dev: true 1637 | 1638 | /find-up@5.0.0: 1639 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1640 | engines: {node: '>=10'} 1641 | dependencies: 1642 | locate-path: 6.0.0 1643 | path-exists: 4.0.0 1644 | dev: true 1645 | 1646 | /flat-cache@3.2.0: 1647 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 1648 | engines: {node: ^10.12.0 || >=12.0.0} 1649 | dependencies: 1650 | flatted: 3.2.9 1651 | keyv: 4.5.4 1652 | rimraf: 3.0.2 1653 | dev: true 1654 | 1655 | /flatted@3.2.9: 1656 | resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} 1657 | dev: true 1658 | 1659 | /fs.realpath@1.0.0: 1660 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1661 | dev: true 1662 | 1663 | /fsevents@2.3.2: 1664 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1665 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1666 | os: [darwin] 1667 | requiresBuild: true 1668 | dev: true 1669 | optional: true 1670 | 1671 | /fsevents@2.3.3: 1672 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1673 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1674 | os: [darwin] 1675 | requiresBuild: true 1676 | dev: true 1677 | optional: true 1678 | 1679 | /function-bind@1.1.2: 1680 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1681 | 1682 | /gensync@1.0.0-beta.2: 1683 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1684 | engines: {node: '>=6.9.0'} 1685 | 1686 | /get-caller-file@2.0.5: 1687 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1688 | engines: {node: 6.* || 8.* || >= 10.*} 1689 | dev: true 1690 | 1691 | /get-stream@6.0.1: 1692 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1693 | engines: {node: '>=10'} 1694 | dev: true 1695 | 1696 | /glob-parent@5.1.2: 1697 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1698 | engines: {node: '>= 6'} 1699 | dependencies: 1700 | is-glob: 4.0.3 1701 | dev: true 1702 | 1703 | /glob-parent@6.0.2: 1704 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1705 | engines: {node: '>=10.13.0'} 1706 | dependencies: 1707 | is-glob: 4.0.3 1708 | dev: true 1709 | 1710 | /glob@7.1.6: 1711 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 1712 | dependencies: 1713 | fs.realpath: 1.0.0 1714 | inflight: 1.0.6 1715 | inherits: 2.0.4 1716 | minimatch: 3.1.2 1717 | once: 1.4.0 1718 | path-is-absolute: 1.0.1 1719 | dev: true 1720 | 1721 | /glob@7.2.3: 1722 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1723 | dependencies: 1724 | fs.realpath: 1.0.0 1725 | inflight: 1.0.6 1726 | inherits: 2.0.4 1727 | minimatch: 3.1.2 1728 | once: 1.4.0 1729 | path-is-absolute: 1.0.1 1730 | dev: true 1731 | 1732 | /globals@11.12.0: 1733 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1734 | engines: {node: '>=4'} 1735 | 1736 | /globals@13.23.0: 1737 | resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} 1738 | engines: {node: '>=8'} 1739 | dependencies: 1740 | type-fest: 0.20.2 1741 | dev: true 1742 | 1743 | /globby@11.1.0: 1744 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1745 | engines: {node: '>=10'} 1746 | dependencies: 1747 | array-union: 2.1.0 1748 | dir-glob: 3.0.1 1749 | fast-glob: 3.3.2 1750 | ignore: 5.3.0 1751 | merge2: 1.4.1 1752 | slash: 3.0.0 1753 | dev: true 1754 | 1755 | /graphemer@1.4.0: 1756 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1757 | dev: true 1758 | 1759 | /graphql@15.3.0: 1760 | resolution: {integrity: sha512-GTCJtzJmkFLWRfFJuoo9RWWa/FfamUHgiFosxi/X1Ani4AVWbeyBenZTNX6dM+7WSbbFfTo/25eh0LLkwHMw2w==} 1761 | engines: {node: '>= 10.x'} 1762 | 1763 | /has-flag@3.0.0: 1764 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1765 | engines: {node: '>=4'} 1766 | 1767 | /has-flag@4.0.0: 1768 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1769 | engines: {node: '>=8'} 1770 | dev: true 1771 | 1772 | /hasown@2.0.0: 1773 | resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} 1774 | engines: {node: '>= 0.4'} 1775 | dependencies: 1776 | function-bind: 1.1.2 1777 | 1778 | /human-signals@2.1.0: 1779 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1780 | engines: {node: '>=10.17.0'} 1781 | dev: true 1782 | 1783 | /husky@8.0.3: 1784 | resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} 1785 | engines: {node: '>=14'} 1786 | hasBin: true 1787 | dev: true 1788 | 1789 | /ignore@5.3.0: 1790 | resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} 1791 | engines: {node: '>= 4'} 1792 | dev: true 1793 | 1794 | /import-fresh@2.0.0: 1795 | resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} 1796 | engines: {node: '>=4'} 1797 | dependencies: 1798 | caller-path: 2.0.0 1799 | resolve-from: 3.0.0 1800 | 1801 | /import-fresh@3.3.0: 1802 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1803 | engines: {node: '>=6'} 1804 | dependencies: 1805 | parent-module: 1.0.1 1806 | resolve-from: 4.0.0 1807 | 1808 | /imurmurhash@0.1.4: 1809 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1810 | engines: {node: '>=0.8.19'} 1811 | dev: true 1812 | 1813 | /inflight@1.0.6: 1814 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1815 | dependencies: 1816 | once: 1.4.0 1817 | wrappy: 1.0.2 1818 | dev: true 1819 | 1820 | /inherits@2.0.4: 1821 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1822 | dev: true 1823 | 1824 | /invariant@2.2.4: 1825 | resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} 1826 | dependencies: 1827 | loose-envify: 1.4.0 1828 | dev: false 1829 | 1830 | /is-arrayish@0.2.1: 1831 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1832 | 1833 | /is-binary-path@2.1.0: 1834 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1835 | engines: {node: '>=8'} 1836 | dependencies: 1837 | binary-extensions: 2.2.0 1838 | dev: true 1839 | 1840 | /is-core-module@2.13.1: 1841 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} 1842 | dependencies: 1843 | hasown: 2.0.0 1844 | 1845 | /is-directory@0.3.1: 1846 | resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} 1847 | engines: {node: '>=0.10.0'} 1848 | 1849 | /is-extglob@2.1.1: 1850 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1851 | engines: {node: '>=0.10.0'} 1852 | dev: true 1853 | 1854 | /is-fullwidth-code-point@3.0.0: 1855 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1856 | engines: {node: '>=8'} 1857 | dev: true 1858 | 1859 | /is-glob@4.0.3: 1860 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1861 | engines: {node: '>=0.10.0'} 1862 | dependencies: 1863 | is-extglob: 2.1.1 1864 | dev: true 1865 | 1866 | /is-number@7.0.0: 1867 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1868 | engines: {node: '>=0.12.0'} 1869 | dev: true 1870 | 1871 | /is-path-inside@3.0.3: 1872 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1873 | engines: {node: '>=8'} 1874 | dev: true 1875 | 1876 | /is-stream@2.0.1: 1877 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1878 | engines: {node: '>=8'} 1879 | dev: true 1880 | 1881 | /isexe@2.0.0: 1882 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1883 | dev: true 1884 | 1885 | /joycon@3.1.1: 1886 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1887 | engines: {node: '>=10'} 1888 | dev: true 1889 | 1890 | /js-tokens@4.0.0: 1891 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1892 | 1893 | /js-yaml@3.14.1: 1894 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1895 | hasBin: true 1896 | dependencies: 1897 | argparse: 1.0.10 1898 | esprima: 4.0.1 1899 | 1900 | /js-yaml@4.1.0: 1901 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1902 | hasBin: true 1903 | dependencies: 1904 | argparse: 2.0.1 1905 | dev: true 1906 | 1907 | /jsesc@2.5.2: 1908 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1909 | engines: {node: '>=4'} 1910 | hasBin: true 1911 | 1912 | /json-buffer@3.0.1: 1913 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1914 | dev: true 1915 | 1916 | /json-parse-better-errors@1.0.2: 1917 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 1918 | 1919 | /json-parse-even-better-errors@2.3.1: 1920 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1921 | 1922 | /json-schema-traverse@0.4.1: 1923 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1924 | dev: true 1925 | 1926 | /json-stable-stringify-without-jsonify@1.0.1: 1927 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1928 | dev: true 1929 | 1930 | /json5@2.2.3: 1931 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1932 | engines: {node: '>=6'} 1933 | hasBin: true 1934 | 1935 | /keyv@4.5.4: 1936 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1937 | dependencies: 1938 | json-buffer: 3.0.1 1939 | dev: true 1940 | 1941 | /levn@0.4.1: 1942 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1943 | engines: {node: '>= 0.8.0'} 1944 | dependencies: 1945 | prelude-ls: 1.2.1 1946 | type-check: 0.4.0 1947 | dev: true 1948 | 1949 | /lilconfig@3.0.0: 1950 | resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} 1951 | engines: {node: '>=14'} 1952 | dev: true 1953 | 1954 | /lines-and-columns@1.2.4: 1955 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1956 | 1957 | /load-tsconfig@0.2.5: 1958 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 1959 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1960 | dev: true 1961 | 1962 | /locate-path@6.0.0: 1963 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1964 | engines: {node: '>=10'} 1965 | dependencies: 1966 | p-locate: 5.0.0 1967 | dev: true 1968 | 1969 | /lodash.merge@4.6.2: 1970 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1971 | dev: true 1972 | 1973 | /lodash.sortby@4.7.0: 1974 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 1975 | dev: true 1976 | 1977 | /lodash@4.17.21: 1978 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1979 | dev: true 1980 | 1981 | /loose-envify@1.4.0: 1982 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1983 | hasBin: true 1984 | dependencies: 1985 | js-tokens: 4.0.0 1986 | dev: false 1987 | 1988 | /lru-cache@5.1.1: 1989 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1990 | dependencies: 1991 | yallist: 3.1.1 1992 | 1993 | /lru-cache@6.0.0: 1994 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1995 | engines: {node: '>=10'} 1996 | dependencies: 1997 | yallist: 4.0.0 1998 | dev: true 1999 | 2000 | /merge-stream@2.0.0: 2001 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2002 | dev: true 2003 | 2004 | /merge2@1.4.1: 2005 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2006 | engines: {node: '>= 8'} 2007 | dev: true 2008 | 2009 | /micromatch@4.0.5: 2010 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2011 | engines: {node: '>=8.6'} 2012 | dependencies: 2013 | braces: 3.0.2 2014 | picomatch: 2.3.1 2015 | dev: true 2016 | 2017 | /mimic-fn@2.1.0: 2018 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2019 | engines: {node: '>=6'} 2020 | dev: true 2021 | 2022 | /minimatch@3.1.2: 2023 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2024 | dependencies: 2025 | brace-expansion: 1.1.11 2026 | dev: true 2027 | 2028 | /ms@2.1.2: 2029 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2030 | 2031 | /mz@2.7.0: 2032 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 2033 | dependencies: 2034 | any-promise: 1.3.0 2035 | object-assign: 4.1.1 2036 | thenify-all: 1.6.0 2037 | dev: true 2038 | 2039 | /nanoid@3.3.7: 2040 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 2041 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2042 | hasBin: true 2043 | dev: true 2044 | 2045 | /natural-compare@1.4.0: 2046 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2047 | dev: true 2048 | 2049 | /node-fetch@2.7.0: 2050 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 2051 | engines: {node: 4.x || >=6.0.0} 2052 | peerDependencies: 2053 | encoding: ^0.1.0 2054 | peerDependenciesMeta: 2055 | encoding: 2056 | optional: true 2057 | dependencies: 2058 | whatwg-url: 5.0.0 2059 | dev: false 2060 | 2061 | /node-releases@2.0.14: 2062 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 2063 | 2064 | /normalize-path@3.0.0: 2065 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2066 | engines: {node: '>=0.10.0'} 2067 | dev: true 2068 | 2069 | /npm-run-path@4.0.1: 2070 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 2071 | engines: {node: '>=8'} 2072 | dependencies: 2073 | path-key: 3.1.1 2074 | dev: true 2075 | 2076 | /nullthrows@1.1.1: 2077 | resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} 2078 | dev: false 2079 | 2080 | /object-assign@4.1.1: 2081 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2082 | engines: {node: '>=0.10.0'} 2083 | 2084 | /once@1.4.0: 2085 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2086 | dependencies: 2087 | wrappy: 1.0.2 2088 | dev: true 2089 | 2090 | /onetime@5.1.2: 2091 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2092 | engines: {node: '>=6'} 2093 | dependencies: 2094 | mimic-fn: 2.1.0 2095 | dev: true 2096 | 2097 | /optionator@0.9.3: 2098 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} 2099 | engines: {node: '>= 0.8.0'} 2100 | dependencies: 2101 | '@aashutoshrathi/word-wrap': 1.2.6 2102 | deep-is: 0.1.4 2103 | fast-levenshtein: 2.0.6 2104 | levn: 0.4.1 2105 | prelude-ls: 1.2.1 2106 | type-check: 0.4.0 2107 | dev: true 2108 | 2109 | /p-limit@3.1.0: 2110 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2111 | engines: {node: '>=10'} 2112 | dependencies: 2113 | yocto-queue: 0.1.0 2114 | dev: true 2115 | 2116 | /p-locate@5.0.0: 2117 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2118 | engines: {node: '>=10'} 2119 | dependencies: 2120 | p-limit: 3.1.0 2121 | dev: true 2122 | 2123 | /parent-module@1.0.1: 2124 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2125 | engines: {node: '>=6'} 2126 | dependencies: 2127 | callsites: 3.1.0 2128 | 2129 | /parse-json@4.0.0: 2130 | resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 2131 | engines: {node: '>=4'} 2132 | dependencies: 2133 | error-ex: 1.3.2 2134 | json-parse-better-errors: 1.0.2 2135 | 2136 | /parse-json@5.2.0: 2137 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2138 | engines: {node: '>=8'} 2139 | dependencies: 2140 | '@babel/code-frame': 7.23.5 2141 | error-ex: 1.3.2 2142 | json-parse-even-better-errors: 2.3.1 2143 | lines-and-columns: 1.2.4 2144 | 2145 | /path-exists@4.0.0: 2146 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2147 | engines: {node: '>=8'} 2148 | dev: true 2149 | 2150 | /path-is-absolute@1.0.1: 2151 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2152 | engines: {node: '>=0.10.0'} 2153 | dev: true 2154 | 2155 | /path-key@3.1.1: 2156 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2157 | engines: {node: '>=8'} 2158 | dev: true 2159 | 2160 | /path-parse@1.0.7: 2161 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2162 | 2163 | /path-type@4.0.0: 2164 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2165 | engines: {node: '>=8'} 2166 | 2167 | /picocolors@1.0.0: 2168 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2169 | 2170 | /picomatch@2.3.1: 2171 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2172 | engines: {node: '>=8.6'} 2173 | dev: true 2174 | 2175 | /pirates@4.0.6: 2176 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 2177 | engines: {node: '>= 6'} 2178 | dev: true 2179 | 2180 | /playwright-core@1.40.1: 2181 | resolution: {integrity: sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==} 2182 | engines: {node: '>=16'} 2183 | hasBin: true 2184 | dev: true 2185 | 2186 | /playwright@1.40.1: 2187 | resolution: {integrity: sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==} 2188 | engines: {node: '>=16'} 2189 | hasBin: true 2190 | dependencies: 2191 | playwright-core: 1.40.1 2192 | optionalDependencies: 2193 | fsevents: 2.3.2 2194 | dev: true 2195 | 2196 | /postcss-load-config@4.0.2: 2197 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 2198 | engines: {node: '>= 14'} 2199 | peerDependencies: 2200 | postcss: '>=8.0.9' 2201 | ts-node: '>=9.0.0' 2202 | peerDependenciesMeta: 2203 | postcss: 2204 | optional: true 2205 | ts-node: 2206 | optional: true 2207 | dependencies: 2208 | lilconfig: 3.0.0 2209 | yaml: 2.3.4 2210 | dev: true 2211 | 2212 | /postcss@8.4.32: 2213 | resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} 2214 | engines: {node: ^10 || ^12 || >=14} 2215 | dependencies: 2216 | nanoid: 3.3.7 2217 | picocolors: 1.0.0 2218 | source-map-js: 1.0.2 2219 | dev: true 2220 | 2221 | /prelude-ls@1.2.1: 2222 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2223 | engines: {node: '>= 0.8.0'} 2224 | dev: true 2225 | 2226 | /prettier@3.1.0: 2227 | resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} 2228 | engines: {node: '>=14'} 2229 | hasBin: true 2230 | dev: true 2231 | 2232 | /promise@7.3.1: 2233 | resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} 2234 | dependencies: 2235 | asap: 2.0.6 2236 | dev: false 2237 | 2238 | /punycode@2.3.1: 2239 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 2240 | engines: {node: '>=6'} 2241 | dev: true 2242 | 2243 | /queue-microtask@1.2.3: 2244 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2245 | dev: true 2246 | 2247 | /react-dom@18.2.0(react@18.2.0): 2248 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} 2249 | peerDependencies: 2250 | react: ^18.2.0 2251 | dependencies: 2252 | loose-envify: 1.4.0 2253 | react: 18.2.0 2254 | scheduler: 0.23.0 2255 | dev: false 2256 | 2257 | /react-refresh@0.14.0: 2258 | resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} 2259 | engines: {node: '>=0.10.0'} 2260 | dev: true 2261 | 2262 | /react-relay@16.0.0(react@18.2.0): 2263 | resolution: {integrity: sha512-3Dje0NLJFwt6b3xqgbiCGlTnpxoZe1OTPsXIPtFdftgDWQzSfrwqkBYUKab6bV2HhCKWCzXWafb8wURLDAlNJQ==} 2264 | peerDependencies: 2265 | react: ^16.9.0 || ^17 || ^18 2266 | dependencies: 2267 | '@babel/runtime': 7.23.5 2268 | fbjs: 3.0.5 2269 | invariant: 2.2.4 2270 | nullthrows: 1.1.1 2271 | react: 18.2.0 2272 | relay-runtime: 16.0.0 2273 | transitivePeerDependencies: 2274 | - encoding 2275 | dev: false 2276 | 2277 | /react@18.2.0: 2278 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} 2279 | engines: {node: '>=0.10.0'} 2280 | dependencies: 2281 | loose-envify: 1.4.0 2282 | dev: false 2283 | 2284 | /readdirp@3.6.0: 2285 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2286 | engines: {node: '>=8.10.0'} 2287 | dependencies: 2288 | picomatch: 2.3.1 2289 | dev: true 2290 | 2291 | /regenerator-runtime@0.14.0: 2292 | resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} 2293 | 2294 | /relay-compiler@16.0.0: 2295 | resolution: {integrity: sha512-qZKII4EN1R7VdEoJyDxzBtsfhLOJ8WLfl7iESk8h3HfbyHJzw2ygFuk334Qjeq+QN6soCim4quhJpAgp0+qBlQ==} 2296 | hasBin: true 2297 | dev: true 2298 | 2299 | /relay-runtime@16.0.0: 2300 | resolution: {integrity: sha512-gJ70upfOxmFgtvFEKn7sU72uN2XF9Bg5Bml9oGRqe0rFWJDj1ItsljWzOZ972EyDE+pZG/VKbqiz3gUjhbsejQ==} 2301 | dependencies: 2302 | '@babel/runtime': 7.23.5 2303 | fbjs: 3.0.5 2304 | invariant: 2.2.4 2305 | transitivePeerDependencies: 2306 | - encoding 2307 | dev: false 2308 | 2309 | /require-directory@2.1.1: 2310 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2311 | engines: {node: '>=0.10.0'} 2312 | dev: true 2313 | 2314 | /resolve-from@3.0.0: 2315 | resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} 2316 | engines: {node: '>=4'} 2317 | 2318 | /resolve-from@4.0.0: 2319 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2320 | engines: {node: '>=4'} 2321 | 2322 | /resolve-from@5.0.0: 2323 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2324 | engines: {node: '>=8'} 2325 | dev: true 2326 | 2327 | /resolve@1.22.8: 2328 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 2329 | hasBin: true 2330 | dependencies: 2331 | is-core-module: 2.13.1 2332 | path-parse: 1.0.7 2333 | supports-preserve-symlinks-flag: 1.0.0 2334 | 2335 | /reusify@1.0.4: 2336 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2337 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2338 | dev: true 2339 | 2340 | /rimraf@3.0.2: 2341 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2342 | hasBin: true 2343 | dependencies: 2344 | glob: 7.2.3 2345 | dev: true 2346 | 2347 | /rollup@4.7.0: 2348 | resolution: {integrity: sha512-7Kw0dUP4BWH78zaZCqF1rPyQ8D5DSU6URG45v1dqS/faNsx9WXyess00uTOZxKr7oR/4TOjO1CPudT8L1UsEgw==} 2349 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2350 | hasBin: true 2351 | optionalDependencies: 2352 | '@rollup/rollup-android-arm-eabi': 4.7.0 2353 | '@rollup/rollup-android-arm64': 4.7.0 2354 | '@rollup/rollup-darwin-arm64': 4.7.0 2355 | '@rollup/rollup-darwin-x64': 4.7.0 2356 | '@rollup/rollup-linux-arm-gnueabihf': 4.7.0 2357 | '@rollup/rollup-linux-arm64-gnu': 4.7.0 2358 | '@rollup/rollup-linux-arm64-musl': 4.7.0 2359 | '@rollup/rollup-linux-riscv64-gnu': 4.7.0 2360 | '@rollup/rollup-linux-x64-gnu': 4.7.0 2361 | '@rollup/rollup-linux-x64-musl': 4.7.0 2362 | '@rollup/rollup-win32-arm64-msvc': 4.7.0 2363 | '@rollup/rollup-win32-ia32-msvc': 4.7.0 2364 | '@rollup/rollup-win32-x64-msvc': 4.7.0 2365 | fsevents: 2.3.3 2366 | dev: true 2367 | 2368 | /run-parallel@1.2.0: 2369 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2370 | dependencies: 2371 | queue-microtask: 1.2.3 2372 | dev: true 2373 | 2374 | /rxjs@7.8.1: 2375 | resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 2376 | dependencies: 2377 | tslib: 2.6.2 2378 | dev: true 2379 | 2380 | /scheduler@0.23.0: 2381 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} 2382 | dependencies: 2383 | loose-envify: 1.4.0 2384 | dev: false 2385 | 2386 | /semver@6.3.1: 2387 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 2388 | hasBin: true 2389 | 2390 | /semver@7.5.4: 2391 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 2392 | engines: {node: '>=10'} 2393 | hasBin: true 2394 | dependencies: 2395 | lru-cache: 6.0.0 2396 | dev: true 2397 | 2398 | /setimmediate@1.0.5: 2399 | resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} 2400 | dev: false 2401 | 2402 | /shebang-command@2.0.0: 2403 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2404 | engines: {node: '>=8'} 2405 | dependencies: 2406 | shebang-regex: 3.0.0 2407 | dev: true 2408 | 2409 | /shebang-regex@3.0.0: 2410 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2411 | engines: {node: '>=8'} 2412 | dev: true 2413 | 2414 | /shell-quote@1.8.1: 2415 | resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} 2416 | dev: true 2417 | 2418 | /signal-exit@3.0.7: 2419 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2420 | dev: true 2421 | 2422 | /slash@3.0.0: 2423 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2424 | engines: {node: '>=8'} 2425 | dev: true 2426 | 2427 | /source-map-js@1.0.2: 2428 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2429 | engines: {node: '>=0.10.0'} 2430 | dev: true 2431 | 2432 | /source-map@0.8.0-beta.0: 2433 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 2434 | engines: {node: '>= 8'} 2435 | dependencies: 2436 | whatwg-url: 7.1.0 2437 | dev: true 2438 | 2439 | /spawn-command@0.0.2: 2440 | resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} 2441 | dev: true 2442 | 2443 | /sprintf-js@1.0.3: 2444 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 2445 | 2446 | /string-width@4.2.3: 2447 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2448 | engines: {node: '>=8'} 2449 | dependencies: 2450 | emoji-regex: 8.0.0 2451 | is-fullwidth-code-point: 3.0.0 2452 | strip-ansi: 6.0.1 2453 | dev: true 2454 | 2455 | /strip-ansi@6.0.1: 2456 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2457 | engines: {node: '>=8'} 2458 | dependencies: 2459 | ansi-regex: 5.0.1 2460 | dev: true 2461 | 2462 | /strip-final-newline@2.0.0: 2463 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 2464 | engines: {node: '>=6'} 2465 | dev: true 2466 | 2467 | /strip-json-comments@3.1.1: 2468 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2469 | engines: {node: '>=8'} 2470 | dev: true 2471 | 2472 | /sucrase@3.34.0: 2473 | resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} 2474 | engines: {node: '>=8'} 2475 | hasBin: true 2476 | dependencies: 2477 | '@jridgewell/gen-mapping': 0.3.3 2478 | commander: 4.1.1 2479 | glob: 7.1.6 2480 | lines-and-columns: 1.2.4 2481 | mz: 2.7.0 2482 | pirates: 4.0.6 2483 | ts-interface-checker: 0.1.13 2484 | dev: true 2485 | 2486 | /supports-color@5.5.0: 2487 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2488 | engines: {node: '>=4'} 2489 | dependencies: 2490 | has-flag: 3.0.0 2491 | 2492 | /supports-color@7.2.0: 2493 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2494 | engines: {node: '>=8'} 2495 | dependencies: 2496 | has-flag: 4.0.0 2497 | dev: true 2498 | 2499 | /supports-color@8.1.1: 2500 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 2501 | engines: {node: '>=10'} 2502 | dependencies: 2503 | has-flag: 4.0.0 2504 | dev: true 2505 | 2506 | /supports-preserve-symlinks-flag@1.0.0: 2507 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2508 | engines: {node: '>= 0.4'} 2509 | 2510 | /text-table@0.2.0: 2511 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2512 | dev: true 2513 | 2514 | /thenify-all@1.6.0: 2515 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 2516 | engines: {node: '>=0.8'} 2517 | dependencies: 2518 | thenify: 3.3.1 2519 | dev: true 2520 | 2521 | /thenify@3.3.1: 2522 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2523 | dependencies: 2524 | any-promise: 1.3.0 2525 | dev: true 2526 | 2527 | /to-fast-properties@2.0.0: 2528 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 2529 | engines: {node: '>=4'} 2530 | 2531 | /to-regex-range@5.0.1: 2532 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2533 | engines: {node: '>=8.0'} 2534 | dependencies: 2535 | is-number: 7.0.0 2536 | dev: true 2537 | 2538 | /tr46@0.0.3: 2539 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 2540 | dev: false 2541 | 2542 | /tr46@1.0.1: 2543 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 2544 | dependencies: 2545 | punycode: 2.3.1 2546 | dev: true 2547 | 2548 | /tree-kill@1.2.2: 2549 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 2550 | hasBin: true 2551 | dev: true 2552 | 2553 | /ts-api-utils@1.0.3(typescript@5.3.3): 2554 | resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} 2555 | engines: {node: '>=16.13.0'} 2556 | peerDependencies: 2557 | typescript: '>=4.2.0' 2558 | dependencies: 2559 | typescript: 5.3.3 2560 | dev: true 2561 | 2562 | /ts-interface-checker@0.1.13: 2563 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2564 | dev: true 2565 | 2566 | /tslib@2.6.2: 2567 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 2568 | dev: true 2569 | 2570 | /tsup@8.0.1(@swc/core@1.3.100)(typescript@5.3.3): 2571 | resolution: {integrity: sha512-hvW7gUSG96j53ZTSlT4j/KL0q1Q2l6TqGBFc6/mu/L46IoNWqLLUzLRLP1R8Q7xrJTmkDxxDoojV5uCVs1sVOg==} 2572 | engines: {node: '>=18'} 2573 | hasBin: true 2574 | peerDependencies: 2575 | '@microsoft/api-extractor': ^7.36.0 2576 | '@swc/core': ^1 2577 | postcss: ^8.4.12 2578 | typescript: '>=4.5.0' 2579 | peerDependenciesMeta: 2580 | '@microsoft/api-extractor': 2581 | optional: true 2582 | '@swc/core': 2583 | optional: true 2584 | postcss: 2585 | optional: true 2586 | typescript: 2587 | optional: true 2588 | dependencies: 2589 | '@swc/core': 1.3.100 2590 | bundle-require: 4.0.2(esbuild@0.19.9) 2591 | cac: 6.7.14 2592 | chokidar: 3.5.3 2593 | debug: 4.3.4 2594 | esbuild: 0.19.9 2595 | execa: 5.1.1 2596 | globby: 11.1.0 2597 | joycon: 3.1.1 2598 | postcss-load-config: 4.0.2 2599 | resolve-from: 5.0.0 2600 | rollup: 4.7.0 2601 | source-map: 0.8.0-beta.0 2602 | sucrase: 3.34.0 2603 | tree-kill: 1.2.2 2604 | typescript: 5.3.3 2605 | transitivePeerDependencies: 2606 | - supports-color 2607 | - ts-node 2608 | dev: true 2609 | 2610 | /type-check@0.4.0: 2611 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2612 | engines: {node: '>= 0.8.0'} 2613 | dependencies: 2614 | prelude-ls: 1.2.1 2615 | dev: true 2616 | 2617 | /type-fest@0.20.2: 2618 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2619 | engines: {node: '>=10'} 2620 | dev: true 2621 | 2622 | /typescript@5.3.3: 2623 | resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} 2624 | engines: {node: '>=14.17'} 2625 | hasBin: true 2626 | dev: true 2627 | 2628 | /ua-parser-js@1.0.37: 2629 | resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} 2630 | dev: false 2631 | 2632 | /undici-types@5.26.5: 2633 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 2634 | dev: true 2635 | 2636 | /update-browserslist-db@1.0.13(browserslist@4.22.2): 2637 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} 2638 | hasBin: true 2639 | peerDependencies: 2640 | browserslist: '>= 4.21.0' 2641 | dependencies: 2642 | browserslist: 4.22.2 2643 | escalade: 3.1.1 2644 | picocolors: 1.0.0 2645 | 2646 | /uri-js@4.4.1: 2647 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2648 | dependencies: 2649 | punycode: 2.3.1 2650 | dev: true 2651 | 2652 | /vite@5.0.7(@types/node@20.10.4): 2653 | resolution: {integrity: sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==} 2654 | engines: {node: ^18.0.0 || >=20.0.0} 2655 | hasBin: true 2656 | peerDependencies: 2657 | '@types/node': ^18.0.0 || >=20.0.0 2658 | less: '*' 2659 | lightningcss: ^1.21.0 2660 | sass: '*' 2661 | stylus: '*' 2662 | sugarss: '*' 2663 | terser: ^5.4.0 2664 | peerDependenciesMeta: 2665 | '@types/node': 2666 | optional: true 2667 | less: 2668 | optional: true 2669 | lightningcss: 2670 | optional: true 2671 | sass: 2672 | optional: true 2673 | stylus: 2674 | optional: true 2675 | sugarss: 2676 | optional: true 2677 | terser: 2678 | optional: true 2679 | dependencies: 2680 | '@types/node': 20.10.4 2681 | esbuild: 0.19.9 2682 | postcss: 8.4.32 2683 | rollup: 4.7.0 2684 | optionalDependencies: 2685 | fsevents: 2.3.3 2686 | dev: true 2687 | 2688 | /webidl-conversions@3.0.1: 2689 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 2690 | dev: false 2691 | 2692 | /webidl-conversions@4.0.2: 2693 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 2694 | dev: true 2695 | 2696 | /whatwg-url@5.0.0: 2697 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 2698 | dependencies: 2699 | tr46: 0.0.3 2700 | webidl-conversions: 3.0.1 2701 | dev: false 2702 | 2703 | /whatwg-url@7.1.0: 2704 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 2705 | dependencies: 2706 | lodash.sortby: 4.7.0 2707 | tr46: 1.0.1 2708 | webidl-conversions: 4.0.2 2709 | dev: true 2710 | 2711 | /which@2.0.2: 2712 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2713 | engines: {node: '>= 8'} 2714 | hasBin: true 2715 | dependencies: 2716 | isexe: 2.0.0 2717 | dev: true 2718 | 2719 | /wrap-ansi@7.0.0: 2720 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2721 | engines: {node: '>=10'} 2722 | dependencies: 2723 | ansi-styles: 4.3.0 2724 | string-width: 4.2.3 2725 | strip-ansi: 6.0.1 2726 | dev: true 2727 | 2728 | /wrappy@1.0.2: 2729 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2730 | dev: true 2731 | 2732 | /y18n@5.0.8: 2733 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 2734 | engines: {node: '>=10'} 2735 | dev: true 2736 | 2737 | /yallist@3.1.1: 2738 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 2739 | 2740 | /yallist@4.0.0: 2741 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2742 | dev: true 2743 | 2744 | /yaml@1.10.2: 2745 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 2746 | engines: {node: '>= 6'} 2747 | 2748 | /yaml@2.3.4: 2749 | resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} 2750 | engines: {node: '>= 14'} 2751 | dev: true 2752 | 2753 | /yargs-parser@21.1.1: 2754 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 2755 | engines: {node: '>=12'} 2756 | dev: true 2757 | 2758 | /yargs@17.7.2: 2759 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 2760 | engines: {node: '>=12'} 2761 | dependencies: 2762 | cliui: 8.0.1 2763 | escalade: 3.1.1 2764 | get-caller-file: 2.0.5 2765 | require-directory: 2.1.1 2766 | string-width: 4.2.3 2767 | y18n: 5.0.8 2768 | yargs-parser: 21.1.1 2769 | dev: true 2770 | 2771 | /yocto-queue@0.1.0: 2772 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2773 | engines: {node: '>=10'} 2774 | dev: true 2775 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - "examples/*" 3 | - "." 4 | -------------------------------------------------------------------------------- /src/plugin.ts: -------------------------------------------------------------------------------- 1 | import type { PluginOption } from "vite"; 2 | import { transformSync } from "@babel/core"; 3 | 4 | export default { 5 | name: "vite:relay", 6 | transform(src, id) { 7 | if (/.(t|j)sx?/.test(id) && src.includes("graphql`")) { 8 | const out = transformSync(src, { 9 | plugins: [["babel-plugin-relay"]], 10 | code: true, 11 | filename: id, 12 | sourceMaps: true, 13 | }); 14 | 15 | if (!out?.code) { 16 | throw new Error(`vite-plugin-relay: Failed to transform ${id}`); 17 | } 18 | 19 | const code = out.code; 20 | const map = out.map; 21 | 22 | return { 23 | code, 24 | map, 25 | }; 26 | } 27 | }, 28 | } as PluginOption; 29 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": ["src"], 3 | "compilerOptions": { 4 | "declaration": false, 5 | "esModuleInterop": true, 6 | "lib": ["es2018"], 7 | "module": "CommonJS", 8 | "moduleResolution": "node", 9 | "noUnusedLocals": true, 10 | "outDir": "dist", 11 | "strict": true, 12 | "sourceMap": true, 13 | "target": "es5", 14 | "skipLibCheck": true 15 | } 16 | } 17 | --------------------------------------------------------------------------------