@frontify/eslint-config-basic 0.15.2 → 0.16.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.
Files changed (2) hide show
  1. package/index.js +153 -144
  2. package/package.json +18 -13
package/index.js CHANGED
@@ -1,150 +1,159 @@
1
+ /* (c) Copyright Frontify Ltd., all rights reserved. */
2
+
1
3
  module.exports = {
2
- env: {
3
- es6: true,
4
- browser: true,
5
- node: true,
6
- },
7
- plugins: ["html", "unicorn", "prettier"],
8
- extends: [
9
- "plugin:jsonc/recommended-with-jsonc",
10
- "plugin:prettier/recommended",
11
- ],
12
- overrides: [
13
- {
14
- files: ["*.json", "*.json5"],
15
- parser: "jsonc-eslint-parser",
16
- rules: {
17
- quotes: ["error", "double"],
18
- "quote-props": ["error", "always"],
19
- "comma-dangle": ["error", "never"],
20
- },
21
- },
22
- {
23
- files: ["*.yaml", "*.yml"],
24
- parser: "yaml-eslint-parser",
25
- },
26
- {
27
- files: ["package.json"],
28
- parser: "jsonc-eslint-parser",
29
- rules: {
30
- "jsonc/sort-keys": [
31
- "error",
32
- {
33
- pathPattern: "^$",
34
- order: [
35
- "name",
36
- "version",
37
- "description",
38
- "keywords",
39
- "license",
40
- "repository",
41
- "funding",
42
- "author",
43
- "type",
44
- "files",
45
- "exports",
46
- "main",
47
- "module",
48
- "unpkg",
49
- "bin",
50
- "scripts",
51
- "husky",
52
- "lint-staged",
53
- "peerDependencies",
54
- "peerDependenciesMeta",
55
- "dependencies",
56
- "devDependencies",
57
- "eslintConfig",
58
- ],
59
- },
60
- {
61
- pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies$",
62
- order: { type: "asc" },
63
- },
64
- ],
65
- },
66
- },
67
- {
68
- files: ["*.js"],
69
- rules: {
70
- "@typescript-eslint/no-var-requires": "off",
71
- },
72
- },
73
- {
74
- files: ["scripts/**/*.*"],
75
- rules: {
76
- "no-console": "off",
77
- },
78
- },
79
- {
80
- files: ["*.test.ts", "*.test.js", "*.spec.ts", "*.spec.js"],
81
- rules: {
82
- "no-unused-expressions": "off",
83
- },
4
+ env: {
5
+ es6: true,
6
+ browser: true,
7
+ node: true,
84
8
  },
85
- ],
86
- rules: {
87
- "linebreak-style": ["error", "unix"],
88
- "prefer-template": "error",
89
- "template-curly-spacing": "error",
90
- "no-useless-concat": "error",
91
- "prefer-arrow-callback": "error",
92
- "no-var": "error",
93
- "prefer-const": "error",
94
- eqeqeq: "error",
95
- "no-eval": "error",
96
- "no-extra-bind": "error",
97
- curly: ["error", "all"],
98
- semi: ["error", "always"],
99
- quotes: ["error", "single", { avoidEscape: true }],
100
- "vars-on-top": "error",
101
- "block-scoped-var": "error",
102
- "array-callback-return": "error",
103
- "object-shorthand": [
104
- "error",
105
- "always",
106
- {
107
- ignoreConstructors: false,
108
- avoidQuotes: true,
109
- },
9
+ plugins: ['html', 'unicorn', 'notice', 'prettier'],
10
+ extends: ['plugin:jsonc/recommended-with-jsonc', 'plugin:prettier/recommended'],
11
+ overrides: [
12
+ {
13
+ files: ['*.json', '*.json5'],
14
+ parser: 'jsonc-eslint-parser',
15
+ rules: {
16
+ quotes: ['error', 'double'],
17
+ 'quote-props': ['error', 'always'],
18
+ 'comma-dangle': ['error', 'never'],
19
+ },
20
+ },
21
+ {
22
+ files: ['*.yaml', '*.yml'],
23
+ parser: 'yaml-eslint-parser',
24
+ },
25
+ {
26
+ files: ['package.json'],
27
+ parser: 'jsonc-eslint-parser',
28
+ rules: {
29
+ 'jsonc/sort-keys': [
30
+ 'error',
31
+ {
32
+ pathPattern: '^$',
33
+ order: [
34
+ 'name',
35
+ 'version',
36
+ 'description',
37
+ 'keywords',
38
+ 'license',
39
+ 'repository',
40
+ 'funding',
41
+ 'author',
42
+ 'type',
43
+ 'files',
44
+ 'exports',
45
+ 'main',
46
+ 'module',
47
+ 'unpkg',
48
+ 'bin',
49
+ 'scripts',
50
+ 'husky',
51
+ 'lint-staged',
52
+ 'peerDependencies',
53
+ 'peerDependenciesMeta',
54
+ 'dependencies',
55
+ 'devDependencies',
56
+ 'eslintConfig',
57
+ ],
58
+ },
59
+ {
60
+ pathPattern: '^(?:dev|peer|optional|bundled)?[Dd]ependencies$',
61
+ order: { type: 'asc' },
62
+ },
63
+ ],
64
+ },
65
+ },
66
+ {
67
+ files: ['*.js'],
68
+ rules: {
69
+ '@typescript-eslint/no-var-requires': 'off',
70
+ },
71
+ },
72
+ {
73
+ files: ['scripts/**/*.*'],
74
+ rules: {
75
+ 'no-console': 'off',
76
+ },
77
+ },
78
+ {
79
+ files: ['*.test.ts', '*.test.js', '*.spec.ts', '*.spec.js'],
80
+ rules: {
81
+ 'no-unused-expressions': 'off',
82
+ },
83
+ },
110
84
  ],
85
+ rules: {
86
+ 'linebreak-style': ['error', 'unix'],
87
+ 'prefer-template': 'error',
88
+ 'template-curly-spacing': 'error',
89
+ 'no-useless-concat': 'error',
90
+ 'prefer-arrow-callback': 'error',
91
+ 'no-var': 'error',
92
+ 'prefer-const': 'error',
93
+ eqeqeq: 'error',
94
+ 'no-eval': 'error',
95
+ 'no-extra-bind': 'error',
96
+ curly: ['error', 'all'],
97
+ semi: ['error', 'always'],
98
+ quotes: ['error', 'single', { avoidEscape: true }],
99
+ 'vars-on-top': 'error',
100
+ 'block-scoped-var': 'error',
101
+ 'array-callback-return': 'error',
102
+ 'object-shorthand': [
103
+ 'error',
104
+ 'always',
105
+ {
106
+ ignoreConstructors: false,
107
+ avoidQuotes: true,
108
+ },
109
+ ],
111
110
 
112
- "unicorn/error-message": "error",
113
- "unicorn/escape-case": "error",
114
- "unicorn/no-array-instanceof": "error",
115
- "unicorn/no-new-buffer": "error",
116
- "unicorn/no-unsafe-regex": "off",
117
- "unicorn/number-literal-case": "error",
118
- "unicorn/prefer-exponentiation-operator": "error",
119
- "unicorn/prefer-includes": "error",
120
- "unicorn/prefer-starts-ends-with": "error",
121
- "unicorn/prefer-text-content": "error",
122
- "unicorn/prefer-type-error": "error",
123
- "unicorn/throw-new-error": "error",
124
- "unicorn/prefer-string-replace-all": "error",
125
- "unicorn/prefer-default-parameters": "error",
126
- "unicorn/prefer-array-find": "error",
127
- "unicorn/no-array-for-each": "error",
128
- "unicorn/error-message": "error",
129
- "unicorn/custom-error-definition": "error",
130
- "unicorn/better-regex": "error",
131
- "unicorn/explicit-length-check": "error",
132
- "unicorn/no-await-expression-member": "error",
133
- "unicorn/no-nested-ternary": "error",
134
- "unicorn/no-new-array": "error",
135
- "unicorn/no-this-assignment": "error",
136
- "unicorn/no-unsafe-regex": "error",
137
- "unicorn/no-useless-length-check": "error",
111
+ 'unicorn/error-message': 'error',
112
+ 'unicorn/escape-case': 'error',
113
+ 'unicorn/no-array-instanceof': 'error',
114
+ 'unicorn/no-new-buffer': 'error',
115
+ 'unicorn/no-unsafe-regex': 'off',
116
+ 'unicorn/number-literal-case': 'error',
117
+ 'unicorn/prefer-exponentiation-operator': 'error',
118
+ 'unicorn/prefer-includes': 'error',
119
+ 'unicorn/prefer-starts-ends-with': 'error',
120
+ 'unicorn/prefer-text-content': 'error',
121
+ 'unicorn/prefer-type-error': 'error',
122
+ 'unicorn/throw-new-error': 'error',
123
+ 'unicorn/prefer-string-replace-all': 'error',
124
+ 'unicorn/prefer-default-parameters': 'error',
125
+ 'unicorn/prefer-array-find': 'error',
126
+ 'unicorn/no-array-for-each': 'error',
127
+ 'unicorn/error-message': 'error',
128
+ 'unicorn/custom-error-definition': 'error',
129
+ 'unicorn/better-regex': 'error',
130
+ 'unicorn/explicit-length-check': 'error',
131
+ 'unicorn/no-await-expression-member': 'error',
132
+ 'unicorn/no-nested-ternary': 'error',
133
+ 'unicorn/no-new-array': 'error',
134
+ 'unicorn/no-this-assignment': 'error',
135
+ 'unicorn/no-unsafe-regex': 'error',
136
+ 'unicorn/no-useless-length-check': 'error',
138
137
 
139
- "sort-imports": [
140
- "error",
141
- {
142
- ignoreCase: false,
143
- ignoreDeclarationSort: true,
144
- ignoreMemberSort: false,
145
- memberSyntaxSortOrder: ["none", "all", "multiple", "single"],
146
- allowSeparatedGroups: false,
147
- },
148
- ],
149
- },
138
+ 'sort-imports': [
139
+ 'error',
140
+ {
141
+ ignoreCase: false,
142
+ ignoreDeclarationSort: true,
143
+ ignoreMemberSort: false,
144
+ memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],
145
+ allowSeparatedGroups: false,
146
+ },
147
+ ],
148
+
149
+ 'notice/notice': [
150
+ 'error',
151
+ {
152
+ template: '/* (c) Copyright Frontify Ltd., all rights reserved. */\n\n',
153
+ messages: {
154
+ whenFailedToMatch: 'No Frontify copyright header set.',
155
+ },
156
+ },
157
+ ],
158
+ },
150
159
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontify/eslint-config-basic",
3
- "version": "0.15.2",
3
+ "version": "0.16.0",
4
4
  "main": "index.js",
5
5
  "author": "Frontify Developers <developers@frontify.com>",
6
6
  "license": "MIT",
@@ -9,9 +9,6 @@
9
9
  "url": "https://github.com/Frontify/eslint-config",
10
10
  "directory": "packages/basic"
11
11
  },
12
- "scripts": {
13
- "lint": "eslint . --config=index.js"
14
- },
15
12
  "files": [
16
13
  "index.js"
17
14
  ],
@@ -19,16 +16,24 @@
19
16
  "access": "public"
20
17
  },
