Skip to content

Commit 4391cf9

Browse files
authored
fix: update code to enforce noImplicitAny (#236)
1 parent a8072e5 commit 4391cf9

File tree

9 files changed

+40
-13
lines changed

9 files changed

+40
-13
lines changed

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
"dist/"
2323
],
2424
"dependencies": {
25+
"@types/babylon": "^6.16.1",
26+
"@types/json-stable-stringify": "^1.0.31",
2527
"babylon": "^6.14.1",
2628
"coffee-lex": "^7.0.0",
27-
"decaffeinate-coffeescript": "1.10.0-patch24",
29+
"decaffeinate-coffeescript": "1.10.0-patch25",
2830
"json-stable-stringify": "^1.0.1",
2931
"lines-and-columns": "^1.1.6"
3032
},

script/check-file.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ function processFile(path: string) {
2929
} catch (ex) {
3030
console.log(`NOT OK ${path}`);
3131
console.log(` ${ex.message}`);
32-
console.log(ex.stack.split('\n').map(line => ` ${line}`).join('\n'));
32+
console.log(ex.stack.split('\n').map((line: string) => ` ${line}`).join('\n'));
3333
}
3434
}
3535

src/mappers/mapAssign.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import UnsupportedNodeError from '../util/UnsupportedNodeError';
55
import mapAny from './mapAny';
66
import mapBase from './mapBase';
77

8-
const COMPOUND_ASSIGN_OPS = {
8+
const COMPOUND_ASSIGN_OPS: {[op: string]: string | undefined} = {
99
'-=': SubtractOp.name,
1010
'+=': PlusOp.name,
1111
'/=': DivideOp.name,

src/mappers/mapLiteral.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export default function mapLiteral(context: ParseContext, node: Literal): Node {
5656
let regExp = parseRegExp(node.value);
5757
return new Regex(
5858
line, column, start, end, raw,
59-
regExp.pattern, RegexFlags.parse(regExp.flags)
59+
regExp.pattern, RegexFlags.parse(regExp.flags || '')
6060
);
6161
}
6262

src/util/parseNumber.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
import { ExpressionStatement, NumericLiteral } from 'babel-types';
12
import { parse } from 'babylon';
23

34
/**
45
* Parses JavaScript source representing a number.
56
*/
67
export default function parseNumber(string: string): number {
7-
return parse(`(${string})`).program.body[0].expression.value;
8+
let expressionStatement = parse(`(${string})`).program.body[0] as ExpressionStatement;
9+
let literal = expressionStatement.expression as NumericLiteral;
10+
return literal.value;
811
}

src/util/parseRegExp.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
import { ExpressionStatement, RegExpLiteral } from 'babel-types';
12
import { parse } from 'babylon';
23

34
/**
45
* Parses JavaScript source representing a regular expression.
56
*/
6-
export default function parseRegExp(string: string): { pattern: string, flags: string } {
7-
return parse(`(${string})`).program.body[0].expression;
7+
export default function parseRegExp(string: string): { pattern: string, flags?: string } {
8+
let expressionStatement = parse(`(${string})`).program.body[0] as ExpressionStatement;
9+
let literal = expressionStatement.expression as RegExpLiteral;
10+
return literal;
811
}

src/util/parseString.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
import { ExpressionStatement, StringLiteral } from 'babel-types';
12
import { parse } from 'babylon';
23

34
/**
45
* Parses JavaScript source representing a string.
56
*/
67
export default function parseString(string: string): string {
7-
return parse(`(${string})`).program.body[0].expression.value;
8+
let expressionStatement = parse(`(${string})`).program.body[0] as ExpressionStatement;
9+
let literal = expressionStatement.expression as StringLiteral;
10+
return literal.value;
811
}

tsconfig.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
"declaration": true,
77
"lib": ["es2015"],
88
"experimentalDecorators": true,
9+
"noImplicitAny": true,
910
"noUnusedParameters": true,
1011
"noUnusedLocals": true,
11-
"noEmit": true
12+
"noEmit": true,
13+
"suppressImplicitAnyIndexErrors": true
1214
}
13-
}
15+
}

yarn.lock

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,20 @@
3535
conventional-changelog "0.0.17"
3636
github-url-from-git "^1.4.0"
3737

38+
"@types/babel-types@*":
39+
version "6.7.16"
40+
resolved "https://registry.npmjs.org/@types/babel-types/-/babel-types-6.7.16.tgz#e2602896636858a0067971f7ca4bb8678038293f"
41+
42+
"@types/babylon@^6.16.1":
43+
version "6.16.1"
44+
resolved "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.1.tgz#e4d10ab9e43a73703a17c6f41438bede28769340"
45+
dependencies:
46+
"@types/babel-types" "*"
47+
48+
"@types/json-stable-stringify@^1.0.31":
49+
version "1.0.31"
50+
resolved "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.31.tgz#b6c7bc507f5267e88cd2839b3ac6a2b39b653a32"
51+
3852
"@types/mocha@^2.2.35":
3953
version "2.2.41"
4054
resolved "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.41.tgz#e27cf0817153eb9f2713b2d3f6c68f1e1c3ca608"
@@ -864,9 +878,9 @@ debug@2.6.0:
864878
dependencies:
865879
ms "0.7.2"
866880

867-
decaffeinate-coffeescript@1.10.0-patch24:
868-
version "1.10.0-patch24"
869-
resolved "https://registry.npmjs.org/decaffeinate-coffeescript/-/decaffeinate-coffeescript-1.10.0-patch24.tgz#11ed2b31c7253686ded645aa29521ba38741e811"
881+
decaffeinate-coffeescript@^1.10.0-patch25:
882+
version "1.10.0-patch25"
883+
resolved "https://registry.npmjs.org/decaffeinate-coffeescript/-/decaffeinate-coffeescript-1.10.0-patch25.tgz#81816adc6361bd7d1e59d9034c8c5bfcea00677e"
870884

871885
decamelize@^1.1.2:
872886
version "1.2.0"

0 commit comments

Comments
 (0)