Biome
The Biome module runs Biome linting over your JavaScript and TypeScript source and can return a fixed version when Biome can repair issues. Reach for it when a project uses Biome as its main code quality tool, so a single combined tool handles both lint and format rules instead of a separate ESLint and Prettier pair.
Official module: dagger/biomejs
Add it to your workspace
dagger install github.com/dagger/biomejs
Run the check
dagger check # run every check in the workspace
dagger check biomejs:lint # run Biome against the workspace source
biomejs:lint installs dependencies and runs biome check over the whole workspace using the project's own biome.json. Biome's check covers both linting and formatting, which is why this single check replaces a separate ESLint and Prettier pair.
Fix issues
Biome also exposes a fix function that runs biome check --write and returns the repaired source as a changeset (covering .js, .ts, .jsx, .tsx). It is a regular function rather than a check, so it does not run during dagger check; call it with dagger api call (run dagger api functions to see available functions).
Configure it
List the current settings and their values with dagger settings biomejs, then set one with dagger settings biomejs <key> <value>. Settings are stored in dagger.toml under [modules.biomejs.settings]:
baseImageAddress(defaultnode:25-alpine): the Node base image Biome runs in. Pin it to the project's Node version, for examplenode:22-alpine. Biome installs with npm, so unlike the ESLint and Prettier modules there is no package-manager setting.
[modules.biomejs.settings]
baseImageAddress = "node:22-alpine"
Working with other modules
Use Biome for projects that already have Biome config. If your project uses ESLint and Prettier separately, use those modules instead.