logo
/
biomeでimport-orderの設定をする
2025-01-30
2025-01-30現在 eslint-plugin-import 相当のものはまだ進行中 → https://github.com/biomejs/biome/issues/3177
biomeだけで回避手段はなし
eslintの併用しか無い
しかし併用をするとせっかくbiomeで1s以内で終わるのが10sとかになるので意味がない
最小構成でやろうとしてもいまいち設定方法がわからないので、結局nextを読み込むことになる
https://github.com/ftzi/eslint-config-biome が不要なものはスキップしてくれるのでは?と思ったが、効果は感じられず
とりあえず動いたものはこれeslint.config.ts
import { FlatCompat } from "@eslint/eslintrc";
import type { Linter } from "eslint";
import biome from "eslint-config-biome";

const compat = new FlatCompat();

export default [
	{ ignores: ["src/park-ui", "src/types"] },
	...compat.extends("next/core-web-vitals"),
	{
		files: ["**/*.{js,jsx,ts,tsx}"],
		rules: {
			"@next/next/no-img-element": "off",
			"import/order": [
				"warn",
				{
					alphabetize: {
						caseInsensitive: true,
						order: "asc",
					},
					groups: [
						"builtin",
						"external",
						"internal",
						"parent",
						"sibling",
						"index",
						"object",
						"type",
					],
					"newlines-between": "always",
					pathGroupsExcludedImportTypes: ["builtin"],
				},
			],
			"react/jsx-sort-props": "warn",
		},
	},
	biome,
] satisfies Linter.Config[];

これならbiomeを使わないほうが良いのでは?
上記issueはサブスクライブしたので早く実装されることを願う(6月に立って、9/26に始めますと言って進捗がないので正直期待はできない)