eslint-plugin-formatjs 4.13.3 → 5.0.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.
Files changed (37) hide show
  1. package/context-compat.d.ts +2 -0
  2. package/context-compat.js +10 -0
  3. package/package.json +6 -6
  4. package/rules/blocklist-elements.d.ts +2 -3
  5. package/rules/blocklist-elements.js +4 -2
  6. package/rules/enforce-default-message.d.ts +2 -2
  7. package/rules/enforce-default-message.js +3 -2
  8. package/rules/enforce-description.d.ts +2 -2
  9. package/rules/enforce-description.js +3 -2
  10. package/rules/enforce-id.d.ts +2 -2
  11. package/rules/enforce-id.js +3 -2
  12. package/rules/enforce-placeholders.d.ts +2 -2
  13. package/rules/enforce-placeholders.js +3 -2
  14. package/rules/enforce-plural-rules.d.ts +2 -2
  15. package/rules/enforce-plural-rules.js +3 -2
  16. package/rules/no-camel-case.d.ts +2 -3
  17. package/rules/no-camel-case.js +3 -2
  18. package/rules/no-complex-selectors.d.ts +2 -2
  19. package/rules/no-complex-selectors.js +6 -5
  20. package/rules/no-emoji.d.ts +2 -2
  21. package/rules/no-emoji.js +3 -2
  22. package/rules/no-id.d.ts +2 -3
  23. package/rules/no-id.js +3 -2
  24. package/rules/no-invalid-icu.d.ts +2 -3
  25. package/rules/no-invalid-icu.js +3 -2
  26. package/rules/no-literal-string-in-jsx.d.ts +2 -2
  27. package/rules/no-multiple-plurals.d.ts +2 -3
  28. package/rules/no-multiple-plurals.js +3 -2
  29. package/rules/no-multiple-whitespaces.d.ts +2 -3
  30. package/rules/no-multiple-whitespaces.js +3 -2
  31. package/rules/no-offset.d.ts +2 -3
  32. package/rules/no-offset.js +3 -2
  33. package/rules/no-useless-message.d.ts +2 -3
  34. package/rules/no-useless-message.js +3 -3
  35. package/rules/prefer-formatted-message.d.ts +2 -3
  36. package/rules/prefer-pound-in-plural.d.ts +2 -3
  37. package/rules/prefer-pound-in-plural.js +3 -2
@@ -0,0 +1,2 @@
1
+ import { RuleContext } from '@typescript-eslint/utils/ts-eslint';
2
+ export declare const getParserServices: <TRuleContext extends RuleContext<string, unknown[]>>(context: TRuleContext) => Partial<import("@typescript-eslint/utils").ParserServicesWithTypeInformation> | Partial<import("@typescript-eslint/utils").ParserServicesWithoutTypeInformation> | undefined;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getParserServices = void 0;
4
+ const getParserServices = (context) => {
5
+ if (context.parserServices) {
6
+ return context.parserServices;
7
+ }
8
+ return context.sourceCode.parserServices;
9
+ };
10
+ exports.getParserServices = getParserServices;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-formatjs",
3
- "version": "4.13.3",
3
+ "version": "5.0.0",
4
4
  "description": "ESLint plugin for formatjs",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -20,19 +20,19 @@
20
20
  },
21
21
  "homepage": "https://github.com/formatjs/formatjs#readme",
22
22
  "dependencies": {
23
- "@types/eslint": "7 || 8",
23
+ "@types/eslint": "9",
24
24
  "@types/picomatch": "^2.3.0",
25
- "@typescript-eslint/utils": "^6.18.1",
25
+ "@typescript-eslint/utils": "8.5.0",
26
26
  "emoji-regex": "^10.2.1",
27
27
  "magic-string": "^0.30.0",
28
28
  "picomatch": "^2.3.1",
29
29
  "tslib": "2.6.2",
30
30
  "typescript": "5",
31
31
  "unicode-emoji-utils": "^1.2.0",
32
- "@formatjs/ts-transformer": "3.13.14",
33
- "@formatjs/icu-messageformat-parser": "2.7.8"
32
+ "@formatjs/icu-messageformat-parser": "2.7.8",
33
+ "@formatjs/ts-transformer": "3.13.14"
34
34
  },
35
35
  "peerDependencies": {
36
- "eslint": "7 || 8"
36
+ "eslint": "9"
37
37
  }
38
38
  }
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'blocklist';
3
- type Options = [Element[]?];
4
3
  export declare const name = "blocklist-elements";
