laxy-verify 1.1.24 → 1.1.26
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/cli.js +5 -22
- package/package.json +66 -66
package/dist/cli.js
CHANGED
|
@@ -226,7 +226,7 @@ function consoleOutput(result) {
|
|
|
226
226
|
if (failedChecks.length > 0)
|
|
227
227
|
console.log(` Failed: ${failedChecks.join(", ")}`);
|
|
228
228
|
}
|
|
229
|
-
// Blockers:
|
|
229
|
+
// Blockers: ?�목?� 모든 ?�어, Fix ?�션?� verbose_failure(Pro+) ?�상?�서 ?�시
|
|
230
230
|
if (view.blockers.length > 0) {
|
|
231
231
|
console.log(" Deployment blockers:");
|
|
232
232
|
for (const blocker of view.blockers) {
|
|
@@ -249,7 +249,7 @@ function consoleOutput(result) {
|
|
|
249
249
|
for (const action of view.nextActions)
|
|
250
250
|
console.log(` - ${action}`);
|
|
251
251
|
}
|
|
252
|
-
// Evidence: failure_analysis(Pro+)
|
|
252
|
+
// Evidence: failure_analysis(Pro+)???�체, verbose_failure(Pro)??3�? Free??2�?
|
|
253
253
|
const evidenceLimit = failureAnalysis ? view.failureEvidence.length : verboseFailure ? 3 : 2;
|
|
254
254
|
const evidenceToShow = view.failureEvidence.slice(0, evidenceLimit);
|
|
255
255
|
if (evidenceToShow.length > 0) {
|
|
@@ -421,7 +421,7 @@ async function run() {
|
|
|
421
421
|
const features = entitlements ?? {
|
|
422
422
|
plan: "free",
|
|
423
423
|
// All verification features run on every plan
|
|
424
|
-
// Automation features
|
|
424
|
+
// Automation features ??not available on Free
|
|
425
425
|
github_actions: false,
|
|
426
426
|
queue_priority: false,
|
|
427
427
|
parallel_execution: false,
|
|
@@ -480,7 +480,7 @@ async function run() {
|
|
|
480
480
|
console.error(`Lighthouse error: ${lhErr instanceof Error ? lhErr.message : String(lhErr)}`);
|
|
481
481
|
}
|
|
482
482
|
}
|
|
483
|
-
if (!args.skipLighthouse
|
|
483
|
+
if (!args.skipLighthouse) {
|
|
484
484
|
try {
|
|
485
485
|
multiViewportScores = await (0, multi_viewport_js_1.runMultiViewportLighthouse)(port);
|
|
486
486
|
(0, multi_viewport_js_1.printMultiViewportResults)(multiViewportScores, adjustedThresholds);
|
|
@@ -497,23 +497,6 @@ async function run() {
|
|
|
497
497
|
console.error(`Multi-viewport error: ${mvErr instanceof Error ? mvErr.message : String(mvErr)}`);
|
|
498
498
|
}
|
|
499
499
|
}
|
|
500
|
-
// Mobile Lighthouse check (runs when multi-viewport is not enabled)
|
|
501
|
-
if (!args.skipLighthouse &&
|
|
502
|
-
!args.multiViewport) {
|
|
503
|
-
try {
|
|
504
|
-
mobileLighthouseScores = await (0, multi_viewport_js_1.runMobileLighthouse)(port);
|
|
505
|
-
if (mobileLighthouseScores) {
|
|
506
|
-
const mobilePassed = mobileLighthouseScores.performance >= adjustedThresholds.performance &&
|
|
507
|
-
mobileLighthouseScores.accessibility >= adjustedThresholds.accessibility;
|
|
508
|
-
if (!mobilePassed) {
|
|
509
|
-
failureEvidence.push(`Mobile LH: P=${mobileLighthouseScores.performance} A=${mobileLighthouseScores.accessibility}`);
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
catch (mobileLhErr) {
|
|
514
|
-
console.error(`Mobile Lighthouse error: ${mobileLhErr instanceof Error ? mobileLhErr.message : String(mobileLhErr)}`);
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
500
|
// Security audit (npm audit)
|
|
518
501
|
try {
|
|
519
502
|
securityAuditResult = await (0, security_audit_js_1.runSecurityAudit)(args.projectDir);
|
|
@@ -540,7 +523,7 @@ async function run() {
|
|
|
540
523
|
};
|
|
541
524
|
e2eCoverageGaps = e2eRuns.coverageGaps;
|
|
542
525
|
e2eConsoleErrors = e2eRuns.consoleErrors;
|
|
543
|
-
// Broken links audit
|
|
526
|
+
// Broken links audit ??runs after E2E so we have the crawl result
|
|
544
527
|
if (e2eRuns.crawlResult && e2eRuns.crawlResult.totalLinks > 0) {
|
|
545
528
|
try {
|
|
546
529
|
brokenLinksResult = await (0, broken_links_js_1.auditBrokenLinks)(e2eRuns.crawlResult, verifyUrl);
|
package/package.json
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "laxy-verify",
|
|
3
|
+
"version": "1.1.26",
|
|
4
|
+
"description": "Frontend verification CLI for build checks, Lighthouse, E2E, and release readiness",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "commonjs",
|
|
7
|
+
"homepage": "https://github.com/SUNgm24/Laxy/tree/main/laxy-verify#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/SUNgm24/Laxy.git",
|
|
11
|
+
"directory": "laxy-verify"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/SUNgm24/Laxy/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"frontend",
|
|
18
|
+
"verification",
|
|
19
|
+
"quality-gate",
|
|
20
|
+
"release-readiness",
|
|
21
|
+
"lighthouse",
|
|
22
|
+
"e2e",
|
|
23
|
+
"qa",
|
|
24
|
+
"cli",
|
|
25
|
+
"nextjs",
|
|
26
|
+
"vite"
|
|
27
|
+
],
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": "\u003e=20.18.0 \u003c25"
|
|
30
|
+
},
|
|
31
|
+
"bin": {
|
|
32
|
+
"laxy-verify": "dist/cli.js"
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist/"
|
|
36
|
+
],
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "tsc",
|
|
39
|
+
"start": "node dist/cli.js",
|
|
40
|
+
"test": "vitest run",
|
|
41
|
+
"test:coverage": "vitest run --coverage"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@lhci/cli": "^0.14.0",
|
|
45
|
+
"chrome-launcher": "^0.13.4",
|
|
46
|
+
"js-yaml": "^4.1.0",
|
|
47
|
+
"lighthouse": "^12.1.0",
|
|
48
|
+
"pixelmatch": "^7.1.0",
|
|
49
|
+
"pngjs": "^7.0.0",
|
|
50
|
+
"puppeteer": "^24.40.0",
|
|
51
|
+
"tree-kill": "^1.2.2"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@types/js-yaml": "^4.0.9",
|
|
55
|
+
"@types/node": "^20.0.0",
|
|
56
|
+
"typescript": "^5.4.0",
|
|
57
|
+
"vitest": "^2.0.0"
|
|
58
|
+
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"playwright": "^1.40.0"
|
|
61
|
+
},
|
|
62
|
+
"peerDependenciesMeta": {
|
|
63
|
+
"playwright": {
|
|
64
|
+
"optional": true
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
67
|
}
|