# eslint-config-ns-ts-base

> eslint typescript config ready to be used in multiple projects

Latest version **5.0.0** (published 2025-08-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install eslint-config-ns-ts-base
pnpm add eslint-config-ns-ts-base
yarn add eslint-config-ns-ts-base
bun add eslint-config-ns-ts-base
```

## Health

**Score 40/100 (D)** — status: stable.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 5.0.0 |
| Published | 2025-08-07 |
| First published | 2022-02-27 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | ^22.x \|\| ^24.x |
| Dependencies | 6 |
| Unpacked size | 11.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 27 |
| Author | Stefan Natter |
| Maintainers | natterstefan |
| Keywords | eslint, eslint-config, prettier, prettier-config, typescript |

## Links

- npm: https://www.npmjs.com/package/eslint-config-ns-ts-base
- Repository: https://github.com/natterstefan/eslint-config-ns
- Homepage: https://github.com/natterstefan/eslint-config-ns/tree/main/packages/eslint-config-ns-ts-base
- Issues: https://github.com/natterstefan/eslint-config-ns/issues
- npm.io page: https://npm.io/package/eslint-config-ns-ts-base

## Dependencies (6)

- [eslint-plugin-import](https://npm.io/package/eslint-plugin-import.md) ^2.28.0
- [eslint-config-ns-base](https://npm.io/package/eslint-config-ns-base.md) ^5.0.0
- [@rushstack/eslint-patch](https://npm.io/package/@rushstack/eslint-patch.md) ^1.3.2
- [@typescript-eslint/parser](https://npm.io/package/@typescript-eslint/parser.md) ^6.2.1
- [@typescript-eslint/eslint-plugin](https://npm.io/package/@typescript-eslint/eslint-plugin.md) ^6.2.1
- [eslint-import-resolver-typescript](https://npm.io/package/eslint-import-resolver-typescript.md) ^3.5.5

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@pandacss/eslint-plugin](https://npm.io/package/@pandacss/eslint-plugin.md) — 18.7K weekly downloads

## Recent versions

- 5.0.0 (latest) — 2025-08-07
- 4.0.0 — 2023-07-31
- 3.5.0 — 2022-10-26
- 3.4.0 — 2022-10-23
- 3.3.0 — 2022-08-15
- 3.2.1 — 2022-08-15
- 3.2.0 — 2022-08-15
- 3.1.0 — 2022-08-15
- 3.0.0 — 2022-02-27

## README

# eslint-config-ns-ts-base

[![npm version](https://badge.fury.io/js/eslint-config-ns-ts-base.svg)](https://badge.fury.io/js/eslint-config-ns-ts-base)
[![GitHub license](https://img.shields.io/github/license/natterstefan/eslint-config-ns-ts.svg)](https://github.com/natterstefan/eslint-config-ns-ts/blob/main/LICENCE)

Lint your TypeScript projects with ease. `eslint-config-ns-ts-base` extends my
existing JavaScript config [eslint-config-ns][1].

## Contents

* [eslint-config-ns-ts-base](#eslint-config-ns-ts-base)
  * [Contents](#contents)
  * [Related Configs](#related-configs)
  * [Features](#features)
  * [Installation](#installation)
  * [Usage](#usage)
    * [Prettier Config](#prettier-config)
  * [Assumptions](#assumptions)
  * [LICENCE](#licence)
  * [Maintainers](#maintainers)

## Related Configs

- JavaScript:
  [eslint-config-ns-base](https://www.npmjs.com/package/eslint-config-ns-base)
- JavaScript React:
  [eslint-config-ns](https://www.npmjs.com/package/eslint-config-ns)
- TypeScript:
  [eslint-config-ns-ts-base](https://www.npmjs.com/package/eslint-config-ns-ts-base)
- TypeScript React:
  [eslint-config-ns-ts](https://www.npmjs.com/package/eslint-config-ns-ts)

## Features

- based on the the popular
  [javascript code style from Airbnb](https://www.npmjs.com/package/eslint-config-airbnb)
- with [react](https://reactjs.org/),
  [react-hooks](https://reactjs.org/docs/hooks-intro.html),
  [jest](https://jestjs.io/), and
  [prettier](https://prettier.io/docs/en/eslint.html#use-eslint-to-run-prettier)
  support
- with TypeScript support
  - e.g. with support for `baseUrl` and `paths`

The config is built upon Airbnb's ESLint rules with additional rules and
optimizations (see [assumptions](#assumptions)).

## Installation

Install the package with

```sh
npm install eslint-config-ns-ts-base --save-dev

# or
yarn add eslint-config-ns-ts-base -D
```

`eslint-config-ns-ts-base` requires you to take care of it's `peerDependencies`.
Install the correct version of each `peerDependencies` package, which are listed
with the following command:

```sh
npm info "eslint-config-ns-ts-base@latest" peerDependencies
```

If using npm 5+, use this shortcut:

```sh
npx install-peerdeps --dev eslint-config-ns-ts-base

# or
yarn add eslint-config-ns-ts-base -D --peer
```

## Usage

Now add `eslint-config-ns-ts-base` to either your `package.json`:

```json
{
  "eslintConfig": {
    "extends": "eslint-config-ns-ts-base"
  }
}
```

to your `.eslintrc`:

```json
{
  "extends": "eslint-config-ns-ts-base"
}
```

or `.eslintrc.js`:

```js
module.exports = {
  extends: 'eslint-config-ns-ts-base',
}
```

### Prettier Config

This is how you can use or extend the `eslint-config-ns-ts-base` prettier config
in your app:

```js
// prettier.config.js
module.exports = require('eslint-config-ns-ts-base/prettier.config')
```

## Assumptions

This ESLint configuration comes with the same fundamental assumptions, as
[eslint-config-ns](https://github.com/natterstefan/eslint-config-ns#assumptions).

Even though I made some assumptions,
[you can easily overwrite, extend and unset rules and any other setting in your custom eslint config](https://eslint.org/docs/user-guide/configuring).

## LICENCE

[MIT](LICENCE)

## Maintainers

<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center">
        <a href="https://github.com/natterstefan">
          <img width="150" height="150" src="https://github.com/natterstefan.png?v=3&s=150">
          </br>
          Stefan Natter
        </a>
        <div>
          <a href="https://twitter.com/natterstefan">
            <img src="https://img.shields.io/twitter/follow/natterstefan.svg?style=social&label=Follow" />
          </a>
        </div>
      </td>
    </tr>
  <tbody>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->

[1]: https://github.com/natterstefan/eslint-config-ns

---
_Source: https://npm.io/package/eslint-config-ns-ts-base · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
