|
79 | 79 | <exec executable="java" failonerror="true">
|
80 | 80 | <arg line="-jar"/>
|
81 | 81 | <arg path="${lib.dir}/js.jar"/>
|
| 82 | + <arg line="-opt -1"/> |
82 | 83 | <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}" /> |
84 | 96 | </exec>
|
85 | 97 | </target>
|
86 | 98 |
|
87 | 99 | <!-- run tests on the command line -->
|
88 |
| - <target name="test" depends="lint,build.all"> |
| 100 | + <target name="test" depends="lint,build.all,lint.node"> |
89 | 101 | <apply executable="java" failonerror="true">
|
90 | 102 | <arg line="-Xss16M"/>
|
91 | 103 | <fileset dir="${tests.dir}" includes="**/*.js"/>
|
|
112 | 124 | ${license.text}
|
113 | 125 | */
|
114 | 126 | /* Version v@VERSION@, Build time: ${RIGHT_NOW} */
|
115 |
| - var parserlib = {}; |
| 127 | + var parserlib = Object.create(null); |
116 | 128 | (function(){
|
117 | 129 | </header>
|
118 | 130 | <!--<filelist dir="${src.dir}/util" files="EventTarget.js, StringReader.js, TokenStream.js"/> -->
|
119 | 131 | <fileset dir="${src.dir}/util" includes="*.js" />
|
120 | 132 | <footer trimleading="yes">
|
121 | 133 | parserlib.util = {
|
| 134 | + __proto__ : null, |
122 | 135 | StringReader: StringReader,
|
123 | 136 | SyntaxError : SyntaxError,
|
124 | 137 | SyntaxUnit : SyntaxUnit,
|
|
141 | 154 | (function(){
|
142 | 155 | var EventTarget = parserlib.util.EventTarget,
|
143 | 156 | TokenStreamBase = parserlib.util.TokenStreamBase,
|
144 |
| - StringReader = parserlib.util.StringReader, |
| 157 | + StringReader = parserlib.util.StringReader, // jshint ignore:line |
145 | 158 | SyntaxError = parserlib.util.SyntaxError,
|
146 | 159 | SyntaxUnit = parserlib.util.SyntaxUnit;
|
147 | 160 | </header>
|
148 | 161 | <!--<filelist dir="${src.dir}/css" files="CSSTokens.js, CSSSelectorUnit.js, CSSColors.js, CSSValueUnit.js, CSSParser.js"/>-->
|
149 | 162 | <fileset dir="${src.dir}/css" includes="*.js" />
|
150 | 163 | <footer trimleading="yes">
|
151 | 164 | parserlib.css = {
|
| 165 | + __proto__ :null, |
152 | 166 | Colors :Colors,
|
153 | 167 | Combinator :Combinator,
|
154 | 168 | Parser :Parser,
|
|
176 | 190 | <target name="build.node">
|
177 | 191 |
|
178 | 192 | <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> |
179 | 196 | <filelist dir="${build.dir}" files="${core.build.file}, ${css.build.file}"/>
|
180 | 197 | <footer trimleading="yes">
|
181 | 198 | (function(){
|
| 199 | + /* jshint forin:false */ |
182 | 200 | for(var prop in parserlib){
|
183 | 201 | exports[prop] = parserlib[prop];
|
184 | 202 | }
|
185 | 203 | })();
|
186 | 204 | </footer>
|
| 205 | + <filterchain> |
| 206 | + <linecontainsregexp negate="true"> |
| 207 | + <regexp pattern="^/[*](global|exported) .*[*]/$"/> |
| 208 | + </linecontainsregexp> |
| 209 | + </filterchain> |
187 | 210 | </concat>
|
188 | 211 |
|
189 | 212 | <mkdir dir="${build.npm.dir}"/>
|
|
0 commit comments