Euber's personal eslint configurations.
My eslint plugin that contains all my personal configurations, in a slim version.
This package is a slim version of the @euberdeveloper/eslint-plugin
package. It contains only the configuration, while the other dev-dependencies (eslint, prettier, eslint plugins, ...) have to be installed manually. In the main plugin these dependencies are all installed by default, this is because with the upgrading of eslint or other dependencies these configuration could stop working.
First of all install eslint and this plugin:
npm i -D eslint @euberdeveloper/eslint-plugin-slim
If you want also to add the codeframe formatter:
npm i -D eslint-formatter-codeframe
The typescript configuration uses the rules from @typescript-eslint/eslint-plugin
.
Install the dependencies by running:
npm i -D @typescript-eslint/eslint-plugin @typescript-eslint/parser
The .eslintrc.js
file should be something such as:
const path = require('path');
module.exports = {
parserOptions: {
project: path.join(__dirname, 'tsconfig.json') // The path to your tsconfig.json
},
plugins: ['@euberdeveloper/slim'],
extends: ['plugin:@euberdeveloper/slim/typescript']
};
The configuration uses the rules from eslint-plugin-unicorn
.
Install the dependencies by running:
npm i -D eslint-plugin-unicorn
The .eslintrc.js
file should be something such as:
const path = require('path');
module.exports = {
plugins: ['@euberdeveloper/slim'],
extends: ['plugin:@euberdeveloper/slim/unicorn']
};
The mocha configuration uses the rules from eslint-plugin-mocha
.
Install the dependencies by running:
npm i -D eslint-plugin-mocha
The .eslintrc.js
file should be something such as:
const path = require('path');
module.exports = {
plugins: ['@euberdeveloper/slim'],
extends: ['plugin:@euberdeveloper/slim/mocha']
};
The prettier configuration uses eslint-plugin-prettier
.
Install the dependencies by running:
npm i -D prettier eslint-plugin-prettier eslint-config-prettier
Add this .prettierrc.js
file to your root:
module.exports = {
tabWidth: 4,
singleQuote: true,
quoteProps: 'consistent',
trailingComma: 'none',
arrowParens: 'avoid',
printWidth: 120,
endOfLine: 'auto'
};
Change the .eslintrc.js
file to this:
const path = require('path');
module.exports = {
parserOptions: {
project: path.join(__dirname, 'tsconfig.json') // The path to your tsconfig.json
},
plugins: ['@euberdeveloper/slim'],
extends: ['plugin:@euberdeveloper/slim/prettier']
};
You can also add some scripts to the package.json
in order to have it always ready.