@@ -35,6 +35,9 @@ if process.argv.length > 4
35
35
else
36
36
outputFilename = " #{ filename} .adsafe.js"
37
37
38
+ lineDiff = 0
39
+ lines = script .split (" \n " ).length
40
+
38
41
details = null
39
42
re = / \/\*\! [A-Z _] + ([\s\S ] +? )\*\/ /
40
43
script = script .replace re, (header ) ->
@@ -46,6 +49,8 @@ script = script.replace re, (header) ->
46
49
unless details?
47
50
console .error JSON .stringify {errors : [{id : " NOHEADER" }]}
48
51
process .exit 1
52
+ lines2 = script .split (" \n " ).length
53
+ lineDiff = lines2 - lines
49
54
50
55
for k,v of overrideDetails
51
56
details[k] = v
@@ -58,6 +63,7 @@ if isNaN(id) or !isFinite(id)
58
63
# Alias dependencies.
59
64
accessList = details .access ? []
60
65
for access in accessList
66
+ lineDiff++
61
67
script = " var #{ access} = lib.#{ access} ();\n #{ script} "
62
68
63
69
walk = (ast ) ->
@@ -266,7 +272,13 @@ walk = (ast) ->
266
272
console .error util .inspect ast, false , null , true
267
273
return ast
268
274
269
- ast = parser .parse script
275
+ try
276
+ ast = parser .parse script
277
+ catch e
278
+ console .error JSON .stringify {errors : [{id : " PARSEFAIL" ,message : e .message ,line : e .line - lineDiff,col : e .col }]}
279
+ if VERBOSE
280
+ console .log util .inspect e, false , null , true
281
+ process .exit 1
270
282
if VERBOSE
271
283
console .log util .inspect ast, false , null , true
272
284
walk ast, 0
0 commit comments