eslint-plugin-formatjs 4.13.2 → 4.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context-compat.d.ts +2 -0
- package/context-compat.js +10 -0
- package/package.json +6 -6
- package/rules/blocklist-elements.d.ts +2 -3
- package/rules/blocklist-elements.js +3 -2
- package/rules/enforce-default-message.d.ts +2 -2
- package/rules/enforce-default-message.js +3 -2
- package/rules/enforce-description.d.ts +2 -2
- package/rules/enforce-description.js +3 -2
- package/rules/enforce-id.d.ts +2 -2
- package/rules/enforce-id.js +3 -2
- package/rules/enforce-placeholders.d.ts +2 -2
- package/rules/enforce-placeholders.js +3 -2
- package/rules/enforce-plural-rules.d.ts +2 -2
- package/rules/enforce-plural-rules.js +3 -2
- package/rules/no-camel-case.d.ts +2 -3
- package/rules/no-camel-case.js +3 -2
- package/rules/no-complex-selectors.d.ts +2 -2
- package/rules/no-complex-selectors.js +6 -5
- package/rules/no-emoji.d.ts +2 -2
- package/rules/no-emoji.js +3 -2
- package/rules/no-id.d.ts +2 -3
- package/rules/no-id.js +3 -2
- package/rules/no-invalid-icu.d.ts +2 -3
- package/rules/no-invalid-icu.js +3 -2
- package/rules/no-literal-string-in-jsx.d.ts +2 -2
- package/rules/no-multiple-plurals.d.ts +2 -3
- package/rules/no-multiple-plurals.js +3 -2
- package/rules/no-multiple-whitespaces.d.ts +2 -3
- package/rules/no-multiple-whitespaces.js +3 -2
- package/rules/no-offset.d.ts +2 -3
- package/rules/no-offset.js +3 -2
- package/rules/no-useless-message.d.ts +2 -3
- package/rules/no-useless-message.js +3 -3
- package/rules/prefer-formatted-message.d.ts +2 -3
- package/rules/prefer-pound-in-plural.d.ts +2 -3
- 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.
|
|
3
|
+
"version": "4.14.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": "
|
|
23
|
+
"@types/eslint": "9",
|
|
24
24
|
"@types/picomatch": "^2.3.0",
|
|
25
|
-
"@typescript-eslint/utils": "
|
|
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/icu-messageformat-parser": "2.7.
|
|
33
|
-
"@formatjs/ts-transformer": "3.13.
|
|
32
|
+
"@formatjs/icu-messageformat-parser": "2.7.8",
|
|
33
|
+
"@formatjs/ts-transformer": "3.13.14"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"eslint": "
|
|
36
|
+
"eslint": "9"
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { RuleModule
|
|
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
|
|
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) {
|
|
@@ -92,9 +93,9 @@ function checkNode(context, node) {
|
|
|
92
93
|
const create = (context) => {
|
|
93
94
|
const callExpressionVisitor = (node) => checkNode(context, node);
|
|
94
95
|
//@ts-expect-error defineTemplateBodyVisitor exists in Vue parser
|
|
95
|
-
if (context.
|
|
96
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
96
97
|
//@ts-expect-error
|
|
97
|
-
return context.
|
|
98
|
+
return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
|
|
98
99
|
CallExpression: callExpressionVisitor,
|
|
99
100
|
}, {
|
|
100
101
|
CallExpression: callExpressionVisitor,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RuleModule
|
|
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
|
|
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.
|
|
57
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
57
58
|
//@ts-expect-error
|
|
58
|
-
return context.
|
|
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
|
|
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
|
|
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.
|
|
55
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
55
56
|
//@ts-expect-error
|
|
56
|
-
return context.
|
|
57
|
+
return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
|
|
57
58
|
CallExpression: callExpressionVisitor,
|
|
58
59
|
}, {
|
|
59
60
|
CallExpression: callExpressionVisitor,
|
package/rules/enforce-id.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RuleModule
|
|
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
|
|
9
|
+
export declare const rule: RuleModule<MessageIds, Options>;
|
|
10
10
|
export {};
|
package/rules/enforce-id.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 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.
|
|
142
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
142
143
|
//@ts-expect-error
|
|
143
|
-
return context.
|
|
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
|
|
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
|
|
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.
|
|
136
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
136
137
|
//@ts-expect-error
|
|
137
|
-
return context.
|
|
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
|
|
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
|
|
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.
|
|
92
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
92
93
|
//@ts-expect-error
|
|
93
|
-
return context.
|
|
94
|
+
return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
|
|
94
95
|
CallExpression: callExpressionVisitor,
|
|
95
96
|
}, {
|
|
96
97
|
CallExpression: callExpressionVisitor,
|
package/rules/no-camel-case.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { RuleModule
|
|
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
|
|
4
|
+
export declare const rule: RuleModule<MessageIds>;
|
|
6
5
|
export {};
|
package/rules/no-camel-case.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 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.
|
|
65
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
65
66
|
//@ts-expect-error
|
|
66
|
-
return context.
|
|
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
|
|
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
|
|
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: '{{
|
|
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.
|
|
125
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
125
126
|
//@ts-expect-error
|
|
126
|
-
return context.
|
|
127
|
+
return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
|
|
127
128
|
CallExpression: callExpressionVisitor,
|
|
128
129
|
}, {
|
|
129
130
|
CallExpression: callExpressionVisitor,
|
package/rules/no-emoji.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { RuleModule
|
|
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
|
|
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.
|
|
88
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
88
89
|
//@ts-expect-error
|
|
89
|
-
return context.
|
|
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
|
|
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
|
|
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.
|
|
47
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
47
48
|
//@ts-expect-error
|
|
48
|
-
return context.
|
|
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
|
|
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
|
|
4
|
+
export declare const rule: RuleModule<MessageIds>;
|
|
6
5
|
export {};
|
package/rules/no-invalid-icu.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 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.
|
|
49
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
49
50
|
//@ts-expect-error
|
|
50
|
-
return context.
|
|
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
|
|
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
|
|
12
|
+
export declare const rule: RuleModule<MessageIds, Options>;
|
|
13
13
|
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { RuleModule
|
|
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
|
|
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.
|
|
59
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
59
60
|
//@ts-expect-error
|
|
60
|
-
return context.
|
|
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
|
|
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
|
|
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.
|
|
130
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
130
131
|
//@ts-expect-error
|
|
131
|
-
return context.
|
|
132
|
+
return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
|
|
132
133
|
CallExpression: callExpressionVisitor,
|
|
133
134
|
}, {
|
|
134
135
|
CallExpression: callExpressionVisitor,
|
package/rules/no-offset.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { RuleModule
|
|
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
|
|
4
|
+
export declare const rule: RuleModule<MessageIds>;
|
|
6
5
|
export {};
|
package/rules/no-offset.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 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.
|
|
58
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
58
59
|
//@ts-expect-error
|
|
59
|
-
return context.
|
|
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
|
|
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
|
|
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.
|
|
60
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
61
61
|
//@ts-expect-error
|
|
62
|
-
return context.
|
|
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
|
|
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
|
|
4
|
+
export declare const rule: RuleModule<MessageIds>;
|
|
6
5
|
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { RuleModule
|
|
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
|
|
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.
|
|
181
|
+
if ((0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor) {
|
|
181
182
|
//@ts-expect-error
|
|
182
|
-
return context.
|
|
183
|
+
return (0, context_compat_1.getParserServices)(context).defineTemplateBodyVisitor({
|
|
183
184
|
CallExpression: callExpressionVisitor,
|
|
184
185
|
}, {
|
|
185
186
|
CallExpression: callExpressionVisitor,
|