Skip to content

RFC 0001: Nâng ESLint lên 10

  • Trạng thái: Accepted
  • Người đề xuất: Core team
  • Ngày: 2026-09-05

Bối cảnh & vấn đề

@tasco/eslint-config đang khóa peer dependency ở ESLint 9. ESLint 10 bỏ hỗ trợ Node dưới 20.19 và ESLint 9, đồng thời cập nhật eslint:recommended. Core cần nâng đồng bộ để package cấu hình và app scaffold không kéo lại phiên bản cũ.

Đề xuất

  • Nâng eslint, @eslint/js, eslint-plugin-vue, vue-eslint-parser, typescript-eslintglobals lên các bản hỗ trợ ESLint 10.
  • Đổi peer dependency của @tasco/eslint-config thành eslint: ^10.0.0.
  • Đổi Node tối thiểu của workspace và app scaffold thành >=20.19.0.
  • Sửa các lỗi từ eslint:recommended mới; không tắt hàng loạt rule để giữ hành vi ESLint 9.
  • Thêm smoke test cho exported flat config, Vue parser và rule cấm import trực tiếp ant-design-vue.

Phương án thay thế

  • Giữ peer ^9 || ^10: giảm ma sát cho consumer nhưng kéo dài chi phí tương thích và không đạt mục tiêu bỏ ESLint 9.
  • Giữ ESLint 9: tránh breaking change ngắn hạn nhưng bỏ lỡ bản được hỗ trợ hiện tại.

Ảnh hưởng

  • Breaking: consumer phải dùng Node >=20.19.0 và ESLint 10.
  • Package ảnh hưởng trực tiếp: @tasco/eslint-config, @tasco/cli và app do CLI scaffold.
  • Do các package @tasco/* fixed version, phát hành theo major lockstep và cần Migration Guide.