@juxtapose/core 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/handoff.d.ts +19 -1
- package/dist/agent/handoff.js +54 -2
- package/dist/agent/handoff.js.map +1 -1
- package/dist/analysis/affected.d.ts +17 -0
- package/dist/analysis/affected.js +34 -0
- package/dist/analysis/affected.js.map +1 -1
- package/dist/browser/flags.d.ts +14 -0
- package/dist/browser/flags.js +15 -0
- package/dist/browser/flags.js.map +1 -1
- package/dist/browser/page.d.ts +19 -1
- package/dist/browser/page.js +16 -3
- package/dist/browser/page.js.map +1 -1
- package/dist/capture/capture.d.ts +10 -1
- package/dist/capture/capture.js +121 -16
- package/dist/capture/capture.js.map +1 -1
- package/dist/capture/config-errors.d.ts +10 -0
- package/dist/capture/config-errors.js +20 -0
- package/dist/capture/config-errors.js.map +1 -0
- package/dist/capture/discover.d.ts +28 -0
- package/dist/capture/discover.js +109 -0
- package/dist/capture/discover.js.map +1 -0
- package/dist/capture/idle.d.ts +88 -0
- package/dist/capture/idle.js +545 -0
- package/dist/capture/idle.js.map +1 -0
- package/dist/capture/pool.d.ts +8 -0
- package/dist/capture/pool.js +2 -0
- package/dist/capture/pool.js.map +1 -1
- package/dist/capture/settle-options.d.ts +78 -0
- package/dist/capture/settle-options.js +234 -0
- package/dist/capture/settle-options.js.map +1 -0
- package/dist/capture/settle.d.ts +0 -18
- package/dist/capture/settle.js +7 -100
- package/dist/capture/settle.js.map +1 -1
- package/dist/capture/snap.d.ts +3 -0
- package/dist/capture/snap.js +7 -1
- package/dist/capture/snap.js.map +1 -1
- package/dist/capture/variants.d.ts +44 -0
- package/dist/capture/variants.js +204 -0
- package/dist/capture/variants.js.map +1 -0
- package/dist/diff/structural/deltas.d.ts +2 -3
- package/dist/diff/structural/deltas.js +3 -3
- package/dist/diff/structural/deltas.js.map +1 -1
- package/dist/diff/structural.d.ts +4 -1
- package/dist/diff/structural.js +3 -0
- package/dist/diff/structural.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/platform.d.ts +20 -0
- package/dist/platforms/urls.js +5 -1
- package/dist/platforms/urls.js.map +1 -1
- package/dist/report/comment.js +19 -8
- package/dist/report/comment.js.map +1 -1
- package/dist/report/format.d.ts +17 -0
- package/dist/report/format.js +16 -0
- package/dist/report/format.js.map +1 -1
- package/dist/report/html.js +40 -6
- package/dist/report/html.js.map +1 -1
- package/dist/run/run.d.ts +6 -0
- package/dist/run/run.js +32 -0
- package/dist/run/run.js.map +1 -1
- package/dist/types.d.ts +107 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/report/comment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"comment.js","sourceRoot":"","sources":["../../src/report/comment.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,8BAA8B;AAC9B,EAAE;AACF,2EAA2E;AAC3E,EAAE;AACF,wEAAwE;AACxE,6EAA6E;AAC7E,yEAAyE;AACzE,sEAAsE;AACtE,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AAGxE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAUvD;oEACoE;AACpE,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,yEAAyE;AACzE,SAAS,QAAQ,CAAC,MAAiB;IACjC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CACzE,CAAC;AACJ,CAAC;AAED;+EAC+E;AAC/E,MAAM,OAAO,GAAG,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAEnE,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,EAAkB;IAClE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAa,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAE7C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEvC,2EAA2E;IAC3E,mEAAmE;IACnE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CACR,sEAAsE;YACpE,6EAA6E,EAC/E,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,+CAA+C;IAC/C,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAEpD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAExC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,WAAW,CAAC,OAAqB;IACxC,MAAM,IAAI,GAAG,CAAC,CAAa,EAAE,EAAE;QAC7B,IAAI,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QAChC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;YACpD,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,IAAkB;IACjC,uEAAuE;IACvE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAClC,MAAM,IAAI,GACR,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,yEAAyE;IACzE,8EAA8E;IAC9E,kEAAkE;IAClE,EAAE;IACF,0EAA0E;IAC1E,yCAAyC;IACzC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,qBAAqB,CAAC;IACjF,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;QAC5C,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,8CAA8C,CAAC;IAClH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;IACxD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IACjE,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,SAAS,GACb,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;IAEzE,yEAAyE;IACzE,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,kBAAkB,KAAK,CAAC,MAAM,aAAa,SAAS,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,OAAO,GAAG,IAAI,IAAI,IAAI,aAAa,MAAM,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,KAAK,CAAC,IAAkB;IAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IACrC,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAC9D,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,OAAO;QACP,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC5B,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;KAC9B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAEzC,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG;YACZ,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;YAC9B,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;YAChE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;SAC9B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,4EAA4E;QAC5E,2EAA2E;QAC3E,gEAAgE;QAChE,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,0EAA0E;QAC1E,0DAA0D;QAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,OAAO,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CAAC,IAAkB;IAClC,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,8CAA8C,CAAC,CAAC,CAAC;IAElF,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,CAAC;IACpF,IAAI,kBAAkB,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CACN,QAAQ,CACN,eAAe,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,EACvD,+CAA+C,CAChD,CACF,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,2EAA2E;IAC3E,aAAa;IACb,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9C,GAAG,CAAC,IAAI,CACN,UAAU;QACR,CAAC,CAAC,QAAQ,CAAC,mBAAmB,EAAE,cAAc,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,CAAC,CAAC,mBAAmB,CACxB,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,QAAQ,CAAC,OAAe,EAAE,IAAY;IAC7C,OAAO,OAAO,CAAC,MAAM,GAAG,cAAc;QACpC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,IAAkB;IAClC,MAAM,GAAG,GAAG,CAAC,CAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CACR,4EAA4E;YAC1E,4EAA4E,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CACR,6EAA6E;YAC3E,mBAAmB,CACtB,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CACR,+EAA+E;YAC7E,wCAAwC,CAC3C,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACR,kFAAkF;YAChF,+EAA+E;YAC/E,uDAAuD,CAC1D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,mFAAmF;QACjF,mCAAmC,CACtC,CAAC;IACF,KAAK,CAAC,IAAI,CACR,gFAAgF;QAC9E,2DAA2D,CAC9D,CAAC;IAEF,OAAO;QACL,iEAAiE;QACjE,EAAE;QACF,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,YAAY;QACZ,EAAE;KACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAiB;IACpC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,8EAA8E;IAC9E,oCAAoC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC;IAC1D,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,QAAQ;YACnB,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,uBAAuB,EAAE,sBAAsB,CAAC,qBAAqB,MAAM,GAAG;YACjG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,qBAAqB,MAAM,GAAG,CAAC;QACxF,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,wBAAwB,EAAE,wBAAwB,CAAC,mBAAmB;QACzF,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC,mBAAmB,CAAC;IAC1E,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,SAAS,MAAM,CAAC,CAAa;IAC3B,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClC,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,eAAe,CAAC;IAC/C,6EAA6E;IAC7E,sCAAsC;IACtC,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,kBAAkB,CAAC;IACpD,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,KAAK,GAAG;QACZ,cAAc,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI;KAC9C,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,CAAa;IAC/B,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/C,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChD,CAAC;IACF,MAAM,CAAC,GAAa,CAAC,CAAC,QAAQ,CAAC;IAC/B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,MAAM,QAAQ,GACZ,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5E,MAAM,UAAU,GACd,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1E,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,UAAU,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,MAAM,CAAC,MAAiB,EAAE,WAAoB;IACrD,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,QAAQ,GACZ,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU;QACtC,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,OAAO,MAAM,CAAC,UAAU,6BAA6B;QAC9E,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,WAAW,CAAC;IAE9D,MAAM,KAAK,GAAG;QACZ,KAAK,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI;QACrC,QAAQ;QACR,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;KAC5C,CAAC;IACF,MAAM,IAAI,GAAG,oBAAoB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC3D,6EAA6E;IAC7E,wEAAwE;IACxE,OAAO,WAAW;QAChB,CAAC,CAAC,GAAG,IAAI,uDAAuD,WAAW,SAAS;QACpF,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,KAAK,CAAC,CAAS,EAAE,GAAW,EAAE,IAAY;IACjD,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC"}
|
package/dist/report/format.d.ts
CHANGED
|
@@ -18,3 +18,20 @@ export declare function isSubThreshold(r: {
|
|
|
18
18
|
}): boolean;
|
|
19
19
|
/** A failing story's magnitude, in words that stay true for sub-threshold changes. */
|
|
20
20
|
export declare function describeMagnitude(r: Parameters<typeof isSubThreshold>[0]): string;
|
|
21
|
+
/** The fields a capture's label is made of. Structural so the addon can use
|
|
22
|
+
* it on what it fetched without importing core's types. */
|
|
23
|
+
export interface CaptureRef {
|
|
24
|
+
storyId: string;
|
|
25
|
+
baseStoryId?: string;
|
|
26
|
+
variant?: string;
|
|
27
|
+
}
|
|
28
|
+
/** `button--primary · dark` for a variant, the bare id for a default capture. */
|
|
29
|
+
export declare function captureLabel(r: CaptureRef): string;
|
|
30
|
+
/** How many distinct stories a set of captures covers. */
|
|
31
|
+
export declare function countStories(results: readonly CaptureRef[]): number;
|
|
32
|
+
/** Whether any of these captures is a variant: the cue to say "captures"
|
|
33
|
+
* rather than "stories", so output without variants reads as it always has. */
|
|
34
|
+
export declare const hasVariants: (results: readonly CaptureRef[]) => boolean;
|
|
35
|
+
/** Byte-identical output across machines needs a locale-free order;
|
|
36
|
+
* `localeCompare` is not one. */
|
|
37
|
+
export declare const compareCodeUnits: (a: string, b: string) => number;
|
package/dist/report/format.js
CHANGED
|
@@ -29,4 +29,20 @@ export function describeMagnitude(r) {
|
|
|
29
29
|
? 'subtle change, diff marks no pixels'
|
|
30
30
|
: `${formatPercent(r.mismatchPercent)} changed`;
|
|
31
31
|
}
|
|
32
|
+
/** `button--primary · dark` for a variant, the bare id for a default capture. */
|
|
33
|
+
export function captureLabel(r) {
|
|
34
|
+
return r.variant !== undefined && r.baseStoryId !== undefined
|
|
35
|
+
? `${r.baseStoryId} · ${r.variant}`
|
|
36
|
+
: r.storyId;
|
|
37
|
+
}
|
|
38
|
+
/** How many distinct stories a set of captures covers. */
|
|
39
|
+
export function countStories(results) {
|
|
40
|
+
return new Set(results.map((r) => r.baseStoryId ?? r.storyId)).size;
|
|
41
|
+
}
|
|
42
|
+
/** Whether any of these captures is a variant: the cue to say "captures"
|
|
43
|
+
* rather than "stories", so output without variants reads as it always has. */
|
|
44
|
+
export const hasVariants = (results) => results.some((r) => r.variant !== undefined);
|
|
45
|
+
/** Byte-identical output across machines needs a locale-free order;
|
|
46
|
+
* `localeCompare` is not one. */
|
|
47
|
+
export const compareCodeUnits = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
32
48
|
//# sourceMappingURL=format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/report/format.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAE5E,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,CAI9B;IACC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,CAAuC;IACvE,OAAO,cAAc,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/report/format.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAE5E,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,CAI9B;IACC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,CAAuC;IACvE,OAAO,cAAc,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;AACpD,CAAC;AAUD,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,CAAa;IACxC,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAC3D,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,OAAO,EAAE;QACnC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAChB,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,YAAY,CAAC,OAA8B;IACzD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED;gFACgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAA8B,EAAW,EAAE,CACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;AAE/C;kCACkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAC/D,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/report/html.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// This complements rather than duplicates the addon panel. The panel is for
|
|
9
9
|
// local review with a dev server running; this is for a reviewer looking at a
|
|
10
10
|
// pull request who has checked nothing out.
|
|
11
|
-
import { describeMagnitude } from './format.js';
|
|
11
|
+
import { captureLabel, describeMagnitude } from './format.js';
|
|
12
12
|
export function buildHtmlReport({ report, images }) {
|
|
13
13
|
const needsReview = report.results.filter((r) => r.status === 'fail' || r.status === 'new' || r.status === 'stale');
|
|
14
14
|
const s = report.summary;
|
|
@@ -37,7 +37,9 @@ export function buildHtmlReport({ report, images }) {
|
|
|
37
37
|
|
|
38
38
|
${needsReview.length === 0
|
|
39
39
|
? `<p class="empty">Every captured story matches its approved baseline.</p>`
|
|
40
|
-
: needsReview
|
|
40
|
+
: groupByStory(needsReview)
|
|
41
|
+
.map((group) => storyGroup(group, images))
|
|
42
|
+
.join('\n')}
|
|
41
43
|
|
|
42
44
|
<script>${SCRIPT}</script>
|
|
43
45
|
`;
|
|
@@ -45,7 +47,35 @@ ${needsReview.length === 0
|
|
|
45
47
|
function stat(label, value, tone = '') {
|
|
46
48
|
return `<div class="${tone}"><dt>${label}</dt><dd>${value}</dd></div>`;
|
|
47
49
|
}
|
|
48
|
-
|
|
50
|
+
/** Captures grouped by story, in first-seen order: a story's variants nest
|
|
51
|
+
* under it rather than reading as unrelated stories. */
|
|
52
|
+
function groupByStory(results) {
|
|
53
|
+
const groups = new Map();
|
|
54
|
+
for (const r of results) {
|
|
55
|
+
const key = r.baseStoryId ?? r.storyId;
|
|
56
|
+
const group = groups.get(key);
|
|
57
|
+
if (group)
|
|
58
|
+
group.push(r);
|
|
59
|
+
else
|
|
60
|
+
groups.set(key, [r]);
|
|
61
|
+
}
|
|
62
|
+
return [...groups.values()];
|
|
63
|
+
}
|
|
64
|
+
function storyGroup(group, images) {
|
|
65
|
+
const [first] = group;
|
|
66
|
+
// A lone default capture renders exactly as before variants existed.
|
|
67
|
+
if (group.length === 1 && first && first.variant === undefined)
|
|
68
|
+
return storySection(first, images.get(first.storyId), 'h2', first.storyId);
|
|
69
|
+
const story = first?.baseStoryId ?? first?.storyId ?? '';
|
|
70
|
+
return `
|
|
71
|
+
<article class="story">
|
|
72
|
+
<h2>${escapeHtml(story)}</h2>
|
|
73
|
+
${group
|
|
74
|
+
.map((r) => storySection(r, images.get(r.storyId), 'h3', r.variant ?? 'default', captureLabel(r)))
|
|
75
|
+
.join('\n')}
|
|
76
|
+
</article>`;
|
|
77
|
+
}
|
|
78
|
+
function storySection(result, imgs, level, label, title = label) {
|
|
49
79
|
const baseline = dataUri(imgs?.baseline);
|
|
50
80
|
const current = dataUri(imgs?.current);
|
|
51
81
|
const diff = dataUri(imgs?.diff);
|
|
@@ -55,11 +85,11 @@ function storySection(result, imgs) {
|
|
|
55
85
|
const comparable = Boolean(baseline && current);
|
|
56
86
|
return `
|
|
57
87
|
<section>
|
|
58
|
-
|
|
88
|
+
<${level}${level === 'h3' ? ` title="${escapeHtml(title)}"` : ''}>
|
|
59
89
|
<span class="badge ${result.status}">${statusLabel(result.status)}</span>
|
|
60
|
-
${escapeHtml(
|
|
90
|
+
${escapeHtml(label)}
|
|
61
91
|
${result.status === 'fail' ? `<span class="pct">${escapeHtml(describeMagnitude(result))}</span>` : ''}
|
|
62
|
-
|
|
92
|
+
</${level}>
|
|
63
93
|
${result.error ? `<p class="error">${escapeHtml(result.error)}</p>` : ''}
|
|
64
94
|
${comparable
|
|
65
95
|
? `
|
|
@@ -143,6 +173,10 @@ dl .bad dd { color: var(--bad); } dl .warn dd { color: var(--warn); }
|
|
|
143
173
|
.meta { color: var(--muted); font-size: 13px; margin: 0 0 28px; }
|
|
144
174
|
.empty { color: var(--muted); }
|
|
145
175
|
section { border-top: 1px solid var(--line); padding: 20px 0; }
|
|
176
|
+
article.story { border-top: 1px solid var(--line); padding-top: 20px; }
|
|
177
|
+
article.story > h2 { margin-bottom: 4px; }
|
|
178
|
+
article.story section { border-top: none; padding: 12px 0 12px 16px; border-left: 2px solid var(--line); }
|
|
179
|
+
h3 { font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }
|
|
146
180
|
h2 { font-size: 15px; font-weight: 600; display: flex; align-items: center;
|
|
147
181
|
gap: 10px; margin: 0 0 12px; }
|
|
148
182
|
.badge { font-size: 11px; text-transform: uppercase; letter-spacing: .04em;
|
package/dist/report/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,uEAAuE;AACvE,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,4CAA4C;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"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"}
|
package/dist/run/run.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { BaselineStore, DiffStatus, ProjectConfig, RunReport, StoryManifest
|
|
|
4
4
|
import { type AncestryCheck } from '../baseline/status.js';
|
|
5
5
|
import { type Phases } from './phases.js';
|
|
6
6
|
import type { CauseIndex } from '../analysis/cause.js';
|
|
7
|
+
import { type SettleLayer } from '../capture/settle-options.js';
|
|
7
8
|
export declare const DEFAULT_VIEWPORT: Viewport;
|
|
8
9
|
export interface RunOptions {
|
|
9
10
|
browser: Browser;
|
|
@@ -21,12 +22,17 @@ export interface RunOptions {
|
|
|
21
22
|
/** Receives each story's images so the caller decides where they land. */
|
|
22
23
|
onArtifact?: (artifact: RunArtifact) => Promise<void>;
|
|
23
24
|
onProgress?: (done: number, total: number, storyId: string) => void;
|
|
25
|
+
/** Non-fatal capture notices; the caller decides where they go. */
|
|
26
|
+
onWarning?: (message: string) => void;
|
|
24
27
|
signal?: AbortSignal;
|
|
25
28
|
/** Collects per-phase wall time. Pass one to fold in phases the caller timed
|
|
26
29
|
* itself (enumerate, affected, launch); omit and one is made internally. */
|
|
27
30
|
phases?: Phases;
|
|
28
31
|
/** From `jux run --since`: consulted only for a story that failed. */
|
|
29
32
|
cause?: CauseIndex;
|
|
33
|
+
/** Per-call settle options (CLI flags, MCP arguments), layered over every
|
|
34
|
+
* story's own. The project's come from `config`. */
|
|
35
|
+
settle?: SettleLayer;
|
|
30
36
|
}
|
|
31
37
|
export interface RunArtifact {
|
|
32
38
|
storyId: string;
|
package/dist/run/run.js
CHANGED
|
@@ -14,6 +14,7 @@ import { computeGroups } from './groups.js';
|
|
|
14
14
|
import { diffImages, resolveThreshold, resolveMinDiffPercent, } from '../diff/diff.js';
|
|
15
15
|
import { phases } from './phases.js';
|
|
16
16
|
import { shellQuote } from '../shell-quote.js';
|
|
17
|
+
import { settleFlag } from '../capture/settle-options.js';
|
|
17
18
|
export const DEFAULT_VIEWPORT = { width: 1280, height: 800 };
|
|
18
19
|
export async function runCapture(opts) {
|
|
19
20
|
const startedAt = new Date();
|
|
@@ -30,6 +31,17 @@ export async function runCapture(opts) {
|
|
|
30
31
|
warmSwitch: opts.config?.warmSwitch,
|
|
31
32
|
viewport,
|
|
32
33
|
onProgress: opts.onProgress,
|
|
34
|
+
...(opts.onWarning ? { onWarning: opts.onWarning } : {}),
|
|
35
|
+
settleLayers: {
|
|
36
|
+
project: {
|
|
37
|
+
...(opts.config?.settle ? { settle: opts.config.settle } : {}),
|
|
38
|
+
...(opts.config?.waitForSelector !== undefined
|
|
39
|
+
? { waitForSelector: opts.config.waitForSelector }
|
|
40
|
+
: {}),
|
|
41
|
+
...(opts.config?.delay !== undefined ? { delay: opts.config.delay } : {}),
|
|
42
|
+
},
|
|
43
|
+
...(opts.settle ? { call: opts.settle } : {}),
|
|
44
|
+
},
|
|
33
45
|
signal: opts.signal,
|
|
34
46
|
});
|
|
35
47
|
// Capture is measured as the whole streamed loop rather than per story: the
|
|
@@ -40,6 +52,7 @@ export async function runCapture(opts) {
|
|
|
40
52
|
if (outcome.skipped) {
|
|
41
53
|
results.push({
|
|
42
54
|
storyId: outcome.story.storyId,
|
|
55
|
+
...variantOf(outcome.story),
|
|
43
56
|
status: 'skip',
|
|
44
57
|
mismatchPixels: 0,
|
|
45
58
|
mismatchPercent: 0,
|
|
@@ -51,6 +64,7 @@ export async function runCapture(opts) {
|
|
|
51
64
|
if (outcome.error || !outcome.snapshot) {
|
|
52
65
|
results.push({
|
|
53
66
|
storyId: outcome.story.storyId,
|
|
67
|
+
...variantOf(outcome.story),
|
|
54
68
|
status: 'fail',
|
|
55
69
|
mismatchPixels: 0,
|
|
56
70
|
mismatchPercent: 0,
|
|
@@ -93,6 +107,7 @@ async function judge(snapshot, story, manifest, opts, p) {
|
|
|
93
107
|
const status = toDiffStatus(baselineStatus);
|
|
94
108
|
const base = {
|
|
95
109
|
storyId: story.storyId,
|
|
110
|
+
...variantOf(story),
|
|
96
111
|
status,
|
|
97
112
|
mismatchPixels: 0,
|
|
98
113
|
mismatchPercent: 0,
|
|
@@ -101,6 +116,11 @@ async function judge(snapshot, story, manifest, opts, p) {
|
|
|
101
116
|
// with the regions means nobody downstream has to re-enumerate stories to
|
|
102
117
|
// find out what the coordinates are relative to.
|
|
103
118
|
viewport: snapshot.viewport,
|
|
119
|
+
// Never silent: a capture taken at the settle cap says so on every
|
|
120
|
+
// status, a pass included, with what was still pending.
|
|
121
|
+
...(snapshot.settle
|
|
122
|
+
? { flags: [settleFlag(snapshot.settle)], settle: snapshot.settle }
|
|
123
|
+
: {}),
|
|
104
124
|
durationMs: snapshot.durationMs,
|
|
105
125
|
};
|
|
106
126
|
// pass / new / stale need no pixel work: there is either nothing to explain
|
|
@@ -187,12 +207,24 @@ async function tryStructural(opts, story, snapshot, pixels, p) {
|
|
|
187
207
|
pixels,
|
|
188
208
|
escalate: { command: `jux handoff ${shellQuote(story.storyId)}` },
|
|
189
209
|
...(cause ? { cause } : {}),
|
|
210
|
+
...(snapshot.settle ? { settleFlag: settleFlag(snapshot.settle) } : {}),
|
|
190
211
|
});
|
|
191
212
|
}
|
|
192
213
|
catch {
|
|
193
214
|
return undefined;
|
|
194
215
|
}
|
|
195
216
|
}
|
|
217
|
+
/** The grouping fields a report needs, present only on a variant capture so
|
|
218
|
+
* a default capture's result serializes exactly as it did before variants. */
|
|
219
|
+
function variantOf(story) {
|
|
220
|
+
return story.variant !== undefined && story.baseStoryId !== undefined
|
|
221
|
+
? {
|
|
222
|
+
baseStoryId: story.baseStoryId,
|
|
223
|
+
variant: story.variant,
|
|
224
|
+
variantParams: story.variantParams ?? {},
|
|
225
|
+
}
|
|
226
|
+
: {};
|
|
227
|
+
}
|
|
196
228
|
function tally(results) {
|
|
197
229
|
const summary = {
|
|
198
230
|
pass: 0,
|
package/dist/run/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/run/run.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,2EAA2E;AAC3E,qEAAqE;AAGrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAc/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,UAAU,EAEV,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAe,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/run/run.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -27,12 +27,82 @@ export interface StoryParams {
|
|
|
27
27
|
* stories whose play function or delay makes a keystroke-triggered capture
|
|
28
28
|
* cost more than it returns. Default true. */
|
|
29
29
|
liveCapture?: boolean;
|
|
30
|
+
/** Named capture variants of this story: each is captured, judged and
|
|
31
|
+
* approved on its own under the key `${storyId}__${name}`. `false` opts
|
|
32
|
+
* this story out of a project-wide variant of that name. */
|
|
33
|
+
variants?: Record<string, VariantSpec | false>;
|
|
34
|
+
/** Set on a variant's resolved params; a variant-only field. The default
|
|
35
|
+
* capture is always light, so a story's own `colorScheme` is ignored. */
|
|
36
|
+
colorScheme?: ColorScheme;
|
|
37
|
+
/** How the capture decides the page has finished. Layered over the project
|
|
38
|
+
* config's `settle` and under per-call options. */
|
|
39
|
+
settle?: SettleParams;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The event-driven settle wait: the page is captured once it reports no
|
|
43
|
+
* pending timers, frames, messages, fonts or images and no counted request is
|
|
44
|
+
* in flight, or at `timeout`, whichever comes first.
|
|
45
|
+
*/
|
|
46
|
+
export interface SettleParams {
|
|
47
|
+
/** Hard cap on the wait, ms, 1 to 60000. Default 1500. At the cap the
|
|
48
|
+
* page is captured anyway and the result is flagged `settle-timeout`. */
|
|
49
|
+
timeout?: number;
|
|
50
|
+
/** Also wait for the page to call `window.__juxtapose.ready()`. */
|
|
51
|
+
ready?: boolean;
|
|
52
|
+
network?: {
|
|
53
|
+
/** Requests never counted as pending. Added to the defaults
|
|
54
|
+
* (`type:WebSocket`, `type:EventSource`, `type:Ping`, `type:Prefetch`). */
|
|
55
|
+
ignore?: string[];
|
|
56
|
+
/** Each pattern must see a matching request complete before the page
|
|
57
|
+
* counts as settled. Wins over `ignore`. */
|
|
58
|
+
require?: string[];
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/** Something about a capture that doesn't fail it but should be read.
|
|
62
|
+
* `settle-timeout`: the settle wait hit its cap. `settle-fallback`: the
|
|
63
|
+
* event-driven wait could not run and a weaker one stood in. */
|
|
64
|
+
export type CaptureFlag = 'settle-timeout' | 'settle-fallback';
|
|
65
|
+
/** Present on a capture whose settle wait hit its cap (`timeout`), or could
|
|
66
|
+
* not run as designed (`fallback`). */
|
|
67
|
+
export type SettleReport = {
|
|
68
|
+
status: 'timeout';
|
|
69
|
+
/** The cap that was hit, ms. */
|
|
70
|
+
timeoutMs: number;
|
|
71
|
+
/** What was still pending at the cap, one description per item, such
|
|
72
|
+
* as `1 request to /api/feed in flight (Fetch)`. Never empty. */
|
|
73
|
+
pending: string[];
|
|
74
|
+
} | {
|
|
75
|
+
status: 'fallback';
|
|
76
|
+
/** Why the event-driven wait could not run. Never empty. */
|
|
77
|
+
pending: string[];
|
|
78
|
+
};
|
|
79
|
+
export type ColorScheme = 'light' | 'dark';
|
|
80
|
+
/** One named variant: any per-story option, plus a color scheme and the name
|
|
81
|
+
* of another variant to start from. `skip` is not a field; set the variant to
|
|
82
|
+
* `false` to drop it. */
|
|
83
|
+
export interface VariantSpec extends Omit<StoryParams, 'skip' | 'variants' | 'liveCapture'> {
|
|
84
|
+
colorScheme?: ColorScheme;
|
|
85
|
+
/** Another variant (of this story or the project) whose fields this one
|
|
86
|
+
* starts from. Chains resolve; a cycle or unknown name is a config error. */
|
|
87
|
+
extends?: string;
|
|
30
88
|
}
|
|
31
89
|
export type { Viewport } from './browser/types.js';
|
|
32
90
|
/** One capturable story, normalised across platforms. */
|
|
33
91
|
export interface StoryManifest {
|
|
34
|
-
/** Stable, URL-safe.
|
|
92
|
+
/** Stable, URL-safe. The capture key: the platform-native id (Storybook's
|
|
93
|
+
* `id`, Ladle's key) for a default capture, `${baseStoryId}__${variant}`
|
|
94
|
+
* for a variant. Everything keyed by story (manifest, baselines, run
|
|
95
|
+
* images, report.json) uses this. */
|
|
35
96
|
storyId: string;
|
|
97
|
+
/** Set on variant entries: the platform's own id, which every platform call
|
|
98
|
+
* receives. Absent on a default capture, where it equals `storyId`. */
|
|
99
|
+
baseStoryId?: string;
|
|
100
|
+
/** Set on variant entries: the variant's name. */
|
|
101
|
+
variant?: string;
|
|
102
|
+
/** Set on variant entries: the fields the variant and its `extends` chain
|
|
103
|
+
* set, already merged into `params`. Kept apart because live params merge
|
|
104
|
+
* under them — a variant's viewport must beat the story's own. */
|
|
105
|
+
variantParams?: Omit<VariantSpec, 'extends'>;
|
|
36
106
|
/** Group/kind, e.g. "Components/Button". */
|
|
37
107
|
title: string;
|
|
38
108
|
/** Story name within the group, e.g. "Primary". */
|
|
@@ -44,6 +114,9 @@ export interface StoryManifest {
|
|
|
44
114
|
}
|
|
45
115
|
export interface Snapshot {
|
|
46
116
|
storyId: string;
|
|
117
|
+
/** Copied from the StoryManifest: set only on a variant capture. */
|
|
118
|
+
baseStoryId?: string;
|
|
119
|
+
variant?: string;
|
|
47
120
|
/** WebP-encoded. PNG is an intermediate, never stored. */
|
|
48
121
|
image: Buffer;
|
|
49
122
|
viewport: Viewport;
|
|
@@ -54,6 +127,8 @@ export interface Snapshot {
|
|
|
54
127
|
* Absent when structure capture failed or was disabled — it explains a
|
|
55
128
|
* failure, it never decides one. */
|
|
56
129
|
structure?: StructureSnapshot;
|
|
130
|
+
/** Present only when the settle wait hit its cap. */
|
|
131
|
+
settle?: SettleReport;
|
|
57
132
|
}
|
|
58
133
|
export interface StructureRect {
|
|
59
134
|
x: number;
|
|
@@ -156,7 +231,13 @@ export type Flag = 'element-removed' | 'text-changed' | 'large-reflow' | 'unexpl
|
|
|
156
231
|
| 'sub-threshold' | 'structure-truncated' | 'no-baseline-structure' | 'no-current-structure'
|
|
157
232
|
/** Either side's content is taller than the viewport: changes below the
|
|
158
233
|
* fold are invisible to both pixels and structure. */
|
|
159
|
-
| 'below-fold'
|
|
234
|
+
| 'below-fold'
|
|
235
|
+
/** The current capture's settle wait hit its cap: the page may have been
|
|
236
|
+
* captured mid-update. The result's `settle.pending` says what was left. */
|
|
237
|
+
| 'settle-timeout'
|
|
238
|
+
/** The current capture's event-driven settle wait could not run; a
|
|
239
|
+
* fonts/images/quiet-DOM wait stood in. */
|
|
240
|
+
| 'settle-fallback';
|
|
160
241
|
export type CauseKind =
|
|
161
242
|
/** At least one changed file is in the story's import closure. */
|
|
162
243
|
'in-closure'
|
|
@@ -222,7 +303,15 @@ export interface StructuralVerdict {
|
|
|
222
303
|
}
|
|
223
304
|
export type DiffStatus = 'pass' | 'fail' | 'new' | 'stale' | 'skip';
|
|
224
305
|
export interface DiffResult {
|
|
306
|
+
/** The capture key. */
|
|
225
307
|
storyId: string;
|
|
308
|
+
/** Set only on a variant capture, so reports can group without parsing keys. */
|
|
309
|
+
baseStoryId?: string;
|
|
310
|
+
variant?: string;
|
|
311
|
+
/** Set only on a variant capture: what the variant sets (its resolved
|
|
312
|
+
* `extends` chain). Recorded for the same reason as `viewport` — a handoff
|
|
313
|
+
* can say the conditions it was captured under without re-enumerating. */
|
|
314
|
+
variantParams?: Omit<VariantSpec, 'extends'>;
|
|
226
315
|
status: DiffStatus;
|
|
227
316
|
mismatchPixels: number;
|
|
228
317
|
mismatchPercent: number;
|
|
@@ -240,6 +329,10 @@ export interface DiffResult {
|
|
|
240
329
|
/** Tier-0 explanation of a failure. Present only when status is 'fail' and
|
|
241
330
|
* the current capture produced a structure; never consulted on pass. */
|
|
242
331
|
structural?: StructuralVerdict;
|
|
332
|
+
/** Present only when non-empty. Never changes `status`. */
|
|
333
|
+
flags?: CaptureFlag[];
|
|
334
|
+
/** Present only with the `settle-timeout` flag. */
|
|
335
|
+
settle?: SettleReport;
|
|
243
336
|
durationMs: number;
|
|
244
337
|
}
|
|
245
338
|
/** One change seen on several stories: the same signature on ≥2 failing
|
|
@@ -313,6 +406,8 @@ export interface UrlEntry {
|
|
|
313
406
|
/** Absolute, or relative to --origin. */
|
|
314
407
|
url: string;
|
|
315
408
|
params?: StoryParams;
|
|
409
|
+
/** Same as `params.variants`; the two are merged, and these win. */
|
|
410
|
+
variants?: Record<string, VariantSpec | false>;
|
|
316
411
|
}
|
|
317
412
|
/** Project config, from juxtapose.config.{ts,js,json} or package.json#juxtapose. */
|
|
318
413
|
export interface ProjectConfig {
|
|
@@ -335,6 +430,16 @@ export interface ProjectConfig {
|
|
|
335
430
|
viewport?: Viewport;
|
|
336
431
|
threshold?: number;
|
|
337
432
|
minDiffPercent?: number;
|
|
433
|
+
/** Project-wide settle options; a story's `settle` is layered over them. */
|
|
434
|
+
settle?: SettleParams;
|
|
435
|
+
/** Project-wide `waitForSelector`; a story's own wins. */
|
|
436
|
+
waitForSelector?: string;
|
|
437
|
+
/** Project-wide `delay`, ms; a story's own wins. */
|
|
438
|
+
delay?: number;
|
|
439
|
+
/** Variants every story gets, by name. A story's own variant of the same
|
|
440
|
+
* name wins; a story sets one to `false` to opt out. Applies to every
|
|
441
|
+
* platform, the urls list included. */
|
|
442
|
+
variants?: Record<string, VariantSpec | false>;
|
|
338
443
|
storage?: StorageConfig;
|
|
339
444
|
/** `jux mcp` settings. */
|
|
340
445
|
mcp?: {
|