21
18
  "peerDependencies": {
22
- "eslint": ">=8.5.0"
19
+ "eslint": ">=8.27.0",
20
+ "prettier": ">=2.7.0"
21
+ },
22
+ "devDependencies": {
23
+ "eslint": "8.27.0",
24
+ "prettier": "2.7.1"
23
25
  },
24
26
  "dependencies": {
25
- "eslint-config-prettier": "^8.3.0",
26
- "eslint-plugin-html": "^6.2.0",
27
- "eslint-plugin-jsonc": "^2.1.0",
27
+ "eslint-config-prettier": "^8.5.0",
28
+ "eslint-plugin-html": "^7.1.0",
29
+ "eslint-plugin-jsonc": "^2.5.0",
28
30
  "eslint-plugin-node": "^11.1.0",
29
- "eslint-plugin-prettier": "^4.0.0",
30
- "eslint-plugin-promise": "^6.0.0",
31
- "eslint-plugin-unicorn": "^40.1.0"
31
+ "eslint-plugin-notice": "^0.9.10",
32
+ "eslint-plugin-prettier": "^4.2.1",
33
+ "eslint-plugin-promise": "^6.1.1",
34
+ "eslint-plugin-unicorn": "^44.0.2"
32
35
  },
33
- "gitHead": "c270504937b67f1a34dcf3616341f2c0868aa2e5"
34
- }
36
+ "scripts": {
37
+ "lint": "eslint . --config=index.js"
38
+ }
39
+ }