| "use strict"; | |
| var fs = require( "fs" ), | |
| chalk = require( "chalk" ), | |
| sizzleLoc = __dirname + "/../../external/sizzle/dist/sizzle.js", | |
| rversion = /Engine v(\d+\.\d+\.\d+(?:-[-\.\d\w]+)?)/; | |
| /** | |
| * Ensure the /src folder has the latest tag of Sizzle | |
| * @param {Object} Release | |
| * @param {Function} callback | |
| */ | |
| function ensureSizzle( Release, callback ) { | |
| console.log(); | |
| console.log( "Checking Sizzle version..." ); | |
| var match = rversion.exec( fs.readFileSync( sizzleLoc, "utf8" ) ), | |
| version = match ? match[ 1 ] : "Not Found", | |
| latest = Release.exec( { | |
| command: "npm info sizzle version", | |
| silent: true | |
| } ); | |
| if ( version !== latest ) { | |
| console.log( | |
| "The Sizzle version in the src folder (" + chalk.red( version ) + | |
| ") is not the latest tag (" + chalk.green( latest ) + ")." | |
| ); | |
| Release.confirm( callback ); | |
| } else { | |
| console.log( "Sizzle is latest (" + chalk.green( latest ) + ")" ); | |
| callback(); | |
| } | |
| } | |
| module.exports = ensureSizzle; |