From f724bc6c921378b82d9d6fa17329b6451fbb7a51 Mon Sep 17 00:00:00 2001 From: Rick Waldron Date: Thu, 15 Dec 2011 10:11:24 -0500 Subject: [PATCH] Reformat jshint errors to be readable; make post-compile.js write directly to jquery.min.js; update required Node version --- Makefile | 2 +- README.md | 2 +- build/jshint-check.js | 58 ++++++++++++++++++++++--------------------- build/post-compile.js | 5 ++-- 4 files changed, 34 insertions(+), 33 deletions(-) diff --git a/Makefile b/Makefile index f8e039d63..3d8566abf 100644 --- a/Makefile +++ b/Makefile @@ -97,7 +97,7 @@ ${JQ_MIN}: ${JQ} @@if test ! -z ${JS_ENGINE}; then \ echo "Minifying jQuery" ${JQ_MIN}; \ ${COMPILER} ${JQ} > ${JQ_MIN}.tmp; \ - ${POST_COMPILER} ${JQ_MIN}.tmp > ${JQ_MIN}; \ + ${POST_COMPILER} ${JQ_MIN}.tmp; \ rm -f ${JQ_MIN}.tmp; \ else \ echo "You must have NodeJS installed in order to minify jQuery."; \ diff --git a/README.md b/README.md index ba7f38a89..53b9f9df2 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ In the spirit of open source software development, jQuery always encourages comm What you need to build your own jQuery -------------------------------------- -In order to build jQuery, you need to have GNU make 3.8 or later, Node.js 0.2 or later, and git 1.7 or later. +In order to build jQuery, you need to have GNU make 3.8 or later, Node.js 0.4.12 or later, and git 1.7 or later. (Earlier versions might work OK, but are not tested.) Windows users have two options: diff --git a/build/jshint-check.js b/build/jshint-check.js index a7b8d22c6..4a21309e9 100644 --- a/build/jshint-check.js +++ b/build/jshint-check.js @@ -1,34 +1,36 @@ -var JSHINT = require("./lib/jshint").JSHINT, - print = require("sys").print, - src = require("fs").readFileSync("dist/jquery.js", "utf8"); +var jshint = require("./lib/jshint").JSHINT, + src = require("fs").readFileSync("dist/jquery.js", "utf8"), + config = { + evil: true, + undef: false, + browser: true, + wsh: true, + eqnull: true, + expr: true, + curly: true, + trailing: true, + predef: [ + "define", + "DOMParser" + ], + maxerr: 100 + }; -JSHINT(src, { - evil: true, - undef: false, - browser: true, - wsh: true, - eqnull: true, - expr: true, - curly: true, - trailing: true, - predef: [ - "define", - "DOMParser" - ], - maxerr: 100 -}); +if ( jshint( src, config ) ) { + console.log("JSHint check passed."); +} else { -var e = JSHINT.errors, found = e.length, i = 0, w; + console.log( "JSHint found errors." ); -for ( ; i < e.length; i++ ) { - w = e[i]; + jshint.errors.forEach(function( e ) { + if ( !e ) { return; } - print( "\n" + w.evidence + "\n" ); - print( " Problem at line " + w.line + " character " + w.character + ": " + w.reason ); -} + var str = e.evidence ? e.evidence : ""; -if ( found > 0 ) { - print( "\n" + found + " Error(s) found.\n" ); -} else { - print( "JSHint check passed.\n" ); + if ( str ) { + str = str.replace( /\t/g, " " ).trim(); + + console.log( " [L" + e.line + ":C" + e.character + "] " + e.reason + "\n " + str + "\n"); + } + }); } \ No newline at end of file diff --git a/build/post-compile.js b/build/post-compile.js index afcebf278..f77a38bdc 100644 --- a/build/post-compile.js +++ b/build/post-compile.js @@ -1,7 +1,6 @@ #!/usr/bin/env node -var print = require( "sys" ).print, - fs = require( "fs" ), +var fs = require( "fs" ), src = fs.readFileSync( process.argv[2], "utf8" ), version = fs.readFileSync( "version.txt", "utf8" ), // License Template @@ -17,4 +16,4 @@ license = license.replace( "@VERSION", version ); // Replace license block with minimal license src = src.replace( /\/\/.*?\/?\*.+?(?=\n|\r|$)|\/\*[\s\S]*?\/\/[\s\S]*?\*\//, license ); -print( src ); +fs.writeFileSync( "dist/jquery.min.js", src, "utf8" ); -- 2.39.5