Skip to content

a refused build prints the same error once per resource file #62

Description

@lex00

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions