@digest/eslint-config 4.13.2 → 4.14.0-beta.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.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@digest/eslint-config",
3
3
  "title": "ESLint Digest",
4
4
  "license": "LGPL-3.0-or-later",
5
- "version": "4.13.2",
5
+ "version": "4.14.0-beta.1",
6
6
  "description": "Digested ESLint configurations",
7
7
  "author": "wallzero @wallzeroblog (http://wallzero.com)",
8
8
  "contributors": [
@@ -12,6 +12,7 @@
12
12
  "position": "Initial and Lead Developer"
13
13
  }
14
14
  ],
15
+ "type": "module",
15
16
  "main": "src/eslint.config.js",
16
17
  "files": [
17
18
  "/src/eslint.config.js",
@@ -37,18 +38,18 @@
37
38
  "dependencies": {
38
39
  "@digest/scripts": "^4.0.0",
39
40
  "@eslint/compat": "^1.2.7",
40
- "@eslint/js": "^9.21.0",
41
- "@stylistic/eslint-plugin-js": "^4.0.1",
42
- "eslint": "^9.21.0",
43
- "eslint-config-canonical": "^44.3.43",
41
+ "@eslint/js": "^9.23.0",
42
+ "@stylistic/eslint-plugin-js": "^4.2.0",
43
+ "eslint": "^9.23.0",
44
+ "eslint-config-canonical": "^44.8.2",
44
45
  "eslint-plugin-canonical": "^5.1.3",
45
46
  "eslint-plugin-import": "^2.31.0",
46
47
  "globals": "^16.0.0",
47
- "typescript-eslint": "^8.25.0"
48
+ "typescript-eslint": "^8.27.0"
48
49
  },
49
50
  "keywords": [
50
51
  "digest",
51
52
  "eslint"
52
53
  ],
53
- "gitHead": "ce01a5e229a773d648366040c3e8ecfcc2d1b790"
54
+ "gitHead": "7b3e0be8864f739b346bbd67503f3fd69c754042"
54
55
  }
@@ -1,8 +1,3 @@
1
- /*
2
- eslint-disable
3
- unicorn/prefer-module,
4
- canonical/filename-match-exported
5
- */
6
1
  /*
7
2
 
8
3
  This file is part of the Node Digest.
@@ -22,8 +17,14 @@
22
17
 
23
18
  */
24
19
 
