Skip to content

cartant/eslint-plugin-dtslint

Repository files navigation

eslint-plugin-dtslint

GitHub License NPM version Downloads Build status dependency status devDependency Status peerDependency Status

This repo contains ESLint versions of the dtslint rules in the tslint-etc package. They're useful if you have an existing suite of dtslint tests. However, if you've not yet started writing tests for your TypeScript types, you should look at using tsd instead.

Install

Install the ESLint TypeScript parser using npm:

npm install @typescript-eslint/parser --save-dev

Install the package using npm:

npm install eslint-plugin-dtslint --save-dev

Configure the parser and the parserOptions for ESLint. Here, I use a .eslintrc.js file for the configuration:

const { join } = require("path");
module.exports = {
  parser: "@typescript-eslint/parser",
  parserOptions: {
    ecmaVersion: 2019,
    project: join(__dirname, "./tsconfig.json"),
    sourceType: "module"
  },
  plugins: ["dtslint"],
  extends: [],
  rules: {
    "dtslint/expect-deprecation": "error",
    "dtslint/expect-type": "error",
    "dtslint/no-typo": "error"
  }
};

Or, using the recommended configuration:

const { join } = require("path");
module.exports = {
  parser: "@typescript-eslint/parser",
  parserOptions: {
    ecmaVersion: 2019,
    project: join(__dirname, "./tsconfig.json"),
    sourceType: "module"
  },
  extends: ["plugin:dtslint/recommended"],
};

Rules

The package includes the following rules:

Rule Description Recommended
expect-deprecation Asserts deprecations with $ExpectDeprecation and $ExpectNoDeprecation. Yes
expect-type Asserts types with $ExpectType and presence of errors with $ExpectError. You can use ESLint and this rule to perform your type tests without having to install or run dtslint. Yes
no-typo Forbids dtslint-like expectations that have typographical errors. Yes

About

ESLint rules for dtslint tests

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published