A refused build prints the same error once per resource file that imports the offending module:
$ just preview k3d ha
src/app/deployment.ts - error: postgres="bundled" is a single instance and cannot back an "ha" deployment — use postgres="cnpg" ...
src/app/pdb.ts - error: postgres="bundled" is a single instance and cannot back an "ha" deployment — use postgres="cnpg" ...
src/app/service.ts - error: postgres="bundled" is a single instance and cannot back an "ha" deployment — use postgres="cnpg" ...
src/backup/cronjob.ts - error: postgres="bundled" is a single instance and cannot back an "ha" deployment — use postgres="cnpg" ...
Four copies, and --param tier=light --param replicas=2 and the ingressClassName refusal do the same.
The errors themselves are excellent — each one names the parameter that fixes it. Repeating one four times makes a correct, well-written error look like four separate problems, and it buries the fix line under two screens of identical text when several files import params.ts.
Where it comes from
src/params.ts runs resolveSeams and resolveTier at module scope, so the throw happens on first import — once per importing module, as chant evaluates each resource file.
Possibly not ours
This may be chant's error reporting rather than anything this repo can fix: the same exception surfacing once per file under evaluation is reasonable behaviour for a build tool that reports per-file. If chant deduplicated identical messages across files in one build, this would go away for every project using it and not just this one.
Worth confirming which side owns it before changing anything here. Filing on this repo because this is where it was observed.
Low priority — cosmetic, and the error text is right.
Found while auditing the new-user path end to end.
A refused build prints the same error once per resource file that imports the offending module:
Four copies, and
--param tier=light --param replicas=2and theingressClassNamerefusal do the same.The errors themselves are excellent — each one names the parameter that fixes it. Repeating one four times makes a correct, well-written error look like four separate problems, and it buries the fix line under two screens of identical text when several files import
params.ts.Where it comes from
src/params.tsrunsresolveSeamsandresolveTierat module scope, so the throw happens on first import — once per importing module, as chant evaluates each resource file.Possibly not ours
This may be chant's error reporting rather than anything this repo can fix: the same exception surfacing once per file under evaluation is reasonable behaviour for a build tool that reports per-file. If chant deduplicated identical messages across files in one build, this would go away for every project using it and not just this one.
Worth confirming which side owns it before changing anything here. Filing on this repo because this is where it was observed.
Low priority — cosmetic, and the error text is right.
Found while auditing the new-user path end to end.