eslint-plugin-rxjs-x 0.8.2 → 0.8.4

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/README.md CHANGED
@@ -21,12 +21,12 @@ but has since introduced new features which involve breaking changes.
21
21
  + import rxjsX from 'eslint-plugin-rxjs-x';
22
22
  ```
23
23
 
24
- 3. If you previously used the `plugin:rxjs/recommended` shared config, add `rxjsX.configs.recommended` to your `configs` block:
24
+ 3. If you previously used the `plugin:rxjs/recommended` shared config, add `rxjsX.configs.recommended` to your `extends` block:
25
25
 
26
26
  ```diff
27
- configs: {
27
+ extends: [
28
28
  + rxjsX.configs.recommended,
29
- },
29
+ ],
30
30
  ```
31
31
 
32
32
  - Note: `eslint-plugin-rxjs-x` provides a `strict` shared config, so consider using `rxjsX.configs.strict` instead.
package/dist/index.d.mts CHANGED
@@ -159,7 +159,9 @@ declare const allRules: {
159
159
  description: "Disallow unsafe `shareReplay` usage.";
160
160
  recommended: "recommended";
161
161
  }, TSESLint.RuleListener>;
162
- 'no-sharereplay-before-takeuntil': TSESLint.RuleModule<"forbidden", [], {
162
+ 'no-sharereplay-before-takeuntil': TSESLint.RuleModule<"forbidden", readonly {
163
+ takeUntilAlias?: string[];
164
+ }[], {
163
165
  description: "Disallow using `shareReplay({ refCount: false })` before `takeUntil`.";
164
166
  recommended: "strict";
165
167
  }, TSESLint.RuleListener>;
@@ -350,6 +352,7 @@ declare const rxjsX: {
350
352
  meta: {
351
353
  name: string;
352
354
  version: string;
355
+ namespace: string;
353
356
  };
354
357
  /** Compatibility with `defineConfig` until https://github.com/typescript-eslint/typescript-eslint/issues/11543 is addressed. */
355
358
  rules: { [K in keyof typeof allRules]: (typeof allRules)[K] & Rule.RuleModule; };
package/dist/index.d.ts CHANGED
@@ -159,7 +159,9 @@ declare const allRules: {
159
159
  description: "Disallow unsafe `shareReplay` usage.";
160
160
  recommended: "recommended";
161
161
  }, TSESLint.RuleListener>;
162
- 'no-sharereplay-before-takeuntil': TSESLint.RuleModule<"forbidden", [], {
162
+ 'no-sharereplay-before-takeuntil': TSESLint.RuleModule<"forbidden", readonly {
163
+ takeUntilAlias?: string[];
164
+ }[], {
163
165
  description: "Disallow using `shareReplay({ refCount: false })` before `takeUntil`.";
164
166
  recommended: "strict";
165
167
  }, TSESLint.RuleListener>;
@@ -350,6 +352,7 @@ declare const rxjsX: {
350
352
  meta: {
351
353
  name: string;
352
354
  version: string;
355
+ namespace: string;
353
356
  };
354
357
  /** Compatibility with `defineConfig` until https://github.com/typescript-eslint/typescript-eslint/issues/11543 is addressed. */
355
358
  rules: { [K in keyof typeof allRules]: (typeof allRules)[K] & Rule.RuleModule; };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// package.json
2
2
  var name = "eslint-plugin-rxjs-x";
3
- var version = "0.8.2";
3
+ var version = "0.8.4";
4
4
 
5
5
  // src/configs/recommended.ts
6
6
  var createRecommendedConfig = (plugin2) => ({
@@ -2839,29 +2839,39 @@ var noSharereplayRule = ruleCreator({
2839
2839
  });
2840
2840
 
2841
2841
  // src/rules/no-sharereplay-before-takeuntil.ts
2842
+ var defaultOptions11 = [];
2842
2843
  var noSharereplayBeforeTakeuntilRule = ruleCreator({
2843
- defaultOptions: [],
2844
+ defaultOptions: defaultOptions11,
2844
2845
  meta: {
2845
2846
  docs: {
2846
2847
  description: "Disallow using `shareReplay({ refCount: false })` before `takeUntil`.",
2847
2848
  recommended: "strict"
2848
2849
  },
2849
2850
  messages: {
2850
- forbidden: "shareReplay before takeUntil is forbidden unless 'refCount: true' is specified."
2851
+ forbidden: "shareReplay before '{{takeUntilAlias}}' is forbidden unless 'refCount: true' is specified."
2851
2852
  },
2852
- schema: [],
2853
+ schema: [{
2854
+ properties: {
2855
+ takeUntilAlias: { type: "array", description: "List of operators to treat as takeUntil.", default: ["takeUntilDestroyed"] }
2856
+ },
2857
+ type: "object"
2858
+ }],
2853
2859
  type: "problem"
2854
2860
  },
2855
2861
  name: "no-sharereplay-before-takeuntil",
2856
2862
  create: (context) => {
2863
+ const [config = {}] = context.options;
2864
+ const { takeUntilAlias = ["takeUntilDestroyed"] } = config;
2857
2865
  function checkCallExpression(node) {
2858
2866
  const pipeCallExpression = node.parent;
2859
2867
  if (!pipeCallExpression.arguments || !isMemberExpression(pipeCallExpression.callee) || !isIdentifier(pipeCallExpression.callee.property) || pipeCallExpression.callee.property.name !== "pipe") {
2860
2868
  return;
2861
2869
  }
2870
+ const allTakeUntilAlias = ["takeUntil", ...takeUntilAlias];
2871
+ const takeUntilRegex = new RegExp(`^(${allTakeUntilAlias.join("|")})$`);
2862
2872
  const { isOrderValid, operatorNode: takeUntilNode } = findIsLastOperatorOrderValid(
2863
2873
  pipeCallExpression,
2864
- /^takeUntil$/,
2874
+ takeUntilRegex,
2865
2875
  DEFAULT_VALID_POST_COMPLETION_OPERATORS
2866
2876
  );
2867
2877
  if (!isOrderValid || !takeUntilNode) {
@@ -2874,6 +2884,7 @@ var noSharereplayBeforeTakeuntilRule = ruleCreator({
2874
2884
  if (!shareReplayConfig || !isObjectExpression(shareReplayConfig)) {
2875
2885
  context.report({
2876
2886
  messageId: "forbidden",
2887
+ data: { takeUntilAlias: isIdentifier(takeUntilNode) ? takeUntilNode.name : "takeUntil" },
2877
2888
  node: node.callee
2878
2889
  });
2879
2890
  return;
@@ -2882,6 +2893,7 @@ var noSharereplayBeforeTakeuntilRule = ruleCreator({
2882
2893
  if (!refCountElement || isLiteral(refCountElement.value) && refCountElement.value.value === false) {
2883
2894
  context.report({
2884
2895
  messageId: "forbidden",
2896
+ data: { takeUntilAlias: isIdentifier(takeUntilNode) ? takeUntilNode.name : "takeUntil" },
2885
2897
  node: node.callee
2886
2898
  });
2887
2899
  }
@@ -3232,9 +3244,9 @@ import { ${functionName} } from ${quote}rxjs${quote};`
3232
3244
 
