Thư viện React được quản trị
Policy 5.0.0 của NKLattice giữ các gói framework bắt buộc trong profiles và bổ sung managedPackages cho thư viện thường dùng trong hệ React. Đây là rule có điều kiện: app không phải cài toàn bộ danh mục. Nếu manifest khai báo hoặc mã nguồn import một gói trong danh mục, app đó phải khai báo trực tiếp; range được phép và bản khóa phải đạt ngưỡng. Chỉ khai báo ở workspace root không đủ cho app đang import.
| Mục đích | Gói và ngưỡng tối thiểu đã duyệt |
|---|---|
| Điều hướng | react-router >=7.0.0, react-router-dom >=7.0.0 |
| Dữ liệu máy chủ | @tanstack/react-query >=5.0.0 |
| Trạng thái giao diện | zustand >=5.0.0, @reduxjs/toolkit >=2.0.0, react-redux >=9.0.0 |
| Biểu mẫu và xác thực dữ liệu | react-hook-form >=7.0.0, zod >=4.0.0 |
| Giao diện | tailwindcss >=4.0.0, @tailwindcss/vite >=4.0.0 |
| HTTP | axios >=1.0.0 |
Các ngưỡng này do sản phẩm lựa chọn sau khi xem metadata npm công khai và tài liệu của nhà phát triển ngày 18/10/2026; chúng không phải quy định pháp luật Việt Nam và không yêu cầu team bổ sung gói không dùng. Tham khảo tài liệu React Router, TanStack Query, Zustand, Redux Toolkit, Zod, React Hook Form và Tailwind CSS. Ngưỡng >= không đảm bảo mọi bản major tương lai tương thích; cần test và review PR nâng cấp.
Rule được áp dụng thế nào
Phần tiêu đề “Rule được áp dụng thế nào”NKLattice đọc dependencies, devDependencies, optionalDependencies của từng app và tìm import trong source JS/TS được hỗ trợ. Với gói thuộc danh mục đang được khai báo hoặc import, toàn bộ range manifest phải nằm trong range >= được duyệt. Importer npm/pnpm phải khớp khai báo, bản khóa phải thỏa cả hai range. Nếu app import gói nhưng chỉ có dependency ở workspace root, gate báo required manifest declaration missing.
Ví dụ, zod: "^4.0.0" với lockfile khóa 4.0.1 đạt ngưỡng >=4.0.0; zod: "^3.25.0" không đạt dù cơ chế hoist khiến app thấy bản 4 lúc cài. Bộ quét nhận import tĩnh, re-export, import() và require() có chuỗi cố định. Import động không cố định hoặc tệp ngoài phạm vi JS/TS không chứng minh việc sử dụng gói. Miền bảo mật dependency vẫn kiểm advisory đã biết riêng.
Đội quản trị có thể sửa managedPackages trong policy trung tâm. Hãy duyệt ngưỡng với chủ app, cập nhật manifest và lockfile, chạy đầy đủ governance rồi nâng SHA core đã pin ở các repo sử dụng. Sửa policy không tự cập nhật repo đã pin.