chore(frontend): introduce prettier + eslint and prune unused code
Backend CI / Backend (push) Has been cancelled
Frontend CI / Frontend (push) Failing after 1m39s

- Add Prettier 3 with prettier-plugin-organize-imports (sorts/removes unused imports)
- Add ESLint 10 flat config with typescript-eslint + eslint-plugin-vue + eslint-config-prettier
- Add root scripts: format, format:check, lint, lint:fix
- Reformat 257 files across admin-web, ops-web, desktop-client, packages
- Remove unused locals/exports flagged by --noUnusedLocals/--noUnusedParameters
- Fix duplicate localTabLabel key, surrogate-pair regex u-flag, NBSP literal in regex
- Skip server/ (Go) and apps/browser-extension/ (deprecated per ADR)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-01 20:39:09 +08:00
parent 21c7892ee4
commit 162abdc97c
258 changed files with 42261 additions and 37556 deletions
+13 -8
View File
@@ -1,8 +1,8 @@
/* Clean Enterprise UI Reset */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap');
:root {
font-family: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
font-family: 'Inter', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
color: #141414;
background-color: #f0f2f5;
font-synthesis: none;
@@ -19,7 +19,9 @@
box-sizing: border-box;
}
html, body, #app {
html,
body,
#app {
min-height: 100vh;
margin: 0;
padding: 0;
@@ -105,7 +107,9 @@ html, body, #app {
.action-btn.ant-btn {
color: #8c8c8c;
font-size: 14px;
transition: color 0.2s, background-color 0.2s;
transition:
color 0.2s,
background-color 0.2s;
}
.action-edit.ant-btn:hover:not(:disabled) {
@@ -139,11 +143,11 @@ html, body, #app {
}
.ant-layout-header {
box-shadow: 0 1px 4px rgba(0,21,41,0.08); /* slight shadow for topbar */
box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); /* slight shadow for topbar */
}
.ant-card {
box-shadow: 0 1px 2px 0 rgba(0,0,0,0.03);
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
}
.ant-menu-dark .ant-menu-item-selected {
@@ -216,7 +220,7 @@ html, body, #app {
flex-direction: column;
justify-content: center;
padding: 60px 48px;
box-shadow: -4px 0 16px rgba(0,0,0,0.05);
box-shadow: -4px 0 16px rgba(0, 0, 0, 0.05);
}
.login-header {
@@ -248,7 +252,8 @@ html, body, #app {
width: 100%;
align-items: center;
}
.login-header, .ant-form {
.login-header,
.ant-form {
width: 100%;
max-width: 400px;
}