chore(lint): apply the main eslint config to vue files (#39545)

Vue files only got `eslint-plugin-vue` rules, so stylistic and
TypeScript rules never ran on them, and `import-x` could not see cycles
between `.ts` and `.vue` files.

- Apply the main ESLint config to `.vue` files
- Let `import-x` parse `.vue` files, which surfaced a cycle between
`repo-findfile.ts` and `RepoFileSearch.vue`
- Fix the resulting lint issues

`vue-eslint-parser` is added as a direct dependency because `import-x`
resolves parsers by package name, see
https://github.com/un-ts/eslint-plugin-import-x/issues/381.
This commit is contained in:
silverwind authored and GitHub committed 2026-10-03 00:47:13 +00:00
1 parent 986b0bcae0
commit 99573bde0e
12 files changed
+115 -112

No files matched your search

+4 -4
View File
@@ -30,12 +30,12 @@ export type WorkflowGraphLocale = {
graphResetView: string,
};
interface StoredState {
type StoredState = {
scale: number;
translateX: number;
translateY: number;
timestamp: number;
}
};
const props = defineProps<{
store: ActionRunViewStore;
@@ -233,14 +233,14 @@ function isJobLinked(job: ActionsJob) {
}
function onNodeClick(job: GraphNode | ActionsJob, event: MouseEvent) {
const target = 'jobs' in job ? job.jobs[0]! : job;
const target = 'jobs' in job ? job.jobs[0] : job;
if (!isJobLinked(target)) return;
const link = `${props.runLink}/jobs/${target.id}`;
if (event.ctrlKey || event.metaKey) {
window.open(link, '_blank');
return;
}
window.location.href = link;
window.location.assign(link);
}
</script>