@fedify/lint 2.5.0-dev.2516 → 2.5.0-dev.2541

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
@@ -142,6 +142,22 @@ gateway-compatible IDs.
142
142
  calls `sendActivity` or `forwardActivity` and does not wait for the result
143
143
  (ESLint and Oxlint only)
144
144
 
145
+ ### Deprecation rules
146
+
147
+ - **`deno-kv-store-deprecated`**: Warns when the deprecated `DenoKvStore`
148
+ from *@fedify/denokv* is imported or used
149
+ - **`deno-kv-message-queue-deprecated`**: Warns when the deprecated
150
+ `DenoKvMessageQueue` from *@fedify/denokv* is imported or used
151
+
152
+ `@fedify/denokv` is deprecated since Fedify 2.5.0 and will be removed in
153
+ Fedify 3.0.0. The ESLint recommended configuration enables these rules as
154
+ warnings. Oxlint has no preset, so enable them explicitly with `"warn"`.
155
+ Deno Lint has no warning level and reports every plugin rule as an error; see
156
+ the [linting manual] for how to exclude them with
157
+ `rules.exclude`.
158
+
159
+ [linting manual]: https://fedify.dev/manual/lint#turning-rules-off
160
+
145
161
 
146
162
  Installation
147
163
  ------------
@@ -273,7 +289,9 @@ Add the plugin and the rules you want to enable to your *.oxlintrc.json*:
273
289
  "jsPlugins": ["@fedify/lint/oxlint"],
274
290
  "rules": {
275
291
  "@fedify/lint/actor-id-required": "error",
276
- "@fedify/lint/actor-id-mismatch": "error"
292
+ "@fedify/lint/actor-id-mismatch": "error",
293
+ "@fedify/lint/deno-kv-store-deprecated": "warn",
294
+ "@fedify/lint/deno-kv-message-queue-deprecated": "warn"
277
295
  }
278
296
  }
279
297
  ~~~~
@@ -399,8 +417,6 @@ plugin name `fedify-lint` as the prefix:
399
417
  `rules.tags` and `rules.include` apply to Deno's built-in rules, not plugin
400
418
  rules. See the [linting manual] for more details.
401
419
 
402
- [linting manual]: https://fedify.dev/manual/lint#turning-rules-off
403
-
404
420
  ### Running Deno Lint
405
421
 
406
422
  After setting up the configuration, run Deno's linter:
package/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fedify/lint",
3
- "version": "2.5.0-dev.2516+42d3ed0b",
3
+ "version": "2.5.0-dev.2541+d39a2437",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": "./src/mod.ts",
package/dist/index.cjs CHANGED
@@ -24,7 +24,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  enumerable: true
25
25
  }) : target, mod));
26
26
  //#endregion
27
- const require_outbox_listener_delivery_required = require("./outbox-listener-delivery-required-CVg_osKa.cjs");
27
+ const require_outbox_listener_delivery_required = require("./outbox-listener-delivery-required-yvQhmuwt.cjs");
28
28
  let _fxts_core = require("@fxts/core");
29
29
  let _typescript_eslint_parser = require("@typescript-eslint/parser");
30
30
  _typescript_eslint_parser = __toESM(_typescript_eslint_parser, 1);
@@ -34,34 +34,36 @@ _typescript_eslint_parser = __toESM(_typescript_eslint_parser, 1);
34
34
  * Provides lint rules for validating Fedify federation code.
35
35
  */
