[fix] site,docs: 굽기 제외는 stay 하나로 — stay2 는 실제 사이트가 쓰고 있다
앞 커밋(7425cb4)이 stay2·stay3 까지 막아 버터브루(slug=stay2) 재굽기가 실패했다
(실측 2026-09-15: `✗ stay2 — 슬러그 'stay2' 는 시연본이…`, 프리렌더 exit 1).
시연본은 `/s/stay` 하나다(mockup/README 2.1) — 자산도 `/s/stay/` 밑으로 자급자족이라
다른 사이트를 다 구워도 안 깨진다.
- prerender.ts: PROTECTED_SLUGS 기본값 `stay`
- AGENTS.md: 같은 내용
tsc·eslint 통과
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
7425cb409e
commit
a1a416ca4a
@ -34,8 +34,8 @@
|
||||
→ **`out/assets` 에서 파일을 지우는 코드는 `out/s/**` 의 HTML 이 참조하는 것을 먼저 뺀다**
|
||||
(`prerender.ts` `referencedAssets`). 보관 기간으로는 못 막는다 — 기간이 지나면 같은 일이 난다.
|
||||
→ 목업을 다루는 작업은 `out/s/` 를 먼저 열어 **payload 가 없는 디렉토리가 무엇인지** 본다.
|
||||
→ ★ **목업 슬러그는 프리렌더가 굽지 않는다** (`prerender.ts` `PROTECTED_SLUGS`, 기본
|
||||
`stay,stay2,stay3` · `PRERENDER_PROTECTED_SLUGS` 로 덮어쓴다). "payload 가 없으면 안 굽는다"
|
||||
→ ★ **`stay` 는 프리렌더가 굽지 않는다** (`prerender.ts` `PROTECTED_SLUGS`, 기본 `stay` ·
|
||||
`PRERENDER_PROTECTED_SLUGS` 로 덮어쓴다). "payload 가 없으면 안 굽는다"
|
||||
는 보호가 못 된다 — **payload 가 생기는 순간** 덮인다. 실측(2026-09-15): 누가 빌더에서
|
||||
슬러그 `stay` 로 발행해 `payloads/stay.json` 이 생기자 프리렌더가 `/s/stay` 를 그 payload 로
|
||||
구워 목업을 통째로 날렸다(캐치프레이즈 100개·미니 플레이어·날씨 문구·주입분 전부).
|
||||
|
||||
@ -88,11 +88,15 @@ const SITE_DIR = 's';
|
||||
* ★ 슬러그를 막는 것이지 발행을 막는 것이 아니다. 백엔드는 발행에 성공했다고 보고, 여기서
|
||||
* 실패 보고서를 써 준다 — 사장님 화면에 사유가 뜨고, 목업은 그대로 남는다.
|
||||
*
|
||||
* ★ `stay` 하나만 막는다. `stay2` · `stay3` 도 원래 목업이었지만 그 슬러그는 이미 실제 사이트가
|
||||
* 가져가 발행 중이라(버터브루 = stay2) 막으면 그 사이트가 재굽기에서 빠진다.
|
||||
* 시연본은 `/s/stay` 다(mockup/README 2.1).
|
||||
*
|
||||
* ★ 목업을 늘리거나 걷어낼 때는 `PRERENDER_PROTECTED_SLUGS`(쉼표) 로 덮어쓴다. 값을 비우면
|
||||
* 보호가 전부 풀린다 — 목업을 정식 사이트로 넘길 때만 그렇게 한다.
|
||||
*/
|
||||
const PROTECTED_SLUGS = new Set(
|
||||
(process.env.PRERENDER_PROTECTED_SLUGS ?? 'stay,stay2,stay3')
|
||||
(process.env.PRERENDER_PROTECTED_SLUGS ?? 'stay')
|
||||
.split(',')
|
||||
.map((slug) => slug.trim())
|
||||
.filter(Boolean),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user