@se-studio/site-check 2.1.1 → 2.1.3
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/CHANGELOG.md +15 -0
- package/README.md +11 -1
- package/dist/smoke-test/cache-log-audit.d.ts +22 -0
- package/dist/smoke-test/cache-log-audit.d.ts.map +1 -0
- package/dist/smoke-test/cache-log-audit.js +85 -0
- package/dist/smoke-test/cache-log-audit.js.map +1 -0
- package/dist/smoke-test/index.d.ts +2 -0
- package/dist/smoke-test/index.d.ts.map +1 -1
- package/dist/smoke-test/index.js +1 -0
- package/dist/smoke-test/index.js.map +1 -1
- package/dist/smoke-test/runner.d.ts.map +1 -1
- package/dist/smoke-test/runner.js +11 -2
- package/dist/smoke-test/runner.js.map +1 -1
- package/package.json +1 -1
- package/smoke-test-one.mjs +76 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.1.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fix `smoke-test:audit` hanging after `Running smoke tests...`: replace `spawnSync` with async spawn so piped dev-server logs keep draining during smoke HTTP requests.
|
|
8
|
+
|
|
9
|
+
## 2.1.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Add cache log audit: `SMOKE_TEST_AUDIT_CACHE_LOGS=true` captures server/build stdout and scans for 2MB Data Cache failures, Next `cache skip` lines, and unexpected `hard refresh` during smoke runs.
|
|
14
|
+
- Export `auditCacheLogs`, `formatCacheLogAuditReport`, and `getCacheLogAuditExitCode` from `@se-studio/site-check/smoke-test`.
|
|
15
|
+
- Smoke runner uses explicit `cache: 'default'` fetch (no `Cache-Control: no-cache`).
|
|
16
|
+
- `LOG_CMS_FETCH=1` is set when audit or cache verify is enabled.
|
|
17
|
+
|
|
3
18
|
## 2.1.1
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -112,7 +112,17 @@ pnpm smoke-test # dev server + smoke (default dev:de
|
|
|
112
112
|
|
|
113
113
|
Add `smoke.cases.json` and `scripts/smoke-test-run.ts`. No Contentful or `cms-server` imports required. Set `SMOKE_TEST_IGNORE=true` in `.env.local` to skip the full `smoke-test` CI script.
|
|
114
114
|
|
|
115
|
-
**`smoke-test-one` env:**
|
|
115
|
+
**`smoke-test-one` env:**
|
|
116
|
+
|
|
117
|
+
| Variable | Purpose |
|
|
118
|
+
|----------|---------|
|
|
119
|
+
| `SMOKE_TEST_SERVER_SCRIPT=dev:dev` | Default dev server; use `start` for prod-like server (runs `pnpm build` first) |
|
|
120
|
+
| `SMOKE_TEST_VERIFY_CACHE=true` | Run smoke twice; assert `x-nextjs-cache` on HTML (meaningful with `start`, soft in `next dev`) |
|
|
121
|
+
| `SMOKE_TEST_AUDIT_CACHE_LOGS=true` | Pipe server/build logs and scan for 2MB cache failures, `cache skip`, and `hard refresh` |
|
|
122
|
+
| `SMOKE_TEST_CACHE_SKIP_SEVERITY=warn` | `warn` or `error` for cache-skip log lines (default `warn`) |
|
|
123
|
+
| `SMOKE_TEST_READY_PATH=/` | Path polled until the server responds |
|
|
124
|
+
|
|
125
|
+
`LOG_CMS_FETCH=1` is set when verify-cache or audit-cache-logs is enabled. The smoke HTTP client never sends `Cache-Control: no-cache`.
|
|
116
126
|
|
|
117
127
|
## Exit codes
|
|
118
128
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** biome-ignore-all lint/suspicious/noConsole: CLI output is intentional */
|
|
2
|
+
export type CacheLogAuditSeverity = 'error' | 'warn';
|
|
3
|
+
export interface CacheLogAuditMatch {
|
|
4
|
+
severity: CacheLogAuditSeverity;
|
|
5
|
+
rule: string;
|
|
6
|
+
line: string;
|
|
7
|
+
lineNumber: number;
|
|
8
|
+
}
|
|
9
|
+
export interface CacheLogAuditOptions {
|
|
10
|
+
/** Severity for Next.js `cache skip` / `Cache skipped reason` lines. Default `warn`. */
|
|
11
|
+
cacheSkipSeverity?: CacheLogAuditSeverity;
|
|
12
|
+
}
|
|
13
|
+
export interface CacheLogAuditResult {
|
|
14
|
+
errors: CacheLogAuditMatch[];
|
|
15
|
+
warnings: CacheLogAuditMatch[];
|
|
16
|
+
errorCount: number;
|
|
17
|
+
warnCount: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function auditCacheLogs(logText: string, options?: CacheLogAuditOptions): CacheLogAuditResult;
|
|
20
|
+
export declare function getCacheLogAuditExitCode(result: CacheLogAuditResult): number;
|
|
21
|
+
export declare function formatCacheLogAuditReport(result: CacheLogAuditResult): string;
|
|
22
|
+
//# sourceMappingURL=cache-log-audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-log-audit.d.ts","sourceRoot":"","sources":["../../src/smoke-test/cache-log-audit.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAcD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,mBAAmB,CAkDrB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAE5E;AAWD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAa7E"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/** biome-ignore-all lint/suspicious/noConsole: CLI output is intentional */
|
|
2
|
+
const RULE_DATA_CACHE_2MB = 'data-cache-2mb';
|
|
3
|
+
const RULE_CACHE_SKIP = 'cache-skip';
|
|
4
|
+
const RULE_HARD_REFRESH = 'hard-refresh';
|
|
5
|
+
const PATTERN_DATA_CACHE_2MB = /Failed to set Next\.js data cache|over 2MB can not be cached/i;
|
|
6
|
+
const PATTERN_CACHE_SKIP = /cache skip|Cache skipped reason/i;
|
|
7
|
+
const PATTERN_HARD_REFRESH = /hard refresh/i;
|
|
8
|
+
function resolveCacheSkipSeverity(options) {
|
|
9
|
+
return options?.cacheSkipSeverity ?? 'warn';
|
|
10
|
+
}
|
|
11
|
+
export function auditCacheLogs(logText, options) {
|
|
12
|
+
const cacheSkipSeverity = resolveCacheSkipSeverity(options);
|
|
13
|
+
const errors = [];
|
|
14
|
+
const warnings = [];
|
|
15
|
+
const lines = logText.split('\n');
|
|
16
|
+
for (let index = 0; index < lines.length; index++) {
|
|
17
|
+
const line = lines[index] ?? '';
|
|
18
|
+
const trimmed = line.trim();
|
|
19
|
+
if (!trimmed)
|
|
20
|
+
continue;
|
|
21
|
+
const lineNumber = index + 1;
|
|
22
|
+
if (PATTERN_DATA_CACHE_2MB.test(trimmed)) {
|
|
23
|
+
errors.push({
|
|
24
|
+
severity: 'error',
|
|
25
|
+
rule: RULE_DATA_CACHE_2MB,
|
|
26
|
+
line: trimmed,
|
|
27
|
+
lineNumber,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (PATTERN_HARD_REFRESH.test(trimmed)) {
|
|
31
|
+
errors.push({
|
|
32
|
+
severity: 'error',
|
|
33
|
+
rule: RULE_HARD_REFRESH,
|
|
34
|
+
line: trimmed,
|
|
35
|
+
lineNumber,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
else if (PATTERN_CACHE_SKIP.test(trimmed)) {
|
|
39
|
+
const match = {
|
|
40
|
+
severity: cacheSkipSeverity,
|
|
41
|
+
rule: RULE_CACHE_SKIP,
|
|
42
|
+
line: trimmed,
|
|
43
|
+
lineNumber,
|
|
44
|
+
};
|
|
45
|
+
if (cacheSkipSeverity === 'error') {
|
|
46
|
+
errors.push(match);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
warnings.push(match);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
errors,
|
|
55
|
+
warnings,
|
|
56
|
+
errorCount: errors.length,
|
|
57
|
+
warnCount: warnings.length,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function getCacheLogAuditExitCode(result) {
|
|
61
|
+
return result.errorCount > 0 ? 1 : 0;
|
|
62
|
+
}
|
|
63
|
+
function formatMatches(label, matches) {
|
|
64
|
+
if (matches.length === 0)
|
|
65
|
+
return [];
|
|
66
|
+
const lines = [` ${label}:`];
|
|
67
|
+
for (const match of matches) {
|
|
68
|
+
lines.push(` - [${match.rule}] line ${match.lineNumber}: ${match.line}`);
|
|
69
|
+
}
|
|
70
|
+
return lines;
|
|
71
|
+
}
|
|
72
|
+
export function formatCacheLogAuditReport(result) {
|
|
73
|
+
const lines = [];
|
|
74
|
+
lines.push('## cache-log-audit');
|
|
75
|
+
lines.push(` errors: ${result.errorCount}, warnings: ${result.warnCount}`);
|
|
76
|
+
if (result.errorCount === 0 && result.warnCount === 0) {
|
|
77
|
+
lines.push(' cache log audit: ok');
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
lines.push(...formatMatches('errors', result.errors));
|
|
81
|
+
lines.push(...formatMatches('warnings', result.warnings));
|
|
82
|
+
}
|
|
83
|
+
return lines.join('\n');
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=cache-log-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-log-audit.js","sourceRoot":"","sources":["../../src/smoke-test/cache-log-audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export type { CacheLogAuditMatch, CacheLogAuditOptions, CacheLogAuditResult, CacheLogAuditSeverity, } from './cache-log-audit.js';
|
|
2
|
+
export { auditCacheLogs, formatCacheLogAuditReport, getCacheLogAuditExitCode, } from './cache-log-audit.js';
|
|
1
3
|
export { formatSmokeTestReport, getSmokeTestExitCode, isSmokeTestCacheVerifyResult, parseNextJsCacheHeader, runSmokeTest, runSmokeTestWithCacheVerify, } from './runner.js';
|
|
2
4
|
export { joinSmokeBaseUrl, loadStaticSmokeConfig, runStaticSmokeTest } from './static.js';
|
|
3
5
|
export type { LoadStaticSmokeConfigOptions, NextJsCacheStatus, RunStaticSmokeTestOptions, SmokeFailureReason, SmokeTestCacheVerifyResult, SmokeTestCase, SmokeTestCaseResult, SmokeTestCategory, SmokeTestResult, SmokeTestRunnerConfig, StaticSmokeCaseDefinition, StaticSmokeConfigFile, } from './types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/smoke-test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,YAAY,EACZ,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC1F,YAAY,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/smoke-test/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,YAAY,EACZ,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC1F,YAAY,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
package/dist/smoke-test/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { auditCacheLogs, formatCacheLogAuditReport, getCacheLogAuditExitCode, } from './cache-log-audit.js';
|
|
1
2
|
export { formatSmokeTestReport, getSmokeTestExitCode, isSmokeTestCacheVerifyResult, parseNextJsCacheHeader, runSmokeTest, runSmokeTestWithCacheVerify, } from './runner.js';
|
|
2
3
|
export { joinSmokeBaseUrl, loadStaticSmokeConfig, runStaticSmokeTest } from './static.js';
|
|
3
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/smoke-test/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/smoke-test/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,YAAY,EACZ,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/smoke-test/runner.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,KAAK,EACV,iBAAiB,EAEjB,0BAA0B,EAG1B,eAAe,EACf,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAapB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAOrF;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/smoke-test/runner.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,KAAK,EACV,iBAAiB,EAEjB,0BAA0B,EAG1B,eAAe,EACf,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAapB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAOrF;AAgGD,wBAAsB,YAAY,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqC1F;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,0BAA0B,CAAC,CA2DrC;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,eAAe,GAAG,0BAA0B,GACnD,MAAM,IAAI,0BAA0B,CAEtC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,0BAA0B,GAAG,MAAM,CAQjG;AAuFD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,GAAG,0BAA0B,GACnD,MAAM,CAiBR"}
|
|
@@ -47,7 +47,12 @@ async function checkCase(testCase, minMarkdownLength, fetchFn) {
|
|
|
47
47
|
let htmlNextCache = null;
|
|
48
48
|
let markdownNextCache = null;
|
|
49
49
|
try {
|
|
50
|
-
|
|
50
|
+
// Smoke client uses plain GET — never send Cache-Control: no-cache (would mimic browser hard refresh).
|
|
51
|
+
const htmlRes = await fetchFn(testCase.pageUrl, {
|
|
52
|
+
method: 'GET',
|
|
53
|
+
redirect: 'follow',
|
|
54
|
+
cache: 'default',
|
|
55
|
+
});
|
|
51
56
|
htmlStatus = htmlRes.status;
|
|
52
57
|
htmlNextCache = parseNextJsCacheHeader(htmlRes.headers.get('x-nextjs-cache'));
|
|
53
58
|
if (htmlStatus < 200 || htmlStatus >= 300) {
|
|
@@ -61,7 +66,11 @@ async function checkCase(testCase, minMarkdownLength, fetchFn) {
|
|
|
61
66
|
if (testCase.expectMarkdown) {
|
|
62
67
|
const mdUrl = htmlUrlToMarkdownUrl(testCase.pageUrl);
|
|
63
68
|
try {
|
|
64
|
-
const mdRes = await fetchFn(mdUrl, {
|
|
69
|
+
const mdRes = await fetchFn(mdUrl, {
|
|
70
|
+
method: 'GET',
|
|
71
|
+
redirect: 'follow',
|
|
72
|
+
cache: 'default',
|
|
73
|
+
});
|
|
65
74
|
markdownStatus = mdRes.status;
|
|
66
75
|
markdownContentType = mdRes.headers.get('content-type');
|
|
67
76
|
markdownNextCache = parseNextJsCacheHeader(mdRes.headers.get('x-nextjs-cache'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/smoke-test/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/smoke-test/runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/smoke-test-one.mjs
CHANGED
|
@@ -8,16 +8,21 @@
|
|
|
8
8
|
* SMOKE_TEST_IGNORE=true — skip entirely
|
|
9
9
|
* SMOKE_TEST_SERVER_SCRIPT=dev:dev — pnpm script to start server (default dev:dev; use "start" for prod)
|
|
10
10
|
* SMOKE_TEST_VERIFY_CACHE=true — run smoke twice and assert cache headers / timing
|
|
11
|
+
* SMOKE_TEST_AUDIT_CACHE_LOGS=true — capture server/build logs and scan for cache problems
|
|
12
|
+
* SMOKE_TEST_CACHE_SKIP_SEVERITY=warn — cache-skip log severity: warn | error (default warn)
|
|
11
13
|
* SMOKE_TEST_READY_PATH=/ — path polled until server responds
|
|
12
14
|
* SMOKE_TEST_USE_RUNNING_SERVER=true — reuse server already on port (default true)
|
|
13
|
-
* LOG_CMS_FETCH=1 — set
|
|
15
|
+
* LOG_CMS_FETCH=1 — set when VERIFY_CACHE or AUDIT_CACHE_LOGS is true
|
|
14
16
|
*/
|
|
15
17
|
|
|
16
18
|
import net from 'node:net';
|
|
17
19
|
import fs from 'node:fs';
|
|
18
20
|
import path from 'node:path';
|
|
21
|
+
import { fileURLToPath } from 'node:url';
|
|
19
22
|
import { spawn, spawnSync } from 'node:child_process';
|
|
20
23
|
|
|
24
|
+
const packageDir = path.dirname(fileURLToPath(import.meta.url));
|
|
25
|
+
|
|
21
26
|
const port = process.argv[2];
|
|
22
27
|
if (!port || !/^\d+$/.test(port)) {
|
|
23
28
|
console.error('Usage: smoke-test-one <port>');
|
|
@@ -139,6 +144,36 @@ function killProcessTree(child) {
|
|
|
139
144
|
}
|
|
140
145
|
}
|
|
141
146
|
|
|
147
|
+
function appendTeeLog(buffer, chunk, stream) {
|
|
148
|
+
const text = typeof chunk === 'string' ? chunk : chunk.toString();
|
|
149
|
+
buffer.text += text;
|
|
150
|
+
stream.write(text);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function attachTeeHandlers(child, buffer) {
|
|
154
|
+
child.stdout?.setEncoding('utf8');
|
|
155
|
+
child.stderr?.setEncoding('utf8');
|
|
156
|
+
child.stdout?.on('data', (chunk) => appendTeeLog(buffer, chunk, process.stdout));
|
|
157
|
+
child.stderr?.on('data', (chunk) => appendTeeLog(buffer, chunk, process.stderr));
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
function runSmokeTests(appDir, smokeEnv) {
|
|
161
|
+
return new Promise((resolve, reject) => {
|
|
162
|
+
const child = spawn('pnpm', ['smoke-test:run'], {
|
|
163
|
+
cwd: appDir,
|
|
164
|
+
stdio: 'inherit',
|
|
165
|
+
env: smokeEnv,
|
|
166
|
+
});
|
|
167
|
+
child.on('error', reject);
|
|
168
|
+
child.on('exit', (code) => resolve(code ?? 1));
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
async function loadCacheLogAudit() {
|
|
173
|
+
const modulePath = path.join(packageDir, 'dist/smoke-test/cache-log-audit.js');
|
|
174
|
+
return import(modulePath);
|
|
175
|
+
}
|
|
176
|
+
|
|
142
177
|
const env = loadEnv();
|
|
143
178
|
|
|
144
179
|
if ((env.SMOKE_TEST_IGNORE ?? '').toLowerCase() === 'true') {
|
|
@@ -148,28 +183,42 @@ if ((env.SMOKE_TEST_IGNORE ?? '').toLowerCase() === 'true') {
|
|
|
148
183
|
|
|
149
184
|
const serverScript = env.SMOKE_TEST_SERVER_SCRIPT ?? 'dev:dev';
|
|
150
185
|
const verifyCache = (env.SMOKE_TEST_VERIFY_CACHE ?? '').toLowerCase() === 'true';
|
|
186
|
+
const auditCacheLogsEnabled = (env.SMOKE_TEST_AUDIT_CACHE_LOGS ?? '').toLowerCase() === 'true';
|
|
187
|
+
const cacheSkipSeverity =
|
|
188
|
+
(env.SMOKE_TEST_CACHE_SKIP_SEVERITY ?? 'warn').toLowerCase() === 'error' ? 'error' : 'warn';
|
|
151
189
|
const useRunningServer = (env.SMOKE_TEST_USE_RUNNING_SERVER ?? 'true').toLowerCase() !== 'false';
|
|
152
190
|
const readyPath = env.SMOKE_TEST_READY_PATH ?? '/';
|
|
153
191
|
const readyUrl = `${baseUrl}${readyPath.startsWith('/') ? readyPath : `/${readyPath}`}`;
|
|
154
192
|
const isProductionStart = serverScript === 'start';
|
|
155
193
|
const startTimeoutMs = isProductionStart ? 120_000 : 300_000;
|
|
156
194
|
|
|
195
|
+
const logBuffer = { text: '' };
|
|
196
|
+
|
|
157
197
|
if (isProductionStart) {
|
|
158
198
|
console.log('Building app...');
|
|
159
199
|
const buildResult = spawnSync('pnpm', ['build'], {
|
|
160
200
|
cwd: appDir,
|
|
161
|
-
stdio: 'inherit',
|
|
201
|
+
stdio: auditCacheLogsEnabled ? 'pipe' : 'inherit',
|
|
162
202
|
env,
|
|
203
|
+
encoding: auditCacheLogsEnabled ? 'utf8' : undefined,
|
|
163
204
|
});
|
|
205
|
+
if (auditCacheLogsEnabled) {
|
|
206
|
+
logBuffer.text += buildResult.stdout ?? '';
|
|
207
|
+
logBuffer.text += buildResult.stderr ?? '';
|
|
208
|
+
if (buildResult.stdout) process.stdout.write(buildResult.stdout);
|
|
209
|
+
if (buildResult.stderr) process.stderr.write(buildResult.stderr);
|
|
210
|
+
}
|
|
164
211
|
if (buildResult.status !== 0) {
|
|
165
212
|
process.exit(buildResult.status ?? 1);
|
|
166
213
|
}
|
|
167
214
|
}
|
|
168
215
|
|
|
216
|
+
const enableCmsFetchLog = verifyCache || auditCacheLogsEnabled;
|
|
169
217
|
const smokeEnv = {
|
|
170
218
|
...env,
|
|
171
219
|
SMOKE_TEST_PORT: port,
|
|
172
|
-
...(verifyCache ? { SMOKE_TEST_VERIFY_CACHE: 'true'
|
|
220
|
+
...(verifyCache ? { SMOKE_TEST_VERIFY_CACHE: 'true' } : {}),
|
|
221
|
+
...(enableCmsFetchLog ? { LOG_CMS_FETCH: '1' } : {}),
|
|
173
222
|
};
|
|
174
223
|
|
|
175
224
|
console.log(`Smoke test: checking ${readyUrl} (port ${port})...`);
|
|
@@ -184,6 +233,11 @@ try {
|
|
|
184
233
|
|
|
185
234
|
if (serverUp && useRunningServer) {
|
|
186
235
|
console.log(`Using existing server at ${readyUrl}.`);
|
|
236
|
+
if (auditCacheLogsEnabled) {
|
|
237
|
+
console.warn(
|
|
238
|
+
'SMOKE_TEST_AUDIT_CACHE_LOGS=true but reusing an existing server — server logs cannot be captured.',
|
|
239
|
+
);
|
|
240
|
+
}
|
|
187
241
|
} else if (serverUp && !useRunningServer) {
|
|
188
242
|
console.error(
|
|
189
243
|
`Server already running at ${readyUrl}. Stop it first, or set SMOKE_TEST_USE_RUNNING_SERVER=true.`,
|
|
@@ -199,11 +253,15 @@ try {
|
|
|
199
253
|
server = spawn('pnpm', [serverScript], {
|
|
200
254
|
cwd: appDir,
|
|
201
255
|
env: smokeEnv,
|
|
202
|
-
stdio: 'inherit',
|
|
256
|
+
stdio: auditCacheLogsEnabled ? ['inherit', 'pipe', 'pipe'] : 'inherit',
|
|
203
257
|
detached: true,
|
|
204
258
|
});
|
|
205
259
|
spawnedServer = true;
|
|
206
260
|
|
|
261
|
+
if (auditCacheLogsEnabled) {
|
|
262
|
+
attachTeeHandlers(server, logBuffer);
|
|
263
|
+
}
|
|
264
|
+
|
|
207
265
|
const readyMs = await waitForServer(readyUrl, startTimeoutMs, {
|
|
208
266
|
child: server,
|
|
209
267
|
label: 'Dev server',
|
|
@@ -212,12 +270,20 @@ try {
|
|
|
212
270
|
}
|
|
213
271
|
|
|
214
272
|
console.log('Running smoke tests...');
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
273
|
+
// Must not use spawnSync here when audit pipes server logs — sync blocks the event loop,
|
|
274
|
+
// pipe buffers fill, and the dev server deadlocks mid-compile.
|
|
275
|
+
exitCode = await runSmokeTests(appDir, smokeEnv);
|
|
276
|
+
|
|
277
|
+
if (auditCacheLogsEnabled && spawnedServer) {
|
|
278
|
+
const { auditCacheLogs, formatCacheLogAuditReport, getCacheLogAuditExitCode } =
|
|
279
|
+
await loadCacheLogAudit();
|
|
280
|
+
const auditResult = auditCacheLogs(logBuffer.text, { cacheSkipSeverity });
|
|
281
|
+
console.log('');
|
|
282
|
+
console.log(formatCacheLogAuditReport(auditResult));
|
|
283
|
+
if (getCacheLogAuditExitCode(auditResult) !== 0) {
|
|
284
|
+
exitCode = 1;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
221
287
|
|
|
222
288
|
if (verifyCache) {
|
|
223
289
|
console.log('');
|