0.12.1 • Published 4 years ago
@teleforge/eslint-config v0.12.1
Teleforge eslint config
Install
We use peer dependencies to allow flexibility, this however does mean you need to manually some extra dev dependencies
Local install
npm install --save-dev eslint @teleforge/eslint-configConfiguration
package.json
{
"scripts": {
"lint:find": "eslint --ext .es --ext .js src/",
"lint:fix": "eslint --fix --ext .es --ext .js src/"
}
}.eslintrc.json
{
"extends": [
"@teleforge/eslint-config"
]
}Project Layout
By default the import/resolver will look in node_modules and src,
to add more locations modify the import/resolver
{
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".es", ".es6", ".json"],
"moduleDirectory": [
"node_modules",
"src"
]
}
}
}
}Example CLI project
├── .eslintrc.json <-- extends @teleforge/eslint-config/cli
├── src
│ └── source.js
└─┬ tests
├── .eslintrc.json <-- extends @teleforge/eslint-config/test, optionally root=true
└── test.jsUsage
We provide 5 options for consumption:
@teleforge/eslint-config:- base configuration for es6 node and all other configs
- all node settings
- no browser settings
- no testing settings
@teleforge/eslint-config/browser- many browser specific settings (globals, jquery, etc)
- no node settings
- no testing settings
@teleforge/eslint-config/cli:- leniency's to make CLI applications easier
- all node settings
- no browser settings
- no testing settings
@teleforge/eslint-config/library- leniency's to make libraries easier
- all node settings
- no browser settings
- no testing settings
@teleforge/eslint-config/test- mocha testing settings
- all node settings
- no browser settings
In all of the configs we explicitly disable all the env configs used in other configs.
TODO
There's a gaping hole in how eslint handling configs with plugins, in that it doesn't.
This needs to be rewritten as a plugin.
Sources: