diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f5bd7b43..80289edf 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -24,11 +24,6 @@ updates: - "vuetify" development-dependencies: dependency-type: "development" - exclude-patterns: - - "eslint" - - "@typescript-eslint/parser" - - "@typescript-eslint/eslint-plugin" - - "@vue/eslint-config-typescript" - package-ecosystem: "gomod" directory: "/" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e25333d0..a960f669 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -101,5 +101,5 @@ jobs: - name: Lint frontend working-directory: ./web run: | - yarn lint + yarn run eslint yarn prettier --check . diff --git a/web/.eslintignore b/web/.eslintignore deleted file mode 100644 index 6c785ff1..00000000 --- a/web/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -dist/ -node_modules/ -src/parser/query.ts \ No newline at end of file diff --git a/web/.eslintrc.cjs b/web/.eslintrc.cjs deleted file mode 100644 index e7ee50b6..00000000 --- a/web/.eslintrc.cjs +++ /dev/null @@ -1,52 +0,0 @@ -module.exports = { - root: true, - env: { - es2021: true, - }, - parserOptions: { - ecmaVersion: 2021, - }, - extends: [ - // add more generic rulesets here, such as: - "eslint:recommended", - "plugin:vue/recommended", - "prettier", - ], - rules: { - "no-console": "off", - "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", - "vue/multi-word-component-names": "off", - "vue/no-reserved-component-names": "off", - }, - ignorePatterns: ["**/*.guard.ts"], - overrides: [ - { - files: ["**/*.ts", "**/*.vue"], - parser: "vue-eslint-parser", - env: { - es2021: true, - }, - parserOptions: { - project: "./tsconfig.json", - parser: "@typescript-eslint/parser", - }, - plugins: ["@typescript-eslint", "@typescript-eslint/eslint-plugin"], - extends: [ - "eslint:recommended", - "plugin:vue/recommended", // Use this if you are using Vue.js 2.x. - "@vue/typescript", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "prettier", - ], - rules: { - "no-console": "off", - "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", - "vue/multi-word-component-names": "off", - "vue/no-reserved-component-names": "off", - "@typescript-eslint/no-non-null-assertion": "off", - }, - }, - ], -}; diff --git a/web/eslint.config.mjs b/web/eslint.config.mjs new file mode 100644 index 00000000..2a14e2a2 --- /dev/null +++ b/web/eslint.config.mjs @@ -0,0 +1,46 @@ +import globals from "globals"; +import eslint from "@eslint/js"; +import tseslint from "typescript-eslint"; +import eslintConfigPrettier from "eslint-config-prettier"; +import pluginVue from "eslint-plugin-vue"; +import vueParser from "vue-eslint-parser"; +import vueTsEslintConfig from "@vue/eslint-config-typescript"; + +export default tseslint.config( + { + ignores: [ + "**/*.guard.ts", + "**/dist/", + "**/node_modules/", + "src/parser/query.ts", + ], + }, + { + extends: [ + eslint.configs.recommended, + ...pluginVue.configs["flat/vue2-strongly-recommended"], + ...vueTsEslintConfig(), + ...tseslint.configs.recommendedTypeChecked, + ], + languageOptions: { + parser: vueParser, + globals: globals.browser, + parserOptions: { + ecmaVersion: 2021, + extraFileExtensions: [".vue"], + sourceType: "module", + parser: tseslint.parser, + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + files: ["**/*.{ts,vue}"], + rules: { + "no-console": "off", + "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", + "vue/multi-word-component-names": "off", + "vue/no-reserved-component-names": "off", + }, + }, + eslintConfigPrettier, +); diff --git a/web/package.json b/web/package.json index f00aa6be..1d9d863e 100644 --- a/web/package.json +++ b/web/package.json @@ -7,7 +7,7 @@ "dev": "vite", "build": "vite build", "serve": "vite preview", - "lint": "eslint --ext .js,.ts,.vue --fix .", + "lint": "eslint --fix .", "format": "prettier --check --write .", "nearley": "nearleyc src/parser/query.ne -o src/parser/query.ts" }, @@ -27,26 +27,30 @@ "vuetify": "^2.6.14" }, "devDependencies": { + "@types/eslint": "^9.6.1", "@types/moo": "^0.5.9", "@types/nearley": "^2.11.5", "@types/node": "^22.10.2", "@types/vue-moment": "^4.0.7", "@types/webpack-env": "^1.18.5", - "@typescript-eslint/eslint-plugin": "^5.4.0", - "@typescript-eslint/parser": "^5.4.0", + "@typescript-eslint/eslint-plugin": "^8.18.2", + "@typescript-eslint/parser": "^8.18.2", "@vitejs/plugin-vue2": "^2.3.3", - "@vue/eslint-config-typescript": "^13.0.0", - "eslint": "^8.57.1", + "@vue/eslint-config-typescript": "^14.1.4", + "eslint": "^9.17.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-vue": "^9.32.0", + "globals": "^15.14.0", "prettier": "^3.4.2", "sass": "~1.83.0", "ts-auto-guard": "^5.0.1", "typescript": "~5.7.2", + "typescript-eslint": "^8.18.2", "unplugin-vue-components": "^0.28.0", "vite": "^6.0.5", "vite-plugin-checker": "^0.8.0", - "vite-plugin-node-polyfills": "^0.22.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vue-eslint-parser": "^9.4.3" }, "browserslist": [ "> 1%", diff --git a/web/src/apiClient.ts b/web/src/apiClient.ts index 3962b551..822e0699 100644 --- a/web/src/apiClient.ts +++ b/web/src/apiClient.ts @@ -331,7 +331,7 @@ const APIClient = { if (guard(response.data)) { return response.data; } - throw "Unexpected response, types mismatch"; + throw new Error("Unexpected response, types mismatch"); }, }; diff --git a/web/src/components/CTFWizardDialog.vue b/web/src/components/CTFWizardDialog.vue index de8f3371..92ac250d 100644 --- a/web/src/components/CTFWizardDialog.vue +++ b/web/src/components/CTFWizardDialog.vue @@ -167,10 +167,10 @@ function createService() { service_by_port_loading.value = false; EventBus.emit("showMessage", `Service ${serviceName.value} created.`); }) - .catch((err: string) => { + .catch((err: Error) => { service_by_port_error.value = true; service_by_port_loading.value = false; - EventBus.emit("showError", err); + EventBus.emit("showError", err.message); }); } @@ -192,15 +192,15 @@ function createFlagTags() { .then((res) => { const rejected = res.filter((r) => r.status === "rejected"); if (rejected.length != 0) { - throw rejected.map((r) => r.reason as string).join("; "); + throw new Error(rejected.map((r) => r.reason as string).join("; ")); } visible.value = false; flag_regex_loading.value = false; }) - .catch((err: string) => { + .catch((err: Error) => { flag_regex_error.value = true; flag_regex_loading.value = false; - EventBus.emit("showError", err); + EventBus.emit("showError", err.message); }); } diff --git a/web/src/components/ConverterResetDialog.vue b/web/src/components/ConverterResetDialog.vue index fcd1d87d..f9887212 100644 --- a/web/src/components/ConverterResetDialog.vue +++ b/web/src/components/ConverterResetDialog.vue @@ -61,10 +61,10 @@ function resetConverterAction() { .then(() => { visible.value = false; }) - .catch((err: string) => { + .catch((err: Error) => { error.value = true; loading.value = false; - EventBus.emit("showError", err); + EventBus.emit("showError", err.message); }); } diff --git a/web/src/components/Converters.vue b/web/src/components/Converters.vue index ccb2902a..a3db3e14 100644 --- a/web/src/components/Converters.vue +++ b/web/src/components/Converters.vue @@ -143,11 +143,11 @@ onMounted(() => { }); function refreshConverters() { - store.updateTags().catch((err: string) => { - EventBus.emit("showError", `Failed to update tags: ${err}`); + store.updateTags().catch((err: Error) => { + EventBus.emit("showError", `Failed to update tags: ${err.message}`); }); - store.updateConverters().catch((err: string) => { - EventBus.emit("showError", `Failed to update converters: ${err}`); + store.updateConverters().catch((err: Error) => { + EventBus.emit("showError", `Failed to update converters: ${err.message}`); }); } @@ -170,8 +170,8 @@ function showErrorLog(process: ProcessStats, converter: ConverterStatistics) { fetchStderrError.value = "Stderr is empty"; } }) - .catch((err: string | Error) => { - fetchStderrError.value = err.toString(); + .catch((err: Error) => { + fetchStderrError.value = err.message; }) .finally(() => { loadingStderr.value = false; diff --git a/web/src/components/Graph.vue b/web/src/components/Graph.vue index 28331971..3e6b85d5 100644 --- a/web/src/components/Graph.vue +++ b/web/src/components/Graph.vue @@ -668,8 +668,8 @@ graphStore.$subscribe((_mutation, state) => { theme: colorscheme, }, } as ApexCharts.ApexOptions) - .catch((err: string) => { - EventBus.emit("showError", `Failed to update graph: ${err}`); + .catch((err: Error) => { + EventBus.emit("showError", `Failed to update graph: ${err.message}`); }); }); chartData.value = []; @@ -683,7 +683,7 @@ onMounted(() => { function setChartTagOptions(typ: string, active: boolean) { nextTick(() => { const sel = chartTags.value; - for (var i = 0; i < sel.length; i++) { + for (let i = 0; i < sel.length; i++) { if (sel[i].startsWith(`${typ}/`)) { sel.splice(i--, 1); } @@ -716,8 +716,8 @@ function fetchGraphLocal() { query as string, type as GraphType, ) - .catch((err: string) => { - EventBus.emit("showError", `Failed to update graph: ${err}`); + .catch((err: Error) => { + EventBus.emit("showError", `Failed to update graph: ${err.message}`); }); } diff --git a/web/src/components/Navigation.vue b/web/src/components/Navigation.vue index d7e60393..6e00753b 100644 --- a/web/src/components/Navigation.vue +++ b/web/src/components/Navigation.vue @@ -318,11 +318,11 @@ onMounted(() => { .then(() => { if (store.tags?.length === 0) EventBus.emit("showCTFWizard"); }) - .catch((err: string) => { - EventBus.emit("showError", `Failed to update tags: ${err}`); + .catch((err: Error) => { + EventBus.emit("showError", `Failed to update tags: ${err.message}`); }); - store.updateStatus().catch((err: string) => { - EventBus.emit("showError", `Failed to update status: ${err}`); + store.updateStatus().catch((err: Error) => { + EventBus.emit("showError", `Failed to update status: ${err.message}`); }); }); diff --git a/web/src/components/PcapOverIP.vue b/web/src/components/PcapOverIP.vue index 6e48f74a..7c9e53c9 100644 --- a/web/src/components/PcapOverIP.vue +++ b/web/src/components/PcapOverIP.vue @@ -205,10 +205,10 @@ onMounted(() => { }); function refresh() { - store.updatePcapOverIPEndpoints().catch((err: string) => { + store.updatePcapOverIPEndpoints().catch((err: Error) => { EventBus.emit( "showError", - `Failed to update PCAP-over-IP endpoints: ${err}`, + `Failed to update PCAP-over-IP endpoints: ${err.message}`, ); }); } @@ -224,10 +224,13 @@ function add() { newAddress.value = ""; refresh(); }) - .catch((err: string) => { + .catch((err: Error) => { addDialogLoading.value = false; addDialogError.value = true; - EventBus.emit("showError", `Failed to add PCAP-over-IP endpoint: ${err}`); + EventBus.emit( + "showError", + `Failed to add PCAP-over-IP endpoint: ${err.message}`, + ); }); } function del() { @@ -240,10 +243,10 @@ function del() { delDialogLoading.value = false; refresh(); }) - .catch((err: string) => { + .catch((err: Error) => { EventBus.emit( "showError", - `Failed to delete PCAP-over-IP endpoint: ${err}`, + `Failed to delete PCAP-over-IP endpoint: ${err.message}`, ); delDialogError.value = true; delDialogLoading.value = false; diff --git a/web/src/components/Pcaps.vue b/web/src/components/Pcaps.vue index 61a41813..06756301 100644 --- a/web/src/components/Pcaps.vue +++ b/web/src/components/Pcaps.vue @@ -86,8 +86,8 @@ const headers = [ ]; onMounted(() => { - store.updatePcaps().catch((err: string) => { - EventBus.emit("showError", `Failed to update pcaps: ${err}`); + store.updatePcaps().catch((err: Error) => { + EventBus.emit("showError", `Failed to update pcaps: ${err.message}`); }); }); diff --git a/web/src/components/Results.vue b/web/src/components/Results.vue index fe9ce65e..127f7e12 100644 --- a/web/src/components/Results.vue +++ b/web/src/components/Results.vue @@ -399,7 +399,7 @@ onMounted(() => { }); function checkboxAction() { - let tmp: boolean[] = []; + const tmp: boolean[] = []; const v = noneSelected.value; for (let i = 0; i < (streams.result?.Results.length || 0); i++) { tmp[i] = v; @@ -422,13 +422,13 @@ function fetchStreams(forceUpdate = false) { return; } - streams.searchStreams(query, page).catch((err: string) => { - EventBus.emit("showError", `Failed to fetch streams: ${err}`); + streams.searchStreams(query, page).catch((err: Error) => { + EventBus.emit("showError", `Failed to fetch streams: ${err.message}`); }); selected.value = []; } function createMarkFromSelection() { - let ids: number[] = []; + const ids: number[] = []; for (const s of selectedStreams.value) { ids.push(s.Stream.ID); } @@ -436,17 +436,23 @@ function createMarkFromSelection() { } function markSelectedStreams(tagId: string, value: boolean) { - let ids: number[] = []; + const ids: number[] = []; for (const s of selectedStreams.value) { ids.push(s.Stream.ID); } if (value) - store.markTagAdd(tagId, ids).catch((err: string) => { - EventBus.emit("showError", `Failed to add streams to tag: ${err}`); + store.markTagAdd(tagId, ids).catch((err: Error) => { + EventBus.emit( + "showError", + `Failed to add streams to tag: ${err.message}`, + ); }); else - store.markTagDel(tagId, ids).catch((err: string) => { - EventBus.emit("showError", `Failed to remove streams from tag: ${err}`); + store.markTagDel(tagId, ids).catch((err: Error) => { + EventBus.emit( + "showError", + `Failed to remove streams from tag: ${err.message}`, + ); }); } diff --git a/web/src/components/SearchBox.vue b/web/src/components/SearchBox.vue index ac13904d..9bcb143b 100644 --- a/web/src/components/SearchBox.vue +++ b/web/src/components/SearchBox.vue @@ -139,7 +139,7 @@ const queryTimeLimit = computed({ set(val: string | undefined) { const q = searchBox.value ?? ""; const ltime = analyze(q).ltime; - let old = ltime?.pieces?.value; + const old = ltime?.pieces?.value; if (old === val) return; const infix = val ? `ltime:${val}` : ""; if (old === undefined) { @@ -215,8 +215,8 @@ watch( ); onMounted(() => { - store.updateConverters().catch((err: string) => { - EventBus.emit("showError", `Failed to update converters: ${err}`); + store.updateConverters().catch((err: Error) => { + EventBus.emit("showError", `Failed to update converters: ${err.message}`); }); const keyListener = (e: KeyboardEvent) => { if (e.target === null || !(e.target instanceof Element)) return; @@ -344,7 +344,7 @@ function historyUp() { if (historyIndex.value === -1) { pendingSearch.value = searchBox.value; } - let term = getTermAt(historyIndex.value + 1); + const term = getTermAt(historyIndex.value + 1); if (term == null) { return; } diff --git a/web/src/components/Status.vue b/web/src/components/Status.vue index 286def0b..0469bba3 100644 --- a/web/src/components/Status.vue +++ b/web/src/components/Status.vue @@ -37,8 +37,8 @@ onMounted(() => { }); function updateStatus() { - store.updateStatus().catch((err: string) => { - EventBus.emit("showError", `Failed to update status: ${err}`); + store.updateStatus().catch((err: Error) => { + EventBus.emit("showError", `Failed to update status: ${err.message}`); }); } diff --git a/web/src/components/Stream.vue b/web/src/components/Stream.vue index 2c3c4561..438f2891 100644 --- a/web/src/components/Stream.vue +++ b/web/src/components/Stream.vue @@ -401,7 +401,7 @@ const converters = computed(() => store.converters); const groupedTags = computed(() => store.groupedTags); const streamTags = computed(() => { if (stream.stream == null) return {}; - let res: { [key: string]: { name: string; color: string }[] } = { + const res: { [key: string]: { name: string; color: string }[] } = { service: [], tag: [], mark: [], @@ -455,7 +455,7 @@ const streamIndex = computed(() => { if (streams.result == null) return null; const id = streamId.value; let i = 0; - for (let r of streams.result.Results) { + for (const r of streams.result.Results) { if (r.Stream.ID == id) return i; i++; } @@ -535,8 +535,8 @@ function changeConverter(converter: string) { function fetchStreamForId() { if (streamId.value !== null) { - stream.fetchStream(streamId.value, converter.value).catch((err: string) => { - EventBus.emit("showError", `Failed to fetch stream: ${err}`); + stream.fetchStream(streamId.value, converter.value).catch((err: Error) => { + EventBus.emit("showError", `Failed to fetch stream: ${err.message}`); }); document.getSelection()?.empty(); } @@ -559,12 +559,18 @@ function createMark() { function markStream(tagId: string, value: boolean) { if (value) { - store.markTagAdd(tagId, [streamId.value]).catch((err: string) => { - EventBus.emit("showError", `Failed to add stream to mark: ${err}`); + store.markTagAdd(tagId, [streamId.value]).catch((err: Error) => { + EventBus.emit( + "showError", + `Failed to add stream to mark: ${err.message}`, + ); }); } else { - store.markTagDel(tagId, [streamId.value]).catch((err: string) => { - EventBus.emit("showError", `Failed to remove stream from mark: ${err}`); + store.markTagDel(tagId, [streamId.value]).catch((err: Error) => { + EventBus.emit( + "showError", + `Failed to remove stream from mark: ${err.message}`, + ); }); } } diff --git a/web/src/components/StreamData.vue b/web/src/components/StreamData.vue index b473449e..fe8fe5fe 100644 --- a/web/src/components/StreamData.vue +++ b/web/src/components/StreamData.vue @@ -66,7 +66,7 @@ const highlightRegex = (highlight: string[] | null) => return decoded; }); return new RegExp(regex, "g"); - } catch (e) { + } catch { console.error(`Invalid regex: ${regex}`); } }); @@ -84,7 +84,7 @@ const asciiMap = Array.from({ length: 0x100 }, (_, i) => { }); const inlineAscii = (chunk: Data) => { - let chunkData = atob(chunk.Content); + const chunkData = atob(chunk.Content); const asciiEscaped = chunkData .split("") .map((c) => asciiMap[c.charCodeAt(0)]); @@ -133,7 +133,7 @@ const inlineHex = (b64: string) => { .split("") .map((char) => char.charCodeAt(0)), ); - var str = ([] as number[]).slice + const str = ([] as number[]).slice .call(ui8) .map((i) => i.toString(16).padStart(2, "0")) .join(""); @@ -146,7 +146,7 @@ const hexdump = (b64: string) => { .split("") .map((char) => char.charCodeAt(0)), ); - var str = ([] as number[]).slice + const str = ([] as number[]).slice .call(ui8) .map((i) => i.toString(16).padStart(2, "0")) .join("") @@ -157,12 +157,12 @@ const hexdump = (b64: string) => { while (str.length < 48) { str += " "; } - var ascii = + let ascii = str .replace(/ /g, "") .match(/.{1,2}/g) ?.map(function (ch) { - var c = String.fromCharCode(parseInt(ch, 16)); + let c = String.fromCharCode(parseInt(ch, 16)); if (!/[ -~]/.test(c)) { c = "."; } diff --git a/web/src/components/TagColorChangeDialog.vue b/web/src/components/TagColorChangeDialog.vue index 465ae70b..c640f8b3 100644 --- a/web/src/components/TagColorChangeDialog.vue +++ b/web/src/components/TagColorChangeDialog.vue @@ -120,10 +120,10 @@ function updateColor() { .then(() => { visible.value = false; }) - .catch((err: string) => { + .catch((err: Error) => { error.value = true; loading.value = false; - EventBus.emit("showError", err); + EventBus.emit("showError", err.message); }); } diff --git a/web/src/components/TagCreateDialog.vue b/web/src/components/TagCreateDialog.vue index c873c0cb..d7e28deb 100644 --- a/web/src/components/TagCreateDialog.vue +++ b/web/src/components/TagCreateDialog.vue @@ -129,10 +129,10 @@ function createTag() { .then(() => { visible.value = false; }) - .catch((err: string) => { + .catch((err: Error) => { error.value = true; loading.value = false; - EventBus.emit("showError", err); + EventBus.emit("showError", err.message); }); } diff --git a/web/src/components/TagDefinitionChangeDialog.vue b/web/src/components/TagDefinitionChangeDialog.vue index 777349df..9f0ac864 100644 --- a/web/src/components/TagDefinitionChangeDialog.vue +++ b/web/src/components/TagDefinitionChangeDialog.vue @@ -72,10 +72,10 @@ function updateDefinition() { .then(() => { visible.value = false; }) - .catch((err: string) => { + .catch((err: Error) => { error.value = true; loading.value = false; - EventBus.emit("showError", err); + EventBus.emit("showError", err.message); }); } diff --git a/web/src/components/TagDeleteDialog.vue b/web/src/components/TagDeleteDialog.vue index 1d17aa0b..e1d574e0 100644 --- a/web/src/components/TagDeleteDialog.vue +++ b/web/src/components/TagDeleteDialog.vue @@ -62,10 +62,10 @@ function deleteTag() { .then(() => { visible.value = false; }) - .catch((err: string) => { + .catch((err: Error) => { error.value = true; loading.value = false; - EventBus.emit("showError", err); + EventBus.emit("showError", err.message); }); } diff --git a/web/src/components/TagNameChangeDialog.vue b/web/src/components/TagNameChangeDialog.vue index 57681a1d..14d1fedf 100644 --- a/web/src/components/TagNameChangeDialog.vue +++ b/web/src/components/TagNameChangeDialog.vue @@ -72,10 +72,10 @@ function updateName() { .then(() => { visible.value = false; }) - .catch((err: string) => { + .catch((err: Error) => { error.value = true; loading.value = false; - EventBus.emit("showError", err); + EventBus.emit("showError", err.message); }); } diff --git a/web/src/components/TagSetConverterDialog.vue b/web/src/components/TagSetConverterDialog.vue index 4b28493d..7c060b14 100644 --- a/web/src/components/TagSetConverterDialog.vue +++ b/web/src/components/TagSetConverterDialog.vue @@ -88,10 +88,10 @@ function submitTagConverters() { .then(() => { visible.value = false; }) - .catch((err: string) => { + .catch((err: Error) => { error.value = true; loading.value = false; - EventBus.emit("showError", err); + EventBus.emit("showError", err.message); }); } diff --git a/web/src/components/Tags.vue b/web/src/components/Tags.vue index 40c51aa4..d2a78b2a 100644 --- a/web/src/components/Tags.vue +++ b/web/src/components/Tags.vue @@ -206,8 +206,8 @@ onMounted(() => { }); function updateTags() { - store.updateTags().catch((err: string) => { - EventBus.emit("showError", `Failed to update tags: ${err}`); + store.updateTags().catch((err: Error) => { + EventBus.emit("showError", `Failed to update tags: ${err.message}`); }); } diff --git a/web/src/lib/colors.ts b/web/src/lib/colors.ts index 2de0f5d7..4abe77cf 100644 --- a/web/src/lib/colors.ts +++ b/web/src/lib/colors.ts @@ -11,22 +11,34 @@ export function randomColor(): string { const t = v * (1 - (1 - f) * s); switch (i % 6) { case 0: - (r = v), (g = t), (b = p); + r = v; + g = t; + b = p; break; case 1: - (r = q), (g = v), (b = p); + r = q; + g = v; + b = p; break; case 2: - (r = p), (g = v), (b = t); + r = p; + g = v; + b = t; break; case 3: - (r = p), (g = q), (b = v); + r = p; + g = q; + b = v; break; case 4: - (r = t), (g = p), (b = v); + r = t; + g = p; + b = v; break; case 5: - (r = v), (g = p), (b = q); + r = v; + g = p; + b = q; break; } const toHex = (i: number) => diff --git a/web/src/shims-vue.d.ts b/web/src/shims-vue.d.ts index 2618b940..92b65eb0 100644 --- a/web/src/shims-vue.d.ts +++ b/web/src/shims-vue.d.ts @@ -5,7 +5,6 @@ declare module "*.vue" { export default component; } -/* eslint-disable @typescript-eslint/no-namespace */ declare module "shims-vue" { global { namespace NodeJS { diff --git a/web/src/stores/graph.ts b/web/src/stores/graph.ts index 51a70b90..55f4a2d1 100644 --- a/web/src/stores/graph.ts +++ b/web/src/stores/graph.ts @@ -61,7 +61,7 @@ export const useGraphStore = defineStore("graph", { this.graph = data; this.running = false; }) - .catch((err) => { + .catch((err: unknown) => { if (axios.isCancel(err)) return; if (axios.isAxiosError(err)) { this.delta = delta; diff --git a/web/src/stores/index.ts b/web/src/stores/index.ts index 6dca5e15..9739c089 100644 --- a/web/src/stores/index.ts +++ b/web/src/stores/index.ts @@ -98,11 +98,7 @@ export const useRootStore = defineStore("root", { }, async delPcapOverIPEndpoint(address: string) { return APIClient.delPcapOverIPEndpoint(address) - .then(() => { - this.updatePcapOverIPEndpoints().catch((err) => { - throw err; - }); - }) + .then(() => this.updatePcapOverIPEndpoints()) .catch(handleAxiosDefaultError); }, async updateConverters() { @@ -124,9 +120,7 @@ export const useRootStore = defineStore("root", { return APIClient.delTag(name) .then(() => { this.updateMark(name, undefined, false); - this.updateTags().catch((err) => { - throw err; - }); // TODO: not required with websocket? + return this.updateTags(); // TODO: not required with websocket? }) .catch(handleAxiosDefaultError); }, @@ -159,9 +153,7 @@ export const useRootStore = defineStore("root", { return APIClient.markTagNew(name, streams, color) .then(() => { this.updateMark(name, streams, true); - this.updateTags().catch((err) => { - throw err; - }); // TODO: not required with websocket? + return this.updateTags(); // TODO: not required with websocket? }) .catch(handleAxiosDefaultError); }, @@ -169,9 +161,7 @@ export const useRootStore = defineStore("root", { return APIClient.markTagAdd(name, streams) .then(() => { this.updateMark(name, streams, true); - this.updateTags().catch((err) => { - throw err; - }); // TODO: not required with websocket? + return this.updateTags(); // TODO: not required with websocket? }) .catch(handleAxiosDefaultError); }, @@ -179,9 +169,7 @@ export const useRootStore = defineStore("root", { return APIClient.markTagDel(name, streams) .then(() => { this.updateMark(name, streams, false); - this.updateTags().catch((err) => { - throw err; - }); // TODO: not required with websocket? + return this.updateTags(); // TODO: not required with websocket? }) .catch(handleAxiosDefaultError); }, @@ -190,8 +178,10 @@ export const useRootStore = defineStore("root", { export function handleAxiosDefaultError(err: unknown) { if (axios.isAxiosError(err)) - throw err.response !== undefined && err.response.data !== "" - ? err.response.data - : err.message; + throw new Error( + err.response !== undefined && err.response.data !== "" + ? err.response.data + : err.message, + ); else throw err; } diff --git a/web/src/stores/stream.ts b/web/src/stores/stream.ts index b010498c..d56eca1e 100644 --- a/web/src/stores/stream.ts +++ b/web/src/stores/stream.ts @@ -30,7 +30,7 @@ export const useStreamStore = defineStore("stream", { this.stream = data; this.running = false; }) - .catch((err) => { + .catch((err: unknown) => { if (axios.isAxiosError(err)) { this.id = id; this.error = diff --git a/web/src/stores/streams.ts b/web/src/stores/streams.ts index 46e539a2..c9bbecba 100644 --- a/web/src/stores/streams.ts +++ b/web/src/stores/streams.ts @@ -44,7 +44,7 @@ export const useStreamsStore = defineStore("streams", { this.page = page; this.running = false; }) - .catch((err) => { + .catch((err: unknown) => { if (axios.isCancel(err)) return; if (axios.isAxiosError(err)) { this.query = query; diff --git a/web/src/stores/websocket.ts b/web/src/stores/websocket.ts index 28c4ccec..bd1b3f6f 100644 --- a/web/src/stores/websocket.ts +++ b/web/src/stores/websocket.ts @@ -24,7 +24,7 @@ type EventTypes = /** @see {isEvent} ts-auto-guard:type-guard */ export type Event = { - Type: EventTypes | string; + Type: EventTypes | string; // eslint-disable-line @typescript-eslint/no-redundant-type-constituents }; /** @see {isTagEvent} ts-auto-guard:type-guard */ diff --git a/web/vite.config.js b/web/vite.config.js index 74082549..ca194924 100644 --- a/web/vite.config.js +++ b/web/vite.config.js @@ -21,7 +21,8 @@ export default defineConfig({ checker({ typescript: true, eslint: { - lintCommand: "eslint --ext .js,.ts,.vue .", + lintCommand: "eslint .", + useFlatConfig: true, }, }), ], diff --git a/web/yarn.lock b/web/yarn.lock index a54e8c20..69857397 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -156,55 +156,92 @@ integrity sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + 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.3.0" + eslint-visitor-keys "^3.4.3" + +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== + +"@eslint/config-array@^0.19.0": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.1.tgz#734aaea2c40be22bbb1f2a9dac687c57a6a4c984" + integrity sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA== + dependencies: + "@eslint/object-schema" "^2.1.5" + debug "^4.3.1" + minimatch "^3.1.2" -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== +"@eslint/core@^0.9.0": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.9.1.tgz#31763847308ef6b7084a4505573ac9402c51f9d1" + integrity sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q== + dependencies: + "@types/json-schema" "^7.0.15" -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== +"@eslint/eslintrc@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.2.0.tgz#57470ac4e2e283a6bf76044d63281196e370542c" + integrity sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" + espree "^10.0.1" + globals "^14.0.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.57.1": - version "8.57.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" - integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== +"@eslint/js@9.17.0": + version "9.17.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.17.0.tgz#1523e586791f80376a6f8398a3964455ecc651ec" + integrity sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w== + +"@eslint/object-schema@^2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.5.tgz#8670a8f6258a2be5b2c620ff314a1d984c23eb2e" + integrity sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ== -"@humanwhocodes/config-array@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" - integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== +"@eslint/plugin-kit@^0.2.3": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz#2b78e7bb3755784bb13faa8932a1d994d6537792" + integrity sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg== dependencies: - "@humanwhocodes/object-schema" "^2.0.3" - debug "^4.3.1" - minimatch "^3.0.5" + levn "^0.4.1" + +"@humanfs/core@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" + integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== + +"@humanfs/node@^0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" + integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== + dependencies: + "@humanfs/core" "^0.19.1" + "@humanwhocodes/retry" "^0.3.0" "@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@^2.0.3": - 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== +"@humanwhocodes/retry@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" + integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== + +"@humanwhocodes/retry@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" + integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== "@jridgewell/sourcemap-codec@^1.5.0": version "1.5.0" @@ -224,7 +261,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.8": +"@nodelib/fs.walk@^1.2.3": 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== @@ -465,7 +502,15 @@ mkdirp "^3.0.1" path-browserify "^1.0.1" -"@types/estree@1.0.6": +"@types/eslint@^9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@1.0.6", "@types/estree@^1.0.6": version "1.0.6" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== @@ -475,7 +520,7 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== -"@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.15": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -497,11 +542,6 @@ dependencies: undici-types "~6.20.0" -"@types/semver@^7.3.12": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== - "@types/strip-bom@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" @@ -525,175 +565,86 @@ resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.5.tgz#eccda0b04fe024bed505881e2e532f9c119169bf" integrity sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA== -"@typescript-eslint/eslint-plugin@^5.4.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@^7.1.1": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3" - integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw== +"@typescript-eslint/eslint-plugin@8.18.2", "@typescript-eslint/eslint-plugin@^8.15.0", "@typescript-eslint/eslint-plugin@^8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.2.tgz#c78e363ab5fe3b21dd1c90d8be9581534417f78e" + integrity sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.18.0" - "@typescript-eslint/type-utils" "7.18.0" - "@typescript-eslint/utils" "7.18.0" - "@typescript-eslint/visitor-keys" "7.18.0" + "@typescript-eslint/scope-manager" "8.18.2" + "@typescript-eslint/type-utils" "8.18.2" + "@typescript-eslint/utils" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@^5.4.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== +"@typescript-eslint/parser@8.18.2", "@typescript-eslint/parser@^8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.18.2.tgz#0379a2e881d51d8fcf7ebdfa0dd18eee79182ce2" + integrity sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA== dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/scope-manager" "8.18.2" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/typescript-estree" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" debug "^4.3.4" -"@typescript-eslint/parser@^7.1.1": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0" - integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg== +"@typescript-eslint/scope-manager@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.18.2.tgz#d193c200d61eb0ddec5987c8e48c9d4e1c0510bd" + integrity sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g== dependencies: - "@typescript-eslint/scope-manager" "7.18.0" - "@typescript-eslint/types" "7.18.0" - "@typescript-eslint/typescript-estree" "7.18.0" - "@typescript-eslint/visitor-keys" "7.18.0" - debug "^4.3.4" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" -"@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== +"@typescript-eslint/type-utils@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.18.2.tgz#5ad07e09002eee237591881df674c1c0c91ca52f" + integrity sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - -"@typescript-eslint/scope-manager@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83" - integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA== - dependencies: - "@typescript-eslint/types" "7.18.0" - "@typescript-eslint/visitor-keys" "7.18.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/type-utils@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b" - integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA== - dependencies: - "@typescript-eslint/typescript-estree" "7.18.0" - "@typescript-eslint/utils" "7.18.0" + "@typescript-eslint/typescript-estree" "8.18.2" + "@typescript-eslint/utils" "8.18.2" debug "^4.3.4" ts-api-utils "^1.3.0" -"@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/types@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" - integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== +"@typescript-eslint/types@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.18.2.tgz#5ebad5b384c8aa1c0f86cee1c61bcdbe7511f547" + integrity sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ== -"@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== +"@typescript-eslint/typescript-estree@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.2.tgz#fffb85527f8304e29bfbbdc712f4515da9f8b47c" + integrity sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/visitor-keys" "8.18.2" debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/typescript-estree@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931" - integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA== - dependencies: - "@typescript-eslint/types" "7.18.0" - "@typescript-eslint/visitor-keys" "7.18.0" - debug "^4.3.4" - globby "^11.1.0" + fast-glob "^3.3.2" is-glob "^4.0.3" minimatch "^9.0.4" semver "^7.6.0" ts-api-utils "^1.3.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/utils@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" - integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== +"@typescript-eslint/utils@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.18.2.tgz#a2635f71904a84f9e47fe1b6f65a6d944ff1adf9" + integrity sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.18.0" - "@typescript-eslint/types" "7.18.0" - "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/scope-manager" "8.18.2" + "@typescript-eslint/types" "8.18.2" + "@typescript-eslint/typescript-estree" "8.18.2" -"@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== +"@typescript-eslint/visitor-keys@8.18.2": + version "8.18.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.2.tgz#b3e434b701f086b10a7c82416ebc56899d27ef2f" + integrity sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw== dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" - -"@typescript-eslint/visitor-keys@7.18.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7" - integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg== - dependencies: - "@typescript-eslint/types" "7.18.0" - eslint-visitor-keys "^3.4.3" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + "@typescript-eslint/types" "8.18.2" + eslint-visitor-keys "^4.2.0" "@vitejs/plugin-vue2@^2.3.3": version "2.3.3" @@ -716,14 +667,15 @@ resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.6.3.tgz#b23a588154cba8986bba82b6e1d0248bde3fd1a0" integrity sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw== -"@vue/eslint-config-typescript@^13.0.0": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@vue/eslint-config-typescript/-/eslint-config-typescript-13.0.0.tgz#f5f3d986ace34a10f403921d5044831b89a1b679" - integrity sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg== +"@vue/eslint-config-typescript@^14.1.4": + version "14.1.4" + resolved "https://registry.yarnpkg.com/@vue/eslint-config-typescript/-/eslint-config-typescript-14.1.4.tgz#82df2e3ab79ae09a904687db7bbdef6f89ebe858" + integrity sha512-NcG1adLFde+t+TCaXlL38PHuZlBEuwDahgrPVyB052m9QeHOswVIAplMD2cXgH8vXieAVNF1+mXvyilpIO3+kg== dependencies: - "@typescript-eslint/eslint-plugin" "^7.1.1" - "@typescript-eslint/parser" "^7.1.1" - vue-eslint-parser "^9.3.1" + "@typescript-eslint/eslint-plugin" "^8.15.0" + fast-glob "^3.3.2" + typescript-eslint "^8.15.0" + vue-eslint-parser "^9.4.3" "@yr/monotone-cubic-spline@^1.0.3": version "1.0.3" @@ -735,16 +687,11 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.14.0: +acorn@^8.14.0, acorn@^8.9.0: version "8.14.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== -acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -811,11 +758,6 @@ array-back@^6.2.2: resolved "https://registry.yarnpkg.com/array-back/-/array-back-6.2.2.tgz#f567d99e9af88a6d3d2f9dfcc21db6f9ba9fd157" integrity sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw== -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - asn1.js@^4.10.1: version "4.10.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" @@ -1203,7 +1145,7 @@ create-require@^1.1.1: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-spawn@^7.0.2: +cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -1296,25 +1238,11 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - discontinuous-range@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" integrity sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ== -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - domain-browser@^4.22.0: version "4.23.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.23.0.tgz#427ebb91efcb070f05cffdfb8a4e9a6c25f8c94b" @@ -1404,15 +1332,7 @@ eslint-plugin-vue@^9.32.0: vue-eslint-parser "^9.4.3" xml-name-validator "^4.0.0" -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.1.1, eslint-scope@^7.2.2: +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== @@ -1420,56 +1340,74 @@ eslint-scope@^7.1.1, eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" +eslint-scope@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442" + integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.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@^8.57.1: - version "8.57.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" - integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== +eslint-visitor-keys@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" + integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== + +eslint@^9.17.0: + version "9.17.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.17.0.tgz#faa1facb5dd042172fdc520106984b5c2421bb0c" + integrity sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.1" - "@humanwhocodes/config-array" "^0.13.0" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.19.0" + "@eslint/core" "^0.9.0" + "@eslint/eslintrc" "^3.2.0" + "@eslint/js" "9.17.0" + "@eslint/plugin-kit" "^0.2.3" + "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" + "@humanwhocodes/retry" "^0.4.1" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" ajv "^6.12.4" chalk "^4.0.0" - cross-spawn "^7.0.2" + cross-spawn "^7.0.6" debug "^4.3.2" - doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" + eslint-scope "^8.2.0" + eslint-visitor-keys "^4.2.0" + espree "^10.3.0" + esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" + file-entry-cache "^8.0.0" find-up "^5.0.0" glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - is-path-inside "^3.0.3" - 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.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" -espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: +espree@^10.0.1, espree@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" + integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== + dependencies: + acorn "^8.14.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.2.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== @@ -1478,10 +1416,10 @@ espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" -esquery@^1.4.0, esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== +esquery@^1.4.0, esquery@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" @@ -1492,11 +1430,6 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" @@ -1530,7 +1463,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.7, fast-glob@^3.2.9, fast-glob@^3.3.2: +fast-glob@^3.2.7, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -1552,18 +1485,18 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.18.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.18.0.tgz#d631d7e25faffea81887fe5ea8c9010e1b36fee0" + integrity sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw== dependencies: reusify "^1.0.4" -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== dependencies: - flat-cache "^3.0.4" + flat-cache "^4.0.0" fill-range@^7.1.1: version "7.1.1" @@ -1587,14 +1520,13 @@ find-up@^5.0.0: 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" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== dependencies: flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" + keyv "^4.5.4" flatted@^3.2.9: version "3.3.1" @@ -1631,11 +1563,6 @@ fs-extra@^11.1.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" @@ -1671,36 +1598,22 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^13.19.0, globals@^13.24.0: +globals@^13.24.0: version "13.24.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + +globals@^15.14.0: + version "15.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-15.14.0.tgz#b8fd3a8941ff3b4d38f3319d433b61bbb482e73f" + integrity sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig== gopd@^1.0.1: version "1.0.1" @@ -1827,15 +1740,7 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -1899,11 +1804,6 @@ 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.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== - is-typed-array@^1.1.3: version "1.1.13" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" @@ -1962,7 +1862,7 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -keyv@^4.5.3: +keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== @@ -2023,7 +1923,7 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" -merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -2066,7 +1966,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, 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== @@ -2115,11 +2015,6 @@ nanoid@^3.3.7: 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" @@ -2220,13 +2115,6 @@ object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - optionator@^0.9.3: version "0.9.4" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" @@ -2292,11 +2180,6 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -2307,11 +2190,6 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - pathe@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" @@ -2549,13 +2427,6 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -2620,7 +2491,7 @@ sass@~1.83.0: optionalDependencies: "@parcel/watcher" "^2.4.1" -semver@^7.3.4, semver@^7.3.6, semver@^7.3.7, semver@^7.6.0, semver@^7.6.3: +semver@^7.3.4, semver@^7.3.6, semver@^7.6.0, semver@^7.6.3: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -2672,11 +2543,6 @@ side-channel@^1.0.6: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - "source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" @@ -2719,7 +2585,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +strip-ansi@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -2768,11 +2634,6 @@ table-layout@^4.1.0: array-back "^6.2.2" wordwrapjs "^5.1.0" -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - timers-browserify@^2.0.4: version "2.0.12" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" @@ -2798,9 +2659,9 @@ to-regex-range@^5.0.1: is-number "^7.0.0" ts-api-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + version "1.4.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" + integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== ts-auto-guard@^5.0.1: version "5.0.1" @@ -2830,18 +2691,6 @@ tsconfig@^7.0.0: strip-bom "^3.0.0" strip-json-comments "^2.0.0" -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - tty-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" @@ -2864,6 +2713,15 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== +typescript-eslint@^8.15.0, typescript-eslint@^8.18.2: + version "8.18.2" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.18.2.tgz#71334dcf843adc3fbb771dce5ade7876aa0d62b7" + integrity sha512-KuXezG6jHkvC3MvizeXgupZzaG5wjhU3yE8E7e6viOvAvD9xAWYp8/vy0WULTGe9DYDWcQu7aW03YIV3mSitrQ== + dependencies: + "@typescript-eslint/eslint-plugin" "8.18.2" + "@typescript-eslint/parser" "8.18.2" + "@typescript-eslint/utils" "8.18.2" + typescript@~5.7.2: version "5.7.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" @@ -3041,7 +2899,7 @@ vue-demi@^0.14.10: resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.10.tgz#afc78de3d6f9e11bf78c55e8510ee12814522f04" integrity sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg== -vue-eslint-parser@^9.3.1, vue-eslint-parser@^9.4.3: +vue-eslint-parser@^9.4.3: version "9.4.3" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz#9b04b22c71401f1e8bca9be7c3e3416a4bde76a8" integrity sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg== @@ -3117,11 +2975,6 @@ wordwrapjs@^5.1.0: resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-5.1.0.tgz#4c4d20446dcc670b14fa115ef4f8fd9947af2b3a" integrity sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg== -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - xml-name-validator@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"