├── .gitignore
├── demo
├── src
│ ├── vite-env.d.ts
│ ├── index.d.ts
│ ├── App.css
│ ├── main.tsx
│ ├── index.css
│ └── App.tsx
├── tsconfig.node.json
├── vite.config.ts
├── .gitignore
├── index.html
├── .eslintrc.cjs
├── tsconfig.json
├── package.json
└── yarn.lock
├── renovate.json
├── jest.config.js
├── tsconfig.json
├── .eslintrc.json
├── .github
├── e2e
│ ├── values2.yaml
│ ├── values2.schema.json
│ ├── values1.yaml
│ └── values1.schema.json
└── workflows
│ ├── demo.yaml
│ └── tests.yaml
├── .releaserc.yaml
├── bin
└── index.js
├── package.json
├── src
├── flatten.ts
├── index.test.ts
├── index.ts
└── __snapshots__
│ └── index.test.ts.snap
├── README.md
└── CHANGELOG.md
/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 | dist
3 |
--------------------------------------------------------------------------------
/demo/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/demo/src/index.d.ts:
--------------------------------------------------------------------------------
1 | declare module "react-github-fork-ribbon";
2 | declare module "@socialgouv/helm-schema";
3 |
--------------------------------------------------------------------------------
/demo/src/App.css:
--------------------------------------------------------------------------------
1 | #root {
2 | width: 80vw;
3 | margin: 0 auto;
4 | padding: 2rem;
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3 | "extends": [
4 | "local>SocialGouv/renovate-config"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/demo/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true
8 | },
9 | "include": ["vite.config.ts"]
10 | }
11 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | clearMocks: true,
3 | //moduleFileExtensions: ["js", "ts"],
4 | //testMatch: ["./src/**.test.ts"],
5 | testPathIgnorePatterns: ["./dist"],
6 | transform: {
7 | "^.+\\.ts$": "ts-jest",
8 | },
9 |
10 | verbose: true,
11 | };
12 |
--------------------------------------------------------------------------------
/demo/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom/client";
3 | import App from "./App.tsx";
4 | import "./index.css";
5 |
6 | ReactDOM.createRoot(document.getElementById("root")!).render(
7 |
8 |
9 |
10 | );
11 |
--------------------------------------------------------------------------------
/demo/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import react from "@vitejs/plugin-react";
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | base: "/helm-schema",
7 | plugins: [react()],
8 | define: {
9 | //global: {},
10 | "process.env": {},
11 | __dirname: null,
12 | },
13 | });
14 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es6",
4 | "module": "commonjs",
5 | "outDir": "dist1",
6 | "rootDir": "./src",
7 | "strict": false,
8 | "noImplicitAny": true,
9 | "removeComments": true,
10 | "preserveConstEnums": true,
11 | "sourceMap": true
12 | },
13 | "exclude": ["node_modules/*", "demo"]
14 | }
15 |
--------------------------------------------------------------------------------
/demo/.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 |
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": ["jest", "@typescript-eslint"],
3 | "extends": [],
4 | "parser": "@typescript-eslint/parser",
5 | "parserOptions": {
6 | "ecmaVersion": 9,
7 | "sourceType": "module",
8 | "project": "./tsconfig.json"
9 | },
10 | "rules": {},
11 | "env": {
12 | "node": true,
13 | "es6": true,
14 | "jest/globals": true
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | helm-schema : convert values.yaml to JSON schema
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/demo/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: { browser: true, es2020: true },
4 | extends: [
5 | 'eslint:recommended',
6 | 'plugin:@typescript-eslint/recommended',
7 | 'plugin:react-hooks/recommended',
8 | ],
9 | ignorePatterns: ['dist', '.eslintrc.cjs'],
10 | parser: '@typescript-eslint/parser',
11 | plugins: ['react-refresh'],
12 | rules: {
13 | 'react-refresh/only-export-components': [
14 | 'warn',
15 | { allowConstantExport: true },
16 | ],
17 | },
18 | }
19 |
--------------------------------------------------------------------------------
/.github/e2e/values2.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=./values2.schema.json
2 |
3 | # @param {object} smtp Your SMTP setup
4 | smtp:
5 | # @param {string} host SMTP hostname
6 | host:
7 | # @param {number} [port] SMTP hostname
8 | port: 587
9 |
10 | # Setup your securityContext to reduce security risks, see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
11 | # @param {https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext} [securityContext]
12 | securityContext:
13 |
--------------------------------------------------------------------------------
/.releaserc.yaml:
--------------------------------------------------------------------------------
1 | branches:
2 | - +([0-9])?(.{+([0-9]),x}).x
3 | - main
4 | - next
5 | - name: beta
6 | prerelease: true
7 | - name: alpha
8 | prerelease: true
9 | plugins:
10 | - "@semantic-release/commit-analyzer"
11 | - "@semantic-release/release-notes-generator"
12 | - "@semantic-release/npm"
13 | - "@semantic-release/changelog"
14 | - - "@semantic-release/git"
15 | - assets:
16 | - CHANGELOG.md
17 | - package.json
18 | message: "chore(release): version ${nextRelease.version}\n\n${nextRelease.notes}"
19 | - "@semantic-release/github"
20 |
--------------------------------------------------------------------------------
/bin/index.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | const { parseArgs } = require("node:util");
4 | const { toJsonSchema } = require("../dist");
5 | const fs = require("fs");
6 |
7 | const args = process.argv;
8 | const options = {
9 | file: {
10 | type: "string",
11 | short: "f",
12 | default: "values.yaml",
13 | },
14 | };
15 | const { values } = parseArgs({
16 | args,
17 | options,
18 | allowPositionals: true,
19 | });
20 |
21 | if (!fs.existsSync(values.file)) {
22 | throw new Error(
23 | "values.yaml doesnt exist. add the -f flag to point to your file"
24 | );
25 | }
26 | const yaml = fs.readFileSync(values.file).toString();
27 |
28 | console.log(JSON.stringify(toJsonSchema(yaml), null, 2));
29 |
--------------------------------------------------------------------------------
/demo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "useDefineForClassFields": true,
5 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
6 | "module": "ESNext",
7 | "skipLibCheck": true,
8 |
9 | /* Bundler mode */
10 | "moduleResolution": "bundler",
11 | "allowImportingTsExtensions": true,
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "noEmit": true,
15 | "jsx": "react-jsx",
16 |
17 | /* Linting */
18 | "strict": true,
19 | "noUnusedLocals": true,
20 | "noUnusedParameters": true,
21 | "noFallthroughCasesInSwitch": true
22 | },
23 | "include": ["src"],
24 | "references": [{ "path": "./tsconfig.node.json" }]
25 | }
26 |
--------------------------------------------------------------------------------
/.github/workflows/demo.yaml:
--------------------------------------------------------------------------------
1 | name: Publish demo
2 |
3 | on:
4 | workflow_dispatch:
5 | push:
6 | branches: [main]
7 |
8 | jobs:
9 | website:
10 | runs-on: ubuntu-latest
11 | name: Website
12 | steps:
13 | - name: Checkout repository
14 | uses: actions/checkout@v3
15 |
16 | - uses: actions/setup-node@v3
17 | with:
18 | node-version: 18
19 | cache: "yarn"
20 |
21 | - name: Yarn install
22 | run: |
23 | cd demo
24 | yarn --immutable
25 |
26 | - name: Yarn build
27 | run: |
28 | cd demo
29 | yarn build
30 |
31 | # deploy build to gh-pages
32 | - name: Deploy 🚀
33 | uses: JamesIves/github-pages-deploy-action@4.1.0
34 | with:
35 | branch: gh-pages
36 | folder: demo/dist
37 |
--------------------------------------------------------------------------------
/demo/src/index.css:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3 | line-height: 1.5;
4 | font-weight: 400;
5 |
6 | font-synthesis: none;
7 | text-rendering: optimizeLegibility;
8 | -webkit-font-smoothing: antialiased;
9 | -moz-osx-font-smoothing: grayscale;
10 | -webkit-text-size-adjust: 100%;
11 | }
12 |
13 | a {
14 | font-weight: 500;
15 | color: #646cff;
16 | text-decoration: inherit;
17 | }
18 | a:hover {
19 | color: #535bf2;
20 | }
21 |
22 | body {
23 | margin: 0;
24 | display: flex;
25 | place-items: top;
26 | min-width: 320px;
27 | min-height: 100vh;
28 | }
29 |
30 | h1 {
31 | font-size: 3.2em;
32 | line-height: 1.1;
33 | }
34 |
35 | @media (prefers-color-scheme: light) {
36 | :root {
37 | color: #213547;
38 | background-color: #ffffff;
39 | }
40 | a:hover {
41 | color: #747bff;
42 | }
43 | button {
44 | background-color: #f9f9f9;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "private": true,
4 | "version": "0.0.0",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "tsc && vite build",
8 | "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
9 | "preview": "vite preview"
10 | },
11 | "dependencies": {
12 | "@socialgouv/helm-schema": "^1.2.4",
13 | "@uiw/react-textarea-code-editor": "^2.1.7",
14 | "react": "^18.2.0",
15 | "react-dom": "^18.2.0",
16 | "react-github-fork-banner": "^1.1.3"
17 | },
18 | "devDependencies": {
19 | "@types/node": "^20.5.7",
20 | "@types/react": "^18.2.21",
21 | "@types/react-dom": "^18.2.7",
22 | "@typescript-eslint/eslint-plugin": "^6.5.0",
23 | "@typescript-eslint/parser": "^6.5.0",
24 | "@vitejs/plugin-react": "^4.0.4",
25 | "eslint": "^8.48.0",
26 | "eslint-plugin-react-hooks": "^4.6.0",
27 | "eslint-plugin-react-refresh": "^0.4.3",
28 | "typescript": "^5.2.2",
29 | "vite": "^4.4.9"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/.github/e2e/values2.schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "object",
3 | "$schema": "http://json-schema.org/draft-07/schema",
4 | "required": [
5 | "smtp"
6 | ],
7 | "properties": {
8 | "smtp": {
9 | "type": "object",
10 | "title": "Your SMTP setup",
11 | "required": [
12 | "host"
13 | ],
14 | "properties": {
15 | "host": {
16 | "type": [
17 | "string"
18 | ],
19 | "title": "SMTP hostname"
20 | },
21 | "port": {
22 | "type": [
23 | "number"
24 | ],
25 | "title": "SMTP hostname",
26 | "default": "587"
27 | }
28 | }
29 | },
30 | "securityContext": {
31 | "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext",
32 | "description": "Setup your securityContext to reduce security risks, see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/"
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@socialgouv/helm-schema",
3 | "version": "1.2.4",
4 | "main": "dist/index.js",
5 | "license": "Apache-2.0",
6 | "files": [
7 | "dist",
8 | "bin",
9 | "package.json",
10 | "yarn.lock",
11 | "README.md"
12 | ],
13 | "publishConfig": {
14 | "access": "public"
15 | },
16 | "bin": "./bin/index.js",
17 | "engines": {
18 | "node": ">=16.17.0"
19 | },
20 | "scripts": {
21 | "dev": "tsc --watch --outDir build",
22 | "build": "ncc build ./src/index.ts",
23 | "test": "jest",
24 | "snapshots": "yarn build && yarn test -u && ./bin/index.js -f .github/e2e/values1.yaml > .github/e2e/values1.schema.json && ./bin/index.js -f .github/e2e/values2.yaml > .github/e2e/values2.schema.json",
25 | "lint": "eslint src/**/*.ts"
26 | },
27 | "dependencies": {
28 | "comment-parser": "^1.4.0",
29 | "yaml": "^2.3.2"
30 | },
31 | "devDependencies": {
32 | "@types/js-yaml": "^4.0.5",
33 | "@types/json-schema": "^7.0.12",
34 | "@types/node": "^20.5.7",
35 | "@typescript-eslint/eslint-plugin": "^6.5.0",
36 | "@typescript-eslint/parser": "^6.5.0",
37 | "@vercel/ncc": "^0.36.1",
38 | "eslint": "^8.48.0",
39 | "eslint-plugin-jest": "^27.2.3",
40 | "jest": "^29.6.4",
41 | "ts-jest": "^29.1.1",
42 | "tsc": "^2.0.4",
43 | "typescript": "^5.2.2"
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/.github/workflows/tests.yaml:
--------------------------------------------------------------------------------
1 | name: ✅ Tests n publish
2 |
3 | on:
4 | push:
5 | branches:
6 | - "**"
7 | - "!v*"
8 | tags-ignore:
9 | - "**"
10 |
11 | concurrency:
12 | cancel-in-progress: true
13 | group: tests-lint-${{ github.ref_name }}
14 |
15 | jobs:
16 | tests:
17 | name: Lint & Tests
18 | runs-on: ubuntu-latest
19 | steps:
20 | - name: Checkout repository
21 | uses: actions/checkout@v3
22 |
23 | - uses: actions/setup-node@v3
24 | with:
25 | node-version: 20
26 | cache: "yarn"
27 |
28 | - name: Yarn install
29 | run: |
30 | yarn --immutable
31 |
32 | - name: Yarn build
33 | run: |
34 | yarn build
35 |
36 | - name: Run lint
37 | run: yarn lint
38 |
39 | - name: Run unit test
40 | run: yarn test
41 |
42 | - name: Run e2e test values1.yaml
43 | shell: bash
44 | run: |
45 | ./bin/index.js -f .github/e2e/values1.yaml > values1.json
46 | diff values1.json .github/e2e/values1.schema.json
47 | ./bin/index.js -f .github/e2e/values2.yaml > values2.json
48 | diff values2.json .github/e2e/values2.schema.json
49 |
50 | - name: Semantic Release
51 | if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
52 | uses: cycjimmy/semantic-release-action@v3
53 | with:
54 | extra_plugins: |
55 | @semantic-release/changelog
56 | @semantic-release/exec
57 | @semantic-release/git
58 | env:
59 | GIT_AUTHOR_EMAIL: ${{ secrets.SOCIALGROOVYBOT_EMAIL }}
60 | GIT_AUTHOR_NAME: ${{ secrets.SOCIALGROOVYBOT_NAME }}
61 | GIT_COMMITTER_EMAIL: ${{ secrets.SOCIALGROOVYBOT_EMAIL }}
62 | GIT_COMMITTER_NAME: ${{ secrets.SOCIALGROOVYBOT_NAME }}
63 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64 | NPM_TOKEN: ${{ secrets.SOCIALGROOVYBOT_NPM_TOKEN }}
65 |
--------------------------------------------------------------------------------
/.github/e2e/values1.yaml:
--------------------------------------------------------------------------------
1 | # yaml-language-server: $schema=./values1.schema.json
2 |
3 | # Default values for pgweb.
4 | # This is a YAML-formatted file.
5 | # Declare variables to be passed into your templates.
6 |
7 | # -- @param {number} replicaCount - number of replicas in the pgweb deployment
8 | replicaCount: 1
9 |
10 | enabled:
11 |
12 | namespace:
13 | repositoryName:
14 | host:
15 | targetPort: 8081
16 | servicePort: 8081
17 | certSecretName:
18 | env: []
19 | envFrom: []
20 |
21 | ingress:
22 | enabled: false
23 | annotations: {}
24 |
25 | image:
26 | repository: sosedoff/pgweb
27 | pullPolicy: IfNotPresent
28 | tag: "0.14.1"
29 |
30 | imagePullSecrets: []
31 | nameOverride: ""
32 | fullnameOverride: ""
33 |
34 | serviceAccount:
35 | # -- @param {boolean} create -- Specifies whether a service account should be created
36 | create: false
37 | # -- Annotations to add to the service account
38 | annotations: {}
39 |
40 | # -- The name of the service account to use.
41 | # -- If not set and create is true, a name is generated using the fullname template
42 | name: ""
43 |
44 | podAnnotations: {}
45 |
46 | podSecurityContext:
47 | {}
48 | # fsGroup: 2000
49 |
50 | securityContext:
51 | {}
52 | # capabilities:
53 | # drop:
54 | # - ALL
55 | # readOnlyRootFilesystem: true
56 | # runAsNonRoot: true
57 | # runAsUser: 1000
58 |
59 | # -- custom resources
60 | resources:
61 | {}
62 | # We usually recommend not to specify default resources and to leave this as a conscious
63 | # choice for the user. This also increases chances charts run on environments with little
64 | # resources, such as Minikube. If you do want to specify resources, uncomment the following
65 | # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
66 | # limits:
67 | # cpu: 100m
68 | # memory: 128Mi
69 | # requests:
70 | # cpu: 100m
71 | # memory: 128Mi
72 |
73 | # -- Horizontal Pod autoscaler
74 | autoscaling:
75 | enabled: false
76 | minReplicas: 1
77 | maxReplicas: 100
78 | targetCPUUtilizationPercentage: 80
79 | # targetMemoryUtilizationPercentage: 80
80 |
81 | nodeSelector: {}
82 |
83 | # @param {https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.Toleration[]}
84 | tolerations: []
85 |
86 | affinity: {}
87 |
88 | extraArgs: []
89 |
--------------------------------------------------------------------------------
/src/flatten.ts:
--------------------------------------------------------------------------------
1 | import { Parser } from "yaml";
2 | import {
3 | BlockMap,
4 | SourceToken,
5 | Document,
6 | Token,
7 | BlockSequence,
8 | } from "yaml/dist/parse/cst";
9 |
10 | export const flattenBlock = (blockMap: BlockMap | BlockSequence) => {
11 | const nodes: (SourceToken | Token)[] = [];
12 | blockMap?.items?.forEach((item) => {
13 | if (item.key) nodes.push(item.key);
14 | if (item.start && item.start.length) {
15 | nodes.push(...item.start);
16 | }
17 | if (item.sep && item.sep.length) {
18 | nodes.push(...item.sep);
19 | }
20 | if (item.value) {
21 | if (item.value.type === "block-map" || item.value.type === "block-seq") {
22 | nodes.push(...flattenBlock(item.value));
23 | } else {
24 | if (item.value.type === "scalar" && item.value.end) {
25 | const { end, ...scalar } = item.value;
26 | if (scalar) {
27 | nodes.push(scalar);
28 | }
29 | if (end.length) {
30 | nodes.push(...end);
31 | }
32 | } else {
33 | nodes.push(item.value);
34 | }
35 | }
36 | }
37 | });
38 | return nodes;
39 | };
40 |
41 | export const flattenYaml = (yaml: string) => {
42 | const parsed = new Parser().parse(yaml);
43 |
44 | const tokens = Array.from(parsed);
45 |
46 | const documentIndex = tokens.findIndex((t) => t.type === "document");
47 |
48 | const document = tokens[documentIndex] as Document;
49 |
50 | const nodes = [
51 | ...tokens.slice(0, documentIndex),
52 | ...flattenBlock(document.value as BlockMap),
53 | ];
54 | return nodes;
55 | };
56 |
57 | // let comments: SourceToken[] = [];
58 | // let lineCount = 0;
59 | // const scalars: any[] = [];
60 | // nodes.forEach((node) => {
61 | // if (node.type === "comment") {
62 | // comments.push(node);
63 | // }
64 | // if (node.type === "scalar") {
65 | // scalars.push({
66 | // ...node,
67 | // comments,
68 | // });
69 | // comments = [];
70 | // }
71 | // });
72 |
73 | // blockMap.items.forEach((item) => {
74 | // nodes.push(item.key);
75 | // if (item.start) {
76 | // item.sep.forEach((sep) => {
77 | // nodes.push(sep);
78 | // });
79 | // }
80 | // if (item.sep) {
81 | // item.sep.forEach((sep) => {
82 | // nodes.push(sep);
83 | // });
84 | // }
85 | // nodes.push(item.value);
86 | // });
87 |
88 | //#console.log(JSON.stringify(nodes, null, 2));
89 | //console.log(JSON.stringify(scalars, null, 2));
90 |
91 | //console.log(comments);
92 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # @socialgouv/helm-schema 
2 |
3 | [JSON Schema](https://json-schema.org) generator for your [HELM charts](https://helm.sh).
4 |
5 | Demo : https://socialgouv.github.io/helm-schema
6 |
7 | ## Usage
8 |
9 | Example `values.yaml`, following [JSDoc standards](https://devhints.io/jsdoc)
10 |
11 | ```yaml
12 | # @param {object} smtp Your SMTP setup
13 | smtp:
14 | # @param {string} host SMTP hostname
15 | host:
16 | # @param {number} [port] SMTP port
17 | port: 587
18 |
19 | # Setup your securityContext to reduce security risks, see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
20 | # @param {https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext} [securityContext]
21 | securityContext:
22 | ```
23 |
24 | To generate a JSON schema from your `values.yaml` :
25 |
26 | ```sh
27 | npx @socialgouv/helm-schema -f values.yaml
28 | ```
29 |
30 | Or via TS :
31 |
32 | ```js
33 | import { toJsonSchema } from "@socialgouv/helm-schema";
34 |
35 | import yaml from "./values.yaml";
36 |
37 | const schema = toJsonSchema(yaml);
38 | ```
39 |
40 | You get such JSON schema in result :
41 |
42 | ```json
43 | {
44 | "type": "object",
45 | "$schema": "https://json-schema.org/draft/2020-12/schema",
46 | "required": ["smtp"],
47 | "properties": {
48 | "smtp": {
49 | "type": "object",
50 | "title": "Your SMTP setup",
51 | "required": ["host"],
52 | "properties": {
53 | "host": {
54 | "type": "string",
55 | "title": "SMTP hostname"
56 | },
57 | "port": {
58 | "type": "number",
59 | "title": "SMTP port",
60 | "default": "587"
61 | }
62 | }
63 | },
64 | "securityContext": {
65 | "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext",
66 | "description": "Setup your securityContext to reduce security risks, see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/"
67 | }
68 | }
69 | }
70 | ```
71 |
72 | This schema can then be used with your favorite editor for HELM values validation.
73 |
74 | ⚠️ Be sure to add an `$id` to the schema if its meant to be referenced from other schemas
75 |
76 | ## Dev
77 |
78 | update snapshots : `yarn snapshots`
79 |
80 | ## Todo
81 |
82 | - ~~multiline comments~~
83 | - sections
84 | - infer types from default values
85 | - ~~handle arrays~~
86 |
--------------------------------------------------------------------------------
/demo/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from "react";
2 | import { GithubForkBanner } from "react-github-fork-banner";
3 | import CodeEditor from "@uiw/react-textarea-code-editor";
4 |
5 | import "./App.css";
6 |
7 | import { toJsonSchema } from "@socialgouv/helm-schema";
8 |
9 | const yaml = `
10 | # @param {object} smtp Your SMTP setup
11 | smtp:
12 | # @param {string} host SMTP hostname
13 | host:
14 | # @param {number} [port] SMTP hostname
15 | port: 587
16 |
17 | # Setup your securityContext to reduce security risks, see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
18 | # @param {https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext} [securityContext]
19 | securityContext:
20 |
21 | # @params {string[]} command List of parameters for the default entrypoint
22 | command: []
23 | `.trim();
24 |
25 | function App() {
26 | const [schema, setSchema] = useState(
27 | JSON.stringify(toJsonSchema(yaml), null, 2)
28 | );
29 |
30 | const onYamlChange: React.ChangeEventHandler = (e) => {
31 | const content = e.target.value;
32 | setSchema(JSON.stringify(toJsonSchema(content), null, 2));
33 | };
34 | return (
35 | <>
36 |
37 | helm-schema demo
38 |
39 | Annotate your HELM values.yaml files with{" "}
40 |
45 | JSDoc comments
46 | {" "}
47 | and extract a values.schema.json -{" "}
48 |
53 | cf Documentation.
54 |
55 |
56 |
57 |
65 |
values.yaml
66 |
73 |
74 |
82 |
values.schema.json
83 |
89 |
90 |
91 | >
92 | );
93 | }
94 |
95 | export default App;
96 |
--------------------------------------------------------------------------------
/src/index.test.ts:
--------------------------------------------------------------------------------
1 | import { expect, test } from "@jest/globals";
2 |
3 | import { extractValues, toJsonSchema } from "./index";
4 |
5 | const tests = [
6 | {
7 | title: "YAML without comment",
8 | yaml: `
9 | name: Jul
10 | age: 42
11 |
12 | location:
13 | country: FR
14 | `,
15 | },
16 | {
17 | title: "YAML with comments",
18 | yaml: `
19 | # @param {string} name Your name
20 | name: Jul
21 | # @param {number} age Your age
22 | age: 42
23 |
24 | location:
25 | # @param {string} [country] Your country
26 | country: FR
27 | `,
28 | },
29 | {
30 | title: "YAML with nestedcomments",
31 | yaml: `
32 | family:
33 | # @param {object} mother The mother
34 | mother:
35 | # @param {string} name The mother's name
36 | name:
37 | # @param {object} [mother] The mother's mother
38 | mother:
39 | # @param {string} [name] The mother mother's name
40 | name:
41 | `,
42 | },
43 | {
44 | title: "YAML with sections",
45 | yaml: `
46 | # @section family blablab
47 | family:
48 | # @param {object} [mother] The mother
49 | mother:
50 | `,
51 | },
52 | {
53 | title: "single-line",
54 | yaml: `
55 | # @param {number} number The magic number
56 | number: 42
57 | `,
58 | },
59 | {
60 | title: "YAML with multiline comment",
61 | yaml: `
62 | # family blablab
63 | # more info about that crazy family
64 | family:
65 | # the mother is important in your life
66 | # @param {object} [mother] The mother
67 | mother:
68 | `,
69 | },
70 | {
71 | title: "YAML with external references",
72 | yaml: `
73 | # Setup your securityContext to reduce security risks, see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
74 | # @param {https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext} securityContext
75 | securityContext:
76 | `,
77 | },
78 | {
79 | title: "JSDoc with multiple types",
80 | yaml: `
81 |
82 | # @param {string,null} securityContext
83 | securityContext:
84 | `,
85 | },
86 | {
87 | title: "JSDoc with string array",
88 | yaml: `
89 |
90 | # @param {string[]} command
91 | command:
92 | `,
93 | // "type": "array"
94 | // "items": {
95 | // "type": "string"
96 | // },
97 | },
98 | {
99 | title: "JSDoc with ref array",
100 | yaml: `
101 |
102 | # @param {https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.EnvFromSource[]} envFrom
103 | envFrom:
104 | `,
105 | },
106 | ];
107 |
108 | // "type": "array"
109 | // "items": {
110 | // "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.EnvFromSource"
111 | // },
112 |
113 | tests.forEach((t) => {
114 | test(`extractValues: ${t.title}`, () => {
115 | expect(extractValues(t.yaml)).toMatchSnapshot();
116 | });
117 | });
118 |
119 | tests.forEach((t) => {
120 | test(`toJsonSchema: ${t.title}`, () => {
121 | expect(toJsonSchema(t.yaml)).toMatchSnapshot();
122 | });
123 | });
124 |
125 | test("toJsonSchema: add root properties", () => {
126 | expect(
127 | toJsonSchema(
128 | `
129 | # @param {string} [some] Some optional string
130 | some: thing`,
131 | {
132 | $id: "some-id",
133 | title: "schema title",
134 | }
135 | )
136 | ).toMatchSnapshot();
137 | });
138 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## [1.2.4](https://github.com/SocialGouv/helm-schema/compare/v1.2.3...v1.2.4) (2023-11-11)
2 |
3 |
4 | ### Bug Fixes
5 |
6 | * handle array definitions ([#16](https://github.com/SocialGouv/helm-schema/issues/16)) ([f281eb6](https://github.com/SocialGouv/helm-schema/commit/f281eb67e9c968863b0eb9e373ef5dde1d300d41))
7 |
8 | ## [1.2.3](https://github.com/SocialGouv/helm-schema/compare/v1.2.2...v1.2.3) (2023-09-04)
9 |
10 |
11 | ### Bug Fixes
12 |
13 | * default schema version ([0e23a57](https://github.com/SocialGouv/helm-schema/commit/0e23a573daa502a6b3dbde5e35e88931f39c38bf))
14 | * snaps ([25c3e9c](https://github.com/SocialGouv/helm-schema/commit/25c3e9cabbb84404f5fad65dd134cab4365137e0))
15 |
16 | ## [1.2.2](https://github.com/SocialGouv/helm-schema/compare/v1.2.1...v1.2.2) (2023-08-30)
17 |
18 |
19 | ### Bug Fixes
20 |
21 | * skip empty defaults ([#8](https://github.com/SocialGouv/helm-schema/issues/8)) ([e42303a](https://github.com/SocialGouv/helm-schema/commit/e42303a45a85b946627a097acd9d61c388c662fa))
22 |
23 | ## [1.2.1](https://github.com/SocialGouv/helm-schema/compare/v1.2.0...v1.2.1) (2023-08-29)
24 |
25 |
26 | ### Bug Fixes
27 |
28 | * allow multiple types ([4028c6b](https://github.com/SocialGouv/helm-schema/commit/4028c6b08dd5a27e03daeb394709973c6397f67c))
29 |
30 | # [1.2.0](https://github.com/SocialGouv/helm-schema/compare/v1.1.1...v1.2.0) (2023-08-29)
31 |
32 |
33 | ### Features
34 |
35 | * add external refs parsing ([#7](https://github.com/SocialGouv/helm-schema/issues/7)) ([67501e9](https://github.com/SocialGouv/helm-schema/commit/67501e95276b192ee2f8044bbf482637c5d74715))
36 |
37 | ## [1.1.1](https://github.com/SocialGouv/helm-schema/compare/v1.1.0...v1.1.1) (2023-08-29)
38 |
39 |
40 | ### Bug Fixes
41 |
42 | * demo update ([11488e6](https://github.com/SocialGouv/helm-schema/commit/11488e65149f531bbddb6fabb8a0a832c99aa033))
43 |
44 | # [1.1.0](https://github.com/SocialGouv/helm-schema/compare/v1.0.6...v1.1.0) (2023-08-29)
45 |
46 |
47 | ### Features
48 |
49 | * multiline comments ([#3](https://github.com/SocialGouv/helm-schema/issues/3)) ([ead6c30](https://github.com/SocialGouv/helm-schema/commit/ead6c306c8677df10acf7bfdcefc09c46d0651b1))
50 |
51 | ## [1.0.6](https://github.com/SocialGouv/helm-schema/compare/v1.0.5...v1.0.6) (2023-08-06)
52 |
53 |
54 | ### Bug Fixes
55 |
56 | * demo ([906ec06](https://github.com/SocialGouv/helm-schema/commit/906ec06ffd528d1972d5cc89a4dd02dcb09fedf9))
57 |
58 | ## [1.0.5](https://github.com/SocialGouv/helm-schema/compare/v1.0.4...v1.0.5) (2023-08-04)
59 |
60 |
61 | ### Bug Fixes
62 |
63 | * build ([d6ee08e](https://github.com/SocialGouv/helm-schema/commit/d6ee08ee9a816693945661fda582af5c7cd25da2))
64 |
65 | ## [1.0.4](https://github.com/SocialGouv/helm-schema/compare/v1.0.3...v1.0.4) (2023-08-04)
66 |
67 |
68 | ### Bug Fixes
69 |
70 | * editor ([5dbe4b4](https://github.com/SocialGouv/helm-schema/commit/5dbe4b4778fd33262b3186c6133c13b3df271e5f))
71 |
72 | ## [1.0.3](https://github.com/SocialGouv/helm-schema/compare/v1.0.2...v1.0.3) (2023-08-04)
73 |
74 |
75 | ### Bug Fixes
76 |
77 | * test ([84b2d6f](https://github.com/SocialGouv/helm-schema/commit/84b2d6f038eb725b1adb9f2b0ecb24e01576e201))
78 | * use schema.title ([ff454e4](https://github.com/SocialGouv/helm-schema/commit/ff454e43205aa184aaeb5b12913f7b9864ca07e5))
79 |
80 | ## [1.0.2](https://github.com/SocialGouv/helm-schema/compare/v1.0.1...v1.0.2) (2023-08-04)
81 |
82 |
83 | ### Bug Fixes
84 |
85 | * __dirname issue ([3f6b4b1](https://github.com/SocialGouv/helm-schema/commit/3f6b4b19e7164f0a742741ff01ae596b90880b19))
86 |
87 | ## [1.0.1](https://github.com/SocialGouv/helm-schema/compare/v1.0.0...v1.0.1) (2023-08-04)
88 |
89 |
90 | ### Bug Fixes
91 |
92 | * demo ([166e396](https://github.com/SocialGouv/helm-schema/commit/166e396f22f0ebd4450fb1bb3e358a89ebe22197))
93 |
94 | # 1.0.0 (2023-08-04)
95 |
96 |
97 | ### Bug Fixes
98 |
99 | * release ([c557db2](https://github.com/SocialGouv/helm-schema/commit/c557db2cd8605cbb7a94b825a9566ef191e4efd3))
100 |
--------------------------------------------------------------------------------
/.github/e2e/values1.schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "object",
3 | "$schema": "http://json-schema.org/draft-07/schema",
4 | "required": [
5 | "replicaCount",
6 | "resources",
7 | "autoscaling",
8 | "tolerations"
9 | ],
10 | "properties": {
11 | "replicaCount": {
12 | "type": [
13 | "number"
14 | ],
15 | "title": "number of replicas in the pgweb deployment",
16 | "default": "1"
17 | },
18 | "enabled": {
19 | "type": [
20 | "string",
21 | "boolean",
22 | "number",
23 | "object",
24 | "array"
25 | ]
26 | },
27 | "namespace": {
28 | "type": [
29 | "string",
30 | "boolean",
31 | "number",
32 | "object",
33 | "array"
34 | ]
35 | },
36 | "repositoryName": {
37 | "type": [
38 | "string",
39 | "boolean",
40 | "number",
41 | "object",
42 | "array"
43 | ]
44 | },
45 | "host": {
46 | "type": [
47 | "string",
48 | "boolean",
49 | "number",
50 | "object",
51 | "array"
52 | ]
53 | },
54 | "targetPort": {
55 | "type": [
56 | "string",
57 | "boolean",
58 | "number",
59 | "object",
60 | "array"
61 | ],
62 | "default": "8081"
63 | },
64 | "servicePort": {
65 | "type": [
66 | "string",
67 | "boolean",
68 | "number",
69 | "object",
70 | "array"
71 | ],
72 | "default": "8081"
73 | },
74 | "certSecretName": {
75 | "type": [
76 | "string",
77 | "boolean",
78 | "number",
79 | "object",
80 | "array"
81 | ]
82 | },
83 | "env": {
84 | "type": [
85 | "string",
86 | "boolean",
87 | "number",
88 | "object",
89 | "array"
90 | ]
91 | },
92 | "envFrom": {
93 | "type": [
94 | "string",
95 | "boolean",
96 | "number",
97 | "object",
98 | "array"
99 | ]
100 | },
101 | "ingress": {
102 | "type": "object",
103 | "required": [],
104 | "properties": {
105 | "enabled": {
106 | "type": [
107 | "string",
108 | "boolean",
109 | "number",
110 | "object",
111 | "array"
112 | ],
113 | "default": "false"
114 | },
115 | "annotations": {
116 | "type": [
117 | "string",
118 | "boolean",
119 | "number",
120 | "object",
121 | "array"
122 | ]
123 | }
124 | }
125 | },
126 | "image": {
127 | "type": "object",
128 | "required": [],
129 | "properties": {
130 | "repository": {
131 | "type": [
132 | "string",
133 | "boolean",
134 | "number",
135 | "object",
136 | "array"
137 | ],
138 | "default": "sosedoff/pgweb"
139 | },
140 | "pullPolicy": {
141 | "type": [
142 | "string",
143 | "boolean",
144 | "number",
145 | "object",
146 | "array"
147 | ],
148 | "default": "IfNotPresent"
149 | },
150 | "tag": {
151 | "type": [
152 | "string",
153 | "boolean",
154 | "number",
155 | "object",
156 | "array"
157 | ],
158 | "default": "\"0.14.1\""
159 | }
160 | }
161 | },
162 | "imagePullSecrets": {
163 | "type": [
164 | "string",
165 | "boolean",
166 | "number",
167 | "object",
168 | "array"
169 | ]
170 | },
171 | "nameOverride": {
172 | "type": [
173 | "string",
174 | "boolean",
175 | "number",
176 | "object",
177 | "array"
178 | ]
179 | },
180 | "fullnameOverride": {
181 | "type": [
182 | "string",
183 | "boolean",
184 | "number",
185 | "object",
186 | "array"
187 | ]
188 | },
189 | "serviceAccount": {
190 | "type": "object",
191 | "required": [
192 | "create",
193 | "annotations",
194 | "name"
195 | ],
196 | "properties": {
197 | "create": {
198 | "type": [
199 | "boolean"
200 | ],
201 | "title": "Specifies whether a service account should be created",
202 | "default": "false"
203 | },
204 | "annotations": {
205 | "type": [
206 | "string",
207 | "boolean",
208 | "number",
209 | "object",
210 | "array"
211 | ],
212 | "description": "Annotations to add to the service account"
213 | },
214 | "name": {
215 | "type": [
216 | "string",
217 | "boolean",
218 | "number",
219 | "object",
220 | "array"
221 | ],
222 | "description": "The name of the service account to use.\nIf not set and create is true, a name is generated using the fullname template"
223 | }
224 | }
225 | },
226 | "podAnnotations": {
227 | "type": [
228 | "string",
229 | "boolean",
230 | "number",
231 | "object",
232 | "array"
233 | ]
234 | },
235 | "podSecurityContext": {
236 | "type": [
237 | "string",
238 | "boolean",
239 | "number",
240 | "object",
241 | "array"
242 | ]
243 | },
244 | "securityContext": {
245 | "type": [
246 | "string",
247 | "boolean",
248 | "number",
249 | "object",
250 | "array"
251 | ]
252 | },
253 | "resources": {
254 | "type": [
255 | "string",
256 | "boolean",
257 | "number",
258 | "object",
259 | "array"
260 | ],
261 | "description": "custom resources"
262 | },
263 | "autoscaling": {
264 | "type": "object",
265 | "description": "Horizontal Pod autoscaler",
266 | "required": [
267 | "enabled"
268 | ],
269 | "properties": {
270 | "enabled": {
271 | "type": [
272 | "string",
273 | "boolean",
274 | "number",
275 | "object",
276 | "array"
277 | ],
278 | "description": "Horizontal Pod autoscaler",
279 | "default": "false"
280 | },
281 | "minReplicas": {
282 | "type": [
283 | "string",
284 | "boolean",
285 | "number",
286 | "object",
287 | "array"
288 | ],
289 | "default": "1"
290 | },
291 | "maxReplicas": {
292 | "type": [
293 | "string",
294 | "boolean",
295 | "number",
296 | "object",
297 | "array"
298 | ],
299 | "default": "100"
300 | },
301 | "targetCPUUtilizationPercentage": {
302 | "type": [
303 | "string",
304 | "boolean",
305 | "number",
306 | "object",
307 | "array"
308 | ],
309 | "default": "80"
310 | }
311 | }
312 | },
313 | "nodeSelector": {
314 | "type": [
315 | "string",
316 | "boolean",
317 | "number",
318 | "object",
319 | "array"
320 | ]
321 | },
322 | "tolerations": {
323 | "type": "array",
324 | "items": {
325 | "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.Toleration"
326 | }
327 | },
328 | "affinity": {
329 | "type": [
330 | "string",
331 | "boolean",
332 | "number",
333 | "object",
334 | "array"
335 | ]
336 | },
337 | "extraArgs": {
338 | "type": [
339 | "string",
340 | "boolean",
341 | "number",
342 | "object",
343 | "array"
344 | ]
345 | }
346 | }
347 | }
348 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { Parser } from "yaml";
2 | import { parse as commentParser } from "comment-parser";
3 | import {
4 | Token,
5 | CollectionItem,
6 | BlockSequence,
7 | BlockMap,
8 | Document,
9 | FlowCollection,
10 | SourceToken,
11 | } from "yaml/dist/parse/cst";
12 | import {
13 | JSONSchema4,
14 | JSONSchema4Object,
15 | JSONSchema4TypeName,
16 | } from "json-schema";
17 |
18 | import { flattenYaml } from "./flatten";
19 |
20 | interface ParsedComment {
21 | title: string;
22 | description: string;
23 | type?: JSONSchema4TypeName | JSONSchema4TypeName[];
24 | $ref?: string;
25 | required: boolean;
26 | items?: JSONSchema4Object;
27 | }
28 |
29 | interface YamlScalar {
30 | description?: string;
31 | type?: JSONSchema4TypeName[];
32 | required?: boolean;
33 | offset: number;
34 | key: string;
35 | value: any;
36 | children?: YamlScalar[];
37 | parent?: Token;
38 | comment?: ParsedComment;
39 | }
40 |
41 | function hasSep(
42 | object: any
43 | ): object is
44 | | CollectionItem
45 | | BlockSequence["items"][0]
46 | | BlockMap["items"][0]
47 | | BlockMap["items"][1] {
48 | return "sep" in object;
49 | }
50 |
51 | const hasKey = hasSep;
52 |
53 | function hasValue(
54 | object: any
55 | ): object is
56 | | CollectionItem
57 | | Document
58 | | BlockSequence["items"][0]
59 | | BlockMap["items"][0]
60 | | BlockMap["items"][1] {
61 | return "value" in object;
62 | }
63 |
64 | function hasItems(
65 | object: any
66 | ): object is BlockMap | BlockSequence | FlowCollection {
67 | return "items" in object;
68 | }
69 |
70 | /**
71 | * Parse node comment with JSDoc like annotations
72 | */
73 | const getCommentsSchema = (
74 | comments: SourceToken[]
75 | ): ParsedComment | undefined => {
76 | const source = comments.map((n) => n.source).join("\n");
77 | const parsedLines = commentParser(
78 | source
79 | .split("\n")
80 | .map((row) => row.trim().replace(/^\s*#+\s*-*\s*(.*)/gm, "/** $1 */"))
81 | .join("\n") // replaces starting with # or # --
82 | );
83 | const lastLine = parsedLines[parsedLines.length - 1];
84 | const description = parsedLines
85 | .map((line) => line.description)
86 | .filter(Boolean)
87 | .join("\n");
88 | if (lastLine && lastLine.tags && lastLine.tags.length) {
89 | const tag = lastLine.tags[0];
90 |
91 | let type;
92 | let isArray = false;
93 | if (tag.type) {
94 | if (tag.type.match(/^(.*)\[\]$/g)) {
95 | type = tag.type.replace(/^(.*)\[\]$/g, "$1");
96 | isArray = true;
97 | } else {
98 | type = tag.type.replace(/^(.*)$/g, "$1");
99 | }
100 | }
101 | const isExternalref = type && !!type.match(/^https?:\/\//);
102 | const name = lastLine?.source[0]?.tokens?.name || tag.name; // check if optiona [name]
103 |
104 | const comment: ParsedComment = {
105 | title: tag.description.replace(/^[\s-]+/g, ""),
106 | description,
107 | required: name ? name.indexOf("[") === -1 : true,
108 | };
109 |
110 | if (isArray) {
111 | comment.type = "array" as JSONSchema4TypeName;
112 | comment.items = {};
113 |
114 | if (isExternalref) {
115 | comment.items.$ref = type;
116 | } else {
117 | comment.items.type =
118 | type &&
119 | (type.replace(/(.*)\?$/, "$1").split(",") as JSONSchema4TypeName[]); // remove question mark
120 | }
121 | } else {
122 | if (isExternalref) {
123 | comment.$ref = type;
124 | } else {
125 | comment.type =
126 | type &&
127 | (type.replace(/(.*)\?$/, "$1").split(",") as JSONSchema4TypeName[]); // remove question mark
128 | }
129 | }
130 | return comment;
131 | }
132 | const title = lastLine?.source[0]?.tokens?.name;
133 | if (!title && !description) return;
134 | return {
135 | title,
136 | description,
137 | required: true,
138 | type: ["string", "boolean", "number", "object", "array"],
139 | };
140 | };
141 |
142 | const extractValuesFromTree = (
143 | root: Token[],
144 | child?: Token | CollectionItem
145 | ): YamlScalar[] => {
146 | const values = [];
147 | const node = child || root;
148 | if (hasKey(node) && node.key?.type === "scalar") {
149 | const scalar: YamlScalar = {
150 | type: undefined,
151 | required: undefined,
152 | offset: node.key.offset,
153 | key: node.key.source,
154 | // @ts-ignore
155 | value: node.value?.source,
156 | children: [],
157 | parent: undefined,
158 | };
159 |
160 | if (hasValue(node) && hasItems(node.value) && node.value.items.length) {
161 | scalar.children = node.value.items.flatMap((n) => {
162 | //@ts-ignore
163 | n.parent = node;
164 | return extractValuesFromTree(root, n);
165 | });
166 | scalar.type = ["object"];
167 | }
168 | values.push(scalar);
169 | }
170 |
171 | if (hasValue(node) && hasItems(node.value) && node.value.items.length) {
172 | node.value.items.forEach((item) => {
173 | // @ts-ignore
174 | if (!item.parent) {
175 | // @ts-ignore
176 | item.parent = node;
177 | values.push(...extractValuesFromTree(root, item));
178 | }
179 | });
180 | }
181 | return values;
182 | };
183 |
184 | const getComments = (nodes: (Token | SourceToken)[], offset: number) => {
185 | const remaining = nodes.filter((node) => node.offset < offset);
186 | let comments: SourceToken[] = [];
187 | let lastType: string;
188 | let finished = false;
189 | remaining.reverse().forEach((node) => {
190 | if (finished) {
191 | return;
192 | }
193 | if (node.type === "comment") {
194 | comments.push(node);
195 | } else if (node.type === "space" || node.type === "map-value-ind") {
196 | } else if (node.type === "newline") {
197 | if (lastType === "newline") {
198 | finished = true;
199 | }
200 | } else {
201 | finished = true;
202 | }
203 | lastType = node.type;
204 | });
205 | return comments.reverse();
206 | };
207 |
208 | const addCommentsSchemas = (
209 | values: YamlScalar[],
210 | nodes: (Token | SourceToken)[]
211 | ): void => {
212 | values.forEach((value) => {
213 | if (value.offset) {
214 | const comments = getComments(nodes, value.offset);
215 | if (comments && comments.length) {
216 | value.comment = getCommentsSchema(comments);
217 | }
218 | }
219 | if (value.children) {
220 | addCommentsSchemas(value.children, nodes);
221 | }
222 | });
223 | };
224 |
225 | const cleanUp = (values: YamlScalar[]) => {
226 | values.forEach((value) => {
227 | value.offset = undefined;
228 | if (value.children.length === 0) {
229 | value.children = undefined;
230 | } else {
231 | cleanUp(value.children);
232 | }
233 | });
234 | };
235 |
236 | const cleanUndefined = (object: YamlScalar[]): YamlScalar[] =>
237 | JSON.parse(JSON.stringify(object));
238 |
239 | export const extractValues = (yaml: string) => {
240 | const parsed = new Parser().parse(yaml);
241 |
242 | const tokens: Token[] = Array.from(parsed);
243 |
244 | const values = tokens.flatMap((token) =>
245 | extractValuesFromTree(tokens, token)
246 | );
247 |
248 | const flattenedNodes = flattenYaml(yaml);
249 |
250 | //@ts-ignore
251 | addCommentsSchemas(values, flattenedNodes);
252 | cleanUp(values);
253 | const cleaned = cleanUndefined(values);
254 | return cleaned;
255 | };
256 |
257 | // @ts-ignore
258 | const detectType = (some: any) =>
259 | ["string", "boolean", "number", "object", "array"] as JSONSchema4TypeName[];
260 |
261 | const nodeToJsonSchema = (node: YamlScalar, rootProps = {}): JSONSchema4 => {
262 | const schema: JSONSchema4 = {
263 | type: node.comment?.type || detectType(node.value),
264 | ...rootProps,
265 | };
266 | if (node.comment?.type) {
267 | schema.type = node.comment.type;
268 | }
269 | if (node.comment?.title) {
270 | schema.title = node.comment.title;
271 | }
272 | if (node.comment?.$ref) {
273 | schema.$ref = node.comment.$ref;
274 | delete schema.type;
275 | }
276 | if (node.comment?.items) {
277 | schema.items = node.comment.items;
278 | }
279 | if (node.comment?.description) {
280 | schema.description = node.comment.description;
281 | }
282 | if (node.value) {
283 | if (node.value.replace(/^\"\"$/, "").length) {
284 | schema.default = node.value.replace(/^\"\"$/, "");
285 | }
286 | }
287 |
288 | if (node.children?.length) {
289 | schema.type = "object";
290 | schema.required = node.children
291 | .filter((c) => c.comment?.required)
292 | .map((c) => c.key);
293 | schema.properties = node.children.reduce(
294 | (a, c) => ({
295 | ...a,
296 | [c.key]: nodeToJsonSchema(c),
297 | }),
298 | {}
299 | );
300 | }
301 | return schema;
302 | };
303 |
304 | export const toJsonSchema = (yaml: string, rootProps = {}): JSONSchema4 => {
305 | const values = extractValues(yaml.trim());
306 | const fullValues: YamlScalar = {
307 | key: "root",
308 | value: null,
309 | offset: 0,
310 | children: values,
311 | };
312 | const schema = nodeToJsonSchema(fullValues, {
313 | $schema: "http://json-schema.org/draft-07/schema",
314 | ...rootProps,
315 | });
316 | return schema;
317 | };
318 |
--------------------------------------------------------------------------------
/src/__snapshots__/index.test.ts.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`extractValues: JSDoc with multiple types 1`] = `
4 | [
5 | {
6 | "comment": {
7 | "description": "",
8 | "required": true,
9 | "title": "",
10 | "type": [
11 | "string",
12 | "null",
13 | ],
14 | },
15 | "key": "securityContext",
16 | },
17 | ]
18 | `;
19 |
20 | exports[`extractValues: JSDoc with ref array 1`] = `
21 | [
22 | {
23 | "comment": {
24 | "description": "",
25 | "items": {
26 | "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.EnvFromSource",
27 | },
28 | "required": true,
29 | "title": "",
30 | "type": "array",
31 | },
32 | "key": "envFrom",
33 | },
34 | ]
35 | `;
36 |
37 | exports[`extractValues: JSDoc with string array 1`] = `
38 | [
39 | {
40 | "comment": {
41 | "description": "",
42 | "items": {
43 | "type": [
44 | "string",
45 | ],
46 | },
47 | "required": true,
48 | "title": "",
49 | "type": "array",
50 | },
51 | "key": "command",
52 | },
53 | ]
54 | `;
55 |
56 | exports[`extractValues: YAML with comments 1`] = `
57 | [
58 | {
59 | "comment": {
60 | "description": "",
61 | "required": true,
62 | "title": "Your name",
63 | "type": [
64 | "string",
65 | ],
66 | },
67 | "key": "name",
68 | "value": "Jul",
69 | },
70 | {
71 | "comment": {
72 | "description": "",
73 | "required": true,
74 | "title": "Your age",
75 | "type": [
76 | "number",
77 | ],
78 | },
79 | "key": "age",
80 | "value": "42",
81 | },
82 | {
83 | "children": [
84 | {
85 | "comment": {
86 | "description": "",
87 | "required": false,
88 | "title": "Your country",
89 | "type": [
90 | "string",
91 | ],
92 | },
93 | "key": "country",
94 | "value": "FR",
95 | },
96 | ],
97 | "key": "location",
98 | "type": [
99 | "object",
100 | ],
101 | },
102 | ]
103 | `;
104 |
105 | exports[`extractValues: YAML with external references 1`] = `
106 | [
107 | {
108 | "comment": {
109 | "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext",
110 | "description": "Setup your securityContext to reduce security risks, see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
111 | "required": true,
112 | "title": "",
113 | },
114 | "key": "securityContext",
115 | },
116 | ]
117 | `;
118 |
119 | exports[`extractValues: YAML with multiline comment 1`] = `
120 | [
121 | {
122 | "children": [
123 | {
124 | "comment": {
125 | "description": "the mother is important in your life",
126 | "required": false,
127 | "title": "The mother",
128 | "type": [
129 | "object",
130 | ],
131 | },
132 | "key": "mother",
133 | },
134 | ],
135 | "comment": {
136 | "description": "family blablab
137 | more info about that crazy family",
138 | "required": true,
139 | "title": "",
140 | "type": [
141 | "string",
142 | "boolean",
143 | "number",
144 | "object",
145 | "array",
146 | ],
147 | },
148 | "key": "family",
149 | "type": [
150 | "object",
151 | ],
152 | },
153 | ]
154 | `;
155 |
156 | exports[`extractValues: YAML with nestedcomments 1`] = `
157 | [
158 | {
159 | "children": [
160 | {
161 | "children": [
162 | {
163 | "comment": {
164 | "description": "",
165 | "required": true,
166 | "title": "The mother's name",
167 | "type": [
168 | "string",
169 | ],
170 | },
171 | "key": "name",
172 | },
173 | {
174 | "children": [
175 | {
176 | "comment": {
177 | "description": "",
178 | "required": false,
179 | "title": "The mother mother's name",
180 | "type": [
181 | "string",
182 | ],
183 | },
184 | "key": "name",
185 | },
186 | ],
187 | "comment": {
188 | "description": "",
189 | "required": false,
190 | "title": "The mother's mother",
191 | "type": [
192 | "object",
193 | ],
194 | },
195 | "key": "mother",
196 | "type": [
197 | "object",
198 | ],
199 | },
200 | ],
201 | "comment": {
202 | "description": "",
203 | "required": true,
204 | "title": "The mother",
205 | "type": [
206 | "object",
207 | ],
208 | },
209 | "key": "mother",
210 | "type": [
211 | "object",
212 | ],
213 | },
214 | ],
215 | "key": "family",
216 | "type": [
217 | "object",
218 | ],
219 | },
220 | ]
221 | `;
222 |
223 | exports[`extractValues: YAML with sections 1`] = `
224 | [
225 | {
226 | "children": [
227 | {
228 | "comment": {
229 | "description": "",
230 | "required": false,
231 | "title": "The mother",
232 | "type": [
233 | "object",
234 | ],
235 | },
236 | "key": "mother",
237 | },
238 | ],
239 | "comment": {
240 | "description": "",
241 | "required": true,
242 | "title": "blablab",
243 | },
244 | "key": "family",
245 | "type": [
246 | "object",
247 | ],
248 | },
249 | ]
250 | `;
251 |
252 | exports[`extractValues: YAML without comment 1`] = `
253 | [
254 | {
255 | "key": "name",
256 | "value": "Jul",
257 | },
258 | {
259 | "key": "age",
260 | "value": "42",
261 | },
262 | {
263 | "children": [
264 | {
265 | "key": "country",
266 | "value": "FR",
267 | },
268 | ],
269 | "key": "location",
270 | "type": [
271 | "object",
272 | ],
273 | },
274 | ]
275 | `;
276 |
277 | exports[`extractValues: single-line 1`] = `
278 | [
279 | {
280 | "comment": {
281 | "description": "",
282 | "required": true,
283 | "title": "The magic number",
284 | "type": [
285 | "number",
286 | ],
287 | },
288 | "key": "number",
289 | "value": "42",
290 | },
291 | ]
292 | `;
293 |
294 | exports[`toJsonSchema: JSDoc with multiple types 1`] = `
295 | {
296 | "$schema": "http://json-schema.org/draft-07/schema",
297 | "properties": {
298 | "securityContext": {
299 | "type": [
300 | "string",
301 | "null",
302 | ],
303 | },
304 | },
305 | "required": [
306 | "securityContext",
307 | ],
308 | "type": "object",
309 | }
310 | `;
311 |
312 | exports[`toJsonSchema: JSDoc with ref array 1`] = `
313 | {
314 | "$schema": "http://json-schema.org/draft-07/schema",
315 | "properties": {
316 | "envFrom": {
317 | "items": {
318 | "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.EnvFromSource",
319 | },
320 | "type": "array",
321 | },
322 | },
323 | "required": [
324 | "envFrom",
325 | ],
326 | "type": "object",
327 | }
328 | `;
329 |
330 | exports[`toJsonSchema: JSDoc with string array 1`] = `
331 | {
332 | "$schema": "http://json-schema.org/draft-07/schema",
333 | "properties": {
334 | "command": {
335 | "items": {
336 | "type": [
337 | "string",
338 | ],
339 | },
340 | "type": "array",
341 | },
342 | },
343 | "required": [
344 | "command",
345 | ],
346 | "type": "object",
347 | }
348 | `;
349 |
350 | exports[`toJsonSchema: YAML with comments 1`] = `
351 | {
352 | "$schema": "http://json-schema.org/draft-07/schema",
353 | "properties": {
354 | "age": {
355 | "default": "42",
356 | "title": "Your age",
357 | "type": [
358 | "number",
359 | ],
360 | },
361 | "location": {
362 | "properties": {
363 | "country": {
364 | "default": "FR",
365 | "title": "Your country",
366 | "type": [
367 | "string",
368 | ],
369 | },
370 | },
371 | "required": [],
372 | "type": "object",
373 | },
374 | "name": {
375 | "default": "Jul",
376 | "title": "Your name",
377 | "type": [
378 | "string",
379 | ],
380 | },
381 | },
382 | "required": [
383 | "name",
384 | "age",
385 | ],
386 | "type": "object",
387 | }
388 | `;
389 |
390 | exports[`toJsonSchema: YAML with external references 1`] = `
391 | {
392 | "$schema": "http://json-schema.org/draft-07/schema",
393 | "properties": {
394 | "securityContext": {
395 | "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.PodSecurityContext",
396 | "description": "Setup your securityContext to reduce security risks, see https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
397 | },
398 | },
399 | "required": [
400 | "securityContext",
401 | ],
402 | "type": "object",
403 | }
404 | `;
405 |
406 | exports[`toJsonSchema: YAML with multiline comment 1`] = `
407 | {
408 | "$schema": "http://json-schema.org/draft-07/schema",
409 | "properties": {
410 | "family": {
411 | "description": "family blablab
412 | more info about that crazy family",
413 | "properties": {
414 | "mother": {
415 | "description": "the mother is important in your life",
416 | "title": "The mother",
417 | "type": [
418 | "object",
419 | ],
420 | },
421 | },
422 | "required": [],
423 | "type": "object",
424 | },
425 | },
426 | "required": [
427 | "family",
428 | ],
429 | "type": "object",
430 | }
431 | `;
432 |
433 | exports[`toJsonSchema: YAML with nestedcomments 1`] = `
434 | {
435 | "$schema": "http://json-schema.org/draft-07/schema",
436 | "properties": {
437 | "family": {
438 | "properties": {
439 | "mother": {
440 | "properties": {
441 | "mother": {
442 | "properties": {
443 | "name": {
444 | "title": "The mother mother's name",
445 | "type": [
446 | "string",
447 | ],
448 | },
449 | },
450 | "required": [],
451 | "title": "The mother's mother",
452 | "type": "object",
453 | },
454 | "name": {
455 | "title": "The mother's name",
456 | "type": [
457 | "string",
458 | ],
459 | },
460 | },
461 | "required": [
462 | "name",
463 | ],
464 | "title": "The mother",
465 | "type": "object",
466 | },
467 | },
468 | "required": [
469 | "mother",
470 | ],
471 | "type": "object",
472 | },
473 | },
474 | "required": [],
475 | "type": "object",
476 | }
477 | `;
478 |
479 | exports[`toJsonSchema: YAML with sections 1`] = `
480 | {
481 | "$schema": "http://json-schema.org/draft-07/schema",
482 | "properties": {
483 | "family": {
484 | "properties": {
485 | "mother": {
486 | "title": "The mother",
487 | "type": [
488 | "object",
489 | ],
490 | },
491 | },
492 | "required": [],
493 | "title": "blablab",
494 | "type": "object",
495 | },
496 | },
497 | "required": [
498 | "family",
499 | ],
500 | "type": "object",
501 | }
502 | `;
503 |
504 | exports[`toJsonSchema: YAML without comment 1`] = `
505 | {
506 | "$schema": "http://json-schema.org/draft-07/schema",
507 | "properties": {
508 | "age": {
509 | "default": "42",
510 | "type": [
511 | "string",
512 | "boolean",
513 | "number",
514 | "object",
515 | "array",
516 | ],
517 | },
518 | "location": {
519 | "properties": {
520 | "country": {
521 | "default": "FR",
522 | "type": [
523 | "string",
524 | "boolean",
525 | "number",
526 | "object",
527 | "array",
528 | ],
529 | },
530 | },
531 | "required": [],
532 | "type": "object",
533 | },
534 | "name": {
535 | "default": "Jul",
536 | "type": [
537 | "string",
538 | "boolean",
539 | "number",
540 | "object",
541 | "array",
542 | ],
543 | },
544 | },
545 | "required": [],
546 | "type": "object",
547 | }
548 | `;
549 |
550 | exports[`toJsonSchema: add root properties 1`] = `
551 | {
552 | "$id": "some-id",
553 | "$schema": "http://json-schema.org/draft-07/schema",
554 | "properties": {
555 | "some": {
556 | "default": "thing",
557 | "title": "Some optional string",
558 | "type": [
559 | "string",
560 | ],
561 | },
562 | },
563 | "required": [],
564 | "title": "schema title",
565 | "type": "object",
566 | }
567 | `;
568 |
569 | exports[`toJsonSchema: single-line 1`] = `
570 | {
571 | "$schema": "http://json-schema.org/draft-07/schema",
572 | "properties": {
573 | "number": {
574 | "default": "42",
575 | "title": "The magic number",
576 | "type": [
577 | "number",
578 | ],
579 | },
580 | },
581 | "required": [
582 | "number",
583 | ],
584 | "type": "object",
585 | }
586 | `;
587 |
--------------------------------------------------------------------------------
/demo/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@aashutoshrathi/word-wrap@^1.2.3":
6 | version "1.2.6"
7 | resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
8 | integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
9 |
10 | "@ampproject/remapping@^2.2.0":
11 | version "2.2.1"
12 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
13 | integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
14 | dependencies:
15 | "@jridgewell/gen-mapping" "^0.3.0"
16 | "@jridgewell/trace-mapping" "^0.3.9"
17 |
18 | "@babel/code-frame@^7.22.5":
19 | version "7.22.5"
20 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658"
21 | integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==
22 | dependencies:
23 | "@babel/highlight" "^7.22.5"
24 |
25 | "@babel/compat-data@^7.22.9":
26 | version "7.22.9"
27 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730"
28 | integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==
29 |
30 | "@babel/core@^7.22.9":
31 | version "7.22.9"
32 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.9.tgz#bd96492c68822198f33e8a256061da3cf391f58f"
33 | integrity sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==
34 | dependencies:
35 | "@ampproject/remapping" "^2.2.0"
36 | "@babel/code-frame" "^7.22.5"
37 | "@babel/generator" "^7.22.9"
38 | "@babel/helper-compilation-targets" "^7.22.9"
39 | "@babel/helper-module-transforms" "^7.22.9"
40 | "@babel/helpers" "^7.22.6"
41 | "@babel/parser" "^7.22.7"
42 | "@babel/template" "^7.22.5"
43 | "@babel/traverse" "^7.22.8"
44 | "@babel/types" "^7.22.5"
45 | convert-source-map "^1.7.0"
46 | debug "^4.1.0"
47 | gensync "^1.0.0-beta.2"
48 | json5 "^2.2.2"
49 | semver "^6.3.1"
50 |
51 | "@babel/generator@^7.22.7", "@babel/generator@^7.22.9":
52 | version "7.22.9"
53 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.9.tgz#572ecfa7a31002fa1de2a9d91621fd895da8493d"
54 | integrity sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==
55 | dependencies:
56 | "@babel/types" "^7.22.5"
57 | "@jridgewell/gen-mapping" "^0.3.2"
58 | "@jridgewell/trace-mapping" "^0.3.17"
59 | jsesc "^2.5.1"
60 |
61 | "@babel/helper-annotate-as-pure@^7.22.5":
62 | version "7.22.5"
63 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
64 | integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==
65 | dependencies:
66 | "@babel/types" "^7.22.5"
67 |
68 | "@babel/helper-compilation-targets@^7.22.9":
69 | version "7.22.9"
70 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz#f9d0a7aaaa7cd32a3f31c9316a69f5a9bcacb892"
71 | integrity sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==
72 | dependencies:
73 | "@babel/compat-data" "^7.22.9"
74 | "@babel/helper-validator-option" "^7.22.5"
75 | browserslist "^4.21.9"
76 | lru-cache "^5.1.1"
77 | semver "^6.3.1"
78 |
79 | "@babel/helper-environment-visitor@^7.22.5":
80 | version "7.22.5"
81 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98"
82 | integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==
83 |
84 | "@babel/helper-function-name@^7.22.5":
85 | version "7.22.5"
86 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be"
87 | integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==
88 | dependencies:
89 | "@babel/template" "^7.22.5"
90 | "@babel/types" "^7.22.5"
91 |
92 | "@babel/helper-hoist-variables@^7.22.5":
93 | version "7.22.5"
94 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
95 | integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
96 | dependencies:
97 | "@babel/types" "^7.22.5"
98 |
99 | "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.5":
100 | version "7.22.5"
101 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c"
102 | integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==
103 | dependencies:
104 | "@babel/types" "^7.22.5"
105 |
106 | "@babel/helper-module-transforms@^7.22.9":
107 | version "7.22.9"
108 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz#92dfcb1fbbb2bc62529024f72d942a8c97142129"
109 | integrity sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==
110 | dependencies:
111 | "@babel/helper-environment-visitor" "^7.22.5"
112 | "@babel/helper-module-imports" "^7.22.5"
113 | "@babel/helper-simple-access" "^7.22.5"
114 | "@babel/helper-split-export-declaration" "^7.22.6"
115 | "@babel/helper-validator-identifier" "^7.22.5"
116 |
117 | "@babel/helper-plugin-utils@^7.22.5":
118 | version "7.22.5"
119 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
120 | integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
121 |
122 | "@babel/helper-simple-access@^7.22.5":
123 | version "7.22.5"
124 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
125 | integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==
126 | dependencies:
127 | "@babel/types" "^7.22.5"
128 |
129 | "@babel/helper-split-export-declaration@^7.22.6":
130 | version "7.22.6"
131 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
132 | integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
133 | dependencies:
134 | "@babel/types" "^7.22.5"
135 |
136 | "@babel/helper-string-parser@^7.22.5":
137 | version "7.22.5"
138 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
139 | integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
140 |
141 | "@babel/helper-validator-identifier@^7.22.5":
142 | version "7.22.5"
143 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193"
144 | integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==
145 |
146 | "@babel/helper-validator-option@^7.22.5":
147 | version "7.22.5"
148 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac"
149 | integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==
150 |
151 | "@babel/helpers@^7.22.6":
152 | version "7.22.6"
153 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.6.tgz#8e61d3395a4f0c5a8060f309fb008200969b5ecd"
154 | integrity sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==
155 | dependencies:
156 | "@babel/template" "^7.22.5"
157 | "@babel/traverse" "^7.22.6"
158 | "@babel/types" "^7.22.5"
159 |
160 | "@babel/highlight@^7.22.5":
161 | version "7.22.5"
162 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031"
163 | integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==
164 | dependencies:
165 | "@babel/helper-validator-identifier" "^7.22.5"
166 | chalk "^2.0.0"
167 | js-tokens "^4.0.0"
168 |
169 | "@babel/parser@^7.22.5", "@babel/parser@^7.22.7":
170 | version "7.22.7"
171 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.7.tgz#df8cf085ce92ddbdbf668a7f186ce848c9036cae"
172 | integrity sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==
173 |
174 | "@babel/plugin-syntax-jsx@^7.22.5":
175 | version "7.22.5"
176 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918"
177 | integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==
178 | dependencies:
179 | "@babel/helper-plugin-utils" "^7.22.5"
180 |
181 | "@babel/plugin-transform-react-jsx-self@^7.22.5":
182 | version "7.22.5"
183 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz#ca2fdc11bc20d4d46de01137318b13d04e481d8e"
184 | integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==
185 | dependencies:
186 | "@babel/helper-plugin-utils" "^7.22.5"
187 |
188 | "@babel/plugin-transform-react-jsx-source@^7.22.5":
189 | version "7.22.5"
190 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz#49af1615bfdf6ed9d3e9e43e425e0b2b65d15b6c"
191 | integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==
192 | dependencies:
193 | "@babel/helper-plugin-utils" "^7.22.5"
194 |
195 | "@babel/runtime@^7.18.6":
196 | version "7.22.6"
197 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438"
198 | integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==
199 | dependencies:
200 | regenerator-runtime "^0.13.11"
201 |
202 | "@babel/template@^7.22.5":
203 | version "7.22.5"
204 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec"
205 | integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==
206 | dependencies:
207 | "@babel/code-frame" "^7.22.5"
208 | "@babel/parser" "^7.22.5"
209 | "@babel/types" "^7.22.5"
210 |
211 | "@babel/traverse@^7.22.6", "@babel/traverse@^7.22.8", "@babel/traverse@^7.4.5":
212 | version "7.22.8"
213 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.8.tgz#4d4451d31bc34efeae01eac222b514a77aa4000e"
214 | integrity sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==
215 | dependencies:
216 | "@babel/code-frame" "^7.22.5"
217 | "@babel/generator" "^7.22.7"
218 | "@babel/helper-environment-visitor" "^7.22.5"
219 | "@babel/helper-function-name" "^7.22.5"
220 | "@babel/helper-hoist-variables" "^7.22.5"
221 | "@babel/helper-split-export-declaration" "^7.22.6"
222 | "@babel/parser" "^7.22.7"
223 | "@babel/types" "^7.22.5"
224 | debug "^4.1.0"
225 | globals "^11.1.0"
226 |
227 | "@babel/types@^7.22.5":
228 | version "7.22.5"
229 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe"
230 | integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==
231 | dependencies:
232 | "@babel/helper-string-parser" "^7.22.5"
233 | "@babel/helper-validator-identifier" "^7.22.5"
234 | to-fast-properties "^2.0.0"
235 |
236 | "@emotion/is-prop-valid@^1.1.0":
237 | version "1.2.1"
238 | resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc"
239 | integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==
240 | dependencies:
241 | "@emotion/memoize" "^0.8.1"
242 |
243 | "@emotion/memoize@^0.8.1":
244 | version "0.8.1"
245 | resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17"
246 | integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==
247 |
248 | "@emotion/stylis@^0.8.4":
249 | version "0.8.5"
250 | resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04"
251 | integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
252 |
253 | "@emotion/unitless@^0.7.4":
254 | version "0.7.5"
255 | resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
256 | integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
257 |
258 | "@esbuild/android-arm64@0.18.17":
259 | version "0.18.17"
260 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz#9e00eb6865ed5f2dbe71a1e96f2c52254cd92903"
261 | integrity sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==
262 |
263 | "@esbuild/android-arm@0.18.17":
264 | version "0.18.17"
265 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.17.tgz#1aa013b65524f4e9f794946b415b32ae963a4618"
266 | integrity sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==
267 |
268 | "@esbuild/android-x64@0.18.17":
269 | version "0.18.17"
270 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.17.tgz#c2bd0469b04ded352de011fae34a7a1d4dcecb79"
271 | integrity sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==
272 |
273 | "@esbuild/darwin-arm64@0.18.17":
274 | version "0.18.17"
275 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz#0c21a59cb5bd7a2cec66c7a42431dca42aefeddd"
276 | integrity sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==
277 |
278 | "@esbuild/darwin-x64@0.18.17":
279 | version "0.18.17"
280 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz#92f8763ff6f97dff1c28a584da7b51b585e87a7b"
281 | integrity sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==
282 |
283 | "@esbuild/freebsd-arm64@0.18.17":
284 | version "0.18.17"
285 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz#934f74bdf4022e143ba2f21d421b50fd0fead8f8"
286 | integrity sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==
287 |
288 | "@esbuild/freebsd-x64@0.18.17":
289 | version "0.18.17"
290 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz#16b6e90ba26ecc865eab71c56696258ec7f5d8bf"
291 | integrity sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==
292 |
293 | "@esbuild/linux-arm64@0.18.17":
294 | version "0.18.17"
295 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz#179a58e8d4c72116eb068563629349f8f4b48072"
296 | integrity sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==
297 |
298 | "@esbuild/linux-arm@0.18.17":
299 | version "0.18.17"
300 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz#9d78cf87a310ae9ed985c3915d5126578665c7b5"
301 | integrity sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==
302 |
303 | "@esbuild/linux-ia32@0.18.17":
304 | version "0.18.17"
305 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz#6fed202602d37361bca376c9d113266a722a908c"
306 | integrity sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==
307 |
308 | "@esbuild/linux-loong64@0.18.17":
309 | version "0.18.17"
310 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz#cdc60304830be1e74560c704bfd72cab8a02fa06"
311 | integrity sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==
312 |
313 | "@esbuild/linux-mips64el@0.18.17":
314 | version "0.18.17"
315 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz#c367b2855bb0902f5576291a2049812af2088086"
316 | integrity sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==
317 |
318 | "@esbuild/linux-ppc64@0.18.17":
319 | version "0.18.17"
320 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz#7fdc0083d42d64a4651711ee0a7964f489242f45"
321 | integrity sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==
322 |
323 | "@esbuild/linux-riscv64@0.18.17":
324 | version "0.18.17"
325 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz#5198a417f3f5b86b10c95647b8bc032e5b6b2b1c"
326 | integrity sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==
327 |
328 | "@esbuild/linux-s390x@0.18.17":
329 | version "0.18.17"
330 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz#7459c2fecdee2d582f0697fb76a4041f4ad1dd1e"
331 | integrity sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==
332 |
333 | "@esbuild/linux-x64@0.18.17":
334 | version "0.18.17"
335 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz#948cdbf46d81c81ebd7225a7633009bc56a4488c"
336 | integrity sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==
337 |
338 | "@esbuild/netbsd-x64@0.18.17":
339 | version "0.18.17"
340 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz#6bb89668c0e093c5a575ded08e1d308bd7fd63e7"
341 | integrity sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==
342 |
343 | "@esbuild/openbsd-x64@0.18.17":
344 | version "0.18.17"
345 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz#abac2ae75fef820ef6c2c48da4666d092584c79d"
346 | integrity sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==
347 |
348 | "@esbuild/sunos-x64@0.18.17":
349 | version "0.18.17"
350 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz#74a45fe1db8ea96898f1a9bb401dcf1dadfc8371"
351 | integrity sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==
352 |
353 | "@esbuild/win32-arm64@0.18.17":
354 | version "0.18.17"
355 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz#fd95ffd217995589058a4ed8ac17ee72a3d7f615"
356 | integrity sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==
357 |
358 | "@esbuild/win32-ia32@0.18.17":
359 | version "0.18.17"
360 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz#9b7ef5d0df97593a80f946b482e34fcba3fa4aaf"
361 | integrity sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==
362 |
363 | "@esbuild/win32-x64@0.18.17":
364 | version "0.18.17"
365 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz#bcb2e042631b3c15792058e189ed879a22b2968b"
366 | integrity sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==
367 |
368 | "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
369 | version "4.4.0"
370 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
371 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
372 | dependencies:
373 | eslint-visitor-keys "^3.3.0"
374 |
375 | "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
376 | version "4.6.2"
377 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8"
378 | integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==
379 |
380 | "@eslint/eslintrc@^2.1.2":
381 | version "2.1.2"
382 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396"
383 | integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==
384 | dependencies:
385 | ajv "^6.12.4"
386 | debug "^4.3.2"
387 | espree "^9.6.0"
388 | globals "^13.19.0"
389 | ignore "^5.2.0"
390 | import-fresh "^3.2.1"
391 | js-yaml "^4.1.0"
392 | minimatch "^3.1.2"
393 | strip-json-comments "^3.1.1"
394 |
395 | "@eslint/js@8.48.0":
396 | version "8.48.0"
397 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.48.0.tgz#642633964e217905436033a2bd08bf322849b7fb"
398 | integrity sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==
399 |
400 | "@humanwhocodes/config-array@^0.11.10":
401 | version "0.11.10"
402 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2"
403 | integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==
404 | dependencies:
405 | "@humanwhocodes/object-schema" "^1.2.1"
406 | debug "^4.1.1"
407 | minimatch "^3.0.5"
408 |
409 | "@humanwhocodes/module-importer@^1.0.1":
410 | version "1.0.1"
411 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
412 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
413 |
414 | "@humanwhocodes/object-schema@^1.2.1":
415 | version "1.2.1"
416 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
417 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
418 |
419 | "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
420 | version "0.3.3"
421 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
422 | integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
423 | dependencies:
424 | "@jridgewell/set-array" "^1.0.1"
425 | "@jridgewell/sourcemap-codec" "^1.4.10"
426 | "@jridgewell/trace-mapping" "^0.3.9"
427 |
428 | "@jridgewell/resolve-uri@3.1.0":
429 | version "3.1.0"
430 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
431 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
432 |
433 | "@jridgewell/set-array@^1.0.1":
434 | version "1.1.2"
435 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
436 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
437 |
438 | "@jridgewell/sourcemap-codec@1.4.14":
439 | version "1.4.14"
440 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
441 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
442 |
443 | "@jridgewell/sourcemap-codec@^1.4.10":
444 | version "1.4.15"
445 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
446 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
447 |
448 | "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
449 | version "0.3.18"
450 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
451 | integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
452 | dependencies:
453 | "@jridgewell/resolve-uri" "3.1.0"
454 | "@jridgewell/sourcemap-codec" "1.4.14"
455 |
456 | "@nodelib/fs.scandir@2.1.5":
457 | version "2.1.5"
458 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
459 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
460 | dependencies:
461 | "@nodelib/fs.stat" "2.0.5"
462 | run-parallel "^1.1.9"
463 |
464 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
465 | version "2.0.5"
466 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
467 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
468 |
469 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
470 | version "1.2.8"
471 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
472 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
473 | dependencies:
474 | "@nodelib/fs.scandir" "2.1.5"
475 | fastq "^1.6.0"
476 |
477 | "@socialgouv/helm-schema@^1.2.4":
478 | version "1.2.4"
479 | resolved "https://registry.yarnpkg.com/@socialgouv/helm-schema/-/helm-schema-1.2.4.tgz#3841453761912677abf5da677279648cc1a4ae53"
480 | integrity sha512-Am4TLkBfKqhH+FkUptey2PDssh64g2maLXs+wA9+GQ8D2E+4O/GdI/StVIYsb+Akd4ORy5y55p6hZ86rbxCQwg==
481 | dependencies:
482 | comment-parser "^1.4.0"
483 | yaml "^2.3.2"
484 |
485 | "@types/hast@^2.0.0":
486 | version "2.3.5"
487 | resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.5.tgz#08caac88b44d0fdd04dc17a19142355f43bd8a7a"
488 | integrity sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==
489 | dependencies:
490 | "@types/unist" "^2"
491 |
492 | "@types/json-schema@^7.0.12":
493 | version "7.0.12"
494 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb"
495 | integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==
496 |
497 | "@types/node@^20.5.7":
498 | version "20.5.7"
499 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.7.tgz#4b8ecac87fbefbc92f431d09c30e176fc0a7c377"
500 | integrity sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==
501 |
502 | "@types/parse5@^6.0.0":
503 | version "6.0.3"
504 | resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb"
505 | integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==
506 |
507 | "@types/prismjs@^1.0.0":
508 | version "1.26.0"
509 | resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.0.tgz#a1c3809b0ad61c62cac6d4e0c56d610c910b7654"
510 | integrity sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==
511 |
512 | "@types/prop-types@*":
513 | version "15.7.5"
514 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
515 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
516 |
517 | "@types/react-dom@^18.2.7":
518 | version "18.2.7"
519 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.7.tgz#67222a08c0a6ae0a0da33c3532348277c70abb63"
520 | integrity sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==
521 | dependencies:
522 | "@types/react" "*"
523 |
524 | "@types/react@*":
525 | version "18.2.18"
526 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.18.tgz#c8b233919eef1bdc294f6f34b37f9727ad677516"
527 | integrity sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==
528 | dependencies:
529 | "@types/prop-types" "*"
530 | "@types/scheduler" "*"
531 | csstype "^3.0.2"
532 |
533 | "@types/react@^18.2.21":
534 | version "18.2.21"
535 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.21.tgz#774c37fd01b522d0b91aed04811b58e4e0514ed9"
536 | integrity sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==
537 | dependencies:
538 | "@types/prop-types" "*"
539 | "@types/scheduler" "*"
540 | csstype "^3.0.2"
541 |
542 | "@types/scheduler@*":
543 | version "0.16.3"
544 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5"
545 | integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==
546 |
547 | "@types/semver@^7.5.0":
548 | version "7.5.0"
549 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a"
550 | integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==
551 |
552 | "@types/unist@^2", "@types/unist@^2.0.0":
553 | version "2.0.7"
554 | resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.7.tgz#5b06ad6894b236a1d2bd6b2f07850ca5c59cf4d6"
555 | integrity sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==
556 |
557 | "@typescript-eslint/eslint-plugin@^6.5.0":
558 | version "6.5.0"
559 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.5.0.tgz#5cee33edf0d45d5ec773e3b3111206b098ac8599"
560 | integrity sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==
561 | dependencies:
562 | "@eslint-community/regexpp" "^4.5.1"
563 | "@typescript-eslint/scope-manager" "6.5.0"
564 | "@typescript-eslint/type-utils" "6.5.0"
565 | "@typescript-eslint/utils" "6.5.0"
566 | "@typescript-eslint/visitor-keys" "6.5.0"
567 | debug "^4.3.4"
568 | graphemer "^1.4.0"
569 | ignore "^5.2.4"
570 | natural-compare "^1.4.0"
571 | semver "^7.5.4"
572 | ts-api-utils "^1.0.1"
573 |
574 | "@typescript-eslint/parser@^6.5.0":
575 | version "6.5.0"
576 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.5.0.tgz#3d6ed231c5e307c5f5f4a0d86893ec01e92b8c77"
577 | integrity sha512-LMAVtR5GN8nY0G0BadkG0XIe4AcNMeyEy3DyhKGAh9k4pLSMBO7rF29JvDBpZGCmp5Pgz5RLHP6eCpSYZJQDuQ==
578 | dependencies:
579 | "@typescript-eslint/scope-manager" "6.5.0"
580 | "@typescript-eslint/types" "6.5.0"
581 | "@typescript-eslint/typescript-estree" "6.5.0"
582 | "@typescript-eslint/visitor-keys" "6.5.0"
583 | debug "^4.3.4"
584 |
585 | "@typescript-eslint/scope-manager@6.5.0":
586 | version "6.5.0"
587 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.5.0.tgz#f2cb20895aaad41b3ad27cc3a338ce8598f261c5"
588 | integrity sha512-A8hZ7OlxURricpycp5kdPTH3XnjG85UpJS6Fn4VzeoH4T388gQJ/PGP4ole5NfKt4WDVhmLaQ/dBLNDC4Xl/Kw==
589 | dependencies:
590 | "@typescript-eslint/types" "6.5.0"
591 | "@typescript-eslint/visitor-keys" "6.5.0"
592 |
593 | "@typescript-eslint/type-utils@6.5.0":
594 | version "6.5.0"
595 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.5.0.tgz#6d246c93739282bc0d2e623f28d0dec6cfcc38d7"
596 | integrity sha512-f7OcZOkRivtujIBQ4yrJNIuwyCQO1OjocVqntl9dgSIZAdKqicj3xFDqDOzHDlGCZX990LqhLQXWRnQvsapq8A==
597 | dependencies:
598 | "@typescript-eslint/typescript-estree" "6.5.0"
599 | "@typescript-eslint/utils" "6.5.0"
600 | debug "^4.3.4"
601 | ts-api-utils "^1.0.1"
602 |
603 | "@typescript-eslint/types@6.5.0":
604 | version "6.5.0"
605 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.5.0.tgz#f4e55cfd99ac5346ea772770bf212a3e689a8f04"
606 | integrity sha512-eqLLOEF5/lU8jW3Bw+8auf4lZSbbljHR2saKnYqON12G/WsJrGeeDHWuQePoEf9ro22+JkbPfWQwKEC5WwLQ3w==
607 |
608 | "@typescript-eslint/typescript-estree@6.5.0":
609 | version "6.5.0"
610 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.5.0.tgz#1cef6bc822585e9ef89d88834bc902d911d747ed"
611 | integrity sha512-q0rGwSe9e5Kk/XzliB9h2LBc9tmXX25G0833r7kffbl5437FPWb2tbpIV9wAATebC/018pGa9fwPDuvGN+LxWQ==
612 | dependencies:
613 | "@typescript-eslint/types" "6.5.0"
614 | "@typescript-eslint/visitor-keys" "6.5.0"
615 | debug "^4.3.4"
616 | globby "^11.1.0"
617 | is-glob "^4.0.3"
618 | semver "^7.5.4"
619 | ts-api-utils "^1.0.1"
620 |
621 | "@typescript-eslint/utils@6.5.0":
622 | version "6.5.0"
623 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.5.0.tgz#6668bee4f7f24978b11df8a2ea42d56eebc4662c"
624 | integrity sha512-9nqtjkNykFzeVtt9Pj6lyR9WEdd8npPhhIPM992FWVkZuS6tmxHfGVnlUcjpUP2hv8r4w35nT33mlxd+Be1ACQ==
625 | dependencies:
626 | "@eslint-community/eslint-utils" "^4.4.0"
627 | "@types/json-schema" "^7.0.12"
628 | "@types/semver" "^7.5.0"
629 | "@typescript-eslint/scope-manager" "6.5.0"
630 | "@typescript-eslint/types" "6.5.0"
631 | "@typescript-eslint/typescript-estree" "6.5.0"
632 | semver "^7.5.4"
633 |
634 | "@typescript-eslint/visitor-keys@6.5.0":
635 | version "6.5.0"
636 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.5.0.tgz#1a6f474a0170a447b76f0699ce6700110fd11436"
637 | integrity sha512-yCB/2wkbv3hPsh02ZS8dFQnij9VVQXJMN/gbQsaaY+zxALkZnxa/wagvLEFsAWMPv7d7lxQmNsIzGU1w/T/WyA==
638 | dependencies:
639 | "@typescript-eslint/types" "6.5.0"
640 | eslint-visitor-keys "^3.4.1"
641 |
642 | "@uiw/react-textarea-code-editor@^2.1.7":
643 | version "2.1.7"
644 | resolved "https://registry.yarnpkg.com/@uiw/react-textarea-code-editor/-/react-textarea-code-editor-2.1.7.tgz#f67a190e3f2b4627268e0d17600bbbe396545c33"
645 | integrity sha512-mh3+PLiWPM9eclpdQ16jhm1mlS9IEwwiNkfQX34RACB9M0p7JoSI8Tq0T+3sTgbGzgwkrruOvsXUY6NKYLohZQ==
646 | dependencies:
647 | "@babel/runtime" "^7.18.6"
648 | rehype "~12.0.1"
649 | rehype-prism-plus "1.5.0"
650 |
651 | "@vitejs/plugin-react@^4.0.4":
652 | version "4.0.4"
653 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.0.4.tgz#31c3f779dc534e045c4b134e7cf7b150af0a7646"
654 | integrity sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g==
655 | dependencies:
656 | "@babel/core" "^7.22.9"
657 | "@babel/plugin-transform-react-jsx-self" "^7.22.5"
658 | "@babel/plugin-transform-react-jsx-source" "^7.22.5"
659 | react-refresh "^0.14.0"
660 |
661 | acorn-jsx@^5.3.2:
662 | version "5.3.2"
663 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
664 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
665 |
666 | acorn@^8.9.0:
667 | version "8.10.0"
668 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
669 | integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
670 |
671 | ajv@^6.12.4:
672 | version "6.12.6"
673 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
674 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
675 | dependencies:
676 | fast-deep-equal "^3.1.1"
677 | fast-json-stable-stringify "^2.0.0"
678 | json-schema-traverse "^0.4.1"
679 | uri-js "^4.2.2"
680 |
681 | ansi-regex@^5.0.1:
682 | version "5.0.1"
683 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
684 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
685 |
686 | ansi-styles@^3.2.1:
687 | version "3.2.1"
688 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
689 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
690 | dependencies:
691 | color-convert "^1.9.0"
692 |
693 | ansi-styles@^4.1.0:
694 | version "4.3.0"
695 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
696 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
697 | dependencies:
698 | color-convert "^2.0.1"
699 |
700 | argparse@^2.0.1:
701 | version "2.0.1"
702 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
703 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
704 |
705 | array-union@^2.1.0:
706 | version "2.1.0"
707 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
708 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
709 |
710 | "babel-plugin-styled-components@>= 1.12.0":
711 | version "2.1.4"
712 | resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz#9a1f37c7f32ef927b4b008b529feb4a2c82b1092"
713 | integrity sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==
714 | dependencies:
715 | "@babel/helper-annotate-as-pure" "^7.22.5"
716 | "@babel/helper-module-imports" "^7.22.5"
717 | "@babel/plugin-syntax-jsx" "^7.22.5"
718 | lodash "^4.17.21"
719 | picomatch "^2.3.1"
720 |
721 | bail@^2.0.0:
722 | version "2.0.2"
723 | resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
724 | integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
725 |
726 | balanced-match@^1.0.0:
727 | version "1.0.2"
728 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
729 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
730 |
731 | brace-expansion@^1.1.7:
732 | version "1.1.11"
733 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
734 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
735 | dependencies:
736 | balanced-match "^1.0.0"
737 | concat-map "0.0.1"
738 |
739 | braces@^3.0.2:
740 | version "3.0.2"
741 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
742 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
743 | dependencies:
744 | fill-range "^7.0.1"
745 |
746 | browserslist@^4.21.9:
747 | version "4.21.10"
748 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0"
749 | integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==
750 | dependencies:
751 | caniuse-lite "^1.0.30001517"
752 | electron-to-chromium "^1.4.477"
753 | node-releases "^2.0.13"
754 | update-browserslist-db "^1.0.11"
755 |
756 | callsites@^3.0.0:
757 | version "3.1.0"
758 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
759 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
760 |
761 | camelize@^1.0.0:
762 | version "1.0.1"
763 | resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3"
764 | integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==
765 |
766 | caniuse-lite@^1.0.30001517:
767 | version "1.0.30001519"
768 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz#3e7b8b8a7077e78b0eb054d69e6edf5c7df35601"
769 | integrity sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==
770 |
771 | ccount@^2.0.0:
772 | version "2.0.1"
773 | resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5"
774 | integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==
775 |
776 | chalk@^2.0.0:
777 | version "2.4.2"
778 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
779 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
780 | dependencies:
781 | ansi-styles "^3.2.1"
782 | escape-string-regexp "^1.0.5"
783 | supports-color "^5.3.0"
784 |
785 | chalk@^4.0.0:
786 | version "4.1.2"
787 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
788 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
789 | dependencies:
790 | ansi-styles "^4.1.0"
791 | supports-color "^7.1.0"
792 |
793 | character-entities-html4@^2.0.0:
794 | version "2.1.0"
795 | resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b"
796 | integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==
797 |
798 | character-entities-legacy@^3.0.0:
799 | version "3.0.0"
800 | resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b"
801 | integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==
802 |
803 | character-entities@^2.0.0:
804 | version "2.0.2"
805 | resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22"
806 | integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==
807 |
808 | character-reference-invalid@^2.0.0:
809 | version "2.0.1"
810 | resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
811 | integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==
812 |
813 | color-convert@^1.9.0:
814 | version "1.9.3"
815 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
816 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
817 | dependencies:
818 | color-name "1.1.3"
819 |
820 | color-convert@^2.0.1:
821 | version "2.0.1"
822 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
823 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
824 | dependencies:
825 | color-name "~1.1.4"
826 |
827 | color-name@1.1.3:
828 | version "1.1.3"
829 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
830 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
831 |
832 | color-name@~1.1.4:
833 | version "1.1.4"
834 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
835 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
836 |
837 | comma-separated-tokens@^2.0.0:
838 | version "2.0.3"
839 | resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee"
840 | integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==
841 |
842 | comment-parser@^1.4.0:
843 | version "1.4.0"
844 | resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.4.0.tgz#0f8c560f59698193854f12884c20c0e39a26d32c"
845 | integrity sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==
846 |
847 | concat-map@0.0.1:
848 | version "0.0.1"
849 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
850 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
851 |
852 | convert-source-map@^1.7.0:
853 | version "1.9.0"
854 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
855 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
856 |
857 | cross-spawn@^7.0.2:
858 | version "7.0.3"
859 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
860 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
861 | dependencies:
862 | path-key "^3.1.0"
863 | shebang-command "^2.0.0"
864 | which "^2.0.1"
865 |
866 | css-color-keywords@^1.0.0:
867 | version "1.0.0"
868 | resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
869 | integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==
870 |
871 | css-to-react-native@^3.0.0:
872 | version "3.2.0"
873 | resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32"
874 | integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==
875 | dependencies:
876 | camelize "^1.0.0"
877 | css-color-keywords "^1.0.0"
878 | postcss-value-parser "^4.0.2"
879 |
880 | csstype@^3.0.2:
881 | version "3.1.2"
882 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
883 | integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
884 |
885 | debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
886 | version "4.3.4"
887 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
888 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
889 | dependencies:
890 | ms "2.1.2"
891 |
892 | decode-named-character-reference@^1.0.0:
893 | version "1.0.2"
894 | resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e"
895 | integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==
896 | dependencies:
897 | character-entities "^2.0.0"
898 |
899 | deep-is@^0.1.3:
900 | version "0.1.4"
901 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
902 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
903 |
904 | dir-glob@^3.0.1:
905 | version "3.0.1"
906 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
907 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
908 | dependencies:
909 | path-type "^4.0.0"
910 |
911 | doctrine@^3.0.0:
912 | version "3.0.0"
913 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
914 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
915 | dependencies:
916 | esutils "^2.0.2"
917 |
918 | electron-to-chromium@^1.4.477:
919 | version "1.4.484"
920 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.484.tgz#770358eba089471c5dae5719db3a5a4fbf02bfb2"
921 | integrity sha512-nO3ZEomTK2PO/3TUXgEx0A97xZTpKVf4p427lABHuCpT1IQ2N+njVh29DkQkCk6Q4m2wjU+faK4xAcfFndwjvw==
922 |
923 | esbuild@^0.18.10:
924 | version "0.18.17"
925 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.17.tgz#2aaf6bc6759b0c605777fdc435fea3969e091cad"
926 | integrity sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==
927 | optionalDependencies:
928 | "@esbuild/android-arm" "0.18.17"
929 | "@esbuild/android-arm64" "0.18.17"
930 | "@esbuild/android-x64" "0.18.17"
931 | "@esbuild/darwin-arm64" "0.18.17"
932 | "@esbuild/darwin-x64" "0.18.17"
933 | "@esbuild/freebsd-arm64" "0.18.17"
934 | "@esbuild/freebsd-x64" "0.18.17"
935 | "@esbuild/linux-arm" "0.18.17"
936 | "@esbuild/linux-arm64" "0.18.17"
937 | "@esbuild/linux-ia32" "0.18.17"
938 | "@esbuild/linux-loong64" "0.18.17"
939 | "@esbuild/linux-mips64el" "0.18.17"
940 | "@esbuild/linux-ppc64" "0.18.17"
941 | "@esbuild/linux-riscv64" "0.18.17"
942 | "@esbuild/linux-s390x" "0.18.17"
943 | "@esbuild/linux-x64" "0.18.17"
944 | "@esbuild/netbsd-x64" "0.18.17"
945 | "@esbuild/openbsd-x64" "0.18.17"
946 | "@esbuild/sunos-x64" "0.18.17"
947 | "@esbuild/win32-arm64" "0.18.17"
948 | "@esbuild/win32-ia32" "0.18.17"
949 | "@esbuild/win32-x64" "0.18.17"
950 |
951 | escalade@^3.1.1:
952 | version "3.1.1"
953 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
954 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
955 |
956 | escape-string-regexp@^1.0.5:
957 | version "1.0.5"
958 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
959 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
960 |
961 | escape-string-regexp@^4.0.0:
962 | version "4.0.0"
963 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
964 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
965 |
966 | eslint-plugin-react-hooks@^4.6.0:
967 | version "4.6.0"
968 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
969 | integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
970 |
971 | eslint-plugin-react-refresh@^0.4.3:
972 | version "0.4.3"
973 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.3.tgz#59dae8c00a119f06ea16b1d3e6891df3775947c7"
974 | integrity sha512-Hh0wv8bUNY877+sI0BlCUlsS0TYYQqvzEwJsJJPM2WF4RnTStSnSR3zdJYa2nPOJgg3UghXi54lVyMSmpCalzA==
975 |
976 | eslint-scope@^7.2.2:
977 | version "7.2.2"
978 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
979 | integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
980 | dependencies:
981 | esrecurse "^4.3.0"
982 | estraverse "^5.2.0"
983 |
984 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
985 | version "3.4.2"
986 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz#8c2095440eca8c933bedcadf16fefa44dbe9ba5f"
987 | integrity sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==
988 |
989 | eslint-visitor-keys@^3.4.3:
990 | version "3.4.3"
991 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
992 | integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
993 |
994 | eslint@^8.48.0:
995 | version "8.48.0"
996 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.48.0.tgz#bf9998ba520063907ba7bfe4c480dc8be03c2155"
997 | integrity sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==
998 | dependencies:
999 | "@eslint-community/eslint-utils" "^4.2.0"
1000 | "@eslint-community/regexpp" "^4.6.1"
1001 | "@eslint/eslintrc" "^2.1.2"
1002 | "@eslint/js" "8.48.0"
1003 | "@humanwhocodes/config-array" "^0.11.10"
1004 | "@humanwhocodes/module-importer" "^1.0.1"
1005 | "@nodelib/fs.walk" "^1.2.8"
1006 | ajv "^6.12.4"
1007 | chalk "^4.0.0"
1008 | cross-spawn "^7.0.2"
1009 | debug "^4.3.2"
1010 | doctrine "^3.0.0"
1011 | escape-string-regexp "^4.0.0"
1012 | eslint-scope "^7.2.2"
1013 | eslint-visitor-keys "^3.4.3"
1014 | espree "^9.6.1"
1015 | esquery "^1.4.2"
1016 | esutils "^2.0.2"
1017 | fast-deep-equal "^3.1.3"
1018 | file-entry-cache "^6.0.1"
1019 | find-up "^5.0.0"
1020 | glob-parent "^6.0.2"
1021 | globals "^13.19.0"
1022 | graphemer "^1.4.0"
1023 | ignore "^5.2.0"
1024 | imurmurhash "^0.1.4"
1025 | is-glob "^4.0.0"
1026 | is-path-inside "^3.0.3"
1027 | js-yaml "^4.1.0"
1028 | json-stable-stringify-without-jsonify "^1.0.1"
1029 | levn "^0.4.1"
1030 | lodash.merge "^4.6.2"
1031 | minimatch "^3.1.2"
1032 | natural-compare "^1.4.0"
1033 | optionator "^0.9.3"
1034 | strip-ansi "^6.0.1"
1035 | text-table "^0.2.0"
1036 |
1037 | espree@^9.6.0, espree@^9.6.1:
1038 | version "9.6.1"
1039 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
1040 | integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
1041 | dependencies:
1042 | acorn "^8.9.0"
1043 | acorn-jsx "^5.3.2"
1044 | eslint-visitor-keys "^3.4.1"
1045 |
1046 | esquery@^1.4.2:
1047 | version "1.5.0"
1048 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
1049 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
1050 | dependencies:
1051 | estraverse "^5.1.0"
1052 |
1053 | esrecurse@^4.3.0:
1054 | version "4.3.0"
1055 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
1056 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
1057 | dependencies:
1058 | estraverse "^5.2.0"
1059 |
1060 | estraverse@^5.1.0, estraverse@^5.2.0:
1061 | version "5.3.0"
1062 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
1063 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
1064 |
1065 | esutils@^2.0.2:
1066 | version "2.0.3"
1067 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
1068 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
1069 |
1070 | extend@^3.0.0:
1071 | version "3.0.2"
1072 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
1073 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
1074 |
1075 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
1076 | version "3.1.3"
1077 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
1078 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
1079 |
1080 | fast-glob@^3.2.9:
1081 | version "3.3.1"
1082 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4"
1083 | integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==
1084 | dependencies:
1085 | "@nodelib/fs.stat" "^2.0.2"
1086 | "@nodelib/fs.walk" "^1.2.3"
1087 | glob-parent "^5.1.2"
1088 | merge2 "^1.3.0"
1089 | micromatch "^4.0.4"
1090 |
1091 | fast-json-stable-stringify@^2.0.0:
1092 | version "2.1.0"
1093 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
1094 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
1095 |
1096 | fast-levenshtein@^2.0.6:
1097 | version "2.0.6"
1098 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
1099 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
1100 |
1101 | fastq@^1.6.0:
1102 | version "1.15.0"
1103 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
1104 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
1105 | dependencies:
1106 | reusify "^1.0.4"
1107 |
1108 | file-entry-cache@^6.0.1:
1109 | version "6.0.1"
1110 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
1111 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
1112 | dependencies:
1113 | flat-cache "^3.0.4"
1114 |
1115 | fill-range@^7.0.1:
1116 | version "7.0.1"
1117 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
1118 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
1119 | dependencies:
1120 | to-regex-range "^5.0.1"
1121 |
1122 | find-up@^5.0.0:
1123 | version "5.0.0"
1124 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
1125 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
1126 | dependencies:
1127 | locate-path "^6.0.0"
1128 | path-exists "^4.0.0"
1129 |
1130 | flat-cache@^3.0.4:
1131 | version "3.0.4"
1132 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
1133 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
1134 | dependencies:
1135 | flatted "^3.1.0"
1136 | rimraf "^3.0.2"
1137 |
1138 | flatted@^3.1.0:
1139 | version "3.2.7"
1140 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
1141 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
1142 |
1143 | fs.realpath@^1.0.0:
1144 | version "1.0.0"
1145 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1146 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
1147 |
1148 | fsevents@~2.3.2:
1149 | version "2.3.2"
1150 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
1151 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
1152 |
1153 | gensync@^1.0.0-beta.2:
1154 | version "1.0.0-beta.2"
1155 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
1156 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
1157 |
1158 | glob-parent@^5.1.2:
1159 | version "5.1.2"
1160 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
1161 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
1162 | dependencies:
1163 | is-glob "^4.0.1"
1164 |
1165 | glob-parent@^6.0.2:
1166 | version "6.0.2"
1167 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
1168 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
1169 | dependencies:
1170 | is-glob "^4.0.3"
1171 |
1172 | glob@^7.1.3:
1173 | version "7.2.3"
1174 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
1175 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
1176 | dependencies:
1177 | fs.realpath "^1.0.0"
1178 | inflight "^1.0.4"
1179 | inherits "2"
1180 | minimatch "^3.1.1"
1181 | once "^1.3.0"
1182 | path-is-absolute "^1.0.0"
1183 |
1184 | globals@^11.1.0:
1185 | version "11.12.0"
1186 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
1187 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
1188 |
1189 | globals@^13.19.0:
1190 | version "13.20.0"
1191 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
1192 | integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
1193 | dependencies:
1194 | type-fest "^0.20.2"
1195 |
1196 | globby@^11.1.0:
1197 | version "11.1.0"
1198 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
1199 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
1200 | dependencies:
1201 | array-union "^2.1.0"
1202 | dir-glob "^3.0.1"
1203 | fast-glob "^3.2.9"
1204 | ignore "^5.2.0"
1205 | merge2 "^1.4.1"
1206 | slash "^3.0.0"
1207 |
1208 | graphemer@^1.4.0:
1209 | version "1.4.0"
1210 | resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
1211 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
1212 |
1213 | has-flag@^3.0.0:
1214 | version "3.0.0"
1215 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1216 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
1217 |
1218 | has-flag@^4.0.0:
1219 | version "4.0.0"
1220 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1221 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1222 |
1223 | hast-util-from-parse5@^7.0.0:
1224 | version "7.1.2"
1225 | resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz#aecfef73e3ceafdfa4550716443e4eb7b02e22b0"
1226 | integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==
1227 | dependencies:
1228 | "@types/hast" "^2.0.0"
1229 | "@types/unist" "^2.0.0"
1230 | hastscript "^7.0.0"
1231 | property-information "^6.0.0"
1232 | vfile "^5.0.0"
1233 | vfile-location "^4.0.0"
1234 | web-namespaces "^2.0.0"
1235 |
1236 | hast-util-parse-selector@^3.0.0:
1237 | version "3.1.1"
1238 | resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2"
1239 | integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==
1240 | dependencies:
1241 | "@types/hast" "^2.0.0"
1242 |
1243 | hast-util-raw@^7.0.0:
1244 | version "7.2.3"
1245 | resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.3.tgz#dcb5b22a22073436dbdc4aa09660a644f4991d99"
1246 | integrity sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==
1247 | dependencies:
1248 | "@types/hast" "^2.0.0"
1249 | "@types/parse5" "^6.0.0"
1250 | hast-util-from-parse5 "^7.0.0"
1251 | hast-util-to-parse5 "^7.0.0"
1252 | html-void-elements "^2.0.0"
1253 | parse5 "^6.0.0"
1254 | unist-util-position "^4.0.0"
1255 | unist-util-visit "^4.0.0"
1256 | vfile "^5.0.0"
1257 | web-namespaces "^2.0.0"
1258 | zwitch "^2.0.0"
1259 |
1260 | hast-util-to-html@^8.0.0:
1261 | version "8.0.4"
1262 | resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz#0269ef33fa3f6599b260a8dc94f733b8e39e41fc"
1263 | integrity sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==
1264 | dependencies:
1265 | "@types/hast" "^2.0.0"
1266 | "@types/unist" "^2.0.0"
1267 | ccount "^2.0.0"
1268 | comma-separated-tokens "^2.0.0"
1269 | hast-util-raw "^7.0.0"
1270 | hast-util-whitespace "^2.0.0"
1271 | html-void-elements "^2.0.0"
1272 | property-information "^6.0.0"
1273 | space-separated-tokens "^2.0.0"
1274 | stringify-entities "^4.0.0"
1275 | zwitch "^2.0.4"
1276 |
1277 | hast-util-to-parse5@^7.0.0:
1278 | version "7.1.0"
1279 | resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz#c49391bf8f151973e0c9adcd116b561e8daf29f3"
1280 | integrity sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==
1281 | dependencies:
1282 | "@types/hast" "^2.0.0"
1283 | comma-separated-tokens "^2.0.0"
1284 | property-information "^6.0.0"
1285 | space-separated-tokens "^2.0.0"
1286 | web-namespaces "^2.0.0"
1287 | zwitch "^2.0.0"
1288 |
1289 | hast-util-to-string@^2.0.0:
1290 | version "2.0.0"
1291 | resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz#b008b0a4ea472bf34dd390b7eea1018726ae152a"
1292 | integrity sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==
1293 | dependencies:
1294 | "@types/hast" "^2.0.0"
1295 |
1296 | hast-util-whitespace@^2.0.0:
1297 | version "2.0.1"
1298 | resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557"
1299 | integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==
1300 |
1301 | hastscript@^7.0.0:
1302 | version "7.2.0"
1303 | resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b"
1304 | integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==
1305 | dependencies:
1306 | "@types/hast" "^2.0.0"
1307 | comma-separated-tokens "^2.0.0"
1308 | hast-util-parse-selector "^3.0.0"
1309 | property-information "^6.0.0"
1310 | space-separated-tokens "^2.0.0"
1311 |
1312 | hoist-non-react-statics@^3.0.0:
1313 | version "3.3.2"
1314 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
1315 | integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
1316 | dependencies:
1317 | react-is "^16.7.0"
1318 |
1319 | html-void-elements@^2.0.0:
1320 | version "2.0.1"
1321 | resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f"
1322 | integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==
1323 |
1324 | ignore@^5.2.0, ignore@^5.2.4:
1325 | version "5.2.4"
1326 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
1327 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
1328 |
1329 | import-fresh@^3.2.1:
1330 | version "3.3.0"
1331 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
1332 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
1333 | dependencies:
1334 | parent-module "^1.0.0"
1335 | resolve-from "^4.0.0"
1336 |
1337 | imurmurhash@^0.1.4:
1338 | version "0.1.4"
1339 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1340 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
1341 |
1342 | inflight@^1.0.4:
1343 | version "1.0.6"
1344 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1345 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
1346 | dependencies:
1347 | once "^1.3.0"
1348 | wrappy "1"
1349 |
1350 | inherits@2:
1351 | version "2.0.4"
1352 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1353 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1354 |
1355 | is-alphabetical@^2.0.0:
1356 | version "2.0.1"
1357 | resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b"
1358 | integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==
1359 |
1360 | is-alphanumerical@^2.0.0:
1361 | version "2.0.1"
1362 | resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875"
1363 | integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==
1364 | dependencies:
1365 | is-alphabetical "^2.0.0"
1366 | is-decimal "^2.0.0"
1367 |
1368 | is-buffer@^2.0.0:
1369 | version "2.0.5"
1370 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
1371 | integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
1372 |
1373 | is-decimal@^2.0.0:
1374 | version "2.0.1"
1375 | resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7"
1376 | integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==
1377 |
1378 | is-extglob@^2.1.1:
1379 | version "2.1.1"
1380 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1381 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
1382 |
1383 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
1384 | version "4.0.3"
1385 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
1386 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
1387 | dependencies:
1388 | is-extglob "^2.1.1"
1389 |
1390 | is-hexadecimal@^2.0.0:
1391 | version "2.0.1"
1392 | resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027"
1393 | integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==
1394 |
1395 | is-number@^7.0.0:
1396 | version "7.0.0"
1397 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1398 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1399 |
1400 | is-path-inside@^3.0.3:
1401 | version "3.0.3"
1402 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
1403 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
1404 |
1405 | is-plain-obj@^4.0.0:
1406 | version "4.1.0"
1407 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
1408 | integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
1409 |
1410 | isexe@^2.0.0:
1411 | version "2.0.0"
1412 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1413 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
1414 |
1415 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
1416 | version "4.0.0"
1417 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1418 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1419 |
1420 | js-yaml@^4.1.0:
1421 | version "4.1.0"
1422 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
1423 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
1424 | dependencies:
1425 | argparse "^2.0.1"
1426 |
1427 | jsesc@^2.5.1:
1428 | version "2.5.2"
1429 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
1430 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
1431 |
1432 | json-schema-traverse@^0.4.1:
1433 | version "0.4.1"
1434 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1435 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1436 |
1437 | json-stable-stringify-without-jsonify@^1.0.1:
1438 | version "1.0.1"
1439 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1440 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
1441 |
1442 | json5@^2.2.2:
1443 | version "2.2.3"
1444 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
1445 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
1446 |
1447 | levn@^0.4.1:
1448 | version "0.4.1"
1449 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1450 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1451 | dependencies:
1452 | prelude-ls "^1.2.1"
1453 | type-check "~0.4.0"
1454 |
1455 | locate-path@^6.0.0:
1456 | version "6.0.0"
1457 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
1458 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
1459 | dependencies:
1460 | p-locate "^5.0.0"
1461 |
1462 | lodash.merge@^4.6.2:
1463 | version "4.6.2"
1464 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1465 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1466 |
1467 | lodash@^4.17.21:
1468 | version "4.17.21"
1469 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
1470 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
1471 |
1472 | loose-envify@^1.1.0:
1473 | version "1.4.0"
1474 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
1475 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
1476 | dependencies:
1477 | js-tokens "^3.0.0 || ^4.0.0"
1478 |
1479 | lru-cache@^5.1.1:
1480 | version "5.1.1"
1481 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
1482 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
1483 | dependencies:
1484 | yallist "^3.0.2"
1485 |
1486 | lru-cache@^6.0.0:
1487 | version "6.0.0"
1488 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
1489 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
1490 | dependencies:
1491 | yallist "^4.0.0"
1492 |
1493 | merge2@^1.3.0, merge2@^1.4.1:
1494 | version "1.4.1"
1495 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
1496 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
1497 |
1498 | micromatch@^4.0.4:
1499 | version "4.0.5"
1500 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
1501 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
1502 | dependencies:
1503 | braces "^3.0.2"
1504 | picomatch "^2.3.1"
1505 |
1506 | minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
1507 | version "3.1.2"
1508 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
1509 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1510 | dependencies:
1511 | brace-expansion "^1.1.7"
1512 |
1513 | ms@2.1.2:
1514 | version "2.1.2"
1515 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1516 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1517 |
1518 | nanoid@^3.3.6:
1519 | version "3.3.6"
1520 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
1521 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
1522 |
1523 | natural-compare@^1.4.0:
1524 | version "1.4.0"
1525 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1526 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
1527 |
1528 | node-releases@^2.0.13:
1529 | version "2.0.13"
1530 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
1531 | integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==
1532 |
1533 | once@^1.3.0:
1534 | version "1.4.0"
1535 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1536 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
1537 | dependencies:
1538 | wrappy "1"
1539 |
1540 | optionator@^0.9.3:
1541 | version "0.9.3"
1542 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
1543 | integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
1544 | dependencies:
1545 | "@aashutoshrathi/word-wrap" "^1.2.3"
1546 | deep-is "^0.1.3"
1547 | fast-levenshtein "^2.0.6"
1548 | levn "^0.4.1"
1549 | prelude-ls "^1.2.1"
1550 | type-check "^0.4.0"
1551 |
1552 | p-limit@^3.0.2:
1553 | version "3.1.0"
1554 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
1555 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
1556 | dependencies:
1557 | yocto-queue "^0.1.0"
1558 |
1559 | p-locate@^5.0.0:
1560 | version "5.0.0"
1561 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
1562 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
1563 | dependencies:
1564 | p-limit "^3.0.2"
1565 |
1566 | parent-module@^1.0.0:
1567 | version "1.0.1"
1568 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1569 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1570 | dependencies:
1571 | callsites "^3.0.0"
1572 |
1573 | parse-entities@^4.0.0:
1574 | version "4.0.1"
1575 | resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e"
1576 | integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==
1577 | dependencies:
1578 | "@types/unist" "^2.0.0"
1579 | character-entities "^2.0.0"
1580 | character-entities-legacy "^3.0.0"
1581 | character-reference-invalid "^2.0.0"
1582 | decode-named-character-reference "^1.0.0"
1583 | is-alphanumerical "^2.0.0"
1584 | is-decimal "^2.0.0"
1585 | is-hexadecimal "^2.0.0"
1586 |
1587 | parse-numeric-range@^1.3.0:
1588 | version "1.3.0"
1589 | resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3"
1590 | integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==
1591 |
1592 | parse5@^6.0.0:
1593 | version "6.0.1"
1594 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
1595 | integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
1596 |
1597 | path-exists@^4.0.0:
1598 | version "4.0.0"
1599 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
1600 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
1601 |
1602 | path-is-absolute@^1.0.0:
1603 | version "1.0.1"
1604 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1605 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
1606 |
1607 | path-key@^3.1.0:
1608 | version "3.1.1"
1609 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1610 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1611 |
1612 | path-type@^4.0.0:
1613 | version "4.0.0"
1614 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
1615 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
1616 |
1617 | picocolors@^1.0.0:
1618 | version "1.0.0"
1619 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
1620 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
1621 |
1622 | picomatch@^2.3.1:
1623 | version "2.3.1"
1624 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
1625 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
1626 |
1627 | postcss-value-parser@^4.0.2:
1628 | version "4.2.0"
1629 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
1630 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
1631 |
1632 | postcss@^8.4.27:
1633 | version "8.4.28"
1634 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.28.tgz#c6cc681ed00109072816e1557f889ef51cf950a5"
1635 | integrity sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==
1636 | dependencies:
1637 | nanoid "^3.3.6"
1638 | picocolors "^1.0.0"
1639 | source-map-js "^1.0.2"
1640 |
1641 | prelude-ls@^1.2.1:
1642 | version "1.2.1"
1643 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
1644 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
1645 |
1646 | property-information@^6.0.0:
1647 | version "6.2.0"
1648 | resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d"
1649 | integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==
1650 |
1651 | punycode@^2.1.0:
1652 | version "2.3.0"
1653 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
1654 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
1655 |
1656 | queue-microtask@^1.2.2:
1657 | version "1.2.3"
1658 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1659 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
1660 |
1661 | react-dom@^18.2.0:
1662 | version "18.2.0"
1663 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
1664 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
1665 | dependencies:
1666 | loose-envify "^1.1.0"
1667 | scheduler "^0.23.0"
1668 |
1669 | react-github-fork-banner@^1.1.3:
1670 | version "1.1.3"
1671 | resolved "https://registry.yarnpkg.com/react-github-fork-banner/-/react-github-fork-banner-1.1.3.tgz#9342eaa3c333d60aed1bd24db7504c585a15cec8"
1672 | integrity sha512-SLZqpjJnqVU7EYkhgea6j4COsHx8k6W45+5tHeQhQTg0n5AI+5lzNHWdQnFTBHwYB5V9whLcIAq4dwBaeIVg0A==
1673 | dependencies:
1674 | styled-components "^5.3.3"
1675 |
1676 | react-is@^16.7.0:
1677 | version "16.13.1"
1678 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
1679 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
1680 |
1681 | react-refresh@^0.14.0:
1682 | version "0.14.0"
1683 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
1684 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
1685 |
1686 | react@^18.2.0:
1687 | version "18.2.0"
1688 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
1689 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
1690 | dependencies:
1691 | loose-envify "^1.1.0"
1692 |
1693 | refractor@^4.7.0:
1694 | version "4.8.1"
1695 | resolved "https://registry.yarnpkg.com/refractor/-/refractor-4.8.1.tgz#fbdd889333a3d86c9c864479622855c9b38e9d42"
1696 | integrity sha512-/fk5sI0iTgFYlmVGYVew90AoYnNMP6pooClx/XKqyeeCQXrL0Kvgn8V0VEht5ccdljbzzF1i3Q213gcntkRExg==
1697 | dependencies:
1698 | "@types/hast" "^2.0.0"
1699 | "@types/prismjs" "^1.0.0"
1700 | hastscript "^7.0.0"
1701 | parse-entities "^4.0.0"
1702 |
1703 | regenerator-runtime@^0.13.11:
1704 | version "0.13.11"
1705 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
1706 | integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
1707 |
1708 | rehype-parse@^8.0.0, rehype-parse@^8.0.2:
1709 | version "8.0.4"
1710 | resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-8.0.4.tgz#3d17c9ff16ddfef6bbcc8e6a25a99467b482d688"
1711 | integrity sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==
1712 | dependencies:
1713 | "@types/hast" "^2.0.0"
1714 | hast-util-from-parse5 "^7.0.0"
1715 | parse5 "^6.0.0"
1716 | unified "^10.0.0"
1717 |
1718 | rehype-prism-plus@1.5.0:
1719 | version "1.5.0"
1720 | resolved "https://registry.yarnpkg.com/rehype-prism-plus/-/rehype-prism-plus-1.5.0.tgz#113aae19687c0f8faf6f5fb16964ff1527d130d7"
1721 | integrity sha512-KNJYMQHqN+53ZbT5Pa/lO7uorMpBIR3x9RjFeG1lPlQherZDZiPqyOFS464L4BniZ4VG5PnG5DXVqjGtwxWJew==
1722 | dependencies:
1723 | hast-util-to-string "^2.0.0"
1724 | parse-numeric-range "^1.3.0"
1725 | refractor "^4.7.0"
1726 | rehype-parse "^8.0.2"
1727 | unist-util-filter "^4.0.0"
1728 | unist-util-visit "^4.0.0"
1729 |
1730 | rehype-stringify@^9.0.0:
1731 | version "9.0.3"
1732 | resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-9.0.3.tgz#70e3bd6d4d29e7acf36b802deed350305d2c3c17"
1733 | integrity sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==
1734 | dependencies:
1735 | "@types/hast" "^2.0.0"
1736 | hast-util-to-html "^8.0.0"
1737 | unified "^10.0.0"
1738 |
1739 | rehype@~12.0.1:
1740 | version "12.0.1"
1741 | resolved "https://registry.yarnpkg.com/rehype/-/rehype-12.0.1.tgz#68a317662576dcaa2565a3952e149d6900096bf6"
1742 | integrity sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==
1743 | dependencies:
1744 | "@types/hast" "^2.0.0"
1745 | rehype-parse "^8.0.0"
1746 | rehype-stringify "^9.0.0"
1747 | unified "^10.0.0"
1748 |
1749 | resolve-from@^4.0.0:
1750 | version "4.0.0"
1751 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1752 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1753 |
1754 | reusify@^1.0.4:
1755 | version "1.0.4"
1756 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
1757 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1758 |
1759 | rimraf@^3.0.2:
1760 | version "3.0.2"
1761 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
1762 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
1763 | dependencies:
1764 | glob "^7.1.3"
1765 |
1766 | rollup@^3.27.1:
1767 | version "3.28.1"
1768 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.28.1.tgz#fb44aa6d5e65c7e13fd5bcfff266d0c4ea9ba433"
1769 | integrity sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==
1770 | optionalDependencies:
1771 | fsevents "~2.3.2"
1772 |
1773 | run-parallel@^1.1.9:
1774 | version "1.2.0"
1775 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1776 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1777 | dependencies:
1778 | queue-microtask "^1.2.2"
1779 |
1780 | scheduler@^0.23.0:
1781 | version "0.23.0"
1782 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
1783 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
1784 | dependencies:
1785 | loose-envify "^1.1.0"
1786 |
1787 | semver@^6.3.1:
1788 | version "6.3.1"
1789 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
1790 | integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
1791 |
1792 | semver@^7.5.4:
1793 | version "7.5.4"
1794 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
1795 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
1796 | dependencies:
1797 | lru-cache "^6.0.0"
1798 |
1799 | shallowequal@^1.1.0:
1800 | version "1.1.0"
1801 | resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
1802 | integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
1803 |
1804 | shebang-command@^2.0.0:
1805 | version "2.0.0"
1806 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
1807 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
1808 | dependencies:
1809 | shebang-regex "^3.0.0"
1810 |
1811 | shebang-regex@^3.0.0:
1812 | version "3.0.0"
1813 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
1814 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
1815 |
1816 | slash@^3.0.0:
1817 | version "3.0.0"
1818 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
1819 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
1820 |
1821 | source-map-js@^1.0.2:
1822 | version "1.0.2"
1823 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
1824 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1825 |
1826 | space-separated-tokens@^2.0.0:
1827 | version "2.0.2"
1828 | resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f"
1829 | integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==
1830 |
1831 | stringify-entities@^4.0.0:
1832 | version "4.0.3"
1833 | resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8"
1834 | integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==
1835 | dependencies:
1836 | character-entities-html4 "^2.0.0"
1837 | character-entities-legacy "^3.0.0"
1838 |
1839 | strip-ansi@^6.0.1:
1840 | version "6.0.1"
1841 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1842 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1843 | dependencies:
1844 | ansi-regex "^5.0.1"
1845 |
1846 | strip-json-comments@^3.1.1:
1847 | version "3.1.1"
1848 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1849 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1850 |
1851 | styled-components@^5.3.3:
1852 | version "5.3.11"
1853 | resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.11.tgz#9fda7bf1108e39bf3f3e612fcc18170dedcd57a8"
1854 | integrity sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==
1855 | dependencies:
1856 | "@babel/helper-module-imports" "^7.0.0"
1857 | "@babel/traverse" "^7.4.5"
1858 | "@emotion/is-prop-valid" "^1.1.0"
1859 | "@emotion/stylis" "^0.8.4"
1860 | "@emotion/unitless" "^0.7.4"
1861 | babel-plugin-styled-components ">= 1.12.0"
1862 | css-to-react-native "^3.0.0"
1863 | hoist-non-react-statics "^3.0.0"
1864 | shallowequal "^1.1.0"
1865 | supports-color "^5.5.0"
1866 |
1867 | supports-color@^5.3.0, supports-color@^5.5.0:
1868 | version "5.5.0"
1869 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1870 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1871 | dependencies:
1872 | has-flag "^3.0.0"
1873 |
1874 | supports-color@^7.1.0:
1875 | version "7.2.0"
1876 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1877 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1878 | dependencies:
1879 | has-flag "^4.0.0"
1880 |
1881 | text-table@^0.2.0:
1882 | version "0.2.0"
1883 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1884 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
1885 |
1886 | to-fast-properties@^2.0.0:
1887 | version "2.0.0"
1888 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1889 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
1890 |
1891 | to-regex-range@^5.0.1:
1892 | version "5.0.1"
1893 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1894 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1895 | dependencies:
1896 | is-number "^7.0.0"
1897 |
1898 | trough@^2.0.0:
1899 | version "2.1.0"
1900 | resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876"
1901 | integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
1902 |
1903 | ts-api-utils@^1.0.1:
1904 | version "1.0.1"
1905 | resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.1.tgz#8144e811d44c749cd65b2da305a032510774452d"
1906 | integrity sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==
1907 |
1908 | type-check@^0.4.0, type-check@~0.4.0:
1909 | version "0.4.0"
1910 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
1911 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
1912 | dependencies:
1913 | prelude-ls "^1.2.1"
1914 |
1915 | type-fest@^0.20.2:
1916 | version "0.20.2"
1917 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
1918 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
1919 |
1920 | typescript@^5.2.2:
1921 | version "5.2.2"
1922 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
1923 | integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
1924 |
1925 | unified@^10.0.0:
1926 | version "10.1.2"
1927 | resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
1928 | integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
1929 | dependencies:
1930 | "@types/unist" "^2.0.0"
1931 | bail "^2.0.0"
1932 | extend "^3.0.0"
1933 | is-buffer "^2.0.0"
1934 | is-plain-obj "^4.0.0"
1935 | trough "^2.0.0"
1936 | vfile "^5.0.0"
1937 |
1938 | unist-util-filter@^4.0.0:
1939 | version "4.0.1"
1940 | resolved "https://registry.yarnpkg.com/unist-util-filter/-/unist-util-filter-4.0.1.tgz#fd885dd48adaad345de5f5dc706ec4ff44a8d074"
1941 | integrity sha512-RynicUM/vbOSTSiUK+BnaK9XMfmQUh6gyi7L6taNgc7FIf84GukXVV3ucGzEN/PhUUkdP5hb1MmXc+3cvPUm5Q==
1942 | dependencies:
1943 | "@types/unist" "^2.0.0"
1944 | unist-util-is "^5.0.0"
1945 | unist-util-visit-parents "^5.0.0"
1946 |
1947 | unist-util-is@^5.0.0:
1948 | version "5.2.1"
1949 | resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9"
1950 | integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==
1951 | dependencies:
1952 | "@types/unist" "^2.0.0"
1953 |
1954 | unist-util-position@^4.0.0:
1955 | version "4.0.4"
1956 | resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037"
1957 | integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==
1958 | dependencies:
1959 | "@types/unist" "^2.0.0"
1960 |
1961 | unist-util-stringify-position@^3.0.0:
1962 | version "3.0.3"
1963 | resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d"
1964 | integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==
1965 | dependencies:
1966 | "@types/unist" "^2.0.0"
1967 |
1968 | unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1:
1969 | version "5.1.3"
1970 | resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb"
1971 | integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==
1972 | dependencies:
1973 | "@types/unist" "^2.0.0"
1974 | unist-util-is "^5.0.0"
1975 |
1976 | unist-util-visit@^4.0.0:
1977 | version "4.1.2"
1978 | resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2"
1979 | integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==
1980 | dependencies:
1981 | "@types/unist" "^2.0.0"
1982 | unist-util-is "^5.0.0"
1983 | unist-util-visit-parents "^5.1.1"
1984 |
1985 | update-browserslist-db@^1.0.11:
1986 | version "1.0.11"
1987 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
1988 | integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==
1989 | dependencies:
1990 | escalade "^3.1.1"
1991 | picocolors "^1.0.0"
1992 |
1993 | uri-js@^4.2.2:
1994 | version "4.4.1"
1995 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
1996 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
1997 | dependencies:
1998 | punycode "^2.1.0"
1999 |
2000 | vfile-location@^4.0.0:
2001 | version "4.1.0"
2002 | resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0"
2003 | integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==
2004 | dependencies:
2005 | "@types/unist" "^2.0.0"
2006 | vfile "^5.0.0"
2007 |
2008 | vfile-message@^3.0.0:
2009 | version "3.1.4"
2010 | resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea"
2011 | integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==
2012 | dependencies:
2013 | "@types/unist" "^2.0.0"
2014 | unist-util-stringify-position "^3.0.0"
2015 |
2016 | vfile@^5.0.0:
2017 | version "5.3.7"
2018 | resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7"
2019 | integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==
2020 | dependencies:
2021 | "@types/unist" "^2.0.0"
2022 | is-buffer "^2.0.0"
2023 | unist-util-stringify-position "^3.0.0"
2024 | vfile-message "^3.0.0"
2025 |
2026 | vite@^4.4.9:
2027 | version "4.4.9"
2028 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d"
2029 | integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==
2030 | dependencies:
2031 | esbuild "^0.18.10"
2032 | postcss "^8.4.27"
2033 | rollup "^3.27.1"
2034 | optionalDependencies:
2035 | fsevents "~2.3.2"
2036 |
2037 | web-namespaces@^2.0.0:
2038 | version "2.0.1"
2039 | resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692"
2040 | integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
2041 |
2042 | which@^2.0.1:
2043 | version "2.0.2"
2044 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
2045 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
2046 | dependencies:
2047 | isexe "^2.0.0"
2048 |
2049 | wrappy@1:
2050 | version "1.0.2"
2051 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2052 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
2053 |
2054 | yallist@^3.0.2:
2055 | version "3.1.1"
2056 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
2057 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
2058 |
2059 | yallist@^4.0.0:
2060 | version "4.0.0"
2061 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
2062 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
2063 |
2064 | yaml@^2.3.2:
2065 | version "2.3.2"
2066 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144"
2067 | integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==
2068 |
2069 | yocto-queue@^0.1.0:
2070 | version "0.1.0"
2071 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
2072 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
2073 |
2074 | zwitch@^2.0.0, zwitch@^2.0.4:
2075 | version "2.0.4"
2076 | resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7"
2077 | integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==
2078 |
--------------------------------------------------------------------------------