shippingszn 0.9.4 → 0.9.5
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 +5 -3
- package/dist/index.js +59 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,8 +18,9 @@ version, and safe stack tags. It never uploads source code, repo URLs, project
|
|
|
18
18
|
names, secrets, handles, or emails. Finding-level detail stays out of public
|
|
19
19
|
CLI/Wall output and opens inside the paid Launch Fix Kit.
|
|
20
20
|
|
|
21
|
-
Human output starts with a Launch Debt Score,
|
|
22
|
-
|
|
21
|
+
Human output starts with a Launch Debt Score, severity counts, a short
|
|
22
|
+
plain-English launch-risk explanation, completed checks, and the locked Fix Kit
|
|
23
|
+
handoff. Run with `--json` to get the same score-and-counts summary in a
|
|
23
24
|
machine-readable shape:
|
|
24
25
|
|
|
25
26
|
```json
|
|
@@ -40,7 +41,8 @@ machine-readable shape:
|
|
|
40
41
|
```
|
|
41
42
|
|
|
42
43
|
Finding titles, files, evidence, fix prompts, and verification steps are paid.
|
|
43
|
-
|
|
44
|
+
The free CLI explains why the score matters, but the actual fixes unlock inside
|
|
45
|
+
the Launch Fix Kit.
|
|
44
46
|
|
|
45
47
|
## Aggregate summary
|
|
46
48
|
|
package/dist/index.js
CHANGED
|
@@ -4409,6 +4409,12 @@ function color(enabled) {
|
|
|
4409
4409
|
};
|
|
4410
4410
|
}
|
|
4411
4411
|
var SEVERITY_ORDER = ["critical", "high", "medium", "lower"];
|
|
4412
|
+
function pluralize(count, singular, plural = `${singular}s`) {
|
|
4413
|
+
return count === 1 ? singular : plural;
|
|
4414
|
+
}
|
|
4415
|
+
function findingVerb(count) {
|
|
4416
|
+
return count === 1 ? "is" : "are";
|
|
4417
|
+
}
|
|
4412
4418
|
function printHelp() {
|
|
4413
4419
|
process.stdout.write(
|
|
4414
4420
|
`shippingszn v${PKG_VERSION}
|
|
@@ -4709,6 +4715,55 @@ ${c.bold("shippingszn")} ${c.dim(`v${PKG_VERSION}`)}
|
|
|
4709
4715
|
process.stdout.write(` ${c.gray(`${totals.lower} lower`)}
|
|
4710
4716
|
|
|
4711
4717
|
`);
|
|
4718
|
+
const totalFindings = totals.critical + totals.high + totals.medium + totals.lower;
|
|
4719
|
+
if (totalFindings > 0) {
|
|
4720
|
+
if (totals.critical > 0) {
|
|
4721
|
+
process.stdout.write(c.red("Critical launch blocker found.\n"));
|
|
4722
|
+
process.stdout.write(
|
|
4723
|
+
`This scan found ${totalFindings} ${pluralize(totalFindings, "issue")} that should be fixed before launch.
|
|
4724
|
+
|
|
4725
|
+
`
|
|
4726
|
+
);
|
|
4727
|
+
process.stdout.write(`${c.bold("What that means:")}
|
|
4728
|
+
`);
|
|
4729
|
+
process.stdout.write(
|
|
4730
|
+
c.dim(
|
|
4731
|
+
"Critical launch debt can expose users, break signup or payment paths, or make the launch unsafe until fixed.\n\n"
|
|
4732
|
+
)
|
|
4733
|
+
);
|
|
4734
|
+
} else {
|
|
4735
|
+
process.stdout.write("No critical blockers found.\n");
|
|
4736
|
+
if (totals.high === 0) {
|
|
4737
|
+
process.stdout.write("No high blockers found.\n");
|
|
4738
|
+
}
|
|
4739
|
+
process.stdout.write(
|
|
4740
|
+
`But ${totalFindings} ${pluralize(totalFindings, "issue")} ${findingVerb(totalFindings)} still holding this back from a clean launch.
|
|
4741
|
+
|
|
4742
|
+
`
|
|
4743
|
+
);
|
|
4744
|
+
process.stdout.write(`${c.bold("What that means:")}
|
|
4745
|
+
`);
|
|
4746
|
+
if (totals.high > 0) {
|
|
4747
|
+
process.stdout.write(
|
|
4748
|
+
c.dim(
|
|
4749
|
+
"High and medium launch debt can expose trust gaps, break conversion moments, or make the project feel unfinished.\n\n"
|
|
4750
|
+
)
|
|
4751
|
+
);
|
|
4752
|
+
} else if (totals.medium > 0) {
|
|
4753
|
+
process.stdout.write(
|
|
4754
|
+
c.dim(
|
|
4755
|
+
"Medium launch debt usually will not crash the app, but it can make users hesitate, miss conversion moments, or make the project feel unfinished.\n\n"
|
|
4756
|
+
)
|
|
4757
|
+
);
|
|
4758
|
+
} else {
|
|
4759
|
+
process.stdout.write(
|
|
4760
|
+
c.dim(
|
|
4761
|
+
"Lower launch debt usually is not launch-blocking, but it can still make the project feel rough or unfinished.\n\n"
|
|
4762
|
+
)
|
|
4763
|
+
);
|
|
4764
|
+
}
|
|
4765
|
+
}
|
|
4766
|
+
}
|
|
4712
4767
|
process.stdout.write(`${c.bold("Coverage:")}
|
|
4713
4768
|
`);
|
|
4714
4769
|
process.stdout.write(
|
|
@@ -4716,14 +4771,16 @@ ${c.bold("shippingszn")} ${c.dim(`v${PKG_VERSION}`)}
|
|
|
4716
4771
|
|
|
4717
4772
|
`)
|
|
4718
4773
|
);
|
|
4719
|
-
if (
|
|
4774
|
+
if (totalFindings > 0) {
|
|
4720
4775
|
if (scanSpecificUnlockUrl) {
|
|
4721
4776
|
process.stdout.write(c.bold("Unlock this exact scan:\n"));
|
|
4722
4777
|
process.stdout.write(` ${c.cyan(scanSpecificUnlockUrl)}
|
|
4723
4778
|
`);
|
|
4724
4779
|
process.stdout.write(
|
|
4725
4780
|
c.dim(
|
|
4726
|
-
|
|
4781
|
+
` Includes the ${totalFindings} specific ${pluralize(totalFindings, "finding")}, file evidence, and AI-builder fix prompts.
|
|
4782
|
+
|
|
4783
|
+
`
|
|
4727
4784
|
)
|
|
4728
4785
|
);
|
|
4729
4786
|
} else {
|
package/package.json
CHANGED