diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
deleted file mode 100644
index c0089956..00000000
--- a/.devcontainer/devcontainer.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18",
- "hostRequirements": {
- "memory": "8gb"
- },
- "waitFor": "onCreateCommand",
- "updateContentCommand": "yarn install",
- "postCreateCommand": "",
- "postAttachCommand": "yarn storybook",
- "customizations": {
- "codespaces": {
- "openFiles": ["CONTRIBUTING.md"]
- },
- "vscode": {
- "settings": {
- "editor.formatOnSave": true
- },
- "extensions": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
- }
- },
- "portsAttributes": {
- "6006": {
- "label": "Storybook server",
- "onAutoForward": "openPreview"
- }
- },
- "forwardPorts": [6006]
-}
diff --git a/.eslintrc.json b/.eslintrc.json
index feace6c2..29af2deb 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -10,8 +10,7 @@
"plugin:prettier/recommended",
"plugin:react-hooks/recommended",
"plugin:import/errors",
- "plugin:import/warnings",
- "plugin:storybook/recommended"
+ "plugin:import/warnings"
],
"plugins": ["@typescript-eslint", "react", "prettier", "react-hooks", "import"],
"parser": "@typescript-eslint/parser",
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 6266a785..9ad1321b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -20,25 +20,6 @@ jobs:
- run: |
yarn install --frozen-lockfile
yarn release
- yarn build-storybook
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- # - uses: actions/upload-pages-artifact@v1
- # with:
- # path: ./storybook-static
-
- # See: https://github.com/actions/deploy-pages
- # deploy-job:
- # needs: release-job
- # permissions:
- # pages: write
- # id-token: write
- # environment:
- # name: github-pages
- # url: ${{ steps.deployment.outputs.page_url }}
- # runs-on: ubuntu-latest
- # steps:
- # - name: Deploy to GitHub Pages
- # id: deployment
- # uses: actions/deploy-pages@v1
diff --git a/.storybook/Setup.tsx b/.storybook/Setup.tsx
deleted file mode 100644
index ad63d56a..00000000
--- a/.storybook/Setup.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import * as React from 'react'
-import { Vector3 } from 'three'
-import { Canvas, Props as CanvasProps } from '@react-three/fiber'
-
-import { CameraControls } from '@react-three/drei'
-
-type Props = React.PropsWithChildren<
- CanvasProps & {
- cameraFov?: number
- cameraPosition?: Vector3
- controls?: boolean
- lights?: boolean
- }
->
-
-export const Setup = ({
- children,
- cameraFov = 75,
- cameraPosition = new Vector3(-5, 5, 5),
- controls = true,
- lights = true,
- ...restProps
-}: Props) => (
-
-
-
-)
diff --git a/.storybook/index.css b/.storybook/index.css
deleted file mode 100644
index 5c596af4..00000000
--- a/.storybook/index.css
+++ /dev/null
@@ -1,9 +0,0 @@
-html,
-body,
-#storybook-root {
- height: 100%;
-}
-
-.sbdocs canvas {
- min-height: 20rem;
-}
diff --git a/.storybook/main.ts b/.storybook/main.ts
deleted file mode 100644
index b8a062d7..00000000
--- a/.storybook/main.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import type { StorybookConfig } from '@storybook/react-vite'
-
-const config: StorybookConfig = {
- stories: ['./stories/**/*.mdx', './stories/**/*.stories.@(js|jsx|ts|tsx)'],
- addons: ['@storybook/addon-links', '@storybook/addon-essentials', '@storybook/addon-interactions'],
- framework: {
- name: '@storybook/react-vite',
- options: {},
- },
- async viteFinal(config, options) {
- // Add your configuration here
- return config
- },
- staticDirs: ['./public'],
- docs: {
- autodocs: 'tag',
- },
-}
-export default config
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
deleted file mode 100644
index 9604122b..00000000
--- a/.storybook/preview.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import React from 'react'
-import type { Preview } from '@storybook/react'
-
-import './index.css'
-
-const preview: Preview = {
- parameters: {
- // actions: { argTypesRegex: '^on[A-Z].*' },
- // controls: {
- // matchers: {
- // color: /(background|color)$/i,
- // date: /Date$/,
- // },
- // },
- layout: 'fullscreen',
- },
- decorators: [
- (Story) => (
-
-
-
- ),
- ],
-}
-
-export default preview
diff --git a/.storybook/public/digital_painting_golden_hour_sunset.jpg b/.storybook/public/digital_painting_golden_hour_sunset.jpg
deleted file mode 100644
index 673b67cf..00000000
Binary files a/.storybook/public/digital_painting_golden_hour_sunset.jpg and /dev/null differ
diff --git a/.storybook/public/lensDirtTexture.png b/.storybook/public/lensDirtTexture.png
deleted file mode 100644
index b8776dc8..00000000
Binary files a/.storybook/public/lensDirtTexture.png and /dev/null differ
diff --git a/.storybook/public/suzi.gltf b/.storybook/public/suzi.gltf
deleted file mode 100644
index 45e17816..00000000
--- a/.storybook/public/suzi.gltf
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "asset": {
- "generator": "Khronos glTF Blender I/O v1.5.17",
- "version": "2.0"
- },
- "scene": 0,
- "scenes": [
- {
- "name": "Scene",
- "nodes": [
- 0
- ]
- }
- ],
- "nodes": [
- {
- "mesh": 0,
- "name": "Suzanne"
- }
- ],
- "meshes": [
- {
- "name": "Suzanne",
- "primitives": [
- {
- "attributes": {
- "POSITION": 1,
- "NORMAL": 2,
- "TEXCOORD_0": 3
- },
- "indices": 0,
- "mode": 4,
- "material": 0,
- "extensions": {
- "KHR_draco_mesh_compression": {
- "bufferView": 0,
- "attributes": {
- "POSITION": 0,
- "NORMAL": 1,
- "TEXCOORD_0": 2
- }
- }
- }
- }
- ]
- }
- ],
- "accessors": [
- {
- "componentType": 5123,
- "count": 47232,
- "type": "SCALAR"
- },
- {
- "componentType": 5126,
- "count": 10206,
- "max": [
- 0.9306385004351532,
- 1.5072998966190019,
- 0.5770668715282248
- ],
- "min": [
- -0.9306385004351532,
- 0.16743480326434024,
- -0.5456946575472748
- ],
- "type": "VEC3"
- },
- {
- "componentType": 5126,
- "count": 10206,
- "type": "VEC3"
- },
- {
- "componentType": 5126,
- "count": 10206,
- "type": "VEC2"
- }
- ],
- "bufferViews": [
- {
- "buffer": 0,
- "byteOffset": 0,
- "byteLength": 27050
- }
- ],
- "buffers": [
- {
- "name": "modelDraco",
- "byteLength": 27052,
- "uri": "data:application/octet-stream;base64,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"
- }
- ],
- "materials": [
- {
- "name": "default",
- "emissiveFactor": [
- 0,
- 0,
- 0
- ],
- "alphaMode": "OPAQUE",
- "doubleSided": false
- }
- ],
- "extensionsRequired": [
- "KHR_draco_mesh_compression"
- ],
- "extensionsUsed": [
- "KHR_draco_mesh_compression"
- ]
-}
diff --git a/.storybook/stories/Autofocus.stories.tsx b/.storybook/stories/Autofocus.stories.tsx
deleted file mode 100644
index fc54fbed..00000000
--- a/.storybook/stories/Autofocus.stories.tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-import React, { memo } from 'react'
-import * as THREE from 'three'
-import type { Meta, StoryObj } from '@storybook/react'
-import { useGLTF, Center, Resize, AccumulativeShadows, RandomizedLight, Environment, Stats } from '@react-three/drei'
-
-import { Setup } from '../Setup'
-import { EffectComposer, Autofocus } from '../../src'
-
-// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
-const meta = {
- title: 'Effect/Autofocus',
- component: Autofocus,
- decorators: [
- (Story) => (
-
- {Story()}
-
- ),
- ],
- tags: ['autodocs'],
- // argTypes: {
- // debug: {
- // control: { type: 'range', min: 0, max: 1, step: 0.01 },
- // },
- // },
-} satisfies Meta
-
-export default meta
-type Story = StoryObj
-
-// More on writing stories with args: https://storybook.js.org/docs/react/writing-stories/args
-export const Primary: Story = {
- render: (args) => (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- ),
- args: {
- mouse: true,
- debug: 0.04,
- bokehScale: 8,
- focusRange: 0.001,
- },
-}
-
-const Suzi = ({ children, ...props }) => {
- const { nodes } = useGLTF('suzi.gltf') as any
- return (
- <>
-
- {children}
-
- >
- )
-}
-
-const Shadows = memo(() => (
-
-
-
-))
diff --git a/.storybook/stories/LensFlare.stories.tsx b/.storybook/stories/LensFlare.stories.tsx
deleted file mode 100644
index da11f485..00000000
--- a/.storybook/stories/LensFlare.stories.tsx
+++ /dev/null
@@ -1,90 +0,0 @@
-import React, { memo } from 'react'
-import * as THREE from 'three'
-import type { Meta, StoryObj } from '@storybook/react'
-import { BackSide } from 'three'
-import { Box, useTexture } from '@react-three/drei'
-
-import { Setup } from '../Setup'
-import { EffectComposer, LensFlare, Vignette, Bloom, BrightnessContrast } from '../../src'
-
-function SkyBox() {
- const texture = useTexture('digital_painting_golden_hour_sunset.jpg')
-
- return (
-
-
-
-
- )
-}
-
-// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
-const meta = {
- title: 'Effect/LensFlare',
- component: LensFlare,
- decorators: [
- (Story) => (
-
- {Story()}
-
- ),
- ],
- tags: ['autodocs'],
- // argTypes: {
- // debug: {
- // control: { type: 'range', min: 0, max: 1, step: 0.01 },
- // },
- // },
-} satisfies Meta
-
-export default meta
-type Story = StoryObj
-
-// More on writing stories with args: https://storybook.js.org/docs/react/writing-stories/args
-export const Primary: Story = {
- render: (args) => (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- ),
- args: { colorGain: new THREE.Color(56, 21, 9) },
-}
-
-function DirtLensFlare(props) {
- const texture = useTexture('lensDirtTexture.png')
-
- return
-}
-
-export const Secondary: Story = {
- render: (args) => (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- ),
- args: { starBurst: true, colorGain: new THREE.Color(56, 21, 9) },
-}
diff --git a/.storybook/stories/assets/repo.svg b/.storybook/stories/assets/repo.svg
deleted file mode 100644
index f386ee90..00000000
--- a/.storybook/stories/assets/repo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e3bc0465..43f50b37 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -15,14 +15,6 @@ You can also just [ to avoid bloating the repository
-- If you think a more involved example is necessary, you can always add a codesandbox to the main README while keeping the story minimalistic
-
## Publishing
We use `semantic-release` to deploy the package. Because of this only certain commits will trigger the action of creating a release:
diff --git a/README.md b/README.md
index c2626ff7..f5d78005 100644
--- a/README.md
+++ b/README.md
@@ -42,7 +42,7 @@ From
> the screen diagonal. This is especially beneficial for GPGPU passes and
> effects that use complex fragment shaders.
-Postprocessing also supports srgb-encoding out of the box, as well as WebGL2
+Postprocessing also supports gamma correction out of the box, as well as WebGL2
MSAA (multi sample anti aliasing), which is react-postprocessing's default, you
get high performance crisp results w/o jagged edges.
diff --git a/docs/introduction.mdx b/docs/introduction.mdx
index ebd58508..f19ef334 100644
--- a/docs/introduction.mdx
+++ b/docs/introduction.mdx
@@ -36,7 +36,7 @@ From
> the screen diagonal. This is especially beneficial for GPGPU passes and
> effects that use complex fragment shaders.
-Postprocessing also supports srgb-encoding out of the box, as well as WebGL2
+Postprocessing also supports gamma correction out of the box, as well as WebGL2
MSAA (multi sample anti aliasing), which is react-postprocessing's default, you
get high performance crisp results w/o jagged edges.
diff --git a/package.json b/package.json
index 40e15d82..77de64dc 100644
--- a/package.json
+++ b/package.json
@@ -11,60 +11,37 @@
"3d"
],
"license": "MIT",
- "type": "module",
- "main": "./dist/index.cjs",
- "module": "./dist/index.js",
- "exports": {
- "types": "./dist/index.d.ts",
- "require": "./dist/index.cjs",
- "import": "./dist/index.js"
- },
- "types": "./dist/index.d.ts",
- "sideEffects": false,
"files": [
- "dist"
+ "dist/*",
+ "src/*"
],
+ "type": "module",
+ "main": "./dist/index.js",
+ "exports": "./dist/index.js",
+ "sideEffects": false,
"repository": {
"type": "git",
"url": "git+https://github.com/pmndrs/react-postprocessing.git"
},
- "lint-staged": {
- "*.{js,jsx,ts,tsx}": [
- "eslint --fix"
- ]
- },
"scripts": {
- "prebuild": "rimraf dist",
- "build": "vite build && tsc --emitDeclarationOnly",
- "prepare": "yarn build",
+ "build": "vite build",
"eslint": "eslint . --fix --ext=js,ts,jsx,tsx",
"eslint:ci": "eslint . --ext=js,ts,jsx,tsx",
"test": "vitest run",
- "typecheck": "tsc --noEmit false --strict --jsx react",
- "release": "semantic-release",
- "storybook": "storybook dev -p 6006",
- "build-storybook": "storybook build"
+ "typecheck": "tsc",
+ "release": "semantic-release"
},
"dependencies": {
- "buffer": "^6.0.3",
"maath": "^0.6.0",
- "n8ao": "^1.6.6",
- "postprocessing": "^6.32.1",
- "three-stdlib": "^2.23.4"
+ "n8ao": "^1.9.4",
+ "postprocessing": "^6.36.6"
},
"devDependencies": {
- "@react-three/drei": "^9.68.2",
- "@react-three/fiber": "^8.13.0",
- "@storybook/addon-essentials": "^7.0.10",
- "@storybook/addon-interactions": "^7.0.10",
- "@storybook/addon-links": "^7.0.10",
- "@storybook/blocks": "^7.0.10",
- "@storybook/react": "^7.0.10",
- "@storybook/react-vite": "^7.0.11",
- "@storybook/testing-library": "^0.0.14-next.2",
- "@types/react": "^18.2.0",
- "@types/react-dom": "^18.2.1",
- "@types/three": "^0.150.2",
+ "@react-three/fiber": "^9.0.1",
+ "@types/node": "^22.10.7",
+ "@types/react": "^19.0.2",
+ "@types/react-dom": "^19.0.2",
+ "@types/three": "^0.156.0",
"@typescript-eslint/eslint-plugin": "^5.59.1",
"@typescript-eslint/parser": "^5.59.1",
"eslint": "^8.39.0",
@@ -74,23 +51,18 @@
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-storybook": "^0.6.12",
- "husky": "^8.0.3",
- "lint-staged": "^13.2.2",
"prettier": "^2.8.8",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "rimraf": "^5.0.0",
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0",
"semantic-release": "^21.0.2",
- "storybook": "^7.0.10",
- "three": "^0.151.3",
+ "three": "^0.156.0",
"typescript": "^5.0.4",
"vite": "^4.3.5",
"vitest": "^2.1.8"
},
"peerDependencies": {
- "@react-three/fiber": "^8.0",
- "react": "^18.0",
- "three": ">= 0.138.0"
+ "@react-three/fiber": "^9.0.0",
+ "react": "^19.0",
+ "three": ">= 0.156.0"
}
}
diff --git a/src/EffectComposer.test.tsx b/src/EffectComposer.test.tsx
index 60539036..2256a844 100644
--- a/src/EffectComposer.test.tsx
+++ b/src/EffectComposer.test.tsx
@@ -11,11 +11,8 @@ declare global {
}
global.IS_REACT_ACT_ENVIRONMENT = true
-// Mock scheduler to test React features
-vi.mock('scheduler', () => require('scheduler/unstable_mock'))
-
// Create virtual R3F root for testing
-extend(THREE)
+extend(THREE as any)
const root = createRoot({
style: {} as CSSStyleDeclaration,
addEventListener: (() => {}) as any,
diff --git a/src/EffectComposer.tsx b/src/EffectComposer.tsx
index 256419df..098253b1 100644
--- a/src/EffectComposer.tsx
+++ b/src/EffectComposer.tsx
@@ -1,6 +1,8 @@
-import type { Camera, Scene, TextureDataType } from 'three'
+import type { TextureDataType, Group, Camera, Scene } from 'three'
import { HalfFloatType, NoToneMapping } from 'three'
-import React, {
+import {
+ type JSX,
+ memo,
forwardRef,
useMemo,
useEffect,
@@ -9,21 +11,19 @@ import React, {
useRef,
useImperativeHandle,
} from 'react'
-import { useThree, useFrame } from '@react-three/fiber'
+import { useThree, useFrame, type Instance } from '@react-three/fiber'
import {
EffectComposer as EffectComposerImpl,
RenderPass,
EffectPass,
NormalPass,
- // @ts-ignore
DepthDownsamplingPass,
Effect,
Pass,
EffectAttribute,
} from 'postprocessing'
-import { isWebGL2Available } from 'three-stdlib'
-export const EffectComposerContext = createContext<{
+export const EffectComposerContext = /* @__PURE__ */ createContext<{
composer: EffectComposerImpl
normalPass: NormalPass | null
downSamplingPass: DepthDownsamplingPass | null
@@ -51,8 +51,8 @@ export type EffectComposerProps = {
const isConvolution = (effect: Effect): boolean =>
(effect.getAttributes() & EffectAttribute.CONVOLUTION) === EffectAttribute.CONVOLUTION
-export const EffectComposer = React.memo(
- forwardRef(
+export const EffectComposer = /* @__PURE__ */ memo(
+ /* @__PURE__ */ forwardRef(
(
{
children,
@@ -75,12 +75,11 @@ export const EffectComposer = React.memo(
const camera = _camera || defaultCamera
const [composer, normalPass, downSamplingPass] = useMemo(() => {
- const webGL2Available = isWebGL2Available()
// Initialize composer
const effectComposer = new EffectComposerImpl(gl, {
depthBuffer,
stencilBuffer,
- multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,
+ multisampling,
frameBufferType,
})
@@ -94,7 +93,7 @@ export const EffectComposer = React.memo(
normalPass = new NormalPass(scene, camera)
normalPass.enabled = false
effectComposer.addPass(normalPass)
- if (resolutionScale !== undefined && webGL2Available) {
+ if (resolutionScale !== undefined) {
downSamplingPass = new DepthDownsamplingPass({ normalBuffer: normalPass.texture, resolutionScale })
downSamplingPass.enabled = false
effectComposer.addPass(downSamplingPass)
@@ -128,25 +127,25 @@ export const EffectComposer = React.memo(
enabled ? renderPriority : 0
)
- const group = useRef(null)
+ const group = useRef(null!)
useLayoutEffect(() => {
const passes: Pass[] = []
// TODO: rewrite all of this with R3F v9
- const groupInstance = (group.current as any)?.__r3f as { objects: unknown[] }
+ const groupInstance = (group.current as Group & { __r3f: Instance }).__r3f
if (groupInstance && composer) {
- const children = groupInstance.objects
+ const children = groupInstance.children
for (let i = 0; i < children.length; i++) {
- const child = children[i]
+ const child = children[i].object
if (child instanceof Effect) {
const effects: Effect[] = [child]
if (!isConvolution(child)) {
let next: unknown = null
- while ((next = children[i + 1]) instanceof Effect) {
+ while ((next = children[i + 1]?.object) instanceof Effect) {
if (isConvolution(next)) break
effects.push(next)
i++
diff --git a/src/Selection.tsx b/src/Selection.tsx
index 54de97ff..5e3ae361 100644
--- a/src/Selection.tsx
+++ b/src/Selection.tsx
@@ -1,16 +1,17 @@
import * as THREE from 'three'
import React, { createContext, useState, useContext, useEffect, useRef, useMemo } from 'react'
+import { type ThreeElements } from '@react-three/fiber'
export type Api = {
selected: THREE.Object3D[]
select: React.Dispatch>
enabled: boolean
}
-export type SelectApi = JSX.IntrinsicElements['group'] & {
+export type SelectApi = Omit & {
enabled?: boolean
}
-export const selectionContext = createContext(null)
+export const selectionContext = /* @__PURE__ */ createContext(null)
export function Selection({ children, enabled = true }: { enabled?: boolean; children: React.ReactNode }) {
const [selected, select] = useState([])
@@ -24,7 +25,7 @@ export function Select({ enabled = false, children, ...props }: SelectApi) {
useEffect(() => {
if (api && enabled) {
let changed = false
- const current: THREE.Object3D[] = []
+ const current: THREE.Object3D[] = []
group.current.traverse((o) => {
o.type === 'Mesh' && current.push(o)
if (api.selected.indexOf(o) === -1) changed = true
diff --git a/src/compat.js b/src/compat.js
deleted file mode 100644
index 2307f368..00000000
--- a/src/compat.js
+++ /dev/null
@@ -1,81 +0,0 @@
-import * as THREE from 'three'
-
-const version = /* @__PURE__ */ (() => parseInt(THREE.REVISION.replace(/\D+/g, '')))()
-
-// NOTE: WebGLMultipleRenderTargets is removed since r172, so we implement it ourselves.
-// https://github.com/mrdoob/three.js/pull/26427
-export const WebGLMultipleRenderTargets =
- version >= 162
- ? class extends THREE.WebGLRenderTarget {
- constructor(width = 1, height = 1, count = 1, options = {}) {
- super(width, height, { ...options, count })
-
- this.isWebGLMultipleRenderTargets = true
- }
-
- get texture() {
- return this.textures
- }
- }
- : class extends THREE.WebGLRenderTarget {
- constructor(width = 1, height = 1, count = 1, options = {}) {
- super(width, height, options)
-
- this.isWebGLMultipleRenderTargets = true
-
- const texture = this.texture
-
- this.texture = []
-
- for (let i = 0; i < count; i++) {
- this.texture[i] = texture.clone()
- this.texture[i].isRenderTargetTexture = true
- }
- }
-
- setSize(width, height, depth = 1) {
- if (this.width !== width || this.height !== height || this.depth !== depth) {
- this.width = width
- this.height = height
- this.depth = depth
-
- for (let i = 0, il = this.texture.length; i < il; i++) {
- this.texture[i].image.width = width
- this.texture[i].image.height = height
- this.texture[i].image.depth = depth
- }
-
- this.dispose()
- }
-
- this.viewport.set(0, 0, width, height)
- this.scissor.set(0, 0, width, height)
- }
-
- copy(source) {
- this.dispose()
-
- this.width = source.width
- this.height = source.height
- this.depth = source.depth
-
- this.scissor.copy(source.scissor)
- this.scissorTest = source.scissorTest
-
- this.viewport.copy(source.viewport)
-
- this.depthBuffer = source.depthBuffer
- this.stencilBuffer = source.stencilBuffer
-
- if (source.depthTexture !== null) this.depthTexture = source.depthTexture.clone()
-
- this.texture.length = 0
-
- for (let i = 0, il = source.texture.length; i < il; i++) {
- this.texture[i] = source.texture[i].clone()
- this.texture[i].isRenderTargetTexture = true
- }
-
- return this
- }
- }
diff --git a/src/effects/ASCII.tsx b/src/effects/ASCII.tsx
index 4da10590..f25cb45f 100644
--- a/src/effects/ASCII.tsx
+++ b/src/effects/ASCII.tsx
@@ -114,7 +114,7 @@ class ASCIIEffect extends Effect {
}
}
-export const ASCII = forwardRef(
+export const ASCII = /* @__PURE__ */ forwardRef(
(
{
font = 'arial',
diff --git a/src/effects/Autofocus.tsx b/src/effects/Autofocus.tsx
index 2dac90fa..6cbecef0 100644
--- a/src/effects/Autofocus.tsx
+++ b/src/effects/Autofocus.tsx
@@ -30,12 +30,12 @@ export type AutofocusProps = React.ComponentProps & {
}
export type AutofocusApi = {
- dofRef: RefObject
+ dofRef: RefObject
hitpoint: THREE.Vector3
update: (delta: number, updateTarget: boolean) => void
}
-export const Autofocus = forwardRef(
+export const Autofocus = /* @__PURE__ */ forwardRef(
(
{ target = undefined, mouse: followMouse = false, debug = undefined, manual = false, smoothTime = 0.25, ...props },
fref
diff --git a/src/effects/Bloom.tsx b/src/effects/Bloom.tsx
index 5772bae2..56f5a217 100644
--- a/src/effects/Bloom.tsx
+++ b/src/effects/Bloom.tsx
@@ -1,6 +1,6 @@
import { BloomEffect, BlendFunction } from 'postprocessing'
import { wrapEffect } from '../util'
-export const Bloom = wrapEffect(BloomEffect, {
+export const Bloom = /* @__PURE__ */ wrapEffect(BloomEffect, {
blendFunction: BlendFunction.ADD,
})
diff --git a/src/effects/BrightnessContrast.tsx b/src/effects/BrightnessContrast.tsx
index 48320cf6..d14855c6 100644
--- a/src/effects/BrightnessContrast.tsx
+++ b/src/effects/BrightnessContrast.tsx
@@ -1,4 +1,4 @@
import { BrightnessContrastEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const BrightnessContrast = wrapEffect(BrightnessContrastEffect)
+export const BrightnessContrast = /* @__PURE__ */ wrapEffect(BrightnessContrastEffect)
diff --git a/src/effects/ChromaticAberration.tsx b/src/effects/ChromaticAberration.tsx
index 0ef95949..5944ffad 100644
--- a/src/effects/ChromaticAberration.tsx
+++ b/src/effects/ChromaticAberration.tsx
@@ -2,4 +2,4 @@ import { ChromaticAberrationEffect } from 'postprocessing'
import { type EffectProps, wrapEffect } from '../util'
export type ChromaticAberrationProps = EffectProps
-export const ChromaticAberration = wrapEffect(ChromaticAberrationEffect)
+export const ChromaticAberration = /* @__PURE__ */ wrapEffect(ChromaticAberrationEffect)
diff --git a/src/effects/ColorAverage.tsx b/src/effects/ColorAverage.tsx
index f9e44ef6..be603eae 100644
--- a/src/effects/ColorAverage.tsx
+++ b/src/effects/ColorAverage.tsx
@@ -5,7 +5,7 @@ export type ColorAverageProps = Partial<{
blendFunction: BlendFunction
}>
-export const ColorAverage = forwardRef(function ColorAverage(
+export const ColorAverage = /* @__PURE__ */ forwardRef(function ColorAverage(
{ blendFunction = BlendFunction.NORMAL }: ColorAverageProps,
ref: Ref
) {
diff --git a/src/effects/ColorDepth.tsx b/src/effects/ColorDepth.tsx
index 4397f031..70a95d2c 100644
--- a/src/effects/ColorDepth.tsx
+++ b/src/effects/ColorDepth.tsx
@@ -1,4 +1,4 @@
import { ColorDepthEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const ColorDepth = wrapEffect(ColorDepthEffect)
+export const ColorDepth = /* @__PURE__ */ wrapEffect(ColorDepthEffect)
diff --git a/src/effects/Depth.tsx b/src/effects/Depth.tsx
index c46208d5..0d99563f 100644
--- a/src/effects/Depth.tsx
+++ b/src/effects/Depth.tsx
@@ -1,4 +1,4 @@
import { DepthEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const Depth = wrapEffect(DepthEffect)
+export const Depth = /* @__PURE__ */ wrapEffect(DepthEffect)
diff --git a/src/effects/DepthOfField.tsx b/src/effects/DepthOfField.tsx
index 7b3e0b8d..e4dd8525 100644
--- a/src/effects/DepthOfField.tsx
+++ b/src/effects/DepthOfField.tsx
@@ -16,7 +16,7 @@ type DOFProps = ConstructorParameters[1] &
blur: number
}>
-export const DepthOfField = forwardRef(function DepthOfField(
+export const DepthOfField = /* @__PURE__ */ forwardRef(function DepthOfField(
{
blendFunction,
worldFocusDistance,
diff --git a/src/effects/DotScreen.tsx b/src/effects/DotScreen.tsx
index 5e734b8f..a7647ab5 100644
--- a/src/effects/DotScreen.tsx
+++ b/src/effects/DotScreen.tsx
@@ -1,4 +1,4 @@
import { DotScreenEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const DotScreen = wrapEffect(DotScreenEffect)
+export const DotScreen = /* @__PURE__ */ wrapEffect(DotScreenEffect)
diff --git a/src/effects/FXAA.tsx b/src/effects/FXAA.tsx
index 02f8c59b..00659605 100644
--- a/src/effects/FXAA.tsx
+++ b/src/effects/FXAA.tsx
@@ -1,4 +1,4 @@
import { FXAAEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const FXAA = wrapEffect(FXAAEffect)
+export const FXAA = /* @__PURE__ */ wrapEffect(FXAAEffect)
diff --git a/src/effects/Glitch.tsx b/src/effects/Glitch.tsx
index 45d53c90..2ff7cb20 100644
--- a/src/effects/Glitch.tsx
+++ b/src/effects/Glitch.tsx
@@ -14,7 +14,7 @@ export type GlitchProps = ConstructorParameters[0] &
strength: ReactThreeFiber.Vector2
}>
-export const Glitch = forwardRef(function Glitch(
+export const Glitch = /* @__PURE__ */ forwardRef(function Glitch(
{ active = true, ...props }: GlitchProps,
ref: Ref
) {
diff --git a/src/effects/GodRays.tsx b/src/effects/GodRays.tsx
index 3d5ee520..8f1db2ad 100644
--- a/src/effects/GodRays.tsx
+++ b/src/effects/GodRays.tsx
@@ -5,13 +5,12 @@ import { EffectComposerContext } from '../EffectComposer'
import { resolveRef } from '../util'
type GodRaysProps = ConstructorParameters[2] & {
- sun: Mesh | Points | React.MutableRefObject
+ sun: Mesh | Points | React.RefObject
}
-export const GodRays = forwardRef(function GodRays(props: GodRaysProps, ref: Ref) {
+export const GodRays = /* @__PURE__ */ forwardRef(function GodRays(props: GodRaysProps, ref: Ref) {
const { camera } = useContext(EffectComposerContext)
const effect = useMemo(() => new GodRaysEffect(camera, resolveRef(props.sun), props), [camera, props])
- // @ts-ignore v6.30.2 https://github.com/pmndrs/postprocessing/pull/470/commits/091ef6f9516ca02efa7576305afbecf1ce8323ae
useLayoutEffect(() => void (effect.lightSource = resolveRef(props.sun)), [effect, props.sun])
return
})
diff --git a/src/effects/Grid.tsx b/src/effects/Grid.tsx
index 6264071d..9fe03793 100644
--- a/src/effects/Grid.tsx
+++ b/src/effects/Grid.tsx
@@ -10,7 +10,7 @@ type GridProps = ConstructorParameters[0] &
}
}>
-export const Grid = forwardRef(function Grid({ size, ...props }: GridProps, ref: Ref) {
+export const Grid = /* @__PURE__ */ forwardRef(function Grid({ size, ...props }: GridProps, ref: Ref) {
const invalidate = useThree((state) => state.invalidate)
const effect = useMemo(() => new GridEffect(props), [props])
useLayoutEffect(() => {
diff --git a/src/effects/HueSaturation.tsx b/src/effects/HueSaturation.tsx
index a1598c60..a3a3f61c 100644
--- a/src/effects/HueSaturation.tsx
+++ b/src/effects/HueSaturation.tsx
@@ -1,4 +1,4 @@
import { HueSaturationEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const HueSaturation = wrapEffect(HueSaturationEffect)
+export const HueSaturation = /* @__PURE__ */ wrapEffect(HueSaturationEffect)
diff --git a/src/effects/LUT.tsx b/src/effects/LUT.tsx
index 7847b8a0..f3d42d29 100644
--- a/src/effects/LUT.tsx
+++ b/src/effects/LUT.tsx
@@ -9,7 +9,7 @@ export type LUTProps = {
tetrahedralInterpolation?: boolean
}
-export const LUT = forwardRef(function LUT(
+export const LUT = /* @__PURE__ */ forwardRef(function LUT(
{ lut, tetrahedralInterpolation, ...props }: LUTProps,
ref: Ref
) {
diff --git a/src/effects/LensFlare.tsx b/src/effects/LensFlare.tsx
index d41ca39f..7f7587c9 100644
--- a/src/effects/LensFlare.tsx
+++ b/src/effects/LensFlare.tsx
@@ -2,7 +2,7 @@
// From https://github.com/ektogamat/R3F-Ultimate-Lens-Flare
import * as THREE from 'three'
-import { useEffect, useState, useContext, useRef } from 'react'
+import React, { useEffect, useState, useContext, useRef } from 'react'
import { useFrame, useThree } from '@react-three/fiber'
import { BlendFunction, Effect } from 'postprocessing'
import { easing } from 'maath'
@@ -586,7 +586,6 @@ export const LensFlare = ({
return (
(
+export const N8AO = /* @__PURE__ */ forwardRef(
(
{
halfRes,
diff --git a/src/effects/N8AO/BlueNoise.js b/src/effects/N8AO/BlueNoise.js
deleted file mode 100644
index 3ea2a34b..00000000
--- a/src/effects/N8AO/BlueNoise.js
+++ /dev/null
@@ -1 +0,0 @@
-export default `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`
diff --git a/src/effects/N8AO/DepthDownSample.js b/src/effects/N8AO/DepthDownSample.js
deleted file mode 100644
index 6bc600c5..00000000
--- a/src/effects/N8AO/DepthDownSample.js
+++ /dev/null
@@ -1,160 +0,0 @@
-import * as THREE from 'three'
-
-const DepthDownSample = {
- uniforms: {
- sceneDepth: { value: null },
- resolution: { value: new THREE.Vector2() },
- near: { value: 0.1 },
- far: { value: 1000.0 },
- viewMatrixInv: { value: new THREE.Matrix4() },
- projectionMatrixInv: { value: new THREE.Matrix4() },
- logDepth: { value: false },
- },
- depthWrite: false,
- depthTest: false,
-
- vertexShader: /* glsl */ `
- varying vec2 vUv;
- void main() {
- vUv = uv;
- gl_Position = vec4(position, 1);
- }`,
- fragmentShader: /* glsl */ `
- uniform highp sampler2D sceneDepth;
- uniform vec2 resolution;
- uniform float near;
- uniform float far;
- uniform bool logDepth;
- uniform mat4 viewMatrixInv;
- uniform mat4 projectionMatrixInv;
- varying vec2 vUv;
- layout(location = 1) out vec4 gNormal;
- vec3 getWorldPosLog(vec3 posS) {
- vec2 uv = posS.xy;
- float z = posS.z;
- float nearZ =near;
- float farZ = far;
- float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;
- float a = farZ / (farZ - nearZ);
- float b = farZ * nearZ / (nearZ - farZ);
- float linDepth = a + b / depth;
- vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;
- vec4 wpos = projectionMatrixInv * clipVec;
- return wpos.xyz / wpos.w;
- }
- vec3 getWorldPos(float depth, vec2 coord) {
- if (logDepth) {
- return getWorldPosLog(vec3(coord, depth));
- }
- float z = depth * 2.0 - 1.0;
- vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);
- vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;
- // Perspective division
- vec4 worldSpacePosition = viewSpacePosition;
- worldSpacePosition.xyz /= worldSpacePosition.w;
- return worldSpacePosition.xyz;
- }
-
- vec3 computeNormal(vec3 worldPos, vec2 vUv) {
- ivec2 p = ivec2(vUv * resolution);
- float c0 = texelFetch(sceneDepth, p, 0).x;
- float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x;
- float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x;
- float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x;
- float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x;
- float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x;
- float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x;
- float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x;
- float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x;
-
- float dl = abs((2.0 * l1 - l2) - c0);
- float dr = abs((2.0 * r1 - r2) - c0);
- float db = abs((2.0 * b1 - b2) - c0);
- float dt = abs((2.0 * t1 - t2) - c0);
-
- vec3 ce = getWorldPos(c0, vUv).xyz;
-
- vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz
- : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz;
- vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz
- : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz;
-
- return normalize(cross(dpdx, dpdy));
- }
- void main() {
- vec2 uv = vUv - vec2(0.5) / resolution;
- vec2 pixelSize = vec2(1.0) / resolution;
- vec2[] uvSamples = vec2[4](
- uv,
- uv + vec2(pixelSize.x, 0.0),
- uv + vec2(0.0, pixelSize.y),
- uv + pixelSize
- );
- float depth00 = texture2D(sceneDepth, uvSamples[0]).r;
- float depth10 = texture2D(sceneDepth, uvSamples[1]).r;
- float depth01 = texture2D(sceneDepth, uvSamples[2]).r;
- float depth11 = texture2D(sceneDepth, uvSamples[3]).r;
- float minDepth = min(min(depth00, depth10), min(depth01, depth11));
- float maxDepth = max(max(depth00, depth10), max(depth01, depth11));
- float targetDepth = minDepth;
- // Checkerboard pattern to avoid artifacts
- if (mod(gl_FragCoord.x + gl_FragCoord.y, 2.0) > 0.5) {
- targetDepth = maxDepth;
- }
- int chosenIndex = 0;
- float[] samples = float[4](depth00, depth10, depth01, depth11);
- for(int i = 0; i < 4; ++i) {
- if (samples[i] == targetDepth) {
- chosenIndex = i;
- break;
- }
- }
- gl_FragColor = vec4(samples[chosenIndex], 0.0, 0.0, 1.0);
- gNormal = vec4(computeNormal(
- getWorldPos(samples[chosenIndex], uvSamples[chosenIndex]), uvSamples[chosenIndex]
- ), 0.0);
- /* float[] samples = float[4](depth00, depth10, depth01, depth11);
- float c = 0.25 * (depth00 + depth10 + depth01 + depth11);
- float[] distances = float[4](depth00, depth10, depth01, depth11);
- float maxDistance = max(max(distances[0], distances[1]), max(distances[2], distances[3]));
-
- int remaining[3];
- int rejected[3];
- int i, j, k;
-
- for(i = 0, j = 0, k = 0; i < 4; ++i) {
- if (distances[i] < maxDistance) {
- remaining[j++] = i;
- } else {
- rejected[k++] = i;
- }
- }
- for(;j < 3;++j) {
- remaining[j] = rejected[--k];
- }
- vec3 s = vec3(
- samples[remaining[0]],
- samples[remaining[1]],
- samples[remaining[2]]
- );
- c = (s.x + s.y + s.z) / 3.0;
-
- distances[0] = abs(c - s.x);
- distances[1] = abs(c - s.y);
- distances[2] = abs(c - s.z);
-
- float minDistance = min(min(distances[0], distances[1]), distances[2]);
-
- for(i = 0; i < 3; ++i) {
- if (distances[i] == minDistance) {
- break;
- }
- }*/
- /* gl_FragColor = vec4(samples[remaining[i]], 0.0, 0.0, 0.0);
- gNormal = vec4(computeNormal(
- getWorldPos(samples[remaining[i]], uvSamples[remaining[i]]), uvSamples[remaining[i]]
- ), 0.0);*/
- }`,
-}
-
-export { DepthDownSample }
diff --git a/src/effects/N8AO/EffectCompositer.js b/src/effects/N8AO/EffectCompositer.js
deleted file mode 100644
index 09918a81..00000000
--- a/src/effects/N8AO/EffectCompositer.js
+++ /dev/null
@@ -1,259 +0,0 @@
-import * as THREE from 'three'
-
-const version = parseInt(THREE.REVISION.replace(/\D+/g, ''))
-
-// https://github.com/mrdoob/three.js/pull/26644
-// https://github.com/mrdoob/three.js/pull/28901
-const sRGBTransferOETF = version >= 167 ? 'sRGBTransferOETF' : 'LinearTosRGB'
-
-const EffectCompositer = {
- uniforms: {
- sceneDiffuse: { value: null },
- sceneDepth: { value: null },
- tDiffuse: { value: null },
- projMat: { value: new THREE.Matrix4() },
- viewMat: { value: new THREE.Matrix4() },
- projectionMatrixInv: { value: new THREE.Matrix4() },
- viewMatrixInv: { value: new THREE.Matrix4() },
- cameraPos: { value: new THREE.Vector3() },
- resolution: { value: new THREE.Vector2() },
- color: { value: new THREE.Vector3(0, 0, 0) },
- blueNoise: { value: null },
- downsampledDepth: { value: null },
- time: { value: 0.0 },
- intensity: { value: 10.0 },
- renderMode: { value: 0.0 },
- gammaCorrection: { value: false },
- logDepth: { value: false },
- ortho: { value: false },
- near: { value: 0.1 },
- far: { value: 1000.0 },
- screenSpaceRadius: { value: false },
- radius: { value: 0.0 },
- distanceFalloff: { value: 1.0 },
- fog: { value: false },
- fogExp: { value: false },
- fogDensity: { value: 0.0 },
- fogNear: { value: Infinity },
- fogFar: { value: Infinity },
- colorMultiply: { value: true },
- },
- depthWrite: false,
- depthTest: false,
-
- vertexShader: /* glsl */ `
- varying vec2 vUv;
- void main() {
- vUv = uv;
- gl_Position = vec4(position, 1);
- }`,
- fragmentShader: /* glsl */ `
- uniform sampler2D sceneDiffuse;
- uniform highp sampler2D sceneDepth;
- uniform highp sampler2D downsampledDepth;
- uniform sampler2D tDiffuse;
- uniform sampler2D blueNoise;
- uniform vec2 resolution;
- uniform vec3 color;
- uniform mat4 projectionMatrixInv;
- uniform mat4 viewMatrixInv;
- uniform float intensity;
- uniform float renderMode;
- uniform float near;
- uniform float far;
- uniform bool gammaCorrection;
- uniform bool logDepth;
- uniform bool ortho;
- uniform bool screenSpaceRadius;
- uniform bool fog;
- uniform bool fogExp;
- uniform bool colorMultiply;
- uniform float fogDensity;
- uniform float fogNear;
- uniform float fogFar;
- uniform float radius;
- uniform float distanceFalloff;
- uniform vec3 cameraPos;
- varying vec2 vUv;
- highp float linearize_depth(highp float d, highp float zNear,highp float zFar)
- {
- return (zFar * zNear) / (zFar - d * (zFar - zNear));
- }
- highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) {
- return nearZ + (farZ - nearZ) * d;
- }
- highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) {
- float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0;
- float a = farZ / (farZ - nearZ);
- float b = farZ * nearZ / (nearZ - farZ);
- float linDepth = a + b / depth;
- return ortho ? linearize_depth_ortho(
- linDepth,
- nearZ,
- farZ
- ) :linearize_depth(linDepth, nearZ, farZ);
- }
- vec3 getWorldPosLog(vec3 posS) {
- vec2 uv = posS.xy;
- float z = posS.z;
- float nearZ =near;
- float farZ = far;
- float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;
- float a = farZ / (farZ - nearZ);
- float b = farZ * nearZ / (nearZ - farZ);
- float linDepth = a + b / depth;
- vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;
- vec4 wpos = projectionMatrixInv * clipVec;
- return wpos.xyz / wpos.w;
- }
- vec3 getWorldPos(float depth, vec2 coord) {
- // if (logDepth) {
- #ifdef LOGDEPTH
- return getWorldPosLog(vec3(coord, depth));
- #endif
- // }
- float z = depth * 2.0 - 1.0;
- vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);
- vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;
- // Perspective division
- vec4 worldSpacePosition = viewSpacePosition;
- worldSpacePosition.xyz /= worldSpacePosition.w;
- return worldSpacePosition.xyz;
- }
-
- vec3 computeNormal(vec3 worldPos, vec2 vUv) {
- ivec2 p = ivec2(vUv * resolution);
- float c0 = texelFetch(sceneDepth, p, 0).x;
- float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x;
- float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x;
- float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x;
- float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x;
- float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x;
- float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x;
- float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x;
- float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x;
-
- float dl = abs((2.0 * l1 - l2) - c0);
- float dr = abs((2.0 * r1 - r2) - c0);
- float db = abs((2.0 * b1 - b2) - c0);
- float dt = abs((2.0 * t1 - t2) - c0);
-
- vec3 ce = getWorldPos(c0, vUv).xyz;
-
- vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz
- : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz;
- vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz
- : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz;
-
- return normalize(cross(dpdx, dpdy));
- }
-
- #include
- #include
- void main() {
- //vec4 texel = texture2D(tDiffuse, vUv);//vec3(0.0);
- vec4 sceneTexel = texture2D(sceneDiffuse, vUv);
- float depth = texture2D(
- sceneDepth,
- vUv
- ).x;
- #ifdef HALFRES
- vec4 texel;
- if (depth == 1.0) {
- texel = vec4(0.0, 0.0, 0.0, 1.0);
- } else {
- vec3 worldPos = getWorldPos(depth, vUv);
- vec3 normal = computeNormal(getWorldPos(depth, vUv), vUv);
- // vec4 texel = texture2D(tDiffuse, vUv);
- // Find closest depth;
- float totalWeight = 0.0;
- float radiusToUse = screenSpaceRadius ? distance(
- worldPos,
- getWorldPos(depth, vUv +
- vec2(radius, 0.0) / resolution)
- ) : radius;
- float distanceFalloffToUse =screenSpaceRadius ?
- radiusToUse * distanceFalloff
- : distanceFalloff;
- for(float x = -1.0; x <= 1.0; x++) {
- for(float y = -1.0; y <= 1.0; y++) {
- vec2 offset = vec2(x, y);
- ivec2 p = ivec2(
- (vUv * resolution * 0.5) + offset
- );
- vec2 pUv = vec2(p) / (resolution * 0.5);
- float sampleDepth = texelFetch(downsampledDepth,p, 0).x;
- vec4 sampleInfo = texelFetch(tDiffuse, p, 0);
- vec3 normalSample = sampleInfo.xyz * 2.0 - 1.0;
- vec3 worldPosSample = getWorldPos(sampleDepth, pUv);
- float tangentPlaneDist = abs(dot(worldPos - worldPosSample, normal));
- float rangeCheck = exp(-1.0 * tangentPlaneDist * (1.0 / distanceFalloffToUse)) * max(dot(normal, normalSample), 0.0);
- float weight = rangeCheck;
- totalWeight += weight;
- texel += sampleInfo * weight;
- }
- }
- if (totalWeight == 0.0) {
- texel = texture2D(tDiffuse, vUv);
- } else {
- texel /= totalWeight;
- }
- }
- #else
- vec4 texel = texture2D(tDiffuse, vUv);
- #endif
-
- #ifdef LOGDEPTH
- texel.a = clamp(texel.a, 0.0, 1.0);
- if (texel.a == 0.0) {
- texel.a = 1.0;
- }
- #endif
-
- float finalAo = pow(texel.a, intensity);
- float fogFactor;
- float fogDepth = distance(
- cameraPos,
- getWorldPos(depth, vUv)
- );
- if (fog) {
- if (fogExp) {
- fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );
- } else {
- fogFactor = smoothstep( fogNear, fogFar, fogDepth );
- }
- }
- finalAo = mix(finalAo, 1.0, fogFactor);
- vec3 aoApplied = color * mix(vec3(1.0), sceneTexel.rgb, float(colorMultiply));
- if (renderMode == 0.0) {
- gl_FragColor = vec4( mix(sceneTexel.rgb, aoApplied, 1.0 - finalAo), sceneTexel.a);
- } else if (renderMode == 1.0) {
- gl_FragColor = vec4( mix(vec3(1.0), aoApplied, 1.0 - finalAo), sceneTexel.a);
- } else if (renderMode == 2.0) {
- gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a);
- } else if (renderMode == 3.0) {
- if (vUv.x < 0.5) {
- gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a);
- } else if (abs(vUv.x - 0.5) < 1.0 / resolution.x) {
- gl_FragColor = vec4(1.0);
- } else {
- gl_FragColor = vec4( mix(sceneTexel.rgb, aoApplied, 1.0 - finalAo), sceneTexel.a);
- }
- } else if (renderMode == 4.0) {
- if (vUv.x < 0.5) {
- gl_FragColor = vec4( sceneTexel.rgb, sceneTexel.a);
- } else if (abs(vUv.x - 0.5) < 1.0 / resolution.x) {
- gl_FragColor = vec4(1.0);
- } else {
- gl_FragColor = vec4( mix(vec3(1.0), aoApplied, 1.0 - finalAo), sceneTexel.a);
- }
- }
- #include
- if (gammaCorrection) {
- gl_FragColor = ${sRGBTransferOETF}(gl_FragColor);
- }
- }
- `,
-}
-
-export { EffectCompositer }
diff --git a/src/effects/N8AO/EffectShader.js b/src/effects/N8AO/EffectShader.js
deleted file mode 100644
index c73fa2dd..00000000
--- a/src/effects/N8AO/EffectShader.js
+++ /dev/null
@@ -1,213 +0,0 @@
-import * as THREE from 'three'
-
-const EffectShader = {
- uniforms: {
- sceneDiffuse: { value: null },
- sceneDepth: { value: null },
- sceneNormal: { value: null },
- projMat: { value: new THREE.Matrix4() },
- viewMat: { value: new THREE.Matrix4() },
- projViewMat: { value: new THREE.Matrix4() },
- projectionMatrixInv: { value: new THREE.Matrix4() },
- viewMatrixInv: { value: new THREE.Matrix4() },
- cameraPos: { value: new THREE.Vector3() },
- resolution: { value: new THREE.Vector2() },
- time: { value: 0.0 },
- samples: { value: [] },
- samplesR: { value: [] },
- bluenoise: { value: null },
- distanceFalloff: { value: 1.0 },
- radius: { value: 5.0 },
- near: { value: 0.1 },
- far: { value: 1000.0 },
- logDepth: { value: false },
- ortho: { value: false },
- screenSpaceRadius: { value: false },
- },
- depthWrite: false,
- depthTest: false,
- vertexShader: /* glsl */ `
-varying vec2 vUv;
-void main() {
- vUv = uv;
- gl_Position = vec4(position, 1);
-}`,
-
- fragmentShader: /* glsl */ `
- #define SAMPLES 16
- #define FSAMPLES 16.0
-uniform sampler2D sceneDiffuse;
-uniform highp sampler2D sceneNormal;
-uniform highp sampler2D sceneDepth;
-uniform mat4 projectionMatrixInv;
-uniform mat4 viewMatrixInv;
-uniform mat4 projMat;
-uniform mat4 viewMat;
-uniform mat4 projViewMat;
-uniform vec3 cameraPos;
-uniform vec2 resolution;
-uniform float time;
-uniform vec3[SAMPLES] samples;
-uniform float[SAMPLES] samplesR;
-uniform float radius;
-uniform float distanceFalloff;
-uniform float near;
-uniform float far;
-uniform bool logDepth;
-uniform bool ortho;
-uniform bool screenSpaceRadius;
-uniform sampler2D bluenoise;
- varying vec2 vUv;
- highp float linearize_depth(highp float d, highp float zNear,highp float zFar)
- {
- return (zFar * zNear) / (zFar - d * (zFar - zNear));
- }
- highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) {
- return nearZ + (farZ - nearZ) * d;
- }
- highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) {
- float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0;
- float a = farZ / (farZ - nearZ);
- float b = farZ * nearZ / (nearZ - farZ);
- float linDepth = a + b / depth;
- return ortho ? linearize_depth_ortho(
- linDepth,
- nearZ,
- farZ
- ) :linearize_depth(linDepth, nearZ, farZ);
- }
-
- vec3 getWorldPosLog(vec3 posS) {
- vec2 uv = posS.xy;
- float z = posS.z;
- float nearZ =near;
- float farZ = far;
- float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;
- float a = farZ / (farZ - nearZ);
- float b = farZ * nearZ / (nearZ - farZ);
- float linDepth = a + b / depth;
- vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;
- vec4 wpos = projectionMatrixInv * clipVec;
- return wpos.xyz / wpos.w;
- }
- vec3 getWorldPos(float depth, vec2 coord) {
- #ifdef LOGDEPTH
- return getWorldPosLog(vec3(coord, depth));
- #endif
- float z = depth * 2.0 - 1.0;
- vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);
- vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;
- // Perspective division
- vec4 worldSpacePosition = viewSpacePosition;
- worldSpacePosition.xyz /= worldSpacePosition.w;
- return worldSpacePosition.xyz;
- }
-
- vec3 computeNormal(vec3 worldPos, vec2 vUv) {
- ivec2 p = ivec2(vUv * resolution);
- float c0 = texelFetch(sceneDepth, p, 0).x;
- float l2 = texelFetch(sceneDepth, p - ivec2(2, 0), 0).x;
- float l1 = texelFetch(sceneDepth, p - ivec2(1, 0), 0).x;
- float r1 = texelFetch(sceneDepth, p + ivec2(1, 0), 0).x;
- float r2 = texelFetch(sceneDepth, p + ivec2(2, 0), 0).x;
- float b2 = texelFetch(sceneDepth, p - ivec2(0, 2), 0).x;
- float b1 = texelFetch(sceneDepth, p - ivec2(0, 1), 0).x;
- float t1 = texelFetch(sceneDepth, p + ivec2(0, 1), 0).x;
- float t2 = texelFetch(sceneDepth, p + ivec2(0, 2), 0).x;
-
- float dl = abs((2.0 * l1 - l2) - c0);
- float dr = abs((2.0 * r1 - r2) - c0);
- float db = abs((2.0 * b1 - b2) - c0);
- float dt = abs((2.0 * t1 - t2) - c0);
-
- vec3 ce = getWorldPos(c0, vUv).xyz;
-
- vec3 dpdx = (dl < dr) ? ce - getWorldPos(l1, (vUv - vec2(1.0 / resolution.x, 0.0))).xyz
- : -ce + getWorldPos(r1, (vUv + vec2(1.0 / resolution.x, 0.0))).xyz;
- vec3 dpdy = (db < dt) ? ce - getWorldPos(b1, (vUv - vec2(0.0, 1.0 / resolution.y))).xyz
- : -ce + getWorldPos(t1, (vUv + vec2(0.0, 1.0 / resolution.y))).xyz;
-
- return normalize(cross(dpdx, dpdy));
-}
-
-void main() {
- vec4 diffuse = texture2D(sceneDiffuse, vUv);
- float depth = texture2D(sceneDepth, vUv).x;
- if (depth == 1.0) {
- gl_FragColor = vec4(vec3(1.0), 1.0);
- return;
- }
- vec3 worldPos = getWorldPos(depth, vUv);
- // vec3 normal = texture2D(sceneNormal, vUv).rgb;//computeNormal(worldPos, vUv);
- #ifdef HALFRES
- vec3 normal = texture2D(sceneNormal, vUv).rgb;
- #else
- vec3 normal = computeNormal(worldPos, vUv);
- #endif
- vec4 noise = texture2D(bluenoise, gl_FragCoord.xy / 128.0);
- vec3 randomVec = normalize(noise.rgb * 2.0 - 1.0);
- vec3 tangent = normalize(randomVec - normal * dot(randomVec, normal));
- vec3 bitangent = cross(normal, tangent);
- mat3 tbn = mat3(tangent, bitangent, normal);
- float occluded = 0.0;
- float totalWeight = 0.0;
- /* float radiusScreen = distance(
- worldPos,
- getWorldPos(depth, vUv +
- vec2(48.0, 0.0) / resolution)
- );/*vUv.x < 0.5 ? radius : min(distance(
- worldPos,
- getWorldPos(depth, vUv +
- vec2(100.0, 0.0) / resolution)
- ), radius);
- float distanceFalloffScreen = radiusScreen * 0.2;*/
- float radiusToUse = screenSpaceRadius ? distance(
- worldPos,
- getWorldPos(depth, vUv +
- vec2(radius, 0.0) / resolution)
- ) : radius;
- float distanceFalloffToUse =screenSpaceRadius ?
- radiusToUse * distanceFalloff
- : distanceFalloff;
- float bias = (0.1 / near) * fwidth(distance(worldPos, cameraPos)) / radiusToUse;
- for(float i = 0.0; i < FSAMPLES; i++) {
- vec3 sampleDirection =
- tbn *
- samples[int(i)];
- ;
- float moveAmt = samplesR[int(mod(i + noise.a * FSAMPLES, FSAMPLES))];
- vec3 samplePos = worldPos + radiusToUse * moveAmt * sampleDirection;
- vec4 offset = projMat * vec4(samplePos, 1.0);
- offset.xyz /= offset.w;
- offset.xyz = offset.xyz * 0.5 + 0.5;
- float sampleDepth = textureLod(sceneDepth, offset.xy, 0.0).x;
- /*float distSample = logDepth ? linearize_depth_log(sampleDepth, near, far)
- (ortho ? linearize_depth_ortho(sampleDepth, near, far) : linearize_depth(sampleDepth, near, far));*/
- #ifdef LOGDEPTH
- float distSample = linearize_depth_log(sampleDepth, near, far);
- #else
- float distSample = ortho ? linearize_depth_ortho(sampleDepth, near, far) : linearize_depth(sampleDepth, near, far);
- #endif
- float distWorld = ortho ? linearize_depth_ortho(offset.z, near, far) : linearize_depth(offset.z, near, far);
- float rangeCheck = smoothstep(0.0, 1.0, distanceFalloffToUse / (abs(distSample - distWorld)));
- vec2 diff = gl_FragCoord.xy - ( offset.xy * resolution);
- float weight = dot(sampleDirection, normal);
- occluded += rangeCheck * weight *
- (distSample + bias
- < distWorld ? 1.0 : 0.0) * (
- (dot(
- diff,
- diff
-
- ) < 1.0 || (sampleDepth == depth) || (
- offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0
- ) ? 0.0 : 1.0)
- );
- totalWeight += weight;
- }
- float occ = clamp(1.0 - occluded / totalWeight, 0.0, 1.0);
- gl_FragColor = vec4(0.5 + 0.5 * normal, occ);
-}`,
-}
-
-export { EffectShader }
diff --git a/src/effects/N8AO/FullScreenTriangle.js b/src/effects/N8AO/FullScreenTriangle.js
deleted file mode 100644
index f5648d85..00000000
--- a/src/effects/N8AO/FullScreenTriangle.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import * as THREE from 'three'
-
-class FullScreenTriangleGeometry extends THREE.BufferGeometry {
- boundingSphere = new THREE.Sphere()
-
- constructor() {
- super()
- this.setAttribute('position', new THREE.BufferAttribute(new Float32Array([-1, -1, 3, -1, -1, 3]), 2))
- this.setAttribute('uv', new THREE.BufferAttribute(new Float32Array([0, 0, 2, 0, 0, 2]), 2))
- }
-
- computeBoundingSphere() {}
-}
-
-const _geometry = new FullScreenTriangleGeometry()
-const _camera = new THREE.OrthographicCamera()
-
-export class FullScreenTriangle {
- constructor(material) {
- this._mesh = new THREE.Mesh(_geometry, material)
- this._mesh.frustumCulled = false
- }
-
- render(renderer) {
- renderer.render(this._mesh, _camera)
- }
-
- get material() {
- return this._mesh.material
- }
-
- set material(value) {
- this._mesh.material = value
- }
-
- dispose() {
- this._mesh.material.dispose()
- this._mesh.geometry.dispose()
- }
-}
diff --git a/src/effects/N8AO/N8AOPostPass.js b/src/effects/N8AO/N8AOPostPass.js
deleted file mode 100644
index f4479d04..00000000
--- a/src/effects/N8AO/N8AOPostPass.js
+++ /dev/null
@@ -1,561 +0,0 @@
-import * as THREE from 'three'
-import { Pass } from 'postprocessing'
-import { Buffer } from 'buffer'
-import { FullScreenTriangle } from './FullScreenTriangle'
-import { EffectShader } from './EffectShader'
-import { EffectCompositer } from './EffectCompositer'
-import { PoissionBlur } from './PoissionBlur'
-import { DepthDownSample } from './DepthDownSample'
-import BlueNoise from './BlueNoise'
-import { WebGLMultipleRenderTargets } from '../../compat'
-
-const bluenoiseBits = Buffer.from(BlueNoise, 'base64')
-
-/**
- *
- * @param {*} timerQuery
- * @param {THREE.WebGLRenderer} gl
- * @param {N8AOPass} pass
- */
-function checkTimerQuery(timerQuery, gl, pass) {
- const available = gl.getQueryParameter(timerQuery, gl.QUERY_RESULT_AVAILABLE)
- if (available) {
- const elapsedTimeInNs = gl.getQueryParameter(timerQuery, gl.QUERY_RESULT)
- const elapsedTimeInMs = elapsedTimeInNs / 1000000
- pass.lastTime = elapsedTimeInMs
- } else {
- // If the result is not available yet, check again after a delay
- setTimeout(() => {
- checkTimerQuery(timerQuery, gl, pass)
- }, 1)
- }
-}
-class N8AOPostPass extends Pass {
- /**
- *
- * @param {THREE.Scene} scene
- * @param {THREE.Camera} camera
- * @param {number} width
- * @param {number} height
- *
- * @property {THREE.Scene} scene
- * @property {THREE.Camera} camera
- * @property {number} width
- * @property {number} height
- */
- constructor(scene, camera, width = 512, height = 512) {
- super()
- this.width = width
- this.height = height
-
- this.clear = true
-
- this.camera = camera
- this.scene = scene
- /**
- * @type {Proxy & {
- * aoSamples: number,
- * aoRadius: number,
- * denoiseSamples: number,
- * denoiseRadius: number,
- * distanceFalloff: number,
- * intensity: number,
- * denoiseIterations: number,
- * renderMode: 0 | 1 | 2 | 3 | 4,
- * color: THREE.Color,
- * gammaCorrection: boolean,
- * logarithmicDepthBuffer: boolean
- * screenSpaceRadius: boolean,
- * halfRes: boolean,
- * depthAwareUpsampling: boolean
- * colorMultiply: boolean
- * }
- */
- this.autosetGamma = true
- this.configuration = new Proxy(
- {
- aoSamples: 16,
- aoRadius: 5.0,
- denoiseSamples: 8,
- denoiseRadius: 12,
- distanceFalloff: 1.0,
- intensity: 5,
- denoiseIterations: 2.0,
- renderMode: 0,
- color: new THREE.Color(0, 0, 0),
- gammaCorrection: true,
- logarithmicDepthBuffer: false,
- screenSpaceRadius: false,
- halfRes: false,
- depthAwareUpsampling: true,
- colorMultiply: true,
- },
- {
- set: (target, propName, value) => {
- const oldProp = target[propName]
- target[propName] = value
- if (propName === 'aoSamples' && oldProp !== value) {
- this.configureAOPass(this.configuration.logarithmicDepthBuffer)
- }
- if (propName === 'denoiseSamples' && oldProp !== value) {
- this.configureDenoisePass(this.configuration.logarithmicDepthBuffer)
- }
- if (propName === 'halfRes' && oldProp !== value) {
- this.configureAOPass(this.configuration.logarithmicDepthBuffer)
- this.configureHalfResTargets()
- this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer)
- this.setSize(this.width, this.height)
- }
- if (propName === 'depthAwareUpsampling' && oldProp !== value) {
- this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer)
- }
- if (propName === 'gammaCorrection') {
- this.autosetGamma = false
- }
- return true
- },
- }
- )
- /** @type {THREE.Vector3[]} */
- this.samples = []
- /** @type {number[]} */
- this.samplesR = []
- /** @type {THREE.Vector2[]} */
- this.samplesDenoise = []
- this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer)
- this.configureSampleDependentPasses()
- this.configureHalfResTargets()
- // this.effectCompisterQuad = new FullScreenTriangle(new THREE.ShaderMaterial(EffectCompositer));
- this.copyQuad = new FullScreenTriangle(
- new THREE.ShaderMaterial({
- uniforms: {
- tDiffuse: {
- value: null,
- },
- },
- depthWrite: false,
- vertexShader: `
- varying vec2 vUv;
- void main() {
- vUv = uv;
- gl_Position = vec4(position, 1);
- }
- `,
- fragmentShader: `
- uniform sampler2D tDiffuse;
- varying vec2 vUv;
- void main() {
- gl_FragColor = texture2D(tDiffuse, vUv);
- }
- `,
- })
- )
- this.writeTargetInternal = new THREE.WebGLRenderTarget(this.width, this.height, {
- minFilter: THREE.LinearFilter,
- magFilter: THREE.LinearFilter,
- depthBuffer: false,
- })
- this.readTargetInternal = new THREE.WebGLRenderTarget(this.width, this.height, {
- minFilter: THREE.LinearFilter,
- magFilter: THREE.LinearFilter,
- depthBuffer: false,
- })
- this.outputTargetInternal = new THREE.WebGLRenderTarget(this.width, this.height, {
- minFilter: THREE.LinearFilter,
- magFilter: THREE.LinearFilter,
- depthBuffer: false,
- })
-
- /** @type {THREE.DataTexture} */
- this.bluenoise = //bluenoise;
- new THREE.DataTexture(bluenoiseBits, 128, 128)
- this.bluenoise.colorSpace = THREE.NoColorSpace
- this.bluenoise.wrapS = THREE.RepeatWrapping
- this.bluenoise.wrapT = THREE.RepeatWrapping
- this.bluenoise.minFilter = THREE.NearestFilter
- this.bluenoise.magFilter = THREE.NearestFilter
- this.bluenoise.needsUpdate = true
- this.lastTime = 0
- this.needsDepthTexture = true
- this.needsSwap = true
- this._r = new THREE.Vector2()
- this._c = new THREE.Color()
- }
- configureHalfResTargets() {
- if (this.configuration.halfRes) {
- this.depthDownsampleTarget =
- /*new THREE.WebGLRenderTarget(this.width / 2, this.height / 2, {
- minFilter: THREE.NearestFilter,
- magFilter: THREE.NearestFilter,
- depthBuffer: false,
- format: THREE.RedFormat,
- type: THREE.FloatType
- });*/
- new WebGLMultipleRenderTargets(this.width / 2, this.height / 2, 2)
- this.depthDownsampleTarget.texture[0].format = THREE.RedFormat
- this.depthDownsampleTarget.texture[0].type = THREE.FloatType
- this.depthDownsampleTarget.texture[0].minFilter = THREE.NearestFilter
- this.depthDownsampleTarget.texture[0].magFilter = THREE.NearestFilter
- this.depthDownsampleTarget.texture[0].depthBuffer = false
- this.depthDownsampleTarget.texture[1].format = THREE.RGBAFormat
- this.depthDownsampleTarget.texture[1].type = THREE.HalfFloatType
- this.depthDownsampleTarget.texture[1].minFilter = THREE.NearestFilter
- this.depthDownsampleTarget.texture[1].magFilter = THREE.NearestFilter
- this.depthDownsampleTarget.texture[1].depthBuffer = false
-
- this.depthDownsampleQuad = new FullScreenTriangle(new THREE.ShaderMaterial(DepthDownSample))
- } else {
- if (this.depthDownsampleTarget) {
- this.depthDownsampleTarget.dispose()
- this.depthDownsampleTarget = null
- }
- if (this.depthDownsampleQuad) {
- this.depthDownsampleQuad.dispose()
- this.depthDownsampleQuad = null
- }
- }
- }
- configureSampleDependentPasses() {
- this.configureAOPass(this.configuration.logarithmicDepthBuffer)
- this.configureDenoisePass(this.configuration.logarithmicDepthBuffer)
- }
- configureAOPass(logarithmicDepthBuffer = false) {
- this.samples = this.generateHemisphereSamples(this.configuration.aoSamples)
- this.samplesR = this.generateHemisphereSamplesR(this.configuration.aoSamples)
- const e = { ...EffectShader }
- e.fragmentShader = e.fragmentShader
- .replace('16', this.configuration.aoSamples)
- .replace('16.0', this.configuration.aoSamples + '.0')
- if (logarithmicDepthBuffer) {
- e.fragmentShader = '#define LOGDEPTH\n' + e.fragmentShader
- }
- if (this.configuration.halfRes) {
- e.fragmentShader = '#define HALFRES\n' + e.fragmentShader
- }
- if (this.effectShaderQuad) {
- this.effectShaderQuad.material.dispose()
- this.effectShaderQuad.material = new THREE.ShaderMaterial(e)
- } else {
- this.effectShaderQuad = new FullScreenTriangle(new THREE.ShaderMaterial(e))
- }
- }
- configureDenoisePass(logarithmicDepthBuffer = false) {
- this.samplesDenoise = this.generateDenoiseSamples(this.configuration.denoiseSamples, 11)
- const p = { ...PoissionBlur }
- p.fragmentShader = p.fragmentShader.replace('16', this.configuration.denoiseSamples)
- if (logarithmicDepthBuffer) {
- p.fragmentShader = '#define LOGDEPTH\n' + p.fragmentShader
- }
- if (this.poissonBlurQuad) {
- this.poissonBlurQuad.material.dispose()
- this.poissonBlurQuad.material = new THREE.ShaderMaterial(p)
- } else {
- this.poissonBlurQuad = new FullScreenTriangle(new THREE.ShaderMaterial(p))
- }
- }
- configureEffectCompositer(logarithmicDepthBuffer = false) {
- const e = { ...EffectCompositer }
- if (logarithmicDepthBuffer) {
- e.fragmentShader = '#define LOGDEPTH\n' + e.fragmentShader
- }
- if (this.configuration.halfRes && this.configuration.depthAwareUpsampling) {
- e.fragmentShader = '#define HALFRES\n' + e.fragmentShader
- }
- if (this.effectCompositerQuad) {
- this.effectCompositerQuad.material.dispose()
- this.effectCompositerQuad.material = new THREE.ShaderMaterial(e)
- } else {
- this.effectCompositerQuad = new FullScreenTriangle(new THREE.ShaderMaterial(e))
- }
- }
- /**
- *
- * @param {Number} n
- * @returns {THREE.Vector3[]}
- */
- generateHemisphereSamples(n) {
- const points = []
- for (let k = 0; k < n; k++) {
- const theta = 2.399963 * k
- const r = Math.sqrt(k + 0.5) / Math.sqrt(n)
- const x = r * Math.cos(theta)
- const y = r * Math.sin(theta)
- // Project to hemisphere
- const z = Math.sqrt(1 - (x * x + y * y))
- points.push(new THREE.Vector3(x, y, z))
- }
- return points
- }
- /**
- *
- * @param {number} n
- * @returns {number[]}
- */
- generateHemisphereSamplesR(n) {
- let samplesR = []
- for (let i = 0; i < n; i++) {
- samplesR.push((i + 1) / n)
- }
- return samplesR
- }
- /**
- *
- * @param {number} numSamples
- * @param {number} numRings
- * @returns {THREE.Vector2[]}
- */
- generateDenoiseSamples(numSamples, numRings) {
- const angleStep = (2 * Math.PI * numRings) / numSamples
- const invNumSamples = 1.0 / numSamples
- const radiusStep = invNumSamples
- const samples = []
- let radius = invNumSamples
- let angle = 0
- for (let i = 0; i < numSamples; i++) {
- samples.push(new THREE.Vector2(Math.cos(angle), Math.sin(angle)).multiplyScalar(Math.pow(radius, 0.75)))
- radius += radiusStep
- angle += angleStep
- }
- return samples
- }
- setSize(width, height) {
- this.width = width
- this.height = height
- const c = this.configuration.halfRes ? 0.5 : 1
- this.writeTargetInternal.setSize(width * c, height * c)
- this.readTargetInternal.setSize(width * c, height * c)
- if (this.configuration.halfRes) {
- this.depthDownsampleTarget.setSize(width * c, height * c)
- }
- this.outputTargetInternal.setSize(width, height)
- }
- setDepthTexture(depthTexture) {
- this.depthTexture = depthTexture
- }
- render(renderer, inputBuffer, outputBuffer) {
- const xrEnabled = renderer.xr.enabled
- renderer.xr.enabled = false
-
- // Copy inputBuffer to outputBuffer
- //renderer.setRenderTarget(outputBuffer);
- // this.copyQuad.material.uniforms.tDiffuse.value = inputBuffer.texture;
- // this.copyQuad.render(renderer);
-
- if (renderer.capabilities.logarithmicDepthBuffer !== this.configuration.logarithmicDepthBuffer) {
- this.configuration.logarithmicDepthBuffer = renderer.capabilities.logarithmicDepthBuffer
- this.configureAOPass(this.configuration.logarithmicDepthBuffer)
- this.configureDenoisePass(this.configuration.logarithmicDepthBuffer)
- this.configureEffectCompositer(this.configuration.logarithmicDepthBuffer)
- }
- if (inputBuffer.texture.type !== this.outputTargetInternal.texture.type) {
- this.outputTargetInternal.texture.type = inputBuffer.texture.type
- this.outputTargetInternal.texture.needsUpdate = true
- }
- let gl
- let ext
- let timerQuery
- if (this.debugMode) {
- gl = renderer.getContext()
- ext = gl.getExtension('EXT_disjoint_timer_query_webgl2')
- if (ext === null) {
- console.error('EXT_disjoint_timer_query_webgl2 not available, disabling debug mode.')
- this.debugMode = false
- }
- }
- if (this.debugMode) {
- timerQuery = gl.createQuery()
- gl.beginQuery(ext.TIME_ELAPSED_EXT, timerQuery)
- }
- this.camera.updateMatrixWorld()
- this._r.set(this.width, this.height)
- let trueRadius = this.configuration.aoRadius
- if (this.configuration.halfRes && this.configuration.screenSpaceRadius) {
- trueRadius *= 0.5
- }
- if (this.configuration.halfRes) {
- renderer.setRenderTarget(this.depthDownsampleTarget)
- this.depthDownsampleQuad.material.uniforms.sceneDepth.value = this.depthTexture
- this.depthDownsampleQuad.material.uniforms.resolution.value = this._r
- this.depthDownsampleQuad.material.uniforms['near'].value = this.camera.near
- this.depthDownsampleQuad.material.uniforms['far'].value = this.camera.far
- this.depthDownsampleQuad.material.uniforms['projectionMatrixInv'].value = this.camera.projectionMatrixInverse
- this.depthDownsampleQuad.material.uniforms['viewMatrixInv'].value = this.camera.matrixWorld
- this.depthDownsampleQuad.material.uniforms['logDepth'].value = this.configuration.logarithmicDepthBuffer
- this.depthDownsampleQuad.render(renderer)
- }
- this.effectShaderQuad.material.uniforms['sceneDiffuse'].value = inputBuffer.texture
- this.effectShaderQuad.material.uniforms['sceneDepth'].value = this.configuration.halfRes
- ? this.depthDownsampleTarget.texture[0]
- : this.depthTexture
- this.effectShaderQuad.material.uniforms['sceneNormal'].value = this.configuration.halfRes
- ? this.depthDownsampleTarget.texture[1]
- : null
- this.effectShaderQuad.material.uniforms['projMat'].value = this.camera.projectionMatrix
- this.effectShaderQuad.material.uniforms['viewMat'].value = this.camera.matrixWorldInverse
- this.effectShaderQuad.material.uniforms['projViewMat'].value = this.camera.projectionMatrix
- .clone()
- .multiply(this.camera.matrixWorldInverse.clone())
- this.effectShaderQuad.material.uniforms['projectionMatrixInv'].value = this.camera.projectionMatrixInverse
- this.effectShaderQuad.material.uniforms['viewMatrixInv'].value = this.camera.matrixWorld
- this.effectShaderQuad.material.uniforms['cameraPos'].value = this.camera.getWorldPosition(new THREE.Vector3())
- this.effectShaderQuad.material.uniforms['resolution'].value = this.configuration.halfRes
- ? this._r
- .clone()
- .multiplyScalar(1 / 2)
- .floor()
- : this._r
- this.effectShaderQuad.material.uniforms['time'].value = performance.now() / 1000
- this.effectShaderQuad.material.uniforms['samples'].value = this.samples
- this.effectShaderQuad.material.uniforms['samplesR'].value = this.samplesR
- this.effectShaderQuad.material.uniforms['bluenoise'].value = this.bluenoise
- this.effectShaderQuad.material.uniforms['radius'].value = trueRadius
- this.effectShaderQuad.material.uniforms['distanceFalloff'].value = this.configuration.distanceFalloff
- this.effectShaderQuad.material.uniforms['near'].value = this.camera.near
- this.effectShaderQuad.material.uniforms['far'].value = this.camera.far
- this.effectShaderQuad.material.uniforms['logDepth'].value = renderer.capabilities.logarithmicDepthBuffer
- this.effectShaderQuad.material.uniforms['ortho'].value = this.camera.isOrthographicCamera
- this.effectShaderQuad.material.uniforms['screenSpaceRadius'].value = this.configuration.screenSpaceRadius
- // Start the AO
- renderer.setRenderTarget(this.writeTargetInternal)
- this.effectShaderQuad.render(renderer)
- // End the AO
- // Start the blur
- for (let i = 0; i < this.configuration.denoiseIterations; i++) {
- ;[this.writeTargetInternal, this.readTargetInternal] = [this.readTargetInternal, this.writeTargetInternal]
- this.poissonBlurQuad.material.uniforms['tDiffuse'].value = this.readTargetInternal.texture
- this.poissonBlurQuad.material.uniforms['sceneDepth'].value = this.configuration.halfRes
- ? this.depthDownsampleTarget.texture[0]
- : this.depthTexture
- this.poissonBlurQuad.material.uniforms['projMat'].value = this.camera.projectionMatrix
- this.poissonBlurQuad.material.uniforms['viewMat'].value = this.camera.matrixWorldInverse
- this.poissonBlurQuad.material.uniforms['projectionMatrixInv'].value = this.camera.projectionMatrixInverse
- this.poissonBlurQuad.material.uniforms['viewMatrixInv'].value = this.camera.matrixWorld
- this.poissonBlurQuad.material.uniforms['cameraPos'].value = this.camera.getWorldPosition(new THREE.Vector3())
- this.poissonBlurQuad.material.uniforms['resolution'].value = this.configuration.halfRes
- ? this._r
- .clone()
- .multiplyScalar(1 / 2)
- .floor()
- : this._r
- this.poissonBlurQuad.material.uniforms['time'].value = performance.now() / 1000
- this.poissonBlurQuad.material.uniforms['blueNoise'].value = this.bluenoise
- this.poissonBlurQuad.material.uniforms['radius'].value =
- this.configuration.denoiseRadius * (this.configuration.halfRes ? 1 / 2 : 1)
- this.poissonBlurQuad.material.uniforms['worldRadius'].value = trueRadius
- this.poissonBlurQuad.material.uniforms['distanceFalloff'].value = this.configuration.distanceFalloff
- this.poissonBlurQuad.material.uniforms['index'].value = i
- this.poissonBlurQuad.material.uniforms['poissonDisk'].value = this.samplesDenoise
- this.poissonBlurQuad.material.uniforms['near'].value = this.camera.near
- this.poissonBlurQuad.material.uniforms['far'].value = this.camera.far
- this.poissonBlurQuad.material.uniforms['logDepth'].value = renderer.capabilities.logarithmicDepthBuffer
- this.poissonBlurQuad.material.uniforms['screenSpaceRadius'].value = this.configuration.screenSpaceRadius
- renderer.setRenderTarget(this.writeTargetInternal)
- this.poissonBlurQuad.render(renderer)
- }
- // Now, we have the blurred AO in writeTargetInternal
- // End the blur
- // Start the composition
- this.effectCompositerQuad.material.uniforms['sceneDiffuse'].value = inputBuffer.texture
- this.effectCompositerQuad.material.uniforms['sceneDepth'].value = this.depthTexture
- this.effectCompositerQuad.material.uniforms['near'].value = this.camera.near
- this.effectCompositerQuad.material.uniforms['far'].value = this.camera.far
- this.effectCompositerQuad.material.uniforms['projectionMatrixInv'].value = this.camera.projectionMatrixInverse
- this.effectCompositerQuad.material.uniforms['viewMatrixInv'].value = this.camera.matrixWorld
- this.effectCompositerQuad.material.uniforms['logDepth'].value = renderer.capabilities.logarithmicDepthBuffer
- this.effectCompositerQuad.material.uniforms['ortho'].value = this.camera.isOrthographicCamera
- this.effectCompositerQuad.material.uniforms['downsampledDepth'].value = this.configuration.halfRes
- ? this.depthDownsampleTarget.texture[0]
- : this.depthTexture
- this.effectCompositerQuad.material.uniforms['resolution'].value = this._r
- this.effectCompositerQuad.material.uniforms['blueNoise'].value = this.bluenoise
- this.effectCompositerQuad.material.uniforms['intensity'].value = this.configuration.intensity
- this.effectCompositerQuad.material.uniforms['renderMode'].value = this.configuration.renderMode
- this.effectCompositerQuad.material.uniforms['screenSpaceRadius'].value = this.configuration.screenSpaceRadius
- this.effectCompositerQuad.material.uniforms['radius'].value = trueRadius
- this.effectCompositerQuad.material.uniforms['distanceFalloff'].value = this.configuration.distanceFalloff
- this.effectCompositerQuad.material.uniforms['gammaCorrection'].value = this.autosetGamma
- ? this.renderToScreen
- : this.configuration.gammaCorrection
- this.effectCompositerQuad.material.uniforms['tDiffuse'].value = this.writeTargetInternal.texture
- this.effectCompositerQuad.material.uniforms['color'].value = this._c
- .copy(this.configuration.color)
- .convertSRGBToLinear()
- this.effectCompositerQuad.material.uniforms['colorMultiply'].value = this.configuration.colorMultiply
- this.effectCompositerQuad.material.uniforms['cameraPos'].value = this.camera.getWorldPosition(new THREE.Vector3())
- this.effectCompositerQuad.material.uniforms['fog'].value = !!this.scene.fog
- if (this.scene.fog) {
- if (this.scene.fog.isFog) {
- this.effectCompositerQuad.material.uniforms['fogExp'].value = false
- this.effectCompositerQuad.material.uniforms['fogNear'].value = this.scene.fog.near
- this.effectCompositerQuad.material.uniforms['fogFar'].value = this.scene.fog.far
- } else if (this.scene.fog.isFogExp2) {
- this.effectCompositerQuad.material.uniforms['fogExp'].value = true
- this.effectCompositerQuad.material.uniforms['fogDensity'].value = this.scene.fog.density
- } else {
- console.error(`Unsupported fog type ${this.scene.fog.constructor.name} in SSAOPass.`)
- }
- }
- renderer.setRenderTarget(
- /* this.renderToScreen ? null :
- outputBuffer*/
- this.outputTargetInternal
- )
- this.effectCompositerQuad.render(renderer)
- renderer.setRenderTarget(this.renderToScreen ? null : outputBuffer)
- this.copyQuad.material.uniforms['tDiffuse'].value = this.outputTargetInternal.texture
- this.copyQuad.render(renderer)
- if (this.debugMode) {
- gl.endQuery(ext.TIME_ELAPSED_EXT)
- checkTimerQuery(timerQuery, gl, this)
- }
-
- renderer.xr.enabled = xrEnabled
- }
- /**
- * Enables the debug mode of the AO, meaning the lastTime value will be updated.
- */
- enableDebugMode() {
- this.debugMode = true
- }
- /**
- * Disables the debug mode of the AO, meaning the lastTime value will not be updated.
- */
- disableDebugMode() {
- this.debugMode = false
- }
- /**
- * Sets the display mode of the AO
- * @param {"Combined" | "AO" | "No AO" | "Split" | "Split AO"} mode - The display mode.
- */
- setDisplayMode(mode) {
- this.configuration.renderMode = ['Combined', 'AO', 'No AO', 'Split', 'Split AO'].indexOf(mode)
- }
- /**
- *
- * @param {"Performance" | "Low" | "Medium" | "High" | "Ultra"} mode
- */
- setQualityMode(mode) {
- if (mode === 'Performance') {
- this.configuration.aoSamples = 8
- this.configuration.denoiseSamples = 4
- this.configuration.denoiseRadius = 12
- } else if (mode === 'Low') {
- this.configuration.aoSamples = 16
- this.configuration.denoiseSamples = 4
- this.configuration.denoiseRadius = 12
- } else if (mode === 'Medium') {
- this.configuration.aoSamples = 16
- this.configuration.denoiseSamples = 8
- this.configuration.denoiseRadius = 12
- } else if (mode === 'High') {
- this.configuration.aoSamples = 64
- this.configuration.denoiseSamples = 8
- this.configuration.denoiseRadius = 6
- } else if (mode === 'Ultra') {
- this.configuration.aoSamples = 64
- this.configuration.denoiseSamples = 16
- this.configuration.denoiseRadius = 6
- }
- }
-}
-export { N8AOPostPass }
diff --git a/src/effects/N8AO/PoissionBlur.js b/src/effects/N8AO/PoissionBlur.js
deleted file mode 100644
index 3c806ce5..00000000
--- a/src/effects/N8AO/PoissionBlur.js
+++ /dev/null
@@ -1,163 +0,0 @@
-import * as THREE from 'three'
-
-const PoissionBlur = {
- uniforms: {
- sceneDiffuse: { value: null },
- sceneDepth: { value: null },
- tDiffuse: { value: null },
- projMat: { value: new THREE.Matrix4() },
- viewMat: { value: new THREE.Matrix4() },
- projectionMatrixInv: { value: new THREE.Matrix4() },
- viewMatrixInv: { value: new THREE.Matrix4() },
- cameraPos: { value: new THREE.Vector3() },
- resolution: { value: new THREE.Vector2() },
- time: { value: 0.0 },
- r: { value: 5.0 },
- blueNoise: { value: null },
- radius: { value: 12.0 },
- worldRadius: { value: 5.0 },
- index: { value: 0.0 },
- poissonDisk: { value: [] },
- distanceFalloff: { value: 1.0 },
- near: { value: 0.1 },
- far: { value: 1000.0 },
- logDepth: { value: false },
- screenSpaceRadius: { value: false },
- },
- depthWrite: false,
- depthTest: false,
-
- vertexShader: /* glsl */ `
- varying vec2 vUv;
- void main() {
- vUv = uv;
- gl_Position = vec4(position, 1.0);
- }`,
- fragmentShader: /* glsl */ `
- uniform sampler2D sceneDiffuse;
- uniform highp sampler2D sceneDepth;
- uniform sampler2D tDiffuse;
- uniform sampler2D blueNoise;
- uniform mat4 projectionMatrixInv;
- uniform mat4 viewMatrixInv;
- uniform vec2 resolution;
- uniform float r;
- uniform float radius;
- uniform float worldRadius;
- uniform float index;
- uniform float near;
- uniform float far;
- uniform float distanceFalloff;
- uniform bool logDepth;
- uniform bool screenSpaceRadius;
- varying vec2 vUv;
-
- highp float linearize_depth(highp float d, highp float zNear,highp float zFar)
- {
- highp float z_n = 2.0 * d - 1.0;
- return 2.0 * zNear * zFar / (zFar + zNear - z_n * (zFar - zNear));
- }
- highp float linearize_depth_log(highp float d, highp float nearZ,highp float farZ) {
- float depth = pow(2.0, d * log2(farZ + 1.0)) - 1.0;
- float a = farZ / (farZ - nearZ);
- float b = farZ * nearZ / (nearZ - farZ);
- float linDepth = a + b / depth;
- return linearize_depth(linDepth, nearZ, farZ);
- }
- highp float linearize_depth_ortho(highp float d, highp float nearZ, highp float farZ) {
- return nearZ + (farZ - nearZ) * d;
- }
- vec3 getWorldPosLog(vec3 posS) {
- vec2 uv = posS.xy;
- float z = posS.z;
- float nearZ =near;
- float farZ = far;
- float depth = pow(2.0, z * log2(farZ + 1.0)) - 1.0;
- float a = farZ / (farZ - nearZ);
- float b = farZ * nearZ / (nearZ - farZ);
- float linDepth = a + b / depth;
- vec4 clipVec = vec4(uv, linDepth, 1.0) * 2.0 - 1.0;
- vec4 wpos = projectionMatrixInv * clipVec;
- return wpos.xyz / wpos.w;
- }
- vec3 getWorldPos(float depth, vec2 coord) {
- #ifdef LOGDEPTH
- return getWorldPosLog(vec3(coord, depth));
- #endif
-
- float z = depth * 2.0 - 1.0;
- vec4 clipSpacePosition = vec4(coord * 2.0 - 1.0, z, 1.0);
- vec4 viewSpacePosition = projectionMatrixInv * clipSpacePosition;
- // Perspective division
- vec4 worldSpacePosition = viewSpacePosition;
- worldSpacePosition.xyz /= worldSpacePosition.w;
- return worldSpacePosition.xyz;
- }
- #include
- #define NUM_SAMPLES 16
- uniform vec2 poissonDisk[NUM_SAMPLES];
- void main() {
- const float pi = 3.14159;
- vec2 texelSize = vec2(1.0 / resolution.x, 1.0 / resolution.y);
- vec2 uv = vUv;
- vec4 data = texture2D(tDiffuse, vUv);
- float occlusion = data.a;
- float baseOcc = data.a;
- vec3 normal = data.rgb * 2.0 - 1.0;
- float count = 1.0;
- float d = texture2D(sceneDepth, vUv).x;
- if (d == 1.0) {
- gl_FragColor = data;
- return;
- }
- vec3 worldPos = getWorldPos(d, vUv);
- float size = radius;
- float angle;
- if (index == 0.0) {
- angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).x * PI2;
- } else if (index == 1.0) {
- angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).y * PI2;
- } else if (index == 2.0) {
- angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).z * PI2;
- } else {
- angle = texture2D(blueNoise, gl_FragCoord.xy / 128.0).w * PI2;
- }
-
- mat2 rotationMatrix = mat2(cos(angle), -sin(angle), sin(angle), cos(angle));
- float radiusToUse = screenSpaceRadius ? distance(
- worldPos,
- getWorldPos(d, vUv +
- vec2(worldRadius, 0.0) / resolution)
- ) : worldRadius;
- float distanceFalloffToUse =screenSpaceRadius ?
- radiusToUse * distanceFalloff
- : distanceFalloff;
-
-
- for(int i = 0; i < NUM_SAMPLES; i++) {
- vec2 offset = (rotationMatrix * poissonDisk[i]) * texelSize * size;
- vec4 dataSample = texture2D(tDiffuse, uv + offset);
- float occSample = dataSample.a;
- vec3 normalSample = dataSample.rgb * 2.0 - 1.0;
- float dSample = texture2D(sceneDepth, uv + offset).x;
- vec3 worldPosSample = getWorldPos(dSample, uv + offset);
- float tangentPlaneDist = abs(dot(worldPos - worldPosSample, normal));
- float rangeCheck = dSample == 1.0 ? 0.0 :exp(-1.0 * tangentPlaneDist * (1.0 / distanceFalloffToUse)) * max(dot(normal, normalSample), 0.0) * (1.0 - abs(occSample - baseOcc));
- occlusion += occSample * rangeCheck;
- count += rangeCheck;
- }
- if (count > 0.0) {
- occlusion /= count;
- }
- #ifdef LOGDEPTH
- occlusion = clamp(occlusion, 0.0, 1.0);
- if (occlusion == 0.0) {
- occlusion = 1.0;
- }
- #endif
- gl_FragColor = vec4(0.5 + 0.5 * normal, occlusion);
- }
- `,
-}
-
-export { PoissionBlur }
diff --git a/src/effects/Noise.tsx b/src/effects/Noise.tsx
index 5b3e2673..aa23c3d2 100644
--- a/src/effects/Noise.tsx
+++ b/src/effects/Noise.tsx
@@ -1,4 +1,4 @@
import { NoiseEffect, BlendFunction } from 'postprocessing'
import { wrapEffect } from '../util'
-export const Noise = wrapEffect(NoiseEffect, { blendFunction: BlendFunction.COLOR_DODGE })
+export const Noise = /* @__PURE__ */ wrapEffect(NoiseEffect, { blendFunction: BlendFunction.COLOR_DODGE })
diff --git a/src/effects/Outline.tsx b/src/effects/Outline.tsx
index 658c0782..f78b69d8 100644
--- a/src/effects/Outline.tsx
+++ b/src/effects/Outline.tsx
@@ -1,12 +1,12 @@
import { OutlineEffect } from 'postprocessing'
-import { Ref, MutableRefObject, forwardRef, useMemo, useEffect, useContext, useRef } from 'react'
+import { Ref, RefObject, forwardRef, useMemo, useEffect, useContext, useRef } from 'react'
import { Object3D } from 'three'
import { useThree } from '@react-three/fiber'
import { EffectComposerContext } from '../EffectComposer'
import { selectionContext } from '../Selection'
import { resolveRef } from '../util'
-type ObjectRef = MutableRefObject
+type ObjectRef = RefObject
export type OutlineProps = ConstructorParameters[2] &
Partial<{
@@ -14,7 +14,7 @@ export type OutlineProps = ConstructorParameters[2] &
selectionLayer: number
}>
-export const Outline = forwardRef(function Outline(
+export const Outline = /* @__PURE__ */ forwardRef(function Outline(
{
selection = [],
selectionLayer = 10,
@@ -93,7 +93,7 @@ export const Outline = forwardRef(function Outline(
invalidate()
}, [effect, invalidate, selectionLayer])
- const ref = useRef()
+ const ref = useRef(undefined)
useEffect(() => {
if (api && api.enabled) {
if (api.selected?.length) {
diff --git a/src/effects/Pixelation.tsx b/src/effects/Pixelation.tsx
index 90243147..61a24a3e 100644
--- a/src/effects/Pixelation.tsx
+++ b/src/effects/Pixelation.tsx
@@ -5,7 +5,7 @@ export type PixelationProps = {
granularity?: number
}
-export const Pixelation = forwardRef(function Pixelation(
+export const Pixelation = /* @__PURE__ */ forwardRef(function Pixelation(
{ granularity = 5 }: PixelationProps,
ref: Ref
) {
diff --git a/src/effects/SMAA.tsx b/src/effects/SMAA.tsx
index 8199ecb3..41a927e0 100644
--- a/src/effects/SMAA.tsx
+++ b/src/effects/SMAA.tsx
@@ -1,4 +1,4 @@
import { SMAAEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const SMAA = wrapEffect(SMAAEffect)
+export const SMAA = /* @__PURE__ */ wrapEffect(SMAAEffect)
diff --git a/src/effects/SSAO.tsx b/src/effects/SSAO.tsx
index 88c2b347..5bbac10a 100644
--- a/src/effects/SSAO.tsx
+++ b/src/effects/SSAO.tsx
@@ -5,7 +5,10 @@ import { EffectComposerContext } from '../EffectComposer'
// first two args are camera and texture
type SSAOProps = ConstructorParameters[2]
-export const SSAO = forwardRef(function SSAO(props: SSAOProps, ref: Ref) {
+export const SSAO = /* @__PURE__ */ forwardRef(function SSAO(
+ props: SSAOProps,
+ ref: Ref
+) {
const { camera, normalPass, downSamplingPass, resolutionScale } = useContext(EffectComposerContext)
const effect = useMemo(() => {
if (normalPass === null && downSamplingPass === null) {
diff --git a/src/effects/SSR/index.tsx b/src/effects/SSR/index.tsx
deleted file mode 100644
index db61fc41..00000000
--- a/src/effects/SSR/index.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-import React, { Ref, forwardRef, useLayoutEffect, useEffect, useContext, useMemo } from 'react'
-/* @ts-ignore */
-import { SSREffect } from './screen-space-reflections'
-import { EffectComposerContext } from '../../EffectComposer'
-import { selectionContext } from '../../Selection'
-import { useThree } from '@react-three/fiber'
-
-// first two args are camera and texture
-type SSRProps = {
- /** whether you want to use Temporal Resolving to re-use reflections from the last frames; this will reduce noise tremendously but may result in "smearing" */
- temporalResolve?: boolean
- /** a value between 0 and 1 to set how much the last frame's reflections should be blended in; higher values will result in less noisy reflections when moving the camera but a more smeary look */
- temporalResolveMix?: number
- /** a value between 0 and 1 to set how much the reprojected reflection should be corrected; higher values will reduce smearing but will result in less flickering at reflection edges */
- temporalResolveCorrectionMix?: number
- /** the maximum number of samples for reflections; settings it to 0 means unlimited samples; setting it to a value like 6 can help make camera movements less disruptive when calculating reflections */
- maxSamples?: number
- /** whether to blur the reflections and blend these blurred reflections with the raw ones depending on the blurMix value */
- ENABLE_BLUR?: boolean
- /** how much the blurred reflections should be mixed with the raw reflections */
- blurMix?: number
- /** the sharpness of the Bilateral Filter used to blur reflections */
- blurSharpness?: number
- /** the kernel size of the Bilateral Blur Filter; higher kernel sizes will result in blurrier reflections with more artifacts */
- blurKernelSize?: number
- /** how much the reflection ray should travel in each of its iteration; higher values will give deeper reflections but with more artifacts */
- rayStep?: number
- /** the intensity of the reflections */
- intensity?: number
- /** the maximum roughness a texel can have to have reflections calculated for it */
- maxRoughness?: number
- /** whether jittering is enabled; jittering will randomly jitter the reflections resulting in a more noisy but overall more realistic look, enabling jittering can be expensive depending on the view angle */
- ENABLE_JITTERING?: boolean
- /** how intense jittering should be */
- jitter?: number
- /** how much the jittered rays should be spread; higher values will give a rougher look regarding the reflections but are more expensive to compute with */
- jitterSpread?: number
- /** how intense jittering should be in relation to a material's roughness */
- jitterRough?: number
- /** the number of steps a reflection ray can maximally do to find an object it intersected (and thus reflects) */
- MAX_STEPS?: number
- /** once we had our ray intersect something, we need to find the exact point in space it intersected and thus it reflects; this can be done through binary search with the given number of maximum steps */
- NUM_BINARY_SEARCH_STEPS?: number
- /** the maximum depth difference between a ray and the particular depth at its screen position after refining with binary search; lower values will result in better performance */
- maxDepthDifference?: number
- /** the maximum depth for which reflections will be calculated */
- maxDepth?: number
- /** the maximum depth difference between a ray and the particular depth at its screen position before refining with binary search; lower values will result in better performance */
- thickness?: number
- /** Index of Refraction, used for calculating fresnel; reflections tend to be more intense the steeper the angle between them and the viewer is, the ior parameter set how much the intensity varies */
- ior?: number
- /** if there should still be reflections for rays for which a reflecting point couldn't be found; enabling this will result in stretched looking reflections which can look good or bad depending on the angle */
- STRETCH_MISSED_RAYS?: boolean
- /** WebGL2 only - whether to use multiple render targets when rendering the G-buffers (normals, depth and roughness); using them can improve performance as they will render all information to multiple buffers for each fragment in one run; this setting can't be changed during run-time */
- USE_MRT?: boolean
- /** if roughness maps should be taken account of when calculating reflections */
- USE_ROUGHNESSMAP?: boolean
- /** if normal maps should be taken account of when calculating reflections */
- USE_NORMALMAP?: boolean
-}
-
-export const SSR = forwardRef(function SSR(
- { ENABLE_BLUR = true, USE_MRT = true, ...props }: SSRProps,
-
- ref: Ref
-) {
- const invalidate = useThree((s) => s.invalidate)
- const { scene, camera } = useContext(EffectComposerContext)
- const effect = useMemo(
- () => new SSREffect(scene, camera, { ENABLE_BLUR, USE_MRT, ...props }),
- [scene, camera, ENABLE_BLUR, USE_MRT, props]
- )
-
- const api = useContext(selectionContext)
- useEffect(() => {
- if (api && api.enabled) {
- if (api.selected?.length) {
- effect.selection.set(api.selected)
- invalidate()
- return () => {
- effect.selection.clear()
- invalidate()
- }
- }
- }
- }, [api, effect, invalidate])
-
- return
-})
diff --git a/src/effects/SSR/screen-space-reflections.js b/src/effects/SSR/screen-space-reflections.js
deleted file mode 100644
index cd8f7209..00000000
--- a/src/effects/SSR/screen-space-reflections.js
+++ /dev/null
@@ -1,1879 +0,0 @@
-import { Pass, RenderPass, DepthPass, Effect, Selection } from 'postprocessing'
-import {
- REVISION,
- ShaderMaterial,
- Uniform,
- Vector2,
- Matrix3,
- TangentSpaceNormalMap,
- GLSL3,
- Matrix4,
- Vector3,
- WebGLRenderTarget,
- LinearFilter,
- HalfFloatType,
- ShaderChunk,
- Color,
- Quaternion,
- VideoTexture,
- DataTexture,
- RGBAFormat,
- FloatType,
- NearestFilter,
- FramebufferTexture,
- WebGLCubeRenderTarget,
- CubeCamera,
- PMREMGenerator,
- Texture,
-} from 'three'
-import { WebGLMultipleRenderTargets } from '../../compat'
-
-const boxBlur = /* glsl */ `
- uniform float blur;
- uniform float blurSharpness;
- uniform int blurKernel;
-
- vec3 denoise(
- vec3 center,
- sampler2D tex,
- vec2 uv,
- vec2 invTexSize,
- float blur,
- float blurSharpness,
- int blurKernel
- ) {
- vec3 color, col;
- float total, weight;
-
- for (int x = -blurKernel; x <= blurKernel; x++) {
- for (int y=-blurKernel; y<=blurKernel; y++) {
- col = textureLod(tex, uv + vec2(x,y) * invTexSize, 0.0).rgb;
- weight = 1.0-abs(dot(col - center, vec3(0.25)));
- weight = pow(weight, blurSharpness);
- color += col * weight;
- total += weight;
- }
- }
-
- return color / total;
- }
-`
-
-const finalSSRShader = /* glsl */ `
- #define MODE_DEFAULT 0
- #define MODE_REFLECTIONS 1
- #define MODE_RAW_REFLECTION 2
- #define MODE_BLURRED_REFLECTIONS 3
- #define MODE_INPUT 4
- #define MODE_BLUR_MIX 5
- #define FLOAT_EPSILON 0.00001
- // uniform sampler2D inputTexture;
- uniform sampler2D reflectionsTexture;
- // uniform float samples;
-
- ${boxBlur}
-
- void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) {
- vec4 reflectionsTexel=texture2D(reflectionsTexture, vUv);
- ivec2 size = textureSize(reflectionsTexture, 0);
- vec2 invTexSize= 1.0 / vec2(size.x, size.y);
- vec3 reflectionClr = reflectionsTexel.xyz;
- if (blur > FLOAT_EPSILON) {
- vec3 blurredReflectionsColor = denoise(
- reflectionsTexel.rgb,
- reflectionsTexture,
- vUv,
- invTexSize,
- blur,
- blurSharpness,
- blurKernel
- );
- reflectionClr = mix(reflectionClr, blurredReflectionsColor.rgb, blur);
- }
-
- #if RENDER_MODE == MODE_DEFAULT
- outputColor = vec4(inputColor.rgb+reflectionClr, 1.0);
- #endif
- #if RENDER_MODE == MODE_REFLECTIONS
- outputColor = vec4(reflectionClr, 1.0);
- #endif
- #if RENDER_MODE == MODE_RAW_REFLECTION
- outputColor = vec4(reflectionsTexel.xyz, 1.0);
- #endif
- #if RENDER_MODE == MODE_BLURRED_REFLECTIONS
- outputColor = vec4(blurredReflectionsTexel.xyz, 1.0);
- #endif
- #if RENDER_MODE == MODE_INPUT
- outputColor = vec4(inputColor.xyz, 1.0);
- #endif
- #if RENDER_MODE == MODE_BLUR_MIX
- outputColor = vec4(vec3(blur), 1.0);
- #endif
- }
-`
-
-const helperFunctions = /* glsl */ `
- vec3 getViewPosition(const float depth) {
- float clipW= _projectionMatrix[2][3] * depth + _projectionMatrix[3][3];
- vec4 clipPosition = vec4((vec3(vUv, depth) - 0.5) * 2.0, 1.0);
- clipPosition *= clipW;
- return(_inverseProjectionMatrix * clipPosition).xyz;
- }
-
- float getViewZ(const in float depth) {
- #ifdef PERSPECTIVE_CAMERA
- return perspectiveDepthToViewZ(depth, cameraNear, cameraFar);
- #else
- return orthographicDepthToViewZ(depth, cameraNear, cameraFar);
- #endif
- }
-
- vec3 screenSpaceToWorldSpace(const vec2 uv,const float depth){
- vec4 ndc = vec4((uv.x - 0.5) * 2.0,(uv.y - 0.5)* 2.0, (depth - 0.5) * 2.0, 1.0);
- vec4 clip= _inverseProjectionMatrix*ndc;
- vec4 view = cameraMatrixWorld * (clip / clip.w);
- return view.xyz;
- }
-
- #define Scale (vec3(0.8, 0.8, 0.8))
- #define K (19.19)
-
- vec3 hash(vec3 a) {
- a = fract(a * Scale);
- a += dot(a, a.yxz + K);
- return fract((a.xxy + a.yxx) * a.zyx);
- }
-
- float fresnel_dielectric_cos(float cosi, float eta){
- float c = abs(cosi);
- float g = eta * eta - 1.0 + c* c;
- float result;
-
- if (g > 0.0){
- g = sqrt(g);
- float A = (g - c) / (g + c);
- float B = (c* (g + c) - 1.0) / (c * (g - c) + 1.0);
- result = 0.5 * A * A * (1.0 + B * B);
- } else {
- result = 1.0;
- }
-
- return result;
- }
-
- float fresnel_dielectric(vec3 Incoming, vec3 Normal, float eta){
- float cosine = dot(Incoming, Normal);
- return min(1.0, 5.0 * fresnel_dielectric_cos(cosine, eta));
- }
-`
-
-const trCompose = /* glsl */ `
- #define INV_EULER 0.36787944117144233
-
- alpha = velocityDisocclusion < FLOAT_EPSILON ? (alpha + 0.0075) : 0.0;
- alpha = clamp(alpha, 0.0, 1.0);
- bool needsBlur = !didReproject || velocityDisocclusion > 0.5;
-
- #ifdef boxBlur
- if (needsBlur) inputColor = boxBlurredColor;
- #endif
-
- if (alpha == 1.0) {
- outputColor = accumulatedColor;
- } else {
- float m = mix(alpha, 1.0, blend);
- if (needsBlur) m = 0.0;
- outputColor = accumulatedColor * m + inputColor * (1.0 - m);
- }
-`
-
-// WebGL2: will render normals to RGB channel of "gNormal" buffer, roughness to A channel of "gNormal" buffer, depth to RGBA channel of "gDepth" buffer
-// and velocity to "gVelocity" buffer
-
-class MRTMaterial extends ShaderMaterial {
- constructor() {
- super({
- type: 'MRTMaterial',
- defines: {
- USE_UV: '',
- TEMPORAL_RESOLVE: '',
- },
- uniforms: {
- opacity: new Uniform(1),
- normalMap: new Uniform(null),
- normalScale: new Uniform(new Vector2(1, 1)),
- uvTransform: new Uniform(new Matrix3()),
- roughness: new Uniform(1),
- roughnessMap: new Uniform(null),
- },
- vertexShader: /* glsl */ `
- #ifdef USE_MRT
- varying vec2 vHighPrecisionZW;
- #endif
- #define NORMAL
- #if defined(FLAT_SHADED) || defined(USE_BUMPMAP) || defined(TANGENTSPACE_NORMALMAP)
- varying vec3 vViewPosition;
- #endif
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #ifdef USE_UV
- ${REVISION.replace(/\D+/g, '') >= 151 ? 'uniform mat3 uvTransform;' : ''}
- #endif
- void main() {
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #if defined(FLAT_SHADED) || defined(USE_BUMPMAP) || defined(TANGENTSPACE_NORMALMAP)
- vViewPosition = -mvPosition.xyz;
- #endif
- #ifdef USE_MRT
- vHighPrecisionZW = gl_Position.zw;
- #endif
- #ifdef USE_UV
- vUv = (uvTransform * vec3(uv, 1)).xy;
- #endif
- }
- `,
- fragmentShader: /* glsl */ `
- #define NORMAL
- #if defined(FLAT_SHADED) || defined(USE_BUMPMAP) || defined(TANGENTSPACE_NORMALMAP)
- varying vec3 vViewPosition;
- #endif
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
-
- #ifdef USE_MRT
- layout(location = 0) out vec4 gNormal;
- layout(location = 1) out vec4 gDepth;
- varying vec2 vHighPrecisionZW;
- #endif
- uniform float roughness;
- void main() {
- #include
- #include
- #include
- #include
-
- float roughnessFactor = roughness;
-
- if (roughness > 10.0e9){
- roughnessFactor = 1.;
- } else {
- #ifdef useRoughnessMap
- vec4 texelRoughness = texture2D(roughnessMap, vUv);
- // reads channel G, compatible with a combined OcclusionRoughnessMetallic (RGB) texture
- roughnessFactor *= texelRoughness.g;
- #endif
- }
-
- vec3 normalColor = packNormalToRGB(normal);
- #ifdef USE_MRT
- float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
- vec4 depthColor = packDepthToRGBA(fragCoordZ);
- gNormal = vec4(normalColor, roughnessFactor);
- gDepth = depthColor;
- #else
- gl_FragColor = vec4(normalColor, roughnessFactor);
- #endif
- }
- `,
- toneMapped: false,
- })
- this.normalMapType = TangentSpaceNormalMap
- this.normalScale = new Vector2(1, 1)
- Object.defineProperty(this, 'glslVersion', {
- get() {
- return 'USE_MRT' in this.defines ? GLSL3 : null
- },
- set(_) {},
- })
- }
-}
-
-const vertexShader = /* glsl */ `
- varying vec2 vUv;
-
- void main() {
- vUv = position.xy * 0.5 + 0.5;
- gl_Position = vec4(position.xy, 1.0, 1.0);
- }
-`
-
-const fragmentShader = /* glsl */ `
- varying vec2 vUv;
- uniform sampler2D inputTexture;
- uniform sampler2D accumulatedTexture;
- uniform sampler2D normalTexture;
- uniform sampler2D depthTexture;
- uniform sampler2D envMap;
- uniform mat4 _projectionMatrix;
- uniform mat4 _inverseProjectionMatrix;
- uniform mat4 cameraMatrixWorld;
- uniform float cameraNear;
- uniform float cameraFar;
- uniform float rayDistance;
- uniform float intensity;
- uniform float maxDepthDifference;
- uniform float roughnessFade;
- uniform float maxRoughness;
- uniform float fade;
- uniform float thickness;
- uniform float ior;
- uniform float samples;
- uniform float jitter;
- uniform float jitterRoughness;
-
- #define INVALID_RAY_COORDS vec2(-1.0);
-
- #define EARLY_OUT_COLOR vec4(0.0, 0.0, 0.0, 1.0)
- #define FLOAT_EPSILON 0.00001
- float nearMinusFar;
- float nearMulFar;
- float farMinusNear;
-
- #include
-
- ${helperFunctions}
-
- vec2 RayMarch(vec3 dir, inout vec3 hitPos, inout float rayHitDepthDifference);
- vec2 BinarySearch(in vec3 dir, inout vec3 hitPos, inout float rayHitDepthDifference);
- float fastGetViewZ(const in float depth);
- vec3 getIBLRadiance(const in vec3 viewDir, const in vec3 normal, const in float roughness);
-
- void main() {
- vec4 depthTexel = textureLod(depthTexture, vUv, 0.0);
-
- if (dot(depthTexel.rgb, depthTexel.rgb) < FLOAT_EPSILON) {
- gl_FragColor = EARLY_OUT_COLOR;
- return;
- }
-
- float unpackedDepth = unpackRGBAToDepth(depthTexel);
- vec4 normalTexel = textureLod(normalTexture, vUv, 0.0);
- float roughness = normalTexel.a;
- float specular = 1.0 - roughness;
-
- nearMinusFar = cameraNear - cameraFar;
- nearMulFar = cameraNear * cameraFar;
- farMinusNear = cameraFar - cameraNear;
-
- normalTexel.rgb = unpackRGBToNormal(normalTexel.rgb);
-
- float depth = fastGetViewZ(unpackedDepth);
- vec3 viewPos = getViewPosition(depth);
- vec3 viewDir = normalize(viewPos);
- vec3 viewNormal = normalTexel.xyz;
- vec3 worldPos = screenSpaceToWorldSpace(vUv, unpackedDepth);
-
- vec3 jitt=vec3(0.0);
- if (jitterRoughness != 0.0 || jitter!=0.0){
- vec3 randomJitter = hash(50.0 * samples * worldPos) - 0.5;
- float spread= ((2.0 - specular) + roughness * jitterRoughness);
- float jitterMix = jitter * 0.25 + jitterRoughness * roughness;
- if (jitterMix > 1.0) jitterMix = 1.0;
- jitt = mix(vec3(0.0), randomJitter * spread, jitterMix);
- }
-
- viewNormal += jitt;
- float fresnelFactor = fresnel_dielectric(viewDir, viewNormal, ior);
- vec3 iblRadiance = getIBLRadiance(-viewDir, viewNormal, 0.0) * fresnelFactor;
- float lastFrameAlpha = textureLod(accumulatedTexture, vUv, 0.0).a;
- if (roughness > maxRoughness || (roughness > 1.0 - FLOAT_EPSILON && roughnessFade > 1.0 - FLOAT_EPSILON)) {
- gl_FragColor=vec4(iblRadiance,lastFrameAlpha);
- return;
- }
-
- vec3 reflected = reflect(viewDir, viewNormal);
- vec3 rayDir = reflected *- viewPos.z;
- vec3 hitPos = viewPos;
- float rayHitDepthDifference;
- vec2 coords = RayMarch(rayDir, hitPos, rayHitDepthDifference);
- if (coords.x == -1.0){
- gl_FragColor=vec4(iblRadiance, lastFrameAlpha);
- return;
- }
-
- vec4 SSRTexel = textureLod(inputTexture, coords.xy, 0.0);
- vec4 SSRTexelReflected = textureLod(accumulatedTexture, coords.xy, 0.0);
- vec3 SSR = SSRTexel.rgb + SSRTexelReflected.rgb;
- float roughnessFactor = mix(specular, 1.0, max(0.0, 1.0 - roughnessFade));
- vec2 coordsNDC = (coords.xy * 2.0 - 1.0);
- float screenFade = 0.1;
- float maxDimension = min(1.0, max(abs(coordsNDC.x), abs(coordsNDC.y)));
- float reflectionIntensity = 1.0 - (max(0.0, maxDimension - screenFade) / (1.0 - screenFade));
- reflectionIntensity = max(0.0, reflectionIntensity);
- vec3 finalSSR = mix(iblRadiance, SSR, reflectionIntensity) * roughnessFactor;
-
- if (fade != 0.0) {
- vec3 hitWorldPos = screenSpaceToWorldSpace(coords, rayHitDepthDifference);
- float reflectionDistance = distance(hitWorldPos, worldPos) + 1.0;
- float opacity = 1.0 / (reflectionDistance * fade * 0.1);
- if(opacity > 1.0) opacity=1.0;
- finalSSR *= opacity;
- }
-
- finalSSR *= fresnelFactor * intensity;
- finalSSR = min(vec3(1.0), finalSSR);
- float alpha = hitPos.z == 1.0 ? 1.0 : SSRTexelReflected.a;
- alpha = min(lastFrameAlpha, alpha);
- gl_FragColor = vec4(finalSSR, alpha);
- }
-
- vec2 RayMarch(vec3 dir, inout vec3 hitPos, inout float rayHitDepthDifference) {
- dir=normalize(dir);
- dir *= rayDistance / float(steps);
- float depth;
- vec4 projectedCoord;
- vec4 lastProjectedCoord;
- float unpackedDepth;
- vec4 depthTexel;
-
- for (int i = 0; i < steps; i++) {
- hitPos += dir;
- projectedCoord = _projectionMatrix * vec4(hitPos, 1.0);
- projectedCoord.xy /= projectedCoord.w;
- projectedCoord.xy = projectedCoord.xy * 0.5 + 0.5;
-
- #ifndef missedRays
- if (
- projectedCoord.x < 0.0 ||
- projectedCoord.x > 1.0 ||
- projectedCoord.y < 0.0 ||
- projectedCoord.y > 1.0
- ) {
- return INVALID_RAY_COORDS;
- }
- #endif
-
- depthTexel = textureLod(depthTexture, projectedCoord.xy, 0.0);
- unpackedDepth = unpackRGBAToDepth(depthTexel);
- depth = fastGetViewZ(unpackedDepth);
- rayHitDepthDifference = depth - hitPos.z;
-
- if (rayHitDepthDifference >= 0.0 && rayHitDepthDifference < thickness){
- #if refineSteps == 0
- if (dot(depthTexel.rgb, depthTexel.rgb) < FLOAT_EPSILON) return INVALID_RAY_COORDS;
- #else
- return BinarySearch(dir, hitPos, rayHitDepthDifference);
- #endif
- }
-
- #ifndef missedRays
- if (hitPos.z > 0.0) return INVALID_RAY_COORDS;
- #endif
-
- lastProjectedCoord = projectedCoord;
- }
-
- hitPos.z = 1.0;
-
- #ifndef missedRays
- return INVALID_RAY_COORDS;
- #endif
-
- rayHitDepthDifference = unpackedDepth;
-
- return projectedCoord.xy;
- }
-
- vec2 BinarySearch(in vec3 dir, inout vec3 hitPos, inout float rayHitDepthDifference) {
- float depth;
- vec4 projectedCoord;
- vec2 lastMinProjectedCoordXY;
- float unpackedDepth;
- vec4 depthTexel;
-
- for (int i = 0; i < refineSteps; i++){
- projectedCoord = _projectionMatrix * vec4(hitPos, 1.0);
- projectedCoord.xy /= projectedCoord.w;
- projectedCoord.xy = projectedCoord.xy * 0.5 + 0.5;
- depthTexel = textureLod(depthTexture, projectedCoord.xy, 0.0);
- unpackedDepth = unpackRGBAToDepth(depthTexel);
- depth = fastGetViewZ(unpackedDepth);
- rayHitDepthDifference = depth - hitPos.z;
- dir *= 0.5;
-
- if (rayHitDepthDifference > 0.0) {
- hitPos -= dir;
- } else {
- hitPos += dir;
- }
- }
-
- if (dot(depthTexel.rgb, depthTexel.rgb) < FLOAT_EPSILON) return INVALID_RAY_COORDS;
- if (abs(rayHitDepthDifference) > maxDepthDifference) return INVALID_RAY_COORDS;
-
- projectedCoord = _projectionMatrix*vec4(hitPos, 1.0);
- projectedCoord.xy /= projectedCoord.w;
- projectedCoord.xy = projectedCoord.xy * 0.5 + 0.5;
- rayHitDepthDifference = unpackedDepth;
- return projectedCoord.xy;
- }
-
- float fastGetViewZ(const in float depth){
- #ifdef PERSPECTIVE_CAMERA
- return nearMulFar / (farMinusNear * depth - cameraFar);
- #else
- return depth * nearMinusFar - cameraNear;
- #endif
- }
-
- #include
- #include
-
- vec3 getIBLRadiance(const in vec3 viewDir, const in vec3 normal, const in float roughness){
- #if defined(ENVMAP_TYPE_CUBE_UV)
- vec3 reflectVec = reflect(-viewDir, normal);
- reflectVec = normalize(mix(reflectVec, normal,roughness * roughness));
- reflectVec = inverseTransformDirection(reflectVec, viewMatrix);
- vec4 envMapColor = textureCubeUV(envMap, reflectVec, roughness);
- return envMapColor.rgb * intensity;
- #else
- return vec3(0.0);
- #endif
- }
-`
-
-class ReflectionsMaterial extends ShaderMaterial {
- constructor() {
- super({
- type: 'ReflectionsMaterial',
- uniforms: {
- inputTexture: new Uniform(null),
- accumulatedTexture: new Uniform(null),
- normalTexture: new Uniform(null),
- depthTexture: new Uniform(null),
- _projectionMatrix: new Uniform(new Matrix4()),
- _inverseProjectionMatrix: new Uniform(new Matrix4()),
- cameraMatrixWorld: new Uniform(new Matrix4()),
- cameraNear: new Uniform(0),
- cameraFar: new Uniform(0),
- rayDistance: new Uniform(0),
- intensity: new Uniform(0),
- roughnessFade: new Uniform(0),
- fade: new Uniform(0),
- thickness: new Uniform(0),
- ior: new Uniform(0),
- maxDepthDifference: new Uniform(0),
- jitter: new Uniform(0),
- jitterRoughness: new Uniform(0),
- maxRoughness: new Uniform(0),
- samples: new Uniform(0),
- envMap: new Uniform(null),
- envMapPosition: new Uniform(new Vector3()),
- envMapSize: new Uniform(new Vector3()),
- viewMatrix: new Uniform(new Matrix4()),
- },
- defines: {
- steps: 20,
- refineSteps: 5,
- CUBEUV_TEXEL_WIDTH: 0,
- CUBEUV_TEXEL_HEIGHT: 0,
- CUBEUV_MAX_MIP: 0,
- vWorldPosition: 'worldPos',
- },
- fragmentShader,
- vertexShader,
- toneMapped: false,
- depthWrite: false,
- depthTest: false,
- })
- }
-}
-
-const getVisibleChildren = (object) => {
- const queue = [object]
- const objects = []
-
- while (queue.length !== 0) {
- const mesh = queue.shift()
- if (mesh.material) objects.push(mesh)
-
- for (const c of mesh.children) {
- if (c.visible) queue.push(c)
- }
- }
-
- return objects
-}
-const generateCubeUVSize = (parameters) => {
- const imageHeight = parameters.envMapCubeUVHeight
- if (imageHeight === null) return null
- const maxMip = Math.log2(imageHeight) - 2
- const texelHeight = 1.0 / imageHeight
- const texelWidth = 1.0 / (3 * Math.max(Math.pow(2, maxMip), 7 * 16))
- return {
- texelWidth,
- texelHeight,
- maxMip,
- }
-}
-const setupEnvMap = (reflectionsMaterial, envMap, envMapCubeUVHeight) => {
- reflectionsMaterial.uniforms.envMap.value = envMap
- const envMapCubeUVSize = generateCubeUVSize({
- envMapCubeUVHeight,
- })
- reflectionsMaterial.defines.ENVMAP_TYPE_CUBE_UV = ''
- reflectionsMaterial.defines.CUBEUV_TEXEL_WIDTH = envMapCubeUVSize.texelWidth
- reflectionsMaterial.defines.CUBEUV_TEXEL_HEIGHT = envMapCubeUVSize.texelHeight
- reflectionsMaterial.defines.CUBEUV_MAX_MIP = envMapCubeUVSize.maxMip + '.0'
- reflectionsMaterial.needsUpdate = true
-}
-
-const isWebGL2Available = () => {
- try {
- const canvas = document.createElement('canvas')
- return !!(window.WebGL2RenderingContext && canvas.getContext('webgl2'))
- } catch (e) {
- return false
- }
-}
-
-class ReflectionsPass extends Pass {
- constructor(ssrEffect, options = {}) {
- super('ReflectionsPass')
- this.ssrEffect = void 0
- this.cachedMaterials = new WeakMap()
- this.USE_MRT = false
- this.webgl1DepthPass = null
- this.visibleMeshes = []
- this.ssrEffect = ssrEffect
- this._scene = ssrEffect._scene
- this._camera = ssrEffect._camera
- this.fullscreenMaterial = new ReflectionsMaterial()
- if (ssrEffect._camera.isPerspectiveCamera) this.fullscreenMaterial.defines.PERSPECTIVE_CAMERA = ''
- const width = options.width || typeof window !== 'undefined' ? window.innerWidth : 2000
- const height = options.height || typeof window !== 'undefined' ? window.innerHeight : 1000
- this.renderTarget = new WebGLRenderTarget(width, height, {
- minFilter: LinearFilter,
- magFilter: LinearFilter,
- type: HalfFloatType,
- depthBuffer: false,
- })
- this.renderPass = new RenderPass(this._scene, this._camera)
- this.USE_MRT = isWebGL2Available()
-
- if (this.USE_MRT) {
- // buffers: normal, depth (2), roughness will be written to the alpha channel of the normal buffer
- this.gBuffersRenderTarget = new WebGLMultipleRenderTargets(width, height, 2, {
- minFilter: LinearFilter,
- magFilter: LinearFilter,
- })
- this.normalTexture = this.gBuffersRenderTarget.texture[0]
- this.depthTexture = this.gBuffersRenderTarget.texture[1]
- } else {
- // depth pass
- this.webgl1DepthPass = new DepthPass(this._scene, this._camera)
- this.webgl1DepthPass.renderTarget.minFilter = LinearFilter
- this.webgl1DepthPass.renderTarget.magFilter = LinearFilter
- this.webgl1DepthPass.renderTarget.texture.minFilter = LinearFilter
- this.webgl1DepthPass.renderTarget.texture.magFilter = LinearFilter
- this.webgl1DepthPass.setSize(
- typeof window !== 'undefined' ? window.innerWidth : 2000,
- typeof window !== 'undefined' ? window.innerHeight : 1000
- ) // render normals (in the rgb channel) and roughness (in the alpha channel) in gBuffersRenderTarget
-
- this.gBuffersRenderTarget = new WebGLRenderTarget(width, height, {
- minFilter: LinearFilter,
- magFilter: LinearFilter,
- })
- this.normalTexture = this.gBuffersRenderTarget.texture
- this.depthTexture = this.webgl1DepthPass.texture
- } // set up uniforms
-
- this.fullscreenMaterial.uniforms.normalTexture.value = this.normalTexture
- this.fullscreenMaterial.uniforms.depthTexture.value = this.depthTexture
- this.fullscreenMaterial.uniforms.accumulatedTexture.value = this.ssrEffect.temporalResolvePass.accumulatedTexture
- this.fullscreenMaterial.uniforms.cameraMatrixWorld.value = this._camera.matrixWorld
- this.fullscreenMaterial.uniforms._projectionMatrix.value = this._camera.projectionMatrix
- this.fullscreenMaterial.uniforms._inverseProjectionMatrix.value = this._camera.projectionMatrixInverse
- }
-
- setSize(width, height) {
- this.renderTarget.setSize(width * this.ssrEffect.resolutionScale, height * this.ssrEffect.resolutionScale)
- this.gBuffersRenderTarget.setSize(width * this.ssrEffect.resolutionScale, height * this.ssrEffect.resolutionScale)
- this.fullscreenMaterial.uniforms.accumulatedTexture.value = this.ssrEffect.temporalResolvePass.accumulatedTexture
- this.fullscreenMaterial.needsUpdate = true
- }
-
- dispose() {
- this.renderTarget.dispose()
- this.gBuffersRenderTarget.dispose()
- this.renderPass.dispose()
- if (!this.USE_MRT) this.webgl1DepthPass.dispose()
- this.fullscreenMaterial.dispose()
- this.normalTexture = null
- this.depthTexture = null
- this.velocityTexture = null
- }
-
- keepMaterialMapUpdated(mrtMaterial, originalMaterial, prop, define) {
- if (this.ssrEffect[define]) {
- if (originalMaterial[prop] !== mrtMaterial[prop]) {
- mrtMaterial[prop] = originalMaterial[prop]
- mrtMaterial.uniforms[prop].value = originalMaterial[prop]
-
- if (originalMaterial[prop]) {
- mrtMaterial.defines[define] = ''
- } else {
- delete mrtMaterial.defines[define]
- }
-
- mrtMaterial.needsUpdate = true
- }
- } else if (mrtMaterial[prop] !== undefined) {
- mrtMaterial[prop] = undefined
- mrtMaterial.uniforms[prop].value = undefined
- delete mrtMaterial.defines[define]
- mrtMaterial.needsUpdate = true
- }
- }
-
- setMRTMaterialInScene() {
- this.visibleMeshes = getVisibleChildren(this._scene)
-
- for (const c of this.visibleMeshes) {
- if (c.material) {
- const originalMaterial = c.material
- let [cachedOriginalMaterial, mrtMaterial] = this.cachedMaterials.get(c) || []
-
- if (originalMaterial !== cachedOriginalMaterial) {
- if (mrtMaterial) mrtMaterial.dispose()
- mrtMaterial = new MRTMaterial()
- if (this.USE_MRT) mrtMaterial.defines.USE_MRT = ''
- mrtMaterial.normalScale = originalMaterial.normalScale
- mrtMaterial.uniforms.normalScale.value = originalMaterial.normalScale
- const map =
- originalMaterial.map ||
- originalMaterial.normalMap ||
- originalMaterial.roughnessMap ||
- originalMaterial.metalnessMap
- if (map) mrtMaterial.uniforms.uvTransform.value = map.matrix
- this.cachedMaterials.set(c, [originalMaterial, mrtMaterial])
- } // update the child's MRT material
-
- this.keepMaterialMapUpdated(mrtMaterial, originalMaterial, 'normalMap', 'useNormalMap')
- this.keepMaterialMapUpdated(mrtMaterial, originalMaterial, 'roughnessMap', 'useRoughnessMap')
- mrtMaterial.uniforms.roughness.value =
- this.ssrEffect.selection.size === 0 || this.ssrEffect.selection.has(c)
- ? originalMaterial.roughness || 0
- : 10e10
- c.material = mrtMaterial
- }
- }
- }
-
- unsetMRTMaterialInScene() {
- for (const c of this.visibleMeshes) {
- var _c$material
-
- if (((_c$material = c.material) == null ? void 0 : _c$material.type) === 'MRTMaterial') {
- c.visible = true // set material back to the original one
-
- const [originalMaterial] = this.cachedMaterials.get(c)
- c.material = originalMaterial
- }
- }
- }
-
- render(renderer, inputBuffer) {
- this.setMRTMaterialInScene()
- renderer.setRenderTarget(this.gBuffersRenderTarget)
- this.renderPass.render(renderer, this.gBuffersRenderTarget)
- this.unsetMRTMaterialInScene() // render depth and velocity in seperate passes
-
- if (!this.USE_MRT) this.webgl1DepthPass.renderPass.render(renderer, this.webgl1DepthPass.renderTarget)
- this.fullscreenMaterial.uniforms.inputTexture.value = inputBuffer.texture
- this.fullscreenMaterial.uniforms.samples.value = this.ssrEffect.temporalResolvePass.samples
- this.fullscreenMaterial.uniforms.cameraNear.value = this._camera.near
- this.fullscreenMaterial.uniforms.cameraFar.value = this._camera.far
- this.fullscreenMaterial.uniforms.viewMatrix.value.copy(this._camera.matrixWorldInverse)
- renderer.setRenderTarget(this.renderTarget)
- renderer.render(this.scene, this.camera)
- }
-}
-
-/**
- * Options of the SSR effect
- * @typedef {Object} SSROptions
- * @property {Number} [intensity] intensity of the reflections
- * @property {Number} [exponent] exponent by which reflections will be potentiated when composing the current frame's reflections and the accumulated reflections into a final reflection; higher values will make reflections clearer by highlighting darker spots less
- * @property {Number} [distance] maximum distance a reflection ray can travel to find what it reflects
- * @property {Number} [fade] how much reflections will fade out by distance
- * @property {Number} [roughnessFade] how intense reflections should be on rough spots; a higher value will make reflections fade out quicker on rough spots
- * @property {Number} [thickness] maximum depth difference between a ray and the particular depth at its screen position before refining with binary search; higher values will result in better performance
- * @property {Number} [ior] Index of Refraction, used for calculating fresnel; reflections tend to be more intense the steeper the angle between them and the viewer is, the ior parameter sets how much the intensity varies
- * @property {Number} [maxRoughness] maximum roughness a texel can have to have reflections calculated for it
- * @property {Number} [maxDepthDifference] maximum depth difference between a ray and the particular depth at its screen position after refining with binary search; higher values will result in better performance
- * @property {Number} [blend] a value between 0 and 1 to set how much the last frame's reflections should be blended in; higher values will result in less noisy reflections when moving the camera but a more smeary look
- * @property {boolean} [correction] how much pixels should be corrected when doing temporal resolving; higher values will result in less smearing but more noise
- * @property {boolean} [correctionRadius] how many surrounding pixels will be used for neighborhood clamping; a higher value can reduce noise when moving the camera but will result in less performance
- * @property {Number} [blur] how much the blurred reflections should be mixed with the raw reflections
- * @property {Number} [blurKernel] kernel size of the Box Blur Filter; higher kernel sizes will result in blurrier reflections with more artifacts
- * @property {Number} [blurSharpness] exponent of the Box Blur filter; higher values will result in more sharpness
- * @property {Number} [jitter] how intense jittering should be
- * @property {Number} [jitterRoughness] how intense jittering should be in relation to a material's roughness
- * @property {Number} [steps] number of steps a reflection ray can maximally do to find an object it intersected (and thus reflects)
- * @property {Number} [refineSteps] once we had our ray intersect something, we need to find the exact point in space it intersected and thus it reflects; this can be done through binary search with the given number of maximum steps
- * @property {boolean} [missedRays] if there should still be reflections for rays for which a reflecting point couldn't be found; enabling this will result in stretched looking reflections which can look good or bad depending on the angle
- * @property {boolean} [useNormalMap] if roughness maps should be taken account of when calculating reflections
- * @property {boolean} [useRoughnessMap] if normal maps should be taken account of when calculating reflections
- * @property {Number} [resolutionScale] resolution of the SSR effect, a resolution of 0.5 means the effect will be rendered at half resolution
- * @property {Number} [velocityResolutionScale] resolution of the velocity buffer, a resolution of 0.5 means velocity will be rendered at half resolution
- */
-
-/**
- * The options of the SSR effect
- * @type {SSROptions}
- */
-const defaultSSROptions = {
- intensity: 1,
- exponent: 1,
- distance: 10,
- fade: 0,
- roughnessFade: 1,
- thickness: 10,
- ior: 1.45,
- maxRoughness: 1,
- maxDepthDifference: 10,
- blend: 0.9,
- correction: 1,
- correctionRadius: 1,
- blur: 0.5,
- blurKernel: 1,
- blurSharpness: 10,
- jitter: 0,
- jitterRoughness: 0,
- steps: 20,
- refineSteps: 5,
- missedRays: true,
- useNormalMap: true,
- useRoughnessMap: true,
- resolutionScale: 1,
- velocityResolutionScale: 1,
-}
-
-const temporalResolve = /* glsl */ `
- uniform sampler2D inputTexture;
- uniform sampler2D accumulatedTexture;
- uniform sampler2D velocityTexture;
- uniform sampler2D lastVelocityTexture;
- uniform float blend;
- uniform float correction;
- uniform float exponent;
- uniform float samples;
- uniform vec2 invTexSize;
- uniform mat4 curInverseProjectionMatrix;
- uniform mat4 curCameraMatrixWorld;
- uniform mat4 prevInverseProjectionMatrix;
- uniform mat4 prevCameraMatrixWorld;
- varying vec2 vUv;
-
- #define MAX_NEIGHBOR_DEPTH_DIFFERENCE 0.001
- #define FLOAT_EPSILON 0.00001
- #define FLOAT_ONE_MINUS_EPSILON 0.99999
-
- vec3 transformexponent;
- vec3 undoColorTransformExponent;
-
- vec3 transformColor(vec3 color) {
- if (exponent == 1.0) return color;
- return pow(abs(color), transformexponent);
- }
-
- vec3 undoColorTransform(vec3 color) {
- if (exponent == 1.0) return color;
- return max(pow(abs(color), undoColorTransformExponent), vec3(0.0));
- }
-
- void main() {
- if (exponent != 1.0){
- transformexponent = vec3(1.0 / exponent);
- undoColorTransformExponent = vec3(exponent);
- }
-
- vec4 inputTexel = textureLod(inputTexture, vUv, 0.0);
- vec4 accumulatedTexel;
- vec3 inputColor = transformColor(inputTexel.rgb);
- vec3 accumulatedColor;
- float alpha = inputTexel.a;
- float velocityDisocclusion;
- bool didReproject = false;
-
- #ifdef boxBlur
- vec3 boxBlurredColor = inputTexel.rgb;
- #endif
-
- vec4 velocity = textureLod(velocityTexture, vUv, 0.0);
- bool isMoving = alpha < 1.0 || dot(velocity.xy, velocity.xy) > 0.0;
- if (isMoving) {
- vec3 minNeighborColor = inputColor;
- vec3 maxNeighborColor = inputColor;
- vec3 col;
- vec2 neighborUv;
- vec2 reprojectedUv = vUv-velocity.xy;
- vec4 lastVelocity = textureLod(lastVelocityTexture, reprojectedUv, 0.0);
- float depth = velocity.b;
- float closestDepth = depth;
- float lastClosestDepth = lastVelocity.b;
- float neighborDepth;
- float lastNeighborDepth;
-
- for (int x = -correctionRadius; x <= correctionRadius; x++) {
- for (int y = -correctionRadius; y <= correctionRadius; y++) {
- if (x != 0 || y != 0) {
- neighborUv = vUv + vec2(x,y) * invTexSize;
- vec4 neigborVelocity = textureLod(velocityTexture, neighborUv, 0.0);
- neighborDepth = neigborVelocity.b;
- col = textureLod(inputTexture, neighborUv, 0.0).xyz;
- int absX = abs(x);
- int absY = abs(y);
-
- #ifdef dilation
- if (absX == 1 && absY == 1) {
- if (neighborDepth > closestDepth) {
- velocity=neigborVelocity;
- closestDepth=neighborDepth;
- }
-
- vec4 lastNeighborVelocity = textureLod(velocityTexture, vUv + vec2(x, y) * invTexSize, 0.0);
- lastNeighborDepth = lastNeighborVelocity.b;
-
- if (neighborDepth > closestDepth) {
- lastVelocity = lastNeighborVelocity;
- lastClosestDepth = lastNeighborDepth;
- }
- }
- #endif
-
- if (abs(depth-neighborDepth) < MAX_NEIGHBOR_DEPTH_DIFFERENCE) {
- #ifdef boxBlur
- if (absX <= 2 && absY <= 2) boxBlurredColor += col;
- #endif
-
- col = transformColor(col);
- minNeighborColor = min(col, minNeighborColor);
- maxNeighborColor = max(col, maxNeighborColor);
- }
- }
- }
- }
-
- float velocityLength = length(lastVelocity.xy - velocity.xy);
- velocityDisocclusion = (velocityLength - 0.000005) * 10.0;
- velocityDisocclusion *= velocityDisocclusion;
- reprojectedUv = vUv - velocity.xy;
-
- #ifdef boxBlur
- float pxRadius = correctionRadius > 5 ? 121.0 : pow(float(correctionRadius * 2 + 1), 2.0);
- boxBlurredColor /= pxRadius;
- boxBlurredColor = transformColor(boxBlurredColor);
- #endif
-
- if (
- reprojectedUv.x >=0.0 &&
- reprojectedUv.x <= 1.0 &&
- reprojectedUv.y >= 0.0 &&
- reprojectedUv.y <= 1.0
- ) {
- accumulatedTexel = textureLod(accumulatedTexture, reprojectedUv, 0.0);
- accumulatedColor = transformColor(accumulatedTexel.rgb);
- vec3 clampedColor = clamp(accumulatedColor, minNeighborColor, maxNeighborColor);
- accumulatedColor = mix(accumulatedColor, clampedColor, correction);
- didReproject = true;
- } else {
- #ifdef boxBlur
- accumulatedColor=boxBlurredColor;
- #else
- accumulatedColor=inputColor;
- #endif
- }
-
- if (velocity.r > FLOAT_ONE_MINUS_EPSILON && velocity.g > FLOAT_ONE_MINUS_EPSILON) {
- alpha = 0.0;
- velocityDisocclusion = 1.0;
- }
- } else {
- accumulatedColor = transformColor(textureLod(accumulatedTexture, vUv, 0.0).rgb);
- }
-
- vec3 outputColor = inputColor;
-
- #include
-
- gl_FragColor = vec4(undoColorTransform(outputColor), alpha);
- }
-`
-
-class TemporalResolveMaterial extends ShaderMaterial {
- constructor(customComposeShader) {
- const fragmentShader = temporalResolve.replace('#include ', customComposeShader)
- super({
- type: 'TemporalResolveMaterial',
- uniforms: {
- inputTexture: new Uniform(null),
- accumulatedTexture: new Uniform(null),
- velocityTexture: new Uniform(null),
- lastVelocityTexture: new Uniform(null),
- samples: new Uniform(1),
- blend: new Uniform(0.5),
- correction: new Uniform(1),
- exponent: new Uniform(1),
- invTexSize: new Uniform(new Vector2()),
- },
- defines: {
- correctionRadius: 1,
- },
- vertexShader,
- fragmentShader,
- })
- }
-}
-
-// this shader is from: https://github.com/gkjohnson/threejs-sandbox
-// a second set of bone information from the previou frame
-
-const prev_skinning_pars_vertex =
- /* glsl */
- `
- #ifdef USE_SKINNING
- #ifdef BONE_TEXTURE
- uniform sampler2D prevBoneTexture;
- mat4 getPrevBoneMatrix( const in float i ) {
- float j = i * 4.0;
- float x = mod( j, float( boneTextureSize ) );
- float y = floor( j / float( boneTextureSize ) );
- float dx = 1.0 / float( boneTextureSize );
- float dy = 1.0 / float( boneTextureSize );
- y = dy * ( y + 0.5 );
- vec4 v1 = texture2D( prevBoneTexture, vec2( dx * ( x + 0.5 ), y ) );
- vec4 v2 = texture2D( prevBoneTexture, vec2( dx * ( x + 1.5 ), y ) );
- vec4 v3 = texture2D( prevBoneTexture, vec2( dx * ( x + 2.5 ), y ) );
- vec4 v4 = texture2D( prevBoneTexture, vec2( dx * ( x + 3.5 ), y ) );
- mat4 bone = mat4( v1, v2, v3, v4 );
- return bone;
- }
- #else
- uniform mat4 prevBoneMatrices[ MAX_BONES ];
- mat4 getPrevBoneMatrix( const in float i ) {
- mat4 bone = prevBoneMatrices[ int(i) ];
- return bone;
- }
- #endif
- #endif
-` // Returns the body of the vertex shader for the velocity buffer and
-// outputs the position of the current and last frame positions
-
-const velocity_vertex =
- /* glsl */
- `
- vec3 transformed;
-
- // Get the normal
- ${ShaderChunk.skinbase_vertex}
- ${ShaderChunk.beginnormal_vertex}
- ${ShaderChunk.skinnormal_vertex}
- ${ShaderChunk.defaultnormal_vertex}
-
- // Get the current vertex position
- transformed = vec3( position );
- ${ShaderChunk.skinning_vertex}
- newPosition = velocityMatrix * vec4( transformed, 1.0 );
-
- // Get the previous vertex position
- transformed = vec3( position );
- ${ShaderChunk.skinbase_vertex.replace(/mat4 /g, '').replace(/getBoneMatrix/g, 'getPrevBoneMatrix')}
- ${ShaderChunk.skinning_vertex.replace(/vec4 /g, '')}
- prevPosition = prevVelocityMatrix * vec4( transformed, 1.0 );
-
- gl_Position = newPosition;
-`
-class VelocityMaterial extends ShaderMaterial {
- constructor() {
- super({
- uniforms: {
- prevVelocityMatrix: {
- value: new Matrix4(),
- },
- velocityMatrix: {
- value: new Matrix4(),
- },
- prevBoneTexture: {
- value: null,
- },
- interpolateGeometry: {
- value: 0,
- },
- intensity: {
- value: 1,
- },
- boneTexture: {
- value: null,
- },
- alphaTest: {
- value: 0.0,
- },
- map: {
- value: null,
- },
- alphaMap: {
- value: null,
- },
- opacity: {
- value: 1.0,
- },
- },
- vertexShader:
- /* glsl */
- `
- #define MAX_BONES 1024
-
- ${ShaderChunk.skinning_pars_vertex}
- ${prev_skinning_pars_vertex}
-
- uniform mat4 velocityMatrix;
- uniform mat4 prevVelocityMatrix;
- uniform float interpolateGeometry;
- varying vec4 prevPosition;
- varying vec4 newPosition;
- varying vec2 vHighPrecisionZW;
-
- void main() {
-
- ${velocity_vertex}
-
- vHighPrecisionZW = gl_Position.zw;
-
- }`,
- fragmentShader:
- /* glsl */
- `
- uniform float intensity;
- varying vec4 prevPosition;
- varying vec4 newPosition;
- varying vec2 vHighPrecisionZW;
-
- void main() {
- #ifdef FULL_MOVEMENT
- gl_FragColor = vec4( 1., 1., 1. - gl_FragCoord.z, 0. );
- return;
- #endif
-
- vec2 pos0 = (prevPosition.xy / prevPosition.w) * 0.5 + 0.5;
- vec2 pos1 = (newPosition.xy / newPosition.w) * 0.5 + 0.5;
-
- vec2 vel = pos1 - pos0;
-
- float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;
-
- gl_FragColor = vec4( vel, 1. - fragCoordZ, 0. );
-
- }`,
- })
- this.isVelocityMaterial = true
- }
-}
-
-const backgroundColor = new Color(0)
-const updateProperties = ['visible', 'wireframe', 'side']
-class VelocityPass extends Pass {
- constructor(scene, camera) {
- var _window, _window2
-
- super('VelocityPass')
- this.cachedMaterials = new WeakMap()
- this.lastCameraTransform = {
- position: new Vector3(),
- quaternion: new Quaternion(),
- }
- this.visibleMeshes = []
- this.renderedMeshesThisFrame = 0
- this.renderedMeshesLastFrame = 0
- this._scene = scene
- this._camera = camera
- this.renderTarget = new WebGLRenderTarget(
- ((_window = window) == null ? void 0 : _window.innerWidth) || 1000,
- ((_window2 = window) == null ? void 0 : _window2.innerHeight) || 1000,
- {
- type: HalfFloatType,
- }
- )
- }
-
- setVelocityMaterialInScene() {
- this.renderedMeshesThisFrame = 0
- this.visibleMeshes = getVisibleChildren(this._scene)
-
- for (const c of this.visibleMeshes) {
- var _c$skeleton2
-
- const originalMaterial = c.material
- let [cachedOriginalMaterial, velocityMaterial] = this.cachedMaterials.get(c) || []
-
- if (originalMaterial !== cachedOriginalMaterial) {
- var _c$skeleton
-
- velocityMaterial = new VelocityMaterial()
- velocityMaterial.lastMatrixWorld = new Matrix4()
- c.material = velocityMaterial
- if ((_c$skeleton = c.skeleton) != null && _c$skeleton.boneTexture) this.saveBoneTexture(c)
- this.cachedMaterials.set(c, [originalMaterial, velocityMaterial])
- }
-
- velocityMaterial.uniforms.velocityMatrix.value.multiplyMatrices(this._camera.projectionMatrix, c.modelViewMatrix)
-
- if (c.userData.needsUpdatedReflections || originalMaterial.map instanceof VideoTexture) {
- if (!('FULL_MOVEMENT' in velocityMaterial.defines)) velocityMaterial.needsUpdate = true
- velocityMaterial.defines.FULL_MOVEMENT = ''
- } else {
- if ('FULL_MOVEMENT' in velocityMaterial.defines) {
- delete velocityMaterial.defines.FULL_MOVEMENT
- velocityMaterial.needsUpdate = true
- }
- }
-
- c.visible =
- this.cameraMovedThisFrame ||
- !c.matrixWorld.equals(velocityMaterial.lastMatrixWorld) ||
- c.skeleton ||
- 'FULL_MOVEMENT' in velocityMaterial.defines
- c.material = velocityMaterial
- if (!c.visible) continue
- this.renderedMeshesThisFrame++
-
- for (const prop of updateProperties) velocityMaterial[prop] = originalMaterial[prop]
-
- if ((_c$skeleton2 = c.skeleton) != null && _c$skeleton2.boneTexture) {
- velocityMaterial.defines.USE_SKINNING = ''
- velocityMaterial.defines.BONE_TEXTURE = ''
- velocityMaterial.uniforms.boneTexture.value = c.skeleton.boneTexture
- }
- }
- }
-
- saveBoneTexture(object) {
- let boneTexture = object.material.uniforms.prevBoneTexture.value
-
- if (boneTexture && boneTexture.image.width === object.skeleton.boneTexture.width) {
- boneTexture = object.material.uniforms.prevBoneTexture.value
- boneTexture.image.data.set(object.skeleton.boneTexture.image.data)
- } else {
- var _boneTexture
- ;(_boneTexture = boneTexture) == null ? void 0 : _boneTexture.dispose()
- const boneMatrices = object.skeleton.boneTexture.image.data.slice()
- const size = object.skeleton.boneTexture.image.width
- boneTexture = new DataTexture(boneMatrices, size, size, RGBAFormat, FloatType)
- object.material.uniforms.prevBoneTexture.value = boneTexture
- boneTexture.needsUpdate = true
- }
- }
-
- unsetVelocityMaterialInScene() {
- for (const c of this.visibleMeshes) {
- if (c.material.isVelocityMaterial) {
- var _c$skeleton3
-
- c.visible = true
- c.material.lastMatrixWorld.copy(c.matrixWorld)
- c.material.uniforms.prevVelocityMatrix.value.multiplyMatrices(this._camera.projectionMatrix, c.modelViewMatrix)
- if ((_c$skeleton3 = c.skeleton) != null && _c$skeleton3.boneTexture) this.saveBoneTexture(c)
- c.material = this.cachedMaterials.get(c)[0]
- }
- }
- }
-
- setSize(width, height) {
- this.renderTarget.setSize(width, height)
- }
-
- renderVelocity(renderer) {
- renderer.setRenderTarget(this.renderTarget)
-
- if (this.renderedMeshesThisFrame > 0) {
- const { background } = this._scene
- this._scene.background = backgroundColor
- renderer.render(this._scene, this._camera)
- this._scene.background = background
- } else {
- renderer.clearColor()
- }
- }
-
- checkCameraMoved() {
- const moveDist = this.lastCameraTransform.position.distanceToSquared(this._camera.position)
- const rotateDist = 8 * (1 - this.lastCameraTransform.quaternion.dot(this._camera.quaternion))
-
- if (moveDist > 0.000001 || rotateDist > 0.000001) {
- this.lastCameraTransform.position.copy(this._camera.position)
- this.lastCameraTransform.quaternion.copy(this._camera.quaternion)
- return true
- }
-
- return false
- }
-
- render(renderer) {
- this.cameraMovedThisFrame = this.checkCameraMoved()
- this.setVelocityMaterialInScene()
- if (this.renderedMeshesThisFrame > 0 || this.renderedMeshesLastFrame > 0) this.renderVelocity(renderer)
- this.unsetVelocityMaterialInScene()
- this.renderedMeshesLastFrame = this.renderedMeshesThisFrame
- }
-}
-
-const zeroVec2 = new Vector2() // the following variables can be accessed by the custom compose shader:
-// "inputTexel", "accumulatedTexel", "inputColor", "accumulatedColor", "alpha", "velocityDisocclusion", "didReproject", "boxBlurredColor" (if using box blur)
-// the custom compose shader will write the final color to the variable "outputColor"
-
-class TemporalResolvePass extends Pass {
- constructor(scene, camera, customComposeShader, options = {}) {
- super('TemporalResolvePass')
- this.velocityPass = null
- this.velocityResolutionScale = 1
- this.samples = 1
- this.lastCameraTransform = {
- position: new Vector3(),
- quaternion: new Quaternion(),
- }
- this._scene = scene
- this._camera = camera
- this.renderTarget = new WebGLRenderTarget(1, 1, {
- minFilter: LinearFilter,
- magFilter: LinearFilter,
- type: HalfFloatType,
- depthBuffer: false,
- })
- this.velocityPass = new VelocityPass(scene, camera)
- this.fullscreenMaterial = new TemporalResolveMaterial(customComposeShader)
- this.fullscreenMaterial.defines.correctionRadius = options.correctionRadius || 1
- if (options.dilation) this.fullscreenMaterial.defines.dilation = ''
- if (options.boxBlur) this.fullscreenMaterial.defines.boxBlur = ''
- this.setupFramebuffers(1, 1)
- this.checkCanUseSharedVelocityTexture()
- }
-
- dispose() {
- if (this._scene.userData.velocityTexture === this.velocityPass.renderTarget.texture) {
- delete this._scene.userData.velocityTexture
- delete this._scene.userData.lastVelocityTexture
- }
-
- this.renderTarget.dispose()
- this.accumulatedTexture.dispose()
- this.fullscreenMaterial.dispose()
- this.velocityPass.dispose()
- }
-
- setSize(width, height) {
- this.renderTarget.setSize(width, height)
- this.velocityPass.setSize(width * this.velocityResolutionScale, height * this.velocityResolutionScale)
- this.velocityPass.renderTarget.texture.minFilter = this.velocityResolutionScale === 1 ? NearestFilter : LinearFilter
- this.velocityPass.renderTarget.texture.magFilter = this.velocityResolutionScale === 1 ? NearestFilter : LinearFilter
- this.velocityPass.renderTarget.texture.needsUpdate = true
- this.fullscreenMaterial.uniforms.invTexSize.value.set(1 / width, 1 / height)
- this.setupFramebuffers(width, height)
- }
-
- setupFramebuffers(width, height) {
- if (this.accumulatedTexture) this.accumulatedTexture.dispose()
- if (this.lastVelocityTexture) this.lastVelocityTexture.dispose()
- this.accumulatedTexture = new FramebufferTexture(width, height, RGBAFormat)
- this.accumulatedTexture.minFilter = LinearFilter
- this.accumulatedTexture.magFilter = LinearFilter
- this.accumulatedTexture.type = HalfFloatType
- this.lastVelocityTexture = new FramebufferTexture(
- width * this.velocityResolutionScale,
- height * this.velocityResolutionScale,
- RGBAFormat
- )
- this.lastVelocityTexture.minFilter = this.velocityResolutionScale === 1 ? NearestFilter : LinearFilter
- this.lastVelocityTexture.magFilter = this.velocityResolutionScale === 1 ? NearestFilter : LinearFilter
- this.lastVelocityTexture.type = HalfFloatType
- this.fullscreenMaterial.uniforms.accumulatedTexture.value = this.accumulatedTexture
- this.fullscreenMaterial.uniforms.lastVelocityTexture.value = this.lastVelocityTexture
- this.fullscreenMaterial.needsUpdate = true
- }
-
- checkCanUseSharedVelocityTexture() {
- const canUseSharedVelocityTexture =
- this._scene.userData.velocityTexture &&
- this.velocityPass.renderTarget.texture !== this._scene.userData.velocityTexture
-
- if (canUseSharedVelocityTexture) {
- // let's use the shared one instead
- if (this.velocityPass.renderTarget.texture === this.fullscreenMaterial.uniforms.velocityTexture.value) {
- this.fullscreenMaterial.uniforms.lastVelocityTexture.value = this._scene.userData.lastVelocityTexture
- this.fullscreenMaterial.uniforms.velocityTexture.value = this._scene.userData.velocityTexture
- this.fullscreenMaterial.needsUpdate = true
- }
- } else {
- // let's stop using the shared one (if used) and mark ours as the shared one instead
- if (this.velocityPass.renderTarget.texture !== this.fullscreenMaterial.uniforms.velocityTexture.value) {
- this.fullscreenMaterial.uniforms.velocityTexture.value = this.velocityPass.renderTarget.texture
- this.fullscreenMaterial.uniforms.lastVelocityTexture.value = this.lastVelocityTexture
- this.fullscreenMaterial.needsUpdate = true
-
- if (!this._scene.userData.velocityTexture) {
- this._scene.userData.velocityTexture = this.velocityPass.renderTarget.texture
- this._scene.userData.lastVelocityTexture = this.lastVelocityTexture
- }
- }
- }
-
- return this.velocityPass.renderTarget.texture !== this.fullscreenMaterial.uniforms.velocityTexture.value
- }
-
- checkNeedsResample() {
- const moveDist = this.lastCameraTransform.position.distanceToSquared(this._camera.position)
- const rotateDist = 8 * (1 - this.lastCameraTransform.quaternion.dot(this._camera.quaternion))
-
- if (moveDist > 0.000001 || rotateDist > 0.000001) {
- this.samples = 1
- this.lastCameraTransform.position.copy(this._camera.position)
- this.lastCameraTransform.quaternion.copy(this._camera.quaternion)
- }
- }
-
- render(renderer) {
- this.samples++
- this.checkNeedsResample()
- this.fullscreenMaterial.uniforms.samples.value = this.samples // const isUsingSharedVelocityTexture = this.checkCanUseSharedVelocityTexture()
- // if (!isUsingSharedVelocityTexture) this.velocityPass.render(renderer)
-
- renderer.setRenderTarget(this.renderTarget)
- renderer.render(this.scene, this.camera) // save the render target's texture for use in next frame
-
- if (Number(REVISION) >= 165) {
- renderer.copyFramebufferToTexture(this.accumulatedTexture, zeroVec2)
- renderer.setRenderTarget(this.velocityPass.renderTarget)
- renderer.copyFramebufferToTexture(this.lastVelocityTexture, zeroVec2)
- } else {
- renderer.copyFramebufferToTexture(zeroVec2, this.accumulatedTexture)
- renderer.setRenderTarget(this.velocityPass.renderTarget)
- renderer.copyFramebufferToTexture(zeroVec2, this.accumulatedTexture)
- }
- }
-}
-
-// source: https://observablehq.com/@jrus/halton
-const halton = function halton(index, base) {
- let fraction = 1
- let result = 0
-
- while (index > 0) {
- fraction /= base
- result += fraction * (index % base)
- index = ~~(index / base) // floor division
- }
-
- return result
-} // generates Halton tuples in the range [-0.5:0.5]
-
-const generateHalton23Points = (count) => {
- const data = []
- let i = 1
- const end = i + count
-
- for (; i < end; i++) {
- data.push([halton(i, 2) - 0.5, halton(i, 3) - 0.5])
- }
-
- return data
-}
-
-/* eslint-disable camelcase */
-
-function escapeRegExp(string) {
- return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') // $& means the whole matched string
-} // credits for the box-projecting shader code go to codercat (https://codercat.tk)
-
-const worldposReplace =
- /* glsl */
- `
-#if defined( USE_ENVMAP ) || defined( ) || defined ( USE_SHADOWMAP )
- vec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );
-
- #ifdef BOX_PROJECTED_ENV_MAP
- vWorldPosition = worldPosition.xyz;
- #endif
-#endif
-`
-const boxProjectDefinitions =
- /* glsl */
- `
-#ifdef BOX_PROJECTED_ENV_MAP
- uniform vec3 envMapSize;
- uniform vec3 envMapPosition;
- varying vec3 vWorldPosition;
-
- vec3 parallaxCorrectNormal( vec3 v, vec3 cubeSize, vec3 cubePos ) {
- vec3 nDir = normalize( v );
-
- vec3 rbmax = ( .5 * cubeSize + cubePos - vWorldPosition ) / nDir;
- vec3 rbmin = ( -.5 * cubeSize + cubePos - vWorldPosition ) / nDir;
-
- vec3 rbminmax;
-
- rbminmax.x = ( nDir.x > 0. ) ? rbmax.x : rbmin.x;
- rbminmax.y = ( nDir.y > 0. ) ? rbmax.y : rbmin.y;
- rbminmax.z = ( nDir.z > 0. ) ? rbmax.z : rbmin.z;
-
- float correction = min( min( rbminmax.x, rbminmax.y ), rbminmax.z );
- vec3 boxIntersection = vWorldPosition + nDir * correction;
-
- return boxIntersection - cubePos;
- }
-#endif
-` // will be inserted after "vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );"
-
-const getIBLIrradiance_patch =
- /* glsl */
- `
-#ifdef BOX_PROJECTED_ENV_MAP
- worldNormal = parallaxCorrectNormal( worldNormal, envMapSize, envMapPosition );
-#endif
-` // will be inserted after "reflectVec = inverseTransformDirection( reflectVec, viewMatrix );"
-
-const getIBLRadiance_patch =
- /* glsl */
- `
-#ifdef BOX_PROJECTED_ENV_MAP
- reflectVec = parallaxCorrectNormal( reflectVec, envMapSize, envMapPosition );
-#endif
-`
-function useBoxProjectedEnvMap(shader, envMapPosition, envMapSize) {
- // defines
- shader.defines.BOX_PROJECTED_ENV_MAP = '' // uniforms
-
- shader.uniforms.envMapPosition = {
- value: envMapPosition,
- }
- shader.uniforms.envMapSize = {
- value: envMapSize,
- }
- const line1 = new RegExp(
- escapeRegExp('vec3 worldNormal = inverseTransformDirection ( normal , viewMatrix ) ;').replaceAll(' ', '\\s*'),
- 'g'
- )
- const line2 = new RegExp(
- escapeRegExp('reflectVec = inverseTransformDirection ( reflectVec , viewMatrix ) ;').replaceAll(' ', '\\s*'),
- 'g'
- ) // vertex shader
-
- shader.vertexShader =
- 'varying vec3 vWorldPosition;\n' + shader.vertexShader.replace('#include ', worldposReplace) // fragment shader
-
- shader.fragmentShader =
- boxProjectDefinitions +
- '\n' +
- shader.fragmentShader
- .replace('#include ', ShaderChunk.envmap_physical_pars_fragment)
- .replace(
- line1,
- `vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
- ${getIBLIrradiance_patch}`
- )
- .replace(
- line2,
- `reflectVec = inverseTransformDirection( reflectVec, viewMatrix );
- ${getIBLRadiance_patch}`
- )
-}
-
-const noResetSamplesProperties = ['blur', 'blurSharpness', 'blurKernel']
-const defaultCubeRenderTarget = new WebGLCubeRenderTarget(1)
-let pmremGenerator
-class SSREffect extends Effect {
- /**
- * @param {THREE.Scene} scene The scene of the SSR effect
- * @param {THREE.Camera} camera The camera with which SSR is being rendered
- * @param {SSROptions} [options] The optional options for the SSR effect
- */
- constructor(scene, camera, options = defaultSSROptions) {
- super('SSREffect', finalSSRShader, {
- type: 'FinalSSRMaterial',
- uniforms: new Map([
- ['reflectionsTexture', new Uniform(null)],
- ['blur', new Uniform(0)],
- ['blurSharpness', new Uniform(0)],
- ['blurKernel', new Uniform(0)],
- ]),
- defines: new Map([['RENDER_MODE', '0']]),
- })
- this.haltonSequence = generateHalton23Points(1024)
- this.haltonIndex = 0
- this.selection = new Selection()
- this.lastSize = void 0
- this.cubeCamera = new CubeCamera(0.001, 1000, defaultCubeRenderTarget)
- this.usingBoxProjectedEnvMap = false
- this._scene = scene
- this._camera = camera
- const trOptions = {
- boxBlur: true,
- dilation: true,
- }
- options = { ...defaultSSROptions, ...options, ...trOptions } // set up passes
- // temporal resolve pass
-
- this.temporalResolvePass = new TemporalResolvePass(scene, camera, trCompose, options)
- this.uniforms.get('reflectionsTexture').value = this.temporalResolvePass.renderTarget.texture // reflections pass
-
- this.reflectionsPass = new ReflectionsPass(this, options)
- this.temporalResolvePass.fullscreenMaterial.uniforms.inputTexture.value = this.reflectionsPass.renderTarget.texture
- this.lastSize = {
- width: options.width,
- height: options.height,
- resolutionScale: options.resolutionScale,
- velocityResolutionScale: options.velocityResolutionScale,
- }
- this.setSize(options.width, options.height)
- this.makeOptionsReactive(options)
- }
-
- makeOptionsReactive(options) {
- let needsUpdate = false
- const reflectionPassFullscreenMaterialUniforms = this.reflectionsPass.fullscreenMaterial.uniforms
- const reflectionPassFullscreenMaterialUniformsKeys = Object.keys(reflectionPassFullscreenMaterialUniforms)
-
- for (const key of Object.keys(options)) {
- Object.defineProperty(this, key, {
- get() {
- return options[key]
- },
-
- set(value) {
- if (options[key] === value && needsUpdate) return
- options[key] = value
-
- if (!noResetSamplesProperties.includes(key)) {
- this.setSize(this.lastSize.width, this.lastSize.height, true)
- }
-
- switch (key) {
- case 'resolutionScale':
- this.setSize(this.lastSize.width, this.lastSize.height)
- break
-
- case 'velocityResolutionScale':
- this.temporalResolvePass.velocityResolutionScale = value
- this.setSize(this.lastSize.width, this.lastSize.height, true)
- break
-
- case 'blur':
- this.uniforms.get('blur').value = value
- break
-
- case 'blurSharpness':
- this.uniforms.get('blurSharpness').value = value
- break
-
- case 'blurKernel':
- this.uniforms.get('blurKernel').value = value
- break
- // defines
-
- case 'steps':
- this.reflectionsPass.fullscreenMaterial.defines.steps = parseInt(value)
- this.reflectionsPass.fullscreenMaterial.needsUpdate = needsUpdate
- break
-
- case 'refineSteps':
- this.reflectionsPass.fullscreenMaterial.defines.refineSteps = parseInt(value)
- this.reflectionsPass.fullscreenMaterial.needsUpdate = needsUpdate
- break
-
- case 'missedRays':
- if (value) {
- this.reflectionsPass.fullscreenMaterial.defines.missedRays = ''
- } else {
- delete this.reflectionsPass.fullscreenMaterial.defines.missedRays
- }
-
- this.reflectionsPass.fullscreenMaterial.needsUpdate = needsUpdate
- break
-
- case 'correctionRadius':
- this.temporalResolvePass.fullscreenMaterial.defines.correctionRadius = Math.round(value)
- this.temporalResolvePass.fullscreenMaterial.needsUpdate = needsUpdate
- break
-
- case 'blend':
- this.temporalResolvePass.fullscreenMaterial.uniforms.blend.value = value
- break
-
- case 'correction':
- this.temporalResolvePass.fullscreenMaterial.uniforms.correction.value = value
- break
-
- case 'exponent':
- this.temporalResolvePass.fullscreenMaterial.uniforms.exponent.value = value
- break
-
- case 'distance':
- reflectionPassFullscreenMaterialUniforms.rayDistance.value = value
- // must be a uniform
-
- default:
- if (reflectionPassFullscreenMaterialUniformsKeys.includes(key)) {
- reflectionPassFullscreenMaterialUniforms[key].value = value
- }
- }
- },
- }) // apply all uniforms and defines
-
- this[key] = options[key]
- }
-
- needsUpdate = true
- }
-
- setSize(width, height, force = false) {
- if (
- !force &&
- width === this.lastSize.width &&
- height === this.lastSize.height &&
- this.resolutionScale === this.lastSize.resolutionScale &&
- this.velocityResolutionScale === this.lastSize.velocityResolutionScale
- )
- return
- this.temporalResolvePass.setSize(width, height)
- this.reflectionsPass.setSize(width, height)
- this.lastSize = {
- width,
- height,
- resolutionScale: this.resolutionScale,
- velocityResolutionScale: this.velocityResolutionScale,
- }
- }
-
- generateBoxProjectedEnvMapFallback(renderer, position = new Vector3(), size = new Vector3(), envMapSize = 512) {
- this.cubeCamera.renderTarget.dispose()
- this.cubeCamera.renderTarget = new WebGLCubeRenderTarget(envMapSize)
- this.cubeCamera.position.copy(position)
- this.cubeCamera.updateMatrixWorld()
- this.cubeCamera.update(renderer, this._scene)
-
- if (!pmremGenerator) {
- pmremGenerator = new PMREMGenerator(renderer)
- pmremGenerator.compileCubemapShader()
- }
-
- const envMap = pmremGenerator.fromCubemap(this.cubeCamera.renderTarget.texture).texture
- envMap.minFilter = LinearFilter
- envMap.magFilter = LinearFilter
- const reflectionsMaterial = this.reflectionsPass.fullscreenMaterial
- // eslint-disable-next-line react-hooks/rules-of-hooks
- useBoxProjectedEnvMap(reflectionsMaterial, position, size)
- reflectionsMaterial.fragmentShader = reflectionsMaterial.fragmentShader
- .replace('vec3 worldPos', 'worldPos')
- .replace('varying vec3 vWorldPosition;', 'vec3 worldPos;')
- reflectionsMaterial.uniforms.envMapPosition.value.copy(position)
- reflectionsMaterial.uniforms.envMapSize.value.copy(size)
- setupEnvMap(reflectionsMaterial, envMap, envMapSize)
- this.usingBoxProjectedEnvMap = true
- return envMap
- }
-
- setIBLRadiance(iblRadiance, renderer) {
- this._scene.traverse((c) => {
- if (c.material) {
- var _renderer$properties$
-
- const uniforms =
- (_renderer$properties$ = renderer.properties.get(c.material)) == null
- ? void 0
- : _renderer$properties$.uniforms
-
- if (uniforms && 'disableIBLRadiance' in uniforms) {
- uniforms.disableIBLRadiance.value = iblRadiance
- }
- }
- })
- }
-
- deleteBoxProjectedEnvMapFallback() {
- const reflectionsMaterial = this.reflectionsPass.fullscreenMaterial
- reflectionsMaterial.uniforms.envMap.value = null
- reflectionsMaterial.fragmentShader = reflectionsMaterial.fragmentShader.replace('worldPos = ', 'vec3 worldPos = ')
- delete reflectionsMaterial.defines.BOX_PROJECTED_ENV_MAP
- reflectionsMaterial.needsUpdate = true
- this.usingBoxProjectedEnvMap = false
- }
-
- dispose() {
- super.dispose()
- this.reflectionsPass.dispose()
- this.temporalResolvePass.dispose()
- }
-
- update(renderer, inputBuffer) {
- if (!this.usingBoxProjectedEnvMap && this._scene.environment) {
- const reflectionsMaterial = this.reflectionsPass.fullscreenMaterial
- let envMap = null // not sure if there is a cleaner way to find the internal texture of a CubeTexture (when used as scene environment)
-
- this._scene.traverse((c) => {
- if (!envMap && c.material && !c.material.envMap) {
- const properties = renderer.properties.get(c.material)
- if ('envMap' in properties && properties.envMap instanceof Texture) envMap = properties.envMap
- }
- })
-
- if (envMap) {
- const envMapCubeUVHeight = this._scene.environment.image.height
- setupEnvMap(reflectionsMaterial, envMap, envMapCubeUVHeight)
- }
- }
-
- this.haltonIndex = (this.haltonIndex + 1) % this.haltonSequence.length
- const [x, y] = this.haltonSequence[this.haltonIndex]
- const { width, height } = this.lastSize
- this.temporalResolvePass.velocityPass.render(renderer) // jittering the view offset each frame reduces aliasing for the reflection
-
- if (this._camera.setViewOffset) this._camera.setViewOffset(width, height, x, y, width, height) // render reflections of current frame
-
- this.reflectionsPass.render(renderer, inputBuffer) // compose reflection of last and current frame into one reflection
-
- this.temporalResolvePass.render(renderer)
-
- this._camera.clearViewOffset()
- }
-
- static patchDirectEnvIntensity(envMapIntensity = 0) {
- if (envMapIntensity === 0) {
- ShaderChunk.envmap_physical_pars_fragment = ShaderChunk.envmap_physical_pars_fragment.replace(
- 'vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {',
- 'vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { return vec3(0.0);'
- )
- } else {
- ShaderChunk.envmap_physical_pars_fragment = ShaderChunk.envmap_physical_pars_fragment.replace(
- 'vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );',
- 'vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness ) * ' + envMapIntensity.toFixed(5) + ';'
- )
- }
- }
-}
-
-export { SSREffect, defaultSSROptions }
diff --git a/src/effects/ScanlineEffect.tsx b/src/effects/ScanlineEffect.tsx
index faaf2edb..e533b39d 100644
--- a/src/effects/ScanlineEffect.tsx
+++ b/src/effects/ScanlineEffect.tsx
@@ -1,4 +1,7 @@
import { ScanlineEffect, BlendFunction } from 'postprocessing'
import { wrapEffect } from '../util'
-export const Scanline = wrapEffect(ScanlineEffect, { blendFunction: BlendFunction.OVERLAY, density: 1.25 })
+export const Scanline = /* @__PURE__ */ wrapEffect(ScanlineEffect, {
+ blendFunction: BlendFunction.OVERLAY,
+ density: 1.25,
+})
diff --git a/src/effects/SelectiveBloom.tsx b/src/effects/SelectiveBloom.tsx
index 03ea8e33..ff8bab1d 100644
--- a/src/effects/SelectiveBloom.tsx
+++ b/src/effects/SelectiveBloom.tsx
@@ -1,13 +1,13 @@
import { SelectiveBloomEffect, BlendFunction } from 'postprocessing'
import type { BloomEffectOptions } from 'postprocessing'
-import React, { Ref, MutableRefObject, forwardRef, useMemo, useEffect, useContext, useRef } from 'react'
+import React, { Ref, RefObject, forwardRef, useMemo, useEffect, useContext, useRef } from 'react'
import { Object3D } from 'three'
import { useThree } from '@react-three/fiber'
import { EffectComposerContext } from '../EffectComposer'
import { selectionContext } from '../Selection'
import { resolveRef } from '../util'
-type ObjectRef = MutableRefObject
+type ObjectRef = RefObject
export type SelectiveBloomProps = BloomEffectOptions &
Partial<{
@@ -21,7 +21,7 @@ export type SelectiveBloomProps = BloomEffectOptions &
const addLight = (light: Object3D, effect: SelectiveBloomEffect) => light.layers.enable(effect.selection.layer)
const removeLight = (light: Object3D, effect: SelectiveBloomEffect) => light.layers.disable(effect.selection.layer)
-export const SelectiveBloom = forwardRef(function SelectiveBloom(
+export const SelectiveBloom = /* @__PURE__ */ forwardRef(function SelectiveBloom(
{
selection = [],
selectionLayer = 10,
diff --git a/src/effects/Sepia.tsx b/src/effects/Sepia.tsx
index b8910890..f1e4a67c 100644
--- a/src/effects/Sepia.tsx
+++ b/src/effects/Sepia.tsx
@@ -1,4 +1,4 @@
import { SepiaEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const Sepia = wrapEffect(SepiaEffect)
+export const Sepia = /* @__PURE__ */ wrapEffect(SepiaEffect)
diff --git a/src/effects/ShockWave.tsx b/src/effects/ShockWave.tsx
index d683f8c2..abb3b55b 100644
--- a/src/effects/ShockWave.tsx
+++ b/src/effects/ShockWave.tsx
@@ -1,4 +1,4 @@
import { ShockWaveEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const ShockWave = wrapEffect(ShockWaveEffect)
+export const ShockWave = /* @__PURE__ */ wrapEffect(ShockWaveEffect)
diff --git a/src/effects/Texture.tsx b/src/effects/Texture.tsx
index d51d04d5..f6bf4794 100644
--- a/src/effects/Texture.tsx
+++ b/src/effects/Texture.tsx
@@ -1,7 +1,7 @@
import { TextureEffect } from 'postprocessing'
import { Ref, forwardRef, useMemo, useLayoutEffect } from 'react'
import { useLoader } from '@react-three/fiber'
-import { TextureLoader, RepeatWrapping } from 'three'
+import { TextureLoader, SRGBColorSpace, RepeatWrapping } from 'three'
type TextureProps = ConstructorParameters[0] & {
textureSrc: string
@@ -9,16 +9,13 @@ type TextureProps = ConstructorParameters[0] & {
opacity?: number
}
-export const Texture = forwardRef(function Texture(
+export const Texture = /* @__PURE__ */ forwardRef(function Texture(
{ textureSrc, texture, opacity = 1, ...props }: TextureProps,
ref: Ref
) {
const t = useLoader(TextureLoader, textureSrc)
useLayoutEffect(() => {
- // @ts-ignore
- if ('encoding' in t) t.encoding = 3001 // sRGBEncoding
- // @ts-ignore
- else t.colorSpace = 'srgb'
+ t.colorSpace = SRGBColorSpace
t.wrapS = t.wrapT = RepeatWrapping
}, [t])
const effect = useMemo(() => new TextureEffect({ ...props, texture: t || texture }), [props, t, texture])
diff --git a/src/effects/TiltShift.tsx b/src/effects/TiltShift.tsx
index 2b0ba58f..5190c59f 100644
--- a/src/effects/TiltShift.tsx
+++ b/src/effects/TiltShift.tsx
@@ -1,4 +1,4 @@
import { TiltShiftEffect, BlendFunction } from 'postprocessing'
import { wrapEffect } from '../util'
-export const TiltShift = wrapEffect(TiltShiftEffect, { blendFunction: BlendFunction.ADD })
+export const TiltShift = /* @__PURE__ */ wrapEffect(TiltShiftEffect, { blendFunction: BlendFunction.ADD })
diff --git a/src/effects/TiltShift2.tsx b/src/effects/TiltShift2.tsx
index 02a595b8..b1cd9425 100644
--- a/src/effects/TiltShift2.tsx
+++ b/src/effects/TiltShift2.tsx
@@ -87,4 +87,4 @@ export class TiltShiftEffect extends Effect {
}
}
-export const TiltShift2 = wrapEffect(TiltShiftEffect, { blendFunction: BlendFunction.NORMAL })
+export const TiltShift2 = /* @__PURE__ */ wrapEffect(TiltShiftEffect, { blendFunction: BlendFunction.NORMAL })
diff --git a/src/effects/ToneMapping.tsx b/src/effects/ToneMapping.tsx
index e49fd327..11c9f6a7 100644
--- a/src/effects/ToneMapping.tsx
+++ b/src/effects/ToneMapping.tsx
@@ -3,4 +3,4 @@ import { type EffectProps, wrapEffect } from '../util'
export type ToneMappingProps = EffectProps
-export const ToneMapping = wrapEffect(ToneMappingEffect)
+export const ToneMapping = /* @__PURE__ */ wrapEffect(ToneMappingEffect)
diff --git a/src/effects/Vignette.tsx b/src/effects/Vignette.tsx
index 8cf99058..ab4afc3a 100644
--- a/src/effects/Vignette.tsx
+++ b/src/effects/Vignette.tsx
@@ -1,4 +1,4 @@
import { VignetteEffect } from 'postprocessing'
import { wrapEffect } from '../util'
-export const Vignette = wrapEffect(VignetteEffect)
+export const Vignette = /* @__PURE__ */ wrapEffect(VignetteEffect)
diff --git a/src/effects/Water.tsx b/src/effects/Water.tsx
index 3c61f92a..837312ad 100644
--- a/src/effects/Water.tsx
+++ b/src/effects/Water.tsx
@@ -30,4 +30,6 @@ export class WaterEffectImpl extends Effect {
}
}
-export const WaterEffect = wrapEffect(WaterEffectImpl, { blendFunction: BlendFunction.NORMAL })
+export const WaterEffect = /* @__PURE__ */ wrapEffect(WaterEffectImpl, {
+ blendFunction: BlendFunction.NORMAL,
+})
diff --git a/src/index.tsx b/src/index.ts
similarity index 97%
rename from src/index.tsx
rename to src/index.ts
index 56947973..56dd4fcd 100644
--- a/src/index.tsx
+++ b/src/index.ts
@@ -37,5 +37,4 @@ export * from './effects/ASCII'
export * from './effects/Water'
// These are not effect passes
-export * from './effects/SSR'
export * from './effects/N8AO'
diff --git a/src/util.tsx b/src/util.tsx
index 198cd66a..accf7d17 100644
--- a/src/util.tsx
+++ b/src/util.tsx
@@ -1,18 +1,15 @@
-import React, { MutableRefObject } from 'react'
+import React, { RefObject } from 'react'
import { Vector2 } from 'three'
import * as THREE from 'three'
-import { type ReactThreeFiber, extend, useThree } from '@react-three/fiber'
-import type { Effect, BlendFunction } from 'postprocessing'
+import { type ReactThreeFiber, type ThreeElement, extend, useThree } from '@react-three/fiber'
+import type { Effect, Pass, BlendFunction } from 'postprocessing'
-export const resolveRef = (ref: T | React.MutableRefObject) =>
+export const resolveRef = (ref: T | React.RefObject) =>
typeof ref === 'object' && ref != null && 'current' in ref ? ref.current : ref
-export type EffectConstructor = new (...args: any[]) => Effect
+export type EffectConstructor = new (...args: any[]) => Effect | Pass
-export type EffectProps = ReactThreeFiber.Node<
- T extends Function ? T['prototype'] : InstanceType,
- T
-> &
+export type EffectProps = ThreeElement &
ConstructorParameters[0] & {
blendFunction?: BlendFunction
opacity?: number
@@ -22,10 +19,7 @@ let i = 0
const components = new WeakMap | string>()
export const wrapEffect = (effect: T, defaults?: EffectProps) =>
- /* @__PURE__ */ React.forwardRef>(function Effect(
- { blendFunction = defaults?.blendFunction, opacity = defaults?.opacity, ...props },
- ref
- ) {
+ /* @__PURE__ */ function Effect({ blendFunction = defaults?.blendFunction, opacity = defaults?.opacity, ...props }) {
let Component = components.get(effect)
if (!Component) {
const key = `@react-three/postprocessing/${effect.name}-${i++}`
@@ -35,7 +29,7 @@ export const wrapEffect = (effect: T, defaults?: Ef
const camera = useThree((state) => state.camera)
const args = React.useMemo(
- () => [...((defaults?.args ?? []) as any[]), ...((props.args ?? [{ ...defaults, ...props }]) as any[])],
+ () => [...(defaults?.args ?? []), ...(props.args ?? [{ ...defaults, ...props }])],
// eslint-disable-next-line react-hooks/exhaustive-deps
[JSON.stringify(props)]
)
@@ -46,11 +40,10 @@ export const wrapEffect = (effect: T, defaults?: Ef
blendMode-blendFunction={blendFunction}
blendMode-opacity-value={opacity}
{...props}
- ref={ref}
args={args}
/>
)
- })
+ }
export const useVector2 = (props: Record, key: string): THREE.Vector2 => {
const value = props[key] as ReactThreeFiber.Vector2 | undefined
diff --git a/tsconfig.json b/tsconfig.json
index 3ff0a6db..9fc7364c 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,28 +1,18 @@
{
"compilerOptions": {
- "target": "ES2018",
"outDir": "dist",
- "declaration": true,
- "declarationDir": "dist",
- "esModuleInterop": true,
- "module": "ESNext",
- "moduleResolution": "node",
+ "target": "esnext",
+ "module": "esnext",
+ "lib": ["esnext", "dom"],
+ "moduleResolution": "bundler",
+ "strict": true,
"jsx": "react-jsx",
+ "pretty": true,
+ "noEmit": true,
"forceConsistentCasingInFileNames": true,
- "resolveJsonModule": true,
- "isolatedModules": true,
- "skipLibCheck": true,
- "strict": true,
+ "allowSyntheticDefaultImports": true,
"paths": {
- "@react-three/postprocessing": [
- "./"
- ]
+ "@react-three/postprocessing": ["./src"]
}
- },
- "include": [
- "./src/**/*"
- ],
- "exclude": [
- "./node_modules/**/*"
- ]
-}
\ No newline at end of file
+ }
+}
diff --git a/vite.config.ts b/vite.config.ts
index ed9705ee..37862bc8 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,24 +1,54 @@
+import * as vite from 'vite'
import * as path from 'node:path'
-import { defineConfig } from 'vite'
+import { BlendFunction, EffectAttribute } from 'postprocessing'
-const inline: string[] = ['n8ao']
-
-export default defineConfig({
+export default vite.defineConfig({
+ resolve: {
+ alias: {
+ '@react-three/postprocessing': path.resolve(__dirname, 'src/index.ts'),
+ },
+ },
build: {
- minify: false,
- target: 'es2018',
sourcemap: true,
+ target: 'es2020',
lib: {
- formats: ['es', 'cjs'],
- entry: 'src/index.tsx',
+ formats: ['es'],
+ entry: 'src/index.ts',
fileName: '[name]',
},
rollupOptions: {
- external: (id: string) => !id.startsWith('.') && !path.isAbsolute(id) && !inline.includes(id),
+ external: (id: string) => !id.startsWith('.') && !path.isAbsolute(id),
output: {
- preserveModules: true,
- preserveModulesRoot: 'src',
+ sourcemapExcludeSources: true,
},
},
},
+ plugins: [
+ {
+ name: 'vite-tsc',
+ generateBundle() {
+ this.emitFile({ type: 'asset', fileName: 'index.d.ts', source: `export * from '../src/index.ts'` })
+ },
+ },
+ {
+ name: 'vite-minify',
+ transform(code, url) {
+ if (!url.includes('node_modules')) {
+ code = code.replaceAll(/EffectAttribute\.(\w+)/g, (_, key) => EffectAttribute[key])
+ code = code.replaceAll(/BlendFunction\.(\w+)/g, (_, key) => BlendFunction[key])
+ return vite.transformWithEsbuild(code, url)
+ }
+ },
+ renderChunk: {
+ order: 'post',
+ async handler(code, { fileName }) {
+ // Preserve pure annotations, but remove all other comments and whitespace
+ code = code.replaceAll('/* @__PURE__ */', '__PURE__ || ')
+ const result = await vite.transformWithEsbuild(code, fileName, { minify: true, target: 'es2020' })
+ result.code = result.code.replaceAll('__PURE__||', '/*@__PURE__*/')
+ return result
+ },
+ },
+ },
+ ],
})
diff --git a/yarn.lock b/yarn.lock
index fdc29b86..a7794407 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,262 +2,18 @@
# yarn lockfile v1
-"@ampproject/remapping@^2.2.0":
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
- integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
- dependencies:
- "@jridgewell/gen-mapping" "^0.3.0"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@aw-web-design/x-default-browser@1.4.88":
- version "1.4.88"
- resolved "https://registry.yarnpkg.com/@aw-web-design/x-default-browser/-/x-default-browser-1.4.88.tgz#33d869cb2a537cd6d2a8369d4dc8ea4988d4be89"
- integrity sha512-AkEmF0wcwYC2QkhK703Y83fxWARttIWXDmQN8+cof8FmFZ5BRhnNXGymeb1S73bOCLfWjYELxtujL56idCN/XA==
- dependencies:
- default-browser-id "3.0.0"
-
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4":
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.21.4":
version "7.21.4"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39"
integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==
dependencies:
"@babel/highlight" "^7.18.6"
-"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.21.5":
- version "7.21.7"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.7.tgz#61caffb60776e49a57ba61a88f02bedd8714f6bc"
- integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==
-
-"@babel/core@^7.11.6", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.20.12", "@babel/core@^7.20.2", "@babel/core@^7.7.5", "@babel/core@~7.21.0":
- version "7.21.8"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.8.tgz#2a8c7f0f53d60100ba4c32470ba0281c92aa9aa4"
- integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==
- dependencies:
- "@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.21.4"
- "@babel/generator" "^7.21.5"
- "@babel/helper-compilation-targets" "^7.21.5"
- "@babel/helper-module-transforms" "^7.21.5"
- "@babel/helpers" "^7.21.5"
- "@babel/parser" "^7.21.8"
- "@babel/template" "^7.20.7"
- "@babel/traverse" "^7.21.5"
- "@babel/types" "^7.21.5"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.2.2"
- semver "^6.3.0"
-
-"@babel/generator@^7.12.11", "@babel/generator@^7.21.5", "@babel/generator@~7.21.1":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.5.tgz#c0c0e5449504c7b7de8236d99338c3e2a340745f"
- integrity sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==
- dependencies:
- "@babel/types" "^7.21.5"
- "@jridgewell/gen-mapping" "^0.3.2"
- "@jridgewell/trace-mapping" "^0.3.17"
- jsesc "^2.5.1"
-
-"@babel/helper-annotate-as-pure@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
- integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz#817f73b6c59726ab39f6ba18c234268a519e5abb"
- integrity sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==
- dependencies:
- "@babel/types" "^7.21.5"
-
-"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz#631e6cc784c7b660417421349aac304c94115366"
- integrity sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==
- dependencies:
- "@babel/compat-data" "^7.21.5"
- "@babel/helper-validator-option" "^7.21.0"
- browserslist "^4.21.3"
- lru-cache "^5.1.1"
- semver "^6.3.0"
-
-"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0":
- version "7.21.8"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz#205b26330258625ef8869672ebca1e0dee5a0f02"
- integrity sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-environment-visitor" "^7.21.5"
- "@babel/helper-function-name" "^7.21.0"
- "@babel/helper-member-expression-to-functions" "^7.21.5"
- "@babel/helper-optimise-call-expression" "^7.18.6"
- "@babel/helper-replace-supers" "^7.21.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
- "@babel/helper-split-export-declaration" "^7.18.6"
- semver "^6.3.0"
-
-"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5":
- version "7.21.8"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz#a7886f61c2e29e21fd4aaeaf1e473deba6b571dc"
- integrity sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- regexpu-core "^5.3.1"
- semver "^6.3.0"
-
-"@babel/helper-define-polyfill-provider@^0.3.3":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a"
- integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==
- dependencies:
- "@babel/helper-compilation-targets" "^7.17.7"
- "@babel/helper-plugin-utils" "^7.16.7"
- debug "^4.1.1"
- lodash.debounce "^4.0.8"
- resolve "^1.14.2"
- semver "^6.1.2"
-
-"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz#c769afefd41d171836f7cb63e295bedf689d48ba"
- integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==
-
-"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4"
- integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==
- dependencies:
- "@babel/template" "^7.20.7"
- "@babel/types" "^7.21.0"
-
-"@babel/helper-hoist-variables@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
- integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-member-expression-to-functions@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz#3b1a009af932e586af77c1030fba9ee0bde396c0"
- integrity sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==
- dependencies:
- "@babel/types" "^7.21.5"
-
-"@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.21.4":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af"
- integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==
- dependencies:
- "@babel/types" "^7.21.4"
-
-"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz#d937c82e9af68d31ab49039136a222b17ac0b420"
- integrity sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==
- dependencies:
- "@babel/helper-environment-visitor" "^7.21.5"
- "@babel/helper-module-imports" "^7.21.4"
- "@babel/helper-simple-access" "^7.21.5"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/helper-validator-identifier" "^7.19.1"
- "@babel/template" "^7.20.7"
- "@babel/traverse" "^7.21.5"
- "@babel/types" "^7.21.5"
-
-"@babel/helper-optimise-call-expression@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
- integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.21.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56"
- integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==
-
-"@babel/helper-remap-async-to-generator@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
- integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-wrap-function" "^7.18.9"
- "@babel/types" "^7.18.9"
-
-"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7", "@babel/helper-replace-supers@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz#a6ad005ba1c7d9bc2973dfde05a1bba7065dde3c"
- integrity sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==
- dependencies:
- "@babel/helper-environment-visitor" "^7.21.5"
- "@babel/helper-member-expression-to-functions" "^7.21.5"
- "@babel/helper-optimise-call-expression" "^7.18.6"
- "@babel/template" "^7.20.7"
- "@babel/traverse" "^7.21.5"
- "@babel/types" "^7.21.5"
-
-"@babel/helper-simple-access@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee"
- integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==
- dependencies:
- "@babel/types" "^7.21.5"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.20.0":
- version "7.20.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684"
- integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==
- dependencies:
- "@babel/types" "^7.20.0"
-
-"@babel/helper-split-export-declaration@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
- integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-string-parser@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd"
- integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==
-
-"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
+"@babel/helper-validator-identifier@^7.18.6":
version "7.19.1"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
-"@babel/helper-validator-option@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180"
- integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==
-
-"@babel/helper-wrap-function@^7.18.9":
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3"
- integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==
- dependencies:
- "@babel/helper-function-name" "^7.19.0"
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.20.5"
- "@babel/types" "^7.20.5"
-
-"@babel/helpers@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.5.tgz#5bac66e084d7a4d2d9696bdf0175a93f7fb63c08"
- integrity sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==
- dependencies:
- "@babel/template" "^7.20.7"
- "@babel/traverse" "^7.21.5"
- "@babel/types" "^7.21.5"
-
"@babel/highlight@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
@@ -267,812 +23,18 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.5", "@babel/parser@^7.21.8", "@babel/parser@~7.21.2":
- version "7.21.8"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.8.tgz#642af7d0333eab9c0ad70b14ac5e76dbde7bfdf8"
- integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==
-
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
- integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1"
- integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
- "@babel/plugin-proposal-optional-chaining" "^7.20.7"
-
-"@babel/plugin-proposal-async-generator-functions@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326"
- integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==
- dependencies:
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/helper-remap-async-to-generator" "^7.18.9"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
-
-"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3"
- integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-proposal-class-static-block@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d"
- integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.21.0"
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
-
-"@babel/plugin-proposal-dynamic-import@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94"
- integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-
-"@babel/plugin-proposal-export-namespace-from@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203"
- integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-
-"@babel/plugin-proposal-json-strings@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b"
- integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
-
-"@babel/plugin-proposal-logical-assignment-operators@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83"
- integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1"
- integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-
-"@babel/plugin-proposal-numeric-separator@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75"
- integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-
-"@babel/plugin-proposal-object-rest-spread@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a"
- integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==
- dependencies:
- "@babel/compat-data" "^7.20.5"
- "@babel/helper-compilation-targets" "^7.20.7"
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.20.7"
-
-"@babel/plugin-proposal-optional-catch-binding@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb"
- integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-
-"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.20.7", "@babel/plugin-proposal-optional-chaining@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea"
- integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-
-"@babel/plugin-proposal-private-methods@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea"
- integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-proposal-private-property-in-object@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz#19496bd9883dd83c23c7d7fc45dcd9ad02dfa1dc"
- integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-create-class-features-plugin" "^7.21.0"
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-
-"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e"
- integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-syntax-async-generators@^7.8.4":
- version "7.8.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
- integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
- integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
-
-"@babel/plugin-syntax-class-static-block@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
- integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-dynamic-import@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
- integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-export-namespace-from@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
- integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-flow@^7.18.6":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz#3e37fca4f06d93567c1cd9b75156422e90a67107"
- integrity sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-syntax-import-assertions@^7.20.0":
- version "7.20.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4"
- integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.19.0"
-
-"@babel/plugin-syntax-import-meta@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
- integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-json-strings@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
- integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-jsx@^7.21.4":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2"
- integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
- integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
- integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
- integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
- integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
- integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
- integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-private-property-in-object@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
- integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-top-level-await@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
- integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-typescript@^7.20.0":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz#2751948e9b7c6d771a8efa59340c15d4a2891ff8"
- integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-transform-arrow-functions@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz#9bb42a53de447936a57ba256fbf537fc312b6929"
- integrity sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.21.5"
-
-"@babel/plugin-transform-async-to-generator@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354"
- integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==
- dependencies:
- "@babel/helper-module-imports" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/helper-remap-async-to-generator" "^7.18.9"
-
-"@babel/plugin-transform-block-scoped-functions@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8"
- integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-block-scoping@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02"
- integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-transform-classes@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665"
- integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-compilation-targets" "^7.20.7"
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-function-name" "^7.21.0"
- "@babel/helper-optimise-call-expression" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/helper-replace-supers" "^7.20.7"
- "@babel/helper-split-export-declaration" "^7.18.6"
- globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz#3a2d8bb771cd2ef1cd736435f6552fe502e11b44"
- integrity sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.21.5"
- "@babel/template" "^7.20.7"
-
-"@babel/plugin-transform-destructuring@^7.21.3":
- version "7.21.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401"
- integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8"
- integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-duplicate-keys@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e"
- integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-exponentiation-operator@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd"
- integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-flow-strip-types@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz#6aeca0adcb81dc627c8986e770bfaa4d9812aff5"
- integrity sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/plugin-syntax-flow" "^7.18.6"
-
-"@babel/plugin-transform-for-of@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz#e890032b535f5a2e237a18535f56a9fdaa7b83fc"
- integrity sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.21.5"
-
-"@babel/plugin-transform-function-name@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0"
- integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==
- dependencies:
- "@babel/helper-compilation-targets" "^7.18.9"
- "@babel/helper-function-name" "^7.18.9"
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-literals@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc"
- integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-member-expression-literals@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e"
- integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-modules-amd@^7.20.11":
- version "7.20.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a"
- integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==
- dependencies:
- "@babel/helper-module-transforms" "^7.20.11"
- "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz#d69fb947eed51af91de82e4708f676864e5e47bc"
- integrity sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.21.5"
- "@babel/helper-plugin-utils" "^7.21.5"
- "@babel/helper-simple-access" "^7.21.5"
-
-"@babel/plugin-transform-modules-systemjs@^7.20.11":
- version "7.20.11"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e"
- integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==
- dependencies:
- "@babel/helper-hoist-variables" "^7.18.6"
- "@babel/helper-module-transforms" "^7.20.11"
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/helper-validator-identifier" "^7.19.1"
-
-"@babel/plugin-transform-modules-umd@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9"
- integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.20.5":
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8"
- integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.20.5"
- "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-transform-new-target@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8"
- integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-object-super@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c"
- integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/helper-replace-supers" "^7.18.6"
-
-"@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.21.3":
- version "7.21.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz#18fc4e797cf6d6d972cb8c411dbe8a809fa157db"
- integrity sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-transform-property-literals@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3"
- integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-react-jsx-self@^7.18.6":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz#ec98d4a9baafc5a1eb398da4cf94afbb40254a54"
- integrity sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
-
-"@babel/plugin-transform-react-jsx-source@^7.19.6":
- version "7.19.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86"
- integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.19.0"
-
-"@babel/plugin-transform-react-jsx@^7.19.0":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.5.tgz#bd98f3b429688243e4fa131fe1cbb2ef31ce6f38"
- integrity sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-module-imports" "^7.21.4"
- "@babel/helper-plugin-utils" "^7.21.5"
- "@babel/plugin-syntax-jsx" "^7.21.4"
- "@babel/types" "^7.21.5"
-
-"@babel/plugin-transform-regenerator@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz#576c62f9923f94bcb1c855adc53561fd7913724e"
- integrity sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.21.5"
- regenerator-transform "^0.15.1"
-
-"@babel/plugin-transform-reserved-words@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a"
- integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-shorthand-properties@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9"
- integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-spread@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e"
- integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
-
-"@babel/plugin-transform-sticky-regex@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc"
- integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-template-literals@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e"
- integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-typeof-symbol@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0"
- integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
-
-"@babel/plugin-transform-typescript@^7.21.3":
- version "7.21.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz#316c5be579856ea890a57ebc5116c5d064658f2b"
- integrity sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-create-class-features-plugin" "^7.21.0"
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/plugin-syntax-typescript" "^7.20.0"
-
-"@babel/plugin-transform-unicode-escapes@^7.21.5":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz#1e55ed6195259b0e9061d81f5ef45a9b009fb7f2"
- integrity sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.21.5"
-
-"@babel/plugin-transform-unicode-regex@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca"
- integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/preset-env@^7.20.2", "@babel/preset-env@~7.21.0":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.21.5.tgz#db2089d99efd2297716f018aeead815ac3decffb"
- integrity sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg==
- dependencies:
- "@babel/compat-data" "^7.21.5"
- "@babel/helper-compilation-targets" "^7.21.5"
- "@babel/helper-plugin-utils" "^7.21.5"
- "@babel/helper-validator-option" "^7.21.0"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.20.7"
- "@babel/plugin-proposal-async-generator-functions" "^7.20.7"
- "@babel/plugin-proposal-class-properties" "^7.18.6"
- "@babel/plugin-proposal-class-static-block" "^7.21.0"
- "@babel/plugin-proposal-dynamic-import" "^7.18.6"
- "@babel/plugin-proposal-export-namespace-from" "^7.18.9"
- "@babel/plugin-proposal-json-strings" "^7.18.6"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.20.7"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6"
- "@babel/plugin-proposal-numeric-separator" "^7.18.6"
- "@babel/plugin-proposal-object-rest-spread" "^7.20.7"
- "@babel/plugin-proposal-optional-catch-binding" "^7.18.6"
- "@babel/plugin-proposal-optional-chaining" "^7.21.0"
- "@babel/plugin-proposal-private-methods" "^7.18.6"
- "@babel/plugin-proposal-private-property-in-object" "^7.21.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.18.6"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
- "@babel/plugin-syntax-class-properties" "^7.12.13"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-import-assertions" "^7.20.0"
- "@babel/plugin-syntax-import-meta" "^7.10.4"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
- "@babel/plugin-syntax-top-level-await" "^7.14.5"
- "@babel/plugin-transform-arrow-functions" "^7.21.5"
- "@babel/plugin-transform-async-to-generator" "^7.20.7"
- "@babel/plugin-transform-block-scoped-functions" "^7.18.6"
- "@babel/plugin-transform-block-scoping" "^7.21.0"
- "@babel/plugin-transform-classes" "^7.21.0"
- "@babel/plugin-transform-computed-properties" "^7.21.5"
- "@babel/plugin-transform-destructuring" "^7.21.3"
- "@babel/plugin-transform-dotall-regex" "^7.18.6"
- "@babel/plugin-transform-duplicate-keys" "^7.18.9"
- "@babel/plugin-transform-exponentiation-operator" "^7.18.6"
- "@babel/plugin-transform-for-of" "^7.21.5"
- "@babel/plugin-transform-function-name" "^7.18.9"
- "@babel/plugin-transform-literals" "^7.18.9"
- "@babel/plugin-transform-member-expression-literals" "^7.18.6"
- "@babel/plugin-transform-modules-amd" "^7.20.11"
- "@babel/plugin-transform-modules-commonjs" "^7.21.5"
- "@babel/plugin-transform-modules-systemjs" "^7.20.11"
- "@babel/plugin-transform-modules-umd" "^7.18.6"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.20.5"
- "@babel/plugin-transform-new-target" "^7.18.6"
- "@babel/plugin-transform-object-super" "^7.18.6"
- "@babel/plugin-transform-parameters" "^7.21.3"
- "@babel/plugin-transform-property-literals" "^7.18.6"
- "@babel/plugin-transform-regenerator" "^7.21.5"
- "@babel/plugin-transform-reserved-words" "^7.18.6"
- "@babel/plugin-transform-shorthand-properties" "^7.18.6"
- "@babel/plugin-transform-spread" "^7.20.7"
- "@babel/plugin-transform-sticky-regex" "^7.18.6"
- "@babel/plugin-transform-template-literals" "^7.18.9"
- "@babel/plugin-transform-typeof-symbol" "^7.18.9"
- "@babel/plugin-transform-unicode-escapes" "^7.21.5"
- "@babel/plugin-transform-unicode-regex" "^7.18.6"
- "@babel/preset-modules" "^0.1.5"
- "@babel/types" "^7.21.5"
- babel-plugin-polyfill-corejs2 "^0.3.3"
- babel-plugin-polyfill-corejs3 "^0.6.0"
- babel-plugin-polyfill-regenerator "^0.4.1"
- core-js-compat "^3.25.1"
- semver "^6.3.0"
-
-"@babel/preset-flow@^7.13.13":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.21.4.tgz#a5de2a1cafa61f0e0b3af9b30ff0295d38d3608f"
- integrity sha512-F24cSq4DIBmhq4OzK3dE63NHagb27OPE3eWR+HLekt4Z3Y5MzIIUGF3LlLgV0gN8vzbDViSY7HnrReNVCJXTeA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/helper-validator-option" "^7.21.0"
- "@babel/plugin-transform-flow-strip-types" "^7.21.0"
-
-"@babel/preset-modules@^0.1.5":
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9"
- integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
- "@babel/plugin-transform-dotall-regex" "^7.4.4"
- "@babel/types" "^7.4.4"
- esutils "^2.0.2"
-
-"@babel/preset-typescript@^7.13.0":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz#68292c884b0e26070b4d66b202072d391358395f"
- integrity sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.21.5"
- "@babel/helper-validator-option" "^7.21.0"
- "@babel/plugin-syntax-jsx" "^7.21.4"
- "@babel/plugin-transform-modules-commonjs" "^7.21.5"
- "@babel/plugin-transform-typescript" "^7.21.3"
-
-"@babel/register@^7.13.16":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.21.0.tgz#c97bf56c2472e063774f31d344c592ebdcefa132"
- integrity sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw==
- dependencies:
- clone-deep "^4.0.1"
- find-cache-dir "^2.0.0"
- make-dir "^2.1.0"
- pirates "^4.0.5"
- source-map-support "^0.5.16"
-
-"@babel/regjsgen@^0.8.0":
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
- integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
-
-"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.5.tgz#8492dddda9644ae3bda3b45eabe87382caee7200"
- integrity sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==
- dependencies:
- regenerator-runtime "^0.13.11"
-
-"@babel/runtime@^7.16.7", "@babel/runtime@^7.17.8":
+"@babel/runtime@^7.17.8":
version "7.21.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
dependencies:
regenerator-runtime "^0.13.11"
-"@babel/template@^7.18.10", "@babel/template@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
- integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==
- dependencies:
- "@babel/code-frame" "^7.18.6"
- "@babel/parser" "^7.20.7"
- "@babel/types" "^7.20.7"
-
-"@babel/traverse@^7.1.6", "@babel/traverse@^7.20.5", "@babel/traverse@^7.21.5", "@babel/traverse@~7.21.2":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.5.tgz#ad22361d352a5154b498299d523cf72998a4b133"
- integrity sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==
- dependencies:
- "@babel/code-frame" "^7.21.4"
- "@babel/generator" "^7.21.5"
- "@babel/helper-environment-visitor" "^7.21.5"
- "@babel/helper-function-name" "^7.21.0"
- "@babel/helper-hoist-variables" "^7.18.6"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.21.5"
- "@babel/types" "^7.21.5"
- debug "^4.1.0"
- globals "^11.1.0"
-
-"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.2.0", "@babel/types@^7.20.0", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@~7.21.2":
- version "7.21.5"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.5.tgz#18dfbd47c39d3904d5db3d3dc2cc80bedb60e5b6"
- integrity sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==
- dependencies:
- "@babel/helper-string-parser" "^7.21.5"
- "@babel/helper-validator-identifier" "^7.19.1"
- to-fast-properties "^2.0.0"
-
-"@base2/pretty-print-object@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4"
- integrity sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==
-
-"@bcoe/v8-coverage@^0.2.3":
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
- integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-
-"@chevrotain/cst-dts-gen@10.5.0":
- version "10.5.0"
- resolved "https://registry.yarnpkg.com/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz#922ebd8cc59d97241bb01b1b17561a5c1ae0124e"
- integrity sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==
- dependencies:
- "@chevrotain/gast" "10.5.0"
- "@chevrotain/types" "10.5.0"
- lodash "4.17.21"
-
-"@chevrotain/gast@10.5.0":
- version "10.5.0"
- resolved "https://registry.yarnpkg.com/@chevrotain/gast/-/gast-10.5.0.tgz#e4e614bc46d17a8892742f38e56cd33f1f3ad162"
- integrity sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==
- dependencies:
- "@chevrotain/types" "10.5.0"
- lodash "4.17.21"
-
-"@chevrotain/types@10.5.0":
- version "10.5.0"
- resolved "https://registry.yarnpkg.com/@chevrotain/types/-/types-10.5.0.tgz#52a97d74a8cfbc197f054636d93ecd8912d33d21"
- integrity sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==
-
-"@chevrotain/utils@10.5.0":
- version "10.5.0"
- resolved "https://registry.yarnpkg.com/@chevrotain/utils/-/utils-10.5.0.tgz#0ee36f65b49b447fbac71b9e5af5c5c6c98ac057"
- integrity sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==
-
"@colors/colors@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
-"@discoveryjs/json-ext@^0.5.3":
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
- integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
-
-"@emotion/use-insertion-effect-with-fallbacks@^1.0.0":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963"
- integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==
-
"@esbuild/aix-ppc64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f"
@@ -1330,11 +292,6 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.39.0.tgz#58b536bcc843f4cd1e02a7e6171da5c040f4d44b"
integrity sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==
-"@fal-works/esbuild-plugin-global-externals@^2.1.2":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz#c05ed35ad82df8e6ac616c68b92c2282bd083ba4"
- integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==
-
"@gar/promisify@^1.1.3":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
@@ -1361,149 +318,13 @@
"@isaacs/string-locale-compare@^1.1.0":
version "1.1.0"
- resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b"
- integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==
-
-"@istanbuljs/load-nyc-config@^1.0.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
- integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
- dependencies:
- camelcase "^5.3.1"
- find-up "^4.1.0"
- get-package-type "^0.1.0"
- js-yaml "^3.13.1"
- resolve-from "^5.0.0"
-
-"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
- integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
-
-"@jest/schemas@^29.4.3":
- version "29.4.3"
- resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788"
- integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==
- dependencies:
- "@sinclair/typebox" "^0.25.16"
-
-"@jest/transform@^29.3.1":
- version "29.5.0"
- resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.5.0.tgz#cf9c872d0965f0cbd32f1458aa44a2b1988b00f9"
- integrity sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==
- dependencies:
- "@babel/core" "^7.11.6"
- "@jest/types" "^29.5.0"
- "@jridgewell/trace-mapping" "^0.3.15"
- babel-plugin-istanbul "^6.1.1"
- chalk "^4.0.0"
- convert-source-map "^2.0.0"
- fast-json-stable-stringify "^2.1.0"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.5.0"
- jest-regex-util "^29.4.3"
- jest-util "^29.5.0"
- micromatch "^4.0.4"
- pirates "^4.0.4"
- slash "^3.0.0"
- write-file-atomic "^4.0.2"
-
-"@jest/types@^27.5.1":
- version "27.5.1"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80"
- integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==
- dependencies:
- "@types/istanbul-lib-coverage" "^2.0.0"
- "@types/istanbul-reports" "^3.0.0"
- "@types/node" "*"
- "@types/yargs" "^16.0.0"
- chalk "^4.0.0"
-
-"@jest/types@^29.5.0":
- version "29.5.0"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593"
- integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==
- dependencies:
- "@jest/schemas" "^29.4.3"
- "@types/istanbul-lib-coverage" "^2.0.0"
- "@types/istanbul-reports" "^3.0.0"
- "@types/node" "*"
- "@types/yargs" "^17.0.8"
- chalk "^4.0.0"
-
-"@joshwooding/vite-plugin-react-docgen-typescript@0.2.1":
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.2.1.tgz#930f6f0382520e4ba349eea1b152f9ae49364516"
- integrity sha512-ou4ZJSXMMWHqGS4g8uNRbC5TiTWxAgQZiVucoUrOCWuPrTbkpJbmVyIi9jU72SBry7gQtuMEDp4YR8EEXAg7VQ==
- dependencies:
- glob "^7.2.0"
- glob-promise "^4.2.0"
- magic-string "^0.27.0"
- react-docgen-typescript "^2.2.2"
-
-"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
- integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
- dependencies:
- "@jridgewell/set-array" "^1.0.1"
- "@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@jridgewell/resolve-uri@3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
- integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
-
-"@jridgewell/set-array@^1.0.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
- integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
-
-"@jridgewell/sourcemap-codec@1.4.14":
- version "1.4.14"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
- integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
-
-"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13":
- version "1.4.15"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
- integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-
-"@jridgewell/sourcemap-codec@^1.5.0":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
- integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
-
-"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
- version "0.3.18"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
- integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
- dependencies:
- "@jridgewell/resolve-uri" "3.1.0"
- "@jridgewell/sourcemap-codec" "1.4.14"
-
-"@juggle/resize-observer@^3.3.1":
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60"
- integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==
-
-"@mdx-js/react@^2.1.5":
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-2.3.0.tgz#4208bd6d70f0d0831def28ef28c26149b03180b3"
- integrity sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==
- dependencies:
- "@types/mdx" "^2.0.0"
- "@types/react" ">=16"
+ resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b"
+ integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==
-"@ndelangen/get-tarball@^3.0.7":
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/@ndelangen/get-tarball/-/get-tarball-3.0.7.tgz#87c7aef2df4ff4fbdbab6ac9ed32cee142c4b1a3"
- integrity sha512-NqGfTZIZpRFef1GoVaShSSRwDC3vde3ThtTeqFdcYd6ipKqnfEVhjK2hUeHjCQUcptyZr2TONqcloFXM+5QBrQ==
- dependencies:
- gunzip-maybe "^1.4.2"
- pump "^3.0.0"
- tar-fs "^2.1.1"
+"@jridgewell/sourcemap-codec@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
+ integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
@@ -1828,99 +649,23 @@
"@pnpm/network.ca-file" "^1.0.1"
config-chain "^1.1.11"
-"@react-spring/animated@~9.6.1":
- version "9.6.1"
- resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.6.1.tgz#ccc626d847cbe346f5f8815d0928183c647eb425"
- integrity sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==
- dependencies:
- "@react-spring/shared" "~9.6.1"
- "@react-spring/types" "~9.6.1"
-
-"@react-spring/core@~9.6.1":
- version "9.6.1"
- resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.6.1.tgz#ebe07c20682b360b06af116ea24e2b609e778c10"
- integrity sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==
- dependencies:
- "@react-spring/animated" "~9.6.1"
- "@react-spring/rafz" "~9.6.1"
- "@react-spring/shared" "~9.6.1"
- "@react-spring/types" "~9.6.1"
-
-"@react-spring/rafz@~9.6.1":
- version "9.6.1"
- resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.6.1.tgz#d71aafb92b78b24e4ff84639f52745afc285c38d"
- integrity sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==
-
-"@react-spring/shared@~9.6.1":
- version "9.6.1"
- resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.6.1.tgz#4e2e4296910656c02bd9fd54c559702bc836ac4e"
- integrity sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==
- dependencies:
- "@react-spring/rafz" "~9.6.1"
- "@react-spring/types" "~9.6.1"
-
-"@react-spring/three@~9.6.1":
- version "9.6.1"
- resolved "https://registry.yarnpkg.com/@react-spring/three/-/three-9.6.1.tgz#095fcd1dc6509127c33c14486d88289b89baeb9d"
- integrity sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==
- dependencies:
- "@react-spring/animated" "~9.6.1"
- "@react-spring/core" "~9.6.1"
- "@react-spring/shared" "~9.6.1"
- "@react-spring/types" "~9.6.1"
-
-"@react-spring/types@~9.6.1":
- version "9.6.1"
- resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.6.1.tgz#913d3a68c5cbc1124fdb18eff919432f7b6abdde"
- integrity sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==
-
-"@react-three/drei@^9.68.2":
- version "9.68.2"
- resolved "https://registry.yarnpkg.com/@react-three/drei/-/drei-9.68.2.tgz#90f80fbae777cd3a2c2505cd7abbd1740b37b53b"
- integrity sha512-By462DHLWE2P6yW0jsg5XveV3ZLJRGPYMJHJRZyg1nDiLxAw66R4sVXkO0ClwFOe5bwGhLHgEsqx07sfwBjQqw==
- dependencies:
- "@babel/runtime" "^7.11.2"
- "@react-spring/three" "~9.6.1"
- "@use-gesture/react" "^10.2.24"
- camera-controls "^2.3.1"
- detect-gpu "^5.0.14"
- glsl-noise "^0.0.0"
- lodash.clamp "^4.0.3"
- lodash.omit "^4.5.0"
- lodash.pick "^4.4.0"
- maath "^0.5.2"
- meshline "^3.1.6"
- react-composer "^5.0.3"
- react-merge-refs "^1.1.0"
- stats.js "^0.17.0"
- suspend-react "^0.0.8"
- three-mesh-bvh "^0.5.23"
- three-stdlib "^2.21.8"
- troika-three-text "^0.47.1"
- utility-types "^3.10.0"
- zustand "^3.5.13"
-
-"@react-three/fiber@^8.13.0":
- version "8.13.0"
- resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-8.13.0.tgz#c9eabe60f2276a66d7ce9a3b927083894f4202f9"
- integrity sha512-hPFzFNgikEMyEbL+NpSA7q+UWZxInrrkJldWaCR2w34Fwf20x9p68bsyN0/yn9oM2VlWoJcJjR8hw1tN9AxHuA==
+"@react-three/fiber@^9.0.1":
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/@react-three/fiber/-/fiber-9.0.1.tgz#4a506f05036f413205213663911c20e563617179"
+ integrity sha512-X21kQBQ+czPNt9ue3x7BO/TUM8C71VckEX6Y7ndaXSH892T1XGQYiOtN4Av8NkP2aaQZnASsA/Kip0sykeR/tw==
dependencies:
"@babel/runtime" "^7.17.8"
- "@types/react-reconciler" "^0.26.7"
- its-fine "^1.0.6"
- react-reconciler "^0.27.0"
- react-use-measure "^2.1.1"
- scheduler "^0.21.0"
- suspend-react "^0.0.8"
- zustand "^3.7.1"
-
-"@rollup/pluginutils@^4.2.0":
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d"
- integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==
- dependencies:
- estree-walker "^2.0.1"
- picomatch "^2.2.2"
+ "@types/react-reconciler" "^0.28.9"
+ "@types/webxr" "*"
+ base64-js "^1.5.1"
+ buffer "^6.0.3"
+ its-fine "^2.0.0"
+ react-reconciler "^0.31.0"
+ react-use-measure "^2.1.7"
+ scheduler "^0.25.0"
+ suspend-react "^0.1.3"
+ use-sync-external-store "^1.4.0"
+ zustand "^5.0.3"
"@rollup/rollup-android-arm-eabi@4.28.1":
version "4.28.1"
@@ -2097,919 +842,6 @@
resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz#957cb64ea2f5ce527cc9cf02a096baeb0d2b99b4"
integrity sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==
-"@sinclair/typebox@^0.25.16":
- version "0.25.24"
- resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718"
- integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==
-
-"@storybook/addon-actions@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-7.0.10.tgz#cd5973a4d99d573ef23c70f0a719b4caf0d434b1"
- integrity sha512-U8c7n918/mOjXnc1Iu/sglbK+ryC4xoyjWE5SG/68h0+sHb1rioNq7leAi24mCP6jNwNI5Q7TWtuvflOGxQDKQ==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/manager-api" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/theming" "7.0.10"
- "@storybook/types" "7.0.10"
- dequal "^2.0.2"
- lodash "^4.17.21"
- polished "^4.2.2"
- prop-types "^15.7.2"
- react-inspector "^6.0.0"
- telejson "^7.0.3"
- ts-dedent "^2.0.0"
- uuid "^9.0.0"
-
-"@storybook/addon-backgrounds@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-7.0.10.tgz#b4b5e5ff04798ca6e1af2c971597a0aabad85653"
- integrity sha512-QtOxXO9hKtwBjjdLXWYKp4HpcpNOrLfc71dn78XbMKyCkQRlYtVe8GNk/++70UQtFfKCEJIB0hTHrPmSjDJE5A==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/manager-api" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/theming" "7.0.10"
- "@storybook/types" "7.0.10"
- memoizerific "^1.11.3"
- ts-dedent "^2.0.0"
-
-"@storybook/addon-controls@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-7.0.10.tgz#979a5be0d75fa451ebe41a968a2d1e107a634ef1"
- integrity sha512-j5UiPH8ZJx0ieUoIeV3iENlsIRDuQCeg3gTlLD668sebx8KHOCSJygh0Zvg1sTUUGSIbenhWaPlqfaW6ShKFWQ==
- dependencies:
- "@storybook/blocks" "7.0.10"
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/core-common" "7.0.10"
- "@storybook/manager-api" "7.0.10"
- "@storybook/node-logger" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/theming" "7.0.10"
- "@storybook/types" "7.0.10"
- lodash "^4.17.21"
- ts-dedent "^2.0.0"
-
-"@storybook/addon-docs@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-7.0.10.tgz#e657b73c43594b1d957f44e328b6e0fe0cf7a266"
- integrity sha512-1tUsJ+fuBqk4oTOBLabyPQeQYiRKs9I6+soY7dG8jN15Bxe/Ey2giNpqUkA3xAIuqS75ydRVKmsfQvILu2nLjg==
- dependencies:
- "@babel/core" "^7.20.2"
- "@babel/plugin-transform-react-jsx" "^7.19.0"
- "@jest/transform" "^29.3.1"
- "@mdx-js/react" "^2.1.5"
- "@storybook/blocks" "7.0.10"
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/csf-plugin" "7.0.10"
- "@storybook/csf-tools" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/mdx2-csf" "^1.0.0"
- "@storybook/node-logger" "7.0.10"
- "@storybook/postinstall" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/react-dom-shim" "7.0.10"
- "@storybook/theming" "7.0.10"
- "@storybook/types" "7.0.10"
- fs-extra "^11.1.0"
- remark-external-links "^8.0.0"
- remark-slug "^6.0.0"
- ts-dedent "^2.0.0"
-
-"@storybook/addon-essentials@^7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-7.0.10.tgz#f297d15f689c506056ed7a584c361abe007e2c8e"
- integrity sha512-nOeUtNbfLXOlgGqqqlsYC9gcYSrAxABBo8jHYiZg3xaEB9+cnKjCKK8VxrqJiR002AG5JZvi+uHeAauM94fkkQ==
- dependencies:
- "@storybook/addon-actions" "7.0.10"
- "@storybook/addon-backgrounds" "7.0.10"
- "@storybook/addon-controls" "7.0.10"
- "@storybook/addon-docs" "7.0.10"
- "@storybook/addon-highlight" "7.0.10"
- "@storybook/addon-measure" "7.0.10"
- "@storybook/addon-outline" "7.0.10"
- "@storybook/addon-toolbars" "7.0.10"
- "@storybook/addon-viewport" "7.0.10"
- "@storybook/core-common" "7.0.10"
- "@storybook/manager-api" "7.0.10"
- "@storybook/node-logger" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- ts-dedent "^2.0.0"
-
-"@storybook/addon-highlight@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-7.0.10.tgz#8d8c592c37c2793fe99a4e76709b5dcbafff62d2"
- integrity sha512-TohDxElSu7JrSvhLRZAwtNk/7Ot626wvlODwklocE4kbtn1fulFoUlRta7NImBGX554LITDFRy0m4R1rRQ9OfQ==
- dependencies:
- "@storybook/core-events" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/preview-api" "7.0.10"
-
-"@storybook/addon-interactions@^7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-7.0.10.tgz#a3d4671ccab376b0c4b7f56d7eaf1316388e107b"
- integrity sha512-7hdFgoetQblwysYwRlmC5fbMVDb6lIM6le1pVEmRci6X44Gr2Xe5w2s6h5bTp4tMpNS1CFKjru9kF/TqfK46wA==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/core-common" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/instrumenter" "7.0.10"
- "@storybook/manager-api" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/theming" "7.0.10"
- "@storybook/types" "7.0.10"
- jest-mock "^27.0.6"
- polished "^4.2.2"
- ts-dedent "^2.2.0"
-
-"@storybook/addon-links@^7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-7.0.10.tgz#18035542bfe9d08f300475318ee9a97241dded53"
- integrity sha512-Odhe0eICqW9X2yyIjtOVb23cKXJ2WRxPHBm5oYf6hBBoXXK7EJicwyQSJLxJyHK7r1PeAnFxSGlNrO3w7JULjg==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/csf" "^0.1.0"
- "@storybook/global" "^5.0.0"
- "@storybook/manager-api" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/router" "7.0.10"
- "@storybook/types" "7.0.10"
- prop-types "^15.7.2"
- ts-dedent "^2.0.0"
-
-"@storybook/addon-measure@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-7.0.10.tgz#db53d1a873d5cfb0e208361b7113b6d6a99593e9"
- integrity sha512-70BQT8PM6r3qjXDgXuN5mx9CBq9dYTdEgR1tlZ8FbMi8B8tB1oZJD0o6tfGM3r8WjdI0sTwX70ic5pv9Ma/MiA==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/manager-api" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/types" "7.0.10"
-
-"@storybook/addon-outline@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-7.0.10.tgz#5bf15b6d0659c678fd8fb62bde48cb3ce8e886d7"
- integrity sha512-Aakoc+II7orfgUDmjgMbnSp5HZS/47z0NeRAfh+FP4fxL0lFd9vmaeIXWYo1DjJqdEFfvlSLd8aS9Ltb+souMw==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/manager-api" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/types" "7.0.10"
- ts-dedent "^2.0.0"
-
-"@storybook/addon-toolbars@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-7.0.10.tgz#3c5ed9da1d4ded2b5c0ecd5343c03b59fd3c464b"
- integrity sha512-U4a45CDw4SZzrgboYVMgxyiD7Ejud1kSz2lyS+J3fGTZGXq2+tmJS/2oNrLJlSH7v8629lVUbKnFxsP0HbfShg==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/manager-api" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/theming" "7.0.10"
-
-"@storybook/addon-viewport@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-7.0.10.tgz#64bd391359f712641ae399698e536350585a9843"
- integrity sha512-Ck9sdCg3T8ChXoxYL5IEi+ZUOwdH6Je5XeK4kRVq+Ar+Ytm5CFTGJCCZjI6biroTnuJCUefaV2K5NUZoHkZI+A==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/manager-api" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/theming" "7.0.10"
- memoizerific "^1.11.3"
- prop-types "^15.7.2"
-
-"@storybook/blocks@7.0.10", "@storybook/blocks@^7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-7.0.10.tgz#52134dc5ef8915bf677bc7a859fb7accbe571747"
- integrity sha512-OqXuN1x2TjXgrOqGSaD0Vz8iCqmLjiPkrQpWMD7bToFpHH0dpmcrzzRhLhxgJLN2CAzyr98IYIkUgXX9Da1neA==
- dependencies:
- "@storybook/channels" "7.0.10"
- "@storybook/client-logger" "7.0.10"
- "@storybook/components" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/csf" "^0.1.0"
- "@storybook/docs-tools" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/manager-api" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/theming" "7.0.10"
- "@storybook/types" "7.0.10"
- "@types/lodash" "^4.14.167"
- color-convert "^2.0.1"
- dequal "^2.0.2"
- lodash "^4.17.21"
- markdown-to-jsx "^7.1.8"
- memoizerific "^1.11.3"
- polished "^4.2.2"
- react-colorful "^5.1.2"
- telejson "^7.0.3"
- ts-dedent "^2.0.0"
- util-deprecate "^1.0.2"
-
-"@storybook/builder-manager@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/builder-manager/-/builder-manager-7.0.10.tgz#dcc644b181a6eaf5c4962262b0d0fe10acc86a85"
- integrity sha512-izCVE4JEbDVN5DPkX/Ym1PifAJKlheBvXKmGXGklnJQ2l+TEuvesPbOmVFNuu7ptJAFw4JO5n2KAo9+a5FRwiw==
- dependencies:
- "@fal-works/esbuild-plugin-global-externals" "^2.1.2"
- "@storybook/core-common" "7.0.10"
- "@storybook/manager" "7.0.10"
- "@storybook/node-logger" "7.0.10"
- "@types/ejs" "^3.1.1"
- "@types/find-cache-dir" "^3.2.1"
- "@yarnpkg/esbuild-plugin-pnp" "^3.0.0-rc.10"
- browser-assert "^1.2.1"
- ejs "^3.1.8"
- esbuild "^0.17.0"
- esbuild-plugin-alias "^0.2.1"
- express "^4.17.3"
- find-cache-dir "^3.0.0"
- fs-extra "^11.1.0"
- process "^0.11.10"
- util "^0.12.4"
-
-"@storybook/builder-vite@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/builder-vite/-/builder-vite-7.0.11.tgz#de6f175b6db4a8e79d0fdb14f61ba7c5fdaae6c4"
- integrity sha512-qFT2WDJexbcxJjLD7k/whEiHbqIZ0wsHFfiGX5JyTEba4a7UTQ6a6yDCUb1KuLnyUOa056FwEag9ghw3WRowmA==
- dependencies:
- "@storybook/channel-postmessage" "7.0.11"
- "@storybook/channel-websocket" "7.0.11"
- "@storybook/client-logger" "7.0.11"
- "@storybook/core-common" "7.0.11"
- "@storybook/csf-plugin" "7.0.11"
- "@storybook/mdx2-csf" "^1.0.0"
- "@storybook/node-logger" "7.0.11"
- "@storybook/preview" "7.0.11"
- "@storybook/preview-api" "7.0.11"
- "@storybook/types" "7.0.11"
- browser-assert "^1.2.1"
- es-module-lexer "^0.9.3"
- express "^4.17.3"
- fs-extra "^11.1.0"
- glob "^8.1.0"
- glob-promise "^6.0.2"
- magic-string "^0.27.0"
- remark-external-links "^8.0.0"
- remark-slug "^6.0.0"
- rollup "^2.25.0 || ^3.3.0"
-
-"@storybook/channel-postmessage@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-7.0.10.tgz#4c58dec64710672b9d58e66a1e37fe5eb4e7d612"
- integrity sha512-Y5ZSp9WYH3HznQ2rrGN78Y5fYM16Bfvyn3iKy5QD38gsQk1gTrra1osIZ0X+lk3sep14D4oW4QMW3DCSrn0Big==
- dependencies:
- "@storybook/channels" "7.0.10"
- "@storybook/client-logger" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/global" "^5.0.0"
- qs "^6.10.0"
- telejson "^7.0.3"
-
-"@storybook/channel-postmessage@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-7.0.11.tgz#f71213dee292a06a6a7f8c0518fd3f52f261792e"
- integrity sha512-6ARow3o2thnXLO4i3+tluHAPqqSrB30U/Oxg3JqC5/2FJin3UFBOMCj04V7FPUN8jQfZpERoYgiUYE9JddT39g==
- dependencies:
- "@storybook/channels" "7.0.11"
- "@storybook/client-logger" "7.0.11"
- "@storybook/core-events" "7.0.11"
- "@storybook/global" "^5.0.0"
- qs "^6.10.0"
- telejson "^7.0.3"
-
-"@storybook/channel-websocket@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-7.0.11.tgz#c9b5b68e37e3d8d699081805d80ec6580adfb532"
- integrity sha512-AeoOFDA0Rkf4Jx5PgX76tlehUYbC0AHDA63ZLVol9O/P4ch2Ju5cxsiFv0brdcnv4t2ibNZkqFdsrut9O/wacg==
- dependencies:
- "@storybook/channels" "7.0.11"
- "@storybook/client-logger" "7.0.11"
- "@storybook/global" "^5.0.0"
- telejson "^7.0.3"
-
-"@storybook/channels@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.0.10.tgz#e89c651f2a89db961dc047e6e4c72201c41f1b25"
- integrity sha512-hdPaGV3W7s6MkVcg33S5hmkVgqXC16AA7H0ID9MROiU1lQzolKhSqCs2iVfGPQfmWzEJeqWQoEXU7dmCclRM0w==
-
-"@storybook/channels@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.0.11.tgz#c753d37ade4b85bf5cb5a8ebaf81d535f21ee547"
- integrity sha512-1cVgju7ViN7GDeUNUS5hp3GZLT2EgxgXj7zuGbCZwsF8lFsM0IWeXma8TV0UfcBiyQjP4edYRmUn0vy6CMc/WA==
-
-"@storybook/cli@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-7.0.10.tgz#115754f7910223630cefcef59050f99ad685e702"
- integrity sha512-FhtE6Yrk7MMa9AgLb3MTmqiQ3IlWHjjrj7Vcj2QM6BcP342xSe7C1d+V6+tYX/oPOEB3Upz+PKNrju1iHxurQQ==
- dependencies:
- "@babel/core" "^7.20.2"
- "@babel/preset-env" "^7.20.2"
- "@ndelangen/get-tarball" "^3.0.7"
- "@storybook/codemod" "7.0.10"
- "@storybook/core-common" "7.0.10"
- "@storybook/core-server" "7.0.10"
- "@storybook/csf-tools" "7.0.10"
- "@storybook/node-logger" "7.0.10"
- "@storybook/telemetry" "7.0.10"
- "@storybook/types" "7.0.10"
- "@types/semver" "^7.3.4"
- boxen "^5.1.2"
- chalk "^4.1.0"
- commander "^6.2.1"
- cross-spawn "^7.0.3"
- detect-indent "^6.1.0"
- envinfo "^7.7.3"
- execa "^5.0.0"
- express "^4.17.3"
- find-up "^5.0.0"
- fs-extra "^11.1.0"
- get-npm-tarball-url "^2.0.3"
- get-port "^5.1.1"
- giget "^1.0.0"
- globby "^11.0.2"
- jscodeshift "^0.14.0"
- leven "^3.1.0"
- prettier "^2.8.0"
- prompts "^2.4.0"
- puppeteer-core "^2.1.1"
- read-pkg-up "^7.0.1"
- semver "^7.3.7"
- shelljs "^0.8.5"
- simple-update-notifier "^1.0.0"
- strip-json-comments "^3.0.1"
- tempy "^1.0.1"
- ts-dedent "^2.0.0"
- util-deprecate "^1.0.2"
-
-"@storybook/client-logger@7.0.10", "@storybook/client-logger@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.0.10.tgz#941f6cf54638a422732b40ec31b2414872cdf4a8"
- integrity sha512-hb8tO+w28ErzjEw69ERMtZT81Xyg835FQjH6Y42ejoGcBA9Z0W6RZmx4RgkcIUOlYXkU6lSnNVne9gXodV4/Hw==
- dependencies:
- "@storybook/global" "^5.0.0"
-
-"@storybook/client-logger@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.0.11.tgz#0210ec715be79a930f9d17ebff62b73fb7104337"
- integrity sha512-3p+vXogcwPI9/9PgjqhJSzJsbcJUnvVyZ4rM4sQhwbXQkMjwl2j/LjI86zuYbQe9yQpKND1Yc4HPJd24225H/Q==
- dependencies:
- "@storybook/global" "^5.0.0"
-
-"@storybook/codemod@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-7.0.10.tgz#9c4f8951b77162c2ff245e23f46675c2cb94bd07"
- integrity sha512-BnPknLV3wnaSk0azjFBAWLVfwgUHtFvVk9I6y1idIaQhc0nnegKoa0jTxWigthftZK/Pv9yG3gxG7o7O4KcChQ==
- dependencies:
- "@babel/core" "~7.21.0"
- "@babel/preset-env" "~7.21.0"
- "@babel/types" "~7.21.2"
- "@storybook/csf" "^0.1.0"
- "@storybook/csf-tools" "7.0.10"
- "@storybook/node-logger" "7.0.10"
- "@storybook/types" "7.0.10"
- cross-spawn "^7.0.3"
- globby "^11.0.2"
- jscodeshift "^0.14.0"
- lodash "^4.17.21"
- prettier "^2.8.0"
- recast "^0.23.1"
-
-"@storybook/components@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.0.10.tgz#f9416becc5badec06347870c3d29ca3ce53acf3a"
- integrity sha512-jdGiVP+a3XqoGpKkDFGt4g2cgb23aLfMS/RhnuhT7FK6hGh7WFfuuqx4QqQHx4VZCdXIWVIzszaCdGCs7AsW2w==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/csf" "^0.1.0"
- "@storybook/global" "^5.0.0"
- "@storybook/theming" "7.0.10"
- "@storybook/types" "7.0.10"
- memoizerific "^1.11.3"
- use-resize-observer "^9.1.0"
- util-deprecate "^1.0.2"
-
-"@storybook/core-client@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-7.0.10.tgz#dc00959418c52f1a10590f83260f386bff5d6c86"
- integrity sha512-sN/TKB7QHWP6josdjyNtoqDXihROPtgvzo5+akfW6+S7hhfsQ4BJd09nkBqEX9E7z81blmFFDUOU3a8bQbPdKQ==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/preview-api" "7.0.10"
-
-"@storybook/core-client@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-7.0.11.tgz#05909f7d6561bd0c3dbdad9d95ce386fff782de5"
- integrity sha512-ALm4hpGa9cnhKAc6TbRPRV32cwH0I2F6vUYduVrDd/yq8a/o2rJQwvNOr7dJiakTWI/3IACeSlQMuStYqS8r+w==
- dependencies:
- "@storybook/client-logger" "7.0.11"
- "@storybook/preview-api" "7.0.11"
-
-"@storybook/core-common@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-7.0.10.tgz#d6f6acc5aef671cd5165767c31635f5745fc45ad"
- integrity sha512-AAYXixukGlpMy8XoSM8cTfcyQ6ijBq5q50xNTj/ssTbGnGSk6POgtoJZf6g8XtS0OxsFXBSxuBuMBBBbKtoztw==
- dependencies:
- "@storybook/node-logger" "7.0.10"
- "@storybook/types" "7.0.10"
- "@types/node" "^16.0.0"
- "@types/pretty-hrtime" "^1.0.0"
- chalk "^4.1.0"
- esbuild "^0.17.0"
- esbuild-register "^3.4.0"
- file-system-cache "^2.0.0"
- find-up "^5.0.0"
- fs-extra "^11.1.0"
- glob "^8.1.0"
- glob-promise "^6.0.2"
- handlebars "^4.7.7"
- lazy-universal-dotenv "^4.0.0"
- picomatch "^2.3.0"
- pkg-dir "^5.0.0"
- pretty-hrtime "^1.0.3"
- resolve-from "^5.0.0"
- ts-dedent "^2.0.0"
-
-"@storybook/core-common@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-7.0.11.tgz#2f6ba1d3ed424de6f4738e0de31119ecae3d7d57"
- integrity sha512-orVhH92V9lwtwu3Cv78ys26vrRZXsKYGtTGdWPv/K3G0ihIKY6JgV2wJOGNH+urY2pmno1ALOkv1FvtwkKIxsA==
- dependencies:
- "@storybook/node-logger" "7.0.11"
- "@storybook/types" "7.0.11"
- "@types/node" "^16.0.0"
- "@types/pretty-hrtime" "^1.0.0"
- chalk "^4.1.0"
- esbuild "^0.17.0"
- esbuild-register "^3.4.0"
- file-system-cache "^2.0.0"
- find-up "^5.0.0"
- fs-extra "^11.1.0"
- glob "^8.1.0"
- glob-promise "^6.0.2"
- handlebars "^4.7.7"
- lazy-universal-dotenv "^4.0.0"
- picomatch "^2.3.0"
- pkg-dir "^5.0.0"
- pretty-hrtime "^1.0.3"
- resolve-from "^5.0.0"
- ts-dedent "^2.0.0"
-
-"@storybook/core-events@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.0.10.tgz#56d0a433cb7044d691a148d2b4c8e6005beb7755"
- integrity sha512-OyBqhxVQOdI78Vgv6nKwXOdIVNChyfktpdxQZP1rz9MpO6MrqMaGAUL7k8xQMQAVx0VY+dAMYZB3bnyN2IC8FA==
-
-"@storybook/core-events@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.0.11.tgz#9d11fc7c7f60f3450fd379476fd7ef9c7c7d556f"
- integrity sha512-azEjQMpMx61h4o11OV8l78ab6Jxiwc5nlbqEUa1FVCupyRKFxrbK7zovmWyVL3cTllCSiJf4v3o/MadtuH4lcw==
-
-"@storybook/core-server@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-7.0.10.tgz#b119f65ad1a9e164034f52c9b649d5b8b72cfa65"
- integrity sha512-KFCc3turPed8tiC5IUKTV7oObVmFckMP1XqO7zec2g2NlGQsN83DRso+BA1wpV/bb8AD1NJDU6LJnyN3KKdi1Q==
- dependencies:
- "@aw-web-design/x-default-browser" "1.4.88"
- "@discoveryjs/json-ext" "^0.5.3"
- "@storybook/builder-manager" "7.0.10"
- "@storybook/core-common" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/csf" "^0.1.0"
- "@storybook/csf-tools" "7.0.10"
- "@storybook/docs-mdx" "^0.1.0"
- "@storybook/global" "^5.0.0"
- "@storybook/manager" "7.0.10"
- "@storybook/node-logger" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/telemetry" "7.0.10"
- "@storybook/types" "7.0.10"
- "@types/detect-port" "^1.3.0"
- "@types/node" "^16.0.0"
- "@types/node-fetch" "^2.5.7"
- "@types/pretty-hrtime" "^1.0.0"
- "@types/semver" "^7.3.4"
- better-opn "^2.1.1"
- boxen "^5.1.2"
- chalk "^4.1.0"
- cli-table3 "^0.6.1"
- compression "^1.7.4"
- detect-port "^1.3.0"
- express "^4.17.3"
- fs-extra "^11.1.0"
- globby "^11.0.2"
- ip "^2.0.0"
- lodash "^4.17.21"
- node-fetch "^2.6.7"
- open "^8.4.0"
- pretty-hrtime "^1.0.3"
- prompts "^2.4.0"
- read-pkg-up "^7.0.1"
- semver "^7.3.7"
- serve-favicon "^2.5.0"
- telejson "^7.0.3"
- ts-dedent "^2.0.0"
- util-deprecate "^1.0.2"
- watchpack "^2.2.0"
- ws "^8.2.3"
-
-"@storybook/csf-plugin@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-7.0.10.tgz#a95af00476d06c154edb93a3a94f70086d67935a"
- integrity sha512-uUty5rLs6O32tJaXIne2/42UxFL3eaRCDgtAoAkGxbUPa/FLYpO0rYtqF2OG9MagwXU7+As5RlLkDLeYAvUzlQ==
- dependencies:
- "@storybook/csf-tools" "7.0.10"
- unplugin "^0.10.2"
-
-"@storybook/csf-plugin@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-7.0.11.tgz#23c12e11f4f72f2b6be946a604152abaa4d99b7a"
- integrity sha512-TL52rXruFf8kuw4y9CFfPUoF5KWYXaoxy3zStTognY+kZpDr424JJO/IHYFNp72YVZ1pygeOdZnGCKCDlw5vUQ==
- dependencies:
- "@storybook/csf-tools" "7.0.11"
- unplugin "^0.10.2"
-
-"@storybook/csf-tools@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.0.10.tgz#d45b12fcbb7f24652eb9d3d08cd7d99f06701da0"
- integrity sha512-sl/995jq03HD7/Q9cb54h0glgt7JLGTkfikSlB35NGMEkgEXEswDmpQHA/TbzUYylIxuAwTKghwMqL3IwSSHwA==
- dependencies:
- "@babel/generator" "~7.21.1"
- "@babel/parser" "~7.21.2"
- "@babel/traverse" "~7.21.2"
- "@babel/types" "~7.21.2"
- "@storybook/csf" "^0.1.0"
- "@storybook/types" "7.0.10"
- fs-extra "^11.1.0"
- recast "^0.23.1"
- ts-dedent "^2.0.0"
-
-"@storybook/csf-tools@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.0.11.tgz#93bd1cf80e50ff787de3731c9975adb15c58a2f2"
- integrity sha512-hW2Mw/EZ+sCwFByR1FCaElw3LqIh2/wRGVg/zJk36L9Y1vPkpneZU+Gdy5rds2hBCCYXYkJpcVKemky15Z1HJg==
- dependencies:
- "@babel/generator" "~7.21.1"
- "@babel/parser" "~7.21.2"
- "@babel/traverse" "~7.21.2"
- "@babel/types" "~7.21.2"
- "@storybook/csf" "^0.1.0"
- "@storybook/types" "7.0.11"
- fs-extra "^11.1.0"
- recast "^0.23.1"
- ts-dedent "^2.0.0"
-
-"@storybook/csf@^0.0.1":
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.0.1.tgz#95901507dc02f0bc6f9ac8ee1983e2fc5bb98ce6"
- integrity sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==
- dependencies:
- lodash "^4.17.15"
-
-"@storybook/csf@^0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.0.tgz#62315bf9704f3aa4e0d4d909b9033833774ddfbe"
- integrity sha512-uk+jMXCZ8t38jSTHk2o5btI+aV2Ksbvl6DoOv3r6VaCM1KZqeuMwtwywIQdflkA8/6q/dKT8z8L+g8hC4GC3VQ==
- dependencies:
- type-fest "^2.19.0"
-
-"@storybook/docs-mdx@^0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz#33ba0e39d1461caf048b57db354b2cc410705316"
- integrity sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==
-
-"@storybook/docs-tools@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-7.0.10.tgz#b3be393b122fcdbbf256c1487ca0a1bf0a8649e0"
- integrity sha512-w3m7+LlQGI50i07XjiOzIfoap8rnmsrs8hXGUTodbs9vvLt8HBdUaapOGnYr/1BzA0YQJ7Nz2z1nTirQEphmsQ==
- dependencies:
- "@babel/core" "^7.12.10"
- "@storybook/core-common" "7.0.10"
- "@storybook/preview-api" "7.0.10"
- "@storybook/types" "7.0.10"
- "@types/doctrine" "^0.0.3"
- doctrine "^3.0.0"
- lodash "^4.17.21"
-
-"@storybook/docs-tools@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-7.0.11.tgz#106e0048140f3f9a240788e6dee296be4ae16a38"
- integrity sha512-irHZ4hYRA5HGCCtYHoLdb4j5NlfXgn9JWXXnWb4+6LaLanDQSFTGz+H4+qnet6nBEzXuzNWlsY/Wg18AYOZOfg==
- dependencies:
- "@babel/core" "^7.12.10"
- "@storybook/core-common" "7.0.11"
- "@storybook/preview-api" "7.0.11"
- "@storybook/types" "7.0.11"
- "@types/doctrine" "^0.0.3"
- doctrine "^3.0.0"
- lodash "^4.17.21"
-
-"@storybook/global@^5.0.0":
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/@storybook/global/-/global-5.0.0.tgz#b793d34b94f572c1d7d9e0f44fac4e0dbc9572ed"
- integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==
-
-"@storybook/instrumenter@7.0.10", "@storybook/instrumenter@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-7.0.10.tgz#e44903c9ca339f3a1c855a031d9d88524442899d"
- integrity sha512-Z+kIidnxaq3tneUnIKB2d0DCqb4lwUdOS/AC43LNvd9C6BWYgj89cIPdLDTNhOWa0ZiEju7wTS+K/3uMvcHZ4w==
- dependencies:
- "@storybook/channels" "7.0.10"
- "@storybook/client-logger" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/preview-api" "7.0.10"
-
-"@storybook/manager-api@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.0.10.tgz#b4cdff72e2d5f153b5679531d5f8c60582cce923"
- integrity sha512-Dik73GKUX9QCFOvukTXjZoZX0G6n/LrRMkwLggb28E9m8iFt2ivWvF9MVvyRoDffR9VP5t53+nV5fqxqpXWoQw==
- dependencies:
- "@storybook/channels" "7.0.10"
- "@storybook/client-logger" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/csf" "^0.1.0"
- "@storybook/global" "^5.0.0"
- "@storybook/router" "7.0.10"
- "@storybook/theming" "7.0.10"
- "@storybook/types" "7.0.10"
- dequal "^2.0.2"
- lodash "^4.17.21"
- memoizerific "^1.11.3"
- semver "^7.3.7"
- store2 "^2.14.2"
- telejson "^7.0.3"
- ts-dedent "^2.0.0"
-
-"@storybook/manager@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/manager/-/manager-7.0.10.tgz#ea40cdd1d13155839d7ad0dc7848d999b44f4957"
- integrity sha512-cFMOOXmcRx1tN50TqC2huOsF91fAvNM82wTDnAbT2FtA+ZHFHNyE1PgWgiKDDepzOpKaG+FfT4bJcQAaAfYOBg==
-
-"@storybook/mdx2-csf@^1.0.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz#97f6df04d0bf616991cc1005a073ac004a7281e5"
- integrity sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==
-
-"@storybook/node-logger@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.0.10.tgz#d725f1a3a7f28f75eb636b057b2332c93549812d"
- integrity sha512-btCCreucTApi7EP84jbfqlFQZDD4Kz9lFLftalZA7nskDZW6i8reNNykTU2Y22TQvlbpqs5kL1N1cEsbG3vepw==
- dependencies:
- "@types/npmlog" "^4.1.2"
- chalk "^4.1.0"
- npmlog "^5.0.1"
- pretty-hrtime "^1.0.3"
-
-"@storybook/node-logger@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.0.11.tgz#cc0bfddeb52484c6cded5c717d3bd8c6357071b0"
- integrity sha512-N28h8aU5QglfaaM/wjpk0e7AAX8f1KBQXKArnRePHeK9M5L6w/BQQ5BcRAhcvQKZ6eOpHyADaRMHqxCxkY8qmw==
- dependencies:
- "@types/npmlog" "^4.1.2"
- chalk "^4.1.0"
- npmlog "^5.0.1"
- pretty-hrtime "^1.0.3"
-
-"@storybook/postinstall@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-7.0.10.tgz#231cb902414ddada595af62c900c00a2f23c5468"
- integrity sha512-SVPKGuuvfn1MceLWzYHGbpP77+waLKXglAH4Gkdoa2mKdk3XO45Zn8OhwwNzHuP698boMNaGaB/utBLBpkXMMg==
-
-"@storybook/preview-api@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.0.10.tgz#845ab96e775174d41680a7e05d54ef673e85fef1"
- integrity sha512-URj2YJKbs8hc6JZQ3aA+MmjB4hTSzGZAVFVs3kLUEuaQPDbU1RT5GKxedwF5zlMnkZQPNoaUtopN3z7aF+SKFQ==
- dependencies:
- "@storybook/channel-postmessage" "7.0.10"
- "@storybook/channels" "7.0.10"
- "@storybook/client-logger" "7.0.10"
- "@storybook/core-events" "7.0.10"
- "@storybook/csf" "^0.1.0"
- "@storybook/global" "^5.0.0"
- "@storybook/types" "7.0.10"
- "@types/qs" "^6.9.5"
- dequal "^2.0.2"
- lodash "^4.17.21"
- memoizerific "^1.11.3"
- qs "^6.10.0"
- synchronous-promise "^2.0.15"
- ts-dedent "^2.0.0"
- util-deprecate "^1.0.2"
-
-"@storybook/preview-api@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.0.11.tgz#a70453374bebb9e828646ecdd5d3ff548a4558c9"
- integrity sha512-w86kKnoH46xmhoi+i0V2bPiuoKnjUhEtSHXtIOEM+gJCfrKECWzrlDVCu+fh2xv38uf7zrJcQSJg9Vmpsmiasw==
- dependencies:
- "@storybook/channel-postmessage" "7.0.11"
- "@storybook/channels" "7.0.11"
- "@storybook/client-logger" "7.0.11"
- "@storybook/core-events" "7.0.11"
- "@storybook/csf" "^0.1.0"
- "@storybook/global" "^5.0.0"
- "@storybook/types" "7.0.11"
- "@types/qs" "^6.9.5"
- dequal "^2.0.2"
- lodash "^4.17.21"
- memoizerific "^1.11.3"
- qs "^6.10.0"
- synchronous-promise "^2.0.15"
- ts-dedent "^2.0.0"
- util-deprecate "^1.0.2"
-
-"@storybook/preview@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/preview/-/preview-7.0.11.tgz#1bd08e91daa16ca92aa3ab0a86b2126e3318d435"
- integrity sha512-xsWyTggxCoSDJ+E0yNcVrShL/y8g8Tnx+3niVve9dTypa5QhcNWhJC1kZAi42F+WjQAmolJMWBpk9auCasuY7A==
-
-"@storybook/react-dom-shim@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-7.0.10.tgz#0409eaa06f23f4bf3c3ca3d0318195a55ad7aef2"
- integrity sha512-NLuE2Be/BGmXHufwLp1Gje+IsTb0HWvwzHlci2U430WgwGU8fsTPNgALMrwCpqN9o1KnrRGpysQEoyIYStQBdg==
-
-"@storybook/react-dom-shim@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-7.0.11.tgz#2474bc0cbe0e81758ca3909683a277cf98751710"
- integrity sha512-G7fdaIdDlED6m7f4c+5adXLb5LCaSv3aWrW1mL+pwaFboFzUMR5VAF4XwVFadYgasLZRxcrPdWRY1AZ+y6/dlw==
-
-"@storybook/react-vite@^7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/react-vite/-/react-vite-7.0.11.tgz#21ffa39829dcba3dead2c3d1038c036affb7c76c"
- integrity sha512-Uv08J0QpF/Rm8OR1GLwHdov1fU5c8DOhWyaKG3cCz5TYWeTsLXEofOOkyRs6wm9UYivAKwJKh+xC6jQDCxJW1g==
- dependencies:
- "@joshwooding/vite-plugin-react-docgen-typescript" "0.2.1"
- "@rollup/pluginutils" "^4.2.0"
- "@storybook/builder-vite" "7.0.11"
- "@storybook/react" "7.0.11"
- "@vitejs/plugin-react" "^3.0.1"
- ast-types "^0.14.2"
- magic-string "^0.27.0"
- react-docgen "6.0.0-alpha.3"
-
-"@storybook/react@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/react/-/react-7.0.11.tgz#6d6760150f985a49b86301a5c911118081890bd7"
- integrity sha512-BfUcJP1fAuMc8gDc/sCISY2dXIG/1IonPCxXSP6iO8Yzy5sucM+pl0tbsmeZ8ic35cH9j75+BZyT6iBIV9+o3A==
- dependencies:
- "@storybook/client-logger" "7.0.11"
- "@storybook/core-client" "7.0.11"
- "@storybook/docs-tools" "7.0.11"
- "@storybook/global" "^5.0.0"
- "@storybook/preview-api" "7.0.11"
- "@storybook/react-dom-shim" "7.0.11"
- "@storybook/types" "7.0.11"
- "@types/escodegen" "^0.0.6"
- "@types/estree" "^0.0.51"
- "@types/node" "^16.0.0"
- acorn "^7.4.1"
- acorn-jsx "^5.3.1"
- acorn-walk "^7.2.0"
- escodegen "^2.0.0"
- html-tags "^3.1.0"
- lodash "^4.17.21"
- prop-types "^15.7.2"
- react-element-to-jsx-string "^15.0.0"
- ts-dedent "^2.0.0"
- type-fest "^2.19.0"
- util-deprecate "^1.0.2"
-
-"@storybook/react@^7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/react/-/react-7.0.10.tgz#f4aa447c31748c66bae9a0fed303b5f4a78f9d0c"
- integrity sha512-/DDUGFz0bk5c/HCfSr7fL74rQc+3s317TDDKY6ZrgUzdIkze4D/TlAbWV78XV/ceeFNi1fLAUzGjFzuDwmVkJw==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/core-client" "7.0.10"
- "@storybook/docs-tools" "7.0.10"
- "@storybook/global" "^5.0.0"
- "@storybook/preview-api" "7.0.10"
- "@storybook/react-dom-shim" "7.0.10"
- "@storybook/types" "7.0.10"
- "@types/escodegen" "^0.0.6"
- "@types/estree" "^0.0.51"
- "@types/node" "^16.0.0"
- acorn "^7.4.1"
- acorn-jsx "^5.3.1"
- acorn-walk "^7.2.0"
- escodegen "^2.0.0"
- html-tags "^3.1.0"
- lodash "^4.17.21"
- prop-types "^15.7.2"
- react-element-to-jsx-string "^15.0.0"
- ts-dedent "^2.0.0"
- type-fest "^2.19.0"
- util-deprecate "^1.0.2"
-
-"@storybook/router@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.0.10.tgz#9107e91d035754fb983e19023b720e1287d2fe0f"
- integrity sha512-Vq3nuyrGsvbPYhsaVu0TwtzX8Yb5TZYg7v5gY/uk1brSIk7Mvw64E8WF4TKNhPcWnlxNrfP9S96IZgT9iuuCpw==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- memoizerific "^1.11.3"
- qs "^6.10.0"
-
-"@storybook/telemetry@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-7.0.10.tgz#b6ea2f3d3ee3b5ca23ad69a685a1407e8a9d0b3e"
- integrity sha512-0xlMECcSU2UnmpDTxKE/+pKpcW88fhxEZxh54yoA6NPpq6SGUN1r5ybUMffJCZ0JgaQ8HOc3Vxd13T3VXAMLXA==
- dependencies:
- "@storybook/client-logger" "7.0.10"
- "@storybook/core-common" "7.0.10"
- chalk "^4.1.0"
- detect-package-manager "^2.0.1"
- fetch-retry "^5.0.2"
- fs-extra "^11.1.0"
- isomorphic-unfetch "^3.1.0"
- nanoid "^3.3.1"
- read-pkg-up "^7.0.1"
-
-"@storybook/testing-library@^0.0.14-next.2":
- version "0.0.14-next.2"
- resolved "https://registry.yarnpkg.com/@storybook/testing-library/-/testing-library-0.0.14-next.2.tgz#458e6c7623118e24826ba73b80db0a887f3f57e8"
- integrity sha512-i/SLSGm0o978ELok/SB4Qg1sZ3zr+KuuCkzyFqcCD0r/yf+bG35aQGkFqqxfSAdDxuQom0NO02FE+qys5Eapdg==
- dependencies:
- "@storybook/client-logger" "^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0"
- "@storybook/instrumenter" "^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0"
- "@testing-library/dom" "^8.3.0"
- "@testing-library/user-event" "^13.2.1"
- ts-dedent "^2.2.0"
-
-"@storybook/theming@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.0.10.tgz#e69231c61ecf486d73f6a8c61cb1aa09eea18898"
- integrity sha512-kKxIMElOUAyIAJOlhU6NS6/F6KpZLWvfGnUYC5V4f5Rsu+lKnbWI/TJ1rCIooz2wZBQ6dv+fjA3sOh5K+LRh2w==
- dependencies:
- "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0"
- "@storybook/client-logger" "7.0.10"
- "@storybook/global" "^5.0.0"
- memoizerific "^1.11.3"
-
-"@storybook/types@7.0.10":
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.0.10.tgz#04bf81374fc6c519693b61546ddd8dd4d47fda97"
- integrity sha512-mFktvN8PjjDFJSjck4spikmjtr0AwfOhcEtIf4UCmUD5JHgGppkQmvO6483nGcprSFcWOvD2uYGs8Wp32wG/MQ==
- dependencies:
- "@storybook/channels" "7.0.10"
- "@types/babel__core" "^7.0.0"
- "@types/express" "^4.7.0"
- file-system-cache "^2.0.0"
-
-"@storybook/types@7.0.11":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.0.11.tgz#b4b0dfd68cf1558f10b30616997c55f37aff8c41"
- integrity sha512-VOnef/u/HvYbk6LxWkwMlu31VD1ly6BTyHDOMUfYas03uNflX1KldGooWphmXVFrkkoLJoF5V4wsTShHSizi2A==
- dependencies:
- "@storybook/channels" "7.0.11"
- "@types/babel__core" "^7.0.0"
- "@types/express" "^4.7.0"
- file-system-cache "^2.0.0"
-
-"@testing-library/dom@^8.3.0":
- version "8.20.0"
- resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.0.tgz#914aa862cef0f5e89b98cc48e3445c4c921010f6"
- integrity sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/runtime" "^7.12.5"
- "@types/aria-query" "^5.0.1"
- aria-query "^5.0.0"
- chalk "^4.1.0"
- dom-accessibility-api "^0.5.9"
- lz-string "^1.4.4"
- pretty-format "^27.0.2"
-
-"@testing-library/user-event@^13.2.1":
- version "13.5.0"
- resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295"
- integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==
- dependencies:
- "@babel/runtime" "^7.12.5"
-
"@tootallnate/once@2":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
@@ -3028,161 +860,11 @@
"@tufjs/canonical-json" "1.0.0"
minimatch "^9.0.0"
-"@types/aria-query@^5.0.1":
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc"
- integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==
-
-"@types/babel__core@^7.0.0":
- version "7.20.0"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891"
- integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==
- dependencies:
- "@babel/parser" "^7.20.7"
- "@babel/types" "^7.20.7"
- "@types/babel__generator" "*"
- "@types/babel__template" "*"
- "@types/babel__traverse" "*"
-
-"@types/babel__generator@*":
- version "7.6.4"
- resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7"
- integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@types/babel__template@*":
- version "7.4.1"
- resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969"
- integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==
- dependencies:
- "@babel/parser" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@types/babel__traverse@*":
- version "7.18.5"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.5.tgz#c107216842905afafd3b6e774f6f935da6f5db80"
- integrity sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==
- dependencies:
- "@babel/types" "^7.3.0"
-
-"@types/body-parser@*":
- version "1.19.2"
- resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0"
- integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==
- dependencies:
- "@types/connect" "*"
- "@types/node" "*"
-
-"@types/connect@*":
- version "3.4.35"
- resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
- integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
- dependencies:
- "@types/node" "*"
-
-"@types/detect-port@^1.3.0":
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/@types/detect-port/-/detect-port-1.3.2.tgz#8c06a975e472803b931ee73740aeebd0a2eb27ae"
- integrity sha512-xxgAGA2SAU4111QefXPSp5eGbDm/hW6zhvYl9IeEPZEry9F4d66QAHm5qpUXjb6IsevZV/7emAEx5MhP6O192g==
-
-"@types/doctrine@^0.0.3":
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/@types/doctrine/-/doctrine-0.0.3.tgz#e892d293c92c9c1d3f9af72c15a554fbc7e0895a"
- integrity sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==
-
-"@types/draco3d@^1.4.0":
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/@types/draco3d/-/draco3d-1.4.2.tgz#7faccb809db2a5e19b9efb97c5f2eb9d64d527ea"
- integrity sha512-goh23EGr6CLV6aKPwN1p8kBD/7tT5V/bLpToSbarKrwVejqNrspVrv8DhliteYkkhZYrlq/fwKZRRUzH4XN88w==
-
-"@types/ejs@^3.1.1":
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-3.1.2.tgz#75d277b030bc11b3be38c807e10071f45ebc78d9"
- integrity sha512-ZmiaE3wglXVWBM9fyVC17aGPkLo/UgaOjEiI2FXQfyczrCefORPxIe+2dVmnmk3zkVIbizjrlQzmPGhSYGXG5g==
-
-"@types/escodegen@^0.0.6":
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/@types/escodegen/-/escodegen-0.0.6.tgz#5230a9ce796e042cda6f086dbf19f22ea330659c"
- integrity sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==
-
"@types/estree@1.0.6", "@types/estree@^1.0.0":
version "1.0.6"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50"
integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==
-"@types/estree@^0.0.51":
- version "0.0.51"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
- integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
-
-"@types/express-serve-static-core@^4.17.33":
- version "4.17.34"
- resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz#c119e85b75215178bc127de588e93100698ab4cc"
- integrity sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==
- dependencies:
- "@types/node" "*"
- "@types/qs" "*"
- "@types/range-parser" "*"
- "@types/send" "*"
-
-"@types/express@^4.7.0":
- version "4.17.17"
- resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4"
- integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==
- dependencies:
- "@types/body-parser" "*"
- "@types/express-serve-static-core" "^4.17.33"
- "@types/qs" "*"
- "@types/serve-static" "*"
-
-"@types/find-cache-dir@^3.2.1":
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz#7b959a4b9643a1e6a1a5fe49032693cc36773501"
- integrity sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==
-
-"@types/glob@^7.1.3":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb"
- integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==
- dependencies:
- "@types/minimatch" "*"
- "@types/node" "*"
-
-"@types/glob@^8.0.0":
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc"
- integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==
- dependencies:
- "@types/minimatch" "^5.1.2"
- "@types/node" "*"
-
-"@types/graceful-fs@^4.1.3":
- version "4.1.6"
- resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae"
- integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==
- dependencies:
- "@types/node" "*"
-
-"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
- integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==
-
-"@types/istanbul-lib-report@*":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
- integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
- dependencies:
- "@types/istanbul-lib-coverage" "*"
-
-"@types/istanbul-reports@^3.0.0":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
- integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
- dependencies:
- "@types/istanbul-lib-report" "*"
-
"@types/json-schema@^7.0.9":
version "7.0.11"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
@@ -3193,131 +875,38 @@
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
-"@types/lodash@^4.14.167":
- version "4.14.194"
- resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76"
- integrity sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==
-
-"@types/mdx@^2.0.0":
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.5.tgz#9a85a8f70c7c4d9e695a21d5ae5c93645eda64b1"
- integrity sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==
-
-"@types/mime-types@^2.1.0":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.1.tgz#d9ba43490fa3a3df958759adf69396c3532cf2c1"
- integrity sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==
-
-"@types/mime@*":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10"
- integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==
-
-"@types/mime@^1":
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a"
- integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==
-
-"@types/minimatch@*", "@types/minimatch@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
- integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
-
"@types/minimist@^1.2.0":
version "1.2.2"
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
-"@types/node-fetch@^2.5.7":
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.3.tgz#175d977f5e24d93ad0f57602693c435c57ad7e80"
- integrity sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==
+"@types/node@^22.10.7":
+ version "22.10.7"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.7.tgz#14a1ca33fd0ebdd9d63593ed8d3fbc882a6d28d7"
+ integrity sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==
dependencies:
- "@types/node" "*"
- form-data "^3.0.0"
-
-"@types/node@*":
- version "20.1.3"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.1.3.tgz#bc8e7cd8065a5fc355a3a191a68db8019c58bc00"
- integrity sha512-NP2yfZpgmf2eDRPmgGq+fjGjSwFgYbihA8/gK+ey23qT9RkxsgNTZvGOEpXgzIGqesTYkElELLgtKoMQTys5vA==
-
-"@types/node@^16.0.0":
- version "16.18.29"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.29.tgz#4b5e19b078513fa5e828b98aede649525e5d1750"
- integrity sha512-cal+XTYF4JBwG82kw3m9ktTOyUj7GXcO9i2o+t49y/OF+3asYfpHqTROF1UbV91e71g/UB5wNeL5hfqPthzp8Q==
+ undici-types "~6.20.0"
"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1":
version "2.4.1"
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
-"@types/npmlog@^4.1.2":
- version "4.1.4"
- resolved "https://registry.yarnpkg.com/@types/npmlog/-/npmlog-4.1.4.tgz#30eb872153c7ead3e8688c476054ddca004115f6"
- integrity sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ==
-
-"@types/offscreencanvas@^2019.6.4":
- version "2019.7.0"
- resolved "https://registry.yarnpkg.com/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz#e4a932069db47bb3eabeb0b305502d01586fa90d"
- integrity sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==
-
-"@types/pretty-hrtime@^1.0.0":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz#72a26101dc567b0d68fd956cf42314556e42d601"
- integrity sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==
-
-"@types/prop-types@*":
- version "15.7.5"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
- integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
-
-"@types/qs@*", "@types/qs@^6.9.5":
- version "6.9.7"
- resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
- integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
-
-"@types/range-parser@*":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
- integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
-
-"@types/react-dom@^18.2.1":
- version "18.2.1"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.1.tgz#663b2612feb5f6431a70207430d7c04881b87f29"
- integrity sha512-8QZEV9+Kwy7tXFmjJrp3XUKQSs9LTnE0KnoUb0YCguWBiNW0Yfb2iBMYZ08WPg35IR6P3Z0s00B15SwZnO26+w==
- dependencies:
- "@types/react" "*"
-
-"@types/react-reconciler@^0.26.7":
- version "0.26.7"
- resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.26.7.tgz#0c4643f30821ae057e401b0d9037e03e8e9b2a36"
- integrity sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==
- dependencies:
- "@types/react" "*"
-
-"@types/react-reconciler@^0.28.0":
- version "0.28.2"
- resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.28.2.tgz#f16b0e8cc4748af70ca975eaaace0d79582c71fa"
- integrity sha512-8tu6lHzEgYPlfDf/J6GOQdIc+gs+S2yAqlby3zTsB3SP2svlqTYe5fwZNtZyfactP74ShooP2vvi1BOp9ZemWw==
- dependencies:
- "@types/react" "*"
+"@types/react-dom@^19.0.2":
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.0.2.tgz#ad21f9a1ee881817995fd3f7fd33659c87e7b1b7"
+ integrity sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==
-"@types/react@*", "@types/react@^18.2.0":
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.0.tgz#15cda145354accfc09a18d2f2305f9fc099ada21"
- integrity sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
+"@types/react-reconciler@^0.28.9":
+ version "0.28.9"
+ resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.28.9.tgz#d24b4864c384e770c83275b3fe73fba00269c83b"
+ integrity sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==
-"@types/react@>=16":
- version "18.2.6"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.6.tgz#5cd53ee0d30ffc193b159d3516c8c8ad2f19d571"
- integrity sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==
+"@types/react@^19.0.2":
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.2.tgz#9363e6b3ef898c471cb182dd269decc4afc1b4f6"
+ integrity sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==
dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
csstype "^3.0.2"
"@types/retry@0.12.0":
@@ -3325,86 +914,31 @@
resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d"
integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==
-"@types/scheduler@*":
- version "0.16.3"
- resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5"
- integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==
-
"@types/semver@^7.3.12":
version "7.3.13"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91"
integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==
-"@types/semver@^7.3.4":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a"
- integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==
-
-"@types/send@*":
- version "0.17.1"
- resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301"
- integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==
- dependencies:
- "@types/mime" "^1"
- "@types/node" "*"
-
-"@types/serve-static@*":
- version "1.15.1"
- resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.1.tgz#86b1753f0be4f9a1bee68d459fcda5be4ea52b5d"
- integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==
- dependencies:
- "@types/mime" "*"
- "@types/node" "*"
-
"@types/stats.js@*":
version "0.17.0"
resolved "https://registry.yarnpkg.com/@types/stats.js/-/stats.js-0.17.0.tgz#0ed81d48e03b590c24da85540c1d952077a9fe20"
integrity sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==
-"@types/three@^0.150.2":
- version "0.150.2"
- resolved "https://registry.yarnpkg.com/@types/three/-/three-0.150.2.tgz#6f36b299a3d21416cc07342cc87accffbde32db4"
- integrity sha512-cvcz/81Mmj4oiAA+uxzwaRK3t8lYw8WxejXKqIBfu6PqvwSAEEiCi3VfCiVY18UflBqL0LDX/za85+sfqjMoIw==
+"@types/three@^0.156.0":
+ version "0.156.0"
+ resolved "https://registry.yarnpkg.com/@types/three/-/three-0.156.0.tgz#cd49f2a12e858400962ea818d1e1c45e638141a8"
+ integrity sha512-733bXDSRdlrxqOmQuOmfC1UBRuJ2pREPk8sWnx9MtIJEVDQMx8U0NQO5MVVaOrjzDPyLI+cFPim2X/ss9v0+LQ==
dependencies:
"@types/stats.js" "*"
"@types/webxr" "*"
- fflate "~0.6.9"
- lil-gui "~0.17.0"
-
-"@types/unist@^2.0.0":
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
- integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
+ fflate "~0.6.10"
+ meshoptimizer "~0.18.1"
"@types/webxr@*":
version "0.5.1"
resolved "https://registry.yarnpkg.com/@types/webxr/-/webxr-0.5.1.tgz#4908349419104bd476a4252d04e4c3abb496748d"
integrity sha512-xlFXPfgJR5vIuDefhaHuUM9uUgvPaXB6GKdXy2gdEh8gBWQZ2ul24AJz3foUd8NNKlSTQuWYJpCb1/pL81m1KQ==
-"@types/webxr@^0.5.2":
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/@types/webxr/-/webxr-0.5.2.tgz#5d9627b0ffe223aa3b166de7112ac8a9460dc54f"
- integrity sha512-szL74BnIcok9m7QwYtVmQ+EdIKwbjPANudfuvDrAF8Cljg9MKUlIoc1w5tjj9PMpeSH3U1Xnx//czQybJ0EfSw==
-
-"@types/yargs-parser@*":
- version "21.0.0"
- resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
- integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
-
-"@types/yargs@^16.0.0":
- version "16.0.5"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.5.tgz#12cc86393985735a283e387936398c2f9e5f88e3"
- integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==
- dependencies:
- "@types/yargs-parser" "*"
-
-"@types/yargs@^17.0.8":
- version "17.0.24"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902"
- integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==
- dependencies:
- "@types/yargs-parser" "*"
-
"@typescript-eslint/eslint-plugin@^5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz#9b09ee1541bff1d2cebdcb87e7ce4a4003acde08"
@@ -3439,14 +973,6 @@
"@typescript-eslint/types" "5.59.1"
"@typescript-eslint/visitor-keys" "5.59.1"
-"@typescript-eslint/scope-manager@5.59.5":
- version "5.59.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.5.tgz#33ffc7e8663f42cfaac873de65ebf65d2bce674d"
- integrity sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A==
- dependencies:
- "@typescript-eslint/types" "5.59.5"
- "@typescript-eslint/visitor-keys" "5.59.5"
-
"@typescript-eslint/type-utils@5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz#63981d61684fd24eda2f9f08c0a47ecb000a2111"
@@ -3462,11 +988,6 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.1.tgz#03f3fedd1c044cb336ebc34cc7855f121991f41d"
integrity sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==
-"@typescript-eslint/types@5.59.5":
- version "5.59.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.5.tgz#e63c5952532306d97c6ea432cee0981f6d2258c7"
- integrity sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w==
-
"@typescript-eslint/typescript-estree@5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz#4aa546d27fd0d477c618f0ca00b483f0ec84c43c"
@@ -3480,19 +1001,6 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/typescript-estree@5.59.5":
- version "5.59.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.5.tgz#9b252ce55dd765e972a7a2f99233c439c5101e42"
- integrity sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg==
- dependencies:
- "@typescript-eslint/types" "5.59.5"
- "@typescript-eslint/visitor-keys" "5.59.5"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
"@typescript-eslint/utils@5.59.1":
version "5.59.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.1.tgz#d89fc758ad23d2157cfae53f0b429bdf15db9473"
@@ -3507,58 +1015,13 @@
eslint-scope "^5.1.1"
semver "^7.3.7"
-"@typescript-eslint/utils@^5.45.0":
- version "5.59.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.5.tgz#15b3eb619bb223302e60413adb0accd29c32bcae"
- integrity sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA==
- dependencies:
- "@eslint-community/eslint-utils" "^4.2.0"
- "@types/json-schema" "^7.0.9"
- "@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.59.5"
- "@typescript-eslint/types" "5.59.5"
- "@typescript-eslint/typescript-estree" "5.59.5"
- eslint-scope "^5.1.1"
- semver "^7.3.7"
-
-"@typescript-eslint/visitor-keys@5.59.1":
- version "5.59.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz#0d96c36efb6560d7fb8eb85de10442c10d8f6058"
- integrity sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==
- dependencies:
- "@typescript-eslint/types" "5.59.1"
- eslint-visitor-keys "^3.3.0"
-
-"@typescript-eslint/visitor-keys@5.59.5":
- version "5.59.5"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.5.tgz#ba5b8d6791a13cf9fea6716af1e7626434b29b9b"
- integrity sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA==
- dependencies:
- "@typescript-eslint/types" "5.59.5"
- eslint-visitor-keys "^3.3.0"
-
-"@use-gesture/core@10.2.26":
- version "10.2.26"
- resolved "https://registry.yarnpkg.com/@use-gesture/core/-/core-10.2.26.tgz#c2fc4aa7d36cee7319a98a898b0698c66b01663e"
- integrity sha512-NyFpQ3iID9iFBROXyyvU1D0NK+t+dP+WAVByhCvqHUenpxLD2NlRLVRpoK3XGGwksr6mU3PvZ2Nm4q0q+gLJPA==
-
-"@use-gesture/react@^10.2.24":
- version "10.2.26"
- resolved "https://registry.yarnpkg.com/@use-gesture/react/-/react-10.2.26.tgz#593549fed30ebcac71cfd197993eaede0795c098"
- integrity sha512-0QhaE5mhaQbFlip4MX7n1nwCX8gax6Da1LsP2fZ/BU6xW9zyEmV6NX7DPelDxq1rr2NiBJh30vx9RIp80YeA/A==
- dependencies:
- "@use-gesture/core" "10.2.26"
-
-"@vitejs/plugin-react@^3.0.1":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240"
- integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==
+"@typescript-eslint/visitor-keys@5.59.1":
+ version "5.59.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz#0d96c36efb6560d7fb8eb85de10442c10d8f6058"
+ integrity sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==
dependencies:
- "@babel/core" "^7.20.12"
- "@babel/plugin-transform-react-jsx-self" "^7.18.6"
- "@babel/plugin-transform-react-jsx-source" "^7.19.6"
- magic-string "^0.27.0"
- react-refresh "^0.14.0"
+ "@typescript-eslint/types" "5.59.1"
+ eslint-visitor-keys "^3.3.0"
"@vitest/expect@2.1.8":
version "2.1.8"
@@ -3619,18 +1082,6 @@
loupe "^3.1.2"
tinyrainbow "^1.2.0"
-"@webgpu/glslang@^0.0.15":
- version "0.0.15"
- resolved "https://registry.yarnpkg.com/@webgpu/glslang/-/glslang-0.0.15.tgz#f5ccaf6015241e6175f4b90906b053f88483d1f2"
- integrity sha512-niT+Prh3Aff8Uf1MVBVUsaNjFj9rJAKDXuoHIKiQbB+6IUP/3J3JIhBNyZ7lDhytvXxw6ppgnwKZdDJ08UMj4Q==
-
-"@yarnpkg/esbuild-plugin-pnp@^3.0.0-rc.10":
- version "3.0.0-rc.15"
- resolved "https://registry.yarnpkg.com/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz#4e40e7d2eb28825c9a35ab9d04c363931d7c0e67"
- integrity sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==
- dependencies:
- tslib "^2.4.0"
-
JSONStream@^1.0.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
@@ -3656,44 +1107,16 @@ abort-controller@^3.0.0:
dependencies:
event-target-shim "^5.0.0"
-accepts@~1.3.5, accepts@~1.3.8:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
- integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
- dependencies:
- mime-types "~2.1.34"
- negotiator "0.6.3"
-
-acorn-jsx@^5.3.1, acorn-jsx@^5.3.2:
+acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-acorn-walk@^7.2.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
- integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
-
-acorn@^7.4.1:
- version "7.4.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
- integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-
acorn@^8.8.0:
version "8.8.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
-address@^1.0.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e"
- integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==
-
-agent-base@5:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c"
- integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==
-
agent-base@6, agent-base@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -3736,20 +1159,6 @@ ajv@^6.10.0, ajv@^6.12.4:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-ansi-align@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
- integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
- dependencies:
- string-width "^4.1.0"
-
-ansi-escapes@^4.3.0:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
- integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
- dependencies:
- type-fest "^0.21.3"
-
ansi-escapes@^6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.0.tgz#8a13ce75286f417f1963487d86ba9f90dccf9947"
@@ -3762,11 +1171,6 @@ ansi-regex@^5.0.1:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-ansi-regex@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
- integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
-
ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
@@ -3781,34 +1185,11 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0:
dependencies:
color-convert "^2.0.1"
-ansi-styles@^5.0.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
- integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
-
-ansi-styles@^6.0.0:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
- integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
-
ansicolors@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979"
integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==
-anymatch@^3.0.3, anymatch@~3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-app-root-dir@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118"
- integrity sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==
-
"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
@@ -3819,14 +1200,6 @@ archy@~1.0.0:
resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==
-are-we-there-yet@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c"
- integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==
- dependencies:
- delegates "^1.0.0"
- readable-stream "^3.6.0"
-
are-we-there-yet@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd"
@@ -3843,13 +1216,6 @@ are-we-there-yet@^4.0.0:
delegates "^1.0.0"
readable-stream "^4.1.0"
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
argparse@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
@@ -3860,13 +1226,6 @@ argv-formatter@~1.0.0:
resolved "https://registry.yarnpkg.com/argv-formatter/-/argv-formatter-1.0.0.tgz#a0ca0cbc29a5b73e836eebe1cbf6c5e0e4eb82f9"
integrity sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==
-aria-query@^5.0.0:
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e"
- integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==
- dependencies:
- deep-equal "^2.0.5"
-
array-buffer-byte-length@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
@@ -3875,11 +1234,6 @@ array-buffer-byte-length@^1.0.0:
call-bind "^1.0.2"
is-array-buffer "^3.0.1"
-array-flatten@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
- integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
-
array-ify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
@@ -3937,113 +1291,22 @@ arrify@^1.0.1:
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
-assert@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32"
- integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==
- dependencies:
- es6-object-assign "^1.1.0"
- is-nan "^1.2.1"
- object-is "^1.0.1"
- util "^0.12.0"
-
assertion-error@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7"
integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==
-ast-types@0.15.2:
- version "0.15.2"
- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.15.2.tgz#39ae4809393c4b16df751ee563411423e85fb49d"
- integrity sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==
- dependencies:
- tslib "^2.0.1"
-
-ast-types@^0.14.2:
- version "0.14.2"
- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd"
- integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==
- dependencies:
- tslib "^2.0.1"
-
-ast-types@^0.16.1:
- version "0.16.1"
- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.16.1.tgz#7a9da1617c9081bc121faafe91711b4c8bb81da2"
- integrity sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==
- dependencies:
- tslib "^2.0.1"
-
-astral-regex@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
- integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
-
-async-limiter@~1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
- integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
-
-async@^3.2.3:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
- integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
- integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
-
available-typed-arrays@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
-babel-core@^7.0.0-bridge.0:
- version "7.0.0-bridge.0"
- resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
- integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
-
-babel-plugin-istanbul@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73"
- integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@istanbuljs/load-nyc-config" "^1.0.0"
- "@istanbuljs/schema" "^0.1.2"
- istanbul-lib-instrument "^5.0.4"
- test-exclude "^6.0.0"
-
-babel-plugin-polyfill-corejs2@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122"
- integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==
- dependencies:
- "@babel/compat-data" "^7.17.7"
- "@babel/helper-define-polyfill-provider" "^0.3.3"
- semver "^6.1.1"
-
-babel-plugin-polyfill-corejs3@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a"
- integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.3"
- core-js-compat "^3.25.1"
-
-babel-plugin-polyfill-regenerator@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747"
- integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.3"
-
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-base64-js@^1.3.1:
+base64-js@^1.3.1, base64-js@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -4053,25 +1316,6 @@ before-after-hook@^2.2.0:
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c"
integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==
-better-opn@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6"
- integrity sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==
- dependencies:
- open "^7.0.3"
-
-bidi-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bidi-js/-/bidi-js-1.0.2.tgz#1a497a762c2ddea377429d2649c9ce0f8a91527f"
- integrity sha512-rzSy/k7WdX5zOyeHHCOixGXbCHkyogkxPKL2r8QtzHmVQDiWCXUWa18bLdMWT9CYMLOYTjWpTHawuev2ouYJVw==
- dependencies:
- require-from-string "^2.0.2"
-
-big-integer@^1.6.44:
- version "1.6.51"
- resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686"
- integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
-
bin-links@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.1.tgz#afeb0549e642f61ff889b58ea2f8dca78fb9d8d3"
@@ -4082,64 +1326,16 @@ bin-links@^4.0.1:
read-cmd-shim "^4.0.0"
write-file-atomic "^5.0.0"
-binary-extensions@^2.0.0, binary-extensions@^2.2.0:
+binary-extensions@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-bl@^4.0.3:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
- integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
- dependencies:
- buffer "^5.5.0"
- inherits "^2.0.4"
- readable-stream "^3.4.0"
-
-body-parser@1.20.1:
- version "1.20.1"
- resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
- integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
- dependencies:
- bytes "3.1.2"
- content-type "~1.0.4"
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- on-finished "2.4.1"
- qs "6.11.0"
- raw-body "2.5.1"
- type-is "~1.6.18"
- unpipe "1.0.0"
-
bottleneck@^2.18.1:
version "2.19.5"
resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91"
integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==
-boxen@^5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50"
- integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==
- dependencies:
- ansi-align "^3.0.0"
- camelcase "^6.2.0"
- chalk "^4.1.0"
- cli-boxes "^2.2.1"
- string-width "^4.2.2"
- type-fest "^0.20.2"
- widest-line "^3.1.0"
- wrap-ansi "^7.0.0"
-
-bplist-parser@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e"
- integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==
- dependencies:
- big-integer "^1.6.44"
-
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -4155,60 +1351,13 @@ brace-expansion@^2.0.1:
dependencies:
balanced-match "^1.0.0"
-braces@^3.0.2, braces@~3.0.2:
+braces@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
dependencies:
fill-range "^7.0.1"
-browser-assert@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200"
- integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==
-
-browserify-zlib@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
- integrity sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==
- dependencies:
- pako "~0.2.0"
-
-browserslist@^4.21.3, browserslist@^4.21.5:
- version "4.21.5"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7"
- integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==
- dependencies:
- caniuse-lite "^1.0.30001449"
- electron-to-chromium "^1.4.284"
- node-releases "^2.0.8"
- update-browserslist-db "^1.0.10"
-
-bser@2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
- integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
- dependencies:
- node-int64 "^0.4.0"
-
-buffer-crc32@~0.2.3:
- version "0.2.13"
- resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
- integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==
-
-buffer-from@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
- integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-
-buffer@^5.5.0:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
- integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.1.13"
-
buffer@^6.0.3:
version "6.0.3"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
@@ -4224,34 +1373,6 @@ builtins@^5.0.0:
dependencies:
semver "^7.0.0"
-bytes@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
- integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==
-
-bytes@3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
- integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
-
-c8@^7.6.0:
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/c8/-/c8-7.13.0.tgz#a2a70a851278709df5a9247d62d7f3d4bcb5f2e4"
- integrity sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==
- dependencies:
- "@bcoe/v8-coverage" "^0.2.3"
- "@istanbuljs/schema" "^0.1.3"
- find-up "^5.0.0"
- foreground-child "^2.0.0"
- istanbul-lib-coverage "^3.2.0"
- istanbul-lib-report "^3.0.0"
- istanbul-reports "^3.1.4"
- rimraf "^3.0.2"
- test-exclude "^6.0.0"
- v8-to-istanbul "^9.0.0"
- yargs "^16.2.0"
- yargs-parser "^20.2.9"
-
cac@^6.7.14:
version "6.7.14"
resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959"
@@ -4326,21 +1447,6 @@ camelcase@^5.3.1:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-camelcase@^6.2.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
- integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-
-camera-controls@^2.3.1:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/camera-controls/-/camera-controls-2.3.4.tgz#f372b5a4012b474df0ed0c67da7a3198d7efee0b"
- integrity sha512-swhc87YVHf9te0glBI7Oa/QBgsSCL4ZxtoR4V3vE6l7mEebsYRNL8y7Y2m2E6MrT0UTphM1S7mQqs0Sp7QTZ2g==
-
-caniuse-lite@^1.0.30001449:
- version "1.0.30001486"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz#56a08885228edf62cbe1ac8980f2b5dae159997e"
- integrity sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==
-
cardinal@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505"
@@ -4360,11 +1466,6 @@ chai@^5.1.2:
loupe "^3.1.0"
pathval "^2.0.0"
-chalk@5.2.0, chalk@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3"
- integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==
-
chalk@^2.0.0, chalk@^2.3.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -4374,7 +1475,7 @@ chalk@^2.0.0, chalk@^2.3.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2:
+chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -4382,49 +1483,22 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+chalk@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3"
+ integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==
+
check-error@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc"
integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==
-chevrotain@^10.1.2:
- version "10.5.0"
- resolved "https://registry.yarnpkg.com/chevrotain/-/chevrotain-10.5.0.tgz#9c1dc62ef0753bb562dbe521b5f72d041bad624e"
- integrity sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==
- dependencies:
- "@chevrotain/cst-dts-gen" "10.5.0"
- "@chevrotain/gast" "10.5.0"
- "@chevrotain/types" "10.5.0"
- "@chevrotain/utils" "10.5.0"
- lodash "4.17.21"
- regexp-to-ast "0.5.0"
-
-chokidar@^3.5.3:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
- integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-chownr@^1.1.1:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
- integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
chownr@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
-ci-info@^3.2.0, ci-info@^3.6.1, ci-info@^3.7.1, ci-info@^3.8.0:
+ci-info@^3.6.1, ci-info@^3.7.1, ci-info@^3.8.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
@@ -4448,11 +1522,6 @@ clean-stack@^4.0.0:
dependencies:
escape-string-regexp "5.0.0"
-cli-boxes@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
- integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
-
cli-columns@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646"
@@ -4461,14 +1530,7 @@ cli-columns@^4.0.0:
string-width "^4.2.3"
strip-ansi "^6.0.1"
-cli-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
- integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
- dependencies:
- restore-cursor "^3.1.0"
-
-cli-table3@^0.6.1, cli-table3@^0.6.3:
+cli-table3@^0.6.3:
version "0.6.3"
resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2"
integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==
@@ -4477,23 +1539,7 @@ cli-table3@^0.6.1, cli-table3@^0.6.3:
optionalDependencies:
"@colors/colors" "1.5.0"
-cli-truncate@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
- integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
- dependencies:
- slice-ansi "^3.0.0"
- string-width "^4.2.0"
-
-cli-truncate@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389"
- integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==
- dependencies:
- slice-ansi "^5.0.0"
- string-width "^5.0.0"
-
-cliui@^7.0.2, cliui@^7.0.4:
+cliui@^7.0.4:
version "7.0.4"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
@@ -4511,15 +1557,6 @@ cliui@^8.0.1:
strip-ansi "^6.0.1"
wrap-ansi "^7.0.0"
-clone-deep@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
- integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
- dependencies:
- is-plain-object "^2.0.4"
- kind-of "^6.0.2"
- shallow-clone "^3.0.0"
-
clone@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
@@ -4554,16 +1591,11 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-color-support@^1.1.2, color-support@^1.1.3:
+color-support@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
-colorette@^2.0.19:
- version "2.0.20"
- resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
- integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
-
columnify@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3"
@@ -4572,38 +1604,11 @@ columnify@^1.6.0:
strip-ansi "^6.0.1"
wcwidth "^1.0.0"
-combined-stream@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
-commander@^10.0.0:
- version "10.0.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
- integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
-
-commander@^2.19.0:
- version "2.20.3"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
- integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-
-commander@^6.2.1:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
- integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
-
common-ancestor-path@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7"
integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
- integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
-
compare-func@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3"
@@ -4612,41 +1617,11 @@ compare-func@^2.0.0:
array-ify "^1.0.0"
dot-prop "^5.1.0"
-compressible@~2.0.16:
- version "2.0.18"
- resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
- integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
- dependencies:
- mime-db ">= 1.43.0 < 2"
-
-compression@^1.7.4:
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
- integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
- dependencies:
- accepts "~1.3.5"
- bytes "3.0.0"
- compressible "~2.0.16"
- debug "2.6.9"
- on-headers "~1.0.2"
- safe-buffer "5.1.2"
- vary "~1.1.2"
-
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-concat-stream@^1.6.2:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
- integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
config-chain@^1.1.11:
version "1.1.13"
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
@@ -4655,23 +1630,11 @@ config-chain@^1.1.11:
ini "^1.3.4"
proto-list "~1.2.1"
-console-control-strings@^1.0.0, console-control-strings@^1.1.0:
+console-control-strings@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
-content-disposition@0.5.4:
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
- integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
- dependencies:
- safe-buffer "5.2.1"
-
-content-type@~1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
- integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
-
conventional-changelog-angular@^5.0.0:
version "5.0.13"
resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
@@ -4715,33 +1678,6 @@ conventional-commits-parser@^3.2.3:
split2 "^3.0.0"
through2 "^4.0.0"
-convert-source-map@^1.6.0, convert-source-map@^1.7.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
- integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
-
-convert-source-map@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
- integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-
-cookie-signature@1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
- integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
-
-cookie@0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
- integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
-
-core-js-compat@^3.25.1:
- version "3.30.2"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.2.tgz#83f136e375babdb8c80ad3c22d67c69098c1dd8b"
- integrity sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==
- dependencies:
- browserslist "^4.21.5"
-
core-util-is@~1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
@@ -4766,11 +1702,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
-crypto-random-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
- integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
-
crypto-random-string@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2"
@@ -4793,18 +1724,6 @@ dateformat@^3.0.0:
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
-debounce@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5"
- integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==
-
-debug@2.6.9, debug@^2.6.9:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
@@ -4844,48 +1763,16 @@ deep-eql@^5.0.1:
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341"
integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==
-deep-equal@^2.0.5:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.1.tgz#c72ab22f3a7d3503a4ca87dde976fe9978816739"
- integrity sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==
- dependencies:
- array-buffer-byte-length "^1.0.0"
- call-bind "^1.0.2"
- es-get-iterator "^1.1.3"
- get-intrinsic "^1.2.0"
- is-arguments "^1.1.1"
- is-array-buffer "^3.0.2"
- is-date-object "^1.0.5"
- is-regex "^1.1.4"
- is-shared-array-buffer "^1.0.2"
- isarray "^2.0.5"
- object-is "^1.1.5"
- object-keys "^1.1.1"
- object.assign "^4.1.4"
- regexp.prototype.flags "^1.5.0"
- side-channel "^1.0.4"
- which-boxed-primitive "^1.0.2"
- which-collection "^1.0.1"
- which-typed-array "^1.1.9"
-
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-deep-is@^0.1.3, deep-is@~0.1.3:
+deep-is@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-default-browser-id@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c"
- integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==
- dependencies:
- bplist-parser "^0.2.0"
- untildify "^4.0.0"
-
defaults@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a"
@@ -4893,11 +1780,6 @@ defaults@^1.0.3:
dependencies:
clone "^1.0.2"
-define-lazy-prop@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f"
- integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
-
define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
@@ -4906,36 +1788,12 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0:
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"
-defu@^6.1.2:
- version "6.1.2"
- resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.2.tgz#1217cba167410a1765ba93893c6dbac9ed9d9e5c"
- integrity sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==
-
-del@^6.0.0:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a"
- integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==
- dependencies:
- globby "^11.0.1"
- graceful-fs "^4.2.4"
- is-glob "^4.0.1"
- is-path-cwd "^2.2.0"
- is-path-inside "^3.0.2"
- p-map "^4.0.0"
- rimraf "^3.0.2"
- slash "^3.0.0"
-
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
- integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
-depd@2.0.0, depd@^2.0.0:
+depd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
@@ -4945,43 +1803,6 @@ deprecation@^2.0.0, deprecation@^2.3.1:
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
-dequal@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
- integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
-
-destroy@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
- integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
-
-detect-gpu@^5.0.14:
- version "5.0.23"
- resolved "https://registry.yarnpkg.com/detect-gpu/-/detect-gpu-5.0.23.tgz#b1a36f24ce0e15c33bc2dcf08ab21b1a6f4b973b"
- integrity sha512-16bbvNSuGxlznAj7XNW8/7M/EtPuWoSGk1X1EJCipQ/F5JQK6tWMdU2xVInXGTRUMKmsDtZg+trnZ/bj0Vt/EA==
- dependencies:
- webgl-constants "^1.1.1"
-
-detect-indent@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
- integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
-
-detect-package-manager@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/detect-package-manager/-/detect-package-manager-2.0.1.tgz#6b182e3ae5e1826752bfef1de9a7b828cffa50d8"
- integrity sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==
- dependencies:
- execa "^5.1.1"
-
-detect-port@^1.3.0:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b"
- integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==
- dependencies:
- address "^1.0.1"
- debug "4"
-
diff@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40"
@@ -5008,87 +1829,25 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
-dom-accessibility-api@^0.5.9:
- version "0.5.16"
- resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453"
- integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==
-
dot-prop@^5.1.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
- integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
- dependencies:
- is-obj "^2.0.0"
-
-dotenv-expand@^10.0.0:
- version "10.0.0"
- resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37"
- integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==
-
-dotenv@^16.0.0:
- version "16.0.3"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07"
- integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==
-
-draco3d@^1.4.1:
- version "1.5.6"
- resolved "https://registry.yarnpkg.com/draco3d/-/draco3d-1.5.6.tgz#0d570a9792e3a3a9fafbfea065b692940441c626"
- integrity sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ==
-
-duplexer2@~0.1.0:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
- integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==
- dependencies:
- readable-stream "^2.0.2"
-
-duplexify@^3.5.0, duplexify@^3.6.0:
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
- integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
- dependencies:
- end-of-stream "^1.0.0"
- inherits "^2.0.1"
- readable-stream "^2.0.0"
- stream-shift "^1.0.0"
-
-eastasianwidth@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
- integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
-
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
- integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
-
-ejs@^3.1.8:
- version "3.1.9"
- resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361"
- integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
+ integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
dependencies:
- jake "^10.8.5"
+ is-obj "^2.0.0"
-electron-to-chromium@^1.4.284:
- version "1.4.392"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.392.tgz#57ec91fa02393ab32e46df6925ef309642a44680"
- integrity sha512-TXQOMW9tnhIms3jGy/lJctLjICOgyueZFJ1KUtm6DTQ+QpxX3p7ZBwB6syuZ9KBuT5S4XX7bgY1ECPgfxKUdOg==
+duplexer2@~0.1.0:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
+ integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==
+ dependencies:
+ readable-stream "^2.0.2"
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-emoji-regex@^9.2.2:
- version "9.2.2"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
- integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
-
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
- integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
-
encoding@^0.1.13:
version "0.1.13"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
@@ -5096,13 +1855,6 @@ encoding@^0.1.13:
dependencies:
iconv-lite "^0.6.2"
-end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
env-ci@^9.0.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/env-ci/-/env-ci-9.1.0.tgz#ed05a5ce98938efe536e448bb649403fe26ca337"
@@ -5116,11 +1868,6 @@ env-paths@^2.2.0:
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
-envinfo@^7.7.3:
- version "7.8.1"
- resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
- integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
-
err-code@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9"
@@ -5173,26 +1920,6 @@ es-abstract@^1.19.0, es-abstract@^1.20.4:
unbox-primitive "^1.0.2"
which-typed-array "^1.1.9"
-es-get-iterator@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6"
- integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.3"
- has-symbols "^1.0.3"
- is-arguments "^1.1.1"
- is-map "^2.0.2"
- is-set "^2.0.2"
- is-string "^1.0.7"
- isarray "^2.0.5"
- stop-iteration-iterator "^1.0.0"
-
-es-module-lexer@^0.9.3:
- version "0.9.3"
- resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
- integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==
-
es-module-lexer@^1.5.4:
version "1.5.4"
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78"
@@ -5223,24 +1950,7 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
-es6-object-assign@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
- integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==
-
-esbuild-plugin-alias@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz#45a86cb941e20e7c2bc68a2bea53562172494fcb"
- integrity sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==
-
-esbuild-register@^3.4.0:
- version "3.4.2"
- resolved "https://registry.yarnpkg.com/esbuild-register/-/esbuild-register-3.4.2.tgz#1e39ee0a77e8f320a9790e68c64c3559620b9175"
- integrity sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==
- dependencies:
- debug "^4.3.4"
-
-esbuild@^0.17.0, esbuild@^0.17.5:
+esbuild@^0.17.5:
version "0.17.18"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.18.tgz#f4f8eb6d77384d68cd71c53eb6601c7efe05e746"
integrity sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==
@@ -5302,11 +2012,6 @@ escalade@^3.1.1:
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
- integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
-
escape-string-regexp@5.0.0, escape-string-regexp@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"
@@ -5322,18 +2027,6 @@ escape-string-regexp@^4.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-escodegen@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
- integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==
- dependencies:
- esprima "^4.0.1"
- estraverse "^5.2.0"
- esutils "^2.0.2"
- optionator "^0.8.1"
- optionalDependencies:
- source-map "~0.6.1"
-
eslint-config-prettier@^8.8.0:
version "8.8.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348"
@@ -5414,16 +2107,6 @@ eslint-plugin-react@^7.32.2:
semver "^6.3.0"
string.prototype.matchall "^4.0.8"
-eslint-plugin-storybook@^0.6.12:
- version "0.6.12"
- resolved "https://registry.yarnpkg.com/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.12.tgz#7bdb3392bb03bebde40ed19accfd61246e9d6301"
- integrity sha512-XbIvrq6hNVG6rpdBr+eBw63QhOMLpZneQVSooEDow8aQCWGCk/5vqtap1yxpVydNfSxi3S/3mBBRLQqKUqQRww==
- dependencies:
- "@storybook/csf" "^0.0.1"
- "@typescript-eslint/utils" "^5.45.0"
- requireindex "^1.1.0"
- ts-dedent "^2.2.0"
-
eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
@@ -5500,7 +2183,7 @@ espree@^9.5.1:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.4.0"
-esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
+esprima@~4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
@@ -5529,20 +2212,6 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-estree-to-babel@^3.1.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/estree-to-babel/-/estree-to-babel-3.2.1.tgz#82e78315275c3ca74475fdc8ac1a5103c8a75bf5"
- integrity sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==
- dependencies:
- "@babel/traverse" "^7.1.6"
- "@babel/types" "^7.2.0"
- c8 "^7.6.0"
-
-estree-walker@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
- integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
-
estree-walker@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d"
@@ -5555,11 +2224,6 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
- integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
-
event-target-shim@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
@@ -5570,21 +2234,6 @@ events@^3.3.0:
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-execa@^5.0.0, execa@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
- integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
- dependencies:
- cross-spawn "^7.0.3"
- get-stream "^6.0.0"
- human-signals "^2.1.0"
- is-stream "^2.0.0"
- merge-stream "^2.0.0"
- npm-run-path "^4.0.1"
- onetime "^5.1.2"
- signal-exit "^3.0.3"
- strip-final-newline "^2.0.0"
-
execa@^7.0.0:
version "7.1.1"
resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43"
@@ -5605,58 +2254,6 @@ expect-type@^1.1.0:
resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.1.0.tgz#a146e414250d13dfc49eafcfd1344a4060fa4c75"
integrity sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==
-express@^4.17.3:
- version "4.18.2"
- resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
- integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
- dependencies:
- accepts "~1.3.8"
- array-flatten "1.1.1"
- body-parser "1.20.1"
- content-disposition "0.5.4"
- content-type "~1.0.4"
- cookie "0.5.0"
- cookie-signature "1.0.6"
- debug "2.6.9"
- depd "2.0.0"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- finalhandler "1.2.0"
- fresh "0.5.2"
- http-errors "2.0.0"
- merge-descriptors "1.0.1"
- methods "~1.1.2"
- on-finished "2.4.1"
- parseurl "~1.3.3"
- path-to-regexp "0.1.7"
- proxy-addr "~2.0.7"
- qs "6.11.0"
- range-parser "~1.2.1"
- safe-buffer "5.2.1"
- send "0.18.0"
- serve-static "1.15.0"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- type-is "~1.6.18"
- utils-merge "1.0.1"
- vary "~1.1.2"
-
-extend@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-extract-zip@^1.6.6:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
- integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==
- dependencies:
- concat-stream "^1.6.2"
- debug "^2.6.9"
- mkdirp "^0.5.4"
- yauzl "^2.10.0"
-
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -5678,12 +2275,12 @@ fast-glob@^3.2.9:
merge2 "^1.3.0"
micromatch "^4.0.4"
-fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
+fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
+fast-levenshtein@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
@@ -5700,26 +2297,7 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
-fb-watchman@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c"
- integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==
- dependencies:
- bser "2.1.1"
-
-fd-slicer@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
- integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==
- dependencies:
- pend "~1.2.0"
-
-fetch-retry@^5.0.2:
- version "5.0.5"
- resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-5.0.5.tgz#61079b816b6651d88a022ebd45d51d83aa72b521"
- integrity sha512-q9SvpKH5Ka6h7X2C6r1sP31pQoeDb3o6/R9cg21ahfPAqbIOkW9tus1dXfwYb6G6dOI4F7nVS4Q+LSssBGIz0A==
-
-fflate@^0.6.9, fflate@~0.6.9:
+fflate@~0.6.10:
version "0.6.10"
resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.6.10.tgz#5f40f9659205936a2d18abf88b2e7781662b6d43"
integrity sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==
@@ -5746,21 +2324,6 @@ file-entry-cache@^6.0.1:
dependencies:
flat-cache "^3.0.4"
-file-system-cache@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-2.1.1.tgz#25bb4019f7d62b458f4bed45452b638e41f6412b"
- integrity sha512-vgZ1uDsK29DM4pptUOv47zdJO2tYM5M/ERyAE9Jk0QBN6e64Md+a+xJSOp68dCCDH4niFMVD8nC8n8A5ic0bmg==
- dependencies:
- fs-extra "^11.1.0"
- ramda "^0.28.0"
-
-filelist@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
- integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
- dependencies:
- minimatch "^5.0.1"
-
fill-range@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
@@ -5768,37 +2331,6 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"
-finalhandler@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
- integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
- dependencies:
- debug "2.6.9"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- on-finished "2.4.1"
- parseurl "~1.3.3"
- statuses "2.0.1"
- unpipe "~1.0.0"
-
-find-cache-dir@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
- integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
- dependencies:
- commondir "^1.0.1"
- make-dir "^2.0.0"
- pkg-dir "^3.0.0"
-
-find-cache-dir@^3.0.0:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b"
- integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
- dependencies:
- commondir "^1.0.1"
- make-dir "^3.0.2"
- pkg-dir "^4.1.0"
-
find-up@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
@@ -5806,14 +2338,7 @@ find-up@^2.0.0:
dependencies:
locate-path "^2.0.0"
-find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
-find-up@^4.0.0, find-up@^4.1.0:
+find-up@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
@@ -5857,11 +2382,6 @@ flatted@^3.1.0:
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
-flow-parser@0.*:
- version "0.206.0"
- resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.206.0.tgz#f4f794f8026535278393308e01ea72f31000bfef"
- integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==
-
for-each@^0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
@@ -5869,14 +2389,6 @@ for-each@^0.3.3:
dependencies:
is-callable "^1.1.3"
-foreground-child@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53"
- integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==
- dependencies:
- cross-spawn "^7.0.0"
- signal-exit "^3.0.2"
-
foreground-child@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d"
@@ -5885,25 +2397,6 @@ foreground-child@^3.1.0:
cross-spawn "^7.0.0"
signal-exit "^4.0.1"
-form-data@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
- integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.8"
- mime-types "^2.1.12"
-
-forwarded@0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
- integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
-
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
- integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
-
from2@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
@@ -5912,12 +2405,7 @@ from2@^2.3.0:
inherits "^2.0.1"
readable-stream "^2.0.0"
-fs-constants@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
- integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-
-fs-extra@^11.0.0, fs-extra@^11.1.0:
+fs-extra@^11.0.0:
version "11.1.1"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d"
integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==
@@ -5945,7 +2433,7 @@ fs.realpath@^1.0.0:
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-fsevents@^2.3.2, fsevents@~2.3.2:
+fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
@@ -5975,21 +2463,6 @@ functions-have-names@^1.2.2, functions-have-names@^1.2.3:
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
-gauge@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395"
- integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==
- dependencies:
- aproba "^1.0.3 || ^2.0.0"
- color-support "^1.1.2"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.1"
- object-assign "^4.1.1"
- signal-exit "^3.0.0"
- string-width "^4.2.3"
- strip-ansi "^6.0.1"
- wide-align "^1.1.2"
-
gauge@^4.0.3:
version "4.0.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce"
@@ -6018,11 +2491,6 @@ gauge@^5.0.0:
strip-ansi "^6.0.1"
wide-align "^1.1.5"
-gensync@^1.0.0-beta.2:
- version "1.0.0-beta.2"
- resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
- integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-
get-caller-file@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
@@ -6037,21 +2505,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@
has "^1.0.3"
has-symbols "^1.0.3"
-get-npm-tarball-url@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/get-npm-tarball-url/-/get-npm-tarball-url-2.0.3.tgz#67dff908d699e9e2182530ae6e939a93e5f8dfdb"
- integrity sha512-R/PW6RqyaBQNWYaSyfrh54/qtcnOp22FHCCiRhSSZj0FP3KQWCsxxt0DzIdVTbwTqe9CtQfvl/FPD4UIPt4pqw==
-
-get-package-type@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
- integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
-
-get-port@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193"
- integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==
-
get-stream@^6.0.0, get-stream@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
@@ -6065,19 +2518,6 @@ get-symbol-description@^1.0.0:
call-bind "^1.0.2"
get-intrinsic "^1.1.1"
-giget@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/giget/-/giget-1.1.2.tgz#f99a49cb0ff85479c8c3612cdc7ca27f2066e818"
- integrity sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==
- dependencies:
- colorette "^2.0.19"
- defu "^6.1.2"
- https-proxy-agent "^5.0.1"
- mri "^1.2.0"
- node-fetch-native "^1.0.2"
- pathe "^1.1.0"
- tar "^6.1.13"
-
git-log-parser@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/git-log-parser/-/git-log-parser-1.2.0.tgz#2e6a4c1b13fc00028207ba795a7ac31667b9fd4a"
@@ -6090,12 +2530,7 @@ git-log-parser@^1.2.0:
through2 "~2.0.0"
traverse "~0.6.6"
-github-slugger@^1.0.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d"
- integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==
-
-glob-parent@^5.1.2, glob-parent@~5.1.2:
+glob-parent@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -6109,36 +2544,6 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
-glob-promise@^4.2.0:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-4.2.2.tgz#15f44bcba0e14219cd93af36da6bb905ff007877"
- integrity sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==
- dependencies:
- "@types/glob" "^7.1.3"
-
-glob-promise@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-6.0.2.tgz#7c7f2a223e3aaa8f7bd7ff5f24d0ab2352724b31"
- integrity sha512-Ni2aDyD1ekD6x8/+K4hDriRDbzzfuK4yKpqSymJ4P7IxbtARiOOuU+k40kbHM0sLIlbf1Qh0qdMkAHMZYE6XJQ==
- dependencies:
- "@types/glob" "^8.0.0"
-
-glob-to-regexp@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
- integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
-
-glob@^10.0.0:
- version "10.2.2"
- resolved "https://registry.yarnpkg.com/glob/-/glob-10.2.2.tgz#ce2468727de7e035e8ecf684669dc74d0526ab75"
- integrity sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==
- dependencies:
- foreground-child "^3.1.0"
- jackspeak "^2.0.3"
- minimatch "^9.0.0"
- minipass "^5.0.0"
- path-scurry "^1.7.0"
-
glob@^10.2.2, glob@^10.2.4:
version "10.2.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-10.2.6.tgz#1e27edbb3bbac055cb97113e27a066c100a4e5e1"
@@ -6150,7 +2555,7 @@ glob@^10.2.2, glob@^10.2.4:
minipass "^5.0.0 || ^6.0.2"
path-scurry "^1.7.0"
-glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0:
+glob@^7.1.3, glob@^7.1.4:
version "7.2.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
@@ -6162,7 +2567,7 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^8.0.1, glob@^8.1.0:
+glob@^8.0.1:
version "8.1.0"
resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
@@ -6173,11 +2578,6 @@ glob@^8.0.1, glob@^8.1.0:
minimatch "^5.0.1"
once "^1.3.0"
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
globals@^13.19.0:
version "13.20.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
@@ -6192,7 +2592,7 @@ globalthis@^1.0.3:
dependencies:
define-properties "^1.1.3"
-globby@^11.0.0, globby@^11.0.1, globby@^11.0.2, globby@^11.1.0:
+globby@^11.0.0, globby@^11.1.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
@@ -6204,11 +2604,6 @@ globby@^11.0.0, globby@^11.0.1, globby@^11.0.2, globby@^11.1.0:
merge2 "^1.4.1"
slash "^3.0.0"
-glsl-noise@^0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/glsl-noise/-/glsl-noise-0.0.0.tgz#367745f3a33382c0eeec4cb54b7e99cfc1d7670b"
- integrity sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==
-
gopd@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
@@ -6221,7 +2616,7 @@ graceful-fs@4.2.10:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
-graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.6:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
@@ -6231,18 +2626,6 @@ grapheme-splitter@^1.0.4:
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
-gunzip-maybe@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz#b913564ae3be0eda6f3de36464837a9cd94b98ac"
- integrity sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==
- dependencies:
- browserify-zlib "^0.1.4"
- is-deflate "^1.0.0"
- is-gzip "^1.0.0"
- peek-stream "^1.1.0"
- pumpify "^1.3.3"
- through2 "^2.0.3"
-
handlebars@^4.7.7:
version "4.7.7"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
@@ -6335,32 +2718,11 @@ hosted-git-info@^6.0.0, hosted-git-info@^6.1.1:
dependencies:
lru-cache "^7.5.1"
-html-escaper@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
- integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
-
-html-tags@^3.1.0:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce"
- integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==
-
http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a"
integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==
-http-errors@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
- integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
- dependencies:
- depd "2.0.0"
- inherits "2.0.4"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- toidentifier "1.0.1"
-
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -6370,15 +2732,7 @@ http-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
-https-proxy-agent@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b"
- integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==
- dependencies:
- agent-base "5"
- debug "4"
-
-https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
+https-proxy-agent@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
@@ -6386,11 +2740,6 @@ https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
agent-base "6"
debug "4"
-human-signals@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
- integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-
human-signals@^4.3.0:
version "4.3.1"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2"
@@ -6403,18 +2752,6 @@ humanize-ms@^1.2.1:
dependencies:
ms "^2.0.0"
-husky@^8.0.3:
- version "8.0.3"
- resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184"
- integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==
-
-iconv-lite@0.4.24:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
iconv-lite@^0.6.2:
version "0.6.3"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
@@ -6422,7 +2759,7 @@ iconv-lite@^0.6.2:
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
-ieee754@^1.1.13, ieee754@^1.2.1:
+ieee754@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
@@ -6480,7 +2817,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -6508,7 +2845,7 @@ init-package-json@^5.0.0:
validate-npm-package-license "^3.0.4"
validate-npm-package-name "^5.0.0"
-internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5:
+internal-slot@^1.0.3, internal-slot@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
@@ -6517,11 +2854,6 @@ internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5:
has "^1.0.3"
side-channel "^1.0.4"
-interpret@^1.0.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
- integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
-
into-stream@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-7.0.0.tgz#d1a211e146be8acfdb84dabcbf00fe8205e72936"
@@ -6540,24 +2872,6 @@ ip@^2.0.0:
resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da"
integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==
-ipaddr.js@1.9.1:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
- integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
-
-is-absolute-url@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698"
- integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==
-
-is-arguments@^1.0.4, is-arguments@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
- integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
@@ -6579,13 +2893,6 @@ is-bigint@^1.0.1:
dependencies:
has-bigints "^1.0.1"
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
is-boolean-object@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
@@ -6620,23 +2927,13 @@ is-core-module@^2.5.0, is-core-module@^2.8.1:
dependencies:
has "^1.0.3"
-is-date-object@^1.0.1, is-date-object@^1.0.5:
+is-date-object@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
dependencies:
has-tostringtag "^1.0.0"
-is-deflate@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14"
- integrity sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==
-
-is-docker@^2.0.0, is-docker@^2.1.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
- integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
-
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -6647,48 +2944,18 @@ is-fullwidth-code-point@^3.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-is-fullwidth-code-point@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88"
- integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==
-
-is-generator-function@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
- integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
dependencies:
is-extglob "^2.1.1"
-is-gzip@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83"
- integrity sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==
-
is-lambda@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5"
integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==
-is-map@^2.0.1, is-map@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
- integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
-
-is-nan@^1.2.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d"
- integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==
- dependencies:
- call-bind "^1.0.0"
- define-properties "^1.1.3"
-
is-negative-zero@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
@@ -6711,12 +2978,7 @@ is-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-is-path-cwd@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
- integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
-
-is-path-inside@^3.0.2, is-path-inside@^3.0.3:
+is-path-inside@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
@@ -6726,18 +2988,11 @@ is-plain-obj@^1.1.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
-is-plain-object@5.0.0, is-plain-object@^5.0.0:
+is-plain-object@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
-is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
is-regex@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
@@ -6746,11 +3001,6 @@ is-regex@^1.1.4:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
-is-set@^2.0.1, is-set@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec"
- integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==
-
is-shared-array-buffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
@@ -6758,11 +3008,6 @@ is-shared-array-buffer@^1.0.2:
dependencies:
call-bind "^1.0.2"
-is-stream@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
- integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-
is-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
@@ -6789,7 +3034,7 @@ is-text-path@^1.0.1:
dependencies:
text-extensions "^1.0.0"
-is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9:
+is-typed-array@^1.1.10, is-typed-array@^1.1.9:
version "1.1.10"
resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
@@ -6805,11 +3050,6 @@ is-unicode-supported@^1.2.0:
resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714"
integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==
-is-weakmap@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2"
- integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==
-
is-weakref@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
@@ -6817,26 +3057,6 @@ is-weakref@^1.0.2:
dependencies:
call-bind "^1.0.2"
-is-weakset@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d"
- integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.1"
-
-is-wsl@^2.1.1, is-wsl@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
- dependencies:
- is-docker "^2.0.0"
-
-isarray@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
- integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
-
isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
@@ -6847,19 +3067,6 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
- integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
-
-isomorphic-unfetch@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f"
- integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==
- dependencies:
- node-fetch "^2.6.1"
- unfetch "^4.2.0"
-
issue-parser@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/issue-parser/-/issue-parser-6.0.0.tgz#b1edd06315d4f2044a9755daf85fdafde9b4014a"
@@ -6871,45 +3078,12 @@ issue-parser@^6.0.0:
lodash.isstring "^4.0.1"
lodash.uniqby "^4.7.0"
-istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
- integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==
-
-istanbul-lib-instrument@^5.0.4:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d"
- integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==
- dependencies:
- "@babel/core" "^7.12.3"
- "@babel/parser" "^7.14.7"
- "@istanbuljs/schema" "^0.1.2"
- istanbul-lib-coverage "^3.2.0"
- semver "^6.3.0"
-
-istanbul-lib-report@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
- integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==
- dependencies:
- istanbul-lib-coverage "^3.0.0"
- make-dir "^3.0.0"
- supports-color "^7.1.0"
-
-istanbul-reports@^3.1.4:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae"
- integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==
- dependencies:
- html-escaper "^2.0.0"
- istanbul-lib-report "^3.0.0"
-
-its-fine@^1.0.6:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/its-fine/-/its-fine-1.1.1.tgz#e74b93fddd487441f978a50f64f0f5af4d2fc38e"
- integrity sha512-v1Ia1xl20KbuSGlwoaGsW0oxsw8Be+TrXweidxD9oT/1lAh6O3K3/GIM95Tt6WCiv6W+h2M7RB1TwdoAjQyyKw==
+its-fine@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/its-fine/-/its-fine-2.0.0.tgz#a90b18a3ee4c211a1fb6faac2abcc2b682ce1f21"
+ integrity sha512-KLViCmWx94zOvpLwSlsx6yOCeMhZYaxrJV87Po5k/FoZzcPSahvK5qJ7fYhS61sZi5ikmh2S3Hz55A2l3U69ng==
dependencies:
- "@types/react-reconciler" "^0.28.0"
+ "@types/react-reconciler" "^0.28.9"
jackspeak@^2.0.3:
version "2.1.0"
@@ -6920,75 +3094,11 @@ jackspeak@^2.0.3:
optionalDependencies:
"@pkgjs/parseargs" "^0.11.0"
-jake@^10.8.5:
- version "10.8.5"
- resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
- integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
- dependencies:
- async "^3.2.3"
- chalk "^4.0.2"
- filelist "^1.0.1"
- minimatch "^3.0.4"
-
java-properties@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211"
integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==
-jest-haste-map@^29.5.0:
- version "29.5.0"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.5.0.tgz#69bd67dc9012d6e2723f20a945099e972b2e94de"
- integrity sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==
- dependencies:
- "@jest/types" "^29.5.0"
- "@types/graceful-fs" "^4.1.3"
- "@types/node" "*"
- anymatch "^3.0.3"
- fb-watchman "^2.0.0"
- graceful-fs "^4.2.9"
- jest-regex-util "^29.4.3"
- jest-util "^29.5.0"
- jest-worker "^29.5.0"
- micromatch "^4.0.4"
- walker "^1.0.8"
- optionalDependencies:
- fsevents "^2.3.2"
-
-jest-mock@^27.0.6:
- version "27.5.1"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6"
- integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==
- dependencies:
- "@jest/types" "^27.5.1"
- "@types/node" "*"
-
-jest-regex-util@^29.4.3:
- version "29.4.3"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8"
- integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==
-
-jest-util@^29.5.0:
- version "29.5.0"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f"
- integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==
- dependencies:
- "@jest/types" "^29.5.0"
- "@types/node" "*"
- chalk "^4.0.0"
- ci-info "^3.2.0"
- graceful-fs "^4.2.9"
- picomatch "^2.2.3"
-
-jest-worker@^29.5.0:
- version "29.5.0"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.5.0.tgz#bdaefb06811bd3384d93f009755014d8acb4615d"
- integrity sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==
- dependencies:
- "@types/node" "*"
- jest-util "^29.5.0"
- merge-stream "^2.0.0"
- supports-color "^8.0.0"
-
js-sdsl@^4.1.4:
version "4.4.0"
resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430"
@@ -6999,14 +3109,6 @@ js-sdsl@^4.1.4:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-yaml@^3.13.1:
- version "3.14.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
- integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
js-yaml@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
@@ -7014,41 +3116,6 @@ js-yaml@^4.1.0:
dependencies:
argparse "^2.0.1"
-jscodeshift@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.14.0.tgz#7542e6715d6d2e8bde0b4e883f0ccea358b46881"
- integrity sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==
- dependencies:
- "@babel/core" "^7.13.16"
- "@babel/parser" "^7.13.16"
- "@babel/plugin-proposal-class-properties" "^7.13.0"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8"
- "@babel/plugin-proposal-optional-chaining" "^7.13.12"
- "@babel/plugin-transform-modules-commonjs" "^7.13.8"
- "@babel/preset-flow" "^7.13.13"
- "@babel/preset-typescript" "^7.13.0"
- "@babel/register" "^7.13.16"
- babel-core "^7.0.0-bridge.0"
- chalk "^4.1.2"
- flow-parser "0.*"
- graceful-fs "^4.2.4"
- micromatch "^4.0.4"
- neo-async "^2.5.0"
- node-dir "^0.1.17"
- recast "^0.21.0"
- temp "^0.8.4"
- write-file-atomic "^2.3.0"
-
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-jsesc@~0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
- integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
-
json-parse-better-errors@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
@@ -7091,11 +3158,6 @@ json5@^1.0.2:
dependencies:
minimist "^1.2.0"
-json5@^2.2.2:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
- integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
-
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
@@ -7128,35 +3190,11 @@ just-diff@^6.0.0:
resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285"
integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==
-kind-of@^6.0.2, kind-of@^6.0.3:
+kind-of@^6.0.3:
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
-kleur@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
- integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
-
-ktx-parse@^0.4.5:
- version "0.4.5"
- resolved "https://registry.yarnpkg.com/ktx-parse/-/ktx-parse-0.4.5.tgz#79905e22281a9d3e602b2ff522df1ee7d1813aa6"
- integrity sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg==
-
-lazy-universal-dotenv@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz#0b220c264e89a042a37181a4928cdd298af73422"
- integrity sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==
- dependencies:
- app-root-dir "^1.0.2"
- dotenv "^16.0.0"
- dotenv-expand "^10.0.0"
-
-leven@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
- integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
-
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
@@ -7165,14 +3203,6 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
-levn@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
- integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==
- dependencies:
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
-
libnpmaccess@^7.0.2:
version "7.0.2"
resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-7.0.2.tgz#7f056c8c933dd9c8ba771fa6493556b53c5aac52"
@@ -7284,18 +3314,8 @@ libnpmversion@^4.0.2:
"@npmcli/git" "^4.0.1"
"@npmcli/run-script" "^6.0.0"
json-parse-even-better-errors "^3.0.0"
- proc-log "^3.0.0"
- semver "^7.3.7"
-
-lil-gui@~0.17.0:
- version "0.17.0"
- resolved "https://registry.yarnpkg.com/lil-gui/-/lil-gui-0.17.0.tgz#b41ae55d0023fcd9185f7395a218db0f58189663"
- integrity sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==
-
-lilconfig@2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
- integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
+ proc-log "^3.0.0"
+ semver "^7.3.7"
lines-and-columns@^1.1.6:
version "1.2.4"
@@ -7307,39 +3327,6 @@ lines-and-columns@^2.0.3:
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.3.tgz#b2f0badedb556b747020ab8ea7f0373e22efac1b"
integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==
-lint-staged@^13.2.2:
- version "13.2.2"
- resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.2.tgz#5e711d3139c234f73402177be2f8dd312e6508ca"
- integrity sha512-71gSwXKy649VrSU09s10uAT0rWCcY3aewhMaHyl2N84oBk4Xs9HgxvUp3AYu+bNsK4NrOYYxvSgg7FyGJ+jGcA==
- dependencies:
- chalk "5.2.0"
- cli-truncate "^3.1.0"
- commander "^10.0.0"
- debug "^4.3.4"
- execa "^7.0.0"
- lilconfig "2.1.0"
- listr2 "^5.0.7"
- micromatch "^4.0.5"
- normalize-path "^3.0.0"
- object-inspect "^1.12.3"
- pidtree "^0.6.0"
- string-argv "^0.3.1"
- yaml "^2.2.2"
-
-listr2@^5.0.7:
- version "5.0.8"
- resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.8.tgz#a9379ffeb4bd83a68931a65fb223a11510d6ba23"
- integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==
- dependencies:
- cli-truncate "^2.1.0"
- colorette "^2.0.19"
- log-update "^4.0.0"
- p-map "^4.0.0"
- rfdc "^1.3.0"
- rxjs "^7.8.0"
- through "^2.3.8"
- wrap-ansi "^7.0.0"
-
load-json-file@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
@@ -7358,14 +3345,6 @@ locate-path@^2.0.0:
p-locate "^2.0.0"
path-exists "^3.0.0"
-locate-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
- integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
- dependencies:
- p-locate "^3.0.0"
- path-exists "^3.0.0"
-
locate-path@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
@@ -7397,16 +3376,6 @@ lodash.capitalize@^4.2.1:
resolved "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9"
integrity sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==
-lodash.clamp@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/lodash.clamp/-/lodash.clamp-4.0.3.tgz#5c24bedeeeef0753560dc2b4cb4671f90a6ddfaa"
- integrity sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg==
-
-lodash.debounce@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
- integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
-
lodash.escaperegexp@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347"
@@ -7432,37 +3401,17 @@ lodash.merge@^4.6.2:
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-lodash.omit@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60"
- integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==
-
-lodash.pick@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
- integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==
-
lodash.uniqby@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302"
integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==
-lodash@4.17.21, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4:
+lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-log-update@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
- integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
- dependencies:
- ansi-escapes "^4.3.0"
- cli-cursor "^3.1.0"
- slice-ansi "^4.0.0"
- wrap-ansi "^6.2.0"
-
-loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -7474,13 +3423,6 @@ loupe@^3.1.0, loupe@^3.1.2:
resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.2.tgz#c86e0696804a02218f2206124c45d8b15291a240"
integrity sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- dependencies:
- yallist "^3.0.2"
-
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
@@ -7498,28 +3440,11 @@ lru-cache@^9.0.0:
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.1.tgz#c58a93de58630b688de39ad04ef02ef26f1902f1"
integrity sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==
-lz-string@^1.4.4:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941"
- integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==
-
-maath@^0.5.2:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/maath/-/maath-0.5.3.tgz#777a1f9b8463c6ffb199ea43406874a357c0cd58"
- integrity sha512-ut63A4zTd9abtpi+sOHW1fPWPtAFrjK0E17eAthx1k93W/T2cWLKV5oaswyotJVDvvW1EXSdokAqhK5KOu0Qdw==
-
maath@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/maath/-/maath-0.6.0.tgz#7841d0fb95bbb37d19b08b7c5458ef70190950d2"
integrity sha512-dSb2xQuP7vDnaYqfoKzlApeRcR2xtN8/f7WV/TMAkBC8552TwTLtOO0JTcSygkYMjNDPoo6V01jTw/aPi4JrMw==
-magic-string@^0.27.0:
- version "0.27.0"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
- integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==
- dependencies:
- "@jridgewell/sourcemap-codec" "^1.4.13"
-
magic-string@^0.30.12:
version "0.30.17"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453"
@@ -7527,21 +3452,6 @@ magic-string@^0.30.12:
dependencies:
"@jridgewell/sourcemap-codec" "^1.5.0"
-make-dir@^2.0.0, make-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
- integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
- dependencies:
- pify "^4.0.1"
- semver "^5.6.0"
-
-make-dir@^3.0.0, make-dir@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
make-fetch-happen@^10.0.3:
version "10.2.1"
resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164"
@@ -7585,13 +3495,6 @@ make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.1.0,
socks-proxy-agent "^7.0.0"
ssri "^10.0.0"
-makeerror@1.0.12:
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
- integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
- dependencies:
- tmpl "1.0.5"
-
map-obj@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
@@ -7602,16 +3505,6 @@ map-obj@^4.0.0:
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
-map-or-similar@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08"
- integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==
-
-markdown-to-jsx@^7.1.8:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.2.0.tgz#e7b46b65955f6a04d48a753acd55874a14bdda4b"
- integrity sha512-3l4/Bigjm4bEqjCR6Xr+d4DtM1X6vvtGsMGSjJYyep8RjjIvcWtrXBS8Wbfe1/P+atKNMccpsraESIaWVplzVg==
-
marked-terminal@^5.1.1:
version "5.2.0"
resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-5.2.0.tgz#c5370ec2bae24fb2b34e147b731c94fa933559d3"
@@ -7629,30 +3522,6 @@ marked@^4.1.0:
resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3"
integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==
-mdast-util-definitions@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2"
- integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==
- dependencies:
- unist-util-visit "^2.0.0"
-
-mdast-util-to-string@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527"
- integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==
-
-media-typer@0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
- integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
-
-memoizerific@^1.11.3:
- version "1.11.3"
- resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a"
- integrity sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==
- dependencies:
- map-or-similar "^1.5.0"
-
meow@^8.0.0:
version "8.1.2"
resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897"
@@ -7670,11 +3539,6 @@ meow@^8.0.0:
type-fest "^0.18.0"
yargs-parser "^20.2.3"
-merge-descriptors@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
- integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
-
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -7685,17 +3549,12 @@ merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-meshline@^3.1.6:
- version "3.1.6"
- resolved "https://registry.yarnpkg.com/meshline/-/meshline-3.1.6.tgz#eee67d9b0fd9841652cc1dc2d3833093ae8e68ca"
- integrity sha512-8JZJOdaL5oz3PI/upG8JvP/5FfzYUOhrkJ8np/WKvXzl0/PZ2V9pqTvCIjSKv+w9ccg2xb+yyBhXAwt6ier3ug==
-
-methods@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
- integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
+meshoptimizer@~0.18.1:
+ version "0.18.1"
+ resolved "https://registry.yarnpkg.com/meshoptimizer/-/meshoptimizer-0.18.1.tgz#cdb90907f30a7b5b1190facd3b7ee6b7087797d8"
+ integrity sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==
-micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
+micromatch@^4.0.2, micromatch@^4.0.4:
version "4.0.5"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
@@ -7703,38 +3562,11 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
braces "^3.0.2"
picomatch "^2.3.1"
-mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
- version "1.52.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
- integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-
-mime-types@^2.1.12, mime-types@^2.1.25, mime-types@~2.1.24, mime-types@~2.1.34:
- version "2.1.35"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
- integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
- dependencies:
- mime-db "1.52.0"
-
-mime@1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
-mime@^2.0.3:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
- integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
-
mime@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7"
integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==
-mimic-fn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
mimic-fn@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
@@ -7745,7 +3577,7 @@ min-indent@^1.0.0:
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
-minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
+minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -7875,54 +3707,22 @@ minizlib@^2.1.1, minizlib@^2.1.2:
minipass "^3.0.0"
yallist "^4.0.0"
-mkdirp-classic@^0.5.2:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
- integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
-
-mkdirp@^0.5.4:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
- integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
- dependencies:
- minimist "^1.2.6"
-
mkdirp@^1.0.3, mkdirp@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-mmd-parser@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mmd-parser/-/mmd-parser-1.0.4.tgz#87cc05782cb5974ca854f0303fc5147bc9d690e7"
- integrity sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg==
-
modify-values@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==
-mri@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
- integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-
-ms@2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
- integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
-
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.2, ms@^2.1.3:
+ms@^2.0.0, ms@^2.1.1, ms@^2.1.2, ms@^2.1.3:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -7932,12 +3732,12 @@ mute-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e"
integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==
-n8ao@^1.6.6:
- version "1.6.6"
- resolved "https://registry.yarnpkg.com/n8ao/-/n8ao-1.6.6.tgz#d444b3778ca05f48a3cc9b1d43d8847d86f98c2b"
- integrity sha512-sOu+wsJzrxd3ZMDQBVbzTt8Z3d8sQvdkZgt5top9ysVbvs1a0lpFGYxGPCxUW+rJfD9Y/QrTYn9IfW7AOqGqvw==
+n8ao@^1.9.4:
+ version "1.9.4"
+ resolved "https://registry.yarnpkg.com/n8ao/-/n8ao-1.9.4.tgz#be222531fddcb5099614be452fc492db98a2947d"
+ integrity sha512-gbpAorQecZn2oGK/rheHxPTNwOxVsEC6216+Jr9tXHUk9L5VCE2q/uxsSrQpfNkZDoCmQHf7oSg3SYFWCAt0wg==
-nanoid@^3.3.1, nanoid@^3.3.6:
+nanoid@^3.3.6:
version "3.3.6"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
@@ -7957,12 +3757,12 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-negotiator@0.6.3, negotiator@^0.6.3:
+negotiator@^0.6.3:
version "0.6.3"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
-neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:
+neo-async@^2.6.0:
version "2.6.2"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
@@ -7972,13 +3772,6 @@ nerf-dart@^1.0.0:
resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a"
integrity sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==
-node-dir@^0.1.10, node-dir@^0.1.17:
- version "0.1.17"
- resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5"
- integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==
- dependencies:
- minimatch "^3.0.2"
-
node-emoji@^1.11.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c"
@@ -7986,18 +3779,6 @@ node-emoji@^1.11.0:
dependencies:
lodash "^4.17.21"
-node-fetch-native@^1.0.2:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.1.1.tgz#b8977dd7fe6c5599e417301ed3987bca787d3d6f"
- integrity sha512-9VvspTSUp2Sxbl+9vbZTlFGq9lHwE8GDVVekxx6YsNd1YH59sb3Ba8v3Y3cD8PkLNcileGGcA21PFjVl0jzDaw==
-
-node-fetch@^2.6.1:
- version "2.6.11"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25"
- integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==
- dependencies:
- whatwg-url "^5.0.0"
-
node-fetch@^2.6.7:
version "2.6.9"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6"
@@ -8021,16 +3802,6 @@ node-gyp@^9.0.0, node-gyp@^9.3.1:
tar "^6.1.2"
which "^2.0.2"
-node-int64@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
- integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
-
-node-releases@^2.0.8:
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f"
- integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==
-
nopt@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d"
@@ -8075,11 +3846,6 @@ normalize-package-data@^5.0.0:
semver "^7.3.5"
validate-npm-package-license "^3.0.4"
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
normalize-url@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.0.tgz#593dbd284f743e8dcf6a5ddf8fadff149c82701a"
@@ -8159,13 +3925,6 @@ npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0.3, npm-registry-fetch@^14.0
npm-package-arg "^10.0.0"
proc-log "^3.0.0"
-npm-run-path@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
- integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
- dependencies:
- path-key "^3.0.0"
-
npm-run-path@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00"
@@ -8250,16 +4009,6 @@ npm@^9.5.0:
which "^3.0.1"
write-file-atomic "^5.0.1"
-npmlog@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
- integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==
- dependencies:
- are-we-there-yet "^2.0.0"
- console-control-strings "^1.1.0"
- gauge "^3.0.0"
- set-blocking "^2.0.0"
-
npmlog@^6.0.0:
version "6.0.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830"
@@ -8290,14 +4039,6 @@ object-inspect@^1.12.3, object-inspect@^1.9.0:
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
-object-is@^1.0.1, object-is@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
- integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
object-keys@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
@@ -8348,32 +4089,13 @@ object.values@^1.1.6:
define-properties "^1.1.4"
es-abstract "^1.20.4"
-on-finished@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
- integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
- dependencies:
- ee-first "1.1.1"
-
-on-headers@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
- integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
+once@^1.3.0, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
dependencies:
wrappy "1"
-onetime@^5.1.0, onetime@^5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
- integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
- dependencies:
- mimic-fn "^2.1.0"
-
onetime@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
@@ -8381,43 +4103,6 @@ onetime@^6.0.0:
dependencies:
mimic-fn "^4.0.0"
-open@^7.0.3:
- version "7.4.2"
- resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321"
- integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
- dependencies:
- is-docker "^2.0.0"
- is-wsl "^2.1.1"
-
-open@^8.4.0:
- version "8.4.2"
- resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9"
- integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==
- dependencies:
- define-lazy-prop "^2.0.0"
- is-docker "^2.1.1"
- is-wsl "^2.2.0"
-
-opentype.js@^1.3.3:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/opentype.js/-/opentype.js-1.3.4.tgz#1c0e72e46288473cc4a4c6a2dc60fd7fe6020d77"
- integrity sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==
- dependencies:
- string.prototype.codepointat "^0.2.1"
- tiny-inflate "^1.0.3"
-
-optionator@^0.8.1:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
- integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
- dependencies:
- deep-is "~0.1.3"
- fast-levenshtein "~2.0.6"
- levn "~0.3.0"
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
- word-wrap "~1.2.3"
-
optionator@^0.9.1:
version "0.9.1"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
@@ -8454,7 +4139,7 @@ p-limit@^1.1.0:
dependencies:
p-try "^1.0.0"
-p-limit@^2.0.0, p-limit@^2.2.0:
+p-limit@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
@@ -8482,13 +4167,6 @@ p-locate@^2.0.0:
dependencies:
p-limit "^1.1.0"
-p-locate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
- integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
- dependencies:
- p-limit "^2.0.0"
-
p-locate@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
@@ -8569,11 +4247,6 @@ pacote@^15.0.0, pacote@^15.0.8, pacote@^15.1.3:
ssri "^10.0.0"
tar "^6.1.11"
-pako@~0.2.0:
- version "0.2.9"
- resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
- integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==
-
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -8619,11 +4292,6 @@ parse-json@^7.0.0:
lines-and-columns "^2.0.3"
type-fest "^3.8.0"
-parseurl@~1.3.2, parseurl@~1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
- integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
@@ -8644,7 +4312,7 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-path-key@^3.0.0, path-key@^3.1.0:
+path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
@@ -8667,21 +4335,11 @@ path-scurry@^1.7.0:
lru-cache "^9.0.0"
minipass "^5.0.0"
-path-to-regexp@0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
- integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
-
path-type@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-pathe@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.0.tgz#e2e13f6c62b31a3289af4ba19886c230f295ec03"
- integrity sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==
-
pathe@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec"
@@ -8692,20 +4350,6 @@ pathval@^2.0.0:
resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25"
integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==
-peek-stream@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.3.tgz#3b35d84b7ccbbd262fff31dc10da56856ead6d67"
- integrity sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==
- dependencies:
- buffer-from "^1.0.0"
- duplexify "^3.5.0"
- through2 "^2.0.3"
-
-pend@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
- integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==
-
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
@@ -8716,31 +4360,16 @@ picocolors@^1.1.1:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.0, picomatch@^2.3.1:
+picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-pidtree@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c"
- integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==
-
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
-pify@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
- integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
-pirates@^4.0.4, pirates@^4.0.5:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
- integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
-
pkg-conf@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058"
@@ -8749,34 +4378,6 @@ pkg-conf@^2.1.0:
find-up "^2.0.0"
load-json-file "^4.0.0"
-pkg-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
- integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
- dependencies:
- find-up "^3.0.0"
-
-pkg-dir@^4.1.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-pkg-dir@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"
- integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==
- dependencies:
- find-up "^5.0.0"
-
-polished@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/polished/-/polished-4.2.2.tgz#2529bb7c3198945373c52e34618c8fe7b1aa84d1"
- integrity sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==
- dependencies:
- "@babel/runtime" "^7.17.8"
-
postcss-selector-parser@^6.0.10:
version "6.0.13"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
@@ -8803,26 +4404,16 @@ postcss@^8.4.43:
picocolors "^1.1.1"
source-map-js "^1.2.1"
-postprocessing@^6.32.1:
- version "6.32.1"
- resolved "https://registry.yarnpkg.com/postprocessing/-/postprocessing-6.32.1.tgz#a91fa4101246620e12113cded7028d9e4b504845"
- integrity sha512-GiUv5vN/QCWnPJ3DdYPYn/4V1amps94T/0jFPSUL40KfaLCkfE9yPudzTtJJQjs168QNpwkmnvYF9RcP3HiAWA==
-
-potpack@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/potpack/-/potpack-1.0.2.tgz#23b99e64eb74f5741ffe7656b5b5c4ddce8dfc14"
- integrity sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==
+postprocessing@^6.36.6:
+ version "6.36.6"
+ resolved "https://registry.yarnpkg.com/postprocessing/-/postprocessing-6.36.6.tgz#5717ee9f0af43c872e620366a181efc4b6950edd"
+ integrity sha512-mjJjoXbC97XMV6iQVhOZYNjD5X93o3+/zpYm9oRmsyjP3LjfwedT8PgusECTk+s5DZeZoJ8vA9htdWuH8JH+mQ==
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-prelude-ls@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
- integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
-
prettier-linter-helpers@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
@@ -8830,25 +4421,11 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-prettier@^2.8.0, prettier@^2.8.8:
+prettier@^2.8.8:
version "2.8.8"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
-pretty-format@^27.0.2:
- version "27.5.1"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
- integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==
- dependencies:
- ansi-regex "^5.0.1"
- ansi-styles "^5.0.0"
- react-is "^17.0.1"
-
-pretty-hrtime@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
- integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==
-
proc-log@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8"
@@ -8864,11 +4441,6 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
-progress@^2.0.1:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
- integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-
promise-all-reject-late@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2"
@@ -8892,14 +4464,6 @@ promise-retry@^2.0.1:
err-code "^2.0.2"
retry "^0.12.0"
-prompts@^2.4.0:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
- integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
- dependencies:
- kleur "^3.0.3"
- sisteransi "^1.0.5"
-
promzard@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.0.tgz#3246f8e6c9895a77c0549cefb65828ac0f6c006b"
@@ -8907,7 +4471,7 @@ promzard@^1.0.0:
dependencies:
read "^2.0.0"
-prop-types@^15.6.0, prop-types@^15.7.2, prop-types@^15.8.1:
+prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -8921,65 +4485,11 @@ proto-list@~1.2.1:
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
-proxy-addr@~2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
- integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
- dependencies:
- forwarded "0.2.0"
- ipaddr.js "1.9.1"
-
-proxy-from-env@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
- integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
-
-pump@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
- integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pumpify@^1.3.3:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
- integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
- dependencies:
- duplexify "^3.6.0"
- inherits "^2.0.3"
- pump "^2.0.0"
-
punycode@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
-puppeteer-core@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-2.1.1.tgz#e9b3fbc1237b4f66e25999832229e9db3e0b90ed"
- integrity sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==
- dependencies:
- "@types/mime-types" "^2.1.0"
- debug "^4.1.0"
- extract-zip "^1.6.6"
- https-proxy-agent "^4.0.0"
- mime "^2.0.3"
- mime-types "^2.1.25"
- progress "^2.0.1"
- proxy-from-env "^1.0.0"
- rimraf "^2.6.1"
- ws "^6.1.0"
-
q@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
@@ -8990,20 +4500,6 @@ qrcode-terminal@^0.12.0:
resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819"
integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==
-qs@6.11.0:
- version "6.11.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
- integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
- dependencies:
- side-channel "^1.0.4"
-
-qs@^6.10.0:
- version "6.11.1"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.1.tgz#6c29dff97f0c0060765911ba65cbc9764186109f"
- integrity sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==
- dependencies:
- side-channel "^1.0.4"
-
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -9014,26 +4510,6 @@ quick-lru@^4.0.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
-ramda@^0.28.0:
- version "0.28.0"
- resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.28.0.tgz#acd785690100337e8b063cab3470019be427cc97"
- integrity sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==
-
-range-parser@~1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
- integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
-raw-body@2.5.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
- integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
- dependencies:
- bytes "3.1.2"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
rc@^1.2.8:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
@@ -9044,107 +4520,34 @@ rc@^1.2.8:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
-react-colorful@^5.1.2:
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b"
- integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==
-
-react-composer@^5.0.3:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/react-composer/-/react-composer-5.0.3.tgz#7beb9513da5e8687f4f434ea1333ef36a4f3091b"
- integrity sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==
- dependencies:
- prop-types "^15.6.0"
-
-react-docgen-typescript@^2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz#4611055e569edc071204aadb20e1c93e1ab1659c"
- integrity sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==
-
-react-docgen@6.0.0-alpha.3:
- version "6.0.0-alpha.3"
- resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-6.0.0-alpha.3.tgz#4d8a4916b45de4aadb90eb5f3a6f923edf447928"
- integrity sha512-DDLvB5EV9As1/zoUsct6Iz2Cupw9FObEGD3DMcIs3EDFIoSKyz8FZtoWj3Wj+oodrU4/NfidN0BL5yrapIcTSA==
- dependencies:
- "@babel/core" "^7.7.5"
- "@babel/generator" "^7.12.11"
- ast-types "^0.14.2"
- commander "^2.19.0"
- doctrine "^3.0.0"
- estree-to-babel "^3.1.0"
- neo-async "^2.6.1"
- node-dir "^0.1.10"
- resolve "^1.17.0"
- strip-indent "^3.0.0"
-
-react-dom@^18.2.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
- integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
+react-dom@^19.0.0:
+ version "19.0.0"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0.tgz#43446f1f01c65a4cd7f7588083e686a6726cfb57"
+ integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==
dependencies:
- loose-envify "^1.1.0"
- scheduler "^0.23.0"
-
-react-element-to-jsx-string@^15.0.0:
- version "15.0.0"
- resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz#1cafd5b6ad41946ffc8755e254da3fc752a01ac6"
- integrity sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==
- dependencies:
- "@base2/pretty-print-object" "1.0.1"
- is-plain-object "5.0.0"
- react-is "18.1.0"
-
-react-inspector@^6.0.0:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-6.0.1.tgz#1a37f0165d9df81ee804d63259eaaeabe841287d"
- integrity sha512-cxKSeFTf7jpSSVddm66sKdolG90qURAX3g1roTeaN6x0YEbtWc8JpmFN9+yIqLNH2uEkYerWLtJZIXRIFuBKrg==
-
-react-is@18.1.0:
- version "18.1.0"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67"
- integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==
+ scheduler "^0.25.0"
react-is@^16.13.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-react-is@^17.0.1:
- version "17.0.2"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
- integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
-
-react-merge-refs@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/react-merge-refs/-/react-merge-refs-1.1.0.tgz#73d88b892c6c68cbb7a66e0800faa374f4c38b06"
- integrity sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==
-
-react-reconciler@^0.27.0:
- version "0.27.0"
- resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.27.0.tgz#360124fdf2d76447c7491ee5f0e04503ed9acf5b"
- integrity sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==
+react-reconciler@^0.31.0:
+ version "0.31.0"
+ resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.31.0.tgz#6b7390fe8fab59210daf523d7400943973de1458"
+ integrity sha512-7Ob7Z+URmesIsIVRjnLoDGwBEG/tVitidU0nMsqX/eeJaLY89RISO/10ERe0MqmzuKUUB1rmY+h1itMbUHg9BQ==
dependencies:
- loose-envify "^1.1.0"
- scheduler "^0.21.0"
+ scheduler "^0.25.0"
-react-refresh@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
- integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
+react-use-measure@^2.1.7:
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/react-use-measure/-/react-use-measure-2.1.7.tgz#36b8a2e7fd2fa58109ab851b3addcb0aad66ad1d"
+ integrity sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==
-react-use-measure@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/react-use-measure/-/react-use-measure-2.1.1.tgz#5824537f4ee01c9469c45d5f7a8446177c6cc4ba"
- integrity sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==
- dependencies:
- debounce "^1.2.1"
-
-react@^18.2.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
- integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
- dependencies:
- loose-envify "^1.1.0"
+react@^19.0.0:
+ version "19.0.0"
+ resolved "https://registry.yarnpkg.com/react/-/react-19.0.0.tgz#6e1969251b9f108870aa4bff37a0ce9ddfaaabdd"
+ integrity sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==
read-cmd-shim@^4.0.0:
version "4.0.0"
@@ -9224,7 +4627,7 @@ read@^2.0.0, read@^2.1.0:
dependencies:
mute-stream "~1.0.0"
-readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
+readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.6.0:
version "3.6.2"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
@@ -9233,7 +4636,7 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stre
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
-readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@~2.3.6:
+readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@~2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
@@ -9256,41 +4659,6 @@ readable-stream@^4.1.0:
events "^3.3.0"
process "^0.11.10"
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-recast@^0.21.0:
- version "0.21.5"
- resolved "https://registry.yarnpkg.com/recast/-/recast-0.21.5.tgz#e8cd22bb51bcd6130e54f87955d33a2b2e57b495"
- integrity sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==
- dependencies:
- ast-types "0.15.2"
- esprima "~4.0.0"
- source-map "~0.6.1"
- tslib "^2.0.1"
-
-recast@^0.23.1:
- version "0.23.1"
- resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.1.tgz#ee415a5561d2f99f02318ea8db81ad3a2267a6ff"
- integrity sha512-RokaBcoxSjXUDzz1TXSZmZsSW6ZpLmlA3GGqJ8uuTrQ9hZhEz+4Tpsc+gRvYRJ2BU4H+ZyUlg91eSGDw7bwy7g==
- dependencies:
- assert "^2.0.0"
- ast-types "^0.16.1"
- esprima "~4.0.0"
- source-map "~0.6.1"
- tslib "^2.0.1"
-
-rechoir@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
- integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==
- dependencies:
- resolve "^1.1.6"
-
redent@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
@@ -9306,105 +4674,32 @@ redeyed@~2.1.0:
dependencies:
esprima "~4.0.0"
-regenerate-unicode-properties@^10.1.0:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c"
- integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==
- dependencies:
- regenerate "^1.4.2"
-
-regenerate@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
- integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-
regenerator-runtime@^0.13.11:
version "0.13.11"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
-regenerator-transform@^0.15.1:
- version "0.15.1"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56"
- integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==
- dependencies:
- "@babel/runtime" "^7.8.4"
-
-regexp-to-ast@0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz#56c73856bee5e1fef7f73a00f1473452ab712a24"
- integrity sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==
-
-regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0:
+regexp.prototype.flags@^1.4.3:
version "1.5.0"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb"
integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.2.0"
- functions-have-names "^1.2.3"
-
-regexpu-core@^5.3.1:
- version "5.3.2"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b"
- integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==
- dependencies:
- "@babel/regjsgen" "^0.8.0"
- regenerate "^1.4.2"
- regenerate-unicode-properties "^10.1.0"
- regjsparser "^0.9.1"
- unicode-match-property-ecmascript "^2.0.0"
- unicode-match-property-value-ecmascript "^2.1.0"
-
-registry-auth-token@^5.0.0:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756"
- integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==
- dependencies:
- "@pnpm/npm-conf" "^2.1.0"
-
-regjsparser@^0.9.1:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709"
- integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==
- dependencies:
- jsesc "~0.5.0"
-
-remark-external-links@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/remark-external-links/-/remark-external-links-8.0.0.tgz#308de69482958b5d1cd3692bc9b725ce0240f345"
- integrity sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==
- dependencies:
- extend "^3.0.0"
- is-absolute-url "^3.0.0"
- mdast-util-definitions "^4.0.0"
- space-separated-tokens "^1.0.0"
- unist-util-visit "^2.0.0"
+ define-properties "^1.2.0"
+ functions-have-names "^1.2.3"
-remark-slug@^6.0.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-6.1.0.tgz#0503268d5f0c4ecb1f33315c00465ccdd97923ce"
- integrity sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==
+registry-auth-token@^5.0.0:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756"
+ integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==
dependencies:
- github-slugger "^1.0.0"
- mdast-util-to-string "^1.0.0"
- unist-util-visit "^2.0.0"
+ "@pnpm/npm-conf" "^2.1.0"
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
-require-from-string@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
- integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
-
-requireindex@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef"
- integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==
-
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
@@ -9415,7 +4710,7 @@ resolve-from@^5.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.22.1:
+resolve@^1.10.0, resolve@^1.22.1:
version "1.22.2"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
@@ -9433,14 +4728,6 @@ resolve@^2.0.0-next.4:
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
-restore-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
- integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
- dependencies:
- onetime "^5.1.0"
- signal-exit "^3.0.2"
-
retry@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
@@ -9456,18 +4743,6 @@ reusify@^1.0.4:
resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-rfdc@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
- integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
-
-rimraf@^2.6.1:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
- integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
- dependencies:
- glob "^7.1.3"
-
rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
@@ -9475,21 +4750,7 @@ rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
-rimraf@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.0.tgz#5bda14e410d7e4dd522154891395802ce032c2cb"
- integrity sha512-Jf9llaP+RvaEVS5nPShYFhtXIrb3LRKP281ib3So0KkeZKo2wIKyq0Re7TOSwanasA423PSr6CCIL4bP6T040g==
- dependencies:
- glob "^10.0.0"
-
-rimraf@~2.6.2:
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
- integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
- dependencies:
- glob "^7.1.3"
-
-"rollup@^2.25.0 || ^3.3.0", rollup@^3.21.0:
+rollup@^3.21.0:
version "3.21.6"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.21.6.tgz#f5649ccdf8fcc7729254faa457cbea9547eb86db"
integrity sha512-SXIICxvxQxR3D4dp/3LDHZIJPC8a4anKMHd4E3Jiz2/JnY+2bEjqrOokAauc5ShGVNFHlEFjBXAXlaxkJqIqSg==
@@ -9531,24 +4792,12 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
-rxjs@^7.8.0:
- version "7.8.1"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543"
- integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==
- dependencies:
- tslib "^2.1.0"
-
-safe-buffer@5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
- integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==
-
-safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-safe-buffer@5.2.1, safe-buffer@~5.2.0:
+safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -9562,24 +4811,15 @@ safe-regex-test@^1.0.0:
get-intrinsic "^1.1.3"
is-regex "^1.1.4"
-"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
+"safer-buffer@>= 2.1.2 < 3.0.0":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-scheduler@^0.21.0:
- version "0.21.0"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820"
- integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==
- dependencies:
- loose-envify "^1.1.0"
-
-scheduler@^0.23.0:
- version "0.23.0"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
- integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
- dependencies:
- loose-envify "^1.1.0"
+scheduler@^0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015"
+ integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==
semantic-release@^21.0.2:
version "21.0.2"
@@ -9627,12 +4867,12 @@ semver-regex@^4.0.5:
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-4.0.5.tgz#fbfa36c7ba70461311f5debcb3928821eb4f9180"
integrity sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==
-"semver@2 || 3 || 4 || 5", semver@^5.6.0:
+"semver@2 || 3 || 4 || 5":
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
+semver@^6.0.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
@@ -9651,68 +4891,11 @@ semver@^7.3.7:
dependencies:
lru-cache "^6.0.0"
-semver@~7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
- integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-
-send@0.18.0:
- version "0.18.0"
- resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
- integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
- dependencies:
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "2.0.0"
- mime "1.6.0"
- ms "2.1.3"
- on-finished "2.4.1"
- range-parser "~1.2.1"
- statuses "2.0.1"
-
-serve-favicon@^2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz#935d240cdfe0f5805307fdfe967d88942a2cbcf0"
- integrity sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==
- dependencies:
- etag "~1.8.1"
- fresh "0.5.2"
- ms "2.1.1"
- parseurl "~1.3.2"
- safe-buffer "5.1.1"
-
-serve-static@1.15.0:
- version "1.15.0"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
- integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
- dependencies:
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- parseurl "~1.3.3"
- send "0.18.0"
-
set-blocking@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-setprototypeof@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
- integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
-
-shallow-clone@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
- integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
- dependencies:
- kind-of "^6.0.2"
-
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
@@ -9725,15 +4908,6 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-shelljs@^0.8.5:
- version "0.8.5"
- resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c"
- integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==
- dependencies:
- glob "^7.0.0"
- interpret "^1.0.0"
- rechoir "^0.6.2"
-
side-channel@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
@@ -9748,7 +4922,7 @@ siginfo@^2.0.0:
resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30"
integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==
-signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
+signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
@@ -9776,49 +4950,11 @@ sigstore@^1.3.0, sigstore@^1.4.0:
make-fetch-happen "^11.0.1"
tuf-js "^1.1.3"
-simple-update-notifier@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82"
- integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==
- dependencies:
- semver "~7.0.0"
-
-sisteransi@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
- integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
-
slash@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-slice-ansi@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
- integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
- dependencies:
- ansi-styles "^4.0.0"
- astral-regex "^2.0.0"
- is-fullwidth-code-point "^3.0.0"
-
-slice-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
- integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
- dependencies:
- ansi-styles "^4.0.0"
- astral-regex "^2.0.0"
- is-fullwidth-code-point "^3.0.0"
-
-slice-ansi@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a"
- integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==
- dependencies:
- ansi-styles "^6.0.0"
- is-fullwidth-code-point "^4.0.0"
-
smart-buffer@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
@@ -9851,24 +4987,11 @@ source-map-js@^1.2.1:
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
-source-map-support@^0.5.16:
- version "0.5.21"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
- integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
+source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-space-separated-tokens@^1.0.0:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
- integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
-
spawn-error-forwarder@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz#1afd94738e999b0346d7b9fc373be55e07577029"
@@ -9921,11 +5044,6 @@ split@^1.0.0:
dependencies:
through "2"
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
- integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
-
ssri@^10.0.0, ssri@^10.0.1, ssri@^10.0.4:
version "10.0.4"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.4.tgz#5a20af378be586df139ddb2dfb3bf992cf0daba6"
@@ -9945,40 +5063,11 @@ stackback@0.0.2:
resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b"
integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==
-stats.js@^0.17.0:
- version "0.17.0"
- resolved "https://registry.yarnpkg.com/stats.js/-/stats.js-0.17.0.tgz#b1c3dc46d94498b578b7fd3985b81ace7131cc7d"
- integrity sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==
-
-statuses@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
- integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
-
std-env@^3.8.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5"
integrity sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==
-stop-iteration-iterator@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4"
- integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==
- dependencies:
- internal-slot "^1.0.4"
-
-store2@^2.14.2:
- version "2.14.2"
- resolved "https://registry.yarnpkg.com/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068"
- integrity sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==
-
-storybook@^7.0.10:
- version "7.0.10"
- resolved "https://registry.yarnpkg.com/storybook/-/storybook-7.0.10.tgz#17145499d09452102f5484fa9e05c9b299346e22"
- integrity sha512-L36+Um+Ra8AKTvv84ODFJfuthmWnR1Lc6pjslcb8LYO+PVlqEOeqSknmTcKntDYwgvKx5lg62urtJxzGdwO0yw==
- dependencies:
- "@storybook/cli" "7.0.10"
-
stream-combiner2@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
@@ -9987,17 +5076,7 @@ stream-combiner2@~1.1.1:
duplexer2 "~0.1.0"
readable-stream "^2.0.2"
-stream-shift@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
- integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
-
-string-argv@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
- integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
-
-"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -10006,20 +5085,6 @@ string-argv@^0.3.1:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
-string-width@^5.0.0:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
- integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
- dependencies:
- eastasianwidth "^0.2.0"
- emoji-regex "^9.2.2"
- strip-ansi "^7.0.1"
-
-string.prototype.codepointat@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz#004ad44c8afc727527b108cd462b4d971cd469bc"
- integrity sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==
-
string.prototype.matchall@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3"
@@ -10082,23 +5147,11 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1:
dependencies:
ansi-regex "^5.0.1"
-strip-ansi@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2"
- integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==
- dependencies:
- ansi-regex "^6.0.1"
-
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
-strip-final-newline@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
- integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-
strip-final-newline@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
@@ -10111,7 +5164,7 @@ strip-indent@^3.0.0:
dependencies:
min-indent "^1.0.0"
-strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
@@ -10135,13 +5188,6 @@ supports-color@^7.0.0, supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
-supports-color@^8.0.0:
- version "8.1.1"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
- integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
- dependencies:
- has-flag "^4.0.0"
-
supports-hyperlinks@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624"
@@ -10155,36 +5201,10 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-suspend-react@^0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/suspend-react/-/suspend-react-0.0.8.tgz#b0740c1386b4eb652f17affe4339915ee268bd31"
- integrity sha512-ZC3r8Hu1y0dIThzsGw0RLZplnX9yXwfItcvaIzJc2VQVi8TGyGDlu92syMB5ulybfvGLHAI5Ghzlk23UBPF8xg==
-
-synchronous-promise@^2.0.15:
- version "2.0.17"
- resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.17.tgz#38901319632f946c982152586f2caf8ddc25c032"
- integrity sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==
-
-tar-fs@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
- integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
- dependencies:
- chownr "^1.1.1"
- mkdirp-classic "^0.5.2"
- pump "^3.0.0"
- tar-stream "^2.1.4"
-
-tar-stream@^2.1.4:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
- integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
- dependencies:
- bl "^4.0.3"
- end-of-stream "^1.4.1"
- fs-constants "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^3.1.1"
+suspend-react@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/suspend-react/-/suspend-react-0.1.3.tgz#a52f49d21cfae9a2fb70bd0c68413d3f9d90768e"
+ integrity sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==
tar@^6.1.11, tar@^6.1.14, tar@^6.1.2:
version "6.1.15"
@@ -10210,36 +5230,11 @@ tar@^6.1.13:
mkdirp "^1.0.3"
yallist "^4.0.0"
-telejson@^7.0.3:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/telejson/-/telejson-7.1.0.tgz#1ef7a0dd57eeb52cde933126f61bcc296c170f52"
- integrity sha512-jFJO4P5gPebZAERPkJsqMAQ0IMA1Hi0AoSfxpnUaV6j6R2SZqlpkbS20U6dEUtA3RUYt2Ak/mTlkQzHH9Rv/hA==
- dependencies:
- memoizerific "^1.11.3"
-
temp-dir@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e"
integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==
-temp@^0.8.4:
- version "0.8.4"
- resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2"
- integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==
- dependencies:
- rimraf "~2.6.2"
-
-tempy@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de"
- integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==
- dependencies:
- del "^6.0.0"
- is-stream "^2.0.0"
- temp-dir "^2.0.0"
- type-fest "^0.16.0"
- unique-string "^2.0.0"
-
tempy@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/tempy/-/tempy-3.0.0.tgz#a6c0a15f5534a820e92c3e1369f1c1e87ebd6b68"
@@ -10250,15 +5245,6 @@ tempy@^3.0.0:
type-fest "^2.12.2"
unique-string "^3.0.0"
-test-exclude@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
- integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
- dependencies:
- "@istanbuljs/schema" "^0.1.2"
- glob "^7.1.4"
- minimatch "^3.0.4"
-
text-extensions@^1.0.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
@@ -10269,57 +5255,10 @@ text-table@^0.2.0, text-table@~0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-three-mesh-bvh@^0.5.23:
- version "0.5.23"
- resolved "https://registry.yarnpkg.com/three-mesh-bvh/-/three-mesh-bvh-0.5.23.tgz#08e5b629144b48b11acbd433519680e457d398ed"
- integrity sha512-nyk+MskdyDgECqkxdv57UjazqqhrMi+Al9PxJN6yFtx1CTW4r0eCQ27FtyYKY5gCIWhxjtNfWYDPVy8lzx6LkA==
-
-three-stdlib@^2.21.8:
- version "2.21.11"
- resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.21.11.tgz#ee058f1522edf17f994b4a80307568dd553bd52e"
- integrity sha512-fFeaMOc3lpup4A/FrSKHmp/PNYmyxyV8dzMorJpYyZBdIGAn5BmokGSN9ei8t7Wv9thxCW+VLaxA6csxTl5MYg==
- dependencies:
- "@babel/runtime" "^7.16.7"
- "@types/offscreencanvas" "^2019.6.4"
- "@webgpu/glslang" "^0.0.15"
- chevrotain "^10.1.2"
- draco3d "^1.4.1"
- fflate "^0.6.9"
- ktx-parse "^0.4.5"
- mmd-parser "^1.0.4"
- opentype.js "^1.3.3"
- potpack "^1.0.1"
- zstddec "^0.0.2"
-
-three-stdlib@^2.23.4:
- version "2.23.4"
- resolved "https://registry.yarnpkg.com/three-stdlib/-/three-stdlib-2.23.4.tgz#21e415573f9cddb8dbc2dea0495cc35d8d390b8b"
- integrity sha512-bNtKL0UsE/TeSQ30tb9qDoGEuO6hqJfLFVqIiWlVpgAs2W/aZcpSISaLP3q+L4E9NSGmpRzI3dGufmDj0AnQ7Q==
- dependencies:
- "@types/draco3d" "^1.4.0"
- "@types/offscreencanvas" "^2019.6.4"
- "@types/webxr" "^0.5.2"
- chevrotain "^10.1.2"
- draco3d "^1.4.1"
- fflate "^0.6.9"
- ktx-parse "^0.4.5"
- mmd-parser "^1.0.4"
- opentype.js "^1.3.3"
- potpack "^1.0.1"
- zstddec "^0.0.2"
-
-three@^0.151.3:
- version "0.151.3"
- resolved "https://registry.yarnpkg.com/three/-/three-0.151.3.tgz#0b3c7de4b070d5b66b15217f42465d67cbfa6004"
- integrity sha512-+vbuqxFy8kzLeO5MgpBHUvP/EAiecaDwDuOPPDe6SbrZr96kccF0ktLngXc7xA7bzyd3N0t2f6mw3Z9y6JCojQ==
-
-through2@^2.0.3, through2@~2.0.0:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
- integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
- dependencies:
- readable-stream "~2.3.6"
- xtend "~4.0.1"
+three@^0.156.0:
+ version "0.156.1"
+ resolved "https://registry.yarnpkg.com/three/-/three-0.156.1.tgz#bab4fec121a5b3975eb4f4d227d9c912171eb399"
+ integrity sha512-kP7H0FK9d/k6t/XvQ9FO6i+QrePoDcNhwl0I02+wmUJRNSLCUIDMcfObnzQvxb37/0Uc9TDT0T1HgsRRrO6SYQ==
through2@^4.0.0:
version "4.0.2"
@@ -10328,16 +5267,19 @@ through2@^4.0.0:
dependencies:
readable-stream "3"
-through@2, "through@>=2.2.7 <3", through@^2.3.8:
+through2@~2.0.0:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
+ integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+ dependencies:
+ readable-stream "~2.3.6"
+ xtend "~4.0.1"
+
+through@2, "through@>=2.2.7 <3":
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
-tiny-inflate@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4"
- integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==
-
tiny-relative-date@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07"
@@ -10368,16 +5310,6 @@ tinyspy@^3.0.2:
resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.2.tgz#86dd3cf3d737b15adcf17d7887c84a75201df20a"
integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==
-tmpl@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
- integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
-
to-regex-range@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
@@ -10385,11 +5317,6 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
-toidentifier@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
- integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
-
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
@@ -10410,31 +5337,6 @@ trim-newlines@^3.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
-troika-three-text@^0.47.1:
- version "0.47.1"
- resolved "https://registry.yarnpkg.com/troika-three-text/-/troika-three-text-0.47.1.tgz#4a239b122242d7ea93dbbf66a9f1863eca83d979"
- integrity sha512-/fPRUmxCkXxyUT8k6REC/aWeFzKbNr37ivrkrplSJNb3JcBUXvVt8MT0Ac5wTUvFsYTviYWprYS4/8Laen08WA==
- dependencies:
- bidi-js "^1.0.2"
- troika-three-utils "^0.47.0"
- troika-worker-utils "^0.47.0"
- webgl-sdf-generator "1.1.1"
-
-troika-three-utils@^0.47.0:
- version "0.47.0"
- resolved "https://registry.yarnpkg.com/troika-three-utils/-/troika-three-utils-0.47.0.tgz#4749334ad2ae043767916f79bcc365cbb5ea64b5"
- integrity sha512-yoVTQxVbpQX3a55giIwqwq6hyJA6oYvq7kaNGwFTeicoWmTZCqqTbytafx1gcuL5umrtw5MYgsxYUSOha+xp5w==
-
-troika-worker-utils@^0.47.0:
- version "0.47.0"
- resolved "https://registry.yarnpkg.com/troika-worker-utils/-/troika-worker-utils-0.47.0.tgz#bea382fee55333e177955e7ba6497d64b9d9388d"
- integrity sha512-PSUc9vunDEkbE23jpgXD3PcF96jQHKjgMjS+4o5g6DEK/ZAPTnldb+FNddhppawfUcuraMFrslo0GmIC8UpEmA==
-
-ts-dedent@^2.0.0, ts-dedent@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5"
- integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==
-
tsconfig-paths@^3.14.1:
version "3.14.2"
resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088"
@@ -10450,11 +5352,6 @@ tslib@^1.8.1:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
- integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
-
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
@@ -10478,18 +5375,6 @@ type-check@^0.4.0, type-check@~0.4.0:
dependencies:
prelude-ls "^1.2.1"
-type-check@~0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
- integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==
- dependencies:
- prelude-ls "~1.1.2"
-
-type-fest@^0.16.0:
- version "0.16.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
- integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
-
type-fest@^0.18.0:
version "0.18.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
@@ -10500,11 +5385,6 @@ type-fest@^0.20.2:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-type-fest@^0.21.3:
- version "0.21.3"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
- integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
-
type-fest@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
@@ -10520,7 +5400,7 @@ type-fest@^1.0.1:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1"
integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
-type-fest@^2.0.0, type-fest@^2.12.2, type-fest@^2.19.0, type-fest@^2.5.0:
+type-fest@^2.0.0, type-fest@^2.12.2, type-fest@^2.5.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
@@ -10530,14 +5410,6 @@ type-fest@^3.0.0, type-fest@^3.8.0:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.11.0.tgz#e78ea6b50d6a6b1e4609035fb9ea8f1e3c328194"
integrity sha512-JaPw5U9ixP0XcpUbQoVSbxSDcK/K4nww20C3kjm9yE6cDRRhptU28AH60VWf9ltXmCrIfIbtt9J+2OUk2Uqiaw==
-type-is@~1.6.18:
- version "1.6.18"
- resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
- integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
- dependencies:
- media-typer "0.3.0"
- mime-types "~2.1.24"
-
typed-array-length@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
@@ -10547,11 +5419,6 @@ typed-array-length@^1.0.4:
for-each "^0.3.3"
is-typed-array "^1.1.9"
-typedarray@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
- integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-
typescript@^5.0.4:
version "5.0.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b"
@@ -10572,33 +5439,10 @@ unbox-primitive@^1.0.2:
has-symbols "^1.0.3"
which-boxed-primitive "^1.0.2"
-unfetch@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be"
- integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==
-
-unicode-canonical-property-names-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
- integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
-
-unicode-match-property-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
- integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
- dependencies:
- unicode-canonical-property-names-ecmascript "^2.0.0"
- unicode-property-aliases-ecmascript "^2.0.0"
-
-unicode-match-property-value-ecmascript@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0"
- integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==
-
-unicode-property-aliases-ecmascript@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
- integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
+undici-types@~6.20.0:
+ version "6.20.0"
+ resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433"
+ integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==
unique-filename@^2.0.0:
version "2.0.1"
@@ -10628,13 +5472,6 @@ unique-slug@^4.0.0:
dependencies:
imurmurhash "^0.1.4"
-unique-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
- integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
- dependencies:
- crypto-random-string "^2.0.0"
-
unique-string@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a"
@@ -10642,28 +5479,6 @@ unique-string@^3.0.0:
dependencies:
crypto-random-string "^4.0.0"
-unist-util-is@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797"
- integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==
-
-unist-util-visit-parents@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6"
- integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^4.0.0"
-
-unist-util-visit@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
- integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^4.0.0"
- unist-util-visit-parents "^3.0.0"
-
universal-user-agent@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
@@ -10674,34 +5489,6 @@ universalify@^2.0.0:
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
-unpipe@1.0.0, unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
- integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
-
-unplugin@^0.10.2:
- version "0.10.2"
- resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-0.10.2.tgz#0f7089c3666f592cc448d746e39e7f41e9afb01a"
- integrity sha512-6rk7GUa4ICYjae5PrAllvcDeuT8pA9+j5J5EkxbMFaV+SalHhxZ7X2dohMzu6C3XzsMT+6jwR/+pwPNR3uK9MA==
- dependencies:
- acorn "^8.8.0"
- chokidar "^3.5.3"
- webpack-sources "^3.2.3"
- webpack-virtual-modules "^0.4.5"
-
-untildify@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
- integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
-
-update-browserslist-db@^1.0.10:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
- integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==
- dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
-
uri-js@^4.2.2:
version "4.4.1"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
@@ -10714,53 +5501,16 @@ url-join@^4.0.0:
resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
-use-resize-observer@^9.1.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/use-resize-observer/-/use-resize-observer-9.1.0.tgz#14735235cf3268569c1ea468f8a90c5789fc5c6c"
- integrity sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==
- dependencies:
- "@juggle/resize-observer" "^3.3.1"
+use-sync-external-store@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz#adbc795d8eeb47029963016cefdf89dc799fcebc"
+ integrity sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-util@^0.12.0, util@^0.12.4:
- version "0.12.5"
- resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc"
- integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==
- dependencies:
- inherits "^2.0.3"
- is-arguments "^1.0.4"
- is-generator-function "^1.0.7"
- is-typed-array "^1.1.3"
- which-typed-array "^1.1.2"
-
-utility-types@^3.10.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b"
- integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==
-
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
- integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
-
-uuid@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
- integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
-
-v8-to-istanbul@^9.0.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265"
- integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==
- dependencies:
- "@jridgewell/trace-mapping" "^0.3.12"
- "@types/istanbul-lib-coverage" "^2.0.1"
- convert-source-map "^1.6.0"
-
validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -10776,11 +5526,6 @@ validate-npm-package-name@^5.0.0:
dependencies:
builtins "^5.0.0"
-vary@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
- integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
-
vite-node@2.1.8:
version "2.1.8"
resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-2.1.8.tgz#9495ca17652f6f7f95ca7c4b568a235e0c8dbac5"
@@ -10845,21 +5590,6 @@ walk-up-path@^3.0.1:
resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886"
integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==
-walker@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
- integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
- dependencies:
- makeerror "1.0.12"
-
-watchpack@^2.2.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
- integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
- dependencies:
- glob-to-regexp "^0.4.1"
- graceful-fs "^4.1.2"
-
wcwidth@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -10867,31 +5597,11 @@ wcwidth@^1.0.0:
dependencies:
defaults "^1.0.3"
-webgl-constants@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/webgl-constants/-/webgl-constants-1.1.1.tgz#f9633ee87fea56647a60b9ce735cbdfb891c6855"
- integrity sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==
-
-webgl-sdf-generator@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz#3e1b422b3d87cd3cc77f2602c9db63bc0f6accbd"
- integrity sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==
-
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
-webpack-sources@^3.2.3:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
- integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-
-webpack-virtual-modules@^0.4.5:
- version "0.4.6"
- resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz#3e4008230731f1db078d9cb6f68baf8571182b45"
- integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==
-
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
@@ -10911,17 +5621,7 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
-which-collection@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906"
- integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==
- dependencies:
- is-map "^2.0.1"
- is-set "^2.0.1"
- is-weakmap "^2.0.1"
- is-weakset "^2.0.1"
-
-which-typed-array@^1.1.2, which-typed-array@^1.1.9:
+which-typed-array@^1.1.9:
version "1.1.9"
resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
@@ -10955,21 +5655,14 @@ why-is-node-running@^2.3.0:
siginfo "^2.0.0"
stackback "0.0.2"
-wide-align@^1.1.2, wide-align@^1.1.5:
+wide-align@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
dependencies:
string-width "^1.0.2 || 2 || 3 || 4"
-widest-line@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
- integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
- dependencies:
- string-width "^4.0.0"
-
-word-wrap@^1.2.3, word-wrap@~1.2.3:
+word-wrap@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
@@ -10979,15 +5672,6 @@ wordwrap@^1.0.0:
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
-wrap-ansi@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
- integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
wrap-ansi@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
@@ -11002,23 +5686,6 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-write-file-atomic@^2.3.0:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
- integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
- dependencies:
- graceful-fs "^4.1.11"
- imurmurhash "^0.1.4"
- signal-exit "^3.0.2"
-
-write-file-atomic@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd"
- integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
- dependencies:
- imurmurhash "^0.1.4"
- signal-exit "^3.0.7"
-
write-file-atomic@^5.0.0, write-file-atomic@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7"
@@ -11027,18 +5694,6 @@ write-file-atomic@^5.0.0, write-file-atomic@^5.0.1:
imurmurhash "^0.1.4"
signal-exit "^4.0.1"
-ws@^6.1.0:
- version "6.2.2"
- resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
- integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==
- dependencies:
- async-limiter "~1.0.0"
-
-ws@^8.2.3:
- version "8.13.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
- integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
-
xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
@@ -11049,22 +5704,12 @@ y18n@^5.0.5:
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
-yallist@^3.0.2:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-yaml@^2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073"
- integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==
-
-yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9:
+yargs-parser@^20.2.3:
version "20.2.9"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
@@ -11074,19 +5719,6 @@ yargs-parser@^21.1.1:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
-yargs@^16.2.0:
- version "16.2.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
- integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
- dependencies:
- cliui "^7.0.2"
- escalade "^3.1.1"
- get-caller-file "^2.0.5"
- require-directory "^2.1.1"
- string-width "^4.2.0"
- y18n "^5.0.5"
- yargs-parser "^20.2.2"
-
yargs@^17.5.1:
version "17.7.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
@@ -11100,14 +5732,6 @@ yargs@^17.5.1:
y18n "^5.0.5"
yargs-parser "^21.1.1"
-yauzl@^2.10.0:
- version "2.10.0"
- resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
- integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==
- dependencies:
- buffer-crc32 "~0.2.3"
- fd-slicer "~1.1.0"
-
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
@@ -11118,12 +5742,7 @@ yocto-queue@^1.0.0:
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251"
integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==
-zstddec@^0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.0.2.tgz#57e2f28dd1ff56b750e07d158a43f0611ad9eeb4"
- integrity sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==
-
-zustand@^3.5.13, zustand@^3.7.1:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.7.2.tgz#7b44c4f4a5bfd7a8296a3957b13e1c346f42514d"
- integrity sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==
+zustand@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.3.tgz#b323435b73d06b2512e93c77239634374b0e407f"
+ integrity sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==