@@ -24,9 +24,9 @@ fs.copyFileSync(
2424 path . join ( __dirname , 'dist/_redirects' ) ,
2525) ;
2626
27- // Build all variants
27+ // Build all variants (8 total combinations of 3 extensions)
2828Promise . all ( [
29- // Base script
29+ // 1. Base script (no extensions)
3030 esbuild . build ( {
3131 ...baseConfig ,
3232 stdin : {
@@ -37,7 +37,7 @@ Promise.all([
3737 outfile : 'dist/analytics/script.js' ,
3838 } ) ,
3939
40- // Site visit tracking
40+ // 2. Site visit only
4141 esbuild . build ( {
4242 ...baseConfig ,
4343 stdin : {
@@ -48,7 +48,7 @@ Promise.all([
4848 outfile : 'dist/analytics/script.site-visit.js' ,
4949 } ) ,
5050
51- // Outbound domains tracking
51+ // 3. Outbound domains only
5252 esbuild . build ( {
5353 ...baseConfig ,
5454 stdin : {
@@ -62,7 +62,21 @@ Promise.all([
6262 outfile : 'dist/analytics/script.outbound-domains.js' ,
6363 } ) ,
6464
65- // Complete script with concatenated feature names
65+ // 4. Conversion tracking only
66+ esbuild . build ( {
67+ ...baseConfig ,
68+ stdin : {
69+ contents : combineFiles ( [
70+ 'src/base.js' ,
71+ 'src/extensions/conversion-tracking.js' ,
72+ ] ) ,
73+ resolveDir : __dirname ,
74+ sourcefile : 'combined.js' ,
75+ } ,
76+ outfile : 'dist/analytics/script.conversion-tracking.js' ,
77+ } ) ,
78+
79+ // 5. Site visit + Outbound domains
6680 esbuild . build ( {
6781 ...baseConfig ,
6882 stdin : {
@@ -76,4 +90,51 @@ Promise.all([
7690 } ,
7791 outfile : 'dist/analytics/script.site-visit.outbound-domains.js' ,
7892 } ) ,
93+
94+ // 6. Site visit + Conversion tracking
95+ esbuild . build ( {
96+ ...baseConfig ,
97+ stdin : {
98+ contents : combineFiles ( [
99+ 'src/base.js' ,
100+ 'src/extensions/site-visit.js' ,
101+ 'src/extensions/conversion-tracking.js' ,
102+ ] ) ,
103+ resolveDir : __dirname ,
104+ sourcefile : 'combined.js' ,
105+ } ,
106+ outfile : 'dist/analytics/script.site-visit.conversion-tracking.js' ,
107+ } ) ,
108+
109+ // 7. Outbound domains + Conversion tracking
110+ esbuild . build ( {
111+ ...baseConfig ,
112+ stdin : {
113+ contents : combineFiles ( [
114+ 'src/base.js' ,
115+ 'src/extensions/outbound-domains.js' ,
116+ 'src/extensions/conversion-tracking.js' ,
117+ ] ) ,
118+ resolveDir : __dirname ,
119+ sourcefile : 'combined.js' ,
120+ } ,
121+ outfile : 'dist/analytics/script.outbound-domains.conversion-tracking.js' ,
122+ } ) ,
123+
124+ // 8. All extensions combined
125+ esbuild . build ( {
126+ ...baseConfig ,
127+ stdin : {
128+ contents : combineFiles ( [
129+ 'src/base.js' ,
130+ 'src/extensions/site-visit.js' ,
131+ 'src/extensions/outbound-domains.js' ,
132+ 'src/extensions/conversion-tracking.js' ,
133+ ] ) ,
134+ resolveDir : __dirname ,
135+ sourcefile : 'combined.js' ,
136+ } ,
137+ outfile :
138+ 'dist/analytics/script.site-visit.outbound-domains.conversion-tracking.js' ,
139+ } ) ,
79140] ) . catch ( ( ) => process . exit ( 1 ) ) ;
0 commit comments