angular-cn/scripts/publish/pubspec_cleaner.js
Yegor Jbanov 87cf434929 chore(sources): intro modules_dart; move analyzer code there
We have Dart code in `angular2` module that ought to be in its own
package. Examples include Dart analysis plugins, and potentially the
transformers (although transformers cannot be moved out just yet).
However, this code is Dart-only and it doesn’t make sense to use JS
directory layout for it. This commit introduces a sub-directory called
`modules_dart`. All modules in this directory are pure Dart packages
using standard pub directory layout. The code in these packages never
gets transpiled. It is directly copied to `dist` unmodified, except an
adjustment in relative paths in `pubspec.yaml` files.
2015-04-24 13:29:18 -07:00

31 lines
945 B
JavaScript

// Cleans up pubspec.yaml files prior to publishing
// Usage: node pubspec_cleaner.js --pubspec-file=PATH_TO_PUBSPEC_YAML
fs = require('fs');
yaml = require('js-yaml');
yargs = require('yargs');
var pubspecFileOpt = 'pubspec-file';
var pubspecFile = yargs
.demand([pubspecFileOpt])
.argv[pubspecFileOpt];
var doc = yaml.safeLoad(fs.readFileSync(pubspecFile, 'utf8'));
// Pub does not allow publishing with dependency_overrides
delete doc['dependency_overrides'];
// Overwrite temporary values with real values
delete doc['version'];
delete doc['authors'];
delete doc['homepage']
var BASE_PACKAGE_JSON = require('../../package.json');
doc['version'] = BASE_PACKAGE_JSON.version;
doc['homepage'] = BASE_PACKAGE_JSON.homepage;
doc['authors'] = Object.keys(BASE_PACKAGE_JSON.contributors).map(function(name) {
return name + ' <' + BASE_PACKAGE_JSON.contributors[name] + '>';
});
fs.writeFileSync(pubspecFile, yaml.safeDump(doc));