UNPKG

4.92 kBTypeScriptView Raw
1import { Linter } from "../index";
2
3export interface Variables extends Linter.RulesRecord {
4 /**
5 * Rule to require or disallow initialization in variable declarations.
6 *
7 * @since 1.0.0-rc-1
8 * @see https://eslint.org/docs/rules/init-declarations
9 */
10 "init-declarations":
11 | Linter.RuleEntry<["always"]>
12 | Linter.RuleEntry<
13 [
14 "never",
15 Partial<{
16 ignoreForLoopInit: boolean;
17 }>,
18 ]
19 >;
20
21 /**
22 * Rule to disallow deleting variables.
23 *
24 * @remarks
25 * Recommended by ESLint, the rule was enabled in `eslint:recommended`.
26 *
27 * @since 0.0.9
28 * @see https://eslint.org/docs/rules/no-delete-var
29 */
30 "no-delete-var": Linter.RuleEntry<[]>;
31
32 /**
33 * Rule to disallow labels that share a name with a variable.
34 *
35 * @since 0.0.9
36 * @see https://eslint.org/docs/rules/no-label-var
37 */
38 "no-label-var": Linter.RuleEntry<[]>;
39
40 /**
41 * Rule to disallow specified global variables.
42 *
43 * @since 2.3.0
44 * @see https://eslint.org/docs/rules/no-restricted-globals
45 */
46 "no-restricted-globals": Linter.RuleEntry<
47 [
48 ...Array<
49 | string
50 | {
51 name: string;
52 message?: string | undefined;
53 }
54 >
55 ]
56 >;
57
58 /**
59 * Rule to disallow variable declarations from shadowing variables declared in the outer scope.
60 *
61 * @since 0.0.9
62 * @see https://eslint.org/docs/rules/no-shadow
63 */
64 "no-shadow": Linter.RuleEntry<
65 [
66 Partial<{
67 /**
68 * @default false
69 */
70 builtinGlobals: boolean;
71 /**
72 * @default 'functions'
73 */
74 hoist: "functions" | "all" | "never";
75 allow: string[];
76 }>,
77 ]
78 >;
79
80 /**
81 * Rule to disallow identifiers from shadowing restricted names.
82 *
83 * @remarks
84 * Recommended by ESLint, the rule was enabled in `eslint:recommended`.
85 *
86 * @since 0.1.4
87 * @see https://eslint.org/docs/rules/no-shadow-restricted-names
88 */
89 "no-shadow-restricted-names": Linter.RuleEntry<[]>;
90
91 /**
92 * Rule to disallow the use of undeclared variables unless mentioned in `global` comments.
93 *
94 * @remarks
95 * Recommended by ESLint, the rule was enabled in `eslint:recommended`.
96 *
97 * @since 0.0.9
98 * @see https://eslint.org/docs/rules/no-undef
99 */
100 "no-undef": Linter.RuleEntry<
101 [
102 Partial<{
103 /**
104 * @default false
105 */
106 typeof: boolean;
107 }>,
108 ]
109 >;
110
111 /**
112 * Rule to disallow initializing variables to `undefined`.
113 *
114 * @since 0.0.6
115 * @see https://eslint.org/docs/rules/no-undef-init
116 */
117 "no-undef-init": Linter.RuleEntry<[]>;
118
119 /**
120 * Rule to disallow the use of `undefined` as an identifier.
121 *
122 * @since 0.7.1
123 * @see https://eslint.org/docs/rules/no-undefined
124 */
125 "no-undefined": Linter.RuleEntry<[]>;
126
127 /**
128 * Rule to disallow unused variables.
129 *
130 * @remarks
131 * Recommended by ESLint, the rule was enabled in `eslint:recommended`.
132 *
133 * @since 0.0.9
134 * @see https://eslint.org/docs/rules/no-unused-vars
135 */
136 "no-unused-vars": Linter.RuleEntry<
137 [
138 Partial<{
139 /**
140 * @default 'all'
141 */
142 vars: "all" | "local";
143 varsIgnorePattern: string;
144 /**
145 * @default 'after-used'
146 */
147 args: "after-used" | "all" | "none";
148 /**
149 * @default false
150 */
151 ignoreRestSiblings: boolean;
152 argsIgnorePattern: string;
153 /**
154 * @default 'none'
155 */
156 caughtErrors: "none" | "all";
157 caughtErrorsIgnorePattern: string;
158 }>,
159 ]
160 >;
161
162 /**
163 * Rule to disallow the use of variables before they are defined.
164 *
165 * @since 0.0.9
166 * @see https://eslint.org/docs/rules/no-use-before-define
167 */
168 "no-use-before-define": Linter.RuleEntry<
169 [
170 | Partial<{
171 /**
172 * @default true
173 */
174 functions: boolean;
175 /**
176 * @default true
177 */
178 classes: boolean;
179 /**
180 * @default true
181 */
182 variables: boolean;
183 }>
184 | "nofunc",
185 ]
186 >;
187}