@hukopo/eslint-plugin-nodenext-extensions
v1.0.0
Published
ESLint rule to enforce NodeNext-compatible extensions in relative imports/exports
Maintainers
Readme
eslint-plugin-nodenext-extensions
ESLint plugin that enforces file extensions in relative imports/exports for NodeNext-style projects, with optional extension mapping (for example .ts -> .js).
Install
npm install --save-dev @hukopo/eslint-plugin-nodenext-extensionsRule
file-extension-in-import-ts
Options
["always", { extMapping: { ".ts": ".js", ".tsx": ".js" } }]always: require extension in relative imports/exports.extMapping: maps discovered source extension to required import extension.
Usage (Flat Config)
// eslint.config.js
const nodenextExtensions = require("@hukopo/eslint-plugin-nodenext-extensions");
module.exports = [
{
plugins: {
"nodenext-extensions": nodenextExtensions,
},
rules: {
"nodenext-extensions/file-extension-in-import-ts": [
"error",
"always",
{ extMapping: { ".ts": ".js", ".tsx": ".js" } },
],
},
},
];What It Fixes
// before
import { Component } from "./component.ts";
export * from "./types";
// after
import { Component } from "./component.js";
export * from "./types.js";