RFC: Never remove detection of outdated config keys (Config Lifecycle Management)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript, nodejs
- Lĩnh vực
- cli
Hướng nghiên cứu
No repository files or tests are named. Start by locating npm's existing unknown-config-key warning and reviewing the proposed protocol and reference library; done would require an agreed catalog schema, lifecycle behavior, warning semantics, and a maintainer-approved implementation plan.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
npm currently warns about unknown user config keys and says that support will stop in a future major version. That path ends with silent mystery debt: old projects keep the key, future npm stops mentioning it, and people copy unexplained lines into new files.
Please treat outdated config keys as a forever-detectable catalog problem—not something to delete from recognition.
Proposal: Config Lifecycle Management
Keep a shipped, machine-readable key index for every config key npm has ever recognized. Keys move through statuses; they are never removed from the index:
| Status | Behavior |
|---|---|
active |
Accept and document |
deprecated |
Accept; always warn with successor + timeline |
expired |
Do not apply the value; always detect and alert: expired after version X; ignored; migration path |
unknown |
Present in a scanned file but absent from the catalog — warn (typo / foreign tool / catalog gap) |
Non-negotiable: expired ≠ forgotten. Stopping detection after a major version is the failure mode.
Why this matters
- Old
.npmrc/ project config keeps outdated keys for years (archives, corporate templates, copied gists). - If npm stops warning, the key becomes unexplained folklore.
- Humans and AI agents then have to archaeology the meaning; careful users research, others copy blindly.
- npm already pays the cost of scanning config; preserving catalog rows is cheap compared to ecosystem confusion.
Concrete ask
- Never remove a known key from npm’s recognition/alert path. Change status instead.
- Ship a versioned config-keys index (JSON is fine) with releases and docs.
- Alerts must distinguish deprecated vs expired vs unknown, and for expired keys name the version boundary (e.g.
expired after [email protected]; value ignored). - Prefer one internal module for classify → match → alert so warnings stay consistent.
Prior art / reference
OpenShellOrg drafted this as a CLI config lifecycle protocol and a small reference library:
- Protocol: https://github.com/openshellorg/docs (page: Config Lifecycle Management / SOS mandatory protocols)
- Published docs: https://docs.opensh.org/open-shell-org/standard-config-lifecycle-management.html
- Reference library: https://github.com/openshellorg/config-lifecycle
- Practitioner write-up: https://docs.devcentr.org/general-knowledge/explanation/architecture/config-lifecycle-management/
Happy to refine the index schema with maintainers. The goal is explainability that outlives any single major version.
Originally filed under the name Config Key Sanitation; renamed to Config Lifecycle Management on 2026-09-26. Old links redirect.
- Ngôn ngữ chính
- JavaScript
- Star
- 10.1k
- Fork
- 4.7k
- Merge trung bình
- 3 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 9
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của npm/cli
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Engineering
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
`npm audit signatures` does not report how many packages it skipped for want of registry keysĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Bug Needs Triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[DOCS] `npm trust circle` docs should warn that OIDC token exchange in SSH reruns isn't supportedĐang mởDocumentation Needs Triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Design only Leadership Survey SLFS
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
bcgov/digital-journeys#2293 ·
-
Toolkit
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
API Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
ProjectSidewalk/SidewalkWebpage#5556 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
jessepollak/home#1454 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Mend: dependency security vulnerability untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
opensearch-project/OpenSearch-Dashboards#12822 ·
Maintainer thường phản hồi trong vòng 1 ngày