36
36
  const rules = {
37
- [require_outbox_listener_delivery_required.RULE_IDS.actorIdMismatch]: require_outbox_listener_delivery_required.eslint$18,
38
- [require_outbox_listener_delivery_required.RULE_IDS.actorIdRequired]: require_outbox_listener_delivery_required.eslint$17,
39
- [require_outbox_listener_delivery_required.RULE_IDS.actorFollowingPropertyRequired]: require_outbox_listener_delivery_required.eslint$19,
40
- [require_outbox_listener_delivery_required.RULE_IDS.actorFollowingPropertyMismatch]: require_outbox_listener_delivery_required.eslint$20,
41
- [require_outbox_listener_delivery_required.RULE_IDS.actorFollowersPropertyRequired]: require_outbox_listener_delivery_required.eslint$21,
42
- [require_outbox_listener_delivery_required.RULE_IDS.actorFollowersPropertyMismatch]: require_outbox_listener_delivery_required.eslint$22,
43
- [require_outbox_listener_delivery_required.RULE_IDS.actorOutboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$11,
44
- [require_outbox_listener_delivery_required.RULE_IDS.actorOutboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$12,
45
- [require_outbox_listener_delivery_required.RULE_IDS.actorLikedPropertyRequired]: require_outbox_listener_delivery_required.eslint$13,
46
- [require_outbox_listener_delivery_required.RULE_IDS.actorLikedPropertyMismatch]: require_outbox_listener_delivery_required.eslint$14,
47
- [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedPropertyRequired]: require_outbox_listener_delivery_required.eslint$25,
48
- [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedPropertyMismatch]: require_outbox_listener_delivery_required.eslint$26,
49
- [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedTagsPropertyRequired]: require_outbox_listener_delivery_required.eslint$23,
50
- [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedTagsPropertyMismatch]: require_outbox_listener_delivery_required.eslint$24,
51
- [require_outbox_listener_delivery_required.RULE_IDS.actorInboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$15,
52
- [require_outbox_listener_delivery_required.RULE_IDS.actorInboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$16,
53
- [require_outbox_listener_delivery_required.RULE_IDS.actorSharedInboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$7,
54
- [require_outbox_listener_delivery_required.RULE_IDS.actorSharedInboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$8,
55
- [require_outbox_listener_delivery_required.RULE_IDS.actorUploadMediaPropertyRequired]: require_outbox_listener_delivery_required.eslint$5,
56
- [require_outbox_listener_delivery_required.RULE_IDS.actorUploadMediaPropertyMismatch]: require_outbox_listener_delivery_required.eslint$6,
57
- [require_outbox_listener_delivery_required.RULE_IDS.actorPublicKeyRequired]: require_outbox_listener_delivery_required.eslint$9,
58
- [require_outbox_listener_delivery_required.RULE_IDS.actorAssertionMethodRequired]: require_outbox_listener_delivery_required.eslint$27,
59
- [require_outbox_listener_delivery_required.RULE_IDS.actorPreferredUsernameRequired]: require_outbox_listener_delivery_required.eslint$10,
60
- [require_outbox_listener_delivery_required.RULE_IDS.collectionFilteringNotImplemented]: require_outbox_listener_delivery_required.eslint$4,
37
+ [require_outbox_listener_delivery_required.RULE_IDS.actorIdMismatch]: require_outbox_listener_delivery_required.eslint$20,
38
+ [require_outbox_listener_delivery_required.RULE_IDS.actorIdRequired]: require_outbox_listener_delivery_required.eslint$19,
39
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFollowingPropertyRequired]: require_outbox_listener_delivery_required.eslint$21,
40
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFollowingPropertyMismatch]: require_outbox_listener_delivery_required.eslint$22,
41
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFollowersPropertyRequired]: require_outbox_listener_delivery_required.eslint$23,
42
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFollowersPropertyMismatch]: require_outbox_listener_delivery_required.eslint$24,
43
+ [require_outbox_listener_delivery_required.RULE_IDS.actorOutboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$13,
44
+ [require_outbox_listener_delivery_required.RULE_IDS.actorOutboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$14,
45
+ [require_outbox_listener_delivery_required.RULE_IDS.actorLikedPropertyRequired]: require_outbox_listener_delivery_required.eslint$15,
46
+ [require_outbox_listener_delivery_required.RULE_IDS.actorLikedPropertyMismatch]: require_outbox_listener_delivery_required.eslint$16,
47
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedPropertyRequired]: require_outbox_listener_delivery_required.eslint$27,
48
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedPropertyMismatch]: require_outbox_listener_delivery_required.eslint$28,
49
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedTagsPropertyRequired]: require_outbox_listener_delivery_required.eslint$25,
50
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedTagsPropertyMismatch]: require_outbox_listener_delivery_required.eslint$26,
51
+ [require_outbox_listener_delivery_required.RULE_IDS.actorInboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$17,
52
+ [require_outbox_listener_delivery_required.RULE_IDS.actorInboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$18,
53
+ [require_outbox_listener_delivery_required.RULE_IDS.actorSharedInboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$9,
54
+ [require_outbox_listener_delivery_required.RULE_IDS.actorSharedInboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$10,
55
+ [require_outbox_listener_delivery_required.RULE_IDS.actorUploadMediaPropertyRequired]: require_outbox_listener_delivery_required.eslint$7,
56
+ [require_outbox_listener_delivery_required.RULE_IDS.actorUploadMediaPropertyMismatch]: require_outbox_listener_delivery_required.eslint$8,
57
+ [require_outbox_listener_delivery_required.RULE_IDS.actorPublicKeyRequired]: require_outbox_listener_delivery_required.eslint$11,
58
+ [require_outbox_listener_delivery_required.RULE_IDS.actorAssertionMethodRequired]: require_outbox_listener_delivery_required.eslint$29,
59
+ [require_outbox_listener_delivery_required.RULE_IDS.actorPreferredUsernameRequired]: require_outbox_listener_delivery_required.eslint$12,
60
+ [require_outbox_listener_delivery_required.RULE_IDS.collectionFilteringNotImplemented]: require_outbox_listener_delivery_required.eslint$6,
61
61
  [require_outbox_listener_delivery_required.RULE_IDS.outboxListenerDeliveryRequired]: require_outbox_listener_delivery_required.eslint,
62
62
  [require_outbox_listener_delivery_required.RULE_IDS.outboxListenerDeliveryNotAwaited]: require_outbox_listener_delivery_required.eslint$1,
63
63
  [require_outbox_listener_delivery_required.RULE_IDS.mediaUploaderObjectUriRequired]: require_outbox_listener_delivery_required.eslint$2,
64
- [require_outbox_listener_delivery_required.RULE_IDS.mediaUploaderAuthorizationRequired]: require_outbox_listener_delivery_required.eslint$3
64
+ [require_outbox_listener_delivery_required.RULE_IDS.mediaUploaderAuthorizationRequired]: require_outbox_listener_delivery_required.eslint$3,
65
+ [require_outbox_listener_delivery_required.RULE_IDS.denoKvStoreDeprecated]: require_outbox_listener_delivery_required.eslint$4,
66
+ [require_outbox_listener_delivery_required.RULE_IDS.denoKvMessageQueueDeprecated]: require_outbox_listener_delivery_required.eslint$5
65
67
  };
66
68
  const recommendedRuleIds = [require_outbox_listener_delivery_required.RULE_IDS.actorIdMismatch, require_outbox_listener_delivery_required.RULE_IDS.actorIdRequired];
67
69
  /**
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as name, C as eslint$5, D as eslint$11, E as eslint$10, O as eslint$21, S as eslint$4, T as eslint$13, _ as eslint$15, a as eslint$23, b as eslint$2, c as eslint$16, d as eslint$22, f as eslint$6, g as eslint$14, h as eslint$9, i as eslint$27, j as version, k as RULE_IDS, l as eslint$17, m as eslint$8, n as eslint$25, o as eslint$18, p as eslint$7, r as eslint$26, s as eslint$19, t as eslint$24, u as eslint$20, v as eslint$1, w as eslint$12, x as eslint$3, y as eslint } from "./outbox-listener-delivery-required-BPDw5H1U.js";
1
+ import { A as eslint$21, C as eslint$3, D as eslint$13, E as eslint$12, M as name, N as version, O as eslint$10, S as eslint$2, T as eslint$5, _ as eslint$9, a as eslint$28, b as eslint$1, c as eslint$18, d as eslint$17, f as eslint$20, g as eslint$8, h as eslint$7, i as eslint$27, j as RULE_IDS, k as eslint$11, l as eslint$19, m as eslint$6, n as eslint$25, o as eslint$29, p as eslint$22, r as eslint$26, s as eslint$23, t as eslint$24, u as eslint$16, v as eslint$14, w as eslint$4, x as eslint, y as eslint$15 } from "./outbox-listener-delivery-required-wzZRR9jI.js";
2
2
  import { fromEntries, keys, map, pipe } from "@fxts/core";
3
3
  import parser from "@typescript-eslint/parser";
4
4
  //#region src/index.ts
@@ -34,7 +34,9 @@ const rules = {
34
34
  [RULE_IDS.outboxListenerDeliveryRequired]: eslint$24,
35
35
  [RULE_IDS.outboxListenerDeliveryNotAwaited]: eslint$25,
36
36
  [RULE_IDS.mediaUploaderObjectUriRequired]: eslint$26,
37
- [RULE_IDS.mediaUploaderAuthorizationRequired]: eslint$27
37
+ [RULE_IDS.mediaUploaderAuthorizationRequired]: eslint$27,
38
+ [RULE_IDS.denoKvStoreDeprecated]: eslint$28,
39
+ [RULE_IDS.denoKvMessageQueueDeprecated]: eslint$29
38
40
  };
39
41
  const recommendedRuleIds = [RULE_IDS.actorIdMismatch, RULE_IDS.actorIdRequired];
40
42
  /**
@@ -1,7 +1,7 @@
1
1
  import { always, every, head, isEmpty, isObject, negate, pipe, pipeLazy, prop, some, toArray, unless, when } from "@fxts/core";
2
2
  //#region deno.json
3
3
  var name = "@fedify/lint";
4
- var version = "2.5.0-dev.2516+42d3ed0b";
4
+ var version = "2.5.0-dev.2541+d39a2437";
5
5
  //#endregion
6
6
  //#region src/lib/const.ts
7
7
  /**
@@ -151,7 +151,9 @@ const RULE_IDS = {
151
151
  outboxListenerDeliveryRequired: "outbox-listener-delivery-required",
152
152
  outboxListenerDeliveryNotAwaited: "outbox-listener-delivery-not-awaited",
153
153
  mediaUploaderObjectUriRequired: "media-uploader-object-uri-required",
154
- mediaUploaderAuthorizationRequired: "media-uploader-authorization-required"
154
+ mediaUploaderAuthorizationRequired: "media-uploader-authorization-required",
155
+ denoKvStoreDeprecated: "deno-kv-store-deprecated",
156
+ denoKvMessageQueueDeprecated: "deno-kv-message-queue-deprecated"
155
157
  };
156
158
  //#endregion
157
159
  //#region src/lib/messages.ts
@@ -187,6 +189,14 @@ const getExpectedCall = ({ ctxName, methodName, requiresIdentifier, idName }) =>
187
189
  * Error message for collection filtering not implemented.
188
190
  */
189
191
  const COLLECTION_FILTERING_NOT_IMPLEMENTED_ERROR = "Collection dispatcher should implement filtering to avoid large response payloads. Add a fourth parameter (filter) to handle filtering. See: https://fedify.dev/manual/collections#filtering-by-server";
192
+ /**
193
+ * Error message for the deno-kv-store-deprecated rule.
194
+ */
195
+ const DENO_KV_STORE_DEPRECATED = "`DenoKvStore` from `@fedify/denokv` is deprecated since Fedify 2.5.0 and will be removed in Fedify 3.0.0. Use `SqliteKvStore` from `@fedify/sqlite` for local or single-node deployments, or `PostgresKvStore`, `RedisKvStore`, `MysqlKvStore`, or `WorkersKvStore` for production. See https://github.com/fedify-dev/fedify/issues/1336 for the removal plan.";
196
+ /**
197
+ * Error message for the deno-kv-message-queue-deprecated rule.
198
+ */
199
+ const DENO_KV_MESSAGE_QUEUE_DEPRECATED = "`DenoKvMessageQueue` from `@fedify/denokv` is deprecated since Fedify 2.5.0 and will be removed in Fedify 3.0.0. Use `SqliteMessageQueue` from `@fedify/sqlite` for local or single-node deployments, or `PostgresMessageQueue`, `RedisMessageQueue`, `MysqlMessageQueue`, `AmqpMessageQueue`, or `WorkersMessageQueue` for production. See https://github.com/fedify-dev/fedify/issues/1336 for the removal plan.";
190
200
  //#endregion
191
201
  //#region src/lib/utils.ts
192
202
  const eq = (value) => (other) => value === other;
@@ -471,7 +481,7 @@ function createRequiredRuleEslint(config) {
471
481
  };
472
482
  }
473
483
  createRequiredRuleDeno(properties.assertionMethod);
474
- const eslint$27 = createRequiredRuleEslint(properties.assertionMethod);
484
+ const eslint$29 = createRequiredRuleEslint(properties.assertionMethod);
475
485
  //#endregion
476
486
  //#region src/lib/mismatch.ts
477
487
  const isIdentifierWithName = (name) => (node) => allOf(isNodeType("Identifier"), isNodeName(name))(node);
@@ -550,49 +560,49 @@ const createMismatchRuleEslint = (config) => ({
550
560
  }))
551
561
  });
552
562
  createMismatchRuleDeno(properties.featured);
553
- const eslint$26 = createMismatchRuleEslint(properties.featured);
563
+ const eslint$28 = createMismatchRuleEslint(properties.featured);
554
564
  createRequiredRuleDeno(properties.featured);
555
- const eslint$25 = createRequiredRuleEslint(properties.featured);
565
+ const eslint$27 = createRequiredRuleEslint(properties.featured);
556
566
  createMismatchRuleDeno(properties.featuredTags);
557
- const eslint$24 = createMismatchRuleEslint(properties.featuredTags);
567
+ const eslint$26 = createMismatchRuleEslint(properties.featuredTags);
558
568
  createRequiredRuleDeno(properties.featuredTags);
559
- const eslint$23 = createRequiredRuleEslint(properties.featuredTags);
569
+ const eslint$25 = createRequiredRuleEslint(properties.featuredTags);
560
570
  createMismatchRuleDeno(properties.followers);
561
- const eslint$22 = createMismatchRuleEslint(properties.followers);
571
+ const eslint$24 = createMismatchRuleEslint(properties.followers);
562
572
  createRequiredRuleDeno(properties.followers);
563
- const eslint$21 = createRequiredRuleEslint(properties.followers);
573
+ const eslint$23 = createRequiredRuleEslint(properties.followers);
564
574
  createMismatchRuleDeno(properties.following);
565
- const eslint$20 = createMismatchRuleEslint(properties.following);
575
+ const eslint$22 = createMismatchRuleEslint(properties.following);
566
576
  createRequiredRuleDeno(properties.following);
567
- const eslint$19 = createRequiredRuleEslint(properties.following);
577
+ const eslint$21 = createRequiredRuleEslint(properties.following);
568
578
  createMismatchRuleDeno(properties.id);
569
- const eslint$18 = createMismatchRuleEslint(properties.id);
579
+ const eslint$20 = createMismatchRuleEslint(properties.id);
570
580
  createRequiredRuleDeno(properties.id);
571
- const eslint$17 = createRequiredRuleEslint(properties.id);
581
+ const eslint$19 = createRequiredRuleEslint(properties.id);
572
582
  createMismatchRuleDeno(properties.inbox);
573
- const eslint$16 = createMismatchRuleEslint(properties.inbox);
583
+ const eslint$18 = createMismatchRuleEslint(properties.inbox);
574
584
  createRequiredRuleDeno(properties.inbox);
575
- const eslint$15 = createRequiredRuleEslint(properties.inbox);
585
+ const eslint$17 = createRequiredRuleEslint(properties.inbox);
576
586
  createMismatchRuleDeno(properties.liked);
577
- const eslint$14 = createMismatchRuleEslint(properties.liked);
587
+ const eslint$16 = createMismatchRuleEslint(properties.liked);
578
588
  createRequiredRuleDeno(properties.liked);
579
- const eslint$13 = createRequiredRuleEslint(properties.liked);
589
+ const eslint$15 = createRequiredRuleEslint(properties.liked);
580
590
  createMismatchRuleDeno(properties.outbox);
581
- const eslint$12 = createMismatchRuleEslint(properties.outbox);
591
+ const eslint$14 = createMismatchRuleEslint(properties.outbox);
582
592
  createRequiredRuleDeno(properties.outbox);
