@taiyme/eslint-config
v1.0.1
Published
taiyのためのESLint共有設定
Downloads
1,158
Readme
@taiyme/eslint-config
taiyのためのESLint共有設定です。
インストール
※ pnpmではない場合は各自で読み替えてください。
次のパッケージをインストールします。
eslintjitiglobals@typescript-eslint/parsereslint-config-flat-gitignore@taiyme/eslint-config
pnpm add -D eslint jiti globals @typescript-eslint/parser eslint-config-flat-gitignore @taiyme/eslint-configセットアップ
eslint.config.ts の設定
eslint.config.ts を作成し、次のように構成します。
※ @taiyme/eslint-config は files を指定していないため、必ず自分で指定してください。
import taiymeConfig from '@taiyme/eslint-config';
import tsEslintParser from '@typescript-eslint/parser';
import gitignore from 'eslint-config-flat-gitignore';
import { defineConfig } from 'eslint/config';
import globals from 'globals';
const files = ['**/*.{js,jsx,ts,tsx}'];
export default defineConfig([
gitignore(),
{
files,
languageOptions: {
globals: {
...globals.node,
},
parser: tsEslintParser,
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
},
{
files,
extends: [
taiymeConfig.configs.typescript, // TypeScript 推奨ルール
taiymeConfig.configs.react, // React 推奨ルール
taiymeConfig.configs.stylistic, // TypeScript/JSX 文体ルール
],
},
// ...
]);tsconfig.json の設定
tsconfig.json に、次のオプションを必要に応じて追記します。
{
"compilerOptions": {
"strict": true,
"noFallthroughCasesInSwitch": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noUncheckedIndexedAccess": true,
"checkJs": true,
"skipLibCheck": true,
"isolatedModules": true,
"verbatimModuleSyntax": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
},
}package.json の設定
package.json に、次のスクリプトを必要に応じて追記します。
{
"scripts": {
"lint": "eslint",
"lint:fix": "eslint --fix"
}
}.vscode/settings.json の設定
.vscode/settings.json に、次の設定を必要に応じて追記します。
※ ESLintの拡張機能 をインストールする必要があります。
{
"prettier.enable": false,
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "never",
"source.removeUnusedImports": "never",
"source.sortImports": "never",
},
"eslint.useFlatConfig": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
],
"typescript.tsdk": "./node_modules/typescript/lib",
}仕様
ESLint Config Inspectorを参照してください: https://eslint-config.taiy.me/
