const gulp = require("gulp"); const tsc = require("gulp-typescript"); const tsProject = tsc.createProject("./tsconfig.json"); var embedTemplates = require('gulp-angular-embed-templates'); var concat = require('gulp-concat'); var umd = require('gulp-umd'); const webpack = require('webpack'); const webpackConfig = require('./webpack.config'); const gutil = require('gulp-util'); const babel = require('gulp-babel') var path = require("path"); var Builder = require('systemjs-builder'); var browserify = require('gulp-browserify'); var rename = require('gulp-rename'); gulp.task('app.build', function () { gulp.src('src/**/*.ts') .pipe(embedTemplates({ sourceType: 'ts' })) .pipe(tsProject()) // .pipe(babel({ // presets: ['es2015'], // "plugins": [ // ["transform-es2015-modules-systemjs", { // // outputs SystemJS.register(...) // "systemGlobal": "SystemJS" // }]] // })) .pipe(gulp.dest('./build/js')); }); gulp.task('app.bundle', function () { gulp.src('build/**/*.js') .pipe(concat('bundle.min.js')) //.pipe(uglify()) .pipe(gulp.dest('bundles')); }); gulp.task('browserify', function () { gulp.src('src/core.module.js') .pipe(browserify({ insertGlobals: true, exclude: ["@angular/http", "@angular/core", "angular-2-local-storage","rxjs/Rx"] })) .pipe(rename('bundle.min.js')) .pipe(gulp.dest('./bundles/')) }); gulp.task('webpack', function (callback) { var myConfig = Object.create(webpackConfig); myConfig.plugins = [ new webpack.optimize.DedupePlugin(), new webpack.optimize.UglifyJsPlugin() ]; // run webpack webpack(myConfig, function (err, stats) { if (err) throw new gutil.PluginError('webpack', err); gutil.log('[webpack]', stats.toString({ colors: true, progress: true })); callback(); }); });