style(app): apply eslint --fix to Tier 3 config files

WS-3 session 1b-ii Task 2 (audit Bucket X — 134 items).

Hand-reviewed quote-style/semi/arrow-parens autofixes on the three
config files explicitly excluded from session 1b-i:

- vite.config.ts (91 items, @typescript-eslint/quotes / semi /
  arrow-parens / curly). Plugin order verified unchanged by diff
  inspection (VueRouter → vue → vueJsx → vuetify → MetaLayouts →
  Components → AutoImport → svgLoader). One curly-add at the
  apexcharts resolver: \`if (componentName === 'VueApexCharts') { return {...} }\`
  — behaviorally identical to the prior braces-omitted form.
  Build smoke: pnpm build succeeded in 12.13s, zero warnings.

- themeConfig.ts (42 items, quotes / semi). Theme token values
  byte-identical, only surrounding quotes flipped from double to
  single. App title 'Crewli', logo span style, language labels and
  i18n codes all preserved.

- vitest.config.ts (1 item, lines-around-comment). Trivial: blank
  line added before the dts:false comment block.

No semantic changes. apps/app vitest 49 passed, vue-tsc clean,
pnpm build succeeded.

Lint baseline: 231 → 97 (Bucket X resolved).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-29 14:07:13 +02:00
parent 1a8f592518
commit dcb8d53b61
3 changed files with 87 additions and 85 deletions

View File

@@ -1,18 +1,18 @@
import { fileURLToPath } from "node:url";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { fileURLToPath } from 'node:url'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import {
VueRouterAutoImports,
getPascalCaseRouteName,
} from "unplugin-vue-router";
import VueRouter from "unplugin-vue-router/vite";
import { defineConfig } from "vite";
import VueDevTools from "vite-plugin-vue-devtools";
import MetaLayouts from "vite-plugin-vue-meta-layouts";
import vuetify from "vite-plugin-vuetify";
import svgLoader from "vite-svg-loader";
} from 'unplugin-vue-router'
import VueRouter from 'unplugin-vue-router/vite'
import { defineConfig } from 'vite'
import VueDevTools from 'vite-plugin-vue-devtools'
import MetaLayouts from 'vite-plugin-vue-meta-layouts'
import vuetify from 'vite-plugin-vuetify'
import svgLoader from 'vite-svg-loader'
// https://vitejs.dev/config/
export default defineConfig({
@@ -20,11 +20,11 @@ export default defineConfig({
// Docs: https://github.com/posva/unplugin-vue-router
// This plugin should be placed before vue plugin
VueRouter({
getRouteName: (routeNode) => {
getRouteName: routeNode => {
// Convert pascal case to kebab case
return getPascalCaseRouteName(routeNode)
.replace(/([a-z\d])([A-Z])/g, "$1-$2")
.toLowerCase();
.replace(/([a-z\d])([A-Z])/g, '$1-$2')
.toLowerCase()
},
}),
vue(),
@@ -36,30 +36,31 @@ export default defineConfig({
styles: {
// Absolute URL so resolution does not depend on process cwd (fixes common SASS 404s).
configFile: fileURLToPath(
new URL("./src/styles/settings.scss", import.meta.url),
new URL('./src/styles/settings.scss', import.meta.url),
),
},
}),
// Docs: https://github.com/dishait/vite-plugin-vue-meta-layouts?tab=readme-ov-file
MetaLayouts({
target: "./src/layouts",
defaultLayout: "default",
target: './src/layouts',
defaultLayout: 'default',
}),
// Docs: https://github.com/antfu/unplugin-vue-components#unplugin-vue-components
Components({
dirs: ["src/@core/components", "src/views/demos", "src/components"],
dirs: ['src/@core/components', 'src/views/demos', 'src/components'],
dts: true,
resolvers: [
(componentName) => {
componentName => {
// Auto import `VueApexCharts`
if (componentName === "VueApexCharts")
if (componentName === 'VueApexCharts') {
return {
name: "default",
from: "vue3-apexcharts",
as: "VueApexCharts",
};
name: 'default',
from: 'vue3-apexcharts',
as: 'VueApexCharts',
}
}
},
],
}),
@@ -67,72 +68,72 @@ export default defineConfig({
// Docs: https://github.com/antfu/unplugin-auto-import#unplugin-auto-import
AutoImport({
imports: [
"vue",
'vue',
VueRouterAutoImports,
"@vueuse/core",
"@vueuse/math",
"vue-i18n",
"pinia",
'@vueuse/core',
'@vueuse/math',
'vue-i18n',
'pinia',
],
dirs: [
"./src/@core/utils",
"./src/@core/composable/",
"./src/composables/",
"./src/utils/",
"./src/plugins/*/composables/*",
'./src/@core/utils',
'./src/@core/composable/',
'./src/composables/',
'./src/utils/',
'./src/plugins/*/composables/*',
],
vueTemplate: true,
// Disabled to avoid confusion & accidental usage
ignore: ["useCookies", "useStorage"],
ignore: ['useCookies', 'useStorage'],
}),
svgLoader(),
],
define: { "process.env": {} },
define: { 'process.env': {} },
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
"@themeConfig": fileURLToPath(
new URL("./themeConfig.ts", import.meta.url),
'@': fileURLToPath(new URL('./src', import.meta.url)),
'@themeConfig': fileURLToPath(
new URL('./themeConfig.ts', import.meta.url),
),
"@core": fileURLToPath(new URL("./src/@core", import.meta.url)),
"@layouts": fileURLToPath(new URL("./src/@layouts", import.meta.url)),
"@images": fileURLToPath(
new URL("./src/assets/images/", import.meta.url),
'@core': fileURLToPath(new URL('./src/@core', import.meta.url)),
'@layouts': fileURLToPath(new URL('./src/@layouts', import.meta.url)),
'@images': fileURLToPath(
new URL('./src/assets/images/', import.meta.url),
),
"@styles": fileURLToPath(
new URL("./src/assets/styles/", import.meta.url),
'@styles': fileURLToPath(
new URL('./src/assets/styles/', import.meta.url),
),
"@configured-variables": fileURLToPath(
'@configured-variables': fileURLToPath(
new URL(
"./src/assets/styles/variables/_template.scss",
'./src/assets/styles/variables/_template.scss',
import.meta.url,
),
),
"@form-schema": fileURLToPath(
new URL("../../packages/form-schema/src", import.meta.url),
'@form-schema': fileURLToPath(
new URL('../../packages/form-schema/src', import.meta.url),
),
},
},
server: {
port: 5174,
proxy: {
"/api": {
target: "http://localhost:8000",
'/api': {
target: 'http://localhost:8000',
changeOrigin: true,
},
},
warmup: {
clientFiles: ["./src/pages/**/*.vue", "./src/components/**/*.vue"],
clientFiles: ['./src/pages/**/*.vue', './src/components/**/*.vue'],
},
},
build: {
chunkSizeWarningLimit: 5000,
},
optimizeDeps: {
exclude: ["vuetify"],
entries: ["./src/**/*.vue"],
exclude: ['vuetify'],
entries: ['./src/**/*.vue'],
force: true,
},
});
})