Note
Looking for ESLint/Prettier support? We now only support OXC (oxlint + oxfmt). Check the last commit with ESLint/Prettier.
- Shared presets for OXC tools (oxlint + oxfmt)
- TypeScript configuration presets
- CLI for quick project setup
Important
New/updated rules will not be considered as breaking changes. Only API changes will be considered as breaking changes.
Just run this command in your project root directory:
pnpm dlx @julr/tooling-configs@latestpnpm add -D oxlint oxfmt @julr/tooling-configs// oxlint.config.ts
import { defineConfig } from 'oxlint'
import { julrPreset } from '@julr/tooling-configs/oxc/lint'
export default defineConfig({
extends: [julrPreset()],
})Options:
| Option | Type | Default | Description |
|---|---|---|---|
adonisjs |
boolean |
false |
Enable AdonisJS-specific rules |
perfectionist |
boolean |
false |
Enable import sorting via perfectionist |
export default defineConfig({
extends: [julrPreset({ adonisjs: true, perfectionist: true })],
})// oxfmt.config.ts
import { julrPreset } from '@julr/tooling-configs/oxc/fmt'
export default julrPreset()You can override any option:
export default julrPreset({ printWidth: 120, semi: true })Defaults: printWidth: 100, semi: false, singleQuote: true, trailingComma: 'all', arrowParens: 'avoid'.
{
"scripts": {
"lint": "oxlint",
"lint:fix": "oxlint --fix",
"format": "oxfmt --write ."
}
}Node (ESM):
{
"extends": "@julr/tooling-configs/tsconfigs/tsconfig.node",
"compilerOptions": {
"rootDir": "./",
"outDir": "./build"
}
}Node Next (ESM + ts extensions):
{
"extends": "@julr/tooling-configs/tsconfigs/tsconfig.node-next",
"compilerOptions": {
"rootDir": "./",
"outDir": "./build"
}
}Vue:
{
"extends": "@julr/tooling-configs/tsconfigs/tsconfig.vue",
"compilerOptions": {
"rootDir": "./",
"outDir": "./build"
}
}