Skip to content

副作用を伴うインポート (Side-Effect Imports)

ID: side_effect_import | 重要度: Low (default)

副作用(例:import './globals';)のみを目的として実行されるインポートを特定します。これらは多くの場合、グローバルな状態やプロトタイプを変更します。

なぜこれが「不吉な臭い」なのか

副作用を伴うインポートは依存関係グラフを不明瞭にし、インポート順序によって非決定的な動作を引き起こす可能性があります。これらは多くの場合、追跡が困難な「隠れた」依存関係となります。

除外パターン

archlint は、以下の副作用を伴うインポートを自動的に無視します:

  • CSS/アセット: import './styles.css', import './image.png' など。
  • 動적インポート: 関数内の import('./module') または require('./module') (遅延読み込みや条件付きインポートによく使用されます)。

修正方法

初期化を明示的に行うようにしてください。副作用を伴うインポートに頼るのではなく、init() 関数をエクスポートし、それを明示的に呼び出します。

Released under the MIT License.