Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

test: add a black-box architecture violation and repair proof

Chiusa
#35 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
49/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript, node.js, playwright, react, typescript, vite

Direzione di ricerca

Read the existing unit and integration tests, generator entry point, public CLI commands, and CI workflows to see how the project creates and validates a clean JST project. Build the proof in a temporary project, covering the two named violation families and asserting their stable diagnostic codes, reasons, repairs, and documentation links. Run npm run check and npm run test:e2e; done means the repaired project passes npm run validate and the proof cleans up temporary output on both success and failure.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement help wanted javascript

Problem

JST has unit and integration coverage for individual rules, generators, SSR, and browser behavior, but it lacks one black-box proof of the complete user loop:

clean project
→ canonical generated slice
→ real architecture violation
→ actionable failure
→ repair
→ green project

Without this contract, a rule, generator, documentation example, or normal validation command can remain green independently while the promised end-to-end repair path is broken.

Scope

Add an executable proof that works against a temporary clean project and uses the same public commands documented for users.

The proof must:

  1. create a temporary clean JST project;
  2. run the real slice generator;
  3. verify the generated project is initially green;
  4. introduce a private cross-slice import violation;
  5. introduce an external-effect-in-view violation;
  6. run the normal validation command and assert actionable diagnostics;
  7. apply the documented repairs;
  8. verify the project returns to green.

Acceptance criteria

  • The proof invokes public CLI/generator entry points rather than imported test-only internals.
  • It verifies at least two independent violation families.
  • The negative phase exits non-zero for the expected stable diagnostic codes.
  • Diagnostics include a reason, repair, and stable documentation link.
  • The repaired project passes npm run validate.
  • Temporary output is removed after both success and failure.
  • The proof performs no network access after dependencies are installed.
  • It runs on Linux, macOS, and Windows in CI.
  • Failure artifacts contain the command log and final diff, but not node_modules.
  • The user-facing proof command completes within five minutes on the supported CI runners.
  • npm run check and npm run test:e2e remain green.

Dependency

Blocked by jst-stack/eslint-plugin#8. Do not bind this proof to complete human-readable error strings.

Design constraints

  • Keep the harness outside application layers.
  • Do not add production exports for the test.
  • Keep fixtures minimal: they exist to prove the repair loop, not to become another showcase.

Out of scope

  • Marketing copy, video, or GIF production.
  • Artificially weakening the policy to simplify the demonstration.
  • Testing every JST diagnostic; the conformance corpus owns exhaustive coverage.

Validation

npm ci
npm run check
npx playwright install chromium
npm run test:e2e
Lingua principale
JavaScript
Stelle
1
Fork
0
Merge medio
15h 8m
PR unite (30g)
18

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.