declare var module: any; declare function require(name:string); declare var __filename: string; declare var __dirname: string; import base = require("./base"); var gulp = require('gulp'); var path = require('path'); var $ = require('gulp-load-plugins')({lazy: true}); var _ = require('lodash'); var runSequence = require('run-sequence'); var gutil = $.util; var merge = require('merge-stream'); var coffeeScriptCompile = require('./streams/coffeeScriptCompile'); var coffeeScriptLint = require('./streams/coffeeScriptLint'); var typeScriptLint = require('./streams/typeScriptLint'); var typeScriptCompile = require('./streams/typeScriptCompile'); var stylusCompile = require('./streams/stylusCompile'); class CompileJavaScript extends base.BaseTask { constructor() { super(); return this; } static watch:boolean = true; static dependency:any = ['cleanJavaScript', 'cleanCss']; static taskName:string = 'compileAngular'; static required:Array = [ 'gulp-order', 'gulp-typescript', 'gulp-bytediff', 'gulp-coffee', 'gulp-wrap-amd', 'gulp-concat', 'gulp-sourcemaps', 'gulp-stylus', 'gulp-less', 'gulp-csso' ]; static config(task, tasks, userOptions) { return { files: [ './source/client/**/*.d.ts', './source/client/**/*.ts', './source/client/**/*.coffee', './source/client/**/*.js', './source/client/**/*.styl', './source/client/**/*.css', './source/client/**/*.less' ], file: { script: [ './source/client/**/*.d.ts', './source/client/**/*.ts', './source/client/**/*.coffee', './source/client/**/*.js' ], css: [ './source/client/**/*.styl', './source/client/**/*.css', './source/client/**/*.less' ] }, base: 'source/client/', /* Don't start patterns with `./` - they will never match. Just leave out `./` */ csso: { filter: /[.]min.*$/, options: {} }, orderFileExport: ['source/*.js','source/**/*.js','source/**/**/*.js'], watch: ['cleanJavaScript', 'cleanCss'], typescript: { removeComments: false, noImplicitAny: false, noLib: false, noEmitOnError: false, target: 'ES5', module: 'commonjs', sourceRoot: '.tmp/ts-debugging/', declarationFiles: true, noExternalResolve: false, sortOutput: true }, amdwrapper: { filter: function (file) { return !!file.path.match(/[.]amd.*$/); }, options:{ deps: ['require','exports','module'], // dependency array params: ['require','exports','module'], // params for callback exports: 'exports || module' } }, uglify: { filter: /[.]min.*$/, options: { mangle: true, preserveComments: true, output:{ indent_start: 0, // start indentation on every line (only when `beautify`) indent_level: 4, // indentation level (only when `beautify`) quote_keys: false, // quote all keys in object literals? space_colon: true, // add a space after colon signs? ascii_only: false, // output ASCII-safe? (encodes Unicode characters as ASCII) inline_script: false, // escape "