@dword-design/eslint-config 3.0.0 → 3.0.1

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.
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _compact = _interopRequireDefault(require("@dword-design/functions/dist/compact.js"));
8
+ var _filter = _interopRequireDefault(require("@dword-design/functions/dist/filter.js"));
9
+ var _join = _interopRequireDefault(require("@dword-design/functions/dist/join.js"));
10
+ var _map = _interopRequireDefault(require("@dword-design/functions/dist/map.js"));
11
+ var _omit = _interopRequireDefault(require("@dword-design/functions/dist/omit.js"));
12
+ var _depcheckPackageName = _interopRequireDefault(require("depcheck-package-name"));
13
+ var _loadPkg = _interopRequireDefault(require("load-pkg"));
14
+ var _restrictedImports2 = _interopRequireDefault(require("./restricted-imports"));
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ var _default = () => {
17
+ var _ref, _restrictedImports;
18
+ const name = _loadPkg.default.sync().name;
19
+ const eslintRestrictedImports = (_ref = (_restrictedImports = _restrictedImports2.default, (0, _filter.default)(importDef => importDef.alternative === undefined || importDef.alternative !== name)(_restrictedImports)), (0, _map.default)(importDef => {
20
+ var _importDef, _ref2, _ref3;
21
+ return {
22
+ ...(_importDef = importDef, (0, _omit.default)(['alternative'])(_importDef)),
23
+ message: (_ref2 = (_ref3 = [importDef.message, importDef.alternative ? `Use '${importDef.alternative}' instead` : ''], (0, _compact.default)(_ref3)), (0, _join.default)(' ')(_ref2))
24
+ };
25
+ })(_ref));
26
+ return {
27
+ env: {
28
+ browser: true,
29
+ es6: true,
30
+ node: true
31
+ },
32
+ extends: [(0, _depcheckPackageName.default)`eslint-config-airbnb-base`, `plugin:${(0, _depcheckPackageName.default)`eslint-plugin-promise`}/recommended`, `plugin:${(0, _depcheckPackageName.default)`eslint-plugin-import`}/recommended`, `plugin:${(0, _depcheckPackageName.default)`@dword-design/eslint-plugin-import-alias`}/recommended`, `plugin:${(0, _depcheckPackageName.default)`eslint-plugin-vue`}/recommended`, `plugin:${(0, _depcheckPackageName.default)`eslint-plugin-prettier`}/recommended`],
33
+ overrides: [{
34
+ files: '**/*.spec.js',
35
+ globals: {
36
+ expect: 'readonly'
37
+ },
38
+ rules: {
39
+ 'no-restricted-imports': ['error', {
40
+ paths: [...eslintRestrictedImports, {
41
+ message: "Use the global 'expect' variable instead",
42
+ name: 'expect'
43
+ }]
44
+ }]
45
+ }
46
+ }],
47
+ parser: (0, _depcheckPackageName.default)`vue-eslint-parser`,
48
+ parserOptions: {
49
+ babelOptions: {
50
+ configFile: require.resolve('@dword-design/babel-config')
51
+ },
52
+ parser: (0, _depcheckPackageName.default)`@babel/eslint-parser`
53
+ },
54
+ plugins: [(0, _depcheckPackageName.default)`eslint-plugin-prefer-arrow`, (0, _depcheckPackageName.default)`eslint-plugin-simple-import-sort`, (0, _depcheckPackageName.default)`eslint-plugin-json-format`, (0, _depcheckPackageName.default)`eslint-plugin-sort-keys-fix`, (0, _depcheckPackageName.default)`eslint-plugin-react`, (0, _depcheckPackageName.default)`eslint-plugin-github`],
55
+ rules: {
56
+ 'arrow-body-style': ['error', 'as-needed'],
57
+ 'func-names': ['error', 'never'],
58
+ 'github/array-foreach': 'error',
59
+ 'global-require': 'off',
60
+ 'import/extensions': ['error', 'ignorePackages', {
61
+ '': 'never',
62
+ js: 'always'
63
+ }],
64
+ 'import/no-commonjs': 'error',
65
+ 'import/no-dynamic-require': 'off',
66
+ 'import/order': 'off',
67
+ 'import/prefer-default-export': 'off',
68
+ 'linebreak-style': ['error', 'unix'],
69
+ 'new-cap': 'off',
70
+ 'no-await-in-loop': 'off',
71
+ 'no-console': 'off',
72
+ 'no-constant-condition': ['error', {
73
+ checkLoops: false
74
+ }],
75
+ 'no-continue': 'off',
76
+ 'no-negated-condition': 'error',
77
+ 'no-param-reassign': 'off',
78
+ 'no-regex-spaces': 'off',
79
+ 'no-restricted-imports': ['error', {
80
+ paths: eslintRestrictedImports
81
+ }],
82
+ 'no-restricted-syntax': ['error', 'ObjectPattern', 'ArrayPattern', "LogicalExpression[operator='??']"],
83
+ 'no-return-assign': 'off',
84
+ 'no-template-curly-in-string': 'off',
85
+ 'no-underscore-dangle': 'off',
86
+ 'object-shorthand': ['error', 'always'],
87
+ 'padding-line-between-statements': ['error', {
88
+ blankLine: 'never',
89
+ next: '*',
90
+ prev: '*'
91
+ }, {
92
+ blankLine: 'always',
93
+ next: ['var', 'const'],
94
+ prev: ['*']
95
+ }, {
96
+ blankLine: 'always',
97
+ next: '*',
98
+ prev: 'import'
99
+ }, {
100
+ blankLine: 'any',
101
+ next: 'import',
102
+ prev: 'import'
103
+ }, {
104
+ blankLine: 'always',
105
+ next: 'export',
106
+ prev: '*'
107
+ }, {
108
+ blankLine: 'always',
109
+ next: 'return',
110
+ prev: '*'
111
+ }],
112
+ 'prefer-arrow/prefer-arrow-functions': ['error'],
113
+ 'prefer-destructuring': 'off',
114
+ 'prettier/prettier': ['error', {
115
+ arrowParens: 'avoid',
116
+ semi: false,
117
+ singleQuote: true
118
+ }],
119
+ 'promise/prefer-await-to-then': 'error',
120
+ 'react/jsx-boolean-value': 'error',
121
+ 'react/jsx-sort-props': 'error',
122
+ 'require-await': 'error',
123
+ 'simple-import-sort/imports': 'error',
124
+ 'sort-keys-fix/sort-keys-fix': 'error',
125
+ 'vue/no-deprecated-functional-template': 'error',
126
+ 'vue/order-in-components': 'off',
127
+ 'vue/require-default-prop': 'off',
128
+ 'vue/require-prop-types': 'off'
129
+ },
130
+ settings: {
131
+ 'import/resolver': {
132
+ [(0, _depcheckPackageName.default)`eslint-import-resolver-babel-module`]: {
133
+ allowExistingDirectories: true
134
+ }
135
+ }
136
+ }
137
+ };
138
+ };
139
+ exports.default = _default;
140
+ module.exports = exports.default;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = [{
8
+ alternative: 'parse-packagejson-name',
9
+ message: 'Does not work in the browser due to fs dependency in ow.',
10
+ name: 'parse-pkg-name'
11
+ }, {
12
+ alternative: '@dword-design/nuxt-auth',
13
+ message: 'Does not auto-rewrite redirects.',
14
+ name: '@nuxtjs/auth'
15
+ }, {
16
+ alternative: '@dword-design/chdir',
17
+ message: 'It is not maintained anymore.',
18
+ name: 'chdir'
19
+ }, {
20
+ alternative: 'execa',
21
+ message: "'execa' provides more features and syntactic sugar.",
22
+ name: 'child-process-promise'
23
+ }, {
24
+ alternative: 'execa',
25
+ message: 'It does not support promises.',
26
+ name: 'child_process'
27
+ }, {
28
+ alternative: '@dword-design/functions',
29
+ message: "delay is included in '@dword-design/functions'.",
30
+ name: 'delay'
31
+ }, {
32
+ alternative: 'fs-extra',
33
+ message: 'Does not support promises.',
34
+ name: 'fs'
35
+ }, {
36
+ alternative: 'globby',
37
+ message: 'Does not support promises.',
38
+ name: 'glob'
39
+ }, {
40
+ alternative: 'globby',
41
+ message: 'Does not support pattern arrays.',
42
+ name: 'glob-promise'
43
+ }, {
44
+ alternative: 'globby',
45
+ message: 'Only works for Node.js >= 12.',
46
+ name: 'matched'
47
+ }, {
48
+ alternative: 'node-sass-package-importer',
49
+ message: 'Does not support inline importing CSS files.',
50
+ name: 'node-sass-tilde-importer'
51
+ }, {
52
+ alternative: '@dword-design/proxyquire',
53
+ message: 'Does not set some important default values.',
54
+ name: 'proxyquire'
55
+ }, {
56
+ alternative: 'stealthy-require-no-leak',
57
+ message: 'Has a memory leak when requiring the same module multiple times.',
58
+ name: 'stealthy-require'
59
+ }, {
60
+ alternative: '@dword-design/puppeteer',
61
+ message: 'Does not set no-sandbox.',
62
+ name: 'puppeteer'
63
+ }, {
64
+ alternative: 'matchdep',
65
+ name: 'resolve-dep'
66
+ }, {
67
+ alternative: 'sort-keys',
68
+ message: 'Does not support recursive sorting.',
69
+ name: 'sort-object-keys'
70
+ }, {
71
+ alternative: 'tree-kill-promise',
72
+ message: 'Does not support promises.',
73
+ name: 'tree-kill'
74
+ }, {
75
+ importNames: ['zipObject'],
76
+ message: 'Use map and fromPairs instead',
77
+ name: '@dword-design/functions'
78
+ }];
79
+ exports.default = _default;
80
+ module.exports = exports.default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dword-design/eslint-config",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "repository": "dword-design/eslint-config",
5
5
  "funding": "https://github.com/sponsors/dword-design",
