Skip to content

chore(frontend): ESLint 9 + TS strict quality gates with frozen legac…#2213

Closed
dolphin0618 wants to merge 1 commit into
feat/2.6.0-uifrom
chore/frontend-quality-gates
Closed

chore(frontend): ESLint 9 + TS strict quality gates with frozen legac…#2213
dolphin0618 wants to merge 1 commit into
feat/2.6.0-uifrom
chore/frontend-quality-gates

Conversation

@dolphin0618

Copy link
Copy Markdown
Collaborator

…y violations

Dify-style "freeze legacy, block new" quality gates for both frontend apps:

  • ESLint 9 flat configs for platform, client and @bisheng/ui (shared toolchain installed at workspace root). House rules: no-explicit-any, no raw axios imports (C7), no-console (warn/error allowed), react-hooks rules as errors, ts-expect-error with description only.
  • Legacy violations frozen per app in eslint-suppressions.json (may only shrink; run lint:prune after cleaning a file).
  • TS strict via typescript-strict-plugin: legacy failing files annotated with @ts-strict-ignore (platform 388, client 163); all other and all new files fully strict-checked; tsc-strict wired as typecheck script.
  • platform tsconfig target es5 -> ES2020.
  • New CI workflow frontend-quality.yml: PR-triggered, path-filtered, lint + typecheck for both apps.
  • Gate policy documented in root AGENTS.md; @bisheng/ui starts at zero suppressions (fixed 1 dead var, removed 6 stale disable directives).

What

简要描述做了什么改动。

Why

为什么需要这个改动?

How

实现方式、设计决策(如有)。

Test

  • 本地测试通过
  • 114 测试服务器验证通过

Related

  • Issue/ticket:

…y violations

Dify-style "freeze legacy, block new" quality gates for both frontend apps:

- ESLint 9 flat configs for platform, client and @bisheng/ui (shared
  toolchain installed at workspace root). House rules: no-explicit-any,
  no raw axios imports (C7), no-console (warn/error allowed),
  react-hooks rules as errors, ts-expect-error with description only.
- Legacy violations frozen per app in eslint-suppressions.json
  (may only shrink; run lint:prune after cleaning a file).
- TS strict via typescript-strict-plugin: legacy failing files annotated
  with @ts-strict-ignore (platform 388, client 163); all other and all
  new files fully strict-checked; tsc-strict wired as typecheck script.
- platform tsconfig target es5 -> ES2020.
- New CI workflow frontend-quality.yml: PR-triggered, path-filtered,
  lint + typecheck for both apps.
- Gate policy documented in root AGENTS.md; @bisheng/ui starts at zero
  suppressions (fixed 1 dead var, removed 6 stale disable directives).
@dolphin0618

Copy link
Copy Markdown
Collaborator Author

checks have failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant