mod-build 3.6.8--beta.1 → 3.6.8--beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var request = require('request');
|
|
2
2
|
var source = require('vinyl-source-stream');
|
|
3
3
|
var replace = require('gulp-replace');
|
|
4
|
+
var debug = require('gulp-debug');
|
|
4
5
|
var hash = require('gulp-hash');
|
|
5
6
|
var tap = require('gulp-tap');
|
|
6
7
|
var path = require('path');
|
|
@@ -8,6 +9,8 @@ var path = require('path');
|
|
|
8
9
|
var modAlyticsFileName = '';
|
|
9
10
|
var abandonmentJsFileName = '';
|
|
10
11
|
var footerComponentJsFileName = '';
|
|
12
|
+
var modFooterStylesFileName = '';
|
|
13
|
+
var qsFooterStylesFileName = '';
|
|
11
14
|
|
|
12
15
|
function replaceModalyticsSrc(gulp, gulpPlugins, siteSettings, siteData) {
|
|
13
16
|
if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
|
|
@@ -36,15 +39,44 @@ function replaceAbandonmentJsSrc(gulp, gulpPlugins, siteSettings, siteData) {
|
|
|
36
39
|
function replaceFooterComponentJsSrc(gulp, gulpPlugins, siteSettings, siteData) {
|
|
37
40
|
if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
|
|
38
41
|
return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
|
|
39
|
-
.pipe(replace(/"(?:(?!"|")[\s\S])+(
|
|
42
|
+
.pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, '"resources/scripts/footer/' + footerComponentJsFileName + '"'))
|
|
40
43
|
.pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
|
|
41
44
|
} else {
|
|
42
45
|
return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
|
|
43
|
-
.pipe(replace(/"(?:(?!"|")[\s\S])+(
|
|
46
|
+
.pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, '"/resources/scripts/footer/' + footerComponentJsFileName + '"'))
|
|
44
47
|
.pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
50
|
|
|
51
|
+
function replaceFooterStylesReference(gulp, gulpPlugins, siteSettings, siteData) {
|
|
52
|
+
if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
|
|
53
|
+
return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + footerComponentJsFileName)
|
|
54
|
+
// .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`resources/styles/components/footer/' + modFooterStylesFileName + '`'))
|
|
55
|
+
.pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/qs.*?)\`/, '`resources/styles/components/footer/' + qsFooterStylesFileName + '`'))
|
|
56
|
+
.pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
|
|
57
|
+
} else {
|
|
58
|
+
return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + footerComponentJsFileName)
|
|
59
|
+
// .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`/resources/styles/components/footer/' + modFooterStylesFileName + '`'))
|
|
60
|
+
// .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/qs.*?)\`/, '`/resources/styles/components/footer/' + qsFooterStylesFileName + '`'))
|
|
61
|
+
// .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'))
|
|
62
|
+
.pipe(debug());
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function replaceFooterStylesReferenceInMap(gulp, gulpPlugins, siteSettings, siteData) {
|
|
67
|
+
if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
|
|
68
|
+
return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
|
|
69
|
+
.pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("resources/styles/components/footer/' + modFooterStylesFileName + '")'))
|
|
70
|
+
.pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("resources/styles/components/footer/' + qsFooterStylesFileName + '")'))
|
|
71
|
+
.pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
|
|
72
|
+
} else {
|
|
73
|
+
return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
|
|
74
|
+
.pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("/resources/styles/components/footer/' + modFooterStylesFileName + '")'))
|
|
75
|
+
.pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("/resources/styles/components/footer/' + qsFooterStylesFileName + '")'))
|
|
76
|
+
.pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
48
80
|
function copyModalytics(gulp, gulpPlugins, siteSettings, siteData) {
|
|
49
81
|
return new Promise(resolve => {
|
|
50
82
|
request(`https://${siteSettings.nodeEnv}/quote/resources/mod-alytics/modalytics.min.js`)
|
|
@@ -153,6 +185,54 @@ function copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData) {
|
|
|
153
185
|
});
|
|
154
186
|
}
|
|
155
187
|
|
|
188
|
+
function copyFooterComponentStyles(gulp, gulpPlugins, siteSettings, siteData) {
|
|
189
|
+
return new Promise(resolve => {
|
|
190
|
+
request(`https://${siteSettings.nodeEnv}/quote/resources/shared-resources/styles/components/footer/qs-footer.min.css`)
|
|
191
|
+
.on('response', resp => {
|
|
192
|
+
if (resp.statusCode !== 200) {
|
|
193
|
+
throw new Error(`${resp.statusCode} Error while fetching qs-footer.min.css`);
|
|
194
|
+
}
|
|
195
|
+
})
|
|
196
|
+
.pipe(source('qs-footer.min.css'))
|
|
197
|
+
.pipe(hash({
|
|
198
|
+
hashLength: 20,
|
|
199
|
+
template: 'qs-footer-<%= hash %>.min.css'
|
|
200
|
+
}))
|
|
201
|
+
.pipe(tap(function(file, t){
|
|
202
|
+
qsFooterStylesFileName = path.basename(file.path);
|
|
203
|
+
}))
|
|
204
|
+
.pipe(gulp.dest(`${siteSettings.srcFolder}/resources/styles/components/footer`))
|
|
205
|
+
.on('finish', resolve);
|
|
206
|
+
})
|
|
207
|
+
.then(() => {
|
|
208
|
+
return new Promise(resolve => {
|
|
209
|
+
request(`https://${siteSettings.nodeEnv}/quote/resources/shared-resources/styles/components/footer/mod-footer.min.css`)
|
|
210
|
+
.on('response', resp => {
|
|
211
|
+
if (resp.statusCode !== 200) {
|
|
212
|
+
throw new Error(`${resp.statusCode} Error while fetching mod-footer.min.css`);
|
|
213
|
+
} else {
|
|
214
|
+
console.log(qsFooterStylesFileName);
|
|
215
|
+
replaceFooterStylesReference(gulp, gulpPlugins, siteSettings, siteData);
|
|
216
|
+
}
|
|
217
|
+
})
|
|
218
|
+
.pipe(source('mod-footer.min.css'))
|
|
219
|
+
.pipe(hash({
|
|
220
|
+
hashLength: 20,
|
|
221
|
+
template: 'mod-footer-<%= hash %>.min.css'
|
|
222
|
+
}))
|
|
223
|
+
.pipe(tap(function(file, t){
|
|
224
|
+
modFooterStylesFileName = path.basename(file.path);
|
|
225
|
+
}))
|
|
226
|
+
.pipe(gulp.dest(`${siteSettings.srcFolder}/resources/styles/components/footer`))
|
|
227
|
+
.on('finish', resolve);
|
|
228
|
+
});
|
|
229
|
+
})
|
|
230
|
+
// .then(() => {
|
|
231
|
+
// replaceFooterStylesReference(gulp, gulpPlugins, siteSettings, siteData);
|
|
232
|
+
// replaceFooterStylesReferenceInMap(gulp, gulpPlugins, siteSettings, siteData);
|
|
233
|
+
// });
|
|
234
|
+
}
|
|
235
|
+
|
|
156
236
|
module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
|
|
157
237
|
return function() {
|
|
158
238
|
const { nodeEnv } = siteSettings;
|
|
@@ -160,6 +240,6 @@ module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
|
|
|
160
240
|
throw new Error('Missing environment variables. Did you start with gulp instead of npm run...?');
|
|
161
241
|
}
|
|
162
242
|
|
|
163
|
-
return copyModalytics(gulp, gulpPlugins, siteSettings, siteData) && copyAbandonmentJs(gulp, gulpPlugins, siteSettings, siteData) && copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData);
|
|
243
|
+
return copyModalytics(gulp, gulpPlugins, siteSettings, siteData) && copyAbandonmentJs(gulp, gulpPlugins, siteSettings, siteData) && copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData) && copyFooterComponentStyles(gulp, gulpPlugins, siteSettings, siteData);
|
|
164
244
|
};
|
|
165
245
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mod-build",
|
|
3
|
-
"version": "3.6.8--beta.
|
|
3
|
+
"version": "3.6.8--beta.2",
|
|
4
4
|
"description": "Share components for S3 sites.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"gulp-concat": "^2.6.1",
|
|
22
22
|
"gulp-cssmin": "^0.1.7",
|
|
23
23
|
"gulp-csso": "^3.0.0",
|
|
24
|
+
"gulp-debug": "^4.0.0",
|
|
24
25
|
"gulp-eslint": "^5.0.0",
|
|
25
26
|
"gulp-eslint-threshold": "^0.1.1",
|
|
26
27
|
"gulp-filter": "^5.0.0",
|