diff --git a/gulp-changed/gulp-changed-tests.ts b/gulp-changed/gulp-changed-tests.ts new file mode 100644 index 000000000..dae92e0fd --- /dev/null +++ b/gulp-changed/gulp-changed-tests.ts @@ -0,0 +1,19 @@ +/// +/// +/// + +import * as gulp from "gulp"; +import changed = require("gulp-changed"); +import minifyHtml = require("gulp-minify-html"); + +// Without options +gulp.src("*.html") + .pipe(changed("build")) + .pipe(minifyHtml()) + .pipe(gulp.dest("build")); + +// With some options +gulp.src("*.html") + .pipe(changed("build", { hasChanged: changed.compareSha1Digest })) + .pipe(minifyHtml()) + .pipe(gulp.dest("build")); diff --git a/gulp-changed/gulp-changed.d.ts b/gulp-changed/gulp-changed.d.ts new file mode 100644 index 000000000..f2a3e0d64 --- /dev/null +++ b/gulp-changed/gulp-changed.d.ts @@ -0,0 +1,60 @@ +// Type definitions for gulp-changed +// Project: https://github.com/sindresorhus/gulp-changed +// Definitions by: Thomas Corbière +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// +/// + +declare module "gulp-changed" +{ + import { Transform } from "stream"; + import File = require("vinyl"); + + interface IComparator + { + /** + * @param stream Should be used to queue sourceFile if it passes some comparison + * @param callback Should be called when done + * @param sourceFile File to operate on + * @param destPath Destination for sourceFile as an absolute path + */ + (stream: Transform, callback: Function, sourceFile: File, destPath: string): void; + } + + interface IDestination + { + (file: string|Buffer): string; + } + + interface IOptions + { + /** + * The working directory the folder is relative to. + * @default process.cwd() + */ + cwd?: string; + + /** + * Extension of the destination files. + */ + extension?: string; + + /** + * Function that determines whether the source file is different from the destination file. + * @default changed.compareLastModifiedTime + */ + hasChanged?: IComparator; + } + + interface IGulpChanged + { + (destination: string|IDestination, options?: IOptions): NodeJS.ReadWriteStream; + + compareLastModifiedTime: IComparator; + compareSha1Digest: IComparator; + } + + const changed: IGulpChanged; + export = changed; +}