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])+(abandonment\/abandonment.*?)js"/, '"resources/scripts/footer/' + footerComponentJsFileName + '"'))
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])+(abandonment\/abandonment.*?)js"/, '"/resources/scripts/footer/' + footerComponentJsFileName + '"'))
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.1",
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",