launchprep 0.5.6 → 0.5.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 +4 -0
- package/net/commands.mjs +13 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,6 +12,10 @@ npx launchprep
|
|
|
12
12
|
No signup, no dashboard, nothing added to your repo. The free scan runs entirely
|
|
13
13
|
on your machine and uploads nothing.
|
|
14
14
|
|
|
15
|
+
*(`npx` fetches it, runs it once and cleans up — there is nothing to install.
|
|
16
|
+
npm shows an `npm i` line above because it shows one for every package; you do
|
|
17
|
+
not need it unless you want the command available offline.)*
|
|
18
|
+
|
|
15
19
|
## Built with Cursor, Claude, Lovable, v0, Bolt or Replit?
|
|
16
20
|
|
|
17
21
|
That is who this is for. The code works — that is not the same as being safe to
|
package/net/commands.mjs
CHANGED
|
@@ -191,6 +191,19 @@ async function deep(args) {
|
|
|
191
191
|
process.exit(1);
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
+
// A dead replay comes back as HTTP 200 carrying { status: 'failed' } - the
|
|
195
|
+
// request succeeded, the SCAN did not. Every guard above tests r.ok, so this
|
|
196
|
+
// sailed through and rendered as a clean scan with zero findings: the worst
|
|
197
|
+
// possible answer, because "0 findings" reads as "you are fine". Observed on a
|
|
198
|
+
// real licence twice. A scan that did not finish must never render as one that
|
|
199
|
+
// found nothing.
|
|
200
|
+
if (r.data?.status === 'failed') {
|
|
201
|
+
console.error(`\n ${C.red}That scan did not finish.${C.off} ${C.d}${r.data.error || ''}${C.off}`);
|
|
202
|
+
if (r.data.refunded) console.error(` ${C.grn}It was not counted — your scans are intact.${C.off}`);
|
|
203
|
+
console.error(` ${C.d}Run this again to start a fresh one.${C.off}\n`);
|
|
204
|
+
process.exit(1);
|
|
205
|
+
}
|
|
206
|
+
|
|
194
207
|
const findings = r.data.findings || [];
|
|
195
208
|
const rank = { critical:0, high:1, medium:2, low:3 };
|
|
196
209
|
findings.sort((a, b) => rank[a.severity] - rank[b.severity]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "launchprep",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.7",
|
|
4
4
|
"description": "Read-only CLI that scans your AI-built app and reports what will break before real users hit it — auth, tenant isolation, data, payments, GDPR. 117 checks run free on your machine.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|