import-js/eslint-plugin-import

Ensure packages are imported the same way (`import "react"` vs `import("react")`)

Open

#2.326 geöffnet am 12. Dez. 2021

Auf GitHub ansehen
 (21 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (1.540 Forks)batch import
help wantedrule proposal

Repository-Metriken

Stars
 (4.946 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 138T 22h) (3 gemergte PRs in 30 T)

Beschreibung

import() is used as an indicator that the bundler can create an additional file (code splitting) instead of including the specified dependency in the main bundle.

Unfortunately it's possible that the same dependency is imported statically in another file, therefore either cancelling the effect or perhaps bundling it twice.

// index
import './a.js'
import './b.js'
// a.js
import { React } from 'react';
// b.js
const { React } = await import('react');

Rule request

Is it possible to ensure that a specific dependency is imported the same way across files automatically?

"import/consistent-import-style": "error"

If not automatically, I wish there was a way to enforce a certain import method per-dependency, for example:

"import/enforce-import-style": [
	"error",
	{
		static: ["react"],
		dynamic: ["my-little-heavy-dep"],
	}
]

Contributor Guide