diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..7809a58 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,36 @@ +name: CI Workflow + +on: + push: + branches: + - main + - dev + pull_request: + branches: + - main + - dev + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Nodejs with yarn caching + uses: actions/setup-node@v4 + with: + cache: yarn + node-version-file: ".nvmrc" + + - name: Install dependencies + run: | + yarn install + + - name: Run lint + run: | + yarn lint + + - name: Build Rancher Extension + run: | + yarn build-pkg supportability-review-app diff --git a/package.json b/package.json index a685b29..7e9868b 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,26 @@ "node": ">=20" }, "devDependencies": { - "core-js": "^3.39.0", - "eslint": "8.39.0", - "prettier": "3.4.2" + "@typescript-eslint/eslint-plugin": "5.62.0", + "@typescript-eslint/parser": "5.62.0", + "@vue/cli-plugin-eslint": "5.0.8", + "@vue/cli-plugin-typescript": "5.0.8", + "@vue/cli-service": "5.0.8", + "@vue/eslint-config-standard": "6.1.0", + "@vue/eslint-config-typescript": "9.1.0", + "babel-eslint": "10.1.0", + "eslint-plugin-import": "2.31.0", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "5.2.0", + "eslint-plugin-standard": "4.0.0", + "eslint-plugin-vue": "9.10.0", + "eslint": "7.32.0", + "typescript": "5.6.3", + "vue": "^3.2.13" + }, + "peerDependencies": { + "core-js": "3.40.0", + "vue": "^3.2.13" }, "dependencies": { "@rancher/shell": "^3.0.1" @@ -25,6 +42,8 @@ "build-pkg": "./node_modules/@rancher/shell/scripts/build-pkg.sh", "serve-pkgs": "./node_modules/@rancher/shell/scripts/serve-pkgs", "publish-pkgs": "./node_modules/@rancher/shell/scripts/extension/publish", - "parse-tag-name": "./node_modules/@rancher/shell/scripts/extension/parse-tag-name" + "parse-tag-name": "./node_modules/@rancher/shell/scripts/extension/parse-tag-name", + "lint": "eslint --ext .jsx,.js,.tsx,.ts .", + "lint:fix": "eslint --fix --ext .jsx,.js,.tsx,.ts ." } } \ No newline at end of file diff --git a/pkg/supportability-review-app/config/types.js b/pkg/supportability-review-app/config/types.js index 16b65d0..4f7f7bb 100644 --- a/pkg/supportability-review-app/config/types.js +++ b/pkg/supportability-review-app/config/types.js @@ -1,21 +1,19 @@ -export const SUPPORTABILITY_REVIEW_STORE = 'sr' +export const SUPPORTABILITY_REVIEW_STORE = 'sr'; // If this is changed, then the same should reflect in en-us.yaml -export const SUPPORTABILITY_REVIEW_PRODUCT_NAME = 'sr' +export const SUPPORTABILITY_REVIEW_PRODUCT_NAME = 'sr'; -export const SUPPORTABILITY_REVIEW_CRD_IDS = { - REVIEW_BUNDLE: 'sr.cattle.io.reviewbundle' -} +export const SUPPORTABILITY_REVIEW_CRD_IDS = { REVIEW_BUNDLE: 'sr.cattle.io.reviewbundle' }; export const SR_APP_PAGES = { - DASHBOARD: 'dashboard', - VIEW_REPORT: 'view-report', + DASHBOARD: 'dashboard', + VIEW_REPORT: 'view-report', REVIEW_BUNDLE: 'review-bundle' -} +}; export const SR_CHARTS = { OPERATOR: 'rancher-supportability-review', - CRD: 'rancher-supportability-review-crd' -} + CRD: 'rancher-supportability-review-crd' +}; -export const BLANK_CLUSTER = '_' +export const BLANK_CLUSTER = '_'; diff --git a/pkg/supportability-review-app/index.ts b/pkg/supportability-review-app/index.ts index 2548222..e2ba36a 100644 --- a/pkg/supportability-review-app/index.ts +++ b/pkg/supportability-review-app/index.ts @@ -2,6 +2,7 @@ import { importTypes } from '@rancher/auto-import'; import { IPlugin } from '@shell/core/types'; import extensionRouting from './routing/sr-routing'; import srStore from './store'; +import product from './product'; // Init the package export default function(plugin: IPlugin): void { @@ -12,7 +13,7 @@ export default function(plugin: IPlugin): void { plugin.metadata = require('./package.json'); // Load a product - plugin.addProduct(require('./product')); + plugin.addProduct(product); // Add Vuex store plugin.addDashboardStore(srStore.config.namespace, srStore.specifics, srStore.config); diff --git a/pkg/supportability-review-app/models/sr.cattle.io.reviewbundle.js b/pkg/supportability-review-app/models/sr.cattle.io.reviewbundle.js index 5b06684..9c69c44 100644 --- a/pkg/supportability-review-app/models/sr.cattle.io.reviewbundle.js +++ b/pkg/supportability-review-app/models/sr.cattle.io.reviewbundle.js @@ -1,83 +1,88 @@ -import SteveModel from '@shell/plugins/steve/steve-class' -import { createRoute } from '../utils/custom-routing' +import SteveModel from '@shell/plugins/steve/steve-class'; +import { createRoute } from '../utils/custom-routing'; export default class ReviewBundle extends SteveModel { get _availableActions() { - let out = super._availableActions + let out = super._availableActions; // Remove unused menus - const toFilter = ['goToViewConfig', 'goToClone', 'download'] + const toFilter = ['goToViewConfig', 'goToClone', 'download']; + out = out.filter((action) => { if (!toFilter.includes(action.action)) { - return action + return action; } - }) + }); // Add custom menus - const t = this.$rootGetters['i18n/t'] + const t = this.$rootGetters['i18n/t']; const downloadBundle = { - action: 'downloadThisBundle', + action: 'downloadThisBundle', enabled: this.hasBundle, - icon: 'icon icon-fw icon-download', - label: t('sr.menuLabels.downloadBundle'), - total: 1 - } + icon: 'icon icon-fw icon-download', + label: t('sr.menuLabels.downloadBundle'), + total: 1 + }; const viewReport = { - action: 'viewReport', + action: 'viewReport', enabled: this.hasBundle, - icon: 'icon icon-fw icon-info', - label: t('sr.menuLabels.viewReport'), - total: 1 - } + icon: 'icon icon-fw icon-info', + label: t('sr.menuLabels.viewReport'), + total: 1 + }; - out.unshift(viewReport) - out.unshift(downloadBundle) + out.unshift(viewReport); + out.unshift(downloadBundle); - return out + return out; } viewReport() { - const route = createRoute('report', {}, {}) - window.location.href = `../${route.params.product}/view-report/${this.id}/?bundlename=${this.metadata.name}` + const route = createRoute('report', {}, {}); + + window.location.href = `../${ route.params.product }/view-report/${ this.id }/?bundlename=${ this.metadata.name }`; } downloadFromUrl(url, filename) { fetch(url) .then((response) => response.blob()) .then((blob) => { - const link = document.createElement('a') - link.href = URL.createObjectURL(blob) - link.download = filename - link.click() + const link = document.createElement('a'); + + link.href = URL.createObjectURL(blob); + link.download = filename; + link.click(); }) - .catch(console.error) + .catch(console.error); } async downloadThisBundle() { - const hostname = window.location.host + const hostname = window.location.host; + try { this.downloadFromUrl( - 'https://' + - hostname + - '/k8s/clusters/local/api/v1/namespaces/sr-operator-system/services/http:sr-bundle-app-frontend-service:80/proxy/' + - '?key=' + - this.metadata.name + - '&type=file', + `https://${ + hostname + }/k8s/clusters/local/api/v1/namespaces/sr-operator-system/services/http:sr-bundle-app-frontend-service:80/proxy/` + + `?key=${ + this.metadata.name + }&type=file`, this.status?.fileName - ) + ); } catch (err) { - this.$dispatch('growl/fromError', { title: 'Error downloading file', err }, { root: true }) + this.$dispatch('growl/fromError', { title: 'Error downloading file', err }, { root: true }); } } get hasBundle() { - const fileName = this.status?.fileName + const fileName = this.status?.fileName; + if (fileName === undefined || fileName === '') { - return false + return false; } else { - return true + return true; } } } diff --git a/pkg/supportability-review-app/product.js b/pkg/supportability-review-app/product.js index 213f3a8..cf346f4 100644 --- a/pkg/supportability-review-app/product.js +++ b/pkg/supportability-review-app/product.js @@ -1,91 +1,93 @@ -import { STATE, NAME as NAME_COL, AGE, NAMESPACE as NAMESPACE_COL } from '@shell/config/table-headers' -import { SUPPORTABILITY_REVIEW_PRODUCT_NAME, SUPPORTABILITY_REVIEW_CRD_IDS, SR_APP_PAGES } from './config/types' -import { rootRoute, createRoute } from './utils/custom-routing' +import { STATE, NAME as NAME_COL, AGE } from '@shell/config/table-headers'; +import { SUPPORTABILITY_REVIEW_PRODUCT_NAME, SUPPORTABILITY_REVIEW_CRD_IDS, SR_APP_PAGES } from './config/types'; +import { rootRoute, createRoute } from './utils/custom-routing'; export function init($plugin, store) { - const { product, configureType, virtualType, basicType, headers } = $plugin.DSL( + const { + product, configureType, virtualType, basicType, headers + } = $plugin.DSL( store, SUPPORTABILITY_REVIEW_PRODUCT_NAME // SUPPORTABILITY_REVIEW_PRODUCT_FULL_NAME, - ) + ); function getBundleSizeString(row) { - if (row.status === undefined || row.status.fileSize === undefined) return '---' + if (row.status === undefined || row.status.fileSize === undefined) return '---'; - const one_kilo = 1024 - const one_mega = one_kilo * 1024 - const one_giga = one_mega * 1024 - const size = row.status.fileSize + const oneKilo = 1024; + const oneMega = oneKilo * 1024; + const oneGiga = oneMega * 1024; + const size = row.status.fileSize; - if (size < one_kilo) { - return size + ' B' - } else if (size < one_mega) { - return (size / one_kilo).toFixed(2) + ' KiB' - } else if (size < one_giga) { - return (size / one_mega).toFixed(2) + ' MiB' + if (size < oneKilo) { + return `${ size } B`; + } else if (size < oneMega) { + return `${ (size / oneKilo).toFixed(2) } KiB`; + } else if (size < oneGiga) { + return `${ (size / oneMega).toFixed(2) } MiB`; } else { - return size + ' B' + return `${ size } B`; } } // app in sidebar product({ - icon: 'service', - inStore: 'management', + icon: 'service', + inStore: 'management', showClusterSwitcher: false, - weight: 100, - to: rootRoute() - }) + weight: 100, + to: rootRoute() + }); // dashboard menu entry in SR App virtualType({ labelKey: 'sr.menuLabels.dashboard', // label: store.getters["i18n/t"]("sr.menuLabels.dashboard"), - name: SR_APP_PAGES.DASHBOARD, - route: rootRoute() - }) + name: SR_APP_PAGES.DASHBOARD, + route: rootRoute() + }); // defining a k8s resource as page configureType(SUPPORTABILITY_REVIEW_CRD_IDS.REVIEW_BUNDLE, { - displayName: store.getters['i18n/t'](`typeLabel."${SUPPORTABILITY_REVIEW_CRD_IDS.REVIEW_BUNDLE}"`), + displayName: store.getters['i18n/t'](`typeLabel."${ SUPPORTABILITY_REVIEW_CRD_IDS.REVIEW_BUNDLE }"`), isCreatable: true, - isEditable: false, + isEditable: false, isRemovable: true - }) + }); headers(SUPPORTABILITY_REVIEW_CRD_IDS.REVIEW_BUNDLE, [ STATE, NAME_COL, { - name: 'Cluster', + name: 'Cluster', labelKey: 'tableHeaders.clusterCount', getValue: (row) => row.status?.clusterCount || '---', - sort: ['status.clusterCount'] + sort: ['status.clusterCount'] }, { - name: 'Pass', + name: 'Pass', labelKey: 'tableHeaders.pass', getValue: (row) => row.status?.checkResult || '---', - sort: ['status.checkResult'] + sort: ['status.checkResult'] }, { - name: 'Size', + name: 'Size', labelKey: 'tableHeaders.bundleSize', getValue: (row) => getBundleSizeString(row), - sort: ['status.fileSize'] + sort: ['status.fileSize'] }, AGE - ]) + ]); virtualType({ label: store.getters['i18n/t']('sr.menuLabels.viewReport'), - name: SR_APP_PAGES.VIEW_REPORT, + name: SR_APP_PAGES.VIEW_REPORT, route: createRoute('view-report') - }) + }); // registering the defined pages as side-menu entries basicType([ SR_APP_PAGES.DASHBOARD, SUPPORTABILITY_REVIEW_CRD_IDS.REVIEW_BUNDLE // SR_APP_PAGES.VIEW_REPORT, - ]) + ]); } diff --git a/pkg/supportability-review-app/routing/sr-routing.js b/pkg/supportability-review-app/routing/sr-routing.js index e033673..04e8046 100644 --- a/pkg/supportability-review-app/routing/sr-routing.js +++ b/pkg/supportability-review-app/routing/sr-routing.js @@ -1,71 +1,71 @@ -import ListResource from '@shell/pages/c/_cluster/_product/_resource/index.vue' -import CreateResource from '@shell/pages/c/_cluster/_product/_resource/create.vue' -import ViewResource from '@shell/pages/c/_cluster/_product/_resource/_id.vue' -import Dashboard from '../pages/DashboardPage.vue' -import ViewReportPage from '../pages/ViewReportPage' -import { SUPPORTABILITY_REVIEW_PRODUCT_NAME, BLANK_CLUSTER } from '../config/types' +import ListResource from '@shell/pages/c/_cluster/_product/_resource/index.vue'; +import CreateResource from '@shell/pages/c/_cluster/_product/_resource/create.vue'; +import ViewResource from '@shell/pages/c/_cluster/_product/_resource/_id.vue'; +import Dashboard from '../pages/DashboardPage.vue'; +import ViewReportPage from '../pages/ViewReportPage'; +import { SUPPORTABILITY_REVIEW_PRODUCT_NAME, BLANK_CLUSTER } from '../config/types'; const routes = [ { - name: `c-cluster-${SUPPORTABILITY_REVIEW_PRODUCT_NAME}`, - path: `/c/:cluster/${SUPPORTABILITY_REVIEW_PRODUCT_NAME}/dashboard`, + name: `c-cluster-${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }`, + path: `/c/:cluster/${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }/dashboard`, component: Dashboard, - meta: { + meta: { product: SUPPORTABILITY_REVIEW_PRODUCT_NAME, cluster: BLANK_CLUSTER, - pkg: SUPPORTABILITY_REVIEW_PRODUCT_NAME + pkg: SUPPORTABILITY_REVIEW_PRODUCT_NAME } }, { - name: `c-cluster-${SUPPORTABILITY_REVIEW_PRODUCT_NAME}-view-report`, - path: `/c/:cluster/${SUPPORTABILITY_REVIEW_PRODUCT_NAME}/view-report`, + name: `c-cluster-${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }-view-report`, + path: `/c/:cluster/${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }/view-report`, component: ViewReportPage, - meta: { + meta: { product: SUPPORTABILITY_REVIEW_PRODUCT_NAME, cluster: BLANK_CLUSTER, - pkg: SUPPORTABILITY_REVIEW_PRODUCT_NAME + pkg: SUPPORTABILITY_REVIEW_PRODUCT_NAME } }, { - name: `c-cluster-${SUPPORTABILITY_REVIEW_PRODUCT_NAME}-view-report`, - path: `/c/:cluster/${SUPPORTABILITY_REVIEW_PRODUCT_NAME}/view-report/:id/:report?`, + name: `c-cluster-${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }-view-report`, + path: `/c/:cluster/${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }/view-report/:id/:report?`, component: ViewReportPage, - meta: { + meta: { product: SUPPORTABILITY_REVIEW_PRODUCT_NAME, cluster: BLANK_CLUSTER, - pkg: SUPPORTABILITY_REVIEW_PRODUCT_NAME, - props: (route) => ({ report: route.params.reportData }) + pkg: SUPPORTABILITY_REVIEW_PRODUCT_NAME, + props: (route) => ({ report: route.params.reportData }) } }, // the following routes cover the "resource page" // registering routes for list/edit/create views { - name: `c-cluster-${SUPPORTABILITY_REVIEW_PRODUCT_NAME}-resource`, - path: `/c/:cluster/${SUPPORTABILITY_REVIEW_PRODUCT_NAME}/:resource`, + name: `c-cluster-${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }-resource`, + path: `/c/:cluster/${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }/:resource`, component: ListResource, - meta: { + meta: { product: SUPPORTABILITY_REVIEW_PRODUCT_NAME, cluster: BLANK_CLUSTER } }, { - name: `c-cluster-${SUPPORTABILITY_REVIEW_PRODUCT_NAME}-resource-create`, - path: `/c/:cluster/${SUPPORTABILITY_REVIEW_PRODUCT_NAME}/:resource/create`, + name: `c-cluster-${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }-resource-create`, + path: `/c/:cluster/${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }/:resource/create`, component: CreateResource, - meta: { + meta: { product: SUPPORTABILITY_REVIEW_PRODUCT_NAME, cluster: BLANK_CLUSTER } }, { - name: `c-cluster-${SUPPORTABILITY_REVIEW_PRODUCT_NAME}-resource-id`, - path: `/c/:cluster/${SUPPORTABILITY_REVIEW_PRODUCT_NAME}/:resource/:id`, + name: `c-cluster-${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }-resource-id`, + path: `/c/:cluster/${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }/:resource/:id`, component: ViewResource, - meta: { + meta: { product: SUPPORTABILITY_REVIEW_PRODUCT_NAME, cluster: BLANK_CLUSTER } } -] +]; -export default routes +export default routes; diff --git a/pkg/supportability-review-app/store/actions.ts b/pkg/supportability-review-app/store/actions.ts index 7fe9428..7311aa7 100644 --- a/pkg/supportability-review-app/store/actions.ts +++ b/pkg/supportability-review-app/store/actions.ts @@ -1,5 +1,5 @@ export default { updateCreateClusterElements({ commit }: any, val: any) { - commit('updateCreateClusterElements', val) + commit('updateCreateClusterElements', val); } -} +}; diff --git a/pkg/supportability-review-app/store/getters.ts b/pkg/supportability-review-app/store/getters.ts index a2acb6c..8dfba7c 100644 --- a/pkg/supportability-review-app/store/getters.ts +++ b/pkg/supportability-review-app/store/getters.ts @@ -1,3 +1 @@ -export default { - createClusterElements: (state: any) => state.createClusterElements -} +export default { createClusterElements: (state: any) => state.createClusterElements }; diff --git a/pkg/supportability-review-app/store/index.ts b/pkg/supportability-review-app/store/index.ts index 787fb1a..1ea088c 100644 --- a/pkg/supportability-review-app/store/index.ts +++ b/pkg/supportability-review-app/store/index.ts @@ -1,15 +1,15 @@ -import { CoreStoreSpecifics, CoreStoreConfig } from '@shell/core/types' +import { CoreStoreSpecifics, CoreStoreConfig } from '@shell/core/types'; -import { SUPPORTABILITY_REVIEW_STORE } from '../config/types' +import { SUPPORTABILITY_REVIEW_STORE } from '../config/types'; -import getters from './getters' -import mutations from './mutations' -import actions from './actions' +import getters from './getters'; +import mutations from './mutations'; +import actions from './actions'; const srFactory = (): CoreStoreSpecifics => { return { state() { - return { createClusterElements: [] } + return { createClusterElements: [] }; }, getters: { ...getters }, @@ -17,11 +17,11 @@ const srFactory = (): CoreStoreSpecifics => { mutations: { ...mutations }, actions: { ...actions } - } -} -const config: CoreStoreConfig = { namespace: SUPPORTABILITY_REVIEW_STORE } + }; +}; +const config: CoreStoreConfig = { namespace: SUPPORTABILITY_REVIEW_STORE }; export default { specifics: srFactory(), config -} +}; diff --git a/pkg/supportability-review-app/store/mutations.ts b/pkg/supportability-review-app/store/mutations.ts index 781a0d0..c85cf30 100644 --- a/pkg/supportability-review-app/store/mutations.ts +++ b/pkg/supportability-review-app/store/mutations.ts @@ -1,5 +1,5 @@ export default { updateCreateClusterElements(state: any, val: any) { - state.createClusterElements = val + state.createClusterElements = val; } -} +}; diff --git a/pkg/supportability-review-app/utils/custom-routing.ts b/pkg/supportability-review-app/utils/custom-routing.ts index 1fe68ae..4244963 100644 --- a/pkg/supportability-review-app/utils/custom-routing.ts +++ b/pkg/supportability-review-app/utils/custom-routing.ts @@ -1,7 +1,7 @@ -import { SUPPORTABILITY_REVIEW_PRODUCT_NAME, BLANK_CLUSTER } from '../config/types' +import { SUPPORTABILITY_REVIEW_PRODUCT_NAME, BLANK_CLUSTER } from '../config/types'; export const rootRoute = () => ({ - name: `c-cluster-${SUPPORTABILITY_REVIEW_PRODUCT_NAME}`, + name: `c-cluster-${ SUPPORTABILITY_REVIEW_PRODUCT_NAME }`, params: { product: SUPPORTABILITY_REVIEW_PRODUCT_NAME, cluster: BLANK_CLUSTER @@ -9,12 +9,12 @@ export const rootRoute = () => ({ meta: { product: SUPPORTABILITY_REVIEW_PRODUCT_NAME, cluster: BLANK_CLUSTER, - pkg: SUPPORTABILITY_REVIEW_PRODUCT_NAME + pkg: SUPPORTABILITY_REVIEW_PRODUCT_NAME } -}) +}); -export const createRoute = (name: string, params: Object, meta: Object) => ({ - name: `${rootRoute().name}-${name}`, +export const createRoute = (name: string, params: object, meta: object) => ({ + name: `${ rootRoute().name }-${ name }`, params: { ...rootRoute().params, ...params @@ -23,4 +23,4 @@ export const createRoute = (name: string, params: Object, meta: Object) => ({ ...rootRoute().meta, ...meta } -}) +}); diff --git a/pkg/supportability-review-app/utils/utils.js b/pkg/supportability-review-app/utils/utils.js index a3501c3..6bbd6e3 100644 --- a/pkg/supportability-review-app/utils/utils.js +++ b/pkg/supportability-review-app/utils/utils.js @@ -1,41 +1,41 @@ -import semver from 'semver' -import isEmpty from 'lodash/isEmpty' +import semver from 'semver'; +import isEmpty from 'lodash/isEmpty'; export function getLatestStableVersion(versions) { - const allVersions = versions.map((v) => v.version) - const stableVersions = versions.filter((v) => !v.version.includes('rc')) + const allVersions = versions.map((v) => v.version); + const stableVersions = versions.filter((v) => !v.version.includes('rc')); if (isEmpty(stableVersions) && !isEmpty(allVersions)) { - return semver.rsort(allVersions)[0] + return semver.rsort(allVersions)[0]; } return stableVersions?.sort((a, b) => { - const versionA = a.version.split('.').map(Number) - const versionB = b.version.split('.').map(Number) + const versionA = a.version.split('.').map(Number); + const versionB = b.version.split('.').map(Number); for (let i = 0; i < Math.max(versionA.length, versionB.length); i++) { if (versionA[i] === undefined || versionA[i] < versionB[i]) { - return 1 + return 1; } if (versionB[i] === undefined || versionA[i] > versionB[i]) { - return -1 + return -1; } } - return 0 - })[0] + return 0; + })[0]; } export function handleGrowl(config) { - const error = config.error?.data || config.error + const error = config.error?.data || config.error; config.store.dispatch( - `growl/${config.type || 'error'}`, + `growl/${ config.type || 'error' }`, { - title: error._statusText, + title: error._statusText, message: error.message, timeout: 5000 }, { root: true } - ) + ); } diff --git a/yarn.lock b/yarn.lock index 9f19868..57c83c6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2492,13 +2492,18 @@ resolved "https://registry.yarnpkg.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz#1f635ad5fdd5c85ed936481525570e82b5a8307a" integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg== -"@eslint-community/eslint-utils@^4.3.0": +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.3.0": version "4.4.1" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== dependencies: eslint-visitor-keys "^3.4.3" +"@eslint-community/regexpp@^4.4.0": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -3027,6 +3032,11 @@ estree-walker "^2.0.2" picomatch "^4.0.2" +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + "@sideway/address@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" @@ -3609,6 +3619,14 @@ "@types/estree" "*" "@types/json-schema" "*" +"@types/eslint@^7.29.0 || ^8.4.1": + version "8.56.12" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.12.tgz#1657c814ffeba4d2f84c0d4ba0f44ca7ea1ca53a" + integrity sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + "@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.6": version "1.0.6" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" @@ -3778,7 +3796,7 @@ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== -"@types/semver@^7.5.8": +"@types/semver@^7.3.12", "@types/semver@^7.5.8": version "7.5.8" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== @@ -3875,6 +3893,22 @@ dependencies: "@types/node" "*" +"@typescript-eslint/eslint-plugin@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + "@typescript-eslint/eslint-plugin@~5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.4.0.tgz#05e711a2e7b68342661fde61bccbd1531c19521a" @@ -3913,6 +3947,16 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" +"@typescript-eslint/parser@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== + dependencies: + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + debug "^4.3.4" + "@typescript-eslint/parser@~5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.4.0.tgz#3aa83ce349d66e39b84151f6d5464928044ca9e3" @@ -3939,6 +3983,24 @@ "@typescript-eslint/types" "5.4.0" "@typescript-eslint/visitor-keys" "5.4.0" +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + tsutils "^3.21.0" + "@typescript-eslint/types@4.33.0": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" @@ -3949,6 +4011,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.4.0.tgz#b1c130f4b381b77bec19696c6e3366f9781ce8f2" integrity sha512-GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA== +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + "@typescript-eslint/typescript-estree@4.33.0": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" @@ -3975,6 +4042,33 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + "@typescript-eslint/visitor-keys@4.33.0": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" @@ -3991,6 +4085,14 @@ "@typescript-eslint/types" "5.4.0" eslint-visitor-keys "^3.0.0" +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + "@unocss/core@0.58.9", "@unocss/core@^0.58.9": version "0.58.9" resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.58.9.tgz#a613e9d88160c5b260b1406082a9f73d789b9ea9" @@ -4164,6 +4266,17 @@ thread-loader "^3.0.0" webpack "^5.54.0" +"@vue/cli-plugin-eslint@5.0.8": + version "5.0.8" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz#754939265c2c5b746fa36c7d7705a89138e193bf" + integrity sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg== + dependencies: + "@vue/cli-shared-utils" "^5.0.8" + eslint-webpack-plugin "^3.1.0" + globby "^11.0.2" + webpack "^5.54.0" + yorkie "^2.0.0" + "@vue/cli-plugin-router@^5.0.8": version "5.0.8" resolved "https://registry.yarnpkg.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz#a113ec626f3d4216d20496c42d35533bce9e889f" @@ -4171,7 +4284,7 @@ dependencies: "@vue/cli-shared-utils" "^5.0.8" -"@vue/cli-plugin-typescript@~5.0.0": +"@vue/cli-plugin-typescript@5.0.8", "@vue/cli-plugin-typescript@~5.0.0": version "5.0.8" resolved "https://registry.yarnpkg.com/@vue/cli-plugin-typescript/-/cli-plugin-typescript-5.0.8.tgz#dd3d2b3a58f3f93359319958dc0f58a4861a33a7" integrity sha512-JKJOwzJshBqsmp4yLBexwVMebOZ4VGJgbnYvmHVxasJOStF2RxwyW28ZF+zIvASGdat4sAUuo/3mAQyVhm7JHg== @@ -4191,7 +4304,7 @@ resolved "https://registry.yarnpkg.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz#0d4cb3020f9102bea9288d750729dde176c66ccd" integrity sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA== -"@vue/cli-service@~5.0.0": +"@vue/cli-service@5.0.8", "@vue/cli-service@~5.0.0": version "5.0.8" resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-5.0.8.tgz#cf3f6f1b7bf0fba9cdab86b6bec4f9897f982dac" integrity sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw== @@ -4375,6 +4488,22 @@ resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz#cbe97fe0162b365edc1dba80e173f90492535343" integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g== +"@vue/eslint-config-standard@6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@vue/eslint-config-standard/-/eslint-config-standard-6.1.0.tgz#b362ba67c86caa4e7b44481c2303c9dccc2dc037" + integrity sha512-9+hrEyflDzsGdlBDl9jPV5DIYUx1TOU5OSQqRDKCrNumrxRj5HRWKuk+ocXWnha6uoNRtLC24mY7d/MwqvBCNw== + dependencies: + eslint-config-standard "^16.0.3" + eslint-import-resolver-node "^0.3.4" + eslint-import-resolver-webpack "^0.13.1" + +"@vue/eslint-config-typescript@9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@vue/eslint-config-typescript/-/eslint-config-typescript-9.1.0.tgz#b98a64352b312085444a08b98728962e2a8425ab" + integrity sha512-j/852/ZYQ5wDvCD3HE2q4uqJwJAceer2FwoEch1nFo+zTOsPrbzbE3cuWIs3kvu5hdFsGTMYwRwjI6fqZKDMxQ== + dependencies: + vue-eslint-parser "^8.0.0" + "@vue/reactivity-transform@3.2.47": version "3.2.47" resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz#e45df4d06370f8abf29081a16afd25cffba6d84e" @@ -4917,7 +5046,7 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== -array-includes@^3.1.3: +array-includes@^3.1.3, array-includes@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== @@ -4934,7 +5063,19 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.flat@^1.2.4: +array.prototype.findlastindex@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.2.4, array.prototype.flat@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== @@ -4944,6 +5085,16 @@ array.prototype.flat@^1.2.4: es-abstract "^1.23.5" es-shim-unscopables "^1.0.2" +array.prototype.flatmap@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" + arraybuffer.prototype.slice@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" @@ -5678,6 +5829,11 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + ci-info@^3.2.0: version "3.9.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" @@ -6157,6 +6313,15 @@ cross-env@6.0.3: dependencies: cross-spawn "^7.0.0" +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + cross-spawn@^6.0.0: version "6.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.6.tgz#30d0efa0712ddb7eb5a76e1e8721bffafa6b5d57" @@ -7338,9 +7503,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.73: - version "1.5.89" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.89.tgz#d9d60baa576e0ab3ea721592f3345a83a37251ec" - integrity sha512-okLMJSmbI+XHr8aG+wCK+VPH+d38sHMED6/q1CTsCNkqfdOZL3k2ThWnh44HL6bJKj9cabPCSVLDv9ynsIm8qg== + version "1.5.90" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.90.tgz#4717e5a5413f95bbb12d0af14c35057e9c65e0b6" + integrity sha512-C3PN4aydfW91Natdyd449Kw+BzhLmof6tzy5W1pFC5SpQxVXT+oyiyOG9AgYYSN9OdA/ik3YkCrpwqI8ug5Tug== element-matches@^0.1.2: version "0.1.2" @@ -7418,6 +7583,15 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" +enhanced-resolve@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" + integrity sha512-kxpoMgrdtkXZ5h0SeraBS1iRntpTpQ3R8ussdb38+UAFnMGX5DDyJXePm+OCHOcoXvHDw7mc2erbJBpDnl7TPw== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.2.0" + tapable "^0.1.8" + enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1: version "5.18.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz#91eb1db193896b9801251eeff1c6980278b1e404" @@ -7609,7 +7783,7 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-config-standard@16.0.3: +eslint-config-standard@16.0.3, eslint-config-standard@^16.0.3: version "16.0.3" resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== @@ -7622,7 +7796,7 @@ eslint-import-resolver-node@0.3.4: debug "^2.6.9" resolve "^1.13.1" -eslint-import-resolver-node@^0.3.4: +eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.9: version "0.3.9" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== @@ -7631,6 +7805,22 @@ eslint-import-resolver-node@^0.3.4: is-core-module "^2.13.0" resolve "^1.22.4" +eslint-import-resolver-webpack@^0.13.1: + version "0.13.10" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.13.10.tgz#d5b69ca548190bd6fd517e5732d2b16cf884227a" + integrity sha512-ciVTEg7sA56wRMR772PyjcBRmyBMLS46xgzQZqt6cWBEKc7cK65ZSSLCTLVRu2gGtKyXUb5stwf4xxLBfERLFA== + dependencies: + debug "^3.2.7" + enhanced-resolve "^0.9.1" + find-root "^1.1.0" + hasown "^2.0.2" + interpret "^1.4.0" + is-core-module "^2.15.1" + is-regex "^1.2.0" + lodash "^4.17.21" + resolve "^2.0.0-next.5" + semver "^5.7.2" + eslint-module-utils@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" @@ -7639,7 +7829,7 @@ eslint-module-utils@2.6.1: debug "^3.2.7" pkg-dir "^2.0.0" -eslint-module-utils@^2.6.1: +eslint-module-utils@^2.12.0, eslint-module-utils@^2.6.1: version "2.12.0" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== @@ -7653,6 +7843,14 @@ eslint-plugin-cypress@2.12.1: dependencies: globals "^11.12.0" +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + eslint-plugin-es@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz#f0822f0c18a535a97c3e714e89f88586a7641ec9" @@ -7682,6 +7880,31 @@ eslint-plugin-import@2.23.4: resolve "^1.20.0" tsconfig-paths "^3.9.0" +eslint-plugin-import@2.31.0: + version "2.31.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== + dependencies: + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.12.0" + hasown "^2.0.2" + is-core-module "^2.15.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" + semver "^6.3.1" + string.prototype.trimend "^1.0.8" + tsconfig-paths "^3.15.0" + eslint-plugin-jest@24.4.0: version "24.4.0" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz#fa4b614dbd46a98b652d830377971f097bda9262" @@ -7703,6 +7926,28 @@ eslint-plugin-n@15.2.0: resolve "^1.10.1" semver "^6.3.0" +eslint-plugin-node@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz#a596acc32981627eb36d9d75f9666ac1a4564971" + integrity sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw== + +eslint-plugin-standard@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz#f845b45109c99cd90e77796940a344546c8f6b5c" + integrity sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA== + eslint-plugin-vue@9.10.0: version "9.10.0" resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.10.0.tgz#bb6423166e6eab800344245b6eef6ce9480c78a7" @@ -7724,7 +7969,7 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.1.1: +eslint-scope@^7.0.0, eslint-scope@^7.1.1: version "7.2.2" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== @@ -7756,11 +8001,22 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== +eslint-webpack-plugin@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz#1978cdb9edc461e4b0195a20da950cf57988347c" + integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== + dependencies: + "@types/eslint" "^7.29.0 || ^8.4.1" + jest-worker "^28.0.2" + micromatch "^4.0.5" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + eslint@7.32.0: version "7.32.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" @@ -7816,7 +8072,7 @@ espree@^7.3.0, espree@^7.3.1: acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" -espree@^9.3.1: +espree@^9.0.0, espree@^9.3.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== @@ -7945,6 +8201,19 @@ execa@5.1.1, execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA== + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -8233,6 +8502,11 @@ find-cache-dir@^3.0.0, find-cache-dir@^3.2.0, find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -8484,6 +8758,11 @@ get-proto@^1.0.0, get-proto@^1.0.1: dunder-proto "^1.0.1" es-object-atoms "^1.0.0" +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -8596,7 +8875,7 @@ globalthis@^1.0.4: define-properties "^1.2.1" gopd "^1.0.1" -globby@^11.0.2, globby@^11.0.3, globby@^11.0.4: +globby@^11.0.2, globby@^11.0.3, globby@^11.0.4, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -8618,6 +8897,11 @@ graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + graphlib@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da" @@ -9082,6 +9366,11 @@ internal-slot@^1.1.0: resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== +interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + intl-format-cache@^4.2.21: version "4.3.1" resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-4.3.1.tgz#484d31a9872161e6c02139349b259a6229ade377" @@ -9187,6 +9476,13 @@ is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + is-ci@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" @@ -9194,7 +9490,7 @@ is-ci@^3.0.0: dependencies: ci-info "^3.2.0" -is-core-module@^2.13.0, is-core-module@^2.16.0, is-core-module@^2.3.0, is-core-module@^2.4.0: +is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0, is-core-module@^2.3.0, is-core-module@^2.4.0: version "2.16.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== @@ -9345,7 +9641,7 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.2.1: +is-regex@^1.2.0, is-regex@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== @@ -9976,6 +10272,15 @@ jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: merge-stream "^2.0.0" supports-color "^8.0.0" +jest-worker@^28.0.2: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" + integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" @@ -10527,7 +10832,7 @@ lru-cache@^10.2.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== -lru-cache@^4.1.2: +lru-cache@^4.0.1, lru-cache@^4.1.2: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -10656,6 +10961,11 @@ memoize-one@^6.0.0: resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== +memory-fs@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" + integrity sha512-+y4mDxU4rvXXu5UDSGCGNiesFmwCHuefGMoPCO1WYucNYj7DsLqrFaa2fXVI0H+NNiPTwwzKwspn9yTZqUGqng== + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -10688,7 +10998,7 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.8: +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -10861,6 +11171,11 @@ nanoid@^3.3.8: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -11005,6 +11320,11 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + integrity sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA== + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -11119,7 +11439,26 @@ object.assign@^4.1.0, object.assign@^4.1.4, object.assign@^4.1.7: has-symbols "^1.1.0" object-keys "^1.1.1" -object.values@^1.1.3: +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.values@^1.1.3, object.values@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== @@ -12356,6 +12695,15 @@ resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.1 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -12543,17 +12891,17 @@ selfsigned@^2.1.1: "@types/node-forge" "^1.3.0" node-forge "^1" -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.7.1, semver@^5.7.2: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: +semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: +semver@^7.0.0, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: version "7.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.0.tgz#9c6fe61d0c6f9fa9e26575162ee5a9180361b09c" integrity sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ== @@ -13142,7 +13490,7 @@ string.prototype.trim@^1.2.10: es-object-atoms "^1.0.0" has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.9: +string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== @@ -13223,6 +13571,11 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA== + strip-json-comments@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -13322,6 +13675,11 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" +tapable@^0.1.8: + version "0.1.10" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" + integrity sha512-jX8Et4hHg57mug1/079yitEKWGB3LCwoxByLsNim89LABq8NqgiX+6iYVOsq0vX8uJHkU+DZ5fnq95f800bEsQ== + tapable@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -13513,7 +13871,7 @@ ts-node@8.10.2: source-map-support "^0.5.17" yn "3.1.1" -tsconfig-paths@^3.9.0: +tsconfig-paths@^3.15.0, tsconfig-paths@^3.9.0: version "3.15.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== @@ -13909,6 +14267,19 @@ vue-demi@*: resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.10.tgz#afc78de3d6f9e11bf78c55e8510ee12814522f04" integrity sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg== +vue-eslint-parser@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz#5d31129a1b3dd89c0069ca0a1c88f970c360bd0d" + integrity sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g== + dependencies: + debug "^4.3.2" + eslint-scope "^7.0.0" + eslint-visitor-keys "^3.1.0" + espree "^9.0.0" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.5" + vue-eslint-parser@^9.0.1: version "9.4.3" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz#9b04b22c71401f1e8bca9be7c3e3416a4bde76a8" @@ -13990,7 +14361,7 @@ vue3-virtual-scroll-list@0.2.1: resolved "https://registry.yarnpkg.com/vue3-virtual-scroll-list/-/vue3-virtual-scroll-list-0.2.1.tgz#7fdc5be066c9b8d877614626a0bc02eb1fd12ad0" integrity sha512-G4KxITUOy9D4ro15zOp40D6ogmMefzjIyMsBKqN3xGbV1P6dlKYMx+BBXCKm3Nr/6iipcUKM272Sh2AJRyWMyQ== -vue@^3.4.31: +vue@^3.2.13, vue@^3.4.31: version "3.5.13" resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.13.tgz#9f760a1a982b09c0c04a867903fc339c9f29ec0a" integrity sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ== @@ -14587,3 +14958,13 @@ yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yorkie@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" + integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw== + dependencies: + execa "^0.8.0" + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0"