Skip to content

Latest commit

 

History

History
81 lines (60 loc) · 2.25 KB

README.md

File metadata and controls

81 lines (60 loc) · 2.25 KB

eslint-config-motley-typescript

Motley's TypeScript styleguide, using eslint and prettier with zero configuration. Based on eslint-config-airbnb.

Supports the following features out of the box:

  • Prettier autoformatting on precommit stage via husky.
  • ES2015+
  • Imports and exports
  • React
  • a11y
  • Full TypeScript support
  • __DEV__ is a valid underscore-dangle value
  • js is a valid filename for JSX files (in JavaScript)

Installation

Run the following command:

npx install-peerdeps --dev eslint-config-motley-typescript

If you get prompted that do you want to use Yarn and nothing gets installed after that try following command:

npx install-peerdeps --dev eslint-config-motley-typescript --yarn

If all went well, you should see the following in your .eslintrc.js:

module.exports = {
  extends: 'motley-typescript',
};

Post-install:

You should have the following set in .prettierrc;

{
  "singleQuote": true,
  "trailingComma": "all"
}

and the following in your package.json:

{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{js,json,graphql,md,css,scss,less,ts,tsx}": ["prettier --write"]
  }
}

Running tests

Tests use verdaccio as a local repository and jest for testing. The tests itself can be found under __tests__ and fixtures under __fixtures__. For local testing, you'll need Docker. Run the tests with

npm run test:local

The tests are also run in CI with GitHub Actions, as defined in .github/workflows.

Acknowledgements

We would like to thank the creators, maintainers and contributors of following libraries for making this possible: