Giao diện
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-eslintvàglobalslên các bản hỗ trợ ESLint 10. - Đổi peer dependency của
@tasco/eslint-configthànheslint: ^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:recommendedmớ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/clivà app do CLI scaffold. - Do các package
@tasco/*fixed version, phát hành theo major lockstep và cần Migration Guide.