maths.ts
Version:
Math utilities library for TypeScript, JavaScript and Node.js
47 lines (41 loc) • 1.31 kB
JavaScript
let gulp = require('gulp');
let ts = require('gulp-typescript');
let tsLint = require('gulp-tslint');
let webpack = require('gulp-webpack');
let compress = require('gulp-minify');
let runSeq = require('run-sequence');
gulp.task('default', () => runSeq('ts', 'webpack', 'compress'));
gulp.task('ts', function () {
let tsProject = ts.createProject('tsconfig.json', {
// Changes root dir so a new src folder will not be created on ./lib
rootDir: 'src'
});
let tsResult = tsProject.src().pipe(tsProject());
// Declaration files
tsResult.dts.pipe(gulp.dest('types'));
return tsResult.js.pipe(gulp.dest('lib'));
});
gulp.task('lint', function () {
// noinspection JSUnresolvedFunction
gulp.src(['src/**/*.ts', 'test/**/*.ts'])
.pipe(tsLint())
.pipe(tsLint.report());
});
gulp.task('watch', ['ts'], function () {
gulp.watch('src/**/*.ts', ['ts']);
});
gulp.task('webpack', function () {
return gulp.src('lib/maths.js')
.pipe(webpack(require('./webpack.config')))
.pipe(gulp.dest('.'));
});
gulp.task('compress', function () {
gulp.src('bundle/maths.js')
.pipe(compress({
ext: {
src: '.min.js',
min: '.js'
}
}))
.pipe(gulp.dest('bundle'));
});