unstale

npm / eslint-plugin-n

eslint-plugin-n

What changed in eslint-plugin-n 17 to 18, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.

5 breaking6 new APIs and options4 behavior and defaults15 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

eslint-plugin-n 1825 changes

Breaking changes 5

  • The TypeScript peer dependency version constraint was updated, affecting which TypeScript versions are compatible.

    18.0.1release notes

  • The plugin migrated from CommonJS to ESM, changing how projects load it.

    18.0.0release notes

  • The rule now disallows extra properties in its options.

    18.0.0release notes

  • The plugin now requires Node.js >=20 and ESLint >= 8.57.1.

    18.0.0release notes

  • The no-sync rule's ts-declaration-location dependency moved to peerDependencies.

    18.0.0release notes

New APIs and options 4

  • Implements the prefer-import/assert-strict rule.

    18.3.0release notes

  • Adds the prefer-process-get-builtin-module rule.

    18.3.0release notes

  • Adds module.exports support for require(esm) interop.

    18.2.0release notes

  • Support was added for devEngines.runtime in package.json.

    18.1.0release notes

Behavior and default changes 4

  • The no-extraneous rules now support pnpm workspaces.

    18.4.0release notes

  • Classifies util.styleText as experimental.

    18.3.0release notes

  • The rule allows dependencies declared at the workspace root.

    18.1.0release notes

  • The rule was removed from the recommended configuration.

    18.0.0release notes

Fixes and other changes 12

  • The rule now properly handles extension override mappings.

    18.4.1release notes

  • The rule now covers fs.watch.

    18.4.1release notes

  • Handles import.meta paths in no-path-concat.

    18.3.0release notes

  • Supports brace expansion and extglobs in package files.

    18.3.0release notes

  • Reports object, array, and template literals.

    18.2.2release notes

  • HTTP imports are ignored by no-missing-import.

    18.2.2release notes

  • Ensures the package's types have valid syntax.

    18.2.1release notes

  • The rule now handles type-only @types dependencies.

    18.1.0release notes

  • Leading forward slashes are now allowed in the files field.

    18.1.0release notes

  • The rule's support data now covers Node.js 22.20–22.21 and 24.0–24.12.

    18.0.0release notes

  • The rule now recognizes the fs.promises APIs cp, glob, lutimes, opendir, rm, and statfs.

    18.0.0release notesrelease notes

  • An explicit mapping was added for TypeScript extensions.

    18.0.0release notes

eslint-plugin-n 175 changes

New APIs and options 2

Fixes and other changes 3

  • Handles directory index imports when checking file extensions in imports.

    17.23.2release notes

  • Handles files with dots in their basenames when checking file extensions in imports.

    17.23.2release notes

  • Resolves full typed names for ignore patterns.

    17.23.2release notes