# @northtech/eslint-config-typescript

> ESLint/TypeScript rules

Latest version **1.0.3** (published 2022-02-19) · ISC license · 0 weekly downloads

## Install

```sh
npm install @northtech/eslint-config-typescript
pnpm add @northtech/eslint-config-typescript
yarn add @northtech/eslint-config-typescript
bun add @northtech/eslint-config-typescript
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2022-02-19 |
| First published | 2021-03-20 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 8.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | JWN |
| Maintainers | wulfsberg |
| Keywords | eslint, eslintconfig |

## Links

- npm: https://www.npmjs.com/package/@northtech/eslint-config-typescript
- npm.io page: https://npm.io/package/@northtech/eslint-config-typescript

## 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

- 1.0.3 (latest) — 2022-02-19
- 1.0.2 — 2022-02-18
- 1.0.1 — 2022-02-18
- 1.0.0 — 2022-01-05
- 1.0.0-rc.6 — 2021-12-14
- 1.0.0-rc.5 — 2021-12-14
- 1.0.0-rc.4 — 2021-12-14
- 1.0.0-rc.3 — 2021-09-15
- 1.0.0-rc.2 — 2021-03-24
- 1.0.0-rc.1 — 2021-03-21
- 1.0.0-rc.0 — 2021-03-20

## README

@northtech/eslint-config-typescript
===================================

This package is an [ESLint Sharable Config](https://eslint.org/docs/developer-guide/shareable-configs), bundling
ESLint and TypeScript-ESLint rules for a consistent style in NorthTech projects.

It is fairly strict when it comes to formatting, in part because it can simply be auto-fixed, and in part because IDEs
like IntelliJ recognize the rules and automatically configure their own settings accordingly, so the more rules we
have, the more work the IDE will do automatically for us.

The rules are actually somewhat more lenient when it comes to the actual code, largely because we still often need
inter-op with legacy code, where strictly enforced TypeScript rules would force us to jump through hoops simply to make
the linter happy, with little gain for the actual code.

    npm install --save-dev @northtech/eslint-config-typescript typescript@^4 eslint@^8 @typescript-eslint/parser@^5 @typescript-eslint/eslint-plugin@^5

-You probably already have TypeScript.

Project configuration
---------------------
Create two configuration files in the project root:

**.eslintrc.js**: (Or .eslintrc.cjs, if you're using package type `module` in your `package.json`).

    module.exports = {
      root: true,
      extends: ["@northtech/eslint-config-typescript"]
    };

This points ESLint to the rules in the NorthTech package.

Be aware that the setup by default uses the TypeScript compiler settings from `/tsconfig.json`. If you use another file,
override the `parserOptions` in the configuration, like

    module.exports = {
      root: true,
      extends: ["@northtech/eslint-config-typescript"],
      "parserOptions": {"project": ["my-tsconfig.json"]}
    };

**.eslintignore**:

    node_modules
    dist
    coverage
    docs
    *.js
    *.cjs

Don't lint these files. (We skip `*.js` files as they are typically compact configuration files for the various build
tools. To wit, the `.eslintrc.js` file above would not pass linting due to the module export).

Scripts
-------
I recommend adding

    {
      ...
      "scripts": {
        ...
        "lint": "eslint . --ext .ts",
        "lint-fix": "eslint . --ext .ts --fix"
      },
      ...
    }

to your `package.json`.

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