mattermost-desktop/.eslintrc.json

164 lines
5.2 KiB
JSON

{
"root": true,
"extends": [
"plugin:@mattermost/react"
],
"plugins": [
"formatjs",
"no-only-tests"
],
"settings": {
"import/resolver": {
"webpack": {
"config": "webpack.config.base.js"
}
}
},
"rules": {
"header/header": [
2,
"line",
[
" Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.",
" See LICENSE.txt for license information."
]
],
"import/no-commonjs": 2,
"no-process-env": 0,
"no-var": 2,
"react/no-find-dom-node": 2,
"no-underscore-dangle": ["warn"],
"@mattermost/use-external-link": 0,
"import/order": [
2,
{
"newlines-between": "always",
"groups": [
"builtin",
"external",
"internal",
"sibling",
"parent",
"index"
],
"pathGroups": [
{
"pattern": "@mattermost/**",
"group": "external",
"position": "after"
},
{
"pattern": "(app|common|main|renderer){,/**}",
"group": "external",
"position": "after"
},
{
"pattern": "types{,/**}",
"group": "internal",
"position": "after"
}
],
"alphabetize": {
"order": "asc",
"caseInsensitive": true
},
"distinctGroup": true,
"pathGroupsExcludedImportTypes": ["builtin"]
}
]
},
"overrides": [
{
"files": [
"scripts/**/*",
"src/main/preload/**/*",
"src/renderer/**/*"
],
"rules": {
"no-console": 0
}
},
{
"files": [
"scripts/**/*",
"babel.config.js",
"webpack.config.*.js"
],
"rules": {
"import/no-commonjs": 0
}
},
{
"files": [
"e2e/**/*",
"src/**/*.test.js"
],
"env": {
"jest": true
},
"rules": {
"no-unused-expressions": 0, //TODO: rework tests to use correct notation
"func-names": 0,
"global-require": 0,
"new-cap": 0,
"prefer-arrow-callback": 0,
"no-import-assign": 0,
"no-only-tests/no-only-tests": 1,
"import/no-commonjs": 0
}
},
{
"files": [
"webpack.config.renderer.js",
"e2e/specs/startup/app.test.js",
"e2e/specs/settings.test.js",
"e2e/modules/utils.js",
"e2e/modules/environment.js",
"CHANGELOG.md",
"webpack.config.base.js",
"babel.config.js",
"README.md",
"scripts/check_build_config.js",
"LICENSE.txt",
"src/main/contextMenu.ts",
"src/main/badge.ts",
"src/common/config/index.ts",
"src/common/config/buildConfig.ts",
"src/common/config/pastDefaultPreferences.ts",
"src/common/config/upgradePreferences.ts",
"src/common/config/RegistryConfig.ts",
"src/common/config/defaultPreferences.ts",
"src/common/JsonFileManager.ts",
"src/main/certificateStore.ts",
"src/main/allowProtocolDialog.ts",
"src/main/AutoLauncher.ts",
"src/main/menus/tray.ts",
"src/main/CriticalErrorHandler.ts",
"src/main/utils.ts",
"src/main/menus/app.ts",
"src/renderer/components/RemoveServerModal.tsx",
"src/renderer/components/MainPage.tsx",
"src/renderer/components/AutoSaveIndicator.tsx",
"src/renderer/components/TabBar.tsx",
"src/renderer/components/DestructiveConfirmModal.tsx",
"src/renderer/components/ErrorView.tsx",
"src/renderer/components/SettingsPage.tsx",
"src/renderer/components/NewServerModal.tsx",
"src/renderer/settings.tsx",
"src/renderer/index.tsx"
],
"rules": {
"header/header": [
2,
"line",
[
" Copyright (c) 2015-2016 Yuya Ochiai",
" Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.",
" See LICENSE.txt for license information."
]
]
}
}
]
}