From 8a82c3425ba3bff32790bb35d5d11f0bb14c170b Mon Sep 17 00:00:00 2001 From: Lucas Yang Date: Sat, 16 Jul 2022 23:04:17 +0800 Subject: [PATCH] Add vite 3 support --- .eslintrc.js | 1 + README.md | 20 +- package.json | 10 +- playground/app.ts | 1 + playground/composer.json | 3 - playground/package.json | 14 +- .../my-plugin2/src/other-pages/Page223.vue | 3 + playground/vite.config.ts | 2 +- pnpm-lock.yaml | 1055 +++++++---------- src/index.ts | 17 +- src/module/files.ts | 49 + src/module/import.ts | 56 + src/page/generate-namespaces.ts | 31 +- src/page/index.ts | 6 +- src/types.ts | 45 +- .../generate-namespaces.test.ts.snap | 62 - tests/generate-namespaces.test.ts | 111 +- .../my-plugin2/src/other-pages/Page223.vue | 3 + 18 files changed, 764 insertions(+), 725 deletions(-) delete mode 100644 playground/composer.json create mode 100644 playground/test_node_modules/my-plugin2/src/other-pages/Page223.vue create mode 100644 src/module/files.ts create mode 100644 src/module/import.ts delete mode 100644 tests/__snapshots__/generate-namespaces.test.ts.snap create mode 100644 tests/test_node_modules/my-plugin2/src/other-pages/Page223.vue diff --git a/.eslintrc.js b/.eslintrc.js index 724041a..7071ea2 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -17,5 +17,6 @@ module.exports = { ], rules: { '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/prefer-ts-expect-error': 'off', }, } diff --git a/README.md b/README.md index d5d5fab..664a020 100644 --- a/README.md +++ b/README.md @@ -376,24 +376,26 @@ Inertia::render('MyRuntimePluin::Some'); ```js Inertia({ - // Current work directory + // Current work directory. cwd: process.cwd(), - // Define namespace mapping + // Define namespace mapping. namespaces: [], - // Namespace separator + // Namespace separator. separator: '::', - // Module extension - // (Defaults to '.vue' if not set and used with vite) - extension: '', + // Module extensions. + extensions: '', + // extensions: 'vue', // if use vite the defaults is 'vue' + // extensions: 'vue', // webpack example + // extensions: ['vue', 'js'], // vite example - // Use `import()` to load pages for webpack, default is using `require()` - // Only for webpack + // Use `import()` to load pages for webpack, default is using `require()`. + // Only for webpack. import: false, - // Enable SSR mode + // Enable SSR mode. ssr: false, }) ``` diff --git a/package.json b/package.json index ce05332..d99dfab 100644 --- a/package.json +++ b/package.json @@ -71,23 +71,25 @@ "test": "vitest" }, "dependencies": { - "unplugin": "^0.7.0" + "debug": "^4.3.4", + "fast-glob": "^3.2.11", + "unplugin": "^0.7.1" }, "devDependencies": { "@swc/core": "^1.2.208", + "@types/debug": "^4.1.7", "@types/node": "^17.0.45", "@ycs77/eslint-config": "^0.1.2", "bumpp": "^7.2.0", "eslint": "^8.17.0", "esno": "^0.16.3", - "fast-glob": "^3.2.11", "jsonc-eslint-parser": "^2.1.0", "npm-run-all": "^4.1.5", "rollup": "^2.75.6", "tsup": "^6.1.2", "typescript": "~4.7.3", - "vite": "^2.9.12", - "vitest": "^0.12.10", + "vite": "^2.9.14", + "vitest": "^0.18.0", "webpack": "^5.73.0" } } diff --git a/playground/app.ts b/playground/app.ts index 293e884..dca2ec0 100644 --- a/playground/app.ts +++ b/playground/app.ts @@ -13,6 +13,7 @@ createApp({ // component: 'Page2', // component: 'my-package-1::Page3', // component: 'my-package-2::Page222', + // component: 'my-package-2::Page223', // component: 'my-php-package::PhpPackagePage', props: {}, url: '/', diff --git a/playground/composer.json b/playground/composer.json deleted file mode 100644 index 2fe1ad5..0000000 --- a/playground/composer.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "ycs77/inertia-plugin-test" -} diff --git a/playground/package.json b/playground/package.json index c1a08f2..446867a 100644 --- a/playground/package.json +++ b/playground/package.json @@ -1,9 +1,9 @@ { "private": true, "scripts": { - "dev": "vite", - "build": "vue-tsc --noEmit && vite build", - "serve": "vite preview" + "dev": "cross-env DEBUG=inertia-plugin:* vite", + "build": "cross-env DEBUG=inertia-plugin:* vue-tsc --noEmit && vite build", + "serve": "cross-env DEBUG=inertia-plugin:* vite preview" }, "dependencies": { "@inertiajs/inertia": "^0.11.0", @@ -11,9 +11,11 @@ "vue": "^3.2.37" }, "devDependencies": { - "@vitejs/plugin-vue": "^2.3.2", - "typescript": "^4.6.4", - "vite": "^2.9.9", + "@vitejs/plugin-vue": "^2.3.3", + "cross-env": "^7.0.3", + "inertia-plugin": "workspace:*", + "typescript": "~4.7.3", + "vite": "^2.9.14", "vite-plugin-inspect": "^0.5.0", "vue-tsc": "^0.34.11" } diff --git a/playground/test_node_modules/my-plugin2/src/other-pages/Page223.vue b/playground/test_node_modules/my-plugin2/src/other-pages/Page223.vue new file mode 100644 index 0000000..aaae487 --- /dev/null +++ b/playground/test_node_modules/my-plugin2/src/other-pages/Page223.vue @@ -0,0 +1,3 @@ + diff --git a/playground/vite.config.ts b/playground/vite.config.ts index 1de082b..b85344a 100644 --- a/playground/vite.config.ts +++ b/playground/vite.config.ts @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import Vue from '@vitejs/plugin-vue' import Inspect from 'vite-plugin-inspect' -import Inertia from '../src/vite' +import Inertia from 'inertia-plugin/vite' export default defineConfig({ plugins: [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d98a214..7bd299f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,9 +5,11 @@ importers: .: specifiers: '@swc/core': ^1.2.208 + '@types/debug': ^4.1.7 '@types/node': ^17.0.45 '@ycs77/eslint-config': ^0.1.2 bumpp: ^7.2.0 + debug: ^4.3.4 eslint: ^8.17.0 esno: ^0.16.3 fast-glob: ^3.2.11 @@ -16,36 +18,40 @@ importers: rollup: ^2.75.6 tsup: ^6.1.2 typescript: ~4.7.3 - unplugin: ^0.7.0 - vite: ^2.9.12 - vitest: ^0.12.10 + unplugin: ^0.7.1 + vite: ^2.9.14 + vitest: ^0.18.0 webpack: ^5.73.0 dependencies: - unplugin: 0.7.0_hkbj3q5x4yf6mrrlsspksagami + debug: 4.3.4 + fast-glob: 3.2.11 + unplugin: 0.7.2_rixtmtkub4psuc65xphg6tr7b4 devDependencies: - '@swc/core': 1.2.208 + '@swc/core': 1.2.215 + '@types/debug': 4.1.7 '@types/node': 17.0.45 - '@ycs77/eslint-config': 0.1.2_eslint@8.17.0 + '@ycs77/eslint-config': 0.1.2_eslint@8.19.0 bumpp: 7.2.0 - eslint: 8.17.0 + eslint: 8.19.0 esno: 0.16.3 - fast-glob: 3.2.11 jsonc-eslint-parser: 2.1.0 npm-run-all: 4.1.5 rollup: 2.75.6 - tsup: 6.1.2_4ygsurswyheu2as2necrsfs3lm - typescript: 4.7.3 - vite: 2.9.12 - vitest: 0.12.10 - webpack: 5.73.0_@swc+core@1.2.208 + tsup: 6.1.3_522qymwwylokbe4a7fadqv7ouq + typescript: 4.7.4 + vite: 2.9.14 + vitest: 0.18.0 + webpack: 5.73.0_@swc+core@1.2.215 playground: specifiers: '@inertiajs/inertia': ^0.11.0 '@inertiajs/inertia-vue3': ^0.6.0 - '@vitejs/plugin-vue': ^2.3.2 - typescript: ^4.6.4 - vite: ^2.9.9 + '@vitejs/plugin-vue': ^2.3.3 + cross-env: ^7.0.3 + inertia-plugin: workspace:* + typescript: ~4.7.3 + vite: ^2.9.14 vite-plugin-inspect: ^0.5.0 vue: ^3.2.37 vue-tsc: ^0.34.11 @@ -54,10 +60,12 @@ importers: '@inertiajs/inertia-vue3': 0.6.0_lgz5zmprnxmfmyvgtmvu2blgda vue: 3.2.37 devDependencies: - '@vitejs/plugin-vue': 2.3.3_vite@2.9.12+vue@3.2.37 + '@vitejs/plugin-vue': 2.3.3_vite@2.9.14+vue@3.2.37 + cross-env: 7.0.3 + inertia-plugin: link:.. typescript: 4.7.3 - vite: 2.9.12 - vite-plugin-inspect: 0.5.1_vite@2.9.12 + vite: 2.9.14 + vite-plugin-inspect: 0.5.1_vite@2.9.14 vue-tsc: 0.34.17_typescript@4.7.3 playground/test_node_modules/my-plugin1: @@ -108,25 +116,25 @@ packages: '@babel/helper-validator-identifier': 7.18.6 to-fast-properties: 2.0.0 - /@esbuild-kit/cjs-loader/2.1.0: - resolution: {integrity: sha512-KyX25VcC2564K5FnEhNDdzonC87VeSZoLz3h6R8x3d1myhxqGdoQkTQba3VCcuAkgdkn69d3Zhvj3xtGWldbEQ==} + /@esbuild-kit/cjs-loader/2.3.1: + resolution: {integrity: sha512-ov6ALYD9xZSPoo5mmGOQtEC/b0xXeUlPy65p8aHMHLF4DfBEe8Y+iquH2lTDsy6Iskc1uMTadF+SVADTSTNJMA==} dependencies: - '@esbuild-kit/core-utils': 1.3.1 - get-tsconfig: 4.0.3 + '@esbuild-kit/core-utils': 2.1.0 + get-tsconfig: 4.2.0 dev: true - /@esbuild-kit/core-utils/1.3.1: - resolution: {integrity: sha512-QXWJKf3mEIs+jgUCrY2YWJ2cr9e9asRYRwDhxit+wkCaQbSfV6fCCgs8KjRsrkIdMBcWsjbWnFKfwZ9kjILPrw==} + /@esbuild-kit/core-utils/2.1.0: + resolution: {integrity: sha512-fZirrc2KjeTumVjE4bpleWOk2gD83b7WuGeQqOceKFQL+heNKKkNB5G5pekOUTLzfSBc0hP7hCSBoD9TuR0hLw==} dependencies: - esbuild: 0.14.38 + esbuild: 0.14.49 source-map-support: 0.5.21 dev: true - /@esbuild-kit/esm-loader/2.2.0: - resolution: {integrity: sha512-DA9v3nkmvUIledvp4Uuf0bq8rWsGB611PwKx8FPTQkWRJe4GrqcoqemiSIXFzteQJIqaDveez9/jJQLZME/5rg==} + /@esbuild-kit/esm-loader/2.4.1: + resolution: {integrity: sha512-6x44rygVfNODm27v0RW3wX5y61mqSrXDvB39G0nomgWWqxG3mjiKtPSwrFppdkrA39QIqDgVlD4gJmPOxnleSw==} dependencies: - '@esbuild-kit/core-utils': 1.3.1 - get-tsconfig: 4.0.3 + '@esbuild-kit/core-utils': 2.1.0 + get-tsconfig: 4.2.0 dev: true /@eslint/eslintrc/1.3.0: @@ -136,7 +144,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.3.2 - globals: 13.15.0 + globals: 13.16.0 ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -187,32 +195,32 @@ packages: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.1 - '@jridgewell/sourcemap-codec': 1.4.13 - '@jridgewell/trace-mapping': 0.3.13 + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.14 - /@jridgewell/resolve-uri/3.0.7: - resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==} + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array/1.1.1: - resolution: {integrity: sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==} + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} /@jridgewell/source-map/0.3.2: resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} dependencies: '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.14 - /@jridgewell/sourcemap-codec/1.4.13: - resolution: {integrity: sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==} + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/trace-mapping/0.3.13: - resolution: {integrity: sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==} + /@jridgewell/trace-mapping/0.3.14: + resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==} dependencies: - '@jridgewell/resolve-uri': 3.0.7 - '@jridgewell/sourcemap-codec': 1.4.13 + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 /@jsdevtools/ez-spawn/3.0.4: resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} @@ -230,12 +238,10 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true /@nodelib/fs.stat/2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true /@nodelib/fs.walk/1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -243,7 +249,6 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - dev: true /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} @@ -257,128 +262,128 @@ packages: picomatch: 2.3.1 dev: true - /@swc/core-android-arm-eabi/1.2.208: - resolution: {integrity: sha512-Cspm5VrwblJSwvcug0yEtNGQ6qG+LsuzTxJM+VHa8raNisyObPjA8J+SuiKv3sRb85rdjC7n1wSIQW0Sz2g3Dg==} + /@swc/core-android-arm-eabi/1.2.216: + resolution: {integrity: sha512-V8iNfyaiNROZ+rfCzuoYBUYxlJ1yIkX3w0av54eCLigRktBDozUtYEbE0I/L9/WX3JDMKxMSt9cAjyMd8tmjyA==} engines: {node: '>=10'} cpu: [arm] os: [android] requiresBuild: true optional: true - /@swc/core-android-arm64/1.2.208: - resolution: {integrity: sha512-gUQv1xSzHaaQ2/9+R8rcmVLWl7K0iM+r7Fbcs0z/BY8FzllXAEIC+AR/DyyYpEdsbUS3ZRWQmdMyC9Aj0xjRgA==} + /@swc/core-android-arm64/1.2.216: + resolution: {integrity: sha512-4N2dq2JQQTVX1rLR7p/n1ag0T9N1oRp35H7yci2bFxWbLfVvb7qShathHsr2XzkBhgmtc32zWnPPDIzolrew2g==} engines: {node: '>=10'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@swc/core-darwin-arm64/1.2.208: - resolution: {integrity: sha512-xqILWXEQMvhoC/jH7/wnXAhLqTaH1oTDP/E3DVNLRzbLgACmUIo724Y3LKmBDzATVXupOHve8nNdNicAD9Q70Q==} + /@swc/core-darwin-arm64/1.2.216: + resolution: {integrity: sha512-rCof/23rLM0UEjrGhD9pqv0o50c5FMC7YCJGr4GP98iu4pGb0kgDlfu5EAO8wpXG2tMut3OHiQSefCWbtlygPA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@swc/core-darwin-x64/1.2.208: - resolution: {integrity: sha512-o5FIXAFyeFKKCCk1o209DPRxUFUYAw1qSCN4jnY2o35iDL0gZosDrAnx71y1h4krPNUcOdcSHucwACH44+s18g==} + /@swc/core-darwin-x64/1.2.216: + resolution: {integrity: sha512-UarehjeGDxwfDmyR8egAVntkKitIe68v2NABQFBtnFdjt0vixWbrSKFsrFxOZZVIb+S2NTxdk3l4An5Nr0MK8A==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@swc/core-freebsd-x64/1.2.208: - resolution: {integrity: sha512-j0IbNUZClbQy/SoKE3Tc+iLLwKSqogdp58wGNJjTccecug9EMmeG3fMqWdNbH8sDdmf63ZjT/zfQMnEmAr0dAw==} + /@swc/core-freebsd-x64/1.2.216: + resolution: {integrity: sha512-+R9cKtvSCVEEqsjnyFDmK5iXub9AlDliWLgx6aMb5HtxgIsd7V+5sr0SXXLk5/1x0Fjjo8KURw3Aw/0hlElMqg==} engines: {node: '>=10'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /@swc/core-linux-arm-gnueabihf/1.2.208: - resolution: {integrity: sha512-oqesiqB1lw9S50REMirVuhfLUL0Ub0TzJHMooNvPtrcwnXa0CDDdA60KfaaA8Mxiybly32TiXekW4fLxsNi04A==} + /@swc/core-linux-arm-gnueabihf/1.2.216: + resolution: {integrity: sha512-ZUJDodTpfB9hlpOpUhLKAKrtZW4pzNAggj6OHjqR1Xm62Qq1wda0Kz4nx+9ltXFdnDwA3xo3ETILah4fqugVJQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-gnu/1.2.208: - resolution: {integrity: sha512-Es0POIkuk7ite0syUUvO/xmh7E9zEKwdK1NhGiGu1nR4LwRTbUr7x0aaC+u3djZUJvZUa+4MK0NoayUbO7V+zQ==} + /@swc/core-linux-arm64-gnu/1.2.216: + resolution: {integrity: sha512-OhL9+FHjnOAcU/mpKEx6UP4Rq7xYeUBi2+DEO/e7b7bLOjnOoySbUp1A6ytVH+DMLPRdc8gl8fmW3Ua40LZIwg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-musl/1.2.208: - resolution: {integrity: sha512-5Mel0Hw+95tVBC5Zx9A2FU8eBfcbbjOAQ3FsrdMbOeuhQYzV9CqNNQkktoEUfjnHlHF3HPShN8PBE20+ycf4HA==} + /@swc/core-linux-arm64-musl/1.2.216: + resolution: {integrity: sha512-CqocVXV2r9CUDYz0yuJAh3d8snXAztYps/Svsh9dBmXhB55IdaxcVPpxqThLlQStuzkI+8V3arxrWbbNtNd99g==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-gnu/1.2.208: - resolution: {integrity: sha512-j5GvAUf8hwHWKdmkF80HGSSzBzENmuWFG/OBle+0fwqO9NStUGWAoGYwBPiTlJ8aCBjbVGXlCVstHx8OHx+1pw==} + /@swc/core-linux-x64-gnu/1.2.216: + resolution: {integrity: sha512-Lz7KKhWsg1LrZfcqxPiRhn6+j34TsVIIyCdxv497pSrY8ZvxST1JizEC7Rk48fHa+OkS9AVkoS3tElTX2oE7pg==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-musl/1.2.208: - resolution: {integrity: sha512-A+kGJDB3qQ1jaME7YiIH3yWOOx2Pjo8g+63TYsuaDJhA1MzQzg1KBCk5/gGEw5YFGgMqQbU0dp2emORu9UwRHw==} + /@swc/core-linux-x64-musl/1.2.216: + resolution: {integrity: sha512-hOQ6/++C5DZrcywKJtpQKbZHezTDUEsH4eDc1UJh6tQPWRZFPSJcFOvemJi1e7PrdFjQINamqnAlkisNCYjTmA==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-win32-arm64-msvc/1.2.208: - resolution: {integrity: sha512-yTUC9QIAHecyBlT7HcoISM+L4vFkP+Y6+LpW4kW1VJmJWm2EEsaFXJdaH2LF6HVbPp+dgvsWK2+EqYephfUT1Q==} + /@swc/core-win32-arm64-msvc/1.2.216: + resolution: {integrity: sha512-W4K2k4tCOXGCk+DWyBvi0Cal2trVTCXaAGwRUpHcGjwGdxT7q3uCIoNoeCWdy6/5b/CnQDQ+8kWuD4NESjgt3A==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-ia32-msvc/1.2.208: - resolution: {integrity: sha512-A1h9ZLSCI7ixBxkvEf8Brxg5WdnBKPFsolacGnulGsqWHRez7UVtI2Q2NhgYMZdoPUIqEMVGE5d0M+MPCo5RRg==} + /@swc/core-win32-ia32-msvc/1.2.216: + resolution: {integrity: sha512-pHoCPbW8Dj0MSxtO9BPzT+AkNopapYnRBGqBnUS5pJjjRj/pnvWkvwaG95IZnklHnw8fPeuFpaGc+B2PYJuFEA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-x64-msvc/1.2.208: - resolution: {integrity: sha512-CkESi36HJSkqicrDQzgSWLOx9oTaVDrD8FnplP8PgpySUgoesyGg3uZt+2moaBTyUjxG6L4OuMTkwa0vsbiFrw==} + /@swc/core-win32-x64-msvc/1.2.216: + resolution: {integrity: sha512-ZDKEvCH7UGiCa93dMwzl01vKgSygf4FF/GszZEHL6CDY8YRMABycLDB0so66nOPOcSqfxSHr3eFB3KtY5OMrEA==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@swc/core/1.2.208: - resolution: {integrity: sha512-DzGQmQsWsmVlFppH2Xtu9ispT+b0W5YaXD1sqr4694zIjRMe5suAIMXRT0BiHlLXgWTSNDMUceOM/i4YXlWEhQ==} + /@swc/core/1.2.215: + resolution: {integrity: sha512-Dm6q1wP4OvG5DOHC9JQC4wAjIH4Pz8K4MfVrluojD7epDN97j2md6/QbMaL5Zcu24SsAuib8BYF4j9VelLrvtw==} engines: {node: '>=10'} hasBin: true optionalDependencies: - '@swc/core-android-arm-eabi': 1.2.208 - '@swc/core-android-arm64': 1.2.208 - '@swc/core-darwin-arm64': 1.2.208 - '@swc/core-darwin-x64': 1.2.208 - '@swc/core-freebsd-x64': 1.2.208 - '@swc/core-linux-arm-gnueabihf': 1.2.208 - '@swc/core-linux-arm64-gnu': 1.2.208 - '@swc/core-linux-arm64-musl': 1.2.208 - '@swc/core-linux-x64-gnu': 1.2.208 - '@swc/core-linux-x64-musl': 1.2.208 - '@swc/core-win32-arm64-msvc': 1.2.208 - '@swc/core-win32-ia32-msvc': 1.2.208 - '@swc/core-win32-x64-msvc': 1.2.208 + '@swc/core-android-arm-eabi': 1.2.216 + '@swc/core-android-arm64': 1.2.216 + '@swc/core-darwin-arm64': 1.2.216 + '@swc/core-darwin-x64': 1.2.216 + '@swc/core-freebsd-x64': 1.2.216 + '@swc/core-linux-arm-gnueabihf': 1.2.216 + '@swc/core-linux-arm64-gnu': 1.2.216 + '@swc/core-linux-arm64-musl': 1.2.216 + '@swc/core-linux-x64-gnu': 1.2.216 + '@swc/core-linux-x64-musl': 1.2.216 + '@swc/core-win32-arm64-msvc': 1.2.216 + '@swc/core-win32-ia32-msvc': 1.2.216 + '@swc/core-win32-x64-msvc': 1.2.216 /@types/chai-subset/1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} @@ -390,14 +395,20 @@ packages: resolution: {integrity: sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==} dev: true - /@types/eslint-scope/3.7.3: - resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==} + /@types/debug/4.1.7: + resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + dependencies: + '@types/ms': 0.7.31 + dev: true + + /@types/eslint-scope/3.7.4: + resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: - '@types/eslint': 8.4.3 + '@types/eslint': 8.4.5 '@types/estree': 0.0.51 - /@types/eslint/8.4.3: - resolution: {integrity: sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw==} + /@types/eslint/8.4.5: + resolution: {integrity: sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==} dependencies: '@types/estree': 0.0.51 '@types/json-schema': 7.0.11 @@ -418,6 +429,10 @@ packages: '@types/unist': 2.0.6 dev: true + /@types/ms/0.7.31: + resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + dev: true + /@types/node/17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} @@ -429,8 +444,8 @@ packages: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true - /@typescript-eslint/eslint-plugin/5.28.0_7yumg2qjgbp7maccqlfhx2vudu: - resolution: {integrity: sha512-DXVU6Cg29H2M6EybqSg2A+x8DgO9TCUBRp4QEXQHJceLS7ogVDP0g3Lkg/SZCqcvkAP/RruuQqK0gdlkgmhSUA==} + /@typescript-eslint/eslint-plugin/5.30.6_2vt5mtrqleafs33qg2bhpmbaqm: + resolution: {integrity: sha512-J4zYMIhgrx4MgnZrSDD7sEnQp7FmhKNOaqaOpaoQ/SfdMfRB/0yvK74hTnvH+VQxndZynqs5/Hn4t+2/j9bADg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -440,24 +455,24 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 - '@typescript-eslint/scope-manager': 5.28.0 - '@typescript-eslint/type-utils': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 - '@typescript-eslint/utils': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + '@typescript-eslint/scope-manager': 5.30.6 + '@typescript-eslint/type-utils': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + '@typescript-eslint/utils': 5.30.6_4x5o4skxv6sl53vpwefgt23khm debug: 4.3.4 - eslint: 8.17.0 + eslint: 8.19.0 functional-red-black-tree: 1.0.1 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.7.3 - typescript: 4.7.3 + tsutils: 3.21.0_typescript@4.7.4 + typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: - resolution: {integrity: sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA==} + /@typescript-eslint/parser/5.30.6_4x5o4skxv6sl53vpwefgt23khm: + resolution: {integrity: sha512-gfF9lZjT0p2ZSdxO70Xbw8w9sPPJGfAdjK7WikEjB3fcUI/yr9maUVEdqigBjKincUYNKOmf7QBMiTf719kbrA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -466,26 +481,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.28.0 - '@typescript-eslint/types': 5.28.0 - '@typescript-eslint/typescript-estree': 5.28.0_typescript@4.7.3 + '@typescript-eslint/scope-manager': 5.30.6 + '@typescript-eslint/types': 5.30.6 + '@typescript-eslint/typescript-estree': 5.30.6_typescript@4.7.4 debug: 4.3.4 - eslint: 8.17.0 - typescript: 4.7.3 + eslint: 8.19.0 + typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.28.0: - resolution: {integrity: sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==} + /@typescript-eslint/scope-manager/5.30.6: + resolution: {integrity: sha512-Hkq5PhLgtVoW1obkqYH0i4iELctEKixkhWLPTYs55doGUKCASvkjOXOd/pisVeLdO24ZX9D6yymJ/twqpJiG3g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.28.0 - '@typescript-eslint/visitor-keys': 5.28.0 + '@typescript-eslint/types': 5.30.6 + '@typescript-eslint/visitor-keys': 5.30.6 dev: true - /@typescript-eslint/type-utils/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: - resolution: {integrity: sha512-SyKjKh4CXPglueyC6ceAFytjYWMoPHMswPQae236zqe1YbhvCVQyIawesYywGiu98L9DwrxsBN69vGIVxJ4mQQ==} + /@typescript-eslint/type-utils/5.30.6_4x5o4skxv6sl53vpwefgt23khm: + resolution: {integrity: sha512-GFVVzs2j0QPpM+NTDMXtNmJKlF842lkZKDSanIxf+ArJsGeZUIaeT4jGg+gAgHt7AcQSFwW7htzF/rbAh2jaVA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -494,22 +509,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/utils': 5.30.6_4x5o4skxv6sl53vpwefgt23khm debug: 4.3.4 - eslint: 8.17.0 - tsutils: 3.21.0_typescript@4.7.3 - typescript: 4.7.3 + eslint: 8.19.0 + tsutils: 3.21.0_typescript@4.7.4 + typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.28.0: - resolution: {integrity: sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==} + /@typescript-eslint/types/5.30.6: + resolution: {integrity: sha512-HdnP8HioL1F7CwVmT4RaaMX57RrfqsOMclZc08wGMiDYJBsLGBM7JwXM4cZJmbWLzIR/pXg1kkrBBVpxTOwfUg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.28.0_typescript@4.7.3: - resolution: {integrity: sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==} + /@typescript-eslint/typescript-estree/5.30.6_typescript@4.7.4: + resolution: {integrity: sha512-Z7TgPoeYUm06smfEfYF0RBkpF8csMyVnqQbLYiGgmUSTaSXTP57bt8f0UFXstbGxKIreTwQCujtaH0LY9w9B+A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -517,52 +532,52 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.28.0 - '@typescript-eslint/visitor-keys': 5.28.0 + '@typescript-eslint/types': 5.30.6 + '@typescript-eslint/visitor-keys': 5.30.6 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.7.3 - typescript: 4.7.3 + tsutils: 3.21.0_typescript@4.7.4 + typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: - resolution: {integrity: sha512-E60N5L0fjv7iPJV3UGc4EC+A3Lcj4jle9zzR0gW7vXhflO7/J29kwiTGITA2RlrmPokKiZbBy2DgaclCaEUs6g==} + /@typescript-eslint/utils/5.30.6_4x5o4skxv6sl53vpwefgt23khm: + resolution: {integrity: sha512-xFBLc/esUbLOJLk9jKv0E9gD/OH966M40aY9jJ8GiqpSkP2xOV908cokJqqhVd85WoIvHVHYXxSFE4cCSDzVvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.28.0 - '@typescript-eslint/types': 5.28.0 - '@typescript-eslint/typescript-estree': 5.28.0_typescript@4.7.3 - eslint: 8.17.0 + '@typescript-eslint/scope-manager': 5.30.6 + '@typescript-eslint/types': 5.30.6 + '@typescript-eslint/typescript-estree': 5.30.6_typescript@4.7.4 + eslint: 8.19.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.17.0 + eslint-utils: 3.0.0_eslint@8.19.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.28.0: - resolution: {integrity: sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==} + /@typescript-eslint/visitor-keys/5.30.6: + resolution: {integrity: sha512-41OiCjdL2mCaSDi2SvYbzFLlqqlm5v1ZW9Ym55wXKL/Rx6OOB1IbuFGo71Fj6Xy90gJDFTlgOS+vbmtGHPTQQA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.28.0 + '@typescript-eslint/types': 5.30.6 eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-vue/2.3.3_vite@2.9.12+vue@3.2.37: + /@vitejs/plugin-vue/2.3.3_vite@2.9.14+vue@3.2.37: resolution: {integrity: sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==} engines: {node: '>=12.0.0'} peerDependencies: vite: ^2.5.10 vue: ^3.2.25 dependencies: - vite: 2.9.12 + vite: 2.9.14 vue: 3.2.37 dev: true @@ -766,21 +781,21 @@ packages: /@xtuc/long/4.2.2: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - /@ycs77/eslint-config-basic/0.1.2_wyrfqmvemfacbroyi3ypviy7f4: + /@ycs77/eslint-config-basic/0.1.2_rywvbqnelbznwddhxv2glfjuay: resolution: {integrity: sha512-LRIoESiUvkqiHrPHEZPkVWnsNH/8x/uhKZelaoefONf8B/V0HLNRIloZ8ppbWd/oXVFFywUSyLOvDK6m5TrA6Q==} peerDependencies: eslint: '>=7.4.0' dependencies: - eslint: 8.17.0 - eslint-plugin-eslint-comments: 3.2.0_eslint@8.17.0 + eslint: 8.19.0 + eslint-plugin-eslint-comments: 3.2.0_eslint@8.19.0 eslint-plugin-html: 6.2.0 - eslint-plugin-import: 2.26.0_wyrfqmvemfacbroyi3ypviy7f4 - eslint-plugin-jsonc: 2.3.0_eslint@8.17.0 - eslint-plugin-markdown: 2.2.1_eslint@8.17.0 - eslint-plugin-n: 15.2.3_eslint@8.17.0 - eslint-plugin-promise: 6.0.0_eslint@8.17.0 - eslint-plugin-unicorn: 42.0.0_eslint@8.17.0 - eslint-plugin-yml: 1.0.0_eslint@8.17.0 + eslint-plugin-import: 2.26.0_rywvbqnelbznwddhxv2glfjuay + eslint-plugin-jsonc: 2.3.1_eslint@8.19.0 + eslint-plugin-markdown: 2.2.1_eslint@8.19.0 + eslint-plugin-n: 15.2.4_eslint@8.19.0 + eslint-plugin-promise: 6.0.0_eslint@8.19.0 + eslint-plugin-unicorn: 42.0.0_eslint@8.19.0 + eslint-plugin-yml: 1.0.0_eslint@8.19.0 jsonc-eslint-parser: 2.1.0 yaml-eslint-parser: 1.0.1 transitivePeerDependencies: @@ -790,14 +805,14 @@ packages: - supports-color dev: true - /@ycs77/eslint-config-react/0.1.2_ud6rd4xtew5bv4yhvkvu24pzm4: + /@ycs77/eslint-config-react/0.1.2_4x5o4skxv6sl53vpwefgt23khm: resolution: {integrity: sha512-CXI8S5GtObDVtRaI7Cfp3bd6gS8I8EEmfcMMdT5GmP4DCHqbC5jneR47UMyJ9SXhC6no+PrbBoUV4jereJkyZg==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@ycs77/eslint-config-ts': 0.1.2_ud6rd4xtew5bv4yhvkvu24pzm4 - eslint: 8.17.0 - eslint-plugin-react: 7.30.0_eslint@8.17.0 + '@ycs77/eslint-config-ts': 0.1.2_4x5o4skxv6sl53vpwefgt23khm + eslint: 8.19.0 + eslint-plugin-react: 7.30.1_eslint@8.19.0 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -805,31 +820,31 @@ packages: - typescript dev: true - /@ycs77/eslint-config-ts/0.1.2_ud6rd4xtew5bv4yhvkvu24pzm4: + /@ycs77/eslint-config-ts/0.1.2_4x5o4skxv6sl53vpwefgt23khm: resolution: {integrity: sha512-Of2Ehb05kuWkvlmxyCmD++dMA8Tnnx8+WsXMNzOyx9EF+mFxkYvLs43q3jT25v8aPklfZuVugfpn71OhF39wUA==} peerDependencies: eslint: '>=7.4.0' typescript: '>=3.9' dependencies: - '@typescript-eslint/eslint-plugin': 5.28.0_7yumg2qjgbp7maccqlfhx2vudu - '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 - '@ycs77/eslint-config-basic': 0.1.2_wyrfqmvemfacbroyi3ypviy7f4 - eslint: 8.17.0 - typescript: 4.7.3 + '@typescript-eslint/eslint-plugin': 5.30.6_2vt5mtrqleafs33qg2bhpmbaqm + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + '@ycs77/eslint-config-basic': 0.1.2_rywvbqnelbznwddhxv2glfjuay + eslint: 8.19.0 + typescript: 4.7.4 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color dev: true - /@ycs77/eslint-config-vue/0.1.2_ud6rd4xtew5bv4yhvkvu24pzm4: + /@ycs77/eslint-config-vue/0.1.2_4x5o4skxv6sl53vpwefgt23khm: resolution: {integrity: sha512-PDqS/Ql9UXs7eTQFA/9oXekgsHHGP2BZswgbRySMgoFMZnycA7IGcl0bHyWyQds57L5vxrDU3zBzLzgsYI6CUg==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@ycs77/eslint-config-ts': 0.1.2_ud6rd4xtew5bv4yhvkvu24pzm4 - eslint: 8.17.0 - eslint-plugin-vue: 9.1.1_eslint@8.17.0 + '@ycs77/eslint-config-ts': 0.1.2_4x5o4skxv6sl53vpwefgt23khm + eslint: 8.19.0 + eslint-plugin-vue: 9.2.0_eslint@8.19.0 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -837,27 +852,27 @@ packages: - typescript dev: true - /@ycs77/eslint-config/0.1.2_eslint@8.17.0: + /@ycs77/eslint-config/0.1.2_eslint@8.19.0: resolution: {integrity: sha512-t0E4sTB+mSw67ov2p8VIZMYpEOK6T2xSwG2vbGd7aJF0yh6UZRsGuw6Xs0dBZ5cdS7UKuDWgSkEOMCWY0zANrw==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@typescript-eslint/eslint-plugin': 5.28.0_7yumg2qjgbp7maccqlfhx2vudu - '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 - '@ycs77/eslint-config-react': 0.1.2_ud6rd4xtew5bv4yhvkvu24pzm4 - '@ycs77/eslint-config-vue': 0.1.2_ud6rd4xtew5bv4yhvkvu24pzm4 - eslint: 8.17.0 - eslint-plugin-eslint-comments: 3.2.0_eslint@8.17.0 + '@typescript-eslint/eslint-plugin': 5.30.6_2vt5mtrqleafs33qg2bhpmbaqm + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm + '@ycs77/eslint-config-react': 0.1.2_4x5o4skxv6sl53vpwefgt23khm + '@ycs77/eslint-config-vue': 0.1.2_4x5o4skxv6sl53vpwefgt23khm + eslint: 8.19.0 + eslint-plugin-eslint-comments: 3.2.0_eslint@8.19.0 eslint-plugin-html: 6.2.0 - eslint-plugin-import: 2.26.0_wyrfqmvemfacbroyi3ypviy7f4 - eslint-plugin-jsonc: 2.3.0_eslint@8.17.0 - eslint-plugin-n: 15.2.3_eslint@8.17.0 - eslint-plugin-promise: 6.0.0_eslint@8.17.0 - eslint-plugin-unicorn: 42.0.0_eslint@8.17.0 - eslint-plugin-vue: 9.1.1_eslint@8.17.0 - eslint-plugin-yml: 1.0.0_eslint@8.17.0 + eslint-plugin-import: 2.26.0_rywvbqnelbznwddhxv2glfjuay + eslint-plugin-jsonc: 2.3.1_eslint@8.19.0 + eslint-plugin-n: 15.2.4_eslint@8.19.0 + eslint-plugin-promise: 6.0.0_eslint@8.19.0 + eslint-plugin-unicorn: 42.0.0_eslint@8.19.0 + eslint-plugin-vue: 9.2.0_eslint@8.19.0 + eslint-plugin-yml: 1.0.0_eslint@8.19.0 jsonc-eslint-parser: 2.1.0 - typescript: 4.7.3 + typescript: 4.7.4 yaml-eslint-parser: 1.0.1 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -1012,16 +1027,15 @@ packages: dependencies: fill-range: 7.0.1 - /browserslist/4.20.4: - resolution: {integrity: sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==} + /browserslist/4.21.2: + resolution: {integrity: sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001361 - electron-to-chromium: 1.4.176 - escalade: 3.1.1 - node-releases: 2.0.5 - picocolors: 1.0.0 + caniuse-lite: 1.0.30001367 + electron-to-chromium: 1.4.191 + node-releases: 2.0.6 + update-browserslist-db: 1.0.4_browserslist@4.21.2 /buffer-from/1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -1050,13 +1064,13 @@ packages: semver: 7.3.7 dev: true - /bundle-require/3.0.4_esbuild@0.14.44: + /bundle-require/3.0.4_esbuild@0.14.49: 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.44 + esbuild: 0.14.49 load-tsconfig: 0.2.3 dev: true @@ -1080,8 +1094,8 @@ packages: engines: {node: '>=6'} dev: true - /caniuse-lite/1.0.30001361: - resolution: {integrity: sha512-ybhCrjNtkFji1/Wto6SSJKkWk6kZgVQsDq5QI83SafsF6FXv2JB4df9eEdH6g8sdGgqTXrFLjAxqBGgYoU3azQ==} + /caniuse-lite/1.0.30001367: + resolution: {integrity: sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw==} /chai/4.3.6: resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} @@ -1201,6 +1215,14 @@ packages: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true + /cross-env/7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + dev: true + /cross-spawn/6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} @@ -1249,7 +1271,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.3 + ms: 2.1.2 dev: true /debug/4.3.4: @@ -1262,7 +1284,6 @@ packages: optional: true dependencies: ms: 2.1.2 - dev: true /deep-eql/3.0.1: resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} @@ -1336,11 +1357,11 @@ packages: domhandler: 4.3.1 dev: true - /electron-to-chromium/1.4.176: - resolution: {integrity: sha512-92JdgyRlcNDwuy75MjuFSb3clt6DGJ2IXSpg0MCjKd3JV9eSmuUAIyWiGAp/EtT0z2D4rqbYqThQLV90maH3Zw==} + /electron-to-chromium/1.4.191: + resolution: {integrity: sha512-MeEaiuoSFh4G+rrN+Ilm1KJr8pTTZloeLurcZ+PRcthvdK1gWThje+E6baL7/7LoNctrzCncavAG/j/vpES9jg==} - /enhanced-resolve/5.9.3: - resolution: {integrity: sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==} + /enhanced-resolve/5.10.0: + resolution: {integrity: sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.10 @@ -1408,400 +1429,192 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-android-64/0.14.38: - resolution: {integrity: sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==} + /esbuild-android-64/0.14.49: + resolution: {integrity: sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true - dev: true - optional: true - - /esbuild-android-64/0.14.44: - resolution: {integrity: sha512-dFPHBXmx385zuJULAD/Cmq/LyPRXiAWbf9ylZtY0wJ8iVyWfKYaCYxeJx8OAZUuj46ZwNa7MzW2GBAQLOeiemg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /esbuild-android-arm64/0.14.38: - resolution: {integrity: sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true optional: true - /esbuild-android-arm64/0.14.44: - resolution: {integrity: sha512-qqaqqyxHXjZ/0ddKU3I3Nb7lAvVM69ELMhb8+91FyomAUmQPlHtxe+TTiWxXGHE72XEzcgTEGq4VauqLNkN22g==} + /esbuild-android-arm64/0.14.49: + resolution: {integrity: sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==} engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true optional: true - /esbuild-darwin-64/0.14.38: - resolution: {integrity: sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.14.44: - resolution: {integrity: sha512-RBmtGKGY06+AW6IOJ1LE/dEeF7HH34C1/Ces9FSitU4bIbIpL4KEuQpTFoxwb4ry5s2hyw7vbPhhtyOd18FH9g==} + /esbuild-darwin-64/0.14.49: + resolution: {integrity: sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==} engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /esbuild-darwin-arm64/0.14.38: - resolution: {integrity: sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==} + /esbuild-darwin-arm64/0.14.49: + resolution: {integrity: sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true - /esbuild-darwin-arm64/0.14.44: - resolution: {integrity: sha512-Bmhx5Cfo4Hdb7WyyyDupTB8HPmnFZ8baLfPlzLdYvF6OzsIbV+CY+m/AWf0OQvY40BlkzCLJ/7Lfwbb71Tngmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /esbuild-freebsd-64/0.14.38: - resolution: {integrity: sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.14.44: - resolution: {integrity: sha512-O4HpWa5ZgxbNPQTF7URicLzYa+TidGlmGT/RAC3GjbGEQQYkd0R1Slyh69Yrmb2qmcOcPAgWHbNo1UhK4WmZ4w==} + /esbuild-freebsd-64/0.14.49: + resolution: {integrity: sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true optional: true - /esbuild-freebsd-arm64/0.14.38: - resolution: {integrity: sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==} + /esbuild-freebsd-arm64/0.14.49: + resolution: {integrity: sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true - /esbuild-freebsd-arm64/0.14.44: - resolution: {integrity: sha512-f0/jkAKccnDY7mg1F9l/AMzEm+VXWXK6c3IrOEmd13jyKfpTZKTIlt+yI04THPDCDZTzXHTRUBLozqp+m8Mg5Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /esbuild-linux-32/0.14.38: - resolution: {integrity: sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==} + /esbuild-linux-32/0.14.49: + resolution: {integrity: sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.14.44: - resolution: {integrity: sha512-WSIhzLldMR7YUoEL7Ix319tC+NFmW9Pu7NgFWxUfOXeWsT0Wg484hm6bNgs7+oY2pGzg715y/Wrqi1uNOMmZJw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-64/0.14.38: - resolution: {integrity: sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true optional: true - /esbuild-linux-64/0.14.44: - resolution: {integrity: sha512-zgscTrCMcRZRIsVugqBTP/B5lPLNchBlWjQ8sQq2Epnv+UDtYKgXEq1ctWAmibZNy2E9QRCItKMeIEqeTUT5kA==} + /esbuild-linux-64/0.14.49: + resolution: {integrity: sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==} engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-arm/0.14.38: - resolution: {integrity: sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.14.44: - resolution: {integrity: sha512-laPBPwGfsbBxGw6F6jnqic2CPXLyC1bPrmnSOeJ9oEnx1rcKkizd4HWCRUc0xv+l4z/USRfx/sEfYlWSLeqoJQ==} + /esbuild-linux-arm/0.14.49: + resolution: {integrity: sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==} engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /esbuild-linux-arm64/0.14.38: - resolution: {integrity: sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==} + /esbuild-linux-arm64/0.14.49: + resolution: {integrity: sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true - /esbuild-linux-arm64/0.14.44: - resolution: {integrity: sha512-H0H/2/wgiScTwBve/JR8/o+Zhabx5KPk8T2mkYZFKQGl1hpUgC+AOmRyqy/Js3p66Wim4F4Akv3I3sJA1sKg0w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-mips64le/0.14.38: - resolution: {integrity: sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==} + /esbuild-linux-mips64le/0.14.49: + resolution: {integrity: sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.14.44: - resolution: {integrity: sha512-ri3Okw0aleYy7o5n9zlIq+FCtq3tcMlctN6X1H1ucILjBJuH8pan2trJPKWeb8ppntFvE28I9eEXhwkWh6wYKg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /esbuild-linux-ppc64le/0.14.38: - resolution: {integrity: sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true optional: true - /esbuild-linux-ppc64le/0.14.44: - resolution: {integrity: sha512-96TqL/MvFRuIVXz+GtCIXzRQ43ZwEk4XTn0RWUNJduXXMDQ/V1iOV28U6x6Oe3NesK4xkoKSaK2+F3VHcU8ZrA==} + /esbuild-linux-ppc64le/0.14.49: + resolution: {integrity: sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-riscv64/0.14.38: - resolution: {integrity: sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64/0.14.44: - resolution: {integrity: sha512-rrK9qEp2M8dhilsPn4T9gxUsAumkITc1kqYbpyNMr9EWo+J5ZBj04n3GYldULrcCw4ZCHAJ+qPjqr8b6kG2inA==} + /esbuild-linux-riscv64/0.14.49: + resolution: {integrity: sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true optional: true - /esbuild-linux-s390x/0.14.38: - resolution: {integrity: sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x/0.14.44: - resolution: {integrity: sha512-2YmTm9BrW5aUwBSe8wIEARd9EcnOQmkHp4+IVaO09Ez/C5T866x+ABzhG0bwx0b+QRo9q97CRMaQx2Ngb6/hfw==} + /esbuild-linux-s390x/0.14.49: + resolution: {integrity: sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true optional: true - /esbuild-netbsd-64/0.14.38: - resolution: {integrity: sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.14.44: - resolution: {integrity: sha512-zypdzPmZTCqYS30WHxbcvtC0E6e/ECvl4WueUdbdWhs2dfWJt5RtCBME664EpTznixR3lSN1MQ2NhwQF8MQryw==} + /esbuild-netbsd-64/0.14.49: + resolution: {integrity: sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true optional: true - /esbuild-openbsd-64/0.14.38: - resolution: {integrity: sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==} + /esbuild-openbsd-64/0.14.49: + resolution: {integrity: sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true - /esbuild-openbsd-64/0.14.44: - resolution: {integrity: sha512-8J43ab9ByYl7KteC03HGQjr2HY1ge7sN04lFnwMFWYk2NCn8IuaeeThvLeNjzOYhyT3I6K8puJP0uVXUu+D1xw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /esbuild-sunos-64/0.14.38: - resolution: {integrity: sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64/0.14.44: - resolution: {integrity: sha512-OH1/09CGUJwffA+HNM6mqPkSIyHVC3ZnURU/4CCIx7IqWUBn1Sh1HRLQC8/TWNgcs0/1u7ygnc2pgf/AHZJ/Ow==} + /esbuild-sunos-64/0.14.49: + resolution: {integrity: sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==} engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true optional: true - /esbuild-windows-32/0.14.38: - resolution: {integrity: sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==} + /esbuild-windows-32/0.14.49: + resolution: {integrity: sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true - /esbuild-windows-32/0.14.44: - resolution: {integrity: sha512-mCAOL9/rRqwfOfxTu2sjq/eAIs7eAXGiU6sPBnowggI7QS953Iq6o3/uDu010LwfN7zr18c/lEj6/PTwwTB3AA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /esbuild-windows-64/0.14.38: - resolution: {integrity: sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==} + /esbuild-windows-64/0.14.49: + resolution: {integrity: sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==} engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true - /esbuild-windows-64/0.14.44: - resolution: {integrity: sha512-AG6BH3+YG0s2Q/IfB1cm68FdyFnoE1P+GFbmgFO3tA4UIP8+BKsmKGGZ5I3+ZjcnzOwvT74bQRVrfnQow2KO5Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /esbuild-windows-arm64/0.14.38: - resolution: {integrity: sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==} + /esbuild-windows-arm64/0.14.49: + resolution: {integrity: sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==} engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true - /esbuild-windows-arm64/0.14.44: - resolution: {integrity: sha512-ygYPfYE5By4Sd6szsNr10B0RtWVNOSGmZABSaj4YQBLqh9b9i45VAjVWa8tyIy+UAbKF7WGwybi2wTbSVliO8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /esbuild/0.14.38: - resolution: {integrity: sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - esbuild-android-64: 0.14.38 - esbuild-android-arm64: 0.14.38 - esbuild-darwin-64: 0.14.38 - esbuild-darwin-arm64: 0.14.38 - esbuild-freebsd-64: 0.14.38 - esbuild-freebsd-arm64: 0.14.38 - esbuild-linux-32: 0.14.38 - esbuild-linux-64: 0.14.38 - esbuild-linux-arm: 0.14.38 - esbuild-linux-arm64: 0.14.38 - esbuild-linux-mips64le: 0.14.38 - esbuild-linux-ppc64le: 0.14.38 - esbuild-linux-riscv64: 0.14.38 - esbuild-linux-s390x: 0.14.38 - esbuild-netbsd-64: 0.14.38 - esbuild-openbsd-64: 0.14.38 - esbuild-sunos-64: 0.14.38 - esbuild-windows-32: 0.14.38 - esbuild-windows-64: 0.14.38 - esbuild-windows-arm64: 0.14.38 - dev: true - - /esbuild/0.14.44: - resolution: {integrity: sha512-Rn+lRRfj60r/3svI6NgAVnetzp3vMOj17BThuhshSj/gS1LR03xrjkDYyfPmrYG/0c3D68rC6FNYMQ3yRbiXeQ==} + /esbuild/0.14.49: + resolution: {integrity: sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-64: 0.14.44 - esbuild-android-arm64: 0.14.44 - esbuild-darwin-64: 0.14.44 - esbuild-darwin-arm64: 0.14.44 - esbuild-freebsd-64: 0.14.44 - esbuild-freebsd-arm64: 0.14.44 - esbuild-linux-32: 0.14.44 - esbuild-linux-64: 0.14.44 - esbuild-linux-arm: 0.14.44 - esbuild-linux-arm64: 0.14.44 - esbuild-linux-mips64le: 0.14.44 - esbuild-linux-ppc64le: 0.14.44 - esbuild-linux-riscv64: 0.14.44 - esbuild-linux-s390x: 0.14.44 - esbuild-netbsd-64: 0.14.44 - esbuild-openbsd-64: 0.14.44 - esbuild-sunos-64: 0.14.44 - esbuild-windows-32: 0.14.44 - esbuild-windows-64: 0.14.44 - esbuild-windows-arm64: 0.14.44 + esbuild-android-64: 0.14.49 + esbuild-android-arm64: 0.14.49 + esbuild-darwin-64: 0.14.49 + esbuild-darwin-arm64: 0.14.49 + esbuild-freebsd-64: 0.14.49 + esbuild-freebsd-arm64: 0.14.49 + esbuild-linux-32: 0.14.49 + esbuild-linux-64: 0.14.49 + esbuild-linux-arm: 0.14.49 + esbuild-linux-arm64: 0.14.49 + esbuild-linux-mips64le: 0.14.49 + esbuild-linux-ppc64le: 0.14.49 + esbuild-linux-riscv64: 0.14.49 + esbuild-linux-s390x: 0.14.49 + esbuild-netbsd-64: 0.14.49 + esbuild-openbsd-64: 0.14.49 + esbuild-sunos-64: 0.14.49 + esbuild-windows-32: 0.14.49 + esbuild-windows-64: 0.14.49 + esbuild-windows-arm64: 0.14.49 /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -1821,12 +1634,12 @@ packages: resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} dependencies: debug: 3.2.7 - resolve: 1.22.0 + resolve: 1.22.1 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils/2.7.3_cfsupm63rr3qvqifljk6nmy67u: + /eslint-module-utils/2.7.3_bsugbhruclroeiaqnd7gqoy7ya: resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} engines: {node: '>=4'} peerDependencies: @@ -1844,7 +1657,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm debug: 3.2.7 eslint-import-resolver-node: 0.3.6 find-up: 2.1.0 @@ -1852,25 +1665,25 @@ packages: - supports-color dev: true - /eslint-plugin-es/4.1.0_eslint@8.17.0: + /eslint-plugin-es/4.1.0_eslint@8.19.0: resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.17.0 + eslint: 8.19.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-eslint-comments/3.2.0_eslint@8.17.0: + /eslint-plugin-eslint-comments/3.2.0_eslint@8.19.0: resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: eslint: '>=4.19.1' dependencies: escape-string-regexp: 1.0.5 - eslint: 8.17.0 + eslint: 8.19.0 ignore: 5.2.0 dev: true @@ -1880,7 +1693,7 @@ packages: htmlparser2: 7.2.0 dev: true - /eslint-plugin-import/2.26.0_wyrfqmvemfacbroyi3ypviy7f4: + /eslint-plugin-import/2.26.0_rywvbqnelbznwddhxv2glfjuay: resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} peerDependencies: @@ -1890,20 +1703,20 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/parser': 5.30.6_4x5o4skxv6sl53vpwefgt23khm array-includes: 3.1.5 array.prototype.flat: 1.3.0 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.17.0 + eslint: 8.19.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.3_cfsupm63rr3qvqifljk6nmy67u + eslint-module-utils: 2.7.3_bsugbhruclroeiaqnd7gqoy7ya has: 1.0.3 is-core-module: 2.9.0 is-glob: 4.0.3 minimatch: 3.1.2 object.values: 1.1.5 - resolve: 1.22.0 + resolve: 1.22.1 tsconfig-paths: 3.14.1 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -1911,58 +1724,58 @@ packages: - supports-color dev: true - /eslint-plugin-jsonc/2.3.0_eslint@8.17.0: - resolution: {integrity: sha512-QqHj7Chw8vsALsCOhFxecRIepxpbcpmMon9yA1+GaYk1Am0GanHAwnTkeVX+/ysAb4QTkeGMZ+ZPK4TKrZ/VSw==} + /eslint-plugin-jsonc/2.3.1_eslint@8.19.0: + resolution: {integrity: sha512-8sgWGWiVRMFL6xGawRymrE4RjZJgiU0rXYgFFb71wvdwuUkPgWSvfFtc8jfwcgjjqFjis8vzCUFsg7SciMEDWw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 8.17.0 - eslint-utils: 3.0.0_eslint@8.17.0 + eslint: 8.19.0 + eslint-utils: 3.0.0_eslint@8.19.0 jsonc-eslint-parser: 2.1.0 natural-compare: 1.4.0 dev: true - /eslint-plugin-markdown/2.2.1_eslint@8.17.0: + /eslint-plugin-markdown/2.2.1_eslint@8.19.0: resolution: {integrity: sha512-FgWp4iyYvTFxPwfbxofTvXxgzPsDuSKHQy2S+a8Ve6savbujey+lgrFFbXQA0HPygISpRYWYBjooPzhYSF81iA==} engines: {node: ^8.10.0 || ^10.12.0 || >= 12.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 8.17.0 + eslint: 8.19.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-n/15.2.3_eslint@8.17.0: - resolution: {integrity: sha512-H+KC7U5R+3IWTeRnACm/4wlqLvS1Q7M6t7BGhn89qXDkZan8HTAEv3ouIONA0ifDwc2YzPFmyPzHuNLddNK4jw==} + /eslint-plugin-n/15.2.4_eslint@8.19.0: + resolution: {integrity: sha512-tjnVMv2fiXYMnuiIFI8QMtyUFI42SckEEWvi8h68SWGWshfqO6SSCASy24dGMGAiy7NUk6DZt90DM0iNUsmQ5w==} engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: builtins: 5.0.1 - eslint: 8.17.0 - eslint-plugin-es: 4.1.0_eslint@8.17.0 - eslint-utils: 3.0.0_eslint@8.17.0 + eslint: 8.19.0 + eslint-plugin-es: 4.1.0_eslint@8.19.0 + eslint-utils: 3.0.0_eslint@8.19.0 ignore: 5.2.0 is-core-module: 2.9.0 minimatch: 3.1.2 - resolve: 1.22.0 + resolve: 1.22.1 semver: 7.3.7 dev: true - /eslint-plugin-promise/6.0.0_eslint@8.17.0: + /eslint-plugin-promise/6.0.0_eslint@8.19.0: resolution: {integrity: sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.17.0 + eslint: 8.19.0 dev: true - /eslint-plugin-react/7.30.0_eslint@8.17.0: - resolution: {integrity: sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==} + /eslint-plugin-react/7.30.1_eslint@8.19.0: + resolution: {integrity: sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -1970,21 +1783,21 @@ packages: array-includes: 3.1.5 array.prototype.flatmap: 1.3.0 doctrine: 2.1.0 - eslint: 8.17.0 + eslint: 8.19.0 estraverse: 5.3.0 - jsx-ast-utils: 3.3.0 + jsx-ast-utils: 3.3.2 minimatch: 3.1.2 object.entries: 1.1.5 object.fromentries: 2.0.5 object.hasown: 1.1.1 object.values: 1.1.5 prop-types: 15.8.1 - resolve: 2.0.0-next.3 + resolve: 2.0.0-next.4 semver: 6.3.0 string.prototype.matchall: 4.0.7 dev: true - /eslint-plugin-unicorn/42.0.0_eslint@8.17.0: + /eslint-plugin-unicorn/42.0.0_eslint@8.19.0: resolution: {integrity: sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==} engines: {node: '>=12'} peerDependencies: @@ -1993,8 +1806,8 @@ packages: '@babel/helper-validator-identifier': 7.18.6 ci-info: 3.3.2 clean-regexp: 1.0.0 - eslint: 8.17.0 - eslint-utils: 3.0.0_eslint@8.17.0 + eslint: 8.19.0 + eslint-utils: 3.0.0_eslint@8.19.0 esquery: 1.4.0 indent-string: 4.0.0 is-builtin-module: 3.1.0 @@ -2007,32 +1820,32 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-vue/9.1.1_eslint@8.17.0: - resolution: {integrity: sha512-W9n5PB1X2jzC7CK6riG0oAcxjmKrjTF6+keL1rni8n57DZeilx/Fulz+IRJK3lYseLNAygN0I62L7DvioW40Tw==} + /eslint-plugin-vue/9.2.0_eslint@8.19.0: + resolution: {integrity: sha512-W2hc+NUXoce8sZtWgZ45miQTy6jNyuSdub5aZ1IBune4JDeAyzucYX0TzkrQ1jMO52sNUDYlCIHDoaNePe0p5g==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.17.0 - eslint-utils: 3.0.0_eslint@8.17.0 + eslint: 8.19.0 + eslint-utils: 3.0.0_eslint@8.19.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.10 semver: 7.3.7 - vue-eslint-parser: 9.0.2_eslint@8.17.0 + vue-eslint-parser: 9.0.3_eslint@8.19.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-yml/1.0.0_eslint@8.17.0: + /eslint-plugin-yml/1.0.0_eslint@8.19.0: resolution: {integrity: sha512-0RVoUFh5vpznE2DIP5agSpWO/nU8GgAWwoTAHWopU2X+1SCB5ykHU6DwS0GrZ5Hvejtk6CcADQllpQQJB4C5QA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.17.0 + eslint: 8.19.0 lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.0.1 @@ -2062,13 +1875,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.17.0: + /eslint-utils/3.0.0_eslint@8.19.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.17.0 + eslint: 8.19.0 eslint-visitor-keys: 2.1.0 dev: true @@ -2087,8 +1900,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.17.0: - resolution: {integrity: sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==} + /eslint/8.19.0: + resolution: {integrity: sha512-SXOPj3x9VKvPe81TjjUJCYlV4oJjQw68Uek+AM0X4p+33dj2HY5bpTZOgnQHcG2eAm1mtCU9uNMnJi7exU/kYw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: @@ -2101,7 +1914,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.17.0 + eslint-utils: 3.0.0_eslint@8.19.0 eslint-visitor-keys: 3.3.0 espree: 9.3.2 esquery: 1.4.0 @@ -2110,7 +1923,7 @@ packages: file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.15.0 + globals: 13.16.0 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 @@ -2135,7 +1948,7 @@ packages: resolution: {integrity: sha512-6slSBEV1lMKcX13DBifvnDFpNno5WXhw4j/ff7RI0y51BZiDqEe5dNhhjhIQ3iCOQuzsm2MbVzmwqbN78BBhPg==} hasBin: true dependencies: - tsx: 3.4.3 + tsx: 3.8.0 dev: true /espree/9.3.2: @@ -2207,7 +2020,6 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -2220,7 +2032,6 @@ packages: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 - dev: true /file-entry-cache/6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} @@ -2261,12 +2072,12 @@ packages: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.5 + flatted: 3.2.6 rimraf: 3.0.2 dev: true - /flatted/3.2.5: - resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} + /flatted/3.2.6: + resolution: {integrity: sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==} dev: true /follow-redirects/1.15.1: @@ -2335,8 +2146,8 @@ packages: get-intrinsic: 1.1.2 dev: true - /get-tsconfig/4.0.3: - resolution: {integrity: sha512-wviJjx25Il6iUWra43qxBr+GiLzE1dMh50o+nPmzSU/M2qkMkShpE4J71d3fVFazY76CNeoUT6jz5M9q6Fr+7g==} + /get-tsconfig/4.2.0: + resolution: {integrity: sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg==} dev: true /glob-parent/5.1.2: @@ -2377,8 +2188,8 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals/13.15.0: - resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==} + /globals/13.16.0: + resolution: {integrity: sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -2687,8 +2498,8 @@ packages: semver: 7.3.7 dev: true - /jsx-ast-utils/3.3.0: - resolution: {integrity: sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==} + /jsx-ast-utils/3.3.2: + resolution: {integrity: sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==} engines: {node: '>=4.0'} dependencies: array-includes: 3.1.5 @@ -2712,8 +2523,8 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.0.5: - resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} + /lilconfig/2.0.6: + resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} engines: {node: '>=10'} dev: true @@ -2740,8 +2551,8 @@ packages: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} - /local-pkg/0.4.1: - resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==} + /local-pkg/0.4.2: + resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} engines: {node: '>=14'} dev: true @@ -2836,7 +2647,6 @@ packages: /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true /micromark/2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} @@ -2853,7 +2663,6 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true /mime-db/1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -2896,11 +2705,6 @@ packages: /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /ms/2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true /mz/2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -2926,14 +2730,14 @@ packages: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true - /node-releases/2.0.5: - resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==} + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} /normalize-package-data/2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.0 + resolve: 1.22.1 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -3211,7 +3015,7 @@ packages: ts-node: optional: true dependencies: - lilconfig: 2.0.5 + lilconfig: 2.0.6 yaml: 1.10.2 dev: true @@ -3265,7 +3069,6 @@ packages: /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true /randombytes/2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -3339,25 +3142,26 @@ packages: engines: {node: '>=8'} dev: true - /resolve/1.22.0: - resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: is-core-module: 2.9.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve/2.0.0-next.3: - resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==} + /resolve/2.0.0-next.4: + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + hasBin: true dependencies: is-core-module: 2.9.0 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'} - dev: true /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} @@ -3377,7 +3181,6 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - dev: true /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3594,8 +3397,8 @@ packages: engines: {node: '>=8'} dev: true - /sucrase/3.21.0: - resolution: {integrity: sha512-FjAhMJjDcifARI7bZej0Bi1yekjWQHoEvWIXhLPwDhC6O4iZ5PtGb86WV56riW87hzpgB13wwBKO9vKAiWu5VQ==} + /sucrase/3.24.0: + resolution: {integrity: sha512-SevqflhW356TKEyWjFHg2e5f3eH+5rzmsMJxrVMDvZIEHh/goYrpzDGA6APEj4ME9MdGm8oNgIzi1eF3c3dDQA==} engines: {node: '>=8'} hasBin: true dependencies: @@ -3635,7 +3438,7 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - /terser-webpack-plugin/5.3.3_dck6ypq7hr622zvbcmlpzlrlde: + /terser-webpack-plugin/5.3.3_kkudfcji3cjkd3bychuk2tc3b4: resolution: {integrity: sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -3651,16 +3454,16 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.13 - '@swc/core': 1.2.208 + '@jridgewell/trace-mapping': 0.3.14 + '@swc/core': 1.2.215 jest-worker: 27.5.1 schema-utils: 3.1.1 serialize-javascript: 6.0.0 - terser: 5.14.1 - webpack: 5.73.0_@swc+core@1.2.208 + terser: 5.14.2 + webpack: 5.73.0_@swc+core@1.2.215 - /terser/5.14.1: - resolution: {integrity: sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==} + /terser/5.14.2: + resolution: {integrity: sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -3686,8 +3489,8 @@ packages: any-promise: 1.3.0 dev: true - /tinypool/0.1.3: - resolution: {integrity: sha512-2IfcQh7CP46XGWGGbdyO4pjcKqsmVqFAPcXfPxcPXmOWt9cYkTP9HcDmGgsfijYoAEc4z9qcpM/BaBz46Y9/CQ==} + /tinypool/0.2.4: + resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} engines: {node: '>=14.0.0'} dev: true @@ -3739,8 +3542,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tsup/6.1.2_4ygsurswyheu2as2necrsfs3lm: - resolution: {integrity: sha512-Hw4hKDHaAQkm2eVavlArEOrAPA93bziRDamdfwaNs0vXQdUUFfItvUWY0L/F6oQQMVh6GvjQq1+HpDXw8UKtPA==} + /tsup/6.1.3_522qymwwylokbe4a7fadqv7ouq: + resolution: {integrity: sha512-eRpBnbfpDFng+EJNTQ90N7QAf4HAGGC7O3buHIjroKWK7D1ibk9/YnR/3cS8HsMU5T+6Oi+cnF+yU5WmCnB//Q==} engines: {node: '>=14'} hasBin: true peerDependencies: @@ -3755,12 +3558,12 @@ packages: typescript: optional: true dependencies: - '@swc/core': 1.2.208 - bundle-require: 3.0.4_esbuild@0.14.44 + '@swc/core': 1.2.215 + bundle-require: 3.0.4_esbuild@0.14.49 cac: 6.7.12 chokidar: 3.5.3 debug: 4.3.4 - esbuild: 0.14.44 + esbuild: 0.14.49 execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 @@ -3768,31 +3571,31 @@ packages: resolve-from: 5.0.0 rollup: 2.75.6 source-map: 0.8.0-beta.0 - sucrase: 3.21.0 + sucrase: 3.24.0 tree-kill: 1.2.2 - typescript: 4.7.3 + typescript: 4.7.4 transitivePeerDependencies: - supports-color - ts-node dev: true - /tsutils/3.21.0_typescript@4.7.3: + /tsutils/3.21.0_typescript@4.7.4: 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.7.3 + typescript: 4.7.4 dev: true - /tsx/3.4.3: - resolution: {integrity: sha512-2joLNBKxg6Jn+qEMlzMrS2K6uxBG2faQNX7J/w8cO56ysCxJPbfeyWX5Qxbv0l8GeCkkc0Q0/wlH9eEI5LkZeQ==} + /tsx/3.8.0: + resolution: {integrity: sha512-PcvTwRXTm6hDWfPihA4n5WW/9SmgFNxKaDKqvLLG+FKNEPA4crsipChzC7PVozPtdOaMfR5QctDlkC/hKoIsxw==} hasBin: true dependencies: - '@esbuild-kit/cjs-loader': 2.1.0 - '@esbuild-kit/core-utils': 1.3.1 - '@esbuild-kit/esm-loader': 2.2.0 + '@esbuild-kit/cjs-loader': 2.3.1 + '@esbuild-kit/core-utils': 2.1.0 + '@esbuild-kit/esm-loader': 2.4.1 optionalDependencies: fsevents: 2.3.2 dev: true @@ -3830,13 +3633,19 @@ packages: hasBin: true dev: true + /typescript/4.7.4: + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + /typical/4.0.0: resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} engines: {node: '>=8'} dev: true - /ufo/0.8.4: - resolution: {integrity: sha512-/+BmBDe8GvlB2nIflWasLLAInjYG0bC9HRnfEpNi4sw77J2AJNnEVnTDReVrehoh825+Q/evF3THXTAweyam2g==} + /ufo/0.8.5: + resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==} dev: true /unbox-primitive/1.0.2: @@ -3854,12 +3663,12 @@ packages: '@types/unist': 2.0.6 dev: true - /unplugin/0.7.0_hkbj3q5x4yf6mrrlsspksagami: - resolution: {integrity: sha512-OsiFrgybmqm5bGuaodvbLYhqUrvGuRHRMZDhddKEXTDbuQ1x+hR7M1WpQguXj03whVYjEYChhFo738cZH5RNig==} + /unplugin/0.7.2_rixtmtkub4psuc65xphg6tr7b4: + resolution: {integrity: sha512-m7thX4jP8l5sETpLdUASoDOGOcHaOVtgNyrYlToyQUvILUtEzEnngRBrHnAX3IKqooJVmXpoa/CwQ/QqzvGaHQ==} peerDependencies: esbuild: '>=0.13' rollup: ^2.50.0 - vite: ^2.3.0 + vite: ^2.3.0 || ^3.0.0-0 webpack: 4 || 5 peerDependenciesMeta: esbuild: @@ -3874,12 +3683,22 @@ packages: acorn: 8.7.1 chokidar: 3.5.3 rollup: 2.75.6 - vite: 2.9.12 - webpack: 5.73.0_@swc+core@1.2.208 + vite: 2.9.14 + webpack: 5.73.0_@swc+core@1.2.215 webpack-sources: 3.2.3 - webpack-virtual-modules: 0.4.3 + webpack-virtual-modules: 0.4.4 dev: false + /update-browserslist-db/1.0.4_browserslist@4.21.2: + resolution: {integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.2 + escalade: 3.1.1 + picocolors: 1.0.0 + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -3900,7 +3719,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-plugin-inspect/0.5.1_vite@2.9.12: + /vite-plugin-inspect/0.5.1_vite@2.9.14: resolution: {integrity: sha512-cSVdNhVPAfH3OdVSV331/t/YWjg++HR/KiBkVST8pjLISna7O8gRwU8NN7KLrEBJqKKQqoRYLBb0RSdYurEyeg==} engines: {node: '>=14'} peerDependencies: @@ -3910,14 +3729,14 @@ packages: debug: 4.3.4 kolorist: 1.5.1 sirv: 2.0.2 - ufo: 0.8.4 - vite: 2.9.12 + ufo: 0.8.5 + vite: 2.9.14 transitivePeerDependencies: - supports-color dev: true - /vite/2.9.12: - resolution: {integrity: sha512-suxC36dQo9Rq1qMB2qiRorNJtJAdxguu5TMvBHOc/F370KvqAe9t48vYp+/TbPKRNrMh/J55tOUmkuIqstZaew==} + /vite/2.9.14: + resolution: {integrity: sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw==} engines: {node: '>=12.2.0'} hasBin: true peerDependencies: @@ -3932,23 +3751,53 @@ packages: stylus: optional: true dependencies: - esbuild: 0.14.44 + esbuild: 0.14.49 postcss: 8.4.14 - resolve: 1.22.0 + resolve: 1.22.1 rollup: 2.75.6 optionalDependencies: fsevents: 2.3.2 - /vitest/0.12.10: - resolution: {integrity: sha512-TVoI6fM7rZ1zIMDjcviY8Dg5XIaPqBwDweaI3oUwvWqUz68cbM49CIHNMkF+UVoSjl94wXiBRdNhsT4ekgWuGA==} + /vite/3.0.0: + resolution: {integrity: sha512-M7phQhY3+fRZa0H+1WzI6N+/onruwPTBTMvaj7TzgZ0v2TE+N2sdLKxJOfOv9CckDWt5C4HmyQP81xB4dwRKzA==} + engines: {node: '>=14.18.0'} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + terser: ^5.4.0 + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.14.49 + postcss: 8.4.14 + resolve: 1.22.1 + rollup: 2.75.6 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vitest/0.18.0: + resolution: {integrity: sha512-ryAtlh5Gvg3+aLNuOQ8YOHxgQCCu46jx40X5MBL0K0/ejB9i5zsr8fV8LTGXbXex80UMHlzceI9F+ouGaiR+mQ==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: + '@edge-runtime/vm': '*' '@vitest/ui': '*' c8: '*' happy-dom: '*' jsdom: '*' peerDependenciesMeta: + '@edge-runtime/vm': + optional: true '@vitest/ui': optional: true c8: @@ -3960,27 +3809,29 @@ packages: dependencies: '@types/chai': 4.3.1 '@types/chai-subset': 1.3.3 + '@types/node': 17.0.45 chai: 4.3.6 debug: 4.3.4 - local-pkg: 0.4.1 - tinypool: 0.1.3 + local-pkg: 0.4.2 + tinypool: 0.2.4 tinyspy: 0.3.3 - vite: 2.9.12 + vite: 3.0.0 transitivePeerDependencies: - less - sass - stylus - supports-color + - terser dev: true - /vue-eslint-parser/9.0.2_eslint@8.17.0: - resolution: {integrity: sha512-uCPQwTGjOtAYrwnU+76pYxalhjsh7iFBsHwBqDHiOPTxtICDaraO4Szw54WFTNZTAEsgHHzqFOu1mmnBOBRzDA==} + /vue-eslint-parser/9.0.3_eslint@8.19.0: + resolution: {integrity: sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.17.0 + eslint: 8.19.0 eslint-scope: 7.1.1 eslint-visitor-keys: 3.3.0 espree: 9.3.2 @@ -4025,11 +3876,11 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - /webpack-virtual-modules/0.4.3: - resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==} + /webpack-virtual-modules/0.4.4: + resolution: {integrity: sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==} dev: false - /webpack/5.73.0_@swc+core@1.2.208: + /webpack/5.73.0_@swc+core@1.2.215: resolution: {integrity: sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==} engines: {node: '>=10.13.0'} hasBin: true @@ -4039,16 +3890,16 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.3 + '@types/eslint-scope': 3.7.4 '@types/estree': 0.0.51 '@webassemblyjs/ast': 1.11.1 '@webassemblyjs/wasm-edit': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 acorn: 8.7.1 acorn-import-assertions: 1.8.0_acorn@8.7.1 - browserslist: 4.20.4 + browserslist: 4.21.2 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.9.3 + enhanced-resolve: 5.10.0 es-module-lexer: 0.9.3 eslint-scope: 5.1.1 events: 3.3.0 @@ -4060,7 +3911,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.1.1 tapable: 2.2.1 - terser-webpack-plugin: 5.3.3_dck6ypq7hr622zvbcmlpzlrlde + terser-webpack-plugin: 5.3.3_kkudfcji3cjkd3bychuk2tc3b4 watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/src/index.ts b/src/index.ts index a637eb1..3625405 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,13 +8,24 @@ const ids = [ ] function resolveOptions(options: Options, meta: UnpluginContextMeta) { + if (options.extension) { + options.extensions = options.extensions ?? options.extension + } + + let extensions = options.extensions + if (meta.framework === 'vite' && !extensions) { + extensions = 'vue' + } else if (meta.framework === 'webpack' && Array.isArray(extensions)) { + extensions = extensions[0] + } + extensions = (Array.isArray(extensions) ? extensions : [extensions ?? '']) as string[] + extensions = extensions.map(ext => ext.replace(/^\./, '')) + return Object.assign({ cwd: process.cwd(), namespaces: [], separator: '::', - extension: !options.extension && meta.framework === 'vite' - ? '.vue' - : options.extension || '', + extensions, import: false, ssr: false, }, options) as ResolvedOptions diff --git a/src/module/files.ts b/src/module/files.ts new file mode 100644 index 0000000..fba39c2 --- /dev/null +++ b/src/module/files.ts @@ -0,0 +1,49 @@ +import { join } from 'path' +import fg from 'fast-glob' +import Debug from 'debug' + +const debug = Debug('inertia-plugin:module:files') + +export interface GetPageFilesOptions { + /** + * The current working directory in which to search. + */ + cwd?: string + + /** + * Valid file extensions for page components. + */ + extensions?: string[] + + /** + * List of path globs to exclude when resolving pages. + */ + exclude?: string[] +} + +function getIgnore(exclude: string[]) { + return ['.git', '**/__*__/**', ...exclude] +} + +function extsToGlob(extensions: string[]) { + return extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0] || '' +} + +export function getPageFiles(path: string, options: GetPageFilesOptions = {}): string[] { + const { + extensions = [''], + exclude = [], + } = options + + const ext = extsToGlob(extensions) + + const files = fg.sync(join(path, `**/*.${ext}`).replaceAll('\\', '/'), { + cwd: options.cwd, + ignore: getIgnore(exclude), + onlyFiles: true, + }) + + debug(files) + + return files +} diff --git a/src/module/import.ts b/src/module/import.ts new file mode 100644 index 0000000..ada7a96 --- /dev/null +++ b/src/module/import.ts @@ -0,0 +1,56 @@ +import Debug from 'debug' +import { type GetPageFilesOptions, getPageFiles } from './files' + +const debug = { + pages: Debug('inertia-plugin:module:import:pages'), + imports: Debug('inertia-plugin:module:import:imports'), +} + +export interface GenerateImportGlobCodeOptions extends GetPageFilesOptions { + /** + * The imported page number of start. + */ + start?: number + + /** + * Whether the module is eagerly loaded. + */ + eager?: boolean +} + +export function generateImportGlobCode(pattern: string, options: GenerateImportGlobCodeOptions = {}) { + const { eager = false } = options + let start = options.start ?? 0 + + const files = getPageFiles(pattern, options).map(file => { + // remove '/' and './' + file = file.replace(/^(\/|\.\/)/, '') + if (!file.startsWith('.')) { + file = `/${file}` + } + return file + }) + + const imporetedModules: Record = {} + + let pages = files.map(file => { + if (eager) { + imporetedModules[file] = `__import_page_${start}__` + start++ + return ` "${file}": () => import(${imporetedModules[file]}),\n` + } + return ` "${file}": () => import("${file}"),\n` + }).join('') + pages = `{\n${pages} }` + + debug.pages(pages) + + let imports = '' + if (eager) { + imports = files.map(file => `import ${imporetedModules[file]} from '${file}'`).join('\n') + } + + debug.imports(imports) + + return { imports, pages, start } +} diff --git a/src/page/generate-namespaces.ts b/src/page/generate-namespaces.ts index 5f25df7..90c72a7 100644 --- a/src/page/generate-namespaces.ts +++ b/src/page/generate-namespaces.ts @@ -1,31 +1,50 @@ import type { UnpluginContextMeta } from 'unplugin' +import Debug from 'debug' import type { ResolvedOptions } from '../types' +import { generateImportGlobCode } from '../module/import' import { resolveNamespaces } from './namespace-option' +const debug = Debug('inertia-plugin:page:generate-namespaces') + export function generateNamespacesCode(options: ResolvedOptions, meta: UnpluginContextMeta) { const cwd = options.cwd const namespaces = resolveNamespaces(cwd, options.namespaces) + let importsCode = '' + let importStartNum = 0 + let namespacesCode = Object.keys(namespaces).map(namespace => { const modules = namespaces[namespace] - let code = `\n '${namespace}': [` + let code = ` '${namespace}': [\n` if (meta.framework === 'vite') { modules.forEach(moduleDir => { - code += `\n name => resolveVitePage(name, import.meta.${!options.ssr ? 'glob' : 'globEager'}('/${moduleDir}/**/*${options.extension}'), false),` + const { imports, pages, start } = generateImportGlobCode(moduleDir, { + start: importStartNum, + eager: options.ssr, + cwd: options.cwd, + extensions: options.extensions, + }) + importStartNum = start + importsCode += `${importsCode ? '\n' : ''}${imports}` + code += ` name => resolveVitePage(name, ${pages}, false),\n` }) } else if (meta.framework === 'webpack') { modules.forEach(moduleDir => { const moduleImporter = options.ssr || (!options.ssr && !options.import) ? 'require' : 'import' - code += `\n name => ${moduleImporter}(\`../${moduleDir}/\${name}${options.extension}\`),` + const extension = options.extensions[0] ? `.${options.extensions[0]}` : '' + code += ` name => ${moduleImporter}(\`../${moduleDir}/\${name}${extension}\`),\n` }) } - code += '\n ],' + code += ' ],\n' return code }).join('') - namespacesCode += '\n ' + namespacesCode = `{\n${namespacesCode} }` + + debug(namespacesCode) + debug(importsCode) - return `{${namespacesCode}}` + return { namespacesCode, importsCode } } diff --git a/src/page/index.ts b/src/page/index.ts index acebc92..ad4c6a8 100644 --- a/src/page/index.ts +++ b/src/page/index.ts @@ -3,9 +3,11 @@ import type { ResolvedOptions } from '../types' import { generateNamespacesCode } from './generate-namespaces' export function pageLoader(options: ResolvedOptions, meta: UnpluginContextMeta) { - const namespacesCode = generateNamespacesCode(options, meta) + const { namespacesCode, importsCode } = generateNamespacesCode(options, meta) return ` +${importsCode} + export function resolvePage(resolver, transformPage) { return async name => { let page = await resolvePluginPage(name) @@ -56,7 +58,7 @@ export async function resolvePluginPage(name) { export async function resolveVitePage(name, pages, throwNotFoundError = true) { for (const path in pages) { - if (path.endsWith(\`\${name.replace('.', '/')}${options.extension}\`)) { + if (${JSON.stringify(options.extensions)}.some(ext => path.endsWith(\`\${name.replaceAll('.', '/')}.\${ext}\`))) { const module = typeof pages[path] === 'function' ? pages[path]() : pages[path] diff --git a/src/types.ts b/src/types.ts index 227e1c9..438937d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,4 +1,5 @@ declare global { + // @ts-ignore // eslint-disable-next-line vars-on-top, no-var var InertiaPlugin: InstanceType } @@ -7,48 +8,74 @@ export interface Options { /** * Current work directory. * - * Default: process.cwd() + * @default process.cwd() */ cwd?: string /** * Define namespace mapping. * - * Default: [] + * @default [] */ namespaces?: Namespaces /** * Namespace separator. * - * Default: '::' + * @default '::' */ separator?: string /** - * Module extension. + * Module extensions. * - * Default: '' (Defaults to '.vue' if not set and used with vite.) + * vite: + * @type {string|string[]} + * @default 'vue' + * + * webpack: + * @type {string} + * @default '' + */ + extensions?: string | string[] + + /** + * Module extensions. + * + * vite: + * @type {string|string[]} + * @default 'vue' + * + * webpack: + * @type {string} + * @default '' + * + * @deprecated Use `extensions` instead */ - extension?: string + extension?: string | string[] /** * Use `import()` to load pages for webpack, default is using `require()`. * Only for webpack. * - * Default: false + * @default false */ import?: boolean /** * Enable SSR mode. * - * Default: false + * @default false */ ssr?: boolean } -export type ResolvedOptions = Required +export type ResolvedOptions = Required> & { + /** + * Module extensions. + */ + extensions: string[] +} export type PageResolver = (name: string) => T | Promise diff --git a/tests/__snapshots__/generate-namespaces.test.ts.snap b/tests/__snapshots__/generate-namespaces.test.ts.snap deleted file mode 100644 index 6ce64df..0000000 --- a/tests/__snapshots__/generate-namespaces.test.ts.snap +++ /dev/null @@ -1,62 +0,0 @@ -// Vitest Snapshot v1 - -exports[`generate namespaces > namespaces with vite 1`] = ` -"{ - 'my-package-1': [ - name => resolveVitePage(name, import.meta.glob('/test_node_modules/my-plugin1/src/Pages/**/*.vue'), false), - ], - 'my-package-2': [ - name => resolveVitePage(name, import.meta.glob('/test_node_modules/my-plugin2/src/other-pages/**/*.vue'), false), - ], - 'my-php-package': [ - name => resolveVitePage(name, import.meta.glob('/test_vendor/ycs77/my-php-package/resources/js/Pages/**/*.vue'), false), - ], - }" -`; - -exports[`generate namespaces > namespaces with webpack 1`] = ` -"{ - 'my-package-1': [ - name => require(\`../test_node_modules/my-plugin1/src/Pages/\${name}\`), - ], - 'my-package-2': [ - name => require(\`../test_node_modules/my-plugin2/src/other-pages/\${name}\`), - ], - 'my-php-package': [ - name => require(\`../test_vendor/ycs77/my-php-package/resources/js/Pages/\${name}\`), - ], - }" -`; - -exports[`generate namespaces > simple options 1`] = ` -"{ - }" -`; - -exports[`generate namespaces > vite with ssr 1`] = ` -"{ - 'my-package-1': [ - name => resolveVitePage(name, import.meta.globEager('/test_node_modules/my-plugin1/src/Pages/**/*.vue'), false), - ], - 'my-package-2': [ - name => resolveVitePage(name, import.meta.globEager('/test_node_modules/my-plugin2/src/other-pages/**/*.vue'), false), - ], - 'my-php-package': [ - name => resolveVitePage(name, import.meta.globEager('/test_vendor/ycs77/my-php-package/resources/js/Pages/**/*.vue'), false), - ], - }" -`; - -exports[`generate namespaces > webpack with import 1`] = ` -"{ - 'my-package-1': [ - name => import(\`../test_node_modules/my-plugin1/src/Pages/\${name}\`), - ], - 'my-package-2': [ - name => import(\`../test_node_modules/my-plugin2/src/other-pages/\${name}\`), - ], - 'my-php-package': [ - name => import(\`../test_vendor/ycs77/my-php-package/resources/js/Pages/\${name}\`), - ], - }" -`; diff --git a/tests/generate-namespaces.test.ts b/tests/generate-namespaces.test.ts index 979db03..42ce233 100644 --- a/tests/generate-namespaces.test.ts +++ b/tests/generate-namespaces.test.ts @@ -5,10 +5,10 @@ import type { Namespaces, ResolvedOptions } from '../src/types' describe('generate namespaces', () => { const baseOptions = { - cwd: path.resolve(process.cwd(), 'tests'), + cwd: path.join(process.cwd(), 'tests'), namespaces: [], separator: '::', - extension: '.vue', + extensions: ['vue'], import: false, ssr: false, } @@ -20,9 +20,13 @@ describe('generate namespaces', () => { ] it('simple options', () => { - const namespacesCode = generateNamespacesCode(baseOptions, { framework: 'vite' }) + const code = generateNamespacesCode(baseOptions, { framework: 'vite' }) - expect(namespacesCode).toMatchSnapshot() + expect(code.importsCode).toMatchInlineSnapshot('""') + expect(code.namespacesCode).toMatchInlineSnapshot(` + "{ + }" + `) }) it('namespaces with vite', () => { @@ -31,9 +35,29 @@ describe('generate namespaces', () => { namespaces, } - const namespacesCode = generateNamespacesCode(options, { framework: 'vite' }) - - expect(namespacesCode).toMatchSnapshot() + const code = generateNamespacesCode(options, { framework: 'vite' }) + + expect(code.importsCode).toMatchInlineSnapshot('""') + expect(code.namespacesCode).toMatchInlineSnapshot(` + "{ + 'my-package-1': [ + name => resolveVitePage(name, { + \\"/test_node_modules/my-plugin1/src/Pages/Page3.vue\\": () => import(\\"/test_node_modules/my-plugin1/src/Pages/Page3.vue\\"), + }, false), + ], + 'my-package-2': [ + name => resolveVitePage(name, { + \\"/test_node_modules/my-plugin2/src/other-pages/Page222.vue\\": () => import(\\"/test_node_modules/my-plugin2/src/other-pages/Page222.vue\\"), + \\"/test_node_modules/my-plugin2/src/other-pages/Page223.vue\\": () => import(\\"/test_node_modules/my-plugin2/src/other-pages/Page223.vue\\"), + }, false), + ], + 'my-php-package': [ + name => resolveVitePage(name, { + \\"/test_vendor/ycs77/my-php-package/resources/js/Pages/PhpPackagePage.vue\\": () => import(\\"/test_vendor/ycs77/my-php-package/resources/js/Pages/PhpPackagePage.vue\\"), + }, false), + ], + }" + `) }) it('vite with ssr', () => { @@ -43,33 +67,84 @@ describe('generate namespaces', () => { ssr: true, } - const namespacesCode = generateNamespacesCode(options, { framework: 'vite' }) - - expect(namespacesCode).toMatchSnapshot() + const code = generateNamespacesCode(options, { framework: 'vite' }) + + expect(code.importsCode).toMatchInlineSnapshot(` + "import __import_page_0__ from '/test_node_modules/my-plugin1/src/Pages/Page3.vue' + import __import_page_1__ from '/test_node_modules/my-plugin2/src/other-pages/Page222.vue' + import __import_page_2__ from '/test_node_modules/my-plugin2/src/other-pages/Page223.vue' + import __import_page_3__ from '/test_vendor/ycs77/my-php-package/resources/js/Pages/PhpPackagePage.vue'" + `) + expect(code.namespacesCode).toMatchInlineSnapshot(` + "{ + 'my-package-1': [ + name => resolveVitePage(name, { + \\"/test_node_modules/my-plugin1/src/Pages/Page3.vue\\": () => import(__import_page_0__), + }, false), + ], + 'my-package-2': [ + name => resolveVitePage(name, { + \\"/test_node_modules/my-plugin2/src/other-pages/Page222.vue\\": () => import(__import_page_1__), + \\"/test_node_modules/my-plugin2/src/other-pages/Page223.vue\\": () => import(__import_page_2__), + }, false), + ], + 'my-php-package': [ + name => resolveVitePage(name, { + \\"/test_vendor/ycs77/my-php-package/resources/js/Pages/PhpPackagePage.vue\\": () => import(__import_page_3__), + }, false), + ], + }" + `) }) it('namespaces with webpack', () => { const options = { ...baseOptions, namespaces, - extension: '', + extensions: [''], } - const namespacesCode = generateNamespacesCode(options, { framework: 'webpack' }) - - expect(namespacesCode).toMatchSnapshot() + const code = generateNamespacesCode(options, { framework: 'webpack' }) + + expect(code.importsCode).toMatchInlineSnapshot('""') + expect(code.namespacesCode).toMatchInlineSnapshot(` + "{ + 'my-package-1': [ + name => require(\`../test_node_modules/my-plugin1/src/Pages/\${name}\`), + ], + 'my-package-2': [ + name => require(\`../test_node_modules/my-plugin2/src/other-pages/\${name}\`), + ], + 'my-php-package': [ + name => require(\`../test_vendor/ycs77/my-php-package/resources/js/Pages/\${name}\`), + ], + }" + `) }) it('webpack with import', () => { const options = { ...baseOptions, namespaces, - extension: '', + extensions: [''], import: true, } - const namespacesCode = generateNamespacesCode(options, { framework: 'webpack' }) - - expect(namespacesCode).toMatchSnapshot() + const code = generateNamespacesCode(options, { framework: 'webpack' }) + + expect(code.importsCode).toMatchInlineSnapshot('""') + expect(code.namespacesCode).toMatchInlineSnapshot(` + "{ + 'my-package-1': [ + name => import(\`../test_node_modules/my-plugin1/src/Pages/\${name}\`), + ], + 'my-package-2': [ + name => import(\`../test_node_modules/my-plugin2/src/other-pages/\${name}\`), + ], + 'my-php-package': [ + name => import(\`../test_vendor/ycs77/my-php-package/resources/js/Pages/\${name}\`), + ], + }" + `) }) }) diff --git a/tests/test_node_modules/my-plugin2/src/other-pages/Page223.vue b/tests/test_node_modules/my-plugin2/src/other-pages/Page223.vue new file mode 100644 index 0000000..aaae487 --- /dev/null +++ b/tests/test_node_modules/my-plugin2/src/other-pages/Page223.vue @@ -0,0 +1,3 @@ +