JSPM

  • Created
  • Published
  • Downloads 27
  • Score
    100M100P100Q58286F
  • License MIT

Motley's TypeScript styleguide using `@typescript-eslint` and `prettier`

Package Exports

  • eslint-config-motley-typescript
  • eslint-config-motley-typescript/.eslintrc.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eslint-config-motley-typescript) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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", "git add"]
  }
}

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: