@egy186/eslint-config 0.102.0 → 0.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # @egy186/eslint-config
2
2
 
3
3
  [![CI](https://github.com/egy186/eslint-config/workflows/CI/badge.svg)](https://github.com/egy186/eslint-config/actions?query=workflow%3ACI)
4
- [![dependencies Status](https://david-dm.org/egy186/eslint-config/status.svg)](https://david-dm.org/egy186/eslint-config)
5
4
 
6
5
  ## Install
7
6
 
@@ -11,8 +10,60 @@ npm install @egy186/eslint-config
11
10
 
12
11
  ## `.eslintrc.json`
13
12
 
13
+ Node.js, ESM:
14
+
15
+ ```json
16
+ {
17
+ "extends": [
18
+ "@egy186/eslint-config"
19
+ ]
20
+ }
21
+ ```
22
+
23
+ Node.js, CommonJS:
24
+
25
+ ```json
26
+ {
27
+ "extends": [
28
+ "@egy186/eslint-config",
29
+ "@egy186/eslint-config/commonjs"
30
+ ]
31
+ }
32
+ ```
33
+
34
+ Browser, React:
35
+
36
+ ```json
37
+ {
38
+ "extends": [
39
+ "@egy186/eslint-config",
40
+ "@egy186/eslint-config/browser",
41
+ "@egy186/eslint-config/react"
42
+ ]
43
+ }
44
+ ```
45
+
46
+ TypeScript:
47
+
48
+ ```json
49
+ {
50
+ "extends": [
51
+ "@egy186/eslint-config",
52
+ "@egy186/eslint-config/typescript"
53
+ ],
54
+ "parserOptions": {
55
+ "project": "./path/to/tsconfig.json"
56
+ }
57
+ }
58
+ ```
59
+
60
+ Jest:
61
+
14
62
  ```json
15
63
  {
16
- "extends": ["@egy186/eslint-config"]
64
+ "extends": [
65
+ "@egy186/eslint-config",
66
+ "@egy186/eslint-config/jest"
67
+ ]
17
68
  }
18
69
  ```
package/browser.js CHANGED
@@ -1,13 +1,4 @@
1
1
  'use strict';
2
2
 
3
- const _ = require('lodash');
4
- const node = require('./node');
5
-
6
- module.exports = {
7
- env: {
8
- browser: true,
9
- node: false
10
- },
11
- // Disable all node rules
12
- rules: _.mapValues(node.rules, () => 'off')
13
- };
3
+ // eslint-disable-next-line n/no-missing-require
4
+ module.exports = require('./dist/browser').default;
package/commonjs.js ADDED
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ // eslint-disable-next-line n/no-missing-require
4
+ module.exports = require('./dist/commonjs').default;
package/index.js CHANGED
@@ -1,13 +1,4 @@
1
1
  'use strict';
2
2
 
3
- const _ = require('lodash');
4
- const base = require('./base');
5
- const jsdoc = require('./jsdoc');
6
- const stylistic = require('./stylistic');
7
-
8
- module.exports = _.mergeWith(base, jsdoc, stylistic, (objValue, srcValue) => {
9
- if (Array.isArray(objValue)) {
10
- return objValue.concat(srcValue);
11
- }
12
- return undefined;
13
- });
3
+ // eslint-disable-next-line n/no-missing-require
4
+ module.exports = require('./dist').default;
package/jest.js CHANGED
@@ -1,62 +1,4 @@
1
1
  'use strict';
2
2
 
3
- module.exports = {
4
- env: { jest: true },
5
- plugins: ['jest'],
6
- rules: {
7
- 'jest/consistent-test-it': 'error',
8
- 'jest/expect-expect': 'error',
9
- 'jest/max-expects': 'error',
10
- 'jest/max-nested-describe': 'error',
11
- 'jest/no-alias-methods': 'error',
12
- 'jest/no-commented-out-tests': 'error',
13
- 'jest/no-conditional-expect': 'error',
14
- 'jest/no-conditional-in-test': 'error',
15
- 'jest/no-confusing-set-timeout': 'error',
16
- 'jest/no-deprecated-functions': 'error',
17
- 'jest/no-disabled-tests': 'error',
18
- 'jest/no-done-callback': 'error',
19
- 'jest/no-duplicate-hooks': 'error',
20
- 'jest/no-export': 'error',
21
- 'jest/no-focused-tests': 'error',
22
- 'jest/no-hooks': 'off',
23
- 'jest/no-identical-title': 'error',
24
- 'jest/no-interpolation-in-snapshots': 'error',
25
- 'jest/no-jasmine-globals': 'error',
26
- 'jest/no-large-snapshots': 'warn',
27
- 'jest/no-mocks-import': 'error',
28
- 'jest/no-restricted-jest-methods': 'off',
29
- 'jest/no-restricted-matchers': 'off',
30
- 'jest/no-standalone-expect': 'error',
31
- 'jest/no-test-prefixes': 'error',
32
- 'jest/no-test-return-statement': 'error',
33
- 'jest/no-untyped-mock-factory': 'warn',
34
- 'jest/prefer-called-with': 'error',
35
- 'jest/prefer-comparison-matcher': 'error',
36
- 'jest/prefer-each': 'error',
37
- 'jest/prefer-equality-matcher': 'error',
38
- 'jest/prefer-expect-assertions': ['warn', { onlyFunctionsWithAsyncKeyword: true }],
39
- 'jest/prefer-expect-resolves': 'error',
40
- 'jest/prefer-hooks-in-order': 'error',
41
- 'jest/prefer-hooks-on-top': 'error',
42
- 'jest/prefer-lowercase-title': 'error',
43
- 'jest/prefer-mock-promise-shorthand': 'error',
44
- 'jest/prefer-snapshot-hint': 'error',
45
- 'jest/prefer-spy-on': 'error',
46
- 'jest/prefer-strict-equal': 'error',
47
- 'jest/prefer-to-be': 'error',
48
- 'jest/prefer-to-contain': 'error',
49
- 'jest/prefer-to-have-length': 'error',
50
- 'jest/prefer-todo': 'error',
51
- 'jest/require-hook': 'error',
52
- 'jest/require-to-throw-message': 'error',
53
- 'jest/require-top-level-describe': 'error',
54
- 'jest/unbound-method': 'error',
55
- 'jest/valid-describe-callback': 'error',
56
- 'jest/valid-expect': 'error',
57
- 'jest/valid-expect-in-promise': 'error',
58
- 'jest/valid-title': 'error',
59
- 'max-lines-per-function': 'off',
60
- 'max-statements': 'off'
61
- }
62
- };
3
+ // eslint-disable-next-line n/no-missing-require
4
+ module.exports = require('./dist/jest').default;
package/package.json CHANGED
@@ -1,43 +1,40 @@
1
1
  {
2
2
  "name": "@egy186/eslint-config",
3
3
  "description": "Eslint shareable config",
4
- "version": "0.102.0",
4
+ "version": "0.103.0",
5
5
  "author": "egy186",
6
6
  "bugs": {
7
7
  "url": "https://github.com/egy186/eslint-config/issues"
8
8
  },
9
- "dependencies": {
10
- "lodash": "^4.17.21"
11
- },
12
9
  "devDependencies": {
13
10
  "@eslint-stylistic/metadata": "~1.5.1",
14
11
  "@stylistic/eslint-plugin": "~1.5.1",
15
- "@typescript-eslint/eslint-plugin": "~6.15.0",
16
- "@typescript-eslint/parser": "~6.15.0",
12
+ "@types/eslint": "^8.56.0",
13
+ "@types/node": "^20.10.5",
14
+ "@typescript-eslint/eslint-plugin": "~6.16.0",
15
+ "@typescript-eslint/parser": "~6.16.0",
17
16
  "eslint": "~8.56.0",
17
+ "eslint-import-resolver-typescript": "^3.6.1",
18
18
  "eslint-plugin-import": "~2.29.1",
19
19
  "eslint-plugin-jest": "~27.6.0",
20
20
  "eslint-plugin-jsdoc": "~46.9.1",
21
- "eslint-plugin-n": "~16.4.0",
21
+ "eslint-plugin-n": "~16.5.0",
22
22
  "eslint-plugin-react": "~7.33.2",
23
23
  "eslint-plugin-react-hooks": "~4.6.0",
24
24
  "husky": "^8.0.1",
25
- "require-dir": "^1.2.0",
25
+ "jiti": "^1.21.0",
26
26
  "typescript": "~5.3.3"
27
27
  },
28
28
  "engines": {
29
29
  "node": ">=16.19.1"
30
30
  },
31
31
  "files": [
32
- "base.js",
32
+ "dist",
33
33
  "browser.js",
34
+ "commonjs.js",
34
35
  "index.js",
35
36
  "jest.js",
36
- "jsdoc.js",
37
- "modules.js",
38
- "node.js",
39
37
  "react.js",
40
- "stylistic.js",
41
38
  "typescript.js"
42
39
  ],
43
40
  "homepage": "https://github.com/egy186/eslint-config#readme",
@@ -91,8 +88,11 @@
91
88
  "url": "git+https://github.com/egy186/eslint-config.git"
92
89
  },
93
90
  "scripts": {
91
+ "build": "tsc --build",
92
+ "clean": "npm run build -- --clean",
94
93
  "husky": "husky install",
95
- "lint": "cd lib && eslint ..",
96
- "test": "cd lib && node test.js"
94
+ "lint": "eslint --ext .js,.ts .",
95
+ "test": "jiti test/test.ts",
96
+ "typecheck": "tsc --project tsconfig.base.json --noEmit"
97
97
  }
98
98
  }
package/react.js CHANGED
@@ -1,150 +1,4 @@
1
1
  'use strict';
2
2
 
3
- module.exports = {
4
- parserOptions: {
5
- ecmaFeatures: { jsx: true },
6
- jsxPragma: null
7
- },
8
- plugins: ['react', 'react-hooks'],
9
- rules: {
10
- 'react-hooks/exhaustive-deps': 'error',
11
- 'react-hooks/rules-of-hooks': 'error',
12
- 'react/boolean-prop-naming': 'error',
13
- 'react/button-has-type': 'error',
14
- 'react/default-props-match-prop-types': 'error',
15
- 'react/destructuring-assignment': ['error', 'always'],
16
- 'react/display-name': 'error',
17
- 'react/forbid-component-props': 'error',
18
- 'react/forbid-dom-props': 'off',
19
- 'react/forbid-elements': 'off',
20
- 'react/forbid-foreign-prop-types': 'error',
21
- 'react/forbid-prop-types': 'error',
22
- 'react/function-component-definition': [
23
- 'error',
24
- {
25
- namedComponents: 'arrow-function',
26
- unnamedComponents: 'arrow-function'
27
- }
28
- ],
29
- 'react/hook-use-state': 'error',
30
- 'react/iframe-missing-sandbox': 'error',
31
- 'react/jsx-boolean-value': 'error',
32
- 'react/jsx-child-element-spacing': 'off', // Migrated to @stylistic/jsx-child-element-spacing
33
- 'react/jsx-closing-bracket-location': 'off', // Migrated to @stylistic/jsx-closing-bracket-location
34
- 'react/jsx-closing-tag-location': 'off', // Migrated to @stylistic/jsx-closing-tag-location
35
- 'react/jsx-curly-brace-presence': 'off', // Migrated to @stylistic/jsx-curly-brace-presence
36
- 'react/jsx-curly-newline': 'off', // Migrated to @stylistic/jsx-curly-newline
37
- 'react/jsx-curly-spacing': 'off', // Migrated to @stylistic/jsx-curly-spacing
38
- 'react/jsx-equals-spacing': 'off', // Migrated to @stylistic/jsx-equals-spacing
39
- 'react/jsx-filename-extension': ['error', { extensions: ['.jsx', '.tsx'] }],
40
- 'react/jsx-first-prop-new-line': 'off', // Migrated to @stylistic/jsx-first-prop-new-line
41
- 'react/jsx-fragments': ['error', 'element'],
42
- 'react/jsx-handler-names': [
43
- 'error',
44
- {
45
- checkInlineFunction: true,
46
- checkLocalVariables: true
47
- }
48
- ],
49
- 'react/jsx-indent': 'off', // Migrated to @stylistic/jsx-indent
50
- 'react/jsx-indent-props': 'off', // Migrated to @stylistic/jsx-indent-props
51
- 'react/jsx-key': [
52
- 'error',
53
- {
54
- checkFragmentShorthand: true,
55
- checkKeyMustBeforeSpread: true,
56
- warnOnDuplicates: true
57
- }
58
- ],
59
- 'react/jsx-max-depth': 'error',
60
- 'react/jsx-max-props-per-line': 'off', // Migrated to @stylistic/jsx-max-props-per-line
61
- 'react/jsx-newline': 'off', // Migrated to @stylistic/jsx-newline
62
- 'react/jsx-no-bind': 'error',
63
- 'react/jsx-no-comment-textnodes': 'error',
64
- 'react/jsx-no-constructed-context-values': 'error',
65
- 'react/jsx-no-duplicate-props': 'error',
66
- 'react/jsx-no-leaked-render': 'error',
67
- 'react/jsx-no-literals': 'error',
68
- 'react/jsx-no-script-url': [
69
- 'error',
70
- [
71
- {
72
- name: 'Link',
73
- props: ['to']
74
- }
75
- ]
76
- ],
77
- 'react/jsx-no-target-blank': 'error',
78
- 'react/jsx-no-undef': 'error',
79
- 'react/jsx-no-useless-fragment': 'error',
80
- 'react/jsx-one-expression-per-line': 'off', // Migrated to @stylistic/jsx-one-expression-per-line
81
- 'react/jsx-pascal-case': 'error',
82
- 'react/jsx-props-no-multi-spaces': 'off', // Migrated to @stylistic/jsx-props-no-multi-spaces
83
- 'react/jsx-props-no-spreading': 'off',
84
- 'react/jsx-sort-props': 'off', // Migrated to @stylistic/jsx-sort-props
85
- 'react/jsx-tag-spacing': 'off', // Migrated to @stylistic/jsx-tag-spacing
86
- 'react/jsx-uses-react': 'off',
87
- 'react/jsx-uses-vars': 'error',
88
- 'react/jsx-wrap-multilines': 'off', // Migrated to @stylistic/jsx-wrap-multilines
89
- 'react/no-access-state-in-setstate': 'error',
90
- 'react/no-adjacent-inline-elements': 'error',
91
- 'react/no-array-index-key': 'error',
92
- 'react/no-arrow-function-lifecycle': 'error',
93
- 'react/no-children-prop': 'error',
94
- 'react/no-danger': 'error',
95
- 'react/no-danger-with-children': 'error',
96
- 'react/no-deprecated': 'error',
97
- 'react/no-did-mount-set-state': 'error',
98
- 'react/no-did-update-set-state': 'error',
99
- 'react/no-direct-mutation-state': 'error',
100
- 'react/no-find-dom-node': 'error',
101
- 'react/no-invalid-html-attribute': 'error',
102
- 'react/no-is-mounted': 'error',
103
- 'react/no-multi-comp': 'error',
104
- 'react/no-namespace': 'error',
105
- 'react/no-object-type-as-default-prop': 'error',
106
- 'react/no-redundant-should-component-update': 'error',
107
- 'react/no-render-return-value': 'error',
108
- 'react/no-set-state': 'warn',
109
- 'react/no-string-refs': 'error',
110
- 'react/no-this-in-sfc': 'error',
111
- 'react/no-typos': 'error',
112
- 'react/no-unescaped-entities': 'error',
113
- 'react/no-unknown-property': 'error',
114
- 'react/no-unsafe': 'error',
115
- 'react/no-unstable-nested-components': 'error',
116
- 'react/no-unused-class-component-methods': 'error',
117
- 'react/no-unused-prop-types': 'error',
118
- 'react/no-unused-state': 'error',
119
- 'react/no-will-update-set-state': 'error',
120
- 'react/prefer-es6-class': 'error',
121
- 'react/prefer-exact-props': 'error',
122
- 'react/prefer-read-only-props': 'error',
123
- 'react/prefer-stateless-function': 'error',
124
- 'react/prop-types': 'error',
125
- 'react/react-in-jsx-scope': 'off',
126
- 'react/require-default-props': 'error',
127
- 'react/require-optimization': 'error',
128
- 'react/require-render-return': 'error',
129
- 'react/self-closing-comp': 'off', // Migrated to @stylistic/self-closing-comp
130
- 'react/sort-comp': [
131
- 'error',
132
- {
133
- order: [
134
- 'constructor',
135
- 'static-methods',
136
- 'lifecycle',
137
- 'everything-else',
138
- 'render'
139
- ]
140
- }
141
- ],
142
- 'react/sort-default-props': 'error',
143
- 'react/sort-prop-types': 'error',
144
- 'react/state-in-constructor': 'error',
145
- 'react/static-property-placement': 'error',
146
- 'react/style-prop-object': 'error',
147
- 'react/void-dom-elements-no-children': 'error'
148
- },
149
- settings: { react: { version: 'detect' } }
150
- };
3
+ // eslint-disable-next-line n/no-missing-require
4
+ module.exports = require('./dist/react').default;
package/typescript.js CHANGED
@@ -1,197 +1,4 @@
1
1
  'use strict';
2
2
 
3
- module.exports = {
4
- parser: '@typescript-eslint/parser',
5
- plugins: ['@typescript-eslint'],
6
- rules: {
7
- '@typescript-eslint/adjacent-overload-signatures': 'error',
8
- '@typescript-eslint/array-type': 'error',
9
- '@typescript-eslint/await-thenable': 'error',
10
- '@typescript-eslint/ban-ts-comment': 'error',
11
- '@typescript-eslint/ban-tslint-comment': 'error',
12
- '@typescript-eslint/ban-types': 'error',
13
- '@typescript-eslint/block-spacing': 'off', // Migrated to @stylistic/block-spacing
14
- '@typescript-eslint/brace-style': 'error',
15
- '@typescript-eslint/class-literal-property-style': 'error',
16
- '@typescript-eslint/class-methods-use-this': 'error',
17
- '@typescript-eslint/comma-dangle': 'off', // Migrated to @stylistic/comma-dangle
18
- '@typescript-eslint/comma-spacing': 'error',
19
- '@typescript-eslint/consistent-generic-constructors': 'error',
20
- '@typescript-eslint/consistent-indexed-object-style': ['error', 'index-signature'],
21
- '@typescript-eslint/consistent-type-assertions': 'error',
22
- '@typescript-eslint/consistent-type-definitions': 'error',
23
- '@typescript-eslint/consistent-type-exports': 'error',
24
- '@typescript-eslint/consistent-type-imports': 'error',
25
- '@typescript-eslint/default-param-last': 'error',
26
- '@typescript-eslint/dot-notation': 'error',
27
- '@typescript-eslint/explicit-function-return-type': 'error',
28
- '@typescript-eslint/explicit-member-accessibility': 'error',
29
- '@typescript-eslint/explicit-module-boundary-types': 'error',
30
- '@typescript-eslint/func-call-spacing': 'error',
31
- '@typescript-eslint/indent': ['error', 2],
32
- '@typescript-eslint/init-declarations': 'error',
33
- '@typescript-eslint/key-spacing': 'off', // Migrated to @stylistic/key-spacing
34
- '@typescript-eslint/keyword-spacing': 'off', // Migrated to @stylistic/keyword-spacing
35
- '@typescript-eslint/lines-around-comment': 'off', // Migrated to @stylistic/lines-around-comment
36
- '@typescript-eslint/lines-between-class-members': 'off', // Migrated to @stylistic/lines-between-class-members
37
- '@typescript-eslint/max-params': 'error',
38
- '@typescript-eslint/member-delimiter-style': 'off', // Migrated to @stylistic/member-delimiter-style
39
- '@typescript-eslint/member-ordering': 'error',
40
- '@typescript-eslint/method-signature-style': 'error',
41
- '@typescript-eslint/naming-convention': [
42
- 'error',
43
- {
44
- format: ['camelCase'],
45
- selector: 'default'
46
- },
47
- {
48
- format: ['camelCase', 'PascalCase'],
49
- selector: 'import'
50
- },
51
- {
52
- format: ['camelCase', 'UPPER_CASE'],
53
- selector: 'variable'
54
- },
55
- {
56
- format: ['camelCase', 'snake_case'],
57
- leadingUnderscore: 'allow',
58
- selector: 'property'
59
- },
60
- {
61
- format: ['camelCase'],
62
- leadingUnderscore: 'allow',
63
- selector: 'parameter'
64
- },
65
- {
66
- format: ['camelCase'],
67
- leadingUnderscore: 'require',
68
- modifiers: ['private'],
69
- selector: 'memberLike'
70
- },
71
- {
72
- format: ['PascalCase'],
73
- selector: 'typeLike'
74
- }
75
- ],
76
- '@typescript-eslint/no-array-constructor': 'error',
77
- '@typescript-eslint/no-base-to-string': 'error',
78
- '@typescript-eslint/no-confusing-non-null-assertion': 'error',
79
- '@typescript-eslint/no-confusing-void-expression': ['error', { ignoreVoidOperator: true }],
80
- '@typescript-eslint/no-dupe-class-members': 'error',
81
- '@typescript-eslint/no-duplicate-enum-values': 'error',
82
- '@typescript-eslint/no-duplicate-type-constituents': 'error',
83
- '@typescript-eslint/no-dynamic-delete': 'error',
84
- '@typescript-eslint/no-empty-function': 'error',
85
- '@typescript-eslint/no-empty-interface': 'error',
86
- '@typescript-eslint/no-explicit-any': 'error',
87
- '@typescript-eslint/no-extra-non-null-assertion': 'error',
88
- '@typescript-eslint/no-extra-parens': 'off', // Migrated to @stylistic/no-extra-parens
89
- '@typescript-eslint/no-extra-semi': 'off', // Migrated to @stylistic/no-extra-semi
90
- '@typescript-eslint/no-extraneous-class': 'error',
91
- '@typescript-eslint/no-floating-promises': ['error', { ignoreVoid: true }],
92
- '@typescript-eslint/no-for-in-array': 'error',
93
- '@typescript-eslint/no-implied-eval': 'error',
94
- '@typescript-eslint/no-import-type-side-effects': 'error',
95
- '@typescript-eslint/no-inferrable-types': 'error',
96
- '@typescript-eslint/no-invalid-this': 'error',
97
- '@typescript-eslint/no-invalid-void-type': 'error',
98
- '@typescript-eslint/no-loop-func': 'error',
99
- '@typescript-eslint/no-loss-of-precision': 'error',
100
- '@typescript-eslint/no-magic-numbers': 'off',
101
- '@typescript-eslint/no-meaningless-void-operator': 'error',
102
- '@typescript-eslint/no-misused-new': 'error',
103
- '@typescript-eslint/no-misused-promises': 'error',
104
- '@typescript-eslint/no-mixed-enums': 'warn',
105
- '@typescript-eslint/no-namespace': 'error',
106
- '@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error',
107
- '@typescript-eslint/no-non-null-asserted-optional-chain': 'error',
108
- '@typescript-eslint/no-non-null-assertion': 'error',
109
- '@typescript-eslint/no-redeclare': 'error',
110
- '@typescript-eslint/no-redundant-type-constituents': 'error',
111
- '@typescript-eslint/no-require-imports': 'error',
112
- '@typescript-eslint/no-restricted-imports': 'error',
113
- '@typescript-eslint/no-shadow': 'error',
114
- '@typescript-eslint/no-this-alias': 'error',
115
- '@typescript-eslint/no-throw-literal': 'error',
116
- '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error',
117
- '@typescript-eslint/no-unnecessary-condition': 'error',
118
- '@typescript-eslint/no-unnecessary-qualifier': 'error',
119
- '@typescript-eslint/no-unnecessary-type-arguments': 'error',
120
- '@typescript-eslint/no-unnecessary-type-assertion': 'error',
121
- '@typescript-eslint/no-unnecessary-type-constraint': 'error',
122
- '@typescript-eslint/no-unsafe-argument': 'error',
123
- '@typescript-eslint/no-unsafe-assignment': 'error',
124
- '@typescript-eslint/no-unsafe-call': 'error',
125
- '@typescript-eslint/no-unsafe-declaration-merging': 'error',
126
- '@typescript-eslint/no-unsafe-enum-comparison': 'error',
127
- '@typescript-eslint/no-unsafe-member-access': 'error',
128
- '@typescript-eslint/no-unsafe-return': 'error',
129
- '@typescript-eslint/no-unsafe-unary-minus': 'error',
130
- '@typescript-eslint/no-unused-expressions': ['error', { enforceForJSX: true }],
131
- '@typescript-eslint/no-unused-vars': 'error',
132
- '@typescript-eslint/no-use-before-define': 'error',
133
- '@typescript-eslint/no-useless-constructor': 'error',
134
- '@typescript-eslint/no-useless-empty-export': 'error',
135
- '@typescript-eslint/no-useless-template-literals': 'error',
136
- '@typescript-eslint/no-var-requires': 'error',
137
- '@typescript-eslint/non-nullable-type-assertion-style': 'off',
138
- '@typescript-eslint/padding-line-between-statements': 'off', // Migrated to @stylistic/padding-line-between-statements
139
- '@typescript-eslint/parameter-properties': 'error',
140
- '@typescript-eslint/prefer-as-const': 'error',
141
- '@typescript-eslint/prefer-destructuring': 'error',
142
- '@typescript-eslint/prefer-enum-initializers': 'error',
143
- '@typescript-eslint/prefer-for-of': 'error',
144
- '@typescript-eslint/prefer-function-type': 'off',
145
- '@typescript-eslint/prefer-includes': 'error',
146
- '@typescript-eslint/prefer-literal-enum-member': 'error',
147
- '@typescript-eslint/prefer-namespace-keyword': 'error',
148
- '@typescript-eslint/prefer-nullish-coalescing': 'error',
149
- '@typescript-eslint/prefer-optional-chain': 'error',
150
- '@typescript-eslint/prefer-readonly': 'error',
151
- '@typescript-eslint/prefer-readonly-parameter-types': 'error',
152
- '@typescript-eslint/prefer-reduce-type-parameter': 'error',
153
- '@typescript-eslint/prefer-regexp-exec': 'error',
154
- '@typescript-eslint/prefer-return-this-type': 'error',
155
- '@typescript-eslint/prefer-string-starts-ends-with': 'error',
156
- '@typescript-eslint/prefer-ts-expect-error': 'error',
157
- '@typescript-eslint/promise-function-async': 'error',
158
- '@typescript-eslint/quotes': [
159
- 'error',
160
- 'single',
161
- 'avoid-escape'
162
- ],
163
- '@typescript-eslint/require-array-sort-compare': 'error',
164
- '@typescript-eslint/require-await': 'error',
165
- '@typescript-eslint/restrict-plus-operands': 'error',
166
- '@typescript-eslint/restrict-template-expressions': 'error',
167
- '@typescript-eslint/return-await': ['error', 'always'],
168
- '@typescript-eslint/semi': 'off', // Migrated to @stylistic/semi
169
- '@typescript-eslint/sort-type-constituents': 'error',
170
- '@typescript-eslint/space-before-blocks': 'off', // Migrated to @stylistic/space-before-blocks
171
- '@typescript-eslint/space-before-function-paren': 'off', // Migrated to @stylistic/space-before-function-paren
172
- '@typescript-eslint/space-infix-ops': 'off', // Migrated to @stylistic/space-infix-ops
173
- '@typescript-eslint/strict-boolean-expressions': 'error',
174
- '@typescript-eslint/switch-exhaustiveness-check': 'error',
175
- '@typescript-eslint/triple-slash-reference': 'error',
176
- '@typescript-eslint/type-annotation-spacing': 'off', // Migrated to @stylistic/type-annotation-spacing
177
- '@typescript-eslint/typedef': 'error',
178
- '@typescript-eslint/unbound-method': 'error',
179
- '@typescript-eslint/unified-signatures': 'error',
180
- camelcase: 'off',
181
- 'class-methods-use-this': 'off',
182
- 'dot-notation': 'off',
183
- 'init-declarations': 'off',
184
- 'max-params': 'off',
185
- 'no-dupe-class-members': 'off',
186
- 'no-invalid-this': 'off',
187
- 'no-loop-func': 'off',
188
- 'no-loss-of-precision': 'off',
189
- 'no-redeclare': 'off',
190
- 'no-restricted-imports': 'off',
191
- 'no-shadow': 'off',
192
- 'no-unused-expressions': 'off',
193
- 'no-use-before-define': 'off',
194
- 'prefer-destructuring': 'off',
195
- 'require-await': 'off'
196
- }
197
- };
3
+ // eslint-disable-next-line n/no-missing-require
4
+ module.exports = require('./dist/typescript').default;
package/base.js DELETED
@@ -1,225 +0,0 @@
1
- 'use strict';
2
-
3
- /* eslint max-lines: "off" */
4
-
5
- module.exports = {
6
- env: { es2021: true },
7
- reportUnusedDisableDirectives: true,
8
- rules: {
9
- ...{
10
- // Possible Problems
11
- 'array-callback-return': ['error', { checkForEach: true }],
12
- 'constructor-super': 'error',
13
- 'for-direction': 'error',
14
- 'getter-return': 'error',
15
- 'no-async-promise-executor': 'error',
16
- 'no-await-in-loop': 'error',
17
- 'no-class-assign': 'error',
18
- 'no-compare-neg-zero': 'error',
19
- 'no-cond-assign': ['error', 'always'],
20
- 'no-const-assign': 'error',
21
- 'no-constant-binary-expression': 'error',
22
- 'no-constant-condition': 'error',
23
- 'no-constructor-return': 'error',
24
- 'no-control-regex': 'error',
25
- 'no-debugger': 'error',
26
- 'no-dupe-args': 'error',
27
- 'no-dupe-class-members': 'error',
28
- 'no-dupe-else-if': 'error',
29
- 'no-dupe-keys': 'error',
30
- 'no-duplicate-case': 'error',
31
- 'no-duplicate-imports': 'error',
32
- 'no-empty-character-class': 'error',
33
- 'no-empty-pattern': 'error',
34
- 'no-ex-assign': 'error',
35
- 'no-fallthrough': 'error',
36
- 'no-func-assign': 'error',
37
- 'no-import-assign': 'error',
38
- 'no-inner-declarations': 'error',
39
- 'no-invalid-regexp': 'error',
40
- 'no-irregular-whitespace': 'error',
41
- 'no-loss-of-precision': 'error',
42
- 'no-misleading-character-class': 'error',
43
- 'no-new-native-nonconstructor': 'error',
44
- 'no-new-symbol': 'error',
45
- 'no-obj-calls': 'error',
46
- 'no-promise-executor-return': 'error',
47
- 'no-prototype-builtins': 'error',
48
- 'no-self-assign': 'error',
49
- 'no-self-compare': 'error',
50
- 'no-setter-return': 'error',
51
- 'no-sparse-arrays': 'error',
52
- 'no-template-curly-in-string': 'error',
53
- 'no-this-before-super': 'error',
54
- 'no-undef': 'error',
55
- 'no-unexpected-multiline': 'error',
56
- 'no-unmodified-loop-condition': 'error',
57
- 'no-unreachable': 'error',
58
- 'no-unreachable-loop': 'error',
59
- 'no-unsafe-finally': 'error',
60
- 'no-unsafe-negation': 'error',
61
- 'no-unsafe-optional-chaining': ['error', { disallowArithmeticOperators: true }],
62
- 'no-unused-private-class-members': 'error',
63
- 'no-unused-vars': [
64
- 'error',
65
- {
66
- args: 'after-used',
67
- caughtErrors: 'all',
68
- vars: 'all'
69
- }
70
- ],
71
- 'no-use-before-define': 'error',
72
- 'no-useless-backreference': 'error',
73
- 'require-atomic-updates': 'error',
74
- 'use-isnan': 'error',
75
- 'valid-typeof': 'error'
76
- },
77
- ...{
78
- // Suggestions
79
- 'accessor-pairs': 'error',
80
- 'arrow-body-style': ['error', 'as-needed'],
81
- 'block-scoped-var': 'error',
82
- camelcase: ['error', { properties: 'never' }],
83
- 'capitalized-comments': 'error',
84
- 'class-methods-use-this': 'error',
85
- complexity: ['warn', 12],
86
- 'consistent-return': 'error',
87
- 'consistent-this': 'error',
88
- curly: ['error', 'all'],
89
- 'default-case': 'error',
90
- 'default-case-last': 'error',
91
- 'default-param-last': 'error',
92
- 'dot-notation': 'error',
93
- eqeqeq: 'error',
94
- 'func-name-matching': 'error',
95
- 'func-names': ['error', 'as-needed'],
96
- 'func-style': ['error', 'expression'],
97
- 'grouped-accessor-pairs': ['error', 'getBeforeSet'],
98
- 'guard-for-in': 'error',
99
- 'id-denylist': 'off',
100
- 'id-length': 'off',
101
- 'id-match': 'off',
102
- 'init-declarations': 'error',
103
- 'logical-assignment-operators': 'off',
104
- 'max-classes-per-file': 'error',
105
- 'max-depth': 'error',
106
- 'max-lines': 'warn',
107
- 'max-lines-per-function': 'warn',
108
- 'max-nested-callbacks': 'error',
109
- 'max-params': 'off',
110
- 'max-statements': 'warn',
111
- 'multiline-comment-style': 'error',
112
- 'new-cap': 'error',
113
- 'no-alert': 'error',
114
- 'no-array-constructor': 'error',
115
- 'no-bitwise': 'off',
116
- 'no-caller': 'error',
117
- 'no-case-declarations': 'error',
118
- 'no-console': 'warn',
119
- 'no-continue': 'off',
120
- 'no-delete-var': 'error',
121
- 'no-div-regex': 'error',
122
- 'no-else-return': 'error',
123
- 'no-empty': 'error',
124
- 'no-empty-function': 'error',
125
- 'no-empty-static-block': 'error',
126
- 'no-eq-null': 'error',
127
- 'no-eval': 'error',
128
- 'no-extend-native': 'error',
129
- 'no-extra-bind': 'error',
130
- 'no-extra-boolean-cast': 'error',
131
- 'no-extra-label': 'off',
132
- 'no-global-assign': 'error',
133
- 'no-implicit-coercion': 'error',
134
- 'no-implicit-globals': 'error',
135
- 'no-implied-eval': 'error',
136
- 'no-inline-comments': 'off',
137
- 'no-invalid-this': 'error',
138
- 'no-iterator': 'error',
139
- 'no-label-var': 'off',
140
- 'no-labels': 'error',
141
- 'no-lone-blocks': 'error',
142
- 'no-lonely-if': 'error',
143
- 'no-loop-func': 'error',
144
- 'no-magic-numbers': 'off',
145
- 'no-multi-assign': 'error',
146
- 'no-multi-str': 'error',
147
- 'no-negated-condition': 'error',
148
- 'no-nested-ternary': 'error',
149
- 'no-new': 'error',
150
- 'no-new-func': 'error',
151
- 'no-new-wrappers': 'error',
152
- 'no-nonoctal-decimal-escape': 'error',
153
- 'no-object-constructor': 'error',
154
- 'no-octal': 'error',
155
- 'no-octal-escape': 'error',
156
- 'no-param-reassign': ['error', { props: false }],
157
- 'no-plusplus': 'off',
158
- 'no-proto': 'error',
159
- 'no-redeclare': 'error',
160
- 'no-regex-spaces': 'error',
161
- 'no-restricted-exports': 'off',
162
- 'no-restricted-globals': 'off',
163
- 'no-restricted-imports': 'off',
164
- 'no-restricted-properties': 'off',
165
- 'no-restricted-syntax': 'off',
166
- 'no-return-assign': 'error',
167
- 'no-script-url': 'error',
168
- 'no-sequences': 'error',
169
- 'no-shadow': 'error',
170
- 'no-shadow-restricted-names': 'error',
171
- 'no-ternary': 'off',
172
- 'no-throw-literal': 'error',
173
- 'no-undef-init': 'error',
174
- 'no-undefined': 'off',
175
- 'no-underscore-dangle': ['error', { allowAfterThis: true }],
176
- 'no-unneeded-ternary': ['error', { defaultAssignment: false }],
177
- 'no-unused-expressions': ['error', { enforceForJSX: true }],
178
- 'no-unused-labels': 'off',
179
- 'no-useless-call': 'error',
180
- 'no-useless-catch': 'error',
181
- 'no-useless-computed-key': 'error',
182
- 'no-useless-concat': 'error',
183
- 'no-useless-constructor': 'error',
184
- 'no-useless-escape': 'error',
185
- 'no-useless-rename': 'error',
186
- 'no-useless-return': 'error',
187
- 'no-var': 'error',
188
- 'no-void': 'error',
189
- 'no-warning-comments': 'error',
190
- 'no-with': 'error',
191
- 'object-shorthand': ['error', 'always'],
192
- 'one-var': ['error', 'never'],
193
- 'operator-assignment': 'off',
194
- 'prefer-arrow-callback': 'error',
195
- 'prefer-const': 'error',
196
- 'prefer-destructuring': 'error',
197
- 'prefer-exponentiation-operator': 'error',
198
- 'prefer-named-capture-group': 'error',
199
- 'prefer-numeric-literals': 'error',
200
- 'prefer-object-has-own': 'error',
201
- 'prefer-object-spread': 'error',
202
- 'prefer-promise-reject-errors': 'error',
203
- 'prefer-regex-literals': 'error',
204
- 'prefer-rest-params': 'error',
205
- 'prefer-spread': 'error',
206
- 'prefer-template': 'error',
207
- radix: 'error',
208
- 'require-await': 'error',
209
- 'require-unicode-regexp': 'error',
210
- 'require-yield': 'error',
211
- 'sort-imports': 'error',
212
- 'sort-keys': 'error',
213
- 'sort-vars': 'error',
214
- strict: ['error', 'safe'],
215
- 'symbol-description': 'error',
216
- 'vars-on-top': 'error',
217
- yoda: 'error'
218
- },
219
- ...{
220
- // Layout & Formatting
221
- 'line-comment-position': 'off',
222
- 'unicode-bom': ['error', 'never']
223
- }
224
- }
225
- };
package/jsdoc.js DELETED
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- plugins: ['jsdoc'],
5
- rules: {
6
- 'jsdoc/check-access': 'error',
7
- 'jsdoc/check-alignment': 'error',
8
- 'jsdoc/check-examples': 'off',
9
- 'jsdoc/check-indentation': 'error',
10
- 'jsdoc/check-line-alignment': 'off',
11
- 'jsdoc/check-param-names': 'error',
12
- 'jsdoc/check-property-names': 'error',
13
- 'jsdoc/check-syntax': 'error',
14
- 'jsdoc/check-tag-names': 'error',
15
- 'jsdoc/check-types': 'error',
16
- 'jsdoc/check-values': 'error',
17
- 'jsdoc/empty-tags': 'error',
18
- 'jsdoc/implements-on-classes': 'error',
19
- 'jsdoc/imports-as-dependencies': 'error',
20
- 'jsdoc/informative-docs': 'error',
21
- 'jsdoc/match-description': 'error',
22
- 'jsdoc/match-name': 'off',
23
- 'jsdoc/multiline-blocks': 'error',
24
- 'jsdoc/no-bad-blocks': 'error',
25
- 'jsdoc/no-blank-block-descriptions': 'error',
26
- 'jsdoc/no-blank-blocks': 'error',
27
- 'jsdoc/no-defaults': 'error',
28
- 'jsdoc/no-missing-syntax': ['off', { contexts: [] }],
29
- 'jsdoc/no-multi-asterisks': 'error',
30
- 'jsdoc/no-restricted-syntax': 'off',
31
- 'jsdoc/no-types': 'off',
32
- 'jsdoc/no-undefined-types': 'error',
33
- 'jsdoc/require-asterisk-prefix': 'error',
34
- 'jsdoc/require-description': 'off',
35
- 'jsdoc/require-description-complete-sentence': 'error',
36
- 'jsdoc/require-example': 'off',
37
- 'jsdoc/require-file-overview': 'off',
38
- 'jsdoc/require-hyphen-before-param-description': 'error',
39
- 'jsdoc/require-jsdoc': 'off',
40
- 'jsdoc/require-param': 'error',
41
- 'jsdoc/require-param-description': 'error',
42
- 'jsdoc/require-param-name': 'error',
43
- 'jsdoc/require-param-type': 'error',
44
- 'jsdoc/require-property': 'error',
45
- 'jsdoc/require-property-description': 'error',
46
- 'jsdoc/require-property-name': 'error',
47
- 'jsdoc/require-property-type': 'error',
48
- 'jsdoc/require-returns': 'error',
49
- 'jsdoc/require-returns-check': 'error',
50
- 'jsdoc/require-returns-description': 'error',
51
- 'jsdoc/require-returns-type': 'error',
52
- 'jsdoc/require-throws': 'error',
53
- 'jsdoc/require-yields': 'error',
54
- 'jsdoc/require-yields-check': 'error',
55
- 'jsdoc/sort-tags': 'error',
56
- 'jsdoc/tag-lines': [
57
- 'error',
58
- 'never',
59
- { startLines: 1 }
60
- ],
61
- 'jsdoc/text-escaping': ['error', { escapeHTML: true }],
62
- 'jsdoc/valid-types': 'error'
63
- }
64
- };
package/modules.js DELETED
@@ -1,53 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- parserOptions: { sourceType: 'module' },
5
- plugins: ['import'],
6
- rules: {
7
- 'import/consistent-type-specifier-style': 'error',
8
- 'import/default': 'error',
9
- 'import/dynamic-import-chunkname': 'error',
10
- 'import/export': 'error',
11
- 'import/exports-last': 'error',
12
- 'import/extensions': 'error',
13
- 'import/first': 'error',
14
- 'import/group-exports': 'error',
15
- 'import/max-dependencies': 'error',
16
- 'import/named': 'error',
17
- 'import/namespace': 'error',
18
- 'import/newline-after-import': 'error',
19
- 'import/no-absolute-path': 'error',
20
- 'import/no-amd': 'error',
21
- 'import/no-anonymous-default-export': 'error',
22
- 'import/no-commonjs': 'error',
23
- 'import/no-cycle': 'error',
24
- 'import/no-default-export': 'off',
25
- 'import/no-deprecated': 'error',
26
- 'import/no-duplicates': 'error',
27
- 'import/no-dynamic-require': 'error',
28
- 'import/no-empty-named-blocks': 'error',
29
- 'import/no-extraneous-dependencies': 'off',
30
- 'import/no-import-module-exports': 'error',
31
- 'import/no-internal-modules': 'off',
32
- 'import/no-mutable-exports': 'error',
33
- 'import/no-named-as-default': 'error',
34
- 'import/no-named-as-default-member': 'error',
35
- 'import/no-named-default': 'error',
36
- 'import/no-named-export': 'off',
37
- 'import/no-namespace': 'error',
38
- 'import/no-nodejs-modules': 'off',
39
- 'import/no-relative-packages': 'error',
40
- 'import/no-relative-parent-imports': 'off',
41
- 'import/no-restricted-paths': 'off',
42
- 'import/no-self-import': 'error',
43
- 'import/no-unassigned-import': 'error',
44
- 'import/no-unresolved': 'error',
45
- 'import/no-unused-modules': 'error',
46
- 'import/no-useless-path-segments': 'error',
47
- 'import/no-webpack-loader-syntax': 'error',
48
- 'import/order': 'off',
49
- 'import/prefer-default-export': 'error',
50
- 'import/unambiguous': 'error',
51
- 'no-duplicate-imports': 'off'
52
- }
53
- };
package/node.js DELETED
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- env: { node: true },
5
- plugins: ['n'],
6
- rules: {
7
- 'n/callback-return': 'error',
8
- 'n/exports-style': 'error',
9
- 'n/file-extension-in-import': 'error',
10
- 'n/global-require': 'error',
11
- 'n/handle-callback-err': ['error', '^(err|error)$'],
12
- 'n/no-callback-literal': 'error',
13
- 'n/no-deprecated-api': 'error',
14
- 'n/no-exports-assign': 'error',
15
- 'n/no-extraneous-import': 'error',
16
- 'n/no-extraneous-require': 'error',
17
- 'n/no-missing-import': 'error',
18
- 'n/no-missing-require': 'error',
19
- 'n/no-mixed-requires': 'error',
20
- 'n/no-new-require': 'error',
21
- 'n/no-path-concat': 'error',
22
- 'n/no-process-env': 'warn',
23
- 'n/no-process-exit': 'warn',
24
- 'n/no-restricted-import': 'off',
25
- 'n/no-restricted-require': 'off',
26
- 'n/no-sync': 'error',
27
- 'n/no-unpublished-bin': 'error',
28
- 'n/no-unpublished-import': 'error',
29
- 'n/no-unpublished-require': 'error',
30
- 'n/no-unsupported-features/es-builtins': 'error',
31
- 'n/no-unsupported-features/es-syntax': 'error',
32
- 'n/no-unsupported-features/node-builtins': 'error',
33
- 'n/prefer-global/buffer': 'error',
34
- 'n/prefer-global/console': 'error',
35
- 'n/prefer-global/process': 'error',
36
- 'n/prefer-global/text-decoder': 'error',
37
- 'n/prefer-global/text-encoder': 'error',
38
- 'n/prefer-global/url': 'error',
39
- 'n/prefer-global/url-search-params': 'error',
40
- 'n/prefer-promises/dns': 'error',
41
- 'n/prefer-promises/fs': 'error',
42
- 'n/process-exit-as-throw': 'error',
43
- 'n/shebang': 'error'
44
- }
45
- };
package/stylistic.js DELETED
@@ -1,181 +0,0 @@
1
- 'use strict';
2
-
3
- /* eslint max-lines: "off" */
4
-
5
- module.exports = {
6
- plugins: ['@stylistic'],
7
- rules: {
8
- '@stylistic/array-bracket-newline': 'error',
9
- '@stylistic/array-bracket-spacing': ['error', 'never'],
10
- '@stylistic/array-element-newline': [
11
- 'error',
12
- {
13
- minItems: 3,
14
- multiline: true
15
- }
16
- ],
17
- '@stylistic/arrow-parens': ['error', 'as-needed'],
18
- '@stylistic/arrow-spacing': [
19
- 'error',
20
- {
21
- after: true,
22
- before: true
23
- }
24
- ],
25
- '@stylistic/block-spacing': ['error', 'always'],
26
- '@stylistic/brace-style': [
27
- 'error',
28
- '1tbs',
29
- { allowSingleLine: false }
30
- ],
31
- '@stylistic/comma-dangle': ['error', 'never'],
32
- '@stylistic/comma-spacing': [
33
- 'error',
34
- {
35
- after: true,
36
- before: false
37
- }
38
- ],
39
- '@stylistic/comma-style': ['error', 'last'],
40
- '@stylistic/computed-property-spacing': ['error', 'never'],
41
- '@stylistic/dot-location': ['error', 'property'],
42
- '@stylistic/eol-last': 'error',
43
- '@stylistic/func-call-spacing': ['error', 'never'], // Alias of `@stylistic/function-call-spacing`
44
- '@stylistic/function-call-argument-newline': ['error', 'consistent'],
45
- '@stylistic/function-call-spacing': ['error', 'never'],
46
- '@stylistic/function-paren-newline': ['error', 'multiline'],
47
- '@stylistic/generator-star-spacing': ['error', 'after'],
48
- '@stylistic/implicit-arrow-linebreak': ['error', 'beside'],
49
- '@stylistic/indent': [
50
- 'error',
51
- 2,
52
- {
53
- MemberExpression: 1,
54
- SwitchCase: 1
55
- }
56
- ],
57
- '@stylistic/indent-binary-ops': ['error', 2],
58
- '@stylistic/jsx-child-element-spacing': 'error',
59
- '@stylistic/jsx-closing-bracket-location': 'error',
60
- '@stylistic/jsx-closing-tag-location': 'error',
61
- '@stylistic/jsx-curly-brace-presence': [
62
- 'error',
63
- {
64
- children: 'ignore',
65
- props: 'never'
66
- }
67
- ],
68
- '@stylistic/jsx-curly-newline': ['error', 'never'],
69
- '@stylistic/jsx-curly-spacing': 'error',
70
- '@stylistic/jsx-equals-spacing': 'error',
71
- '@stylistic/jsx-first-prop-new-line': 'error',
72
- '@stylistic/jsx-indent': ['error', 2],
73
- '@stylistic/jsx-indent-props': ['error', 2],
74
- '@stylistic/jsx-max-props-per-line': 'error',
75
- '@stylistic/jsx-newline': 'off',
76
- '@stylistic/jsx-one-expression-per-line': 'error',
77
- '@stylistic/jsx-props-no-multi-spaces': 'error',
78
- '@stylistic/jsx-quotes': ['error', 'prefer-double'],
79
- '@stylistic/jsx-self-closing-comp': 'error',
80
- '@stylistic/jsx-sort-props': 'error',
81
- '@stylistic/jsx-tag-spacing': ['error', { beforeClosing: 'never' }],
82
- '@stylistic/jsx-wrap-multilines': 'error',
83
- '@stylistic/key-spacing': [
84
- 'error',
85
- {
86
- afterColon: true,
87
- beforeColon: false
88
- }
89
- ],
90
- '@stylistic/keyword-spacing': [
91
- 'error',
92
- {
93
- after: true,
94
- before: true
95
- }
96
- ],
97
- '@stylistic/linebreak-style': 'error',
98
- '@stylistic/lines-around-comment': 'off',
99
- '@stylistic/lines-between-class-members': 'error',
100
- '@stylistic/max-len': 'off',
101
- '@stylistic/max-statements-per-line': 'error',
102
- '@stylistic/member-delimiter-style': 'error',
103
- '@stylistic/multiline-ternary': ['error', 'always-multiline'],
104
- '@stylistic/new-parens': 'error',
105
- '@stylistic/newline-per-chained-call': 'off',
106
- '@stylistic/no-confusing-arrow': ['error', { allowParens: false }],
107
- '@stylistic/no-extra-parens': [
108
- 'error',
109
- 'all',
110
- {
111
- ignoreJSX: 'multi-line',
112
- nestedBinaryExpressions: false
113
- }
114
- ],
115
- '@stylistic/no-extra-semi': 'error',
116
- '@stylistic/no-floating-decimal': 'error',
117
- '@stylistic/no-mixed-operators': 'error',
118
- '@stylistic/no-mixed-spaces-and-tabs': 'error',
119
- '@stylistic/no-multi-spaces': 'error',
120
- '@stylistic/no-multiple-empty-lines': [
121
- 'error',
122
- {
123
- max: 2,
124
- maxBOF: 0,
125
- maxEOF: 1
126
- }
127
- ],
128
- '@stylistic/no-tabs': 'off',
129
- '@stylistic/no-trailing-spaces': 'error',
130
- '@stylistic/no-whitespace-before-property': 'error',
131
- '@stylistic/nonblock-statement-body-position': 'error',
132
- '@stylistic/object-curly-newline': ['error', { multiline: true }],
133
- '@stylistic/object-curly-spacing': ['error', 'always'],
134
- '@stylistic/object-property-newline': 'error',
135
- '@stylistic/one-var-declaration-per-line': 'off',
136
- '@stylistic/operator-linebreak': ['error', 'before'],
137
- '@stylistic/padded-blocks': ['error', 'never'],
138
- '@stylistic/padding-line-between-statements': 'error',
139
- '@stylistic/quote-props': ['error', 'as-needed'],
140
- '@stylistic/quotes': [
141
- 'error',
142
- 'single',
143
- 'avoid-escape'
144
- ],
145
- '@stylistic/rest-spread-spacing': ['error', 'never'],
146
- '@stylistic/semi': ['error', 'always'],
147
- '@stylistic/semi-spacing': [
148
- 'error',
149
- {
150
- after: true,
151
- before: false
152
- }
153
- ],
154
- '@stylistic/semi-style': ['error', 'last'],
155
- '@stylistic/space-before-blocks': 'error',
156
- '@stylistic/space-before-function-paren': ['error', 'always'],
157
- '@stylistic/space-in-parens': ['error', 'never'],
158
- '@stylistic/space-infix-ops': 'error',
159
- '@stylistic/space-unary-ops': 'error',
160
- '@stylistic/spaced-comment': [
161
- 'error',
162
- 'always',
163
- { block: { balanced: true } }
164
- ],
165
- '@stylistic/switch-colon-spacing': 'error',
166
- '@stylistic/template-curly-spacing': ['error', 'never'],
167
- '@stylistic/template-tag-spacing': ['error', 'never'],
168
- '@stylistic/type-annotation-spacing': 'error',
169
- '@stylistic/type-generic-spacing': 'error',
170
- '@stylistic/type-named-tuple-spacing': 'error',
171
- '@stylistic/wrap-iife': ['error', 'inside'],
172
- '@stylistic/wrap-regex': 'off',
173
- '@stylistic/yield-star-spacing': [
174
- 'error',
175
- {
176
- after: true,
177
- before: false
178
- }
179
- ]
180
- }
181
- };