mod-build 3.6.19 → 3.6.21--a11y.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,6 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## 3.6.15 & 3.6.16 & 3.6.17 & 3.6.18
3
+ ## 3.6.21
4
4
 
5
5
  - `grab-shared-scripts` task code refactoring changes.
6
6
 
@@ -4,249 +4,251 @@ var replace = require('gulp-replace');
4
4
  var hash = require('gulp-hash');
5
5
  var tap = require('gulp-tap');
6
6
  var path = require('path');
7
-
8
7
  const fileNames = {
9
- modAlyticsFileName: '',
10
- modUtilsFileName: '',
11
- abandonmentJsFileName: '',
12
- footerComponentJsFileName: '',
13
- modFooterStylesFileName: '',
14
- qsFooterStylesFileName: '',
15
- modFormFileName: '',
16
- qsFormFileName: ''
8
+ modAlyticsFileName: '',
9
+ modUtilsFileName: '',
10
+ abandonmentJsFileName: '',
11
+ footerComponentJsFileName: '',
12
+ modFooterStylesFileName: '',
13
+ qsFooterStylesFileName: '',
14
+ modFormFileName: '',
15
+ qsFormFileName: ''
17
16
  };
18
-
19
17
  var isQuotePageOrUseRelativePath = false;
20
18
  var resourceURL = '';
21
-
22
19
  function replaceModalyticsSrc(gulp, gulpPlugins, siteSettings, siteData) {
23
- const resourcePath = isQuotePageOrUseRelativePath ? '{{#if this.src}}{{this.src}}{{/if}}resources/scripts/mod-alytics/' : '/resources/scripts/mod-alytics/';
24
-
25
- return gulp.src(siteSettings.srcFolder + '/shared-components/head/head.html')
26
- .pipe(replace(/".*(modalytics).*"/, resourcePath + fileNames.modAlyticsFileName))
27
- .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/head'));
20
+ const resourcePath = isQuotePageOrUseRelativePath ? '{{#if this.src}}{{this.src}}{{/if}}resources/scripts/mod-alytics/' : '/resources/scripts/mod-alytics/';
21
+ return gulp.src(siteSettings.srcFolder + '/shared-components/head/head.html')
22
+ .pipe(replace(/".*(modalytics).*"/, resourcePath + fileNames.modAlyticsFileName))
23
+ .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/head'));
28
24
  }
29
-
30
25
  function replaceFootAssetScripts(gulp, gulpPlugins, siteSettings, siteData) {
31
- const resourcePath = isQuotePageOrUseRelativePath ? '{{#if this.nodeModulesPath}}{{this.nodeModulesPath}}{{/if}}resources/scripts' : '/resources/scripts';
32
-
33
- return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
34
- .pipe(replace(/"(?:(?!"|js")[\s\S])+(modutils|mod-utils.*?)js"/, resourcePath + '/mod-utils/' + fileNames.modUtilsFileName))
35
- .pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, resourcePath + '/footer/' + fileNames.footerComponentJsFileName))
36
- .pipe(replace(/"(?:(?!"|")[\s\S])+(mod-form\/mod-form.*?)js"/, resourcePath + '/mod-form/' + fileNames.modFormFileName))
37
- .pipe(replace(/"(?:(?!"|")[\s\S])+(qs-form.*?)js"/, resourcePath + '/mod-form/' + fileNames.qsFormFileName))
38
- .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
26
+ const resourcePath = isQuotePageOrUseRelativePath ? '{{#if this.nodeModulesPath}}{{this.nodeModulesPath}}{{/if}}resources/scripts' : '/resources/scripts';
27
+ return gulp.src(siteSettings.srcFolder + '/shared-components/foot-assets/foot-assets.html')
28
+ .pipe(replace(/"(?:(?!"|js")[\s\S])+(modutils|mod-utils.*?)js"/, resourcePath + '/mod-utils/' + fileNames.modUtilsFileName))
29
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(footer\/footer-component.*?)js"/, resourcePath + '/footer/' + fileNames.footerComponentJsFileName))
30
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(mod-form\/mod-form.*?)js"/, resourcePath + '/mod-form/' + fileNames.modFormFileName))
31
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(qs-form.*?)js"/, resourcePath + '/mod-form/' + fileNames.qsFormFileName))
32
+ .pipe(gulp.dest(siteSettings.srcFolder + '/shared-components/foot-assets'));
33
+ }
34
+ function replaceAccessibleFootAssets(gulp, gulpPlugins, siteSettings, siteData) {
35
+ const resourcePath = isQuotePageOrUseRelativePath ? '{{#if this.nodeModulesPath}}{{this.nodeModulesPath}}{{/if}}resources/scripts' : '/resources/scripts';
36
+ return gulp.src(siteSettings.srcFolder + '/templates/components/v1/foot-assets.html')
37
+ .pipe(replace(/"(?:(?!"|js")[\s\S])+(modutils|mod-utils.*?)js"/, resourcePath + '/mod-utils/' + fileNames.modUtilsFileName))
38
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(mod-form\/mod-form.*?)js"/, resourcePath + '/mod-form/' + fileNames.modFormAccessibleFileName))
39
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(qs-form.*?)js"/, resourcePath + '/mod-form/' + fileNames.qsFormAccessibleFileName))
40
+ .pipe(gulp.dest(siteSettings.srcFolder + '/templates/components/v1'));
39
41
  }
40
-
41
42
  function replaceAbandonmentJsSrc(gulp, gulpPlugins, siteSettings, siteData) {
42
- const resourcePath = isQuotePageOrUseRelativePath ? 'resources/scripts/abandonment/' : '/resources/scripts/abandonment/';
43
-
44
- return gulp.src(siteSettings.srcFolder + '/templates/abandonment/*.html')
45
- .pipe(replace(/"(?:(?!"|")[\s\S])+(abandonment\/abandonment.*?)js"/, resourcePath + fileNames.abandonmentJsFileName))
46
- .pipe(gulp.dest(siteSettings.srcFolder + '/templates/abandonment'));
43
+ const resourcePath = isQuotePageOrUseRelativePath ? 'resources/scripts/abandonment/' : '/resources/scripts/abandonment/';
44
+ return gulp.src(siteSettings.srcFolder + '/templates/abandonment/*.html')
45
+ .pipe(replace(/"(?:(?!"|")[\s\S])+(abandonment\/abandonment.*?)js"/, resourcePath + fileNames.abandonmentJsFileName))
46
+ .pipe(gulp.dest(siteSettings.srcFolder + '/templates/abandonment'));
47
47
  }
48
-
49
48
  function replaceFooterStylesReference(gulp, gulpPlugins, siteSettings, siteData) {
50
- if (siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
51
- return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + fileNames.footerComponentJsFileName)
52
- .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("resources/styles/components/footer/' + fileNames.modFooterStylesFileName + '")'))
53
- .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("resources/styles/components/footer/' + fileNames.qsFooterStylesFileName + '")'))
54
- .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'))
55
- } else if (!siteData.siteData || siteData.siteData && !siteData.siteData.isQuotePage) {
56
- return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + fileNames.footerComponentJsFileName)
57
- .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("/resources/styles/components/footer/' + fileNames.modFooterStylesFileName + '")'))
58
- .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("/resources/styles/components/footer/' + fileNames.qsFooterStylesFileName + '")'))
59
- .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'))
60
- }
49
+ if (siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
50
+ return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + fileNames.footerComponentJsFileName)
51
+ .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("resources/styles/components/footer/' + fileNames.modFooterStylesFileName + '")'))
52
+ .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("resources/styles/components/footer/' + fileNames.qsFooterStylesFileName + '")'))
53
+ .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'))
54
+ } else if (!siteData.siteData || siteData.siteData && !siteData.siteData.isQuotePage) {
55
+ return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/' + fileNames.footerComponentJsFileName)
56
+ .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/mod.*?)\)/, 'concat("/resources/styles/components/footer/' + fileNames.modFooterStylesFileName + '")'))
57
+ .pipe(replace(/concat\((?:(?!concat\(|\))[\s\S])+(components\/footer\/qs.*?)\)/, 'concat("/resources/styles/components/footer/' + fileNames.qsFooterStylesFileName + '")'))
58
+ .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'))
59
+ }
61
60
  }
62
-
63
61
  function replaceFooterStylesReferenceInMap(gulp, gulpPlugins, siteSettings, siteData) {
64
- if (siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
65
- return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
66
- .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`resources/styles/components/footer/' + fileNames.modFooterStylesFileName + '`'))
67
- .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`resources/styles/components/footer/' + fileNames.qsFooterStylesFileName + '`'))
68
- .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
69
- } else if (!siteData.siteData || siteData.siteData && !siteData.siteData.isQuotePage) {
70
- return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
71
- .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`/resources/styles/components/footer/' + fileNames.modFooterStylesFileName + '`'))
72
- .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`/resources/styles/components/footer/' + fileNames.qsFooterStylesFileName + '`'))
73
- .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
74
- }
62
+ if (siteData.siteData && siteData.siteData.useRelativePathForResources === true) {
63
+ return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
64
+ .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`resources/styles/components/footer/' + fileNames.modFooterStylesFileName + '`'))
65
+ .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`resources/styles/components/footer/' + fileNames.qsFooterStylesFileName + '`'))
66
+ .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
67
+ } else if (!siteData.siteData || siteData.siteData && !siteData.siteData.isQuotePage) {
68
+ return gulp.src(siteSettings.srcFolder + '/resources/scripts/footer/footer-component.min.js.map')
69
+ .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`/resources/styles/components/footer/' + fileNames.modFooterStylesFileName + '`'))
70
+ .pipe(replace(/\`(?:(?!\`|\`)[\s\S])+(components\/footer\/mod.*?)\`/, '`/resources/styles/components/footer/' + fileNames.qsFooterStylesFileName + '`'))
71
+ .pipe(gulp.dest(siteSettings.srcFolder + '/resources/scripts/footer'));
72
+ }
75
73
  }
76
-
77
74
  function getFileFromURL(url) {
78
- return url.split('/').pop();
79
- }
80
-
81
- function getResource(url, config = {}) {
82
- if (Object.keys(config).length === 0) {
83
- return false;
84
- }
85
-
86
- const file = getFileFromURL(url);
87
-
88
- return new Promise(resolve => {
89
- request(`${resourceURL}/${url}`)
90
- .on('response', resp => {
91
- if (resp.statusCode !== 200) {
92
- throw new Error(`${resp.statusCode} Error while fetching ${file}`);
93
- }
94
- })
95
- .pipe(source(`${file}`))
96
- .pipe(hash({
97
- hashLength: 20,
98
- template: file.replace(/^([^.]*)\.(.*)$/, '$1-<%= hash %>.$2')
99
- }))
100
- .pipe(tap(function(file, t){
101
- fileNames[config.fileName] = path.basename(file.path);
102
- }))
103
- .pipe(config.gulp.dest(`${config.siteSettings.srcFolder}/resources/${config.dest}`))
104
- .on('finish', resolve);
105
- })
106
-
75
+ return url.split('/').pop();
107
76
  }
108
-
109
- function getResourceMap(url, config = {}, fn) {
110
- if (Object.keys(config).length === 0) {
111
- return false;
112
- }
113
-
114
- const file = getFileFromURL(url);
115
-
116
- return new Promise(resolve => {
117
- request(`${resourceURL}/${url}`)
118
- .on('response', resp => {
119
- if (resp.statusCode !== 200) {
120
- throw new Error(`${resp.statusCode} Error while fetching ${file}`);
121
- } else {
122
- if (typeof fn === 'function') {
123
- fn.call(null, config.gulp, config.gulpSettings, config.siteSettings, config.siteData);
124
- }
125
- }
126
- })
127
- .pipe(source(`${file}`))
128
- .pipe(config.gulp.dest(`${config.siteSettings.srcFolder}/resources/${config.dest}`))
129
- .on('finish', resolve);
130
- });
131
-
77
+ function getResource(url, config = {}, fn, fnArray) {
78
+ if (Object.keys(config).length === 0) {
79
+ return false;
80
+ }
81
+
82
+ return new Promise(resolve => {
83
+ const file = getFileFromURL(url);
84
+ request(`${resourceURL}/${url}`)
85
+ .on('response', resp => {
86
+ if (resp.statusCode !== 200) {
87
+ throw new Error(`${resp.statusCode} Error while fetching ${file}`);
88
+ }
89
+ })
90
+ .pipe(source(`${file}`))
91
+ .pipe(hash({
92
+ hashLength: 20,
93
+ template: file.replace(/^([^.]*)\.(.*)$/, '$1-<%= hash %>.$2')
94
+ }))
95
+ .pipe(tap(function(file, t) {
96
+ fileNames[config.fileName] = path.basename(file.path);
97
+ }))
98
+ .pipe(config.gulp.dest(`${config.siteSettings.srcFolder}/resources/${config.dest}`))
99
+ .on('finish', resolve);
100
+ })
101
+ .then(() => {
102
+ if (!config.mapUrl) { return false };
103
+ const file = getFileFromURL(config.mapUrl);
104
+ return new Promise((resolve) => {
105
+ request(`${resourceURL}/${config.mapUrl}`)
106
+ .on('response', (resp) => {
107
+ if (resp.statusCode !== 200) {
108
+ throw new Error(`${resp.statusCode} Error while fetching ${file}`);
109
+ } else {
110
+ if (typeof fn === 'function') {
111
+ fn.call(null, config.gulp, config.gulpSettings, config.siteSettings, config.siteData);
112
+ }
113
+ }
114
+ })
115
+ .pipe(source(`${file}`))
116
+ .pipe(config.gulp.dest(`${config.siteSettings.srcFolder}/resources/${config.dest}`))
117
+ .on('finish', resolve);
118
+ });
119
+ })
120
+ .then(() => {
121
+ if (fnArray && fnArray.length) {
122
+ fnArray.map(function(fn) {
123
+ if (typeof fn === 'function') {
124
+ fn.call(null, config.gulp, config.gulpSettings, config.siteSettings, config.siteData)
125
+ }
126
+ });
127
+ }
128
+ });
132
129
  }
133
-
130
+ const TASKS = {
131
+ copyModalytics: {
132
+ url: `mod-alytics/modalytics.min.js`,
133
+ config: {
134
+ fileName: 'modAlyticsFileName',
135
+ dest: 'scripts/mod-alytics',
136
+ mapUrl: `mod-alytics/modalytics.min.js.map`,
137
+ },
138
+ srcReplaceFn: replaceModalyticsSrc,
139
+ additionalSrcReplaceFns: []
140
+ },
141
+ copyModutils: {
142
+ url: `mod-utils/modutils.min.js`,
143
+ config: {
144
+ fileName: 'modUtilsFileName',
145
+ dest: 'scripts/mod-utils',
146
+ mapUrl: `mod-utils/modutils.min.js.map`,
147
+ },
148
+ srcReplaceFn: null,
149
+ additionalSrcReplaceFns: []
150
+ },
151
+ copyAbandonmentJs: {
152
+ url: `shared-resources/scripts/abandonment/abandonment.min.js`,
153
+ config: {
154
+ fileName: 'abandonmentJsFileName',
155
+ dest: 'scripts/abandonment',
156
+ mapUrl: `shared-resources/scripts/abandonment/abandonment.min.js.map`,
157
+ },
158
+ srcReplaceFn: replaceAbandonmentJsSrc,
159
+ additionalSrcReplaceFns: []
160
+ },
161
+ copyFooterComponentJs: {
162
+ url: `shared-resources/scripts/footer/footer-component.min.js`,
163
+ config: {
164
+ fileName: 'footerComponentJsFileName',
165
+ dest: 'scripts/footer',
166
+ mapUrl: `shared-resources/scripts/footer/footer-component.min.js.map`,
167
+ },
168
+ srcReplaceFn: null,
169
+ additionalSrcReplaceFns: []
170
+ },
171
+ copyModForm: {
172
+ url: `mod-form/mod-form.min.js`,
173
+ config: {
174
+ fileName: 'modFormFileName',
175
+ dest: 'scripts/mod-form',
176
+ mapUrl: `mod-form/mod-form.min.js.map`,
177
+ },
178
+ srcReplaceFn: null,
179
+ additionalSrcReplaceFns: []
180
+ },
181
+ copyQsForm: {
182
+ url: `mod-form/qs-form.min.js`,
183
+ config: {
184
+ fileName: 'qsFormFileName',
185
+ dest: 'scripts/mod-form',
186
+ mapUrl: `mod-form/qs-form.min.js.map`,
187
+ },
188
+ srcReplaceFn: replaceFootAssetScripts,
189
+ additionalSrcReplaceFns: []
190
+ },
191
+ copyAccessibleModForm: {
192
+ url: `mod-form/accessible/mod-form.min.js`,
193
+ config: {
194
+ fileName: 'modFormAccessibleFileName',
195
+ dest: 'scripts/mod-form',
196
+ mapUrl: `mod-form/accessible/mod-form.min.js.map`,
197
+ },
198
+ srcReplaceFn: null,
199
+ additionalSrcReplaceFns: []
200
+ },
201
+ copyAccessibleQsForm: {
202
+ url: `mod-form/accessible/qs-form.min.js`,
203
+ config: {
204
+ fileName: 'qsFormAccessibleFileName',
205
+ dest: 'scripts/mod-form',
206
+ mapUrl: `mod-form/accessible/qs-form.min.js.map`,
207
+ },
208
+ srcReplaceFn: replaceAccessibleFootAssets,
209
+ additionalSrcReplaceFns: []
210
+ },
211
+ copyModFooterComponentStyles: {
212
+ url: `shared-resources/styles/components/footer/mod-footer.min.css`,
213
+ config: {
214
+ fileName: 'modFooterStylesFileName',
215
+ dest: 'styles/components/footer',
216
+ mapUrl: null,
217
+ },
218
+ srcReplaceFn: null,
219
+ additionalSrcReplaceFns: [replaceFooterStylesReference, replaceFooterStylesReferenceInMap]
220
+ },
221
+ copyQsFooterComponentStyles: {
222
+ url: `shared-resources/styles/components/footer/qs-footer.min.css`,
223
+ config: {
224
+ fileName: 'qsFooterStylesFileName',
225
+ dest: 'styles/components/footer',
226
+ mapUrl: null,
227
+ },
228
+ srcReplaceFn: null,
229
+ additionalSrcReplaceFns: [replaceFooterStylesReference, replaceFooterStylesReferenceInMap]
230
+ }
231
+ };
134
232
  module.exports = function(gulp, gulpPlugins, siteSettings, siteData) {
135
- const isQuotePage = siteData?.siteData?.isQuotePage || siteData?.isQuotePage;
136
- const useRelativePathForResources = siteData?.siteData?.useRelativePathForResources || siteData?.useRelativePathForResources;
137
- isQuotePageOrUseRelativePath = isQuotePage === true || useRelativePathForResources === true;
138
- resourceURL = `https://${siteSettings.nodeEnv}/quote/resources`;
139
-
140
- const TASKS = {
141
- copyModalytics: {
142
- url: `mod-alytics/modalytics.min.js`,
143
- mapUrl: `mod-alytics/modalytics.min.js.map`,
144
- config: {
145
- fileName: 'modAlyticsFileName',
146
- dest: 'scripts/mod-alytics'
147
- },
148
- srcReplaceFn: replaceModalyticsSrc,
149
- additionalSrcReplaceFns: []
150
- },
151
- copyModutils: {
152
- url: `mod-utils/modutils.min.js`,
153
- mapUrl: `mod-utils/modutils.min.js.map`,
154
- config: {
155
- fileName: 'modUtilsFileName',
156
- dest: 'scripts/mod-utils'
157
- },
158
- srcReplaceFn: null,
159
- additionalSrcReplaceFns: []
160
- },
161
- copyAbandonmentJs: {
162
- url: `shared-resources/scripts/abandonment/abandonment.min.js`,
163
- mapUrl: `shared-resources/scripts/abandonment/abandonment.min.js.map`,
164
- config: {
165
- fileName: 'abandonmentJsFileName',
166
- dest: 'scripts/abandonment'
167
- },
168
- srcReplaceFn: replaceAbandonmentJsSrc,
169
- additionalSrcReplaceFns: []
170
- },
171
- copyFooterComponentJs: {
172
- url: `shared-resources/scripts/footer/footer-component.min.js`,
173
- mapUrl: `shared-resources/scripts/footer/footer-component.min.js.map`,
174
- config: {
175
- fileName: 'footerComponentJsFileName',
176
- dest: 'scripts/footer'
177
- },
178
- srcReplaceFn: null,
179
- additionalSrcReplaceFns: []
180
- },
181
- copyModForm: {
182
- url: `mod-form/mod-form.min.js`,
183
- mapUrl: `mod-form/mod-form.min.js.map`,
184
- config: {
185
- fileName: 'modFormFileName',
186
- dest: 'scripts/mod-form'
187
- },
188
- srcReplaceFn: null,
189
- additionalSrcReplaceFns: []
190
- },
191
- copyQsForm: {
192
- url: `mod-form/qs-form.min.js`,
193
- mapUrl: `mod-form/qs-form.min.js.map`,
194
- config: {
195
- fileName: 'qsFormFileName',
196
- dest: 'scripts/mod-form'
197
- },
198
- srcReplaceFn: replaceFootAssetScripts,
199
- additionalSrcReplaceFns: []
200
- },
201
- copyModFooterComponentStyles: {
202
- url: `shared-resources/styles/components/footer/mod-footer.min.css`,
203
- mapUrl: null,
204
- config: {
205
- fileName: 'modFooterStylesFileName',
206
- dest: 'styles/components/footer'
207
- },
208
- srcReplaceFn: null,
209
- additionalSrcReplaceFns: [replaceFooterStylesReference, replaceFooterStylesReferenceInMap]
210
- },
211
- copyQsFooterComponentStyles: {
212
- url: `shared-resources/styles/components/footer/qs-footer.min.css`,
213
- mapUrl: null,
214
- config: {
215
- fileName: 'qsFooterStylesFileName',
216
- dest: 'styles/components/footer'
217
- },
218
- srcReplaceFn: null,
219
- additionalSrcReplaceFns: [replaceFooterStylesReference, replaceFooterStylesReferenceInMap]
220
- }
221
- };
222
-
223
- return function() {
224
- const { nodeEnv } = siteSettings;
225
- if (!nodeEnv) {
226
- throw new Error('Missing environment variables. Did you start with gulp instead of npm run...?');
227
- }
228
-
229
- return (function() {
230
- const tasks = Object.values(TASKS)
231
- if (tasks.length) {
232
- tasks.map(async function(task) {
233
- Object.assign(task.config, { gulp, gulpPlugins, siteSettings, siteData });
234
- return await getResource(task.url, task.config)
235
- .then(async () => {
236
- if (!task.mapUrl) { return false };
237
- return await getResourceMap(task.mapUrl, task.config, task.srcReplaceFn);
238
- })
239
- .then(() => {
240
- if ('additionalSrcReplaceFns' in task && task.additionalSrcReplaceFns.length) {
241
- task.additionalSrcReplaceFns.map(function(fn) {
242
- if (typeof fn === 'function') {
243
- fn.call(null, gulp, gulpPlugins, siteSettings, siteData)
244
- }
245
- });
246
- }
247
- });
248
- });
249
- }
250
- }());
251
- };
233
+ const isQuotePage = siteData.siteData && siteData.siteData.isQuotePage || siteData && siteData.isQuotePage;
234
+ const useRelativePathForResources = siteData.siteData && siteData.siteData.useRelativePathForResources || siteData && siteData.useRelativePathForResources;
235
+ isQuotePageOrUseRelativePath = isQuotePage === true || useRelativePathForResources === true;
236
+ resourceURL = `https://${siteSettings.nodeEnv}/quote/resources`;
237
+ return function() {
238
+ const { nodeEnv } = siteSettings;
239
+ if (!nodeEnv) {
240
+ throw new Error('Missing environment variables. Did you start with gulp instead of npm run...?');
241
+ }
242
+ return (function() {
243
+ const tasks = Object.values(TASKS)
244
+ if (tasks.length) {
245
+ var getAllResources = tasks.map(function(task) {
246
+ Object.assign(task.config, { gulp, gulpPlugins, siteSettings, siteData });
247
+ return getResource(task.url, task.config, task.srcReplaceFn, task.additionalSrcReplaceFns)
248
+ });
249
+ }
250
+
251
+ return Promise.all(getAllResources);
252
+ }());
253
+ };
252
254
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mod-build",
3
- "version": "3.6.19",
3
+ "version": "3.6.21--a11y.beta.1",
4
4
  "description": "Share components for S3 sites.",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"