@azat-io/eslint-config 2.13.0 → 2.15.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.
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxA11y = require("eslint-plugin-jsx-a11y");
4
4
  let a11y = (config) => {
5
- if (!(config.react || config.qwik)) {
5
+ if (!config.react && !config.qwik) {
6
6
  return {};
7
7
  }
8
8
  let files = ["**/*.jsx"];
@@ -1,6 +1,6 @@
1
1
  import jsxA11y from "eslint-plugin-jsx-a11y";
2
2
  let a11y = (config) => {
3
- if (!(config.react || config.qwik)) {
3
+ if (!config.react && !config.qwik) {
4
4
  return {};
5
5
  }
6
6
  let files = ["**/*.jsx"];
@@ -19,19 +19,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
19
19
  ));
20
20
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
21
21
  const path = require("node:path");
22
- const utils = require("../utils.cjs");
22
+ const utilities = require("../utilities.cjs");
23
23
  let astro = async (config) => {
24
24
  if (!config.astro) {
25
25
  return {};
26
26
  }
27
27
  let [astroPlugin, astroParser] = await Promise.all([
28
- utils.interopDefault(import("eslint-plugin-astro")),
29
- utils.interopDefault(import("astro-eslint-parser"))
28
+ utilities.interopDefault(import("eslint-plugin-astro")),
29
+ utilities.interopDefault(import("astro-eslint-parser"))
30
30
  ]);
31
31
  let files = ["**/*.astro"];
32
32
  let additionalParserOptions = {};
33
33
  if (config.typescript) {
34
- let { parser: typescriptParser } = await utils.interopDefault(
34
+ let { parser: typescriptParser } = await utilities.interopDefault(
35
35
  import("typescript-eslint")
36
36
  );
37
37
  additionalParserOptions = {
@@ -1,5 +1,5 @@
1
1
  import path from "node:path";
2
- import { interopDefault } from "../utils.mjs";
2
+ import { interopDefault } from "../utilities.mjs";
3
3
  let astro = async (config) => {
4
4
  if (!config.astro) {
5
5
  return {};
@@ -3,6 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const eslintCommentsPlugin = require("@eslint-community/eslint-plugin-eslint-comments");
4
4
  const preferArrowPlugin = require("eslint-plugin-prefer-arrow");
5
5
  const preferLetPlugin = require("eslint-plugin-prefer-let");
6
+ const deMorganPlugin = require("eslint-plugin-de-morgan");
6
7
  const importXPlugin = require("eslint-plugin-import-x");
7
8
  const promisePlugin = require("eslint-plugin-promise");
8
9
  const sonarjsPlugin = require("eslint-plugin-sonarjs");
@@ -45,6 +46,7 @@ let core = (config) => {
45
46
  }
46
47
  },
47
48
  plugins: {
49
+ "de-morgan": deMorganPlugin,
48
50
  "eslint-comments": eslintCommentsPlugin,
49
51
  "import-x": importXPlugin,
50
52
  jsdoc: jsdocPlugin,
@@ -316,6 +318,8 @@ let core = (config) => {
316
318
  }
317
319
  ],
318
320
  yoda: ["error", "never"],
321
+ "de-morgan/no-negated-conjunction": "error",
322
+ "de-morgan/no-negated-disjunction": "error",
319
323
  "eslint-comments/disable-enable-pair": "error",
320
324
  "eslint-comments/no-aggregating-enable": "error",
321
325
  "eslint-comments/no-duplicate-disable": "error",
@@ -509,6 +513,7 @@ let core = (config) => {
509
513
  "sonarjs/reduce-initial-value": "error",
510
514
  "unicorn/better-regex": "error",
511
515
  "unicorn/catch-error-name": "error",
516
+ "unicorn/consistent-date-clone": "error",
512
517
  "unicorn/consistent-destructuring": "error",
513
518
  "unicorn/consistent-empty-array-spread": "error",
514
519
  "unicorn/consistent-existence-index-check": "error",
@@ -532,10 +537,11 @@ let core = (config) => {
532
537
  "unicorn/no-await-in-promise-methods": "error",
533
538
  "unicorn/no-for-loop": "error",
534
539
  "unicorn/no-hex-escape": "error",
535
- "unicorn/no-instanceof-array": "error",
540
+ "unicorn/no-instanceof-builtins": "error",
536
541
  "unicorn/no-invalid-fetch-options": "error",
537
542
  "unicorn/no-invalid-remove-event-listener": "error",
538
543
  "unicorn/no-length-as-slice-end": "error",
544
+ "unicorn/no-named-default": "error",
539
545
  "unicorn/no-negated-condition": "error",
540
546
  "unicorn/no-negation-in-equality-check": "error",
541
547
  "unicorn/no-new-array": "error",
@@ -1,6 +1,7 @@
1
1
  import eslintCommentsPlugin from "@eslint-community/eslint-plugin-eslint-comments";
2
2
  import preferArrowPlugin from "eslint-plugin-prefer-arrow";
3
3
  import preferLetPlugin from "eslint-plugin-prefer-let";
4
+ import deMorganPlugin from "eslint-plugin-de-morgan";
4
5
  import importXPlugin from "eslint-plugin-import-x";
5
6
  import promisePlugin from "eslint-plugin-promise";
6
7
  import sonarjsPlugin from "eslint-plugin-sonarjs";
@@ -43,6 +44,7 @@ let core = (config) => {
43
44
  }
44
45
  },
45
46
  plugins: {
47
+ "de-morgan": deMorganPlugin,
46
48
  "eslint-comments": eslintCommentsPlugin,
47
49
  "import-x": importXPlugin,
48
50
  jsdoc: jsdocPlugin,
@@ -314,6 +316,8 @@ let core = (config) => {
314
316
  }
315
317
  ],
316
318
  yoda: ["error", "never"],
319
+ "de-morgan/no-negated-conjunction": "error",
320
+ "de-morgan/no-negated-disjunction": "error",
317
321
  "eslint-comments/disable-enable-pair": "error",
318
322
  "eslint-comments/no-aggregating-enable": "error",
319
323
  "eslint-comments/no-duplicate-disable": "error",
@@ -507,6 +511,7 @@ let core = (config) => {
507
511
  "sonarjs/reduce-initial-value": "error",
508
512
  "unicorn/better-regex": "error",
509
513
  "unicorn/catch-error-name": "error",
514
+ "unicorn/consistent-date-clone": "error",
510
515
  "unicorn/consistent-destructuring": "error",
511
516
  "unicorn/consistent-empty-array-spread": "error",
512
517
  "unicorn/consistent-existence-index-check": "error",
@@ -530,10 +535,11 @@ let core = (config) => {
530
535
  "unicorn/no-await-in-promise-methods": "error",
531
536
  "unicorn/no-for-loop": "error",
532
537
  "unicorn/no-hex-escape": "error",
533
- "unicorn/no-instanceof-array": "error",
538
+ "unicorn/no-instanceof-builtins": "error",
534
539
  "unicorn/no-invalid-fetch-options": "error",
535
540
  "unicorn/no-invalid-remove-event-listener": "error",
536
541
  "unicorn/no-length-as-slice-end": "error",
542
+ "unicorn/no-named-default": "error",
537
543
  "unicorn/no-negated-condition": "error",
538
544
  "unicorn/no-negation-in-equality-check": "error",
539
545
  "unicorn/no-new-array": "error",
@@ -18,12 +18,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  mod
19
19
  ));
20
20
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
21
- const utils = require("../utils.cjs");
21
+ const utilities = require("../utilities.cjs");
22
22
  let node = async (config) => {
23
23
  if (!config.node) {
24
24
  return {};
25
25
  }
26
- let nodePlugin = await utils.interopDefault(import("eslint-plugin-n"));
26
+ let nodePlugin = await utilities.interopDefault(import("eslint-plugin-n"));
27
27
  let files = ["**/*.js", "**/*.cjs", "**/*.mjs"];
28
28
  if (config.typescript) {
29
29
  files.push("**/*.ts", "**/*.cts", "**/*.mts");
@@ -1,4 +1,4 @@
1
- import { interopDefault } from "../utils.mjs";
1
+ import { interopDefault } from "../utilities.mjs";
2
2
  let node = async (config) => {
3
3
  if (!config.node) {
4
4
  return {};
@@ -27,6 +27,9 @@ let packageJson = (_config) => ({
27
27
  }
28
28
  ],
29
29
  "package-json/require-author": "error",
30
+ "package-json/require-keywords": "error",
31
+ "package-json/require-name": "error",
32
+ "package-json/require-version": "error",
30
33
  "package-json/sort-collections": "error",
31
34
  "package-json/unique-dependencies": "error",
32
35
  "package-json/valid-local-dependency": "error",
@@ -25,6 +25,9 @@ let packageJson = (_config) => ({
25
25
  }
26
26
  ],
27
27
  "package-json/require-author": "error",
28
+ "package-json/require-keywords": "error",
29
+ "package-json/require-name": "error",
30
+ "package-json/require-version": "error",
28
31
  "package-json/sort-collections": "error",
29
32
  "package-json/unique-dependencies": "error",
30
33
  "package-json/valid-local-dependency": "error",
@@ -18,12 +18,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  mod
19
19
  ));
20
20
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
21
- const utils = require("../utils.cjs");
21
+ const utilities = require("../utilities.cjs");
22
22
  let perfectionist = async (config) => {
23
23
  if (!config.perfectionist) {
24
24
  return {};
25
25
  }
26
- let perfectionistPlugin = await utils.interopDefault(
26
+ let perfectionistPlugin = await utilities.interopDefault(
27
27
  import("eslint-plugin-perfectionist")
28
28
  );
29
29
  let files = ["**/*.js", "**/*.cjs", "**/*.mjs"];
@@ -1,4 +1,4 @@
1
- import { interopDefault } from "../utils.mjs";
1
+ import { interopDefault } from "../utilities.mjs";
2
2
  let perfectionist = async (config) => {
3
3
  if (!config.perfectionist) {
4
4
  return {};
@@ -18,12 +18,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  mod
19
19
  ));
20
20
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
21
- const utils = require("../utils.cjs");
21
+ const utilities = require("../utilities.cjs");
22
22
  let qwik = async (config) => {
23
23
  if (!config.qwik) {
24
24
  return {};
25
25
  }
26
- let qwikPlugin = await utils.interopDefault(import("eslint-plugin-qwik"));
26
+ let qwikPlugin = await utilities.interopDefault(import("eslint-plugin-qwik"));
27
27
  let files = ["**/*.jsx"];
28
28
  if (config.typescript) {
29
29
  files.push("**/*.tsx");
@@ -1,4 +1,4 @@
1
- import { interopDefault } from "../utils.mjs";
1
+ import { interopDefault } from "../utilities.mjs";
2
2
  let qwik = async (config) => {
3
3
  if (!config.qwik) {
4
4
  return {};
@@ -18,16 +18,16 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  mod
19
19
  ));
20
20
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
21
- const utils = require("../utils.cjs");
21
+ const utilities = require("../utilities.cjs");
22
22
  let react = async (config) => {
23
23
  if (!config.react) {
24
24
  return {};
25
25
  }
26
26
  let [reactCompilerPlugin, reactHooksPlugin, reactPerfPlugin, reactPlugin] = await Promise.all([
27
- utils.interopDefault(import("eslint-plugin-react-compiler")),
28
- utils.interopDefault(import("eslint-plugin-react-hooks")),
29
- utils.interopDefault(import("eslint-plugin-react-perf")),
30
- utils.interopDefault(import("eslint-plugin-react"))
27
+ utilities.interopDefault(import("eslint-plugin-react-compiler")),
28
+ utilities.interopDefault(import("eslint-plugin-react-hooks")),
29
+ utilities.interopDefault(import("eslint-plugin-react-perf")),
30
+ utilities.interopDefault(import("eslint-plugin-react"))
31
31
  ]);
32
32
  let files = ["**/*.jsx"];
33
33
  if (config.typescript) {
@@ -1,4 +1,4 @@
1
- import { interopDefault } from "../utils.mjs";
1
+ import { interopDefault } from "../utilities.mjs";
2
2
  let react = async (config) => {
3
3
  if (!config.react) {
4
4
  return {};
@@ -18,19 +18,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  mod
19
19
  ));
20
20
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
21
- const utils = require("../utils.cjs");
21
+ const utilities = require("../utilities.cjs");
22
22
  let svelte = async (config) => {
23
23
  if (!config.svelte) {
24
24
  return {};
25
25
  }
26
26
  let files = ["**/*.svelte"];
27
27
  let [sveltePlugin, svelteParser] = await Promise.all([
28
- utils.interopDefault(import("eslint-plugin-svelte")),
29
- utils.interopDefault(import("svelte-eslint-parser"))
28
+ utilities.interopDefault(import("eslint-plugin-svelte")),
29
+ utilities.interopDefault(import("svelte-eslint-parser"))
30
30
  ]);
31
31
  let additionalParserOptions = {};
32
32
  if (config.typescript) {
33
- let { parser: typescriptParser } = await utils.interopDefault(
33
+ let { parser: typescriptParser } = await utilities.interopDefault(
34
34
  import("typescript-eslint")
35
35
  );
36
36
  additionalParserOptions = {
@@ -1,4 +1,4 @@
1
- import { interopDefault } from "../utils.mjs";
1
+ import { interopDefault } from "../utilities.mjs";
2
2
  let svelte = async (config) => {
3
3
  if (!config.svelte) {
4
4
  return {};
@@ -18,12 +18,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  mod
19
19
  ));
20
20
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
21
- const utils = require("../utils.cjs");
21
+ const utilities = require("../utilities.cjs");
22
22
  let typescript = async (config) => {
23
23
  if (!config.typescript) {
24
24
  return {};
25
25
  }
26
- let { parser: typescriptParser, plugin: typescriptPlugin } = await utils.interopDefault(import("typescript-eslint"));
26
+ let { parser: typescriptParser, plugin: typescriptPlugin } = await utilities.interopDefault(import("typescript-eslint"));
27
27
  let files = ["**/*.ts", "**/*.cts", "**/*.mts"];
28
28
  if (config.react || config.qwik) {
29
29
  files.push("**/*.tsx");
@@ -1,4 +1,4 @@
1
- import { interopDefault } from "../utils.mjs";
1
+ import { interopDefault } from "../utilities.mjs";
2
2
  let typescript = async (config) => {
3
3
  if (!config.typescript) {
4
4
  return {};
@@ -18,12 +18,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  mod
19
19
  ));
20
20
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
21
- const utils = require("../utils.cjs");
21
+ const utilities = require("../utilities.cjs");
22
22
  let vitest = async (config) => {
23
23
  if (!config.vitest) {
24
24
  return {};
25
25
  }
26
- let vitestPlugin = await utils.interopDefault(import("@vitest/eslint-plugin"));
26
+ let vitestPlugin = await utilities.interopDefault(import("@vitest/eslint-plugin"));
27
27
  let files = [
28
28
  "**/test/*.js",
29
29
  "**/test/*.cjs",
@@ -1,4 +1,4 @@
1
- import { interopDefault } from "../utils.mjs";
1
+ import { interopDefault } from "../utilities.mjs";
2
2
  let vitest = async (config) => {
3
3
  if (!config.vitest) {
4
4
  return {};
@@ -18,19 +18,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  mod
19
19
  ));
20
20
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
21
- const utils = require("../utils.cjs");
21
+ const utilities = require("../utilities.cjs");
22
22
  let vue = async (config) => {
23
23
  if (!config.vue) {
24
24
  return {};
25
25
  }
26
26
  let [vuePlugin, vueParser] = await Promise.all([
27
- utils.interopDefault(import("eslint-plugin-vue")),
28
- utils.interopDefault(import("vue-eslint-parser"))
27
+ utilities.interopDefault(import("eslint-plugin-vue")),
28
+ utilities.interopDefault(import("vue-eslint-parser"))
29
29
  ]);
30
30
  let files = ["**/*.vue"];
31
31
  let additionalParserOptions = {};
32
32
  if (config.typescript) {
33
- let { parser: typescriptParser } = await utils.interopDefault(
33
+ let { parser: typescriptParser } = await utilities.interopDefault(
34
34
  import("typescript-eslint")
35
35
  );
36
36
  additionalParserOptions = {
@@ -1,4 +1,4 @@
1
- import { interopDefault } from "../utils.mjs";
1
+ import { interopDefault } from "../utilities.mjs";
2
2
  let vue = async (config) => {
3
3
  if (!config.vue) {
4
4
  return {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azat-io/eslint-config",
3
- "version": "2.13.0",
3
+ "version": "2.15.0",
4
4
  "description": "ESLint shareable config",
5
5
  "keywords": [
6
6
  "eslint",
@@ -28,16 +28,17 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
31
- "@vitest/eslint-plugin": "^1.1.25",
31
+ "@vitest/eslint-plugin": "^1.1.31",
32
32
  "astro-eslint-parser": "^1.2.1",
33
- "eslint-import-resolver-typescript": "^3.7.0",
33
+ "eslint-import-resolver-typescript": "^3.8.1",
34
34
  "eslint-plugin-astro": "^1.3.1",
35
+ "eslint-plugin-de-morgan": "^1.0.1",
35
36
  "eslint-plugin-import-x": "^4.6.1",
36
37
  "eslint-plugin-jsdoc": "^50.6.3",
37
38
  "eslint-plugin-jsx-a11y": "^6.10.2",
38
39
  "eslint-plugin-n": "^17.15.1",
39
- "eslint-plugin-package-json": "^0.22.0",
40
- "eslint-plugin-perfectionist": "^4.7.0",
40
+ "eslint-plugin-package-json": "^0.26.0",
41
+ "eslint-plugin-perfectionist": "^4.9.0",
41
42
  "eslint-plugin-prefer-arrow": "^1.2.3",
42
43
  "eslint-plugin-prefer-let": "^4.0.0",
43
44
  "eslint-plugin-promise": "^7.2.1",
@@ -47,14 +48,14 @@
47
48
  "eslint-plugin-react-hooks": "^5.1.0",
48
49
  "eslint-plugin-react-perf": "^3.3.3",
49
50
  "eslint-plugin-regexp": "^2.7.0",
50
- "eslint-plugin-sonarjs": "^3.0.1",
51
+ "eslint-plugin-sonarjs": "^3.0.2",
51
52
  "eslint-plugin-svelte": "^2.46.1",
52
- "eslint-plugin-unicorn": "^56.0.1",
53
+ "eslint-plugin-unicorn": "^57.0.0",
53
54
  "eslint-plugin-vue": "^9.32.0",
54
- "globals": "^15.14.0",
55
+ "globals": "^15.15.0",
55
56
  "jsonc-eslint-parser": "^2.4.0",
56
57
  "svelte-eslint-parser": "^0.43.0",
57
- "typescript-eslint": "^8.23.0",
58
+ "typescript-eslint": "^8.24.1",
58
59
  "vue-eslint-parser": "^9.4.3"
59
60
  },
60
61
  "peerDependencies": {
package/readme.md CHANGED
@@ -125,6 +125,7 @@ This config uses the following plugins:
125
125
  - [@eslint/js](https://github.com/eslint/eslint)
126
126
  - [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest)
127
127
  - [eslint-plugin-astro](https://github.com/ota-meshi/eslint-plugin-astro)
128
+ - [eslint-plugin-de-morgan](https://github.com/azat-io/eslint-plugin-de-morgan)
128
129
  - [eslint-plugin-import-x](https://github.com/un-ts/eslint-plugin-import-x)
129
130
  - [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc)
130
131
  - [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)
File without changes
File without changes