jslintrb 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +5 -1
- data/bin/jslintrb +2 -1
- data/lib/jslintrb/fulljslint.js +34 -1
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -17,10 +17,14 @@ top-level project directory that sets options for my project, then one
|
|
17
17
|
in my spec directory (like a test directory) which adds the globals
|
18
18
|
that exist for the tests but not for the core application code.
|
19
19
|
|
20
|
-
|
20
|
+
The file is JSON-formatted. See the
|
21
21
|
jslint documentation (http://www.jslint.com/lint.html) for allowed
|
22
22
|
options.
|
23
23
|
|
24
|
+
jslintrb adds support for JavaScript with statements. They are parsed
|
25
|
+
but produce a warning. The "withstmt" option will suppress that
|
26
|
+
warning. Note that this does not endorse the use of with statements.
|
27
|
+
|
24
28
|
== Copyright
|
25
29
|
|
26
30
|
jslintrb copyright (c) 2010 Steven Parkes. See LICENSE for details.
|
data/bin/jslintrb
CHANGED
@@ -10,7 +10,8 @@ ENV["JSLINTRB_JS_PATH"] =
|
|
10
10
|
|
11
11
|
args = [ "env",
|
12
12
|
"JSLINT_FILES=#{ARGV.join(':')}",
|
13
|
-
|
13
|
+
"JOHNSON_RUNTIME=tracemonkey",
|
14
|
+
"johnson",
|
14
15
|
File.join(JSLINT_DIR,"fulljslint.js"),
|
15
16
|
File.join(JSLINT_DIR,"json2.js"),
|
16
17
|
File.join(JSLINT_DIR,"jslintrb.js") ]
|
data/lib/jslintrb/fulljslint.js
CHANGED
@@ -330,7 +330,8 @@ var JSLINT = (function () {
|
|
330
330
|
strict : true, // require the "use strict"; pragma
|
331
331
|
sub : true, // if all forms of subscript notation are tolerated
|
332
332
|
white : true, // if strict whitespace rules apply
|
333
|
-
widget : true
|
333
|
+
widget : true, // if the Yahoo Widgets globals should be predefined
|
334
|
+
withstmt : true // if with statements should be allowd
|
334
335
|
},
|
335
336
|
|
336
337
|
// browser contains a set of global names which are commonly provided by a
|
@@ -4583,6 +4584,28 @@ loop: for (;;) {
|
|
4583
4584
|
return p;
|
4584
4585
|
}
|
4585
4586
|
}
|
4587
|
+
};
|
4588
|
+
|
4589
|
+
function withparams() {
|
4590
|
+
var i, t = nexttoken, p = [];
|
4591
|
+
advance('(');
|
4592
|
+
nospace();
|
4593
|
+
if (nexttoken.id === ')') {
|
4594
|
+
advance(')');
|
4595
|
+
nospace(prevtoken, token);
|
4596
|
+
return;
|
4597
|
+
}
|
4598
|
+
for (;;) {
|
4599
|
+
i = parse(20);
|
4600
|
+
p.push(i);
|
4601
|
+
if (nexttoken.id === ',') {
|
4602
|
+
comma();
|
4603
|
+
} else {
|
4604
|
+
advance(')', t);
|
4605
|
+
nospace(prevtoken, token);
|
4606
|
+
return p;
|
4607
|
+
}
|
4608
|
+
}
|
4586
4609
|
}
|
4587
4610
|
|
4588
4611
|
function doFunction(i) {
|
@@ -4667,6 +4690,15 @@ loop: for (;;) {
|
|
4667
4690
|
return this;
|
4668
4691
|
});
|
4669
4692
|
|
4693
|
+
blockstmt('with', function () {
|
4694
|
+
if (!option.withstmt) {
|
4695
|
+
warning("Don't use with statements");
|
4696
|
+
}
|
4697
|
+
withparams();
|
4698
|
+
block(true);
|
4699
|
+
return this;
|
4700
|
+
});
|
4701
|
+
|
4670
4702
|
blockstmt('try', function () {
|
4671
4703
|
var b, e, s;
|
4672
4704
|
if (option.adsafe) {
|
@@ -5149,6 +5181,7 @@ loop: for (;;) {
|
|
5149
5181
|
o.sub = false;
|
5150
5182
|
o.undef = true;
|
5151
5183
|
o.widget = false;
|
5184
|
+
o.withstmt= false;
|
5152
5185
|
predefined.Date = null;
|
5153
5186
|
predefined['eval'] = null;
|
5154
5187
|
predefined.Function = null;
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jslintrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Parkes
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 1.1.2.6
|
24
24
|
version:
|
25
25
|
description: jslintrb is a packaged version of Douglas Crockford's JSLint JavaScript code checker. jslintrb uses SpiderMonkey via the Johnson Ruby gem to interpret the JSLint javascript.
|
26
26
|
email: smparkes@smparkes.net
|