diff --git a/CHANGELOG.md b/CHANGELOG.md index 49ffced4..784dbff6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.4.0](https://github.com/unjs/unplugin/compare/v0.3.3...v0.4.0) (2022-03-07) + + +### Features + +* add watch hook and context functions ([#55](https://github.com/unjs/unplugin/issues/55)) ([544e66c](https://github.com/unjs/unplugin/commit/544e66cd98dde8f8a5449a6143c115f198c5a595)) + + + ## [0.3.3](https://github.com/unjs/unplugin/compare/v0.3.2...v0.3.3) (2022-02-28) diff --git a/README.md b/README.md index a10c2196..23d56e84 100644 --- a/README.md +++ b/README.md @@ -25,11 +25,22 @@ Currently supports: | [`enforce`](https://rollupjs.org/guide/en/#enforce) | ❌ 2 | ✅ | ✅ | ✅ | ❌ 2 | | [`resolveId`](https://rollupjs.org/guide/en/#resolveid) | ✅ | ✅ | ✅ | ✅ | ✅ | | [`load`](https://rollupjs.org/guide/en/#load) | ✅ | ✅ | ✅ | ✅ | ✅ 3 | +| [`watchChange`](https://rollupjs.org/guide/en/#watchchange) | ✅ | ✅ | ✅ | ✅ | ✅ | 1. Webpack's id filter is outside of loader logic; an additional hook is needed for better perf on Webpack. In Rollup and Vite, this hook has been polyfilled to match the behaviors. See for following usage examples. 2. Rollup and esbuild do not support using `enforce` to control the order of plugins. Users need to maintain the order manually. 3. Although esbuild can handle both JavaScript and CSS and many other file formats, you can only return JavaScript in `load` and `transform` results. +### [`buildStart`](https://rollupjs.org/guide/en/#buildstart) Context + +###### Supported + +| Hook | Rollup | Vite | Webpack 4 | Webpack 5 | esbuild | +| ---- | :----: | :--: | :-------: | :-------: | :-----: | +| [`this.addWatchFile`](https://rollupjs.org/guide/en/#thisaddwatchfile) | ✅ | ✅ | ✅ | ✅ | ✅ | +| [`this.emitFile`](https://rollupjs.org/guide/en/#thisemitfile) | ✅ | ✅ | ✅ | ✅ | ✅ | +| [`this.getWatchFiles`](https://rollupjs.org/guide/en/#thisgetwatchfiles) | ✅ | ✅ | ✅ | ✅ | ✅ | + ## Usage ```ts diff --git a/package.json b/package.json index 2cabb562..55275d42 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "unplugin", - "version": "0.3.3", + "version": "0.4.0", "description": "Unified plugin system for build tools", "repository": "unjs/unplugin", "license": "MIT", @@ -29,31 +29,32 @@ "test:build": "nr build && jiti scripts/buildFixtures.ts" }, "dependencies": { + "chokidar": "^3.5.3", "webpack-virtual-modules": "^0.4.3" }, "devDependencies": { - "@ampproject/remapping": "^1.0.2", - "@antfu/ni": "^0.12.0", + "@ampproject/remapping": "^2.1.2", + "@antfu/ni": "^0.13.2", "@nuxtjs/eslint-config-typescript": "^8.0.0", "@types/express": "^4.17.13", "@types/fs-extra": "^9.0.13", - "@types/node": "^17.0.8", + "@types/node": "^17.0.21", "bumpp": "^7.1.1", "conventional-changelog-cli": "^2.2.2", - "enhanced-resolve": "^5.8.3", - "esbuild": "^0.14.11", - "eslint": "^8.6.0", - "fast-glob": "^3.2.10", - "fs-extra": "^10.0.0", - "jiti": "^1.12.9", - "magic-string": "^0.25.7", - "rollup": "^2.63.0", - "tsup": "^5.11.11", - "typescript": "^4.5.4", - "vite": "^2.7.10", - "vitest": "^0.0.141", - "webpack": "^5.66.0", - "webpack-cli": "^4.9.1" + "enhanced-resolve": "^5.9.2", + "esbuild": "^0.14.25", + "eslint": "^8.10.0", + "fast-glob": "^3.2.11", + "fs-extra": "^10.0.1", + "jiti": "^1.13.0", + "magic-string": "^0.26.1", + "rollup": "^2.70.0", + "tsup": "^5.11.13", + "typescript": "^4.6.2", + "vite": "^2.8.6", + "vitest": "^0.5.9", + "webpack": "^5.70.0", + "webpack-cli": "^4.9.2" }, "peerDependencies": { "esbuild": ">=0.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3f9d4c4e..cad18a57 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,69 +1,70 @@ lockfileVersion: 5.3 specifiers: - '@ampproject/remapping': ^1.0.2 - '@antfu/ni': ^0.12.0 + '@ampproject/remapping': ^2.1.2 + '@antfu/ni': ^0.13.2 '@nuxtjs/eslint-config-typescript': ^8.0.0 '@types/express': ^4.17.13 '@types/fs-extra': ^9.0.13 - '@types/node': ^17.0.8 + '@types/node': ^17.0.21 bumpp: ^7.1.1 + chokidar: ^3.5.3 conventional-changelog-cli: ^2.2.2 - enhanced-resolve: ^5.8.3 - esbuild: ^0.14.11 - eslint: ^8.6.0 - fast-glob: ^3.2.10 - fs-extra: ^10.0.0 - jiti: ^1.12.9 - magic-string: ^0.25.7 - rollup: ^2.63.0 - tsup: ^5.11.11 - typescript: ^4.5.4 - vite: ^2.7.10 - vitest: ^0.0.141 - webpack: ^5.66.0 - webpack-cli: ^4.9.1 + enhanced-resolve: ^5.9.2 + esbuild: ^0.14.25 + eslint: ^8.10.0 + fast-glob: ^3.2.11 + fs-extra: ^10.0.1 + jiti: ^1.13.0 + magic-string: ^0.26.1 + rollup: ^2.70.0 + tsup: ^5.11.13 + typescript: ^4.6.2 + vite: ^2.8.6 + vitest: ^0.5.9 + webpack: ^5.70.0 + webpack-cli: ^4.9.2 webpack-virtual-modules: ^0.4.3 dependencies: + chokidar: 3.5.3 webpack-virtual-modules: 0.4.3 devDependencies: - '@ampproject/remapping': 1.0.2 - '@antfu/ni': 0.12.0 - '@nuxtjs/eslint-config-typescript': 8.0.0_eslint@8.6.0+typescript@4.5.4 + '@ampproject/remapping': 2.1.2 + '@antfu/ni': 0.13.2 + '@nuxtjs/eslint-config-typescript': 8.0.0_eslint@8.10.0+typescript@4.6.2 '@types/express': 4.17.13 '@types/fs-extra': 9.0.13 - '@types/node': 17.0.8 + '@types/node': 17.0.21 bumpp: 7.1.1 conventional-changelog-cli: 2.2.2 - enhanced-resolve: 5.8.3 - esbuild: 0.14.11 - eslint: 8.6.0 - fast-glob: 3.2.10 - fs-extra: 10.0.0 - jiti: 1.12.9 - magic-string: 0.25.7 - rollup: 2.63.0 - tsup: 5.11.11_typescript@4.5.4 - typescript: 4.5.4 - vite: 2.7.10 - vitest: 0.0.141 - webpack: 5.66.0_1f87fc823f8224154c39eba6a361cda2 - webpack-cli: 4.9.1_webpack@5.66.0 + enhanced-resolve: 5.9.2 + esbuild: 0.14.25 + eslint: 8.10.0 + fast-glob: 3.2.11 + fs-extra: 10.0.1 + jiti: 1.13.0 + magic-string: 0.26.1 + rollup: 2.70.0 + tsup: 5.11.13_typescript@4.6.2 + typescript: 4.6.2 + vite: 2.8.6 + vitest: 0.5.9 + webpack: 5.70.0_3a6b6ea092ee76c04db8c4e1d09c3dba + webpack-cli: 4.9.2_webpack@5.70.0 packages: - /@ampproject/remapping/1.0.2: - resolution: {integrity: sha512-SncaVxs+E3EdoA9xJgHfWPxZfowAgeIsd71VpqCKP6KNKm6s7zSqqvUc70UpKUFsrV3dAmy6qxHoIj5NG+3DiA==} + /@ampproject/remapping/2.1.2: + resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/resolve-uri': 1.0.0 - sourcemap-codec: 1.4.8 + '@jridgewell/trace-mapping': 0.3.4 dev: true - /@antfu/ni/0.12.0: - resolution: {integrity: sha512-f+uqWBuXoShLpLSaQKHeFUnoUdvMGx8xcXrtyfxK95RGx5guKJVo3kVb2JtLNWkzwYzQvtQ+q0hU9YwSDSTVSw==} + /@antfu/ni/0.13.2: + resolution: {integrity: sha512-iKhPlNUE6fs0g7iRdTJzWFB8XoQb4AbCT46V0mrMsdF1RzyvwnOuzxSjISHQdYzpfirihVG9XpAUy/X540qavg==} hasBin: true dev: true @@ -102,7 +103,7 @@ packages: - supports-color dev: true - /@babel/eslint-parser/7.16.5_@babel+core@7.16.5+eslint@8.6.0: + /@babel/eslint-parser/7.16.5_@babel+core@7.16.5+eslint@8.10.0: resolution: {integrity: sha512-mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: @@ -110,7 +111,7 @@ packages: eslint: ^7.5.0 || ^8.0.0 dependencies: '@babel/core': 7.16.5 - eslint: 8.6.0 + eslint: 8.10.0 eslint-scope: 5.1.1 eslint-visitor-keys: 2.1.0 semver: 6.3.0 @@ -281,13 +282,13 @@ packages: engines: {node: '>=10.0.0'} dev: true - /@eslint/eslintrc/1.0.5: - resolution: {integrity: sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==} + /@eslint/eslintrc/1.2.0: + resolution: {integrity: sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.3 - espree: 9.3.0 + espree: 9.3.1 globals: 13.12.0 ignore: 4.0.6 import-fresh: 3.3.0 @@ -318,11 +319,22 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@jridgewell/resolve-uri/1.0.0: - resolution: {integrity: sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA==} + /@jridgewell/resolve-uri/3.0.5: + resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==} engines: {node: '>=6.0.0'} dev: true + /@jridgewell/sourcemap-codec/1.4.11: + resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==} + dev: true + + /@jridgewell/trace-mapping/0.3.4: + resolution: {integrity: sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==} + dependencies: + '@jridgewell/resolve-uri': 3.0.5 + '@jridgewell/sourcemap-codec': 1.4.11 + dev: true + /@jsdevtools/ez-spawn/3.0.4: resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} engines: {node: '>=10'} @@ -354,16 +366,16 @@ packages: fastq: 1.13.0 dev: true - /@nuxtjs/eslint-config-typescript/8.0.0_eslint@8.6.0+typescript@4.5.4: + /@nuxtjs/eslint-config-typescript/8.0.0_eslint@8.10.0+typescript@4.6.2: resolution: {integrity: sha512-JcRIDCN+lfhzeNw6QGxjUSmXzfnRsEc2gTWO7Kbz9JfznTNwsI+1oWJ2wwOb6MP82d8SkDgu4yINkbDGDgkdaA==} peerDependencies: eslint: ^8.3.0 dependencies: - '@nuxtjs/eslint-config': 8.0.0_0c623337b72e31c0f65a874e97fd10ad - '@typescript-eslint/eslint-plugin': 5.8.1_13039593e64cd539d0b4c5c2da390958 - '@typescript-eslint/parser': 5.8.1_eslint@8.6.0+typescript@4.5.4 - eslint: 8.6.0 - eslint-import-resolver-typescript: 2.5.0_eslint@8.6.0 + '@nuxtjs/eslint-config': 8.0.0_2f6630929717c2106910f31f442b4b7f + '@typescript-eslint/eslint-plugin': 5.8.1_1fffd7988ffb4ffd626d9a044463acbe + '@typescript-eslint/parser': 5.8.1_eslint@8.10.0+typescript@4.6.2 + eslint: 8.10.0 + eslint-import-resolver-typescript: 2.5.0_eslint@8.10.0 transitivePeerDependencies: - eslint-plugin-import - jest @@ -371,19 +383,19 @@ packages: - typescript dev: true - /@nuxtjs/eslint-config/8.0.0_0c623337b72e31c0f65a874e97fd10ad: + /@nuxtjs/eslint-config/8.0.0_2f6630929717c2106910f31f442b4b7f: resolution: {integrity: sha512-NuZSiMdSCuBukwWgmNQuMYoA/jgL9SLfecOurUUQw/1QTcD0YKh0RxY4h9rNJB2jkfayzmZ+Y11hlOml40FVvw==} peerDependencies: eslint: ^8.3.0 dependencies: - eslint: 8.6.0 - eslint-config-standard: 16.0.3_8b21c0606256a40fa96d73aa4f2f6e1b - eslint-plugin-import: 2.25.3_eslint@8.6.0 - eslint-plugin-jest: 25.3.2_0c623337b72e31c0f65a874e97fd10ad - eslint-plugin-node: 11.1.0_eslint@8.6.0 - eslint-plugin-promise: 5.2.0_eslint@8.6.0 - eslint-plugin-unicorn: 39.0.0_eslint@8.6.0 - eslint-plugin-vue: 8.2.0_eslint@8.6.0 + eslint: 8.10.0 + eslint-config-standard: 16.0.3_3a72dc3455ad7428c7468b2d5c3db003 + eslint-plugin-import: 2.25.3_eslint@8.10.0 + eslint-plugin-jest: 25.3.2_2f6630929717c2106910f31f442b4b7f + eslint-plugin-node: 11.1.0_eslint@8.10.0 + eslint-plugin-promise: 5.2.0_eslint@8.10.0 + eslint-plugin-unicorn: 39.0.0_eslint@8.10.0 + eslint-plugin-vue: 8.2.0_eslint@8.10.0 transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' - jest @@ -395,7 +407,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 17.0.8 + '@types/node': 17.0.21 dev: true /@types/chai-subset/1.3.3: @@ -411,31 +423,31 @@ packages: /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 17.0.8 + '@types/node': 17.0.21 dev: true - /@types/eslint-scope/3.7.2: - resolution: {integrity: sha512-TzgYCWoPiTeRg6RQYgtuW7iODtVoKu3RVL72k3WohqhjfaOLK5Mg2T4Tg1o2bSfu0vPkoI48wdQFv5b/Xe04wQ==} + /@types/eslint-scope/3.7.3: + resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==} dependencies: '@types/eslint': 8.2.1 - '@types/estree': 0.0.50 + '@types/estree': 0.0.51 dev: true /@types/eslint/8.2.1: resolution: {integrity: sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ==} dependencies: - '@types/estree': 0.0.50 + '@types/estree': 0.0.51 '@types/json-schema': 7.0.9 dev: true - /@types/estree/0.0.50: - resolution: {integrity: sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==} + /@types/estree/0.0.51: + resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} dev: true /@types/express-serve-static-core/4.17.27: resolution: {integrity: sha512-e/sVallzUTPdyOTiqi8O8pMdBBphscvI6E4JYaKlja4Lm+zh7UFSSdW5VMkRbhDtmrONqOUHOXRguPsDckzxNA==} dependencies: - '@types/node': 17.0.8 + '@types/node': 17.0.21 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: true @@ -452,7 +464,7 @@ packages: /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 17.0.8 + '@types/node': 17.0.21 dev: true /@types/json-schema/7.0.9: @@ -471,8 +483,8 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node/17.0.8: - resolution: {integrity: sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==} + /@types/node/17.0.21: + resolution: {integrity: sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==} dev: true /@types/normalize-package-data/2.4.1: @@ -491,10 +503,10 @@ packages: resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} dependencies: '@types/mime': 1.3.2 - '@types/node': 17.0.8 + '@types/node': 17.0.21 dev: true - /@typescript-eslint/eslint-plugin/5.8.1_13039593e64cd539d0b4c5c2da390958: + /@typescript-eslint/eslint-plugin/5.8.1_1fffd7988ffb4ffd626d9a044463acbe: resolution: {integrity: sha512-wTZ5oEKrKj/8/366qTM366zqhIKAp6NCMweoRONtfuC07OAU9nVI2GZZdqQ1qD30WAAtcPdkH+npDwtRFdp4Rw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -505,22 +517,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 5.8.1_eslint@8.6.0+typescript@4.5.4 - '@typescript-eslint/parser': 5.8.1_eslint@8.6.0+typescript@4.5.4 + '@typescript-eslint/experimental-utils': 5.8.1_eslint@8.10.0+typescript@4.6.2 + '@typescript-eslint/parser': 5.8.1_eslint@8.10.0+typescript@4.6.2 '@typescript-eslint/scope-manager': 5.8.1 debug: 4.3.3 - eslint: 8.6.0 + eslint: 8.10.0 functional-red-black-tree: 1.0.1 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.5 - tsutils: 3.21.0_typescript@4.5.4 - typescript: 4.5.4 + tsutils: 3.21.0_typescript@4.6.2 + typescript: 4.6.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/experimental-utils/5.8.1_eslint@8.6.0+typescript@4.5.4: + /@typescript-eslint/experimental-utils/5.8.1_eslint@8.10.0+typescript@4.6.2: resolution: {integrity: sha512-fbodVnjIDU4JpeXWRDsG5IfIjYBxEvs8EBO8W1+YVdtrc2B9ppfof5sZhVEDOtgTfFHnYQJDI8+qdqLYO4ceww==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -529,16 +541,16 @@ packages: '@types/json-schema': 7.0.9 '@typescript-eslint/scope-manager': 5.8.1 '@typescript-eslint/types': 5.8.1 - '@typescript-eslint/typescript-estree': 5.8.1_typescript@4.5.4 - eslint: 8.6.0 + '@typescript-eslint/typescript-estree': 5.8.1_typescript@4.6.2 + eslint: 8.10.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.6.0 + eslint-utils: 3.0.0_eslint@8.10.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/parser/5.8.1_eslint@8.6.0+typescript@4.5.4: + /@typescript-eslint/parser/5.8.1_eslint@8.10.0+typescript@4.6.2: resolution: {integrity: sha512-K1giKHAjHuyB421SoXMXFHHVI4NdNY603uKw92++D3qyxSeYvC10CBJ/GE5Thpo4WTUvu1mmJI2/FFkz38F2Gw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -550,10 +562,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.8.1 '@typescript-eslint/types': 5.8.1 - '@typescript-eslint/typescript-estree': 5.8.1_typescript@4.5.4 + '@typescript-eslint/typescript-estree': 5.8.1_typescript@4.6.2 debug: 4.3.3 - eslint: 8.6.0 - typescript: 4.5.4 + eslint: 8.10.0 + typescript: 4.6.2 transitivePeerDependencies: - supports-color dev: true @@ -571,7 +583,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.8.1_typescript@4.5.4: + /@typescript-eslint/typescript-estree/5.8.1_typescript@4.6.2: resolution: {integrity: sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -586,8 +598,8 @@ packages: globby: 11.0.4 is-glob: 4.0.3 semver: 7.3.5 - tsutils: 3.21.0_typescript@4.5.4 - typescript: 4.5.4 + tsutils: 3.21.0_typescript@4.6.2 + typescript: 4.6.2 transitivePeerDependencies: - supports-color dev: true @@ -706,27 +718,27 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@webpack-cli/configtest/1.1.0_webpack-cli@4.9.1+webpack@5.66.0: - resolution: {integrity: sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==} + /@webpack-cli/configtest/1.1.1_webpack-cli@4.9.2+webpack@5.70.0: + resolution: {integrity: sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==} peerDependencies: webpack: 4.x.x || 5.x.x webpack-cli: 4.x.x dependencies: - webpack: 5.66.0_1f87fc823f8224154c39eba6a361cda2 - webpack-cli: 4.9.1_webpack@5.66.0 + webpack: 5.70.0_3a6b6ea092ee76c04db8c4e1d09c3dba + webpack-cli: 4.9.2_webpack@5.70.0 dev: true - /@webpack-cli/info/1.4.0_webpack-cli@4.9.1: - resolution: {integrity: sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==} + /@webpack-cli/info/1.4.1_webpack-cli@4.9.2: + resolution: {integrity: sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==} peerDependencies: webpack-cli: 4.x.x dependencies: envinfo: 7.8.1 - webpack-cli: 4.9.1_webpack@5.66.0 + webpack-cli: 4.9.2_webpack@5.70.0 dev: true - /@webpack-cli/serve/1.6.0_webpack-cli@4.9.1: - resolution: {integrity: sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==} + /@webpack-cli/serve/1.6.1_webpack-cli@4.9.2: + resolution: {integrity: sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==} peerDependencies: webpack-cli: 4.x.x webpack-dev-server: '*' @@ -734,7 +746,7 @@ packages: webpack-dev-server: optional: true dependencies: - webpack-cli: 4.9.1_webpack@5.66.0 + webpack-cli: 4.9.2_webpack@5.70.0 dev: true /@xtuc/ieee754/1.2.0: @@ -796,11 +808,6 @@ packages: uri-js: 4.4.1 dev: true - /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -830,7 +837,6 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.0 - dev: true /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -886,7 +892,6 @@ packages: /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - dev: true /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -900,7 +905,6 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: true /browserslist/4.19.1: resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==} @@ -936,12 +940,14 @@ packages: semver: 7.3.5 dev: true - /bundle-require/2.2.0_esbuild@0.14.11: - resolution: {integrity: sha512-JDVxYEAxEX1g8AWtadiIkCkFf42RulEl5AOIvUa4cpuEL/VKpK2lJwogyswHnp+qizNQxM0Ylamw7CjPRaJZuA==} + /bundle-require/3.0.4_esbuild@0.14.25: + resolution: {integrity: sha512-VXG6epB1yrLAvWVQpl92qF347/UXmncQj7J3U8kZEbdVZ1ZkQyr4hYeL/9RvcE8vVVdp53dY78Fd/3pqfRqI1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.13' dependencies: - esbuild: 0.14.11 + esbuild: 0.14.25 + load-tsconfig: 0.2.3 dev: true /cac/6.7.12: @@ -983,14 +989,15 @@ packages: resolution: {integrity: sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==} dev: true - /chai/4.3.4: - resolution: {integrity: sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==} + /chai/4.3.6: + resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.2 deep-eql: 3.0.1 get-func-name: 2.0.0 + loupe: 2.3.4 pathval: 1.1.1 type-detect: 4.0.8 dev: true @@ -1016,8 +1023,8 @@ packages: resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=} dev: true - /chokidar/3.5.2: - resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.2 @@ -1029,7 +1036,6 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.2 - dev: true /chrome-trace-event/1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} @@ -1401,21 +1407,14 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /enhanced-resolve/5.8.3: - resolution: {integrity: sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==} + /enhanced-resolve/5.9.2: + resolution: {integrity: sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==} engines: {node: '>=10.13.0'} dependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 tapable: 2.2.1 dev: true - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.1 - dev: true - /envinfo/7.8.1: resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} engines: {node: '>=4'} @@ -1467,333 +1466,212 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-android-arm64/0.13.15: - resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==} - cpu: [arm64] + /esbuild-android-64/0.14.25: + resolution: {integrity: sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==} + engines: {node: '>=12'} + cpu: [x64] os: [android] requiresBuild: true dev: true optional: true - /esbuild-android-arm64/0.14.11: - resolution: {integrity: sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw==} + /esbuild-android-arm64/0.14.25: + resolution: {integrity: sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /esbuild-darwin-64/0.13.15: - resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.14.11: - resolution: {integrity: sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ==} + /esbuild-darwin-64/0.14.25: + resolution: {integrity: sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /esbuild-darwin-arm64/0.13.15: - resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.14.11: - resolution: {integrity: sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg==} + /esbuild-darwin-arm64/0.14.25: + resolution: {integrity: sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /esbuild-freebsd-64/0.13.15: - resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.14.11: - resolution: {integrity: sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA==} + /esbuild-freebsd-64/0.14.25: + resolution: {integrity: sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /esbuild-freebsd-arm64/0.13.15: - resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.14.11: - resolution: {integrity: sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w==} + /esbuild-freebsd-arm64/0.14.25: + resolution: {integrity: sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /esbuild-linux-32/0.13.15: - resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.14.11: - resolution: {integrity: sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg==} + /esbuild-linux-32/0.14.25: + resolution: {integrity: sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-64/0.13.15: - resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.14.11: - resolution: {integrity: sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg==} + /esbuild-linux-64/0.14.25: + resolution: {integrity: sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm/0.13.15: - resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.14.11: - resolution: {integrity: sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ==} + /esbuild-linux-arm/0.14.25: + resolution: {integrity: sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm64/0.13.15: - resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.14.11: - resolution: {integrity: sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg==} + /esbuild-linux-arm64/0.14.25: + resolution: {integrity: sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-mips64le/0.13.15: - resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.14.11: - resolution: {integrity: sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw==} + /esbuild-linux-mips64le/0.14.25: + resolution: {integrity: sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-ppc64le/0.13.15: - resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==} + /esbuild-linux-ppc64le/0.14.25: + resolution: {integrity: sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-ppc64le/0.14.11: - resolution: {integrity: sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ==} - cpu: [ppc64] + /esbuild-linux-riscv64/0.14.25: + resolution: {integrity: sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==} + engines: {node: '>=12'} + cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-s390x/0.14.11: - resolution: {integrity: sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw==} + /esbuild-linux-s390x/0.14.25: + resolution: {integrity: sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-netbsd-64/0.13.15: - resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.14.11: - resolution: {integrity: sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw==} + /esbuild-netbsd-64/0.14.25: + resolution: {integrity: sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true dev: true optional: true - /esbuild-openbsd-64/0.13.15: - resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64/0.14.11: - resolution: {integrity: sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q==} + /esbuild-openbsd-64/0.14.25: + resolution: {integrity: sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true dev: true optional: true - /esbuild-sunos-64/0.13.15: - resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64/0.14.11: - resolution: {integrity: sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg==} + /esbuild-sunos-64/0.14.25: + resolution: {integrity: sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true dev: true optional: true - /esbuild-windows-32/0.13.15: - resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-32/0.14.11: - resolution: {integrity: sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ==} + /esbuild-windows-32/0.14.25: + resolution: {integrity: sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /esbuild-windows-64/0.13.15: - resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64/0.14.11: - resolution: {integrity: sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg==} + /esbuild-windows-64/0.14.25: + resolution: {integrity: sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /esbuild-windows-arm64/0.13.15: - resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64/0.14.11: - resolution: {integrity: sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ==} + /esbuild-windows-arm64/0.14.25: + resolution: {integrity: sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /esbuild/0.13.15: - resolution: {integrity: sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==} - hasBin: true - requiresBuild: true - optionalDependencies: - esbuild-android-arm64: 0.13.15 - esbuild-darwin-64: 0.13.15 - esbuild-darwin-arm64: 0.13.15 - esbuild-freebsd-64: 0.13.15 - esbuild-freebsd-arm64: 0.13.15 - esbuild-linux-32: 0.13.15 - esbuild-linux-64: 0.13.15 - esbuild-linux-arm: 0.13.15 - esbuild-linux-arm64: 0.13.15 - esbuild-linux-mips64le: 0.13.15 - esbuild-linux-ppc64le: 0.13.15 - esbuild-netbsd-64: 0.13.15 - esbuild-openbsd-64: 0.13.15 - esbuild-sunos-64: 0.13.15 - esbuild-windows-32: 0.13.15 - esbuild-windows-64: 0.13.15 - esbuild-windows-arm64: 0.13.15 - dev: true - - /esbuild/0.14.11: - resolution: {integrity: sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg==} + /esbuild/0.14.25: + resolution: {integrity: sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-arm64: 0.14.11 - esbuild-darwin-64: 0.14.11 - esbuild-darwin-arm64: 0.14.11 - esbuild-freebsd-64: 0.14.11 - esbuild-freebsd-arm64: 0.14.11 - esbuild-linux-32: 0.14.11 - esbuild-linux-64: 0.14.11 - esbuild-linux-arm: 0.14.11 - esbuild-linux-arm64: 0.14.11 - esbuild-linux-mips64le: 0.14.11 - esbuild-linux-ppc64le: 0.14.11 - esbuild-linux-s390x: 0.14.11 - esbuild-netbsd-64: 0.14.11 - esbuild-openbsd-64: 0.14.11 - esbuild-sunos-64: 0.14.11 - esbuild-windows-32: 0.14.11 - esbuild-windows-64: 0.14.11 - esbuild-windows-arm64: 0.14.11 + esbuild-android-64: 0.14.25 + esbuild-android-arm64: 0.14.25 + esbuild-darwin-64: 0.14.25 + esbuild-darwin-arm64: 0.14.25 + esbuild-freebsd-64: 0.14.25 + esbuild-freebsd-arm64: 0.14.25 + esbuild-linux-32: 0.14.25 + esbuild-linux-64: 0.14.25 + esbuild-linux-arm: 0.14.25 + esbuild-linux-arm64: 0.14.25 + esbuild-linux-mips64le: 0.14.25 + esbuild-linux-ppc64le: 0.14.25 + esbuild-linux-riscv64: 0.14.25 + esbuild-linux-s390x: 0.14.25 + esbuild-netbsd-64: 0.14.25 + esbuild-openbsd-64: 0.14.25 + esbuild-sunos-64: 0.14.25 + esbuild-windows-32: 0.14.25 + esbuild-windows-64: 0.14.25 + esbuild-windows-arm64: 0.14.25 dev: true /escalade/3.1.1: @@ -1811,7 +1689,7 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-standard/16.0.3_8b21c0606256a40fa96d73aa4f2f6e1b: + /eslint-config-standard/16.0.3_3a72dc3455ad7428c7468b2d5c3db003: resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} peerDependencies: eslint: ^7.12.1 @@ -1819,10 +1697,10 @@ packages: eslint-plugin-node: ^11.1.0 eslint-plugin-promise: ^4.2.1 || ^5.0.0 dependencies: - eslint: 8.6.0 - eslint-plugin-import: 2.25.3_eslint@8.6.0 - eslint-plugin-node: 11.1.0_eslint@8.6.0 - eslint-plugin-promise: 5.2.0_eslint@8.6.0 + eslint: 8.10.0 + eslint-plugin-import: 2.25.3_eslint@8.10.0 + eslint-plugin-node: 11.1.0_eslint@8.10.0 + eslint-plugin-promise: 5.2.0_eslint@8.10.0 dev: true /eslint-import-resolver-node/0.3.6: @@ -1832,7 +1710,7 @@ packages: resolve: 1.20.0 dev: true - /eslint-import-resolver-typescript/2.5.0_eslint@8.6.0: + /eslint-import-resolver-typescript/2.5.0_eslint@8.10.0: resolution: {integrity: sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==} engines: {node: '>=4'} peerDependencies: @@ -1840,7 +1718,7 @@ packages: eslint-plugin-import: '*' dependencies: debug: 4.3.3 - eslint: 8.6.0 + eslint: 8.10.0 glob: 7.2.0 is-glob: 4.0.3 resolve: 1.20.0 @@ -1858,18 +1736,18 @@ packages: pkg-dir: 2.0.0 dev: true - /eslint-plugin-es/3.0.1_eslint@8.6.0: + /eslint-plugin-es/3.0.1_eslint@8.10.0: resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.6.0 + eslint: 8.10.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import/2.25.3_eslint@8.6.0: + /eslint-plugin-import/2.25.3_eslint@8.10.0: resolution: {integrity: sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==} engines: {node: '>=4'} peerDependencies: @@ -1879,7 +1757,7 @@ packages: array.prototype.flat: 1.2.5 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.6.0 + eslint: 8.10.0 eslint-import-resolver-node: 0.3.6 eslint-module-utils: 2.7.1 has: 1.0.3 @@ -1891,7 +1769,7 @@ packages: tsconfig-paths: 3.12.0 dev: true - /eslint-plugin-jest/25.3.2_0c623337b72e31c0f65a874e97fd10ad: + /eslint-plugin-jest/25.3.2_2f6630929717c2106910f31f442b4b7f: resolution: {integrity: sha512-1aPC7RRJkMCNgklHMDECw8fnzag3JBH53LaxmFkDTR7+PfMCO5V6f8XFRHoT2I+Fr4pVO9cPdRGlf7/haB2O5Q==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} peerDependencies: @@ -1904,22 +1782,22 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.8.1_13039593e64cd539d0b4c5c2da390958 - '@typescript-eslint/experimental-utils': 5.8.1_eslint@8.6.0+typescript@4.5.4 - eslint: 8.6.0 + '@typescript-eslint/eslint-plugin': 5.8.1_1fffd7988ffb4ffd626d9a044463acbe + '@typescript-eslint/experimental-utils': 5.8.1_eslint@8.10.0+typescript@4.6.2 + eslint: 8.10.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-node/11.1.0_eslint@8.6.0: + /eslint-plugin-node/11.1.0_eslint@8.10.0: resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.6.0 - eslint-plugin-es: 3.0.1_eslint@8.6.0 + eslint: 8.10.0 + eslint-plugin-es: 3.0.1_eslint@8.10.0 eslint-utils: 2.1.0 ignore: 5.2.0 minimatch: 3.0.4 @@ -1927,16 +1805,16 @@ packages: semver: 6.3.0 dev: true - /eslint-plugin-promise/5.2.0_eslint@8.6.0: + /eslint-plugin-promise/5.2.0_eslint@8.10.0: resolution: {integrity: sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: eslint: ^7.0.0 dependencies: - eslint: 8.6.0 + eslint: 8.10.0 dev: true - /eslint-plugin-unicorn/39.0.0_eslint@8.6.0: + /eslint-plugin-unicorn/39.0.0_eslint@8.10.0: resolution: {integrity: sha512-fd5RK2FtYjGcIx3wra7csIE/wkkmBo22T1gZtRTsLr1Mb+KsFKJ+JOdSqhHXQUrI/JTs/Mon64cEYzTgSCbltw==} engines: {node: '>=12'} peerDependencies: @@ -1945,9 +1823,9 @@ packages: '@babel/helper-validator-identifier': 7.15.7 ci-info: 3.3.0 clean-regexp: 1.0.0 - eslint: 8.6.0 - eslint-template-visitor: 2.3.2_eslint@8.6.0 - eslint-utils: 3.0.0_eslint@8.6.0 + eslint: 8.10.0 + eslint-template-visitor: 2.3.2_eslint@8.10.0 + eslint-utils: 3.0.0_eslint@8.10.0 esquery: 1.4.0 indent-string: 4.0.0 is-builtin-module: 3.1.0 @@ -1962,17 +1840,17 @@ packages: - supports-color dev: true - /eslint-plugin-vue/8.2.0_eslint@8.6.0: + /eslint-plugin-vue/8.2.0_eslint@8.10.0: resolution: {integrity: sha512-cLIdTuOAMXyHeQ4drYKcZfoyzdwdBpH279X8/N0DgmotEI9yFKb5O/cAgoie/CkQZCH/MOmh0xw/KEfS90zY2A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.6.0 - eslint-utils: 3.0.0_eslint@8.6.0 + eslint: 8.10.0 + eslint-utils: 3.0.0_eslint@8.10.0 natural-compare: 1.4.0 semver: 7.3.5 - vue-eslint-parser: 8.0.1_eslint@8.6.0 + vue-eslint-parser: 8.0.1_eslint@8.10.0 transitivePeerDependencies: - supports-color dev: true @@ -1993,22 +1871,22 @@ packages: estraverse: 5.3.0 dev: true - /eslint-scope/7.1.0: - resolution: {integrity: sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==} + /eslint-scope/7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-template-visitor/2.3.2_eslint@8.6.0: + /eslint-template-visitor/2.3.2_eslint@8.10.0: resolution: {integrity: sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==} peerDependencies: eslint: '>=7.0.0' dependencies: '@babel/core': 7.16.5 - '@babel/eslint-parser': 7.16.5_@babel+core@7.16.5+eslint@8.6.0 - eslint: 8.6.0 + '@babel/eslint-parser': 7.16.5_@babel+core@7.16.5+eslint@8.10.0 + eslint: 8.10.0 eslint-visitor-keys: 2.1.0 esquery: 1.4.0 multimap: 1.1.0 @@ -2023,13 +1901,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.6.0: + /eslint-utils/3.0.0_eslint@8.10.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.6.0 + eslint: 8.10.0 eslint-visitor-keys: 2.1.0 dev: true @@ -2048,24 +1926,28 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.6.0: - resolution: {integrity: sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==} + /eslint-visitor-keys/3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.10.0: + resolution: {integrity: sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.0.5 + '@eslint/eslintrc': 1.2.0 '@humanwhocodes/config-array': 0.9.2 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.3 doctrine: 3.0.0 - enquirer: 2.3.6 escape-string-regexp: 4.0.0 - eslint-scope: 7.1.0 - eslint-utils: 3.0.0_eslint@8.6.0 - eslint-visitor-keys: 3.1.0 - espree: 9.3.0 + eslint-scope: 7.1.1 + eslint-utils: 3.0.0_eslint@8.10.0 + eslint-visitor-keys: 3.3.0 + espree: 9.3.1 esquery: 1.4.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -2073,7 +1955,7 @@ packages: functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 globals: 13.12.0 - ignore: 4.0.6 + ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 @@ -2084,9 +1966,7 @@ packages: minimatch: 3.0.4 natural-compare: 1.4.0 optionator: 0.9.1 - progress: 2.0.3 regexpp: 3.2.0 - semver: 7.3.5 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 @@ -2104,13 +1984,13 @@ packages: eslint-visitor-keys: 3.1.0 dev: true - /espree/9.3.0: - resolution: {integrity: sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==} + /espree/9.3.1: + resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.7.0 acorn-jsx: 5.3.2_acorn@8.7.0 - eslint-visitor-keys: 3.1.0 + eslint-visitor-keys: 3.3.0 dev: true /esquery/1.4.0: @@ -2166,8 +2046,8 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-glob/3.2.10: - resolution: {integrity: sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==} + /fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2207,7 +2087,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /find-replace/3.0.0: resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} @@ -2243,11 +2122,11 @@ packages: resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} dev: true - /fs-extra/10.0.0: - resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} + /fs-extra/10.0.1: + resolution: {integrity: sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==} engines: {node: '>=12'} dependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -2261,7 +2140,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true optional: true /function-bind/1.1.1: @@ -2358,7 +2236,6 @@ packages: engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: true /glob-parent/6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -2411,16 +2288,12 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.10 + fast-glob: 3.2.11 ignore: 5.2.0 merge2: 1.4.1 slash: 3.0.0 dev: true - /graceful-fs/4.2.8: - resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} - dev: true - /graceful-fs/4.2.9: resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} dev: true @@ -2587,7 +2460,6 @@ packages: engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 - dev: true /is-boolean-object/1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -2615,6 +2487,12 @@ packages: has: 1.0.3 dev: true + /is-core-module/2.8.1: + resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} + dependencies: + has: 1.0.3 + dev: true + /is-date-object/1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -2625,7 +2503,6 @@ packages: /is-extglob/2.1.1: resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} engines: {node: '>=0.10.0'} - dev: true /is-fullwidth-code-point/3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} @@ -2637,7 +2514,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: true /is-negative-zero/2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} @@ -2654,7 +2530,6 @@ packages: /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true /is-obj/2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} @@ -2734,13 +2609,13 @@ packages: resolution: {integrity: sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 17.0.8 + '@types/node': 17.0.21 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jiti/1.12.9: - resolution: {integrity: sha512-TdcJywkQtcwLxogc4rSMAi479G2eDPzfW0fLySks7TPhgZZ4s/tM6stnzayIh3gS/db3zExWJyUx4cNWrwAmoQ==} + /jiti/1.13.0: + resolution: {integrity: sha512-/n9mNxZj/HDSrincJ6RP+L+yXbpnB8FybySBa+IjIaoH9FIxBbrbRT5XUbe8R7zuVM2AQqNMNDDqz0bzx3znOQ==} hasBin: true dev: true @@ -2806,7 +2681,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 dev: true /jsonparse/1.3.1: @@ -2845,12 +2720,17 @@ packages: resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 dev: true + /load-tsconfig/0.2.3: + resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /loader-runner/4.2.0: resolution: {integrity: sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==} engines: {node: '>=6.11.5'} @@ -2892,6 +2772,12 @@ packages: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true + /loupe/2.3.4: + resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} + dependencies: + get-func-name: 2.0.0 + dev: true + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -2899,8 +2785,9 @@ packages: yallist: 4.0.0 dev: true - /magic-string/0.25.7: - resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} + /magic-string/0.26.1: + resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==} + engines: {node: '>=12'} dependencies: sourcemap-codec: 1.4.8 dev: true @@ -3019,8 +2906,8 @@ packages: thenify-all: 1.6.0 dev: true - /nanoid/3.1.30: - resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==} + /nanoid/3.3.1: + resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true @@ -3059,7 +2946,6 @@ packages: /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true /npm-run-path/4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -3236,7 +3122,6 @@ packages: /picomatch/2.3.0: resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} engines: {node: '>=8.6'} - dev: true /pify/2.3.0: resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} @@ -3286,13 +3171,13 @@ packages: yaml: 1.10.2 dev: true - /postcss/8.4.5: - resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==} + /postcss/8.4.8: + resolution: {integrity: sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.1.30 + nanoid: 3.3.1 picocolors: 1.0.0 - source-map-js: 1.0.1 + source-map-js: 1.0.2 dev: true /prelude-ls/1.2.1: @@ -3304,11 +3189,6 @@ packages: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true - /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - /prompts/2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -3404,13 +3284,12 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.0 - dev: true /rechoir/0.7.1: resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.20.0 + resolve: 1.22.0 dev: true /redent/3.0.0: @@ -3460,6 +3339,15 @@ packages: path-parse: 1.0.7 dev: true + /resolve/1.22.0: + resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + hasBin: true + dependencies: + is-core-module: 2.8.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -3472,8 +3360,8 @@ packages: glob: 7.2.0 dev: true - /rollup/2.63.0: - resolution: {integrity: sha512-nps0idjmD+NXl6OREfyYXMn/dar3WGcyKn+KBzPdaLecub3x/LrId0wUcthcr8oZUAcZAR8NKcfGGFlNgGL1kQ==} + /rollup/2.70.0: + resolution: {integrity: sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -3573,8 +3461,8 @@ packages: engines: {node: '>=8'} dev: true - /source-map-js/1.0.1: - resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} dev: true @@ -3741,6 +3629,11 @@ packages: has-flag: 4.0.0 dev: true + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + /tapable/2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -3759,7 +3652,7 @@ packages: uuid: 3.4.0 dev: true - /terser-webpack-plugin/5.3.0_27bde85c589e68a41571f11621b58bd5: + /terser-webpack-plugin/5.3.0_8207d2a0249c39a0703e8be195068c7e: resolution: {integrity: sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -3775,13 +3668,13 @@ packages: uglify-js: optional: true dependencies: - esbuild: 0.14.11 + esbuild: 0.14.25 jest-worker: 27.4.5 schema-utils: 3.1.1 serialize-javascript: 6.0.0 source-map: 0.6.1 terser: 5.10.0_acorn@8.7.0 - webpack: 5.66.0_1f87fc823f8224154c39eba6a361cda2 + webpack: 5.70.0_3a6b6ea092ee76c04db8c4e1d09c3dba transitivePeerDependencies: - acorn dev: true @@ -3841,13 +3734,13 @@ packages: readable-stream: 3.6.0 dev: true - /tinypool/0.1.1: - resolution: {integrity: sha512-sW2fQZ2BRb/GX5v55NkHiTrbMLx0eX0xNpP+VGhOe2f7Oo04+LeClDyM19zCE/WCy7jJ8kzIJ0Ojrxj3UhN9Sg==} + /tinypool/0.1.2: + resolution: {integrity: sha512-fvtYGXoui2RpeMILfkvGIgOVkzJEGediv8UJt7TxdAOY8pnvUkFg/fkvqTfXG9Acc9S17Cnn1S4osDc2164guA==} engines: {node: '>=14.0.0'} dev: true - /tinyspy/0.2.8: - resolution: {integrity: sha512-4VXqQzzh9gC5uOLk77cLr9R3wqJq07xJlgM9IUdCNJCet139r+046ETKbU1x7mGs7B0k7eopyH5U6yflbBXNyA==} + /tinyspy/0.3.0: + resolution: {integrity: sha512-c5uFHqtUp74R2DJE3/Efg0mH5xicmgziaQXMm/LvuuZn3RdpADH32aEGDRyCzObXT1DNfwDMqRQ/Drh1MlO12g==} engines: {node: '>=14.0.0'} dev: true @@ -3861,7 +3754,6 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true /tree-kill/1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} @@ -3890,8 +3782,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tsup/5.11.11_typescript@4.5.4: - resolution: {integrity: sha512-rgbTu+KhAI9PdGUS07rKohDXbRLTstBGJaxl75q7RZYRGF+n+kN8L4RlXY5pqYb9Hsq0gEB6nS39v7nSvVBS+g==} + /tsup/5.11.13_typescript@4.6.2: + resolution: {integrity: sha512-NVMK01gVmojZn7+iZwxRK1CzW2BIabaVMyEjs7Nm9lm4DrSf7IAqs2F3fg0vT7rH72x1cIBsW9U/TlWrCvHVQQ==} hasBin: true peerDependencies: typescript: ^4.1.0 @@ -3899,34 +3791,34 @@ packages: typescript: optional: true dependencies: - bundle-require: 2.2.0_esbuild@0.14.11 + bundle-require: 3.0.4_esbuild@0.14.25 cac: 6.7.12 - chokidar: 3.5.2 + chokidar: 3.5.3 debug: 4.3.3 - esbuild: 0.14.11 + esbuild: 0.14.25 execa: 5.1.1 globby: 11.0.4 joycon: 3.1.1 postcss-load-config: 3.1.0 resolve-from: 5.0.0 - rollup: 2.63.0 + rollup: 2.70.0 source-map: 0.7.3 sucrase: 3.20.3 tree-kill: 1.2.2 - typescript: 4.5.4 + typescript: 4.6.2 transitivePeerDependencies: - supports-color - ts-node dev: true - /tsutils/3.21.0_typescript@4.5.4: + /tsutils/3.21.0_typescript@4.6.2: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.5.4 + typescript: 4.6.2 dev: true /type-check/0.4.0: @@ -3961,8 +3853,8 @@ packages: engines: {node: '>=8'} dev: true - /typescript/4.5.4: - resolution: {integrity: sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==} + /typescript/4.6.2: + resolution: {integrity: sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -4021,8 +3913,8 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite/2.7.10: - resolution: {integrity: sha512-KEY96ntXUid1/xJihJbgmLZx7QSC2D4Tui0FdS0Old5OokYzFclcofhtxtjDdGOk/fFpPbHv9yw88+rB93Tb8w==} + /vite/2.8.6: + resolution: {integrity: sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug==} engines: {node: '>=12.2.0'} hasBin: true peerDependencies: @@ -4037,16 +3929,16 @@ packages: stylus: optional: true dependencies: - esbuild: 0.13.15 - postcss: 8.4.5 - resolve: 1.20.0 - rollup: 2.63.0 + esbuild: 0.14.25 + postcss: 8.4.8 + resolve: 1.22.0 + rollup: 2.70.0 optionalDependencies: fsevents: 2.3.2 dev: true - /vitest/0.0.141: - resolution: {integrity: sha512-CQwNWGbifAs5OrG1MXyiveeFT3KYpU/UZiZzNUR5ZHMUWKam9OeoDX0U3sFuyaERp/0b2vhoL0oaMccY2PJPSQ==} + /vitest/0.5.9: + resolution: {integrity: sha512-R8lRP9Q1yIbwr8pDf2gvw4PFe8H5YMyHhBcdyfnUh6toLfCR10jrdI/WkNxdo5I4H/9XrMX9t+SAavdJExNdKg==} engines: {node: '>=14.14.0'} hasBin: true peerDependencies: @@ -4066,25 +3958,25 @@ packages: dependencies: '@types/chai': 4.3.0 '@types/chai-subset': 1.3.3 - chai: 4.3.4 + chai: 4.3.6 local-pkg: 0.4.1 - tinypool: 0.1.1 - tinyspy: 0.2.8 - vite: 2.7.10 + tinypool: 0.1.2 + tinyspy: 0.3.0 + vite: 2.8.6 transitivePeerDependencies: - less - sass - stylus dev: true - /vue-eslint-parser/8.0.1_eslint@8.6.0: + /vue-eslint-parser/8.0.1_eslint@8.10.0: resolution: {integrity: sha512-lhWjDXJhe3UZw2uu3ztX51SJAPGPey1Tff2RK3TyZURwbuI4vximQLzz4nQfCv8CZq4xx7uIiogHMMoSJPr33A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.3 - eslint: 8.6.0 + eslint: 8.10.0 eslint-scope: 6.0.0 eslint-visitor-keys: 3.1.0 espree: 9.2.0 @@ -4103,8 +3995,8 @@ packages: graceful-fs: 4.2.9 dev: true - /webpack-cli/4.9.1_webpack@5.66.0: - resolution: {integrity: sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==} + /webpack-cli/4.9.2_webpack@5.70.0: + resolution: {integrity: sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -4124,9 +4016,9 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.6 - '@webpack-cli/configtest': 1.1.0_webpack-cli@4.9.1+webpack@5.66.0 - '@webpack-cli/info': 1.4.0_webpack-cli@4.9.1 - '@webpack-cli/serve': 1.6.0_webpack-cli@4.9.1 + '@webpack-cli/configtest': 1.1.1_webpack-cli@4.9.2+webpack@5.70.0 + '@webpack-cli/info': 1.4.1_webpack-cli@4.9.2 + '@webpack-cli/serve': 1.6.1_webpack-cli@4.9.2 colorette: 2.0.16 commander: 7.2.0 execa: 5.1.1 @@ -4134,7 +4026,7 @@ packages: import-local: 3.0.3 interpret: 2.2.0 rechoir: 0.7.1 - webpack: 5.66.0_1f87fc823f8224154c39eba6a361cda2 + webpack: 5.70.0_3a6b6ea092ee76c04db8c4e1d09c3dba webpack-merge: 5.8.0 dev: true @@ -4146,8 +4038,8 @@ packages: wildcard: 2.0.0 dev: true - /webpack-sources/3.2.2: - resolution: {integrity: sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==} + /webpack-sources/3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} dev: true @@ -4155,8 +4047,8 @@ packages: resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==} dev: false - /webpack/5.66.0_1f87fc823f8224154c39eba6a361cda2: - resolution: {integrity: sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==} + /webpack/5.70.0_3a6b6ea092ee76c04db8c4e1d09c3dba: + resolution: {integrity: sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -4165,8 +4057,8 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.2 - '@types/estree': 0.0.50 + '@types/eslint-scope': 3.7.3 + '@types/estree': 0.0.51 '@webassemblyjs/ast': 1.11.1 '@webassemblyjs/wasm-edit': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 @@ -4174,7 +4066,7 @@ packages: acorn-import-assertions: 1.8.0_acorn@8.7.0 browserslist: 4.19.1 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.8.3 + enhanced-resolve: 5.9.2 es-module-lexer: 0.9.3 eslint-scope: 5.1.1 events: 3.3.0 @@ -4186,10 +4078,10 @@ packages: neo-async: 2.6.2 schema-utils: 3.1.1 tapable: 2.2.1 - terser-webpack-plugin: 5.3.0_27bde85c589e68a41571f11621b58bd5 + terser-webpack-plugin: 5.3.0_8207d2a0249c39a0703e8be195068c7e watchpack: 2.3.1 - webpack-cli: 4.9.1_webpack@5.66.0 - webpack-sources: 3.2.2 + webpack-cli: 4.9.2_webpack@5.70.0 + webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' - esbuild diff --git a/src/esbuild/index.ts b/src/esbuild/index.ts index ab342ecd..972883ef 100644 --- a/src/esbuild/index.ts +++ b/src/esbuild/index.ts @@ -1,11 +1,15 @@ import fs from 'fs' import path from 'path' +import chokidar from 'chokidar' import type { PartialMessage } from 'esbuild' import type { SourceMap } from 'rollup' import type { RawSourceMap } from '@ampproject/remapping/dist/types/types' import type { UnpluginContext, UnpluginContextMeta, UnpluginFactory, UnpluginInstance } from '../types' import { combineSourcemaps, fixSourceMap, guessLoader } from './utils' +const watchListRecord: Record = {} +const watchList: Set = new Set() + export function getEsbuildPlugin ( factory: UnpluginFactory ): UnpluginInstance['esbuild'] { @@ -19,16 +23,57 @@ export function getEsbuildPlugin ( name: plugin.name, setup: plugin.esbuild?.setup ?? - function setup ({ onStart, onEnd, onResolve, onLoad }) { + function setup ({ onStart, onEnd, onResolve, onLoad, initialOptions, esbuild: { build } }) { const onResolveFilter = plugin.esbuild?.onResolveFilter ?? /.*/ const onLoadFilter = plugin.esbuild?.onLoadFilter ?? /.*/ if (plugin.buildStart) { - onStart(plugin.buildStart) + onStart(() => plugin.buildStart!.call({ + addWatchFile (id) { + watchList.add(path.resolve(id)) + }, + emitFile (emittedFile) { + const outFileName = emittedFile.fileName || emittedFile.name + if (initialOptions.outdir && emittedFile.source && outFileName) { + fs.writeFileSync(path.resolve(initialOptions.outdir, outFileName), emittedFile.source) + } + }, + getWatchFiles () { + return Array.from(watchList) + } + })) } - if (plugin.buildEnd) { - onEnd(plugin.buildEnd) + if (plugin.buildEnd || initialOptions.watch) { + const rebuild = () => build({ + ...initialOptions, + watch: false + }) + + onEnd(() => { + plugin.buildEnd?.() + if (initialOptions.watch) { + Object.keys(watchListRecord).forEach((id) => { + if (!watchList.has(id)) { + watchListRecord[id].close() + delete watchListRecord[id] + } + }) + watchList.forEach((id) => { + if (!Object.keys(watchListRecord).includes(id)) { + watchListRecord[id] = chokidar.watch(id) + watchListRecord[id].on('change', () => { + plugin.watchChange?.(id, { event: 'update' }) + rebuild() + }) + watchListRecord[id].on('unlink', () => { + plugin.watchChange?.(id, { event: 'delete' }) + rebuild() + }) + } + }) + } + }) } if (plugin.resolveId) { diff --git a/src/types.ts b/src/types.ts index 0fcb8ea1..c76b1e1b 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,4 +1,4 @@ -import type { Plugin as RollupPlugin, PluginContextMeta as RollupContextMeta, SourceMap } from 'rollup' +import type { EmittedAsset, Plugin as RollupPlugin, PluginContextMeta as RollupContextMeta, SourceMap } from 'rollup' import type { Compiler as WebpackCompiler, WebpackPluginInstance } from 'webpack' import type { Plugin as VitePlugin } from 'vite' import type { Plugin as EsbuildPlugin } from 'esbuild' @@ -17,15 +17,22 @@ export type TransformResult = string | { code: string; map?: SourceMap | null; } export type ExternalIdResult = { id: string, external?: boolean } +export interface UnpluginBuildContext { + addWatchFile: (id: string) => void; + emitFile: (emittedFile: EmittedAsset) => void; + getWatchFiles: () => string[]; +} + export interface UnpluginOptions { name: string; enforce?: 'post' | 'pre' | undefined; - buildStart?: () => Promise | void; + buildStart?: (this: UnpluginBuildContext) => Promise | void; buildEnd?: () => Promise | void; transformInclude?: (id: string) => boolean; transform?: (this: UnpluginContext, code: string, id: string) => Thenable; load?: (this: UnpluginContext, id: string) => Thenable resolveId?: (id: string, importer?: string) => Thenable + watchChange?: (id: string, change: {event: 'create' | 'update' | 'delete'}) => void // framework specify extends rollup?: Partial diff --git a/src/webpack/index.ts b/src/webpack/index.ts index 6810433a..deb48f1c 100644 --- a/src/webpack/index.ts +++ b/src/webpack/index.ts @@ -152,7 +152,54 @@ export function getWebpackPlugin ( plugin.webpack(compiler) } - plugin.buildStart?.() + compiler.hooks.thisCompilation.tap(plugin.name, (compilation) => { + plugin.buildStart?.call({ + addWatchFile (id) { + (compilation.fileDependencies ?? compilation.compilationDependencies).add( + resolve(process.cwd(), id) + ) + }, + emitFile (emittedFile) { + const outFileName = emittedFile.fileName || emittedFile.name + if (emittedFile.source && outFileName) { + compilation.emitAsset( + outFileName, + // @ts-ignore + compiler.webpack?.sources + ? new compiler.webpack.sources.RawSource( + typeof emittedFile.source === 'string' + ? emittedFile.source + : Buffer.from(emittedFile.source) + ) + : { + source: () => emittedFile.source, + size: () => emittedFile.source!.length + } + ) + } + }, + getWatchFiles () { + return Array.from( + compilation.fileDependencies ?? compilation.compilationDependencies + ) + } + }) + }) + + if (plugin.watchChange) { + compiler.hooks.watchRun.tap(plugin.name, (compilation) => { + if (compilation.modifiedFiles) { + compilation.modifiedFiles.forEach(file => + plugin.watchChange!(file, { event: 'update' }) + ) + } + if (compilation.removedFiles) { + compilation.removedFiles.forEach(file => + plugin.watchChange!(file, { event: 'delete' }) + ) + } + }) + } if (plugin.buildEnd) { compiler.hooks.done.tapPromise(plugin.name, async () => {