diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..23bf42c
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "bracketSameLine": true,
+ "tabWidth": 2
+}
diff --git a/README.md b/README.md
index 239d98b..8ed7819 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,3 @@
-
solid-spring
A port of react-spring, for SolidJS
@@ -24,8 +23,8 @@ const styles = createSpring({
The API is similar to what we have in react-spring, with small differences to make the library compatible with SolidJS
## Preview
-Click on the below gifs for exploring the code of each preview (ported from Poimandres examples).
+Click on the below gifs for exploring the code of each preview (ported from Poimandres examples).
@@ -37,6 +36,7 @@ Click on the below gifs for exploring the code of each preview (ported from Poim
```shell
npm install solid-spring
```
+
## Examples
[Hello (opacity animation)](https://codesandbox.io/s/hello-qe3eq5?file=/index.tsx)
@@ -48,10 +48,11 @@ npm install solid-spring
## API
### `createSpring`
+
> Turns values into animated-values.
```jsx
-import { createSpring, animated } from "solid-spring";
+import { createSpring, animated } from 'solid-spring'
function ChainExample() {
const styles = createSpring({
@@ -66,7 +67,9 @@ function ChainExample() {
return I will fade in and out
}
```
+
`createSpring` also takes a function in case you want to pass a reactive value as a style!
+
```jsx
const [disabled, setDisabled] = createSignal(false)
@@ -74,7 +77,9 @@ const styles = createSpring(() => ({
pause: disabled(),
}))
```
+
### `createSprings`
+
> Creates multiple springs, each with its own config. Use it for static lists, etc.
Similar to `useSprings` in react-spring, It takes number or a function that returns a number (for reactivity) as the first argument, and a list of springs or a function that returns a spring as the second argument.
diff --git a/demo/.gitignore b/demo/.gitignore
index 76add87..f06235c 100644
--- a/demo/.gitignore
+++ b/demo/.gitignore
@@ -1,2 +1,2 @@
node_modules
-dist
\ No newline at end of file
+dist
diff --git a/demo/index.html b/demo/index.html
index 48c59fc..7d9b4f7 100644
--- a/demo/index.html
+++ b/demo/index.html
@@ -1,4 +1,4 @@
-
+
diff --git a/demo/package.json b/demo/package.json
index f25aa56..834687c 100644
--- a/demo/package.json
+++ b/demo/package.json
@@ -2,22 +2,22 @@
"name": "vite-template-solid",
"version": "0.0.0",
"description": "",
+ "license": "MIT",
"scripts": {
"start": "vite",
- "dev": "vite",
+ "dev": "vite --clearScreen=false",
"build": "vite build",
- "serve": "vite preview"
- },
- "license": "MIT",
- "devDependencies": {
- "typescript": "^4.6.3",
- "vite": "^2.8.6",
- "vite-plugin-solid": "^2.2.6"
+ "serve": "vite preview",
+ "prettier": "prettier --write \"src/**/*.{js,json,ts,tsx,css,scss,html}\""
},
"dependencies": {
- "@react-spring/animated": "^9.4.4",
- "@react-spring/core": "^9.4.4",
- "solid-js": "^1.3.13",
- "solid-spring": "workspace:^0.0.0"
+ "solid-js": "^1.7.8",
+ "solid-spring": "workspace:^"
+ },
+ "devDependencies": {
+ "prettier": "^3.0.0",
+ "typescript": "^5.1.6",
+ "vite": "^4.4.6",
+ "vite-plugin-solid": "^2.7.0"
}
}
diff --git a/demo/src/App.tsx b/demo/src/App.tsx
index d77e170..8bb35ef 100644
--- a/demo/src/App.tsx
+++ b/demo/src/App.tsx
@@ -1,11 +1,8 @@
-import {
- Component,
- createSignal,
-} from "solid-js";
-import { createSpring, animated, config } from "solid-spring";
+import { Component, createSignal } from 'solid-js'
+import { createSpring, animated, config } from 'solid-spring'
function ChainExample() {
- const [flip, set] = createSignal(false);
+ const [flip, set] = createSignal(false)
const styles = createSpring(() => {
return {
@@ -16,16 +13,16 @@ function ChainExample() {
delay: 200,
config: config.molasses,
onRest: () => {
- set(!flip());
+ set(!flip())
},
- };
- });
+ }
+ })
- return hello;
+ return hello
}
const App: Component = () => {
- return ;
-};
+ return
+}
-export default App;
+export default App
diff --git a/demo/src/index.tsx b/demo/src/index.tsx
index 2006c75..2979cc8 100644
--- a/demo/src/index.tsx
+++ b/demo/src/index.tsx
@@ -1,6 +1,6 @@
/* @refresh reload */
-import { render } from 'solid-js/web';
+import { render } from 'solid-js/web'
-import App from './App';
+import App from './App'
-render(() => , document.getElementById('root') as HTMLElement);
+render(() => , document.getElementById('root') as HTMLElement)
diff --git a/demo/vite.config.ts b/demo/vite.config.ts
index d52d794..22b9712 100644
--- a/demo/vite.config.ts
+++ b/demo/vite.config.ts
@@ -1,10 +1,12 @@
-import { defineConfig } from 'vite';
-import solidPlugin from 'vite-plugin-solid';
+import { defineConfig } from 'vite'
+import solidPlugin from 'vite-plugin-solid'
export default defineConfig({
plugins: [solidPlugin()],
+ server: {
+ port: 3000,
+ },
build: {
target: 'esnext',
- polyfillDynamicImport: false,
},
-});
+})
diff --git a/package.json b/package.json
index fc00aa1..375d8cf 100644
--- a/package.json
+++ b/package.json
@@ -1,33 +1,27 @@
{
"name": "@monorepo/solid-spring",
"version": "0.0.0",
+ "description": "Like react-spring, but for SolidJS",
+ "info": "solid-spring is a spring-physics first animation library for SolidJS based on react-spring/core",
+ "license": "MIT",
+ "author": "M. Bagher Abiat",
+ "contributors": [],
+ "homepage": "https://github.com/aslemammad/solid-spring#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/aslemammad/solid-spring.git"
},
- "license": "MIT",
"bugs": {
"url": "https://github.com/aslemammad/solid-spring/issues"
},
- "homepage": "https://github.com/aslemammad/solid-spring#readme",
- "description": "Like react-spring, but for SolidJS",
- "info": "solid-spring is a spring-physics first animation library for SolidJS based on react-spring/core",
- "contributors": [],
- "scripts": {},
"keywords": [
"best_ecosystem",
"solidhack",
"react-spring",
"solid"
],
- "author": "M. Bagher Abiat",
- "license": "MIT",
+ "scripts": {},
"devDependencies": {
- "@rollup/plugin-alias": "^3.1.9",
- "@rollup/plugin-commonjs": "^21.0.2",
- "@rollup/plugin-json": "^4.1.0",
- "@rollup/plugin-node-resolve": "^13.1.3",
- "esbuild": "^0.14.27",
- "rollup-plugin-esbuild": "^4.8.2"
+ "prettier": "^3.0.0"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index dc377f4..2c883aa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,620 +1,444 @@
-lockfileVersion: 5.3
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
importers:
.:
- specifiers:
- '@rollup/plugin-alias': ^3.1.9
- '@rollup/plugin-commonjs': ^21.0.2
- '@rollup/plugin-json': ^4.1.0
- '@rollup/plugin-node-resolve': ^13.1.3
- esbuild: ^0.14.27
- rollup-plugin-esbuild: ^4.8.2
devDependencies:
- '@rollup/plugin-alias': 3.1.9
- '@rollup/plugin-commonjs': 21.0.2
- '@rollup/plugin-json': 4.1.0
- '@rollup/plugin-node-resolve': 13.1.3
- esbuild: 0.14.27
- rollup-plugin-esbuild: 4.8.2_esbuild@0.14.27
+ prettier:
+ specifier: ^3.0.0
+ version: 3.0.0
demo:
- specifiers:
- '@react-spring/animated': ^9.4.4
- '@react-spring/core': ^9.4.4
- solid-js: ^1.3.13
- solid-spring: workspace:^0.0.0
- typescript: ^4.6.3
- vite: ^2.8.6
- vite-plugin-solid: ^2.2.6
- dependencies:
- '@react-spring/animated': 9.4.4
- '@react-spring/core': 9.4.4
- solid-js: 1.3.13
- solid-spring: link:../spring
+ dependencies:
+ solid-js:
+ specifier: ^1.7.8
+ version: 1.7.8
+ solid-spring:
+ specifier: workspace:^
+ version: link:../spring
devDependencies:
- typescript: 4.6.3
- vite: 2.9.1
- vite-plugin-solid: 2.2.6
+ prettier:
+ specifier: ^3.0.0
+ version: 3.0.0
+ typescript:
+ specifier: ^5.1.6
+ version: 5.1.6
+ vite:
+ specifier: ^4.4.6
+ version: 4.4.6
+ vite-plugin-solid:
+ specifier: ^2.7.0
+ version: 2.7.0(solid-js@1.7.8)(vite@4.4.6)
spring:
- specifiers:
- rollup-plugin-dts: ^4.2.0
- solid-js: ^1.3.13
devDependencies:
- rollup-plugin-dts: 4.2.0
- solid-js: 1.3.13
+ '@rollup/plugin-alias':
+ specifier: ^5.0.0
+ version: 5.0.0(rollup@3.26.3)
+ '@rollup/plugin-commonjs':
+ specifier: ^25.0.3
+ version: 25.0.3(rollup@3.26.3)
+ '@rollup/plugin-json':
+ specifier: ^6.0.0
+ version: 6.0.0(rollup@3.26.3)
+ '@rollup/plugin-node-resolve':
+ specifier: ^15.1.0
+ version: 15.1.0(rollup@3.26.3)
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^6.1.0
+ version: 6.1.0(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)(typescript@5.1.6)
+ '@typescript-eslint/parser':
+ specifier: ^6.1.0
+ version: 6.1.0(eslint@8.45.0)(typescript@5.1.6)
+ esbuild:
+ specifier: ^0.18.15
+ version: 0.18.15
+ eslint-config-prettier:
+ specifier: ^8.8.0
+ version: 8.8.0(eslint@8.45.0)
+ eslint-plugin-prettier:
+ specifier: ^5.0.0
+ version: 5.0.0(eslint-config-prettier@8.8.0)(eslint@8.45.0)(prettier@3.0.0)
+ eslint-plugin-solid:
+ specifier: ^0.12.1
+ version: 0.12.1(eslint@8.45.0)(typescript@5.1.6)
+ prettier:
+ specifier: ^3.0.0
+ version: 3.0.0
+ rimraf:
+ specifier: ^5.0.1
+ version: 5.0.1
+ rollup-plugin-dts:
+ specifier: ^5.3.0
+ version: 5.3.0(rollup@3.26.3)(typescript@5.1.6)
+ rollup-plugin-esbuild:
+ specifier: ^5.0.0
+ version: 5.0.0(esbuild@0.18.15)(rollup@3.26.3)
+ solid-js:
+ specifier: ^1.7.8
+ version: 1.7.8
packages:
- /@ampproject/remapping/2.1.2:
- resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==}
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /@ampproject/remapping@2.2.1:
+ resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
engines: {node: '>=6.0.0'}
dependencies:
- '@jridgewell/trace-mapping': 0.3.4
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.18
dev: true
- /@babel/code-frame/7.16.7:
- resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
+ /@babel/code-frame@7.22.5:
+ resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/highlight': 7.16.10
+ '@babel/highlight': 7.22.5
dev: true
- /@babel/compat-data/7.17.7:
- resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==}
+ /@babel/compat-data@7.22.9:
+ resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==}
engines: {node: '>=6.9.0'}
dev: true
- /@babel/core/7.17.8:
- resolution: {integrity: sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==}
+ /@babel/core@7.22.9:
+ resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@ampproject/remapping': 2.1.2
- '@babel/code-frame': 7.16.7
- '@babel/generator': 7.17.7
- '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.8
- '@babel/helper-module-transforms': 7.17.7
- '@babel/helpers': 7.17.8
- '@babel/parser': 7.17.8
- '@babel/template': 7.16.7
- '@babel/traverse': 7.17.3
- '@babel/types': 7.17.0
- convert-source-map: 1.8.0
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.22.5
+ '@babel/generator': 7.22.9
+ '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9)
+ '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9)
+ '@babel/helpers': 7.22.6
+ '@babel/parser': 7.22.7
+ '@babel/template': 7.22.5
+ '@babel/traverse': 7.22.8
+ '@babel/types': 7.22.5
+ convert-source-map: 1.9.0
debug: 4.3.4
gensync: 1.0.0-beta.2
- json5: 2.2.1
- semver: 6.3.0
+ json5: 2.2.3
+ semver: 6.3.1
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/generator/7.17.7:
- resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==}
+ /@babel/generator@7.22.9:
+ resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.22.5
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.18
jsesc: 2.5.2
- source-map: 0.5.7
dev: true
- /@babel/helper-annotate-as-pure/7.16.7:
- resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==}
+ /@babel/helper-annotate-as-pure@7.22.5:
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.22.5
dev: true
- /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.8:
- resolution: {integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==}
+ /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9):
+ resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/compat-data': 7.17.7
- '@babel/core': 7.17.8
- '@babel/helper-validator-option': 7.16.7
- browserslist: 4.20.2
- semver: 6.3.0
+ '@babel/compat-data': 7.22.9
+ '@babel/core': 7.22.9
+ '@babel/helper-validator-option': 7.22.5
+ browserslist: 4.21.9
+ lru-cache: 5.1.1
+ semver: 6.3.1
dev: true
- /@babel/helper-create-class-features-plugin/7.17.6_@babel+core@7.17.8:
- resolution: {integrity: sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==}
+ /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.22.9):
+ resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.17.8
- '@babel/helper-annotate-as-pure': 7.16.7
- '@babel/helper-environment-visitor': 7.16.7
- '@babel/helper-function-name': 7.16.7
- '@babel/helper-member-expression-to-functions': 7.17.7
- '@babel/helper-optimise-call-expression': 7.16.7
- '@babel/helper-replace-supers': 7.16.7
- '@babel/helper-split-export-declaration': 7.16.7
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.22.9
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-member-expression-to-functions': 7.22.5
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
dev: true
- /@babel/helper-environment-visitor/7.16.7:
- resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==}
+ /@babel/helper-environment-visitor@7.22.5:
+ resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.17.0
dev: true
- /@babel/helper-function-name/7.16.7:
- resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==}
+ /@babel/helper-function-name@7.22.5:
+ resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-get-function-arity': 7.16.7
- '@babel/template': 7.16.7
- '@babel/types': 7.17.0
+ '@babel/template': 7.22.5
+ '@babel/types': 7.22.5
dev: true
- /@babel/helper-get-function-arity/7.16.7:
- resolution: {integrity: sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==}
+ /@babel/helper-hoist-variables@7.22.5:
+ resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.22.5
dev: true
- /@babel/helper-hoist-variables/7.16.7:
- resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==}
+ /@babel/helper-member-expression-to-functions@7.22.5:
+ resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.22.5
dev: true
- /@babel/helper-member-expression-to-functions/7.17.7:
- resolution: {integrity: sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==}
+ /@babel/helper-module-imports@7.18.6:
+ resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.22.5
dev: true
- /@babel/helper-module-imports/7.16.0:
- resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==}
+ /@babel/helper-module-imports@7.22.5:
+ resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.22.5
dev: true
- /@babel/helper-module-imports/7.16.7:
- resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==}
+ /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9):
+ resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
dependencies:
- '@babel/types': 7.17.0
+ '@babel/core': 7.22.9
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-module-imports': 7.22.5
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.5
dev: true
- /@babel/helper-module-transforms/7.17.7:
- resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==}
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-environment-visitor': 7.16.7
- '@babel/helper-module-imports': 7.16.7
- '@babel/helper-simple-access': 7.17.7
- '@babel/helper-split-export-declaration': 7.16.7
- '@babel/helper-validator-identifier': 7.16.7
- '@babel/template': 7.16.7
- '@babel/traverse': 7.17.3
- '@babel/types': 7.17.0
- transitivePeerDependencies:
- - supports-color
+ '@babel/types': 7.22.5
dev: true
- /@babel/helper-optimise-call-expression/7.16.7:
- resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==}
+ /@babel/helper-plugin-utils@7.22.5:
+ resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.17.0
dev: true
- /@babel/helper-plugin-utils/7.16.7:
- resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==}
+ /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.9):
+ resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.9
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-member-expression-to-functions': 7.22.5
+ '@babel/helper-optimise-call-expression': 7.22.5
dev: true
- /@babel/helper-replace-supers/7.16.7:
- resolution: {integrity: sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==}
+ /@babel/helper-simple-access@7.22.5:
+ resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-environment-visitor': 7.16.7
- '@babel/helper-member-expression-to-functions': 7.17.7
- '@babel/helper-optimise-call-expression': 7.16.7
- '@babel/traverse': 7.17.3
- '@babel/types': 7.17.0
- transitivePeerDependencies:
- - supports-color
+ '@babel/types': 7.22.5
dev: true
- /@babel/helper-simple-access/7.17.7:
- resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==}
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.22.5
dev: true
- /@babel/helper-split-export-declaration/7.16.7:
- resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==}
+ /@babel/helper-split-export-declaration@7.22.6:
+ resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.17.0
+ '@babel/types': 7.22.5
+ dev: true
+
+ /@babel/helper-string-parser@7.22.5:
+ resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
+ engines: {node: '>=6.9.0'}
dev: true
- /@babel/helper-validator-identifier/7.16.7:
- resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
+ /@babel/helper-validator-identifier@7.22.5:
+ resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==}
engines: {node: '>=6.9.0'}
dev: true
- /@babel/helper-validator-option/7.16.7:
- resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==}
+ /@babel/helper-validator-option@7.22.5:
+ resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==}
engines: {node: '>=6.9.0'}
dev: true
- /@babel/helpers/7.17.8:
- resolution: {integrity: sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==}
+ /@babel/helpers@7.22.6:
+ resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/template': 7.16.7
- '@babel/traverse': 7.17.3
- '@babel/types': 7.17.0
+ '@babel/template': 7.22.5
+ '@babel/traverse': 7.22.8
+ '@babel/types': 7.22.5
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/highlight/7.16.10:
- resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==}
+ /@babel/highlight@7.22.5:
+ resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-validator-identifier': 7.16.7
+ '@babel/helper-validator-identifier': 7.22.5
chalk: 2.4.2
js-tokens: 4.0.0
dev: true
- /@babel/parser/7.17.8:
- resolution: {integrity: sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==}
+ /@babel/parser@7.22.7:
+ resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==}
engines: {node: '>=6.0.0'}
hasBin: true
+ dependencies:
+ '@babel/types': 7.22.5
dev: true
- /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.8:
- resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==}
+ /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.9):
+ resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.8
- '@babel/helper-plugin-utils': 7.16.7
+ '@babel/core': 7.22.9
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.8:
- resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==}
+ /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.9):
+ resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.8
- '@babel/helper-plugin-utils': 7.16.7
+ '@babel/core': 7.22.9
+ '@babel/helper-plugin-utils': 7.22.5
dev: true
- /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.8:
- resolution: {integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==}
+ /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.9):
+ resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.8
- '@babel/helper-create-class-features-plugin': 7.17.6_@babel+core@7.17.8
- '@babel/helper-plugin-utils': 7.16.7
- '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.8
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.22.9
+ '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-simple-access': 7.22.5
dev: true
- /@babel/preset-typescript/7.16.7_@babel+core@7.17.8:
- resolution: {integrity: sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==}
+ /@babel/plugin-transform-typescript@7.22.9(@babel/core@7.22.9):
+ resolution: {integrity: sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.17.8
- '@babel/helper-plugin-utils': 7.16.7
- '@babel/helper-validator-option': 7.16.7
- '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.8
- transitivePeerDependencies:
- - supports-color
+ '@babel/core': 7.22.9
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9)
+ dev: true
+
+ /@babel/preset-typescript@7.22.5(@babel/core@7.22.9):
+ resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.9
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.5
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9)
+ '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9)
+ '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.22.9)
dev: true
- /@babel/template/7.16.7:
- resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==}
+ /@babel/template@7.22.5:
+ resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.16.7
- '@babel/parser': 7.17.8
- '@babel/types': 7.17.0
+ '@babel/code-frame': 7.22.5
+ '@babel/parser': 7.22.7
+ '@babel/types': 7.22.5
dev: true
- /@babel/traverse/7.17.3:
- resolution: {integrity: sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==}
+ /@babel/traverse@7.22.8:
+ resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.16.7
- '@babel/generator': 7.17.7
- '@babel/helper-environment-visitor': 7.16.7
- '@babel/helper-function-name': 7.16.7
- '@babel/helper-hoist-variables': 7.16.7
- '@babel/helper-split-export-declaration': 7.16.7
- '@babel/parser': 7.17.8
- '@babel/types': 7.17.0
+ '@babel/code-frame': 7.22.5
+ '@babel/generator': 7.22.9
+ '@babel/helper-environment-visitor': 7.22.5
+ '@babel/helper-function-name': 7.22.5
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.22.7
+ '@babel/types': 7.22.5
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
dev: true
- /@babel/types/7.17.0:
- resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
+ /@babel/types@7.22.5:
+ resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-validator-identifier': 7.16.7
+ '@babel/helper-string-parser': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.5
to-fast-properties: 2.0.0
dev: true
- /@jridgewell/resolve-uri/3.0.5:
- resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==}
- engines: {node: '>=6.0.0'}
- dev: true
-
- /@jridgewell/sourcemap-codec/1.4.11:
- resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==}
- dev: true
-
- /@jridgewell/trace-mapping/0.3.4:
- resolution: {integrity: sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==}
- dependencies:
- '@jridgewell/resolve-uri': 3.0.5
- '@jridgewell/sourcemap-codec': 1.4.11
- dev: true
-
- /@react-spring/animated/9.4.4:
- resolution: {integrity: sha512-e9xnuBaUTD+NolKikUmrGWjX8AVCPyj1GcEgjgq9E+0sXKv46UY7cm2EmB6mUDTxWIDVKebARY++xT4nGDraBQ==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0
- dependencies:
- '@react-spring/shared': 9.4.4
- '@react-spring/types': 9.4.4
- dev: false
-
- /@react-spring/core/9.4.4:
- resolution: {integrity: sha512-llgb0ljFyjMB0JhWsaFHOi9XFT8n1jBMVs1IFY2ipIBerWIRWrgUmIpakLPHTa4c4jwqTaDSwX90s2a0iN7dxQ==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0
- dependencies:
- '@react-spring/animated': 9.4.4
- '@react-spring/rafz': 9.4.4
- '@react-spring/shared': 9.4.4
- '@react-spring/types': 9.4.4
- dev: false
-
- /@react-spring/rafz/9.4.4:
- resolution: {integrity: sha512-5ki/sQ06Mdf8AuFstSt5zbNNicRT4LZogiJttDAww1ozhuvemafNWEHxhzcULgCPCDu2s7HsroaISV7+GQWrhw==}
- dev: false
-
- /@react-spring/shared/9.4.4:
- resolution: {integrity: sha512-ySVgScDZlhm/+Iy2smY9i/DDrShArY0j6zjTS/Re1lasKnhq8qigoGiAxe8xMPJNlCaj3uczCqHy3TY9bKRtfQ==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0
- dependencies:
- '@react-spring/rafz': 9.4.4
- '@react-spring/types': 9.4.4
- dev: false
-
- /@react-spring/types/9.4.4:
- resolution: {integrity: sha512-KpxKt/D//q/t/6FBcde/RE36LKp8PpWu7kFEMLwpzMGl9RpcexunmYOQJWwmJWtkQjgE1YRr7DzBMryz6La1cQ==}
- dev: false
-
- /@rollup/plugin-alias/3.1.9:
- resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==}
- engines: {node: '>=8.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
- dependencies:
- slash: 3.0.0
- dev: true
-
- /@rollup/plugin-commonjs/21.0.2:
- resolution: {integrity: sha512-d/OmjaLVO4j/aQX69bwpWPpbvI3TJkQuxoAk7BH8ew1PyoMBLTOuvJTjzG8oEoW7drIIqB0KCJtfFLu/2GClWg==}
- engines: {node: '>= 8.0.0'}
- peerDependencies:
- rollup: ^2.38.3
- dependencies:
- '@rollup/pluginutils': 3.1.0
- commondir: 1.0.1
- estree-walker: 2.0.2
- glob: 7.2.0
- is-reference: 1.2.1
- magic-string: 0.25.9
- resolve: 1.22.0
- dev: true
-
- /@rollup/plugin-json/4.1.0:
- resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==}
- peerDependencies:
- rollup: ^1.20.0 || ^2.0.0
- dependencies:
- '@rollup/pluginutils': 3.1.0
- dev: true
-
- /@rollup/plugin-node-resolve/13.1.3:
- resolution: {integrity: sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==}
- engines: {node: '>= 10.0.0'}
- peerDependencies:
- rollup: ^2.42.0
- dependencies:
- '@rollup/pluginutils': 3.1.0
- '@types/resolve': 1.17.1
- builtin-modules: 3.2.0
- deepmerge: 4.2.2
- is-module: 1.0.0
- resolve: 1.22.0
- dev: true
-
- /@rollup/pluginutils/3.1.0:
- resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
- engines: {node: '>= 8.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
- dependencies:
- '@types/estree': 0.0.39
- estree-walker: 1.0.1
- picomatch: 2.3.1
- dev: true
-
- /@rollup/pluginutils/4.2.0:
- resolution: {integrity: sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==}
- engines: {node: '>= 8.0.0'}
- dependencies:
- estree-walker: 2.0.2
- picomatch: 2.3.1
- dev: true
-
- /@types/estree/0.0.39:
- resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
- dev: true
-
- /@types/estree/0.0.51:
- resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
- dev: true
-
- /@types/node/17.0.23:
- resolution: {integrity: sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==}
- dev: true
-
- /@types/resolve/1.17.1:
- resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
- dependencies:
- '@types/node': 17.0.23
- dev: true
-
- /ansi-styles/3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
- dependencies:
- color-convert: 1.9.3
- dev: true
-
- /babel-plugin-jsx-dom-expressions/0.32.11_@babel+core@7.17.8:
- resolution: {integrity: sha512-hytqY33SGW6B3obSLt8K5X510UwtNkTktCCWgwba+QOOV0CowDFiqeL+0ru895FLacFaYANHFTu1y76dg3GVtw==}
- dependencies:
- '@babel/helper-module-imports': 7.16.0
- '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.8
- '@babel/types': 7.17.0
- html-entities: 2.3.2
- transitivePeerDependencies:
- - '@babel/core'
- dev: true
-
- /babel-preset-solid/1.3.13_@babel+core@7.17.8:
- resolution: {integrity: sha512-MZnmsceI9yiHlwwFCSALTJhadk2eea/+2UP4ec4jkPZFR+XRKTLoIwRkrBh7uLtvHF+3lHGyUaXtZukOmmUwhA==}
- dependencies:
- babel-plugin-jsx-dom-expressions: 0.32.11_@babel+core@7.17.8
- transitivePeerDependencies:
- - '@babel/core'
- dev: true
-
- /balanced-match/1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- dev: true
-
- /brace-expansion/1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
- dev: true
-
- /browserslist/4.20.2:
- resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001324
- electron-to-chromium: 1.4.103
- escalade: 3.1.1
- node-releases: 2.0.2
- picocolors: 1.0.0
- dev: true
-
- /builtin-modules/3.2.0:
- resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==}
- engines: {node: '>=6'}
- dev: true
-
- /caniuse-lite/1.0.30001324:
- resolution: {integrity: sha512-/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==}
- dev: true
-
- /chalk/2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
- dev: true
-
- /color-convert/1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
- dependencies:
- color-name: 1.1.3
- dev: true
-
- /color-name/1.1.3:
- resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=}
- dev: true
-
- /commondir/1.0.1:
- resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=}
- dev: true
-
- /concat-map/0.0.1:
- resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
- dev: true
-
- /convert-source-map/1.8.0:
- resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
- dependencies:
- safe-buffer: 5.1.2
- dev: true
-
- /debug/4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.2
- dev: true
-
- /deepmerge/4.2.2:
- resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /electron-to-chromium/1.4.103:
- resolution: {integrity: sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==}
+ /@esbuild/android-arm64@0.18.15:
+ resolution: {integrity: sha512-NI/gnWcMl2kXt1HJKOn2H69SYn4YNheKo6NZt1hyfKWdMbaGadxjZIkcj4Gjk/WPxnbFXs9/3HjGHaknCqjrww==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /es-module-lexer/0.9.3:
- resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==}
+ /@esbuild/android-arm@0.18.15:
+ resolution: {integrity: sha512-wlkQBWb79/jeEEoRmrxt/yhn5T1lU236OCNpnfRzaCJHZ/5gf82uYx1qmADTBWE0AR/v7FiozE1auk2riyQd3w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /esbuild-android-64/0.14.27:
- resolution: {integrity: sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ==}
+ /@esbuild/android-x64@0.18.15:
+ resolution: {integrity: sha512-FM9NQamSaEm/IZIhegF76aiLnng1kEsZl2eve/emxDeReVfRuRNmvT28l6hoFD9TsCxpK+i4v8LPpEj74T7yjA==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@@ -622,17 +446,17 @@ packages:
dev: true
optional: true
- /esbuild-android-arm64/0.14.27:
- resolution: {integrity: sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ==}
+ /@esbuild/darwin-arm64@0.18.15:
+ resolution: {integrity: sha512-XmrFwEOYauKte9QjS6hz60FpOCnw4zaPAb7XV7O4lx1r39XjJhTN7ZpXqJh4sN6q60zbP6QwAVVA8N/wUyBH/w==}
engines: {node: '>=12'}
cpu: [arm64]
- os: [android]
+ os: [darwin]
requiresBuild: true
dev: true
optional: true
- /esbuild-darwin-64/0.14.27:
- resolution: {integrity: sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g==}
+ /@esbuild/darwin-x64@0.18.15:
+ resolution: {integrity: sha512-bMqBmpw1e//7Fh5GLetSZaeo9zSC4/CMtrVFdj+bqKPGJuKyfNJ5Nf2m3LknKZTS+Q4oyPiON+v3eaJ59sLB5A==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@@ -640,17 +464,17 @@ packages:
dev: true
optional: true
- /esbuild-darwin-arm64/0.14.27:
- resolution: {integrity: sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ==}
+ /@esbuild/freebsd-arm64@0.18.15:
+ resolution: {integrity: sha512-LoTK5N3bOmNI9zVLCeTgnk5Rk0WdUTrr9dyDAQGVMrNTh9EAPuNwSTCgaKOKiDpverOa0htPcO9NwslSE5xuLA==}
engines: {node: '>=12'}
cpu: [arm64]
- os: [darwin]
+ os: [freebsd]
requiresBuild: true
dev: true
optional: true
- /esbuild-freebsd-64/0.14.27:
- resolution: {integrity: sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA==}
+ /@esbuild/freebsd-x64@0.18.15:
+ resolution: {integrity: sha512-62jX5n30VzgrjAjOk5orYeHFq6sqjvsIj1QesXvn5OZtdt5Gdj0vUNJy9NIpjfdNdqr76jjtzBJKf+h2uzYuTQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@@ -658,89 +482,89 @@ packages:
dev: true
optional: true
- /esbuild-freebsd-arm64/0.14.27:
- resolution: {integrity: sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA==}
+ /@esbuild/linux-arm64@0.18.15:
+ resolution: {integrity: sha512-BWncQeuWDgYv0jTNzJjaNgleduV4tMbQjmk/zpPh/lUdMcNEAxy+jvneDJ6RJkrqloG7tB9S9rCrtfk/kuplsQ==}
engines: {node: '>=12'}
cpu: [arm64]
- os: [freebsd]
+ os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-32/0.14.27:
- resolution: {integrity: sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw==}
+ /@esbuild/linux-arm@0.18.15:
+ resolution: {integrity: sha512-dT4URUv6ir45ZkBqhwZwyFV6cH61k8MttIwhThp2BGiVtagYvCToF+Bggyx2VI57RG4Fbt21f9TmXaYx0DeUJg==}
engines: {node: '>=12'}
- cpu: [ia32]
+ cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-64/0.14.27:
- resolution: {integrity: sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg==}
+ /@esbuild/linux-ia32@0.18.15:
+ resolution: {integrity: sha512-JPXORvgHRHITqfms1dWT/GbEY89u848dC08o0yK3fNskhp0t2TuNUnsrrSgOdH28ceb1hJuwyr8R/1RnyPwocw==}
engines: {node: '>=12'}
- cpu: [x64]
+ cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-arm/0.14.27:
- resolution: {integrity: sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw==}
+ /@esbuild/linux-loong64@0.18.15:
+ resolution: {integrity: sha512-kArPI0DopjJCEplsVj/H+2Qgzz7vdFSacHNsgoAKpPS6W/Ndh8Oe24HRDQ5QCu4jHgN6XOtfFfLpRx3TXv/mEg==}
engines: {node: '>=12'}
- cpu: [arm]
+ cpu: [loong64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-arm64/0.14.27:
- resolution: {integrity: sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ==}
+ /@esbuild/linux-mips64el@0.18.15:
+ resolution: {integrity: sha512-b/tmngUfO02E00c1XnNTw/0DmloKjb6XQeqxaYuzGwHe0fHVgx5/D6CWi+XH1DvkszjBUkK9BX7n1ARTOst59w==}
engines: {node: '>=12'}
- cpu: [arm64]
+ cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-mips64le/0.14.27:
- resolution: {integrity: sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A==}
+ /@esbuild/linux-ppc64@0.18.15:
+ resolution: {integrity: sha512-KXPY69MWw79QJkyvUYb2ex/OgnN/8N/Aw5UDPlgoRtoEfcBqfeLodPr42UojV3NdkoO4u10NXQdamWm1YEzSKw==}
engines: {node: '>=12'}
- cpu: [mips64el]
+ cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-ppc64le/0.14.27:
- resolution: {integrity: sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA==}
+ /@esbuild/linux-riscv64@0.18.15:
+ resolution: {integrity: sha512-komK3NEAeeGRnvFEjX1SfVg6EmkfIi5aKzevdvJqMydYr9N+pRQK0PGJXk+bhoPZwOUgLO4l99FZmLGk/L1jWg==}
engines: {node: '>=12'}
- cpu: [ppc64]
+ cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-riscv64/0.14.27:
- resolution: {integrity: sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg==}
+ /@esbuild/linux-s390x@0.18.15:
+ resolution: {integrity: sha512-632T5Ts6gQ2WiMLWRRyeflPAm44u2E/s/TJvn+BP6M5mnHSk93cieaypj3VSMYO2ePTCRqAFXtuYi1yv8uZJNA==}
engines: {node: '>=12'}
- cpu: [riscv64]
+ cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-linux-s390x/0.14.27:
- resolution: {integrity: sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg==}
+ /@esbuild/linux-x64@0.18.15:
+ resolution: {integrity: sha512-MsHtX0NgvRHsoOtYkuxyk4Vkmvk3PLRWfA4okK7c+6dT0Fu4SUqXAr9y4Q3d8vUf1VWWb6YutpL4XNe400iQ1g==}
engines: {node: '>=12'}
- cpu: [s390x]
+ cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /esbuild-netbsd-64/0.14.27:
- resolution: {integrity: sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q==}
+ /@esbuild/netbsd-x64@0.18.15:
+ resolution: {integrity: sha512-djST6s+jQiwxMIVQ5rlt24JFIAr4uwUnzceuFL7BQT4CbrRtqBPueS4GjXSiIpmwVri1Icj/9pFRJ7/aScvT+A==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@@ -748,8 +572,8 @@ packages:
dev: true
optional: true
- /esbuild-openbsd-64/0.14.27:
- resolution: {integrity: sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==}
+ /@esbuild/openbsd-x64@0.18.15:
+ resolution: {integrity: sha512-naeRhUIvhsgeounjkF5mvrNAVMGAm6EJWiabskeE5yOeBbLp7T89tAEw0j5Jm/CZAwyLe3c67zyCWH6fsBLCpw==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@@ -757,8 +581,8 @@ packages:
dev: true
optional: true
- /esbuild-sunos-64/0.14.27:
- resolution: {integrity: sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==}
+ /@esbuild/sunos-x64@0.18.15:
+ resolution: {integrity: sha512-qkT2+WxyKbNIKV1AEhI8QiSIgTHMcRctzSaa/I3kVgMS5dl3fOeoqkb7pW76KwxHoriImhx7Mg3TwN/auMDsyQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@@ -766,419 +590,2617 @@ packages:
dev: true
optional: true
- /esbuild-windows-32/0.14.27:
- resolution: {integrity: sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw==}
+ /@esbuild/win32-arm64@0.18.15:
+ resolution: {integrity: sha512-HC4/feP+pB2Vb+cMPUjAnFyERs+HJN7E6KaeBlFdBv799MhD+aPJlfi/yk36SED58J9TPwI8MAcVpJgej4ud0A==}
engines: {node: '>=12'}
- cpu: [ia32]
+ cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /esbuild-windows-64/0.14.27:
- resolution: {integrity: sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg==}
+ /@esbuild/win32-ia32@0.18.15:
+ resolution: {integrity: sha512-ovjwoRXI+gf52EVF60u9sSDj7myPixPxqzD5CmkEUmvs+W9Xd0iqISVBQn8xcx4ciIaIVlWCuTbYDOXOnOL44Q==}
engines: {node: '>=12'}
- cpu: [x64]
+ cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /esbuild-windows-arm64/0.14.27:
- resolution: {integrity: sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg==}
+ /@esbuild/win32-x64@0.18.15:
+ resolution: {integrity: sha512-imUxH9a3WJARyAvrG7srLyiK73XdX83NXQkjKvQ+7vPh3ZxoLrzvPkQKKw2DwZ+RV2ZB6vBfNHP8XScAmQC3aA==}
engines: {node: '>=12'}
- cpu: [arm64]
+ cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /esbuild/0.14.27:
- resolution: {integrity: sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- esbuild-android-64: 0.14.27
- esbuild-android-arm64: 0.14.27
- esbuild-darwin-64: 0.14.27
- esbuild-darwin-arm64: 0.14.27
- esbuild-freebsd-64: 0.14.27
- esbuild-freebsd-arm64: 0.14.27
- esbuild-linux-32: 0.14.27
- esbuild-linux-64: 0.14.27
- esbuild-linux-arm: 0.14.27
- esbuild-linux-arm64: 0.14.27
- esbuild-linux-mips64le: 0.14.27
- esbuild-linux-ppc64le: 0.14.27
- esbuild-linux-riscv64: 0.14.27
- esbuild-linux-s390x: 0.14.27
- esbuild-netbsd-64: 0.14.27
- esbuild-openbsd-64: 0.14.27
- esbuild-sunos-64: 0.14.27
- esbuild-windows-32: 0.14.27
- esbuild-windows-64: 0.14.27
- esbuild-windows-arm64: 0.14.27
- dev: true
-
- /escalade/3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
- engines: {node: '>=6'}
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.45.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.45.0
+ eslint-visitor-keys: 3.4.1
dev: true
- /escape-string-regexp/1.0.5:
- resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
- engines: {node: '>=0.8.0'}
+ /@eslint-community/regexpp@4.6.0:
+ resolution: {integrity: sha512-uiPeRISaglZnaZk8vwrjQZ1CxogZeY/4IYft6gBOTqu1WhVXWmCmZMWxUv2Q/pxSvPdp1JPaO62kLOcOkMqWrw==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
- /estree-walker/1.0.1:
- resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+ /@eslint/eslintrc@2.1.0:
+ resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.20.0
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /estree-walker/2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ /@eslint/js@8.44.0:
+ resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /fs.realpath/1.0.0:
- resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
+ /@humanwhocodes/config-array@0.11.10:
+ resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 1.2.1
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /fsevents/2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
dev: true
- optional: true
- /function-bind/1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ /@humanwhocodes/object-schema@1.2.1:
+ resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
dev: true
- /gensync/1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
+ /@isaacs/cliui@8.0.2:
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: /string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: /strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: /wrap-ansi@7.0.0
dev: true
- /glob/7.2.0:
- resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
+ /@jridgewell/gen-mapping@0.3.3:
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
+ engines: {node: '>=6.0.0'}
dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.18
dev: true
- /globals/11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
+ /@jridgewell/resolve-uri@3.1.0:
+ resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
+ engines: {node: '>=6.0.0'}
dev: true
- /has-flag/3.0.0:
- resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
- engines: {node: '>=4'}
+ /@jridgewell/set-array@1.1.2:
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ engines: {node: '>=6.0.0'}
dev: true
- /has/1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
- engines: {node: '>= 0.4.0'}
- dependencies:
- function-bind: 1.1.1
+ /@jridgewell/sourcemap-codec@1.4.14:
+ resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
dev: true
- /html-entities/2.3.2:
- resolution: {integrity: sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==}
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
dev: true
- /inflight/1.0.6:
- resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
+ /@jridgewell/trace-mapping@0.3.18:
+ resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
dependencies:
- once: 1.4.0
- wrappy: 1.0.2
- dev: true
-
- /inherits/2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ '@jridgewell/resolve-uri': 3.1.0
+ '@jridgewell/sourcemap-codec': 1.4.14
dev: true
- /is-core-module/2.8.1:
- resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==}
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
dependencies:
- has: 1.0.3
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
dev: true
- /is-module/1.0.0:
- resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=}
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
dev: true
- /is-reference/1.2.1:
- resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
dependencies:
- '@types/estree': 0.0.51
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.15.0
dev: true
- /is-what/4.1.7:
- resolution: {integrity: sha512-DBVOQNiPKnGMxRMLIYSwERAS5MVY1B7xYiGnpgctsOFvVDz9f9PFXXxMcTOHuoqYp4NK9qFYQaIC1NRRxLMpBQ==}
- engines: {node: '>=12.13'}
+ /@pkgjs/parseargs@0.11.0:
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@pkgr/utils@2.4.2:
+ resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ fast-glob: 3.3.1
+ is-glob: 4.0.3
+ open: 9.1.0
+ picocolors: 1.0.0
+ tslib: 2.6.0
+ dev: true
+
+ /@rollup/plugin-alias@5.0.0(rollup@3.26.3):
+ resolution: {integrity: sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ rollup: 3.26.3
+ slash: 4.0.0
+ dev: true
+
+ /@rollup/plugin-commonjs@25.0.3(rollup@3.26.3):
+ resolution: {integrity: sha512-uBdtWr/H3BVcgm97MUdq2oJmqBR23ny1hOrWe2PKo9FTbjsGqg32jfasJUKYAI5ouqacjRnj65mBB/S79F+GQA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.68.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2(rollup@3.26.3)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 8.1.0
+ is-reference: 1.2.1
+ magic-string: 0.27.0
+ rollup: 3.26.3
+ dev: true
+
+ /@rollup/plugin-json@6.0.0(rollup@3.26.3):
+ resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2(rollup@3.26.3)
+ rollup: 3.26.3
+ dev: true
+
+ /@rollup/plugin-node-resolve@15.1.0(rollup@3.26.3):
+ resolution: {integrity: sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 5.0.2(rollup@3.26.3)
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-builtin-module: 3.2.1
+ is-module: 1.0.0
+ resolve: 1.22.2
+ rollup: 3.26.3
+ dev: true
+
+ /@rollup/pluginutils@5.0.2(rollup@3.26.3):
+ resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.1
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ rollup: 3.26.3
+ dev: true
+
+ /@types/babel__core@7.20.1:
+ resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==}
+ dependencies:
+ '@babel/parser': 7.22.7
+ '@babel/types': 7.22.5
+ '@types/babel__generator': 7.6.4
+ '@types/babel__template': 7.4.1
+ '@types/babel__traverse': 7.20.1
+ dev: true
+
+ /@types/babel__generator@7.6.4:
+ resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==}
+ dependencies:
+ '@babel/types': 7.22.5
+ dev: true
+
+ /@types/babel__template@7.4.1:
+ resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
+ dependencies:
+ '@babel/parser': 7.22.7
+ '@babel/types': 7.22.5
+ dev: true
+
+ /@types/babel__traverse@7.20.1:
+ resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==}
+ dependencies:
+ '@babel/types': 7.22.5
+ dev: true
+
+ /@types/estree@1.0.1:
+ resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
+ dev: true
+
+ /@types/json-schema@7.0.12:
+ resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
+ dev: true
+
+ /@types/resolve@1.20.2:
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+ dev: true
+
+ /@types/semver@7.5.0:
+ resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@6.1.0(@typescript-eslint/parser@6.1.0)(eslint@8.45.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-qg7Bm5TyP/I7iilGyp6DRqqkt8na00lI6HbjWZObgk3FFSzH5ypRwAHXJhJkwiRtTcfn+xYQIMOR5kJgpo6upw==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.6.0
+ '@typescript-eslint/parser': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
+ '@typescript-eslint/scope-manager': 6.1.0
+ '@typescript-eslint/type-utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
+ '@typescript-eslint/utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
+ '@typescript-eslint/visitor-keys': 6.1.0
+ debug: 4.3.4
+ eslint: 8.45.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ natural-compare: 1.4.0
+ natural-compare-lite: 1.4.0
+ semver: 7.5.4
+ ts-api-utils: 1.0.1(typescript@5.1.6)
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@6.1.0(eslint@8.45.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-hIzCPvX4vDs4qL07SYzyomamcs2/tQYXg5DtdAfj35AyJ5PIUqhsLf4YrEIFzZcND7R2E8tpQIZKayxg8/6Wbw==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 6.1.0
+ '@typescript-eslint/types': 6.1.0
+ '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6)
+ '@typescript-eslint/visitor-keys': 6.1.0
+ debug: 4.3.4
+ eslint: 8.45.0
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/scope-manager@5.62.0:
+ resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
+ dev: true
+
+ /@typescript-eslint/scope-manager@6.1.0:
+ resolution: {integrity: sha512-AxjgxDn27hgPpe2rQe19k0tXw84YCOsjDJ2r61cIebq1t+AIxbgiXKvD4999Wk49GVaAcdJ/d49FYel+Pp3jjw==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.1.0
+ '@typescript-eslint/visitor-keys': 6.1.0
+ dev: true
+
+ /@typescript-eslint/type-utils@6.1.0(eslint@8.45.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-kFXBx6QWS1ZZ5Ni89TyT1X9Ag6RXVIVhqDs0vZE/jUeWlBv/ixq2diua6G7ece6+fXw3TvNRxP77/5mOMusx2w==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6)
+ '@typescript-eslint/utils': 6.1.0(eslint@8.45.0)(typescript@5.1.6)
+ debug: 4.3.4
+ eslint: 8.45.0
+ ts-api-utils: 1.0.1(typescript@5.1.6)
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/types@5.62.0:
+ resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@typescript-eslint/types@6.1.0:
+ resolution: {integrity: sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dev: true
+
+ /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6):
+ resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ tsutils: 3.21.0(typescript@5.1.6)
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/typescript-estree@6.1.0(typescript@5.1.6):
+ resolution: {integrity: sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 6.1.0
+ '@typescript-eslint/visitor-keys': 6.1.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ ts-api-utils: 1.0.1(typescript@5.1.6)
+ typescript: 5.1.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/utils@5.62.0(eslint@8.45.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
+ '@types/json-schema': 7.0.12
+ '@types/semver': 7.5.0
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
+ eslint: 8.45.0
+ eslint-scope: 5.1.1
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/utils@6.1.0(eslint@8.45.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-wp652EogZlKmQoMS5hAvWqRKplXvkuOnNzZSE0PVvsKjpexd/XznRVHAtrfHFYmqaJz0DFkjlDsGYC9OXw+OhQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
+ '@types/json-schema': 7.0.12
+ '@types/semver': 7.5.0
+ '@typescript-eslint/scope-manager': 6.1.0
+ '@typescript-eslint/types': 6.1.0
+ '@typescript-eslint/typescript-estree': 6.1.0(typescript@5.1.6)
+ eslint: 8.45.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/visitor-keys@5.62.0:
+ resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ eslint-visitor-keys: 3.4.1
+ dev: true
+
+ /@typescript-eslint/visitor-keys@6.1.0:
+ resolution: {integrity: sha512-yQeh+EXhquh119Eis4k0kYhj9vmFzNpbhM3LftWQVwqVjipCkwHBQOZutcYW+JVkjtTG9k8nrZU1UoNedPDd1A==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.1.0
+ eslint-visitor-keys: 3.4.1
+ dev: true
+
+ /acorn-jsx@5.3.2(acorn@8.10.0):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.10.0
+ dev: true
+
+ /acorn@8.10.0:
+ resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
+ /ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+ dev: true
+
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /ansi-regex@6.0.1:
+ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+ dev: true
+
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ dev: true
+
+ /array-buffer-byte-length@1.0.0:
+ resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
+ dependencies:
+ call-bind: 1.0.2
+ is-array-buffer: 3.0.2
+ dev: true
+
+ /array-includes@3.1.6:
+ resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ get-intrinsic: 1.2.1
+ is-string: 1.0.7
+ dev: true
+
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /array.prototype.flat@1.3.1:
+ resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /arraybuffer.prototype.slice@1.0.1:
+ resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ get-intrinsic: 1.2.1
+ is-array-buffer: 3.0.2
+ is-shared-array-buffer: 1.0.2
+ dev: true
+
+ /available-typed-arrays@1.0.5:
+ resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /babel-plugin-jsx-dom-expressions@0.36.10(@babel/core@7.22.9):
+ resolution: {integrity: sha512-QA2k/14WGw+RgcGGnEuLWwnu4em6CGhjeXtjvgOYyFHYS2a+CzPeaVQHDOlfuiBcjq/3hWMspHMIMnPEOIzdBg==}
+ peerDependencies:
+ '@babel/core': ^7.20.12
+ dependencies:
+ '@babel/core': 7.22.9
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9)
+ '@babel/types': 7.22.5
+ html-entities: 2.3.3
+ validate-html-nesting: 1.2.2
+ dev: true
+
+ /babel-preset-solid@1.7.7(@babel/core@7.22.9):
+ resolution: {integrity: sha512-tdxVzx3kgcIjNXAOmGRbzIhFBPeJjSakiN9yM+IYdL/+LtXNnbGqb0Va5tJb8Sjbk+QVEriovCyuzB5T7jeTvg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.22.9
+ babel-plugin-jsx-dom-expressions: 0.36.10(@babel/core@7.22.9)
+ dev: true
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ dev: true
+
+ /big-integer@1.6.51:
+ resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==}
+ engines: {node: '>=0.6'}
+ dev: true
+
+ /bplist-parser@0.2.0:
+ resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==}
+ engines: {node: '>= 5.10.0'}
+ dependencies:
+ big-integer: 1.6.51
+ dev: true
+
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
+
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+ dev: true
+
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+
+ /browserslist@4.21.9:
+ resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001517
+ electron-to-chromium: 1.4.467
+ node-releases: 2.0.13
+ update-browserslist-db: 1.0.11(browserslist@4.21.9)
+ dev: true
+
+ /builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /bundle-name@3.0.0:
+ resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==}
+ engines: {node: '>=12'}
+ dependencies:
+ run-applescript: 5.0.0
+ dev: true
+
+ /call-bind@1.0.2:
+ resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
+ dependencies:
+ function-bind: 1.1.1
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /caniuse-lite@1.0.30001517:
+ resolution: {integrity: sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==}
+ dev: true
+
+ /chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ dev: true
+
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+ dev: true
+
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+ dev: true
+
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ dev: true
+
+ /commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: true
+
+ /concat-map@0.0.1:
+ resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
+ dev: true
+
+ /convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ dev: true
+
+ /cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+
+ /csstype@3.1.2:
+ resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ dev: true
+
+ /deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /default-browser-id@3.0.0:
+ resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==}
+ engines: {node: '>=12'}
+ dependencies:
+ bplist-parser: 0.2.0
+ untildify: 4.0.0
+ dev: true
+
+ /default-browser@4.0.0:
+ resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ bundle-name: 3.0.0
+ default-browser-id: 3.0.0
+ execa: 7.1.1
+ titleize: 3.0.0
+ dev: true
+
+ /define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /define-properties@1.2.0:
+ resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-property-descriptors: 1.0.0
+ object-keys: 1.1.1
+ dev: true
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+
+ /doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ dev: true
+
+ /electron-to-chromium@1.4.467:
+ resolution: {integrity: sha512-2qI70O+rR4poYeF2grcuS/bCps5KJh6y1jtZMDDEteyKJQrzLOEhFyXCLcHW6DTBjKjWkk26JhWoAi+Ux9A0fg==}
+ dev: true
+
+ /emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ dev: true
+
+ /emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ dev: true
+
+ /es-abstract@1.22.1:
+ resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ arraybuffer.prototype.slice: 1.0.1
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ es-set-tostringtag: 2.0.1
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.5
+ get-intrinsic: 1.2.1
+ get-symbol-description: 1.0.0
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has: 1.0.3
+ has-property-descriptors: 1.0.0
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ is-array-buffer: 3.0.2
+ is-callable: 1.2.7
+ is-negative-zero: 2.0.2
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.2
+ is-string: 1.0.7
+ is-typed-array: 1.1.12
+ is-weakref: 1.0.2
+ object-inspect: 1.12.3
+ object-keys: 1.1.1
+ object.assign: 4.1.4
+ regexp.prototype.flags: 1.5.0
+ safe-array-concat: 1.0.0
+ safe-regex-test: 1.0.0
+ string.prototype.trim: 1.2.7
+ string.prototype.trimend: 1.0.6
+ string.prototype.trimstart: 1.0.6
+ typed-array-buffer: 1.0.0
+ typed-array-byte-length: 1.0.0
+ typed-array-byte-offset: 1.0.0
+ typed-array-length: 1.0.4
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.11
+ dev: true
+
+ /es-module-lexer@1.3.0:
+ resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==}
+ dev: true
+
+ /es-set-tostringtag@2.0.1:
+ resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.1
+ has: 1.0.3
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /es-shim-unscopables@1.0.0:
+ resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: true
+
+ /esbuild@0.18.15:
+ resolution: {integrity: sha512-3WOOLhrvuTGPRzQPU6waSDWrDTnQriia72McWcn6UCi43GhCHrXH4S59hKMeez+IITmdUuUyvbU9JIp+t3xlPQ==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.18.15
+ '@esbuild/android-arm64': 0.18.15
+ '@esbuild/android-x64': 0.18.15
+ '@esbuild/darwin-arm64': 0.18.15
+ '@esbuild/darwin-x64': 0.18.15
+ '@esbuild/freebsd-arm64': 0.18.15
+ '@esbuild/freebsd-x64': 0.18.15
+ '@esbuild/linux-arm': 0.18.15
+ '@esbuild/linux-arm64': 0.18.15
+ '@esbuild/linux-ia32': 0.18.15
+ '@esbuild/linux-loong64': 0.18.15
+ '@esbuild/linux-mips64el': 0.18.15
+ '@esbuild/linux-ppc64': 0.18.15
+ '@esbuild/linux-riscv64': 0.18.15
+ '@esbuild/linux-s390x': 0.18.15
+ '@esbuild/linux-x64': 0.18.15
+ '@esbuild/netbsd-x64': 0.18.15
+ '@esbuild/openbsd-x64': 0.18.15
+ '@esbuild/sunos-x64': 0.18.15
+ '@esbuild/win32-arm64': 0.18.15
+ '@esbuild/win32-ia32': 0.18.15
+ '@esbuild/win32-x64': 0.18.15
+ dev: true
+
+ /escalade@3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+ dev: true
+
+ /escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /eslint-config-prettier@8.8.0(eslint@8.45.0):
+ resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==}
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ eslint: 8.45.0
+ dev: true
+
+ /eslint-plugin-prettier@5.0.0(eslint-config-prettier@8.8.0)(eslint@8.45.0)(prettier@3.0.0):
+ resolution: {integrity: sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ '@types/eslint': '>=8.0.0'
+ eslint: '>=8.0.0'
+ eslint-config-prettier: '*'
+ prettier: '>=3.0.0'
+ peerDependenciesMeta:
+ '@types/eslint':
+ optional: true
+ eslint-config-prettier:
+ optional: true
+ dependencies:
+ eslint: 8.45.0
+ eslint-config-prettier: 8.8.0(eslint@8.45.0)
+ prettier: 3.0.0
+ prettier-linter-helpers: 1.0.0
+ synckit: 0.8.5
+ dev: true
+
+ /eslint-plugin-solid@0.12.1(eslint@8.45.0)(typescript@5.1.6):
+ resolution: {integrity: sha512-fM0sEg9PcS1mcNbWklwc+W/lOv1/XyEwXf53HmFFy4GOA8E3u41h8JW+hc+Vv1m3kh01umKoTalOTET08zKdAQ==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@typescript-eslint/utils': 5.62.0(eslint@8.45.0)(typescript@5.1.6)
+ eslint: 8.45.0
+ is-html: 2.0.0
+ jsx-ast-utils: 3.3.4
+ kebab-case: 1.0.2
+ known-css-properties: 0.24.0
+ style-to-object: 0.3.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+ dev: true
+
+ /eslint-scope@7.2.1:
+ resolution: {integrity: sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+ dev: true
+
+ /eslint-visitor-keys@3.4.1:
+ resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /eslint@8.45.0:
+ resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
+ '@eslint-community/regexpp': 4.6.0
+ '@eslint/eslintrc': 2.1.0
+ '@eslint/js': 8.44.0
+ '@humanwhocodes/config-array': 0.11.10
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.1
+ eslint-visitor-keys: 3.4.1
+ espree: 9.6.1
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.20.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.3
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.10.0
+ acorn-jsx: 5.3.2(acorn@8.10.0)
+ eslint-visitor-keys: 3.4.1
+ dev: true
+
+ /esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: true
+
+ /esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
+ /execa@7.1.1:
+ resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==}
+ engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 4.3.1
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 3.0.7
+ strip-final-newline: 3.0.0
+ dev: true
+
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ dev: true
+
+ /fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+ dev: true
+
+ /fast-glob@3.3.1:
+ resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ dev: true
+
+ /fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ dev: true
+
+ /fastq@1.15.0:
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.0.4
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+
+ /find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /flat-cache@3.0.4:
+ resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flatted: 3.2.7
+ rimraf: 3.0.2
+ dev: true
+
+ /flatted@3.2.7:
+ resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+ dev: true
+
+ /for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ dependencies:
+ is-callable: 1.2.7
+ dev: true
+
+ /foreground-child@3.1.1:
+ resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
+ engines: {node: '>=14'}
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.0.2
+ dev: true
+
+ /fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ dev: true
+
+ /fsevents@2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind@1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ dev: true
+
+ /function.prototype.name@1.1.5:
+ resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ functions-have-names: 1.2.3
+ dev: true
+
+ /functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: true
+
+ /gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /get-intrinsic@1.2.1:
+ resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
+ dependencies:
+ function-bind: 1.1.1
+ has: 1.0.3
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ dev: true
+
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /get-symbol-description@1.0.0:
+ resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob@10.3.3:
+ resolution: {integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+ dependencies:
+ foreground-child: 3.1.1
+ jackspeak: 2.2.1
+ minimatch: 9.0.3
+ minipass: 7.0.2
+ path-scurry: 1.10.1
+ dev: true
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /glob@8.1.0:
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 5.1.6
+ once: 1.4.0
+ dev: true
+
+ /globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /globals@13.20.0:
+ resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
+ /globalthis@1.0.3:
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-properties: 1.2.0
+ dev: true
+
+ /globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.1
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 3.0.0
+ dev: true
+
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ dev: true
+
+ /has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ dev: true
+
+ /has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /has-property-descriptors@1.0.0:
+ resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
+ dependencies:
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /has-proto@1.0.1:
+ resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-tostringtag@1.0.0:
+ resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /has@1.0.3:
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
+ engines: {node: '>= 0.4.0'}
+ dependencies:
+ function-bind: 1.1.1
+ dev: true
+
+ /html-entities@2.3.3:
+ resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==}
+ dev: true
+
+ /html-tags@3.3.1:
+ resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: true
+
+ /human-signals@4.3.1:
+ resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==}
+ engines: {node: '>=14.18.0'}
+ dev: true
+
+ /ignore@5.2.4:
+ resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+
+ /imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+ dev: true
+
+ /inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ dev: true
+
+ /inline-style-parser@0.1.1:
+ resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
+ dev: true
+
+ /internal-slot@1.0.5:
+ resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.1
+ has: 1.0.3
+ side-channel: 1.0.4
+ dev: true
+
+ /is-array-buffer@3.0.2:
+ resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ dependencies:
+ has-bigints: 1.0.2
+ dev: true
+
+ /is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-builtin-module@3.2.1:
+ resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
+ engines: {node: '>=6'}
+ dependencies:
+ builtin-modules: 3.3.0
+ dev: true
+
+ /is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-core-module@2.12.1:
+ resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dev: true
+
+ /is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+ dev: true
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /is-html@2.0.0:
+ resolution: {integrity: sha512-S+OpgB5i7wzIue/YSE5hg0e5ZYfG3hhpNh9KGl6ayJ38p7ED6wxQLd1TV91xHpcTvw90KMJ9EwN3F/iNflHBVg==}
+ engines: {node: '>=8'}
+ dependencies:
+ html-tags: 3.3.1
+ dev: true
+
+ /is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+ dependencies:
+ is-docker: 3.0.0
+ dev: true
+
+ /is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+ dev: true
+
+ /is-negative-zero@2.0.2:
+ resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+ dev: true
+
+ /is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-reference@1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ dependencies:
+ '@types/estree': 1.0.1
+ dev: true
+
+ /is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-shared-array-buffer@1.0.2:
+ resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /is-typed-array@1.1.12:
+ resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ which-typed-array: 1.1.11
+ dev: true
+
+ /is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-what@4.1.15:
+ resolution: {integrity: sha512-uKua1wfy3Yt+YqsD6mTUEa2zSi3G1oPlqTflgaPJ7z63vUGN5pxFpnQfeSLMFnJDEsdvOtkp1rUWkYjB4YfhgA==}
+ engines: {node: '>=12.13'}
+ dev: true
+
+ /is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+
+ /isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ dev: true
+
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ dev: true
+
+ /jackspeak@2.2.1:
+ resolution: {integrity: sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+ dev: true
+
+ /joycon@3.1.1:
+ resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ dev: true
+
+ /js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ dev: true
+
+ /json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ dev: true
+
+ /json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dev: true
+
+ /jsonc-parser@3.2.0:
+ resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+ dev: true
+
+ /jsx-ast-utils@3.3.4:
+ resolution: {integrity: sha512-fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ array-includes: 3.1.6
+ array.prototype.flat: 1.3.1
+ object.assign: 4.1.4
+ object.values: 1.1.6
+ dev: true
+
+ /kebab-case@1.0.2:
+ resolution: {integrity: sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==}
+ dev: true
+
+ /known-css-properties@0.24.0:
+ resolution: {integrity: sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==}
+ dev: true
+
+ /levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-locate: 5.0.0
+ dev: true
+
+ /lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ dev: true
+
+ /lru-cache@10.0.0:
+ resolution: {integrity: sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==}
+ engines: {node: 14 || >=16.14}
+ dev: true
+
+ /lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+ dev: true
+
+ /lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /magic-string@0.27.0:
+ resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: true
+
+ /magic-string@0.30.1:
+ resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: true
+
+ /merge-anything@5.1.7:
+ resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==}
+ engines: {node: '>=12.13'}
+ dependencies:
+ is-what: 4.1.15
+ dev: true
+
+ /merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ dev: true
+
+ /merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minipass@7.0.2:
+ resolution: {integrity: sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dev: true
+
+ /ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ dev: true
+
+ /nanoid@3.3.6:
+ resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: true
+
+ /natural-compare-lite@1.4.0:
+ resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
+ dev: true
+
+ /natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
- /joycon/3.1.1:
- resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
- engines: {node: '>=10'}
+ /node-releases@2.0.13:
+ resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
dev: true
- /js-tokens/4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
dev: true
- /jsesc/2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
+ /npm-run-path@5.1.0:
+ resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ path-key: 4.0.0
dev: true
- /json5/2.2.1:
- resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==}
- engines: {node: '>=6'}
- hasBin: true
+ /object-inspect@1.12.3:
+ resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
dev: true
- /jsonc-parser/3.0.0:
- resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==}
+ /object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
dev: true
- /magic-string/0.25.9:
- resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+ /object.assign@4.1.4:
+ resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- sourcemap-codec: 1.4.8
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
dev: true
- /magic-string/0.26.1:
- resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==}
- engines: {node: '>=12'}
+ /object.values@1.1.6:
+ resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
+ engines: {node: '>= 0.4'}
dependencies:
- sourcemap-codec: 1.4.8
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
dev: true
- /merge-anything/5.0.2:
- resolution: {integrity: sha512-POPQBWkBC0vxdgzRJ2Mkj4+2NTKbvkHo93ih+jGDhNMLzIw+rYKjO7949hOQM2X7DxMHH1uoUkwWFLIzImw7gA==}
- engines: {node: '>=12.13'}
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
- is-what: 4.1.7
- ts-toolbelt: 9.6.0
+ wrappy: 1.0.2
dev: true
- /minimatch/3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
dependencies:
- brace-expansion: 1.1.11
+ mimic-fn: 2.1.0
dev: true
- /ms/2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ /onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ mimic-fn: 4.0.0
dev: true
- /nanoid/3.3.2:
- resolution: {integrity: sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
+ /open@9.1.0:
+ resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ default-browser: 4.0.0
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ is-wsl: 2.2.0
dev: true
- /node-releases/2.0.2:
- resolution: {integrity: sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==}
+ /optionator@0.9.3:
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ '@aashutoshrathi/word-wrap': 1.2.6
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
dev: true
- /once/1.4.0:
- resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
+ /p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
dependencies:
- wrappy: 1.0.2
+ yocto-queue: 0.1.0
+ dev: true
+
+ /p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-limit: 3.1.0
+ dev: true
+
+ /parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+
+ /path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
dev: true
- /path-is-absolute/1.0.1:
- resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
+ /path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
dev: true
- /path-parse/1.0.7:
+ /path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: true
- /picocolors/1.0.0:
+ /path-scurry@1.10.1:
+ resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ lru-cache: 10.0.0
+ minipass: 7.0.2
+ dev: true
+
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
dev: true
- /picomatch/2.3.1:
+ /picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
dev: true
- /postcss/8.4.12:
- resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==}
+ /postcss@8.4.26:
+ resolution: {integrity: sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
- nanoid: 3.3.2
+ nanoid: 3.3.6
picocolors: 1.0.0
source-map-js: 1.0.2
dev: true
- /resolve/1.22.0:
- resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==}
+ /prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ /prettier-linter-helpers@1.0.0:
+ resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ fast-diff: 1.3.0
+ dev: true
+
+ /prettier@3.0.0:
+ resolution: {integrity: sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ /punycode@2.3.0:
+ resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
+
+ /regexp.prototype.flags@1.5.0:
+ resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ functions-have-names: 1.2.3
+ dev: true
+
+ /resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /resolve@1.22.2:
+ resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
hasBin: true
dependencies:
- is-core-module: 2.8.1
+ is-core-module: 2.12.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
dev: true
- /rollup-plugin-dts/4.2.0:
- resolution: {integrity: sha512-lx6irWVhz/x4//tIqRhzk4FOqGQ0n37ZM2wpPCn4uafl/EmiV92om7ZdAsq7Bzho6C+Xh5GfsyuP9H+Udv72Lg==}
- engines: {node: '>=v12.22.10'}
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
+
+ /rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rimraf@5.0.1:
+ resolution: {integrity: sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dependencies:
+ glob: 10.3.3
+ dev: true
+
+ /rollup-plugin-dts@5.3.0(rollup@3.26.3)(typescript@5.1.6):
+ resolution: {integrity: sha512-8FXp0ZkyZj1iU5klkIJYLjIq/YZSwBoERu33QBDxm/1yw5UU4txrEtcmMkrq+ZiKu3Q4qvPCNqc3ovX6rjqzbQ==}
+ engines: {node: '>=v14'}
peerDependencies:
- rollup: ^2.55
- typescript: ^4.1
+ rollup: ^3.0.0
+ typescript: ^4.1 || ^5.0
dependencies:
- magic-string: 0.26.1
+ magic-string: 0.30.1
+ rollup: 3.26.3
+ typescript: 5.1.6
optionalDependencies:
- '@babel/code-frame': 7.16.7
+ '@babel/code-frame': 7.22.5
dev: true
- /rollup-plugin-esbuild/4.8.2_esbuild@0.14.27:
- resolution: {integrity: sha512-wsaYNOjzTb6dN1qCIZsMZ7Q0LWiPJklYs2TDI8vJA2LUbvtPUY+17TC8C0vSat3jPMInfR9XWKdA7ttuwkjsGQ==}
- engines: {node: '>=12'}
+ /rollup-plugin-esbuild@5.0.0(esbuild@0.18.15)(rollup@3.26.3):
+ resolution: {integrity: sha512-1cRIOHAPh8WQgdQQyyvFdeOdxuiyk+zB5zJ5+YOwrZP4cJ0MT3Fs48pQxrZeyZHcn+klFherytILVfE4aYrneg==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
peerDependencies:
esbuild: '>=0.10.1'
- rollup: ^1.20.0 || ^2.0.0
+ rollup: ^1.20.0 || ^2.0.0 || ^3.0.0
dependencies:
- '@rollup/pluginutils': 4.2.0
+ '@rollup/pluginutils': 5.0.2(rollup@3.26.3)
debug: 4.3.4
- es-module-lexer: 0.9.3
- esbuild: 0.14.27
+ es-module-lexer: 1.3.0
+ esbuild: 0.18.15
joycon: 3.1.1
- jsonc-parser: 3.0.0
+ jsonc-parser: 3.2.0
+ rollup: 3.26.3
transitivePeerDependencies:
- supports-color
dev: true
- /rollup/2.70.1:
- resolution: {integrity: sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==}
- engines: {node: '>=10.0.0'}
+ /rollup@3.26.3:
+ resolution: {integrity: sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
fsevents: 2.3.2
dev: true
- /safe-buffer/5.1.2:
- resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ /run-applescript@5.0.0:
+ resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==}
+ engines: {node: '>=12'}
+ dependencies:
+ execa: 5.1.1
+ dev: true
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /safe-array-concat@1.0.0:
+ resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==}
+ engines: {node: '>=0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+ dev: true
+
+ /safe-regex-test@1.0.0:
+ resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ is-regex: 1.1.4
+ dev: true
+
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
dev: true
- /semver/6.3.0:
- resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
+ /semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /seroval@0.5.1:
+ resolution: {integrity: sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==}
+ engines: {node: '>=10'}
+
+ /shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+
+ /shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /side-channel@1.0.4:
+ resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ object-inspect: 1.12.3
+ dev: true
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: true
+
+ /signal-exit@4.0.2:
+ resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==}
+ engines: {node: '>=14'}
dev: true
- /slash/3.0.0:
+ /slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
dev: true
- /solid-js/1.3.13:
- resolution: {integrity: sha512-1EBEIW9u2yqT5QNjFdvz/tMAoKsDdaRA2Jbgykd2Dt13Ia0D4mV+BFvPkOaseSyu7DsMKS23+ZZofV8BVKmpuQ==}
+ /slash@4.0.0:
+ resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /solid-js@1.7.8:
+ resolution: {integrity: sha512-XHBWk1FvFd0JMKljko7FfhefJMTSgYEuVKcQ2a8hzRXfiuSJAGsrPPafqEo+f6l+e8Oe3cROSpIL6kbzjC1fjQ==}
+ dependencies:
+ csstype: 3.1.2
+ seroval: 0.5.1
- /solid-refresh/0.4.0_solid-js@1.3.13:
- resolution: {integrity: sha512-5XCUz845n/sHPzKK2i2G2EeV61tAmzv6SqzqhXcPaYhrgzVy7nKTQaBpKK8InKrriq9Z2JFF/mguIU00t/73xw==}
+ /solid-refresh@0.5.3(solid-js@1.7.8):
+ resolution: {integrity: sha512-Otg5it5sjOdZbQZJnvo99TEBAr6J7PQ5AubZLNU6szZzg3RQQ5MX04oteBIIGDs0y2Qv8aXKm9e44V8z+UnFdw==}
peerDependencies:
- solid-js: ^1.3.0
+ solid-js: ^1.3
dependencies:
- '@babel/generator': 7.17.7
- '@babel/helper-module-imports': 7.16.7
- '@babel/types': 7.17.0
- solid-js: 1.3.13
+ '@babel/generator': 7.22.9
+ '@babel/helper-module-imports': 7.22.5
+ '@babel/types': 7.22.5
+ solid-js: 1.7.8
dev: true
- /source-map-js/1.0.2:
+ /source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
dev: true
- /source-map/0.5.7:
- resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=}
- engines: {node: '>=0.10.0'}
+ /string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+ dev: true
+
+ /string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
dev: true
- /sourcemap-codec/1.4.8:
- resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ /string.prototype.trim@1.2.7:
+ resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /string.prototype.trimend@1.0.6:
+ resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /string.prototype.trimstart@1.0.6:
+ resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.22.1
+ dev: true
+
+ /strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+ dev: true
+
+ /strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-regex: 6.0.1
dev: true
- /supports-color/5.5.0:
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /style-to-object@0.3.0:
+ resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==}
+ dependencies:
+ inline-style-parser: 0.1.1
+ dev: true
+
+ /supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
dependencies:
has-flag: 3.0.0
dev: true
- /supports-preserve-symlinks-flag/1.0.0:
+ /supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
dev: true
- /to-fast-properties/2.0.0:
- resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=}
+ /synckit@0.8.5:
+ resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ dependencies:
+ '@pkgr/utils': 2.4.2
+ tslib: 2.6.0
+ dev: true
+
+ /text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ dev: true
+
+ /titleize@3.0.0:
+ resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
dev: true
- /ts-toolbelt/9.6.0:
- resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==}
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+ dev: true
+
+ /ts-api-utils@1.0.1(typescript@5.1.6):
+ resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==}
+ engines: {node: '>=16.13.0'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.1.6
+ dev: true
+
+ /tslib@1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+ dev: true
+
+ /tslib@2.6.0:
+ resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==}
+ dev: true
+
+ /tsutils@3.21.0(typescript@5.1.6):
+ resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
+ engines: {node: '>= 6'}
+ peerDependencies:
+ typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
+ dependencies:
+ tslib: 1.14.1
+ typescript: 5.1.6
+ dev: true
+
+ /type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ dev: true
+
+ /type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /typed-array-buffer@1.0.0:
+ resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.2.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-length@1.0.0:
+ resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-offset@1.0.0:
+ resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-length@1.0.4:
+ resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
+ dependencies:
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typescript@5.1.6:
+ resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+ dev: true
+
+ /unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ dependencies:
+ call-bind: 1.0.2
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: true
+
+ /untildify@4.0.0:
+ resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
+ engines: {node: '>=8'}
dev: true
- /typescript/4.6.3:
- resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==}
- engines: {node: '>=4.2.0'}
+ /update-browserslist-db@1.0.11(browserslist@4.21.9):
+ resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.21.9
+ escalade: 3.1.1
+ picocolors: 1.0.0
dev: true
- /vite-plugin-solid/2.2.6:
- resolution: {integrity: sha512-J1RnmqkZZJSNYDW7vZj0giKKHLWGr9tS/gxR70WDSTYfhyXrgukbZdIfSEFbtrsg8ZiQ2t2zXcvkWoeefenqKw==}
+ /uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
- '@babel/core': 7.17.8
- '@babel/preset-typescript': 7.16.7_@babel+core@7.17.8
- babel-preset-solid: 1.3.13_@babel+core@7.17.8
- merge-anything: 5.0.2
- solid-js: 1.3.13
- solid-refresh: 0.4.0_solid-js@1.3.13
- vite: 2.9.1
+ punycode: 2.3.0
+ dev: true
+
+ /validate-html-nesting@1.2.2:
+ resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==}
+ dev: true
+
+ /vite-plugin-solid@2.7.0(solid-js@1.7.8)(vite@4.4.6):
+ resolution: {integrity: sha512-avp/Jl5zOp/Itfo67xtDB2O61U7idviaIp4mLsjhCa13PjKNasz+IID0jYTyqUp9SFx6/PmBr6v4KgDppqompg==}
+ peerDependencies:
+ solid-js: ^1.7.2
+ vite: ^3.0.0 || ^4.0.0
+ dependencies:
+ '@babel/core': 7.22.9
+ '@babel/preset-typescript': 7.22.5(@babel/core@7.22.9)
+ '@types/babel__core': 7.20.1
+ babel-preset-solid: 1.7.7(@babel/core@7.22.9)
+ merge-anything: 5.1.7
+ solid-js: 1.7.8
+ solid-refresh: 0.5.3(solid-js@1.7.8)
+ vite: 4.4.6
+ vitefu: 0.2.4(vite@4.4.6)
transitivePeerDependencies:
- - less
- - sass
- - stylus
- supports-color
dev: true
- /vite/2.9.1:
- resolution: {integrity: sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ==}
- engines: {node: '>=12.2.0'}
+ /vite@4.4.6:
+ resolution: {integrity: sha512-EY6Mm8vJ++S3D4tNAckaZfw3JwG3wa794Vt70M6cNJ6NxT87yhq7EC8Rcap3ahyHdo8AhCmV9PTk+vG1HiYn1A==}
+ engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
+ '@types/node': '>= 14'
less: '*'
+ lightningcss: ^1.21.0
sass: '*'
stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
peerDependenciesMeta:
+ '@types/node':
+ optional: true
less:
optional: true
+ lightningcss:
+ optional: true
sass:
optional: true
stylus:
optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
dependencies:
- esbuild: 0.14.27
- postcss: 8.4.12
- resolve: 1.22.0
- rollup: 2.70.1
+ esbuild: 0.18.15
+ postcss: 8.4.26
+ rollup: 3.26.3
optionalDependencies:
fsevents: 2.3.2
dev: true
- /wrappy/1.0.2:
- resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
+ /vitefu@0.2.4(vite@4.4.6):
+ resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
+ peerDependencies:
+ vite: ^3.0.0 || ^4.0.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+ dependencies:
+ vite: 4.4.6
+ dev: true
+
+ /which-boxed-primitive@1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: true
+
+ /which-typed-array@1.1.11:
+ resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.2
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
+ /wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+ dev: true
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ dev: true
+
+ /yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ dev: true
+
+ /yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ dev: true
+
+ /yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
dev: true
diff --git a/spring/.eslintrc.cjs b/spring/.eslintrc.cjs
new file mode 100644
index 0000000..ef81479
--- /dev/null
+++ b/spring/.eslintrc.cjs
@@ -0,0 +1,79 @@
+module.exports = {
+ root: true,
+ env: {
+ browser: true,
+ es6: true,
+ },
+ ignorePatterns: ['node_modules', 'dist'],
+ plugins: ['@typescript-eslint', 'solid'],
+ extends: [
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended-type-checked',
+ 'plugin:@typescript-eslint/strict-type-checked',
+ 'plugin:@typescript-eslint/stylistic-type-checked',
+ 'plugin:solid/typescript',
+ 'prettier',
+ ],
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ ecmaVersion: 2022,
+ ecmaFeatures: {
+ jsx: true,
+ },
+ project: 'tsconfig.json',
+ createDefaultProgram: true,
+ },
+ rules: {
+ '@typescript-eslint/array-type': 'off',
+ '@typescript-eslint/ban-ts-comment': 'off',
+ '@typescript-eslint/ban-ts-ignore': 'off',
+ '@typescript-eslint/ban-types': 'off',
+ '@typescript-eslint/consistent-type-definitions': 'off',
+ '@typescript-eslint/consistent-type-imports': [
+ 'error',
+ { fixStyle: 'inline-type-imports' },
+ ],
+ '@typescript-eslint/dot-notation': 'warn',
+ '@typescript-eslint/explicit-function-return-type': 'off',
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ '@typescript-eslint/no-confusing-void-expression': [
+ 'warn',
+ { ignoreArrowShorthand: true },
+ ],
+ '@typescript-eslint/no-empty-function': 'off',
+ '@typescript-eslint/no-empty-interface': 'off',
+ '@typescript-eslint/no-explicit-any': 'warn',
+ '@typescript-eslint/no-floating-promises': 'warn',
+ '@typescript-eslint/no-invalid-void-type': 'warn',
+ '@typescript-eslint/no-namespace': 'warn',
+ '@typescript-eslint/no-non-null-assertion': 'warn',
+ '@typescript-eslint/no-redundant-type-constituents': 'warn',
+ '@typescript-eslint/no-throw-literal': 'off',
+ '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'off',
+ '@typescript-eslint/no-unnecessary-condition': 'off',
+ '@typescript-eslint/no-unnecessary-type-assertion': 'warn',
+ '@typescript-eslint/no-unsafe-argument': 'off',
+ '@typescript-eslint/no-unsafe-assignment': 'off',
+ '@typescript-eslint/no-unsafe-call': 'off',
+ '@typescript-eslint/no-unsafe-member-access': 'off',
+ '@typescript-eslint/no-unsafe-return': 'off',
+ '@typescript-eslint/no-unused-vars': 'off',
+ '@typescript-eslint/non-nullable-type-assertion-style': 'off',
+ '@typescript-eslint/prefer-nullish-coalescing': 'warn',
+ '@typescript-eslint/prefer-reduce-type-parameter': 'off',
+ '@typescript-eslint/require-await': 'warn',
+ '@typescript-eslint/restrict-plus-operands': 'warn',
+ '@typescript-eslint/restrict-template-expressions': 'off',
+ '@typescript-eslint/unbound-method': 'off',
+ '@typescript-eslint/unified-signatures': 'warn',
+ curly: ['error', 'all'],
+ 'linebreak-style': ['error', 'unix'],
+ 'no-console': 'off',
+ 'no-eval': 'error',
+ 'no-implied-eval': 'error',
+ 'no-prototype-builtins': 'warn',
+ 'prefer-rest-params': 'warn',
+ 'prefer-template': 'error',
+ 'require-atomic-updates': 'off',
+ },
+}
diff --git a/spring/package.json b/spring/package.json
index a238c19..156a86f 100644
--- a/spring/package.json
+++ b/spring/package.json
@@ -1,22 +1,25 @@
{
"name": "solid-spring",
- "version": "0.0.7",
- "type": "module",
+ "version": "0.1.0",
"description": "Like react-spring, but for SolidJS",
"info": "solid-spring is a spring-physics first animation library for SolidJS based on react-spring/core",
+ "license": "MIT",
"contributors": [],
+ "homepage": "https://github.com/aslemammad/solid-spring#readme",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/aslemammad/solid-spring.git"
+ },
+ "bugs": {
+ "url": "https://github.com/aslemammad/solid-spring/issues"
+ },
"keywords": [
"best_ecosystem",
"solidhack",
"react-spring",
"solid"
],
- "scripts": {
- "build": "rimraf dist && rollup -c",
- "dev": "rollup -c --watch src",
- "typecheck": "tsc --noEmit",
- "test": "pnpm vitest"
- },
+ "type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -31,20 +34,32 @@
"bin",
"*.d.ts"
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/aslemammad/solid-spring.git"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/aslemammad/solid-spring/issues"
+ "scripts": {
+ "build": "rimraf dist && rollup -c",
+ "dev": "rollup -c --watch src",
+ "typecheck": "tsc --noEmit",
+ "test": "pnpm vitest",
+ "lint": "pnpm eslint 'src/**/*.{ts,tsx}' && tsc --skipLibCheck",
+ "prettier": "prettier --write \"src/**/*.{js,json,ts,tsx,css,scss,html}\""
},
- "homepage": "https://github.com/aslemammad/solid-spring#readme",
"devDependencies": {
- "rollup-plugin-dts": "^4.2.0",
- "solid-js": "^1.3.13"
+ "@rollup/plugin-alias": "^5.0.0",
+ "@rollup/plugin-commonjs": "^25.0.3",
+ "@rollup/plugin-json": "^6.0.0",
+ "@rollup/plugin-node-resolve": "^15.1.0",
+ "@typescript-eslint/eslint-plugin": "^6.1.0",
+ "@typescript-eslint/parser": "^6.1.0",
+ "esbuild": "^0.18.15",
+ "eslint-config-prettier": "^8.8.0",
+ "eslint-plugin-prettier": "^5.0.0",
+ "eslint-plugin-solid": "^0.12.1",
+ "prettier": "^3.0.0",
+ "rimraf": "^5.0.1",
+ "rollup-plugin-dts": "^5.3.0",
+ "rollup-plugin-esbuild": "^5.0.0",
+ "solid-js": "^1.7.8"
},
"peerDependencies": {
- "solid-js": "^1.3.13"
+ "solid-js": "^1.7.8"
}
}
diff --git a/spring/rollup.config.js b/spring/rollup.config.js
index c611ac9..0b9e712 100644
--- a/spring/rollup.config.js
+++ b/spring/rollup.config.js
@@ -1,35 +1,35 @@
-import esbuild from "rollup-plugin-esbuild";
-import resolve from "@rollup/plugin-node-resolve";
-import commonjs from "@rollup/plugin-commonjs";
-import json from "@rollup/plugin-json";
-import alias from "@rollup/plugin-alias";
+import esbuild from 'rollup-plugin-esbuild'
+import resolve from '@rollup/plugin-node-resolve'
+import commonjs from '@rollup/plugin-commonjs'
+import json from '@rollup/plugin-json'
+import alias from '@rollup/plugin-alias'
import dts from 'rollup-plugin-dts'
-import pkg from "./package.json";
+import pkg from './package.json' assert { type: 'json' }
-const entry = ["src/index.ts"];
+const entry = ['src/index.ts']
const external = [
...Object.keys(pkg.dependencies || []),
...Object.keys(pkg.peerDependencies || []),
- "worker_threads",
- "esbuild",
- "solid-js",
- "solid-js/web",
- "fs/promises",
-];
+ 'worker_threads',
+ 'esbuild',
+ 'solid-js',
+ 'solid-js/web',
+ 'fs/promises',
+]
export default [
{
input: entry,
output: {
- dir: "dist",
- format: "esm",
+ dir: 'dist',
+ format: 'esm',
sourcemap: true,
},
external,
plugins: [
alias({
- entries: [{ find: /^node:(.+)$/, replacement: "$1" }],
+ entries: [{ find: /^node:(.+)$/, replacement: '$1' }],
}),
resolve({
preferBuiltins: true,
@@ -38,23 +38,19 @@ export default [
commonjs(),
esbuild({
define: {
- "import.meta.vitest": 'false',
+ 'import.meta.vitest': 'false',
},
- target: "node14",
+ target: 'node14',
}),
],
},
{
- input: [
- 'src/index.ts',
- ],
+ input: ['src/index.ts'],
output: {
file: 'dist/index.d.ts',
format: 'esm',
},
external,
- plugins: [
- dts(),
- ],
+ plugins: [dts()],
},
-];
+]
diff --git a/spring/src/AnimatedArray.ts b/spring/src/AnimatedArray.ts
index 24b7fa0..2a8f3fd 100644
--- a/spring/src/AnimatedArray.ts
+++ b/spring/src/AnimatedArray.ts
@@ -1,19 +1,19 @@
-import { AnimatedValue } from "./animated"
-import { AnimatedObject } from "./AnimatedObject"
-import { AnimatedString } from "./AnimatedString"
-import { isAnimatedString } from "./utils"
+import { AnimatedValue } from './animated'
+import { AnimatedObject } from './AnimatedObject'
+import { AnimatedString } from './AnimatedString'
+import { isAnimatedString } from './utils'
type Value = number | string
type Source = AnimatedValue[]
/** An array of animated nodes */
export class AnimatedArray<
- T extends ReadonlyArray = Value[]
+ T extends ReadonlyArray = Value[],
> extends AnimatedObject {
protected declare source: Source
- constructor(source: T) {
- super(source)
- }
+ // constructor(source: T) {
+ // super(source)
+ // }
/** @internal */
static create>(source: T) {
@@ -21,7 +21,7 @@ export class AnimatedArray<
}
getValue(): T {
- return this.source.map(node => node.getValue()) as any
+ return this.source.map((node) => node.getValue()) as any
}
setValue(source: T) {
diff --git a/spring/src/AnimatedObject.ts b/spring/src/AnimatedObject.ts
index 6524288..248fa2b 100644
--- a/spring/src/AnimatedObject.ts
+++ b/spring/src/AnimatedObject.ts
@@ -1,8 +1,12 @@
-import { Animated, AnimatedValue, getPayload, isAnimated } from "./animated"
-import { TreeContext } from "./context"
-import { getFluidValue, hasFluidValue } from "./fluids"
-import { Lookup, eachProp, each } from "./utils"
-
+import {
+ Animated,
+ type AnimatedValue,
+ getPayload,
+ isAnimated,
+} from './animated'
+import { TreeContext } from './context'
+import { getFluidValue, hasFluidValue } from './fluids'
+import { type Lookup, eachProp, each } from './utils'
/** An object containing `Animated` nodes */
export class AnimatedObject extends Animated {
@@ -33,7 +37,7 @@ export class AnimatedObject extends Animated {
reset() {
if (this.payload) {
- each(this.payload, node => node.reset())
+ each(this.payload, (node) => node.reset())
}
}
@@ -53,7 +57,7 @@ export class AnimatedObject extends Animated {
}
const payload = getPayload(source)
if (payload) {
- each(payload, node => this.add(node))
+ each(payload, (node) => this.add(node))
}
}
}
diff --git a/spring/src/AnimatedString.ts b/spring/src/AnimatedString.ts
index b535be3..b8d288e 100644
--- a/spring/src/AnimatedString.ts
+++ b/spring/src/AnimatedString.ts
@@ -1,6 +1,6 @@
-import { AnimatedValue } from "./animated"
-import { createInterpolator } from "./createInterpolator"
-import { is } from "./utils"
+import { AnimatedValue } from './animated'
+import { createInterpolator } from './createInterpolator'
+import { is } from './utils'
type Value = string | number
@@ -22,7 +22,7 @@ export class AnimatedString extends AnimatedValue {
}
getValue() {
- let value = this._string
+ const value = this._string
return value == null ? (this._string = this._toString(this._value)) : value
}
diff --git a/spring/src/AnimatedStyle.ts b/spring/src/AnimatedStyle.ts
index 4c284f6..e82e23f 100644
--- a/spring/src/AnimatedStyle.ts
+++ b/spring/src/AnimatedStyle.ts
@@ -1,6 +1,21 @@
-import { AnimatedObject } from "./AnimatedObject"
-import { addFluidObserver, callFluidObservers, FluidEvent, FluidValue, getFluidValue, hasFluidValue, removeFluidObserver } from "./fluids"
-import { is,each, Lookup, OneOrMore, eachProp, toArray } from "./utils"
+import { AnimatedObject } from './AnimatedObject'
+import {
+ addFluidObserver,
+ callFluidObservers,
+ type FluidEvent,
+ FluidValue,
+ getFluidValue,
+ hasFluidValue,
+ removeFluidObserver,
+} from './fluids'
+import {
+ is,
+ each,
+ type Lookup,
+ type OneOrMore,
+ eachProp,
+ toArray,
+} from './utils'
/** The transform-functions
* (https://developer.mozilla.org/fr/docs/Web/CSS/transform-function)
@@ -31,7 +46,7 @@ const addUnit = (value: Value, unit: string): string | 0 =>
*/
const isValueIdentity = (value: OneOrMore, id: number): boolean =>
is.arr(value)
- ? value.every(v => isValueIdentity(v, id))
+ ? value.every((v) => isValueIdentity(v, id))
: is.num(value)
? value === id
: parseFloat(value) === id
@@ -73,8 +88,11 @@ export class AnimatedStyle extends AnimatedObject {
inputs.push([value || ''])
transforms.push((transform: string) => [transform, transform === ''])
} else if (domTransforms.test(key)) {
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
delete style[key]
- if (is.und(value)) return
+ if (is.und(value)) {
+ return
+ }
const unit = pxTransforms.test(key)
? 'px'
@@ -90,9 +108,9 @@ export class AnimatedStyle extends AnimatedObject {
isValueIdentity(deg, 0),
]
: (input: Value[]) => [
- `${key}(${input.map(v => addUnit(v, unit)).join(',')})`,
+ `${key}(${input.map((v) => addUnit(v, unit)).join(',')})`,
isValueIdentity(input, key.startsWith('scale') ? 1 : 0),
- ]
+ ],
)
}
})
@@ -109,7 +127,10 @@ export class AnimatedStyle extends AnimatedObject {
class FluidTransform extends FluidValue {
protected _value: string | null = null
- constructor(readonly inputs: Inputs, readonly transforms: Transforms) {
+ constructor(
+ readonly inputs: Inputs,
+ readonly transforms: Transforms,
+ ) {
super()
}
@@ -123,9 +144,9 @@ class FluidTransform extends FluidValue {
each(this.inputs, (input, i) => {
const arg1 = getFluidValue(input[0])
const [t, id] = this.transforms[i](
- is.arr(arg1) ? arg1 : input.map(getFluidValue)
+ is.arr(arg1) ? arg1 : input.map(getFluidValue),
)
- transform += ' ' + t
+ transform += ` ${t}`
identity = identity && id
})
return identity ? 'none' : transform
@@ -133,24 +154,26 @@ class FluidTransform extends FluidValue {
// Start observing our inputs once we have an observer.
protected observerAdded(count: number) {
- if (count == 1)
- each(this.inputs, input =>
+ if (count == 1) {
+ each(this.inputs, (input) =>
each(
input,
- value => hasFluidValue(value) && addFluidObserver(value, this)
- )
+ (value) => hasFluidValue(value) && addFluidObserver(value, this),
+ ),
)
+ }
}
// Stop observing our inputs once we have no observers.
protected observerRemoved(count: number) {
- if (count == 0)
- each(this.inputs, input =>
+ if (count == 0) {
+ each(this.inputs, (input) =>
each(
input,
- value => hasFluidValue(value) && removeFluidObserver(value, this)
- )
+ (value) => hasFluidValue(value) && removeFluidObserver(value, this),
+ ),
)
+ }
}
eventObserved(event: FluidEvent) {
diff --git a/spring/src/Animation.ts b/spring/src/Animation.ts
index dd5b70c..13e434e 100644
--- a/spring/src/Animation.ts
+++ b/spring/src/Animation.ts
@@ -1,10 +1,11 @@
-import { AnimatedValue } from "./animated"
-import { FluidValue } from "./fluids"
-import { AnimationConfig, PickEventFns, SpringProps } from "./utils"
+import { type AnimatedValue } from './animated'
+import { type FluidValue } from './fluids'
+import { AnimationConfig, type PickEventFns, type SpringProps } from './utils'
const emptyArray: readonly any[] = []
/** An animation being executed by the frameloop */
+// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
export class Animation {
changed = false
values: readonly AnimatedValue[] = emptyArray
diff --git a/spring/src/AnimationConfig.ts b/spring/src/AnimationConfig.ts
index 24f3f4c..d41ed53 100644
--- a/spring/src/AnimationConfig.ts
+++ b/spring/src/AnimationConfig.ts
@@ -1,4 +1,4 @@
-import { config, EasingFunction, easings, is } from "./utils"
+import { config, type EasingFunction, easings, is } from './utils'
const defaults: any = {
...config.default,
@@ -141,13 +141,13 @@ export class AnimationConfig {
export function mergeConfig(
config: AnimationConfig,
newConfig: Partial,
- defaultConfig?: Partial
+ defaultConfig?: Partial,
): typeof config
export function mergeConfig(
config: any,
newConfig: object,
- defaultConfig?: object
+ defaultConfig?: object,
) {
if (defaultConfig) {
defaultConfig = { ...defaultConfig }
@@ -164,10 +164,15 @@ export function mergeConfig(
}
}
- let { mass, frequency, damping } = config
+ const { mass } = config
+ let { frequency, damping } = config
if (!is.und(frequency)) {
- if (frequency < 0.01) frequency = 0.01
- if (damping < 0) damping = 0
+ if (frequency < 0.01) {
+ frequency = 0.01
+ }
+ if (damping < 0) {
+ damping = 0
+ }
config.tension = Math.pow((2 * Math.PI) / frequency, 2) * mass
config.friction = (4 * Math.PI * damping * mass) / frequency
}
@@ -179,7 +184,7 @@ export function mergeConfig(
// This depends on which "config" props take precedence when defined.
function sanitizeConfig(
config: Partial,
- props: Partial
+ props: Partial,
) {
if (!is.und(props.decay)) {
config.duration = undefined
diff --git a/spring/src/AnimationResult.ts b/spring/src/AnimationResult.ts
index eaf45bb..61b0047 100644
--- a/spring/src/AnimationResult.ts
+++ b/spring/src/AnimationResult.ts
@@ -1,19 +1,19 @@
-import { AnimationResult, Readable } from "./utils"
+import { type AnimationResult, type Readable } from './utils'
/** @internal */
export const getCombinedResult = (
target: T,
- results: AnimationResult[]
+ results: AnimationResult[],
): AnimationResult =>
results.length == 1
? results[0]
- : results.some(result => result.cancelled)
+ : results.some((result) => result.cancelled)
? getCancelledResult(target.get())
- : results.every(result => result.noop)
+ : results.every((result) => result.noop)
? getNoopResult(target.get())
: getFinishedResult(
target.get(),
- results.every(result => result.finished)
+ results.every((result) => result.finished),
)
/** No-op results are for updates that never start an animation. */
@@ -27,7 +27,7 @@ export const getNoopResult = (value: any) => ({
export const getFinishedResult = (
value: any,
finished: boolean,
- cancelled: boolean = false
+ cancelled = false,
) => ({
value,
finished,
diff --git a/spring/src/Controller.ts b/spring/src/Controller.ts
index 49432b5..c7f3aa8 100644
--- a/spring/src/Controller.ts
+++ b/spring/src/Controller.ts
@@ -1,12 +1,38 @@
-import { AnimationResult, each, eachProp, ControllerUpdate, Lookup, OnChange, OnRest, OnStart, SpringValues, toArray, UnknownProps, OneOrMore, is, flushCalls, AsyncResult, getDefaultProp, flush, Falsy, noop, ControllerFlushFn } from "./utils"
-import { createLoopUpdate, createUpdate, SpringValue, } from './SpringValue'
-import { SpringRef } from "./SpringRef"
-import { FrameValue } from "./FrameValue"
-import { addFluidObserver, FluidObserver } from "./fluids"
-import { runAsync, RunAsyncState, stopAsync } from "./runAsync"
-import { scheduleProps } from "./scheduleProps"
-import { getCancelledResult, getCombinedResult } from "./AnimationResult"
-import { raf } from "./rafz"
+import {
+ type AnimationResult,
+ each,
+ eachProp,
+ type ControllerUpdate,
+ type Lookup,
+ type OnChange,
+ type OnRest,
+ type OnStart,
+ type SpringValues,
+ toArray,
+ type UnknownProps,
+ type OneOrMore,
+ is,
+ flushCalls,
+ type AsyncResult,
+ getDefaultProp,
+ flush,
+ type Falsy,
+ noop,
+ type ControllerFlushFn,
+} from './utils'
+import { createLoopUpdate, createUpdate, SpringValue } from './SpringValue'
+import { type SpringRef } from './SpringRef'
+import { type FrameValue } from './FrameValue'
+import { addFluidObserver, type FluidObserver } from './fluids'
+import {
+ type AsyncTo,
+ runAsync,
+ type RunAsyncState,
+ stopAsync,
+} from './runAsync'
+import { scheduleProps } from './scheduleProps'
+import { getCancelledResult, getCombinedResult } from './AnimationResult'
+import { raf } from './rafz'
/** Events batched by the `Controller` class */
const BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'] as const
@@ -83,7 +109,7 @@ export class Controller {
constructor(
props?: ControllerUpdate | null,
- flush?: ControllerFlushFn
+ flush?: ControllerFlushFn,
) {
this._onFrame = this._onFrame.bind(this)
if (flush) {
@@ -101,7 +127,7 @@ export class Controller {
get idle() {
return (
!this._state.asyncTo &&
- Object.values(this.springs as Lookup).every(spring => {
+ Object.values(this.springs as Lookup).every((spring) => {
return spring.idle && !spring.isDelayed && !spring.isPaused
})
)
@@ -182,10 +208,10 @@ export class Controller {
}
if (keys) {
const springs = this.springs as Lookup
- each(toArray(keys) as string[], key => springs[key].stop(!!arg))
+ each(toArray(keys) as string[], (key) => springs[key].stop(!!arg))
} else {
stopAsync(this._state, this._lastAsyncId)
- this.each(spring => spring.stop(!!arg))
+ this.each((spring) => spring.stop(!!arg))
}
return this
}
@@ -196,7 +222,7 @@ export class Controller {
this.start({ pause: true })
} else {
const springs = this.springs as Lookup
- each(toArray(keys) as string[], key => springs[key].pause())
+ each(toArray(keys) as string[], (key) => springs[key].pause())
}
return this
}
@@ -207,7 +233,7 @@ export class Controller {
this.start({ pause: false })
} else {
const springs = this.springs as Lookup
- each(toArray(keys) as string[], key => springs[key].resume())
+ each(toArray(keys) as string[], (key) => springs[key].resume())
}
return this
}
@@ -263,7 +289,9 @@ export class Controller {
this._active.delete(event.parent)
}
// The `onFrame` handler runs when a parent is changed or idle.
- else return
+ else {
+ return
+ }
raf.onFrame(this._onFrame)
}
}
@@ -273,10 +301,10 @@ export class Controller {
*/
export function flushUpdateQueue(
ctrl: Controller,
- queue: ControllerQueue
+ queue: ControllerQueue,
) {
- return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(
- results => getCombinedResult(ctrl, results)
+ return Promise.all(queue.map((props) => flushUpdate(ctrl, props))).then(
+ (results) => getCombinedResult(ctrl, results),
)
}
@@ -292,7 +320,7 @@ export function flushUpdateQueue(
export async function flushUpdate(
ctrl: Controller,
props: ControllerQueue[number],
- isLoop?: boolean
+ isLoop?: boolean,
): AsyncResult {
const { keys, to, from, loop, onRest, onResolve } = props
const defaults = is.obj(props.default) && props.default
@@ -304,8 +332,12 @@ export async function flushUpdate(
}
// Treat false like null, which gets ignored.
- if (to === false) props.to = null
- if (from === false) props.from = null
+ if (to === false) {
+ props.to = null
+ }
+ if (from === false) {
+ props.from = null
+ }
const asyncTo = is.arr(to) || is.fun(to) ? to : undefined
if (asyncTo) {
@@ -319,15 +351,19 @@ export async function flushUpdate(
// However, batching is avoided when the `to` prop is async, because any
// event props are used as default props instead.
else {
- each(BATCHED_EVENTS, key => {
+ each(BATCHED_EVENTS, (key) => {
const handler: any = props[key]
if (is.fun(handler)) {
const queue = ctrl['_events'][key]
props[key] = (({ finished, cancelled }: AnimationResult) => {
const result = queue.get(handler)
if (result) {
- if (!finished) result.finished = false
- if (cancelled) result.cancelled = true
+ if (!finished) {
+ result.finished = false
+ }
+ if (cancelled) {
+ result.cancelled = true
+ }
} else {
// The "value" is set before the "handler" is called.
queue.set(handler, {
@@ -358,8 +394,8 @@ export async function flushUpdate(
props.pause = true
}
- const promises: AsyncResult[] = (keys || Object.keys(ctrl.springs)).map(key =>
- ctrl.springs[key]!.start(props as any)
+ const promises: AsyncResult[] = (keys || Object.keys(ctrl.springs)).map(
+ (key) => ctrl.springs[key]!.start(props as any),
)
const cancel =
@@ -379,11 +415,12 @@ export async function flushUpdate(
resolve(getCancelledResult(ctrl))
} else {
props.onRest = onRest
- resolve(runAsync(asyncTo!, props, state, ctrl))
+ resolve(runAsync(asyncTo! as AsyncTo, props, state, ctrl))
+ // previously: resolve(runAsync(asyncTo!, props, state, ctrl))
}
},
},
- })
+ }),
)
}
@@ -392,7 +429,7 @@ export async function flushUpdate(
if (state.paused) {
// Ensure `this` must be resumed before the returned promise
// is resolved and before starting the next `loop` repetition.
- await new Promise(resume => {
+ await new Promise((resume) => {
state.resumeQueue.add(resume)
})
}
@@ -420,8 +457,8 @@ export async function flushUpdate(
* until they're given to `setSprings`.
*/
export function getSprings(
- ctrl: Controller>,
- props?: OneOrMore>
+ ctrl: Controller,
+ props?: OneOrMore>,
) {
const springs = { ...ctrl.springs }
if (props) {
@@ -433,7 +470,7 @@ export function getSprings(
// Avoid passing array/function to each spring.
props = { ...props, to: undefined }
}
- prepareSprings(springs as any, props, key => {
+ prepareSprings(springs as any, props, (key) => {
return createSpring(key)
})
})
@@ -447,8 +484,8 @@ export function getSprings(
* whose key is not already in use.
*/
export function setSprings(
- ctrl: Controller>,
- springs: SpringValues
+ ctrl: Controller,
+ springs: SpringValues,
) {
eachProp(springs, (spring, key) => {
if (!ctrl.springs[key]) {
@@ -476,10 +513,10 @@ function createSpring(key: string, observer?: FluidObserver) {
function prepareSprings(
springs: SpringValues,
props: ControllerQueue[number],
- create: (key: string) => SpringValue
+ create: (key: string) => SpringValue,
) {
if (props.keys) {
- each(props.keys, key => {
+ each(props.keys, (key) => {
const spring = springs[key] || (springs[key] = create(key))
spring['_prepareNode'](props)
})
@@ -493,8 +530,8 @@ function prepareSprings(
* The queue is expected to contain `createUpdate` results.
*/
function prepareKeys(ctrl: Controller, queue: ControllerQueue[number][]) {
- each(queue, props => {
- prepareSprings(ctrl.springs, props, key => {
+ each(queue, (props) => {
+ prepareSprings(ctrl.springs, props, (key) => {
return createSpring(key, ctrl)
})
})
diff --git a/spring/src/FrameLoop.ts b/spring/src/FrameLoop.ts
index 4640eae..116b688 100644
--- a/spring/src/FrameLoop.ts
+++ b/spring/src/FrameLoop.ts
@@ -77,22 +77,23 @@ function flushStartQueue() {
}
function startSafely(animation: OpaqueAnimation) {
- if (!currentFrame.includes(animation)) startUnsafely(animation)
+ if (!currentFrame.includes(animation)) {
+ startUnsafely(animation)
+ }
}
function startUnsafely(animation: OpaqueAnimation) {
currentFrame.splice(
- findIndex(currentFrame, other => other.priority > animation.priority),
+ findIndex(currentFrame, (other) => other.priority > animation.priority),
0,
- animation
+ animation,
)
}
function advance(dt: number) {
const nextFrame = prevFrame
- for (let i = 0; i < currentFrame.length; i++) {
- const animation = currentFrame[i]
+ for (const animation of currentFrame) {
priority = animation.priority
// Animations may go idle before advancing.
diff --git a/spring/src/FrameValue.ts b/spring/src/FrameValue.ts
index a8ec5c5..21c7998 100644
--- a/spring/src/FrameValue.ts
+++ b/spring/src/FrameValue.ts
@@ -1,13 +1,13 @@
-import * as G from "./globals";
-import { getAnimated } from "./animated";
-import { FluidValue, callFluidObservers } from "./fluids";
-import { Interpolation, InterpolatorArgs } from "./Interpolation";
-import { frameLoop } from "./FrameLoop";
+import * as G from './globals'
+import { getAnimated } from './animated'
+import { FluidValue, callFluidObservers } from './fluids'
+import { type Interpolation, type InterpolatorArgs } from './Interpolation'
+import { frameLoop } from './FrameLoop'
export const isFrameValue = (value: any): value is FrameValue =>
- value instanceof FrameValue;
+ value instanceof FrameValue
-let nextId = 1;
+let nextId = 1
/**
* A kind of `FluidValue` that manages an `AnimatedValue` node.
@@ -18,56 +18,60 @@ export abstract class FrameValue extends FluidValue<
T,
FrameValue.Event
> {
- readonly id = nextId++;
+ readonly id = nextId++
- abstract key?: string;
- abstract get idle(): boolean;
+ abstract key?: string
+ abstract get idle(): boolean
- protected _priority = 0;
+ protected _priority = 0
get priority() {
- return this._priority;
+ return this._priority
}
set priority(priority: number) {
if (this._priority != priority) {
- this._priority = priority;
- this._onPriorityChange(priority);
+ this._priority = priority
+ this._onPriorityChange(priority)
}
}
/** Get the current value */
get(): T {
- const node = getAnimated(this);
- return node && node.getValue();
+ const node = getAnimated(this)
+ return node?.getValue()
}
/** Create a spring that maps our value to another value */
- to(...args: InterpolatorArgs) {
- return G.to(this, args) as Interpolation;
+ to(...args: InterpolatorArgs): any {
+ return G.to(this, args)
}
/** @deprecated Use the `to` method instead. */
- interpolate(...args: InterpolatorArgs) {
- return G.to(this, args) as Interpolation;
+ interpolate(...args: InterpolatorArgs): any {
+ return G.to(this, args)
}
toJSON() {
- return this.get();
+ return this.get()
}
protected observerAdded(count: number) {
- if (count == 1) this._attach();
+ if (count == 1) {
+ this._attach()
+ }
}
protected observerRemoved(count: number) {
- if (count == 0) this._detach();
+ if (count == 0) {
+ this._detach()
+ }
}
/** @internal */
- abstract advance(dt: number): void;
+ abstract advance(dt: number): void
/** @internal */
- abstract eventObserved(_event: FrameValue.Event): void;
+ abstract eventObserved(_event: FrameValue.Event): void
/** Called when the first child is added. */
protected _attach() {}
@@ -78,48 +82,48 @@ export abstract class FrameValue extends FluidValue<
/** Tell our children about our new value */
protected _onChange(value: T, idle = false) {
callFluidObservers(this, {
- type: "change",
+ type: 'change',
parent: this,
value,
idle,
- });
+ })
}
/** Tell our children about our new priority */
protected _onPriorityChange(priority: number) {
if (!this.idle) {
- frameLoop.sort(this);
+ frameLoop.sort(this)
}
callFluidObservers(this, {
- type: "priority",
+ type: 'priority',
parent: this,
priority,
- });
+ })
}
}
export declare namespace FrameValue {
/** A parent changed its value */
interface ChangeEvent {
- parent: FrameValue;
- type: "change";
- value: T;
- idle: boolean;
+ parent: FrameValue
+ type: 'change'
+ value: T
+ idle: boolean
}
/** A parent changed its priority */
interface PriorityEvent {
- parent: FrameValue;
- type: "priority";
- priority: number;
+ parent: FrameValue
+ type: 'priority'
+ priority: number
}
/** A parent is done animating */
interface IdleEvent {
- parent: FrameValue;
- type: "idle";
+ parent: FrameValue
+ type: 'idle'
}
/** Events sent to children of `FrameValue` objects */
- export type Event = ChangeEvent | PriorityEvent | IdleEvent;
+ export type Event = ChangeEvent | PriorityEvent | IdleEvent
}
diff --git a/spring/src/Interpolation.ts b/spring/src/Interpolation.ts
index 1560bd8..09d904d 100644
--- a/spring/src/Interpolation.ts
+++ b/spring/src/Interpolation.ts
@@ -1,11 +1,18 @@
import * as G from './globals'
-import { getAnimated, getPayload, setAnimated } from "./animated"
-import { createInterpolator } from "./createInterpolator"
-import { addFluidObserver, callFluidObservers, FluidValue, getFluidValue, hasFluidValue, removeFluidObserver } from "./fluids"
-import { frameLoop } from "./FrameLoop"
-import { FrameValue, isFrameValue } from "./FrameValue"
-import { raf } from "./rafz"
-import { Any, toArray, each, getAnimatedType, isEqual, is } from "./utils"
+import { getAnimated, getPayload, setAnimated } from './animated'
+import { createInterpolator } from './createInterpolator'
+import {
+ addFluidObserver,
+ callFluidObservers,
+ type FluidValue,
+ getFluidValue,
+ hasFluidValue,
+ removeFluidObserver,
+} from './fluids'
+import { frameLoop } from './FrameLoop'
+import { FrameValue, isFrameValue } from './FrameValue'
+import { raf } from './rafz'
+import { type Any, toArray, each, getAnimatedType, isEqual, is } from './utils'
export type Animatable = T extends number
? number
@@ -101,7 +108,7 @@ export type InterpolatorArgs =
| [
readonly number[],
readonly Constrain[],
- (ExtrapolateType | undefined)?
+ (ExtrapolateType | undefined)?,
]
export type InterpolatorFn = (...inputs: Arrify) => Out
@@ -129,7 +136,7 @@ export class Interpolation extends FrameValue {
constructor(
/** The source of input values */
readonly source: unknown,
- args: InterpolatorArgs
+ args: InterpolatorArgs,
) {
super()
this.calc = createInterpolator(...args)
@@ -166,7 +173,7 @@ export class Interpolation extends FrameValue {
if (this.idle && !checkIdle(this._active)) {
this.idle = false
- each(getPayload(this)!, node => {
+ each(getPayload(this)!, (node) => {
node.done = false
})
@@ -182,7 +189,7 @@ export class Interpolation extends FrameValue {
// Observe our sources only when we're observed.
protected _attach() {
let priority = 1
- each(toArray(this.source), source => {
+ each(toArray(this.source), (source) => {
if (hasFluidValue(source)) {
addFluidObserver(source, this)
}
@@ -199,7 +206,7 @@ export class Interpolation extends FrameValue {
// Stop observing our sources once we have no observers.
protected _detach() {
- each(toArray(this.source), source => {
+ each(toArray(this.source), (source) => {
if (hasFluidValue(source)) {
removeFluidObserver(source, this)
}
@@ -231,27 +238,26 @@ export class Interpolation extends FrameValue {
this.priority = toArray(this.source).reduce(
(highest: number, parent) =>
Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1),
- 0
+ 0,
)
}
}
}
export interface InterpolatorFactory {
- (interpolator: InterpolatorFn): typeof interpolator;
+ (interpolator: InterpolatorFn): typeof interpolator
(config: InterpolatorConfig): (input: number) => Animatable
(
range: readonly number[],
output: readonly Constrain[],
- extrapolate?: ExtrapolateType
+ extrapolate?: ExtrapolateType,
): (input: number) => Animatable
(...args: InterpolatorArgs): InterpolatorFn
}
-
/** Returns true for an idle source. */
function isIdle(source: any) {
return source.idle !== false
@@ -269,7 +275,7 @@ function becomeIdle(self: Interpolation) {
if (!self.idle) {
self.idle = true
- each(getPayload(self)!, node => {
+ each(getPayload(self)!, (node) => {
node.done = true
})
diff --git a/spring/src/SpringRef.ts b/spring/src/SpringRef.ts
index 8abe942..da81ed3 100644
--- a/spring/src/SpringRef.ts
+++ b/spring/src/SpringRef.ts
@@ -1,14 +1,23 @@
-import { Controller } from "./Controller"
-import { AsyncResult, ControllerUpdate, Falsy, is, Lookup, OneOrMore, each } from "./utils"
-
-export interface ControllerUpdateFn {
- (i: number, ctrl: Controller): ControllerUpdate | Falsy
-}
+import { type Controller } from './Controller'
+import {
+ type AsyncResult,
+ type ControllerUpdate,
+ type Falsy,
+ is,
+ type Lookup,
+ type OneOrMore,
+ each,
+} from './utils'
+
+export type ControllerUpdateFn = (
+ i: number,
+ ctrl: Controller,
+) => ControllerUpdate | Falsy
export interface SpringRef {
- (props?: ControllerUpdate | ControllerUpdateFn): AsyncResult<
- Controller
- >[]
+ (
+ props?: ControllerUpdate | ControllerUpdateFn,
+ ): AsyncResult>[]
current: Controller[]
/** Add a controller to this ref */
@@ -42,7 +51,7 @@ export interface SpringRef {
start(props: ControllerUpdateFn): AsyncResult>[]
/** Start animating each controller. */
start(
- props?: ControllerUpdate | ControllerUpdateFn
+ props?: ControllerUpdate | ControllerUpdateFn,
): AsyncResult>[]
/** Stop all animations. */
@@ -68,12 +77,12 @@ export interface SpringRef {
_getProps(
arg: ControllerUpdate | ControllerUpdateFn,
ctrl: Controller,
- index: number
+ index: number,
): ControllerUpdate | Falsy
}
export const SpringRef = <
- State extends Lookup = Lookup
+ State extends Lookup = Lookup,
>(): SpringRef => {
const current: Controller[] = []
@@ -106,24 +115,26 @@ export const SpringRef = <
/** Remove a controller from this ref */
SpringRef.delete = function (ctrl: Controller) {
const i = current.indexOf(ctrl)
- if (~i) current.splice(i, 1)
+ if (~i) {
+ current.splice(i, 1)
+ }
}
/** Pause all animations. */
SpringRef.pause = function () {
- each(current, ctrl => ctrl.pause(...arguments))
+ each(current, (ctrl) => ctrl.pause(...arguments))
return this
}
/** Resume all animations. */
SpringRef.resume = function () {
- each(current, ctrl => ctrl.resume(...arguments))
+ each(current, (ctrl) => ctrl.resume(...arguments))
return this
}
/** Update the state of each controller without animating. */
SpringRef.set = function (values: Partial) {
- each(current, ctrl => ctrl.set(values))
+ each(current, (ctrl) => ctrl.set(values))
}
SpringRef.start = function (props?: object | ControllerUpdateFn) {
@@ -145,7 +156,7 @@ export const SpringRef = <
/** Stop all animations. */
SpringRef.stop = function () {
- each(current, ctrl => ctrl.stop(...arguments))
+ each(current, (ctrl) => ctrl.stop(...arguments))
return this
}
@@ -158,7 +169,7 @@ export const SpringRef = <
const _getProps = function (
arg: ControllerUpdate | ControllerUpdateFn,
ctrl: Controller,
- index: number
+ index: number,
): ControllerUpdate | Falsy {
return is.fun(arg) ? arg(index, ctrl) : arg
}
diff --git a/spring/src/SpringValue.ts b/spring/src/SpringValue.ts
index 000943d..4ce04a8 100644
--- a/spring/src/SpringValue.ts
+++ b/spring/src/SpringValue.ts
@@ -1,19 +1,49 @@
import * as G from './globals'
-import {scheduleProps} from './scheduleProps'
-import { Animated, AnimatedValue, getAnimated, getPayload, setAnimated } from "./animated";
-import { AnimatedString } from "./AnimatedString";
-import { Animation } from "./Animation";
-import { getCancelledResult, getCombinedResult, getFinishedResult, getNoopResult } from "./AnimationResult";
-import { addFluidObserver, callFluidObservers, FluidValue, getFluidObservers, getFluidValue, hasFluidValue, removeFluidObserver } from "./fluids";
-import { FrameValue, isFrameValue } from "./FrameValue";
-import { raf } from "./rafz";
-import { runAsync, RunAsyncProps, RunAsyncState, stopAsync } from "./runAsync";
-import { hasAnimated, isAnimating, isPaused, setActiveBit, setPausedBit } from "./SpringPhase";
+import { scheduleProps } from './scheduleProps'
import {
- EventKey,
- Lookup,
- SpringProps,
- SpringUpdate,
+ type Animated,
+ AnimatedValue,
+ getAnimated,
+ getPayload,
+ setAnimated,
+} from './animated'
+import { AnimatedString } from './AnimatedString'
+import { Animation } from './Animation'
+import {
+ getCancelledResult,
+ getCombinedResult,
+ getFinishedResult,
+ getNoopResult,
+} from './AnimationResult'
+import {
+ addFluidObserver,
+ callFluidObservers,
+ type FluidValue,
+ getFluidObservers,
+ getFluidValue,
+ hasFluidValue,
+ removeFluidObserver,
+} from './fluids'
+import { FrameValue, isFrameValue } from './FrameValue'
+import { raf } from './rafz'
+import {
+ runAsync,
+ type RunAsyncProps,
+ type RunAsyncState,
+ stopAsync,
+} from './runAsync'
+import {
+ hasAnimated,
+ isAnimating,
+ isPaused,
+ setActiveBit,
+ setPausedBit,
+} from './SpringPhase'
+import {
+ type EventKey,
+ type Lookup,
+ type SpringProps,
+ type SpringUpdate,
eachProp,
getDefaultProp,
resolveProp,
@@ -24,20 +54,20 @@ import {
getDefaultProps,
is,
isAsyncTo,
- PickEventFns,
- AnimationResolver,
- VelocityProp,
+ type PickEventFns,
+ type AnimationResolver,
+ type VelocityProp,
toArray,
- AsyncResult,
+ type AsyncResult,
flushCalls,
each,
matchProp,
isAnimatedString,
- AnimationRange,
- getAnimatedType
-} from "./utils";
-import { mergeConfig } from './AnimationConfig';
-import { frameLoop } from './FrameLoop';
+ type AnimationRange,
+ getAnimatedType,
+} from './utils'
+import { mergeConfig } from './AnimationConfig'
+import { frameLoop } from './FrameLoop'
declare const console: any
@@ -51,16 +81,16 @@ interface DefaultSpringProps
*/
export class SpringValue extends FrameValue {
/** The property name used when `to` or `from` is an object. Useful when debugging too. */
- key?: string;
+ key?: string
/** The animation state */
- animation = new Animation();
+ animation = new Animation()
/** The queue of pending props */
- queue?: SpringUpdate[];
+ queue?: SpringUpdate[]
/** Some props have customizable default values */
- defaultProps: DefaultSpringProps = {};
+ defaultProps: DefaultSpringProps = {}
/** The state for `runAsync` calls */
protected _state: RunAsyncState> = {
@@ -69,55 +99,55 @@ export class SpringValue extends FrameValue {
pauseQueue: new Set(),
resumeQueue: new Set(),
timeouts: new Set(),
- };
+ }
/** The promise resolvers of pending `start` calls */
- protected _pendingCalls = new Set>();
+ protected _pendingCalls = new Set>()
/** The counter for tracking `scheduleProps` calls */
- protected _lastCallId = 0;
+ protected _lastCallId = 0
/** The last `scheduleProps` call that changed the `to` prop */
- protected _lastToId = 0;
+ protected _lastToId = 0
- protected _memoizedDuration = 0;
+ protected _memoizedDuration = 0
- constructor(from: Exclude, props?: SpringUpdate);
- constructor(props?: SpringUpdate);
+ constructor(from: Exclude, props?: SpringUpdate)
+ constructor(props?: SpringUpdate)
constructor(arg1?: any, arg2?: any) {
- super();
+ super()
if (!is.und(arg1) || !is.und(arg2)) {
- const props = is.obj(arg1) ? { ...arg1 } : { ...arg2, from: arg1 };
+ const props = is.obj(arg1) ? { ...arg1 } : { ...arg2, from: arg1 }
if (is.und(props.default)) {
- props.default = true;
+ props.default = true
}
- this.start(props);
+ this.start(props)
}
}
/** Equals true when not advancing on each frame. */
get idle() {
- return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);
+ return !(isAnimating(this) || this._state.asyncTo) || isPaused(this)
}
get goal() {
- return getFluidValue(this.animation.to) as T;
+ return getFluidValue(this.animation.to) as T
}
get velocity(): VelocityProp {
- const node = getAnimated(this)!;
+ const node = getAnimated(this)!
return (
node instanceof AnimatedValue
? node.lastVelocity || 0
: node.getPayload().map((node) => node.lastVelocity || 0)
- ) as any;
+ ) as any
}
/**
* When true, this value has been animated at least once.
*/
get hasAnimated() {
- return hasAnimated(this);
+ return hasAnimated(this)
}
/**
@@ -125,14 +155,14 @@ export class SpringValue extends FrameValue {
* which is either active or paused.
*/
get isAnimating() {
- return isAnimating(this);
+ return isAnimating(this)
}
/**
* When true, all current and future animations are paused.
*/
get isPaused() {
- return isPaused(this);
+ return isPaused(this)
}
/**
@@ -140,24 +170,27 @@ export class SpringValue extends FrameValue {
*
*/
get isDelayed() {
- return this._state.delayed;
+ return this._state.delayed
}
/** Advance the current animation by a number of milliseconds */
advance(dt: number) {
- let idle = true;
- let changed = false;
+ let idle = true
+ let changed = false
- const anim = this.animation;
- let { config, toValues } = anim;
+ const anim = this.animation
+ const { config } = anim
+ let { toValues } = anim
- const payload = getPayload(anim.to);
+ const payload = getPayload(anim.to)
if (!payload && hasFluidValue(anim.to)) {
- toValues = toArray(getFluidValue(anim.to)) as any;
+ toValues = toArray(getFluidValue(anim.to)) as any
}
anim.values.forEach((node, i) => {
- if (node.done) return;
+ if (node.done) {
+ return
+ }
const to =
// Animated strings always go from 0 to 1.
@@ -165,35 +198,35 @@ export class SpringValue extends FrameValue {
? 1
: payload
? payload[i].lastPosition
- : toValues![i];
+ : toValues![i]
- let finished = anim.immediate;
- let position = to;
+ let finished = anim.immediate
+ let position = to
if (!finished) {
- position = node.lastPosition;
+ position = node.lastPosition
// Loose springs never move.
if (config.tension <= 0) {
- node.done = true;
- return;
+ node.done = true
+ return
}
- let elapsed = (node.elapsedTime += dt);
- const from = anim.fromValues[i];
+ let elapsed = (node.elapsedTime += dt)
+ const from = anim.fromValues[i]
const v0 =
node.v0 != null
? node.v0
: (node.v0 = is.arr(config.velocity)
? config.velocity[i]
- : config.velocity);
+ : config.velocity)
- let velocity: number;
+ let velocity: number
// Duration easing
if (!is.und(config.duration)) {
- let p = 1;
+ let p = 1
if (config.duration > 0) {
/**
* Here we check if the duration has changed in the config
@@ -203,46 +236,46 @@ export class SpringValue extends FrameValue {
*/
if (this._memoizedDuration !== config.duration) {
// update the memoized version to the new duration
- this._memoizedDuration = config.duration;
+ this._memoizedDuration = config.duration
// if the value has started animating we need to update it
if (node.durationProgress > 0) {
// set elapsed time to be the same percentage of progress as the previous duration
- node.elapsedTime = config.duration * node.durationProgress;
+ node.elapsedTime = config.duration * node.durationProgress
// add the delta so the below updates work as expected
- elapsed = node.elapsedTime += dt;
+ elapsed = node.elapsedTime += dt
}
}
// calculate the new progress
- p = (config.progress || 0) + elapsed / this._memoizedDuration;
+ p = (config.progress || 0) + elapsed / this._memoizedDuration
// p is clamped between 0-1
- p = p > 1 ? 1 : p < 0 ? 0 : p;
+ p = p > 1 ? 1 : p < 0 ? 0 : p
// store our new progress
- node.durationProgress = p;
+ node.durationProgress = p
}
- position = from + config.easing(p) * (to - from);
- velocity = (position - node.lastPosition) / dt;
+ position = from + config.easing(p) * (to - from)
+ velocity = (position - node.lastPosition) / dt
- finished = p == 1;
+ finished = p == 1
}
// Decay easing
else if (config.decay) {
- const decay = config.decay === true ? 0.998 : config.decay;
- const e = Math.exp(-(1 - decay) * elapsed);
+ const decay = config.decay === true ? 0.998 : config.decay
+ const e = Math.exp(-(1 - decay) * elapsed)
- position = from + (v0 / (1 - decay)) * (1 - e);
- finished = Math.abs(node.lastPosition - position) < 0.1;
+ position = from + (v0 / (1 - decay)) * (1 - e)
+ finished = Math.abs(node.lastPosition - position) < 0.1
// derivative of position
- velocity = v0 * e;
+ velocity = v0 * e
}
// Spring easing
else {
- velocity = node.lastVelocity == null ? v0 : node.lastVelocity;
+ velocity = node.lastVelocity == null ? v0 : node.lastVelocity
/** The smallest distance from a value before being treated like said value. */
/**
@@ -251,125 +284,125 @@ export class SpringValue extends FrameValue {
*/
const precision =
config.precision ||
- (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001));
+ (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001))
/** The velocity at which movement is essentially none */
- const restVelocity = config.restVelocity || precision / 10;
+ const restVelocity = config.restVelocity || precision / 10
// Bouncing is opt-in (not to be confused with overshooting)
- const bounceFactor = config.clamp ? 0 : config.bounce!;
- const canBounce = !is.und(bounceFactor);
+ const bounceFactor = config.clamp ? 0 : config.bounce!
+ const canBounce = !is.und(bounceFactor)
/** When `true`, the value is increasing over time */
- const isGrowing = from == to ? node.v0 > 0 : from < to;
+ const isGrowing = from == to ? node.v0 > 0 : from < to
/** When `true`, the velocity is considered moving */
- let isMoving!: boolean;
+ let isMoving!: boolean
/** When `true`, the velocity is being deflected or clamped */
- let isBouncing = false;
+ let isBouncing = false
- const step = 1; // 1ms
- const numSteps = Math.ceil(dt / step);
+ const step = 1 // 1ms
+ const numSteps = Math.ceil(dt / step)
for (let n = 0; n < numSteps; ++n) {
- isMoving = Math.abs(velocity) > restVelocity;
+ isMoving = Math.abs(velocity) > restVelocity
if (!isMoving) {
- finished = Math.abs(to - position) <= precision;
+ finished = Math.abs(to - position) <= precision
if (finished) {
- break;
+ break
}
}
if (canBounce) {
- isBouncing = position == to || position > to == isGrowing;
+ isBouncing = position == to || position > to == isGrowing
// Invert the velocity with a magnitude, or clamp it.
if (isBouncing) {
- velocity = -velocity * bounceFactor;
- position = to;
+ velocity = -velocity * bounceFactor
+ position = to
}
}
- const springForce = -config.tension * 0.000001 * (position - to);
- const dampingForce = -config.friction * 0.001 * velocity;
- const acceleration = (springForce + dampingForce) / config.mass; // pt/ms^2
+ const springForce = -config.tension * 0.000001 * (position - to)
+ const dampingForce = -config.friction * 0.001 * velocity
+ const acceleration = (springForce + dampingForce) / config.mass // pt/ms^2
- velocity = velocity + acceleration * step; // pt/ms
- position = position + velocity * step;
+ velocity = velocity + acceleration * step // pt/ms
+ position = position + velocity * step
}
}
- node.lastVelocity = velocity;
+ node.lastVelocity = velocity
if (Number.isNaN(position)) {
- console.warn(`Got NaN while animating:`, this);
- finished = true;
+ console.warn(`Got NaN while animating:`, this)
+ finished = true
}
}
// Parent springs must finish before their children can.
if (payload && !payload[i].done) {
- finished = false;
+ finished = false
}
if (finished) {
- node.done = true;
+ node.done = true
} else {
- idle = false;
+ idle = false
}
if (node.setValue(position, config.round)) {
- changed = true;
+ changed = true
}
- });
+ })
- const node = getAnimated(this)!;
+ const node = getAnimated(this)!
/**
* Get the node's current value, this will be different
* to anim.to when config.decay is true
*/
- const currVal = node.getValue();
+ const currVal = node.getValue()
if (idle) {
// get our final fluid val from the anim.to
- const finalVal = getFluidValue(anim.to);
+ const finalVal = getFluidValue(anim.to)
/**
* check if they're not equal, or if they're
* change and if there's no config.decay set
*/
if ((currVal !== finalVal || changed) && !config.decay) {
// set the value to anim.to
- node.setValue(finalVal);
- this._onChange(finalVal);
+ node.setValue(finalVal)
+ this._onChange(finalVal)
} else if (changed && config.decay) {
/**
* if it's changed but there is a config.decay,
* just call _onChange with currrent value
*/
- this._onChange(currVal);
+ this._onChange(currVal)
}
// call stop because the spring has stopped.
- this._stop();
+ this._stop()
} else if (changed) {
/**
* if the spring has changed, but is not idle,
* just call the _onChange handler
*/
- this._onChange(currVal);
+ this._onChange(currVal)
}
}
/** Set the current value, while stopping the current animation */
set(value: T | FluidValue) {
raf.batchedUpdates(() => {
- this._stop();
+ this._stop()
// These override the current value and goal value that may have
// been updated by `onRest` handlers in the `_stop` call above.
- this._focus(value);
- this._set(value);
- });
- return this;
+ this._focus(value)
+ this._set(value)
+ })
+ return this
}
/**
@@ -377,39 +410,39 @@ export class SpringValue extends FrameValue {
* before `resume` is called.
*/
pause() {
- this._update({ pause: true });
+ this._update({ pause: true })
}
/** Resume the animation if paused. */
resume() {
- this._update({ pause: false });
+ this._update({ pause: false })
}
/** Skip to the end of the current animation. */
finish() {
if (isAnimating(this)) {
- const { to, config } = this.animation;
+ const { to, config } = this.animation
raf.batchedUpdates(() => {
// Ensure the "onStart" and "onRest" props are called.
- this._onStart();
+ this._onStart()
// Jump to the goal value, except for decay animations
// which have an undefined goal value.
if (!config.decay) {
- this._set(to, false);
+ this._set(to, false)
}
- this._stop();
- });
+ this._stop()
+ })
}
- return this;
+ return this
}
/** Push props into the pending queue. */
update(props: SpringUpdate) {
- const queue = this.queue || (this.queue = []);
- queue.push(props);
- return this;
+ const queue = this.queue || (this.queue = [])
+ queue.push(props)
+ return this
}
/**
@@ -419,27 +452,27 @@ export class SpringValue extends FrameValue {
* When arguments are passed, a new animation is created, and the
* queued animations are left alone.
*/
- start(): AsyncResult;
+ start(): AsyncResult
- start(props: SpringUpdate): AsyncResult;
+ start(props: SpringUpdate): AsyncResult
- start(to: T, props?: SpringProps): AsyncResult;
+ start(to: T, props?: SpringProps): AsyncResult
start(to?: T | SpringUpdate, arg2?: SpringProps) {
- let queue: SpringUpdate[];
+ let queue: SpringUpdate[]
if (!is.und(to)) {
- queue = [is.obj(to) ? to : { ...arg2, to }];
+ queue = [is.obj(to) ? to : ({ ...arg2, to } as SpringUpdate)]
} else {
- queue = this.queue || [];
- this.queue = [];
+ queue = this.queue || []
+ this.queue = []
}
return Promise.all(
queue.map((props) => {
- const up = this._update(props);
- return up;
- })
- ).then((results) => getCombinedResult(this, results));
+ const up = this._update(props)
+ return up
+ }),
+ ).then((results) => getCombinedResult(this, results))
}
/**
@@ -448,28 +481,28 @@ export class SpringValue extends FrameValue {
* Pass `true` to call `onRest` with `cancelled: true`.
*/
stop(cancel?: boolean) {
- const { to } = this.animation;
+ const { to } = this.animation
// The current value becomes the goal value.
- this._focus(this.get());
+ this._focus(this.get())
- stopAsync(this._state, cancel && this._lastCallId);
- raf.batchedUpdates(() => this._stop(to, cancel));
+ stopAsync(this._state, cancel && this._lastCallId)
+ raf.batchedUpdates(() => this._stop(to, cancel))
- return this;
+ return this
}
/** Restart the animation. */
reset() {
- this._update({ reset: true });
+ this._update({ reset: true })
}
/** @internal */
eventObserved(event: FrameValue.Event) {
- if (event.type == "change") {
- this._start();
- } else if (event.type == "priority") {
- this.priority = event.priority + 1;
+ if (event.type == 'change') {
+ this._start()
+ } else if (event.type == 'priority') {
+ this.priority = event.priority + 1
}
}
@@ -480,76 +513,79 @@ export class SpringValue extends FrameValue {
* during the render phase.
*/
protected _prepareNode(props: {
- to?: any;
- from?: any;
- reverse?: boolean;
- default?: any;
+ to?: any
+ from?: any
+ reverse?: boolean
+ default?: any
}) {
- const key = this.key || "";
+ const key = this.key || ''
- let { to, from } = props;
+ let { to, from } = props
- to = is.obj(to) ? to[key] : to;
+ to = is.obj(to) ? to[key] : to
if (to == null || isAsyncTo(to)) {
- to = undefined;
+ to = undefined
}
- from = is.obj(from) ? from[key] : from;
+ from = is.obj(from) ? from[key] : from
if (from == null) {
- from = undefined;
+ from = undefined
}
// Create the range now to avoid "reverse" logic.
- const range = { to, from };
+ const range = { to, from }
// Before ever animating, this method ensures an `Animated` node
// exists and keeps its value in sync with the "from" prop.
if (!hasAnimated(this)) {
- if (props.reverse) [to, from] = [from, to];
+ if (props.reverse) {
+ ;[to, from] = [from, to]
+ }
- from = getFluidValue(from);
+ from = getFluidValue(from)
if (!is.und(from)) {
- this._set(from);
+ this._set(from)
}
// Use the "to" value if our node is undefined.
else if (!getAnimated(this)) {
- this._set(to);
+ this._set(to)
}
}
- return range;
+ return range
}
/** Every update is processed by this method before merging. */
protected _update(
{ ...props }: SpringProps,
- isLoop?: boolean
+ isLoop?: boolean,
): AsyncResult> {
- const { key, defaultProps } = this;
+ const { key, defaultProps } = this
// Update the default props immediately.
- if (props.default)
+ if (props.default) {
Object.assign(
defaultProps,
getDefaultProps(props, (value, prop) =>
- /^on/.test(prop) ? resolveProp(value, key) : value
- )
- );
+ prop.startsWith('on') ? resolveProp(value, key) : value,
+ ),
+ )
+ }
- mergeActiveFn(this, props, "onProps");
- sendEvent(this, "onProps", props, this);
+ mergeActiveFn(this, props, 'onProps')
+ sendEvent(this, 'onProps', props, this)
// Ensure the initial value can be accessed by animated components.
- const range = this._prepareNode(props);
+ const range = this._prepareNode(props)
if (Object.isFrozen(this)) {
throw Error(
- "Cannot animate a `SpringValue` object that is frozen. " +
- "Did you forget to pass your component to `animated(...)` before animating its props?"
- );
+ 'Cannot animate a `SpringValue` object that is frozen. ' +
+ 'Did you forget to pass your component to `animated(...)` before animating its props?',
+ )
}
- const state = this._state;
+ const state = this._state
return scheduleProps(++this._lastCallId, {
key,
@@ -559,112 +595,114 @@ export class SpringValue extends FrameValue {
actions: {
pause: () => {
if (!isPaused(this)) {
- setPausedBit(this, true);
- flushCalls(state.pauseQueue);
+ setPausedBit(this, true)
+ flushCalls(state.pauseQueue)
sendEvent(
this,
- "onPause",
+ 'onPause',
getFinishedResult(this, checkFinished(this, this.animation.to)),
- this
- );
+ this,
+ )
}
},
resume: () => {
if (isPaused(this)) {
- setPausedBit(this, false);
+ setPausedBit(this, false)
if (isAnimating(this)) {
- this._resume();
+ this._resume()
}
- flushCalls(state.resumeQueue);
+ flushCalls(state.resumeQueue)
sendEvent(
this,
- "onResume",
+ 'onResume',
getFinishedResult(this, checkFinished(this, this.animation.to)),
- this
- );
+ this,
+ )
}
},
start: this._merge.bind(this, range),
},
}).then((result) => {
if (props.loop && result.finished && !(isLoop && result.noop)) {
- const nextProps = createLoopUpdate(props);
+ const nextProps = createLoopUpdate(props)
if (nextProps) {
- return this._update(nextProps, true);
+ return this._update(nextProps, true)
}
}
- return result;
- });
+ return result
+ })
}
/** Merge props into the current animation */
protected _merge(
range: AnimationRange,
props: RunAsyncProps>,
- resolve: AnimationResolver>
+ resolve: AnimationResolver>,
): void {
// The "cancel" prop cancels all pending delays and it forces the
// active animation to stop where it is.
if (props.cancel) {
- this.stop(true);
- return resolve(getCancelledResult(this));
+ this.stop(true)
+ return resolve(getCancelledResult(this))
}
/** The "to" prop is defined. */
- const hasToProp = !is.und(range.to);
+ const hasToProp = !is.und(range.to)
/** The "from" prop is defined. */
- const hasFromProp = !is.und(range.from);
+ const hasFromProp = !is.und(range.from)
// Avoid merging other props if implicitly prevented, except
// when both the "to" and "from" props are undefined.
if (hasToProp || hasFromProp) {
if (props.callId > this._lastToId) {
- this._lastToId = props.callId;
+ this._lastToId = props.callId
} else {
- return resolve(getCancelledResult(this));
+ return resolve(getCancelledResult(this))
}
}
- const { key, defaultProps, animation: anim } = this;
- const { to: prevTo, from: prevFrom } = anim;
- let { to = prevTo, from = prevFrom } = range;
+ const { key, defaultProps, animation: anim } = this
+ const { to: prevTo, from: prevFrom } = anim
+ let { to = prevTo, from = prevFrom } = range
// Focus the "from" value if changing without a "to" value.
// For default updates, do this only if no "to" value exists.
if (hasFromProp && !hasToProp && (!props.default || is.und(to))) {
- to = from;
+ to = from
}
// Flip the current range if "reverse" is true.
- if (props.reverse) [to, from] = [from, to];
+ if (props.reverse) {
+ ;[to, from] = [from, to]
+ }
/** The "from" value is changing. */
- const hasFromChanged = !isEqual(from, prevFrom);
+ const hasFromChanged = !isEqual(from, prevFrom)
if (hasFromChanged) {
- anim.from = from;
+ anim.from = from
}
// Coerce "from" into a static value.
- from = getFluidValue(from);
+ from = getFluidValue(from)
/** The "to" value is changing. */
- const hasToChanged = !isEqual(to, prevTo);
+ const hasToChanged = !isEqual(to, prevTo)
if (hasToChanged) {
- this._focus(to);
+ this._focus(to)
}
/** The "to" prop is async. */
- const hasAsyncTo = isAsyncTo(props.to);
+ const hasAsyncTo = isAsyncTo(props.to)
- const { config } = anim;
- const { decay, velocity } = config;
+ const { config } = anim
+ const { decay, velocity } = config
// Reset to default velocity when goal values are defined.
if (hasToProp || hasFromProp) {
- config.velocity = 0;
+ config.velocity = 0
}
// The "runAsync" function treats the "config" prop as a default,
@@ -676,15 +714,15 @@ export class SpringValue extends FrameValue {
// Avoid calling the same "config" prop twice.
props.config !== defaultProps.config
? callProp(defaultProps.config, key!)
- : void 0
- );
+ : void 0,
+ )
}
// This instance might not have its Animated node yet. For example,
// the constructor can be given props without a "to" or "from" value.
- let node = getAnimated(this);
+ let node = getAnimated(this)
if (!node || is.und(to)) {
- return resolve(getFinishedResult(this, true));
+ return resolve(getFinishedResult(this, true))
}
/** When true, start at the "from" value. */
@@ -694,53 +732,54 @@ export class SpringValue extends FrameValue {
// must exist a value to animate from.
is.und(props.reset)
? hasFromProp && !props.default
- : !is.und(from) && matchProp(props.reset, key);
+ : !is.und(from) && matchProp(props.reset, key)
// The current value, where the animation starts from.
- const value = reset ? (from as T) : this.get();
+ const value = reset ? from : this.get()
// The animation ends at this value, unless "to" is fluid.
- const goal = computeGoal(to);
+ const goal = computeGoal(to)
// Only specific types can be animated to/from.
- const isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal);
+ const isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal)
// When true, the value changes instantly on the next frame.
const immediate =
!hasAsyncTo &&
(!isAnimatable ||
- matchProp(defaultProps.immediate || props.immediate, key));
+ matchProp(defaultProps.immediate || props.immediate, key))
if (hasToChanged) {
- const nodeType = getAnimatedType(to);
+ const nodeType = getAnimatedType(to)
if (nodeType !== node.constructor) {
if (immediate) {
- node = this._set(goal)!;
- } else
+ node = this._set(goal)!
+ } else {
throw Error(
- `Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the "to" prop suggests`
- );
+ `Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the "to" prop suggests`,
+ )
+ }
}
}
// The type of Animated node for the goal value.
- const goalType = node.constructor;
+ const goalType = node.constructor
// When the goal value is fluid, we don't know if its value
// will change before the next animation frame, so it always
// starts the animation to be safe.
- let started = hasFluidValue(to);
- let finished = false;
+ let started = hasFluidValue(to)
+ let finished = false
if (!started) {
// When true, the current value has probably changed.
- const hasValueChanged = reset || (!hasAnimated(this) && hasFromChanged);
+ const hasValueChanged = reset || (!hasAnimated(this) && hasFromChanged)
// When the "to" value or current value are changed,
// start animating if not already finished.
if (hasToChanged || hasValueChanged) {
- finished = isEqual(computeGoal(value), goal);
- started = !finished;
+ finished = isEqual(computeGoal(value), goal)
+ started = !finished
}
// Changing "decay" or "velocity" starts the animation.
@@ -749,7 +788,7 @@ export class SpringValue extends FrameValue {
!isEqual(config.decay, decay) ||
!isEqual(config.velocity, velocity)
) {
- started = true;
+ started = true
}
}
@@ -758,11 +797,11 @@ export class SpringValue extends FrameValue {
// If the first frame has passed, allow the animation to
// overshoot instead of stopping abruptly.
if (anim.changed && !reset) {
- started = true;
+ started = true
}
// Stop the animation before its first frame.
else if (!started) {
- this._stop(prevTo);
+ this._stop(prevTo)
}
}
@@ -770,113 +809,114 @@ export class SpringValue extends FrameValue {
// Make sure our "toValues" are updated even if our previous
// "to" prop is a fluid value whose current value is also ours.
if (started || hasFluidValue(prevTo)) {
- anim.values = node.getPayload();
+ anim.values = node.getPayload()
anim.toValues = hasFluidValue(to)
? null
: goalType == AnimatedString
? [1]
- : toArray(goal);
+ : toArray(goal)
}
if (anim.immediate != immediate) {
- anim.immediate = immediate;
+ anim.immediate = immediate
// Ensure the immediate goal is used as from value.
if (!immediate && !reset) {
- this._set(prevTo);
+ this._set(prevTo)
}
}
if (started) {
- const { onRest } = anim;
+ const { onRest } = anim
// Set the active handlers when an animation starts.
- each(ACTIVE_EVENTS, (type) => mergeActiveFn(this, props, type));
+ each(ACTIVE_EVENTS, (type) => mergeActiveFn(this, props, type))
- const result = getFinishedResult(this, checkFinished(this, prevTo));
- flushCalls(this._pendingCalls, result);
- this._pendingCalls.add(resolve);
+ const result = getFinishedResult(this, checkFinished(this, prevTo))
+ flushCalls(this._pendingCalls, result)
+ this._pendingCalls.add(resolve)
- if (anim.changed)
+ if (anim.changed) {
raf.batchedUpdates(() => {
// Ensure `onStart` can be called after a reset.
- anim.changed = !reset;
+ anim.changed = !reset
// Call the active `onRest` handler from the interrupted animation.
- onRest?.(result, this);
+ onRest?.(result, this)
// Notify the default `onRest` of the reset, but wait for the
// first frame to pass before sending an `onStart` event.
if (reset) {
- callProp(defaultProps.onRest, result);
+ callProp(defaultProps.onRest, result)
}
// Call the active `onStart` handler here since the first frame
// has already passed, which means this is a goal update and not
// an entirely new animation.
else {
- anim.onStart?.(result, this);
+ anim.onStart?.(result, this)
}
- });
+ })
+ }
}
}
if (reset) {
- this._set(value);
+ this._set(value)
}
if (hasAsyncTo) {
- resolve(runAsync(props.to, props, this._state, this));
+ resolve(runAsync(props.to, props, this._state, this))
}
// Start an animation
else if (started) {
- this._start();
+ this._start()
}
// Postpone promise resolution until the animation is finished,
// so that no-op updates still resolve at the expected time.
else if (isAnimating(this) && !hasToChanged) {
- this._pendingCalls.add(resolve);
+ this._pendingCalls.add(resolve)
}
// Resolve our promise immediately.
else {
- resolve(getNoopResult(value));
+ resolve(getNoopResult(value))
}
}
/** Update the `animation.to` value, which might be a `FluidValue` */
protected _focus(value: T | FluidValue) {
- const anim = this.animation;
+ const anim = this.animation
if (value !== anim.to) {
if (getFluidObservers(this)) {
- this._detach();
+ this._detach()
}
- anim.to = value;
+ anim.to = value
if (getFluidObservers(this)) {
- this._attach();
+ this._attach()
}
}
}
protected _attach() {
- let priority = 0;
+ let priority = 0
- const { to } = this.animation;
+ const { to } = this.animation
if (hasFluidValue(to)) {
- addFluidObserver(to, this);
+ addFluidObserver(to, this)
if (isFrameValue(to)) {
- priority = to.priority + 1;
+ priority = to.priority + 1
}
}
- this.priority = priority;
+ this.priority = priority
}
protected _detach() {
- const { to } = this.animation;
+ const { to } = this.animation
if (hasFluidValue(to)) {
- removeFluidObserver(to, this);
+ removeFluidObserver(to, this)
}
}
@@ -885,68 +925,68 @@ export class SpringValue extends FrameValue {
* and return the `Animated` node.
*/
protected _set(arg: T | FluidValue, idle = true): Animated | undefined {
- const value = getFluidValue(arg);
+ const value = getFluidValue(arg)
if (!is.und(value)) {
- const oldNode = getAnimated(this);
+ const oldNode = getAnimated(this)
if (!oldNode || !isEqual(value, oldNode.getValue())) {
// Create a new node or update the existing node.
- const nodeType = getAnimatedType(value);
+ const nodeType = getAnimatedType(value)
if (!oldNode || oldNode.constructor != nodeType) {
- setAnimated(this, nodeType.create(value));
+ setAnimated(this, nodeType.create(value))
} else {
- oldNode.setValue(value);
+ oldNode.setValue(value)
}
// Never emit a "change" event for the initial value.
if (oldNode) {
raf.batchedUpdates(() => {
- this._onChange(value, idle);
- });
+ this._onChange(value, idle)
+ })
}
}
}
- return getAnimated(this);
+ return getAnimated(this)
}
protected _onStart() {
- const anim = this.animation;
+ const anim = this.animation
if (!anim.changed) {
- anim.changed = true;
+ anim.changed = true
sendEvent(
this,
- "onStart",
+ 'onStart',
getFinishedResult(this, checkFinished(this, anim.to)),
- this
- );
+ this,
+ )
}
}
protected _onChange(value: T, idle?: boolean) {
if (!idle) {
- this._onStart();
- callProp(this.animation.onChange, value, this);
+ this._onStart()
+ callProp(this.animation.onChange, value, this)
}
- callProp(this.defaultProps.onChange, value, this);
- super._onChange(value, idle);
+ callProp(this.defaultProps.onChange, value, this)
+ super._onChange(value, idle)
}
// This method resets the animation state (even if already animating) to
// ensure the latest from/to range is used, and it also ensures this spring
// is added to the frameloop.
protected _start() {
- const anim = this.animation;
+ const anim = this.animation
// Reset the state of each Animated node.
- getAnimated(this)!.reset(getFluidValue(anim.to));
+ getAnimated(this)!.reset(getFluidValue(anim.to))
// Use the current values as the from values.
if (!anim.immediate) {
- anim.fromValues = anim.values.map((node) => node.lastPosition);
+ anim.fromValues = anim.values.map((node) => node.lastPosition)
}
if (!isAnimating(this)) {
- setActiveBit(this, true);
+ setActiveBit(this, true)
if (!isPaused(this)) {
- this._resume();
+ this._resume()
}
}
}
@@ -954,9 +994,9 @@ export class SpringValue extends FrameValue {
protected _resume() {
// The "skipAnimation" global avoids the frameloop.
if (G.skipAnimation) {
- this.finish();
+ this.finish()
} else {
- frameLoop.start(this);
+ frameLoop.start(this)
}
}
@@ -967,33 +1007,33 @@ export class SpringValue extends FrameValue {
*/
protected _stop(goal?: any, cancel?: boolean) {
if (isAnimating(this)) {
- setActiveBit(this, false);
+ setActiveBit(this, false)
- const anim = this.animation;
+ const anim = this.animation
each(anim.values, (node) => {
- node.done = true;
- });
+ node.done = true
+ })
// These active handlers must be reset to undefined or else
// they could be called while idle. But keep them defined
// when the goal value is dynamic.
if (anim.toValues) {
- anim.onChange = anim.onPause = anim.onResume = undefined;
+ anim.onChange = anim.onPause = anim.onResume = undefined
}
callFluidObservers(this, {
- type: "idle",
+ type: 'idle',
parent: this,
- });
+ })
const result = cancel
? getCancelledResult(this.get())
- : getFinishedResult(this.get(), checkFinished(this, goal ?? anim.to));
+ : getFinishedResult(this.get(), checkFinished(this, goal ?? anim.to))
- flushCalls(this._pendingCalls, result);
+ flushCalls(this._pendingCalls, result)
if (anim.changed) {
- anim.changed = false;
- sendEvent(this, "onRest", result, this);
+ anim.changed = false
+ sendEvent(this, 'onRest', result, this)
}
}
}
@@ -1001,21 +1041,21 @@ export class SpringValue extends FrameValue {
/** Returns true when the current value and goal value are equal. */
function checkFinished(target: SpringValue, to: T | FluidValue) {
- const goal = computeGoal(to);
- const value = computeGoal(target.get());
- return isEqual(value, goal);
+ const goal = computeGoal(to)
+ const value = computeGoal(target.get())
+ return isEqual(value, goal)
}
export function createLoopUpdate(
props: T & { loop?: any; to?: any; from?: any; reverse?: any },
loop = props.loop,
- to = props.to
+ to = props.to,
): T | undefined {
- let loopRet = callProp(loop);
+ const loopRet = callProp(loop)
if (loopRet) {
- const overrides = loopRet !== true && inferTo(loopRet);
- const reverse = (overrides || props).reverse;
- const reset = !overrides || overrides.reset;
+ const overrides = loopRet !== true && inferTo(loopRet)
+ const reverse = (overrides || props).reverse
+ const reset = !overrides || overrides.reset
return createUpdate({
...props,
loop,
@@ -1038,7 +1078,7 @@ export function createLoopUpdate(
// The "loop" prop can return a "useSpring" props object to
// override any of the original props.
...overrides,
- });
+ })
}
}
@@ -1050,59 +1090,63 @@ export function createLoopUpdate(
* or `null` if all keys are affected.
*/
export function createUpdate(props: any) {
- const { to, from } = (props = inferTo(props));
+ const { to, from } = (props = inferTo(props))
// Collect the keys affected by this update.
- const keys = new Set();
+ const keys = new Set()
- if (is.obj(to)) findDefined(to, keys);
- if (is.obj(from)) findDefined(from, keys);
+ if (is.obj(to)) {
+ findDefined(to, keys)
+ }
+ if (is.obj(from)) {
+ findDefined(from, keys)
+ }
// The "keys" prop helps in applying updates to affected keys only.
- props.keys = keys.size ? Array.from(keys) : null;
+ props.keys = keys.size ? Array.from(keys) : null
- return props;
+ return props
}
/**
* A modified version of `createUpdate` meant for declarative APIs.
*/
export function declareUpdate(props: any) {
- const update = createUpdate(props);
+ const update = createUpdate(props)
if (is.und(update.default)) {
- update.default = getDefaultProps(update);
+ update.default = getDefaultProps(update)
}
- return update;
+ return update
}
/** Find keys with defined values */
function findDefined(values: Lookup, keys: Set) {
- eachProp(values, (value, key) => value != null && keys.add(key as any));
+ eachProp(values, (value, key) => value != null && keys.add(key as any))
}
/** Event props with "active handler" support */
const ACTIVE_EVENTS = [
- "onStart",
- "onRest",
- "onChange",
- "onPause",
- "onResume",
-] as const;
+ 'onStart',
+ 'onRest',
+ 'onChange',
+ 'onPause',
+ 'onResume',
+] as const
function mergeActiveFn(
target: SpringValue,
props: SpringProps,
- type: P
+ type: P,
) {
target.animation[type] =
props[type] !== getDefaultProp(props, type)
? resolveProp(props[type], target.key)
- : undefined;
+ : undefined
}
type EventArgs = Parameters<
Extract[P], Function>
->;
+>
/** Call the active handler first, then the default handler. */
function sendEvent(
@@ -1110,6 +1154,6 @@ function sendEvent(
type: P,
...args: EventArgs
) {
- target.animation[type]?.(...(args as [any, any]));
- target.defaultProps[type]?.(...(args as [any, any]));
+ target.animation[type]?.(...(args as [any, any]))
+ target.defaultProps[type]?.(...(args as [any, any]))
}
diff --git a/spring/src/animated.ts b/spring/src/animated.ts
index 2e0841f..43e8839 100644
--- a/spring/src/animated.ts
+++ b/spring/src/animated.ts
@@ -1,102 +1,104 @@
-import { defineHidden, is } from "./utils";
+import { defineHidden, is } from './utils'
-const $node: any = Symbol.for("Animated:node");
+const $node: any = Symbol.for('Animated:node')
-export const isAnimated = (value: any): value is Animated =>
- !!value && value[$node] === value;
+export const isAnimated =