Skip to content

Commit 683ea21

Browse files
committed
Merge branch 'master' of https://github.com/getsentry/sentry-javascript into kevinliu/feat/add-long-animation-frame
2 parents d4ff07d + aeac41d commit 683ea21

File tree

420 files changed

+8866
-3689
lines changed

Some content is hidden

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

420 files changed

+8866
-3689
lines changed

.craft.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@ targets:
9797
- name: npm
9898
id: '@sentry/bun'
9999
includeNames: /^sentry-bun-\d.*\.tgz$/
100+
- name: npm
101+
id: '@sentry/nestjs'
102+
includeNames: /^sentry-nestjs-\d.*\.tgz$/
100103

101104
## 6. Fullstack/Meta Frameworks (depending on Node and Browser or Framework SDKs)
102105
- name: npm

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,12 @@ body:
3939
- '@sentry/ember'
4040
- '@sentry/gatsby'
4141
- '@sentry/google-cloud-serverless'
42+
- '@sentry/nestjs'
4243
- '@sentry/nextjs'
4344
- '@sentry/node'
4445
- '@sentry/react'
4546
- '@sentry/remix'
47+
- '@sentry/solid'
4648
- '@sentry/svelte'
4749
- '@sentry/sveltekit'
4850
- '@sentry/vue'
@@ -56,7 +58,7 @@ body:
5658
attributes:
5759
label: SDK Version
5860
description: What version of the SDK are you using?
59-
placeholder: ex. 7.8.0
61+
placeholder: ex. 8.10.0
6062
validations:
6163
required: true
6264
- type: input
@@ -66,7 +68,7 @@ body:
6668
description:
6769
If you're using one of our framework-specific SDKs (`@sentry/react`, for example), what version of the
6870
_framework_ are you using?
69-
placeholder: ex. React 17.0.0
71+
placeholder: ex. React 18.3.0 or Next 14.0.0
7072
- type: input
7173
id: link-to-sentry
7274
attributes:
@@ -78,8 +80,10 @@ body:
7880
- type: textarea
7981
id: sdk-setup
8082
attributes:
81-
label: SDK Setup
82-
description: How do you set up your Sentry SDK? Please show us your `Sentry.init` options.
83+
label: SDK Setup/Reproduction Example
84+
description:
85+
How do you set up your Sentry SDK? Please show us your `Sentry.init` code.
86+
Or even better—share a link to a reproduction example.
8387
placeholder: |-
8488
```javascript
8589
Sentry.init({

.github/workflows/build.yml

Lines changed: 30 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ jobs:
100100
- 'packages/rollup-utils/**'
101101
- 'packages/utils/**'
102102
- 'packages/types/**'
103+
- 'dev-packages/test-utils/**'
103104
browser: &browser
104105
- *shared
105106
- 'packages/browser/**'
@@ -229,44 +230,6 @@ jobs:
229230
message: |
230231
⚠️ This PR is opened against **master**. You probably want to open it against **develop**.
231232
232-
job_external_contributor:
233-
name: External Contributors
234-
needs: job_install_deps
235-
runs-on: ubuntu-20.04
236-
if: |
237-
github.event_name == 'pull_request'
238-
&& (github.event.action == 'opened' || github.event.action == 'reopened')
239-
&& github.event.pull_request.author_association != 'COLLABORATOR'
240-
&& github.event.pull_request.author_association != 'MEMBER'
241-
&& github.event.pull_request.author_association != 'OWNER'
242-
steps:
243-
- uses: actions/checkout@v4
244-
with:
245-
ref: ${{ github.head_ref }}
246-
- name: Set up Node
247-
uses: actions/setup-node@v4
248-
with:
249-
node-version-file: 'package.json'
250-
- name: Check dependency cache
251-
uses: actions/cache/restore@v4
252-
with:
253-
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
254-
key: ${{ needs.job_install_deps.outputs.dependency_cache_key }}
255-
fail-on-cache-miss: true
256-
257-
- name: Add external contributor to CHANGELOG.md
258-
uses: ./dev-packages/external-contributor-gh-action
259-
with:
260-
name: ${{ github.event.pull_request.user.login }}
261-
- name: Create PR with changes
262-
uses: peter-evans/create-pull-request@v6
263-
with:
264-
commit-message: "ref: Add external contributor to CHANGELOG.md"
265-
title: "ref: Add external contributor to CHANGELOG.md"
266-
branch: 'external-contributor/patch-${{ github.event.pull_request.user.login }}'
267-
delete-branch: true
268-
body: This PR adds the external contributor to the CHANGELOG.md file, so that they are credited for their contribution.
269-
270233
job_build:
271234
name: Build
272235
needs: [job_get_metadata, job_install_deps]
@@ -502,7 +465,7 @@ jobs:
502465
with:
503466
node-version-file: 'package.json'
504467
- name: Set up Bun
505-
uses: oven-sh/setup-bun@v1
468+
uses: oven-sh/setup-bun@v2
506469
- name: Restore caches
507470
uses: ./.github/actions/restore-cache
508471
env:
@@ -761,6 +724,7 @@ jobs:
761724
- loader_debug
762725
- loader_tracing
763726
- loader_replay
727+
- loader_replay_buffer
764728
- loader_tracing_replay
765729

766730
steps:
@@ -1007,22 +971,19 @@ jobs:
1007971

1008972
job_e2e_tests:
1009973
name: E2E ${{ matrix.label || matrix.test-application }} Test
1010-
# We only run E2E tests for non-fork PRs because the E2E tests require secrets to work and they can't be accessed from forks
1011974
# We need to add the `always()` check here because the previous step has this as well :(
1012975
# See: https://github.com/actions/runner/issues/2205
1013-
if:
1014-
always() && needs.job_e2e_prepare.result == 'success' &&
1015-
(github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
976+
if: always() && needs.job_e2e_prepare.result == 'success'
1016977
needs: [job_get_metadata, job_build, job_e2e_prepare]
1017978
runs-on: ubuntu-20.04
1018979
timeout-minutes: 10
1019980
env:
1020-
E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }}
1021-
E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
981+
# We just use a dummy DSN here, only send to the tunnel anyhow
982+
E2E_TEST_DSN: 'https://username@domain/123'
1022983
# Needed because some apps expect a certain prefix
1023-
NEXT_PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
1024-
PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
1025-
REACT_APP_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
984+
NEXT_PUBLIC_E2E_TEST_DSN: 'https://username@domain/123'
985+
PUBLIC_E2E_TEST_DSN: 'https://username@domain/123'
986+
REACT_APP_E2E_TEST_DSN: 'https://username@domain/123'
1026987
E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks'
1027988
E2E_TEST_SENTRY_PROJECT: 'sentry-javascript-e2e-tests'
1028989
strategy:
@@ -1050,6 +1011,9 @@ jobs:
10501011
'node-express-esm-preload',
10511012
'node-express-esm-without-loader',
10521013
'node-express-cjs-preload',
1014+
'node-otel-sdk-node',
1015+
'ember-classic',
1016+
'ember-embroider',
10531017
'nextjs-app-dir',
10541018
'nextjs-14',
10551019
'nextjs-15',
@@ -1067,7 +1031,7 @@ jobs:
10671031
'generic-ts3.8',
10681032
'node-fastify',
10691033
'node-hapi',
1070-
'node-nestjs',
1034+
'nestjs',
10711035
'node-exports-test-app',
10721036
'node-koa',
10731037
'node-connect',
@@ -1105,14 +1069,14 @@ jobs:
11051069
ref: ${{ env.HEAD_COMMIT }}
11061070
- uses: pnpm/action-setup@v4
11071071
with:
1108-
version: 8.3.1
1072+
version: 9.4.0
11091073
- name: Set up Node
11101074
uses: actions/setup-node@v4
11111075
with:
11121076
node-version-file: 'dev-packages/e2e-tests/package.json'
11131077
- name: Set up Bun
11141078
if: matrix.test-application == 'node-exports-test-app'
1115-
uses: oven-sh/setup-bun@v1
1079+
uses: oven-sh/setup-bun@v2
11161080
- name: Restore caches
11171081
uses: ./.github/actions/restore-cache
11181082
env:
@@ -1142,12 +1106,12 @@ jobs:
11421106
- name: Build E2E app
11431107
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
11441108
timeout-minutes: 5
1145-
run: yarn ${{ matrix.build-command || 'test:build' }}
1109+
run: pnpm ${{ matrix.build-command || 'test:build' }}
11461110

11471111
- name: Run E2E test
11481112
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
11491113
timeout-minutes: 5
1150-
run: yarn test:assert
1114+
run: pnpm test:assert
11511115

11521116
- name: Deploy Astro to Cloudflare
11531117
uses: cloudflare/pages-action@v1
@@ -1182,8 +1146,6 @@ jobs:
11821146
strategy:
11831147
fail-fast: false
11841148
matrix:
1185-
is_dependabot:
1186-
- ${{ github.actor == 'dependabot[bot]' }}
11871149
test-application:
11881150
[
11891151
'react-send-to-sentry',
@@ -1192,8 +1154,17 @@ jobs:
11921154
]
11931155
build-command:
11941156
- false
1157+
assert-command:
1158+
- false
11951159
label:
11961160
- false
1161+
include:
1162+
- test-application: 'create-remix-app'
1163+
assert-command: 'test:assert-sourcemaps'
1164+
label: 'create-remix-app (sourcemaps)'
1165+
- test-application: 'create-remix-app-legacy'
1166+
assert-command: 'test:assert-sourcemaps'
1167+
label: 'create-remix-app-legacy (sourcemaps)'
11971168

11981169
steps:
11991170
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
@@ -1202,7 +1173,7 @@ jobs:
12021173
ref: ${{ env.HEAD_COMMIT }}
12031174
- uses: pnpm/action-setup@v4
12041175
with:
1205-
version: 8.3.1
1176+
version: 9.4.0
12061177
- name: Set up Node
12071178
uses: actions/setup-node@v4
12081179
with:
@@ -1236,12 +1207,12 @@ jobs:
12361207
- name: Build E2E app
12371208
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
12381209
timeout-minutes: 5
1239-
run: yarn ${{ matrix.build-command || 'test:build' }}
1210+
run: pnpm ${{ matrix.build-command || 'test:build' }}
12401211

12411212
- name: Run E2E test
12421213
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
12431214
timeout-minutes: 5
1244-
run: yarn test:assert
1215+
run: pnpm ${{ matrix.assert-command || 'test:assert' }}
12451216

12461217
job_profiling_e2e_tests:
12471218
name: E2E ${{ matrix.label || matrix.test-application }} Test
@@ -1281,7 +1252,7 @@ jobs:
12811252
ref: ${{ env.HEAD_COMMIT }}
12821253
- uses: pnpm/action-setup@v4
12831254
with:
1284-
version: 8.3.1
1255+
version: 9.4.0
12851256
- name: Set up Node
12861257
uses: actions/setup-node@v4
12871258
with:

.github/workflows/canary.yml

Lines changed: 7 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ jobs:
5656
runs-on: ubuntu-20.04
5757
timeout-minutes: 20
5858
env:
59-
E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }}
60-
E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
61-
# Needed because certain apps expect a certain prefix
62-
NEXT_PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
63-
PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
64-
REACT_APP_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
59+
# We just use a dummy DSN here, only send to the tunnel anyhow
60+
E2E_TEST_DSN: 'https://username@domain/123'
61+
# Needed because some apps expect a certain prefix
62+
NEXT_PUBLIC_E2E_TEST_DSN: 'https://username@domain/123'
63+
PUBLIC_E2E_TEST_DSN: 'https://username@domain/123'
64+
REACT_APP_E2E_TEST_DSN: 'https://username@domain/123'
6565
E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks'
6666
E2E_TEST_SENTRY_PROJECT: 'sentry-javascript-e2e-tests'
6767
strategy:
@@ -103,7 +103,7 @@ jobs:
103103
ref: ${{ env.HEAD_COMMIT }}
104104
- uses: pnpm/action-setup@v4
105105
with:
106-
version: 8.3.1
106+
version: 9.4.0
107107

108108
- name: Set up Node
109109
uses: actions/setup-node@v4
@@ -151,45 +151,3 @@ jobs:
151151
with:
152152
filename: .github/CANARY_FAILURE_TEMPLATE.md
153153
update_existing: true
154-
155-
job_ember_canary_test:
156-
name: Ember Canary Tests
157-
runs-on: ubuntu-20.04
158-
timeout-minutes: 30
159-
strategy:
160-
fail-fast: false
161-
matrix:
162-
# scenario: [ember-release, embroider-optimized, ember-4.0]
163-
scenario: [ember-4.0]
164-
steps:
165-
- name: 'Check out current commit'
166-
uses: actions/checkout@v4
167-
with:
168-
ref: ${{ env.HEAD_COMMIT }}
169-
- name: Set up Node
170-
uses: actions/setup-node@v4
171-
with:
172-
node-version-file: 'package.json'
173-
- name: Install dependencies
174-
run: yarn install --ignore-engines --frozen-lockfile
175-
176-
- name: Build dependencies
177-
run: |
178-
yarn lerna run build:types --scope=@sentry/ember --include-dependencies
179-
yarn lerna run build:transpile --scope=@sentry/ember --include-dependencies
180-
181-
- name: Run Ember tests
182-
run: |
183-
cd packages/ember
184-
yarn ember try:one ${{ matrix.scenario }} --skip-cleanup=true
185-
186-
- name: Create Issue
187-
if: failure() && github.event_name == 'schedule'
188-
uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5
189-
env:
190-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
191-
RUN_LINK: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
192-
TITLE: Ember Canary ${{ matrix.scenario }} Test Failed
193-
with:
194-
filename: .github/CANARY_FAILURE_TEMPLATE.md
195-
update_existing: true
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: "CI: Mention external contributors"
2+
on:
3+
pull_request:
4+
types:
5+
- closed
6+
branches:
7+
- develop
8+
9+
jobs:
10+
external_contributor:
11+
name: External Contributors
12+
runs-on: ubuntu-20.04
13+
if: |
14+
github.event.pull_request.author_association != 'COLLABORATOR'
15+
&& github.event.pull_request.author_association != 'MEMBER'
16+
&& github.event.pull_request.author_association != 'OWNER'
17+
&& github.actor != 'dependabot[bot]'
18+
steps:
19+
- uses: actions/checkout@v4
20+
- name: Set up Node
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version-file: 'package.json'
24+
cache: 'yarn'
25+
26+
- name: Install dependencies
27+
run: yarn install --frozen-lockfile
28+
29+
- name: Add external contributor to CHANGELOG.md
30+
uses: ./dev-packages/external-contributor-gh-action
31+
with:
32+
name: ${{ github.event.pull_request.user.login }}
33+
- name: Create PR with changes
34+
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c
35+
with:
36+
commit-message: "ref: Add external contributor to CHANGELOG.md"
37+
title: "ref: Add external contributor to CHANGELOG.md"
38+
branch: 'external-contributor/patch-${{ github.event.pull_request.user.login }}'
39+
base: 'develop'
40+
delete-branch: true
41+
body: This PR adds the external contributor to the CHANGELOG.md file, so that they are credited for their contribution.
42+

.size-limit.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ module.exports = [
211211
import: createImport('init'),
212212
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
213213
gzip: true,
214-
limit: '135 KB',
214+
limit: '140 KB',
215215
},
216216
{
217217
name: '@sentry/node - without tracing',
@@ -237,7 +237,7 @@ module.exports = [
237237
import: createImport('init'),
238238
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
239239
gzip: true,
240-
limit: '125 KB',
240+
limit: '130 KB',
241241
},
242242
];
243243

0 commit comments

Comments
 (0)