jourilo 1.2.0 → 1.2.1

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.
@@ -17,7 +17,7 @@ progress lines on stderr are JSON too: `{"type":"progress","message":"…","at":
17
17
  Product intelligence: map a repository (frameworks, routes, design system, i18n, auth, analytics) or a website (pages, conversion points, services).
18
18
 
19
19
  ```
20
- jourilo discover <path|url> [--pages 10] [--ignore-robots] [--allow-private]
20
+ jourilo discover <path|url> [--pages 10] [--ignore-robots] [--allow-private] [--deny-local]
21
21
  ```
22
22
 
23
23
  ```
@@ -25,6 +25,8 @@ Options:
25
25
  --pages N Pages to read when mapping a website (default 10)
26
26
  --ignore-robots Ignore robots.txt (only for sites you own or are authorized to test)
27
27
  --allow-private Allow private-network hosts (10.x, 192.168.x, ...)
28
+ --deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
29
+ JOURILO_DENY_LOCAL=1 does the same
28
30
  ```
29
31
 
30
32
  ## Audit
@@ -39,7 +41,7 @@ jourilo audit <url|dir> [--pages 6] [--viewports desktop,mobile] [--url /path ..
39
41
 
40
42
  ```
41
43
  Options:
42
- --pages N Pages to audit after discovery (default 6; 1 = only the target)
44
+ --pages N Pages to audit after discovery (default 6; 1 = only the target; 0 is a usage error)
43
45
  --depth N Link depth for discovery (default 3)
44
46
  --url PATH Audit exactly these paths/URLs on the target origin (repeatable; skips discovery)
45
47
  --include PATH Add pages to discovery (repeatable)
@@ -61,6 +63,8 @@ Options:
61
63
  --brand SLUG Markilo brand to check design consistency against (default: master brand)
62
64
  --ignore-robots Ignore robots.txt (only for sites you own or are authorized to test)
63
65
  --allow-private Allow private-network hosts (10.x, 192.168.x, ...)
66
+ --deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
67
+ JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3). For hosted integrations; a directory target is still served
64
68
  --no-forms Skip the form validation probe
65
69
  (by default, on local hosts, an empty submission is simulated: nothing that sends data
66
70
  leaves the browser, so no database is written; server-side feedback is reported as untested)
@@ -70,9 +74,11 @@ Options:
70
74
  --sarif Also write report.sarif for code scanning
71
75
  --fail-on SEVERITY Exit 1 if a defect at or above this severity exists (CI gate)
72
76
  --evidence MODE full (default) or minimal: keep first screens and only the full-page screenshots findings need; JPEG quality 55
73
- --run-id ID Use this run id instead of a generated one (1-64 of A-Z a-z 0-9 _ -); refused if the run exists
74
- --max-duration SECS Stop after this many seconds and write a partial run (exit 6), as SIGINT/SIGTERM do;
75
- a second signal quits at once (exit 130)
77
+ --run-id ID Use this run id instead of a generated one (1-64 of A-Z a-z 0-9 _ -); refused (exit 2) if its
78
+ directory exists, even without a run.json (left by a crashed run)
79
+ --max-duration SECS Stop after this many seconds (1 to 86400) and write a partial run (exit 6), as SIGINT/SIGTERM do;
80
+ the page in progress gets up to 3 s to finish, then it is left out; a second signal quits at
81
+ once (exit 130) after one line on stderr (STOPPED_TWICE with --json)
76
82
  ```
77
83
 
78
84
  ### `jourilo accessibility`
@@ -85,7 +91,7 @@ jourilo accessibility <url|dir> [audit options]
85
91
 
86
92
  ```
87
93
  Options:
88
- --pages N Pages to audit after discovery (default 6; 1 = only the target)
94
+ --pages N Pages to audit after discovery (default 6; 1 = only the target; 0 is a usage error)
89
95
  --depth N Link depth for discovery (default 3)
90
96
  --url PATH Audit exactly these paths/URLs on the target origin (repeatable; skips discovery)
91
97
  --include PATH Add pages to discovery (repeatable)
@@ -107,6 +113,8 @@ Options:
107
113
  --brand SLUG Markilo brand to check design consistency against (default: master brand)
108
114
  --ignore-robots Ignore robots.txt (only for sites you own or are authorized to test)
109
115
  --allow-private Allow private-network hosts (10.x, 192.168.x, ...)
116
+ --deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
117
+ JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3). For hosted integrations; a directory target is still served
110
118
  --no-forms Skip the form validation probe
111
119
  (by default, on local hosts, an empty submission is simulated: nothing that sends data
112
120
  leaves the browser, so no database is written; server-side feedback is reported as untested)
@@ -116,9 +124,11 @@ Options:
116
124
  --sarif Also write report.sarif for code scanning
117
125
  --fail-on SEVERITY Exit 1 if a defect at or above this severity exists (CI gate)
118
126
  --evidence MODE full (default) or minimal: keep first screens and only the full-page screenshots findings need; JPEG quality 55
