import * as gulp from 'gulp';
import * as path from 'path';
import * as fs from 'fs';
import gulpRunSequence = require('run-sequence');
const bump = require('gulp-bump');
const git = require('gulp-git');
const changelog = require('gulp-conventional-changelog');
const releaser = require('conventional-github-releaser');
gulp.task(':deploy', () => {
fs.readFile('./dist/index.html', 'utf8', (err, data) => {
if (err) { return console.log(err); }
const result = data.replace('', '');
fs.writeFile('./dist/index.html', result, 'utf8', (err) => {
if (err) {
return console.log(err);
} else {
console.log('md2 demo deployed');
return gulp.src('./dist/**/*')
.pipe(gulp.dest('./deploy'));
}
});
});
});
// update package.json version
gulp.task(':release:version', () => {
gulp.src(['./package.json'])
.pipe(bump({ type: "patch" }))
.pipe(gulp.dest('./'));
return gulp.src(['./src/lib/package.json'])
.pipe(bump({ type: "patch" }))
.pipe(gulp.dest('./src/lib'));
});
// update CHANGELOG.md
gulp.task(':release:changelog', () => {
return gulp.src('CHANGELOG.md', { buffer: false })
.pipe(changelog({ preset: 'angular' }))
.pipe(gulp.dest('./'));
});
// release commit
gulp.task(':release:commit', () => {
var version = JSON.parse(fs.readFileSync('./package.json', 'utf8')).version;
return gulp.src('.')
.pipe(git.add())
.pipe(git.commit('Released MD2@' + version));
});
// release push
gulp.task(':release:push', (cb: any) => {
git.push('origin', 'master', cb);
});
// release tag
gulp.task(':release:tag', (cb: any) => {
var version = JSON.parse(fs.readFileSync('./package.json', 'utf8')).version;
git.tag(version, 'Created Tag for version: ' + version, function (error: any) {
if (error) { return cb(error); }
git.push('origin', 'master', { args: '--tags' }, cb);
});
});
// release
//gulp.task('github-release', function (done: any) {
// releaser({
// type: "oauth",
// token: '0126af95c0e2d9b0a7c78738c4c00a860b04acc8' // change this to your own GitHub token or use an environment variable
// }, {
// preset: 'angular' // Or to any other commit message convention you use.
// }, done);
//});
gulp.task('deploy', function (callback: any) {
gulpRunSequence(
':deploy',
//':release:version',
//':release:changelog',
//':release:commit',
//':release:push',
//':release:tag',
//'github-release',
function (error: any) {
if (error) {
console.log(error.message);
} else {
console.log('Md2 Released Successfully');
}
callback(error);
});
});