Optional example: portable inverse-patch regression fixtures

Offen
#1,347 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 4 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
javascript
Bereich
testing

Rechercherichtung

The proposal links an external adapter and replay example at interaction-check/adapters/javascript/README.md and describes 12 passing steps for Immer 11.2.9. Read that example and the native Immer tests to understand the scenarios and how native tests serve as the reference. The proposal asks for feedback on sharing small reproducers, so first determine whether the project wants this example; no project files or acceptance criteria are named.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Proposal

I built an external adapter and replay example for small, shareable regression traces. Three scenarios exercise immer 11.2.9 produceWithPatches/applyPatches: array removal/inverse replay, Unicode values, no-op identity and structural sharing. All 12 steps pass.

Motivation

A fixed sequence and expected state can make a patch bug report easier to reproduce without writing a new harness. Native tests remain the reference.

Can this be solved in user-land code?

Yes. The adapter retains one patch pair; it is not an undo-stack or patch-rebasing implementation. I maintain the experimental interaction-check runner. The example uses pinned stable packages, stays outside the project and adds no runtime dependency. Feedback on whether this helps share small reproducers is welcome. This is not a request for a new Immer API.

Vorherrschende Sprache
JavaScript
Sterne
29k
Forks
905
Ø Merge
3 T. 16 Std.
Gemergte PRs (30 T.)
22

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus immerjs/immer

Alle Issues in immerjs/immer

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.