119
- --run-id ID Use this run id instead of a generated one (1-64 of A-Z a-z 0-9 _ -); refused if the run exists
120
- --max-duration SECS Stop after this many seconds and write a partial run (exit 6), as SIGINT/SIGTERM do;
121
- a second signal quits at once (exit 130)
127
+ --run-id ID Use this run id instead of a generated one (1-64 of A-Z a-z 0-9 _ -); refused (exit 2) if its
128
+ directory exists, even without a run.json (left by a crashed run)
129
+ --max-duration SECS Stop after this many seconds (1 to 86400) and write a partial run (exit 6), as SIGINT/SIGTERM do;
130
+ the page in progress gets up to 3 s to finish, then it is left out; a second signal quits at
131
+ once (exit 130) after one line on stderr (STOPPED_TWICE with --json)
122
132
  ```
123
133
 
124
134
  ### `jourilo conversion`
@@ -131,7 +141,7 @@ jourilo conversion <url|dir> [audit options]
131
141
 
132
142
  ```
133
143
  Options:
134
- --pages N Pages to audit after discovery (default 6; 1 = only the target)
144
+ --pages N Pages to audit after discovery (default 6; 1 = only the target; 0 is a usage error)
135
145
  --depth N Link depth for discovery (default 3)
136
146
  --url PATH Audit exactly these paths/URLs on the target origin (repeatable; skips discovery)
137
147
  --include PATH Add pages to discovery (repeatable)
@@ -153,6 +163,8 @@ Options:
153
163
  --brand SLUG Markilo brand to check design consistency against (default: master brand)
154
164
  --ignore-robots Ignore robots.txt (only for sites you own or are authorized to test)
155
165
  --allow-private Allow private-network hosts (10.x, 192.168.x, ...)
166
+ --deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
167
+ JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3). For hosted integrations; a directory target is still served
156
168
  --no-forms Skip the form validation probe
157
169
  (by default, on local hosts, an empty submission is simulated: nothing that sends data
158
170
  leaves the browser, so no database is written; server-side feedback is reported as untested)
@@ -162,9 +174,11 @@ Options:
162
174
  --sarif Also write report.sarif for code scanning
163
175
  --fail-on SEVERITY Exit 1 if a defect at or above this severity exists (CI gate)
164
176
  --evidence MODE full (default) or minimal: keep first screens and only the full-page screenshots findings need; JPEG quality 55
165
- --run-id ID Use this run id instead of a generated one (1-64 of A-Z a-z 0-9 _ -); refused if the run exists
166
- --max-duration SECS Stop after this many seconds and write a partial run (exit 6), as SIGINT/SIGTERM do;
167
- a second signal quits at once (exit 130)
177
+ --run-id ID Use this run id instead of a generated one (1-64 of A-Z a-z 0-9 _ -); refused (exit 2) if its
178
+ directory exists, even without a run.json (left by a crashed run)
179
+ --max-duration SECS Stop after this many seconds (1 to 86400) and write a partial run (exit 6), as SIGINT/SIGTERM do;
180
+ the page in progress gets up to 3 s to finish, then it is left out; a second signal quits at
181
+ once (exit 130) after one line on stderr (STOPPED_TWICE with --json)
168
182
  ```
169
183
 
170
184
  ## Journeys
@@ -188,6 +202,8 @@ Suggest options:
188
202
  --pages N Pages to read when deriving journeys from a site (default 8)
189
203
  --force Overwrite journey files that already exist (by default existing files are kept)
190
204
  --allow-private Allow private-network hosts (10.x, 192.168.x, ...)
205
+ --deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
206
+ JOURILO_DENY_LOCAL=1 does the same
191
207
 
192
208
  Run options:
193
209
  --base URL|DIR The site or static build to run against (required)
@@ -208,6 +224,8 @@ Run options:
208
224
  --evidence MODE full (default) or minimal: keep only the screenshots of the failed step, the step before it and the last step
209
225
  --repeat N Run each journey N times (max 10); mixed outcomes are reported as flaky
210
226
  --allow-private Allow private-network hosts (10.x, 192.168.x, ...)
227
+ --deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
228
+ JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3)
211
229
  --fail-on-failure Exit 1 when a journey fails
212
230
 
213
231
  Safety: payment, purchase, delete and cancel actions are never performed on non-local hosts; form submission
@@ -273,6 +291,8 @@ jourilo verify <baseline-run> [--target url|dir] [--fail-on-regression]
273
291
  Options:
274
292
  --target URL|DIR Where to repeat the audit (default: the baseline run's target)
275
293
  --repo PATH Repository for source mapping (default: the baseline run's repo)
294
+ --deny-local Refuse a local target (localhost, 127.0.0.1, [::1], *.localhost, *.test) with exit 3; a redirect to one is blocked by the network guard and listed in the limitations;
295
+ JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3)
276
296
  --fail-on-regression Exit 1 when new serious or critical defects appear
277
297
  ```
278
298
 
@@ -324,6 +324,10 @@
324
324
  "title": { "type": "string" },
325
325
  "viewport": { "type": "string" },
326
326
  "screenshot": { "type": "string", "description": "Path relative to the run directory." },
327
+ "foldScreenshot": {
328
+ "type": "string",
329
+ "description": "First-screen screenshot, relative to the run directory."
330
+ },
327
331
  "loadMs": { "type": "number" },
328
332
  "metrics": { "type": "array", "items": { "$ref": "#/$defs/metric" } },
329
333
  "consoleErrors": { "type": "integer" },