@equisoft/tslint-config

2.0.0 • Public • Published

Equisoft's TSLint configuration

This project hosts Equisoft's TSLint configuration. It is versatile enough to be used with NodeJS or Web projects.

For react, you should instead look at @equisoft/tslint-config-react which comes with additional validations.

Versioning

The versioning of this project respects semver. That means your project's package.json can caret (^) import it.

Installation

Install the library in your project:

yarn add --dev @equisoft/tslint-config

Then create a tslint.json file that uses Equisoft's configuration:

{
  "extends": ["@equisoft/tslint-config"]
}

Finally create a script in your package.json to easily run TSLint:

{
  "scripts": {
    "tslint": "tslint -p tsconfig.json 'src/**/*.ts'",
    "tslint:ci": "yarn tslint --format junit -o build/tests/tslint/junit.xml"
  }
}

Now you can use yarn tslint to validate the code style of your TypeScript files!

TypeScript compiler checks

This repository additionally exports a tsconfig.standards.json file that you should extend in your tsconfig.json configuration:

{
  "extends": "@equisoft/typescript-config/tsconfig.standards.json"
}

Continuous Integration

We strongly suggest that you enforce code style checks on your CI. For example, on CircleCI you can add a configuration similar to this one to your .circleci/config.yml:

orbs:
  eq: equisoft/build-tools@latest

jobs:
  tslint:
    executor: node
    steps:
      - eq/with-yarn-cache
      - run:
          name: TSLint
          command: yarn tslint:ci
      - store_test_results:
          path: build/tests

Migrating an existing codebase

TSLint supports exclusion of globs in tsconfig.json. One way to gradually migrate a legacy code base to this configuration is to exclude all source files and add conforming files one at a time. To achieve this, add this key to your tsconfig.json:

{
  "linterOptions": {
    "ecxlude": [
      "src/**/*.ts",
      "!src/contacts/**/*.ts"
    ]
  }
}

Note how an entry prefixed by ! is added to re-include some source files.

Package Sidebar

Install

npm i @equisoft/tslint-config

Weekly Downloads

18

Version

2.0.0

License

MIT

Unpacked Size

61.8 kB

Total Files

6

Last publish

Collaborators

  • faroukhoumaidi
  • mcantinequi
  • christopherviel
  • jsgarneau
  • kbeaulieu
  • toby-daigle
  • kronostechnologies-build
  • etremblay
  • larrymatte
  • meriouma
  • agauthier