From 10988482fb8021533084155bfb38dce2068f0986 Mon Sep 17 00:00:00 2001 From: Christopher Haws Date: Sun, 12 Jul 2015 12:18:05 -0700 Subject: [PATCH] Added declaration file and tests for gulp-uglify --- gulp-uglify/gulp-uglify-tests.ts | 24 ++++++ gulp-uglify/gulp-uglify.d.ts | 128 +++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+) create mode 100644 gulp-uglify/gulp-uglify-tests.ts create mode 100644 gulp-uglify/gulp-uglify.d.ts diff --git a/gulp-uglify/gulp-uglify-tests.ts b/gulp-uglify/gulp-uglify-tests.ts new file mode 100644 index 0000000000..e4f1f0d8a0 --- /dev/null +++ b/gulp-uglify/gulp-uglify-tests.ts @@ -0,0 +1,24 @@ +/// +/// +import gulp = require("gulp"); +import uglify = require("gulp-uglify"); + + +gulp.task('compress', function() { + var tsResult = gulp.src('lib/*.ts') + .pipe(uglify()) + .pipe(gulp.dest('dist')); +}); + +gulp.task('compress2', function() { + var tsResult = gulp.src('lib/*.ts') + .pipe(uglify({ + mangle: false, + preserverComments: "some", + compress: false, + output: { + max_line_len: 300 + } + })) + .pipe(gulp.dest('dist')); +}); \ No newline at end of file diff --git a/gulp-uglify/gulp-uglify.d.ts b/gulp-uglify/gulp-uglify.d.ts new file mode 100644 index 0000000000..28ad91b93d --- /dev/null +++ b/gulp-uglify/gulp-uglify.d.ts @@ -0,0 +1,128 @@ +// Type definitions for gulp-uglify +// Project: https://github.com/terinjokes/gulp-uglify +// Definitions by: Christopher Haws +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module "gulp-uglify" { + function GulpUglify(options?: IGulpUglifyOptions): NodeJS.ReadWriteStream; + + interface IGulpUglifyOptions { + /** + * Pass false to skip mangling names. + */ + mangle?: boolean; + + /** + * Pass if you wish to specify additional output options. The defaults are optimized for best compression. + */ + output?: IOutputOptions; + + /** + * Pass an object to specify custom compressor options. Pass false to skip compression completely. + */ + compress?: boolean; + + /** + * A convenience option for options.output.comments. Defaults to preserving no comments. + * all - Preserve all comments in code blocks + * some - Preserve comments that start with a bang (!) or include a Closure Compiler directive (@preserve, @license, @cc_on) + * function - Specify your own comment preservation function. You will be passed the current node and the current comment and are expected to return either true or false. + */ + preserverComments?: string|((node, comment) => boolean); + } + + interface IOutputOptions { + /** + * Start indentation on every line (only when `beautify`) + */ + indent_start?: number; + + /** + * Indentation level (only when `beautify`) + */ + indent_level?: number; + + /** + * Quote all keys in object literals? + */ + quote_keys?: boolean; + + /** + * Add a space after colon signs? + */ + space_colon?: boolean; + + /** + * Output ASCII-safe? (encodes Unicode characters as ASCII) + */ + ascii_only?: boolean; + + /** + * Escape "