Update @fedify/init so that generated Node.js and Bun projects use Oxfmt for formatting and Oxlint for linting.
Background
The current Node.js/Bun templates already enable @fedify/lint through ESLint, so the main problem is not missing Fedify-specific lint rules. The problem is that the generated projects ship a split toolchain.
Today, generated Node.js/Bun projects carry biome.json and eslint.config.ts. Biome is used for formatting, while ESLint exists mainly to host @fedify/lint. That split is harder to justify now that Oxlint can load ESLint-compatible JS plugins and Oxfmt can cover the formatting side.
If @fedify/lint gains an official Oxlint entrypoint, @fedify/init should be able to generate Node.js/Bun projects that use Oxfmt + Oxlint from the start. That would make the generated toolchain more coherent and would avoid shipping Biome in templates that already depend on a separate lint stack.
This issue depends on #702. @fedify/init should consume an official Oxlint entrypoint from @fedify/lint rather than generating a template-local wrapper module.
Scope
- replace the Biome formatter setup in Node.js/Bun templates with Oxfmt
- replace ESLint config and lint scripts in Node.js/Bun templates with Oxlint config and scripts
- wire
@fedify/lint into the generated Oxlint config
- update generated editor settings and extension recommendations as needed
- extend
@fedify/init tests so the generated projects cover the new formatter/linter setup
Notes
The Deno templates do not have the same problem. They already use Deno's own formatter and lint plugin flow, so this issue should stay focused on Node.js and Bun.
Update
@fedify/initso that generated Node.js and Bun projects use Oxfmt for formatting and Oxlint for linting.Background
The current Node.js/Bun templates already enable
@fedify/lintthrough ESLint, so the main problem is not missing Fedify-specific lint rules. The problem is that the generated projects ship a split toolchain.Today, generated Node.js/Bun projects carry
biome.jsonandeslint.config.ts. Biome is used for formatting, while ESLint exists mainly to host@fedify/lint. That split is harder to justify now that Oxlint can load ESLint-compatible JS plugins and Oxfmt can cover the formatting side.If
@fedify/lintgains an official Oxlint entrypoint,@fedify/initshould be able to generate Node.js/Bun projects that use Oxfmt + Oxlint from the start. That would make the generated toolchain more coherent and would avoid shipping Biome in templates that already depend on a separate lint stack.This issue depends on #702.
@fedify/initshould consume an official Oxlint entrypoint from@fedify/lintrather than generating a template-local wrapper module.Scope
@fedify/lintinto the generated Oxlint config@fedify/inittests so the generated projects cover the new formatter/linter setupNotes
The Deno templates do not have the same problem. They already use Deno's own formatter and lint plugin flow, so this issue should stay focused on Node.js and Bun.