noExportedImports
Diagnostic Category: lint/nursery/noExportedImports
Since: v1.9.0
Description
Section titled “Description”Disallow exporting an imported variable.
In JavaScript, you can re-export a variable either by using export from or
by first importing the variable and then exporting it with a regular export.
You may prefer to use the first approach, as it clearly communicates the intention to re-export an import, and can make static analysis easier.
Examples
Section titled “Examples”Invalid
Section titled “Invalid”import { A } from "mod";export { A };code-block.js:1:10 lint/nursery/noExportedImports ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ An import should not be exported. Use export from instead.
  
  > 1 │ import { A } from “mod”;
      │          ^
    2 │ export { A };
    3 │ 
  
  ℹ export from makes it clearer that the intention is to re-export a variable.
  
import * as ns from "mod";export { ns };code-block.js:1:8 lint/nursery/noExportedImports ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ An import should not be exported. Use export from instead.
  
  > 1 │ import * as ns from “mod”;
      │        ^^^^^^^
    2 │ export { ns };
    3 │ 
  
  ℹ export from makes it clearer that the intention is to re-export a variable.
  
import D from "mod";export { D };code-block.js:1:8 lint/nursery/noExportedImports ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ An import should not be exported. Use export from instead.
  
  > 1 │ import D from “mod”;
      │        ^
    2 │ export { D };
    3 │ 
  
  ℹ export from makes it clearer that the intention is to re-export a variable.
  
export { A } from "mod";export * as ns from "mod";export { default as D } from "mod";How to configure
Section titled “How to configure”{  "linter": {    "rules": {      "nursery": {        "noExportedImports": "error"      }    }  }}