583
- const eslint$11 = createRequiredRuleEslint(properties.outbox);
593
+ const eslint$13 = createRequiredRuleEslint(properties.outbox);
584
594
  createRequiredRuleDeno(properties.preferredUsername);
585
- const eslint$10 = createRequiredRuleEslint(properties.preferredUsername);
595
+ const eslint$12 = createRequiredRuleEslint(properties.preferredUsername);
586
596
  createRequiredRuleDeno(properties.publicKey);
587
- const eslint$9 = createRequiredRuleEslint(properties.publicKey);
597
+ const eslint$11 = createRequiredRuleEslint(properties.publicKey);
588
598
  createMismatchRuleDeno(properties.sharedInbox);
589
- const eslint$8 = createMismatchRuleEslint(properties.sharedInbox);
599
+ const eslint$10 = createMismatchRuleEslint(properties.sharedInbox);
590
600
  createRequiredRuleDeno(properties.sharedInbox);
591
- const eslint$7 = createRequiredRuleEslint(properties.sharedInbox);
601
+ const eslint$9 = createRequiredRuleEslint(properties.sharedInbox);
592
602
  createMismatchRuleDeno(properties.uploadMedia);
593
- const eslint$6 = createMismatchRuleEslint(properties.uploadMedia);
603
+ const eslint$8 = createMismatchRuleEslint(properties.uploadMedia);
594
604
  createRequiredRuleDeno(properties.uploadMedia);
595
- const eslint$5 = createRequiredRuleEslint(properties.uploadMedia);
605
+ const eslint$7 = createRequiredRuleEslint(properties.uploadMedia);
596
606
  //#endregion
597
607
  //#region src/rules/collection-filtering-not-implemented.ts
598
608
  /**
@@ -611,7 +621,7 @@ const isFollowersDispatcherCall = (node) => "callee" in node && node.callee && n
611
621
  * CollectionDispatcher signature: (context, identifier, cursor, filter?) => ...
612
622
  */
613
623
  const hasFilterParameter = hasMinParams(4);
614
- const eslint$4 = {
624
+ const eslint$6 = {
615
625
  meta: {
616
626
  type: "suggestion",
617
627
  docs: { description: "Ensure followers dispatcher implements filtering" },
@@ -636,6 +646,103 @@ const eslint$4 = {
636
646
  }
637
647
  };
638
648
  //#endregion
649
+ //#region src/lib/deprecated-import.ts
650
+ /**
651
+ * Whether the given module specifier refers to `@fedify/denokv`, including
652
+ * versioned `jsr:` and `npm:` specifiers.
653
+ */
654
+ function isDenokvSpecifier(specifier) {
655
+ return /^(?:jsr:|npm:)?@fedify\/denokv(?:@[^/]+)?(?:\/.*)?$/.test(specifier);
656
+ }
657
+ function getSourceValue(node) {
658
+ const source = node.source;
659
+ if (source == null || typeof source !== "object") return null;
660
+ const value = source.value;
661
+ return typeof value === "string" ? value : null;
662
+ }
663
+ /**
664
+ * Returns the name of an `Identifier` or the value of a string `Literal`.
665
+ */
666
+ function getModuleName(node) {
667
+ if (node == null || typeof node !== "object") return null;
668
+ const type = node.type;
669
+ if (type === "Identifier") {
670
+ const name = node.name;
671
+ return typeof name === "string" ? name : null;
672
+ }
673
+ if (type === "Literal") {
674
+ const value = node.value;
675
+ return typeof value === "string" ? value : null;
676
+ }
677
+ return null;
678
+ }
679
+ /**
680
+ * Creates a rule that reports imports and re-exports of a deprecated class
681
+ * from `@fedify/denokv`.
682
+ *
683
+ * Named imports, aliases, `import type`, inline `{ type X }` imports, named
684
+ * re-exports, and namespace imports are covered. Dynamic `import()` calls and
685
+ * `export * from "@fedify/denokv"` are not. A namespace import is reported as
686
+ * a whole because the rule does not resolve which member the code uses; this
687
+ * keeps the rule free of scope-analysis false positives.
688
+ */
689
+ function createDenoKvDeprecationRule(className, message) {
690
+ return (context) => {
691
+ const report = (descriptor) => context.report(descriptor);
692
+ return {
693
+ ImportDeclaration(node) {
694
+ const source = getSourceValue(node);
695
+ if (source == null || !isDenokvSpecifier(source)) return;
696
+ const specifiers = node.specifiers;
697
+ if (!Array.isArray(specifiers)) return;
698
+ for (const specifier of specifiers) {
699
+ if (specifier == null || typeof specifier !== "object") continue;
700
+ const type = specifier.type;
701
+ if (type === "ImportSpecifier") {
702
+ if (getModuleName(specifier.imported) === className) report({
703
+ node: specifier,
704
+ message
705
+ });
706
+ } else if (type === "ImportNamespaceSpecifier") report({
707
+ node: specifier,
708
+ message
709
+ });
710
+ }
711
+ },
712
+ ExportNamedDeclaration(node) {
713
+ const source = getSourceValue(node);
714
+ if (source == null || !isDenokvSpecifier(source)) return;
715
+ const specifiers = node.specifiers;
716
+ if (!Array.isArray(specifiers)) return;
717
+ for (const specifier of specifiers) {
718
+ if (specifier == null || typeof specifier !== "object") continue;
719
+ if (specifier.type !== "ExportSpecifier") continue;
720
+ if (getModuleName(specifier.local) === className) report({
721
+ node: specifier,
722
+ message
723
+ });
724
+ }
725
+ }
726
+ };
727
+ };
728
+ }
729
+ const eslint$5 = {
730
+ meta: {
731
+ type: "suggestion",
732
+ docs: { description: "Warn when the deprecated `DenoKvMessageQueue` class from `@fedify/denokv` is used" },
733
+ schema: []
734
+ },
735
+ create: createDenoKvDeprecationRule("DenoKvMessageQueue", DENO_KV_MESSAGE_QUEUE_DEPRECATED)
736
+ };
737
+ const eslint$4 = {
738
+ meta: {
739
+ type: "suggestion",
740
+ docs: { description: "Warn when the deprecated `DenoKvStore` class from `@fedify/denokv` is used" },
741
+ schema: []
742
+ },
743
+ create: createDenoKvDeprecationRule("DenoKvStore", DENO_KV_STORE_DEPRECATED)
744
+ };
745
+ //#endregion
639
746
  //#region src/rules/media-uploader-authorization-required.ts
640
747
  const MESSAGE$3 = "setMediaUploader() should be protected with .authorize(); without it the endpoint accepts uploads from anyone who can reach the URL. Add .authorize() unless a public upload endpoint is intended.";
641
748
  function getParent$1(node) {
@@ -2518,4 +2625,4 @@ const eslint = {
2518
2625
  })
2519
2626
  };
2520
2627
  //#endregion
2521
- export { name as A, eslint$22 as C, eslint$26 as D, eslint$25 as E, eslint$27 as O, eslint$21 as S, eslint$24 as T, eslint$16 as _, eslint$4 as a, eslint$19 as b, eslint$7 as c, eslint$10 as d, eslint$11 as f, eslint$15 as g, eslint$14 as h, eslint$3 as i, version as j, RULE_IDS as k, eslint$8 as l, eslint$13 as m, eslint$1 as n, eslint$5 as o, eslint$12 as p, eslint$2 as r, eslint$6 as s, eslint as t, eslint$9 as u, eslint$17 as v, eslint$23 as w, eslint$20 as x, eslint$18 as y };
2628
+ export { eslint$29 as A, eslint$22 as C, eslint$26 as D, eslint$25 as E, name as M, version as N, eslint$27 as O, eslint$21 as S, eslint$24 as T, eslint$16 as _, eslint$4 as a, eslint$19 as b, eslint$7 as c, eslint$10 as d, eslint$11 as f, eslint$15 as g, eslint$14 as h, eslint$3 as i, RULE_IDS as j, eslint$28 as k, eslint$8 as l, eslint$13 as m, eslint$1 as n, eslint$5 as o, eslint$12 as p, eslint$2 as r, eslint$6 as s, eslint as t, eslint$9 as u, eslint$17 as v, eslint$23 as w, eslint$20 as x, eslint$18 as y };
@@ -1,7 +1,7 @@
1
1
  let _fxts_core = require("@fxts/core");
2
2
  //#region deno.json
3
3
  var name = "@fedify/lint";
4
- var version = "2.5.0-dev.2516+42d3ed0b";
4
+ var version = "2.5.0-dev.2541+d39a2437";
5
5
  //#endregion
6
6
  //#region src/lib/const.ts
7
7
  /**
@@ -151,7 +151,9 @@ const RULE_IDS = {
151
151
  outboxListenerDeliveryRequired: "outbox-listener-delivery-required",
152
152
  outboxListenerDeliveryNotAwaited: "outbox-listener-delivery-not-awaited",
153
153
  mediaUploaderObjectUriRequired: "media-uploader-object-uri-required",
154
- mediaUploaderAuthorizationRequired: "media-uploader-authorization-required"
154
+ mediaUploaderAuthorizationRequired: "media-uploader-authorization-required",
155
+ denoKvStoreDeprecated: "deno-kv-store-deprecated",
156
+ denoKvMessageQueueDeprecated: "deno-kv-message-queue-deprecated"
155
157
  };
156
158
  //#endregion
157
159
  //#region src/lib/messages.ts
@@ -187,6 +189,14 @@ const getExpectedCall = ({ ctxName, methodName, requiresIdentifier, idName }) =>
187
189
  * Error message for collection filtering not implemented.
188
190
  */
189
191
  const COLLECTION_FILTERING_NOT_IMPLEMENTED_ERROR = "Collection dispatcher should implement filtering to avoid large response payloads. Add a fourth parameter (filter) to handle filtering. See: https://fedify.dev/manual/collections#filtering-by-server";
192
+ /**
193
+ * Error message for the deno-kv-store-deprecated rule.
194
+ */
195
+ const DENO_KV_STORE_DEPRECATED = "`DenoKvStore` from `@fedify/denokv` is deprecated since Fedify 2.5.0 and will be removed in Fedify 3.0.0. Use `SqliteKvStore` from `@fedify/sqlite` for local or single-node deployments, or `PostgresKvStore`, `RedisKvStore`, `MysqlKvStore`, or `WorkersKvStore` for production. See https://github.com/fedify-dev/fedify/issues/1336 for the removal plan.";
196
+ /**
197
+ * Error message for the deno-kv-message-queue-deprecated rule.
198
+ */
199
+ const DENO_KV_MESSAGE_QUEUE_DEPRECATED = "`DenoKvMessageQueue` from `@fedify/denokv` is deprecated since Fedify 2.5.0 and will be removed in Fedify 3.0.0. Use `SqliteMessageQueue` from `@fedify/sqlite` for local or single-node deployments, or `PostgresMessageQueue`, `RedisMessageQueue`, `MysqlMessageQueue`, `AmqpMessageQueue`, or `WorkersMessageQueue` for production. See https://github.com/fedify-dev/fedify/issues/1336 for the removal plan.";
190
200
  //#endregion
191
201
  //#region src/lib/utils.ts
192
202
  const eq = (value) => (other) => value === other;
@@ -471,7 +481,7 @@ function createRequiredRuleEslint(config) {
471
481
  };
472
482
  }
