From 29df62a136c77aef3511b9d925ad45b7fb851a16 Mon Sep 17 00:00:00 2001 From: Brijesh Bittu Date: Thu, 9 May 2024 17:54:41 +0530 Subject: [PATCH] [enhancement] Cleanup unused deps --- package.json | 26 +- packages/pigment-css-unplugin/package.json | 3 +- pnpm-lock.yaml | 1067 ++++---------------- test/README.md | 269 ----- test/assets/fake.png | 0 test/assets/fake2.png | 0 test/cli.js | 125 --- test/docs-regressions-before.png | Bin 1443 -> 0 bytes test/docs-regressions-diff.png | Bin 2085 -> 0 bytes test/karma.conf.js | 222 ---- test/karma.conf.profile.js | 178 ---- test/karma.tests.js | 9 - test/package.json | 41 - test/regressions/.mocharc.js | 7 - test/regressions/README.md | 56 - test/regressions/TestViewer.js | 65 -- test/regressions/fixtures/.gitkeep | 0 test/regressions/index.js | 232 ----- test/regressions/index.test.js | 111 -- test/regressions/manual/README.md | 4 - test/regressions/serve.json | 4 - test/regressions/template.html | 18 - test/regressions/webpack.config.js | 71 -- test/tsconfig.json | 13 - 24 files changed, 223 insertions(+), 2298 deletions(-) delete mode 100644 test/README.md delete mode 100644 test/assets/fake.png delete mode 100644 test/assets/fake2.png delete mode 100644 test/cli.js delete mode 100644 test/docs-regressions-before.png delete mode 100644 test/docs-regressions-diff.png delete mode 100644 test/karma.conf.js delete mode 100644 test/karma.conf.profile.js delete mode 100644 test/karma.tests.js delete mode 100644 test/package.json delete mode 100644 test/regressions/.mocharc.js delete mode 100644 test/regressions/README.md delete mode 100644 test/regressions/TestViewer.js delete mode 100644 test/regressions/fixtures/.gitkeep delete mode 100644 test/regressions/index.js delete mode 100644 test/regressions/index.test.js delete mode 100644 test/regressions/manual/README.md delete mode 100644 test/regressions/serve.json delete mode 100644 test/regressions/template.html delete mode 100644 test/regressions/webpack.config.js delete mode 100644 test/tsconfig.json diff --git a/package.json b/package.json index c12f7043..e7d4ed17 100644 --- a/package.json +++ b/package.json @@ -32,8 +32,6 @@ "test:coverage": "pnpm build && cross-env NODE_ENV=test BABEL_ENV=coverage nyc --reporter=text mocha 'packages/**/*.test.{js,ts,tsx}' 'docs/**/*.test.{js,ts,tsx}'", "test:coverage:ci": "pnpm build && cross-env NODE_ENV=test BABEL_ENV=coverage nyc --reporter=lcov mocha 'packages/**/*.test.{js,ts,tsx}' 'docs/**/*.test.{js,ts,tsx}'", "test:coverage:html": "pnpm build && cross-env NODE_ENV=test BABEL_ENV=coverage nyc --reporter=html mocha 'packages/**/*.test.{js,ts,tsx}' 'docs/**/*.test.{js,ts,tsx}'", - "test:karma": "pnpm build && cross-env NODE_ENV=test karma start test/karma.conf.js", - "test:karma:profile": "pnpm build && cross-env NODE_ENV=test karma start test/karma.conf.profile.js", "test:regressions": "cross-env NODE_ENV=production pnpm test:regressions:build && concurrently --success first --kill-others \"pnpm test:regressions:run\" \"pnpm test:regressions:server\"", "test:regressions:build": "webpack --config test/regressions/webpack.config.js", "test:regressions:dev": "concurrently \"pnpm test:regressions:build --watch\" \"pnpm test:regressions:server\"", @@ -46,12 +44,7 @@ "validate-declarations": "tsx scripts/validateTypescriptDeclarations.mts" }, "dependencies": { - "@googleapis/sheets": "^5.0.5", - "@slack/bolt": "^3.17.1", - "@pigment-css/react": "workspace:^", - "execa": "^8.0.1", - "google-auth-library": "^9.7.0", - "util": "^0.12.5" + "@pigment-css/react": "workspace:^" }, "devDependencies": { "@argos-ci/core": "^2.0.0", @@ -69,7 +62,6 @@ "@babel/preset-react": "^7.24.1", "@babel/preset-typescript": "^7.24.1", "@babel/register": "^7.23.7", - "@mnajdova/enzyme-adapter-react-18": "^0.2.0", "@mui/internal-docs-utils": "^1.0.4", "@mui/internal-markdown": "^1.0.1", "@mui/internal-scripts": "^1.0.3", @@ -79,7 +71,6 @@ "@next/eslint-plugin-next": "^14.1.4", "@octokit/rest": "^20.1.0", "@playwright/test": "1.43.0", - "@types/enzyme": "^3.10.18", "@types/fs-extra": "^11.0.4", "@types/lodash": "^4.17.0", "@types/mocha": "^10.0.6", @@ -118,41 +109,26 @@ "eslint-plugin-react-hooks": "^4.6.0", "fast-glob": "^3.3.2", "fs-extra": "^11.2.0", - "globby": "^14.0.1", - "karma": "^6.4.3", - "karma-browserstack-launcher": "~1.6.0", - "karma-chrome-launcher": "^3.2.0", - "karma-coverage-istanbul-reporter": "^3.0.3", - "karma-firefox-launcher": "^2.1.3", - "karma-mocha": "^2.0.1", - "karma-sourcemap-loader": "^0.4.0", - "karma-webpack": "5.0.0", "lerna": "^8.1.2", "lodash": "^4.17.21", "markdownlint-cli2": "^0.13.0", "mocha": "^10.4.0", "nx": "^18.2.3", "nyc": "^15.1.0", - "piscina": "^4.4.0", "postcss-styled-syntax": "^0.6.4", "prettier": "^3.2.5", "pretty-quick": "^4.0.0", "process": "^0.11.10", - "raw-loader": "4.0.2", "react-docgen": "^5.4.3", "remark": "^13.0.0", "rimraf": "^5.0.5", "serve": "^14.2.1", "stylelint": "^16.3.1", "stylelint-config-standard": "^36.0.0", - "terser-webpack-plugin": "^5.3.10", "tsup": "^8.0.2", "tsx": "^4.7.2", "typescript": "^5.4.4", "unist-util-visit": "^2.0.3", - "webpack": "^5.91.0", - "webpack-bundle-analyzer": "^4.10.1", - "webpack-cli": "^5.1.4", "yargs": "^17.7.2" }, "packageManager": "pnpm@8.15.6", diff --git a/packages/pigment-css-unplugin/package.json b/packages/pigment-css-unplugin/package.json index 577a22da..dec22cdb 100644 --- a/packages/pigment-css-unplugin/package.json +++ b/packages/pigment-css-unplugin/package.json @@ -41,7 +41,8 @@ "@types/babel__core": "^7.20.5", "@types/chai": "^4.3.14", "@types/mocha": "^10.0.6", - "chai": "^4.4.1" + "chai": "^4.4.1", + "webpack": "^5.91.0" }, "sideEffects": false, "publishConfig": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8acf406e..2b221daf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,24 +30,9 @@ importers: .: dependencies: - '@googleapis/sheets': - specifier: ^5.0.5 - version: 5.0.5 '@pigment-css/react': specifier: workspace:^ version: link:packages/pigment-css-react - '@slack/bolt': - specifier: ^3.17.1 - version: 3.17.1 - execa: - specifier: ^8.0.1 - version: 8.0.1 - google-auth-library: - specifier: ^9.7.0 - version: 9.7.0 - util: - specifier: ^0.12.5 - version: 0.12.5 devDependencies: '@argos-ci/core': specifier: ^2.0.0 @@ -94,9 +79,6 @@ importers: '@babel/register': specifier: ^7.23.7 version: 7.23.7(@babel/core@7.24.4) - '@mnajdova/enzyme-adapter-react-18': - specifier: ^0.2.0 - version: 0.2.0(enzyme@3.11.0)(react-dom@18.2.0)(react@18.2.0) '@mui/internal-docs-utils': specifier: ^1.0.4 version: 1.0.4 @@ -124,9 +106,6 @@ importers: '@playwright/test': specifier: 1.43.0 version: 1.43.0 - '@types/enzyme': - specifier: ^3.10.18 - version: 3.10.18 '@types/fs-extra': specifier: ^11.0.4 version: 11.0.4 @@ -241,33 +220,6 @@ importers: fs-extra: specifier: ^11.2.0 version: 11.2.0 - globby: - specifier: ^14.0.1 - version: 14.0.1 - karma: - specifier: ^6.4.3 - version: 6.4.3 - karma-browserstack-launcher: - specifier: ~1.6.0 - version: 1.6.0(karma@6.4.3) - karma-chrome-launcher: - specifier: ^3.2.0 - version: 3.2.0 - karma-coverage-istanbul-reporter: - specifier: ^3.0.3 - version: 3.0.3 - karma-firefox-launcher: - specifier: ^2.1.3 - version: 2.1.3 - karma-mocha: - specifier: ^2.0.1 - version: 2.0.1 - karma-sourcemap-loader: - specifier: ^0.4.0 - version: 0.4.0 - karma-webpack: - specifier: 5.0.0 - version: 5.0.0(webpack@5.91.0) lerna: specifier: ^8.1.2 version: 8.1.2 @@ -286,9 +238,6 @@ importers: nyc: specifier: ^15.1.0 version: 15.1.0 - piscina: - specifier: ^4.4.0 - version: 4.4.0 postcss-styled-syntax: specifier: ^0.6.4 version: 0.6.4(postcss@8.4.38) @@ -301,9 +250,6 @@ importers: process: specifier: ^0.11.10 version: 0.11.10 - raw-loader: - specifier: 4.0.2 - version: 4.0.2(webpack@5.91.0) react-docgen: specifier: ^5.4.3 version: 5.4.3 @@ -322,9 +268,6 @@ importers: stylelint-config-standard: specifier: ^36.0.0 version: 36.0.0(stylelint@16.3.1) - terser-webpack-plugin: - specifier: ^5.3.10 - version: 5.3.10(esbuild@0.19.12)(webpack@5.91.0) tsup: specifier: ^8.0.2 version: 8.0.2(postcss@8.4.38)(typescript@5.4.4) @@ -337,15 +280,6 @@ importers: unist-util-visit: specifier: ^2.0.3 version: 2.0.3 - webpack: - specifier: ^5.91.0 - version: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) - webpack-bundle-analyzer: - specifier: ^4.10.1 - version: 4.10.1 - webpack-cli: - specifier: ^5.1.4 - version: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.91.0) yargs: specifier: ^17.7.2 version: 17.7.2 @@ -663,6 +597,9 @@ importers: chai: specifier: ^4.4.1 version: 4.4.1 + webpack: + specifier: ^5.91.0 + version: 5.91.0(esbuild@0.19.12) packages/pigment-css-vite-plugin: dependencies: @@ -2130,11 +2067,6 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@colors/colors@1.5.0: - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - dev: true - /@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4): resolution: {integrity: sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==} engines: {node: ^14 || ^16 || >=18} @@ -2169,11 +2101,6 @@ packages: postcss-selector-parser: 6.0.16 dev: true - /@discoveryjs/json-ext@0.5.7: - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} - dev: true - /@dual-bundle/import-meta-resolve@4.0.0: resolution: {integrity: sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==} dev: true @@ -2821,6 +2748,7 @@ packages: transitivePeerDependencies: - encoding - supports-color + dev: true /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} @@ -4282,10 +4210,6 @@ packages: playwright: 1.43.0 dev: true - /@polka/url@1.0.0-next.25: - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - dev: true - /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false @@ -4570,18 +4494,21 @@ packages: - debug - supports-color - utf-8-validate + dev: true /@slack/logger@3.0.0: resolution: {integrity: sha512-DTuBFbqu4gGfajREEMrkq5jBhcnskinhr4+AnfJEk48zhVeEv3XnUKGIX98B74kxhYsIMfApGGySTn7V3b5yBA==} engines: {node: '>= 12.13.0', npm: '>= 6.12.0'} dependencies: '@types/node': 18.19.31 + dev: true /@slack/logger@4.0.0: resolution: {integrity: sha512-Wz7QYfPAlG/DR+DfABddUZeNgoeY7d1J39OCR2jR+v7VBsB8ezulDK5szTnDDPDwLH5IWhLvXIHlCFZV7MSKgA==} engines: {node: '>= 18', npm: '>= 8.6.0'} dependencies: '@types/node': 18.19.31 + dev: true /@slack/oauth@2.6.2: resolution: {integrity: sha512-2R3MyB/R63hTRXzk5J6wcui59TBxXzhk+Uh2/Xu3Wp3O4pXg/BNucQhP/DQbL/ScVhLvFtMXirLrKi0Yo5gIVw==} @@ -4595,6 +4522,7 @@ packages: lodash.isstring: 4.0.1 transitivePeerDependencies: - debug + dev: true /@slack/socket-mode@1.3.4: resolution: {integrity: sha512-CBH5hrLgdSRUoEztKSgLk7wKLkZHXovFUNMTIRDBK6+w5tQNBFmiDL9Iovj3sJTu1lwRRdQKKzeMx/oyuoOf1A==} @@ -4614,10 +4542,12 @@ packages: - bufferutil - debug - utf-8-validate + dev: true /@slack/types@2.11.0: resolution: {integrity: sha512-UlIrDWvuLaDly3QZhCPnwUSI/KYmV1N9LyhuH6EDKCRS1HWZhyTG3Ja46T3D0rYfqdltKYFXbJSSRPwZpwO0cQ==} engines: {node: '>= 12.13.0', npm: '>= 6.12.0'} + dev: true /@slack/web-api@6.12.0: resolution: {integrity: sha512-RPw6F8rWfGveGkZEJ4+4jUin5iazxRK2q3FpQDz/FvdgzC3nZmPyLx8WRzc6nh0w3MBjEbphNnp2VZksfhpBIQ==} @@ -4636,9 +4566,6 @@ packages: p-retry: 4.6.2 transitivePeerDependencies: - debug - - /@socket.io/component-emitter@3.1.0: - resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} dev: true /@swc/helpers@0.5.2: @@ -4763,6 +4690,7 @@ packages: dependencies: '@types/connect': 3.4.38 '@types/node': 18.19.31 + dev: true /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} @@ -4777,25 +4705,10 @@ packages: resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} dev: true - /@types/cheerio@0.22.35: - resolution: {integrity: sha512-yD57BchKRvTV+JD53UZ6PD8KWY5g5rvvMLRnZR3EQBCZXiDT/HR+pKpMzFGlWNhFrXlo7VPZXtKvIEwZkAWOIA==} - dependencies: - '@types/node': 18.19.31 - dev: true - /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: '@types/node': 18.19.31 - - /@types/cookie@0.4.1: - resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} - dev: true - - /@types/cors@2.8.17: - resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} - dependencies: - '@types/node': 18.19.31 dev: true /@types/cssesc@3.0.2: @@ -4808,13 +4721,6 @@ packages: '@types/ms': 0.7.34 dev: true - /@types/enzyme@3.10.18: - resolution: {integrity: sha512-RaO/TyyHZvXkpzinbMTZmd/S5biU4zxkvDsn22ujC29t9FMSzq8tnn8f2MxQ2P8GVhFRG5jTAL05DXKyTtpEQQ==} - dependencies: - '@types/cheerio': 0.22.35 - '@types/react': 18.2.75 - dev: true - /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: @@ -4840,6 +4746,7 @@ packages: '@types/qs': 6.9.14 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 + dev: true /@types/express@4.17.21: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} @@ -4848,6 +4755,7 @@ packages: '@types/express-serve-static-core': 4.19.0 '@types/qs': 6.9.14 '@types/serve-static': 1.15.7 + dev: true /@types/fs-extra@11.0.4: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} @@ -4862,11 +4770,13 @@ packages: /@types/http-errors@2.0.4: resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + dev: true /@types/is-stream@1.1.0: resolution: {integrity: sha512-jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==} dependencies: '@types/node': 18.19.31 + dev: true /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -4890,6 +4800,7 @@ packages: resolution: {integrity: sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==} dependencies: '@types/node': 18.19.31 + dev: true /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} @@ -4909,6 +4820,7 @@ packages: /@types/mime@1.3.5: resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: true /@types/minimatch@3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} @@ -4930,6 +4842,7 @@ packages: resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} dependencies: undici-types: 5.26.5 + dev: true /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -4937,21 +4850,25 @@ packages: /@types/p-queue@2.3.2: resolution: {integrity: sha512-eKAv5Ql6k78dh3ULCsSBxX6bFNuGjTmof5Q/T6PiECDq0Yf8IIn46jCyp3RJvCi8owaEmm3DZH1PEImjBMd/vQ==} + dev: true /@types/parse-json@4.0.2: resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} /@types/promise.allsettled@1.0.6: resolution: {integrity: sha512-wA0UT0HeT2fGHzIFV9kWpYz5mdoyLxKrTgMdZQM++5h6pYAFH73HXcQhefg24nD1yivUFEn5KU+EF4b+CXJ4Wg==} + dev: true /@types/prop-types@15.7.12: resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} /@types/qs@6.9.14: resolution: {integrity: sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==} + dev: true /@types/range-parser@1.2.7: resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: true /@types/react-dom@18.2.24: resolution: {integrity: sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg==} @@ -4979,6 +4896,7 @@ packages: /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: true /@types/semver@7.5.8: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -4989,6 +4907,7 @@ packages: dependencies: '@types/mime': 1.3.5 '@types/node': 18.19.31 + dev: true /@types/serve-static@1.15.7: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} @@ -4996,6 +4915,7 @@ packages: '@types/http-errors': 2.0.4 '@types/node': 18.19.31 '@types/send': 0.17.4 + dev: true /@types/stylis@4.2.5: resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==} @@ -5003,6 +4923,7 @@ packages: /@types/tsscmp@1.0.2: resolution: {integrity: sha512-cy7BRSU8GYYgxjcx0Py+8lo5MthuDhlyu076KUcYzVNXL23luYgRHkMG2fIFEc6neckeh/ntP82mw+U4QjZq+g==} + dev: true /@types/unist@2.0.10: resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} @@ -5012,6 +4933,7 @@ packages: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: '@types/node': 18.19.31 + dev: true /@types/yargs-parser@21.0.3: resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -5356,43 +5278,6 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.91.0): - resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} - engines: {node: '>=14.15.0'} - peerDependencies: - webpack: 5.x.x - webpack-cli: 5.x.x - dependencies: - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.91.0) - dev: true - - /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.91.0): - resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} - engines: {node: '>=14.15.0'} - peerDependencies: - webpack: 5.x.x - webpack-cli: 5.x.x - dependencies: - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.91.0) - dev: true - - /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.91.0): - resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} - engines: {node: '>=14.15.0'} - peerDependencies: - webpack: 5.x.x - webpack-cli: 5.x.x - webpack-dev-server: '*' - peerDependenciesMeta: - webpack-dev-server: - optional: true - dependencies: - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.91.0) - dev: true - /@wyw-in-js/processor-utils@0.5.3: resolution: {integrity: sha512-DATsRHLqq8cWYkTD8iwEmvWzG2UvmsFN6Poru4NJ1RwjxtcEdnNKCKZBaBdlH5XyhL7jRTcURUMyee3lqGljhg==} engines: {node: '>=16.0.0'} @@ -5488,6 +5373,7 @@ packages: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 + dev: true /acorn-import-assertions@1.9.0(acorn@8.11.3): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} @@ -5505,11 +5391,6 @@ packages: acorn: 8.11.3 dev: true - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true - /acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} @@ -5519,13 +5400,6 @@ packages: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} dev: true - /agent-base@4.3.0: - resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==} - engines: {node: '>= 4.0.0'} - dependencies: - es6-promisify: 5.0.0 - dev: true - /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -5542,6 +5416,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true /agentkeepalive@4.5.0: resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} @@ -5763,6 +5638,7 @@ packages: dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.4 + dev: true /array-differ@3.0.0: resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} @@ -5771,6 +5647,7 @@ packages: /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true /array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} @@ -5870,6 +5747,7 @@ packages: es-array-method-boxes-properly: 1.0.0 es-object-atoms: 1.0.0 is-string: 1.0.7 + dev: true /array.prototype.reduce@1.0.7: resolution: {integrity: sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==} @@ -5915,6 +5793,7 @@ packages: get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 + dev: true /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} @@ -5963,12 +5842,14 @@ packages: /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true /available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} dependencies: possible-typed-array-names: 1.0.0 + dev: true /axe-core@4.7.0: resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} @@ -5983,6 +5864,7 @@ packages: proxy-from-env: 1.1.0 transitivePeerDependencies: - debug + dev: true /axobject-query@3.2.1: resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} @@ -6000,7 +5882,7 @@ packages: '@babel/core': 7.24.4 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.19.12) dev: true /babel-merge@3.0.0(@babel/core@7.24.4): @@ -6119,22 +6001,15 @@ packages: /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - /base64id@2.0.0: - resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} - engines: {node: ^4.5.0 || >= 5.9} dev: true /before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true - /big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - dev: true - /bignumber.js@9.1.2: resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + dev: true /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} @@ -6167,6 +6042,7 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color + dev: true /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -6218,28 +6094,9 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) - /browserstack-local@1.5.5: - resolution: {integrity: sha512-jKne7yosrMcptj3hqxp36TP9k0ZW2sCqhyurX24rUL4G3eT7OLgv+CSQN8iq5dtkv5IK+g+v8fWvsiC/S9KxMg==} - dependencies: - agent-base: 6.0.2 - https-proxy-agent: 5.0.1 - is-running: 2.1.0 - ps-tree: 1.2.0 - temp-fs: 0.9.9 - transitivePeerDependencies: - - supports-color - dev: true - - /browserstack@1.5.3: - resolution: {integrity: sha512-AO+mECXsW4QcqC9bxwM29O7qWa7bJT94uBFzeb5brylIQwawuEziwq20dPYbins95GlWzOawgyDNdjYAo32EKg==} - dependencies: - https-proxy-agent: 2.2.4 - transitivePeerDependencies: - - supports-color - dev: true - /buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + dev: true /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -6291,6 +6148,7 @@ packages: /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + dev: true /c8@7.14.0: resolution: {integrity: sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==} @@ -6389,6 +6247,7 @@ packages: function-bind: 1.1.2 get-intrinsic: 1.2.4 set-function-length: 1.2.2 + dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -6723,10 +6582,6 @@ packages: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} dev: true - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: true - /colors@1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} @@ -6745,10 +6600,6 @@ packages: engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 - - /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} dev: true /commander@2.20.3: @@ -6760,11 +6611,6 @@ packages: engines: {node: '>= 6'} dev: true - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - dev: true - /common-path-prefix@3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: true @@ -6795,7 +6641,7 @@ packages: dependencies: schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.19.12) dev: true /compression@1.7.4: @@ -6847,18 +6693,6 @@ packages: resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} dev: true - /connect@3.7.0: - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} - engines: {node: '>= 0.10.0'} - dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 - parseurl: 1.3.3 - utils-merge: 1.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: true @@ -6873,10 +6707,12 @@ packages: engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 + dev: true /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + dev: true /conventional-changelog-angular@7.0.0: resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} @@ -6970,15 +6806,12 @@ packages: /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - - /cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} dev: true /cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} + dev: true /core-js-compat@3.36.1: resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} @@ -6995,14 +6828,6 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - dev: true - /cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} @@ -7091,6 +6916,7 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + dev: true /css-functions-list@3.2.1: resolution: {integrity: sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==} @@ -7144,10 +6970,6 @@ packages: /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - /custom-event@1.0.1: - resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} - dev: true - /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: true @@ -7220,6 +7042,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 + dev: true /data-view-byte-length@1.0.1: resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} @@ -7228,6 +7051,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 + dev: true /data-view-byte-offset@1.0.0: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} @@ -7236,6 +7060,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 + dev: true /date-fns@2.30.0: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} @@ -7244,19 +7069,10 @@ packages: '@babel/runtime': 7.24.4 dev: true - /date-format@4.0.14: - resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==} - engines: {node: '>=4.0'} - dev: true - /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true - /debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - dev: true - /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -7266,6 +7082,7 @@ packages: optional: true dependencies: ms: 2.0.0 + dev: true /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -7398,6 +7215,7 @@ packages: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 + dev: true /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} @@ -7411,6 +7229,7 @@ packages: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 + dev: true /delay@5.0.0: resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} @@ -7420,6 +7239,7 @@ packages: /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + dev: true /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} @@ -7428,6 +7248,7 @@ packages: /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dev: true /deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} @@ -7441,6 +7262,7 @@ packages: /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true /detect-indent@5.0.0: resolution: {integrity: sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==} @@ -7452,10 +7274,6 @@ packages: engines: {node: '>=8'} dev: true - /di@0.0.1: - resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} - dev: true - /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7511,15 +7329,6 @@ packages: csstype: 3.1.3 dev: false - /dom-serialize@2.2.1: - resolution: {integrity: sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==} - dependencies: - custom-event: 1.0.1 - ent: 2.2.0 - extend: 3.0.2 - void-elements: 2.0.1 - dev: true - /dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} dependencies: @@ -7576,9 +7385,11 @@ packages: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: safe-buffer: 5.2.1 + dev: true /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} @@ -7599,14 +7410,10 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - dev: true - /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + dev: true /encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -7622,31 +7429,6 @@ packages: once: 1.4.0 dev: true - /engine.io-parser@5.2.2: - resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} - engines: {node: '>=10.0.0'} - dev: true - - /engine.io@6.5.4: - resolution: {integrity: sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==} - engines: {node: '>=10.2.0'} - dependencies: - '@types/cookie': 0.4.1 - '@types/cors': 2.8.17 - '@types/node': 18.19.31 - accepts: 1.3.8 - base64id: 2.0.0 - cookie: 0.4.2 - cors: 2.8.5 - debug: 4.3.4(supports-color@8.1.1) - engine.io-parser: 5.2.2 - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /enhanced-resolve@0.9.1: resolution: {integrity: sha512-kxpoMgrdtkXZ5h0SeraBS1iRntpTpQ3R8ussdb38+UAFnMGX5DDyJXePm+OCHOcoXvHDw7mc2erbJBpDnl7TPw==} engines: {node: '>=0.6'} @@ -7671,10 +7453,6 @@ packages: ansi-colors: 4.1.3 dev: true - /ent@2.2.0: - resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} - dev: true - /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -7684,12 +7462,6 @@ packages: engines: {node: '>=6'} dev: true - /envinfo@7.12.0: - resolution: {integrity: sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==} - engines: {node: '>=4'} - hasBin: true - dev: true - /envinfo@7.8.1: resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} engines: {node: '>=4'} @@ -7804,19 +7576,23 @@ packages: typed-array-length: 1.0.6 unbox-primitive: 1.0.2 which-typed-array: 1.1.15 + dev: true /es-array-method-boxes-properly@1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + dev: true /es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 + dev: true /es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} + dev: true /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} @@ -7830,6 +7606,7 @@ packages: is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 + dev: true /es-iterator-helpers@1.0.18: resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} @@ -7860,6 +7637,7 @@ packages: engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 + dev: true /es-set-tostringtag@2.0.3: resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} @@ -7868,6 +7646,7 @@ packages: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 hasown: 2.0.2 + dev: true /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} @@ -7882,21 +7661,12 @@ packages: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 + dev: true /es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} dev: true - /es6-promise@4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} - dev: true - - /es6-promisify@5.0.0: - resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} - dependencies: - es6-promise: 4.2.8 - dev: true - /esbuild@0.19.12: resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} @@ -7965,6 +7735,7 @@ packages: /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} @@ -8067,7 +7838,7 @@ packages: lodash: 4.17.21 resolve: 2.0.0-next.5 semver: 5.7.2 - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.19.12) transitivePeerDependencies: - supports-color dev: true @@ -8385,24 +8156,15 @@ packages: /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} - - /event-stream@3.3.4: - resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} - dependencies: - duplexer: 0.1.2 - from: 0.1.7 - map-stream: 0.1.0 - pause-stream: 0.0.11 - split: 0.3.3 - stream-combiner: 0.0.4 - through: 2.3.8 dev: true /eventemitter3@3.1.2: resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==} + dev: true /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} @@ -8452,6 +8214,7 @@ packages: onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 + dev: true /expand-tilde@2.0.2: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} @@ -8501,6 +8264,7 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color + dev: true /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -8511,6 +8275,7 @@ packages: /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true /external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} @@ -8611,21 +8376,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} @@ -8639,6 +8389,7 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color + dev: true /find-babel-config@2.0.0: resolution: {integrity: sha512-dOKT7jvF3hGzlW60Gc3ONox/0rRZ/tz7WCil0bqA1In/3I8f1BctpXahRnEKDySZqci7u+dqq93sZST9fOJpFw==} @@ -8716,6 +8467,7 @@ packages: /finity@0.5.4: resolution: {integrity: sha512-3l+5/1tuw616Lgb0QBimxfdd2TqaDGpfCBpfX6EqtFmqUV3FtQnVEX4Aa62DagYEqnsTIjZcTfbq9msDbXYgyA==} + dev: true /flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} @@ -8753,11 +8505,13 @@ packages: optional: true dependencies: debug: 4.3.4(supports-color@8.1.1) + dev: true /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 + dev: true /foreground-child@2.0.0: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} @@ -8782,6 +8536,7 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: true /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} @@ -8790,6 +8545,7 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: true /format-util@1.0.5: resolution: {integrity: sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==} @@ -8798,13 +8554,11 @@ packages: /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} + dev: true /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - - /from@0.1.7: - resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} dev: true /fromentries@1.3.2: @@ -8829,15 +8583,6 @@ packages: universalify: 2.0.1 dev: true - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -8886,9 +8631,11 @@ packages: define-properties: 1.2.1 es-abstract: 1.23.3 functions-have-names: 1.2.3 + dev: true /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true /gauge@4.0.4: resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} @@ -8916,6 +8663,7 @@ packages: transitivePeerDependencies: - encoding - supports-color + dev: true /gcp-metadata@6.1.0: resolution: {integrity: sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg==} @@ -8926,6 +8674,7 @@ packages: transitivePeerDependencies: - encoding - supports-color + dev: true /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} @@ -8949,6 +8698,7 @@ packages: has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 + dev: true /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} @@ -8996,6 +8746,7 @@ packages: /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} + dev: true /get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} @@ -9004,6 +8755,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 + dev: true /get-tsconfig@4.7.3: resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} @@ -9171,6 +8923,7 @@ packages: engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 + dev: true /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -9224,6 +8977,7 @@ packages: transitivePeerDependencies: - encoding - supports-color + dev: true /googleapis-common@7.1.0: resolution: {integrity: sha512-p3KHiWDBBWJEXk6SYauBEvxw5+UmRy7k2scxGtsNv9eHsTbpopJ3/7If4OrNnzJ9XMLg3IlyQXpVp8YPQsStiw==} @@ -9238,11 +8992,13 @@ packages: transitivePeerDependencies: - encoding - supports-color + dev: true /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.4 + dev: true /got@11.8.6: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} @@ -9277,12 +9033,6 @@ packages: transitivePeerDependencies: - encoding - supports-color - - /gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - dependencies: - duplexer: 0.1.2 dev: true /handlebars@4.7.8: @@ -9316,6 +9066,7 @@ packages: /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true /has-flag@2.0.0: resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} @@ -9334,20 +9085,24 @@ packages: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: es-define-property: 1.0.0 + dev: true /has-proto@1.0.3: resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} + dev: true /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + dev: true /has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} @@ -9466,6 +9221,7 @@ packages: setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 + dev: true /http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} @@ -9488,35 +9244,14 @@ packages: - supports-color dev: true - /http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.4) - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - dev: true - - /http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} + /http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 resolve-alpn: 1.2.1 dev: true - /https-proxy-agent@2.2.4: - resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==} - engines: {node: '>= 4.5.0'} - dependencies: - agent-base: 4.3.0 - debug: 3.2.7 - transitivePeerDependencies: - - supports-color - dev: true - /https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} @@ -9535,6 +9270,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} @@ -9544,6 +9280,7 @@ packages: /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + dev: true /humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -9561,6 +9298,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 + dev: true /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} @@ -9631,6 +9369,7 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} @@ -9677,17 +9416,13 @@ packages: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 + dev: true /interpret@1.4.0: resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} engines: {node: '>= 0.10'} dev: true - /interpret@3.1.1: - resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} - engines: {node: '>=10.13.0'} - dev: true - /ip-address@9.0.5: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} @@ -9699,6 +9434,7 @@ packages: /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} + dev: true /is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} @@ -9717,6 +9453,7 @@ packages: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 + dev: true /is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} @@ -9724,6 +9461,7 @@ packages: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 + dev: true /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -9743,6 +9481,7 @@ packages: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 + dev: true /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} @@ -9756,6 +9495,7 @@ packages: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 + dev: true /is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} @@ -9765,6 +9505,7 @@ packages: /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} + dev: true /is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} @@ -9783,12 +9524,14 @@ packages: engines: {node: '>= 0.4'} dependencies: is-typed-array: 1.1.13 + dev: true /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true /is-decimal@1.0.4: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} @@ -9802,6 +9545,7 @@ packages: /is-electron@2.2.2: resolution: {integrity: sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==} + dev: true /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} @@ -9835,6 +9579,7 @@ packages: engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} @@ -9858,16 +9603,19 @@ packages: /is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} + dev: true /is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} + dev: true /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} @@ -9919,20 +9667,19 @@ packages: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - - /is-running@2.1.0: - resolution: {integrity: sha512-mjJd3PujZMl7j+D395WTIO5tU5RIDBfVSRtRR4VOJou3H66E38UjbjvDGh3slJzPuolsb+yQFqwHNNdyp5jg3w==} dev: true /is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} + dev: true /is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 + dev: true /is-ssh@1.4.0: resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} @@ -9943,6 +9690,7 @@ packages: /is-stream@1.1.0: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} + dev: true /is-stream@2.0.0: resolution: {integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==} @@ -9952,16 +9700,19 @@ packages: /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + dev: true /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true /is-subset@0.1.1: resolution: {integrity: sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==} @@ -9972,6 +9723,7 @@ packages: engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true /is-text-path@1.0.1: resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} @@ -9985,6 +9737,7 @@ packages: engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.15 + dev: true /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -10004,6 +9757,7 @@ packages: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.7 + dev: true /is-weakset@2.0.3: resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} @@ -10031,14 +9785,11 @@ packages: /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - - /isbinaryfile@4.0.10: - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} - engines: {node: '>= 8.0.0'} dev: true /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true /isexe@3.1.1: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} @@ -10049,11 +9800,6 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - /istanbul-lib-coverage@2.0.5: - resolution: {integrity: sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==} - engines: {node: '>=6'} - dev: true - /istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -10112,19 +9858,6 @@ packages: supports-color: 7.2.0 dev: true - /istanbul-lib-source-maps@3.0.6: - resolution: {integrity: sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==} - engines: {node: '>=6'} - dependencies: - debug: 4.3.4(supports-color@8.1.1) - istanbul-lib-coverage: 2.0.5 - make-dir: 2.1.0 - rimraf: 2.7.1 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - /istanbul-lib-source-maps@4.0.1: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} @@ -10146,12 +9879,14 @@ packages: /iterate-iterator@1.0.2: resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==} + dev: true /iterate-value@1.0.2: resolution: {integrity: sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==} dependencies: es-get-iterator: 1.1.3 iterate-iterator: 1.0.2 + dev: true /iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} @@ -10283,6 +10018,7 @@ packages: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} dependencies: bignumber.js: 9.1.2 + dev: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -10336,12 +10072,6 @@ packages: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} dev: true - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -10374,6 +10104,7 @@ packages: lodash.once: 4.1.1 ms: 2.1.3 semver: 7.6.0 + dev: true /jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} @@ -10400,6 +10131,7 @@ packages: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 + dev: true /jwa@2.0.0: resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} @@ -10407,115 +10139,20 @@ packages: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 + dev: true /jws@3.2.2: resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} dependencies: jwa: 1.4.1 safe-buffer: 5.2.1 + dev: true /jws@4.0.0: resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} dependencies: jwa: 2.0.0 safe-buffer: 5.2.1 - - /karma-browserstack-launcher@1.6.0(karma@6.4.3): - resolution: {integrity: sha512-Y/UWPdHZkHIVH2To4GWHCTzmrsB6H7PBWy6pw+TWz5sr4HW2mcE+Uj6qWgoVNxvQU1Pfn5LQQzI6EQ65p8QbiQ==} - peerDependencies: - karma: '>=0.9' - dependencies: - browserstack: 1.5.3 - browserstack-local: 1.5.5 - karma: 6.4.3 - q: 1.5.1 - transitivePeerDependencies: - - supports-color - dev: true - - /karma-chrome-launcher@3.2.0: - resolution: {integrity: sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==} - dependencies: - which: 1.3.1 - dev: true - - /karma-coverage-istanbul-reporter@3.0.3: - resolution: {integrity: sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==} - dependencies: - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 3.0.6 - istanbul-reports: 3.1.7 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /karma-firefox-launcher@2.1.3: - resolution: {integrity: sha512-LMM2bseebLbYjODBOVt7TCPP9OI2vZIXCavIXhkO9m+10Uj5l7u/SKoeRmYx8FYHTVGZSpk6peX+3BMHC1WwNw==} - dependencies: - is-wsl: 2.2.0 - which: 3.0.1 - dev: true - - /karma-mocha@2.0.1: - resolution: {integrity: sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==} - dependencies: - minimist: 1.2.8 - dev: true - - /karma-sourcemap-loader@0.4.0: - resolution: {integrity: sha512-xCRL3/pmhAYF3I6qOrcn0uhbQevitc2DERMPH82FMnG+4WReoGcGFZb1pURf2a5apyrOHRdvD+O6K7NljqKHyA==} - dependencies: - graceful-fs: 4.2.11 - dev: true - - /karma-webpack@5.0.0(webpack@5.91.0): - resolution: {integrity: sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA==} - engines: {node: '>= 6'} - peerDependencies: - webpack: ^5.0.0 - dependencies: - glob: 7.2.3 - minimatch: 3.1.2 - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) - webpack-merge: 4.2.2 - dev: true - - /karma@6.4.3: - resolution: {integrity: sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==} - engines: {node: '>= 10'} - hasBin: true - dependencies: - '@colors/colors': 1.5.0 - body-parser: 1.20.2 - braces: 3.0.2 - chokidar: 3.6.0 - connect: 3.7.0 - di: 0.0.1 - dom-serialize: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - http-proxy: 1.18.1 - isbinaryfile: 4.0.10 - lodash: 4.17.21 - log4js: 6.9.1 - mime: 2.6.0 - minimatch: 3.1.2 - mkdirp: 0.5.6 - qjobs: 1.2.0 - range-parser: 1.2.1 - rimraf: 3.0.2 - socket.io: 4.7.5 - source-map: 0.6.1 - tmp: 0.2.3 - ua-parser-js: 0.7.37 - yargs: 16.2.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate dev: true /keyv@4.5.4: @@ -10719,15 +10356,6 @@ packages: engines: {node: '>=6.11.5'} dev: true - /loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 - dev: true - /local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -10802,9 +10430,11 @@ packages: /lodash.includes@4.3.0: resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + dev: true /lodash.isboolean@3.0.3: resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + dev: true /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} @@ -10812,6 +10442,7 @@ packages: /lodash.isinteger@4.0.4: resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + dev: true /lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} @@ -10819,6 +10450,7 @@ packages: /lodash.isnumber@3.0.3: resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + dev: true /lodash.isobject@3.0.2: resolution: {integrity: sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==} @@ -10826,9 +10458,11 @@ packages: /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true /lodash.isstring@4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + dev: true /lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} @@ -10852,6 +10486,7 @@ packages: /lodash.once@4.1.1: resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: true /lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} @@ -10880,19 +10515,6 @@ packages: is-unicode-supported: 0.1.0 dev: true - /log4js@6.9.1: - resolution: {integrity: sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==} - engines: {node: '>=8.0'} - dependencies: - date-format: 4.0.14 - debug: 4.3.4(supports-color@8.1.1) - flatted: 3.3.1 - rfdc: 1.3.1 - streamroller: 3.1.5 - transitivePeerDependencies: - - supports-color - dev: true - /longest-streak@2.0.4: resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} dev: true @@ -10929,6 +10551,7 @@ packages: engines: {node: '>=10'} dependencies: yallist: 4.0.0 + dev: true /lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} @@ -11014,10 +10637,6 @@ packages: engines: {node: '>=8'} dev: true - /map-stream@0.1.0: - resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - dev: true - /markdown-it@14.1.0: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true @@ -11112,6 +10731,7 @@ packages: /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} + dev: true /memfs-or-file-map-to-github-branch@1.2.1: resolution: {integrity: sha512-I/hQzJ2a/pCGR8fkSQ9l5Yx+FQ4e7X6blNHyWBm2ojeFLT3GVzGkTj7xnyWpdclrr7Nq4dmx3xrvu70m3ypzAQ==} @@ -11154,9 +10774,11 @@ packages: /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: true /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -11166,6 +10788,7 @@ packages: /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} + dev: true /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} @@ -11192,6 +10815,7 @@ packages: /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + dev: true /mime-types@2.1.18: resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} @@ -11205,16 +10829,12 @@ packages: engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 + dev: true /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true - - /mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true dev: true /mime@3.0.0: @@ -11231,6 +10851,7 @@ packages: /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + dev: true /mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} @@ -11389,13 +11010,6 @@ packages: yallist: 4.0.0 dev: true - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -11452,19 +11066,16 @@ packages: engines: {node: '>=4'} dev: true - /mrmime@2.0.0: - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} - engines: {node: '>=10'} - dev: true - /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true /multimatch@5.0.0: resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} @@ -11516,6 +11127,7 @@ packages: /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} + dev: true /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -11603,16 +11215,6 @@ packages: - babel-plugin-macros dev: false - /nice-napi@1.0.2: - resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} - os: ['!win32'] - requiresBuild: true - dependencies: - node-addon-api: 3.2.1 - node-gyp-build: 4.8.0 - dev: true - optional: true - /nise@5.1.9: resolution: {integrity: sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==} dependencies: @@ -11623,12 +11225,6 @@ packages: path-to-regexp: 6.2.2 dev: true - /node-addon-api@3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - requiresBuild: true - dev: true - optional: true - /node-cleanup@2.1.2: resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} dev: true @@ -11669,13 +11265,7 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 - - /node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} - hasBin: true - requiresBuild: true dev: true - optional: true /node-gyp@10.1.0: resolution: {integrity: sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==} @@ -11895,6 +11485,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 + dev: true /npmlog@6.0.2: resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} @@ -12025,6 +11616,7 @@ packages: /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true /object-is@1.1.6: resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} @@ -12037,6 +11629,7 @@ packages: /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + dev: true /object.assign@4.1.5: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} @@ -12046,6 +11639,7 @@ packages: define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 + dev: true /object.entries@1.1.8: resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} @@ -12113,18 +11707,12 @@ packages: es-object-atoms: 1.0.0 dev: true - /on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: true - /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 + dev: true /on-headers@1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} @@ -12149,6 +11737,7 @@ packages: engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 + dev: true /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} @@ -12159,11 +11748,6 @@ packages: is-wsl: 2.2.0 dev: true - /opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true - dev: true - /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -12217,6 +11801,7 @@ packages: /p-cancelable@1.1.0: resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} engines: {node: '>=6'} + dev: true /p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} @@ -12240,6 +11825,7 @@ packages: /p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} + dev: true /p-limit@1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} @@ -12341,6 +11927,7 @@ packages: /p-queue@2.4.2: resolution: {integrity: sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng==} engines: {node: '>=4'} + dev: true /p-queue@6.6.2: resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} @@ -12348,6 +11935,7 @@ packages: dependencies: eventemitter3: 4.0.7 p-timeout: 3.2.0 + dev: true /p-reduce@2.1.0: resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} @@ -12360,12 +11948,14 @@ packages: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 + dev: true /p-timeout@3.2.0: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} dependencies: p-finally: 1.0.0 + dev: true /p-timeout@5.1.0: resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} @@ -12524,6 +12114,7 @@ packages: /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + dev: true /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} @@ -12551,10 +12142,12 @@ packages: /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + dev: true /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} + dev: true /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -12569,6 +12162,7 @@ packages: /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true /path-to-regexp@2.2.1: resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==} @@ -12576,6 +12170,7 @@ packages: /path-to-regexp@6.2.2: resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + dev: true /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} @@ -12601,12 +12196,6 @@ packages: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true - /pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} - dependencies: - through: 2.3.8 - dev: true - /performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} dev: true @@ -12656,12 +12245,6 @@ packages: engines: {node: '>= 6'} dev: true - /piscina@4.4.0: - resolution: {integrity: sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg==} - optionalDependencies: - nice-napi: 1.0.2 - dev: true - /pkg-dir@3.0.0: resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} engines: {node: '>=6'} @@ -12718,10 +12301,12 @@ packages: resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} dependencies: semver-compare: 1.0.0 + dev: true /possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} + dev: true /postcss-combine-media-query@1.0.1: resolution: {integrity: sha512-DFSXuYy3ltDkC2esIF0ORoS9DCjlyfWhtoQkG9brZMuJY1ABOER95sm3dvccR6IEgSrYX4RgqiHD4Lq3JGrxyw==} @@ -12913,6 +12498,7 @@ packages: es-abstract: 1.23.3 get-intrinsic: 1.2.4 iterate-value: 1.0.2 + dev: true /promzard@1.0.1: resolution: {integrity: sha512-ulDF77aULEHUoJkN5XZgRV5loHXBaqd9eorMvLNLvi2gXMuRAtwH6Gh4zsMHQY1kTt7tyv/YZwZW5C2gtj8F2A==} @@ -12946,16 +12532,10 @@ packages: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 + dev: true /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - - /ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} - hasBin: true - dependencies: - event-stream: 3.3.4 dev: true /psl@1.9.0: @@ -12983,27 +12563,19 @@ packages: engines: {node: '>=6'} dev: true - /q@1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - dev: true - - /qjobs@1.2.0: - resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} - engines: {node: '>=0.9'} - dev: true - /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 + dev: true /qs@6.12.0: resolution: {integrity: sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 + dev: true /query-string@7.1.3: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} @@ -13069,6 +12641,7 @@ packages: /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} + dev: true /raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} @@ -13078,16 +12651,6 @@ packages: http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - - /raw-loader@4.0.2(webpack@5.91.0): - resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) dev: true /rc@1.2.8: @@ -13342,13 +12905,6 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /rechoir@0.8.0: - resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} - engines: {node: '>= 10.13.0'} - dependencies: - resolve: 1.22.8 - dev: true - /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -13406,6 +12962,7 @@ packages: define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 + dev: true /regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} @@ -13566,30 +13123,13 @@ packages: /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} + dev: true /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: true - - /rimraf@2.5.4: - resolution: {integrity: sha512-Lw7SHMjssciQb/rRz7JyPIy9+bbUshEucPoLRvWqy09vC5zQixl8Uet+Zl+SROBB/JMWHJRdCk1qdxNWHNMvlQ==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -13674,6 +13214,7 @@ packages: get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 + dev: true /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -13681,6 +13222,7 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true /safe-regex-test@1.0.3: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} @@ -13689,6 +13231,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 is-regex: 1.1.4 + dev: true /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -13726,6 +13269,7 @@ packages: /semver-compare@1.0.0: resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + dev: true /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} @@ -13742,6 +13286,7 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 + dev: true /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -13762,6 +13307,7 @@ packages: statuses: 2.0.1 transitivePeerDependencies: - supports-color + dev: true /serialize-javascript@6.0.0: resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} @@ -13798,6 +13344,7 @@ packages: send: 0.18.0 transitivePeerDependencies: - supports-color + dev: true /serve@14.2.1: resolution: {integrity: sha512-48er5fzHh7GCShLnNyPBRPEjs2I6QBozeGr02gaacROiyS/8ARADlj595j39iZXAqBbJHH/ivJJyPRWY9sQWZA==} @@ -13833,6 +13380,7 @@ packages: get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 + dev: true /set-function-name@2.0.2: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} @@ -13842,9 +13390,11 @@ packages: es-errors: 1.3.0 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + dev: true /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true /shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} @@ -13888,10 +13438,12 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + dev: true /shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} @@ -13905,6 +13457,7 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.2.4 object-inspect: 1.13.1 + dev: true /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -13913,6 +13466,7 @@ packages: /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + dev: true /sigstore@1.9.0: resolution: {integrity: sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==} @@ -13960,15 +13514,6 @@ packages: supports-color: 7.2.0 dev: true - /sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - dependencies: - '@polka/url': 1.0.0-next.25 - mrmime: 2.0.0 - totalist: 3.0.1 - dev: true - /slash@2.0.0: resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} engines: {node: '>=6'} @@ -14003,44 +13548,6 @@ packages: engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} dev: true - /socket.io-adapter@2.5.4: - resolution: {integrity: sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==} - dependencies: - debug: 4.3.4(supports-color@8.1.1) - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /socket.io-parser@4.2.4: - resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} - engines: {node: '>=10.0.0'} - dependencies: - '@socket.io/component-emitter': 3.1.0 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: true - - /socket.io@4.7.5: - resolution: {integrity: sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==} - engines: {node: '>=10.2.0'} - dependencies: - accepts: 1.3.8 - base64id: 2.0.0 - cors: 2.8.5 - debug: 4.3.4(supports-color@8.1.1) - engine.io: 6.5.4 - socket.io-adapter: 2.5.4 - socket.io-parser: 4.2.4 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /socks-proxy-agent@7.0.0: resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} engines: {node: '>= 10'} @@ -14159,12 +13666,6 @@ packages: readable-stream: 3.6.2 dev: true - /split@0.3.3: - resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} - dependencies: - through: 2.3.8 - dev: true - /split@1.0.1: resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} dependencies: @@ -14193,36 +13694,16 @@ packages: minipass: 3.3.6 dev: true - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: true - /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + dev: true /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: internal-slot: 1.0.7 - - /stream-combiner@0.0.4: - resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} - dependencies: - duplexer: 0.1.2 - dev: true - - /streamroller@3.1.5: - resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} - engines: {node: '>=8.0'} - dependencies: - date-format: 4.0.14 - debug: 4.3.4(supports-color@8.1.1) - fs-extra: 8.1.0 - transitivePeerDependencies: - - supports-color dev: true /streamsearch@1.1.0: @@ -14278,6 +13759,7 @@ packages: define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 + dev: true /string.prototype.trimend@1.0.8: resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} @@ -14285,6 +13767,7 @@ packages: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 + dev: true /string.prototype.trimstart@1.0.8: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} @@ -14293,6 +13776,7 @@ packages: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 + dev: true /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -14338,6 +13822,7 @@ packages: /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} + dev: true /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -14578,13 +14063,6 @@ packages: engines: {node: '>=4'} dev: true - /temp-fs@0.9.9: - resolution: {integrity: sha512-WfecDCR1xC9b0nsrzSaxPf3ZuWeWLUWblW4vlDQAa1biQaKHiImHnJfeQocQe/hXKMcolRzgkcVX/7kK4zoWbw==} - engines: {node: '>=0.8.0'} - dependencies: - rimraf: 2.5.4 - dev: true - /terser-webpack-plugin@5.3.10(esbuild@0.19.12)(webpack@5.91.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} @@ -14607,7 +14085,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.30.3 - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) + webpack: 5.91.0(esbuild@0.19.12) dev: true /terser@5.30.3: @@ -14688,10 +14166,6 @@ packages: /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - - /totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} dev: true /tough-cookie@4.1.3: @@ -14706,6 +14180,7 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true /tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} @@ -14782,6 +14257,7 @@ packages: /tsscmp@1.0.6: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} + dev: true /tsup@8.0.2(postcss@8.4.38)(typescript@5.4.4): resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==} @@ -14919,6 +14395,7 @@ packages: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 + dev: true /typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} @@ -14927,6 +14404,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 is-typed-array: 1.1.13 + dev: true /typed-array-byte-length@1.0.1: resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} @@ -14937,6 +14415,7 @@ packages: gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 + dev: true /typed-array-byte-offset@1.0.2: resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} @@ -14948,6 +14427,7 @@ packages: gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 + dev: true /typed-array-length@1.0.6: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} @@ -14959,6 +14439,7 @@ packages: has-proto: 1.0.3 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + dev: true /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -14975,10 +14456,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ua-parser-js@0.7.37: - resolution: {integrity: sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==} - dev: true - /uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} dev: true @@ -15002,9 +14479,11 @@ packages: has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + dev: true /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} @@ -15089,11 +14568,6 @@ packages: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} dev: true - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -15107,6 +14581,7 @@ packages: /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + dev: true /unplugin@1.10.1: resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} @@ -15155,6 +14630,7 @@ packages: /url-template@2.0.8: resolution: {integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==} + dev: true /urlpattern-polyfill@8.0.2: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} @@ -15164,19 +14640,10 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - dependencies: - inherits: 2.0.4 - is-arguments: 1.1.1 - is-generator-function: 1.0.10 - is-typed-array: 1.1.13 - which-typed-array: 1.1.15 - dev: false - /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} + dev: true /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} @@ -15186,6 +14653,7 @@ packages: /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true + dev: true /v8-to-istanbul@9.2.0: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} @@ -15226,6 +14694,7 @@ packages: /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + dev: true /vfile-message@2.0.4: resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} @@ -15302,11 +14771,6 @@ packages: fsevents: 2.3.3 dev: true - /void-elements@2.0.1: - resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==} - engines: {node: '>=0.10.0'} - dev: true - /w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -15338,6 +14802,7 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: true /webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -15347,78 +14812,6 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - /webpack-bundle-analyzer@4.10.1: - resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==} - engines: {node: '>= 10.13.0'} - hasBin: true - dependencies: - '@discoveryjs/json-ext': 0.5.7 - acorn: 8.11.3 - acorn-walk: 8.3.2 - commander: 7.2.0 - debounce: 1.2.1 - escape-string-regexp: 4.0.0 - gzip-size: 6.0.0 - html-escaper: 2.0.2 - is-plain-object: 5.0.0 - opener: 1.5.2 - picocolors: 1.0.0 - sirv: 2.0.4 - ws: 7.5.9 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: true - - /webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.91.0): - resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} - engines: {node: '>=14.15.0'} - hasBin: true - peerDependencies: - '@webpack-cli/generators': '*' - webpack: 5.x.x - webpack-bundle-analyzer: '*' - webpack-dev-server: '*' - peerDependenciesMeta: - '@webpack-cli/generators': - optional: true - webpack-bundle-analyzer: - optional: true - webpack-dev-server: - optional: true - dependencies: - '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.91.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.91.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.91.0) - colorette: 2.0.20 - commander: 10.0.1 - cross-spawn: 7.0.3 - envinfo: 7.12.0 - fastest-levenshtein: 1.0.16 - import-local: 3.1.0 - interpret: 3.1.1 - rechoir: 0.8.0 - webpack: 5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4) - webpack-bundle-analyzer: 4.10.1 - webpack-merge: 5.10.0 - dev: true - - /webpack-merge@4.2.2: - resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==} - dependencies: - lodash: 4.17.21 - dev: true - - /webpack-merge@5.10.0: - resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} - engines: {node: '>=10.0.0'} - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - dev: true - /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} @@ -15427,7 +14820,7 @@ packages: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} dev: false - /webpack@5.91.0(esbuild@0.19.12)(webpack-cli@5.1.4): + /webpack@5.91.0(esbuild@0.19.12): resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true @@ -15460,7 +14853,6 @@ packages: tapable: 2.2.1 terser-webpack-plugin: 5.3.10(esbuild@0.19.12)(webpack@5.91.0) watchpack: 2.4.1 - webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.1)(webpack@5.91.0) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -15505,6 +14897,7 @@ packages: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 + dev: true /whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} @@ -15522,6 +14915,7 @@ packages: is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 + dev: true /which-builtin-type@1.1.3: resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} @@ -15564,6 +14958,7 @@ packages: for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 + dev: true /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} @@ -15578,13 +14973,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - - /which@3.0.1: - resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - dependencies: - isexe: 2.0.0 dev: true /which@4.0.0: @@ -15608,10 +14996,6 @@ packages: string-width: 5.1.2 dev: true - /wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - dev: true - /wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true @@ -15708,18 +15092,6 @@ packages: optional: true utf-8-validate: optional: true - - /ws@8.11.0: - resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true dev: true /ws@8.16.0: @@ -15767,6 +15139,7 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} diff --git a/test/README.md b/test/README.md deleted file mode 100644 index 7c6e7b54..00000000 --- a/test/README.md +++ /dev/null @@ -1,269 +0,0 @@ -# Testing - -Thanks for writing tests! Here's a quick run-down on our current setup. - -## Getting started - -1. Add a unit test to `packages/*/src/TheUnitInQuestion/TheUnitInQuestion.test.js` or an integration test `packages/*/test/`. -2. Run `pnpm t TheUnitInQuestion`. -3. Implement the tested behavior -4. Open a PR once the test passes or if you want somebody to review your work - -## Tools we use - -- [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) -- [Chai](https://www.chaijs.com/) -- [Sinon](https://sinonjs.org/) -- [Mocha](https://mochajs.org/) -- [Karma](https://karma-runner.github.io/latest/index.html) -- [Playwright](https://playwright.dev/) -- [jsdom](https://github.com/jsdom/jsdom) -- [enzyme](https://airbnb.io/enzyme/) (old tests only) - -## Writing tests - -For all unit tests, please use the return value from `@mui/internal-test-utils/createRenderer`. -It prepares the test suite and returns a function with the same interface as -[`render` from `@testing-library/react`](https://testing-library.com/docs/react-testing-library/api#render). - -```js -describe('test suite', () => { - const { render } = createRenderer(); - - test('first', () => { - render(); - }); -}); -``` - -For new tests please use `expect` from the BDD testing approach. Prefer to use as expressive [matchers](https://www.chaijs.com/api/bdd/) as possible. This keeps -the tests readable, and, more importantly, the message if they fail as descriptive as possible. - -In addition to the core matchers from `chai` we also use matchers from [`chai-dom`](https://github.com/nathanboktae/chai-dom#readme). - -Deciding where to put a test is (like naming things) a hard problem: - -- When in doubt, put the new test case directly in the unit test file for that component, for example `packages/mui-base/src/Button/Button.test.tsx`. -- If your test requires multiple components from the library create a new integration test. -- If you find yourself using a lot of `data-testid` attributes or you're accessing - a lot of styles consider adding a component (that doesn't require any interaction) - to `test/regressions/tests/`, for example `test/regressions/tests/List/ListWithSomeStyleProp` -- If you have to dispatch and compose many different DOM events prefer end-to-end tests (Checkout the [end-to-end testing readme](./e2e/README.md) for more information.) - -### Unexpected calls to `console.error` or `console.warn` - -By default, our test suite fails if any test recorded `console.error` or `console.warn` calls that are unexpected. - -The failure message includes the full test name (suite names + test name). -This should help locating the test in case the top of the stack can't be read due to excessive error messages. -The error includes the logged message as well as the stacktrace of that message. - -You can explicitly [expect no console calls](#writing-a-test-for-consoleerror-or-consolewarn) for when you're adding a regression test. -This makes the test more readable and properly fails the test in watchmode if the test had unexpected `console` calls. - -### Writing a test for `console.error` or `console.warn` - -If you add a new warning via `console.error` or `console.warn` you should add tests that expect this message. -For tests that expect a call you can use our custom `toWarnDev` or `toErrorDev` matchers. -The expected messages must be a subset of the actual messages and match the casing. -The order of these messages must match as well. - -Example: - -```jsx -function SomeComponent({ variant }) { - if (process.env.NODE_ENV !== 'production') { - if (variant === 'unexpected') { - console.error("That variant doesn't make sense."); - } - if (variant !== undefined) { - console.error('`variant` is deprecated.'); - } - } - - return
; -} -expect(() => { - render(); -}).toErrorDev(["That variant doesn't make sense.", '`variant` is deprecated.']); -``` - -```js -function SomeComponent({ variant }) { - if (process.env.NODE_ENV !== 'production') { - if (variant === 'unexpected') { - console.error("That variant doesn't make sense."); - } - if (variant !== undefined) { - console.error('`variant` is deprecated.'); - } - } - - return
; -} -expect(() => { - render(); -}).not.toErrorDev(); -``` - -## Commands - -We uses a wide range of tests approach as each of them comes with a different -trade-off, mainly completeness vs. speed. - -### React API level - -#### Debugging tests - -If you want to debug tests with the, for example Chrome inspector (chrome://inspect) you can run `pnpm t --debug`. -Note that the test will not get executed until you start code execution in the inspector. - -We have a dedicated task to use VSCode's integrated debugger to debug the currently opened test file. -Open the test you want to run and press F5 (launch "Test Current File"). - -#### Run the core mocha unit/integration test suite - -To run all of the unit and integration tests run `pnpm test:unit` - -If you want to `grep` for certain tests add `-g STRING_TO_GREP` though for development we recommend `pnpm t `. - -#### Watch the core mocha unit/integration test suite - -`pnpm t ` - -First, we have the **unit test** suite. -It uses [mocha](https://mochajs.org) and a thin wrapper around `@testing-library/react`. -Here is an [example](https://github.com/mui/material-ui/blob/6d9f42a637184a3b3cb552d2591e2cf39653025d/packages/mui-material/src/Dialog/Dialog.test.js#L60-L69) with the `Dialog` component. - -Next, we have the **integration** tests. They are mostly used for components that -act as composite widgets like `Select` or `Menu`. -Here is an [example](https://github.com/mui/material-ui/blob/814fb60bbd8e500517b2307b6a297a638838ca89/packages/material-ui/test/integration/Menu.test.js#L98-L108) with the `Menu` component. - -#### Create HTML coverage reports - -`pnpm test:coverage:html` - -When running this command you should get under `coverage/index.html` a full coverage report in HTML format. This is created using [Istanbul](https://istanbul-js.org)'s HTML reporter and gives good data such as line, branch and function coverage. - -### DOM API level - -#### Run the mocha test suite using the karma runner - -`pnpm test:karma` - -Testing the components at the React level isn't enough; -we need to make sure they will behave as expected with a **real DOM**. -To solve that problem we use [Karma](https://github.com/karma-runner/karma), -which is almost a drop-in replacement of [jsdom](https://github.com/jsdom/jsdom). -Our tests run on different browsers to increase the coverage: - -- [Headless Chrome](https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md) -- Headless Firefox -- Chrome, Safari, and Edge thanks to [BrowserStack](https://www.browserstack.com) - -In development mode, if `pnpm test:karma` fails with this error "Cannot start ChromeHeadless. Can not find the binary", you can solve it by installing the missing headless browsers: `pnpm playwright install --with-deps`. - -##### BrowserStack - -We only use BrowserStack for non-PR commits to save resources. -BrowserStack rarely reports actual issues so we only use it as a stop-gap for releases not merges. - -To force a run of BrowserStack on a PR you have to run the pipeline with `browserstack-force` set to `true`. -For example, you've opened a PR with the number 64209 and now after everything is green you want to make sure the change passes all browsers: - -```bash -curl --request POST \ - --url https://circleci.com/api/v2/project/gh/mui/base-ui/pipeline \ - --header 'content-type: application/json' \ - --header 'Circle-Token: $CIRCLE_TOKEN' \ - --data-raw '{"branch":"pull/64209/head","parameters":{"browserstack-force":true}}' -``` - -### Browser API level - -In the end, components are going to be used in a real browser. -The DOM is just one dimension of that environment, -so we also need to take into account the rendering engine. - -#### Visual regression tests - -Check out the [visual regression testing readme](./regressions/README.md) for more information. - -#### end-to-end tests - -Checkout the [end-to-end testing readme](./e2e/README.md) for more information. - -##### Development - -When working on the visual regression tests you can run `pnpm test:regressions:dev` in the background to constantly rebuild the views used for visual regression testing. -To actually take the screenshots you can then run `pnpm test:regressions:run`. -You can pass the same arguments as you could to `mocha`. -For example, `pnpm test:regressions:run --watch --grep "docs-system-basic"` to take new screenshots of every demo in `docs/src/pages/system/basic`. -You can view the screenshots in `test/regressions/screenshots/chrome`. - -Alternatively, you might want to open `http://localhost:5001` (while `pnpm test:regressions:dev` is running) to view individual views separately. - -### Caveats - -#### Accessibility tree exclusion - -Our tests also explicitly document which parts of the queried element are included in -the accessibility (a11y) tree and which are excluded. -This check is fairly expensive which is why it is disabled when tests are run locally by default. -The rationale being that in almost all cases including or excluding elements from a query-set depending on their a11y-tree membership makes no difference. - -The queries where this does make a difference explicitly include checking for a11y tree inclusion, for example `getByRole('button', { hidden: false })` (see [byRole documentation](https://testing-library.com/docs/dom-testing-library/api-queries#byrole) for more information). -To see if your test (`test:karma` or `test:unit`) behaves the same between CI and local environment, set the environment variable `CI` to `'true'`. - -Not considering a11y tree exclusion is a common cause of "Unable to find an accessible element with the role" or "Found multiple elements with the role". - -### Performance monitoring - -We have a dedicated CI task that profiles our core test suite. -Since this task is fairly expensive and not relevant to most day-to-day work it has to be started manually. -The CircleCI docs explain [how to start a pipeline manually](https://circleci.com/docs/api/v2/#operation/triggerPipeline) in detail. -Example: -With an environment variable `$CIRCLE_TOKEN` containing a [CircleCI personal access token](https://app.circleci.com/settings/user/tokens). - -The following command triggers the `profile` workflow for the pull request #24289. - -```bash -curl --request POST \ - --url https://circleci.com/api/v2/project/gh/mui/base-ui/pipeline \ - --header 'content-type: application/json' \ - --header 'Circle-Token: $CIRCLE_TOKEN' \ - --data-raw '{"branch":"pull/24289/head","parameters":{"workflow":"profile"}}' -``` - -To analyze this profile run you can use https://mui-dashboard.netlify.app/test-profile/:job-number. - -To find out the job number you can start with the response of the previous CircleCI API request which includes the created pipeline id. -You then have to search in the [CircleCI UI](https://app.circleci.com/pipelines/github/mui/base-ui) for the job number of `test_profile` that is part of the started pipeline. -The job number can be extracted from the URL of a particular CircleCI job. - -For example, in https://app.circleci.com/pipelines/github/mui/base-ui/32796/workflows/23f946de-328e-49b7-9c94-bfe0a0248a12/jobs/211258 `jobs/211258` points to the job number which is in this case `211258` which means you want to visit https://mui-dashboard.netlify.app/test-profile/211258 to analyze the profile. - -### Testing multiple versions of React - -You can check integration of different versions of React (for example different [release channels](https://react.dev/community/versioning-policy) or PRs to React) by running `node scripts/useReactVersion.mjs `. - -Possible values for `version`: - -- default: `stable` (minimum supported React version) -- a tag on npm, for example `next`, `experimental` or `latest` -- an older version, for example `^17.0.0` - -#### CI - -You can pass the same `version` to our CircleCI pipeline as well: - -With the following API request we're triggering a run of the default workflow in -PR #24289 for `react@next` - -```bash -curl --request POST \ - --url https://circleci.com/api/v2/project/gh/mui/base-ui/pipeline \ - --header 'content-type: application/json' \ - --header 'Circle-Token: $CIRCLE_TOKEN' \ - --data-raw '{"branch":"pull/24289/head","parameters":{"react-version":"next"}}' -``` diff --git a/test/assets/fake.png b/test/assets/fake.png deleted file mode 100644 index e69de29b..00000000 diff --git a/test/assets/fake2.png b/test/assets/fake2.png deleted file mode 100644 index e69de29b..00000000 diff --git a/test/cli.js b/test/cli.js deleted file mode 100644 index 17ccfddb..00000000 --- a/test/cli.js +++ /dev/null @@ -1,125 +0,0 @@ -const childProcess = require('child_process'); -const fs = require('fs'); -const path = require('path'); -const glob = require('fast-glob'); -const yargs = require('yargs'); - -async function run(argv) { - const workspaceRoot = path.resolve(__dirname, '../'); - - const gitignore = fs.readFileSync(path.join(workspaceRoot, '.gitignore'), { encoding: 'utf8' }); - const ignore = gitignore - .split(/\r?\n/) - .filter((pattern) => { - return pattern.length > 0 && !pattern.startsWith('#'); - }) - .map((line) => { - if (line.startsWith('/')) { - // "/" marks the cwd of the ignore file. - // Since we declare the dirname of the gitignore the cwd we can prepend "." as a shortcut. - return `.${line}`; - } - return line; - }); - const globPattern = `**/*${argv.testFilePattern.replace(/\\/g, '/')}*`; - const spec = glob - .sync(globPattern, { - cwd: workspaceRoot, - ignore, - followSymbolicLinks: false, - }) - .filter((relativeFile) => { - return /\.test\.(js|ts|tsx)$/.test(relativeFile); - }); - - if (spec.length === 0) { - throw new Error(`Could not find any file test files matching '${globPattern}'`); - } - - const args = ['mocha'].concat(spec); - if (argv.bail) { - args.push('--bail'); - } - if (argv.debug || argv.inspecting) { - args.push('--timeout 0'); - } - if (argv.debug) { - args.push('--inspect-brk'); - } - if (!argv.single) { - args.push('--watch'); - } - if (argv.testNamePattern !== undefined) { - args.push(`--grep '${argv.testNamePattern}'`); - } - - const mochaProcess = childProcess.spawn('pnpm', args, { - env: { - ...process.env, - BABEL_ENV: 'test', - NODE_ENV: argv.production ? 'production' : 'test', - }, - shell: true, - stdio: ['inherit', 'inherit', 'inherit'], - }); - - mochaProcess.once('exit', (signal) => { - process.exit(signal !== null ? signal : undefined); - }); - - process.on('SIGINT', () => { - // Forward interrupt. - // Otherwise cli.js exits and the you get dangling console output from mocha. - // "dangling" meaning that you get mocha output in the new terminal input. - mochaProcess.kill('SIGINT'); - }); -} - -yargs - .command({ - command: '$0 ', - description: 'Test cli for developing', - builder: (command) => { - return command - .positional('testFilePattern', { - description: 'Only test files match "**/*{testFilePattern}*.test.{js,ts,tsx}"', - type: 'string', - }) - .option('bail', { - alias: 'b', - description: 'Stop on first error.', - type: 'boolean', - }) - .option('debug', { - alias: 'd', - description: - 'Allows attaching a debugger and waits for the debugger to start code execution.', - type: 'boolean', - }) - .option('inspecting', { - description: 'In case you expect to hit breakpoints that may interrupt a test.', - type: 'boolean', - }) - .option('production', { - alias: 'p', - description: - 'Run tests in production environment. WARNING: Will not work with most tests.', - type: 'boolean', - }) - .option('single', { - alias: 's', - description: 'Run only once i.e. not in watch mode.', - type: 'boolean', - }) - .option('testNamePattern', { - alias: 't', - description: 'Limit tests by their name given a pattern.', - type: 'string', - }); - }, - handler: run, - }) - .help() - .strict(true) - .version(false) - .parse(); diff --git a/test/docs-regressions-before.png b/test/docs-regressions-before.png deleted file mode 100644 index 2cab5396d5d2dab7c94d838eadd769587ccfbf15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmeAS@N?(olHy`uVBq!ia0y~yU|a`e_iz9S2F6~Y^9&5ES)MMAAr*{oE;6z)8w$8R zy!XE&d!qxlnNpHbrgm$V5!3N;`mvLvKfh>GbOCZQHKh zDRoL;S1oLy9Fw>8Ny$3hr$N5!OP*~qXEZ*Py43FYuX|e~u9rNk&o6P?xo6q+jup#a zeRfRWaZ&QA)_1|ni_fUfedv}xW%X0#7cWob+P&a0w^|&N$zOHra?K^lJfNO8cbevH zyZp;1eaFvp2Ux{p3JzitcOVj96W_~SN%3sbV0gber8?*Qtv%avZ-Y^GOnCC*z{SOe zThr=ZocL$N$YO4%@1Fsvq`&P-@N)qf3$9~&K0h1RDITd;)RHislohd z+WILP1>S2|uhl&I|JG4;$A>e!#3nNtO-zxl%G_CMrYl}`)T)?CZGq9ok2m)k`ey9h zaPrTJXUpYRZM?ea)1!dPs;WB-OrK24HQnI2qw%P6=gy+0=R6(S?vpIo=VZn@&R({x z?(*Ab><<0E7^?DvnorMs@nfIVj{KLUuFLDU-AFK(Wu9}m$R+coR|Z4zhw_Tb1BPohu0z{yU!2q z?&v?hWog`nMG3$8_ROAT-FsNO3+=eU2<-U9p|VVXvH5!CjNL2aT$=`Z_(szq@`{dzSULGBxrF z!ydkz>VH0me|X(8>3$=1tNz)+ivM4)PmeTTePC(*)dga|miuOJ{4QO6=7rHM*0;jx zjdLGyz1#kQ|Lqj6OD40Dr6#1!X08oudc1k+pOtO-%M$gTCE-PnSPjLCfvB=8*wJ`p zeW~cOkOC>?Gx5b!msC3#p8FD{d|CbwSS0@Zht@DRfsPI%^GeUV z1Vk>bWA6EtuC!uJ;Qs!$e?DKPn!YkWu%cdV)+wp4zcXH(cZr88S%j>le!5?UTGRb3 z1My-(9*{S2qU&G%1f6G|4&PBWD=MerRE*uBsV~jH{{NDoai7z#VuyTO0q^GWyT*-Wod=MkJfk!$W^vwduJpA#f5 za30`k_d^)3ryP3pjLXNjg@1k}NEpZ;NS){gmy`n9?I@kLt9APJduL@ITweHoXWWJ2 zlllJhy!Q#WwVn2u`t4`v0addH(();jG>JA=py~C+H3MBP@%j)=kJbCD9N-U`K^>p=f JS?83{1OW9>t!@AS diff --git a/test/docs-regressions-diff.png b/test/docs-regressions-diff.png deleted file mode 100644 index d6d602f16e732c9408ff22cdb757604a67845369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2085 zcmZ`(dpOj27w1*m#$3$>jl?iBt`jq3CTWHOOR;>8Dk{|=P`$G9pn<`Z zx%rE|d&eo1VMD`8Ma56Hwx1mw+V}6Tfk5h@&`vCN&Bjafr2ZMd2QWtD(d+_*vJ-sa!Yu3`TO%%7Bq5RJt*tj0j4o~M9vrS;R~Lam zjFZW)k;vC5RJ(@8lD)l@LRqHKs=;6!4kuDqpS7|YGcoDL;Ur{o>%M&hdV0RTzW)CH z008*-_;`4D1O^5M1Ox;H1ufXwwPG;uw05Ev0-;bShYuh2^Yioc^z0)Ls8p(>qhli) zJ*cnGX0uO?@WSNez5y|4_TDk_({1*GpEQv)`$>hyLq$W|Wiu(qijqFY#3r+<|0Pqy zPTXd<-0P-hhg0z!U2Ik#_W{oNgb#N+T@({Zn=IXY1!s~rB6!?(Kd;<_@4XEE89cY< z40t8Hl=NnhK09z!e?g5(Bo_?D^Pj&7>nU%6%}f|r8Oi8YUjK8Y@v>q~#hN&eq`M<2 zU{Q+>KiiE&PBAz6DLcDK(v?^yAe~El81wp~={a|d>OkcNf8t6SAjYaxG}4JtSO0I@ z3#y>WHSsckolR=N!uFJ1oqtyl`O2pd;D4Mnz4Bx#Dr(VZB1*Dn_m#T5;LOZxLbms0 z)KTG4rIX42F5$=A<1dxh@MH3Px}>M=c%0AoTT_jm0X@&c-wJNd_zItER|iRn$B5HJ z{h`w6z+D?@5cR?{1L9pOH{P67Zna~cI?~=%-16iehZ)93e$ouQ_dM**EcNkF)mEN- z&?EM)favG75-DURP3|Q4!d`1Cc5B^XIu!1F;GJ#sG^%77H&AU-h!|IB}q$ zh_jw&M+?sSfd%*s-M=51=S9l@qtNYUbTYGe+Hj%=TW+C??Z#(9y`xGhCgN~s1}^_1 z-V-?(?i4ZD26g)Jf|MRIcpCwjrkkBjScfzuf7XtE{d7{pCCx+8M{Mo$@~ihSL7whrU?0H|DI}vTVK{4p^tBn$7X^9|^XD zZ%JE7Tuhh;=YtW?Pgz*uULuw_h=idn)Y)4N^^1X(3FIGE&eW=p&-VP*{g5Y0moe_S z4fTl|L>s_s@dU(+te&{i6&<2hn*J`|jZErh)^HkA07H zOYw-ZeHKB=m{xJ97=9?;`fW++4lv1%+ICy#d#-P~&Q>$3VQ=1+5jM>xWGmZ*qb193 zT;;Fm`{ua7yHRKa2zTO2MDg-YYLw|>TQ3vAepKEXD8 zt8iY|LM@zFDg~lauit@0ruKd`128E!bWqXdbq~X`nkhtv%a{P0)vF(O;l&uoWTaZO zt8r=}xLsOuzA`bfzQ~fC&b-PRJCch5xCXqw*rywdEL_z|Hz}pP``pEKvGCr~Lc1)Mi?e;0&;CzYBZuNIKJhST!XAhhy(Mb+!zj!>kFpkTO*mPAr<@LqQS1 zjV20F{(dAQyZQ8!(~@sT_81w*l13GrEwN=4l!q%3-z0nw)KzW}WG}Fg{l)TF$V-REI-#s08Z`U^JcC2XOzy<&e#%7C!xnT*(<&^J3)~h~vKCzS~NW+0yT* z9a~!0`l>^j8a&GJBO8YZoCXrTR&@|_GljmQ>41YFg5duGn`!ra+wxTADz7jeL~grr zkHlzo`t=t%Hwj9WDjzZ8WY}m1%PNt9f9lguIj diff --git a/test/karma.conf.js b/test/karma.conf.js deleted file mode 100644 index 67aa3a07..00000000 --- a/test/karma.conf.js +++ /dev/null @@ -1,222 +0,0 @@ -const path = require('path'); -const playwright = require('playwright'); -const webpack = require('webpack'); - -const CI = Boolean(process.env.CI); -// renovate PRs are based off of upstream branches. -// Their CI run will be a branch based run not PR run and therefore won't have a CIRCLE_PR_NUMBER -const isPR = Boolean(process.env.CIRCLE_PULL_REQUEST); - -let build = `material-ui local ${new Date().toISOString()}`; - -if (process.env.CIRCLECI) { - const buildPrefix = - process.env.CIRCLE_PR_NUMBER !== undefined - ? process.env.CIRCLE_PR_NUMBER - : process.env.CIRCLE_BRANCH; - build = `${buildPrefix}: ${process.env.CIRCLE_BUILD_URL}`; -} - -const browserStack = { - // |commits in PRs| >> |Merged commits|. - // Since we have limited resources on BrowserStack we often time out on PRs. - // However, BrowserStack rarely fails with a true-positive so we use it as a stop gap for release not merge. - // But always enable it locally since people usually have to explicitly have to expose their BrowserStack access key anyway. - enabled: !CI || !isPR || process.env.BROWSERSTACK_FORCE === 'true', - username: process.env.BROWSERSTACK_USERNAME, - accessKey: process.env.BROWSERSTACK_ACCESS_KEY, - build, - // https://github.com/browserstack/api#timeout300 - timeout: 5 * 60, // Maximum time before a worker is terminated. Default 5 minutes. -}; - -process.env.CHROME_BIN = playwright.chromium.executablePath(); -process.env.FIREFOX_BIN = playwright.firefox.executablePath(); - -// BrowserStack rate limit after 1600 calls every 5 minutes. -// Per second, https://www.browserstack.com/docs/automate/api-reference/selenium/introduction#rest-api-projects -const MAX_REQUEST_PER_SECOND_BROWSERSTACK = 1600 / (60 * 5); -// Estimate the max number of concurrent karma builds -// For each PR, 6 concurrent builds are used, only one is using BrowserStack. -const AVERAGE_KARMA_BUILD = 1 / 6; -// CircleCI accepts up to 83 concurrent builds. -const MAX_CIRCLE_CI_CONCURRENCY = 83; - -// Karma configuration -module.exports = function setKarmaConfig(config) { - const baseConfig = { - basePath: '../', - browsers: ['chromeHeadless', 'FirefoxHeadless'], - browserDisconnectTimeout: 3 * 60 * 1000, // default 2000 - browserDisconnectTolerance: 1, // default 0 - browserNoActivityTimeout: 3 * 60 * 1000, // default 30000 - colors: true, - coverageIstanbulReporter: { - combineBrowserReports: true, - dir: path.resolve(__dirname, '../coverage'), - fixWebpackSourcePaths: true, - reports: CI ? ['lcov'] : [], - skipFilesWithNoCoverage: true, - verbose: false, - }, - client: { - mocha: { - // Some BrowserStack browsers can be slow. - timeout: (process.env.CIRCLECI === 'true' ? 6 : 2) * 1000, - }, - }, - frameworks: ['mocha', 'webpack'], - files: [ - { - pattern: 'test/karma.tests.js', - watched: false, - }, - { - pattern: 'test/assets/*.png', - watched: false, - included: false, - served: true, - }, - ], - plugins: [ - 'karma-mocha', - 'karma-chrome-launcher', - 'karma-coverage-istanbul-reporter', - 'karma-sourcemap-loader', - 'karma-webpack', - 'karma-firefox-launcher', - ], - /** - * possible values: - * - config.LOG_DISABLE - * - config.LOG_ERROR - * - config.LOG_WARN - * - config.LOG_INFO - * - config.LOG_DEBUG - */ - logLevel: config.LOG_INFO, - port: 9876, - preprocessors: { - 'test/karma.tests.js': ['webpack', 'sourcemap'], - }, - proxies: { - '/fake.png': '/base/test/assets/fake.png', - '/fake2.png': '/base/test/assets/fake2.png', - }, - // The CI branch fixes double log issue - // https://github.com/karma-runner/karma/issues/2342 - reporters: ['dots', ...(CI ? ['coverage-istanbul'] : [])], - webpack: { - mode: 'development', - devtool: CI ? 'inline-source-map' : 'eval-source-map', - optimization: { - nodeEnv: 'test', - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env.CI': JSON.stringify(process.env.CI), - 'process.env.KARMA': JSON.stringify(true), - 'process.env.TEST_GATE': JSON.stringify(process.env.TEST_GATE), - }), - new webpack.ProvidePlugin({ - // required by enzyme > cheerio > parse5 > util - process: 'process/browser.js', - }), - ], - module: { - rules: [ - { - test: /\.(js|mjs|ts|tsx)$/, - loader: 'babel-loader', - exclude: /node_modules/, - options: { - envName: 'stable', - }, - }, - // transpile 3rd party packages with dependencies in this repository - { - test: /\.(js|mjs|ts|tsx)$/, - use: { - loader: 'babel-loader', - options: { - plugins: ['babel-plugin-istanbul'], - }, - }, - enforce: 'post', - exclude: /node_modules/, - }, - ], - }, - resolve: { - extensions: ['.js', '.mjs', '.ts', '.tsx'], - fallback: { - // needed by sourcemap - fs: false, - path: false, - // needed by enzyme > cheerio - stream: false, - // required by enzyme > cheerio > parse5 - util: require.resolve('util/'), - vm: false, - }, - }, - // TODO: 'browserslist:modern' - // See https://github.com/webpack/webpack/issues/14203 - target: 'web', - }, - customLaunchers: { - chromeHeadless: { - base: 'ChromeHeadless', - flags: ['--no-sandbox'], - }, - }, - singleRun: CI, - }; - - let newConfig = baseConfig; - - if (browserStack.enabled && browserStack.accessKey) { - newConfig = { - ...baseConfig, - browserStack, - browsers: baseConfig.browsers.concat(['chrome', 'safari', 'edge']), - plugins: baseConfig.plugins.concat(['karma-browserstack-launcher']), - customLaunchers: { - ...baseConfig.customLaunchers, - chrome: { - base: 'BrowserStack', - os: 'OS X', - os_version: 'Monterey', - browser: 'chrome', - // We support Chrome 109.x per .browserslistrc - browser_version: '109.0', - }, - safari: { - base: 'BrowserStack', - os: 'OS X', - os_version: 'Monterey', - browser: 'safari', - browser_version: '15.6', - }, - edge: { - base: 'BrowserStack', - os: 'Windows', - os_version: '10', - browser: 'edge', - browser_version: '120.0', - }, - }, - }; - - // -1 because chrome headless runs in the local machine - const browserStackBrowsersUsed = newConfig.browsers.length - 1; - - // default 1000, Avoid Rate Limit Exceeded - newConfig.browserStack.pollingTimeout = - ((MAX_CIRCLE_CI_CONCURRENCY * AVERAGE_KARMA_BUILD * browserStackBrowsersUsed) / - MAX_REQUEST_PER_SECOND_BROWSERSTACK) * - 1000; - } - - config.set(newConfig); -}; diff --git a/test/karma.conf.profile.js b/test/karma.conf.profile.js deleted file mode 100644 index 5bf1104d..00000000 --- a/test/karma.conf.profile.js +++ /dev/null @@ -1,178 +0,0 @@ -const path = require('path'); -const { chromium } = require('playwright'); -const webpack = require('webpack'); - -const workspaceRoot = path.resolve(__dirname, '../'); - -const browserStack = { - username: process.env.BROWSERSTACK_USERNAME, - accessKey: process.env.BROWSERSTACK_ACCESS_KEY, - build: `mui-core-profile-${new Date().toISOString()}`, -}; - -process.env.CHROME_BIN = chromium.executablePath(); - -// Karma configuration -module.exports = function setKarmaConfig(config) { - const baseConfig = { - basePath: '../', - browsers: ['chromeHeadless'], - browserDisconnectTimeout: 120000, // default 2000 - browserDisconnectTolerance: 1, // default 0 - browserNoActivityTimeout: 300000, // default 10000 - colors: true, - frameworks: ['mocha', 'webpack'], - files: [ - { - pattern: 'test/karma.tests.js', - watched: false, - }, - { - pattern: 'test/assets/*.png', - watched: false, - included: false, - served: true, - }, - ], - plugins: [ - 'karma-mocha', - 'karma-chrome-launcher', - 'karma-sourcemap-loader', - 'karma-webpack', - '@mui/internal-test-utils/KarmaReporterReactProfiler', - ], - /** - * possible values: - * - config.LOG_DISABLE - * - config.LOG_ERROR - * - config.LOG_WARN - * - config.LOG_INFO - * - config.LOG_DEBUG - */ - logLevel: config.LOG_INFO, - port: 9876, - preprocessors: { - 'test/karma.tests.js': ['webpack', 'sourcemap'], - }, - proxies: { - '/fake.png': '/base/test/assets/fake.png', - '/fake2.png': '/base/test/assets/fake2.png', - }, - reporters: ['dots', 'profiler'], - reactProfilerReporter: { - outputDir: path.join(workspaceRoot, 'tmp/react-profiler-report/karma'), - }, - webpack: { - // TODO: profile in production - mode: 'development', - // https://webpack.js.org/configuration/devtool/#devtool - devtool: 'eval-cheap-source-map', - optimization: { - // Helps debugging and build perf. - // Bundle size is irrelevant for local serving. - minimize: false, - // TODO: profile in production - nodeEnv: 'test', - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env.CI': JSON.stringify(process.env.CI), - 'process.env.KARMA': JSON.stringify(true), - 'process.env.TEST_GATE': JSON.stringify('enable-dispatching-profiler'), - }), - new webpack.ProvidePlugin({ - // required by enzyme > cheerio > parse5 > util - process: 'process/browser.js', - }), - ], - module: { - rules: [ - { - test: /\.(js|ts|tsx)$/, - loader: 'babel-loader', - exclude: /node_modules/, - options: { - envName: 'stable', - }, - }, - ], - }, - resolve: { - alias: { - // "How to use profiling in production" - // https://gist.github.com/bvaughn/25e6233aeb1b4f0cdb8d8366e54a3977#react-dom1660--scheduler0100 - 'react-dom$': 'react-dom/profiling', - }, - extensions: ['.js', '.ts', '.tsx'], - fallback: { - // needed by sourcemap - fs: false, - path: false, - // needed by enzyme > cheerio - stream: false, - }, - }, - // TODO: 'browserslist:modern' - // See https://github.com/webpack/webpack/issues/14203 - target: 'web', - }, - webpackMiddleware: { - noInfo: true, - writeToDisk: Boolean(process.env.CI), - }, - customLaunchers: { - chromeHeadless: { - base: 'ChromeHeadless', - flags: ['--no-sandbox'], - }, - }, - singleRun: Boolean(process.env.CI), - }; - - let newConfig = baseConfig; - - if (browserStack.accessKey) { - newConfig = { - ...baseConfig, - browserStack, - browsers: baseConfig.browsers.concat(['chrome', 'firefox', 'safari', 'edge']), - plugins: baseConfig.plugins.concat(['karma-browserstack-launcher']), - customLaunchers: { - ...baseConfig.customLaunchers, - chrome: { - base: 'BrowserStack', - os: 'OS X', - os_version: 'Catalina', - browser: 'chrome', - // We support Chrome 109.x per .browserslistrc - browser_version: '109.0', - }, - // No accurate performance timings (integer precision instead of double). - firefox: { - base: 'BrowserStack', - os: 'Windows', - os_version: '10', - browser: 'firefox', - browser_version: '15.0', - }, - // No accurate performance timings (integer precision instead of double). - safari: { - base: 'BrowserStack', - os: 'OS X', - os_version: 'Monterey', - browser: 'safari', - browser_version: '15.6', - }, - edge: { - base: 'BrowserStack', - os: 'Windows', - os_version: '10', - browser: 'edge', - browser_version: '120.0', - }, - }, - }; - } - - config.set(newConfig); -}; diff --git a/test/karma.tests.js b/test/karma.tests.js deleted file mode 100644 index de714517..00000000 --- a/test/karma.tests.js +++ /dev/null @@ -1,9 +0,0 @@ -import '@mui/internal-test-utils/init'; -import '@mui/internal-test-utils/setupKarma'; - -const pigmentCssContext = require.context( - '../packages/pigment-css-react/tests/', - true, - /\.test\.(js|ts|tsx)$/, -); -pigmentCssContext.keys().forEach(pigmentCssContext); diff --git a/test/package.json b/test/package.json deleted file mode 100644 index c80f1543..00000000 --- a/test/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "@mui-internal/tests", - "version": "5.0.0", - "private": true, - "scripts": { - "typescript": "tsc -p tsconfig.json" - }, - "devDependencies": { - "@babel/runtime": "^7.24.4", - "@emotion/cache": "^11.11.0", - "@emotion/react": "^11.11.4", - "@mui/internal-test-utils": "https://pkg.csb.dev/mui/material-ui/commit/fb183624/@mui/internal-test-utils", - "@playwright/test": "1.43.0", - "@testing-library/dom": "^9.3.4", - "@types/chai": "^4.3.14", - "@types/react": "^18.2.74", - "@types/react-is": "^18.2.4", - "@types/sinon": "^17.0.3", - "chai": "^4.4.1", - "docs": "workspace:^", - "fast-glob": "^3.3.2", - "fs-extra": "^11.2.0", - "html-webpack-plugin": "^5.6.0", - "lodash": "^4.17.21", - "playwright": "^1.43.0", - "prop-types": "^15.8.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-is": "^18.2.0", - "react-router-dom": "^6.22.3", - "sinon": "^17.0.1", - "styled-components": "^6.1.8", - "stylis": "4.3.1", - "stylis-plugin-rtl": "^2.1.1", - "stylis-plugin-rtl-sc": "npm:stylis-plugin-rtl@^2.1.1", - "util": "^0.12.5", - "webfontloader": "^1.6.28", - "webpack": "^5.91.0", - "yargs": "^17.7.2" - } -} diff --git a/test/regressions/.mocharc.js b/test/regressions/.mocharc.js deleted file mode 100644 index 5f79b512..00000000 --- a/test/regressions/.mocharc.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - recursive: true, - slow: 500, - timeout: (process.env.CIRCLECI === 'true' ? 4 : 2) * 1000, // Circle CI has low-performance CPUs. - reporter: 'dot', - require: ['@mui/internal-test-utils/setupBabelPlaywright'], -}; diff --git a/test/regressions/README.md b/test/regressions/README.md deleted file mode 100644 index 1c579da7..00000000 --- a/test/regressions/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# Visual regression testing - -Visual regression tests are split into two parts: - -1. The rendered UI (short: fixture) -2. Instrumentation of that UI - -## Rendered UI - -The composition of all tests happens in `./index.js`. -The rendered UI is either: - -1. located inside a separate file in `./fixtures` and written as a React component. - - Here is an [example](https://github.com/mui/material-ui/blob/814fb60bbd8e500517b2307b6a297a638838ca89/test/regressions/tests/Menu/SimpleMenuList.js#L6-L16) with the `Menu` component. - -2. a demo from `docs/data` - - By default all demos are included. - We exclude demos if they are redundant or flaky etc. - The logic for this exclusion is handled (like the composition) in `./index.js` - -If you introduce new behavior, prefer adding a demo to the documentation to solve documentation and testing with one file. -If you're adding a new test prefer a new component instead of editing existing files since that might unknowingly alter existing tests. - -## Instrumentation - -### Manual - -`pnpm test:regressions:dev` will build all fixtures and render an overview page that lists all fixtures. -This can be used to debug individual fixtures. -By default, a devtools-like view is shown that can be disabled by appending `#no-dev` to the URL, for example `http://localhost:5001/docs-customization-typography/CustomResponsiveFontSizes#no-dev` or forced by appending `#dev` to the URL, for example `http://localhost:5001/docs-customization-typography/CustomResponsiveFontSizes#dev`. - -### Automatic - -We're using [`playwright`](https://playwright.dev) to iterate over each fixture and take a screenshot. -It allows catching regressions like this one: - -![before](/test/docs-regressions-before.png) -![diff](/test/docs-regressions-diff.png) - -Screenshots are saved in `./screenshots/$BROWSER_NAME/`. -Each test tests only a single fixture. -A fixture can be loaded with `await renderFixture(fixturePath)`, for example `renderFixture('FocusTrap/OpenFocusTrap')`. - -## Commands - -For development `pnpm test:regressions:dev` and `pnpm test:regressions:run --watch` in separate terminals is recommended. - -| command | description | -| :----------------------------- | :-------------------------------------------------------------------------------------------------------------------- | -| `pnpm test:regressions` | Full run | -| `pnpm test:regressions:dev` | Prepares the fixtures to be able to test in watchmode | -| `pnpm test:regressions:run` | Runs the tests (requires `pnpm test:regressions:dev` or `pnpm test:regressions:build`+`pnpm test:regressions:server`) | -| `pnpm test:regressions:build` | Builds the Webpack bundle for viewing the fixtures | -| `pnpm test:regressions:server` | Serves the fixture bundle. | diff --git a/test/regressions/TestViewer.js b/test/regressions/TestViewer.js deleted file mode 100644 index 5c9c0d1b..00000000 --- a/test/regressions/TestViewer.js +++ /dev/null @@ -1,65 +0,0 @@ -import * as React from 'react'; -import PropTypes from 'prop-types'; -import { useFakeTimers } from 'sinon'; - -function TestViewer(props) { - const { children } = props; - - // We're simulating `act(() => ReactDOM.render(children))` - // In the end children passive effects should've been flushed. - // React doesn't have any such guarantee outside of `act()` so we're approximating it. - const [ready, setReady] = React.useState(false); - React.useEffect(() => { - function handleFontsEvent(event) { - if (event.type === 'loading') { - setReady(false); - } else if (event.type === 'loadingdone') { - // Don't know if there could be multiple loaded events after we started loading multiple times. - // So make sure we're only ready if fonts are actually ready. - if (document.fonts.status === 'loaded') { - setReady(true); - } - } - } - - document.fonts.addEventListener('loading', handleFontsEvent); - document.fonts.addEventListener('loadingdone', handleFontsEvent); - - // Use a "real timestamp" so that we see a useful date instead of "00:00" - // eslint-disable-next-line react-hooks/rules-of-hooks -- not a React hook - const clock = useFakeTimers({ - now: new Date('Mon Aug 18 14:11:54 2014 -0500'), - toFake: ['Date'], - }); - // In case the child triggered font fetching we're not ready yet. - // The fonts event handler will mark the test as ready on `loadingdone` - if (document.fonts.status === 'loaded') { - setReady(true); - } - - return () => { - document.fonts.removeEventListener('loading', handleFontsEvent); - document.fonts.removeEventListener('loadingdone', handleFontsEvent); - clock.restore(); - }; - }, []); - - return ( - - }> -
- {children} -
-
-
- ); -} - -TestViewer.propTypes = { - children: PropTypes.node.isRequired, -}; - -export default TestViewer; diff --git a/test/regressions/fixtures/.gitkeep b/test/regressions/fixtures/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/test/regressions/index.js b/test/regressions/index.js deleted file mode 100644 index 86f26b8f..00000000 --- a/test/regressions/index.js +++ /dev/null @@ -1,232 +0,0 @@ -import * as React from 'react'; -import PropTypes from 'prop-types'; -import * as ReactDOMClient from 'react-dom/client'; -import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom'; -import webfontloader from 'webfontloader'; -import TestViewer from './TestViewer'; - -// Get all the fixtures specifically written for preventing visual regressions. -const importRegressionFixtures = require.context('./fixtures', true, /\.(js|ts|tsx)$/, 'lazy'); -const regressionFixtures = []; -importRegressionFixtures.keys().forEach((path) => { - const [suite, name] = path - .replace('./', '') - .replace(/\.\w+$/, '') - .split('/'); - - // TODO: Why does webpack include a key for the absolute and relative path? - // We just want the relative path - if (path.startsWith('./')) { - regressionFixtures.push({ - path, - suite: `regression-${suite}`, - name, - Component: React.lazy(() => importRegressionFixtures(path)), - }); - } -}, []); - -const blacklist = [ - 'docs-base-guides-working-with-tailwind-css/PlayerFinal.png', // No public components - 'docs-base-getting-started-quickstart/BaseButtonTailwind.png', // CodeSandbox -]; - -const unusedBlacklistPatterns = new Set(blacklist); - -function excludeDemoFixture(suite, name) { - return blacklist.some((pattern) => { - if (typeof pattern === 'string') { - if (pattern === suite) { - unusedBlacklistPatterns.delete(pattern); - - return true; - } - if (pattern === `${suite}/${name}.png`) { - unusedBlacklistPatterns.delete(pattern); - - return true; - } - - return false; - } - - // assume regex - if (pattern.test(suite)) { - unusedBlacklistPatterns.delete(pattern); - return true; - } - return false; - }); -} - -// Also use some of the demos to avoid code duplication. -const importDemos = require.context('docs/data', true, /(? { - const [name, ...suiteArray] = path.replace('./', '').replace('.js', '').split('/').reverse(); - const suite = `docs-${suiteArray.reverse().join('-')}`; - - // TODO: Why does webpack include a key for the absolute and relative path? - // We just want the relative path - if (path.startsWith('./') && !excludeDemoFixture(suite, name)) { - demoFixtures.push({ - path, - suite, - name, - Component: React.lazy(() => importDemos(path)), - }); - } -}, []); - -if (unusedBlacklistPatterns.size > 0) { - console.warn( - `The following patterns are unused:\n\n${Array.from(unusedBlacklistPatterns) - .map((pattern) => `- ${pattern}`) - .join('\n')}`, - ); -} - -const viewerRoot = document.getElementById('test-viewer'); - -function FixtureRenderer({ component: FixtureComponent }) { - const viewerReactRoot = React.useRef(null); - - React.useLayoutEffect(() => { - const renderTimeout = setTimeout(() => { - const children = ( - - - - ); - - if (viewerReactRoot.current === null) { - viewerReactRoot.current = ReactDOMClient.createRoot(viewerRoot); - } - - viewerReactRoot.current.render(children); - }); - - return () => { - clearTimeout(renderTimeout); - setTimeout(() => { - viewerReactRoot.current.unmount(); - viewerReactRoot.current = null; - }); - }; - }, [FixtureComponent]); - - return null; -} - -FixtureRenderer.propTypes = { - component: PropTypes.elementType, -}; - -function App(props) { - const { fixtures } = props; - - function computeIsDev() { - if (window.location.hash === '#dev') { - return true; - } - if (window.location.hash === '#no-dev') { - return false; - } - return process.env.NODE_ENV === 'development'; - } - const [isDev, setDev] = React.useState(computeIsDev); - React.useEffect(() => { - function handleHashChange() { - setDev(computeIsDev()); - } - window.addEventListener('hashchange', handleHashChange); - - return () => { - window.removeEventListener('hashchange', handleHashChange); - }; - }, []); - - // Using does not apply the google Roboto font in chromium headless/headfull. - const [fontState, setFontState] = React.useState('pending'); - React.useEffect(() => { - webfontloader.load({ - google: { - families: ['Roboto:300,400,500,700', 'Inter:300,400,500,600,700,800,900', 'Material+Icons'], - }, - custom: { - families: ['Font Awesome 5 Free:n9'], - urls: ['https://use.fontawesome.com/releases/v5.1.0/css/all.css'], - }, - timeout: 20000, - active: () => { - setFontState('active'); - }, - inactive: () => { - setFontState('inactive'); - }, - }); - }, []); - - const fixturePrepared = fontState !== 'pending'; - - function computePath(fixture) { - return `/${fixture.suite}/${fixture.name}`; - } - - return ( - - - {fixtures.map((fixture) => { - const path = computePath(fixture); - const FixtureComponent = fixture.Component; - if (FixtureComponent === undefined) { - console.warn('Missing `Component` for ', fixture); - return null; - } - - return ( - : null} - /> - ); - })} - - - - - ); -} - -App.propTypes = { - fixtures: PropTypes.array, -}; - -const container = document.getElementById('react-root'); -const children = ; -const reactRoot = ReactDOMClient.createRoot(container); -reactRoot.render(children); diff --git a/test/regressions/index.test.js b/test/regressions/index.test.js deleted file mode 100644 index 4dd4c5b3..00000000 --- a/test/regressions/index.test.js +++ /dev/null @@ -1,111 +0,0 @@ -import * as path from 'path'; -import * as fse from 'fs-extra'; -import * as playwright from 'playwright'; - -async function main() { - const baseUrl = 'http://localhost:5001'; - const screenshotDir = path.resolve(__dirname, './screenshots/chrome'); - - const browser = await playwright.chromium.launch({ - args: ['--font-render-hinting=none'], - // otherwise the loaded google Roboto font isn't applied - headless: false, - }); - // reuse viewport from `vrtest` - // https://github.com/nathanmarks/vrtest/blob/1185b852a6c1813cedf5d81f6d6843d9a241c1ce/src/server/runner.js#L44 - const page = await browser.newPage({ viewport: { width: 1000, height: 700 } }); - - // Block images since they slow down tests (need download). - // They're also most likely decorative for documentation demos - await page.route(/./, async (route, request) => { - const type = await request.resourceType(); - if (type === 'image') { - route.abort(); - } else { - route.continue(); - } - }); - - // Wait for all requests to finish. - // This should load shared resources such as fonts. - await page.goto(`${baseUrl}#no-dev`, { waitUntil: 'networkidle0' }); - // If we still get flaky fonts after awaiting this try `document.fonts.ready` - await page.waitForSelector('[data-webfontloader="active"]', { state: 'attached' }); - - // Simulate portrait mode for date pickers. - // See `useIsLandscape`. - await page.evaluate(() => { - Object.defineProperty(window.screen.orientation, 'angle', { - get() { - return 0; - }, - }); - }); - - let routes = await page.$$eval('#tests a', (links) => { - return links.map((link) => link.href); - }); - routes = routes.map((route) => route.replace(baseUrl, '')); - - async function renderFixture(index) { - // Use client-side routing which is much faster than full page navigation via page.goto(). - // Could become an issue with test isolation. - // If tests are flaky due to global pollution switch to page.goto(route); - // puppeteers built-in click() times out - await page.$eval(`#tests li:nth-of-type(${index + 1}) a`, (link) => { - link.click(); - }); - // Move cursor offscreen to not trigger unwanted hover effects. - page.mouse.move(0, 0); - - const testcase = await page.waitForSelector('[data-testid="testcase"]:not([aria-busy="true"])'); - - return testcase; - } - - async function takeScreenshot({ testcase, route }) { - const screenshotPath = path.resolve(screenshotDir, `.${route}.png`); - await fse.ensureDir(path.dirname(screenshotPath)); - - const explicitScreenshotTarget = await page.$('[data-testid="screenshot-target"]'); - const screenshotTarget = explicitScreenshotTarget || testcase; - - await screenshotTarget.screenshot({ path: screenshotPath, type: 'png' }); - } - - // prepare screenshots - await fse.emptyDir(screenshotDir); - - describe('visual regressions', () => { - beforeEach(async () => { - await page.evaluate(() => { - localStorage.clear(); - }); - }); - - after(async () => { - await browser.close(); - }); - - routes.forEach((route, index) => { - it(`creates screenshots of ${route}`, async function test() { - // With the playwright inspector we might want to call `page.pause` which would lead to a timeout. - if (process.env.PWDEBUG) { - this.timeout(0); - } - - const testcase = await renderFixture(index); - await takeScreenshot({ testcase, route }); - }); - }); - }); - - run(); -} - -main().catch((error) => { - // error during setup. - // Throwing lets mocha hang. - console.error(error); - process.exit(1); -}); diff --git a/test/regressions/manual/README.md b/test/regressions/manual/README.md deleted file mode 100644 index 2d0655b1..00000000 --- a/test/regressions/manual/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# manual visual regression tests - -These are expensive tests that should only be consulted if you suspect that something changed. -Move the test you want to check inside a temporary folder in `../test` and run the visual regression test suite to get a screenshot. diff --git a/test/regressions/serve.json b/test/regressions/serve.json deleted file mode 100644 index ef9da9b5..00000000 --- a/test/regressions/serve.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "public": "build", - "rewrites": [{ "source": "**", "destination": "index.html" }] -} diff --git a/test/regressions/template.html b/test/regressions/template.html deleted file mode 100644 index 7320fbea..00000000 --- a/test/regressions/template.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - Visual regression tests - - - - - - -
-
- - diff --git a/test/regressions/webpack.config.js b/test/regressions/webpack.config.js deleted file mode 100644 index b4472eed..00000000 --- a/test/regressions/webpack.config.js +++ /dev/null @@ -1,71 +0,0 @@ -const path = require('path'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const webpack = require('webpack'); -const webpackBaseConfig = require('../../webpackBaseConfig'); - -module.exports = { - ...webpackBaseConfig, - entry: path.resolve(__dirname, 'index.js'), - mode: process.env.NODE_ENV || 'development', - optimization: { - // Helps debugging and build perf. - // Bundle size is irrelevant for local serving - minimize: false, - concatenateModules: false, - }, - output: { - path: path.resolve(__dirname, './build'), - publicPath: '/', - filename: 'tests.js', - }, - plugins: [ - new HtmlWebpackPlugin({ - template: path.resolve(__dirname, './template.html'), - }), - // Avoid bundling the whole @mui/icons-material package. x2 the bundling speed. - new webpack.IgnorePlugin({ resourceRegExp: /material-icons\/SearchIcons\.js/ }), - new webpack.ProvidePlugin({ - // required by enzyme > cheerio > parse5 > util - process: 'process/browser.js', - }), - ], - module: { - rules: [ - { - test: /\.(js|ts|tsx)$/, - // prism.js blocks @mui/internal-markdown/prism from being interpreted as ESM in this build. - exclude: /node_modules|prism\.js/, - loader: 'babel-loader', - options: { - cacheDirectory: true, - configFile: path.resolve(__dirname, '../../babel.config.js'), - envName: 'regressions', - }, - }, - { - test: /\.md$/, - type: 'asset/source', - }, - { - test: /\.(jpg|gif|png)$/, - type: 'asset/inline', - }, - ], - }, - resolve: { - ...webpackBaseConfig.resolve, - fallback: { - // Exclude polyfill and treat 'fs' as an empty module since it is not required. next -> gzip-size relies on it. - fs: false, - // needed by enzyme > cheerio - stream: false, - // required by enzyme > cheerio > parse5 - util: require.resolve('util/'), - // Exclude polyfill and treat 'zlib' as an empty module since it is not required. next -> gzip-size relies on it. - zlib: false, - }, - }, - // TODO: 'browserslist:modern' - // See https://github.com/webpack/webpack/issues/14203 - target: 'web', -}; diff --git a/test/tsconfig.json b/test/tsconfig.json deleted file mode 100644 index b6fabbf7..00000000 --- a/test/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "module": "Node16", - "moduleResolution": "Node16", - "types": ["mocha"] - }, - "include": ["e2e/**/*", "integration/**/*", "regressions/**/*"], - "exclude": ["node_modules", "regressions/build/**/*"] -}