diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 0000000..f428655
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,37 @@
+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: |
+ cd pkg/supportability-review-app/
+ npm run format-check
+
+ - name: Build Rancher Extension
+ run: |
+ yarn build-pkg supportability-review-app
diff --git a/pkg/supportability-review-app/.eslintrc.cjs b/pkg/supportability-review-app/.eslintrc.cjs
new file mode 100644
index 0000000..32c37c1
--- /dev/null
+++ b/pkg/supportability-review-app/.eslintrc.cjs
@@ -0,0 +1,19 @@
+/* eslint-env node */
+require('@rushstack/eslint-patch/modern-module-resolution');
+
+module.exports = {
+ root: true,
+ extends: [
+ 'plugin:vue/vue3-essential',
+ 'eslint:recommended',
+ '@vue/eslint-config-typescript',
+ '@vue/eslint-config-prettier/skip-formatting'
+ ],
+ parserOptions: {
+ ecmaVersion: 'latest'
+ },
+ rules: {
+ /* ignore _ variable name */
+ '@typescript-eslint/no-unused-vars': ['warn', { varsIgnorePattern: '^_$' }]
+ }
+};
diff --git a/pkg/supportability-review-app/.prettierrc.json b/pkg/supportability-review-app/.prettierrc.json
new file mode 100644
index 0000000..0e01f05
--- /dev/null
+++ b/pkg/supportability-review-app/.prettierrc.json
@@ -0,0 +1,10 @@
+{
+ "$schema": "https://json.schemastore.org/prettierrc",
+ "semi": true,
+ "tabWidth": 2,
+ "singleQuote": true,
+ "printWidth": 120,
+ "trailingComma": "none",
+ "htmlWhitespaceSensitivity": "ignore",
+ "bracketSameLine": true
+}
diff --git a/pkg/supportability-review-app/components/ChecksSummaryWidget.vue b/pkg/supportability-review-app/components/ChecksSummaryWidget.vue
index 56e8ed6..e1ee791 100644
--- a/pkg/supportability-review-app/components/ChecksSummaryWidget.vue
+++ b/pkg/supportability-review-app/components/ChecksSummaryWidget.vue
@@ -29,20 +29,20 @@ export default {
},
computed: {
summaryData() {
- return [this.info.checks_pass, this.info.checks_warn, this.info.checks_fail, this.info.checks_skip]
+ return [this.info.checks_pass, this.info.checks_warn, this.info.checks_fail, this.info.checks_skip];
}
},
methods: {
getLabel(index) {
- const labels = ['Pass', 'Warn', 'Fail', 'Skip']
- return labels[index]
+ const labels = ['Pass', 'Warn', 'Fail', 'Skip'];
+ return labels[index];
},
getBorderClass(index) {
- const classes = ['border-success', 'border-warning', 'border-danger', 'border-secondary']
- return classes[index]
+ const classes = ['border-success', 'border-warning', 'border-danger', 'border-secondary'];
+ return classes[index];
}
}
-}
+};
diff --git a/pkg/supportability-review-app/edit/sr.cattle.io.reviewbundle.vue b/pkg/supportability-review-app/edit/sr.cattle.io.reviewbundle.vue
index 9c0320a..08673e3 100644
--- a/pkg/supportability-review-app/edit/sr.cattle.io.reviewbundle.vue
+++ b/pkg/supportability-review-app/edit/sr.cattle.io.reviewbundle.vue
@@ -1,9 +1,9 @@
diff --git a/pkg/supportability-review-app/index.ts b/pkg/supportability-review-app/index.ts
index 2548222..b65c6dc 100644
--- a/pkg/supportability-review-app/index.ts
+++ b/pkg/supportability-review-app/index.ts
@@ -4,7 +4,7 @@ import extensionRouting from './routing/sr-routing';
import srStore from './store';
// Init the package
-export default function(plugin: IPlugin): void {
+export default function (plugin: IPlugin): void {
// Auto-import model, detail, edit from the folders
importTypes(plugin);
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..737cf8c 100644
--- a/pkg/supportability-review-app/models/sr.cattle.io.reviewbundle.js
+++ b/pkg/supportability-review-app/models/sr.cattle.io.reviewbundle.js
@@ -1,20 +1,20 @@
-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',
@@ -22,7 +22,7 @@ export default class ReviewBundle extends SteveModel {
icon: 'icon icon-fw icon-download',
label: t('sr.menuLabels.downloadBundle'),
total: 1
- }
+ };
const viewReport = {
action: 'viewReport',
@@ -30,33 +30,33 @@ export default class ReviewBundle extends SteveModel {
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://' +
@@ -66,18 +66,18 @@ export default class ReviewBundle extends SteveModel {
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/package.json b/pkg/supportability-review-app/package.json
index 3c4cf12..ace58d2 100644
--- a/pkg/supportability-review-app/package.json
+++ b/pkg/supportability-review-app/package.json
@@ -9,7 +9,11 @@
"catalog.cattle.io/ui-extensions-version": ">= 3.0.0 < 4.0.0"
}
},
- "scripts": {},
+ "scripts": {
+ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
+ "format": "prettier --write ./",
+ "format-check": "prettier --check ./"
+ },
"engines": {
"node": ">=16"
},
@@ -23,4 +27,4 @@
"last 2 versions",
"not dead"
]
-}
\ No newline at end of file
+}
diff --git a/pkg/supportability-review-app/pages/DashboardPage.vue b/pkg/supportability-review-app/pages/DashboardPage.vue
index 2c47548..5492162 100644
--- a/pkg/supportability-review-app/pages/DashboardPage.vue
+++ b/pkg/supportability-review-app/pages/DashboardPage.vue
@@ -1,9 +1,9 @@
diff --git a/pkg/supportability-review-app/pages/ViewReportPage.vue b/pkg/supportability-review-app/pages/ViewReportPage.vue
index 8b88366..09d9880 100644
--- a/pkg/supportability-review-app/pages/ViewReportPage.vue
+++ b/pkg/supportability-review-app/pages/ViewReportPage.vue
@@ -6,11 +6,11 @@
diff --git a/pkg/supportability-review-app/product.js b/pkg/supportability-review-app/product.js
index 213f3a8..3440abd 100644
--- a/pkg/supportability-review-app/product.js
+++ b/pkg/supportability-review-app/product.js
@@ -1,30 +1,30 @@
-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, 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';
export function init($plugin, store) {
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 one_kilo = 1024;
+ const one_mega = one_kilo * 1024;
+ const one_giga = one_mega * 1024;
+ const size = row.status.fileSize;
if (size < one_kilo) {
- return size + ' B'
+ return size + ' B';
} else if (size < one_mega) {
- return (size / one_kilo).toFixed(2) + ' KiB'
+ return (size / one_kilo).toFixed(2) + ' KiB';
} else if (size < one_giga) {
- return (size / one_mega).toFixed(2) + ' MiB'
+ return (size / one_mega).toFixed(2) + ' MiB';
} else {
- return size + ' B'
+ return size + ' B';
}
}
@@ -35,7 +35,7 @@ export function init($plugin, store) {
showClusterSwitcher: false,
weight: 100,
to: rootRoute()
- })
+ });
// dashboard menu entry in SR App
virtualType({
@@ -43,7 +43,7 @@ export function init($plugin, store) {
// label: store.getters["i18n/t"]("sr.menuLabels.dashboard"),
name: SR_APP_PAGES.DASHBOARD,
route: rootRoute()
- })
+ });
// defining a k8s resource as page
configureType(SUPPORTABILITY_REVIEW_CRD_IDS.REVIEW_BUNDLE, {
@@ -51,7 +51,7 @@ export function init($plugin, store) {
isCreatable: true,
isEditable: false,
isRemovable: true
- })
+ });
headers(SUPPORTABILITY_REVIEW_CRD_IDS.REVIEW_BUNDLE, [
STATE,
NAME_COL,
@@ -74,18 +74,18 @@ export function init($plugin, store) {
sort: ['status.fileSize']
},
AGE
- ])
+ ]);
virtualType({
label: store.getters['i18n/t']('sr.menuLabels.viewReport'),
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..d70f49b 100644
--- a/pkg/supportability-review-app/routing/sr-routing.js
+++ b/pkg/supportability-review-app/routing/sr-routing.js
@@ -1,9 +1,9 @@
-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 = [
{
@@ -66,6 +66,6 @@ const routes = [
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..c0ea558 100644
--- a/pkg/supportability-review-app/store/getters.ts
+++ b/pkg/supportability-review-app/store/getters.ts
@@ -1,3 +1,3 @@
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/tsconfig.json b/pkg/supportability-review-app/tsconfig.json
index 09f3601..22afdd6 100644
--- a/pkg/supportability-review-app/tsconfig.json
+++ b/pkg/supportability-review-app/tsconfig.json
@@ -13,41 +13,14 @@
"sourceMap": true,
"baseUrl": ".",
"preserveSymlinks": true,
- "typeRoots": [
- "../../node_modules",
- "../../node_modules/@rancher/shell/types"
- ],
- "types": [
- "node",
- "webpack-env",
- "@types/node",
- "@types/jest",
- "@types/lodash",
- "rancher",
- "shell"
- ],
- "lib": [
- "esnext",
- "dom",
- "dom.iterable",
- "scripthost"
- ],
+ "typeRoots": ["../../node_modules", "../../node_modules/@rancher/shell/types"],
+ "types": ["node", "webpack-env", "@types/node", "@types/jest", "@types/lodash", "rancher", "shell"],
+ "lib": ["esnext", "dom", "dom.iterable", "scripthost"],
"paths": {
- "@shell/*": [
- "../../node_modules/@rancher/shell/*"
- ],
- "@components/*": [
- "@rancher/components/*"
- ]
+ "@shell/*": ["../../node_modules/@rancher/shell/*"],
+ "@components/*": ["@rancher/components/*"]
}
},
- "include": [
- "**/*.ts",
- "**/*.d.ts",
- "**/*.tsx",
- "**/*.vue"
- ],
- "exclude": [
- "../../node_modules"
- ]
+ "include": ["**/*.ts", "**/*.d.ts", "**/*.tsx", "**/*.vue"],
+ "exclude": ["../../node_modules"]
}
diff --git a/pkg/supportability-review-app/utils/custom-routing.ts b/pkg/supportability-review-app/utils/custom-routing.ts
index 1fe68ae..747ccb5 100644
--- a/pkg/supportability-review-app/utils/custom-routing.ts
+++ b/pkg/supportability-review-app/utils/custom-routing.ts
@@ -1,4 +1,4 @@
-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}`,
@@ -11,7 +11,7 @@ export const rootRoute = () => ({
cluster: BLANK_CLUSTER,
pkg: SUPPORTABILITY_REVIEW_PRODUCT_NAME
}
-})
+});
export const createRoute = (name: string, params: Object, meta: Object) => ({
name: `${rootRoute().name}-${name}`,
@@ -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..46472f1 100644
--- a/pkg/supportability-review-app/utils/utils.js
+++ b/pkg/supportability-review-app/utils/utils.js
@@ -1,33 +1,33 @@
-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'}`,
@@ -37,5 +37,5 @@ export function handleGrowl(config) {
timeout: 5000
},
{ root: true }
- )
+ );
}
diff --git a/yarn.lock b/yarn.lock
index 9f19868..6892d93 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"
@@ -2514,6 +2519,26 @@
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
+"@eslint/eslintrc@^2.0.2":
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad"
+ integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^9.6.0"
+ globals "^13.19.0"
+ ignore "^5.2.0"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.1.2"
+ strip-json-comments "^3.1.1"
+
+"@eslint/js@8.39.0":
+ version "8.39.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.39.0.tgz#58b536bcc843f4cd1e02a7e6171da5c040f4d44b"
+ integrity sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==
+
"@floating-ui/core@^1.1.0", "@floating-ui/core@^1.6.0":
version "1.6.9"
resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.9.tgz#64d1da251433019dafa091de9b2886ff35ec14e6"
@@ -2565,6 +2590,15 @@
dependencies:
"@hapi/hoek" "^9.0.0"
+"@humanwhocodes/config-array@^0.11.8":
+ version "0.11.14"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b"
+ integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==
+ dependencies:
+ "@humanwhocodes/object-schema" "^2.0.2"
+ debug "^4.3.1"
+ minimatch "^3.0.5"
+
"@humanwhocodes/config-array@^0.5.0":
version "0.5.0"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
@@ -2574,11 +2608,21 @@
debug "^4.1.1"
minimatch "^3.0.4"
+"@humanwhocodes/module-importer@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
+ integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
+
"@humanwhocodes/object-schema@^1.2.0":
version "1.2.1"
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+"@humanwhocodes/object-schema@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3"
+ integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
+
"@isaacs/cliui@^8.0.2":
version "8.0.2"
resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
@@ -2851,7 +2895,7 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-"@nodelib/fs.walk@^1.2.3":
+"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
version "1.2.8"
resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
@@ -6072,7 +6116,7 @@ core-js@3.25.3:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.3.tgz#cbc2be50b5ddfa7981837bd8c41639f27b166593"
integrity sha512-y1hvKXmPHvm5B7w4ln1S4uc9eV/O5+iFExSRUimnvIph11uaizFR8LFMdONN8hG3P2pipUfX4Y/fR8rAEtcHcQ==
-core-js@^3.8.3:
+core-js@^3.39.0, core-js@^3.8.3:
version "3.40.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.40.0.tgz#2773f6b06877d8eda102fc42f828176437062476"
integrity sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==
@@ -7338,9 +7382,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"
@@ -7724,7 +7768,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.1.1, eslint-scope@^7.2.0:
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,7 +7800,7 @@ 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.3.0, eslint-visitor-keys@^3.4.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==
@@ -7807,6 +7851,52 @@ eslint@7.32.0:
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
+eslint@8.39.0:
+ version "8.39.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.39.0.tgz#7fd20a295ef92d43809e914b70c39fd5a23cf3f1"
+ integrity sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.2.0"
+ "@eslint-community/regexpp" "^4.4.0"
+ "@eslint/eslintrc" "^2.0.2"
+ "@eslint/js" "8.39.0"
+ "@humanwhocodes/config-array" "^0.11.8"
+ "@humanwhocodes/module-importer" "^1.0.1"
+ "@nodelib/fs.walk" "^1.2.8"
+ ajv "^6.10.0"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.3.2"
+ doctrine "^3.0.0"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^7.2.0"
+ eslint-visitor-keys "^3.4.0"
+ espree "^9.5.1"
+ esquery "^1.4.2"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^6.0.1"
+ find-up "^5.0.0"
+ glob-parent "^6.0.2"
+ globals "^13.19.0"
+ grapheme-splitter "^1.0.4"
+ ignore "^5.2.0"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ is-path-inside "^3.0.3"
+ js-sdsl "^4.1.4"
+ js-yaml "^4.1.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash.merge "^4.6.2"
+ minimatch "^3.1.2"
+ natural-compare "^1.4.0"
+ optionator "^0.9.1"
+ strip-ansi "^6.0.1"
+ strip-json-comments "^3.1.0"
+ text-table "^0.2.0"
+
espree@^7.3.0, espree@^7.3.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
@@ -7816,7 +7906,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.3.1, espree@^9.5.1, espree@^9.6.0:
version "9.6.1"
resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
@@ -7830,7 +7920,7 @@ esprima@^4.0.0, esprima@^4.0.1:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esquery@^1.4.0:
+esquery@^1.4.0, esquery@^1.4.2:
version "1.6.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
@@ -8255,6 +8345,14 @@ find-up@^4.0.0, find-up@^4.1.0:
locate-path "^5.0.0"
path-exists "^4.0.0"
+find-up@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
flat-cache@^3.0.4:
version "3.2.0"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
@@ -8533,7 +8631,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2:
dependencies:
is-glob "^4.0.1"
-glob-parent@^6.0.1:
+glob-parent@^6.0.1, glob-parent@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
@@ -8581,7 +8679,7 @@ globals@^11.1.0, globals@^11.12.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globals@^13.6.0, globals@^13.9.0:
+globals@^13.19.0, globals@^13.6.0, globals@^13.9.0:
version "13.24.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
@@ -8618,6 +8716,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==
+grapheme-splitter@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
+ integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+
graphlib@^2.1.8:
version "2.1.8"
resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da"
@@ -9323,7 +9426,7 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-is-path-inside@^3.0.2:
+is-path-inside@^3.0.2, is-path-inside@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
@@ -10032,6 +10135,11 @@ js-message@1.0.7:
resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47"
integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==
+js-sdsl@^4.1.4:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.2.tgz#2e3c031b1f47d3aca8b775532e3ebb0818e7f847"
+ integrity sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==
+
js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -10046,7 +10154,7 @@ js-yaml-loader@1.2.2:
loader-utils "^1.2.3"
un-eval "^1.2.0"
-js-yaml@4.1.0:
+js-yaml@4.1.0, js-yaml@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
@@ -10391,6 +10499,13 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
lodash-es@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
@@ -10761,7 +10876,7 @@ minimatch@9.0.1:
dependencies:
brace-expansion "^2.0.1"
-minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
+minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -11253,6 +11368,13 @@ p-limit@^2.0.0, p-limit@^2.2.0:
dependencies:
p-try "^2.0.0"
+p-limit@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
p-locate@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
@@ -11274,6 +11396,13 @@ p-locate@^4.1.0:
dependencies:
p-limit "^2.2.0"
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
p-map@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d"
@@ -11870,6 +11999,11 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+prettier@3.4.2:
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f"
+ integrity sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==
+
"prettier@^1.18.2 || ^2.0.0":
version "2.8.8"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
@@ -14587,3 +14721,8 @@ yn@3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==