monorepo/
├ app/
│ ├ public/
│ ├ server/
│ ├ .eslintrc.js
│ ├ app.vue
│ ├ nuxt.config.ts
│ ├ package.json
│ └ tsconfig.json
├ packages/
│ └ eslint-config-custom/
│ ├ index.js
│ └ package.json
├ .gitignore
├ .npmrc
├ package.json
├ pnpm-lock.yaml
├ pnpm-workspace.yaml
└ turbo.json
$ pnpm init
packages:
- 'app'
- 'packages/*'
$ pnpm add -wD turbo
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {}
}
$ cd app
$ npx nuxi@latest init nuxt-app
$ mv nuxt-app/* .
{
"scripts": {
"build": "turbo run build" // 👈これを追加
},
...
}
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/*", ".output/*", ".nuxt/*"]
},
}
}
$ pnpm build
{
"name": "eslint-config-custom",
"version": "0.0.0",
"private": true,
"main": "index.js"
}
$ cd packages/eslint-config-custom
$ pnpm add @nuxt/eslint-config
module.exports = {
extends: ['@nuxt/eslint-config'],
rules: {
// 任意のルールを追加
},
}
$ cd ../../app
$ pnpm add -D eslint
$ pnpm add -D eslint-config-custom --workspace
module.exports = {
root: true,
extends: ['custom'],
}
{
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare",
"lint": "eslint . --ext .js,.ts,.vue" // 👈これを追加
},
...
}
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/*", ".output/*", ".nuxt/*"]
},
"lint": {} // 👈これを追加
}
}