@@ -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,7 @@ Promise.all([
6262 outfile : 'dist/analytics/script.outbound-domains.js' ,
6363 } ) ,
6464
65- // Conversion tracking
65+ // 4. Conversion tracking only
6666 esbuild . build ( {
6767 ...baseConfig ,
6868 stdin : {
@@ -76,7 +76,7 @@ Promise.all([
7676 outfile : 'dist/analytics/script.conversion-tracking.js' ,
7777 } ) ,
7878
79- // Complete script with concatenated feature names
79+ // 5. Site visit + Outbound domains
8080 esbuild . build ( {
8181 ...baseConfig ,
8282 stdin : {
@@ -90,4 +90,51 @@ Promise.all([
9090 } ,
9191 outfile : 'dist/analytics/script.site-visit.outbound-domains.js' ,
9292 } ) ,
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+ } ) ,
93140] ) . catch ( ( ) => process . exit ( 1 ) ) ;
0 commit comments