1.4.10 • Published 2 years ago

@ooo-inex/eslint-config v1.4.10

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
2 years ago

Описание

Пакет с конфигурациями eslint. Цель - унифицировать конфигурации eslint для фронтовых проектов. Подробнее: https://wiki.oooinex.ru/display/TECH/Front.+Eslint.

Использование для js-файлов (*.js)

В проекте установить пакеты @babel/preset-env, @babel/eslint-parser, @ooo-inex/eslint-config и eslint-plugin-jsdoc (для линтинга JSDoc, опционально):

npm i -D @babel/preset-env @babel/eslint-parser @ooo-inex/eslint-config eslint-plugin-jsdoc

В файле конфигурации ESLint импортировать необходимую конфигурацию:

import babelParser from '@babel/eslint-parser';
import jsdoc from 'eslint-plugin-jsdoc';
import primaryConfig from '@ooo-inex/eslint-config/configs/primary.js';
import jsdocConfig from '@ooo-inex/eslint-config/configs/jsdocConfig.js';
...
{
	files: ['**/*.js'],
	ignores: ['**/dist/**'],
	languageOptions: {
		ecmaVersion: 'latest',
		sourceType: 'module',
		parser: babelParser,
		parserOptions: {
			babelOptions: {
				presets: ['@babel/preset-env'],
			},
		},
	},
	plugins: { jsdoc },
	rules: {
		...primaryConfig.rules,
		...jsdocConfig.rules,
	},
},

Использование для Cypress (*.spec.js)

В проекте установить пакеты eslint-plugin-cypress и @ooo-inex/eslint-config:

npm i -D eslint-plugin-cypress @ooo-inex/eslint-config 

В файле конфигурации ESLint импортировать необходимую конфигурацию:

import cypress from 'eslint-plugin-cypress';
import cypressConfig from '@ooo-inex/eslint-config/configs/cypressConfig';
...
{
	files: ['**/*.spec.js'],
	plugins: { cypress },
	rules: {
		...cypressConfig.rules,
		'no-unused-expressions': 'off', // чтобы не ругался на expect
	},
},

Использование для vue-файлов (*.vue)

В проекте установить пакеты eslint-plugin-vue, vue-eslint-parser, @babel/eslint-parser' и
@ooo-inex/eslint-config:

npm i -D eslint-plugin-vue vue-eslint-parser @babel/eslint-parser @ooo-inex/eslint-config

В файле конфигурации ESLint импортировать необходимую конфигурацию:

import vue from 'eslint-plugin-vue';
import vueParser from 'vue-eslint-parser';
import babelParser from '@babel/eslint-parser';
import vueConfig from '@ooo-inex/eslint-config/configs/vueConfig';
...
// Vue-файлы
{
	files: ['**/*.vue'],
	languageOptions: {
		ecmaVersion: 'latest',
		parser: vueParser, // <template>
		parserOptions: {
			parser: babelParser, // <script>
		},
	},
	plugins: { vue },
	rules: {
		...vueConfig.rules,
	},
},

Добавление новых конфигураций

Конфигурации складываем в папку configs.

Правка конфига в проекте "на лету"

При необходимости можно перетереть правила, например:

rules: {
	...primaryConfig.rules,
	"no-console": "error"
},

Но в целом, лучше предварительно вынести на обсуждение, почему хотим изменить правило. Возможно его надо поменять в пакете, а не в конкретном проекте.

1.4.9

2 years ago

1.4.8

2 years ago

1.4.10

2 years ago

1.4.7

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.10

2 years ago

1.3.9

2 years ago

1.3.8

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago