Skip to content

Commit c2a9eb7

Browse files
committed
Add definitions for gulp-rev-replace (https://github.com/jamesknelson/gulp-rev-replace)
1 parent 9709e63 commit c2a9eb7

File tree

2 files changed

+84
-0
lines changed

2 files changed

+84
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/// <reference path="gulp-rev-replace.d.ts" />
2+
/// <reference path="../gulp/gulp.d.ts" />
3+
/// <reference path="../gulp-rev/gulp-rev.d.ts" />
4+
/// <reference path="../gulp-useref/gulp-useref.d.ts" />
5+
6+
import gulp = require('gulp');
7+
import revReplace = require('gulp-rev-replace');
8+
import rev = require('gulp-rev');
9+
import useref = require('gulp-useref');
10+
11+
gulp.task("index", () => {
12+
var userefAssets = useref.assets();
13+
14+
return gulp.src("src/index.html")
15+
.pipe(userefAssets) // Concatenate with gulp-useref
16+
.pipe(rev()) // Rename the concatenated files
17+
.pipe(userefAssets.restore())
18+
.pipe(useref())
19+
.pipe(revReplace()) // Substitute in new filenames
20+
.pipe(gulp.dest('public'));
21+
});
22+
23+
24+
var opt = {
25+
srcFolder: 'src',
26+
distFolder: 'dist'
27+
}
28+
29+
gulp.task("revision", ["dist:css", "dist:js"], () =>
30+
gulp.src(["dist/**/*.css", "dist/**/*.js"])
31+
.pipe(rev())
32+
.pipe(gulp.dest(opt.distFolder))
33+
.pipe(rev.manifest())
34+
.pipe(gulp.dest(opt.distFolder))
35+
);
36+
37+
gulp.task("revreplace", ["revision"], () => {
38+
var manifest = gulp.src("./" + opt.distFolder + "/rev-manifest.json");
39+
40+
return gulp.src(opt.srcFolder + "/index.html")
41+
.pipe(revReplace({manifest: manifest}))
42+
.pipe(gulp.dest(opt.distFolder));
43+
});
44+
45+
46+
function replaceJsIfMap(filename: string): string {
47+
if (filename.indexOf('.map') > -1) {
48+
return filename.replace('js/', '');
49+
}
50+
return filename;
51+
}
52+
53+
gulp.task("revreplace", ["revision"], () => {
54+
var manifest = gulp.src("./" + opt.distFolder + "/rev-manifest.json");
55+
56+
return gulp.src(opt.distFolder + '**/*.js')
57+
.pipe(revReplace({
58+
manifest: manifest,
59+
modifyUnreved: replaceJsIfMap,
60+
modifyReved: replaceJsIfMap
61+
}))
62+
.pipe(gulp.dest(opt.distFolder));
63+
});
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Type definitions for gulp-rev-replace v0.2.1
2+
// Project: https://github.com/jamesknelson/gulp-rev-replace
3+
// Definitions by: Tanguy Krotoff <https://github.com/tkrotoff>
4+
// Definitions: https://github.com/borisyankov/DefinitelyTyped
5+
6+
/// <reference path="../node/node.d.ts" />
7+
8+
declare module 'gulp-rev-replace' {
9+
interface IOptions {
10+
canonicalUris?: boolean;
11+
replaceInExtensions?: Array<string>;
12+
prefix?: string;
13+
manifest?: NodeJS.ReadWriteStream;
14+
modifyUnreved?: Function;
15+
modifyReved?: Function;
16+
}
17+
18+
function revReplace(options?: IOptions): NodeJS.ReadWriteStream;
19+
20+
export = revReplace;
21+
}

0 commit comments

Comments
 (0)