qwen-code/eslint-rules
易良 351b5fc51a
ci(lint): stop new cli imports from the core package root (#11798)
Importing a value from the @qwen-code/qwen-code-core root evaluates all
of core in every test whose import graph reaches the importing file,
which is where most cli test time goes (#10908). The existing rule stops
at packages/core/src, so cli kept adding root imports: 446 production
files at #10957's merge, 465 eight days later.

Enable @typescript-eslint/no-restricted-imports for cli production files
with type-only imports allowed, reusing the barrel specifier set from
no-core-root-barrel-import. The 372 files that value-import the root
today are listed in eslint.legacy-core-barrel-imports.mjs; the list only
shrinks. The new file is registered wherever eslint.legacy-filenames.mjs
is: the lint-gate freshness list, the autofix sensitive-file classifier,
and the hygiene fix agent's deny list.

ESLint and Prettier (--experimental-cli) were run on the changed files,
and the new block was exercised through ESLint's API against the real
eslint.config.js. The scripts/tests vitest suites were not run locally.

Refs #10908
2026-09-14 04:49:03 +00:00
..
no-config-object-create.js refactor(core): centralize worktree config derivation (#9915) 2026-08-27 12:28:08 +00:00
no-core-root-barrel-import.js ci(lint): stop new cli imports from the core package root (#11798) 2026-09-14 04:49:03 +00:00
no-core-utils-upward-import.js perf(cli): import core modules directly instead of the package root (#10957) 2026-09-06 11:21:50 +00:00
no-relative-cross-package-imports.js pre-release commit 2025-07-22 23:26:01 +08:00
no-utils-upward-import.js refactor(cli): enforce utils leaf-layer dependency direction (#9146) (#9737) 2026-08-23 14:41:49 +00:00