473
483
  createRequiredRuleDeno(properties.assertionMethod);
474
- const eslint$27 = createRequiredRuleEslint(properties.assertionMethod);
484
+ const eslint$29 = createRequiredRuleEslint(properties.assertionMethod);
475
485
  //#endregion
476
486
  //#region src/lib/mismatch.ts
477
487
  const isIdentifierWithName = (name) => (node) => allOf(isNodeType("Identifier"), isNodeName(name))(node);
@@ -550,49 +560,49 @@ const createMismatchRuleEslint = (config) => ({
550
560
  }))
551
561
  });
552
562
  createMismatchRuleDeno(properties.featured);
553
- const eslint$26 = createMismatchRuleEslint(properties.featured);
563
+ const eslint$28 = createMismatchRuleEslint(properties.featured);
554
564
  createRequiredRuleDeno(properties.featured);
555
- const eslint$25 = createRequiredRuleEslint(properties.featured);
565
+ const eslint$27 = createRequiredRuleEslint(properties.featured);
556
566
  createMismatchRuleDeno(properties.featuredTags);
557
- const eslint$24 = createMismatchRuleEslint(properties.featuredTags);
567
+ const eslint$26 = createMismatchRuleEslint(properties.featuredTags);
558
568
  createRequiredRuleDeno(properties.featuredTags);
559
- const eslint$23 = createRequiredRuleEslint(properties.featuredTags);
569
+ const eslint$25 = createRequiredRuleEslint(properties.featuredTags);
560
570
  createMismatchRuleDeno(properties.followers);
561
- const eslint$22 = createMismatchRuleEslint(properties.followers);
571
+ const eslint$24 = createMismatchRuleEslint(properties.followers);
562
572
  createRequiredRuleDeno(properties.followers);
563
- const eslint$21 = createRequiredRuleEslint(properties.followers);
573
+ const eslint$23 = createRequiredRuleEslint(properties.followers);
564
574
  createMismatchRuleDeno(properties.following);
565
- const eslint$20 = createMismatchRuleEslint(properties.following);
575
+ const eslint$22 = createMismatchRuleEslint(properties.following);
566
576
  createRequiredRuleDeno(properties.following);