3233
3245
  // src/rules/no-unbound-methods.ts
3234
3246
 
3235
- var defaultOptions11 = [];
3247
+ var defaultOptions12 = [];
3236
3248
  var noUnboundMethodsRule = ruleCreator({
3237
- defaultOptions: defaultOptions11,
3249
+ defaultOptions: defaultOptions12,
3238
3250
  meta: {
3239
3251
  docs: {
3240
3252
  description: "Disallow passing unbound methods.",
@@ -3397,9 +3409,9 @@ var noUnnecessaryCollectionRule = ruleCreator({
3397
3409
 
3398
3410
  // src/rules/no-unsafe-catch.ts
3399
3411
 
3400
- var defaultOptions12 = [];
3412
+ var defaultOptions13 = [];
3401
3413
  var noUnsafeCatchRule = ruleCreator({
3402
- defaultOptions: defaultOptions12,
3414
+ defaultOptions: defaultOptions13,
3403
3415
  meta: {
3404
3416
  docs: {
3405
3417
  description: "Disallow unsafe `catchError` usage in effects and epics.",
@@ -3458,9 +3470,9 @@ var noUnsafeCatchRule = ruleCreator({
3458
3470
 
3459
3471
  // src/rules/no-unsafe-first.ts
3460
3472
 
3461
- var defaultOptions13 = [];
3473
+ var defaultOptions14 = [];
3462
3474
  var noUnsafeFirstRule = ruleCreator({
3463
- defaultOptions: defaultOptions13,
3475
+ defaultOptions: defaultOptions14,
3464
3476
  meta: {
3465
3477
  docs: {
3466
3478
  description: "Disallow unsafe `first`/`take` usage in effects and epics.",
@@ -3582,9 +3594,9 @@ var noUnsafeSubjectNext = ruleCreator({
3582
3594
  // src/rules/no-unsafe-switchmap.ts
3583
3595
 
3584
3596
  var _decamelize = require('decamelize'); var _decamelize2 = _interopRequireDefault(_decamelize);
3585
- var defaultOptions14 = [];
3597
+ var defaultOptions15 = [];
3586
3598
  var noUnsafeSwitchmapRule = ruleCreator({
3587
- defaultOptions: defaultOptions14,
3599
+ defaultOptions: defaultOptions15,
3588
3600
  meta: {
3589
3601
  docs: {
3590
3602
  description: "Disallow unsafe `switchMap` usage in effects and epics.",
@@ -3707,9 +3719,9 @@ var noUnsafeSwitchmapRule = ruleCreator({
3707
3719
 
3708
3720
  // src/rules/no-unsafe-takeuntil.ts
3709
3721
 
3710
- var defaultOptions15 = [];
3722
+ var defaultOptions16 = [];
3711
3723
  var noUnsafeTakeuntilRule = ruleCreator({
3712
- defaultOptions: defaultOptions15,
3724
+ defaultOptions: defaultOptions16,
3713
3725
  meta: {
3714
3726
  docs: {
3715
3727
  description: "Disallow applying operators after `takeUntil`.",
@@ -3770,9 +3782,9 @@ var noUnsafeTakeuntilRule = ruleCreator({
3770
3782
  });
3771
3783
 
3772
3784
  // src/rules/prefer-observer.ts
3773
- var defaultOptions16 = [];
3785
+ var defaultOptions17 = [];
3774
3786
  var preferObserverRule = ruleCreator({
3775
- defaultOptions: defaultOptions16,
3787
+ defaultOptions: defaultOptions17,
3776
3788
  meta: {
3777
3789
  docs: {
3778
3790
  description: "Disallow passing separate handlers to `subscribe` and `tap`.",
@@ -4008,9 +4020,9 @@ var preferRootOperatorsRule = ruleCreator({
4008
4020
 
4009
4021
  // src/rules/suffix-subjects.ts
4010
4022
 
4011
- var defaultOptions17 = [];
4023
+ var defaultOptions18 = [];
4012
4024
  var suffixSubjectsRule = ruleCreator({
4013
- defaultOptions: defaultOptions17,
4025
+ defaultOptions: defaultOptions18,
4014
4026
  meta: {
4015
4027
  docs: {
4016
4028
  description: "Enforce the use of a suffix in subject identifiers.",
@@ -4207,9 +4219,9 @@ var suffixSubjectsRule = ruleCreator({
4207
4219
  // src/rules/throw-error.ts
4208
4220
 
4209
4221
 
4210
- var defaultOptions18 = [];
4222
+ var defaultOptions19 = [];
4211
4223
  var throwErrorRule = ruleCreator({
4212
- defaultOptions: defaultOptions18,
4224
+ defaultOptions: defaultOptions19,
4213
4225
  meta: {
4214
4226
  docs: {
4215
4227
  description: "Enforce passing only `Error` values to `throwError` or `Subject.error`.",
@@ -4339,7 +4351,11 @@ var allRules = {
4339
4351
  "throw-error": throwErrorRule
4340
4352
  };
4341
4353
  var plugin = {
4342
- meta: { name, version },
4354
+ meta: {
4355
+ name,
4356
+ version,
4357
+ namespace: "rxjs-x"
4358
+ },
4343
4359
  /** Compatibility with `defineConfig` until https://github.com/typescript-eslint/typescript-eslint/issues/11543 is addressed. */
4344
4360
  rules: allRules
4345
4361
  };
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  // package.json
2
2
  var name = "eslint-plugin-rxjs-x";
3
- var version = "0.8.2";
3
+ var version = "0.8.4";
4
4
 
5
5
  // src/configs/recommended.ts
6
6
  var createRecommendedConfig = (plugin2) => ({
@@ -2839,29 +2839,39 @@ var noSharereplayRule = ruleCreator({
2839
2839
  });
2840
2840
 
2841
2841
  // src/rules/no-sharereplay-before-takeuntil.ts
2842
+ var defaultOptions11 = [];
2842
2843
  var noSharereplayBeforeTakeuntilRule = ruleCreator({
2843
- defaultOptions: [],
2844
+ defaultOptions: defaultOptions11,
2844
2845
  meta: {
2845
2846
  docs: {
2846
2847
  description: "Disallow using `shareReplay({ refCount: false })` before `takeUntil`.",
2847
2848
  recommended: "strict"
2848
2849
  },
2849
2850
  messages: {
2850
- forbidden: "shareReplay before takeUntil is forbidden unless 'refCount: true' is specified."
2851
+ forbidden: "shareReplay before '{{takeUntilAlias}}' is forbidden unless 'refCount: true' is specified."
2851
2852
  },
2852
- schema: [],
2853
+ schema: [{
2854
+ properties: {
2855
+ takeUntilAlias: { type: "array", description: "List of operators to treat as takeUntil.", default: ["takeUntilDestroyed"] }
2856
+ },
2857
+ type: "object"
2858
+ }],
2853
2859
  type: "problem"
2854
2860
  },
2855
2861
  name: "no-sharereplay-before-takeuntil",
2856
2862
  create: (context) => {
2863
+ const [config = {}] = context.options;
2864
+ const { takeUntilAlias = ["takeUntilDestroyed"] } = config;
2857
2865
  function checkCallExpression(node) {
2858
2866
  const pipeCallExpression = node.parent;
2859
2867
  if (!pipeCallExpression.arguments || !isMemberExpression(pipeCallExpression.callee) || !isIdentifier(pipeCallExpression.callee.property) || pipeCallExpression.callee.property.name !== "pipe") {
2860
2868
  return;
2861
2869
  }
2870
+ const allTakeUntilAlias = ["takeUntil", ...takeUntilAlias];
2871
+ const takeUntilRegex = new RegExp(`^(${allTakeUntilAlias.join("|")})$`);
2862
2872
  const { isOrderValid, operatorNode: takeUntilNode } = findIsLastOperatorOrderValid(
2863
2873
  pipeCallExpression,
2864
- /^takeUntil$/,
2874
+ takeUntilRegex,
2865
2875
  DEFAULT_VALID_POST_COMPLETION_OPERATORS
2866
2876
  );
2867
2877
  if (!isOrderValid || !takeUntilNode) {
@@ -2874,6 +2884,7 @@ var noSharereplayBeforeTakeuntilRule = ruleCreator({
2874
2884
  if (!shareReplayConfig || !isObjectExpression(shareReplayConfig)) {
2875
2885
  context.report({
2876
2886
  messageId: "forbidden",
2887
+ data: { takeUntilAlias: isIdentifier(takeUntilNode) ? takeUntilNode.name : "takeUntil" },
2877
2888
  node: node.callee
2878
2889
  });
2879
2890
  return;
@@ -2882,6 +2893,7 @@ var noSharereplayBeforeTakeuntilRule = ruleCreator({
2882
2893
  if (!refCountElement || isLiteral(refCountElement.value) && refCountElement.value.value === false) {
2883
2894
  context.report({
2884
2895
  messageId: "forbidden",
2896
+ data: { takeUntilAlias: isIdentifier(takeUntilNode) ? takeUntilNode.name : "takeUntil" },
2885
2897
  node: node.callee
2886
2898
  });
2887
2899
  }
@@ -3232,9 +3244,9 @@ import { ${functionName} } from ${quote}rxjs${quote};`
3232
3244
 
3233
3245
  // src/rules/no-unbound-methods.ts
3234
3246
  import { ESLintUtils as ESLintUtils9 } from "@typescript-eslint/utils";
3235
- var defaultOptions11 = [];
3247
+ var defaultOptions12 = [];
3236
3248
  var noUnboundMethodsRule = ruleCreator({
3237
- defaultOptions: defaultOptions11,
3249
+ defaultOptions: defaultOptions12,
3238
3250
  meta: {
3239
3251
  docs: {
3240
3252
  description: "Disallow passing unbound methods.",
@@ -3397,9 +3409,9 @@ var noUnnecessaryCollectionRule = ruleCreator({
3397
3409
 
3398
3410
  // src/rules/no-unsafe-catch.ts
3399
3411
  import { stripIndent as stripIndent5 } from "common-tags";
3400
- var defaultOptions12 = [];
3412
+ var defaultOptions13 = [];
3401
3413
  var noUnsafeCatchRule = ruleCreator({
3402
- defaultOptions: defaultOptions12,
3414
+ defaultOptions: defaultOptions13,
3403
3415
  meta: {
3404
3416
  docs: {
3405
3417
  description: "Disallow unsafe `catchError` usage in effects and epics.",
@@ -3458,9 +3470,9 @@ var noUnsafeCatchRule = ruleCreator({
3458
3470
 
3459
3471
  // src/rules/no-unsafe-first.ts
3460
3472
  import { stripIndent as stripIndent6 } from "common-tags";
3461
- var defaultOptions13 = [];
3473
+ var defaultOptions14 = [];
3462
3474
  var noUnsafeFirstRule = ruleCreator({
3463
- defaultOptions: defaultOptions13,
3475
+ defaultOptions: defaultOptions14,
3464
3476
  meta: {
3465
3477
  docs: {
3466
3478
  description: "Disallow unsafe `first`/`take` usage in effects and epics.",
@@ -3582,9 +3594,9 @@ var noUnsafeSubjectNext = ruleCreator({
3582
3594
  // src/rules/no-unsafe-switchmap.ts
3583
3595
  import { stripIndent as stripIndent7 } from "common-tags";
3584
3596
  import decamelize from "decamelize";
3585
- var defaultOptions14 = [];
3597
+ var defaultOptions15 = [];
3586
3598
  var noUnsafeSwitchmapRule = ruleCreator({
3587
- defaultOptions: defaultOptions14,
3599
+ defaultOptions: defaultOptions15,
3588
3600
  meta: {
3589
3601
  docs: {
3590
3602
  description: "Disallow unsafe `switchMap` usage in effects and epics.",
@@ -3707,9 +3719,9 @@ var noUnsafeSwitchmapRule = ruleCreator({
3707
3719
 
3708
3720
  // src/rules/no-unsafe-takeuntil.ts
3709
3721
  import { stripIndent as stripIndent8 } from "common-tags";
3710
- var defaultOptions15 = [];
3722
+ var defaultOptions16 = [];
3711
3723
  var noUnsafeTakeuntilRule = ruleCreator({
3712
- defaultOptions: defaultOptions15,
3724
+ defaultOptions: defaultOptions16,
3713
3725
  meta: {
3714
3726
  docs: {
3715
3727
  description: "Disallow applying operators after `takeUntil`.",
@@ -3770,9 +3782,9 @@ var noUnsafeTakeuntilRule = ruleCreator({
3770
3782
  });
3771
3783
 
3772
3784
  // src/rules/prefer-observer.ts
3773
- var defaultOptions16 = [];
3785
+ var defaultOptions17 = [];
3774
3786
  var preferObserverRule = ruleCreator({
3775
- defaultOptions: defaultOptions16,
3787
+ defaultOptions: defaultOptions17,
3776
3788
  meta: {
3777
3789
  docs: {
3778
3790
  description: "Disallow passing separate handlers to `subscribe` and `tap`.",
@@ -4008,9 +4020,9 @@ var preferRootOperatorsRule = ruleCreator({
4008
4020
 
4009
4021
  // src/rules/suffix-subjects.ts
4010
4022
  import { AST_NODE_TYPES as AST_NODE_TYPES9, ESLintUtils as ESLintUtils11 } from "@typescript-eslint/utils";
4011
- var defaultOptions17 = [];
4023
+ var defaultOptions18 = [];
4012
4024
  var suffixSubjectsRule = ruleCreator({
4013
- defaultOptions: defaultOptions17,
4025
+ defaultOptions: defaultOptions18,
4014
4026
  meta: {
4015
4027
  docs: {
4016
4028
  description: "Enforce the use of a suffix in subject identifiers.",
@@ -4207,9 +4219,9 @@ var suffixSubjectsRule = ruleCreator({
4207
4219
  // src/rules/throw-error.ts
4208
4220
  import { ESLintUtils as ESLintUtils12 } from "@typescript-eslint/utils";
4209
4221
  import * as tsutils4 from "ts-api-utils";
4210
- var defaultOptions18 = [];
4222
+ var defaultOptions19 = [];
4211
4223
  var throwErrorRule = ruleCreator({
4212
- defaultOptions: defaultOptions18,
4224
+ defaultOptions: defaultOptions19,
4213
4225
  meta: {
4214
4226
  docs: {
4215
4227
  description: "Enforce passing only `Error` values to `throwError` or `Subject.error`.",
@@ -4339,7 +4351,11 @@ var allRules = {
4339
4351
  "throw-error": throwErrorRule
4340
4352
  };
4341
4353
  var plugin = {
4342
- meta: { name, version },
4354
+ meta: {
4355
+ name,
4356
+ version,
4357
+ namespace: "rxjs-x"
4358
+ },
4343
4359
  /** Compatibility with `defineConfig` until https://github.com/typescript-eslint/typescript-eslint/issues/11543 is addressed. */
4344
4360
  rules: allRules
4345
4361
  };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "eslint-plugin-rxjs-x",
3
3
  "type": "commonjs",
4
- "version": "0.8.2",
5
- "packageManager": "yarn@4.10.3+sha512.c38cafb5c7bb273f3926d04e55e1d8c9dfa7d9c3ea1f36a4868fa028b9e5f72298f0b7f401ad5eb921749eb012eb1c3bb74bf7503df3ee43fd600d14a018266f",
6
- "description": "ESLint v9+ plugin for RxJS",
4
+ "version": "0.8.4",
5
+ "packageManager": "yarn@4.12.0+sha512.f45ab632439a67f8bc759bf32ead036a1f413287b9042726b7cc4818b7b49e14e9423ba49b18f9e06ea4941c1ad062385b1d8760a8d5091a1a31e5f6219afca8",
6
+ "description": "Modern ESLint plugin for RxJS",
7
7
  "author": "Jason Weinzierl <weinzierljason@gmail.com>",
8
8
  "license": "MIT",
9
9
  "homepage": "https://github.com/JasonWeinzierl/eslint-plugin-rxjs-x",
@@ -11,6 +11,10 @@
11
11
  "type": "git",
12
12
  "url": "git+https://github.com/JasonWeinzierl/eslint-plugin-rxjs-x.git"
13
13
  },
14
+ "publishConfig": {
15
+ "provenance": true,
16
+ "registry": "https://registry.npmjs.org"
17
+ },
14
18
  "bugs": {
15
19
  "url": "https://github.com/JasonWeinzierl/eslint-plugin-rxjs-x/issues"
16
20
  },
@@ -72,29 +76,28 @@
72
76
  }
73
77
  },
74
78
  "devDependencies": {
75
- "@eslint/config-helpers": "0.4.1",
76
- "@eslint/js": "^9.38.0",
77
- "@stylistic/eslint-plugin": "^5.5.0",
79
+ "@eslint/js": "^9.39.2",
80
+ "@stylistic/eslint-plugin": "^5.6.1",
78
81
  "@types/common-tags": "^1.8.4",
79
82
  "@types/node": "~18.18.0",
80
- "@typescript-eslint/rule-tester": "^8.46.2",
83
+ "@typescript-eslint/rule-tester": "^8.51.0",
81
84
  "@typescript/vfs": "^1.6.2",
82
85
  "@vitest/coverage-v8": "^3.2.4",
83
86
  "@vitest/eslint-plugin": "^1.4.0",
84
- "bumpp": "^10.3.1",
85
- "eslint": "^9.38.0",
87
+ "bumpp": "^10.3.2",
88
+ "eslint": "^9.39.2",
86
89
  "eslint-config-flat-gitignore": "^2.1.0",
87
- "eslint-doc-generator": "~2.2.2",
90
+ "eslint-doc-generator": "^2.4.0",
88
91
  "eslint-import-resolver-typescript": "^4.4.4",
89
92
  "eslint-plugin-eslint-plugin": "^7.2.0",
90
93
  "eslint-plugin-import-x": "^4.16.1",
91
94
  "eslint-plugin-n": "^17.23.1",
92
- "markdownlint-cli2": "^0.18.1",
95
+ "markdownlint-cli2": "~0.19.0",
93
96
  "rxjs": "^7.8.2",
94
- "tsup": "^8.5.0",
97
+ "tsup": "8.5.0",
95
98
  "typescript": "~5.8.3",
96
- "typescript-eslint": "^8.46.2",
97
- "vite": "^6.3.5",
99
+ "typescript-eslint": "^8.51.0",
100
+ "vite": "^6.4.1",
98
101
  "vitest": "^3.2.4"
99
102
  },
100
103
  "engines": {