Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/motleyagency/eslint-config-motley
Motley (https://motley.fi) JavaScript/Typescript guidelines as ESLint rules with Prettier autoformatting
https://github.com/motleyagency/eslint-config-motley
eslint lint linter prettier react typescript
Last synced: about 1 month ago
JSON representation
Motley (https://motley.fi) JavaScript/Typescript guidelines as ESLint rules with Prettier autoformatting
- Host: GitHub
- URL: https://github.com/motleyagency/eslint-config-motley
- Owner: motleyagency
- License: mit
- Created: 2016-06-10T10:27:00.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-06-17T04:23:58.000Z (7 months ago)
- Last Synced: 2024-10-31T07:48:27.616Z (2 months ago)
- Topics: eslint, lint, linter, prettier, react, typescript
- Language: JavaScript
- Homepage: https://motley.fi
- Size: 361 KB
- Stars: 6
- Watchers: 4
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# eslint-config-motley-typescript
[Motley's](https://www.motley.fi/) 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:
```bash
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:
```bash
npx install-peerdeps --dev eslint-config-motley-typescript --yarn
```If all went well, you should see the following in your `.eslintrc.js`:
```js
module.exports = {
extends: 'motley-typescript',
};
```### Post-install:
You should have the following set in `.prettierrc`;
```json
{
"singleQuote": true,
"trailingComma": "all"
}
```and the following in your `package.json`:
```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```bash
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:
- [`eslint-config-airbnb`](https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb) for being the base and providing a handy way to install `peerDependencies` from a package.
- [`prettier`](https://github.com/prettier/prettier) for being :dark_sunglasses: and providing [a way to disable some eslint configurations from above](https://github.com/prettier/eslint-config-prettier)
- [`husky`](https://github.com/typicode/husky) and [`lint-staged`](https://github.com/okonet/lint-staged) for making precommit hooks easy