@forbeslindesay/tsconfig

2.1.1 • Public • Published

tsconfig

Forbes Lindesay's tsconfig, tslint, prettier etc. configs. These shared configs are used to set up our TypeScript projects.

Rolling Versions - Release Notes

TypeScript Config

To use my tsconfig as your default config. Install typescript via:

yarn add -D @forbeslindesay/tsconfig typescript

and add the following tsconfig.json in your project's root directory:

{
  "extends": "@forbeslindesay/tsconfig",
  "compilerOptions": {
    "outDir": "lib"
  },
  "include": ["src"]
}

In package.json add:

{
  ...
  "scripts": {
    ...
    "build": "tsc"
    ...
  }
  ...
}

ESLint Config

To use my eslint as your default config. Install eslint via:

yarn add -D \
  eslint \
  eslint-plugin-import \
  @typescript-eslint/eslint-plugin \
  @typescript-eslint/parser

and add the following .eslintrc.js in your project's root directory:

module.exports = require('@forbeslindesay/tsconfig/eslint')({
  internalRegex: '^@my-name',
});

and add the following .eslintrc-ts.js in your project's root directory:

module.exports = require('@forbeslindesay/tsconfig/eslint-ts')({
  internalRegex: '^@my-name',
});
```

In `package.json` add:

```json
{
  ...
  "scripts": {
    ...
    "lint": "eslint --config .eslintrc-ts.js --no-eslintrc --ext .ts,.tsx src",
    "lint:fix": "eslint --fix --config .eslintrc-ts.js --no-eslintrc --ext .ts,.tsx src"
    ...
  }
  ...
}

Prettier Config

To use my prettier as your default config. Install prettier via:

yarn add -D @forbeslindesay/tsconfig prettier

and add the following prettier.config.js in your project's root directory:

module.exports = require('@forbeslindesay/tsconfig/prettier');

In package.json add:

{
  ...
  "scripts": {
    ...
    "prettier:write": "prettier --ignore-path .gitignore --write './**/*.{md,json,yaml,js,jsx,ts,tsx}'",
    "prettier:check": "prettier --ignore-path .gitignore --list-different './**/*.{md,json,yaml,js,jsx,ts,tsx}'",
    ...
  }
  ...
}

Husky / Lint-Staged

We recommend using husky with lint staged. To do this, run:

yarn add -D @forbeslindesay/tsconfig prettier husky lint-staged

and add the following to package.json. This will run prettier on just files that have changed.

{
  ...
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{md,json,yaml,js,jsx,ts,tsx}": [
      "prettier --write",
      "git add"
    ]
  }
  ...
}

License

MIT

Package Sidebar

Install

npm i @forbeslindesay/tsconfig

Weekly Downloads

1,179

Version

2.1.1

License

MIT

Unpacked Size

24.9 kB

Total Files

15

Last publish

Collaborators

  • forbeslindesay