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));
 |