UNPKG

1.12 kBJavaScriptView Raw
1"use strict";
2
3var grunt = require("grunt"),
4 semver = require("semver"),
5 spawnOptions = {
6 cmd: "npm",
7 grunt: false,
8 opts: {
9 cwd: __dirname
10 }
11 };
12
13function updateJsBeautify(version, done) {
14 spawnOptions.args = ["install", "js-beautify@" + version];
15 grunt.util.spawn(spawnOptions, done);
16}
17
18module.exports = function verifyJsBeautifyVersion(version, done) {
19 if (!version) {
20 return done();
21 }
22 spawnOptions.args = ["list", "js-beautify", "--json"];
23 grunt.util.spawn(spawnOptions, function(error, result) {
24 if (error) {
25 return done(error);
26 }
27 var jsonResults = JSON.parse(result.stdout),
28 jsBeautify = jsonResults.dependencies && jsonResults.dependencies["js-beautify"];
29 if (!semver.satisfies(jsBeautify.version, version)) {
30 grunt.log.writeln("Updating version of js-beautify to " + version);
31 return updateJsBeautify(version, done);
32 }
33 grunt.verbose.writeln("Version of js-beautify is already updated " + version);
34 return done();
35 });
36
37};