From c3f8477f8d14d09b9d2b076558a586a217d676c4 Mon Sep 17 00:00:00 2001 From: Brian Helba Date: Wed, 20 May 2026 00:00:51 -0400 Subject: [PATCH 1/3] Switch `eslint-plugin-vue` rules to `flat/recommended` --- web/eslint.config.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/web/eslint.config.ts b/web/eslint.config.ts index 4ce4da23..30f99747 100644 --- a/web/eslint.config.ts +++ b/web/eslint.config.ts @@ -11,16 +11,23 @@ export default defineConfigWithVueTs( name: "app/files-to-lint", files: ["**/*.{vue,ts,mts,tsx}"], }, + globalIgnores(["**/dist/**", "**/dist-ssr/**", "**/coverage/**"]), - ...pluginVue.configs["flat/essential"], + + ...pluginVue.configs["flat/recommended"], vueTsConfigs.recommended, + { rules: { // allowModifiers: Vuetify uses dot notation for column slots (v-slot:item.columnName) "vue/valid-v-slot": ["error", { allowModifiers: true }], // `any` is used everywhere and will be difficult to eliminate "@typescript-eslint/no-explicit-any": "off", + // Temporary ignores until rules can be fixed + "vue/no-template-shadow": "off", + "vue/require-default-prop": "off", }, }, + skipFormatting, ); From ea24a92f3c78faafc08d2de05d1b22745b41d1c3 Mon Sep 17 00:00:00 2001 From: Brian Helba Date: Fri, 5 Jun 2026 15:14:40 -0400 Subject: [PATCH 2/3] Apply automated ESLint fixes --- web/src/App.vue | 2 +- web/src/components/ControlsBar.vue | 38 ++--- web/src/components/DatasetList.vue | 4 +- web/src/components/DetailView.vue | 10 +- web/src/components/SliderNumericInput.vue | 12 +- web/src/components/map/MapTooltip.vue | 2 +- web/src/components/map/ToggleCompareMap.vue | 2 +- web/src/components/projects/AccessControl.vue | 24 ++-- web/src/components/projects/DatasetSelect.vue | 8 +- web/src/components/projects/DatasetUpload.vue | 46 +++---- web/src/components/projects/ProjectConfig.vue | 50 +++---- .../components/sidebars/AnalyticsPanel.vue | 24 ++-- web/src/components/sidebars/ChartsPanel.vue | 10 +- .../components/sidebars/ColormapEditor.vue | 14 +- .../components/sidebars/CompareLayerStyle.vue | 4 +- web/src/components/sidebars/DatasetsPanel.vue | 8 +- web/src/components/sidebars/FloatingPanel.vue | 10 +- web/src/components/sidebars/LayerStyle.vue | 130 +++++++++--------- web/src/components/sidebars/LayersPanel.vue | 34 +++-- web/src/components/sidebars/LegendPanel.vue | 6 +- web/src/components/sidebars/NetworksPanel.vue | 28 ++-- web/src/components/sidebars/NodeAnimation.vue | 6 +- web/src/components/sidebars/SideBars.vue | 18 +-- 23 files changed, 247 insertions(+), 243 deletions(-) diff --git a/web/src/App.vue b/web/src/App.vue index d6d55909..f1207d42 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -62,9 +62,9 @@ watch(() => appStore.currentUser, onReady); mdi-close diff --git a/web/src/components/ControlsBar.vue b/web/src/components/ControlsBar.vue index 6562e5ca..e693da5c 100644 --- a/web/src/components/ControlsBar.vue +++ b/web/src/components/ControlsBar.vue @@ -317,24 +317,24 @@ watch(newBasemapStyleJSON, debounce(createNewBasemapPreview, 1000)); Base Map Options -