5
4
  export declare enum Element {
6
5
  literal = "literal",
@@ -13,5 +12,5 @@ export declare enum Element {
13
12
  plural = "plural",
14
13
  tag = "tag"
15
14
  }
16
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
15
+ export declare const rule: RuleModule<MessageIds>;
17
16
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.Element = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  exports.name = 'blocklist-elements';
7
8
  function getMessage(type) {
@@ -91,10 +92,11 @@ function checkNode(context, node) {
91
92
  }
92
93
  const create = (context) => {
93
94
  const callExpressionVisitor = (node) => checkNode(context, node);
95
+ const parserServices = (0, context_compat_1.getParserServices)(context);
94
96
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
95
- if (context.parserServices?.defineTemplateBodyVisitor) {
97
+ if (parserServices?.defineTemplateBodyVisitor) {
96
98
  //@ts-expect-error
97
- return context.parserServices.defineTemplateBodyVisitor({
99
+ return parserServices.defineTemplateBodyVisitor({
98
100
  CallExpression: callExpressionVisitor,
99
101
  }, {
100
102
  CallExpression: callExpressionVisitor,
@@ -1,4 +1,4 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  export declare enum Option {
3
3
  literal = "literal",
4
4
  anything = "anything"
@@ -6,5 +6,5 @@ export declare enum Option {
6
6
  type MessageIds = 'defaultMessage' | 'defaultMessageLiteral';
7
7
  type Options = [`${Option}`?];
8
8
  export declare const name = "enforce-default-message";
9
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
9
+ export declare const rule: RuleModule<MessageIds, Options>;
10
10
  export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = exports.Option = void 0;
4
+ const context_compat_1 = require("../context-compat");
4
5
  const util_1 = require("../util");
5
6
  var Option;
6
7
  (function (Option) {
@@ -53,9 +54,9 @@ exports.rule = {
53
54
  create(context) {
54
55
  const callExpressionVisitor = (node) => checkNode(context, node);
55
56
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
56
- if (context.parserServices.defineTemplateBodyVisitor) {
57
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
57
58
  //@ts-expect-error
58
- return context.parserServices.defineTemplateBodyVisitor({
59
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
59
60
  CallExpression: callExpressionVisitor,
60
61
  }, {
61
62
  CallExpression: callExpressionVisitor,
@@ -1,4 +1,4 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  export declare enum Option {
3
3
  literal = "literal",
4
4
  anything = "anything"
@@ -6,5 +6,5 @@ export declare enum Option {
6
6
  type MessageIds = 'enforceDescription' | 'enforceDescriptionLiteral';
7
7
  type Options = [`${Option}`?];
8
8
  export declare const name = "enforce-description";
9
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
9
+ export declare const rule: RuleModule<MessageIds, Options>;
10
10
  export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = exports.Option = void 0;
4
+ const context_compat_1 = require("../context-compat");
4
5
  const util_1 = require("../util");
5
6
  var Option;
6
7
  (function (Option) {
@@ -51,9 +52,9 @@ exports.rule = {
51
52
  create(context) {
52
53
  const callExpressionVisitor = (node) => checkNode(context, node);
53
54
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
54
- if (context.parserServices.defineTemplateBodyVisitor) {
55
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
55
56
  //@ts-expect-error
56
- return context.parserServices.defineTemplateBodyVisitor({
57
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
57
58
  CallExpression: callExpressionVisitor,
58
59
  }, {
59
60
  CallExpression: callExpressionVisitor,
@@ -1,4 +1,4 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  export type Option = {
3
3
  idInterpolationPattern: string;
4
4
  idWhitelist?: string[];
@@ -6,5 +6,5 @@ export type Option = {
6
6
  type MessageIds = 'enforceId' | 'enforceIdDefaultMessage' | 'enforceIdDescription' | 'enforceIdMatching' | 'enforceIdMatchingAllowlisted';
7
7
  type Options = [Option];
8
8
  export declare const name = "enforce-id";
9
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
9
+ export declare const rule: RuleModule<MessageIds, Options>;
10
10
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const ts_transformer_1 = require("@formatjs/ts-transformer");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  function checkNode(context, node, { idInterpolationPattern, idWhitelistRegexps, }) {
7
8
  const msgs = (0, util_1.extractMessages)(node, (0, util_1.getSettings)(context));
@@ -138,9 +139,9 @@ Actual: {{actual}}`,
138
139
  }
139
140
  const callExpressionVisitor = (node) => checkNode(context, node, opts);
140
141
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
141
- if (context.parserServices.defineTemplateBodyVisitor) {
142
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
142
143
  //@ts-expect-error
143
- return context.parserServices.defineTemplateBodyVisitor({
144
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
144
145
  CallExpression: callExpressionVisitor,
145
146
  }, {
146
147
  CallExpression: callExpressionVisitor,
@@ -1,8 +1,8 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'parserError' | 'missingValue' | 'unusedValue';
3
3
  type Options = [{
4
4
  ignoreList: string[];
5
5
  }?];
6
6
  export declare const name = "enforce-placeholders";
7
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
7
+ export declare const rule: RuleModule<MessageIds, Options>;
8
8
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  function collectPlaceholderNames(ast) {
7
8
  const placeholderNames = new Set();
@@ -132,9 +133,9 @@ exports.rule = {
132
133
  create(context) {
133
134
  const callExpressionVisitor = (node) => checkNode(context, node);
134
135
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
135
- if (context.parserServices.defineTemplateBodyVisitor) {
136
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
136
137
  //@ts-expect-error
137
- return context.parserServices.defineTemplateBodyVisitor({
138
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
138
139
  CallExpression: callExpressionVisitor,
139
140
  }, {
140
141
  CallExpression: callExpressionVisitor,
@@ -1,4 +1,4 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  declare enum LDML {
3
3
  zero = "zero",
4
4
  one = "one",
@@ -13,5 +13,5 @@ type PluralConfig = {
13
13
  export type Options = [PluralConfig?];
14
14
  type MessageIds = 'missingPlural' | 'forbidden';
15
15
  export declare const name = "enforce-plural-rules";
16
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
16
+ export declare const rule: RuleModule<MessageIds, Options>;
17
17
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  var LDML;
7
8
  (function (LDML) {
@@ -88,9 +89,9 @@ exports.rule = {
88
89
  create(context) {
89
90
  const callExpressionVisitor = (node) => checkNode(context, node);
90
91
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
91
- if (context.parserServices.defineTemplateBodyVisitor) {
92
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
92
93
  //@ts-expect-error
93
- return context.parserServices.defineTemplateBodyVisitor({
94
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
94
95
  CallExpression: callExpressionVisitor,
95
96
  }, {
96
97
  CallExpression: callExpressionVisitor,
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'camelcase';
3
- type Options = [Element[]?];
4
3
  export declare const name = "no-camel-case";
5
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
4
+ export declare const rule: RuleModule<MessageIds>;
6
5
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  exports.name = 'no-camel-case';
7
8
  const CAMEL_CASE_REGEX = /[A-Z]/;
@@ -61,9 +62,9 @@ exports.rule = {
61
62
  create(context) {
62
63
  const callExpressionVisitor = (node) => checkNode(context, node);
63
64
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
64
- if (context.parserServices.defineTemplateBodyVisitor) {
65
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
65
66
  //@ts-expect-error
66
- return context.parserServices.defineTemplateBodyVisitor({
67
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
67
68
  CallExpression: callExpressionVisitor,
68
69
  }, {
69
70
  CallExpression: callExpressionVisitor,
@@ -1,9 +1,9 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  interface Config {
3
3
  limit: number;
4
4
  }
5
5
  type MessageIds = 'tooComplex' | 'parserError';
6
6
  type Options = [Config?];
7
7
  export declare const name = "no-complex-selectors";
8
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
8
+ export declare const rule: RuleModule<MessageIds, Options>;
9
9
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  function calculateComplexity(ast) {
7
8
  // Dynamic programming: define a complexity function f, where:
@@ -89,13 +90,13 @@ exports.rule = {
89
90
  meta: {
90
91
  type: 'problem',
91
92
  docs: {
92
- description: `Make sure a sentence is not too complex.
93
+ description: `Make sure a sentence is not too complex.
93
94
  Complexity is determined by how many strings are produced when we try to
94
95
  flatten the sentence given its selectors. For example:
95
96
  "I have {count, plural, one{a dog} other{many dogs}}"
96
97
  has the complexity of 2 because flattening the plural selector
97
98
  results in 2 sentences: "I have a dog" & "I have many dogs".
98
- Default complexity limit is 20
99
+ Default complexity limit is 20
99
100
  (using Smartling as a reference: https://help.smartling.com/hc/en-us/articles/360008030994-ICU-MessageFormat)
100
101
  `,
101
102
  url: 'https://formatjs.io/docs/tooling/linter#no-complex-selectors',
@@ -114,16 +115,16 @@ Default complexity limit is 20
114
115
  fixable: 'code',
115
116
  messages: {
116
117
  tooComplex: `Message complexity is too high ({{complexity}} vs limit at {{limit}})`,
117
- parserError: '{{meesage}}',
118
+ parserError: '{{message}}',
118
119
  },
119
120
  },
120
121
  defaultOptions: [{ limit: 20 }],
121
122
  create(context) {
122
123
  const callExpressionVisitor = (node) => checkNode(context, node);
123
124
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
124
- if (context.parserServices.defineTemplateBodyVisitor) {
125
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
125
126
  //@ts-expect-error
126
- return context.parserServices.defineTemplateBodyVisitor({
127
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
127
128
  CallExpression: callExpressionVisitor,
128
129
  }, {
129
130
  CallExpression: callExpressionVisitor,
@@ -1,9 +1,9 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  export declare const name = "no-emoji";
3
3
  type MessageIds = 'notAllowed' | 'notAllowedAboveVersion';
4
4
  type NoEmojiConfig = {
5
5
  versionAbove: string;
6
6
  };
7
7
  export type Options = [NoEmojiConfig?];
8
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
8
+ export declare const rule: RuleModule<MessageIds, Options>;
9
9
  export {};
package/rules/no-emoji.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const unicode_emoji_utils_1 = require("unicode-emoji-utils");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  exports.name = 'no-emoji';
7
8
  function checkNode(context, node) {
@@ -84,9 +85,9 @@ exports.rule = {
84
85
  create(context) {
85
86
  const callExpressionVisitor = (node) => checkNode(context, node);
86
87
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
87
- if (context.parserServices.defineTemplateBodyVisitor) {
88
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
88
89
  //@ts-expect-error
89
- return context.parserServices.defineTemplateBodyVisitor({
90
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
90
91
  CallExpression: callExpressionVisitor,
91
92
  }, {
92
93
  CallExpression: callExpressionVisitor,
package/rules/no-id.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'noId';
3
- type Options = [];
4
3
  export declare const name = "no-id";
5
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
4
+ export declare const rule: RuleModule<MessageIds>;
6
5
  export {};
package/rules/no-id.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
+ const context_compat_1 = require("../context-compat");
4
5
  const util_1 = require("../util");
5
6
  function isComment(token) {
6
7
  return !!token && (token.type === 'Block' || token.type === 'Line');
@@ -43,9 +44,9 @@ exports.rule = {
43
44
  create(context) {
44
45
  const callExpressionVisitor = (node) => checkNode(context, node);
45
46
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
46
- if (context.parserServices.defineTemplateBodyVisitor) {
47
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
47
48
  //@ts-expect-error
48
- return context.parserServices.defineTemplateBodyVisitor({
49
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
49
50
  CallExpression: callExpressionVisitor,
50
51
  }, {
51
52
  CallExpression: callExpressionVisitor,
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'icuError';
3
- type Options = [];
4
3
  export declare const name = "no-invalid-icu";
5
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
4
+ export declare const rule: RuleModule<MessageIds>;
6
5
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  exports.name = 'no-invalid-icu';
7
8
  function checkNode(context, node) {
@@ -45,9 +46,9 @@ exports.rule = {
45
46
  create(context) {
46
47
  const callExpressionVisitor = (node) => checkNode(context, node);
47
48
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
48
- if (context.parserServices.defineTemplateBodyVisitor) {
49
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
49
50
  //@ts-expect-error
50
- return context.parserServices.defineTemplateBodyVisitor({
51
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
51
52
  CallExpression: callExpressionVisitor,
52
53
  }, {
53
54
  CallExpression: callExpressionVisitor,
@@ -1,4 +1,4 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type PropMatcher = readonly [TagNamePattern: string, PropNamePattern: string][];
3
3
  type Config = {
4
4
  props?: {
@@ -9,5 +9,5 @@ type Config = {
9
9
  type MessageIds = 'noLiteralStringInJsx';
10
10
  type Options = [Config?];
11
11
  export declare const name = "no-literal-string-in-jsx";
12
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
12
+ export declare const rule: RuleModule<MessageIds, Options>;
13
13
  export {};
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'noMultiplePlurals';
3
- type Options = [];
4
3
  export declare const name = "no-multiple-plurals";
5
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
4
+ export declare const rule: RuleModule<MessageIds>;
6
5
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  function verifyAst(ast, pluralCount = { count: 0 }) {
7
8
  const errors = [];
@@ -55,9 +56,9 @@ exports.rule = {
55
56
  create(context) {
56
57
  const callExpressionVisitor = (node) => checkNode(context, node);
57
58
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
58
- if (context.parserServices.defineTemplateBodyVisitor) {
59
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
59
60
  //@ts-expect-error
60
- return context.parserServices.defineTemplateBodyVisitor({
61
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
61
62
  CallExpression: callExpressionVisitor,
62
63
  }, {
63
64
  CallExpression: callExpressionVisitor,
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'noMultipleWhitespaces' | 'parserError';
3
- type Options = [];
4
3
  export declare const name = "no-multiple-whitespaces";
5
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
4
+ export declare const rule: RuleModule<MessageIds>;
6
5
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  function isAstValid(ast) {
7
8
  for (const element of ast) {
@@ -126,9 +127,9 @@ exports.rule = {
126
127
  create(context) {
127
128
  const callExpressionVisitor = (node) => checkNode(context, node);
128
129
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
129
- if (context.parserServices.defineTemplateBodyVisitor) {
130
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
130
131
  //@ts-expect-error
131
- return context.parserServices.defineTemplateBodyVisitor({
132
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
132
133
  CallExpression: callExpressionVisitor,
133
134
  }, {
134
135
  CallExpression: callExpressionVisitor,
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'noOffset';
3
- type Options = [];
4
3
  export declare const name = "no-offset";
5
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
4
+ export declare const rule: RuleModule<MessageIds>;
6
5
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  function verifyAst(ast) {
7
8
  const errors = [];
@@ -54,9 +55,9 @@ exports.rule = {
54
55
  create(context) {
55
56
  const callExpressionVisitor = (node) => checkNode(context, node);
56
57
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
57
- if (context.parserServices.defineTemplateBodyVisitor) {
58
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
58
59
  //@ts-expect-error
59
- return context.parserServices.defineTemplateBodyVisitor({
60
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
60
61
  CallExpression: callExpressionVisitor,
61
62
  }, {
62
63
  CallExpression: callExpressionVisitor,
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'unnecessaryFormat' | 'unnecessaryFormatNumber' | 'unnecessaryFormatDate' | 'unnecessaryFormatTime';
3
- type Options = [];
4
3
  export declare const name = "no-useless-message";
5
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
4
+ export declare const rule: RuleModule<MessageIds>;
6
5
  export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.name = void 0;
4
4
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
5
+ const context_compat_1 = require("../context-compat");
5
6
  const util_1 = require("../util");
6
7
  function verifyAst(ast) {
7
8
  if (ast.length !== 1) {
@@ -41,7 +42,6 @@ exports.rule = {
41
42
  type: 'problem',
42
43
  docs: {
43
44
  description: 'Disallow unnecessary formatted message',
44
- recommended: 'recommended',
45
45
  url: 'https://formatjs.io/docs/tooling/linter#no-useless-message',
46
46
  },
47
47
  fixable: 'code',
@@ -57,9 +57,9 @@ exports.rule = {
57
57
  create(context) {
58
58
  const callExpressionVisitor = (node) => checkNode(context, node);
59
59
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
60
- if (context.parserServices.defineTemplateBodyVisitor) {
60
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
61
61
  //@ts-expect-error
62
- return context.parserServices.defineTemplateBodyVisitor({
62
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
63
63
  CallExpression: callExpressionVisitor,
64
64
  }, {
65
65
  CallExpression: callExpressionVisitor,
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'jsxChildren';
3
- type Options = [];
4
3
  export declare const name = "prefer-formatted-message";
5
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
4
+ export declare const rule: RuleModule<MessageIds>;
6
5
  export {};
@@ -1,6 +1,5 @@
1
- import { RuleModule, RuleListener } from '@typescript-eslint/utils/ts-eslint';
1
+ import { RuleModule } from '@typescript-eslint/utils/ts-eslint';
2
2
  type MessageIds = 'preferPoundInPlurals' | 'parseError';
3
- type Options = [];
4
3
  export declare const name = "prefer-pound-in-plural";
5
- export declare const rule: RuleModule<MessageIds, Options, RuleListener>;
4
+ export declare const rule: RuleModule<MessageIds>;
6
5
  export {};
@@ -4,6 +4,7 @@ exports.rule = exports.name = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
6
6
  const magic_string_1 = tslib_1.__importDefault(require("magic-string"));
7
+ const context_compat_1 = require("../context-compat");
7
8
  const util_1 = require("../util");
8
9
  function verifyAst(context, messageNode, ast) {
9
10
  const patches = [];
@@ -177,9 +178,9 @@ exports.rule = {
177
178
  create(context) {
178
179
  const callExpressionVisitor = (node) => checkNode(context, node);
179
180
  //@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
180
- if (context.parserServices.defineTemplateBodyVisitor) {
181
+ if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
181
182
  //@ts-expect-error
182
- return context.parserServices.defineTemplateBodyVisitor({
183
+ return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
183
184
  CallExpression: callExpressionVisitor,
184
185
  }, {
185
186
  CallExpression: callExpressionVisitor,