├── .github └── workflows │ ├── ci.yml │ └── cq.yml ├── .gitignore ├── .husky └── pre-commit ├── .npmrc ├── .prettierrc ├── LICENSE ├── examples └── basic │ ├── .gitignore │ ├── client.mjs │ ├── index.html │ ├── index.php │ ├── package.json │ ├── php-server-plugin.ts │ ├── readme.md │ ├── tsconfig.json │ └── vite.config.ts ├── lint-staged.config.mjs ├── package.json ├── packages └── php-tag │ ├── .eslintrc.cjs │ ├── lint-staged.config.mjs │ ├── package.json │ ├── readme.md │ ├── src │ ├── babel-plugin.test.ts │ ├── babel-plugin.ts │ ├── fixtures │ │ ├── input.txt │ │ └── output.txt │ ├── index.ts │ └── vite-plugin.ts │ ├── tsconfig.json │ └── tsup.config.ts ├── pics └── reactions.png ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── readme.md └── version /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI tests 2 | 3 | on: 4 | workflow_dispatch: 5 | push: 6 | pull_request: 7 | 8 | defaults: 9 | run: 10 | working-directory: . 11 | 12 | jobs: 13 | test: 14 | runs-on: ${{ matrix.os }} 15 | strategy: 16 | matrix: 17 | os: [ubuntu-latest, macos-latest, windows-latest] 18 | node_version: [16] 19 | include: 20 | - os: ubuntu-latest 21 | node_version: 14 22 | - os: ubuntu-latest 23 | node_version: 18 24 | fail-fast: false 25 | name: "CI tests on node-${{ matrix.node_version }}, ${{ matrix.os }}" 26 | steps: 27 | - name: Checkout 28 | uses: actions/checkout@v2 29 | 30 | - name: Install pnpm 31 | uses: pnpm/action-setup@v2.1.0 32 | with: 33 | version: 7 34 | 35 | - name: Set node version to ${{ matrix.node_version }} 36 | uses: actions/setup-node@v2 37 | with: 38 | node-version: ${{ matrix.node_version }} 39 | cache: "pnpm" 40 | 41 | - name: Install 42 | run: pnpm install 43 | 44 | - name: Build 45 | run: pnpm run build 46 | 47 | - name: Run CI tests 48 | run: pnpm run ci 49 | -------------------------------------------------------------------------------- /.github/workflows/cq.yml: -------------------------------------------------------------------------------- 1 | name: Code quality checks 2 | 3 | on: 4 | workflow_dispatch: 5 | push: 6 | pull_request: 7 | 8 | defaults: 9 | run: 10 | working-directory: . 11 | 12 | jobs: 13 | test: 14 | runs-on: ${{ matrix.os }} 15 | strategy: 16 | matrix: 17 | os: [ubuntu-latest] 18 | node_version: [16] 19 | fail-fast: false 20 | name: "Code quality checks on node-${{ matrix.node_version }}, ${{ matrix.os }}" 21 | steps: 22 | - name: Checkout 23 | uses: actions/checkout@v2 24 | 25 | - name: Install pnpm 26 | uses: pnpm/action-setup@v2.1.0 27 | with: 28 | version: 7 29 | 30 | - name: Set node version to ${{ matrix.node_version }} 31 | uses: actions/setup-node@v2 32 | with: 33 | node-version: ${{ matrix.node_version }} 34 | cache: "pnpm" 35 | 36 | - name: Install 37 | run: pnpm install 38 | 39 | - name: Build 40 | run: pnpm run build 41 | 42 | - name: Run code quality checks and tests 43 | run: pnpm run test:prettier && pnpm test:packages 44 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Serverless directories 108 | .serverless/ 109 | 110 | # FuseBox cache 111 | .fusebox/ 112 | 113 | # DynamoDB Local files 114 | .dynamodb/ 115 | 116 | # TernJS port file 117 | .tern-port 118 | 119 | # Stores VSCode versions used for testing VSCode extensions 120 | .vscode-test 121 | .vscode 122 | 123 | # yarn v2 124 | .yarn/cache 125 | .yarn/unplugged 126 | .yarn/build-state.yml 127 | .yarn/install-state.gz 128 | .pnp.* 129 | 130 | # Local files 131 | *.local.* 132 | 133 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | pnpm run precommit -- 5 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | auto-install-peers = false -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "all", 3 | "useTabs": false, 4 | "tabWidth": 2 5 | } 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2021 Fatih Aygün 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | 9 | -------------------------------------------------------------------------------- /examples/basic/.gitignore: -------------------------------------------------------------------------------- 1 | php-output -------------------------------------------------------------------------------- /examples/basic/client.mjs: -------------------------------------------------------------------------------- 1 | import { php } from "php-tag"; 2 | 3 | async function run() { 4 | const pre = document.getElementById("result"); 5 | try { 6 | const result = await php`return [ 7 | 'serverTime' => date('Y-m-d H:i:s'), 8 | 'arg1' => ${"first argument"}, 9 | 'arg2' => ${"second argument"}, 10 | ];`; 11 | 12 | pre.style.color = "#333"; 13 | pre.innerText = JSON.stringify(result, null, 2); 14 | } catch (error) { 15 | pre.style.color = "red"; 16 | pre.innerText = error.message; 17 | } 18 | } 19 | 20 | document.getElementById("btn").addEventListener("click", run); 21 | -------------------------------------------------------------------------------- /examples/basic/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |10 | 11 |
12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/basic/index.php: -------------------------------------------------------------------------------- 1 | $arg) { 29 | $function .= "\$_arg$i"; 30 | if ($i < count($args) - 1) { 31 | $function .= ","; 32 | } 33 | 34 | if (!is_string($parts[$i] ?? null)) { 35 | http_response_code(400); 36 | return false; 37 | } 38 | 39 | $body .= $parts[$i] . " \$_arg$i "; 40 | } 41 | 42 | $body .= $parts[count($args)] ?? ""; 43 | 44 | $function .= ") {" . $body . "};"; 45 | 46 | echo json_encode(call_user_func_array(eval($function), $args)); 47 | exit(); 48 | } else { 49 | // In production, the code is in a separate file and the selector is 50 | // a the file name. 51 | $hash = $data["selector"] ?? null; 52 | if ( 53 | !is_string($hash) || 54 | !preg_match("/^[a-f0-9]+$/", $hash) || 55 | !is_array($args) 56 | ) { 57 | http_response_code(400); 58 | return false; 59 | } 60 | 61 | $function = require_once __DIR__ . "/php-output/$hash.php"; 62 | echo json_encode(call_user_func_array($function, $args)); 63 | } 64 | -------------------------------------------------------------------------------- /examples/basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example-php-tag", 3 | "private": true, 4 | "scripts": { 5 | "dev": "cross-env PHP_TAG_ENV=development vite", 6 | "build": "vite build", 7 | "preview": "vite preview" 8 | }, 9 | "dependencies": { 10 | "php-tag": "0.0.1" 11 | }, 12 | "devDependencies": { 13 | "@types/node": "^18.0.3", 14 | "cross-env": "^7.0.3", 15 | "kill-port": "^2.0.1", 16 | "vite": "^3.0.4" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /examples/basic/php-server-plugin.ts: -------------------------------------------------------------------------------- 1 | import { PluginOption } from "vite"; 2 | import { spawn, ChildProcess } from "child_process"; 3 | // @ts-expect-error: No typings 4 | import killPort from "kill-port"; 5 | 6 | export function phpServerPlugin(): PluginOption { 7 | let phpServer: ChildProcess | undefined; 8 | 9 | return { 10 | name: "php-server-plugin", 11 | 12 | apply: "serve", 13 | 14 | config() { 15 | return { 16 | server: { 17 | proxy: { 18 | "/php-tag": { 19 | target: "http://localhost:8000", 20 | changeOrigin: true, 21 | }, 22 | }, 23 | }, 24 | }; 25 | }, 26 | 27 | async configResolved(config) { 28 | phpServer = spawn( 29 | "php", 30 | ["-S", "localhost:8000", config.root + "/index.php"], 31 | { 32 | stdio: "inherit", 33 | shell: true, 34 | }, 35 | ); 36 | }, 37 | 38 | async buildEnd() { 39 | if (phpServer) { 40 | const pid = phpServer.pid; 41 | if (pid) await killPort(8000); 42 | } 43 | }, 44 | }; 45 | } 46 | -------------------------------------------------------------------------------- /examples/basic/readme.md: -------------------------------------------------------------------------------- 1 | # `php-tag` Example 2 | 3 | A simple `php-tag` example. 4 | 5 | - [Client code](./client.mjs) 6 | - [Server code](./index.php) 7 | 8 | ## Getting started 9 | 10 | ```sh 11 | # Clone the example 12 | npx degit cyco130/php-tag/examples/basic php-tag-example 13 | # Install dependencies 14 | npm install 15 | # Run the example in development mode 16 | npm run dev 17 | 18 | # Build the example 19 | npm run build 20 | # Preview the example 21 | npm run preview 22 | ``` 23 | -------------------------------------------------------------------------------- /examples/basic/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2020", 4 | "module": "ESNext", 5 | "esModuleInterop": true, 6 | "forceConsistentCasingInFileNames": true, 7 | "strict": true, 8 | "skipLibCheck": true, 9 | "moduleResolution": "Node", 10 | "resolveJsonModule": true 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /examples/basic/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import { phpTag } from "php-tag/vite-plugin"; 3 | import { phpServerPlugin } from "./php-server-plugin"; 4 | 5 | export default defineConfig((env) => ({ 6 | plugins: [phpTag({ outputDir: "php-output" }), phpServerPlugin()], 7 | })); 8 | -------------------------------------------------------------------------------- /lint-staged.config.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | "*": "prettier --ignore-unknown --write", 3 | }; 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "php-tag-workspace-root", 3 | "private": "true", 4 | "scripts": { 5 | "dev": "pnpm -r --parallel --filter \"./packages/*\" run dev", 6 | "build": "pnpm -r --filter \"./packages/*\" run build", 7 | "prepare": "husky install", 8 | "precommit": "lint-staged", 9 | "test": "pnpm run test:prettier && pnpm run test:packages && pnpm run ci", 10 | "test:packages": "pnpm -r --stream run test", 11 | "test:prettier": "prettier --check --ignore-path .gitignore --ignore-unknown . '!pnpm-lock.yaml'", 12 | "format": "prettier --ignore-path .gitignore --ignore-unknown . '!pnpm-lock.yaml' --plugin @prettier/plugin-php --write" 13 | }, 14 | "devDependencies": { 15 | "husky": "^8.0.1", 16 | "lint-staged": "^13.0.3", 17 | "prettier": "^2.7.1", 18 | "typescript": "^4.7.4" 19 | }, 20 | "dependencies": { 21 | "@prettier/plugin-php": "^0.18.9" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/php-tag/.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | require("@cyco130/eslint-config/patch"); 2 | 3 | module.exports = { 4 | root: true, 5 | extends: ["@cyco130/eslint-config/node"], 6 | parserOptions: { tsconfigRootDir: __dirname }, 7 | settings: { 8 | "import/resolver": { 9 | typescript: { 10 | project: [__dirname + "/tsconfig.json"], 11 | }, 12 | }, 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /packages/php-tag/lint-staged.config.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | "**/*.ts?(x)": [ 3 | () => "tsc -p tsconfig.json --noEmit", 4 | "eslint --max-warnings 0 --ignore-pattern dist", 5 | "vitest related --run", 6 | ], 7 | "*": "prettier --ignore-unknown --write", 8 | }; 9 | -------------------------------------------------------------------------------- /packages/php-tag/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "php-tag", 3 | "version": "0.0.1", 4 | "type": "module", 5 | "files": [ 6 | "dist" 7 | ], 8 | "exports": { 9 | ".": { 10 | "import": "./dist/index.js", 11 | "require": "./dist/index.cjs" 12 | }, 13 | "./babel-plugin": { 14 | "import": "./dist/babel-plugin.js", 15 | "require": "./dist/babel-plugin.cjs" 16 | }, 17 | "./vite-plugin": { 18 | "import": "./dist/vite-plugin.js", 19 | "require": "./dist/vite-plugin.cjs" 20 | } 21 | }, 22 | "typesVersions": { 23 | "*": { 24 | "*": [ 25 | "./dist/*.d.ts" 26 | ] 27 | } 28 | }, 29 | "scripts": { 30 | "build": "tsup", 31 | "dev": "tsup --watch", 32 | "prepack": "rm -rf dist && pnpm build", 33 | "test": "pnpm test:typecheck && pnpm test:lint && pnpm test:unit && pnpm test:package", 34 | "test:unit": "vitest run", 35 | "test:typecheck": "tsc -p tsconfig.json --noEmit", 36 | "test:lint": "eslint . --max-warnings 0 --ignore-pattern dist", 37 | "test:package": "publint" 38 | }, 39 | "description": "Write your backend PHP code in a JavaScript tagged template literal", 40 | "license": "MIT", 41 | "repository": "https://github.com/cyco130/php-tag", 42 | "keywords": [ 43 | "php", 44 | "rpc", 45 | "babel-plugin" 46 | ], 47 | "dependencies": { 48 | "@babel/core": "^7.18.9" 49 | }, 50 | "devDependencies": { 51 | "@babel/types": "^7.18.9", 52 | "@cyco130/eslint-config": "^2.0.0", 53 | "@types/babel__core": "^7.1.19", 54 | "@types/node": "^18.0.3", 55 | "eslint": "^8.19.0", 56 | "publint": "^0.1.1", 57 | "tsup": "^6.1.3", 58 | "typescript": "^4.7.4", 59 | "vite": "^3.0.4", 60 | "vitest": "^0.17.1" 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /packages/php-tag/readme.md: -------------------------------------------------------------------------------- 1 | # php-tag 2 | 3 | Write your PHP backend code right inside your frontend JavaScript code using tagged template literals: 4 | 5 | ```js 6 | import { php } from "php-tag"; 7 | 8 | async function run() { 9 | // The return value is serialized to JSON and sent back 10 | const hello = await php`return "Hello world!";`; 11 | console.assert(hello === "Hello world!"); 12 | 13 | // Interpolated values are serialized to JSON and sent to the backend 14 | const sum = await php`return ${12} + ${30};`; 15 | console.assert(sum === 42); 16 | } 17 | ``` 18 | 19 | ## Anticipated reactions 20 | 21 | - **Oh the horror! Why? Just why?** 22 | 23 | Because I can :D 24 | 25 | - **This is a terrible idea!** 26 | 27 | But colocation is good, isn't it? Like Next.js's `getServerSideProps` but for PHP backends. Is it _really_ that different? With some IDE support it could be pretty useful, methinks. 28 | 29 | Still not buying it? OK, neither am I. 30 | 31 | - **Isn't it unsafe?** 32 | 33 | In production, it's no less safe than any other API endpoint. Just remember to treat interpolated values like any other user input and validate them. 34 | 35 | ## Actual reactions 36 | 37 |  38 | 39 | Interestingly the PHP community was more receptive thant the JavaScript community. 40 | 41 | ## How does it work? 42 | 43 | `php-tag` comes in the form of a Vite plugin (`php-tag/vite-plugin`). If you want to use with other tools, the underlying Babel transform (`php-tag/babel-plugin`) is also available. 44 | 45 | For the production build, the Babel transform extracts each piece of PHP code into its own PHP file with a unique name. The client sends this name along with the interpolated arguments as a POST request with a JSON body to the `/php-tag` endpoint. The backend is supposed to provide a dispatcher at that endpoint that loads the requested PHP file and executes it with the arguments sent. 46 | 47 | During development, the client sends the code itself instead of a file name and the backend just `eval`s it. 48 | 49 | ## Getting started 50 | 51 | ```sh 52 | # Clone the example 53 | npx degit cyco130/php-tag/examples/basic php-tag-example 54 | # Install dependencies 55 | npm install 56 | # Run the example in development mode 57 | npm run dev 58 | 59 | # Build the example 60 | npm run build 61 | # Preview the example 62 | npm run preview 63 | ``` 64 | 65 | ## Future ideas 66 | 67 | - [ ] IDE support 68 | - [ ] `python-tag`, `go-tag`, `java-tag` etc. 69 | - [ ] Customization options 70 | - [ ] More integration examples (Laravel, Symfony, etc.) 71 | 72 | ## What about `node-tag`? 73 | 74 | [It already exists](https://rakkasjs.org/guide/use-server-side-query) under the name `useServersideQuery` in a much more useful and type-safe form in Rakkas, a React metaframework with some cutting-edge features. 75 | 76 | ## License 77 | 78 | [MIT](./LICENSE) 79 | -------------------------------------------------------------------------------- /packages/php-tag/src/babel-plugin.test.ts: -------------------------------------------------------------------------------- 1 | import { expect, it, vi } from "vitest"; 2 | import { transform } from "@babel/core"; 3 | import transformPhpTag from "./babel-plugin"; 4 | 5 | vi.mock("fs", () => ({ 6 | default: { 7 | mkdirSync: vi.fn(), 8 | writeFileSync: vi.fn(), 9 | }, 10 | })); 11 | 12 | it("converts to hashed code", async () => { 13 | const { 14 | default: { mkdirSync, writeFileSync }, 15 | } = await import("fs"); 16 | 17 | vi.mocked(mkdirSync).mockClear(); 18 | vi.mocked(writeFileSync).mockClear(); 19 | 20 | const output = transform(INPUT_1, { 21 | plugins: [[transformPhpTag, { outputDir: "output/dir" }]], 22 | }); 23 | 24 | expect(output?.code).toMatchInlineSnapshot(` 25 | "import { php as p } from \\"php-tag\\"; 26 | const param = 123; 27 | const template = p(\\"38bb2b63d62af9c7c67eb501f8a62cf79b03a80ebb5ebd24cd87c49f1ea675f3\\", param);" 28 | `); 29 | 30 | expect(mkdirSync).toHaveBeenCalledWith("output/dir", { recursive: true }); 31 | expect(writeFileSync).toHaveBeenCalledWith( 32 | "output/dir/38bb2b63d62af9c7c67eb501f8a62cf79b03a80ebb5ebd24cd87c49f1ea675f3.php", 33 | " { 38 | const { 39 | default: { mkdirSync, writeFileSync }, 40 | } = await import("fs"); 41 | 42 | vi.mocked(mkdirSync).mockClear(); 43 | vi.mocked(writeFileSync).mockClear(); 44 | 45 | const output = transform(INPUT_2, { 46 | plugins: [[transformPhpTag, { outputDir: "output/dir" }]], 47 | }); 48 | 49 | expect(output?.code).toMatchInlineSnapshot(` 50 | "import { php as p } from \\"other-module\\"; 51 | const param = 123; 52 | const template = p\`return \${param} * 3;\`;" 53 | `); 54 | 55 | expect(mkdirSync).not.toHaveBeenCalled(); 56 | expect(writeFileSync).not.toHaveBeenCalled(); 57 | }); 58 | 59 | it("unescapes backtick", async () => { 60 | const { 61 | default: { mkdirSync, writeFileSync }, 62 | } = await import("fs"); 63 | 64 | vi.mocked(mkdirSync).mockClear(); 65 | vi.mocked(writeFileSync).mockClear(); 66 | 67 | // @ts-expect-error: No types 68 | const input: string = await import("./fixtures/input.txt?raw").then( 69 | (x) => x.default, 70 | ); 71 | 72 | // @ts-expect-error: No types 73 | const output: string = await import("./fixtures/output.txt?raw").then( 74 | (x) => x.default, 75 | ); 76 | 77 | transform(input, { 78 | plugins: [[transformPhpTag, { outputDir: "output/dir" }]], 79 | }); 80 | 81 | expect(writeFileSync).toHaveBeenCalledWith( 82 | "output/dir/8b477b7bf1773505fc472dccff5a7d4bb8f1c3305bb1289c0df4fd59515f4b7e.php", 83 | output, 84 | ); 85 | }); 86 | 87 | const INPUT_1 = ` 88 | import { php as p} from "php-tag"; 89 | 90 | const param = 123; 91 | 92 | const template = p\`return \${param} * 3;\`; 93 | `; 94 | 95 | const INPUT_2 = ` 96 | import { php as p } from "other-module"; 97 | 98 | const param = 123; 99 | 100 | const template = p\`return \${param} * 3;\`; 101 | `; 102 | -------------------------------------------------------------------------------- /packages/php-tag/src/babel-plugin.ts: -------------------------------------------------------------------------------- 1 | import type { PluginItem } from "@babel/core"; 2 | import type * as t from "@babel/types"; 3 | import { createHash } from "crypto"; 4 | import path from "path"; 5 | import fs from "fs"; 6 | 7 | interface TransformPhpTagOptions { 8 | outputDir?: string; 9 | } 10 | 11 | export default function transformPhpTag( 12 | { 13 | types: t, 14 | }: { 15 | types: typeof import("@babel/types"); 16 | }, 17 | options: TransformPhpTagOptions = {}, 18 | ): PluginItem { 19 | // console.log("Here"); 20 | const outputDir = options.outputDir || "output"; 21 | 22 | return { 23 | visitor: { 24 | TaggedTemplateExpression: { 25 | enter(template, state) { 26 | const tag = template.node.tag; 27 | if (tag.type !== "Identifier") return; 28 | 29 | const binding = template.parentPath.scope.getBinding(tag.name); 30 | 31 | if ( 32 | !binding || 33 | !binding.path.isImportSpecifier() || 34 | !( 35 | (binding.path.node.imported.type === "Identifier" && 36 | binding.path.node.imported.name === "php") || 37 | (binding.path.node.imported.type === "StringLiteral" && 38 | binding.path.node.imported.value === "php") 39 | ) || 40 | !binding.path.parentPath.isImportDeclaration() || 41 | binding.path.parentPath.node.source.value !== "php-tag" 42 | ) { 43 | return; 44 | } 45 | 46 | const md5 = createHash("sha256"); 47 | let fnBody = ""; 48 | 49 | for (const [i] of template.node.quasi.expressions.entries()) { 50 | const segment = template.node.quasi.quasis[i].value.cooked; 51 | fnBody += segment; 52 | fnBody += `$_arg${i}`; 53 | } 54 | 55 | fnBody += 56 | template.node.quasi.quasis[template.node.quasi.expressions.length] 57 | .value.cooked; 58 | 59 | md5.update(fnBody); 60 | const hash = md5.digest("hex"); 61 | 62 | const outputPath = `${outputDir}/${hash}.php`; 63 | 64 | let generatedFromComment = " "; 65 | if (state.file.opts.filename) { 66 | generatedFromComment = `\n// Generated from ${path.relative( 67 | state.file.opts.cwd, 68 | state.file.opts.filename, 69 | )}:${template.node.loc!.start.line}:${ 70 | template.node.loc!.start.column + 1 71 | }\n`; 72 | } 73 | 74 | const fileContent = ` `$_arg${i}`) 76 | .join(",")}) {${fnBody}};`; 77 | 78 | // console.log("outputPath", outputPath); 79 | fs.mkdirSync(path.dirname(outputPath), { recursive: true }); 80 | fs.writeFileSync(outputPath, fileContent); 81 | 82 | template.replaceWith( 83 | t.callExpression(tag, [ 84 | t.stringLiteral(hash), 85 | ...(template.node.quasi.expressions as t.Expression[]), 86 | ]), 87 | ); 88 | }, 89 | }, 90 | }, 91 | }; 92 | } 93 | -------------------------------------------------------------------------------- /packages/php-tag/src/fixtures/input.txt: -------------------------------------------------------------------------------- 1 | import { php } from "php-tag"; 2 | 3 | const template = php`return "\`\\n\`";`; 4 | -------------------------------------------------------------------------------- /packages/php-tag/src/fixtures/output.txt: -------------------------------------------------------------------------------- 1 | { 6 | return fetch("/php-tag", { 7 | method: "POST", 8 | headers: { 9 | "Content-Type": "application/json", 10 | }, 11 | body: JSON.stringify({ 12 | selector: strings, 13 | args: values, 14 | }), 15 | }).then((res) => { 16 | if (!res.ok) { 17 | throw new Error(res.statusText); 18 | } 19 | 20 | return res.json(); 21 | }); 22 | } 23 | -------------------------------------------------------------------------------- /packages/php-tag/src/vite-plugin.ts: -------------------------------------------------------------------------------- 1 | import { PluginOption } from "vite"; 2 | import { transformAsync } from "@babel/core"; 3 | import transformPhpTag from "./babel-plugin"; 4 | 5 | export interface PhpTagPluginOptions { 6 | outputDir?: string; 7 | } 8 | 9 | export function phpTag(options: PhpTagPluginOptions = {}): PluginOption { 10 | return { 11 | name: "mini-babel-transform-plugin", 12 | 13 | apply: "build", 14 | 15 | async transform(code, id) { 16 | const [filepath, querystring = ""] = id.split("?"); 17 | if (!querystring.match(jsExtensionRE) && !filepath.match(jsExtensionRE)) { 18 | return; 19 | } 20 | 21 | // Quick test to skip unnecessary transforms 22 | if (!code.match(/\bphp\s*`/) || !code.match(/\bphp-tag\b/)) { 23 | return; 24 | } 25 | 26 | const transformed = await transformAsync(code, { 27 | configFile: false, 28 | filename: id, 29 | plugins: [[transformPhpTag, options]], 30 | }); 31 | 32 | if (!transformed?.code) { 33 | throw new Error("Failed to transform code"); 34 | } 35 | 36 | return { 37 | code: transformed.code, 38 | }; 39 | }, 40 | }; 41 | } 42 | 43 | const jsExtensionRE = /\.m?[jt]sx?$/; 44 | -------------------------------------------------------------------------------- /packages/php-tag/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2020", 4 | "module": "ESNext", 5 | "esModuleInterop": true, 6 | "forceConsistentCasingInFileNames": true, 7 | "strict": true, 8 | "skipLibCheck": true, 9 | "moduleResolution": "Node", 10 | "resolveJsonModule": true 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/php-tag/tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "tsup"; 2 | 3 | export default defineConfig([ 4 | { 5 | entry: ["./src/index.ts", "./src/babel-plugin.ts", "./src/vite-plugin.ts"], 6 | format: ["esm", "cjs"], 7 | platform: "node", 8 | target: "node14", 9 | dts: true, 10 | }, 11 | ]); 12 | -------------------------------------------------------------------------------- /pics/reactions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cyco130/php-tag/50dbb9ae040e8169b48b97848d96ec4eb384e623/pics/reactions.png -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | importers: 4 | .: 5 | specifiers: 6 | "@prettier/plugin-php": ^0.18.9 7 | husky: ^8.0.1 8 | lint-staged: ^13.0.3 9 | prettier: ^2.7.1 10 | typescript: ^4.7.4 11 | dependencies: 12 | "@prettier/plugin-php": 0.18.9_prettier@2.7.1 13 | devDependencies: 14 | husky: 8.0.1 15 | lint-staged: 13.0.3 16 | prettier: 2.7.1 17 | typescript: 4.7.4 18 | 19 | examples/basic: 20 | specifiers: 21 | "@types/node": ^18.0.3 22 | cross-env: ^7.0.3 23 | kill-port: ^2.0.1 24 | php-tag: 0.0.1 25 | vite: ^3.0.4 26 | dependencies: 27 | php-tag: link:../../packages/php-tag 28 | devDependencies: 29 | "@types/node": 18.0.3 30 | cross-env: 7.0.3 31 | kill-port: 2.0.1 32 | vite: 3.0.4 33 | 34 | packages/php-tag: 35 | specifiers: 36 | "@babel/core": ^7.18.9 37 | "@babel/types": ^7.18.9 38 | "@cyco130/eslint-config": ^2.0.0 39 | "@types/babel__core": ^7.1.19 40 | "@types/node": ^18.0.3 41 | eslint: ^8.19.0 42 | publint: ^0.1.1 43 | tsup: ^6.1.3 44 | typescript: ^4.7.4 45 | vite: ^3.0.4 46 | vitest: ^0.17.1 47 | dependencies: 48 | "@babel/core": 7.18.9 49 | devDependencies: 50 | "@babel/types": 7.18.9 51 | "@cyco130/eslint-config": 2.0.0_4x5o4skxv6sl53vpwefgt23khm 52 | "@types/babel__core": 7.1.19 53 | "@types/node": 18.0.3 54 | eslint: 8.19.0 55 | publint: 0.1.1 56 | tsup: 6.1.3_typescript@4.7.4 57 | typescript: 4.7.4 58 | vite: 3.0.4 59 | vitest: 0.17.1 60 | 61 | packages: 62 | /@ampproject/remapping/2.2.0: 63 | resolution: 64 | { 65 | integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==, 66 | } 67 | engines: { node: ">=6.0.0" } 68 | dependencies: 69 | "@jridgewell/gen-mapping": 0.1.1 70 | "@jridgewell/trace-mapping": 0.3.14 71 | dev: false 72 | 73 | /@babel/code-frame/7.18.6: 74 | resolution: 75 | { 76 | integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==, 77 | } 78 | engines: { node: ">=6.9.0" } 79 | dependencies: 80 | "@babel/highlight": 7.18.6 81 | dev: false 82 | 83 | /@babel/compat-data/7.18.8: 84 | resolution: 85 | { 86 | integrity: sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==, 87 | } 88 | engines: { node: ">=6.9.0" } 89 | dev: false 90 | 91 | /@babel/core/7.18.9: 92 | resolution: 93 | { 94 | integrity: sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==, 95 | } 96 | engines: { node: ">=6.9.0" } 97 | dependencies: 98 | "@ampproject/remapping": 2.2.0 99 | "@babel/code-frame": 7.18.6 100 | "@babel/generator": 7.18.9 101 | "@babel/helper-compilation-targets": 7.18.9_@babel+core@7.18.9 102 | "@babel/helper-module-transforms": 7.18.9 103 | "@babel/helpers": 7.18.9 104 | "@babel/parser": 7.18.9 105 | "@babel/template": 7.18.6 106 | "@babel/traverse": 7.18.9 107 | "@babel/types": 7.18.9 108 | convert-source-map: 1.8.0 109 | debug: 4.3.4 110 | gensync: 1.0.0-beta.2 111 | json5: 2.2.1 112 | semver: 6.3.0 113 | transitivePeerDependencies: 114 | - supports-color 115 | dev: false 116 | 117 | /@babel/generator/7.18.9: 118 | resolution: 119 | { 120 | integrity: sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==, 121 | } 122 | engines: { node: ">=6.9.0" } 123 | dependencies: 124 | "@babel/types": 7.18.9 125 | "@jridgewell/gen-mapping": 0.3.2 126 | jsesc: 2.5.2 127 | dev: false 128 | 129 | /@babel/helper-compilation-targets/7.18.9_@babel+core@7.18.9: 130 | resolution: 131 | { 132 | integrity: sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==, 133 | } 134 | engines: { node: ">=6.9.0" } 135 | peerDependencies: 136 | "@babel/core": ^7.0.0 137 | dependencies: 138 | "@babel/compat-data": 7.18.8 139 | "@babel/core": 7.18.9 140 | "@babel/helper-validator-option": 7.18.6 141 | browserslist: 4.21.3 142 | semver: 6.3.0 143 | dev: false 144 | 145 | /@babel/helper-environment-visitor/7.18.9: 146 | resolution: 147 | { 148 | integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==, 149 | } 150 | engines: { node: ">=6.9.0" } 151 | dev: false 152 | 153 | /@babel/helper-function-name/7.18.9: 154 | resolution: 155 | { 156 | integrity: sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==, 157 | } 158 | engines: { node: ">=6.9.0" } 159 | dependencies: 160 | "@babel/template": 7.18.6 161 | "@babel/types": 7.18.9 162 | dev: false 163 | 164 | /@babel/helper-hoist-variables/7.18.6: 165 | resolution: 166 | { 167 | integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==, 168 | } 169 | engines: { node: ">=6.9.0" } 170 | dependencies: 171 | "@babel/types": 7.18.9 172 | dev: false 173 | 174 | /@babel/helper-module-imports/7.18.6: 175 | resolution: 176 | { 177 | integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==, 178 | } 179 | engines: { node: ">=6.9.0" } 180 | dependencies: 181 | "@babel/types": 7.18.9 182 | dev: false 183 | 184 | /@babel/helper-module-transforms/7.18.9: 185 | resolution: 186 | { 187 | integrity: sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==, 188 | } 189 | engines: { node: ">=6.9.0" } 190 | dependencies: 191 | "@babel/helper-environment-visitor": 7.18.9 192 | "@babel/helper-module-imports": 7.18.6 193 | "@babel/helper-simple-access": 7.18.6 194 | "@babel/helper-split-export-declaration": 7.18.6 195 | "@babel/helper-validator-identifier": 7.18.6 196 | "@babel/template": 7.18.6 197 | "@babel/traverse": 7.18.9 198 | "@babel/types": 7.18.9 199 | transitivePeerDependencies: 200 | - supports-color 201 | dev: false 202 | 203 | /@babel/helper-simple-access/7.18.6: 204 | resolution: 205 | { 206 | integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==, 207 | } 208 | engines: { node: ">=6.9.0" } 209 | dependencies: 210 | "@babel/types": 7.18.9 211 | dev: false 212 | 213 | /@babel/helper-split-export-declaration/7.18.6: 214 | resolution: 215 | { 216 | integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==, 217 | } 218 | engines: { node: ">=6.9.0" } 219 | dependencies: 220 | "@babel/types": 7.18.9 221 | dev: false 222 | 223 | /@babel/helper-validator-identifier/7.18.6: 224 | resolution: 225 | { 226 | integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==, 227 | } 228 | engines: { node: ">=6.9.0" } 229 | 230 | /@babel/helper-validator-option/7.18.6: 231 | resolution: 232 | { 233 | integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==, 234 | } 235 | engines: { node: ">=6.9.0" } 236 | dev: false 237 | 238 | /@babel/helpers/7.18.9: 239 | resolution: 240 | { 241 | integrity: sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==, 242 | } 243 | engines: { node: ">=6.9.0" } 244 | dependencies: 245 | "@babel/template": 7.18.6 246 | "@babel/traverse": 7.18.9 247 | "@babel/types": 7.18.9 248 | transitivePeerDependencies: 249 | - supports-color 250 | dev: false 251 | 252 | /@babel/highlight/7.18.6: 253 | resolution: 254 | { 255 | integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, 256 | } 257 | engines: { node: ">=6.9.0" } 258 | dependencies: 259 | "@babel/helper-validator-identifier": 7.18.6 260 | chalk: 2.4.2 261 | js-tokens: 4.0.0 262 | dev: false 263 | 264 | /@babel/parser/7.18.9: 265 | resolution: 266 | { 267 | integrity: sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==, 268 | } 269 | engines: { node: ">=6.0.0" } 270 | hasBin: true 271 | dependencies: 272 | "@babel/types": 7.18.9 273 | 274 | /@babel/template/7.18.6: 275 | resolution: 276 | { 277 | integrity: sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==, 278 | } 279 | engines: { node: ">=6.9.0" } 280 | dependencies: 281 | "@babel/code-frame": 7.18.6 282 | "@babel/parser": 7.18.9 283 | "@babel/types": 7.18.9 284 | dev: false 285 | 286 | /@babel/traverse/7.18.9: 287 | resolution: 288 | { 289 | integrity: sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==, 290 | } 291 | engines: { node: ">=6.9.0" } 292 | dependencies: 293 | "@babel/code-frame": 7.18.6 294 | "@babel/generator": 7.18.9 295 | "@babel/helper-environment-visitor": 7.18.9 296 | "@babel/helper-function-name": 7.18.9 297 | "@babel/helper-hoist-variables": 7.18.6 298 | "@babel/helper-split-export-declaration": 7.18.6 299 | "@babel/parser": 7.18.9 300 | "@babel/types": 7.18.9 301 | debug: 4.3.4 302 | globals: 11.12.0 303 | transitivePeerDependencies: 304 | - supports-color 305 | dev: false 306 | 307 | /@babel/types/7.18.9: 308 | resolution: 309 | { 310 | integrity: sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==, 311 | } 312 | engines: { node: ">=6.9.0" } 313 | dependencies: 314 | "@babel/helper-validator-identifier": 7.18.6 315 | to-fast-properties: 2.0.0 316 | 317 | /@cyco130/eslint-config/2.0.0_4x5o4skxv6sl53vpwefgt23khm: 318 | resolution: 319 | { 320 | integrity: sha512-0jkrpRhxoPtTEXfD5vl+Xkom0v3gWc7hJh3oKR9cFke6uQ0BPSz2gowY9wS5dWIQYOc7EO30MpuJsmOPpBWadg==, 321 | } 322 | peerDependencies: 323 | eslint: ^8.7.0 324 | typescript: ^4.5.4 325 | dependencies: 326 | "@rushstack/eslint-patch": 1.1.4 327 | "@typescript-eslint/eslint-plugin": 5.30.5_6zdoc3rn4mpiddqwhppni2mnnm 328 | "@typescript-eslint/parser": 5.30.5_4x5o4skxv6sl53vpwefgt23khm 329 | eslint: 8.19.0 330 | eslint-config-prettier: 8.5.0_eslint@8.19.0 331 | eslint-import-resolver-typescript: 2.7.1_q2xwze32dd33a2fc2qubwr4ie4 332 | eslint-plugin-css-modules: 2.11.0_eslint@8.19.0 333 | eslint-plugin-import: 2.26.0_6o2fuefo7gfpbr7nbqwgu7w4mq 334 | eslint-plugin-no-only-tests: 2.6.0 335 | eslint-plugin-only-warn: 1.0.3 336 | eslint-plugin-react: 7.30.1_eslint@8.19.0 337 | eslint-plugin-react-hooks: 4.6.0_eslint@8.19.0 338 | eslint-plugin-ssr-friendly: 1.0.6_eslint@8.19.0 339 | typescript: 4.7.4 340 | transitivePeerDependencies: 341 | - eslint-import-resolver-webpack 342 | - supports-color 343 | dev: true 344 | 345 | /@eslint/eslintrc/1.3.0: 346 | resolution: 347 | { 348 | integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==, 349 | } 350 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 351 | dependencies: 352 | ajv: 6.12.6 353 | debug: 4.3.4 354 | espree: 9.3.2 355 | globals: 13.16.0 356 | ignore: 5.2.0 357 | import-fresh: 3.3.0 358 | js-yaml: 4.1.0 359 | minimatch: 3.1.2 360 | strip-json-comments: 3.1.1 361 | transitivePeerDependencies: 362 | - supports-color 363 | dev: true 364 | 365 | /@humanwhocodes/config-array/0.9.5: 366 | resolution: 367 | { 368 | integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==, 369 | } 370 | engines: { node: ">=10.10.0" } 371 | dependencies: 372 | "@humanwhocodes/object-schema": 1.2.1 373 | debug: 4.3.4 374 | minimatch: 3.1.2 375 | transitivePeerDependencies: 376 | - supports-color 377 | dev: true 378 | 379 | /@humanwhocodes/object-schema/1.2.1: 380 | resolution: 381 | { 382 | integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, 383 | } 384 | dev: true 385 | 386 | /@jridgewell/gen-mapping/0.1.1: 387 | resolution: 388 | { 389 | integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==, 390 | } 391 | engines: { node: ">=6.0.0" } 392 | dependencies: 393 | "@jridgewell/set-array": 1.1.2 394 | "@jridgewell/sourcemap-codec": 1.4.14 395 | dev: false 396 | 397 | /@jridgewell/gen-mapping/0.3.2: 398 | resolution: 399 | { 400 | integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==, 401 | } 402 | engines: { node: ">=6.0.0" } 403 | dependencies: 404 | "@jridgewell/set-array": 1.1.2 405 | "@jridgewell/sourcemap-codec": 1.4.14 406 | "@jridgewell/trace-mapping": 0.3.14 407 | dev: false 408 | 409 | /@jridgewell/resolve-uri/3.1.0: 410 | resolution: 411 | { 412 | integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, 413 | } 414 | engines: { node: ">=6.0.0" } 415 | dev: false 416 | 417 | /@jridgewell/set-array/1.1.2: 418 | resolution: 419 | { 420 | integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, 421 | } 422 | engines: { node: ">=6.0.0" } 423 | dev: false 424 | 425 | /@jridgewell/sourcemap-codec/1.4.14: 426 | resolution: 427 | { 428 | integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, 429 | } 430 | dev: false 431 | 432 | /@jridgewell/trace-mapping/0.3.14: 433 | resolution: 434 | { 435 | integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==, 436 | } 437 | dependencies: 438 | "@jridgewell/resolve-uri": 3.1.0 439 | "@jridgewell/sourcemap-codec": 1.4.14 440 | dev: false 441 | 442 | /@nodelib/fs.scandir/2.1.5: 443 | resolution: 444 | { 445 | integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, 446 | } 447 | engines: { node: ">= 8" } 448 | dependencies: 449 | "@nodelib/fs.stat": 2.0.5 450 | run-parallel: 1.2.0 451 | dev: true 452 | 453 | /@nodelib/fs.stat/2.0.5: 454 | resolution: 455 | { 456 | integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, 457 | } 458 | engines: { node: ">= 8" } 459 | dev: true 460 | 461 | /@nodelib/fs.walk/1.2.8: 462 | resolution: 463 | { 464 | integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, 465 | } 466 | engines: { node: ">= 8" } 467 | dependencies: 468 | "@nodelib/fs.scandir": 2.1.5 469 | fastq: 1.13.0 470 | dev: true 471 | 472 | /@prettier/plugin-php/0.18.9_prettier@2.7.1: 473 | resolution: 474 | { 475 | integrity: sha512-d1uE9v3JsQ9uBLWlssZhO02RLI8u8jRBFPCO5ud4VbveCpSZbDRnGpSuK3IqSWHdM/OnuySz0yWr5M9/9mINvw==, 476 | } 477 | peerDependencies: 478 | prettier: ^1.15.0 || ^2.0.0 479 | dependencies: 480 | linguist-languages: 7.21.0 481 | mem: 8.1.1 482 | php-parser: 3.1.0-beta.11 483 | prettier: 2.7.1 484 | dev: false 485 | 486 | /@rushstack/eslint-patch/1.1.4: 487 | resolution: 488 | { 489 | integrity: sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==, 490 | } 491 | dev: true 492 | 493 | /@types/babel__core/7.1.19: 494 | resolution: 495 | { 496 | integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==, 497 | } 498 | dependencies: 499 | "@babel/parser": 7.18.9 500 | "@babel/types": 7.18.9 501 | "@types/babel__generator": 7.6.4 502 | "@types/babel__template": 7.4.1 503 | "@types/babel__traverse": 7.17.1 504 | dev: true 505 | 506 | /@types/babel__generator/7.6.4: 507 | resolution: 508 | { 509 | integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==, 510 | } 511 | dependencies: 512 | "@babel/types": 7.18.9 513 | dev: true 514 | 515 | /@types/babel__template/7.4.1: 516 | resolution: 517 | { 518 | integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==, 519 | } 520 | dependencies: 521 | "@babel/parser": 7.18.9 522 | "@babel/types": 7.18.9 523 | dev: true 524 | 525 | /@types/babel__traverse/7.17.1: 526 | resolution: 527 | { 528 | integrity: sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==, 529 | } 530 | dependencies: 531 | "@babel/types": 7.18.9 532 | dev: true 533 | 534 | /@types/chai-subset/1.3.3: 535 | resolution: 536 | { 537 | integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==, 538 | } 539 | dependencies: 540 | "@types/chai": 4.3.1 541 | dev: true 542 | 543 | /@types/chai/4.3.1: 544 | resolution: 545 | { 546 | integrity: sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==, 547 | } 548 | dev: true 549 | 550 | /@types/json-schema/7.0.11: 551 | resolution: 552 | { 553 | integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==, 554 | } 555 | dev: true 556 | 557 | /@types/json5/0.0.29: 558 | resolution: 559 | { 560 | integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==, 561 | } 562 | dev: true 563 | 564 | /@types/node/18.0.3: 565 | resolution: 566 | { 567 | integrity: sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==, 568 | } 569 | dev: true 570 | 571 | /@typescript-eslint/eslint-plugin/5.30.5_6zdoc3rn4mpiddqwhppni2mnnm: 572 | resolution: 573 | { 574 | integrity: sha512-lftkqRoBvc28VFXEoRgyZuztyVUQ04JvUnATSPtIRFAccbXTWL6DEtXGYMcbg998kXw1NLUJm7rTQ9eUt+q6Ig==, 575 | } 576 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 577 | peerDependencies: 578 | "@typescript-eslint/parser": ^5.0.0 579 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 580 | typescript: "*" 581 | peerDependenciesMeta: 582 | typescript: 583 | optional: true 584 | dependencies: 585 | "@typescript-eslint/parser": 5.30.5_4x5o4skxv6sl53vpwefgt23khm 586 | "@typescript-eslint/scope-manager": 5.30.5 587 | "@typescript-eslint/type-utils": 5.30.5_4x5o4skxv6sl53vpwefgt23khm 588 | "@typescript-eslint/utils": 5.30.5_4x5o4skxv6sl53vpwefgt23khm 589 | debug: 4.3.4 590 | eslint: 8.19.0 591 | functional-red-black-tree: 1.0.1 592 | ignore: 5.2.0 593 | regexpp: 3.2.0 594 | semver: 7.3.7 595 | tsutils: 3.21.0_typescript@4.7.4 596 | typescript: 4.7.4 597 | transitivePeerDependencies: 598 | - supports-color 599 | dev: true 600 | 601 | /@typescript-eslint/parser/5.30.5_4x5o4skxv6sl53vpwefgt23khm: 602 | resolution: 603 | { 604 | integrity: sha512-zj251pcPXI8GO9NDKWWmygP6+UjwWmrdf9qMW/L/uQJBM/0XbU2inxe5io/234y/RCvwpKEYjZ6c1YrXERkK4Q==, 605 | } 606 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 607 | peerDependencies: 608 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 609 | typescript: "*" 610 | peerDependenciesMeta: 611 | typescript: 612 | optional: true 613 | dependencies: 614 | "@typescript-eslint/scope-manager": 5.30.5 615 | "@typescript-eslint/types": 5.30.5 616 | "@typescript-eslint/typescript-estree": 5.30.5_typescript@4.7.4 617 | debug: 4.3.4 618 | eslint: 8.19.0 619 | typescript: 4.7.4 620 | transitivePeerDependencies: 621 | - supports-color 622 | dev: true 623 | 624 | /@typescript-eslint/scope-manager/5.30.5: 625 | resolution: 626 | { 627 | integrity: sha512-NJ6F+YHHFT/30isRe2UTmIGGAiXKckCyMnIV58cE3JkHmaD6e5zyEYm5hBDv0Wbin+IC0T1FWJpD3YqHUG/Ydg==, 628 | } 629 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 630 | dependencies: 631 | "@typescript-eslint/types": 5.30.5 632 | "@typescript-eslint/visitor-keys": 5.30.5 633 | dev: true 634 | 635 | /@typescript-eslint/type-utils/5.30.5_4x5o4skxv6sl53vpwefgt23khm: 636 | resolution: 637 | { 638 | integrity: sha512-k9+ejlv1GgwN1nN7XjVtyCgE0BTzhzT1YsQF0rv4Vfj2U9xnslBgMYYvcEYAFVdvhuEscELJsB7lDkN7WusErw==, 639 | } 640 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 641 | peerDependencies: 642 | eslint: "*" 643 | typescript: "*" 644 | peerDependenciesMeta: 645 | typescript: 646 | optional: true 647 | dependencies: 648 | "@typescript-eslint/utils": 5.30.5_4x5o4skxv6sl53vpwefgt23khm 649 | debug: 4.3.4 650 | eslint: 8.19.0 651 | tsutils: 3.21.0_typescript@4.7.4 652 | typescript: 4.7.4 653 | transitivePeerDependencies: 654 | - supports-color 655 | dev: true 656 | 657 | /@typescript-eslint/types/5.30.5: 658 | resolution: 659 | { 660 | integrity: sha512-kZ80w/M2AvsbRvOr3PjaNh6qEW1LFqs2pLdo2s5R38B2HYXG8Z0PP48/4+j1QHJFL3ssHIbJ4odPRS8PlHrFfw==, 661 | } 662 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 663 | dev: true 664 | 665 | /@typescript-eslint/typescript-estree/5.30.5_typescript@4.7.4: 666 | resolution: 667 | { 668 | integrity: sha512-qGTc7QZC801kbYjAr4AgdOfnokpwStqyhSbiQvqGBLixniAKyH+ib2qXIVo4P9NgGzwyfD9I0nlJN7D91E1VpQ==, 669 | } 670 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 671 | peerDependencies: 672 | typescript: "*" 673 | peerDependenciesMeta: 674 | typescript: 675 | optional: true 676 | dependencies: 677 | "@typescript-eslint/types": 5.30.5 678 | "@typescript-eslint/visitor-keys": 5.30.5 679 | debug: 4.3.4 680 | globby: 11.1.0 681 | is-glob: 4.0.3 682 | semver: 7.3.7 683 | tsutils: 3.21.0_typescript@4.7.4 684 | typescript: 4.7.4 685 | transitivePeerDependencies: 686 | - supports-color 687 | dev: true 688 | 689 | /@typescript-eslint/utils/5.30.5_4x5o4skxv6sl53vpwefgt23khm: 690 | resolution: 691 | { 692 | integrity: sha512-o4SSUH9IkuA7AYIfAvatldovurqTAHrfzPApOZvdUq01hHojZojCFXx06D/aFpKCgWbMPRdJBWAC3sWp3itwTA==, 693 | } 694 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 695 | peerDependencies: 696 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 697 | dependencies: 698 | "@types/json-schema": 7.0.11 699 | "@typescript-eslint/scope-manager": 5.30.5 700 | "@typescript-eslint/types": 5.30.5 701 | "@typescript-eslint/typescript-estree": 5.30.5_typescript@4.7.4 702 | eslint: 8.19.0 703 | eslint-scope: 5.1.1 704 | eslint-utils: 3.0.0_eslint@8.19.0 705 | transitivePeerDependencies: 706 | - supports-color 707 | - typescript 708 | dev: true 709 | 710 | /@typescript-eslint/visitor-keys/5.30.5: 711 | resolution: 712 | { 713 | integrity: sha512-D+xtGo9HUMELzWIUqcQc0p2PO4NyvTrgIOK/VnSH083+8sq0tiLozNRKuLarwHYGRuA6TVBQSuuLwJUDWd3aaA==, 714 | } 715 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 716 | dependencies: 717 | "@typescript-eslint/types": 5.30.5 718 | eslint-visitor-keys: 3.3.0 719 | dev: true 720 | 721 | /acorn-jsx/5.3.2_acorn@8.7.1: 722 | resolution: 723 | { 724 | integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, 725 | } 726 | peerDependencies: 727 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 728 | dependencies: 729 | acorn: 8.7.1 730 | dev: true 731 | 732 | /acorn/8.7.1: 733 | resolution: 734 | { 735 | integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==, 736 | } 737 | engines: { node: ">=0.4.0" } 738 | hasBin: true 739 | dev: true 740 | 741 | /aggregate-error/3.1.0: 742 | resolution: 743 | { 744 | integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, 745 | } 746 | engines: { node: ">=8" } 747 | dependencies: 748 | clean-stack: 2.2.0 749 | indent-string: 4.0.0 750 | dev: true 751 | 752 | /ajv/6.12.6: 753 | resolution: 754 | { 755 | integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, 756 | } 757 | dependencies: 758 | fast-deep-equal: 3.1.3 759 | fast-json-stable-stringify: 2.1.0 760 | json-schema-traverse: 0.4.1 761 | uri-js: 4.4.1 762 | dev: true 763 | 764 | /ansi-escapes/4.3.2: 765 | resolution: 766 | { 767 | integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, 768 | } 769 | engines: { node: ">=8" } 770 | dependencies: 771 | type-fest: 0.21.3 772 | dev: true 773 | 774 | /ansi-regex/5.0.1: 775 | resolution: 776 | { 777 | integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, 778 | } 779 | engines: { node: ">=8" } 780 | dev: true 781 | 782 | /ansi-regex/6.0.1: 783 | resolution: 784 | { 785 | integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, 786 | } 787 | engines: { node: ">=12" } 788 | dev: true 789 | 790 | /ansi-styles/3.2.1: 791 | resolution: 792 | { 793 | integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, 794 | } 795 | engines: { node: ">=4" } 796 | dependencies: 797 | color-convert: 1.9.3 798 | dev: false 799 | 800 | /ansi-styles/4.3.0: 801 | resolution: 802 | { 803 | integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, 804 | } 805 | engines: { node: ">=8" } 806 | dependencies: 807 | color-convert: 2.0.1 808 | dev: true 809 | 810 | /ansi-styles/6.1.0: 811 | resolution: 812 | { 813 | integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==, 814 | } 815 | engines: { node: ">=12" } 816 | dev: true 817 | 818 | /any-promise/1.3.0: 819 | resolution: 820 | { 821 | integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, 822 | } 823 | dev: true 824 | 825 | /anymatch/3.1.2: 826 | resolution: 827 | { 828 | integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==, 829 | } 830 | engines: { node: ">= 8" } 831 | dependencies: 832 | normalize-path: 3.0.0 833 | picomatch: 2.3.1 834 | dev: true 835 | 836 | /argparse/2.0.1: 837 | resolution: 838 | { 839 | integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, 840 | } 841 | dev: true 842 | 843 | /array-includes/3.1.5: 844 | resolution: 845 | { 846 | integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==, 847 | } 848 | engines: { node: ">= 0.4" } 849 | dependencies: 850 | call-bind: 1.0.2 851 | define-properties: 1.1.4 852 | es-abstract: 1.20.1 853 | get-intrinsic: 1.1.2 854 | is-string: 1.0.7 855 | dev: true 856 | 857 | /array-union/2.1.0: 858 | resolution: 859 | { 860 | integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, 861 | } 862 | engines: { node: ">=8" } 863 | dev: true 864 | 865 | /array.prototype.flat/1.3.0: 866 | resolution: 867 | { 868 | integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==, 869 | } 870 | engines: { node: ">= 0.4" } 871 | dependencies: 872 | call-bind: 1.0.2 873 | define-properties: 1.1.4 874 | es-abstract: 1.20.1 875 | es-shim-unscopables: 1.0.0 876 | dev: true 877 | 878 | /array.prototype.flatmap/1.3.0: 879 | resolution: 880 | { 881 | integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==, 882 | } 883 | engines: { node: ">= 0.4" } 884 | dependencies: 885 | call-bind: 1.0.2 886 | define-properties: 1.1.4 887 | es-abstract: 1.20.1 888 | es-shim-unscopables: 1.0.0 889 | dev: true 890 | 891 | /assertion-error/1.1.0: 892 | resolution: 893 | { 894 | integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, 895 | } 896 | dev: true 897 | 898 | /astral-regex/2.0.0: 899 | resolution: 900 | { 901 | integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, 902 | } 903 | engines: { node: ">=8" } 904 | dev: true 905 | 906 | /balanced-match/1.0.2: 907 | resolution: 908 | { 909 | integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, 910 | } 911 | dev: true 912 | 913 | /binary-extensions/2.2.0: 914 | resolution: 915 | { 916 | integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, 917 | } 918 | engines: { node: ">=8" } 919 | dev: true 920 | 921 | /brace-expansion/1.1.11: 922 | resolution: 923 | { 924 | integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, 925 | } 926 | dependencies: 927 | balanced-match: 1.0.2 928 | concat-map: 0.0.1 929 | dev: true 930 | 931 | /brace-expansion/2.0.1: 932 | resolution: 933 | { 934 | integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, 935 | } 936 | dependencies: 937 | balanced-match: 1.0.2 938 | dev: true 939 | 940 | /braces/3.0.2: 941 | resolution: 942 | { 943 | integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, 944 | } 945 | engines: { node: ">=8" } 946 | dependencies: 947 | fill-range: 7.0.1 948 | dev: true 949 | 950 | /browserslist/4.21.3: 951 | resolution: 952 | { 953 | integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==, 954 | } 955 | engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } 956 | hasBin: true 957 | dependencies: 958 | caniuse-lite: 1.0.30001373 959 | electron-to-chromium: 1.4.206 960 | node-releases: 2.0.6 961 | update-browserslist-db: 1.0.5_browserslist@4.21.3 962 | dev: false 963 | 964 | /bundle-require/3.0.4_esbuild@0.14.48: 965 | resolution: 966 | { 967 | integrity: sha512-VXG6epB1yrLAvWVQpl92qF347/UXmncQj7J3U8kZEbdVZ1ZkQyr4hYeL/9RvcE8vVVdp53dY78Fd/3pqfRqI1A==, 968 | } 969 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 970 | peerDependencies: 971 | esbuild: ">=0.13" 972 | dependencies: 973 | esbuild: 0.14.48 974 | load-tsconfig: 0.2.3 975 | dev: true 976 | 977 | /cac/6.7.12: 978 | resolution: 979 | { 980 | integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==, 981 | } 982 | engines: { node: ">=8" } 983 | dev: true 984 | 985 | /call-bind/1.0.2: 986 | resolution: 987 | { 988 | integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==, 989 | } 990 | dependencies: 991 | function-bind: 1.1.1 992 | get-intrinsic: 1.1.2 993 | dev: true 994 | 995 | /callsites/3.1.0: 996 | resolution: 997 | { 998 | integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, 999 | } 1000 | engines: { node: ">=6" } 1001 | dev: true 1002 | 1003 | /caniuse-lite/1.0.30001373: 1004 | resolution: 1005 | { 1006 | integrity: sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==, 1007 | } 1008 | dev: false 1009 | 1010 | /chai/4.3.6: 1011 | resolution: 1012 | { 1013 | integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==, 1014 | } 1015 | engines: { node: ">=4" } 1016 | dependencies: 1017 | assertion-error: 1.1.0 1018 | check-error: 1.0.2 1019 | deep-eql: 3.0.1 1020 | get-func-name: 2.0.0 1021 | loupe: 2.3.4 1022 | pathval: 1.1.1 1023 | type-detect: 4.0.8 1024 | dev: true 1025 | 1026 | /chalk/2.4.2: 1027 | resolution: 1028 | { 1029 | integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, 1030 | } 1031 | engines: { node: ">=4" } 1032 | dependencies: 1033 | ansi-styles: 3.2.1 1034 | escape-string-regexp: 1.0.5 1035 | supports-color: 5.5.0 1036 | dev: false 1037 | 1038 | /chalk/4.1.2: 1039 | resolution: 1040 | { 1041 | integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, 1042 | } 1043 | engines: { node: ">=10" } 1044 | dependencies: 1045 | ansi-styles: 4.3.0 1046 | supports-color: 7.2.0 1047 | dev: true 1048 | 1049 | /check-error/1.0.2: 1050 | resolution: 1051 | { 1052 | integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==, 1053 | } 1054 | dev: true 1055 | 1056 | /chokidar/3.5.3: 1057 | resolution: 1058 | { 1059 | integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, 1060 | } 1061 | engines: { node: ">= 8.10.0" } 1062 | dependencies: 1063 | anymatch: 3.1.2 1064 | braces: 3.0.2 1065 | glob-parent: 5.1.2 1066 | is-binary-path: 2.1.0 1067 | is-glob: 4.0.3 1068 | normalize-path: 3.0.0 1069 | readdirp: 3.6.0 1070 | optionalDependencies: 1071 | fsevents: 2.3.2 1072 | dev: true 1073 | 1074 | /clean-stack/2.2.0: 1075 | resolution: 1076 | { 1077 | integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, 1078 | } 1079 | engines: { node: ">=6" } 1080 | dev: true 1081 | 1082 | /cli-cursor/3.1.0: 1083 | resolution: 1084 | { 1085 | integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, 1086 | } 1087 | engines: { node: ">=8" } 1088 | dependencies: 1089 | restore-cursor: 3.1.0 1090 | dev: true 1091 | 1092 | /cli-truncate/2.1.0: 1093 | resolution: 1094 | { 1095 | integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, 1096 | } 1097 | engines: { node: ">=8" } 1098 | dependencies: 1099 | slice-ansi: 3.0.0 1100 | string-width: 4.2.3 1101 | dev: true 1102 | 1103 | /cli-truncate/3.1.0: 1104 | resolution: 1105 | { 1106 | integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==, 1107 | } 1108 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 1109 | dependencies: 1110 | slice-ansi: 5.0.0 1111 | string-width: 5.1.2 1112 | dev: true 1113 | 1114 | /color-convert/1.9.3: 1115 | resolution: 1116 | { 1117 | integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, 1118 | } 1119 | dependencies: 1120 | color-name: 1.1.3 1121 | dev: false 1122 | 1123 | /color-convert/2.0.1: 1124 | resolution: 1125 | { 1126 | integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, 1127 | } 1128 | engines: { node: ">=7.0.0" } 1129 | dependencies: 1130 | color-name: 1.1.4 1131 | dev: true 1132 | 1133 | /color-name/1.1.3: 1134 | resolution: 1135 | { 1136 | integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, 1137 | } 1138 | dev: false 1139 | 1140 | /color-name/1.1.4: 1141 | resolution: 1142 | { 1143 | integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, 1144 | } 1145 | dev: true 1146 | 1147 | /colorette/2.0.19: 1148 | resolution: 1149 | { 1150 | integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==, 1151 | } 1152 | dev: true 1153 | 1154 | /commander/4.1.1: 1155 | resolution: 1156 | { 1157 | integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, 1158 | } 1159 | engines: { node: ">= 6" } 1160 | dev: true 1161 | 1162 | /commander/9.3.0: 1163 | resolution: 1164 | { 1165 | integrity: sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==, 1166 | } 1167 | engines: { node: ^12.20.0 || >=14 } 1168 | dev: true 1169 | 1170 | /concat-map/0.0.1: 1171 | resolution: 1172 | { 1173 | integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, 1174 | } 1175 | dev: true 1176 | 1177 | /convert-source-map/1.8.0: 1178 | resolution: 1179 | { 1180 | integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==, 1181 | } 1182 | dependencies: 1183 | safe-buffer: 5.1.2 1184 | dev: false 1185 | 1186 | /cross-env/7.0.3: 1187 | resolution: 1188 | { 1189 | integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==, 1190 | } 1191 | engines: { node: ">=10.14", npm: ">=6", yarn: ">=1" } 1192 | hasBin: true 1193 | dependencies: 1194 | cross-spawn: 7.0.3 1195 | dev: true 1196 | 1197 | /cross-spawn/7.0.3: 1198 | resolution: 1199 | { 1200 | integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, 1201 | } 1202 | engines: { node: ">= 8" } 1203 | dependencies: 1204 | path-key: 3.1.1 1205 | shebang-command: 2.0.0 1206 | which: 2.0.2 1207 | dev: true 1208 | 1209 | /debug/2.6.9: 1210 | resolution: 1211 | { 1212 | integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, 1213 | } 1214 | peerDependencies: 1215 | supports-color: "*" 1216 | peerDependenciesMeta: 1217 | supports-color: 1218 | optional: true 1219 | dependencies: 1220 | ms: 2.0.0 1221 | dev: true 1222 | 1223 | /debug/3.2.7: 1224 | resolution: 1225 | { 1226 | integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, 1227 | } 1228 | peerDependencies: 1229 | supports-color: "*" 1230 | peerDependenciesMeta: 1231 | supports-color: 1232 | optional: true 1233 | dependencies: 1234 | ms: 2.1.3 1235 | dev: true 1236 | 1237 | /debug/4.3.4: 1238 | resolution: 1239 | { 1240 | integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, 1241 | } 1242 | engines: { node: ">=6.0" } 1243 | peerDependencies: 1244 | supports-color: "*" 1245 | peerDependenciesMeta: 1246 | supports-color: 1247 | optional: true 1248 | dependencies: 1249 | ms: 2.1.2 1250 | 1251 | /deep-eql/3.0.1: 1252 | resolution: 1253 | { 1254 | integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==, 1255 | } 1256 | engines: { node: ">=0.12" } 1257 | dependencies: 1258 | type-detect: 4.0.8 1259 | dev: true 1260 | 1261 | /deep-is/0.1.4: 1262 | resolution: 1263 | { 1264 | integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, 1265 | } 1266 | dev: true 1267 | 1268 | /define-properties/1.1.4: 1269 | resolution: 1270 | { 1271 | integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==, 1272 | } 1273 | engines: { node: ">= 0.4" } 1274 | dependencies: 1275 | has-property-descriptors: 1.0.0 1276 | object-keys: 1.1.1 1277 | dev: true 1278 | 1279 | /dir-glob/3.0.1: 1280 | resolution: 1281 | { 1282 | integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, 1283 | } 1284 | engines: { node: ">=8" } 1285 | dependencies: 1286 | path-type: 4.0.0 1287 | dev: true 1288 | 1289 | /doctrine/2.1.0: 1290 | resolution: 1291 | { 1292 | integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, 1293 | } 1294 | engines: { node: ">=0.10.0" } 1295 | dependencies: 1296 | esutils: 2.0.3 1297 | dev: true 1298 | 1299 | /doctrine/3.0.0: 1300 | resolution: 1301 | { 1302 | integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, 1303 | } 1304 | engines: { node: ">=6.0.0" } 1305 | dependencies: 1306 | esutils: 2.0.3 1307 | dev: true 1308 | 1309 | /eastasianwidth/0.2.0: 1310 | resolution: 1311 | { 1312 | integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, 1313 | } 1314 | dev: true 1315 | 1316 | /electron-to-chromium/1.4.206: 1317 | resolution: 1318 | { 1319 | integrity: sha512-h+Fadt1gIaQ06JaIiyqPsBjJ08fV5Q7md+V8bUvQW/9OvXfL2LRICTz2EcnnCP7QzrFTS6/27MRV6Bl9Yn97zA==, 1320 | } 1321 | dev: false 1322 | 1323 | /emoji-regex/8.0.0: 1324 | resolution: 1325 | { 1326 | integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, 1327 | } 1328 | dev: true 1329 | 1330 | /emoji-regex/9.2.2: 1331 | resolution: 1332 | { 1333 | integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, 1334 | } 1335 | dev: true 1336 | 1337 | /es-abstract/1.20.1: 1338 | resolution: 1339 | { 1340 | integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==, 1341 | } 1342 | engines: { node: ">= 0.4" } 1343 | dependencies: 1344 | call-bind: 1.0.2 1345 | es-to-primitive: 1.2.1 1346 | function-bind: 1.1.1 1347 | function.prototype.name: 1.1.5 1348 | get-intrinsic: 1.1.2 1349 | get-symbol-description: 1.0.0 1350 | has: 1.0.3 1351 | has-property-descriptors: 1.0.0 1352 | has-symbols: 1.0.3 1353 | internal-slot: 1.0.3 1354 | is-callable: 1.2.4 1355 | is-negative-zero: 2.0.2 1356 | is-regex: 1.1.4 1357 | is-shared-array-buffer: 1.0.2 1358 | is-string: 1.0.7 1359 | is-weakref: 1.0.2 1360 | object-inspect: 1.12.2 1361 | object-keys: 1.1.1 1362 | object.assign: 4.1.2 1363 | regexp.prototype.flags: 1.4.3 1364 | string.prototype.trimend: 1.0.5 1365 | string.prototype.trimstart: 1.0.5 1366 | unbox-primitive: 1.0.2 1367 | dev: true 1368 | 1369 | /es-shim-unscopables/1.0.0: 1370 | resolution: 1371 | { 1372 | integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==, 1373 | } 1374 | dependencies: 1375 | has: 1.0.3 1376 | dev: true 1377 | 1378 | /es-to-primitive/1.2.1: 1379 | resolution: 1380 | { 1381 | integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, 1382 | } 1383 | engines: { node: ">= 0.4" } 1384 | dependencies: 1385 | is-callable: 1.2.4 1386 | is-date-object: 1.0.5 1387 | is-symbol: 1.0.4 1388 | dev: true 1389 | 1390 | /esbuild-android-64/0.14.48: 1391 | resolution: 1392 | { 1393 | integrity: sha512-3aMjboap/kqwCUpGWIjsk20TtxVoKck8/4Tu19rubh7t5Ra0Yrpg30Mt1QXXlipOazrEceGeWurXKeFJgkPOUg==, 1394 | } 1395 | engines: { node: ">=12" } 1396 | cpu: [x64] 1397 | os: [android] 1398 | requiresBuild: true 1399 | dev: true 1400 | optional: true 1401 | 1402 | /esbuild-android-arm64/0.14.48: 1403 | resolution: 1404 | { 1405 | integrity: sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g==, 1406 | } 1407 | engines: { node: ">=12" } 1408 | cpu: [arm64] 1409 | os: [android] 1410 | requiresBuild: true 1411 | dev: true 1412 | optional: true 1413 | 1414 | /esbuild-darwin-64/0.14.48: 1415 | resolution: 1416 | { 1417 | integrity: sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA==, 1418 | } 1419 | engines: { node: ">=12" } 1420 | cpu: [x64] 1421 | os: [darwin] 1422 | requiresBuild: true 1423 | dev: true 1424 | optional: true 1425 | 1426 | /esbuild-darwin-arm64/0.14.48: 1427 | resolution: 1428 | { 1429 | integrity: sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA==, 1430 | } 1431 | engines: { node: ">=12" } 1432 | cpu: [arm64] 1433 | os: [darwin] 1434 | requiresBuild: true 1435 | dev: true 1436 | optional: true 1437 | 1438 | /esbuild-freebsd-64/0.14.48: 1439 | resolution: 1440 | { 1441 | integrity: sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA==, 1442 | } 1443 | engines: { node: ">=12" } 1444 | cpu: [x64] 1445 | os: [freebsd] 1446 | requiresBuild: true 1447 | dev: true 1448 | optional: true 1449 | 1450 | /esbuild-freebsd-arm64/0.14.48: 1451 | resolution: 1452 | { 1453 | integrity: sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw==, 1454 | } 1455 | engines: { node: ">=12" } 1456 | cpu: [arm64] 1457 | os: [freebsd] 1458 | requiresBuild: true 1459 | dev: true 1460 | optional: true 1461 | 1462 | /esbuild-linux-32/0.14.48: 1463 | resolution: 1464 | { 1465 | integrity: sha512-ghGyDfS289z/LReZQUuuKq9KlTiTspxL8SITBFQFAFRA/IkIvDpnZnCAKTCjGXAmUqroMQfKJXMxyjJA69c/nQ==, 1466 | } 1467 | engines: { node: ">=12" } 1468 | cpu: [ia32] 1469 | os: [linux] 1470 | requiresBuild: true 1471 | dev: true 1472 | optional: true 1473 | 1474 | /esbuild-linux-64/0.14.48: 1475 | resolution: 1476 | { 1477 | integrity: sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug==, 1478 | } 1479 | engines: { node: ">=12" } 1480 | cpu: [x64] 1481 | os: [linux] 1482 | requiresBuild: true 1483 | dev: true 1484 | optional: true 1485 | 1486 | /esbuild-linux-arm/0.14.48: 1487 | resolution: 1488 | { 1489 | integrity: sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw==, 1490 | } 1491 | engines: { node: ">=12" } 1492 | cpu: [arm] 1493 | os: [linux] 1494 | requiresBuild: true 1495 | dev: true 1496 | optional: true 1497 | 1498 | /esbuild-linux-arm64/0.14.48: 1499 | resolution: 1500 | { 1501 | integrity: sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw==, 1502 | } 1503 | engines: { node: ">=12" } 1504 | cpu: [arm64] 1505 | os: [linux] 1506 | requiresBuild: true 1507 | dev: true 1508 | optional: true 1509 | 1510 | /esbuild-linux-mips64le/0.14.48: 1511 | resolution: 1512 | { 1513 | integrity: sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA==, 1514 | } 1515 | engines: { node: ">=12" } 1516 | cpu: [mips64el] 1517 | os: [linux] 1518 | requiresBuild: true 1519 | dev: true 1520 | optional: true 1521 | 1522 | /esbuild-linux-ppc64le/0.14.48: 1523 | resolution: 1524 | { 1525 | integrity: sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ==, 1526 | } 1527 | engines: { node: ">=12" } 1528 | cpu: [ppc64] 1529 | os: [linux] 1530 | requiresBuild: true 1531 | dev: true 1532 | optional: true 1533 | 1534 | /esbuild-linux-riscv64/0.14.48: 1535 | resolution: 1536 | { 1537 | integrity: sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA==, 1538 | } 1539 | engines: { node: ">=12" } 1540 | cpu: [riscv64] 1541 | os: [linux] 1542 | requiresBuild: true 1543 | dev: true 1544 | optional: true 1545 | 1546 | /esbuild-linux-s390x/0.14.48: 1547 | resolution: 1548 | { 1549 | integrity: sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g==, 1550 | } 1551 | engines: { node: ">=12" } 1552 | cpu: [s390x] 1553 | os: [linux] 1554 | requiresBuild: true 1555 | dev: true 1556 | optional: true 1557 | 1558 | /esbuild-netbsd-64/0.14.48: 1559 | resolution: 1560 | { 1561 | integrity: sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw==, 1562 | } 1563 | engines: { node: ">=12" } 1564 | cpu: [x64] 1565 | os: [netbsd] 1566 | requiresBuild: true 1567 | dev: true 1568 | optional: true 1569 | 1570 | /esbuild-openbsd-64/0.14.48: 1571 | resolution: 1572 | { 1573 | integrity: sha512-+IHf4JcbnnBl4T52egorXMatil/za0awqzg2Vy6FBgPcBpisDWT2sVz/tNdrK9kAqj+GZG/jZdrOkj7wsrNTKA==, 1574 | } 1575 | engines: { node: ">=12" } 1576 | cpu: [x64] 1577 | os: [openbsd] 1578 | requiresBuild: true 1579 | dev: true 1580 | optional: true 1581 | 1582 | /esbuild-sunos-64/0.14.48: 1583 | resolution: 1584 | { 1585 | integrity: sha512-77m8bsr5wOpOWbGi9KSqDphcq6dFeJyun8TA+12JW/GAjyfTwVtOnN8DOt6DSPUfEV+ltVMNqtXUeTeMAxl5KA==, 1586 | } 1587 | engines: { node: ">=12" } 1588 | cpu: [x64] 1589 | os: [sunos] 1590 | requiresBuild: true 1591 | dev: true 1592 | optional: true 1593 | 1594 | /esbuild-windows-32/0.14.48: 1595 | resolution: 1596 | { 1597 | integrity: sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg==, 1598 | } 1599 | engines: { node: ">=12" } 1600 | cpu: [ia32] 1601 | os: [win32] 1602 | requiresBuild: true 1603 | dev: true 1604 | optional: true 1605 | 1606 | /esbuild-windows-64/0.14.48: 1607 | resolution: 1608 | { 1609 | integrity: sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA==, 1610 | } 1611 | engines: { node: ">=12" } 1612 | cpu: [x64] 1613 | os: [win32] 1614 | requiresBuild: true 1615 | dev: true 1616 | optional: true 1617 | 1618 | /esbuild-windows-arm64/0.14.48: 1619 | resolution: 1620 | { 1621 | integrity: sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g==, 1622 | } 1623 | engines: { node: ">=12" } 1624 | cpu: [arm64] 1625 | os: [win32] 1626 | requiresBuild: true 1627 | dev: true 1628 | optional: true 1629 | 1630 | /esbuild/0.14.48: 1631 | resolution: 1632 | { 1633 | integrity: sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA==, 1634 | } 1635 | engines: { node: ">=12" } 1636 | hasBin: true 1637 | requiresBuild: true 1638 | optionalDependencies: 1639 | esbuild-android-64: 0.14.48 1640 | esbuild-android-arm64: 0.14.48 1641 | esbuild-darwin-64: 0.14.48 1642 | esbuild-darwin-arm64: 0.14.48 1643 | esbuild-freebsd-64: 0.14.48 1644 | esbuild-freebsd-arm64: 0.14.48 1645 | esbuild-linux-32: 0.14.48 1646 | esbuild-linux-64: 0.14.48 1647 | esbuild-linux-arm: 0.14.48 1648 | esbuild-linux-arm64: 0.14.48 1649 | esbuild-linux-mips64le: 0.14.48 1650 | esbuild-linux-ppc64le: 0.14.48 1651 | esbuild-linux-riscv64: 0.14.48 1652 | esbuild-linux-s390x: 0.14.48 1653 | esbuild-netbsd-64: 0.14.48 1654 | esbuild-openbsd-64: 0.14.48 1655 | esbuild-sunos-64: 0.14.48 1656 | esbuild-windows-32: 0.14.48 1657 | esbuild-windows-64: 0.14.48 1658 | esbuild-windows-arm64: 0.14.48 1659 | dev: true 1660 | 1661 | /escalade/3.1.1: 1662 | resolution: 1663 | { 1664 | integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, 1665 | } 1666 | engines: { node: ">=6" } 1667 | dev: false 1668 | 1669 | /escape-string-regexp/1.0.5: 1670 | resolution: 1671 | { 1672 | integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, 1673 | } 1674 | engines: { node: ">=0.8.0" } 1675 | dev: false 1676 | 1677 | /escape-string-regexp/4.0.0: 1678 | resolution: 1679 | { 1680 | integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, 1681 | } 1682 | engines: { node: ">=10" } 1683 | dev: true 1684 | 1685 | /eslint-config-prettier/8.5.0_eslint@8.19.0: 1686 | resolution: 1687 | { 1688 | integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==, 1689 | } 1690 | hasBin: true 1691 | peerDependencies: 1692 | eslint: ">=7.0.0" 1693 | dependencies: 1694 | eslint: 8.19.0 1695 | dev: true 1696 | 1697 | /eslint-import-resolver-node/0.3.6: 1698 | resolution: 1699 | { 1700 | integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==, 1701 | } 1702 | dependencies: 1703 | debug: 3.2.7 1704 | resolve: 1.22.1 1705 | transitivePeerDependencies: 1706 | - supports-color 1707 | dev: true 1708 | 1709 | /eslint-import-resolver-typescript/2.7.1_q2xwze32dd33a2fc2qubwr4ie4: 1710 | resolution: 1711 | { 1712 | integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==, 1713 | } 1714 | engines: { node: ">=4" } 1715 | peerDependencies: 1716 | eslint: "*" 1717 | eslint-plugin-import: "*" 1718 | dependencies: 1719 | debug: 4.3.4 1720 | eslint: 8.19.0 1721 | eslint-plugin-import: 2.26.0_6o2fuefo7gfpbr7nbqwgu7w4mq 1722 | glob: 7.2.3 1723 | is-glob: 4.0.3 1724 | resolve: 1.22.1 1725 | tsconfig-paths: 3.14.1 1726 | transitivePeerDependencies: 1727 | - supports-color 1728 | dev: true 1729 | 1730 | /eslint-module-utils/2.7.3_ngc5pgxzrdnldt43xbcfncn6si: 1731 | resolution: 1732 | { 1733 | integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==, 1734 | } 1735 | engines: { node: ">=4" } 1736 | peerDependencies: 1737 | "@typescript-eslint/parser": "*" 1738 | eslint-import-resolver-node: "*" 1739 | eslint-import-resolver-typescript: "*" 1740 | eslint-import-resolver-webpack: "*" 1741 | peerDependenciesMeta: 1742 | "@typescript-eslint/parser": 1743 | optional: true 1744 | eslint-import-resolver-node: 1745 | optional: true 1746 | eslint-import-resolver-typescript: 1747 | optional: true 1748 | eslint-import-resolver-webpack: 1749 | optional: true 1750 | dependencies: 1751 | "@typescript-eslint/parser": 5.30.5_4x5o4skxv6sl53vpwefgt23khm 1752 | debug: 3.2.7 1753 | eslint-import-resolver-node: 0.3.6 1754 | eslint-import-resolver-typescript: 2.7.1_q2xwze32dd33a2fc2qubwr4ie4 1755 | find-up: 2.1.0 1756 | transitivePeerDependencies: 1757 | - supports-color 1758 | dev: true 1759 | 1760 | /eslint-plugin-css-modules/2.11.0_eslint@8.19.0: 1761 | resolution: 1762 | { 1763 | integrity: sha512-CLvQvJOMlCywZzaI4HVu7QH/ltgNXvCg7giJGiE+sA9wh5zQ+AqTgftAzrERV22wHe1p688wrU/Zwxt1Ry922w==, 1764 | } 1765 | engines: { node: ">=4.0.0" } 1766 | peerDependencies: 1767 | eslint: ">=2.0.0" 1768 | dependencies: 1769 | eslint: 8.19.0 1770 | gonzales-pe: 4.3.0 1771 | lodash: 4.17.21 1772 | dev: true 1773 | 1774 | /eslint-plugin-import/2.26.0_6o2fuefo7gfpbr7nbqwgu7w4mq: 1775 | resolution: 1776 | { 1777 | integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==, 1778 | } 1779 | engines: { node: ">=4" } 1780 | peerDependencies: 1781 | "@typescript-eslint/parser": "*" 1782 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1783 | peerDependenciesMeta: 1784 | "@typescript-eslint/parser": 1785 | optional: true 1786 | dependencies: 1787 | "@typescript-eslint/parser": 5.30.5_4x5o4skxv6sl53vpwefgt23khm 1788 | array-includes: 3.1.5 1789 | array.prototype.flat: 1.3.0 1790 | debug: 2.6.9 1791 | doctrine: 2.1.0 1792 | eslint: 8.19.0 1793 | eslint-import-resolver-node: 0.3.6 1794 | eslint-module-utils: 2.7.3_ngc5pgxzrdnldt43xbcfncn6si 1795 | has: 1.0.3 1796 | is-core-module: 2.9.0 1797 | is-glob: 4.0.3 1798 | minimatch: 3.1.2 1799 | object.values: 1.1.5 1800 | resolve: 1.22.1 1801 | tsconfig-paths: 3.14.1 1802 | transitivePeerDependencies: 1803 | - eslint-import-resolver-typescript 1804 | - eslint-import-resolver-webpack 1805 | - supports-color 1806 | dev: true 1807 | 1808 | /eslint-plugin-no-only-tests/2.6.0: 1809 | resolution: 1810 | { 1811 | integrity: sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q==, 1812 | } 1813 | engines: { node: ">=4.0.0" } 1814 | dev: true 1815 | 1816 | /eslint-plugin-only-warn/1.0.3: 1817 | resolution: 1818 | { 1819 | integrity: sha512-XQOX/TfLoLw6h8ky51d29uUjXRTQHqBGXPylDEmy5fe/w7LIOnp8MA24b1OSMEn9BQoKow1q3g1kLe5/9uBTvw==, 1820 | } 1821 | engines: { node: ">=6" } 1822 | dev: true 1823 | 1824 | /eslint-plugin-react-hooks/4.6.0_eslint@8.19.0: 1825 | resolution: 1826 | { 1827 | integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==, 1828 | } 1829 | engines: { node: ">=10" } 1830 | peerDependencies: 1831 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 1832 | dependencies: 1833 | eslint: 8.19.0 1834 | dev: true 1835 | 1836 | /eslint-plugin-react/7.30.1_eslint@8.19.0: 1837 | resolution: 1838 | { 1839 | integrity: sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==, 1840 | } 1841 | engines: { node: ">=4" } 1842 | peerDependencies: 1843 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1844 | dependencies: 1845 | array-includes: 3.1.5 1846 | array.prototype.flatmap: 1.3.0 1847 | doctrine: 2.1.0 1848 | eslint: 8.19.0 1849 | estraverse: 5.3.0 1850 | jsx-ast-utils: 3.3.2 1851 | minimatch: 3.1.2 1852 | object.entries: 1.1.5 1853 | object.fromentries: 2.0.5 1854 | object.hasown: 1.1.1 1855 | object.values: 1.1.5 1856 | prop-types: 15.8.1 1857 | resolve: 2.0.0-next.4 1858 | semver: 6.3.0 1859 | string.prototype.matchall: 4.0.7 1860 | dev: true 1861 | 1862 | /eslint-plugin-ssr-friendly/1.0.6_eslint@8.19.0: 1863 | resolution: 1864 | { 1865 | integrity: sha512-O1S/0Q8FYTl1c4vwIr0cg59u37mL5qe7sxpMzjdIo2v8l0LjCugU699trmkgOheQINTq7R9yhfCo6YaAb4tYUQ==, 1866 | } 1867 | peerDependencies: 1868 | eslint: ">=0.8.0" 1869 | dependencies: 1870 | eslint: 8.19.0 1871 | globals: 13.16.0 1872 | dev: true 1873 | 1874 | /eslint-scope/5.1.1: 1875 | resolution: 1876 | { 1877 | integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, 1878 | } 1879 | engines: { node: ">=8.0.0" } 1880 | dependencies: 1881 | esrecurse: 4.3.0 1882 | estraverse: 4.3.0 1883 | dev: true 1884 | 1885 | /eslint-scope/7.1.1: 1886 | resolution: 1887 | { 1888 | integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==, 1889 | } 1890 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1891 | dependencies: 1892 | esrecurse: 4.3.0 1893 | estraverse: 5.3.0 1894 | dev: true 1895 | 1896 | /eslint-utils/3.0.0_eslint@8.19.0: 1897 | resolution: 1898 | { 1899 | integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==, 1900 | } 1901 | engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 } 1902 | peerDependencies: 1903 | eslint: ">=5" 1904 | dependencies: 1905 | eslint: 8.19.0 1906 | eslint-visitor-keys: 2.1.0 1907 | dev: true 1908 | 1909 | /eslint-visitor-keys/2.1.0: 1910 | resolution: 1911 | { 1912 | integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, 1913 | } 1914 | engines: { node: ">=10" } 1915 | dev: true 1916 | 1917 | /eslint-visitor-keys/3.3.0: 1918 | resolution: 1919 | { 1920 | integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==, 1921 | } 1922 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1923 | dev: true 1924 | 1925 | /eslint/8.19.0: 1926 | resolution: 1927 | { 1928 | integrity: sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw==, 1929 | } 1930 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1931 | hasBin: true 1932 | dependencies: 1933 | "@eslint/eslintrc": 1.3.0 1934 | "@humanwhocodes/config-array": 0.9.5 1935 | ajv: 6.12.6 1936 | chalk: 4.1.2 1937 | cross-spawn: 7.0.3 1938 | debug: 4.3.4 1939 | doctrine: 3.0.0 1940 | escape-string-regexp: 4.0.0 1941 | eslint-scope: 7.1.1 1942 | eslint-utils: 3.0.0_eslint@8.19.0 1943 | eslint-visitor-keys: 3.3.0 1944 | espree: 9.3.2 1945 | esquery: 1.4.0 1946 | esutils: 2.0.3 1947 | fast-deep-equal: 3.1.3 1948 | file-entry-cache: 6.0.1 1949 | functional-red-black-tree: 1.0.1 1950 | glob-parent: 6.0.2 1951 | globals: 13.16.0 1952 | ignore: 5.2.0 1953 | import-fresh: 3.3.0 1954 | imurmurhash: 0.1.4 1955 | is-glob: 4.0.3 1956 | js-yaml: 4.1.0 1957 | json-stable-stringify-without-jsonify: 1.0.1 1958 | levn: 0.4.1 1959 | lodash.merge: 4.6.2 1960 | minimatch: 3.1.2 1961 | natural-compare: 1.4.0 1962 | optionator: 0.9.1 1963 | regexpp: 3.2.0 1964 | strip-ansi: 6.0.1 1965 | strip-json-comments: 3.1.1 1966 | text-table: 0.2.0 1967 | v8-compile-cache: 2.3.0 1968 | transitivePeerDependencies: 1969 | - supports-color 1970 | dev: true 1971 | 1972 | /espree/9.3.2: 1973 | resolution: 1974 | { 1975 | integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==, 1976 | } 1977 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1978 | dependencies: 1979 | acorn: 8.7.1 1980 | acorn-jsx: 5.3.2_acorn@8.7.1 1981 | eslint-visitor-keys: 3.3.0 1982 | dev: true 1983 | 1984 | /esquery/1.4.0: 1985 | resolution: 1986 | { 1987 | integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==, 1988 | } 1989 | engines: { node: ">=0.10" } 1990 | dependencies: 1991 | estraverse: 5.3.0 1992 | dev: true 1993 | 1994 | /esrecurse/4.3.0: 1995 | resolution: 1996 | { 1997 | integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, 1998 | } 1999 | engines: { node: ">=4.0" } 2000 | dependencies: 2001 | estraverse: 5.3.0 2002 | dev: true 2003 | 2004 | /estraverse/4.3.0: 2005 | resolution: 2006 | { 2007 | integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, 2008 | } 2009 | engines: { node: ">=4.0" } 2010 | dev: true 2011 | 2012 | /estraverse/5.3.0: 2013 | resolution: 2014 | { 2015 | integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, 2016 | } 2017 | engines: { node: ">=4.0" } 2018 | dev: true 2019 | 2020 | /esutils/2.0.3: 2021 | resolution: 2022 | { 2023 | integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, 2024 | } 2025 | engines: { node: ">=0.10.0" } 2026 | dev: true 2027 | 2028 | /execa/5.1.1: 2029 | resolution: 2030 | { 2031 | integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, 2032 | } 2033 | engines: { node: ">=10" } 2034 | dependencies: 2035 | cross-spawn: 7.0.3 2036 | get-stream: 6.0.1 2037 | human-signals: 2.1.0 2038 | is-stream: 2.0.1 2039 | merge-stream: 2.0.0 2040 | npm-run-path: 4.0.1 2041 | onetime: 5.1.2 2042 | signal-exit: 3.0.7 2043 | strip-final-newline: 2.0.0 2044 | dev: true 2045 | 2046 | /execa/6.1.0: 2047 | resolution: 2048 | { 2049 | integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==, 2050 | } 2051 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2052 | dependencies: 2053 | cross-spawn: 7.0.3 2054 | get-stream: 6.0.1 2055 | human-signals: 3.0.1 2056 | is-stream: 3.0.0 2057 | merge-stream: 2.0.0 2058 | npm-run-path: 5.1.0 2059 | onetime: 6.0.0 2060 | signal-exit: 3.0.7 2061 | strip-final-newline: 3.0.0 2062 | dev: true 2063 | 2064 | /fast-deep-equal/3.1.3: 2065 | resolution: 2066 | { 2067 | integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, 2068 | } 2069 | dev: true 2070 | 2071 | /fast-glob/3.2.11: 2072 | resolution: 2073 | { 2074 | integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==, 2075 | } 2076 | engines: { node: ">=8.6.0" } 2077 | dependencies: 2078 | "@nodelib/fs.stat": 2.0.5 2079 | "@nodelib/fs.walk": 1.2.8 2080 | glob-parent: 5.1.2 2081 | merge2: 1.4.1 2082 | micromatch: 4.0.5 2083 | dev: true 2084 | 2085 | /fast-json-stable-stringify/2.1.0: 2086 | resolution: 2087 | { 2088 | integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, 2089 | } 2090 | dev: true 2091 | 2092 | /fast-levenshtein/2.0.6: 2093 | resolution: 2094 | { 2095 | integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, 2096 | } 2097 | dev: true 2098 | 2099 | /fastq/1.13.0: 2100 | resolution: 2101 | { 2102 | integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==, 2103 | } 2104 | dependencies: 2105 | reusify: 1.0.4 2106 | dev: true 2107 | 2108 | /file-entry-cache/6.0.1: 2109 | resolution: 2110 | { 2111 | integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, 2112 | } 2113 | engines: { node: ^10.12.0 || >=12.0.0 } 2114 | dependencies: 2115 | flat-cache: 3.0.4 2116 | dev: true 2117 | 2118 | /fill-range/7.0.1: 2119 | resolution: 2120 | { 2121 | integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, 2122 | } 2123 | engines: { node: ">=8" } 2124 | dependencies: 2125 | to-regex-range: 5.0.1 2126 | dev: true 2127 | 2128 | /find-up/2.1.0: 2129 | resolution: 2130 | { 2131 | integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==, 2132 | } 2133 | engines: { node: ">=4" } 2134 | dependencies: 2135 | locate-path: 2.0.0 2136 | dev: true 2137 | 2138 | /flat-cache/3.0.4: 2139 | resolution: 2140 | { 2141 | integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==, 2142 | } 2143 | engines: { node: ^10.12.0 || >=12.0.0 } 2144 | dependencies: 2145 | flatted: 3.2.6 2146 | rimraf: 3.0.2 2147 | dev: true 2148 | 2149 | /flatted/3.2.6: 2150 | resolution: 2151 | { 2152 | integrity: sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==, 2153 | } 2154 | dev: true 2155 | 2156 | /fs.realpath/1.0.0: 2157 | resolution: 2158 | { 2159 | integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, 2160 | } 2161 | dev: true 2162 | 2163 | /fsevents/2.3.2: 2164 | resolution: 2165 | { 2166 | integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, 2167 | } 2168 | engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } 2169 | os: [darwin] 2170 | requiresBuild: true 2171 | dev: true 2172 | optional: true 2173 | 2174 | /function-bind/1.1.1: 2175 | resolution: 2176 | { 2177 | integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, 2178 | } 2179 | dev: true 2180 | 2181 | /function.prototype.name/1.1.5: 2182 | resolution: 2183 | { 2184 | integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==, 2185 | } 2186 | engines: { node: ">= 0.4" } 2187 | dependencies: 2188 | call-bind: 1.0.2 2189 | define-properties: 1.1.4 2190 | es-abstract: 1.20.1 2191 | functions-have-names: 1.2.3 2192 | dev: true 2193 | 2194 | /functional-red-black-tree/1.0.1: 2195 | resolution: 2196 | { 2197 | integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==, 2198 | } 2199 | dev: true 2200 | 2201 | /functions-have-names/1.2.3: 2202 | resolution: 2203 | { 2204 | integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, 2205 | } 2206 | dev: true 2207 | 2208 | /gensync/1.0.0-beta.2: 2209 | resolution: 2210 | { 2211 | integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, 2212 | } 2213 | engines: { node: ">=6.9.0" } 2214 | dev: false 2215 | 2216 | /get-func-name/2.0.0: 2217 | resolution: 2218 | { 2219 | integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==, 2220 | } 2221 | dev: true 2222 | 2223 | /get-intrinsic/1.1.2: 2224 | resolution: 2225 | { 2226 | integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==, 2227 | } 2228 | dependencies: 2229 | function-bind: 1.1.1 2230 | has: 1.0.3 2231 | has-symbols: 1.0.3 2232 | dev: true 2233 | 2234 | /get-stream/6.0.1: 2235 | resolution: 2236 | { 2237 | integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, 2238 | } 2239 | engines: { node: ">=10" } 2240 | dev: true 2241 | 2242 | /get-symbol-description/1.0.0: 2243 | resolution: 2244 | { 2245 | integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==, 2246 | } 2247 | engines: { node: ">= 0.4" } 2248 | dependencies: 2249 | call-bind: 1.0.2 2250 | get-intrinsic: 1.1.2 2251 | dev: true 2252 | 2253 | /get-them-args/1.3.2: 2254 | resolution: 2255 | { 2256 | integrity: sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==, 2257 | } 2258 | dev: true 2259 | 2260 | /glob-parent/5.1.2: 2261 | resolution: 2262 | { 2263 | integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, 2264 | } 2265 | engines: { node: ">= 6" } 2266 | dependencies: 2267 | is-glob: 4.0.3 2268 | dev: true 2269 | 2270 | /glob-parent/6.0.2: 2271 | resolution: 2272 | { 2273 | integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, 2274 | } 2275 | engines: { node: ">=10.13.0" } 2276 | dependencies: 2277 | is-glob: 4.0.3 2278 | dev: true 2279 | 2280 | /glob/7.1.6: 2281 | resolution: 2282 | { 2283 | integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==, 2284 | } 2285 | dependencies: 2286 | fs.realpath: 1.0.0 2287 | inflight: 1.0.6 2288 | inherits: 2.0.4 2289 | minimatch: 3.1.2 2290 | once: 1.4.0 2291 | path-is-absolute: 1.0.1 2292 | dev: true 2293 | 2294 | /glob/7.2.3: 2295 | resolution: 2296 | { 2297 | integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, 2298 | } 2299 | dependencies: 2300 | fs.realpath: 1.0.0 2301 | inflight: 1.0.6 2302 | inherits: 2.0.4 2303 | minimatch: 3.1.2 2304 | once: 1.4.0 2305 | path-is-absolute: 1.0.1 2306 | dev: true 2307 | 2308 | /glob/8.0.3: 2309 | resolution: 2310 | { 2311 | integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==, 2312 | } 2313 | engines: { node: ">=12" } 2314 | dependencies: 2315 | fs.realpath: 1.0.0 2316 | inflight: 1.0.6 2317 | inherits: 2.0.4 2318 | minimatch: 5.1.0 2319 | once: 1.4.0 2320 | dev: true 2321 | 2322 | /globals/11.12.0: 2323 | resolution: 2324 | { 2325 | integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, 2326 | } 2327 | engines: { node: ">=4" } 2328 | dev: false 2329 | 2330 | /globals/13.16.0: 2331 | resolution: 2332 | { 2333 | integrity: sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==, 2334 | } 2335 | engines: { node: ">=8" } 2336 | dependencies: 2337 | type-fest: 0.20.2 2338 | dev: true 2339 | 2340 | /globby/11.1.0: 2341 | resolution: 2342 | { 2343 | integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, 2344 | } 2345 | engines: { node: ">=10" } 2346 | dependencies: 2347 | array-union: 2.1.0 2348 | dir-glob: 3.0.1 2349 | fast-glob: 3.2.11 2350 | ignore: 5.2.0 2351 | merge2: 1.4.1 2352 | slash: 3.0.0 2353 | dev: true 2354 | 2355 | /gonzales-pe/4.3.0: 2356 | resolution: 2357 | { 2358 | integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==, 2359 | } 2360 | engines: { node: ">=0.6.0" } 2361 | hasBin: true 2362 | dependencies: 2363 | minimist: 1.2.6 2364 | dev: true 2365 | 2366 | /has-bigints/1.0.2: 2367 | resolution: 2368 | { 2369 | integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, 2370 | } 2371 | dev: true 2372 | 2373 | /has-flag/3.0.0: 2374 | resolution: 2375 | { 2376 | integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, 2377 | } 2378 | engines: { node: ">=4" } 2379 | dev: false 2380 | 2381 | /has-flag/4.0.0: 2382 | resolution: 2383 | { 2384 | integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, 2385 | } 2386 | engines: { node: ">=8" } 2387 | dev: true 2388 | 2389 | /has-property-descriptors/1.0.0: 2390 | resolution: 2391 | { 2392 | integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==, 2393 | } 2394 | dependencies: 2395 | get-intrinsic: 1.1.2 2396 | dev: true 2397 | 2398 | /has-symbols/1.0.3: 2399 | resolution: 2400 | { 2401 | integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, 2402 | } 2403 | engines: { node: ">= 0.4" } 2404 | dev: true 2405 | 2406 | /has-tostringtag/1.0.0: 2407 | resolution: 2408 | { 2409 | integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==, 2410 | } 2411 | engines: { node: ">= 0.4" } 2412 | dependencies: 2413 | has-symbols: 1.0.3 2414 | dev: true 2415 | 2416 | /has/1.0.3: 2417 | resolution: 2418 | { 2419 | integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, 2420 | } 2421 | engines: { node: ">= 0.4.0" } 2422 | dependencies: 2423 | function-bind: 1.1.1 2424 | dev: true 2425 | 2426 | /human-signals/2.1.0: 2427 | resolution: 2428 | { 2429 | integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, 2430 | } 2431 | engines: { node: ">=10.17.0" } 2432 | dev: true 2433 | 2434 | /human-signals/3.0.1: 2435 | resolution: 2436 | { 2437 | integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==, 2438 | } 2439 | engines: { node: ">=12.20.0" } 2440 | dev: true 2441 | 2442 | /husky/8.0.1: 2443 | resolution: 2444 | { 2445 | integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==, 2446 | } 2447 | engines: { node: ">=14" } 2448 | hasBin: true 2449 | dev: true 2450 | 2451 | /ignore-walk/5.0.1: 2452 | resolution: 2453 | { 2454 | integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==, 2455 | } 2456 | engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } 2457 | dependencies: 2458 | minimatch: 5.1.0 2459 | dev: true 2460 | 2461 | /ignore/5.2.0: 2462 | resolution: 2463 | { 2464 | integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==, 2465 | } 2466 | engines: { node: ">= 4" } 2467 | dev: true 2468 | 2469 | /import-fresh/3.3.0: 2470 | resolution: 2471 | { 2472 | integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, 2473 | } 2474 | engines: { node: ">=6" } 2475 | dependencies: 2476 | parent-module: 1.0.1 2477 | resolve-from: 4.0.0 2478 | dev: true 2479 | 2480 | /imurmurhash/0.1.4: 2481 | resolution: 2482 | { 2483 | integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, 2484 | } 2485 | engines: { node: ">=0.8.19" } 2486 | dev: true 2487 | 2488 | /indent-string/4.0.0: 2489 | resolution: 2490 | { 2491 | integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, 2492 | } 2493 | engines: { node: ">=8" } 2494 | dev: true 2495 | 2496 | /inflight/1.0.6: 2497 | resolution: 2498 | { 2499 | integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, 2500 | } 2501 | dependencies: 2502 | once: 1.4.0 2503 | wrappy: 1.0.2 2504 | dev: true 2505 | 2506 | /inherits/2.0.4: 2507 | resolution: 2508 | { 2509 | integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, 2510 | } 2511 | dev: true 2512 | 2513 | /internal-slot/1.0.3: 2514 | resolution: 2515 | { 2516 | integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==, 2517 | } 2518 | engines: { node: ">= 0.4" } 2519 | dependencies: 2520 | get-intrinsic: 1.1.2 2521 | has: 1.0.3 2522 | side-channel: 1.0.4 2523 | dev: true 2524 | 2525 | /is-bigint/1.0.4: 2526 | resolution: 2527 | { 2528 | integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, 2529 | } 2530 | dependencies: 2531 | has-bigints: 1.0.2 2532 | dev: true 2533 | 2534 | /is-binary-path/2.1.0: 2535 | resolution: 2536 | { 2537 | integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, 2538 | } 2539 | engines: { node: ">=8" } 2540 | dependencies: 2541 | binary-extensions: 2.2.0 2542 | dev: true 2543 | 2544 | /is-boolean-object/1.1.2: 2545 | resolution: 2546 | { 2547 | integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==, 2548 | } 2549 | engines: { node: ">= 0.4" } 2550 | dependencies: 2551 | call-bind: 1.0.2 2552 | has-tostringtag: 1.0.0 2553 | dev: true 2554 | 2555 | /is-callable/1.2.4: 2556 | resolution: 2557 | { 2558 | integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==, 2559 | } 2560 | engines: { node: ">= 0.4" } 2561 | dev: true 2562 | 2563 | /is-core-module/2.9.0: 2564 | resolution: 2565 | { 2566 | integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==, 2567 | } 2568 | dependencies: 2569 | has: 1.0.3 2570 | dev: true 2571 | 2572 | /is-date-object/1.0.5: 2573 | resolution: 2574 | { 2575 | integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, 2576 | } 2577 | engines: { node: ">= 0.4" } 2578 | dependencies: 2579 | has-tostringtag: 1.0.0 2580 | dev: true 2581 | 2582 | /is-extglob/2.1.1: 2583 | resolution: 2584 | { 2585 | integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, 2586 | } 2587 | engines: { node: ">=0.10.0" } 2588 | dev: true 2589 | 2590 | /is-fullwidth-code-point/3.0.0: 2591 | resolution: 2592 | { 2593 | integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, 2594 | } 2595 | engines: { node: ">=8" } 2596 | dev: true 2597 | 2598 | /is-fullwidth-code-point/4.0.0: 2599 | resolution: 2600 | { 2601 | integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, 2602 | } 2603 | engines: { node: ">=12" } 2604 | dev: true 2605 | 2606 | /is-glob/4.0.3: 2607 | resolution: 2608 | { 2609 | integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, 2610 | } 2611 | engines: { node: ">=0.10.0" } 2612 | dependencies: 2613 | is-extglob: 2.1.1 2614 | dev: true 2615 | 2616 | /is-negative-zero/2.0.2: 2617 | resolution: 2618 | { 2619 | integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==, 2620 | } 2621 | engines: { node: ">= 0.4" } 2622 | dev: true 2623 | 2624 | /is-number-object/1.0.7: 2625 | resolution: 2626 | { 2627 | integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, 2628 | } 2629 | engines: { node: ">= 0.4" } 2630 | dependencies: 2631 | has-tostringtag: 1.0.0 2632 | dev: true 2633 | 2634 | /is-number/7.0.0: 2635 | resolution: 2636 | { 2637 | integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, 2638 | } 2639 | engines: { node: ">=0.12.0" } 2640 | dev: true 2641 | 2642 | /is-regex/1.1.4: 2643 | resolution: 2644 | { 2645 | integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, 2646 | } 2647 | engines: { node: ">= 0.4" } 2648 | dependencies: 2649 | call-bind: 1.0.2 2650 | has-tostringtag: 1.0.0 2651 | dev: true 2652 | 2653 | /is-shared-array-buffer/1.0.2: 2654 | resolution: 2655 | { 2656 | integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==, 2657 | } 2658 | dependencies: 2659 | call-bind: 1.0.2 2660 | dev: true 2661 | 2662 | /is-stream/2.0.1: 2663 | resolution: 2664 | { 2665 | integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, 2666 | } 2667 | engines: { node: ">=8" } 2668 | dev: true 2669 | 2670 | /is-stream/3.0.0: 2671 | resolution: 2672 | { 2673 | integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, 2674 | } 2675 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2676 | dev: true 2677 | 2678 | /is-string/1.0.7: 2679 | resolution: 2680 | { 2681 | integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==, 2682 | } 2683 | engines: { node: ">= 0.4" } 2684 | dependencies: 2685 | has-tostringtag: 1.0.0 2686 | dev: true 2687 | 2688 | /is-symbol/1.0.4: 2689 | resolution: 2690 | { 2691 | integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, 2692 | } 2693 | engines: { node: ">= 0.4" } 2694 | dependencies: 2695 | has-symbols: 1.0.3 2696 | dev: true 2697 | 2698 | /is-weakref/1.0.2: 2699 | resolution: 2700 | { 2701 | integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, 2702 | } 2703 | dependencies: 2704 | call-bind: 1.0.2 2705 | dev: true 2706 | 2707 | /isexe/2.0.0: 2708 | resolution: 2709 | { 2710 | integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, 2711 | } 2712 | dev: true 2713 | 2714 | /joycon/3.1.1: 2715 | resolution: 2716 | { 2717 | integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, 2718 | } 2719 | engines: { node: ">=10" } 2720 | dev: true 2721 | 2722 | /js-tokens/4.0.0: 2723 | resolution: 2724 | { 2725 | integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, 2726 | } 2727 | 2728 | /js-yaml/4.1.0: 2729 | resolution: 2730 | { 2731 | integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, 2732 | } 2733 | hasBin: true 2734 | dependencies: 2735 | argparse: 2.0.1 2736 | dev: true 2737 | 2738 | /jsesc/2.5.2: 2739 | resolution: 2740 | { 2741 | integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, 2742 | } 2743 | engines: { node: ">=4" } 2744 | hasBin: true 2745 | dev: false 2746 | 2747 | /json-schema-traverse/0.4.1: 2748 | resolution: 2749 | { 2750 | integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, 2751 | } 2752 | dev: true 2753 | 2754 | /json-stable-stringify-without-jsonify/1.0.1: 2755 | resolution: 2756 | { 2757 | integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, 2758 | } 2759 | dev: true 2760 | 2761 | /json5/1.0.1: 2762 | resolution: 2763 | { 2764 | integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==, 2765 | } 2766 | hasBin: true 2767 | dependencies: 2768 | minimist: 1.2.6 2769 | dev: true 2770 | 2771 | /json5/2.2.1: 2772 | resolution: 2773 | { 2774 | integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==, 2775 | } 2776 | engines: { node: ">=6" } 2777 | hasBin: true 2778 | dev: false 2779 | 2780 | /jsx-ast-utils/3.3.2: 2781 | resolution: 2782 | { 2783 | integrity: sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==, 2784 | } 2785 | engines: { node: ">=4.0" } 2786 | dependencies: 2787 | array-includes: 3.1.5 2788 | object.assign: 4.1.2 2789 | dev: true 2790 | 2791 | /kill-port/2.0.1: 2792 | resolution: 2793 | { 2794 | integrity: sha512-e0SVOV5jFo0mx8r7bS29maVWp17qGqLBZ5ricNSajON6//kmb7qqqNnml4twNE8Dtj97UQD+gNFOaipS/q1zzQ==, 2795 | } 2796 | hasBin: true 2797 | dependencies: 2798 | get-them-args: 1.3.2 2799 | shell-exec: 1.0.2 2800 | dev: true 2801 | 2802 | /levn/0.4.1: 2803 | resolution: 2804 | { 2805 | integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, 2806 | } 2807 | engines: { node: ">= 0.8.0" } 2808 | dependencies: 2809 | prelude-ls: 1.2.1 2810 | type-check: 0.4.0 2811 | dev: true 2812 | 2813 | /lilconfig/2.0.5: 2814 | resolution: 2815 | { 2816 | integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==, 2817 | } 2818 | engines: { node: ">=10" } 2819 | dev: true 2820 | 2821 | /lines-and-columns/1.2.4: 2822 | resolution: 2823 | { 2824 | integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, 2825 | } 2826 | dev: true 2827 | 2828 | /linguist-languages/7.21.0: 2829 | resolution: 2830 | { 2831 | integrity: sha512-KrWJJbFOvlDhjlt5OhUipVlXg+plUfRurICAyij1ZVxQcqPt/zeReb9KiUVdGUwwhS/2KS9h3TbyfYLA5MDlxQ==, 2832 | } 2833 | dev: false 2834 | 2835 | /lint-staged/13.0.3: 2836 | resolution: 2837 | { 2838 | integrity: sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==, 2839 | } 2840 | engines: { node: ^14.13.1 || >=16.0.0 } 2841 | hasBin: true 2842 | dependencies: 2843 | cli-truncate: 3.1.0 2844 | colorette: 2.0.19 2845 | commander: 9.3.0 2846 | debug: 4.3.4 2847 | execa: 6.1.0 2848 | lilconfig: 2.0.5 2849 | listr2: 4.0.5 2850 | micromatch: 4.0.5 2851 | normalize-path: 3.0.0 2852 | object-inspect: 1.12.2 2853 | pidtree: 0.6.0 2854 | string-argv: 0.3.1 2855 | yaml: 2.1.1 2856 | transitivePeerDependencies: 2857 | - enquirer 2858 | - supports-color 2859 | dev: true 2860 | 2861 | /listr2/4.0.5: 2862 | resolution: 2863 | { 2864 | integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==, 2865 | } 2866 | engines: { node: ">=12" } 2867 | peerDependencies: 2868 | enquirer: ">= 2.3.0 < 3" 2869 | peerDependenciesMeta: 2870 | enquirer: 2871 | optional: true 2872 | dependencies: 2873 | cli-truncate: 2.1.0 2874 | colorette: 2.0.19 2875 | log-update: 4.0.0 2876 | p-map: 4.0.0 2877 | rfdc: 1.3.0 2878 | rxjs: 7.5.5 2879 | through: 2.3.8 2880 | wrap-ansi: 7.0.0 2881 | dev: true 2882 | 2883 | /load-tsconfig/0.2.3: 2884 | resolution: 2885 | { 2886 | integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==, 2887 | } 2888 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2889 | dev: true 2890 | 2891 | /local-pkg/0.4.1: 2892 | resolution: 2893 | { 2894 | integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==, 2895 | } 2896 | engines: { node: ">=14" } 2897 | dev: true 2898 | 2899 | /locate-path/2.0.0: 2900 | resolution: 2901 | { 2902 | integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==, 2903 | } 2904 | engines: { node: ">=4" } 2905 | dependencies: 2906 | p-locate: 2.0.0 2907 | path-exists: 3.0.0 2908 | dev: true 2909 | 2910 | /lodash.merge/4.6.2: 2911 | resolution: 2912 | { 2913 | integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, 2914 | } 2915 | dev: true 2916 | 2917 | /lodash.sortby/4.7.0: 2918 | resolution: 2919 | { 2920 | integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, 2921 | } 2922 | dev: true 2923 | 2924 | /lodash/4.17.21: 2925 | resolution: 2926 | { 2927 | integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, 2928 | } 2929 | dev: true 2930 | 2931 | /log-update/4.0.0: 2932 | resolution: 2933 | { 2934 | integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==, 2935 | } 2936 | engines: { node: ">=10" } 2937 | dependencies: 2938 | ansi-escapes: 4.3.2 2939 | cli-cursor: 3.1.0 2940 | slice-ansi: 4.0.0 2941 | wrap-ansi: 6.2.0 2942 | dev: true 2943 | 2944 | /loose-envify/1.4.0: 2945 | resolution: 2946 | { 2947 | integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, 2948 | } 2949 | hasBin: true 2950 | dependencies: 2951 | js-tokens: 4.0.0 2952 | dev: true 2953 | 2954 | /loupe/2.3.4: 2955 | resolution: 2956 | { 2957 | integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==, 2958 | } 2959 | dependencies: 2960 | get-func-name: 2.0.0 2961 | dev: true 2962 | 2963 | /lru-cache/6.0.0: 2964 | resolution: 2965 | { 2966 | integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, 2967 | } 2968 | engines: { node: ">=10" } 2969 | dependencies: 2970 | yallist: 4.0.0 2971 | dev: true 2972 | 2973 | /map-age-cleaner/0.1.3: 2974 | resolution: 2975 | { 2976 | integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==, 2977 | } 2978 | engines: { node: ">=6" } 2979 | dependencies: 2980 | p-defer: 1.0.0 2981 | dev: false 2982 | 2983 | /mem/8.1.1: 2984 | resolution: 2985 | { 2986 | integrity: sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==, 2987 | } 2988 | engines: { node: ">=10" } 2989 | dependencies: 2990 | map-age-cleaner: 0.1.3 2991 | mimic-fn: 3.1.0 2992 | dev: false 2993 | 2994 | /merge-stream/2.0.0: 2995 | resolution: 2996 | { 2997 | integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, 2998 | } 2999 | dev: true 3000 | 3001 | /merge2/1.4.1: 3002 | resolution: 3003 | { 3004 | integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, 3005 | } 3006 | engines: { node: ">= 8" } 3007 | dev: true 3008 | 3009 | /micromatch/4.0.5: 3010 | resolution: 3011 | { 3012 | integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, 3013 | } 3014 | engines: { node: ">=8.6" } 3015 | dependencies: 3016 | braces: 3.0.2 3017 | picomatch: 2.3.1 3018 | dev: true 3019 | 3020 | /mimic-fn/2.1.0: 3021 | resolution: 3022 | { 3023 | integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, 3024 | } 3025 | engines: { node: ">=6" } 3026 | dev: true 3027 | 3028 | /mimic-fn/3.1.0: 3029 | resolution: 3030 | { 3031 | integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==, 3032 | } 3033 | engines: { node: ">=8" } 3034 | dev: false 3035 | 3036 | /mimic-fn/4.0.0: 3037 | resolution: 3038 | { 3039 | integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, 3040 | } 3041 | engines: { node: ">=12" } 3042 | dev: true 3043 | 3044 | /minimatch/3.1.2: 3045 | resolution: 3046 | { 3047 | integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, 3048 | } 3049 | dependencies: 3050 | brace-expansion: 1.1.11 3051 | dev: true 3052 | 3053 | /minimatch/5.1.0: 3054 | resolution: 3055 | { 3056 | integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==, 3057 | } 3058 | engines: { node: ">=10" } 3059 | dependencies: 3060 | brace-expansion: 2.0.1 3061 | dev: true 3062 | 3063 | /minimist/1.2.6: 3064 | resolution: 3065 | { 3066 | integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==, 3067 | } 3068 | dev: true 3069 | 3070 | /mri/1.2.0: 3071 | resolution: 3072 | { 3073 | integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, 3074 | } 3075 | engines: { node: ">=4" } 3076 | dev: true 3077 | 3078 | /ms/2.0.0: 3079 | resolution: 3080 | { 3081 | integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, 3082 | } 3083 | dev: true 3084 | 3085 | /ms/2.1.2: 3086 | resolution: 3087 | { 3088 | integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, 3089 | } 3090 | 3091 | /ms/2.1.3: 3092 | resolution: 3093 | { 3094 | integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, 3095 | } 3096 | dev: true 3097 | 3098 | /mz/2.7.0: 3099 | resolution: 3100 | { 3101 | integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, 3102 | } 3103 | dependencies: 3104 | any-promise: 1.3.0 3105 | object-assign: 4.1.1 3106 | thenify-all: 1.6.0 3107 | dev: true 3108 | 3109 | /nanoid/3.3.4: 3110 | resolution: 3111 | { 3112 | integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, 3113 | } 3114 | engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } 3115 | hasBin: true 3116 | dev: true 3117 | 3118 | /natural-compare/1.4.0: 3119 | resolution: 3120 | { 3121 | integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, 3122 | } 3123 | dev: true 3124 | 3125 | /node-releases/2.0.6: 3126 | resolution: 3127 | { 3128 | integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==, 3129 | } 3130 | dev: false 3131 | 3132 | /normalize-path/3.0.0: 3133 | resolution: 3134 | { 3135 | integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, 3136 | } 3137 | engines: { node: ">=0.10.0" } 3138 | dev: true 3139 | 3140 | /npm-bundled/1.1.2: 3141 | resolution: 3142 | { 3143 | integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==, 3144 | } 3145 | dependencies: 3146 | npm-normalize-package-bin: 1.0.1 3147 | dev: true 3148 | 3149 | /npm-normalize-package-bin/1.0.1: 3150 | resolution: 3151 | { 3152 | integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==, 3153 | } 3154 | dev: true 3155 | 3156 | /npm-packlist/5.1.1: 3157 | resolution: 3158 | { 3159 | integrity: sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==, 3160 | } 3161 | engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } 3162 | hasBin: true 3163 | dependencies: 3164 | glob: 8.0.3 3165 | ignore-walk: 5.0.1 3166 | npm-bundled: 1.1.2 3167 | npm-normalize-package-bin: 1.0.1 3168 | dev: true 3169 | 3170 | /npm-run-path/4.0.1: 3171 | resolution: 3172 | { 3173 | integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, 3174 | } 3175 | engines: { node: ">=8" } 3176 | dependencies: 3177 | path-key: 3.1.1 3178 | dev: true 3179 | 3180 | /npm-run-path/5.1.0: 3181 | resolution: 3182 | { 3183 | integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==, 3184 | } 3185 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 3186 | dependencies: 3187 | path-key: 4.0.0 3188 | dev: true 3189 | 3190 | /object-assign/4.1.1: 3191 | resolution: 3192 | { 3193 | integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, 3194 | } 3195 | engines: { node: ">=0.10.0" } 3196 | dev: true 3197 | 3198 | /object-inspect/1.12.2: 3199 | resolution: 3200 | { 3201 | integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==, 3202 | } 3203 | dev: true 3204 | 3205 | /object-keys/1.1.1: 3206 | resolution: 3207 | { 3208 | integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, 3209 | } 3210 | engines: { node: ">= 0.4" } 3211 | dev: true 3212 | 3213 | /object.assign/4.1.2: 3214 | resolution: 3215 | { 3216 | integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==, 3217 | } 3218 | engines: { node: ">= 0.4" } 3219 | dependencies: 3220 | call-bind: 1.0.2 3221 | define-properties: 1.1.4 3222 | has-symbols: 1.0.3 3223 | object-keys: 1.1.1 3224 | dev: true 3225 | 3226 | /object.entries/1.1.5: 3227 | resolution: 3228 | { 3229 | integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==, 3230 | } 3231 | engines: { node: ">= 0.4" } 3232 | dependencies: 3233 | call-bind: 1.0.2 3234 | define-properties: 1.1.4 3235 | es-abstract: 1.20.1 3236 | dev: true 3237 | 3238 | /object.fromentries/2.0.5: 3239 | resolution: 3240 | { 3241 | integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==, 3242 | } 3243 | engines: { node: ">= 0.4" } 3244 | dependencies: 3245 | call-bind: 1.0.2 3246 | define-properties: 1.1.4 3247 | es-abstract: 1.20.1 3248 | dev: true 3249 | 3250 | /object.hasown/1.1.1: 3251 | resolution: 3252 | { 3253 | integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==, 3254 | } 3255 | dependencies: 3256 | define-properties: 1.1.4 3257 | es-abstract: 1.20.1 3258 | dev: true 3259 | 3260 | /object.values/1.1.5: 3261 | resolution: 3262 | { 3263 | integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==, 3264 | } 3265 | engines: { node: ">= 0.4" } 3266 | dependencies: 3267 | call-bind: 1.0.2 3268 | define-properties: 1.1.4 3269 | es-abstract: 1.20.1 3270 | dev: true 3271 | 3272 | /once/1.4.0: 3273 | resolution: 3274 | { 3275 | integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, 3276 | } 3277 | dependencies: 3278 | wrappy: 1.0.2 3279 | dev: true 3280 | 3281 | /onetime/5.1.2: 3282 | resolution: 3283 | { 3284 | integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, 3285 | } 3286 | engines: { node: ">=6" } 3287 | dependencies: 3288 | mimic-fn: 2.1.0 3289 | dev: true 3290 | 3291 | /onetime/6.0.0: 3292 | resolution: 3293 | { 3294 | integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, 3295 | } 3296 | engines: { node: ">=12" } 3297 | dependencies: 3298 | mimic-fn: 4.0.0 3299 | dev: true 3300 | 3301 | /optionator/0.9.1: 3302 | resolution: 3303 | { 3304 | integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==, 3305 | } 3306 | engines: { node: ">= 0.8.0" } 3307 | dependencies: 3308 | deep-is: 0.1.4 3309 | fast-levenshtein: 2.0.6 3310 | levn: 0.4.1 3311 | prelude-ls: 1.2.1 3312 | type-check: 0.4.0 3313 | word-wrap: 1.2.3 3314 | dev: true 3315 | 3316 | /p-defer/1.0.0: 3317 | resolution: 3318 | { 3319 | integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==, 3320 | } 3321 | engines: { node: ">=4" } 3322 | dev: false 3323 | 3324 | /p-limit/1.3.0: 3325 | resolution: 3326 | { 3327 | integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==, 3328 | } 3329 | engines: { node: ">=4" } 3330 | dependencies: 3331 | p-try: 1.0.0 3332 | dev: true 3333 | 3334 | /p-locate/2.0.0: 3335 | resolution: 3336 | { 3337 | integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==, 3338 | } 3339 | engines: { node: ">=4" } 3340 | dependencies: 3341 | p-limit: 1.3.0 3342 | dev: true 3343 | 3344 | /p-map/4.0.0: 3345 | resolution: 3346 | { 3347 | integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, 3348 | } 3349 | engines: { node: ">=10" } 3350 | dependencies: 3351 | aggregate-error: 3.1.0 3352 | dev: true 3353 | 3354 | /p-try/1.0.0: 3355 | resolution: 3356 | { 3357 | integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==, 3358 | } 3359 | engines: { node: ">=4" } 3360 | dev: true 3361 | 3362 | /parent-module/1.0.1: 3363 | resolution: 3364 | { 3365 | integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, 3366 | } 3367 | engines: { node: ">=6" } 3368 | dependencies: 3369 | callsites: 3.1.0 3370 | dev: true 3371 | 3372 | /path-exists/3.0.0: 3373 | resolution: 3374 | { 3375 | integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, 3376 | } 3377 | engines: { node: ">=4" } 3378 | dev: true 3379 | 3380 | /path-is-absolute/1.0.1: 3381 | resolution: 3382 | { 3383 | integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, 3384 | } 3385 | engines: { node: ">=0.10.0" } 3386 | dev: true 3387 | 3388 | /path-key/3.1.1: 3389 | resolution: 3390 | { 3391 | integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, 3392 | } 3393 | engines: { node: ">=8" } 3394 | dev: true 3395 | 3396 | /path-key/4.0.0: 3397 | resolution: 3398 | { 3399 | integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, 3400 | } 3401 | engines: { node: ">=12" } 3402 | dev: true 3403 | 3404 | /path-parse/1.0.7: 3405 | resolution: 3406 | { 3407 | integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, 3408 | } 3409 | dev: true 3410 | 3411 | /path-type/4.0.0: 3412 | resolution: 3413 | { 3414 | integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, 3415 | } 3416 | engines: { node: ">=8" } 3417 | dev: true 3418 | 3419 | /pathval/1.1.1: 3420 | resolution: 3421 | { 3422 | integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, 3423 | } 3424 | dev: true 3425 | 3426 | /php-parser/3.1.0-beta.11: 3427 | resolution: 3428 | { 3429 | integrity: sha512-aKhWHXun6FKa0MX+GcJtEoLPSWuGQTiEkNgckVjT95OAnKG33c+zsDQEpXx4R74PQ030YZLNq9XV7odKapbOsg==, 3430 | } 3431 | dev: false 3432 | 3433 | /picocolors/1.0.0: 3434 | resolution: 3435 | { 3436 | integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, 3437 | } 3438 | 3439 | /picomatch/2.3.1: 3440 | resolution: 3441 | { 3442 | integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, 3443 | } 3444 | engines: { node: ">=8.6" } 3445 | dev: true 3446 | 3447 | /pidtree/0.6.0: 3448 | resolution: 3449 | { 3450 | integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, 3451 | } 3452 | engines: { node: ">=0.10" } 3453 | hasBin: true 3454 | dev: true 3455 | 3456 | /pirates/4.0.5: 3457 | resolution: 3458 | { 3459 | integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==, 3460 | } 3461 | engines: { node: ">= 6" } 3462 | dev: true 3463 | 3464 | /postcss-load-config/3.1.4: 3465 | resolution: 3466 | { 3467 | integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==, 3468 | } 3469 | engines: { node: ">= 10" } 3470 | peerDependencies: 3471 | postcss: ">=8.0.9" 3472 | ts-node: ">=9.0.0" 3473 | peerDependenciesMeta: 3474 | postcss: 3475 | optional: true 3476 | ts-node: 3477 | optional: true 3478 | dependencies: 3479 | lilconfig: 2.0.5 3480 | yaml: 1.10.2 3481 | dev: true 3482 | 3483 | /postcss/8.4.14: 3484 | resolution: 3485 | { 3486 | integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==, 3487 | } 3488 | engines: { node: ^10 || ^12 || >=14 } 3489 | dependencies: 3490 | nanoid: 3.3.4 3491 | picocolors: 1.0.0 3492 | source-map-js: 1.0.2 3493 | dev: true 3494 | 3495 | /prelude-ls/1.2.1: 3496 | resolution: 3497 | { 3498 | integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, 3499 | } 3500 | engines: { node: ">= 0.8.0" } 3501 | dev: true 3502 | 3503 | /prettier/2.7.1: 3504 | resolution: 3505 | { 3506 | integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==, 3507 | } 3508 | engines: { node: ">=10.13.0" } 3509 | hasBin: true 3510 | 3511 | /prop-types/15.8.1: 3512 | resolution: 3513 | { 3514 | integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, 3515 | } 3516 | dependencies: 3517 | loose-envify: 1.4.0 3518 | object-assign: 4.1.1 3519 | react-is: 16.13.1 3520 | dev: true 3521 | 3522 | /publint/0.1.1: 3523 | resolution: 3524 | { 3525 | integrity: sha512-XMmyWCXlsF+NpW71aFAnrc1cIo0s+qZ5B9xzTNJLgMXjJtt1V1m9V1PsOPhLoDFpnFEMfKKlmt0HgfsMdKcpIA==, 3526 | } 3527 | engines: { node: ">=16" } 3528 | hasBin: true 3529 | dependencies: 3530 | npm-packlist: 5.1.1 3531 | picocolors: 1.0.0 3532 | sade: 1.8.1 3533 | dev: true 3534 | 3535 | /punycode/2.1.1: 3536 | resolution: 3537 | { 3538 | integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==, 3539 | } 3540 | engines: { node: ">=6" } 3541 | dev: true 3542 | 3543 | /queue-microtask/1.2.3: 3544 | resolution: 3545 | { 3546 | integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, 3547 | } 3548 | dev: true 3549 | 3550 | /react-is/16.13.1: 3551 | resolution: 3552 | { 3553 | integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, 3554 | } 3555 | dev: true 3556 | 3557 | /readdirp/3.6.0: 3558 | resolution: 3559 | { 3560 | integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, 3561 | } 3562 | engines: { node: ">=8.10.0" } 3563 | dependencies: 3564 | picomatch: 2.3.1 3565 | dev: true 3566 | 3567 | /regexp.prototype.flags/1.4.3: 3568 | resolution: 3569 | { 3570 | integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==, 3571 | } 3572 | engines: { node: ">= 0.4" } 3573 | dependencies: 3574 | call-bind: 1.0.2 3575 | define-properties: 1.1.4 3576 | functions-have-names: 1.2.3 3577 | dev: true 3578 | 3579 | /regexpp/3.2.0: 3580 | resolution: 3581 | { 3582 | integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==, 3583 | } 3584 | engines: { node: ">=8" } 3585 | dev: true 3586 | 3587 | /resolve-from/4.0.0: 3588 | resolution: 3589 | { 3590 | integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, 3591 | } 3592 | engines: { node: ">=4" } 3593 | dev: true 3594 | 3595 | /resolve-from/5.0.0: 3596 | resolution: 3597 | { 3598 | integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, 3599 | } 3600 | engines: { node: ">=8" } 3601 | dev: true 3602 | 3603 | /resolve/1.22.1: 3604 | resolution: 3605 | { 3606 | integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, 3607 | } 3608 | hasBin: true 3609 | dependencies: 3610 | is-core-module: 2.9.0 3611 | path-parse: 1.0.7 3612 | supports-preserve-symlinks-flag: 1.0.0 3613 | dev: true 3614 | 3615 | /resolve/2.0.0-next.4: 3616 | resolution: 3617 | { 3618 | integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==, 3619 | } 3620 | hasBin: true 3621 | dependencies: 3622 | is-core-module: 2.9.0 3623 | path-parse: 1.0.7 3624 | supports-preserve-symlinks-flag: 1.0.0 3625 | dev: true 3626 | 3627 | /restore-cursor/3.1.0: 3628 | resolution: 3629 | { 3630 | integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, 3631 | } 3632 | engines: { node: ">=8" } 3633 | dependencies: 3634 | onetime: 5.1.2 3635 | signal-exit: 3.0.7 3636 | dev: true 3637 | 3638 | /reusify/1.0.4: 3639 | resolution: 3640 | { 3641 | integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, 3642 | } 3643 | engines: { iojs: ">=1.0.0", node: ">=0.10.0" } 3644 | dev: true 3645 | 3646 | /rfdc/1.3.0: 3647 | resolution: 3648 | { 3649 | integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, 3650 | } 3651 | dev: true 3652 | 3653 | /rimraf/3.0.2: 3654 | resolution: 3655 | { 3656 | integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, 3657 | } 3658 | hasBin: true 3659 | dependencies: 3660 | glob: 7.2.3 3661 | dev: true 3662 | 3663 | /rollup/2.76.0: 3664 | resolution: 3665 | { 3666 | integrity: sha512-9jwRIEY1jOzKLj3nsY/yot41r19ITdQrhs+q3ggNWhr9TQgduHqANvPpS32RNpzGklJu3G1AJfvlZLi/6wFgWA==, 3667 | } 3668 | engines: { node: ">=10.0.0" } 3669 | hasBin: true 3670 | optionalDependencies: 3671 | fsevents: 2.3.2 3672 | dev: true 3673 | 3674 | /run-parallel/1.2.0: 3675 | resolution: 3676 | { 3677 | integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, 3678 | } 3679 | dependencies: 3680 | queue-microtask: 1.2.3 3681 | dev: true 3682 | 3683 | /rxjs/7.5.5: 3684 | resolution: 3685 | { 3686 | integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==, 3687 | } 3688 | dependencies: 3689 | tslib: 2.4.0 3690 | dev: true 3691 | 3692 | /sade/1.8.1: 3693 | resolution: 3694 | { 3695 | integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==, 3696 | } 3697 | engines: { node: ">=6" } 3698 | dependencies: 3699 | mri: 1.2.0 3700 | dev: true 3701 | 3702 | /safe-buffer/5.1.2: 3703 | resolution: 3704 | { 3705 | integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, 3706 | } 3707 | dev: false 3708 | 3709 | /semver/6.3.0: 3710 | resolution: 3711 | { 3712 | integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, 3713 | } 3714 | hasBin: true 3715 | 3716 | /semver/7.3.7: 3717 | resolution: 3718 | { 3719 | integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==, 3720 | } 3721 | engines: { node: ">=10" } 3722 | hasBin: true 3723 | dependencies: 3724 | lru-cache: 6.0.0 3725 | dev: true 3726 | 3727 | /shebang-command/2.0.0: 3728 | resolution: 3729 | { 3730 | integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, 3731 | } 3732 | engines: { node: ">=8" } 3733 | dependencies: 3734 | shebang-regex: 3.0.0 3735 | dev: true 3736 | 3737 | /shebang-regex/3.0.0: 3738 | resolution: 3739 | { 3740 | integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, 3741 | } 3742 | engines: { node: ">=8" } 3743 | dev: true 3744 | 3745 | /shell-exec/1.0.2: 3746 | resolution: 3747 | { 3748 | integrity: sha512-jyVd+kU2X+mWKMmGhx4fpWbPsjvD53k9ivqetutVW/BQ+WIZoDoP4d8vUMGezV6saZsiNoW2f9GIhg9Dondohg==, 3749 | } 3750 | dev: true 3751 | 3752 | /side-channel/1.0.4: 3753 | resolution: 3754 | { 3755 | integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, 3756 | } 3757 | dependencies: 3758 | call-bind: 1.0.2 3759 | get-intrinsic: 1.1.2 3760 | object-inspect: 1.12.2 3761 | dev: true 3762 | 3763 | /signal-exit/3.0.7: 3764 | resolution: 3765 | { 3766 | integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, 3767 | } 3768 | dev: true 3769 | 3770 | /slash/3.0.0: 3771 | resolution: 3772 | { 3773 | integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, 3774 | } 3775 | engines: { node: ">=8" } 3776 | dev: true 3777 | 3778 | /slice-ansi/3.0.0: 3779 | resolution: 3780 | { 3781 | integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, 3782 | } 3783 | engines: { node: ">=8" } 3784 | dependencies: 3785 | ansi-styles: 4.3.0 3786 | astral-regex: 2.0.0 3787 | is-fullwidth-code-point: 3.0.0 3788 | dev: true 3789 | 3790 | /slice-ansi/4.0.0: 3791 | resolution: 3792 | { 3793 | integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, 3794 | } 3795 | engines: { node: ">=10" } 3796 | dependencies: 3797 | ansi-styles: 4.3.0 3798 | astral-regex: 2.0.0 3799 | is-fullwidth-code-point: 3.0.0 3800 | dev: true 3801 | 3802 | /slice-ansi/5.0.0: 3803 | resolution: 3804 | { 3805 | integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, 3806 | } 3807 | engines: { node: ">=12" } 3808 | dependencies: 3809 | ansi-styles: 6.1.0 3810 | is-fullwidth-code-point: 4.0.0 3811 | dev: true 3812 | 3813 | /source-map-js/1.0.2: 3814 | resolution: 3815 | { 3816 | integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, 3817 | } 3818 | engines: { node: ">=0.10.0" } 3819 | dev: true 3820 | 3821 | /source-map/0.8.0-beta.0: 3822 | resolution: 3823 | { 3824 | integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, 3825 | } 3826 | engines: { node: ">= 8" } 3827 | dependencies: 3828 | whatwg-url: 7.1.0 3829 | dev: true 3830 | 3831 | /string-argv/0.3.1: 3832 | resolution: 3833 | { 3834 | integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==, 3835 | } 3836 | engines: { node: ">=0.6.19" } 3837 | dev: true 3838 | 3839 | /string-width/4.2.3: 3840 | resolution: 3841 | { 3842 | integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, 3843 | } 3844 | engines: { node: ">=8" } 3845 | dependencies: 3846 | emoji-regex: 8.0.0 3847 | is-fullwidth-code-point: 3.0.0 3848 | strip-ansi: 6.0.1 3849 | dev: true 3850 | 3851 | /string-width/5.1.2: 3852 | resolution: 3853 | { 3854 | integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, 3855 | } 3856 | engines: { node: ">=12" } 3857 | dependencies: 3858 | eastasianwidth: 0.2.0 3859 | emoji-regex: 9.2.2 3860 | strip-ansi: 7.0.1 3861 | dev: true 3862 | 3863 | /string.prototype.matchall/4.0.7: 3864 | resolution: 3865 | { 3866 | integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==, 3867 | } 3868 | dependencies: 3869 | call-bind: 1.0.2 3870 | define-properties: 1.1.4 3871 | es-abstract: 1.20.1 3872 | get-intrinsic: 1.1.2 3873 | has-symbols: 1.0.3 3874 | internal-slot: 1.0.3 3875 | regexp.prototype.flags: 1.4.3 3876 | side-channel: 1.0.4 3877 | dev: true 3878 | 3879 | /string.prototype.trimend/1.0.5: 3880 | resolution: 3881 | { 3882 | integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==, 3883 | } 3884 | dependencies: 3885 | call-bind: 1.0.2 3886 | define-properties: 1.1.4 3887 | es-abstract: 1.20.1 3888 | dev: true 3889 | 3890 | /string.prototype.trimstart/1.0.5: 3891 | resolution: 3892 | { 3893 | integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==, 3894 | } 3895 | dependencies: 3896 | call-bind: 1.0.2 3897 | define-properties: 1.1.4 3898 | es-abstract: 1.20.1 3899 | dev: true 3900 | 3901 | /strip-ansi/6.0.1: 3902 | resolution: 3903 | { 3904 | integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, 3905 | } 3906 | engines: { node: ">=8" } 3907 | dependencies: 3908 | ansi-regex: 5.0.1 3909 | dev: true 3910 | 3911 | /strip-ansi/7.0.1: 3912 | resolution: 3913 | { 3914 | integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==, 3915 | } 3916 | engines: { node: ">=12" } 3917 | dependencies: 3918 | ansi-regex: 6.0.1 3919 | dev: true 3920 | 3921 | /strip-bom/3.0.0: 3922 | resolution: 3923 | { 3924 | integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, 3925 | } 3926 | engines: { node: ">=4" } 3927 | dev: true 3928 | 3929 | /strip-final-newline/2.0.0: 3930 | resolution: 3931 | { 3932 | integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, 3933 | } 3934 | engines: { node: ">=6" } 3935 | dev: true 3936 | 3937 | /strip-final-newline/3.0.0: 3938 | resolution: 3939 | { 3940 | integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, 3941 | } 3942 | engines: { node: ">=12" } 3943 | dev: true 3944 | 3945 | /strip-json-comments/3.1.1: 3946 | resolution: 3947 | { 3948 | integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, 3949 | } 3950 | engines: { node: ">=8" } 3951 | dev: true 3952 | 3953 | /sucrase/3.23.0: 3954 | resolution: 3955 | { 3956 | integrity: sha512-xgC1xboStzGhCnRywlBf/DLmkC+SkdAKqrNCDsxGrzM0phR5oUxoFKiQNrsc2D8wDdAm03iLbSZqjHDddo3IzQ==, 3957 | } 3958 | engines: { node: ">=8" } 3959 | hasBin: true 3960 | dependencies: 3961 | commander: 4.1.1 3962 | glob: 7.1.6 3963 | lines-and-columns: 1.2.4 3964 | mz: 2.7.0 3965 | pirates: 4.0.5 3966 | ts-interface-checker: 0.1.13 3967 | dev: true 3968 | 3969 | /supports-color/5.5.0: 3970 | resolution: 3971 | { 3972 | integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, 3973 | } 3974 | engines: { node: ">=4" } 3975 | dependencies: 3976 | has-flag: 3.0.0 3977 | dev: false 3978 | 3979 | /supports-color/7.2.0: 3980 | resolution: 3981 | { 3982 | integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, 3983 | } 3984 | engines: { node: ">=8" } 3985 | dependencies: 3986 | has-flag: 4.0.0 3987 | dev: true 3988 | 3989 | /supports-preserve-symlinks-flag/1.0.0: 3990 | resolution: 3991 | { 3992 | integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, 3993 | } 3994 | engines: { node: ">= 0.4" } 3995 | dev: true 3996 | 3997 | /text-table/0.2.0: 3998 | resolution: 3999 | { 4000 | integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, 4001 | } 4002 | dev: true 4003 | 4004 | /thenify-all/1.6.0: 4005 | resolution: 4006 | { 4007 | integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, 4008 | } 4009 | engines: { node: ">=0.8" } 4010 | dependencies: 4011 | thenify: 3.3.1 4012 | dev: true 4013 | 4014 | /thenify/3.3.1: 4015 | resolution: 4016 | { 4017 | integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, 4018 | } 4019 | dependencies: 4020 | any-promise: 1.3.0 4021 | dev: true 4022 | 4023 | /through/2.3.8: 4024 | resolution: 4025 | { 4026 | integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, 4027 | } 4028 | dev: true 4029 | 4030 | /tinypool/0.2.2: 4031 | resolution: 4032 | { 4033 | integrity: sha512-tp4n5OARNL3v8ntdJUyo5NsDfwvUtu8isB43USjrsQxQrADDKY6UGBkmFaw/2vNmEt8S/uSm2U5FhkiK1eAFGw==, 4034 | } 4035 | engines: { node: ">=14.0.0" } 4036 | dev: true 4037 | 4038 | /tinyspy/0.3.3: 4039 | resolution: 4040 | { 4041 | integrity: sha512-gRiUR8fuhUf0W9lzojPf1N1euJYA30ISebSfgca8z76FOvXtVXqd5ojEIaKLWbDQhAaC3ibxZIjqbyi4ybjcTw==, 4042 | } 4043 | engines: { node: ">=14.0.0" } 4044 | dev: true 4045 | 4046 | /to-fast-properties/2.0.0: 4047 | resolution: 4048 | { 4049 | integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, 4050 | } 4051 | engines: { node: ">=4" } 4052 | 4053 | /to-regex-range/5.0.1: 4054 | resolution: 4055 | { 4056 | integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, 4057 | } 4058 | engines: { node: ">=8.0" } 4059 | dependencies: 4060 | is-number: 7.0.0 4061 | dev: true 4062 | 4063 | /tr46/1.0.1: 4064 | resolution: 4065 | { 4066 | integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, 4067 | } 4068 | dependencies: 4069 | punycode: 2.1.1 4070 | dev: true 4071 | 4072 | /tree-kill/1.2.2: 4073 | resolution: 4074 | { 4075 | integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==, 4076 | } 4077 | hasBin: true 4078 | dev: true 4079 | 4080 | /ts-interface-checker/0.1.13: 4081 | resolution: 4082 | { 4083 | integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, 4084 | } 4085 | dev: true 4086 | 4087 | /tsconfig-paths/3.14.1: 4088 | resolution: 4089 | { 4090 | integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==, 4091 | } 4092 | dependencies: 4093 | "@types/json5": 0.0.29 4094 | json5: 1.0.1 4095 | minimist: 1.2.6 4096 | strip-bom: 3.0.0 4097 | dev: true 4098 | 4099 | /tslib/1.14.1: 4100 | resolution: 4101 | { 4102 | integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, 4103 | } 4104 | dev: true 4105 | 4106 | /tslib/2.4.0: 4107 | resolution: 4108 | { 4109 | integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==, 4110 | } 4111 | dev: true 4112 | 4113 | /tsup/6.1.3_typescript@4.7.4: 4114 | resolution: 4115 | { 4116 | integrity: sha512-eRpBnbfpDFng+EJNTQ90N7QAf4HAGGC7O3buHIjroKWK7D1ibk9/YnR/3cS8HsMU5T+6Oi+cnF+yU5WmCnB//Q==, 4117 | } 4118 | engines: { node: ">=14" } 4119 | hasBin: true 4120 | peerDependencies: 4121 | "@swc/core": ^1 4122 | postcss: ^8.4.12 4123 | typescript: ^4.1.0 4124 | peerDependenciesMeta: 4125 | "@swc/core": 4126 | optional: true 4127 | postcss: 4128 | optional: true 4129 | typescript: 4130 | optional: true 4131 | dependencies: 4132 | bundle-require: 3.0.4_esbuild@0.14.48 4133 | cac: 6.7.12 4134 | chokidar: 3.5.3 4135 | debug: 4.3.4 4136 | esbuild: 0.14.48 4137 | execa: 5.1.1 4138 | globby: 11.1.0 4139 | joycon: 3.1.1 4140 | postcss-load-config: 3.1.4 4141 | resolve-from: 5.0.0 4142 | rollup: 2.76.0 4143 | source-map: 0.8.0-beta.0 4144 | sucrase: 3.23.0 4145 | tree-kill: 1.2.2 4146 | typescript: 4.7.4 4147 | transitivePeerDependencies: 4148 | - supports-color 4149 | - ts-node 4150 | dev: true 4151 | 4152 | /tsutils/3.21.0_typescript@4.7.4: 4153 | resolution: 4154 | { 4155 | integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, 4156 | } 4157 | engines: { node: ">= 6" } 4158 | peerDependencies: 4159 | 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" 4160 | dependencies: 4161 | tslib: 1.14.1 4162 | typescript: 4.7.4 4163 | dev: true 4164 | 4165 | /type-check/0.4.0: 4166 | resolution: 4167 | { 4168 | integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, 4169 | } 4170 | engines: { node: ">= 0.8.0" } 4171 | dependencies: 4172 | prelude-ls: 1.2.1 4173 | dev: true 4174 | 4175 | /type-detect/4.0.8: 4176 | resolution: 4177 | { 4178 | integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, 4179 | } 4180 | engines: { node: ">=4" } 4181 | dev: true 4182 | 4183 | /type-fest/0.20.2: 4184 | resolution: 4185 | { 4186 | integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, 4187 | } 4188 | engines: { node: ">=10" } 4189 | dev: true 4190 | 4191 | /type-fest/0.21.3: 4192 | resolution: 4193 | { 4194 | integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, 4195 | } 4196 | engines: { node: ">=10" } 4197 | dev: true 4198 | 4199 | /typescript/4.7.4: 4200 | resolution: 4201 | { 4202 | integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==, 4203 | } 4204 | engines: { node: ">=4.2.0" } 4205 | hasBin: true 4206 | dev: true 4207 | 4208 | /unbox-primitive/1.0.2: 4209 | resolution: 4210 | { 4211 | integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, 4212 | } 4213 | dependencies: 4214 | call-bind: 1.0.2 4215 | has-bigints: 1.0.2 4216 | has-symbols: 1.0.3 4217 | which-boxed-primitive: 1.0.2 4218 | dev: true 4219 | 4220 | /update-browserslist-db/1.0.5_browserslist@4.21.3: 4221 | resolution: 4222 | { 4223 | integrity: sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==, 4224 | } 4225 | hasBin: true 4226 | peerDependencies: 4227 | browserslist: ">= 4.21.0" 4228 | dependencies: 4229 | browserslist: 4.21.3 4230 | escalade: 3.1.1 4231 | picocolors: 1.0.0 4232 | dev: false 4233 | 4234 | /uri-js/4.4.1: 4235 | resolution: 4236 | { 4237 | integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, 4238 | } 4239 | dependencies: 4240 | punycode: 2.1.1 4241 | dev: true 4242 | 4243 | /v8-compile-cache/2.3.0: 4244 | resolution: 4245 | { 4246 | integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==, 4247 | } 4248 | dev: true 4249 | 4250 | /vite/3.0.4: 4251 | resolution: 4252 | { 4253 | integrity: sha512-NU304nqnBeOx2MkQnskBQxVsa0pRAH5FphokTGmyy8M3oxbvw7qAXts2GORxs+h/2vKsD+osMhZ7An6yK6F1dA==, 4254 | } 4255 | engines: { node: ^14.18.0 || >=16.0.0 } 4256 | hasBin: true 4257 | peerDependencies: 4258 | less: "*" 4259 | sass: "*" 4260 | stylus: "*" 4261 | terser: ^5.4.0 4262 | peerDependenciesMeta: 4263 | less: 4264 | optional: true 4265 | sass: 4266 | optional: true 4267 | stylus: 4268 | optional: true 4269 | terser: 4270 | optional: true 4271 | dependencies: 4272 | esbuild: 0.14.48 4273 | postcss: 8.4.14 4274 | resolve: 1.22.1 4275 | rollup: 2.76.0 4276 | optionalDependencies: 4277 | fsevents: 2.3.2 4278 | dev: true 4279 | 4280 | /vitest/0.17.1: 4281 | resolution: 4282 | { 4283 | integrity: sha512-d6NsFC6FPmZ5XdiSYfW5rwJ/b8060wqe2steNNlVbhO69HWma6CucIm5g7PXlCSkmKvrdEbUsZHPAarlH83VGw==, 4284 | } 4285 | engines: { node: ">=v14.16.0" } 4286 | hasBin: true 4287 | peerDependencies: 4288 | "@edge-runtime/vm": "*" 4289 | "@vitest/ui": "*" 4290 | c8: "*" 4291 | happy-dom: "*" 4292 | jsdom: "*" 4293 | peerDependenciesMeta: 4294 | "@edge-runtime/vm": 4295 | optional: true 4296 | "@vitest/ui": 4297 | optional: true 4298 | c8: 4299 | optional: true 4300 | happy-dom: 4301 | optional: true 4302 | jsdom: 4303 | optional: true 4304 | dependencies: 4305 | "@types/chai": 4.3.1 4306 | "@types/chai-subset": 1.3.3 4307 | "@types/node": 18.0.3 4308 | chai: 4.3.6 4309 | debug: 4.3.4 4310 | local-pkg: 0.4.1 4311 | tinypool: 0.2.2 4312 | tinyspy: 0.3.3 4313 | vite: 3.0.4 4314 | transitivePeerDependencies: 4315 | - less 4316 | - sass 4317 | - stylus 4318 | - supports-color 4319 | - terser 4320 | dev: true 4321 | 4322 | /webidl-conversions/4.0.2: 4323 | resolution: 4324 | { 4325 | integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, 4326 | } 4327 | dev: true 4328 | 4329 | /whatwg-url/7.1.0: 4330 | resolution: 4331 | { 4332 | integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, 4333 | } 4334 | dependencies: 4335 | lodash.sortby: 4.7.0 4336 | tr46: 1.0.1 4337 | webidl-conversions: 4.0.2 4338 | dev: true 4339 | 4340 | /which-boxed-primitive/1.0.2: 4341 | resolution: 4342 | { 4343 | integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==, 4344 | } 4345 | dependencies: 4346 | is-bigint: 1.0.4 4347 | is-boolean-object: 1.1.2 4348 | is-number-object: 1.0.7 4349 | is-string: 1.0.7 4350 | is-symbol: 1.0.4 4351 | dev: true 4352 | 4353 | /which/2.0.2: 4354 | resolution: 4355 | { 4356 | integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, 4357 | } 4358 | engines: { node: ">= 8" } 4359 | hasBin: true 4360 | dependencies: 4361 | isexe: 2.0.0 4362 | dev: true 4363 | 4364 | /word-wrap/1.2.3: 4365 | resolution: 4366 | { 4367 | integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==, 4368 | } 4369 | engines: { node: ">=0.10.0" } 4370 | dev: true 4371 | 4372 | /wrap-ansi/6.2.0: 4373 | resolution: 4374 | { 4375 | integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, 4376 | } 4377 | engines: { node: ">=8" } 4378 | dependencies: 4379 | ansi-styles: 4.3.0 4380 | string-width: 4.2.3 4381 | strip-ansi: 6.0.1 4382 | dev: true 4383 | 4384 | /wrap-ansi/7.0.0: 4385 | resolution: 4386 | { 4387 | integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, 4388 | } 4389 | engines: { node: ">=10" } 4390 | dependencies: 4391 | ansi-styles: 4.3.0 4392 | string-width: 4.2.3 4393 | strip-ansi: 6.0.1 4394 | dev: true 4395 | 4396 | /wrappy/1.0.2: 4397 | resolution: 4398 | { 4399 | integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, 4400 | } 4401 | dev: true 4402 | 4403 | /yallist/4.0.0: 4404 | resolution: 4405 | { 4406 | integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, 4407 | } 4408 | dev: true 4409 | 4410 | /yaml/1.10.2: 4411 | resolution: 4412 | { 4413 | integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, 4414 | } 4415 | engines: { node: ">= 6" } 4416 | dev: true 4417 | 4418 | /yaml/2.1.1: 4419 | resolution: 4420 | { 4421 | integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==, 4422 | } 4423 | engines: { node: ">= 14" } 4424 | dev: true 4425 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - "packages/*" 3 | - "examples/*" 4 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | packages/php-tag/readme.md -------------------------------------------------------------------------------- /version: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | PROJECT_NAME=php-tag 3 | 4 | WHITE='\033[1;37m' 5 | GREEN='\033[0;32m' 6 | BLUE='\033[1;34m' 7 | NC='\033[0m' 8 | 9 | echo -e ${WHITE}Updating package versions${NC} 10 | pnpm -r --filter=./packages/* exec -- bash -c "echo -e ${BLUE@Q}\$PNPM_PACKAGE_NAME${NC@Q}@${GREEN@Q}\`npm version --allow-same-version --no-git-tag-version $@\`${NC@Q}" 11 | echo -e ${WHITE}Updating dependency versions in examples${NC} 12 | pnpm -r --filter=./examples/* update --workspace --save-workspace-protocol=false $PROJECT_NAME 13 | --------------------------------------------------------------------------------