mod-build 3.6.10 → 3.6.11--beta.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.6.11
4
+
5
+ - Adding `mod-form` & `qs-form` to the `grab-shared-scripts` gulp task. It will copy these files into the site's `resources/scripts/mod-form` folder & then update the src for both in the `foot-assets` shared component.
6
+
3
7
  ## 3.6.10
4
8
 
5
9
  - Adding `modutils` JS to the `grab-shared-scripts` gulp task. It will copy this version into the site's `resources/scripts/mod-utils` folder & then update the src in the `foot-assets` shared component.
@@ -11,11 +11,13 @@ var abandonmentJsFileName = '';
11
11
  var footerComponentJsFileName = '';
12
12
  var modFooterStylesFileName = '';
13
13
  var qsFooterStylesFileName = '';
14
+ var modFormFileName = '';
15
+ var qsFormFileName = '';
14
16
 
15
17
  function replaceModalyticsSrc(gulp, gulpPlugins, siteSettings, siteData) {
16
18
  if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
17
19
  return gulp.src(siteSettings.srcFolder + '/shared-components/head/head.html')
18
- .pipe(replace(/".*(modalytics).*"/, '"resources/scripts/mod-alytics/' + modAlyticsFileName + '"'))
20
+ .pipe(replace(/".*(modalytics).*"/, '"{{#if this.src}}{{this.src}}{{/if}}resources/scripts/mod-alytics/' + modAlyticsFileName + '"'))
19
21
  .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/head'));
20
22
  } else {
21
23
  return gulp.src(siteSettings.srcFolder + '/shared-components/head/head.html')
@@ -24,14 +26,20 @@ function replaceModalyticsSrc(gulp, gulpPlugins, siteSettings, siteData) {
24
26
  }
25
27
  }
26
28
 
27
- function replaceModutilsSrc(gulp, gulpPlugins, siteSettings, siteData) {
29
+ function replaceFootAssetScripts(gulp, gulpPlugins, siteSettings, siteData) {
28
30
  if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
29
31
  return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
30
- .pipe(replace(/"(?:(?!"|js")[\s\S])+(modutils|mod-utils.*?)js"/, '"resources/scripts/mod-utils/' + modUtilsFileName + '"'))
32
+ .pipe(replace(/"(?:(?!"|js")[\s\S])+(modutils|mod-utils.*?)js"/, '"{{#if this.nodeModulesPath}}{{this.nodeModulesPath}}{{/if}}resources/scripts/mod-utils/' + modUtilsFileName + '"'))
33
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, '"{{#if this.nodeModulesPath}}{{this.nodeModulesPath}}{{/if}}resources/scripts/footer/' + footerComponentJsFileName + '"'))
34
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(mod-form.*?)js"/, '"{{#if this.nodeModulesPath}}{{this.nodeModulesPath}}{{/if}}resources/scripts/mod-form/' + modFormFileName + '"'))
35
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(qs-form.*?)js"/, '"{{#if this.nodeModulesPath}}{{this.nodeModulesPath}}{{/if}}resources/scripts/mod-form/' + qsFormFileName + '"'))
31
36
  .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
32
37
  } else {
33
38
  return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
34
39
  .pipe(replace(/"(?:(?!"|js")[\s\S])+(modutils|mod-utils.*?)js"/, '"/resources/scripts/mod-utils/' + modUtilsFileName + '"'))
40
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, '"/resources/scripts/footer/' + footerComponentJsFileName + '"'))
41
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(mod-form.*?)js"/, '"/resources/scripts/mod-form/' + modFormFileName + '"'))
42
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(qs-form.*?)js"/, '"/resources/scripts/mod-form/' + qsFormFileName + '"'))
35
43
  .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
36
44
  }
37
45
  }
@@ -48,25 +56,8 @@ function replaceAbandonmentJsSrc(gulp, gulpPlugins, siteSettings, siteData) {
48
56
  }
49
57
  }
50
58
 
