@hug/eslint-config
v20.3.3
Published
ESLint shareable configuration with great defaults
Downloads
659
Readme
Installation
npm install @hug/eslint-config --save-dev
yarn add [email protected] @hug/eslint-config --dev
Create a
tsconfig.eslint.json
file at the root of your project{ "extends": "./tsconfig.json", "compilerOptions": { "types": [ "node", "jasmine" // // In case you are using WebdriverIO // "@wdio/globals/types" // // In case you are using Cypress // "cypress" // // Any other types that are required by your tests // ... ] }, "include": ["src/**/*.ts", "e2e/**/*.ts"] }
npm install @hug/[email protected] --save-dev
yarn add [email protected] @hug/[email protected] --dev
- Remove
tslint
andcodelyzer
from your dependencies- Remove any
tslint.json
configuration files- Add
eslint
as a dev dependency- Have a look at our Angular project example and modify all your
tsconfig
files accordingly
Requirements
As of now this configuration is intented to work with Angular projects only.
Projects running under
Angular 10.x
can safely ignore@angular-eslint
warnings during installation.
- an Angular >= 10.x project
Usage
- Create an
.eslintrc.json
file at the root of your project
{
"root": true,
"extends": [
/**
* Possible values: 'recommended (strict) | moderate (less stricter)'
*/
"@hug/eslint-config/recommended"
]
}
- Modify your existing
angular.json
"architect": {
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"**/*.js",
"**/*.json",
"**/*.ts",
"**/*.html"
]
}
}
}
- Run
ng lint
You can also skip steps 2
and 3
and simply run:
eslint *.{js,json,ts,html}
Rules
This configuration exports a recommended set of rules that enforces good practices.
They may or may not served you well as they are mainly designed to be used by the HUG organization's team.
The rules applies as follow:
| Files | Rules |
| :----------- | :---------------------------------------------------------------------------------------------- |
| */.ts | es6
, typescript
, angular
, rxjs
, no-secrets
|
| */.js | es6
, no-secrets
|
| */.mjs | es6
, no-secrets
|
| */.html | angular-template
|
| */.json | no-secrets
|
| e2e/*/.ts | es6
, typescript
, no-secrets
, [cypress
, chai-friendly
- in case you are using Cypress] |
Development
See the developer docs.
Contributing
> Want to Help?
Want to file a bug, contribute some code or improve documentation? Excellent!
But please read up first on the guidelines for contributing, and learn about submission process, coding rules and more.
> Code of Conduct
Please read and follow the Code of Conduct, and help us keep this project open and inclusive.
Credits
Copyright (C) 2021 HUG - Hôpitaux Universitaires Genève