pnpm i -D prettier eslint lint-staged @commitlint/cli @louishaftmann/eslint-config @louishaftmann/prettier-config @louishaftmann/commitlint-config @louishaftmann/lintstaged-config
eslint.config.js
:
Note
For import
s to work, you need to set "type": "module"
in your package.json
// @ts-check
// optional, if you have old eslint configs you want to use
import { FlatCompat } from '@eslint/eslintrc'
import eslintConfig from '@louishaftmann/eslint-config'
const compat = new FlatCompat()
export default eslintConfig({
nuxt: true,
tsconfigPath: './tsconfig.json',
})
.append(compat.extends('plugin:@tanstack/eslint-plugin-query/recommended'))
.append({
ignores: [],
})
Browser targets are configured using browserslist. You can configure browser targets in your package.json
:
{
// ...
"browserslist": [
"> 0.5% in DE, last 3 versions, Firefox ESR, not dead and fully supports es6-module",
"maintained node versions",
],
}
If no configuration is found, browserslist defaults to "> 0.5%, last 2 versions, Firefox ESR, not dead"
.
See browserslist/browserslist for more details.
prettier.config.js
:
export { default } from '@louishaftmann/prettier-config'
commitlint.config.cjs
:
module.exports = {
extends: ['@louishaftmann/commitlint-config'],
}
.vscode/settings.json
:
{
"prettier.enable": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
"source.organizeImports": false
},
"eslint.experimental.useFlatConfig": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"html",
"markdown",
"json",
"jsonc",
"yaml",
"dockercompose"
]
}
.lintstagedrc.js
:
Warning
When configured inside a pnpm workspace package, pass the package name as a parameter.
e.g. lintstagedConfig('web')
import lintstagedConfig from '@louishaftmann/lintstaged-config'
export default {
...lintstagedConfig(),
}
.prettierignore
:
dist/
.nuxt/
.output/
.temp/
pnpm-lock.yaml
package.json
:
{
"scripts": {
"prepare": "husky",
"lint": "eslint --cache . && prettier --check --cache .",
"ci:lint": "eslint --cache --cache-strategy content . && prettier --check --cache --cache-strategy content .",
"lint:fix": "eslint --fix --cache . && prettier --write --cache ."
}
}