51
- function replaceFooterComponentJsSrc(gulp, gulpPlugins, siteSettings, siteData) {
52
- if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
53
- return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
54
- .pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, '"resources/scripts/footer/' + footerComponentJsFileName + '"'))
55
- .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
56
- } else {
57
- return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
58
- .pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, '"/resources/scripts/footer/' + footerComponentJsFileName + '"'))
59
- .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
60
- }
61
- }
62
-
63
59
  function replaceFooterStylesReference(gulp, gulpPlugins, siteSettings, siteData) {
64
- if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
65
- return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + footerComponentJsFileName)
66
- .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("resources/styles/components/footer/' + modFooterStylesFileName + '")'))
67
- .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("resources/styles/components/footer/' + qsFooterStylesFileName + '")'))
68
- .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
69
- } else {
60
+ if (!siteData.siteData || siteData.siteData && siteData.siteData.isQuotePage !== true || siteData.siteData && siteData.siteData.useRelativePathForResources !== true) {
70
61
  return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + footerComponentJsFileName)
71
62
  .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("/resources/styles/components/footer/' + modFooterStylesFileName + '")'))
72
63
  .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("/resources/styles/components/footer/' + qsFooterStylesFileName + '")'))
@@ -75,12 +66,7 @@ function replaceFooterStylesReference(gulp, gulpPlugins, siteSettings, siteData)
75
66
  }
76
67
 
