Prettier
Official module: dagger/prettier
Install with dagger mod install github.com/dagger/prettier.
What It Is​
The Prettier module checks and rewrites formatting for files handled by Prettier.
Use it when formatting should be boring, consistent, and enforced before code review.
Use It For​
- Check formatting in CI and Dagger Cloud.
- Generate a formatted version of the source.
- Keep formatting policy separate from lint rules.
Main Workflows​
check: fail when files are not formatted.write: return source with Prettier formatting applied.
How to Use It​
Install the module, then run its check:
dagger mod install github.com/dagger/prettier
dagger check # run every check in the workspace
dagger check prettier:check # fail when source files are not formatted
check installs dependencies and runs prettier --check . over the whole workspace using the project's own Prettier configuration, failing if any file is not formatted.
Settings​
List the current settings and their values with dagger settings prettier, then set one with dagger settings prettier <key> <value>. Settings are stored in .dagger/config.toml under [modules.prettier.settings].
packageManager(defaultnpm): the package manager used to install dependencies before checking. Set it toyarnorpnpmto match the project, so the same lockfile and dependency versions are used.baseImageAddress(defaultnode:25-alpine): the Node base image Prettier runs in. Pin it to the project's Node version, for examplenode:22-alpine.
[modules.prettier.settings]
packageManager = "pnpm"
baseImageAddress = "node:22-alpine"
Rewriting files​
Prettier also exposes a write function that runs prettier --write . and returns the reformatted source as a changeset. The changeset is limited to the file types Prettier owns here (.js, .ts, .jsx, .md). It is a regular function rather than a check, so it does not run during dagger check; call it with dagger function call (run dagger function list to see available functions).
Workspace Fit​
Prettier works well next to ESLint: ESLint checks code quality, Prettier owns formatting. If the project uses Biome for both, use the Biome module instead.
Source​
Source repo: github.com/dagger/prettier