11module . exports = [
2- // Main browser webpack builds
2+ // Browser SDK (ESM)
33 {
4- name : '@sentry/browser (incl. Tracing, Replay, Feedback) ' ,
4+ name : '@sentry/browser' ,
55 path : 'packages/browser/build/npm/esm/index.js' ,
6- import : '{ init, replayIntegration, browserTracingIntegration, feedbackIntegration }' ,
6+ import : createImport ( ' init' ) ,
77 gzip : true ,
8- limit : '90 KB' ,
8+ limit : '24 KB' ,
99 } ,
1010 {
11- name : '@sentry/browser (incl. Tracing, Replay )' ,
11+ name : '@sentry/browser (incl. Tracing)' ,
1212 path : 'packages/browser/build/npm/esm/index.js' ,
13- import : '{ init, replayIntegration, browserTracingIntegration }' ,
13+ import : createImport ( ' init' , ' browserTracingIntegration' ) ,
1414 gzip : true ,
15- limit : '90 KB' ,
15+ limit : '34 KB' ,
1616 } ,
1717 {
18- name : '@sentry/browser (incl. Tracing, Replay with Canvas )' ,
18+ name : '@sentry/browser (incl. Tracing, Replay)' ,
1919 path : 'packages/browser/build/npm/esm/index.js' ,
20- import : '{ init, replayIntegration, browserTracingIntegration, replayCanvasIntegration }' ,
20+ import : createImport ( ' init' , ' browserTracingIntegration' , 'replayIntegration' ) ,
2121 gzip : true ,
22- limit : '90 KB' ,
22+ limit : '70 KB' ,
2323 } ,
2424 {
2525 name : '@sentry/browser (incl. Tracing, Replay) - with treeshaking flags' ,
2626 path : 'packages/browser/build/npm/esm/index.js' ,
27- import : '{ init, replayIntegration, browserTracingIntegration }' ,
27+ import : createImport ( ' init' , 'browserTracingIntegration' , 'replayIntegration' ) ,
2828 gzip : true ,
29- limit : '75 KB' ,
29+ limit : '65 KB' ,
3030 modifyWebpackConfig : function ( config ) {
3131 const webpack = require ( 'webpack' ) ;
3232 config . plugins . push (
@@ -41,134 +41,181 @@ module.exports = [
4141 } ,
4242 } ,
4343 {
44- name : '@sentry/browser (incl. Tracing)' ,
44+ name : '@sentry/browser (incl. Tracing, Replay with Canvas )' ,
4545 path : 'packages/browser/build/npm/esm/index.js' ,
46- import : '{ init, browserTracingIntegration }' ,
46+ import : createImport ( ' init' , ' browserTracingIntegration' , 'replayIntegration' , 'replayCanvasIntegration' ) ,
4747 gzip : true ,
48- limit : '90 KB' ,
48+ limit : '75 KB' ,
4949 } ,
5050 {
51- name : '@sentry/browser (incl. browserTracingIntegration )' ,
51+ name : '@sentry/browser (incl. Tracing, Replay, Feedback )' ,
5252 path : 'packages/browser/build/npm/esm/index.js' ,
53- import : '{ init, browserTracingIntegration }' ,
53+ import : createImport ( ' init' , ' browserTracingIntegration' , 'replayIntegration' , 'feedbackIntegration' ) ,
5454 gzip : true ,
55- limit : '90 KB' ,
55+ limit : '80 KB' ,
5656 } ,
5757 {
58- name : '@sentry/browser (incl. feedbackIntegration )' ,
58+ name : '@sentry/browser (incl. Feedback )' ,
5959 path : 'packages/browser/build/npm/esm/index.js' ,
60- import : '{ init, feedbackIntegration }' ,
60+ import : createImport ( ' init' , ' feedbackIntegration' ) ,
6161 gzip : true ,
62- limit : '90 KB' ,
62+ limit : '35 KB' ,
6363 } ,
6464 {
65- name : '@sentry/browser (incl. feedbackModalIntegration )' ,
65+ name : '@sentry/browser (incl. Feedback, Feedback Modal )' ,
6666 path : 'packages/browser/build/npm/esm/index.js' ,
67- import : '{ init, feedbackIntegration, feedbackModalIntegration }' ,
67+ import : createImport ( ' init' , ' feedbackIntegration' , ' feedbackModalIntegration' ) ,
6868 gzip : true ,
69- limit : '90 KB' ,
69+ limit : '35 KB' ,
7070 } ,
7171 {
72- name : '@sentry/browser (incl. feedbackScreenshotIntegration )' ,
72+ name : '@sentry/browser (incl. Feedback, Feedback Modal, Feedback Screenshot )' ,
7373 path : 'packages/browser/build/npm/esm/index.js' ,
74- import : '{ init, feedbackIntegration, feedbackModalIntegration, feedbackScreenshotIntegration }' ,
74+ import : createImport ( ' init' , ' feedbackIntegration' , ' feedbackModalIntegration' , ' feedbackScreenshotIntegration' ) ,
7575 gzip : true ,
76- limit : '90 KB' ,
76+ limit : '35 KB' ,
7777 } ,
7878 {
7979 name : '@sentry/browser (incl. sendFeedback)' ,
8080 path : 'packages/browser/build/npm/esm/index.js' ,
81- import : '{ init, sendFeedback }' ,
81+ import : createImport ( ' init' , ' sendFeedback' ) ,
8282 gzip : true ,
83- limit : '90 KB' ,
83+ limit : '30 KB' ,
8484 } ,
85+ // React SDK (ESM)
8586 {
86- name : '@sentry/browser ' ,
87- path : 'packages/browser /build/npm /esm/index.js' ,
88- import : '{ init }' ,
87+ name : '@sentry/react ' ,
88+ path : 'packages/react /build/esm/index.js' ,
89+ import : createImport ( ' init' , 'ErrorBoundary' ) ,
8990 gzip : true ,
90- limit : '90 KB' ,
91+ limit : '27 KB' ,
9192 } ,
92-
93- // Browser CDN bundles
9493 {
95- name : 'CDN Bundle (incl. Tracing, Replay, Feedback)' ,
96- path : 'packages/browser/build/bundles/bundle.tracing.replay.feedback.min.js' ,
94+ name : '@sentry/react (incl. Tracing)' ,
95+ path : 'packages/react/build/esm/index.js' ,
96+ import : createImport ( 'init' , 'ErrorBoundary' , 'reactRouterV6BrowserTracingIntegration' ) ,
9797 gzip : true ,
98- limit : '90 KB' ,
98+ limit : '37 KB' ,
9999 } ,
100+ // Vue SDK (ESM)
100101 {
101- name : 'CDN Bundle (incl. Tracing, Replay)' ,
102- path : 'packages/browser/build/bundles/bundle.tracing.replay.min.js' ,
102+ name : '@sentry/vue' ,
103+ path : 'packages/vue/build/esm/index.js' ,
104+ import : createImport ( 'init' ) ,
103105 gzip : true ,
104- limit : '90 KB' ,
106+ limit : '28 KB' ,
105107 } ,
106108 {
107- name : 'CDN Bundle (incl. Tracing)' ,
108- path : 'packages/browser/build/bundles/bundle.tracing.min.js' ,
109+ name : '@sentry/vue (incl. Tracing)' ,
110+ path : 'packages/vue/build/esm/index.js' ,
111+ import : createImport ( 'init' , 'browserTracingIntegration' ) ,
112+ gzip : true ,
113+ limit : '38 KB' ,
114+ } ,
115+ // Svelte SDK (ESM)
116+ {
117+ name : '@sentry/svelte' ,
118+ path : 'packages/svelte/build/esm/index.js' ,
119+ import : createImport ( 'init' ) ,
109120 gzip : true ,
110- limit : '40 KB' ,
121+ limit : '24 KB' ,
111122 } ,
123+ // Browser CDN bundles
112124 {
113125 name : 'CDN Bundle' ,
114- path : 'packages/browser/build/bundles/ bundle.min.js',
126+ path : createCDNPath ( ' bundle.min.js') ,
115127 gzip : true ,
116- limit : '30 KB' ,
128+ limit : '26 KB' ,
129+ } ,
130+ {
131+ name : 'CDN Bundle (incl. Tracing)' ,
132+ path : createCDNPath ( 'bundle.tracing.min.js' ) ,
133+ gzip : true ,
134+ limit : '36 KB' ,
135+ } ,
136+ {
137+ name : 'CDN Bundle (incl. Tracing, Replay)' ,
138+ path : createCDNPath ( 'bundle.tracing.replay.min.js' ) ,
139+ gzip : true ,
140+ limit : '70 KB' ,
141+ } ,
142+ {
143+ name : 'CDN Bundle (incl. Tracing, Replay, Feedback)' ,
144+ path : createCDNPath ( 'bundle.tracing.replay.feedback.min.js' ) ,
145+ gzip : true ,
146+ limit : '75 KB' ,
117147 } ,
118-
119148 // browser CDN bundles (non-gzipped)
120149 {
121- name : 'CDN Bundle (incl. Tracing, Replay) - uncompressed' ,
122- path : 'packages/browser/build/bundles/ bundle.tracing.replay. min.js',
150+ name : 'CDN Bundle - uncompressed' ,
151+ path : createCDNPath ( ' bundle.min.js') ,
123152 gzip : false ,
124153 brotli : false ,
125- limit : '260 KB' ,
154+ limit : '80 KB' ,
126155 } ,
127156 {
128157 name : 'CDN Bundle (incl. Tracing) - uncompressed' ,
129- path : 'packages/browser/build/bundles/ bundle.tracing.min.js',
158+ path : createCDNPath ( ' bundle.tracing.min.js') ,
130159 gzip : false ,
131160 brotli : false ,
132- limit : '120 KB' ,
161+ limit : '105 KB' ,
133162 } ,
134163 {
135- name : 'CDN Bundle - uncompressed' ,
136- path : 'packages/browser/build/bundles/ bundle.min.js',
164+ name : 'CDN Bundle (incl. Tracing, Replay) - uncompressed' ,
165+ path : createCDNPath ( ' bundle.tracing.replay. min.js') ,
137166 gzip : false ,
138167 brotli : false ,
139- limit : '80 KB' ,
140- } ,
141-
142- // React
143- {
144- name : '@sentry/react (incl. Tracing, Replay)' ,
145- path : 'packages/react/build/esm/index.js' ,
146- import : '{ init, browserTracingIntegration, replayIntegration }' ,
147- gzip : true ,
148- limit : '90 KB' ,
168+ limit : '220 KB' ,
149169 } ,
170+ // Next.js SDK (ESM)
150171 {
151- name : '@sentry/react' ,
152- path : 'packages/react/build/esm/index.js' ,
153- import : '{ init }' ,
154- gzip : true ,
155- limit : '90 KB' ,
156- } ,
157-
158- // Next.js
159- // TODO: Re-enable these, when we figure out why they break...
160- /* {
161- name: '@sentry /nextjs Client (incl. Tracing, Replay)',
172+ name : '@sentry/nextjs (client)' ,
162173 path : 'packages/nextjs/build/esm/client/index.js' ,
163- import: '{ init, browserTracingIntegration, replayIntegration }',
164- gzip: true,
165- limit: '110 KB',
174+ import : createImport ( 'init' ) ,
175+ ignore : [ 'next/router' , 'next/constants' ] ,
176+ gzip : true ,
177+ limit : '37 KB' ,
178+ } ,
179+ // SvelteKit SDK (ESM)
180+ {
181+ name : '@sentry/sveltekit (client)' ,
182+ path : 'packages/sveltekit/build/esm/client/index.js' ,
183+ import : createImport ( 'init' ) ,
184+ ignore : [ '$app/stores' ] ,
185+ gzip : true ,
186+ limit : '37 KB' ,
187+ } ,
188+ // Node SDK (ESM)
189+ {
190+ name : '@sentry/node' ,
191+ path : 'packages/node/build/esm/index.js' ,
192+ import : createImport ( 'init' ) ,
193+ ignore : [
194+ 'node:http' ,
195+ 'node:https' ,
196+ 'node:diagnostics_channel' ,
197+ 'async_hooks' ,
198+ 'child_process' ,
199+ 'fs' ,
200+ 'os' ,
201+ 'path' ,
202+ 'inspector' ,
203+ 'worker_threads' ,
204+ 'http' ,
205+ 'stream' ,
206+ 'zlib' ,
207+ 'net' ,
208+ 'tls' ,
209+ ] ,
210+ gzip : true ,
211+ limit : '150 KB' ,
166212 } ,
167- {
168- name: '@sentry /nextjs Client',
169- path: 'packages/nextjs/build/esm/client/index.js',
170- import: '{ init }',
171- gzip: true,
172- limit: '57 KB',
173- }, */
174213] ;
214+
215+ function createImport ( ...args ) {
216+ return `{ ${ args . join ( ', ' ) } }` ;
217+ }
218+
219+ function createCDNPath ( name ) {
220+ return `packages/browser/build/bundles/${ name } ` ;
221+ }
0 commit comments