@docusaurus/eslint-plugin 3.10.1-canary-6655 → 3.10.2
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/lib/index.d.ts +12 -96
- package/lib/index.js +11 -35
- package/lib/rules/index.d.ts +6 -14
- package/lib/rules/no-html-links.d.ts +1 -3
- package/lib/rules/no-html-links.js +1 -3
- package/lib/rules/no-untranslated-text.d.ts +1 -3
- package/lib/rules/no-untranslated-text.js +0 -6
- package/lib/rules/prefer-docusaurus-heading.d.ts +1 -3
- package/lib/rules/string-literal-i18n-messages.d.ts +1 -3
- package/lib/util.d.ts +3 -7
- package/package.json +7 -9
- package/src/index.ts +12 -41
- package/src/rules/no-html-links.ts +2 -5
- package/src/rules/no-untranslated-text.ts +1 -9
- package/src/rules/prefer-docusaurus-heading.ts +1 -1
- package/src/rules/string-literal-i18n-messages.ts +1 -1
- package/src/util.ts +3 -9
package/lib/index.d.ts
CHANGED
|
@@ -4,7 +4,17 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
declare const
|
|
7
|
+
declare const _default: {
|
|
8
|
+
rules: {
|
|
9
|
+
'no-untranslated-text': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"translateChildren", [{
|
|
10
|
+
ignoredStrings: string[];
|
|
11
|
+
}], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
12
|
+
'string-literal-i18n-messages': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"translateChildren" | "translateArg", [], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
13
|
+
'no-html-links': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"link", [{
|
|
14
|
+
ignoreFullyResolved: boolean;
|
|
15
|
+
}], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
16
|
+
'prefer-docusaurus-heading': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"headings", [], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
17
|
+
};
|
|
8
18
|
configs: {
|
|
9
19
|
recommended: {
|
|
10
20
|
plugins: string[];
|
|
@@ -23,100 +33,6 @@ declare const compatPlugin: {
|
|
|
23
33
|
'@docusaurus/prefer-docusaurus-heading': string;
|
|
24
34
|
};
|
|
25
35
|
};
|
|
26
|
-
flat: {
|
|
27
|
-
recommended: {
|
|
28
|
-
plugins: {
|
|
29
|
-
'@docusaurus': {
|
|
30
|
-
meta: {
|
|
31
|
-
name: string;
|
|
32
|
-
version: string;
|
|
33
|
-
namespace: string;
|
|
34
|
-
};
|
|
35
|
-
rules: {
|
|
36
|
-
'no-untranslated-text': import("@typescript-eslint/utils/ts-eslint").RuleModule<"translateChildren", [{
|
|
37
|
-
ignoredStrings: string[];
|
|
38
|
-
}], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
39
|
-
name: string;
|
|
40
|
-
};
|
|
41
|
-
'string-literal-i18n-messages': import("@typescript-eslint/utils/ts-eslint").RuleModule<"translateChildren" | "translateArg", [], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
42
|
-
name: string;
|
|
43
|
-
};
|
|
44
|
-
'no-html-links': import("@typescript-eslint/utils/ts-eslint").RuleModule<"link", [{
|
|
45
|
-
ignoreFullyResolved: boolean;
|
|
46
|
-
}], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
47
|
-
name: string;
|
|
48
|
-
};
|
|
49
|
-
'prefer-docusaurus-heading': import("@typescript-eslint/utils/ts-eslint").RuleModule<"headings", [], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
50
|
-
name: string;
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
rules: {
|
|
56
|
-
'@docusaurus/string-literal-i18n-messages': string;
|
|
57
|
-
'@docusaurus/no-html-links': string;
|
|
58
|
-
'@docusaurus/prefer-docusaurus-heading': string;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
all: {
|
|
62
|
-
plugins: {
|
|
63
|
-
'@docusaurus': {
|
|
64
|
-
meta: {
|
|
65
|
-
name: string;
|
|
66
|
-
version: string;
|
|
67
|
-
namespace: string;
|
|
68
|
-
};
|
|
69
|
-
rules: {
|
|
70
|
-
'no-untranslated-text': import("@typescript-eslint/utils/ts-eslint").RuleModule<"translateChildren", [{
|
|
71
|
-
ignoredStrings: string[];
|
|
72
|
-
}], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
73
|
-
name: string;
|
|
74
|
-
};
|
|
75
|
-
'string-literal-i18n-messages': import("@typescript-eslint/utils/ts-eslint").RuleModule<"translateChildren" | "translateArg", [], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
76
|
-
name: string;
|
|
77
|
-
};
|
|
78
|
-
'no-html-links': import("@typescript-eslint/utils/ts-eslint").RuleModule<"link", [{
|
|
79
|
-
ignoreFullyResolved: boolean;
|
|
80
|
-
}], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
81
|
-
name: string;
|
|
82
|
-
};
|
|
83
|
-
'prefer-docusaurus-heading': import("@typescript-eslint/utils/ts-eslint").RuleModule<"headings", [], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
84
|
-
name: string;
|
|
85
|
-
};
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
rules: {
|
|
90
|
-
'@docusaurus/string-literal-i18n-messages': string;
|
|
91
|
-
'@docusaurus/no-untranslated-text': string;
|
|
92
|
-
'@docusaurus/no-html-links': string;
|
|
93
|
-
'@docusaurus/prefer-docusaurus-heading': string;
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
meta: {
|
|
99
|
-
name: string;
|
|
100
|
-
version: string;
|
|
101
|
-
namespace: string;
|
|
102
|
-
};
|
|
103
|
-
rules: {
|
|
104
|
-
'no-untranslated-text': import("@typescript-eslint/utils/ts-eslint").RuleModule<"translateChildren", [{
|
|
105
|
-
ignoredStrings: string[];
|
|
106
|
-
}], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
107
|
-
name: string;
|
|
108
|
-
};
|
|
109
|
-
'string-literal-i18n-messages': import("@typescript-eslint/utils/ts-eslint").RuleModule<"translateChildren" | "translateArg", [], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
110
|
-
name: string;
|
|
111
|
-
};
|
|
112
|
-
'no-html-links': import("@typescript-eslint/utils/ts-eslint").RuleModule<"link", [{
|
|
113
|
-
ignoreFullyResolved: boolean;
|
|
114
|
-
}], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
115
|
-
name: string;
|
|
116
|
-
};
|
|
117
|
-
'prefer-docusaurus-heading': import("@typescript-eslint/utils/ts-eslint").RuleModule<"headings", [], import("./util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
118
|
-
name: string;
|
|
119
|
-
};
|
|
120
36
|
};
|
|
121
37
|
};
|
|
122
|
-
export =
|
|
38
|
+
export = _default;
|
package/lib/index.js
CHANGED
|
@@ -6,50 +6,26 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
|
-
const package_json_1 = require("../package.json");
|
|
10
9
|
const rules_1 = tslib_1.__importDefault(require("./rules"));
|
|
11
|
-
|
|
12
|
-
meta: { name: package_json_1.name, version: package_json_1.version, namespace: '@docusaurus' },
|
|
10
|
+
module.exports = {
|
|
13
11
|
rules: rules_1.default,
|
|
14
|
-
};
|
|
15
|
-
const rulesRecommended = {
|
|
16
|
-
'@docusaurus/string-literal-i18n-messages': 'error',
|
|
17
|
-
'@docusaurus/no-html-links': 'warn',
|
|
18
|
-
'@docusaurus/prefer-docusaurus-heading': 'warn',
|
|
19
|
-
};
|
|
20
|
-
const rulesAll = {
|
|
21
|
-
'@docusaurus/string-literal-i18n-messages': 'error',
|
|
22
|
-
'@docusaurus/no-untranslated-text': 'warn',
|
|
23
|
-
'@docusaurus/no-html-links': 'warn',
|
|
24
|
-
'@docusaurus/prefer-docusaurus-heading': 'warn',
|
|
25
|
-
};
|
|
26
|
-
// Supports both legacy/flat configs:
|
|
27
|
-
// https://eslint.org/docs/latest/extend/plugins#backwards-compatibility-for-legacy-configs
|
|
28
|
-
const compatPlugin = {
|
|
29
|
-
...plugin,
|
|
30
12
|
configs: {
|
|
31
13
|
recommended: {
|
|
32
14
|
plugins: ['@docusaurus'],
|
|
33
|
-
rules:
|
|
15
|
+
rules: {
|
|
16
|
+
'@docusaurus/string-literal-i18n-messages': 'error',
|
|
17
|
+
'@docusaurus/no-html-links': 'warn',
|
|
18
|
+
'@docusaurus/prefer-docusaurus-heading': 'warn',
|
|
19
|
+
},
|
|
34
20
|
},
|
|
35
21
|
all: {
|
|
36
22
|
plugins: ['@docusaurus'],
|
|
37
|
-
rules:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
'@docusaurus': plugin,
|
|
43
|
-
},
|
|
44
|
-
rules: rulesRecommended,
|
|
45
|
-
},
|
|
46
|
-
all: {
|
|
47
|
-
plugins: {
|
|
48
|
-
'@docusaurus': plugin,
|
|
49
|
-
},
|
|
50
|
-
rules: rulesAll,
|
|
23
|
+
rules: {
|
|
24
|
+
'@docusaurus/string-literal-i18n-messages': 'error',
|
|
25
|
+
'@docusaurus/no-untranslated-text': 'warn',
|
|
26
|
+
'@docusaurus/no-html-links': 'warn',
|
|
27
|
+
'@docusaurus/prefer-docusaurus-heading': 'warn',
|
|
51
28
|
},
|
|
52
29
|
},
|
|
53
30
|
},
|
|
54
31
|
};
|
|
55
|
-
module.exports = compatPlugin;
|
package/lib/rules/index.d.ts
CHANGED
|
@@ -5,21 +5,13 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
declare const _default: {
|
|
8
|
-
'no-untranslated-text': import("@typescript-eslint/utils/ts-eslint").RuleModule<"translateChildren", [{
|
|
8
|
+
'no-untranslated-text': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"translateChildren", [{
|
|
9
9
|
ignoredStrings: string[];
|
|
10
|
-
}], import("
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
'string-literal-i18n-messages': import("@typescript-eslint/utils/ts-eslint").RuleModule<"translateChildren" | "translateArg", [], import("../util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
14
|
-
name: string;
|
|
15
|
-
};
|
|
16
|
-
'no-html-links': import("@typescript-eslint/utils/ts-eslint").RuleModule<"link", [{
|
|
10
|
+
}], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
11
|
+
'string-literal-i18n-messages': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"translateChildren" | "translateArg", [], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
12
|
+
'no-html-links': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"link", [{
|
|
17
13
|
ignoreFullyResolved: boolean;
|
|
18
|
-
}], import("
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
'prefer-docusaurus-heading': import("@typescript-eslint/utils/ts-eslint").RuleModule<"headings", [], import("../util").PluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
22
|
-
name: string;
|
|
23
|
-
};
|
|
14
|
+
}], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
15
|
+
'prefer-docusaurus-heading': import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"headings", [], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
24
16
|
};
|
|
25
17
|
export default _default;
|
|
@@ -9,7 +9,5 @@ type Options = [
|
|
|
9
9
|
ignoreFullyResolved: boolean;
|
|
10
10
|
}
|
|
11
11
|
];
|
|
12
|
-
declare const _default: import("@typescript-eslint/utils/ts-eslint").RuleModule<"link", Options, import("
|
|
13
|
-
name: string;
|
|
14
|
-
};
|
|
12
|
+
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"link", Options, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
15
13
|
export default _default;
|
|
@@ -16,7 +16,7 @@ function isFullyResolvedUrl(urlString) {
|
|
|
16
16
|
return true;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
catch { }
|
|
19
|
+
catch (e) { }
|
|
20
20
|
return false;
|
|
21
21
|
}
|
|
22
22
|
exports.default = (0, util_1.createRule)({
|
|
@@ -32,14 +32,12 @@ exports.default = (0, util_1.createRule)({
|
|
|
32
32
|
type: 'object',
|
|
33
33
|
properties: {
|
|
34
34
|
ignoreFullyResolved: {
|
|
35
|
-
description: 'Set to true will not report any <a> tags with absolute URLs including a protocol.',
|
|
36
35
|
type: 'boolean',
|
|
37
36
|
},
|
|
38
37
|
},
|
|
39
38
|
additionalProperties: false,
|
|
40
39
|
},
|
|
41
40
|
],
|
|
42
|
-
defaultOptions: [{ ignoreFullyResolved: false }],
|
|
43
41
|
messages: {
|
|
44
42
|
link: `Do not use an \`<a>\` element to navigate. Use the \`<Link />\` component from \`@docusaurus/Link\` instead. See: ${docsUrl}`,
|
|
45
43
|
},
|
|
@@ -9,7 +9,5 @@ type Options = [
|
|
|
9
9
|
ignoredStrings: string[];
|
|
10
10
|
}
|
|
11
11
|
];
|
|
12
|
-
declare const _default: import("@typescript-eslint/utils/ts-eslint").RuleModule<"translateChildren", Options, import("
|
|
13
|
-
name: string;
|
|
14
|
-
};
|
|
12
|
+
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"translateChildren", Options, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
15
13
|
export default _default;
|
|
@@ -24,17 +24,11 @@ exports.default = (0, util_1.createRule)({
|
|
|
24
24
|
items: {
|
|
25
25
|
type: 'string',
|
|
26
26
|
},
|
|
27
|
-
description: 'Text labels that only contain strings in this list will not be reported.',
|
|
28
27
|
},
|
|
29
28
|
},
|
|
30
29
|
additionalProperties: false,
|
|
31
30
|
},
|
|
32
31
|
],
|
|
33
|
-
defaultOptions: [
|
|
34
|
-
{
|
|
35
|
-
ignoredStrings: [],
|
|
36
|
-
},
|
|
37
|
-
],
|
|
38
32
|
messages: {
|
|
39
33
|
translateChildren: 'All text labels in JSX should be wrapped by translate calls',
|
|
40
34
|
},
|
|
@@ -4,7 +4,5 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
declare const _default: import("@typescript-eslint/utils/ts-eslint").RuleModule<"headings", [], import("
|
|
8
|
-
name: string;
|
|
9
|
-
};
|
|
7
|
+
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"headings", [], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
10
8
|
export default _default;
|
|
@@ -5,7 +5,5 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
type MessageIds = 'translateChildren' | 'translateArg';
|
|
8
|
-
declare const _default: import("@typescript-eslint/utils/ts-eslint").RuleModule<MessageIds, [], import("
|
|
9
|
-
name: string;
|
|
10
|
-
};
|
|
8
|
+
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>;
|
|
11
9
|
export default _default;
|
package/lib/util.d.ts
CHANGED
|
@@ -4,16 +4,12 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import { ESLintUtils
|
|
7
|
+
import { ESLintUtils } from '@typescript-eslint/utils';
|
|
8
|
+
import type { TSESTree } from '@typescript-eslint/types/dist/ts-estree';
|
|
8
9
|
type CheckTranslateChildOptions = {
|
|
9
10
|
ignoredStrings?: string[];
|
|
10
11
|
};
|
|
11
12
|
export declare function isStringWithoutExpressions(text: TSESTree.Node, options?: CheckTranslateChildOptions): boolean;
|
|
12
13
|
export declare function isTextLabelChild(child: TSESTree.JSXChild, options?: CheckTranslateChildOptions): boolean;
|
|
13
|
-
export
|
|
14
|
-
recommended: boolean | 'error';
|
|
15
|
-
}
|
|
16
|
-
export declare const createRule: <Options extends readonly unknown[], MessageIds extends string>({ meta, name, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<Options, MessageIds, PluginDocs>>) => ESLintUtils.RuleModule<MessageIds, Options, PluginDocs, ESLintUtils.RuleListener> & {
|
|
17
|
-
name: string;
|
|
18
|
-
};
|
|
14
|
+
export declare const createRule: <TOptions extends readonly unknown[], TMessageIds extends string, TRuleListener extends import("@typescript-eslint/utils/dist/ts-eslint").RuleListener = import("@typescript-eslint/utils/dist/ts-eslint").RuleListener>({ name, meta, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<TOptions, TMessageIds, TRuleListener>>) => import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<TMessageIds, TOptions, TRuleListener>;
|
|
19
15
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/eslint-plugin",
|
|
3
|
-
"version": "3.10.
|
|
3
|
+
"version": "3.10.2",
|
|
4
4
|
"description": "ESLint plugin to enforce best Docusaurus practices.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"keywords": [
|
|
@@ -18,22 +18,20 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"scripts": {
|
|
21
|
-
"build": "tsc"
|
|
22
|
-
"watch": "tsc --watch"
|
|
21
|
+
"build": "tsc"
|
|
23
22
|
},
|
|
24
23
|
"dependencies": {
|
|
25
|
-
"@typescript-eslint/
|
|
26
|
-
"@typescript-eslint/utils": "^8.59.3",
|
|
24
|
+
"@typescript-eslint/utils": "^5.62.0",
|
|
27
25
|
"tslib": "^2.6.0"
|
|
28
26
|
},
|
|
29
27
|
"devDependencies": {
|
|
30
|
-
"
|
|
28
|
+
"eslint-plugin-eslint-plugin": "^5.1.0"
|
|
31
29
|
},
|
|
32
30
|
"peerDependencies": {
|
|
33
|
-
"eslint": ">=
|
|
31
|
+
"eslint": ">=6"
|
|
34
32
|
},
|
|
35
33
|
"engines": {
|
|
36
|
-
"node": ">=
|
|
34
|
+
"node": ">=20.0"
|
|
37
35
|
},
|
|
38
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "f37f9035584917a97a260b91fc2842cba4f8b94f"
|
|
39
37
|
}
|
package/src/index.ts
CHANGED
|
@@ -5,57 +5,28 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {name, version} from '../package.json';
|
|
9
|
-
|
|
10
8
|
import rules from './rules';
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
// @ts-expect-error: TODO try to remove later
|
|
11
|
+
export = {
|
|
14
12
|
rules,
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const rulesRecommended = {
|
|
18
|
-
'@docusaurus/string-literal-i18n-messages': 'error',
|
|
19
|
-
'@docusaurus/no-html-links': 'warn',
|
|
20
|
-
'@docusaurus/prefer-docusaurus-heading': 'warn',
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const rulesAll = {
|
|
24
|
-
'@docusaurus/string-literal-i18n-messages': 'error',
|
|
25
|
-
'@docusaurus/no-untranslated-text': 'warn',
|
|
26
|
-
'@docusaurus/no-html-links': 'warn',
|
|
27
|
-
'@docusaurus/prefer-docusaurus-heading': 'warn',
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
// Supports both legacy/flat configs:
|
|
31
|
-
// https://eslint.org/docs/latest/extend/plugins#backwards-compatibility-for-legacy-configs
|
|
32
|
-
const compatPlugin = {
|
|
33
|
-
...plugin,
|
|
34
13
|
configs: {
|
|
35
14
|
recommended: {
|
|
36
15
|
plugins: ['@docusaurus'],
|
|
37
|
-
rules:
|
|
16
|
+
rules: {
|
|
17
|
+
'@docusaurus/string-literal-i18n-messages': 'error',
|
|
18
|
+
'@docusaurus/no-html-links': 'warn',
|
|
19
|
+
'@docusaurus/prefer-docusaurus-heading': 'warn',
|
|
20
|
+
},
|
|
38
21
|
},
|
|
39
22
|
all: {
|
|
40
23
|
plugins: ['@docusaurus'],
|
|
41
|
-
rules:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
'@docusaurus': plugin,
|
|
47
|
-
},
|
|
48
|
-
rules: rulesRecommended,
|
|
49
|
-
},
|
|
50
|
-
all: {
|
|
51
|
-
plugins: {
|
|
52
|
-
'@docusaurus': plugin,
|
|
53
|
-
},
|
|
54
|
-
rules: rulesAll,
|
|
24
|
+
rules: {
|
|
25
|
+
'@docusaurus/string-literal-i18n-messages': 'error',
|
|
26
|
+
'@docusaurus/no-untranslated-text': 'warn',
|
|
27
|
+
'@docusaurus/no-html-links': 'warn',
|
|
28
|
+
'@docusaurus/prefer-docusaurus-heading': 'warn',
|
|
55
29
|
},
|
|
56
30
|
},
|
|
57
31
|
},
|
|
58
32
|
};
|
|
59
|
-
|
|
60
|
-
// @ts-expect-error: TODO try to remove later
|
|
61
|
-
export = compatPlugin;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import {createRule} from '../util';
|
|
9
|
-
import type {TSESTree} from '@typescript-eslint/types';
|
|
9
|
+
import type {TSESTree} from '@typescript-eslint/types/dist/ts-estree';
|
|
10
10
|
|
|
11
11
|
const docsUrl = 'https://docusaurus.io/docs/docusaurus-core#link';
|
|
12
12
|
|
|
@@ -25,7 +25,7 @@ function isFullyResolvedUrl(urlString: string): boolean {
|
|
|
25
25
|
if (url.protocol) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
-
} catch {}
|
|
28
|
+
} catch (e) {}
|
|
29
29
|
return false;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -42,15 +42,12 @@ export default createRule<Options, MessageIds>({
|
|
|
42
42
|
type: 'object',
|
|
43
43
|
properties: {
|
|
44
44
|
ignoreFullyResolved: {
|
|
45
|
-
description:
|
|
46
|
-
'Set to true will not report any <a> tags with absolute URLs including a protocol.',
|
|
47
45
|
type: 'boolean',
|
|
48
46
|
},
|
|
49
47
|
},
|
|
50
48
|
additionalProperties: false,
|
|
51
49
|
},
|
|
52
50
|
],
|
|
53
|
-
defaultOptions: [{ignoreFullyResolved: false}],
|
|
54
51
|
messages: {
|
|
55
52
|
link: `Do not use an \`<a>\` element to navigate. Use the \`<Link />\` component from \`@docusaurus/Link\` instead. See: ${docsUrl}`,
|
|
56
53
|
},
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import {isTextLabelChild, createRule} from '../util';
|
|
9
|
-
import type {TSESTree} from '@typescript-eslint/types';
|
|
9
|
+
import type {TSESTree} from '@typescript-eslint/types/dist/ts-estree';
|
|
10
10
|
|
|
11
11
|
type Options = [
|
|
12
12
|
{
|
|
@@ -24,7 +24,6 @@ export default createRule<Options, MessageIds>({
|
|
|
24
24
|
'enforce text labels in JSX to be wrapped by translate calls',
|
|
25
25
|
recommended: false,
|
|
26
26
|
},
|
|
27
|
-
|
|
28
27
|
schema: [
|
|
29
28
|
{
|
|
30
29
|
type: 'object',
|
|
@@ -34,18 +33,11 @@ export default createRule<Options, MessageIds>({
|
|
|
34
33
|
items: {
|
|
35
34
|
type: 'string',
|
|
36
35
|
},
|
|
37
|
-
description:
|
|
38
|
-
'Text labels that only contain strings in this list will not be reported.',
|
|
39
36
|
},
|
|
40
37
|
},
|
|
41
38
|
additionalProperties: false,
|
|
42
39
|
},
|
|
43
40
|
],
|
|
44
|
-
defaultOptions: [
|
|
45
|
-
{
|
|
46
|
-
ignoredStrings: [],
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
41
|
messages: {
|
|
50
42
|
translateChildren:
|
|
51
43
|
'All text labels in JSX should be wrapped by translate calls',
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
isStringWithoutExpressions,
|
|
11
11
|
createRule,
|
|
12
12
|
} from '../util';
|
|
13
|
-
import type {TSESTree} from '@typescript-eslint/types';
|
|
13
|
+
import type {TSESTree} from '@typescript-eslint/types/dist/ts-estree';
|
|
14
14
|
|
|
15
15
|
type Options = [];
|
|
16
16
|
type MessageIds = 'translateChildren' | 'translateArg';
|
package/src/util.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {ESLintUtils
|
|
8
|
+
import {ESLintUtils} from '@typescript-eslint/utils';
|
|
9
|
+
import type {TSESTree} from '@typescript-eslint/types/dist/ts-estree';
|
|
9
10
|
|
|
10
11
|
type CheckTranslateChildOptions = {
|
|
11
12
|
ignoredStrings?: string[];
|
|
@@ -60,14 +61,7 @@ export function isTextLabelChild(
|
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
|
|
64
|
-
// See https://typescript-eslint.io/blog/announcing-typescript-eslint-v8/#custom-rule-metadocs-types
|
|
65
|
-
// See https://github.com/typescript-eslint/typescript-eslint/pull/9025
|
|
66
|
-
export interface PluginDocs {
|
|
67
|
-
recommended: boolean | 'error';
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export const createRule = ESLintUtils.RuleCreator<PluginDocs>(
|
|
64
|
+
export const createRule = ESLintUtils.RuleCreator(
|
|
71
65
|
(name) =>
|
|
72
66
|
`https://docusaurus.io/docs/api/misc/@docusaurus/eslint-plugin/${name}`,
|
|
73
67
|
);
|