build: check that css template literals were not ended by a comment
A backtick inside a comment in a css`` literal ends the literal. It has cost four sessions across three plans, it is written down in CLAUDE.md, the skill and NOTES.md, and it was read twice in the session it then cost a cycle in. Knowledge that has been ignored three times is not a knowledge problem. The expense is the report, not the mistake: the literal ends early, the rest of the CSS parses as JavaScript, and tsc says 'Class static side incorrectly extends base class static side' pointing at a line of prose -- or, in a shared module, every test in the suite fails to import and the output reads like a broken test runner. make dev-headless mean- while keeps serving the last good bundle. Detection is exact rather than heuristic: if a backtick in a comment closed the literal early, the text the parser took as the literal contains an unterminated /*. Nothing else produces that. Verified both ways -- clean on the tree, and red on a deliberately broken comment.
This commit is contained in:
@@ -47,6 +47,15 @@ pre-commit:
|
||||
root: "frontend/"
|
||||
run: ./node_modules/.bin/tsc --noEmit
|
||||
|
||||
# A backtick in a comment inside a css`` literal ends the literal.
|
||||
# tsc does catch it, as "Class static side incorrectly extends base
|
||||
# class static side" pointing at a line of prose; this says what
|
||||
# actually happened. Instant.
|
||||
css-literals:
|
||||
glob: "frontend/**/*.ts"
|
||||
root: "frontend/"
|
||||
run: node scripts/check-css-literals.mjs
|
||||
|
||||
pre-push:
|
||||
parallel: true
|
||||
commands:
|
||||
|
||||
Reference in New Issue
Block a user