567
- const eslint$19 = createRequiredRuleEslint(properties.following);
577
+ const eslint$21 = createRequiredRuleEslint(properties.following);
568
578
  createMismatchRuleDeno(properties.id);
569
- const eslint$18 = createMismatchRuleEslint(properties.id);
579
+ const eslint$20 = createMismatchRuleEslint(properties.id);
570
580
  createRequiredRuleDeno(properties.id);
571
- const eslint$17 = createRequiredRuleEslint(properties.id);
581
+ const eslint$19 = createRequiredRuleEslint(properties.id);
572
582
  createMismatchRuleDeno(properties.inbox);
573
- const eslint$16 = createMismatchRuleEslint(properties.inbox);
583
+ const eslint$18 = createMismatchRuleEslint(properties.inbox);
574
584
  createRequiredRuleDeno(properties.inbox);
575
- const eslint$15 = createRequiredRuleEslint(properties.inbox);
585
+ const eslint$17 = createRequiredRuleEslint(properties.inbox);
576
586
  createMismatchRuleDeno(properties.liked);
577
- const eslint$14 = createMismatchRuleEslint(properties.liked);
587
+ const eslint$16 = createMismatchRuleEslint(properties.liked);
578
588
  createRequiredRuleDeno(properties.liked);
579
- const eslint$13 = createRequiredRuleEslint(properties.liked);
589
+ const eslint$15 = createRequiredRuleEslint(properties.liked);
580
590
  createMismatchRuleDeno(properties.outbox);
581
- const eslint$12 = createMismatchRuleEslint(properties.outbox);
591
+ const eslint$14 = createMismatchRuleEslint(properties.outbox);
582
592
  createRequiredRuleDeno(properties.outbox);
583
- const eslint$11 = createRequiredRuleEslint(properties.outbox);
593
+ const eslint$13 = createRequiredRuleEslint(properties.outbox);
584
594
  createRequiredRuleDeno(properties.preferredUsername);
585
- const eslint$10 = createRequiredRuleEslint(properties.preferredUsername);
595
+ const eslint$12 = createRequiredRuleEslint(properties.preferredUsername);
586
596
  createRequiredRuleDeno(properties.publicKey);
587
- const eslint$9 = createRequiredRuleEslint(properties.publicKey);
597
+ const eslint$11 = createRequiredRuleEslint(properties.publicKey);
588
598
  createMismatchRuleDeno(properties.sharedInbox);
589
- const eslint$8 = createMismatchRuleEslint(properties.sharedInbox);
599
+ const eslint$10 = createMismatchRuleEslint(properties.sharedInbox);
590
600
  createRequiredRuleDeno(properties.sharedInbox);
591
- const eslint$7 = createRequiredRuleEslint(properties.sharedInbox);
601
+ const eslint$9 = createRequiredRuleEslint(properties.sharedInbox);
592
602
  createMismatchRuleDeno(properties.uploadMedia);
593
- const eslint$6 = createMismatchRuleEslint(properties.uploadMedia);
603
+ const eslint$8 = createMismatchRuleEslint(properties.uploadMedia);
594
604
  createRequiredRuleDeno(properties.uploadMedia);
595
- const eslint$5 = createRequiredRuleEslint(properties.uploadMedia);
605
+ const eslint$7 = createRequiredRuleEslint(properties.uploadMedia);
596
606
  //#endregion
597
607
  //#region src/rules/collection-filtering-not-implemented.ts
598
608
  /**
@@ -611,7 +621,7 @@ const isFollowersDispatcherCall = (node) => "callee" in node && node.callee && n
611
621
  * CollectionDispatcher signature: (context, identifier, cursor, filter?) => ...
612
622
  */
613
623
  const hasFilterParameter = hasMinParams(4);
