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に始めますと言って進捗がないので正直期待はできない)