31 lines
925 B
JavaScript
31 lines
925 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 BASE_PACKAGE_JSON.contributors[name];
|
|
});
|
|
|
|
fs.writeFileSync(pubspecFile, yaml.safeDump(doc));
|