From d70c92fedde5513a7afa58bc7880dcaabd2c3d91 Mon Sep 17 00:00:00 2001 From: Peter Juras Date: Mon, 25 Jan 2016 19:31:54 +0100 Subject: [PATCH] Add type definitions for gulp-html-replace --- gulp-html-replace/gulp-html-replace-tests.ts | 80 ++++++++++++++++++++ gulp-html-replace/gulp-html-replace.d.ts | 29 +++++++ 2 files changed, 109 insertions(+) create mode 100644 gulp-html-replace/gulp-html-replace-tests.ts create mode 100644 gulp-html-replace/gulp-html-replace.d.ts diff --git a/gulp-html-replace/gulp-html-replace-tests.ts b/gulp-html-replace/gulp-html-replace-tests.ts new file mode 100644 index 0000000000..8739921e8d --- /dev/null +++ b/gulp-html-replace/gulp-html-replace-tests.ts @@ -0,0 +1,80 @@ +/// +/// +/// + +import * as gulp from 'gulp'; +import * as htmlreplace from 'gulp-html-replace'; + +// Examples taken from README.md of the gulp-html-replace project: +// https://www.npmjs.com/package/gulp-html-replace + +// Simple examples +gulp.task('simple1', () => { + gulp.src('src') + .pipe(htmlreplace({ js: 'js/main.js' })) + .pipe(gulp.dest('dest')); +}); + +gulp.task('simple2', () => { + gulp.src('src') + .pipe(htmlreplace({ js: ['js/monster.js', 'js/hero.js'] })) + .pipe(gulp.dest('dest')); +}); + +// Advanced examples +gulp.task('advanced1', () => { + gulp.src('src') + .pipe(htmlreplace({ + js: 'js/main.js', + tpl: '' + })) + .pipe(gulp.dest('dest')); +}); + +gulp.task('advanced2', () => { + gulp.src('src') + .pipe(htmlreplace({ + js: ['data-main.js', 'require-src.js'], + tpl: '' + })) + .pipe(gulp.dest('dest')); +}); + +// Extended replacements +gulp.task('ext1', () => { + gulp.src('src') + .pipe(htmlreplace({ + js: { + src: null, + tpl: '' + } + })) + .pipe(gulp.dest('dest')); +}); + +gulp.task('ext2', () => { + gulp.src('src') + .pipe(htmlreplace({ + js: { + src: 'dir', + tpl: '' + } + })) + .pipe(gulp.dest('dest')); +}); + +// Options example +gulp.task('options1', () => { + gulp.src('src') + .pipe(htmlreplace({ + js: { + src: null, + tpl: '' + } + }, { + keepUnassigned: false, + keepBlockTags: false, + resolvePaths: false + })) + .pipe(gulp.dest('dest')); +}); diff --git a/gulp-html-replace/gulp-html-replace.d.ts b/gulp-html-replace/gulp-html-replace.d.ts new file mode 100644 index 0000000000..19762294dd --- /dev/null +++ b/gulp-html-replace/gulp-html-replace.d.ts @@ -0,0 +1,29 @@ +// Type definitions for gulp-html-replace v1.5.5 +// Project: https://www.npmjs.com/package/gulp-html-replace +// Definitions by: Peter Juras +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +/// + +declare module "gulp-html-replace" { + interface AdvancedTask { + src: string | string[]; + tpl: string; + } + + interface Tasks { + [taskId: string] : string | string[] | AdvancedTask; + } + + interface Options { + keepUnassigned?: boolean; + keepBlockTags?: boolean; + resolvePaths?: boolean; + } + + interface HtmlReplace { + (tasks: Tasks, options?: Options) : NodeJS.ReadWriteStream; + } + + const htmlReplace : HtmlReplace; + export = htmlReplace; +}