Skip to content

Commit

Permalink
[Focused Improvements] .eslintrc updates (#760)
Browse files Browse the repository at this point in the history
* Modularized package .eslintrc

  each package extends the base repo's .eslintrc.
  typescript and react configs have been pulled out into their own
  eslint-config files in a new eslint-config directory at the
  repo root. This should make linting easier to maintain when
  adding additional frameworks, and will necessitate less
  file changes in the future.

* Updated disable-next-line comments to work with new structure

* Line endings added

* Readd mistakenly removed rules, remove redudent extends

* Remove trailing comma

* Fixed linebreak-style rule

* Revert no-unused-vars change

* Add newlines to package*.json in root, also trimlines dev: true

* Revert ignorePattern

* Remove parser options
  • Loading branch information
CobyPear authored Aug 2, 2021
1 parent 57564b7 commit b1aaa79
Show file tree
Hide file tree
Showing 22 changed files with 151 additions and 131 deletions.
57 changes: 31 additions & 26 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"root": true,
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jsdoc/recommended",
"prettier",
"prettier/@typescript-eslint"
Expand All @@ -15,7 +14,11 @@
"ecmaVersion": 2020,
"sourceType": "module"
},
"plugins": ["@typescript-eslint", "prettier", "jsdoc"],
"plugins": [
"@typescript-eslint",
"prettier",
"jsdoc"
],
"env": {
"browser": true,
"node": true,
Expand All @@ -29,31 +32,21 @@
"jsdoc/no-undefined-types": "off",
"jsdoc/require-returns-type": "off",
"prettier/prettier": "error",
"@typescript-eslint/naming-convention": [
"no-use-before-define": "off",
"no-useless-escape": "off",
"spaced-comment": "error",
"curly": [
"error",
{
"format": ["PascalCase"],
"selector": "typeLike",
"custom": {
"regex": "^I[A-Z]",
"match": false
}
}
"multi-line"
],
"@typescript-eslint/member-ordering": "error",
"no-use-before-define": "off",
"@typescript-eslint/no-use-before-define": [
"eol-last": [
"error",
{ "functions": false, "variables": false }
"always"
],
"linebreak-style": [
"error",
"windows"
],
"@typescript-eslint/typedef": "error",
"@typescript-eslint/type-annotation-spacing": "error",
"@typescript-eslint/semi": "error",
"@typescript-eslint/no-var-requires": "off",
"no-useless-escape": "off",
"spaced-comment": "error",
"curly": ["error", "multi-line"],
"eol-last": ["error", "always"],
"guard-for-in": "error",
"no-unused-labels": "error",
"no-caller": "error",
Expand All @@ -63,12 +56,24 @@
"no-eval": "error",
"dot-notation": "error",
"no-trailing-spaces": "error",
"no-unused-expressions": ["error", { "allowShortCircuit": true, "allowTernary": true }],
"no-unused-expressions": [
"error",
{
"allowShortCircuit": true,
"allowTernary": true
}
],
"brace-style": "error",
"quotes": ["error", "single"],
"quotes": [
"error",
"single"
],
"radix": "error",
"default-case": "error",
"eqeqeq": "error",
"jsx-quotes": ["error", "prefer-double"]
"jsx-quotes": [
"error",
"prefer-double"
]
}
}
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"editor.fontSize": 13,
}
}
13 changes: 13 additions & 0 deletions eslint-configs/react.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module.exports = {
extends: ['plugin:react/recommended'],
plugins: ['react'],
settings: {
react: {
version: 'detect',
},
},
globals: {
React: 'writable',
JSX: 'true',
},
};
27 changes: 27 additions & 0 deletions eslint-configs/typescript.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
module.exports = {
extends: ['plugin:@typescript-eslint/recommended'],
rules: {
'@typescript-eslint/naming-convention': [
'error',
{
format: ['PascalCase'],
selector: 'typeLike',
custom: {
regex: '^I[A-Z]',
match: false,
},
},
],
'@typescript-eslint/member-ordering': 'error',
'@typescript-eslint/no-use-before-define': ['error', { functions: false, variables: false }],
'@typescript-eslint/typedef': 'error',
'@typescript-eslint/type-annotation-spacing': 'error',
'@typescript-eslint/semi': 'error',
'@typescript-eslint/no-var-requires': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
},
globals: {
RequestInit: 'true',
},
};
3 changes: 2 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@
"prettier": "^1.14.3",
"typescript": "^3.9.6"
}
}
}
8 changes: 3 additions & 5 deletions packages/sitecore-jss-angular/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
{
"extends": [
"plugin:@angular-eslint/recommended",
"../../.eslintrc"
],
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off"
}
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
10 changes: 5 additions & 5 deletions packages/sitecore-jss-cli/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"extends": "../../.eslintrc",
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off"
}
}
"extends": [
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
10 changes: 5 additions & 5 deletions packages/sitecore-jss-dev-tools/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"extends": "../../.eslintrc",
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off"
}
}
"extends": [
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
8 changes: 4 additions & 4 deletions packages/sitecore-jss-forms/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"extends": "../../.eslintrc",
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off"
}
"extends": [
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
9 changes: 4 additions & 5 deletions packages/sitecore-jss-manifest/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"extends": "../../.eslintrc",
"rules": {
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/explicit-module-boundary-types": "off"
}
"extends": [
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
16 changes: 4 additions & 12 deletions packages/sitecore-jss-nextjs/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
{
"extends": [
"plugin:react/recommended",
"../../.eslintrc"
],
"plugins": ["react"],
"settings": {
"react": {
"version": "detect"
}
},
"globals": {
"React": "writable"
}
"../../.eslintrc",
"../../eslint-configs/react",
"../../eslint-configs/typescript"
]
}
8 changes: 4 additions & 4 deletions packages/sitecore-jss-proxy/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"extends": "../../.eslintrc",
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off"
}
"extends": [
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
21 changes: 6 additions & 15 deletions packages/sitecore-jss-react-forms/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
{
"extends": [
"plugin:react/recommended",
"../../.eslintrc"
"../../.eslintrc",
"../../eslint-configs/react",
"../../eslint-configs/typescript"
],
"plugins": ["react"],
"settings": {
"react": {
"version": "detect"
}
},
"globals": {
"React": "writable"
},
"rules": {
"react/prop-types": "off",
"@typescript-eslint/explicit-module-boundary-types": "off"
}
"rules": {
"react/prop-types": "off"
}
}
26 changes: 12 additions & 14 deletions packages/sitecore-jss-react-native/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
{
"extends": ["../../.eslintrc"],
"parser": "@typescript-eslint/parser",
"plugins": ["react-native", "@typescript-eslint"],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
}
},
"extends": [
"../../.eslintrc",
"../../eslint-configs/typescript"
],
"plugins": [
"react-native"
],
"env": {
"jest": true
},
"ignorePatterns": ["src/**/*.test.*", "src/tests/*", "src/testData/*"],
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/indent": ["error", 2]
}
"ignorePatterns": [
"src/**/*.test.*",
"src/tests/*",
"src/testData/*"
]
}
19 changes: 4 additions & 15 deletions packages/sitecore-jss-react/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,18 +1,7 @@
{
"extends": [
"plugin:react/recommended",
"../../.eslintrc"
],
"plugins": ["react"],
"settings": {
"react": {
"version": "detect"
}
},
"globals": {
"React": "writable"
},
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off"
}
"../../.eslintrc",
"../../eslint-configs/react",
"../../eslint-configs/typescript"
]
}
8 changes: 4 additions & 4 deletions packages/sitecore-jss-rendering-host/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"extends": "../../.eslintrc",
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off"
}
"extends": [
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
6 changes: 6 additions & 0 deletions packages/sitecore-jss-tracking/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"extends": [
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
10 changes: 5 additions & 5 deletions packages/sitecore-jss-vue/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"extends": ["plugin:vue/recommended", "../../.eslintrc"],
"rules": {
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/explicit-module-boundary-types": "off"
}
"extends": [
"plugin:vue/recommended",
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
8 changes: 4 additions & 4 deletions packages/sitecore-jss/.eslintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"extends": "../../.eslintrc",
"rules": {
"@typescript-eslint/explicit-module-boundary-types": "off"
}
"extends": [
"../../.eslintrc",
"../../eslint-configs/typescript"
]
}
2 changes: 2 additions & 0 deletions packages/sitecore-jss/src/layout/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export function getFieldValue<T>(
renderingOrFields: ComponentRendering | Fields,
fieldName: string
): T | undefined;
// eslint-disable-next-line no-redeclare
export function getFieldValue<T>(
renderingOrFields: ComponentRendering | Fields,
fieldName: string,
Expand All @@ -20,6 +21,7 @@ export function getFieldValue<T>(
* @param {string} fieldName
* @param {T} [defaultValue]
*/
// eslint-disable-next-line no-redeclare
export function getFieldValue<T>(
renderingOrFields: ComponentRendering | Fields,
fieldName: string,
Expand Down
Loading

0 comments on commit b1aaa79

Please sign in to comment.