@nexso/eslint-config-typescript
| Install | |
|---|---|
npm install @nexso/eslint-config-typescript |
|
| Latest Version: | 2.0.5 |
| License: | MIT |
| Last Updated: | Oct 5, 2026 |
| Links: | GitHub · npm |
@nexso/eslint-config-typescript
Nexso's ESLint 10 Flat Config for TypeScript. It extends
@nexso/eslint-config, so JavaScript and TypeScript files share the same
security, import, Node.js, stylistic, and ordering conventions.
Requirements
- Node.js
^20.19.0 || ^22.13.0 || >=24 - ESLint
^10.7.0 - TypeScript
>=5.0.0 <6.1.0
Installation
npm install --save-dev eslint typescript @nexso/eslint-config @nexso/eslint-config-typescript
Usage
Create eslint.config.js:
import nexsoTypeScript from '@nexso/eslint-config-typescript';
export default [
...nexsoTypeScript,
{
rules: {
// Project overrides
},
},
];
The default preset uses the syntax-aware typescript-eslint recommended
rules. It does not require a tsconfig.json and is suitable for libraries,
scripts, and mixed JavaScript/TypeScript projects.
Type-aware linting
Use the named typeChecked export when rules should use TypeScript's type
information:
import { typeChecked } from '@nexso/eslint-config-typescript';
export default typeChecked;
This preset enables parserOptions.projectService. The linted TypeScript files
must belong to a TypeScript project. Use the default preset when that condition
is not true for every file.
typescript-eslint supplies the TypeScript parser, ESLint plugin, and rule
presets. It does not enable Prettier. Add Prettier separately only if the project
wants a formatter in addition to ESLint's @stylistic rules; avoid enabling
overlapping formatting rules in both tools.
Nuxt
Nuxt needs framework-specific configuration for Vue SFC parsing, generated
globals, and Nuxt file conventions. Install and initialize @nuxt/eslint, then
compose this package with the generated config:
npx nuxi module add eslint
// eslint.config.mjs
import withNuxt from './.nuxt/eslint.config.mjs';
import { nuxt as nexsoNuxt } from '@nexso/eslint-config-typescript';
export default withNuxt(
...nexsoNuxt,
);
Keep the Nuxt-generated config first so it owns the .vue parser and Nuxt
globals. The nuxt preset then adds the shared Nexso rules and disables core
rules such as no-unused-vars for .vue files when the
@typescript-eslint equivalent is active. It does not bundle a second copy of
the Vue/Nuxt plugins.
Migrating from version 1
- Replace
.eslintrc*witheslint.config.jsoreslint.config.mjs. - Spread the exported config array.
- Remove
eslint-config-airbnb-typescript,@typescript-eslint/parser, and@typescript-eslint/eslint-pluginif they were installed only for this config; the unifiedtypescript-eslintpackage now supplies them. - Upgrade Node.js to a version supported by ESLint 10.
License
MIT
Related Packages
DevilTea's opinionated ESLint flat config for JavaScript, TypeScript, and Vue.
Shared ESLint flat config for Vue.js projects (deprecated — use @tada5hi/eslint-...
Version History
| Version | Released | License |
|---|---|---|
| 2.0.5 | MIT | |
| 2.0.4 | MIT | |
| 2.0.3 | MIT | |
| 2.0.2 | MIT | |
| 2.0.1 | MIT | |
| 2.0.0 | MIT | |
| 1.0.2 | MIT | |
| 1.0.1 | MIT | |
| 1.0.0 | MIT |