25
- const generalConfigs = require('./general.eslint.config');
26
- const yamlConfigs = require('./yaml.eslint.config');
20
+ import generalConfigs from './general.eslint.config.js';
21
+ import yamlConfigs from './yaml.eslint.config.js';
22
+ import {
23
+ createRequire
24
+ } from 'node:module';
25
+
26
+ const require = createRequire(import.meta.url);
27
+
27
28
  const {
28
29
  config: {
29
30
  eslintBabel,
@@ -35,69 +36,72 @@ const {
35
36
  }
36
37
  } = require('@digest/scripts');
37
38
 
38
- const getBabelConfig = () => {
39
+ const getBabelConfig = async () => {
39
40
  if (eslintBabel) {
40
- // eslint-disable-next-line n/global-require, n/no-extraneous-require, import/no-extraneous-dependencies
41
- return require('@digest/eslint-config-babel');
41
+ // eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
42
+ return (await import('@digest/eslint-config-babel')).default;
42
43
  } else {
43
- return [];
44
+ return await [];
44
45
  }
45
46
  };
46
47
 
47
- const getReactConfig = () => {
48
+ const getReactConfig = async () => {
48
49
  if (eslintReact) {
49
- // eslint-disable-next-line n/global-require, n/no-extraneous-require, import/no-extraneous-dependencies
50
- return require('@digest/eslint-config-react');
50
+ // eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
51
+ return (await import('@digest/eslint-config-react')).default;
51
52
  } else {
52
- return [];
53
+ return await [];
53
54
  }
54
55
  };
55
56
 
56
- const getReactNativeConfig = () => {
57
+ const getReactNativeConfig = async () => {
57
58
  if (eslintReact && eslintReactNative) {
58
- // eslint-disable-next-line n/global-require, n/no-extraneous-require, import/no-extraneous-dependencies
59
- return require('@digest/eslint-config-react-native');
59
+ // eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
60
+ return (await import('@digest/eslint-config-react-native')).default;
60
61
  } else {
61
- return [];
62
+ return await [];
62
63
  }
63
64
  };
64
65
 
65
- const getTypeScriptConfig = () => {
66
+ const getTypeScriptConfig = async () => {
66
67
  if (eslintTypeScript) {
67
- // eslint-disable-next-line n/global-require, n/no-extraneous-require, import/no-extraneous-dependencies
68
- return require('@digest/eslint-config-typescript');
68
+ // eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
69
+ return (await import('@digest/eslint-config-typescript')).default;
69
70
  } else {
70
- return [];
71
+ return await [];
71
72
  }
72
73
  };
73
74
 
74
- const getGraphQLConfig = () => {
75
+ const getGraphQLConfig = async () => {
75
76
  if (eslintGraphQL) {
76
- // eslint-disable-next-line n/global-require, n/no-extraneous-require, import/no-extraneous-dependencies
77
- return require('@digest/eslint-config-graphql');
77
+ // eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
78
+ return (await import('@digest/eslint-config-graphql')).default;
78
79
  } else {
79
- return [];
80
+ return await [];
80
81
  }
81
82
  };
82
83
 
83
- const getJestConfig = () => {
84
+ const getJestConfig = async () => {
84
85
  if (eslintJest) {
85
- // eslint-disable-next-line n/global-require, n/no-extraneous-require, import/no-extraneous-dependencies
86
- return require('@digest/eslint-config-jest');
86
+ // eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
87
+ return (await import('@digest/eslint-config-jest')).default;
87
88
  } else {
88
- return [];
89
+ return await [];
89
90
  }
90
91
  };
91
92
 
92
- const configs = [
93
- ...generalConfigs,
94
- ...yamlConfigs,
95
- ...getReactConfig(),
96
- ...getReactNativeConfig(),
97
- ...getBabelConfig(),
98
- ...getTypeScriptConfig(),
99
- ...getGraphQLConfig(),
100
- ...getJestConfig()
101
- ];
102
-
103
- module.exports = configs;
93
+ const getConfigs = async () => {
94
+ return [
95
+ ...generalConfigs,
96
+ ...yamlConfigs
97
+ ].concat(
98
+ await getReactConfig(),
99
+ await getReactNativeConfig(),
100
+ await getBabelConfig(),
101
+ await getTypeScriptConfig(),
102
+ await getGraphQLConfig(),
103
+ await getJestConfig()
104
+ );
105
+ };
106
+
107
+ export default await getConfigs();
@@ -18,24 +18,42 @@
18
18
  */
19
19
  /*
20
20
  eslint-disable
21
- unicorn/prefer-module,
22
21
  canonical/filename-match-exported,
23
22
  no-unused-vars
24
23
  */
25
24
 
26
- const compat = require('@eslint/compat');
27
- const canonicalBrowser = require('eslint-config-canonical/configurations/browser');
28
- const canonical = require('eslint-config-canonical/configurations/canonical');
29
- const canonicalJSDoc = require('eslint-config-canonical/configurations/jsdoc');
30
- const canonicalJSON = require('eslint-config-canonical/configurations/json');
31
- const canonicalLodash = require('eslint-config-canonical/configurations/lodash');
32
- const canonicalModule = require('eslint-config-canonical/configurations/module');
33
- const canonicalNode = require('eslint-config-canonical/configurations/node');
34
- const canonicalRegExp = require('eslint-config-canonical/configurations/regexp');
35
- const fs = require('node:fs');
36
- const path = require('node:path');
25
+ import {
26
+ includeIgnoreFile
27
+ } from '@eslint/compat';
28
+ import {
29
+ recommended as canonicalBrowser
30
+ } from 'eslint-config-canonical/browser';
31
+ import {
32
+ recommended as canonical
33
+ } from 'eslint-config-canonical/canonical';
34
+ import {
35
+ // eslint-disable-next-line unicorn/prevent-abbreviations
36
+ recommended as canonicalJSDoc
37
+ } from 'eslint-config-canonical/jsdoc';
38
+ import {
39
+ recommended as canonicalJSON
40
+ } from 'eslint-config-canonical/json';
41
+ import {
42
+ recommended as canonicalLodash
43
+ } from 'eslint-config-canonical/lodash';
44
+ import {
45
+ recommended as canonicalModule
46
+ } from 'eslint-config-canonical/module';
47
+ import {
48
+ recommended as canonicalNode
49
+ } from 'eslint-config-canonical/node';
50
+ import {
51
+ recommended as canonicalRegExp
52
+ } from 'eslint-config-canonical/regexp';
53
+ import fs from 'node:fs';
54
+ import path from 'node:path';
37
55
 
38
- const gitignorePath = path.resolve(__dirname, '.gitignore');
56
+ const gitignorePath = path.resolve(import.meta.dirname, '.gitignore');
39
57
  const gitignoreExists = fs.existsSync(gitignorePath);
40
58
 
41
59
  const {
@@ -43,22 +61,22 @@ const {
43
61
  'import/no-deprecated': omit2,
44
62
  'import/no-extraneous-dependencies': noExraneousDependencies,
45
63
  ...canonicalFixedRules
46
- } = canonical.recommended.rules;
64
+ } = canonical[0].rules;
47
65
 
48
66
  const {
49
67
  'n/no-extraneous-import': noExraneousImport,
50
68
  ...canonicalNodeFixedRules
51
- } = canonicalNode.recommended.rules;
69
+ } = canonicalNode[0].rules;
52
70
 
53
71
  const {
54
72
  'jsonc/sort-keys': sortKeys,
55
73
  ...canonicalJSONFixedRules
56
- } = canonicalJSON.recommended.rules;
74
+ } = canonicalJSON[0].rules;
57
75
 
58
76
  const generalConfigs = [
59
77
  gitignoreExists ?
60
78
  [
61
- compat.includeIgnoreFile(gitignorePath)
79
+ includeIgnoreFile(gitignorePath)
62
80
  ] :
63
81
  [],
64
82
  [
@@ -70,14 +88,14 @@ const generalConfigs = [
70
88
  ],
71
89
  },
72
90
  {
73
- ...canonical.recommended,
91
+ ...canonical[0],
74
92
  rules: {
75
93
  ...canonicalFixedRules,
76
94
  '@stylistic/comma-dangle': 'off'
77
95
  }
78
96
  },
79
97
  {
80
- ...canonical.recommended,
98
+ ...canonical[0],
81
99
  ignores: [
82
100
  '**/__tests__/*'
83
101
  ],
@@ -87,11 +105,11 @@ const generalConfigs = [
87
105
  }
88
106
  },
89
107
  {
90
- ...canonicalNode.recommended,
108
+ ...canonicalNode[0],
91
109
  rules: canonicalNodeFixedRules
92
110
  },
93
111
  {
94
- ...canonicalNode.recommended,
112
+ ...canonicalNode[0],
95
113
  ignores: [
96
114
  '**/__tests__/*'
97
115
  ],
@@ -99,17 +117,17 @@ const generalConfigs = [
99
117
  'n/no-extraneous-import': noExraneousImport
100
118
  }
101
119
  },
102
- canonicalModule.recommended,
103
- canonicalBrowser.recommended,
104
- canonicalRegExp.recommended,
105
- canonicalJSDoc.recommended,
106
- canonicalLodash.recommended,
120
+ canonicalModule[0],
121
+ canonicalBrowser[0],
122
+ canonicalRegExp[0],
123
+ canonicalJSDoc[0],
124
+ canonicalLodash[0],
107
125
  {
108
- ...canonicalJSON.recommended,
126
+ ...canonicalJSON[0],
109
127
  rules: canonicalJSONFixedRules
110
128
  },
111
129
  {
112
- ...canonicalJSON.recommended,
130
+ ...canonicalJSON[0],
113
131
  ignores: [
114
132
  '**/package.json'
115
133
  ],
@@ -120,4 +138,4 @@ const generalConfigs = [
120
138
  ]
121
139
  ].flat();
122
140
 
123
- module.exports = generalConfigs;
141
+ export default generalConfigs;
package/src/index.js CHANGED
@@ -1,7 +1,3 @@
1
- /*
2
- eslint-disable
3
- unicorn/prefer-module
4
- */
5
1
  /*
6
2
 
7
3
  This file is part of the Node Digest.
@@ -20,9 +16,13 @@
20
16
  along with Node Digest . If not, see <https://www.gnu.org/licenses/>.
21
17
 
22
18
  */
19
+
23
20
  /*
24
21
  DO NOT REMOVE
25
22
  This file is still required; package.json `main` parameter ignored in some
26
23
  cases
27
24
  */
28
- module.exports = require('./eslint.config');
25
+
26
+ export {
27
+ default
28
+ } from './eslint.config.js';
@@ -1,6 +1,5 @@
1
1
  /*
2
2
  eslint-disable
3
- unicorn/prefer-module,
4
3
  canonical/filename-match-exported
5
4
  */
6
5
  /*
@@ -22,10 +21,12 @@
22
21
 
23
22
  */
24
23
 
25
- const canonicalYAML = require('eslint-config-canonical/configurations/yaml');
24
+ import {
25
+ recommended as canonicalYAML
26
+ } from 'eslint-config-canonical/yaml';
26
27
 
27
28
  const yamlConfigs = [
28
- canonicalYAML.recommended
29
+ canonicalYAML[0]
29
30
  ];
30
31
 
31
- module.exports = yamlConfigs;
32
+ export default yamlConfigs;