mod-build 3.6.8--beta.1 → 3.6.8--beta.3

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.
@@ -8,6 +8,8 @@ var path = require('path');
8
8
  var modAlyticsFileName = '';
9
9
  var abandonmentJsFileName = '';
10
10
  var footerComponentJsFileName = '';
11
+ var modFooterStylesFileName = '';
12
+ var qsFooterStylesFileName = '';
11
13
 
12
14
  function replaceModalyticsSrc(gulp, gulpPlugins, siteSettings, siteData) {
13
15
  if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
@@ -36,15 +38,43 @@ function replaceAbandonmentJsSrc(gulp, gulpPlugins, siteSettings, siteData) {
36
38
  function replaceFooterComponentJsSrc(gulp, gulpPlugins, siteSettings, siteData) {
37
39
  if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
38
40
  return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
39
- .pipe(replace(/"(?:(?!"|")[\s\S])+(abandonment\/abandonment.*?)js"/, '"resources/scripts/footer/' + footerComponentJsFileName + '"'))
41
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, '"resources/scripts/footer/' + footerComponentJsFileName + '"'))
40
42
  .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
41
43
  } else {
42
44
  return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
43
- .pipe(replace(/"(?:(?!"|")[\s\S])+(abandonment\/abandonment.*?)js"/, '"/resources/scripts/footer/' + footerComponentJsFileName + '"'))
45
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, '"/resources/scripts/footer/' + footerComponentJsFileName + '"'))
44
46
  .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
45
47
  }
46
48
  }
47
49
 
50
+ function replaceFooterStylesReference(gulp, gulpPlugins, siteSettings, siteData) {
51
+ if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
52
+ return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + footerComponentJsFileName)
53
+ .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("resources/styles/components/footer/' + modFooterStylesFileName + '")'))
54
+ .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("resources/styles/components/footer/' + qsFooterStylesFileName + '")'))
55
+ .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
56
+ } else {
57
+ return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + footerComponentJsFileName)
58
+ .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("/resources/styles/components/footer/' + modFooterStylesFileName + '")'))
59
+ .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("/resources/styles/components/footer/' + qsFooterStylesFileName + '")'))
60
+ .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'))
61
+ }
62
+ }
63
+
64
+ function replaceFooterStylesReferenceInMap(gulp, gulpPlugins, siteSettings, siteData) {
65
+ if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
66
+ return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
67
+ .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`resources/styles/components/footer/' + modFooterStylesFileName + '`'))
68
+ .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/qs.*?)\`/, '`resources/styles/components/footer/' + qsFooterStylesFileName + '`'))
69
+ .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
70
+ } else {
71
+ return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
72
+ .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`/resources/styles/components/footer/' + modFooterStylesFileName + '`'))
73
+ .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`/resources/styles/components/footer/' + qsFooterStylesFileName + '`'))
74
+ .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
75
+ }
76
+ }
77
+
48
78
  function copyModalytics(gulp, gulpPlugins, siteSettings, siteData) {
49
79
  return new Promise(resolve => {
50
80
  request(`https://${siteSettings.nodeEnv}/quote/resources/mod-alytics/modalytics.min.js`)
@@ -153,6 +183,51 @@ function copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData) {
153
183
  });
154
184
  }
155
185
 
186
+ function copyFooterComponentStyles(gulp, gulpPlugins, siteSettings, siteData) {
187
+ return new Promise(resolve => {
188
+ request(`https://${siteSettings.nodeEnv}/quote/resources/shared-resources/styles/components/footer/mod-footer.min.css`)
189
+ .on('response', resp => {
190
+ if (resp.statusCode !== 200) {
191
+ throw new Error(`${resp.statusCode} Error while fetching mod-footer.min.css`);
192
+ }
193
+ })
194
+ .pipe(source('mod-footer.min.css'))
195
+ .pipe(hash({
196
+ hashLength: 20,
197
+ template: 'mod-footer-<%= hash %>.min.css'
198
+ }))
199
+ .pipe(tap(function(file, t){
200
+ modFooterStylesFileName = path.basename(file.path);
201
+ }))
202
+ .pipe(gulp.dest(`${siteSettings.srcFolder}/resources/styles/components/footer`))
203
+ .on('finish', resolve);
204
+ })
205
+ .then(() => {
206
+ return new Promise(resolve => {
207
+ request(`https://${siteSettings.nodeEnv}/quote/resources/shared-resources/styles/components/footer/qs-footer.min.css`)
208
+ .on('response', resp => {
209
+ if (resp.statusCode !== 200) {
210
+ throw new Error(`${resp.statusCode} Error while fetching qs-footer.min.css`);
211
+ }
212
+ })
213
+ .pipe(source('qs-footer.min.css'))
214
+ .pipe(hash({
215
+ hashLength: 20,
216
+ template: 'qs-footer-<%= hash %>.min.css'
217
+ }))
218
+ .pipe(tap(function(file, t){
219
+ qsFooterStylesFileName = path.basename(file.path);
220
+ }))
221
+ .pipe(gulp.dest(`${siteSettings.srcFolder}/resources/styles/components/footer`))
222
+ .on('finish', resolve);
223
+ });
224
+ })
225
+ .then(() => {
226
+ replaceFooterStylesReference(gulp, gulpPlugins, siteSettings, siteData);
227
+ replaceFooterStylesReferenceInMap(gulp, gulpPlugins, siteSettings, siteData);
228
+ });
229
+ }
230
+
156
231
  module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
157
232
  return function() {
158
233
  const { nodeEnv } = siteSettings;
@@ -160,6 +235,6 @@ module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
160
235
  throw new Error('Missing environment variables. Did you start with gulp instead of npm run...?');
161
236
  }
162
237
 
163
- return copyModalytics(gulp, gulpPlugins, siteSettings, siteData) && copyAbandonmentJs(gulp, gulpPlugins, siteSettings, siteData) && copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData);
238
+ return copyModalytics(gulp, gulpPlugins, siteSettings, siteData) && copyAbandonmentJs(gulp, gulpPlugins, siteSettings, siteData) && copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData) && copyFooterComponentStyles(gulp, gulpPlugins, siteSettings, siteData);
164
239
  };
165
240
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mod-build",
3
- "version": "3.6.8--beta.1",
3
+ "version": "3.6.8--beta.3",
4
4
  "description": "Share components for S3 sites.",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"