Skip to content

Commit f1f5f17

Browse files
committed
Merge branch 'develop' into ryan953/feedback-integration-pkg-stubs
2 parents 0ef18ad + 7383f8a commit f1f5f17

File tree

485 files changed

+8215
-6967
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

485 files changed

+8215
-6967
lines changed

.craft.yml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ targets:
1616
- name: npm
1717
id: '@sentry/core'
1818
includeNames: /^sentry-core-\d.*\.tgz$/
19-
## 1.4 Tracing package
19+
## 1.4 Browser Utils package
2020
- name: npm
21-
id: '@sentry-internal/tracing'
22-
includeNames: /^sentry-internal-tracing-\d.*\.tgz$/
21+
id: '@sentry-internal/browser-utils'
22+
includeNames: /^sentry-internal-browser-utils-\d.*\.tgz$/
2323
## 1.5 Replay Internal package (browser only)
2424
- name: npm
2525
id: '@sentry-internal/replay'
@@ -133,11 +133,6 @@ targets:
133133
id: '@sentry-internal/eslint-config-sdk'
134134
includeNames: /^sentry-internal-eslint-config-sdk-\d.*\.tgz$/
135135

136-
## 8. Experimental packages
137-
- name: npm
138-
id: '@sentry/node-experimental'
139-
includeNames: /^sentry-node-experimental-\d.*\.tgz$/
140-
141136
# AWS Lambda Layer target
142137
- name: aws-lambda-layer
143138
includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha)\.\d+)?\.zip$/

.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ module.exports = {
5151
},
5252
},
5353
{
54-
files: ['scenarios/**', 'dev-packages/rollup-utils/**'],
54+
files: ['scenarios/**', 'dev-packages/rollup-utils/**', 'dev-packages/bundle-analyzer-scenarios/**'],
5555
parserOptions: {
5656
sourceType: 'module',
5757
},

.github/workflows/build.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,12 @@ jobs:
9696
- 'scripts/**'
9797
- 'packages/core/**'
9898
- 'packages/rollup-utils/**'
99-
- 'packages/tracing/**'
100-
- 'packages/tracing-internal/**'
10199
- 'packages/utils/**'
102100
- 'packages/types/**'
103101
browser: &browser
104102
- *shared
105103
- 'packages/browser/**'
104+
- 'packages/browser-utils/**'
106105
- 'packages/replay/**'
107106
- 'packages/replay-canvas/**'
108107
- 'packages/feedback/**'
@@ -1039,6 +1038,7 @@ jobs:
10391038
'create-remix-app-v2',
10401039
'create-remix-app-express-vite-dev',
10411040
'debug-id-sourcemaps',
1041+
# 'esm-loader-node-express-app', # This is currently broken for upstream reasons. See https://github.com/getsentry/sentry-javascript/pull/11338#issuecomment-2025450675
10421042
'nextjs-app-dir',
10431043
'nextjs-14',
10441044
'react-create-hash-router',
@@ -1050,7 +1050,9 @@ jobs:
10501050
'node-fastify-app',
10511051
# TODO(v8): Re-enable hapi tests
10521052
# 'node-hapi-app',
1053+
'node-nestjs-app',
10531054
'node-exports-test-app',
1055+
'node-koa-app',
10541056
'vue-3',
10551057
'webpack-4',
10561058
'webpack-5'

.github/workflows/flaky-test-detector.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ on:
33
workflow_dispatch:
44
pull_request:
55
paths:
6-
- 'dev-packages/browser-integration-tests/suites/**'
6+
- 'dev-packages/browser-integration-tests/suites/**/test.ts'
77
branches-ignore:
88
- master
99

.size-limit.js

Lines changed: 132 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
module.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+
}

.vscode/settings.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,8 @@
3838
"editor.codeActionsOnSave": {
3939
"source.organizeImports.biome": "explicit",
4040
},
41-
"editor.defaultFormatter": "biomejs.biome"
41+
"editor.defaultFormatter": "biomejs.biome",
42+
"[typescript]": {
43+
"editor.defaultFormatter": "biomejs.biome"
44+
}
4245
}

0 commit comments

Comments
 (0)