Skip to content

Commit b86847c

Browse files
committed
Merge pull request #179 from cscott/jshint
Lint source code.
2 parents c152d99 + 641b238 commit b86847c

16 files changed

+299
-4063
lines changed

.jshintrc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"bitwise": true,
3+
"curly": true,
4+
"eqeqeq": true,
5+
"evil": true,
6+
"forin": true,
7+
"freeze": true,
8+
"latedef": true,
9+
"loopfunc": true,
10+
"noarg": true,
11+
"nonew": true,
12+
"proto": true,
13+
"rhino": false,
14+
"strict": "implied",
15+
"undef": true,
16+
"unused": "vars"
17+
}

build.xml

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,25 @@
7979
<exec executable="java" failonerror="true">
8080
<arg line="-jar"/>
8181
<arg path="${lib.dir}/js.jar"/>
82+
<arg line="-opt -1"/>
8283
<arg path="${lib.dir}/jshint.js" />
83-
<arg line="${jsfiles.clean} curly=true,forin=true,latedef=true,evil=true,loopfunc=true,undef=true,rhino=false" />
84+
<arg line="${jsfiles.clean}" />
85+
</exec>
86+
</target>
87+
88+
<!-- validate npm build file with JSHint -->
89+
<target name="lint.node" depends="build.node">
90+
<exec executable="java" failonerror="true">
91+
<arg line="-jar"/>
92+
<arg path="${lib.dir}/js.jar"/>
93+
<arg line="-opt -1"/>
94+
<arg path="${lib.dir}/jshint.js" />
95+
<arg path="${build.dir}/${node.build.file}" />
8496
</exec>
8597
</target>
8698

8799
<!-- run tests on the command line -->
88-
<target name="test" depends="lint,build.all">
100+
<target name="test" depends="lint,build.all,lint.node">
89101
<apply executable="java" failonerror="true">
90102
<arg line="-Xss16M"/>
91103
<fileset dir="${tests.dir}" includes="**/*.js"/>
@@ -112,13 +124,14 @@
112124
${license.text}
113125
*/
114126
/* Version v@VERSION@, Build time: ${RIGHT_NOW} */
115-
var parserlib = {};
127+
var parserlib = Object.create(null);
116128
(function(){
117129
</header>
118130
<!--<filelist dir="${src.dir}/util" files="EventTarget.js, StringReader.js, TokenStream.js"/> -->
119131
<fileset dir="${src.dir}/util" includes="*.js" />
120132
<footer trimleading="yes">
121133
parserlib.util = {
134+
__proto__ : null,
122135
StringReader: StringReader,
123136
SyntaxError : SyntaxError,
124137
SyntaxUnit : SyntaxUnit,
@@ -141,14 +154,15 @@
141154
(function(){
142155
var EventTarget = parserlib.util.EventTarget,
143156
TokenStreamBase = parserlib.util.TokenStreamBase,
144-
StringReader = parserlib.util.StringReader,
157+
StringReader = parserlib.util.StringReader, // jshint ignore:line
145158
SyntaxError = parserlib.util.SyntaxError,
146159
SyntaxUnit = parserlib.util.SyntaxUnit;
147160
</header>
148161
<!--<filelist dir="${src.dir}/css" files="CSSTokens.js, CSSSelectorUnit.js, CSSColors.js, CSSValueUnit.js, CSSParser.js"/>-->
149162
<fileset dir="${src.dir}/css" includes="*.js" />
150163
<footer trimleading="yes">
151164
parserlib.css = {
165+
__proto__ :null,
152166
Colors :Colors,
153167
Combinator :Combinator,
154168
Parser :Parser,
@@ -176,14 +190,23 @@
176190
<target name="build.node">
177191

178192
<concat destfile="${build.dir}/${node.build.file}" fixlastline="true">
193+
<header trimleading="yes">/* jshint node:true, latedef:false */
194+
"use strict"; // jshint ignore:line
195+
</header>
179196
<filelist dir="${build.dir}" files="${core.build.file}, ${css.build.file}"/>
180197
<footer trimleading="yes">
181198
(function(){
199+
/* jshint forin:false */
182200
for(var prop in parserlib){
183201
exports[prop] = parserlib[prop];
184202
}
185203
})();
186204
</footer>
205+
<filterchain>
206+
<linecontainsregexp negate="true">
207+
<regexp pattern="^/[*](global|exported) .*[*]/$"/>
208+
</linecontainsregexp>
209+
</filterchain>
187210
</concat>
188211

189212
<mkdir dir="${build.npm.dir}"/>

lib/js.jar

70.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)