plum-e2e 2.12.3 → 2.12.7
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/README.md +13 -13
- package/backend/scripts/manage-nodes.mjs +5 -2
- package/bin/plum.js +6 -4
- package/frontend/.svelte-kit/adapter-node/chunks/internal.js +1 -1
- package/frontend/.svelte-kit/adapter-node/manifest-full.js +1 -1
- package/frontend/.svelte-kit/adapter-node/manifest.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/0.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/10.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/11.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/12.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/2.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/3.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/4.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/5.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/6.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/7.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/8.js +1 -1
- package/frontend/.svelte-kit/adapter-node/nodes/9.js +1 -1
- package/frontend/.svelte-kit/generated/server/internal.js +1 -1
- package/frontend/.svelte-kit/output/client/.vite/manifest.json +66 -60
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/7z7jeLBz.js +8 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CUWTHbZi.js → ChvVsiZ9.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DrfshNlX.js +6 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/uakY4NHp.js +6 -0
- package/frontend/{build/client/_app/immutable/entry/app.CfdgGRnJ.js → .svelte-kit/output/client/_app/immutable/entry/app.Cd5QqMRU.js} +2 -2
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/{start.CDN4Yr-S.js → start.BWEGCxRW.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{0.Owx2-FyO.js → 0.DU9D7D1n.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.ClH1FMY8.js → 1.BrDYA30C.js} +1 -1
- package/frontend/{build/client/_app/immutable/nodes/10.CXqf0Rbs.js → .svelte-kit/output/client/_app/immutable/nodes/10.IuJh-JP1.js} +1 -1
- package/frontend/{build/client/_app/immutable/nodes/11.Dv1VqvOV.js → .svelte-kit/output/client/_app/immutable/nodes/11.0vvZmEx6.js} +1 -1
- package/frontend/{build/client/_app/immutable/nodes/12.BfLHpcG7.js → .svelte-kit/output/client/_app/immutable/nodes/12.DwpQ7XoT.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.BqNqlmzM.js +6 -0
- package/frontend/{build/client/_app/immutable/nodes/3.ConeF9qP.js → .svelte-kit/output/client/_app/immutable/nodes/3.D9X7H-y-.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{4.BhAoYx0d.js → 4.D-awDnNj.js} +1 -1
- package/frontend/{build/client/_app/immutable/nodes/5.BXasF8ka.js → .svelte-kit/output/client/_app/immutable/nodes/5.DBcQeD2J.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{6.CDEJGi13.js → 6.CLydZ4sL.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{7.B_XntBZ1.js → 7.Dgb_D3pO.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.BpS2myvx.js +9 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.Bv15cDh1.js → 9.CsZT3pCm.js} +1 -1
- package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
- package/frontend/.svelte-kit/output/server/chunks/internal.js +1 -1
- package/frontend/.svelte-kit/output/server/manifest-full.js +1 -1
- package/frontend/.svelte-kit/output/server/manifest.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/0.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/1.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/10.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/11.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/12.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/2.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/3.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/4.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/5.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/6.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/7.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/8.js +1 -1
- package/frontend/.svelte-kit/output/server/nodes/9.js +1 -1
- package/frontend/build/client/_app/immutable/chunks/7z7jeLBz.js +8 -0
- package/frontend/build/client/_app/immutable/chunks/7z7jeLBz.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/7z7jeLBz.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/{CUWTHbZi.js → ChvVsiZ9.js} +1 -1
- package/frontend/build/client/_app/immutable/chunks/ChvVsiZ9.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/ChvVsiZ9.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DrfshNlX.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/DrfshNlX.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DrfshNlX.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/uakY4NHp.js +6 -0
- package/frontend/build/client/_app/immutable/chunks/uakY4NHp.js.br +6 -0
- package/frontend/build/client/_app/immutable/chunks/uakY4NHp.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/entry/app.CfdgGRnJ.js → build/client/_app/immutable/entry/app.Cd5QqMRU.js} +2 -2
- package/frontend/build/client/_app/immutable/entry/app.Cd5QqMRU.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.Cd5QqMRU.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/{start.CDN4Yr-S.js → start.BWEGCxRW.js} +1 -1
- package/frontend/build/client/_app/immutable/entry/start.BWEGCxRW.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/{start.CDN4Yr-S.js.gz → start.BWEGCxRW.js.gz} +0 -0
- package/frontend/build/client/_app/immutable/nodes/{0.Owx2-FyO.js → 0.DU9D7D1n.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/0.DU9D7D1n.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.DU9D7D1n.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{1.ClH1FMY8.js → 1.BrDYA30C.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/1.BrDYA30C.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.BrDYA30C.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/10.CXqf0Rbs.js → build/client/_app/immutable/nodes/10.IuJh-JP1.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/10.IuJh-JP1.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.IuJh-JP1.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/11.Dv1VqvOV.js → build/client/_app/immutable/nodes/11.0vvZmEx6.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/11.0vvZmEx6.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.0vvZmEx6.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/12.BfLHpcG7.js → build/client/_app/immutable/nodes/12.DwpQ7XoT.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/12.DwpQ7XoT.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.DwpQ7XoT.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BqNqlmzM.js +6 -0
- package/frontend/build/client/_app/immutable/nodes/2.BqNqlmzM.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.BqNqlmzM.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/3.ConeF9qP.js → build/client/_app/immutable/nodes/3.D9X7H-y-.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/3.D9X7H-y-.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.D9X7H-y-.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{4.BhAoYx0d.js → 4.D-awDnNj.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/4.D-awDnNj.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.D-awDnNj.js.gz +0 -0
- package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/5.BXasF8ka.js → build/client/_app/immutable/nodes/5.DBcQeD2J.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/5.DBcQeD2J.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.DBcQeD2J.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{6.CDEJGi13.js → 6.CLydZ4sL.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/6.CLydZ4sL.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.CLydZ4sL.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{7.B_XntBZ1.js → 7.Dgb_D3pO.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/7.Dgb_D3pO.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.Dgb_D3pO.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.BpS2myvx.js +9 -0
- package/frontend/build/client/_app/immutable/nodes/8.BpS2myvx.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.BpS2myvx.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/{9.Bv15cDh1.js → 9.CsZT3pCm.js} +1 -1
- package/frontend/build/client/_app/immutable/nodes/9.CsZT3pCm.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.CsZT3pCm.js.gz +0 -0
- package/frontend/build/client/_app/version.json +1 -1
- package/frontend/build/client/_app/version.json.br +0 -0
- package/frontend/build/client/_app/version.json.gz +0 -0
- package/frontend/build/server/chunks/{0-EDIcywdR.js → 0-B0pwHIbc.js} +2 -2
- package/frontend/build/server/chunks/{0-EDIcywdR.js.map → 0-B0pwHIbc.js.map} +1 -1
- package/frontend/build/server/chunks/{1-DUXDWP4s.js → 1-C2ERbGlM.js} +2 -2
- package/frontend/build/server/chunks/{1-DUXDWP4s.js.map → 1-C2ERbGlM.js.map} +1 -1
- package/frontend/build/server/chunks/{10-C2C3V4ib.js → 10-BkU7HIAH.js} +2 -2
- package/frontend/build/server/chunks/{10-C2C3V4ib.js.map → 10-BkU7HIAH.js.map} +1 -1
- package/frontend/build/server/chunks/{11-C9Dv5Ypy.js → 11-BIhs2Z-l.js} +2 -2
- package/frontend/build/server/chunks/{11-C9Dv5Ypy.js.map → 11-BIhs2Z-l.js.map} +1 -1
- package/frontend/build/server/chunks/{12-aJDC1MAo.js → 12-I1hWtCiL.js} +2 -2
- package/frontend/build/server/chunks/{12-aJDC1MAo.js.map → 12-I1hWtCiL.js.map} +1 -1
- package/frontend/build/server/chunks/{2-Dalgd2D4.js → 2-C8lOtJzo.js} +2 -2
- package/frontend/build/server/chunks/2-C8lOtJzo.js.map +5 -0
- package/frontend/build/server/chunks/{3-cuk7ocXX.js → 3-gYSyNvG5.js} +2 -2
- package/frontend/build/server/chunks/{3-cuk7ocXX.js.map → 3-gYSyNvG5.js.map} +1 -1
- package/frontend/build/server/chunks/{4-D6Mu8Mm3.js → 4-CKw2o6VK.js} +2 -2
- package/frontend/build/server/chunks/{4-D6Mu8Mm3.js.map → 4-CKw2o6VK.js.map} +1 -1
- package/frontend/build/server/chunks/{5-ZN8cEN5r.js → 5-M0Ln62oC.js} +2 -2
- package/frontend/build/server/chunks/{5-ZN8cEN5r.js.map → 5-M0Ln62oC.js.map} +1 -1
- package/frontend/build/server/chunks/{6-nLl6wUex.js → 6-DLbq8kke.js} +2 -2
- package/frontend/build/server/chunks/{6-nLl6wUex.js.map → 6-DLbq8kke.js.map} +1 -1
- package/frontend/build/server/chunks/{7-DTNbErSe.js → 7-BQUiJu98.js} +2 -2
- package/frontend/build/server/chunks/{7-DTNbErSe.js.map → 7-BQUiJu98.js.map} +1 -1
- package/frontend/build/server/chunks/{8-BvQ3XjdA.js → 8-BUIZBLdn.js} +2 -2
- package/frontend/build/server/chunks/8-BUIZBLdn.js.map +5 -0
- package/frontend/build/server/chunks/{9-BVKP6RbZ.js → 9-Dti6A_P5.js} +2 -2
- package/frontend/build/server/chunks/{9-BVKP6RbZ.js.map → 9-Dti6A_P5.js.map} +1 -1
- package/frontend/build/server/index.js +1 -1
- package/frontend/build/server/index.js.map +1 -1
- package/frontend/build/server/manifest.js +14 -14
- package/frontend/build/server/manifest.js.map +1 -1
- package/frontend/src/lib/stores/runner.js +12 -1
- package/frontend/src/lib/utils/clipboard.js +27 -0
- package/frontend/src/routes/+page.svelte +2 -1
- package/frontend/src/routes/settings/+page.svelte +4 -3
- package/package.json +1 -1
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BqJQeI8K.js +0 -8
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/htkwR9b-.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.Bno00fr8.js +0 -6
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.DL5gzc5s.js +0 -9
- package/frontend/build/client/_app/immutable/chunks/BqJQeI8K.js +0 -8
- package/frontend/build/client/_app/immutable/chunks/BqJQeI8K.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BqJQeI8K.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CUWTHbZi.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CUWTHbZi.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/htkwR9b-.js +0 -6
- package/frontend/build/client/_app/immutable/chunks/htkwR9b-.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/htkwR9b-.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/app.CfdgGRnJ.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.CfdgGRnJ.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/start.CDN4Yr-S.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.Owx2-FyO.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.Owx2-FyO.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.ClH1FMY8.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.ClH1FMY8.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.CXqf0Rbs.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/10.CXqf0Rbs.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.Dv1VqvOV.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/11.Dv1VqvOV.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.BfLHpcG7.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/12.BfLHpcG7.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.Bno00fr8.js +0 -6
- package/frontend/build/client/_app/immutable/nodes/2.Bno00fr8.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.Bno00fr8.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.ConeF9qP.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.ConeF9qP.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.BhAoYx0d.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.BhAoYx0d.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.BXasF8ka.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.BXasF8ka.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.CDEJGi13.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/6.CDEJGi13.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.B_XntBZ1.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/7.B_XntBZ1.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.DL5gzc5s.js +0 -9
- package/frontend/build/client/_app/immutable/nodes/8.DL5gzc5s.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/8.DL5gzc5s.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.Bv15cDh1.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/9.Bv15cDh1.js.gz +0 -0
- package/frontend/build/server/chunks/2-Dalgd2D4.js.map +0 -5
- package/frontend/build/server/chunks/8-BvQ3XjdA.js.map +0 -5
package/README.md
CHANGED
|
@@ -63,18 +63,18 @@ Full documentation is available at:
|
|
|
63
63
|
|
|
64
64
|
**[https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd)**
|
|
65
65
|
|
|
66
|
-
| Guide | What it covers
|
|
67
|
-
| ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
68
|
-
| [Installation](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/installation-JftwFX9csC) | Requirements, global install, first-user setup, plugins
|
|
69
|
-
| [Initializing the Project](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/initializing-the-project-ilfc8LUyO7) | What `plum init` generates, config files explained
|
|
70
|
-
| [Writing Tests](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/writing-tests-XeHJQdtH49) | Feature files,
|
|
71
|
-
| [Running Tests Locally](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/running-tests-locally-GGhFcqaAQ8) | `plum run-test` flags, parallel runs, debugging tips
|
|
72
|
-
| [Reports & Session Replay](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/reports-session-replay-EfhxJXaaDD) | The report page, session replay, step rail, inspector, export
|
|
73
|
-
| [Retrying Flaky Tests](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/retrying-flaky-tests-NXwRF5SXru) | Auto-retry failed scenarios, global setting, report badges
|
|
74
|
-
| [Setting Up the Server](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/setting-up-the-server-vj0Ab1kJVs) | Production server setup, reverse proxy (Nginx/Caddy), Docker
|
|
75
|
-
| [Setting Up Nodes](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/setting-up-nodes-dtmekJGJia) | Nodes, systemd service, managing nodes
|
|
76
|
-
| [Integrations](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/integrations-qfiqfmdP0j) | Discord & Slack webhook notifications, CI/external triggers
|
|
77
|
-
| [Backup](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/backup-RNNObJfct9) | Backup strategy
|
|
66
|
+
| Guide | What it covers |
|
|
67
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
|
|
68
|
+
| [Installation](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/installation-JftwFX9csC) | Requirements, global install, first-user setup, plugins |
|
|
69
|
+
| [Initializing the Project](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/initializing-the-project-ilfc8LUyO7) | What `plum init` generates, config files explained |
|
|
70
|
+
| [Writing Tests](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/writing-tests-XeHJQdtH49) | Feature files, step definitions, optional page objects, best practices |
|
|
71
|
+
| [Running Tests Locally](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/running-tests-locally-GGhFcqaAQ8) | `plum run-test` flags, parallel runs, debugging tips |
|
|
72
|
+
| [Reports & Session Replay](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/reports-session-replay-EfhxJXaaDD) | The report page, session replay, step rail, inspector, export |
|
|
73
|
+
| [Retrying Flaky Tests](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/retrying-flaky-tests-NXwRF5SXru) | Auto-retry failed scenarios, global setting, report badges |
|
|
74
|
+
| [Setting Up the Server](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/setting-up-the-server-vj0Ab1kJVs) | Production server setup, reverse proxy (Nginx/Caddy), Docker |
|
|
75
|
+
| [Setting Up Nodes](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/setting-up-nodes-dtmekJGJia) | Nodes, systemd service, managing nodes |
|
|
76
|
+
| [Integrations](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/integrations-qfiqfmdP0j) | Discord & Slack webhook notifications, CI/external triggers |
|
|
77
|
+
| [Backup](https://outline.silverlunah.com/s/12bf21d1-02ba-49e9-b0df-908976407afd/doc/backup-RNNObJfct9) | Backup strategy |
|
|
78
78
|
|
|
79
79
|
---
|
|
80
80
|
|
|
@@ -143,7 +143,7 @@ npm run manage-nodes # open the node management menu
|
|
|
143
143
|
backend/tests/
|
|
144
144
|
features/ — Gherkin .feature files
|
|
145
145
|
step_definitions/ — TypeScript step implementations
|
|
146
|
-
pages/ — Page Object Models
|
|
146
|
+
pages/ — Page Object Models (optional)
|
|
147
147
|
utils/ — Browser setup, hooks, helpers
|
|
148
148
|
```
|
|
149
149
|
|
|
@@ -259,7 +259,8 @@ async function addNode() {
|
|
|
259
259
|
if (mode === 'production') {
|
|
260
260
|
primary = await clack.text({
|
|
261
261
|
message:
|
|
262
|
-
'
|
|
262
|
+
'Public URL or IP of the Plum backend / API — include the scheme (http:// or https://). ' +
|
|
263
|
+
'Add the :port unless a reverse proxy terminates it on 80/443.',
|
|
263
264
|
placeholder: 'https://plum.example.com'
|
|
264
265
|
});
|
|
265
266
|
if (cancelled(primary)) return;
|
|
@@ -293,7 +294,9 @@ async function addNode() {
|
|
|
293
294
|
let url;
|
|
294
295
|
if (mode === 'production') {
|
|
295
296
|
url = await clack.text({
|
|
296
|
-
message:
|
|
297
|
+
message:
|
|
298
|
+
'Public URL or IP the Plum server uses to reach this node — include the scheme ' +
|
|
299
|
+
'(http:// or https://). Add the :port unless a reverse proxy terminates it on 80/443.',
|
|
297
300
|
placeholder: `https://${name}.example.com`
|
|
298
301
|
});
|
|
299
302
|
if (cancelled(url)) return;
|
package/bin/plum.js
CHANGED
|
@@ -152,7 +152,7 @@ async function promptPublicUrl(message, initial) {
|
|
|
152
152
|
const v = await clack.text({
|
|
153
153
|
message:
|
|
154
154
|
`${message} — include the scheme (http:// or https://). ` +
|
|
155
|
-
'Add the :port
|
|
155
|
+
'Add the :port unless a reverse proxy terminates it on 80/443.',
|
|
156
156
|
placeholder: initial,
|
|
157
157
|
defaultValue: initial
|
|
158
158
|
});
|
|
@@ -755,7 +755,7 @@ async function configureNode({ force, name: nameArg }) {
|
|
|
755
755
|
|
|
756
756
|
if (mode === 'production') {
|
|
757
757
|
primary = await promptPublicUrl(
|
|
758
|
-
'
|
|
758
|
+
'Public URL or IP of the Plum backend / API',
|
|
759
759
|
primary || 'https://plum.example.com'
|
|
760
760
|
);
|
|
761
761
|
} else {
|
|
@@ -782,7 +782,7 @@ async function configureNode({ force, name: nameArg }) {
|
|
|
782
782
|
|
|
783
783
|
if (mode === 'production') {
|
|
784
784
|
url = await promptPublicUrl(
|
|
785
|
-
'URL
|
|
785
|
+
'Public URL or IP the Plum server uses to reach this node',
|
|
786
786
|
url && !url.includes('host.docker.internal') ? url : 'https://node-1.example.com'
|
|
787
787
|
);
|
|
788
788
|
} else {
|
|
@@ -1220,10 +1220,12 @@ switch (command) {
|
|
|
1220
1220
|
'tests/',
|
|
1221
1221
|
' features/ — Gherkin .feature files (write your scenarios here)',
|
|
1222
1222
|
' step_definitions/ — TypeScript step implementations',
|
|
1223
|
-
' pages/ — Page Object Models',
|
|
1223
|
+
' pages/ — Page Object Models (optional)',
|
|
1224
1224
|
' utils/ — Browser setup, hooks, shared helpers',
|
|
1225
1225
|
'```',
|
|
1226
1226
|
'',
|
|
1227
|
+
'Feature files and step definitions are the two required layers. Page objects are optional — keep the Playwright calls in your steps if you prefer — but recommended once a page grows past a few interactions.',
|
|
1228
|
+
'',
|
|
1227
1229
|
'Each scenario needs a unique tag so you can run it by itself:',
|
|
1228
1230
|
'',
|
|
1229
1231
|
'```gherkin',
|
|
@@ -641,7 +641,7 @@ const options = {
|
|
|
641
641
|
<div class="error">
|
|
642
642
|
<span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
|
|
643
643
|
},
|
|
644
|
-
version_hash: "
|
|
644
|
+
version_hash: "7hrr1b"
|
|
645
645
|
};
|
|
646
646
|
async function get_hooks() {
|
|
647
647
|
let handle;
|
|
@@ -15,7 +15,7 @@ return {
|
|
|
15
15
|
assets: new Set(["favicon-32x32.png","favicon.ico"]),
|
|
16
16
|
mimeTypes: {".png":"image/png"},
|
|
17
17
|
_: {
|
|
18
|
-
client: {start:"_app/immutable/entry/start.
|
|
18
|
+
client: {start:"_app/immutable/entry/start.BWEGCxRW.js",app:"_app/immutable/entry/app.Cd5QqMRU.js",imports:["_app/immutable/entry/start.BWEGCxRW.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/entry/app.Cd5QqMRU.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/BCh31ecr.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
19
19
|
nodes: [
|
|
20
20
|
__memo(() => import('./nodes/0.js')),
|
|
21
21
|
__memo(() => import('./nodes/1.js')),
|
|
@@ -15,7 +15,7 @@ return {
|
|
|
15
15
|
assets: new Set(["favicon-32x32.png","favicon.ico"]),
|
|
16
16
|
mimeTypes: {".png":"image/png"},
|
|
17
17
|
_: {
|
|
18
|
-
client: {start:"_app/immutable/entry/start.
|
|
18
|
+
client: {start:"_app/immutable/entry/start.BWEGCxRW.js",app:"_app/immutable/entry/app.Cd5QqMRU.js",imports:["_app/immutable/entry/start.BWEGCxRW.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/entry/app.Cd5QqMRU.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/BCh31ecr.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
19
19
|
nodes: [
|
|
20
20
|
__memo(() => import('./nodes/0.js')),
|
|
21
21
|
__memo(() => import('./nodes/1.js')),
|
|
@@ -10,6 +10,6 @@ let component_cache;
|
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;
|
|
11
11
|
export { universal };
|
|
12
12
|
export const universal_id = "src/routes/+layout.js";
|
|
13
|
-
export const imports = ["_app/immutable/nodes/0.
|
|
13
|
+
export const imports = ["_app/immutable/nodes/0.DU9D7D1n.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/ChvVsiZ9.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/kFFd6Oo5.js","_app/immutable/chunks/DrfshNlX.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/Dn1b1Jgc.js","_app/immutable/chunks/BIDsfWFz.js","_app/immutable/chunks/B74j8LrV.js","_app/immutable/chunks/gCgJ3Cwu.js","_app/immutable/chunks/BWGoOYU0.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/DeiVAbyn.js","_app/immutable/chunks/BDb8hZHu.js","_app/immutable/chunks/DDx3no2z.js"];
|
|
14
14
|
export const stylesheets = ["_app/immutable/assets/0.DbhNvxzA.css","_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css","_app/immutable/assets/Modal.BZpm0HP8.css","_app/immutable/assets/Badge.D1SV0Gv7.css"];
|
|
15
15
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 1;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/1.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/1.BrDYA30C.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/7z7jeLBz.js"];
|
|
12
12
|
export const stylesheets = [];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 10;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/test-repository/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/10.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/10.IuJh-JP1.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/qvxlSGpD.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/tsOANt55.js","_app/immutable/chunks/B74j8LrV.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/BIDsfWFz.js","_app/immutable/chunks/zXSLr47H.js","_app/immutable/chunks/BCh31ecr.js","_app/immutable/chunks/DFZtPGTY.js","_app/immutable/chunks/DrfshNlX.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/prk8PJfA.js","_app/immutable/chunks/CNpD-yNH.js","_app/immutable/chunks/BWGoOYU0.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/BDb8hZHu.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/10.D2ehp3UL.css","_app/immutable/assets/Button.C1zsJAUG.css","_app/immutable/assets/ExportMenu.DsJQ1Qua.css","_app/immutable/assets/Pagination.DZmi2Po-.css","_app/immutable/assets/EmptyState.DUDM4P19.css","_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css","_app/immutable/assets/Modal.BZpm0HP8.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 11;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/test-repository/runs/_id_/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/11.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/11.0vvZmEx6.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/qvxlSGpD.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/tsOANt55.js","_app/immutable/chunks/ChvVsiZ9.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/B74j8LrV.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/BIDsfWFz.js","_app/immutable/chunks/DrfshNlX.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/BDb8hZHu.js","_app/immutable/chunks/CNpD-yNH.js","_app/immutable/chunks/DFZtPGTY.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/11.BWAH0Beh.css","_app/immutable/assets/Button.C1zsJAUG.css","_app/immutable/assets/Modal.BZpm0HP8.css","_app/immutable/assets/EmptyState.DUDM4P19.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 12;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/test-repository/suites/_id_/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/12.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/12.DwpQ7XoT.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/qvxlSGpD.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/tsOANt55.js","_app/immutable/chunks/Bfc47y5P.js","_app/immutable/chunks/ChvVsiZ9.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/B74j8LrV.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/BIDsfWFz.js","_app/immutable/chunks/zXSLr47H.js","_app/immutable/chunks/BCh31ecr.js","_app/immutable/chunks/DFZtPGTY.js","_app/immutable/chunks/CNpD-yNH.js","_app/immutable/chunks/BWGoOYU0.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/BDb8hZHu.js","_app/immutable/chunks/prk8PJfA.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/12.Dm1nSEgE.css","_app/immutable/assets/Button.C1zsJAUG.css","_app/immutable/assets/ExportMenu.DsJQ1Qua.css","_app/immutable/assets/EmptyState.DUDM4P19.css","_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css","_app/immutable/assets/Modal.BZpm0HP8.css","_app/immutable/assets/Pagination.DZmi2Po-.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 2;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/2.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/2.BqNqlmzM.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/DrfshNlX.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/uakY4NHp.js","_app/immutable/chunks/CNpD-yNH.js","_app/immutable/chunks/D72giPTu.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/2.C1TbMUws.css","_app/immutable/assets/EmptyState.DUDM4P19.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 3;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/live/_id_/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/3.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/3.D9X7H-y-.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/BCh31ecr.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/ChvVsiZ9.js","_app/immutable/chunks/DrfshNlX.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/gCgJ3Cwu.js","_app/immutable/chunks/Dn1b1Jgc.js","_app/immutable/chunks/BIDsfWFz.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/3MBVX4Yb.js","_app/immutable/chunks/DeiVAbyn.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/3.B3djLY18.css","_app/immutable/assets/BackLink.DRrgBGDC.css","_app/immutable/assets/Badge.D1SV0Gv7.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 4;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/login/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/4.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/4.D-awDnNj.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/DDx3no2z.js","_app/immutable/chunks/iL4SCrvY.js","_app/immutable/chunks/Dlnxgs49.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/4.BR3wgXcZ.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 5;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/reports/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/5.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/5.DBcQeD2J.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/Dn1b1Jgc.js","_app/immutable/chunks/BIDsfWFz.js","_app/immutable/chunks/DrfshNlX.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/DeiVAbyn.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/prk8PJfA.js","_app/immutable/chunks/BWGoOYU0.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/CNpD-yNH.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/5.ClS4XkkN.css","_app/immutable/assets/Badge.D1SV0Gv7.css","_app/immutable/assets/Pagination.DZmi2Po-.css","_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css","_app/immutable/assets/Modal.BZpm0HP8.css","_app/immutable/assets/EmptyState.DUDM4P19.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 6;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/reports/_id_/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/6.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/6.CLydZ4sL.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/Bfc47y5P.js","_app/immutable/chunks/tsOANt55.js","_app/immutable/chunks/ChvVsiZ9.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/Dn1b1Jgc.js","_app/immutable/chunks/BIDsfWFz.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/BDb8hZHu.js","_app/immutable/chunks/DeiVAbyn.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/3MBVX4Yb.js","_app/immutable/chunks/zXSLr47H.js","_app/immutable/chunks/BCh31ecr.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/6.BofiCOMr.css","_app/immutable/assets/Badge.D1SV0Gv7.css","_app/immutable/assets/BackLink.DRrgBGDC.css","_app/immutable/assets/ExportMenu.DsJQ1Qua.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 7;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/scheduled-tests/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/7.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/7.Dgb_D3pO.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/qvxlSGpD.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/tsOANt55.js","_app/immutable/chunks/Bfc47y5P.js","_app/immutable/chunks/kFFd6Oo5.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/DrfshNlX.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/DeiVAbyn.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/BWGoOYU0.js","_app/immutable/chunks/BDb8hZHu.js","_app/immutable/chunks/CNpD-yNH.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/7.CBHi6pzT.css","_app/immutable/assets/Button.C1zsJAUG.css","_app/immutable/assets/Badge.D1SV0Gv7.css","_app/immutable/assets/Modal.BZpm0HP8.css","_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css","_app/immutable/assets/EmptyState.DUDM4P19.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 8;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/settings/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/8.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/8.BpS2myvx.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/BTV7EXZb.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/qvxlSGpD.js","_app/immutable/chunks/D72giPTu.js","_app/immutable/chunks/tsOANt55.js","_app/immutable/chunks/BCh31ecr.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/ChvVsiZ9.js","_app/immutable/chunks/kFFd6Oo5.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/B74j8LrV.js","_app/immutable/chunks/BIDsfWFz.js","_app/immutable/chunks/DDx3no2z.js","_app/immutable/chunks/DrfshNlX.js","_app/immutable/chunks/B2lVGNml.js","_app/immutable/chunks/iL4SCrvY.js","_app/immutable/chunks/uakY4NHp.js","_app/immutable/chunks/BDb8hZHu.js","_app/immutable/chunks/BWGoOYU0.js","_app/immutable/chunks/CUPWZLIN.js","_app/immutable/chunks/DeiVAbyn.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/8.DOC8fPSI.css","_app/immutable/assets/Button.C1zsJAUG.css","_app/immutable/assets/ConfirmModal.Dd3uP-Sk.css","_app/immutable/assets/Modal.BZpm0HP8.css","_app/immutable/assets/Badge.D1SV0Gv7.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
export const index = 9;
|
|
9
9
|
let component_cache;
|
|
10
10
|
export const component = async () => component_cache ??= (await import('../entries/pages/setup/_page.svelte.js')).default;
|
|
11
|
-
export const imports = ["_app/immutable/nodes/9.
|
|
11
|
+
export const imports = ["_app/immutable/nodes/9.CsZT3pCm.js","_app/immutable/chunks/6VDMVB5U.js","_app/immutable/chunks/BIf7lHIm.js","_app/immutable/chunks/CtgCYzu5.js","_app/immutable/chunks/D_thT6pZ.js","_app/immutable/chunks/C4Z3p6jE.js","_app/immutable/chunks/BnXsGCy3.js","_app/immutable/chunks/7z7jeLBz.js","_app/immutable/chunks/DDx3no2z.js","_app/immutable/chunks/CXQhSK1T.js","_app/immutable/chunks/iL4SCrvY.js","_app/immutable/chunks/Dlnxgs49.js"];
|
|
12
12
|
export const stylesheets = ["_app/immutable/assets/9._h2o67kg.css"];
|
|
13
13
|
export const fonts = [];
|
|
@@ -26,7 +26,7 @@ export const options = {
|
|
|
26
26
|
app: ({ head, body, assets, nonce, env }) => "<!--\nThis file is part of Plum.\nLicensed under the MIT License. See LICENSE file in the project root for details.\n-->\n<!doctype html>\n<html lang=\"en\" data-theme=\"light\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<link rel=\"icon\" href=\"" + assets + "/favicon.ico\" />\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n\t\t<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n\t\t<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />\n\t\t<link\n\t\t\thref=\"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500&family=DM+Sans:wght@300;400;500&display=swap\"\n\t\t\trel=\"stylesheet\"\n\t\t/>\n\t\t<!-- Prevent theme flash before Svelte hydrates -->\n\t\t<script>\n\t\t\ttry {\n\t\t\t\tconst t = localStorage.getItem('plum-theme');\n\t\t\t\tif (t) document.documentElement.setAttribute('data-theme', t);\n\t\t\t} catch (e) {}\n\t\t</script>\n\t\t" + head + "\n\t</head>\n\t<body data-sveltekit-preload-data=\"hover\">\n\t\t<div style=\"display: contents\">" + body + "</div>\n\t</body>\n</html>\n",
|
|
27
27
|
error: ({ status, message }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>" + message + "</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">" + status + "</span>\n\t\t\t<div class=\"message\">\n\t\t\t\t<h1>" + message + "</h1>\n\t\t\t</div>\n\t\t</div>\n\t</body>\n</html>\n"
|
|
28
28
|
},
|
|
29
|
-
version_hash: "
|
|
29
|
+
version_hash: "7hrr1b"
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
export async function get_hooks() {
|