import/no-anonymous-default-export スタイル
何を報告するか
モジュールのデフォルトエクスポートが名前なしの場合に報告します。 これは、いくつかの種類の名前なしデータ型を含みます; リテラル、オブジェクト式、配列、匿名関数、アロー関数、 および匿名クラス宣言です。
なぜ問題なのか
デフォルトエクスポートが名前付きであることを保証することで、 同じ識別子をモジュールのデフォルトエクスポートの定義場所とインポート場所で再利用することを促進し、 コードベースの検索性(grepability)を向上させることができます。
例
このルールに対する不正なコードの例:
export default [];
export default () => {};
export default class {};
export default function() {};
export default foo(bar);
export default 123;
export default {};
export default new Foo();
export default `foo`;
export default /^123/;このルールに対する正しいコードの例:
const foo = 123;
export default foo;
export default function foo() {};
export default class MyClass {};
export default function foo() {};
export default foo(bar);
/* import/no-anonymous-default-export: ["error", { "allowLiteral": true }] */
export default 123;
/* import/no-anonymous-default-export: ["error", { "allowArray": true }] */
export default []
/* import/no-anonymous-default-export: ["error", { "allowArrowFunction": true }] */
export default () => {};
/* import/no-anonymous-default-export: ["error", { "allowAnonymousClass": true }] */
export default class {};
/* import/no-anonymous-default-export: ["error", { "allowAnonymousFunction": true }] */
export default function() {};
/* import/no-anonymous-default-export: ["error", { "allowObject": true }] */
export default {};
/* import/no-anonymous-default-export: ["error", { "allowNew": true }] */
export default new Foo();
/* import/no-anonymous-default-export: ["error", { "allowCallExpression": true }] */
export default foo(bar);デフォルトでは、すべての種類の匿名デフォルトエクスポートは禁止されていますが、 オプションで個別に許可する設定が可能です。
設定
このルールは、以下のプロパティを持つ構成オブジェクトを受け入れます:
allowAnonymousClass
type: boolean
default: false
匿名クラスをデフォルトエクスポートとして許可します。
allowAnonymousFunction
type: boolean
default: false
匿名関数をデフォルトエクスポートとして許可します。
allowArray
type: boolean
default: false
匿名配列をデフォルトエクスポートとして許可します。
allowArrowFunction
type: boolean
default: false
匿名アロー関数をデフォルトエクスポートとして許可します。
allowCallExpression
type: boolean
default: true
匿名呼び出し式をデフォルトエクスポートとして許可します。
allowLiteral
type: boolean
default: false
匿名リテラルをデフォルトエクスポートとして許可します。
allowNew
type: boolean
default: false
匿名new式をデフォルトエクスポートとして許可します。
allowObject
type: boolean
default: false
匿名オブジェクトをデフォルトエクスポートとして許可します。
使用方法
このルールを設定ファイルまたは CLI で有効化するには、次のように使用できます:
{
"plugins": ["import"],
"rules": {
"import/no-anonymous-default-export": "error"
}
}oxlint --deny import/no-anonymous-default-export --import-plugin