mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-01-13 17:02:23 +08:00
chore(clean-shrinkwrap): add a utility to clean up the shrinkwrap file
This is to deal with https://github.com/npm/npm/issues/3581 See the previous commit for more info. Closes #6672
This commit is contained in:
committed by
Igor Minar
parent
e5dd832b20
commit
dd3587a8c1
3
npm-shrinkwrap.json
generated
3
npm-shrinkwrap.json
generated
@@ -2713,6 +2713,9 @@
|
||||
"shelljs": {
|
||||
"version": "0.2.6"
|
||||
},
|
||||
"sorted-object": {
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"winston": {
|
||||
"version": "0.7.2",
|
||||
"dependencies": {
|
||||
|
||||
@@ -54,7 +54,8 @@
|
||||
"dgeni-packages": "^0.7.0",
|
||||
"gulp-jshint": "~1.4.2",
|
||||
"jshint-stylish": "~0.1.5",
|
||||
"node-html-encoder": "0.0.2"
|
||||
"node-html-encoder": "0.0.2",
|
||||
"sorted-object": "^1.0.0"
|
||||
},
|
||||
"licenses": [
|
||||
{
|
||||
|
||||
45
scripts/clean-shrinkwrap.js
Executable file
45
scripts/clean-shrinkwrap.js
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* this script is just a temporary solution to deal with the issue of npm outputting the npm
|
||||
* shrinkwrap file in an unstable manner.
|
||||
*
|
||||
* See: https://github.com/npm/npm/issues/3581
|
||||
*/
|
||||
|
||||
var _ = require('lodash');
|
||||
var sorted = require('sorted-object');
|
||||
var fs = require('fs');
|
||||
|
||||
|
||||
function cleanModule(module, name) {
|
||||
|
||||
// keep `from` and `resolve` properties for git dependencies, delete otherwise
|
||||
if (!(module.resolved && module.resolved.match(/^git:\/\//))) {
|
||||
delete module.from;
|
||||
delete module.resolved;
|
||||
}
|
||||
|
||||
if (name === 'chokidar') {
|
||||
if (module.version === '0.8.1') {
|
||||
delete module.dependencies;
|
||||
} else {
|
||||
throw new Error("Unfamiliar chokidar version (v" + module.version +
|
||||
") , please check status of https://github.com/paulmillr/chokidar/pull/106");
|
||||
}
|
||||
}
|
||||
|
||||
_.forEach(module.dependencies, function(mod, name) {
|
||||
cleanModule(mod, name);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
console.log('Reading npm-shrinkwrap.json');
|
||||
var shrinkwrap = require('./../npm-shrinkwrap.json');
|
||||
|
||||
console.log('Cleaning shrinkwrap object');
|
||||
cleanModule(shrinkwrap, shrinkwrap.name);
|
||||
|
||||
console.log('Writing cleaned npm-shrinkwrap.json');
|
||||
fs.writeFileSync('./npm-shrinkwrap.json', JSON.stringify(sorted(shrinkwrap), null, 2) + "\n");
|
||||
Reference in New Issue
Block a user