vk-blocks
Last commit date
build
1 week ago
editor-css
2 weeks ago
inc
1 week ago
languages
1 week ago
lib
1 year ago
options-css
9 months ago
src
1 week ago
vendor
1 week ago
composer.json
1 week ago
composer.lock
1 week ago
eslint.config.js
2 weeks ago
readme.txt
1 week ago
screenshot-1.png
4 years ago
screenshot-2.png
4 years ago
vk-blocks.php
1 week ago
eslint.config.js
68 lines
| 1 | /** |
| 2 | * ESLint フラットコンフィグ。 |
| 3 | * |
| 4 | * ESLint 9 / @wordpress/scripts v32 以降はレガシーな .eslintrc.js を読み込まず、 |
| 5 | * フラットコンフィグ(eslint.config.js)のみをサポートする。 |
| 6 | * そのため、@wordpress/scripts が提供するデフォルトのフラット設定 |
| 7 | * (@wordpress/eslint-plugin の recommended + テスト用の上書き + build/vendor 等の無視設定) |
| 8 | * を継承し、本プロジェクト固有のルール無効化(旧 .eslintrc.js と同等の� |
| 9 | 容)を末尾で上書きする。 |
| 10 | */ |
| 11 | const wpScriptsConfig = require('@wordpress/scripts/config/eslint.config.cjs'); |
| 12 | const globals = require('globals'); |
| 13 | |
| 14 | module.exports = [ |
| 15 | // ESLint 9 では .eslintignore が廃止されたため、従来の .eslintignore の� |
| 16 | 容を |
| 17 | // フラットコンフィグの ignores へ移行する。ブロックの deprecated 定義(過去バージョンの |
| 18 | // save 出力を保持するもの)は lint 対象外とし、翻訳用ダミーファイルも除外する。 |
| 19 | // build / node_modules / vendor は wpScriptsConfig 側の ignores で既に除外済み。 |
| 20 | { |
| 21 | ignores: ['**/deprecated/**', 'src/translation_dummy.js'], |
| 22 | }, |
| 23 | ...wpScriptsConfig, |
| 24 | { |
| 25 | // ESLint 9 のフラットコンフィグでは /* eslint-env browser */ コメントが無効化された。 |
| 26 | // view.js 等のフロントエンドスクリプトが使うブラウザのグローバル(MutationObserver, |
| 27 | // requestAnimationFrame, getComputedStyle 等)を設定側で定義し、no-undef を防ぐ。 |
| 28 | languageOptions: { |
| 29 | globals: { |
| 30 | ...globals.browser, |
| 31 | }, |
| 32 | }, |
| 33 | // 冗長な eslint-disable ディレクティブ(camelcase を� |
| 34 | �体で無効化したことで |
| 35 | // 不要になったインラインコメント等)の警告は大量に出るため抑制する。 |
| 36 | // TODO: 不要な eslint-disable コメントの除去が完了したら 'warn'(または 'error')へ戻す。 |
| 37 | linterOptions: { |
| 38 | reportUnusedDisableDirectives: 'off', |
| 39 | }, |
| 40 | rules: { |
| 41 | // @wordpress 既定の ignoreRestSiblings を維持しつつ、 |
| 42 | // catch 節の未使用引数(catch (e) など。ESLint 9 で既定が caughtErrors:'all' に変わった)と、 |
| 43 | // アンダースコア接頭辞の意図的な未使用変数(分割代� |
| 44 | �で spread から除外する _pt 等)を許容する。 |
| 45 | 'no-unused-vars': [ |
| 46 | 'error', |
| 47 | { |
| 48 | ignoreRestSiblings: true, |
| 49 | caughtErrors: 'none', |
| 50 | varsIgnorePattern: '^_', |
| 51 | argsIgnorePattern: '^_', |
| 52 | }, |
| 53 | ], |
| 54 | // webpack エイリアス(@vkblocks/*)や WordPress 提供パッケージを |
| 55 | // ESLint の import リゾルバが解決できないため、これらのルールは無効化する。 |
| 56 | 'import/no-unresolved': 'off', |
| 57 | 'import/no-extraneous-dependencies': 'off', |
| 58 | camelcase: 'off', |
| 59 | '@wordpress/no-unsafe-wp-apis': 'off', |
| 60 | '@wordpress/i18n-translator-comments': 'off', |
| 61 | 'react-hooks/exhaustive-deps': 'off', |
| 62 | 'no-shadow': 'off', |
| 63 | 'jsdoc/no-undefined-types': 'off', |
| 64 | 'react-hooks/rules-of-hooks': 'off', |
| 65 | }, |
| 66 | }, |
| 67 | ]; |
| 68 |