fe:lint hết giờ 1h ở job 26386 (MR !128 (merged)), cùng !126 (merged)/!127 (merged); khi pass cũng mất 6–50 phút.
Nguyên nhân: profile CPU cho thấy ~113s/150s nằm trong childContext của eslint-plugin-import 2.31.0. Hàm này JSON.stringify toàn bộ languageOptions của flat config (gồm cả source của parser) mỗi lần import/no-cycle tra một module. Bản 2.32.0 vẫn giữ code này.
Sửa: thêm pnpm patch, bỏ qua bước serialize lại khi reference của settings/languageOptions không đổi.
Kiểm chứng:
- Output ESLint trước và sau giống hệt: 31 message, kể cả một vòng import cài thử vẫn bị bắt.
-
pnpm lintlocal giảm từ 2m34s xuống ~33s. -
pnpm install --frozen-lockfilechạy OK. - Opus gate: PASS ở vòng 1.