aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Rebert <[email protected]>2014-03-07 16:05:46 -0800
committerChris Rebert <[email protected]>2014-03-07 16:05:46 -0800
commit51b825d6b3ffb611f07cb64add8013350b222420 (patch)
treed50aed026478bfc8d9a6261115827e27fc105767
parent30bbab06d84c991e4c8c465162c90368287f4f54 (diff)
downloadbootstrap-51b825d6b3ffb611f07cb64add8013350b222420.tar.xz
bootstrap-51b825d6b3ffb611f07cb64add8013350b222420.zip
fix #12959
-rw-r--r--grunt/shrinkwrap.js15
1 files changed, 14 insertions, 1 deletions
diff --git a/grunt/shrinkwrap.js b/grunt/shrinkwrap.js
index d3292b498..6701c6d6c 100644
--- a/grunt/shrinkwrap.js
+++ b/grunt/shrinkwrap.js
@@ -14,13 +14,26 @@ var NON_CANONICAL_FILE = 'npm-shrinkwrap.json';
var DEST_FILE = 'test-infra/npm-shrinkwrap.canonical.json';
+function cleanup(shrinkwrap) {
+ // Remove `resolved` property to avoid irrelevant changes
+ // See https://github.com/npm/npm/issues/3581
+ if ((typeof shrinkwrap) === 'string') {
+ return shrinkwrap;
+ }
+ delete shrinkwrap.resolved;
+ for (var key in shrinkwrap) {
+ shrinkwrap[key] = cleanup(shrinkwrap[key]);
+ }
+ return shrinkwrap;
+}
+
function updateShrinkwrap(grunt) {
// Assumption: Non-canonical shrinkwrap already generated by prerequisite Grunt task
var shrinkwrapData = grunt.file.readJSON(NON_CANONICAL_FILE);
grunt.log.writeln('Deleting ' + NON_CANONICAL_FILE.cyan + '...');
grunt.file.delete(NON_CANONICAL_FILE);
// Output as Canonical JSON in correct location
- grunt.file.write(DEST_FILE, canonicallyJsonStringify(shrinkwrapData));
+ grunt.file.write(DEST_FILE, canonicallyJsonStringify(cleanup(shrinkwrapData)));
grunt.log.writeln('File ' + DEST_FILE.cyan + ' updated.');
}