Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 918a9cc

Browse filesBrowse files
committed
Fix: Fixes linting errors (fixes eslint#10)
1 parent ad13a93 commit 918a9cc
Copy full SHA for 918a9cc

File tree

Expand file treeCollapse file tree

7 files changed

+190
-62
lines changed
Filter options
Expand file treeCollapse file tree

7 files changed

+190
-62
lines changed

‎Makefile.js

Copy file name to clipboardExpand all lines: Makefile.js
+13-4Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @fileoverview Build file
33
* @author nzakas
44
*/
5-
/*global cat, cp, echo, exec, exit, find, mkdir, mv, rm, target, test*/
5+
/* global cat, cp, echo, exec, exit, find, mkdir, mv, rm, target, test */
66

77
"use strict";
88

@@ -39,10 +39,10 @@ var NODE_MODULES = "./node_modules/",
3939

4040
// Files
4141
MAKEFILE = "./Makefile.js",
42-
/*eslint-disable no-use-before-define */
42+
/* eslint-disable no-use-before-define */
4343
JS_FILES = find("lib/").filter(fileType("js")).join(" ") + " espree.js",
4444
TEST_FILES = find("tests/lib/").filter(fileType("js")).join(" ");
45-
/*eslint-enable no-use-before-define */
45+
/* eslint-enable no-use-before-define */
4646

4747
//------------------------------------------------------------------------------
4848
// Helpers
@@ -103,6 +103,10 @@ function splitCommandResultToLines(result) {
103103
return result.trim().split("\n");
104104
}
105105

106+
/**
107+
* Returns a list of sorted, valid semtantic-verisioning git tags
108+
* @returns {array} The version tags
109+
*/
106110
function getVersionTags() {
107111
var tags = splitCommandResultToLines(exec("git tag", { silent: true }).output);
108112

@@ -230,6 +234,11 @@ target.changelog = function() {
230234

231235
target.checkLicenses = function() {
232236

237+
/**
238+
* Returns true if the given dependency's licenses are all permissable for use in OSS
239+
* @param {object} dependency object containing the name and licenses of the given dependency
240+
* @returns {boolean} is permissable dependency
241+
*/
233242
function isPermissible(dependency) {
234243
var licenses = dependency.licenses;
235244

@@ -262,7 +271,7 @@ target.checkLicenses = function() {
262271
});
263272

264273
if (impermissible.length) {
265-
impermissible.forEach(function (dependency) {
274+
impermissible.forEach(function(dependency) {
266275
console.error("%s license for %s is impermissible.",
267276
dependency.licenses,
268277
dependency.name

‎lib/ast-converter.js

Copy file name to clipboardExpand all lines: lib/ast-converter.js
+110-20Lines changed: 110 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ var ts = require("typescript"),
3737
// Private
3838
//------------------------------------------------------------------------------
3939

40-
var SyntaxKind = ts.SyntaxKind,
41-
TokenClass = ts.TokenClass;
40+
var SyntaxKind = ts.SyntaxKind;
41+
// var TokenClass = ts.TokenClass;
4242

4343
var ASSIGNMENT_OPERATORS = [
4444
SyntaxKind.EqualsToken,
@@ -115,22 +115,47 @@ TOKEN_TO_TEXT[SyntaxKind.CaretEqualsToken] = "^=";
115115
TOKEN_TO_TEXT[SyntaxKind.AtToken] = "@";
116116
TOKEN_TO_TEXT[SyntaxKind.InKeyword] = "in";
117117

118+
/**
119+
* Returns true if the given node is a valid ESTree class member
120+
* @param {object} node AST node
121+
* @returns {boolean} is valid class member
122+
*/
118123
function isESTreeClassMember(node) {
119124
return node.kind !== SyntaxKind.PropertyDeclaration && node.kind !== SyntaxKind.SemicolonClassElement;
120125
}
121126

127+
/**
128+
* Returns true if the given token is a comma
129+
* @param {object} token the syntax token
130+
* @returns {boolean} is comma
131+
*/
122132
function isComma(token) {
123133
return token.kind === SyntaxKind.CommaToken;
124134
}
125135

136+
/**
137+
* Returns true if the given operator is the assignment operator
138+
* @param {object} operator the operator
139+
* @returns {boolean} is assignment
140+
*/
126141
function isAssignmentOperator(operator) {
127142
return ASSIGNMENT_OPERATORS.indexOf(operator.kind) > -1;
128143
}
129144

145+
/**
146+
* Returns true if the given operator is a logical operator
147+
* @param {object} operator the operator
148+
* @returns {boolean} is a logical operator
149+
*/
130150
function isLogicalOperator(operator) {
131151
return LOGICAL_OPERATORS.indexOf(operator.kind) > -1;
132152
}
133153

154+
/**
155+
* Returns the binary expression type of the given operator
156+
* @param {object} operator the operator
157+
* @returns {string} the binary expression type
158+
*/
134159
function getBinaryExpressionType(operator) {
135160
if (isAssignmentOperator(operator)) {
136161
return "AssignmentExpression";
@@ -141,6 +166,14 @@ function getBinaryExpressionType(operator) {
141166
}
142167
}
143168

169+
/**
170+
* Returns line and column data for the given start and end positions,
171+
* for the given AST
172+
* @param {object} start start data
173+
* @param {object} end end data
174+
* @param {object} ast the AST object
175+
* @returns {object} the loc data
176+
*/
144177
function getLocFor(start, end, ast) {
145178
var startLoc = ast.getLineAndCharacterOfPosition(start),
146179
endLoc = ast.getLineAndCharacterOfPosition(end);
@@ -157,6 +190,13 @@ function getLocFor(start, end, ast) {
157190
};
158191
}
159192

193+
/**
194+
* Returns line and column data for the given node or token,
195+
* for the given AST
196+
* @param {object} nodeOrToken the node or token
197+
* @param {object} ast the AST object
198+
* @returns {object} the loc data
199+
*/
160200
function getLoc(nodeOrToken, ast) {
161201
return getLocFor(nodeOrToken.getStart(), nodeOrToken.end, ast);
162202
// var start = nodeOrToken.getStart(),
@@ -175,6 +215,13 @@ function getLoc(nodeOrToken, ast) {
175215
// };
176216
}
177217

218+
/**
219+
* Fixes the exports of the given node
220+
* @param {object} node the node
221+
* @param {object} result result
222+
* @param {[type]} ast the AST
223+
* @returns {object} the node with fixed exports
224+
*/
178225
function fixExports(node, result, ast) {
179226
// check for exports
180227
if (node.modifiers && node.modifiers[0].kind === SyntaxKind.ExportKeyword) {
@@ -206,6 +253,11 @@ function fixExports(node, result, ast) {
206253
return result;
207254
}
208255

256+
/**
257+
* Extends and formats a given error object
258+
* @param {object} error the error object
259+
* @returns {object} converted error object
260+
*/
209261
function convertError(error) {
210262

211263
var loc = error.file.getLineAndCharacterOfPosition(error.start);
@@ -218,9 +270,13 @@ function convertError(error) {
218270
};
219271
}
220272

273+
/**
274+
* Returns the type of a given token
275+
* @param {object} token the token
276+
* @returns {string} the token type
277+
*/
221278
function getTokenType(token) {
222279

223-
224280
// Need two checks for keywords since some are also identifiers
225281
if (token.originalKeywordKind) {
226282

@@ -233,7 +289,7 @@ function getTokenType(token) {
233289
return "Identifier";
234290

235291
default:
236-
return "Keyword"
292+
return "Keyword";
237293
}
238294
}
239295

@@ -264,19 +320,23 @@ function getTokenType(token) {
264320
case SyntaxKind.GetKeyword:
265321
case SyntaxKind.SetKeyword:
266322
// falls through
323+
default:
267324
}
268325

269-
270-
271-
272326
return "Identifier";
273327
}
274328

329+
/**
330+
* Extends and formats a given token, for a given AST
331+
* @param {object} token the token
332+
* @param {object} ast the AST object
333+
* @returns {object} the converted token
334+
*/
275335
function convertToken(token, ast) {
276336

277337
var start = token.getStart(),
278338
value = ast.text.slice(start, token.end),
279-
newToken = {
339+
newToken = {
280340
type: getTokenType(token),
281341
value: value,
282342
range: [start, token.end],
@@ -293,6 +353,11 @@ function convertToken(token, ast) {
293353
return newToken;
294354
}
295355

356+
/**
357+
* Converts all tokens for the given AST
358+
* @param {object} ast the AST object
359+
* @returns {array} the converted tokens
360+
*/
296361
function convertTokens(ast) {
297362
var token = ast.getFirstToken(),
298363
converted,
@@ -320,6 +385,12 @@ module.exports = function(ast, extra) {
320385
throw convertError(ast.parseDiagnostics[0]);
321386
}
322387

388+
/**
389+
* Converts node
390+
* @param {object} node the node
391+
* @param {object} parent the parent node
392+
* @returns {object} the converted node
393+
*/
323394
function convert(node, parent) {
324395

325396
// exit early for null and undefined
@@ -333,12 +404,21 @@ module.exports = function(ast, extra) {
333404
loc: getLoc(node, ast)
334405
};
335406

407+
/**
408+
* Copies the result object
409+
* @returns {void}
410+
*/
336411
function simplyCopy() {
337412
assign(result, {
338413
type: SyntaxKind[node.kind]
339414
});
340415
}
341416

417+
/**
418+
* Converts child node
419+
* @param {object} child the child node
420+
* @returns {object} the converted child node
421+
*/
342422
function convertChild(child) {
343423
return convert(child, node);
344424
}
@@ -348,7 +428,7 @@ module.exports = function(ast, extra) {
348428
assign(result, {
349429
type: "Program",
350430
body: [],
351-
sourceType: node.externalModuleIndicator ? "module": "script"
431+
sourceType: node.externalModuleIndicator ? "module" : "script"
352432
});
353433

354434
// filter out unknown nodes for now
@@ -531,10 +611,18 @@ module.exports = function(ast, extra) {
531611

532612
case SyntaxKind.VariableStatement:
533613

614+
var varStatementKind;
615+
616+
if (node.declarationList.flags) {
617+
varStatementKind = (node.declarationList.flags === ts.NodeFlags.Let) ? "let" : "const";
618+
} else {
619+
varStatementKind = "var";
620+
}
621+
534622
assign(result, {
535623
type: "VariableDeclaration",
536624
declarations: node.declarationList.declarations.map(convertChild),
537-
kind: (node.declarationList.flags ? (node.declarationList.flags === ts.NodeFlags.Let ? "let" : "const") : "var")
625+
kind: varStatementKind
538626
});
539627

540628
// check for exports
@@ -543,10 +631,19 @@ module.exports = function(ast, extra) {
543631

544632
// mostly for for-of, for-in
545633
case SyntaxKind.VariableDeclarationList:
634+
635+
var varDeclarationListKind;
636+
637+
if (node.flags) {
638+
varDeclarationListKind = (node.flags === ts.NodeFlags.Let) ? "let" : "const";
639+
} else {
640+
varDeclarationListKind = "var";
641+
}
642+
546643
assign(result, {
547644
type: "VariableDeclaration",
548645
declarations: node.declarations.map(convertChild),
549-
kind: (node.flags ? (node.flags === ts.NodeFlags.Let ? "let" : "const") : "var")
646+
kind: varDeclarationListKind
550647
});
551648
break;
552649

@@ -719,7 +816,7 @@ module.exports = function(ast, extra) {
719816
// TypeScript uses this even for static methods named "constructor"
720817
case SyntaxKind.Constructor:
721818

722-
var constructorIsStatic = Boolean(node.flags & ts.NodeFlags.Static),
819+
var constructorIsStatic = Boolean(node.flags & ts.NodeFlags.Static),
723820
firstConstructorToken = constructorIsStatic ? ts.findNextToken(node.getFirstToken(), ast) : node.getFirstToken(),
724821
constructorOffset = 11,
725822
constructorStartOffset = constructorOffset + firstConstructorToken.getStart() - node.getFirstToken().getStart(),
@@ -807,13 +904,6 @@ module.exports = function(ast, extra) {
807904
});
808905
break;
809906

810-
case SyntaxKind.SpreadElementExpression:
811-
assign(result, {
812-
type: "SpreadElement",
813-
argument: convertChild(node.expression)
814-
});
815-
break;
816-
817907
case SyntaxKind.ArrayBindingPattern:
818908
assign(result, {
819909
type: "ArrayPattern",
@@ -997,7 +1087,7 @@ module.exports = function(ast, extra) {
9971087
range: [ openBrace.getStart(), result.range[1] ],
9981088
loc: getLocFor(openBrace.getStart(), node.end, ast)
9991089
},
1000-
superClass: (node.heritageClauses ? convertChild(node.heritageClauses[0].types[0].expression) : null),
1090+
superClass: (node.heritageClauses ? convertChild(node.heritageClauses[0].types[0].expression) : null)
10011091
});
10021092

10031093
var filteredMembers = node.members.filter(isESTreeClassMember);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.