@meteorlxy/eslint-config 4.0.1 → 4.2.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/dist/index.cjs CHANGED
@@ -1,27 +1,26 @@
1
1
  'use strict';
2
2
 
3
- const eslintCommentsPlugin = require('eslint-plugin-eslint-comments');
4
3
  const importPlugin = require('eslint-plugin-import-x');
5
- const globals = require('globals');
6
4
  const confusingBrowserGlobals = require('confusing-browser-globals');
7
5
  const tsPlugin = require('@typescript-eslint/eslint-plugin');
6
+ const eslintCommentsPlugin = require('eslint-plugin-eslint-comments');
7
+ const globals = require('globals');
8
8
  const prettierConfig = require('eslint-config-prettier');
9
9
  const tsParser = require('@typescript-eslint/parser');
10
10
 
11
11
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
12
12
 
13
- const eslintCommentsPlugin__default = /*#__PURE__*/_interopDefaultCompat(eslintCommentsPlugin);
14
13
  const importPlugin__default = /*#__PURE__*/_interopDefaultCompat(importPlugin);
15
- const globals__default = /*#__PURE__*/_interopDefaultCompat(globals);
16
14
  const confusingBrowserGlobals__default = /*#__PURE__*/_interopDefaultCompat(confusingBrowserGlobals);
17
15
  const tsPlugin__default = /*#__PURE__*/_interopDefaultCompat(tsPlugin);
16
+ const eslintCommentsPlugin__default = /*#__PURE__*/_interopDefaultCompat(eslintCommentsPlugin);
17
+ const globals__default = /*#__PURE__*/_interopDefaultCompat(globals);
18
18
  const prettierConfig__default = /*#__PURE__*/_interopDefaultCompat(prettierConfig);
19
19
  const tsParser__default = /*#__PURE__*/_interopDefaultCompat(tsParser);
20
20
 
