@cloudbeds/eslint-config
This package provides a shared extensible ESLint config for Cloubeds apps.
There are Javascript, Typescript, VueJs, Jest and custom rules for Cloudbeds langs system.
Shareable configs are designed to work with the extends
feature of .eslintrc
files.
Airbnb JavaScript style guide is used as the basis for our ESLint configuration with some additions/changes. See JavaScript Style Guide Confluence page.
This package is shared as a public NPM module under the @Cloudbeds NPM organization.
Installation
Install ESLint and all dependencies:
npm install @cloudbeds/eslint-config --save-dev
Getting started
Add the following to your package.json
{
"scripts": {
"lint": "eslint src/**/*.{js,vue,ts}",
"lint:show-unused-directives": "npm run lint -- --report-unused-disable-directives",
},
"eslintConfig": {
"extends": "@cloudbeds/eslint-config"
}
}
Special Cases
Typescript
By default path to tsconfig is ./tsconfig.json. If you have different path to tsconfig file.
You can specify path and rules in your .eslintrc.js
:
module.exports = {
extends: '@cloudbeds/eslint-config',
overrides: [
{
files: ['*.ts', '**/*.ts'],
parserOptions: {
project: 'path_to_tsconfig.js',
},
rules: {
'some_rule': ['off', options]
},
},
],
};
Eslint-plugin-import
If you have a webpack config please specify it in your .eslintrc.js
:
{
"settings": {
"import/resolver": {
"webpack": {
"config": "./webpack.bask.js"
}
}
}