614
- const eslint$4 = {
624
+ const eslint$6 = {
615
625
  meta: {
616
626
  type: "suggestion",
617
627
  docs: { description: "Ensure followers dispatcher implements filtering" },
@@ -636,6 +646,103 @@ const eslint$4 = {
636
646
  }
637
647
  };
638
648
  //#endregion
649
+ //#region src/lib/deprecated-import.ts
650
+ /**
651
+ * Whether the given module specifier refers to `@fedify/denokv`, including
652
+ * versioned `jsr:` and `npm:` specifiers.
653
+ */
654
+ function isDenokvSpecifier(specifier) {
655
+ return /^(?:jsr:|npm:)?@fedify\/denokv(?:@[^/]+)?(?:\/.*)?$/.test(specifier);
656
+ }
657
+ function getSourceValue(node) {
658
+ const source = node.source;
659
+ if (source == null || typeof source !== "object") return null;
660
+ const value = source.value;
661
+ return typeof value === "string" ? value : null;
662
+ }
663
+ /**
664
+ * Returns the name of an `Identifier` or the value of a string `Literal`.
665
+ */
666
+ function getModuleName(node) {
667
+ if (node == null || typeof node !== "object") return null;
668
+ const type = node.type;
669
+ if (type === "Identifier") {
670
+ const name = node.name;
671
+ return typeof name === "string" ? name : null;
672
+ }
673
+ if (type === "Literal") {
674
+ const value = node.value;
675
+ return typeof value === "string" ? value : null;
676
+ }
677
+ return null;
678
+ }
679
+ /**
680
+ * Creates a rule that reports imports and re-exports of a deprecated class
681
+ * from `@fedify/denokv`.
682
+ *
683
+ * Named imports, aliases, `import type`, inline `{ type X }` imports, named
684
+ * re-exports, and namespace imports are covered. Dynamic `import()` calls and
685
+ * `export * from "@fedify/denokv"` are not. A namespace import is reported as
686
+ * a whole because the rule does not resolve which member the code uses; this
687
+ * keeps the rule free of scope-analysis false positives.
688
+ */
689
+ function createDenoKvDeprecationRule(className, message) {
690
+ return (context) => {
691
+ const report = (descriptor) => context.report(descriptor);
692
+ return {
693
+ ImportDeclaration(node) {
694
+ const source = getSourceValue(node);
695
+ if (source == null || !isDenokvSpecifier(source)) return;
696
+ const specifiers = node.specifiers;
697
+ if (!Array.isArray(specifiers)) return;
698
+ for (const specifier of specifiers) {
699
+ if (specifier == null || typeof specifier !== "object") continue;
700
+ const type = specifier.type;
701
+ if (type === "ImportSpecifier") {
702
+ if (getModuleName(specifier.imported) === className) report({
703
+ node: specifier,
704
+ message
705
+ });
706
+ } else if (type === "ImportNamespaceSpecifier") report({
707
+ node: specifier,
708
+ message
709
+ });
710
+ }
711
+ },
712
+ ExportNamedDeclaration(node) {
713
+ const source = getSourceValue(node);
714
+ if (source == null || !isDenokvSpecifier(source)) return;
715
+ const specifiers = node.specifiers;
716
+ if (!Array.isArray(specifiers)) return;
717
+ for (const specifier of specifiers) {
718
+ if (specifier == null || typeof specifier !== "object") continue;
719
+ if (specifier.type !== "ExportSpecifier") continue;
720
+ if (getModuleName(specifier.local) === className) report({
721
+ node: specifier,
722
+ message
723
+ });
724
+ }
725
+ }
726
+ };
727
+ };
728
+ }
729
+ const eslint$5 = {
730
+ meta: {
731
+ type: "suggestion",
732
+ docs: { description: "Warn when the deprecated `DenoKvMessageQueue` class from `@fedify/denokv` is used" },
733
+ schema: []
734
+ },
735
+ create: createDenoKvDeprecationRule("DenoKvMessageQueue", DENO_KV_MESSAGE_QUEUE_DEPRECATED)
736
+ };
737
+ const eslint$4 = {
738
+ meta: {
739
+ type: "suggestion",
740
+ docs: { description: "Warn when the deprecated `DenoKvStore` class from `@fedify/denokv` is used" },
741
+ schema: []
742
+ },
743
+ create: createDenoKvDeprecationRule("DenoKvStore", DENO_KV_STORE_DEPRECATED)
744
+ };
745
+ //#endregion
639
746
  //#region src/rules/media-uploader-authorization-required.ts
640
747
  const MESSAGE$3 = "setMediaUploader() should be protected with .authorize(); without it the endpoint accepts uploads from anyone who can reach the URL. Add .authorize() unless a public upload endpoint is intended.";
641
748
  function getParent$1(node) {
@@ -2650,6 +2757,18 @@ Object.defineProperty(exports, "eslint$27", {
2650
2757
  return eslint$27;
2651
2758
  }
2652
2759
  });
2760
+ Object.defineProperty(exports, "eslint$28", {
2761
+ enumerable: true,
2762
+ get: function() {
2763
+ return eslint$28;
2764
+ }
2765
+ });
2766
+ Object.defineProperty(exports, "eslint$29", {
2767
+ enumerable: true,
2768
+ get: function() {
2769
+ return eslint$29;
2770
+ }
2771
+ });
2653
2772
  Object.defineProperty(exports, "eslint$3", {
2654
2773
  enumerable: true,
2655
2774
  get: function() {
package/dist/oxlint.cjs CHANGED
@@ -1,34 +1,36 @@
1
- const require_outbox_listener_delivery_required = require("./outbox-listener-delivery-required-CVg_osKa.cjs");
1
+ const require_outbox_listener_delivery_required = require("./outbox-listener-delivery-required-yvQhmuwt.cjs");
2
2
  //#region src/oxlint.ts
3
3
  const rules = {
4
- [require_outbox_listener_delivery_required.RULE_IDS.actorIdMismatch]: require_outbox_listener_delivery_required.eslint$18,
5
- [require_outbox_listener_delivery_required.RULE_IDS.actorIdRequired]: require_outbox_listener_delivery_required.eslint$17,
6
- [require_outbox_listener_delivery_required.RULE_IDS.actorFollowingPropertyRequired]: require_outbox_listener_delivery_required.eslint$19,
7
- [require_outbox_listener_delivery_required.RULE_IDS.actorFollowingPropertyMismatch]: require_outbox_listener_delivery_required.eslint$20,
8
- [require_outbox_listener_delivery_required.RULE_IDS.actorFollowersPropertyRequired]: require_outbox_listener_delivery_required.eslint$21,
9
- [require_outbox_listener_delivery_required.RULE_IDS.actorFollowersPropertyMismatch]: require_outbox_listener_delivery_required.eslint$22,
10
- [require_outbox_listener_delivery_required.RULE_IDS.actorOutboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$11,
11
- [require_outbox_listener_delivery_required.RULE_IDS.actorOutboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$12,
12
- [require_outbox_listener_delivery_required.RULE_IDS.actorLikedPropertyRequired]: require_outbox_listener_delivery_required.eslint$13,
13
- [require_outbox_listener_delivery_required.RULE_IDS.actorLikedPropertyMismatch]: require_outbox_listener_delivery_required.eslint$14,
14
- [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedPropertyRequired]: require_outbox_listener_delivery_required.eslint$25,
15
- [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedPropertyMismatch]: require_outbox_listener_delivery_required.eslint$26,
16
- [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedTagsPropertyRequired]: require_outbox_listener_delivery_required.eslint$23,
17
- [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedTagsPropertyMismatch]: require_outbox_listener_delivery_required.eslint$24,
18
- [require_outbox_listener_delivery_required.RULE_IDS.actorInboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$15,
19
- [require_outbox_listener_delivery_required.RULE_IDS.actorInboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$16,
20
- [require_outbox_listener_delivery_required.RULE_IDS.actorSharedInboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$7,
21
- [require_outbox_listener_delivery_required.RULE_IDS.actorSharedInboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$8,
22
- [require_outbox_listener_delivery_required.RULE_IDS.actorUploadMediaPropertyRequired]: require_outbox_listener_delivery_required.eslint$5,
23
- [require_outbox_listener_delivery_required.RULE_IDS.actorUploadMediaPropertyMismatch]: require_outbox_listener_delivery_required.eslint$6,
24
- [require_outbox_listener_delivery_required.RULE_IDS.actorPublicKeyRequired]: require_outbox_listener_delivery_required.eslint$9,
25
- [require_outbox_listener_delivery_required.RULE_IDS.actorAssertionMethodRequired]: require_outbox_listener_delivery_required.eslint$27,
26
- [require_outbox_listener_delivery_required.RULE_IDS.actorPreferredUsernameRequired]: require_outbox_listener_delivery_required.eslint$10,
27
- [require_outbox_listener_delivery_required.RULE_IDS.collectionFilteringNotImplemented]: require_outbox_listener_delivery_required.eslint$4,
4
+ [require_outbox_listener_delivery_required.RULE_IDS.actorIdMismatch]: require_outbox_listener_delivery_required.eslint$20,
5
+ [require_outbox_listener_delivery_required.RULE_IDS.actorIdRequired]: require_outbox_listener_delivery_required.eslint$19,
6
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFollowingPropertyRequired]: require_outbox_listener_delivery_required.eslint$21,
7
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFollowingPropertyMismatch]: require_outbox_listener_delivery_required.eslint$22,
8
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFollowersPropertyRequired]: require_outbox_listener_delivery_required.eslint$23,
9
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFollowersPropertyMismatch]: require_outbox_listener_delivery_required.eslint$24,
10
+ [require_outbox_listener_delivery_required.RULE_IDS.actorOutboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$13,
11
+ [require_outbox_listener_delivery_required.RULE_IDS.actorOutboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$14,
12
+ [require_outbox_listener_delivery_required.RULE_IDS.actorLikedPropertyRequired]: require_outbox_listener_delivery_required.eslint$15,
13
+ [require_outbox_listener_delivery_required.RULE_IDS.actorLikedPropertyMismatch]: require_outbox_listener_delivery_required.eslint$16,
14
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedPropertyRequired]: require_outbox_listener_delivery_required.eslint$27,
15
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedPropertyMismatch]: require_outbox_listener_delivery_required.eslint$28,
16
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedTagsPropertyRequired]: require_outbox_listener_delivery_required.eslint$25,
17
+ [require_outbox_listener_delivery_required.RULE_IDS.actorFeaturedTagsPropertyMismatch]: require_outbox_listener_delivery_required.eslint$26,
18
+ [require_outbox_listener_delivery_required.RULE_IDS.actorInboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$17,
19
+ [require_outbox_listener_delivery_required.RULE_IDS.actorInboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$18,
20
+ [require_outbox_listener_delivery_required.RULE_IDS.actorSharedInboxPropertyRequired]: require_outbox_listener_delivery_required.eslint$9,
21
+ [require_outbox_listener_delivery_required.RULE_IDS.actorSharedInboxPropertyMismatch]: require_outbox_listener_delivery_required.eslint$10,
22
+ [require_outbox_listener_delivery_required.RULE_IDS.actorUploadMediaPropertyRequired]: require_outbox_listener_delivery_required.eslint$7,
23
+ [require_outbox_listener_delivery_required.RULE_IDS.actorUploadMediaPropertyMismatch]: require_outbox_listener_delivery_required.eslint$8,
24
+ [require_outbox_listener_delivery_required.RULE_IDS.actorPublicKeyRequired]: require_outbox_listener_delivery_required.eslint$11,
25
+ [require_outbox_listener_delivery_required.RULE_IDS.actorAssertionMethodRequired]: require_outbox_listener_delivery_required.eslint$29,
26
+ [require_outbox_listener_delivery_required.RULE_IDS.actorPreferredUsernameRequired]: require_outbox_listener_delivery_required.eslint$12,
27
+ [require_outbox_listener_delivery_required.RULE_IDS.collectionFilteringNotImplemented]: require_outbox_listener_delivery_required.eslint$6,
28
28
  [require_outbox_listener_delivery_required.RULE_IDS.outboxListenerDeliveryRequired]: require_outbox_listener_delivery_required.eslint,
29
29
  [require_outbox_listener_delivery_required.RULE_IDS.outboxListenerDeliveryNotAwaited]: require_outbox_listener_delivery_required.eslint$1,
30
30
  [require_outbox_listener_delivery_required.RULE_IDS.mediaUploaderObjectUriRequired]: require_outbox_listener_delivery_required.eslint$2,
31
- [require_outbox_listener_delivery_required.RULE_IDS.mediaUploaderAuthorizationRequired]: require_outbox_listener_delivery_required.eslint$3
31
+ [require_outbox_listener_delivery_required.RULE_IDS.mediaUploaderAuthorizationRequired]: require_outbox_listener_delivery_required.eslint$3,
32
+ [require_outbox_listener_delivery_required.RULE_IDS.denoKvStoreDeprecated]: require_outbox_listener_delivery_required.eslint$4,
33
+ [require_outbox_listener_delivery_required.RULE_IDS.denoKvMessageQueueDeprecated]: require_outbox_listener_delivery_required.eslint$5
32
34
  };
33
35
  const plugin = {
34
36
  meta: {
package/dist/oxlint.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as name, C as eslint$5, D as eslint$11, E as eslint$10, O as eslint$21, S as eslint$4, T as eslint$13, _ as eslint$15, a as eslint$23, b as eslint$2, c as eslint$16, d as eslint$22, f as eslint$6, g as eslint$14, h as eslint$9, i as eslint$27, j as version, k as RULE_IDS, l as eslint$17, m as eslint$8, n as eslint$25, o as eslint$18, p as eslint$7, r as eslint$26, s as eslint$19, t as eslint$24, u as eslint$20, v as eslint$1, w as eslint$12, x as eslint$3, y as eslint } from "./outbox-listener-delivery-required-BPDw5H1U.js";
1
+ import { A as eslint$21, C as eslint$3, D as eslint$13, E as eslint$12, M as name, N as version, O as eslint$10, S as eslint$2, T as eslint$5, _ as eslint$9, a as eslint$28, b as eslint$1, c as eslint$18, d as eslint$17, f as eslint$20, g as eslint$8, h as eslint$7, i as eslint$27, j as RULE_IDS, k as eslint$11, l as eslint$19, m as eslint$6, n as eslint$25, o as eslint$29, p as eslint$22, r as eslint$26, s as eslint$23, t as eslint$24, u as eslint$16, v as eslint$14, w as eslint$4, x as eslint, y as eslint$15 } from "./outbox-listener-delivery-required-wzZRR9jI.js";
2
2
  //#region src/oxlint.ts
3
3
  const rules = {
4
4
  [RULE_IDS.actorIdMismatch]: eslint,
@@ -28,7 +28,9 @@ const rules = {
28
28
  [RULE_IDS.outboxListenerDeliveryRequired]: eslint$24,
29
29
  [RULE_IDS.outboxListenerDeliveryNotAwaited]: eslint$25,
30
30
  [RULE_IDS.mediaUploaderObjectUriRequired]: eslint$26,
31
- [RULE_IDS.mediaUploaderAuthorizationRequired]: eslint$27
31
+ [RULE_IDS.mediaUploaderAuthorizationRequired]: eslint$27,
32
+ [RULE_IDS.denoKvStoreDeprecated]: eslint$28,
33
+ [RULE_IDS.denoKvMessageQueueDeprecated]: eslint$29
32
34
  };
33
35
  const plugin = {
34
36
  meta: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fedify/lint",
3
- "version": "2.5.0-dev.2516+42d3ed0b",
3
+ "version": "2.5.0-dev.2541+d39a2437",
4
4
  "description": "Fedify linting rules and plugins",
5
5
  "keywords": [
6
6
  "Fedify",
@@ -51,7 +51,7 @@
51
51
  ],
52
52
  "peerDependencies": {
53
53
  "eslint": ">=9.0.0",
54
- "@fedify/fedify": "^2.5.0-dev.2516+42d3ed0b"
54
+ "@fedify/fedify": "^2.5.0-dev.2541+d39a2437"
55
55
  },
56
56
  "peerDependenciesMeta": {
57
57
  "eslint": {
@@ -71,7 +71,7 @@
71
71
  "tsdown": "^0.22.0",
72
72
  "typescript": "^6.0.0",
73
73
  "@fedify/fixture": "2.0.0",
74
- "@fedify/vocab": "2.5.0-dev.2516+42d3ed0b"
74
+ "@fedify/vocab": "2.5.0-dev.2541+d39a2437"
75
75
  },
76
76
  "scripts": {
77
77
  "build:self": "tsdown",