From d15fdcf7fc6873fb043b6d5adcdb0115c8e8b569 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 21 Dec 2015 17:11:03 -0600 Subject: [PATCH] build(publish): gulp publish task --- gulpfile.js | 45 +++++++++++++++++++++++++++++++++++----- scripts/npm/package.json | 4 ++-- 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index bbf4a3e67b..fc7af3bc96 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -243,7 +243,7 @@ gulp.task('e2e.build', function() { fs.readFileSync('scripts/e2e/e2e.template.html') )({ buildConfig: buildConfig - }) + }); var testTemplate = _.template(fs.readFileSync('scripts/e2e/e2e.template.js')); var platforms = [ @@ -397,14 +397,49 @@ gulp.task('src', function(done){ ); }) -gulp.task('package', ['src'], function(){ - return gulp.src([ +gulp.task('publish', ['src'], function(done){ + var _ = require('lodash'); + var fs = require('fs'); + var distDir = 'dist'; + + gulp.src([ 'scripts/npm/.npmignore', - 'scripts/npm/package.json', 'scripts/npm/README.md', '*tooling/**/*' ]) - .pipe(gulp.dest('dist')); + .pipe(gulp.dest(distDir)); + + var inquirer = require('inquirer'); + inquirer.prompt([ + { + type: 'input', + name: 'ionicVersion', + message: '\n\n\nWhat ionic-framework alpha version number will this be?' + }, + { + type: 'input', + name: 'angularVersion', + message: '\nWhat angular2 beta version number is a peer dependency?' + } + ], function(answers) { + var packageTemplate = _.template(fs.readFileSync('scripts/npm/package.json')); + fs.writeFileSync(distDir + '/package.json', packageTemplate(answers)); + + var spawn = require('child_process').spawn; + var npmCmd = spawn('npm', ['publish', './' + distDir]); + + npmCmd.stdout.on('data', function (data) { + console.log(data); + }); + + npmCmd.stderr.on('data', function (data) { + console.log('npm err: ' + data); + }); + + npmCmd.on('close', function() { + done(); + }); + }); }); require('./scripts/docs/gulp-tasks')(gulp, flags) diff --git a/scripts/npm/package.json b/scripts/npm/package.json index d5e2e394e6..1ef75bd1b3 100644 --- a/scripts/npm/package.json +++ b/scripts/npm/package.json @@ -1,6 +1,6 @@ { "name": "ionic-framework", - "version": "2.0.0-alpha.44", + "version": "2.0.0-alpha.<%= ionicVersion %>", "license": "Apache-2.0", "repository": { "type": "git", @@ -15,6 +15,6 @@ "shelljs": "0.5.3" }, "peerDependencies": { - "angular2": "2.0.0-beta.0" + "angular2": "2.0.0-beta.<%= angularVersion %>" } }