9a9b07dea8
The quotes rule had to be disabled for e2e tests generated from ngdoc
because dgeni templates use double quotes as string delimiters.
Since we can't have guarantees that dgeni template wrappers will follow
the same JS code style the Angular 1 repo uses, we should find a way
to enforce our ESLint setup only for the parts in this repo, perhaps
via prepending a generated `/* eslint-enable OUR_RULES */` pragma.
(partially cherry-picked from 9360aa2d27)
Closes #15011
41 lines
1.1 KiB
JavaScript
Executable File
41 lines
1.1 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
'use strict';
|
|
|
|
/**
|
|
* 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');
|
|
var path = require('path');
|
|
|
|
|
|
function cleanModule(module, name) {
|
|
|
|
// keep `resolve` properties for git dependencies, delete otherwise
|
|
delete module.from;
|
|
if (!(module.resolved && module.resolved.match(/^git(\+[a-z]+)?:\/\//))) {
|
|
delete module.resolved;
|
|
}
|
|
|
|
_.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);
|
|
|
|
var cleanShrinkwrapPath = path.join(__dirname, '..', '..', 'npm-shrinkwrap.clean.json');
|
|
console.log('Writing cleaned to', cleanShrinkwrapPath);
|
|
fs.writeFileSync(cleanShrinkwrapPath, JSON.stringify(sorted(shrinkwrap), null, 2) + '\n');
|