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 coffeeScriptCompile = require('./streams/coffeeScriptCompile'); var coffeeScriptLint = require('./streams/coffeeScriptLint'); var typeScriptLint = require('./streams/typeScriptLint'); var typeScriptCompile = require('./streams/typeScriptCompile'); class CompileJavaScript extends base.BaseTask { constructor() { super(); return this; } static watch:boolean = true; static dependency:any = ['cleanJavaScript']; static taskName:string = 'compileExpress'; static required:Array = [ 'gulp-order', 'gulp-typescript', 'gulp-bytediff', 'gulp-coffee', 'gulp-wrap-amd' ]; static config(task, tasks, userOptions) { return { files: [ './source/server/**/*.d.ts', './source/server/**/*.ts', './source/server/**/*.coffee', './source/server/**/*.js' ], base: 'source/', /* Don't start patterns with `./` - they will never match. Just leave out `./` */ orderFileExport: ['source/*.js','source/**/*.js','source/**/**/*.js'], watch: ['cleanJavaScript'], 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 "