6
6
  "license": "MIT",
@@ -47,7 +47,6 @@
47
47
  "eslint": "^7.1.0",
48
48
  "output-files": "^2.0.0",
49
49
  "sort-keys": "^4.2.0",
50
- "stealthy-require-no-leak": "^1.0.2",
51
50
  "with-local-tmp-dir": "^4.0.0"
52
51
  },
53
52
  "engines": {
package/dist/index.js DELETED
@@ -1,138 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _compact = _interopRequireDefault(require("@dword-design/functions/dist/compact.js"));
8
- var _filter = _interopRequireDefault(require("@dword-design/functions/dist/filter.js"));
9
- var _join = _interopRequireDefault(require("@dword-design/functions/dist/join.js"));
10
- var _map = _interopRequireDefault(require("@dword-design/functions/dist/map.js"));
11
- var _omit = _interopRequireDefault(require("@dword-design/functions/dist/omit.js"));
12
- var _depcheckPackageName = _interopRequireDefault(require("depcheck-package-name"));
13
- var _loadPkg = _interopRequireDefault(require("load-pkg"));
14
- var _restrictedImports2 = _interopRequireDefault(require("./restricted-imports.json"));
15
- var _ref, _restrictedImports;
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- const name = _loadPkg.default.sync().name;
18
- const eslintRestrictedImports = (_ref = (_restrictedImports = _restrictedImports2.default, (0, _filter.default)(importDef => importDef.alternative === undefined || importDef.alternative !== name)(_restrictedImports)), (0, _map.default)(importDef => {
19
- var _importDef, _ref2, _ref3;
20
- return {
21
- ...(_importDef = importDef, (0, _omit.default)(['alternative'])(_importDef)),
22
- message: (_ref2 = (_ref3 = [importDef.message, importDef.alternative ? `Use '${importDef.alternative}' instead` : ''], (0, _compact.default)(_ref3)), (0, _join.default)(' ')(_ref2))
23
- };
24
- })(_ref));
25
- var _default = {
26
- env: {
27
- browser: true,
28
- es6: true,
29
- node: true
30
- },
31
- extends: [(0, _depcheckPackageName.default)`eslint-config-airbnb-base`, `plugin:${(0, _depcheckPackageName.default)`eslint-plugin-promise`}/recommended`, `plugin:${(0, _depcheckPackageName.default)`eslint-plugin-import`}/recommended`, `plugin:${(0, _depcheckPackageName.default)`@dword-design/eslint-plugin-import-alias`}/recommended`, `plugin:${(0, _depcheckPackageName.default)`eslint-plugin-vue`}/recommended`, `plugin:${(0, _depcheckPackageName.default)`eslint-plugin-prettier`}/recommended`],
32
- overrides: [{
33
- files: '**/*.spec.js',
34
- globals: {
35
- expect: 'readonly'
36
- },
37
- rules: {
38
- 'no-restricted-imports': ['error', {
39
- paths: [...eslintRestrictedImports, {
40
- message: "Use the global 'expect' variable instead",
41
- name: 'expect'
42
- }]
43
- }]
44
- }
45
- }],
46
- parser: (0, _depcheckPackageName.default)`vue-eslint-parser`,
47
- parserOptions: {
48
- babelOptions: {
49
- configFile: require.resolve('@dword-design/babel-config')
50
- },
51
- parser: (0, _depcheckPackageName.default)`@babel/eslint-parser`
52
- },
53
- plugins: [(0, _depcheckPackageName.default)`eslint-plugin-prefer-arrow`, (0, _depcheckPackageName.default)`eslint-plugin-simple-import-sort`, (0, _depcheckPackageName.default)`eslint-plugin-json-format`, (0, _depcheckPackageName.default)`eslint-plugin-sort-keys-fix`, (0, _depcheckPackageName.default)`eslint-plugin-react`, (0, _depcheckPackageName.default)`eslint-plugin-github`],
54
- rules: {
55
- 'arrow-body-style': ['error', 'as-needed'],
56
- 'func-names': ['error', 'never'],
57
- 'github/array-foreach': 'error',
58
- 'global-require': 'off',
59
- 'import/extensions': ['error', 'ignorePackages', {
60
- '': 'never',
61
- js: 'always'
62
- }],
63
- 'import/no-commonjs': 'error',
64
- 'import/no-dynamic-require': 'off',
65
- 'import/order': 'off',
66
- 'import/prefer-default-export': 'off',
67
- 'linebreak-style': ['error', 'unix'],
68
- 'new-cap': 'off',
69
- 'no-await-in-loop': 'off',
70
- 'no-console': 'off',
71
- 'no-constant-condition': ['error', {
72
- checkLoops: false
73
- }],
74
- 'no-continue': 'off',
75
- 'no-negated-condition': 'error',
76
- 'no-param-reassign': 'off',
77
- 'no-regex-spaces': 'off',
78
- 'no-restricted-imports': ['error', {
79
- paths: eslintRestrictedImports
80
- }],
81
- 'no-restricted-syntax': ['error', 'ObjectPattern', 'ArrayPattern', "LogicalExpression[operator='??']"],
82
- 'no-return-assign': 'off',
83
- 'no-template-curly-in-string': 'off',
84
- 'no-underscore-dangle': 'off',
85
- 'object-shorthand': ['error', 'always'],
86
- 'padding-line-between-statements': ['error', {
87
- blankLine: 'never',
88
- next: '*',
89
- prev: '*'
90
- }, {
91
- blankLine: 'always',
92
- next: ['var', 'const'],
93
- prev: ['*']
94
- }, {
95
- blankLine: 'always',
96
- next: '*',
97
- prev: 'import'
98
- }, {
99
- blankLine: 'any',
100
- next: 'import',
101
- prev: 'import'
102
- }, {
103
- blankLine: 'always',
104
- next: 'export',
105
- prev: '*'
106
- }, {
107
- blankLine: 'always',
108
- next: 'return',
109
- prev: '*'
110
- }],
111
- 'prefer-arrow/prefer-arrow-functions': ['error'],
112
- 'prefer-destructuring': 'off',
113
- 'prettier/prettier': ['error', {
114
- arrowParens: 'avoid',
115
- semi: false,
116
- singleQuote: true
117
- }],
118
- 'promise/prefer-await-to-then': 'error',
119
- 'react/jsx-boolean-value': 'error',
120
- 'react/jsx-sort-props': 'error',
121
- 'require-await': 'error',
122
- 'simple-import-sort/imports': 'error',
123
- 'sort-keys-fix/sort-keys-fix': 'error',
124
- 'vue/no-deprecated-functional-template': 'error',
125
- 'vue/order-in-components': 'off',
126
- 'vue/require-default-prop': 'off',
127
- 'vue/require-prop-types': 'off'
128
- },
129
- settings: {
130
- 'import/resolver': {
131
- [(0, _depcheckPackageName.default)`eslint-import-resolver-babel-module`]: {
132
- allowExistingDirectories: true
133
- }
134
- }
135
- }
136
- };
137
- exports.default = _default;
138
- module.exports = exports.default;
@@ -1,93 +0,0 @@
1
- [
2
- {
3
- "message": "Does not work in the browser due to fs dependency in ow.",
4
- "alternative": "parse-packagejson-name",
5
- "name": "parse-pkg-name"
6
- },
7
- {
8
- "message": "Does not auto-rewrite redirects.",
9
- "alternative": "@dword-design/nuxt-auth",
10
- "name": "@nuxtjs/auth"
11
- },
12
- {
13
- "message": "It is not maintained anymore.",
14
- "alternative": "@dword-design/chdir",
15
- "name": "chdir"
16
- },
17
- {
18
- "message": "'execa' provides more features and syntactic sugar.",
19
- "alternative": "execa",
20
- "name": "child-process-promise"
21
- },
22
- {
23
- "message": "It does not support promises.",
24
- "alternative": "execa",
25
- "name": "child_process"
26
- },
27
- {
28
- "message": "delay is included in '@dword-design/functions'.",
29
- "alternative": "@dword-design/functions",
30
- "name": "delay"
31
- },
32
- {
33
- "message": "Does not support promises.",
34
- "alternative": "fs-extra",
35
- "name": "fs"
36
- },
37
- {
38
- "message": "Does not support promises.",
39
- "alternative": "globby",
40
- "name": "glob"
41
- },
42
- {
43
- "message": "Does not support pattern arrays.",
44
- "alternative": "globby",
45
- "name": "glob-promise"
46
- },
47
- {
48
- "message": "Only works for Node.js >= 12.",
49
- "name": "matched",
50
- "alternative": "globby"
51
- },
52
- {
53
- "message": "Does not support inline importing CSS files.",
54
- "name": "node-sass-tilde-importer",
55
- "alternative": "node-sass-package-importer"
56
- },
57
- {
58
- "message": "Does not set some important default values.",
59
- "alternative": "@dword-design/proxyquire",
60
- "name": "proxyquire"
61
- },
62
- {
63
- "message": "Has a memory leak when requiring the same module multiple times.",
64
- "alternative": "stealthy-require-no-leak",
65
- "name": "stealthy-require"
66
- },
67
- {
68
- "message": "Does not set no-sandbox.",
69
- "name": "puppeteer",
70
- "alternative": "@dword-design/puppeteer"
71
- },
72
- {
73
- "name": "resolve-dep",
74
- "alternative": "matchdep"
75
- },
76
- {
77
- "message": "Does not support recursive sorting.",
78
- "name": "sort-object-keys",
79
- "alternative": "sort-keys"
80
- },
81
- {
82
- "message": "Does not support promises.",
83
- "name": "tree-kill",
84
- "alternative": "tree-kill-promise"
85
- },
86
- {
87
- "name": "@dword-design/functions",
88
- "message": "Use map and fromPairs instead",
89
- "importNames": [
90
- "zipObject"
91
- ]
92
- }
93
- ]