add --dry-run flag to publish task

This commit is contained in:
Tim Lancina
2015-10-09 09:54:50 -05:00
parent fe4f0ab6dc
commit fb384fbb1a

View File

@ -47,10 +47,12 @@ var tscReporter = {
var flagConfig = {
string: ['port', 'version', 'ngVersion', 'animations'],
boolean: ['dry-run'],
alias: {'p': 'port', 'v': 'version', 'a': 'ngVersion'},
default: { port: 8000 }
};
var flags = minimist(process.argv.slice(2), flagConfig);
gulp.task('build', function(done) {
@ -408,21 +410,42 @@ gulp.task('demos', function(){
path: path.join(path.dirname(file.path), 'index.html'),
}));
next(null, file);
});
}
})
gulp.task('bundle.demos', ['build.demos'], function(done){
var source = require('vinyl-source-stream'),
browserify = require('browserify'),
glob = require('glob'),
es = require('event-stream');
glob('dist/demos/**/index.js', function(err, files){
if (err) done(err);
var tasks = files.map(function(entry){
return browserify({ entries: [entry] })
.bundle()
.pipe(source(entry))
.pipe(gulp.dest('demo.bundle.js'));
});
es.merge(tasks).on('end', done);
})
})
gulp.task('demos', ['bundle.demos']);
gulp.task('demos:all', ['demos'], function() {
return gulp
.src('dist/demos/component-docs/**/*')
.pipe(gulp.dest('dist/ionic-site/docs/v2/components/demo/'))
.pipe(gulp.dest('dist/ionic-site/docs/v2/components/demo/'))
});
gulp.task('publish', function(done) {
var version = flags.version;
var ngVersion = flags.ngVersion;
var dryRun = flags['dry-run'];
if (!version || !ngVersion) {
console.error("\nERR: You need to provide a version for Ionic as well as " +
"the version of Angular it depends on.\n\n" +
@ -451,11 +474,13 @@ gulp.task('publish', function(done) {
fs.writeFileSync('dist/README.md', fs.readFileSync('scripts/npm/README.md'));
// publish to npm
exec('cd dist && npm publish', function (err, stdout, stderr) {
console.log(stdout);
console.error(stderr);
done();
});
if (!dryRun) {
exec('cd dist && npm publish', function (err, stdout, stderr) {
console.log(stdout);
console.error(stderr);
done();
});
}
}
)
})