77
68
  function replaceFooterStylesReferenceInMap(gulp, gulpPlugins, siteSettings, siteData) {
78
- if (siteData.siteData && siteData.siteData.isQuotePage === true || siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
79
- return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
80
- .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`resources/styles/components/footer/' + modFooterStylesFileName + '`'))
81
- .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/qs.*?)\`/, '`resources/styles/components/footer/' + qsFooterStylesFileName + '`'))
82
- .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
83
- } else {
69
+ if (!siteData.siteData || siteData.siteData && siteData.siteData.isQuotePage !== true || siteData.siteData && siteData.siteData.useRelativePathForResources !== true) {
84
70
  return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
85
71
  .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`/resources/styles/components/footer/' + modFooterStylesFileName + '`'))
86
72
  .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`/resources/styles/components/footer/' + qsFooterStylesFileName + '`'))
@@ -149,8 +135,6 @@ function copyModutils(gulp, gulpPlugins, siteSettings, siteData) {
149
135
  .on('response', resp => {
150
136
  if (resp.statusCode !== 200) {
151
137
  throw new Error(`${resp.statusCode} Error while fetching modutils.min.js.map`);
152
- } else {
153
- replaceModutilsSrc(gulp, gulpPlugins, siteSettings, siteData);
154
138
  }
155
139
  })
156
140
  .pipe(source('modutils.min.js.map'))
@@ -221,8 +205,6 @@ function copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData) {
221
205
  .on('response', resp => {
222
206
  if (resp.statusCode !== 200) {
223
207
  throw new Error(`${resp.statusCode} Error while fetching footer-component.min.js.map`);
224
- } else {
225
- replaceFooterComponentJsSrc(gulp, gulpPlugins, siteSettings, siteData);
226
208
  }
227
209
  })
228
210
  .pipe(source('footer-component.min.js.map'))
@@ -232,6 +214,76 @@ function copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData) {
232
214
  });
233
215
  }
234
216
 
217
+ function copyModForm(gulp, gulpPlugins, siteSettings, siteData) {
218
+ return new Promise(resolve => {
219
+ request(`https://${siteSettings.nodeEnv}/quote/resources/mod-form/mod-form.min.js`)
220
+ .on('response', resp => {
221
+ if (resp.statusCode !== 200) {
222
+ throw new Error(`${resp.statusCode} Error while fetching mod-form.min.js`);
223
+ }
224
+ })
225
+ .pipe(source('mod-form.min.js'))
226
+ .pipe(hash({
227
+ hashLength: 20,
228
+ template: 'mod-form-<%= hash %>.min.js'
229
+ }))
230
+ .pipe(tap(function(file, t){
231
+ modFormFileName = path.basename(file.path);
232
+ }))
233
+ .pipe(gulp.dest(`${siteSettings.srcFolder}/resources/scripts/mod-form`))
234
+ .on('finish', resolve);
235
+ })
236
+ .then(() => {
237
+ return new Promise(resolve => {
238
+ request(`https://${siteSettings.nodeEnv}/quote/resources/mod-form/mod-form.min.js.map`)
239
+ .on('response', resp => {
240
+ if (resp.statusCode !== 200) {
241
+ throw new Error(`${resp.statusCode} Error while fetching mod-form.min.js.map`);
242
+ }
243
+ })
244
+ .pipe(source('mod-form.min.js.map'))
245
+ .pipe(gulp.dest(`${siteSettings.srcFolder}/resources/scripts/mod-form`))
246
+ .on('finish', resolve);
247
+ });
248
+ });
249
+ }
250
+
251
+ function copyQsForm(gulp, gulpPlugins, siteSettings, siteData) {
252
+ return new Promise(resolve => {
253
+ request(`https://${siteSettings.nodeEnv}/quote/resources/mod-form/qs-form.min.js`)
254
+ .on('response', resp => {
255
+ if (resp.statusCode !== 200) {
256
+ throw new Error(`${resp.statusCode} Error while fetching qs-form.min.js`);
257
+ }
258
+ })
259
+ .pipe(source('qs-form.min.js'))
260
+ .pipe(hash({
261
+ hashLength: 20,
262
+ template: 'qs-form-<%= hash %>.min.js'
263
+ }))
264
+ .pipe(tap(function(file, t){
265
+ qsFormFileName = path.basename(file.path);
266
+ }))
267
+ .pipe(gulp.dest(`${siteSettings.srcFolder}/resources/scripts/mod-form`))
268
+ .on('finish', resolve);
269
+ })
270
+ .then(() => {
271
+ return new Promise(resolve => {
272
+ request(`https://${siteSettings.nodeEnv}/quote/resources/mod-form/qs-form.min.js.map`)
273
+ .on('response', resp => {
274
+ if (resp.statusCode !== 200) {
275
+ throw new Error(`${resp.statusCode} Error while fetching qs-form.min.js.map`);
276
+ } else {
277
+ replaceFootAssetScripts(gulp, gulpPlugins, siteSettings, siteData);
278
+ }
279
+ })
280
+ .pipe(source('qs-form.min.js.map'))
281
+ .pipe(gulp.dest(`${siteSettings.srcFolder}/resources/scripts/mod-form`))
282
+ .on('finish', resolve);
283
+ });
284
+ });
285
+ }
286
+
235
287
  function copyFooterComponentStyles(gulp, gulpPlugins, siteSettings, siteData) {
236
288
  return new Promise(resolve => {
237
289
  request(`https://${siteSettings.nodeEnv}/quote/resources/shared-resources/styles/components/footer/mod-footer.min.css`)
@@ -284,6 +336,12 @@ module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
284
336
  throw new Error('Missing environment variables. Did you start with gulp instead of npm run...?');
285
337
  }
286
338
 
287
- return copyModalytics(gulp, gulpPlugins, siteSettings, siteData) && copyAbandonmentJs(gulp, gulpPlugins, siteSettings, siteData) && copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData) && copyFooterComponentStyles(gulp, gulpPlugins, siteSettings, siteData) && copyModutils(gulp, gulpPlugins, siteSettings, siteData);
339
+ return copyModalytics(gulp, gulpPlugins, siteSettings, siteData) &&
340
+ copyAbandonmentJs(gulp, gulpPlugins, siteSettings, siteData) &&
341
+ copyFooterComponentJs(gulp, gulpPlugins, siteSettings, siteData) &&
342
+ copyFooterComponentStyles(gulp, gulpPlugins, siteSettings, siteData) &&
343
+ copyModutils(gulp, gulpPlugins, siteSettings, siteData) &&
344
+ copyModForm(gulp, gulpPlugins, siteSettings, siteData) &&
345
+ copyQsForm(gulp, gulpPlugins, siteSettings, siteData);
288
346
  };
289
347
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mod-build",
3
- "version": "3.6.10",
3
+ "version": "3.6.11--beta.1",
4
4
  "description": "Share components for S3 sites.",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"