21
21
  const ignores = (options = []) => [
22
22
  {
23
- // TODO: uncomment after upgrading to eslint v9
24
- // name: 'meteorlxy/ignores',
23
+ name: "meteorlxy/ignores",
25
24
  ignores: [
26
25
  // node_modules & lock files
27
26
  "**/node_modules",
@@ -1294,6 +1293,12 @@ const typescriptRules = {
1294
1293
  "@typescript-eslint/method-signature-style": ["off", "method"],
1295
1294
  "@typescript-eslint/naming-convention": [
1296
1295
  "error",
1296
+ {
1297
+ selector: "variable",
1298
+ modifiers: ["const", "global"],
1299
+ types: ["array", "boolean", "number", "string"],
1300
+ format: ["UPPER_CASE"]
1301
+ },
1297
1302
  {
1298
1303
  selector: "variable",
1299
1304
  format: ["camelCase", "PascalCase", "UPPER_CASE"]
@@ -1717,14 +1722,39 @@ const index$1 = {
1717
1722
  vueRules: vueRules
1718
1723
  };
1719
1724
 
1725
+ const imports = ({
1726
+ overrides,
1727
+ packageDir
1728
+ } = {}) => [
1729
+ {
1730
+ name: "meteorlxy/imports/plugins",
1731
+ plugins: {
1732
+ import: importPlugin__default
1733
+ }
1734
+ },
1735
+ {
1736
+ name: "meteorlxy/imports/rules",
1737
+ rules: {
1738
+ ...importsRules,
1739
+ "import/no-extraneous-dependencies": [
1740
+ importsRules["import/no-extraneous-dependencies"][0],
1741
+ {
1742
+ ...importsRules["import/no-extraneous-dependencies"][1],
1743
+ packageDir
1744
+ }
1745
+ ],
1746
+ ...overrides
1747
+ }
1748
+ }
1749
+ ];
1750
+
1720
1751
  const javascript = ({
1721
1752
  overrides
1722
1753
  } = {}) => [
1723
1754
  {
1724
1755
  name: "meteorlxy/javascript/plugins",
1725
1756
  plugins: {
1726
- "eslint-comments": eslintCommentsPlugin__default,
1727
- "import": importPlugin__default
1757
+ "eslint-comments": eslintCommentsPlugin__default
1728
1758
  }
1729
1759
  },
1730
1760
  {
@@ -1751,7 +1781,6 @@ const javascript = ({
1751
1781
  rules: {
1752
1782
  ...builtinRules,
1753
1783
  ...eslintCommentsRules,
1754
- ...importsRules,
1755
1784
  ...overrides
1756
1785
  }
1757
1786
  },
@@ -1984,6 +2013,7 @@ const vue = async ({
1984
2013
  const index = {
1985
2014
  __proto__: null,
1986
2015
  ignores: ignores,
2016
+ imports: imports,
1987
2017
  javascript: javascript,
1988
2018
  markdown: markdown,
1989
2019
  prettier: prettier,
@@ -2006,6 +2036,8 @@ const meteorlxy = async (options, ...customConfigs) => [
2006
2036
  ...ignores(options.ignores),
2007
2037
  // javascript core rules
2008
2038
  ...javascript(options.javascript),
2039
+ // imports rules
2040
+ ...imports(options.imports),
2009
2041
  // react rules - should be placed before typescript rules
2010
2042
  ...options.react ? await react(options.react === true ? {} : options.react) : [],
2011
2043
  // typescript rules
package/dist/index.d.cts CHANGED
@@ -6,6 +6,15 @@ type EslintIgnoresOptions = FlatConfig.Config['ignores'];
6
6
  */
7
7
  declare const ignores: (options?: EslintIgnoresOptions) => FlatConfig.Config[];
8
8
 
9
+ interface EslintImportsOptions {
10
+ overrides?: FlatConfig.Config['rules'];
11
+ packageDir?: string[] | string;
12
+ }
13
+ /**
14
+ * Imports configuration for eslint.
15
+ */
16
+ declare const imports: ({ overrides, packageDir, }?: EslintImportsOptions) => FlatConfig.Config[];
17
+
9
18
  interface EslintJavascriptOptions {
10
19
  overrides?: FlatConfig.Config['rules'];
11
20
  }
@@ -56,12 +65,14 @@ interface EslintVueOptions {
56
65
  declare const vue: ({ files, overrides, }?: EslintVueOptions) => Promise<FlatConfig.Config[]>;
57
66
 
58
67
  type index$1_EslintIgnoresOptions = EslintIgnoresOptions;
68
+ type index$1_EslintImportsOptions = EslintImportsOptions;
59
69
  type index$1_EslintJavascriptOptions = EslintJavascriptOptions;
60
70
  type index$1_EslintMarkdownOptions = EslintMarkdownOptions;
61
71
  type index$1_EslintReactOptions = EslintReactOptions;
62
72
  type index$1_EslintTypescriptOptions = EslintTypescriptOptions;
63
73
  type index$1_EslintVueOptions = EslintVueOptions;
64
74
  declare const index$1_ignores: typeof ignores;
75
+ declare const index$1_imports: typeof imports;
65
76
  declare const index$1_javascript: typeof javascript;
66
77
  declare const index$1_markdown: typeof markdown;
67
78
  declare const index$1_prettier: typeof prettier;
@@ -69,7 +80,7 @@ declare const index$1_react: typeof react;
69
80
  declare const index$1_typescript: typeof typescript;
70
81
  declare const index$1_vue: typeof vue;
71
82
  declare namespace index$1 {
72
- export { type index$1_EslintIgnoresOptions as EslintIgnoresOptions, type index$1_EslintJavascriptOptions as EslintJavascriptOptions, type index$1_EslintMarkdownOptions as EslintMarkdownOptions, type index$1_EslintReactOptions as EslintReactOptions, type index$1_EslintTypescriptOptions as EslintTypescriptOptions, type index$1_EslintVueOptions as EslintVueOptions, index$1_ignores as ignores, index$1_javascript as javascript, index$1_markdown as markdown, index$1_prettier as prettier, index$1_react as react, index$1_typescript as typescript, index$1_vue as vue };
83
+ export { type index$1_EslintIgnoresOptions as EslintIgnoresOptions, type index$1_EslintImportsOptions as EslintImportsOptions, type index$1_EslintJavascriptOptions as EslintJavascriptOptions, type index$1_EslintMarkdownOptions as EslintMarkdownOptions, type index$1_EslintReactOptions as EslintReactOptions, type index$1_EslintTypescriptOptions as EslintTypescriptOptions, type index$1_EslintVueOptions as EslintVueOptions, index$1_ignores as ignores, index$1_imports as imports, index$1_javascript as javascript, index$1_markdown as markdown, index$1_prettier as prettier, index$1_react as react, index$1_typescript as typescript, index$1_vue as vue };
73
84
  }
74
85
 
75
86
  declare const IS_CI: boolean;
@@ -1023,6 +1034,11 @@ declare const typescriptRules: {
1023
1034
  }];
1024
1035
  '@typescript-eslint/method-signature-style': ["off", string];
1025
1036
  '@typescript-eslint/naming-convention': ["error", {
1037
+ selector: string;
1038
+ modifiers: string[];
1039
+ types: string[];
1040
+ format: string[];
1041
+ }, {
1026
1042
  selector: string;
1027
1043
  format: string[];
1028
1044
  }, {
@@ -1328,6 +1344,7 @@ declare namespace utils {
1328
1344
 
1329
1345
  interface EslintOptions {
1330
1346
  ignores?: EslintIgnoresOptions;
1347
+ imports?: EslintImportsOptions;
1331
1348
  javascript?: EslintJavascriptOptions;
1332
1349
  markdown?: EslintMarkdownOptions | boolean;
1333
1350
  react?: EslintReactOptions | boolean;
package/dist/index.d.mts CHANGED
@@ -6,6 +6,15 @@ type EslintIgnoresOptions = FlatConfig.Config['ignores'];
6
6
  */
7
7
  declare const ignores: (options?: EslintIgnoresOptions) => FlatConfig.Config[];
8
8
 
9
+ interface EslintImportsOptions {
10
+ overrides?: FlatConfig.Config['rules'];
11
+ packageDir?: string[] | string;
12
+ }
13
+ /**
14
+ * Imports configuration for eslint.
15
+ */
16
+ declare const imports: ({ overrides, packageDir, }?: EslintImportsOptions) => FlatConfig.Config[];
17
+
9
18
  interface EslintJavascriptOptions {
10
19
  overrides?: FlatConfig.Config['rules'];
11
20
  }
@@ -56,12 +65,14 @@ interface EslintVueOptions {
56
65
  declare const vue: ({ files, overrides, }?: EslintVueOptions) => Promise<FlatConfig.Config[]>;
57
66
 
58
67
  type index$1_EslintIgnoresOptions = EslintIgnoresOptions;
68
+ type index$1_EslintImportsOptions = EslintImportsOptions;
59
69
  type index$1_EslintJavascriptOptions = EslintJavascriptOptions;
60
70
  type index$1_EslintMarkdownOptions = EslintMarkdownOptions;
61
71
  type index$1_EslintReactOptions = EslintReactOptions;
62
72
  type index$1_EslintTypescriptOptions = EslintTypescriptOptions;
63
73
  type index$1_EslintVueOptions = EslintVueOptions;
64
74
  declare const index$1_ignores: typeof ignores;
75
+ declare const index$1_imports: typeof imports;
65
76
  declare const index$1_javascript: typeof javascript;
66
77
  declare const index$1_markdown: typeof markdown;
67
78
  declare const index$1_prettier: typeof prettier;
@@ -69,7 +80,7 @@ declare const index$1_react: typeof react;
69
80
  declare const index$1_typescript: typeof typescript;
70
81
  declare const index$1_vue: typeof vue;
71
82
  declare namespace index$1 {
72
- export { type index$1_EslintIgnoresOptions as EslintIgnoresOptions, type index$1_EslintJavascriptOptions as EslintJavascriptOptions, type index$1_EslintMarkdownOptions as EslintMarkdownOptions, type index$1_EslintReactOptions as EslintReactOptions, type index$1_EslintTypescriptOptions as EslintTypescriptOptions, type index$1_EslintVueOptions as EslintVueOptions, index$1_ignores as ignores, index$1_javascript as javascript, index$1_markdown as markdown, index$1_prettier as prettier, index$1_react as react, index$1_typescript as typescript, index$1_vue as vue };
83
+ export { type index$1_EslintIgnoresOptions as EslintIgnoresOptions, type index$1_EslintImportsOptions as EslintImportsOptions, type index$1_EslintJavascriptOptions as EslintJavascriptOptions, type index$1_EslintMarkdownOptions as EslintMarkdownOptions, type index$1_EslintReactOptions as EslintReactOptions, type index$1_EslintTypescriptOptions as EslintTypescriptOptions, type index$1_EslintVueOptions as EslintVueOptions, index$1_ignores as ignores, index$1_imports as imports, index$1_javascript as javascript, index$1_markdown as markdown, index$1_prettier as prettier, index$1_react as react, index$1_typescript as typescript, index$1_vue as vue };
73
84
  }
74
85
 
75
86
  declare const IS_CI: boolean;
@@ -1023,6 +1034,11 @@ declare const typescriptRules: {
1023
1034
  }];
1024
1035
  '@typescript-eslint/method-signature-style': ["off", string];
1025
1036
  '@typescript-eslint/naming-convention': ["error", {
1037
+ selector: string;
1038
+ modifiers: string[];
1039
+ types: string[];
1040
+ format: string[];
1041
+ }, {
1026
1042
  selector: string;
1027
1043
  format: string[];
1028
1044
  }, {
@@ -1328,6 +1344,7 @@ declare namespace utils {
1328
1344
 
1329
1345
  interface EslintOptions {
1330
1346
  ignores?: EslintIgnoresOptions;
1347
+ imports?: EslintImportsOptions;
1331
1348
  javascript?: EslintJavascriptOptions;
1332
1349
  markdown?: EslintMarkdownOptions | boolean;
1333
1350
  react?: EslintReactOptions | boolean;
package/dist/index.d.ts CHANGED
@@ -6,6 +6,15 @@ type EslintIgnoresOptions = FlatConfig.Config['ignores'];
6
6
  */
7
7
  declare const ignores: (options?: EslintIgnoresOptions) => FlatConfig.Config[];
8
8
 
9
+ interface EslintImportsOptions {
10
+ overrides?: FlatConfig.Config['rules'];
11
+ packageDir?: string[] | string;
12
+ }
13
+ /**
14
+ * Imports configuration for eslint.
15
+ */
16
+ declare const imports: ({ overrides, packageDir, }?: EslintImportsOptions) => FlatConfig.Config[];
17
+
9
18
  interface EslintJavascriptOptions {
10
19
  overrides?: FlatConfig.Config['rules'];
11
20
  }
@@ -56,12 +65,14 @@ interface EslintVueOptions {
56
65
  declare const vue: ({ files, overrides, }?: EslintVueOptions) => Promise<FlatConfig.Config[]>;
57
66
 
58
67
  type index$1_EslintIgnoresOptions = EslintIgnoresOptions;
68
+ type index$1_EslintImportsOptions = EslintImportsOptions;
59
69
  type index$1_EslintJavascriptOptions = EslintJavascriptOptions;
60
70
  type index$1_EslintMarkdownOptions = EslintMarkdownOptions;
61
71
  type index$1_EslintReactOptions = EslintReactOptions;
62
72
  type index$1_EslintTypescriptOptions = EslintTypescriptOptions;
63
73
  type index$1_EslintVueOptions = EslintVueOptions;
64
74
  declare const index$1_ignores: typeof ignores;
75
+ declare const index$1_imports: typeof imports;
65
76
  declare const index$1_javascript: typeof javascript;
66
77
  declare const index$1_markdown: typeof markdown;
67
78
  declare const index$1_prettier: typeof prettier;
@@ -69,7 +80,7 @@ declare const index$1_react: typeof react;
69
80
  declare const index$1_typescript: typeof typescript;
70
81
  declare const index$1_vue: typeof vue;
71
82
  declare namespace index$1 {
72
- export { type index$1_EslintIgnoresOptions as EslintIgnoresOptions, type index$1_EslintJavascriptOptions as EslintJavascriptOptions, type index$1_EslintMarkdownOptions as EslintMarkdownOptions, type index$1_EslintReactOptions as EslintReactOptions, type index$1_EslintTypescriptOptions as EslintTypescriptOptions, type index$1_EslintVueOptions as EslintVueOptions, index$1_ignores as ignores, index$1_javascript as javascript, index$1_markdown as markdown, index$1_prettier as prettier, index$1_react as react, index$1_typescript as typescript, index$1_vue as vue };
83
+ export { type index$1_EslintIgnoresOptions as EslintIgnoresOptions, type index$1_EslintImportsOptions as EslintImportsOptions, type index$1_EslintJavascriptOptions as EslintJavascriptOptions, type index$1_EslintMarkdownOptions as EslintMarkdownOptions, type index$1_EslintReactOptions as EslintReactOptions, type index$1_EslintTypescriptOptions as EslintTypescriptOptions, type index$1_EslintVueOptions as EslintVueOptions, index$1_ignores as ignores, index$1_imports as imports, index$1_javascript as javascript, index$1_markdown as markdown, index$1_prettier as prettier, index$1_react as react, index$1_typescript as typescript, index$1_vue as vue };
73
84
  }
74
85
 
75
86
  declare const IS_CI: boolean;
@@ -1023,6 +1034,11 @@ declare const typescriptRules: {
1023
1034
  }];
1024
1035
  '@typescript-eslint/method-signature-style': ["off", string];
1025
1036
  '@typescript-eslint/naming-convention': ["error", {
1037
+ selector: string;
1038
+ modifiers: string[];
1039
+ types: string[];
1040
+ format: string[];
1041
+ }, {
1026
1042
  selector: string;
1027
1043
  format: string[];
1028
1044
  }, {
@@ -1328,6 +1344,7 @@ declare namespace utils {
1328
1344
 
1329
1345
  interface EslintOptions {
1330
1346
  ignores?: EslintIgnoresOptions;
1347
+ imports?: EslintImportsOptions;
1331
1348
  javascript?: EslintJavascriptOptions;
1332
1349
  markdown?: EslintMarkdownOptions | boolean;
1333
1350
  react?: EslintReactOptions | boolean;
package/dist/index.mjs CHANGED
@@ -1,15 +1,14 @@
1
- import eslintCommentsPlugin from 'eslint-plugin-eslint-comments';
2
1
  import importPlugin from 'eslint-plugin-import-x';
3
- import globals from 'globals';
4
2
  import confusingBrowserGlobals from 'confusing-browser-globals';
5
3
  import tsPlugin from '@typescript-eslint/eslint-plugin';
4
+ import eslintCommentsPlugin from 'eslint-plugin-eslint-comments';
5
+ import globals from 'globals';
6
6
  import prettierConfig from 'eslint-config-prettier';
7
7
  import tsParser from '@typescript-eslint/parser';
8
8
 
9
9
  const ignores = (options = []) => [
10
10
  {
11
- // TODO: uncomment after upgrading to eslint v9
12
- // name: 'meteorlxy/ignores',
11
+ name: "meteorlxy/ignores",
13
12
  ignores: [
14
13
  // node_modules & lock files
15
14
  "**/node_modules",
@@ -1282,6 +1281,12 @@ const typescriptRules = {
1282
1281
  "@typescript-eslint/method-signature-style": ["off", "method"],
1283
1282
  "@typescript-eslint/naming-convention": [
1284
1283
  "error",
1284
+ {
1285
+ selector: "variable",
1286
+ modifiers: ["const", "global"],
1287
+ types: ["array", "boolean", "number", "string"],
1288
+ format: ["UPPER_CASE"]
1289
+ },
1285
1290
  {
1286
1291
  selector: "variable",
1287
1292
  format: ["camelCase", "PascalCase", "UPPER_CASE"]
@@ -1705,14 +1710,39 @@ const index$1 = {
1705
1710
  vueRules: vueRules
1706
1711
  };
1707
1712
 
1713
+ const imports = ({
1714
+ overrides,
1715
+ packageDir
1716
+ } = {}) => [
1717
+ {
1718
+ name: "meteorlxy/imports/plugins",
1719
+ plugins: {
1720
+ import: importPlugin
1721
+ }
1722
+ },
1723
+ {
1724
+ name: "meteorlxy/imports/rules",
1725
+ rules: {
1726
+ ...importsRules,
1727
+ "import/no-extraneous-dependencies": [
1728
+ importsRules["import/no-extraneous-dependencies"][0],
1729
+ {
1730
+ ...importsRules["import/no-extraneous-dependencies"][1],
1731
+ packageDir
1732
+ }
1733
+ ],
1734
+ ...overrides
1735
+ }
1736
+ }
1737
+ ];
1738
+
1708
1739
  const javascript = ({
1709
1740
  overrides
1710
1741
  } = {}) => [
1711
1742
  {
1712
1743
  name: "meteorlxy/javascript/plugins",
1713
1744
  plugins: {
1714
- "eslint-comments": eslintCommentsPlugin,
1715
- "import": importPlugin
1745
+ "eslint-comments": eslintCommentsPlugin
1716
1746
  }
1717
1747
  },
1718
1748
  {
@@ -1739,7 +1769,6 @@ const javascript = ({
1739
1769
  rules: {
1740
1770
  ...builtinRules,
1741
1771
  ...eslintCommentsRules,
1742
- ...importsRules,
1743
1772
  ...overrides
1744
1773
  }
1745
1774
  },
@@ -1972,6 +2001,7 @@ const vue = async ({
1972
2001
  const index = {
1973
2002
  __proto__: null,
1974
2003
  ignores: ignores,
2004
+ imports: imports,
1975
2005
  javascript: javascript,
1976
2006
  markdown: markdown,
1977
2007
  prettier: prettier,
@@ -1994,6 +2024,8 @@ const meteorlxy = async (options, ...customConfigs) => [
1994
2024
  ...ignores(options.ignores),
1995
2025
  // javascript core rules
1996
2026
  ...javascript(options.javascript),
2027
+ // imports rules
2028
+ ...imports(options.imports),
1997
2029
  // react rules - should be placed before typescript rules
1998
2030
  ...options.react ? await react(options.react === true ? {} : options.react) : [],
1999
2031
  // typescript rules
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meteorlxy/eslint-config",
3
- "version": "4.0.1",
3
+ "version": "4.2.0",
4
4
  "description": "meteorlxy eslint config",
5
5
  "keywords": [
6
6
  "config",
@@ -79,5 +79,5 @@
79
79
  "publishConfig": {
80
80
  "access": "public"
81
81
  },
82
- "gitHead": "205e0599b542c873fd05bdb6e6dfa378ab4d27f9"
82
+ "gitHead": "6e497d20ff7edbb3a34ed6a3d4374bed8d859574"
83
83
  }