Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: gulpfile.js

Issue 29646555: Issue 6210 - Implement Subscription (Double-opt-in) template for newsletter (Closed)
Left Patch Set: Update with specification changes Created Jan. 12, 2018, 1:19 p.m.
Right Patch Set: Addressed comments #20 Created Jan. 23, 2018, 8:47 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « README.md ('k') | package.json » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 /*! 1 /*!
2 * This file is part of eyeomail.com. 2 * This file is part of eyeomail.com.
3 * Copyright (C) 2017-present eyeo GmbH 3 * Copyright (C) 2017-present eyeo GmbH
4 * 4 *
5 * eyeomail.com is free software: you can redistribute it and/or modify 5 * eyeomail.com is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or 7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version. 8 * (at your option) any later version.
9 * 9 *
10 * eyeomail.com is distributed in the hope that it will be useful, 10 * eyeomail.com is distributed in the hope that it will be useful,
(...skipping 20 matching lines...) Expand all
31 * CSS 31 * CSS
32 ******************************************************************************/ 32 ******************************************************************************/
33 33
34 gulp.task("compileCss", function() { 34 gulp.task("compileCss", function() {
35 return gulp.src("./src/scss/main.scss") 35 return gulp.src("./src/scss/main.scss")
36 .pipe(postcss([autoprefixer()], {syntax: scss}).on("error", gutil.log)) 36 .pipe(postcss([autoprefixer()], {syntax: scss}).on("error", gutil.log))
37 .pipe(sass({outputStyle: "compact"}).on("error", gutil.log)) 37 .pipe(sass({outputStyle: "compact"}).on("error", gutil.log))
38 .pipe(gulp.dest("./dist")); 38 .pipe(gulp.dest("./dist"));
39 }); 39 });
40 40
41 gulp.task("inlineCss", ["compileCss", "templates"], function() { 41 gulp.task("inlineCss", ["compileCss", "moveTemplates"], function() {
42 return fs.readFile("./dist/main.css", "utf8", function (err, styles) { 42 return fs.readFile("./dist/main.css", "utf8", function (err, styles) {
43 if (err) throw err; 43 if (err) throw err;
44 44
45 const replacement = `<!-- styles:start --> 45 const replacement = `<!-- styles:start -->
juliandoucette 2018/01/22 19:47:52 NIT: (Bringing up an old point, I know) I underst
ire 2018/01/23 08:48:08 The reason I replaced the comments as well was bec
juliandoucette 2018/01/23 17:00:45 I wasn't able to find a simple regex solution. My
46 <style> 46 <style>
47 ${styles} 47 ${styles}
48 </style> 48 </style>
49 <!-- styles:end -->`; 49 <!-- styles:end -->`;
50 50
51 replace({ 51 replace({
52 regex: /<!-- styles:start -->([\s\S]*?)<!-- styles:end -->/, 52 regex: /<!-- styles:start -->([\s\S]*?)<!-- styles:end -->/,
53 replacement: replacement, 53 replacement: replacement,
54 paths: ["dist/signup.html"], 54 paths: ["dist/signup.html"],
55 recursive: true, 55 recursive: true,
56 silent: true, 56 silent: true,
57 }); 57 });
58 }); 58 });
59 }); 59 });
60 60
61 gulp.task("css", ["inlineCss"]); 61 gulp.task("css", ["inlineCss"]);
62 62
63 /****************************************************************************** 63 /******************************************************************************
64 * Template 64 * Template
65 ******************************************************************************/ 65 ******************************************************************************/
66 66
67 gulp.task("templates", function() { 67 gulp.task("moveTemplates", function() {
juliandoucette 2018/01/22 19:47:52 NIT: This task name is inconsistent with the ones
ire 2018/01/23 08:48:09 Done.
68 const templateFiles = ["./src/templates/signup.html", 68 const templateFiles = ["./src/templates/signup.html",
69 "./src/templates/confirm-email.html", 69 "./src/templates/confirm-email.html",
70 "./src/templates/subscription-confirmed-email.html"]; 70 "./src/templates/subscription-confirmed-email.html"];
71 71
72 return gulp.src(templateFiles).pipe(gulp.dest("./dist")); 72 return gulp.src(templateFiles).pipe(gulp.dest("./dist"));
73 }); 73 });
74 74
75 gulp.task("backclick", function() { 75 gulp.task("backclick", function() {
76 const templateFiles = ["./dist/signup.html", 76 const templateFiles = ["./dist/signup.html",
77 "./dist/confirm-email.html", 77 "./dist/confirm-email.html",
78 "./dist/subscription-confirmed-email.html"]; 78 "./dist/subscription-confirmed-email.html"];
79 79
80 return Promise.all(templateFiles.map((file) => readFilePromise(file))) 80 return Promise.all(templateFiles.map((file) => readFilePromise(file)))
81 .then((buffers) => Promise.all(buffers.map((buffer) => buffer.toString()))) 81 .then((buffers) => Promise.all(buffers.map((buffer) => buffer.toString())))
82 .then((contents) => { 82 .then((contents) => {
83 fs.mkdir("./dist", () => { 83 fs.writeFile("./dist/backclick.html", contents.join(""));
juliandoucette 2018/01/22 19:47:51 NIT: mkdir implies that a dir doesn't exist alread
ire 2018/01/23 08:48:08 The `mkdir` is actually not needed as the backclic
84 fs.writeFile("./dist/backclick.html", contents.join(""));
juliandoucette 2018/01/22 19:47:51 NIT: A similar issue to the one above applies here
ire 2018/01/23 08:48:08 From my understanding fs.writeFile can be used to
juliandoucette 2018/01/23 17:00:45 Acknowledged.
85 })
86 }); 84 });
87 }); 85 });
88 86
89 gulp.task("template", ["css"]); 87 gulp.task("template", ["css"]);
90 88
91 /****************************************************************************** 89 /******************************************************************************
92 * Watch 90 * Watch
93 ******************************************************************************/ 91 ******************************************************************************/
94 92
95 gulp.task("watch", function() { 93 gulp.task("watch", function() {
96 gulp.watch("./src/scss/**/*.scss", ["css"]); 94 gulp.watch("./src/scss/**/*.scss", ["css"]);
97 gulp.watch("./src/templates/*.html", ["template", "backclick"]); 95 gulp.watch("./src/templates/*.html", ["template", "backclick"]);
98 }); 96 });
99 97
100 /****************************************************************************** 98 /******************************************************************************
101 * Default 99 * Default
102 ******************************************************************************/ 100 ******************************************************************************/
103 101
104 gulp.task("default", ["template", "css", "watch"]); 102 gulp.task("default", ["template", "css", "watch"]);
LEFTRIGHT

Powered by Google App Engine
This is Rietveld