eslint-plugin-esm
Version:
ESLint plugin for linting ESM (import/export syntax)
36 lines (30 loc) • 964 B
text/typescript
import { test } from "@fenge/dev-utils";
import { noPhantomDepImports } from "./no-phantom-dep-imports.ts";
const valid = [
{ code: "import foo from '/foo'" },
{ code: "import foo from './foo'" },
{ code: "import foo from '../foo'" },
{ code: "import foo from 'node:foo'" },
{ code: "import type Foo from 'estree'" },
{ code: "import type {Foo} from 'eslint'" },
{
code: "import foo from '@fenge/dev-utils'",
options: [{ allowDevDependencies: true }],
},
];
const invalid = [
{
code: "import type foo from 'foo'",
options: [{ allowDevDependencies: true }],
},
{
code: "import type foo from 'foo'",
options: [{ allowDevDependencies: false }],
},
{ code: "import {type Foo} from 'foo'" },
{ code: "import foo from 'foo'" },
{ code: "import {type Foo} from 'eslint'" },
{ code: "import {Foo} from 'eslint'" },
{ code: "import eslint from 'eslint'" },
];
test({ valid, invalid, ...noPhantomDepImports });