Files
recipe-app/.kilo/plans/1779643125894-lucky-island.md
T
Nils-Johan Gynther e6e9e11b18
Test Suite / backend-pr-quick (push) Has been skipped
Test Suite / quick-import-pr-quick (push) Has been skipped
Test Suite / backend-full (push) Successful in 2m40s
Test Suite / flutter-quality (push) Failing after 1m9s
chore(deps): enforce npm package release age policy
- Added `min-release-age=1` to backend/.npmrc to require packages to be at least 1 day old
- GitHub Actions backend jobs already use `npm ci` in backend/ directory, automatically enforcing the policy
- Updated README.md with supply-chain protection policy and operational procedures

BREAKING CHANGE: npm install/npm ci will now fail for packages younger than 1 day unless policy is temporarily overridden
2026-05-24 19:40:48 +02:00

2.4 KiB

Plan: Konfigurera minimiålder för paketrelease

Mål

Införa en "cooldown" för npm-paket så att mycket nyligen publicerade versioner blockeras vid installation i projektet.

Nuläge (verifierat)

  • Projektet använder npm (lockfile finns i backend/package-lock.json och .kilo/package-lock.json).
  • Backend installeras i CI med npm ci i .github/workflows/test.yml.
  • Ingen befintlig .npmrc i repo-roten eller i backend/.
  • Ingen Renovate/Dependabot-konfiguration hittades i repot.

Föreslagen implementation

  1. Sätt projektpolicy i backend

    • Skapa backend/.npmrc med:
      • min-release-age=1
    • Motivering: backend är den körda Node-applikationen och har tydlig CI-kedja med npm ci.
  2. (Valfritt) Sätt policy för Kilo-verktygsmappen

    • Om .kilo/ installeras/uppdateras aktivt i detta repo, skapa även .kilo/.npmrc med samma värde.
    • Om .kilo/ är sekundär och inte del av normal drift kan detta utelämnas.
  3. CI-effekt (ingen workflow-ändring krävs)

    • npm ci i GitHub Actions kommer automatiskt respektera backend/.npmrc.
    • Ingen ändring av .github/workflows/test.yml behövs för grundfunktionen.
  4. Dokumentera kort i befintlig drift-/utvecklingsdokumentation

    • Lägg 2-4 rader där dependency-policy redan beskrivs (om sådan sektion finns).
    • Innehåll: syfte, värde (1 dag), och hur man tillfälligt hanterar blockerade uppgraderingar.
  5. Verifiering

    • Lokalt i backend/:
      • npm config get min-release-age (ska visa 1 med projektconfig aktiv)
      • npm ci (ska fungera normalt)
    • CI:
      • Bekräfta att befintligt workflow passerar utan regressionsfel.

Risker och hantering

  • Risk: Legitima hotfix-versioner blir tillfälligt blockerade (<24h gamla).
    • Hantering: vänta in cooldown eller använd tillfällig manuell policyjustering i kontrollerad incident.
  • Risk: Inkonsistent policy om flera npm-delprojekt hanteras olika.
    • Hantering: besluta explicit om .kilo/ ska omfattas.

Rekommenderade standardval

  • Minimiålder: 1 dag (min-release-age=1) nu.
  • Scope: backend först; utöka till .kilo/ endast om den mappen används aktivt i teamets vardagsflöde.

Acceptanskriterier

  • backend/.npmrc finns med min-release-age=1.
  • npm ci i backend fungerar lokalt.
  • CI-jobben som kör backend-installation fortsätter passera.
  • (Om valt) .kilo/.npmrc följer samma policy.