Skip to content

jmlweb-tooling

A collection of shared configuration packages for modern JavaScript and TypeScript projects. These packages provide consistent, opinionated configurations for popular development tools.

Oxfmt

Fast code formatting with import sorting and Tailwind CSS class sorting. Recommended for new projects.

Oxlint

Fast linting for JavaScript, TypeScript, React and Node.js, with type-aware rules. Recommended for new projects.

Prettier and ESLint

The previous formatter and linter configurations, maintained for existing projects. ESLint still lints Astro files.

TypeScript

Strict TypeScript configurations for various project types including React, Next.js, and Node.js.

Testing

Pre-configured setups for Vitest and Jest testing frameworks.

Build Tools

Build configurations for tsdown and Vite with optimized defaults.

Commit

Commitlint configuration following Conventional Commits specification.

  • Zero Configuration: Drop-in configurations that work out of the box
  • Opinionated: Sensible defaults based on industry best practices
  • Extensible: Easy to override and customize for your specific needs
  • Type-Safe: Full TypeScript support across all packages
  • Monorepo Friendly: Designed to work seamlessly in monorepo setups

All packages are published to npm under the @jmlweb scope. Install the configurations you need:

Terminal window
# Formatter
pnpm add -D @jmlweb/oxfmt-config-base oxfmt
# Linter
pnpm add -D @jmlweb/oxlint-config-base oxlint oxlint-tsgolint
# TypeScript configuration
pnpm add -D @jmlweb/tsconfig-base typescript

See Getting Started for the setup, or Migrate to Oxc to move a project from Prettier and ESLint.

All packages are maintained in a single monorepo: github.com/jmlweb/tooling

Report issues and contribute at: github.com/jmlweb/tooling/issues