@dubaua/observable
Version:
tiny observable class
66 lines (65 loc) • 3.52 kB
Plain Text
{
"env": {
"browser": true,
"commonjs": true,
"es6": true,
"node": true,
"mocha": true
},
"parser": "@babel/eslint-parser",
"parserOptions": {
"requireConfigFile": false,
"parser": "@babel/eslint-parser",
"sourceType": "module",
"ecmaVersion": 2022
},
"extends": ["eslint:recommended"],
"rules": {
// пробелы внутри квадратных скобок массива
"array-bracket-spacing": ["error", "never"],
// стрелка арроу функции обрамляется пробелами с обеих сторон
"arrow-spacing": ["error", { "before": true, "after": true }],
// Хотим, чтобы в конце строки многострочного массива или объека всегда была запятая
// Чтобы при мультивыделении был единообразный конец строк
"comma-dangle": ["error", "always-multiline"],
// не дропаем кудрявые скобки блоками
"curly": ["error", "all"],
// отступы в 2 пробела
"indent": ["error", 2, { "SwitchCase": 1 }],
// ключевые слова всегда отбиваем пробелами
"keyword-spacing": ["error", { "before": true, "after": true }],
// не используем alert, prompt, confirm
"no-alert": "error",
// не импортируем из одного файла по нескольку раз, чтобы не путаться в импортах
"no-duplicate-imports": ["error", { "includeExports": true }],
// не плодим больше 2 пустых строк в коде
"no-multiple-empty-lines": ["error", { "max": 2, "maxEOF": 1 }],
// не бросаем ошибку, но предупреждаем о ненужном экранировании
"no-useless-escape": "warn",
// используем var по назначению
"no-var": "error",
// всегда отбиваем кудрявые скобки в объектах пробелами
"object-curly-spacing": ["error", "always"],
// каждую переменную, константу отдельно объявляем, так лучше видно
"one-var": ["error", { "var": "never", "let": "never", "const": "never" }],
// стрелочные функции лучше читаются и автоматически получают контекст
"prefer-arrow-callback": ["error"],
// если не переназначаем переменную, лучше использовать константу
"prefer-const": "error",
// кавычки одинарные используем
"quotes": ["error", "single", { "allowTemplateLiterals": true }],
// явно вставляем точку с запятой в концах строк, где они подразумеваются движком
"semi": ["error", "always"],
// сортируем импортируемые модули внутри кудрявых скобок
"sort-imports": ["error", { "ignoreDeclarationSort": true }],
// пробелом отбиваем только асинхронную стелочную функцию
"space-before-function-paren": [
"error",
{
"anonymous": "never",
"named": "never",
"asyncArrow": "always"
}
]
}
}