@typescript-eslint/utils 8.50.2-alpha.5 → 8.50.2-alpha.6
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.
|
@@ -9,18 +9,22 @@ export interface RuleCreateAndOptions<Options extends readonly unknown[], Messag
|
|
|
9
9
|
}
|
|
10
10
|
export interface RuleWithMeta<Options extends readonly unknown[], MessageIds extends string, Docs = unknown> extends RuleCreateAndOptions<Options, MessageIds> {
|
|
11
11
|
meta: RuleMetaData<MessageIds, Docs, Options>;
|
|
12
|
+
name?: string;
|
|
12
13
|
}
|
|
13
14
|
export interface RuleWithMetaAndName<Options extends readonly unknown[], MessageIds extends string, Docs = unknown> extends RuleCreateAndOptions<Options, MessageIds> {
|
|
14
15
|
meta: NamedCreateRuleMeta<MessageIds, Docs, Options>;
|
|
15
16
|
name: string;
|
|
16
17
|
}
|
|
18
|
+
type RuleModuleWithName<MessageIds extends string, Options extends readonly unknown[] = [], Docs = unknown, ExtendedRuleListener extends RuleListener = RuleListener> = RuleModule<MessageIds, Options, Docs, ExtendedRuleListener> & {
|
|
19
|
+
name: string;
|
|
20
|
+
};
|
|
17
21
|
/**
|
|
18
22
|
* Creates reusable function to create rules with default options and docs URLs.
|
|
19
23
|
*
|
|
20
24
|
* @param urlCreator Creates a documentation URL for a given rule name.
|
|
21
25
|
* @returns Function to create a rule with the docs URL format.
|
|
22
26
|
*/
|
|
23
|
-
export declare function RuleCreator<PluginDocs = unknown>(urlCreator: (ruleName: string) => string): <Options extends readonly unknown[], MessageIds extends string>({ meta, name, ...rule }: Readonly<RuleWithMetaAndName<Options, MessageIds, PluginDocs>>) =>
|
|
27
|
+
export declare function RuleCreator<PluginDocs = unknown>(urlCreator: (ruleName: string) => string): <Options extends readonly unknown[], MessageIds extends string>({ meta, name, ...rule }: Readonly<RuleWithMetaAndName<Options, MessageIds, PluginDocs>>) => RuleModuleWithName<MessageIds, Options, PluginDocs>;
|
|
24
28
|
export declare namespace RuleCreator {
|
|
25
29
|
var withoutDocs: <Options extends readonly unknown[], MessageIds extends string>(args: Readonly<RuleWithMeta<Options, MessageIds>>) => RuleModule<MessageIds, Options>;
|
|
26
30
|
}
|
|
@@ -12,7 +12,7 @@ function RuleCreator(urlCreator) {
|
|
|
12
12
|
// This function will get much easier to call when this is merged https://github.com/Microsoft/TypeScript/pull/26349
|
|
13
13
|
// TODO - when the above PR lands; add type checking for the context.report `data` property
|
|
14
14
|
return function createNamedRule({ meta, name, ...rule }) {
|
|
15
|
-
|
|
15
|
+
const ruleWithDocs = createRule({
|
|
16
16
|
meta: {
|
|
17
17
|
...meta,
|
|
18
18
|
docs: {
|
|
@@ -20,11 +20,13 @@ function RuleCreator(urlCreator) {
|
|
|
20
20
|
url: urlCreator(name),
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
|
+
name,
|
|
23
24
|
...rule,
|
|
24
25
|
});
|
|
26
|
+
return ruleWithDocs;
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
|
-
function createRule({ create, defaultOptions, meta, }) {
|
|
29
|
+
function createRule({ create, defaultOptions, meta, name, }) {
|
|
28
30
|
return {
|
|
29
31
|
create(context) {
|
|
30
32
|
const optionsWithDefault = (0, applyDefault_1.applyDefault)(defaultOptions, context.options);
|
|
@@ -32,6 +34,7 @@ function createRule({ create, defaultOptions, meta, }) {
|
|
|
32
34
|
},
|
|
33
35
|
defaultOptions,
|
|
34
36
|
meta,
|
|
37
|
+
name,
|
|
35
38
|
};
|
|
36
39
|
}
|
|
37
40
|
/**
|
package/dist/ts-eslint/Rule.d.ts
CHANGED
|
@@ -574,6 +574,10 @@ export interface RuleModule<MessageIds extends string, Options extends readonly
|
|
|
574
574
|
* Metadata about the rule
|
|
575
575
|
*/
|
|
576
576
|
meta: RuleMetaData<MessageIds, Docs, Options>;
|
|
577
|
+
/**
|
|
578
|
+
* Rule name
|
|
579
|
+
*/
|
|
580
|
+
name?: string;
|
|
577
581
|
}
|
|
578
582
|
export type AnyRuleModule = RuleModule<string, readonly unknown[]>;
|
|
579
583
|
export interface RuleModuleWithMetaDocs<MessageIds extends string, Options extends readonly unknown[] = [], Docs = unknown, ExtendedRuleListener extends RuleListener = RuleListener> extends RuleModule<MessageIds, Options, Docs, ExtendedRuleListener> {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typescript-eslint/utils",
|
|
3
|
-
"version": "8.50.2-alpha.
|
|
3
|
+
"version": "8.50.2-alpha.6",
|
|
4
4
|
"description": "Utilities for working with TypeScript + ESLint together",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@eslint-community/eslint-utils": "^4.7.0",
|
|
65
|
-
"@typescript-eslint/scope-manager": "8.50.2-alpha.
|
|
66
|
-
"@typescript-eslint/types": "8.50.2-alpha.
|
|
67
|
-
"@typescript-eslint/typescript-estree": "8.50.2-alpha.
|
|
65
|
+
"@typescript-eslint/scope-manager": "8.50.2-alpha.6",
|
|
66
|
+
"@typescript-eslint/types": "8.50.2-alpha.6",
|
|
67
|
+
"@typescript-eslint/typescript-estree": "8.50.2-alpha.6"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"eslint": "^8.57.0 || ^9.0.0",
|