複数のリンターと共有設定ファイルを含んだ統合リンターパッケージ
このパッケージ自体は空です。依存関係に以下のリンターと設定をリンクしています。
@d-zero/cspell-config
@d-zero/eslint-config
@d-zero/lint-staged-config
@d-zero/markuplint-config
@d-zero/prettier-config
@d-zero/pug-lint-config
@d-zero/stylelint-config
@d-zero/textlint-config
このパッケージは各依存パッケージのバージョン管理を簡潔にすることを目的としています。
npm install -D @d-zero/linters
プロジェクトで利用するには設定ファイルを用意する必要があります。このパッケージに含まれる設定ファイルを利用するには、それぞれの設定ファイルのExtends機能などを利用します。
PrettierがESM形式を要求するため、プロジェクトのモジュールタイプもESM形式にする必要があります。
// package.json
{
"type": "module"
}
cspell.json
{
"import": ["@d-zero/cspell-config"]
}
.eslintrc
{
"extends": ["@d-zero/eslint-config"]
}
@d-zero/eslint-config
の代わりに@d-zero/eslint-config/base
を利用します。
{
"extends": ["@d-zero/eslint-config/base"]
}
lint-staged.config.mjs
import lintStagedConfigGenerator from '@d-zero/lint-staged-config';
export default lintStagedConfigGenerator();
詳細: @d-zero/lint-staged-config
.markuplintrc
{
"extends": ["@d-zero/markuplint-config"]
}
.prettierrc.mjs
import config from '@d-zero/prettier-config';
export default config;
package.json
からは利用できません。
.pug-lintrc
{
"extends": "@d-zero/pug-lint-config"
}
.stylelintrc
{
"extends": ["@d-zero/stylelint-config"]
}
.textlintrc.js
module.exports = {
...require('@d-zero/textlint-config'),
};
.js
でもCommonJS形式で書きます。ESMには対応していません。
./scaffoldに各設定ファイルのサンプルを用意しています。