Skip to content

Commit 4c762a6

Browse files
committed
chore(lint): enable lint check for duplicate vars
1 parent 0426325 commit 4c762a6

File tree

6 files changed

+36
-28
lines changed

6 files changed

+36
-28
lines changed

modules/@angular/compiler/src/animation/animation_parser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ function _parseAnimationKeyframes(
317317
}
318318

319319
var firstKeyframeStyles = firstKeyframe[1];
320-
var limit = rawKeyframes.length - 1;
320+
limit = rawKeyframes.length - 1;
321321
var lastKeyframe = rawKeyframes[limit];
322322
if (lastKeyframe[0] != _TERMINAL_KEYFRAME) {
323323
rawKeyframes.push(lastKeyframe = [_TERMINAL_KEYFRAME, {}]);

modules/@angular/compiler/src/css_parser.ts

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -236,40 +236,46 @@ export class CssParser {
236236

237237
var block: CssBlockAst;
238238
var type = this._resolveBlockType(token);
239+
var span: ParseSourceSpan;
240+
var tokens: CssToken[];
241+
var endToken: CssToken;
242+
var end: number;
243+
var strValue: string;
244+
var query: CssAtRulePredicateAst;
239245
switch (type) {
240246
case BlockType.Charset:
241247
case BlockType.Namespace:
242248
case BlockType.Import:
243-
var value = this._parseValue(delimiters);
249+
let value = this._parseValue(delimiters);
244250
this._scanner.setMode(CssLexerMode.BLOCK);
245251
this._scanner.consumeEmptyStatements();
246-
var span = this._generateSourceSpan(startToken, value);
252+
span = this._generateSourceSpan(startToken, value);
247253
return new CssInlineRuleAst(span, type, value);
248254

249255
case BlockType.Viewport:
250256
case BlockType.FontFace:
251257
block = this._parseStyleBlock(delimiters);
252-
var span = this._generateSourceSpan(startToken, block);
258+
span = this._generateSourceSpan(startToken, block);
253259
return new CssBlockRuleAst(span, type, block);
254260

255261
case BlockType.Keyframes:
256-
var tokens = this._collectUntilDelim(delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG);
262+
tokens = this._collectUntilDelim(delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG);
257263
// keyframes only have one identifier name
258-
var name = tokens[0];
259-
var block = this._parseKeyframeBlock(delimiters);
260-
var span = this._generateSourceSpan(startToken, block);
264+
let name = tokens[0];
265+
block = this._parseKeyframeBlock(delimiters);
266+
span = this._generateSourceSpan(startToken, block);
261267
return new CssKeyframeRuleAst(span, name, block);
262268

263269
case BlockType.MediaQuery:
264270
this._scanner.setMode(CssLexerMode.MEDIA_QUERY);
265-
var tokens = this._collectUntilDelim(delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG);
266-
var endToken = tokens[tokens.length - 1];
271+
tokens = this._collectUntilDelim(delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG);
272+
endToken = tokens[tokens.length - 1];
267273
// we do not track the whitespace after the mediaQuery predicate ends
268274
// so we have to calculate the end string value on our own
269-
var end = endToken.index + endToken.strValue.length - 1;
270-
var strValue = this._extractSourceContent(start, end);
271-
var span = this._generateSourceSpan(startToken, endToken);
272-
var query = new CssAtRulePredicateAst(span, strValue, tokens);
275+
end = endToken.index + endToken.strValue.length - 1;
276+
strValue = this._extractSourceContent(start, end);
277+
span = this._generateSourceSpan(startToken, endToken);
278+
query = new CssAtRulePredicateAst(span, strValue, tokens);
273279
block = this._parseBlock(delimiters);
274280
strValue = this._extractSourceContent(start, this._getScannerIndex() - 1);
275281
span = this._generateSourceSpan(startToken, block);
@@ -279,23 +285,23 @@ export class CssParser {
279285
case BlockType.Supports:
280286
case BlockType.Page:
281287
this._scanner.setMode(CssLexerMode.AT_RULE_QUERY);
282-
var tokens = this._collectUntilDelim(delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG);
283-
var endToken = tokens[tokens.length - 1];
288+
tokens = this._collectUntilDelim(delimiters | RBRACE_DELIM_FLAG | LBRACE_DELIM_FLAG);
289+
endToken = tokens[tokens.length - 1];
284290
// we do not track the whitespace after this block rule predicate ends
285291
// so we have to calculate the end string value on our own
286-
var end = endToken.index + endToken.strValue.length - 1;
287-
var strValue = this._extractSourceContent(start, end);
288-
var span = this._generateSourceSpan(startToken, tokens[tokens.length - 1]);
289-
var query = new CssAtRulePredicateAst(span, strValue, tokens);
292+
end = endToken.index + endToken.strValue.length - 1;
293+
strValue = this._extractSourceContent(start, end);
294+
span = this._generateSourceSpan(startToken, tokens[tokens.length - 1]);
295+
query = new CssAtRulePredicateAst(span, strValue, tokens);
290296
block = this._parseBlock(delimiters);
291297
strValue = this._extractSourceContent(start, block.end.offset);
292298
span = this._generateSourceSpan(startToken, block);
293299
return new CssBlockDefinitionRuleAst(span, strValue, type, query, block);
294300

295301
// if a custom @rule { ... } is used it should still tokenize the insides
296302
default:
297-
var listOfTokens: CssToken[] = [];
298-
var tokenName = token.strValue;
303+
let listOfTokens: CssToken[] = [];
304+
let tokenName = token.strValue;
299305
this._scanner.setMode(CssLexerMode.ALL);
300306
this._error(
301307
generateErrorMessage(
@@ -312,8 +318,8 @@ export class CssParser {
312318
.forEach((token) => { listOfTokens.push(token); });
313319
listOfTokens.push(this._consume(CssTokenType.Character, '}'));
314320
}
315-
var endToken = listOfTokens[listOfTokens.length - 1];
316-
var span = this._generateSourceSpan(startToken, endToken);
321+
endToken = listOfTokens[listOfTokens.length - 1];
322+
span = this._generateSourceSpan(startToken, endToken);
317323
return new CssUnknownRuleAst(span, tokenName, listOfTokens);
318324
}
319325
}

modules/@angular/compiler/src/expression_parser/parser.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,19 +449,20 @@ export class _ParseAST {
449449
if (this.next.type == TokenType.Operator) {
450450
const start = this.inputIndex;
451451
const operator = this.next.strValue;
452+
let result: AST;
452453
switch (operator) {
453454
case '+':
454455
this.advance();
455456
return this.parsePrefix();
456457
case '-':
457458
this.advance();
458-
var result = this.parsePrefix();
459+
result = this.parsePrefix();
459460
return new Binary(
460461
this.span(start), operator, new LiteralPrimitive(new ParseSpan(start, start), 0),
461462
result);
462463
case '!':
463464
this.advance();
464-
var result = this.parsePrefix();
465+
result = this.parsePrefix();
465466
return new PrefixNot(this.span(start), result);
466467
}
467468
}

modules/@angular/examples/core/di/ts/forward_ref/forward_ref.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ expect(door.lock instanceof Lock).toBe(true);
2929
// #enddocregion
3030

3131
// #docregion resolve_forward_ref
32-
var ref = forwardRef(() => 'refValue');
32+
ref = forwardRef(() => 'refValue');
3333
expect(resolveForwardRef(ref)).toEqual('refValue');
3434
expect(resolveForwardRef('regularValue')).toEqual('regularValue');
3535
// #enddocregion

modules/@angular/upgrade/src/metadata.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export function getComponentInfo(type: Type): ComponentInfo {
3737
if (!selector.match(COMPONENT_SELECTOR)) {
3838
throw new Error('Only selectors matching element names are supported, got: ' + selector);
3939
}
40-
var selector = selector.replace(
40+
selector = selector.replace(
4141
SKEWER_CASE, (all: any /** TODO #9100 */, letter: string) => letter.toUpperCase());
4242
return {
4343
type: type,

tslint.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"requireInternalWithUnderscore": true,
44
"duplicateModuleImport": true,
55
"enforce-copyright-header": true,
6+
"no-duplicate-variable": true,
67
"semicolon": true,
78
"variable-name": [true, "ban-keywords"]
89
}

0 commit comments

Comments
 (0)