Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .cursor/rules/sdk_development.mdc
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -59,7 +58,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -111,7 +110,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/build.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -307,16 +307,29 @@ jobs:
uses: ./.github/actions/restore-cache
with:
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check for duplicate dependencies in lockfile
# Run `yarn dedupe-deps:fix` locally to resolve any duplicates.
run: yarn dedupe-deps:check
- name: Lint source files
run: yarn lint:lerna
run: yarn lint:eslint
- name: Lint for ES compatibility
run: yarn lint:es-compatibility

job_check_lockfile:
name: Check lockfile
needs: [job_get_metadata]
Comment thread
chargome marked this conversation as resolved.
timeout-minutes: 10
runs-on: ubuntu-24.04
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v6
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version-file: 'package.json'
- name: Check that yarn.lock is stable
run: yarn && git diff --exit-code yarn.lock
run: yarn install --frozen-lockfile --ignore-engines
- name: Check for duplicate dependencies in lockfile
run: yarn dedupe-deps:check

job_check_format:
name: Check file formatting
Expand DownExpand Up@@ -1204,6 +1217,7 @@ jobs:
job_e2e_tests,
job_artifacts,
job_lint,
job_check_lockfile,
job_check_format,
job_circular_dep_check,
job_size_check,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gitflow-sync-develop.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,8 +4,8 @@ on:
branches:
- master
paths:
# When the version is updated on master (but nothing else)
- 'lerna.json'
# When versions are bumped on master (written by scripts/bump-version.js)
- '.version.json'
Comment thread
chargome marked this conversation as resolved.
- '!**/*.js'
- '!**/*.ts'
workflow_dispatch:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,6 @@ packages/*/sentry-*.tgz
# logs
yarn-error.log
npm-debug.log
lerna-debug.log
local.log

# ide
Expand Down
4 changes: 4 additions & 0 deletions .version.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"_comment": "Auto-generated by scripts/bump-version.js. Used by the gitflow sync workflow to detect version bumps. Do not edit manually.",
"version": "10.39.0"
}
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -58,7 +57,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -102,7 +101,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,7 @@ We use [Volta](https://volta.sh/) to ensure we use consistent versions of node,
Make sure to also enable [pnpm support in Volta](https://docs.volta.sh/advanced/pnpm) if you want to run the E2E tests
locally.

`sentry-javascript` is a monorepo containing several packages, and we use `lerna` to manage them. To get started,
`sentry-javascript` is a monorepo containing several packages, managed with Yarn workspaces and Nx. To get started,
install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions.

```
Expand Down
5 changes: 0 additions & 5 deletions lerna.json

This file was deleted.

8 changes: 7 additions & 1 deletion nx.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,6 +10,9 @@
"production": ["default", "!{projectRoot}/test/**/*", "!{projectRoot}/**/*.md", "!{projectRoot}/*.tgz"]
},
"targetDefaults": {
"build:dev": {
"dependsOn": ["^build:transpile", "^build:types"]
},
"build:bundle": {
"inputs": ["production", "^production"],
"dependsOn": ["build:transpile"],
Expand DownExpand Up@@ -58,5 +61,8 @@
}
},
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"cacheDirectory": ".nxcache"
"cacheDirectory": ".nxcache",
"tui": {
Comment thread
chargome marked this conversation as resolved.
"autoExit": true
}
}
53 changes: 26 additions & 27 deletions package.json
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
{
"private": true,
"scripts": {
"build": "node ./scripts/verify-packages-versions.js && lerna run build:transpile,build:types,build:bundle",
"build:bundle": "lerna run build:bundle",
"build:dev": "lerna run build:types,build:transpile",
"build:dev:filter": "lerna run build:dev --include-filtered-dependencies --include-filtered-dependents --scope",
"build:transpile": "lerna run build:transpile",
"build:types": "lerna run build:types",
"build:watch": "lerna run build:watch",
"build:dev:watch": "lerna run build:dev:watch",
"build:types:watch": "ts-node scripts/build-types-watch.ts",
"build": "node ./scripts/verify-packages-versions.js && nx run-many -t build:transpile build:types build:bundle",
"build:bundle": "nx run-many -t build:bundle",
"build:dev": "nx run-many -t build:types build:transpile",
"build:dev:filter": "nx run-many -t build:dev -p",
Comment thread
chargome marked this conversation as resolved.
Comment thread
sentry[bot] marked this conversation as resolved.
"build:transpile": "nx run-many -t build:transpile",
"build:types": "nx run-many -t build:types",
"build:watch": "nx run-many -t build:watch",
"build:dev:watch": "nx run-many -t build:dev:watch",
"build:tarball": "run-s clean:tarballs build:tarballs",
"build:tarballs": "lerna run build:tarball",
"build:tarballs": "nx run-many -t build:tarball",
"changelog": "ts-node ./scripts/get-commit-list.ts",
"generate-changelog": "ts-node ./scripts/generate-changelog.ts",
"circularDepCheck": "lerna run circularDepCheck",
"circularDepCheck": "nx run-many -t circularDepCheck",
"clean": "run-s clean:build clean:caches",
"clean:build": "lerna run clean",
"clean:build": "nx run-many -t clean",
"clean:caches": "yarn rimraf eslintcache .nxcache .nx",
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
"clean:deps": "rimraf packages/*/node_modules dev-packages/*/node_modules && rm -rf node_modules && yarn",
"clean:tarballs": "rimraf {packages,dev-packages}/*/*.tgz",
"clean:watchman": "watchman watch-del \".\"",
"clean:all": "run-s clean:build clean:tarballs clean:caches clean:deps clean:watchman",
"fix": "run-s fix:oxfmt fix:lerna",
"fix:lerna": "lerna run fix",
"fix": "run-s fix:oxfmt fix:eslint",
"fix:eslint": "nx run-many -t fix",
"fix:oxfmt": "oxfmt . --write",
"format:check": "oxfmt . --check",
"format": "oxfmt . --write",
"lint": "run-s lint:oxfmt lint:lerna",
"lint:lerna": "lerna run lint",
"lint": "run-s lint:oxfmt lint:eslint",
"lint:eslint": "nx run-many -t lint",
"lint:oxfmt": "oxfmt . --check",
"lint:es-compatibility": "lerna run lint:es-compatibility",
"lint:es-compatibility": "nx run-many -t lint:es-compatibility",
"dedupe-deps:check": "yarn-deduplicate yarn.lock --list --fail",
"dedupe-deps:fix": "yarn-deduplicate yarn.lock",
"postpublish": "lerna run --stream --concurrency 1 postpublish",
"test": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test",
"test:unit": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test:unit",
"test:update-snapshots": "lerna run test:update-snapshots",
"postpublish": "nx run-many -t postpublish --parallel=1",
"test": "nx run-many -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:scripts": "vitest run scripts/bump-version.test.ts",
Comment thread
chargome marked this conversation as resolved.
"test:unit": "nx run-many -t test:unit --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:update-snapshots": "nx run-many -t test:update-snapshots",
"test:pr": "nx affected -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:pr:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts --affected",
"test:pr:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts --affected",
"test:ci:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts",
"test:ci:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts",
"test:ci:bun": "lerna runtest --scope @sentry/bun",
"yalc:publish": "lerna run yalc:publish"
"test:ci:bun": "nx run-many -t test -p @sentry/bun",
"yalc:publish": "nx run-many -t yalc:publish"
},
"volta": {
"node": "20.19.2",
Expand DownExpand Up@@ -127,7 +127,7 @@
"es-check": "^7.2.1",
"eslint": "8.57.0",
"jsdom": "^21.1.2",
"lerna": "8.2.4",
"nx": "22.5.0",
"madge": "8.0.0",
"nodemon": "^3.1.10",
"npm-run-all2": "^6.2.0",
Expand All@@ -146,8 +146,7 @@
},
"//_resolutions_comment": [
"Because new versions of strip-ansi, string-width, and wrap-ansi are ESM only packages,",
"we need to resolve them to the CommonJS versions.",
"This is a temporary solution until we can upgrade to a version of lerna that supports ESM packages"
"we need to resolve them to the CommonJS versions."
],
"resolutions": {
"gauge/strip-ansi": "6.0.1",
Expand Down
3 changes: 1 addition & 2 deletions packages/astro/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,10 +70,9 @@
"build:dev": "yarn build",
"build:transpile": "rollup -c rollup.npm.config.mjs",
"build:types": "tsc -p tsconfig.types.json",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts",
"clean": "rimraf build coverage sentry-astro-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/aws-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,10 +86,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build dist-awslambda-layer coverage sentry-serverless-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser-utils/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -48,10 +48,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"clean": "rimraf build coverage sentry-internal-browser-utils-*.tgz",
"fix": "eslint . --format stylish --fix",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,11 +62,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:bundle:watch": "rollup -c rollup.bundle.config.mjs --watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage .rpt2_cache sentry-browser-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/bun/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,10 +52,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-bun-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/cloudflare/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -72,10 +72,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-cloudflare-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/core/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,10 +45,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-core-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/feedback/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,11 +52,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8 && yarn node ./scripts/shim-preact-export.js",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:bundle:watch": "yarn build:bundle --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build sentry-internal-feedback-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/gatsby/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -68,10 +68,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage *.d.ts sentry-gatsby-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/google-cloud-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -74,10 +74,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-google-cloud-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/hono/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,10 +78,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-hono-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/integration-shims/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,10 +37,9 @@
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:dev": "yarn build",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"clean": "rimraf build",
"fix": "eslint . --format stylish --fix",
"lint": "eslint . --format stylish",
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .cursor/rules/sdk_development.mdc
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -59,7 +58,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -111,7 +110,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/build.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -307,16 +307,29 @@ jobs:
uses: ./.github/actions/restore-cache
with:
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check for duplicate dependencies in lockfile
# Run `yarn dedupe-deps:fix` locally to resolve any duplicates.
run: yarn dedupe-deps:check
- name: Lint source files
run: yarn lint:lerna
run: yarn lint:eslint
- name: Lint for ES compatibility
run: yarn lint:es-compatibility

job_check_lockfile:
name: Check lockfile
needs: [job_get_metadata]
Comment thread
chargome marked this conversation as resolved.
timeout-minutes: 10
runs-on: ubuntu-24.04
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v6
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version-file: 'package.json'
- name: Check that yarn.lock is stable
run: yarn && git diff --exit-code yarn.lock
run: yarn install --frozen-lockfile --ignore-engines
- name: Check for duplicate dependencies in lockfile
run: yarn dedupe-deps:check

job_check_format:
name: Check file formatting
Expand DownExpand Up@@ -1204,6 +1217,7 @@ jobs:
job_e2e_tests,
job_artifacts,
job_lint,
job_check_lockfile,
job_check_format,
job_circular_dep_check,
job_size_check,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gitflow-sync-develop.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,8 +4,8 @@ on:
branches:
- master
paths:
# When the version is updated on master (but nothing else)
- 'lerna.json'
# When versions are bumped on master (written by scripts/bump-version.js)
- '.version.json'
Comment thread
chargome marked this conversation as resolved.
- '!**/*.js'
- '!**/*.ts'
workflow_dispatch:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,6 @@ packages/*/sentry-*.tgz
# logs
yarn-error.log
npm-debug.log
lerna-debug.log
local.log

# ide
Expand Down
4 changes: 4 additions & 0 deletions .version.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"_comment": "Auto-generated by scripts/bump-version.js. Used by the gitflow sync workflow to detect version bumps. Do not edit manually.",
"version": "10.39.0"
}
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -58,7 +57,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -102,7 +101,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,7 @@ We use [Volta](https://volta.sh/) to ensure we use consistent versions of node,
Make sure to also enable [pnpm support in Volta](https://docs.volta.sh/advanced/pnpm) if you want to run the E2E tests
locally.

`sentry-javascript` is a monorepo containing several packages, and we use `lerna` to manage them. To get started,
`sentry-javascript` is a monorepo containing several packages, managed with Yarn workspaces and Nx. To get started,
install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions.

```
Expand Down
5 changes: 0 additions & 5 deletions lerna.json

This file was deleted.

8 changes: 7 additions & 1 deletion nx.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,6 +10,9 @@
"production": ["default", "!{projectRoot}/test/**/*", "!{projectRoot}/**/*.md", "!{projectRoot}/*.tgz"]
},
"targetDefaults": {
"build:dev": {
"dependsOn": ["^build:transpile", "^build:types"]
},
"build:bundle": {
"inputs": ["production", "^production"],
"dependsOn": ["build:transpile"],
Expand DownExpand Up@@ -58,5 +61,8 @@
}
},
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"cacheDirectory": ".nxcache"
"cacheDirectory": ".nxcache",
"tui": {
Comment thread
chargome marked this conversation as resolved.
"autoExit": true
}
}
53 changes: 26 additions & 27 deletions package.json
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
{
"private": true,
"scripts": {
"build": "node ./scripts/verify-packages-versions.js && lerna run build:transpile,build:types,build:bundle",
"build:bundle": "lerna run build:bundle",
"build:dev": "lerna run build:types,build:transpile",
"build:dev:filter": "lerna run build:dev --include-filtered-dependencies --include-filtered-dependents --scope",
"build:transpile": "lerna run build:transpile",
"build:types": "lerna run build:types",
"build:watch": "lerna run build:watch",
"build:dev:watch": "lerna run build:dev:watch",
"build:types:watch": "ts-node scripts/build-types-watch.ts",
"build": "node ./scripts/verify-packages-versions.js && nx run-many -t build:transpile build:types build:bundle",
"build:bundle": "nx run-many -t build:bundle",
"build:dev": "nx run-many -t build:types build:transpile",
"build:dev:filter": "nx run-many -t build:dev -p",
Comment thread
chargome marked this conversation as resolved.
Comment thread
sentry[bot] marked this conversation as resolved.
"build:transpile": "nx run-many -t build:transpile",
"build:types": "nx run-many -t build:types",
"build:watch": "nx run-many -t build:watch",
"build:dev:watch": "nx run-many -t build:dev:watch",
"build:tarball": "run-s clean:tarballs build:tarballs",
"build:tarballs": "lerna run build:tarball",
"build:tarballs": "nx run-many -t build:tarball",
"changelog": "ts-node ./scripts/get-commit-list.ts",
"generate-changelog": "ts-node ./scripts/generate-changelog.ts",
"circularDepCheck": "lerna run circularDepCheck",
"circularDepCheck": "nx run-many -t circularDepCheck",
"clean": "run-s clean:build clean:caches",
"clean:build": "lerna run clean",
"clean:build": "nx run-many -t clean",
"clean:caches": "yarn rimraf eslintcache .nxcache .nx",
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
"clean:deps": "rimraf packages/*/node_modules dev-packages/*/node_modules && rm -rf node_modules && yarn",
"clean:tarballs": "rimraf {packages,dev-packages}/*/*.tgz",
"clean:watchman": "watchman watch-del \".\"",
"clean:all": "run-s clean:build clean:tarballs clean:caches clean:deps clean:watchman",
"fix": "run-s fix:oxfmt fix:lerna",
"fix:lerna": "lerna run fix",
"fix": "run-s fix:oxfmt fix:eslint",
"fix:eslint": "nx run-many -t fix",
"fix:oxfmt": "oxfmt . --write",
"format:check": "oxfmt . --check",
"format": "oxfmt . --write",
"lint": "run-s lint:oxfmt lint:lerna",
"lint:lerna": "lerna run lint",
"lint": "run-s lint:oxfmt lint:eslint",
"lint:eslint": "nx run-many -t lint",
"lint:oxfmt": "oxfmt . --check",
"lint:es-compatibility": "lerna run lint:es-compatibility",
"lint:es-compatibility": "nx run-many -t lint:es-compatibility",
"dedupe-deps:check": "yarn-deduplicate yarn.lock --list --fail",
"dedupe-deps:fix": "yarn-deduplicate yarn.lock",
"postpublish": "lerna run --stream --concurrency 1 postpublish",
"test": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test",
"test:unit": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test:unit",
"test:update-snapshots": "lerna run test:update-snapshots",
"postpublish": "nx run-many -t postpublish --parallel=1",
"test": "nx run-many -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:scripts": "vitest run scripts/bump-version.test.ts",
Comment thread
chargome marked this conversation as resolved.
"test:unit": "nx run-many -t test:unit --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:update-snapshots": "nx run-many -t test:update-snapshots",
"test:pr": "nx affected -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:pr:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts --affected",
"test:pr:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts --affected",
"test:ci:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts",
"test:ci:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts",
"test:ci:bun": "lerna runtest --scope @sentry/bun",
"yalc:publish": "lerna run yalc:publish"
"test:ci:bun": "nx run-many -t test -p @sentry/bun",
"yalc:publish": "nx run-many -t yalc:publish"
},
"volta": {
"node": "20.19.2",
Expand DownExpand Up@@ -127,7 +127,7 @@
"es-check": "^7.2.1",
"eslint": "8.57.0",
"jsdom": "^21.1.2",
"lerna": "8.2.4",
"nx": "22.5.0",
"madge": "8.0.0",
"nodemon": "^3.1.10",
"npm-run-all2": "^6.2.0",
Expand All@@ -146,8 +146,7 @@
},
"//_resolutions_comment": [
"Because new versions of strip-ansi, string-width, and wrap-ansi are ESM only packages,",
"we need to resolve them to the CommonJS versions.",
"This is a temporary solution until we can upgrade to a version of lerna that supports ESM packages"
"we need to resolve them to the CommonJS versions."
],
"resolutions": {
"gauge/strip-ansi": "6.0.1",
Expand Down
3 changes: 1 addition & 2 deletions packages/astro/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,10 +70,9 @@
"build:dev": "yarn build",
"build:transpile": "rollup -c rollup.npm.config.mjs",
"build:types": "tsc -p tsconfig.types.json",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts",
"clean": "rimraf build coverage sentry-astro-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/aws-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,10 +86,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build dist-awslambda-layer coverage sentry-serverless-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser-utils/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -48,10 +48,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"clean": "rimraf build coverage sentry-internal-browser-utils-*.tgz",
"fix": "eslint . --format stylish --fix",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,11 +62,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:bundle:watch": "rollup -c rollup.bundle.config.mjs --watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage .rpt2_cache sentry-browser-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/bun/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,10 +52,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-bun-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/cloudflare/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -72,10 +72,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-cloudflare-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/core/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,10 +45,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-core-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/feedback/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,11 +52,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8 && yarn node ./scripts/shim-preact-export.js",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:bundle:watch": "yarn build:bundle --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build sentry-internal-feedback-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/gatsby/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -68,10 +68,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage *.d.ts sentry-gatsby-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/google-cloud-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -74,10 +74,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-google-cloud-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/hono/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,10 +78,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-hono-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/integration-shims/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,10 +37,9 @@
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:dev": "yarn build",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"clean": "rimraf build",
"fix": "eslint . --format stylish --fix",
"lint": "eslint . --format stylish",
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .cursor/rules/sdk_development.mdc
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -59,7 +58,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -111,7 +110,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/build.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -307,16 +307,29 @@ jobs:
uses: ./.github/actions/restore-cache
with:
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check for duplicate dependencies in lockfile
# Run `yarn dedupe-deps:fix` locally to resolve any duplicates.
run: yarn dedupe-deps:check
- name: Lint source files
run: yarn lint:lerna
run: yarn lint:eslint
- name: Lint for ES compatibility
run: yarn lint:es-compatibility

job_check_lockfile:
name: Check lockfile
needs: [job_get_metadata]
Comment thread
chargome marked this conversation as resolved.
timeout-minutes: 10
runs-on: ubuntu-24.04
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v6
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version-file: 'package.json'
- name: Check that yarn.lock is stable
run: yarn && git diff --exit-code yarn.lock
run: yarn install --frozen-lockfile --ignore-engines
- name: Check for duplicate dependencies in lockfile
run: yarn dedupe-deps:check

job_check_format:
name: Check file formatting
Expand DownExpand Up@@ -1204,6 +1217,7 @@ jobs:
job_e2e_tests,
job_artifacts,
job_lint,
job_check_lockfile,
job_check_format,
job_circular_dep_check,
job_size_check,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gitflow-sync-develop.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,8 +4,8 @@ on:
branches:
- master
paths:
# When the version is updated on master (but nothing else)
- 'lerna.json'
# When versions are bumped on master (written by scripts/bump-version.js)
- '.version.json'
Comment thread
chargome marked this conversation as resolved.
- '!**/*.js'
- '!**/*.ts'
workflow_dispatch:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,6 @@ packages/*/sentry-*.tgz
# logs
yarn-error.log
npm-debug.log
lerna-debug.log
local.log

# ide
Expand Down
4 changes: 4 additions & 0 deletions .version.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"_comment": "Auto-generated by scripts/bump-version.js. Used by the gitflow sync workflow to detect version bumps. Do not edit manually.",
"version": "10.39.0"
}
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -58,7 +57,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -102,7 +101,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,7 @@ We use [Volta](https://volta.sh/) to ensure we use consistent versions of node,
Make sure to also enable [pnpm support in Volta](https://docs.volta.sh/advanced/pnpm) if you want to run the E2E tests
locally.

`sentry-javascript` is a monorepo containing several packages, and we use `lerna` to manage them. To get started,
`sentry-javascript` is a monorepo containing several packages, managed with Yarn workspaces and Nx. To get started,
install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions.

```
Expand Down
5 changes: 0 additions & 5 deletions lerna.json

This file was deleted.

8 changes: 7 additions & 1 deletion nx.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,6 +10,9 @@
"production": ["default", "!{projectRoot}/test/**/*", "!{projectRoot}/**/*.md", "!{projectRoot}/*.tgz"]
},
"targetDefaults": {
"build:dev": {
"dependsOn": ["^build:transpile", "^build:types"]
},
"build:bundle": {
"inputs": ["production", "^production"],
"dependsOn": ["build:transpile"],
Expand DownExpand Up@@ -58,5 +61,8 @@
}
},
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"cacheDirectory": ".nxcache"
"cacheDirectory": ".nxcache",
"tui": {
Comment thread
chargome marked this conversation as resolved.
"autoExit": true
}
}
53 changes: 26 additions & 27 deletions package.json
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
{
"private": true,
"scripts": {
"build": "node ./scripts/verify-packages-versions.js && lerna run build:transpile,build:types,build:bundle",
"build:bundle": "lerna run build:bundle",
"build:dev": "lerna run build:types,build:transpile",
"build:dev:filter": "lerna run build:dev --include-filtered-dependencies --include-filtered-dependents --scope",
"build:transpile": "lerna run build:transpile",
"build:types": "lerna run build:types",
"build:watch": "lerna run build:watch",
"build:dev:watch": "lerna run build:dev:watch",
"build:types:watch": "ts-node scripts/build-types-watch.ts",
"build": "node ./scripts/verify-packages-versions.js && nx run-many -t build:transpile build:types build:bundle",
"build:bundle": "nx run-many -t build:bundle",
"build:dev": "nx run-many -t build:types build:transpile",
"build:dev:filter": "nx run-many -t build:dev -p",
Comment thread
chargome marked this conversation as resolved.
Comment thread
sentry[bot] marked this conversation as resolved.
"build:transpile": "nx run-many -t build:transpile",
"build:types": "nx run-many -t build:types",
"build:watch": "nx run-many -t build:watch",
"build:dev:watch": "nx run-many -t build:dev:watch",
"build:tarball": "run-s clean:tarballs build:tarballs",
"build:tarballs": "lerna run build:tarball",
"build:tarballs": "nx run-many -t build:tarball",
"changelog": "ts-node ./scripts/get-commit-list.ts",
"generate-changelog": "ts-node ./scripts/generate-changelog.ts",
"circularDepCheck": "lerna run circularDepCheck",
"circularDepCheck": "nx run-many -t circularDepCheck",
"clean": "run-s clean:build clean:caches",
"clean:build": "lerna run clean",
"clean:build": "nx run-many -t clean",
"clean:caches": "yarn rimraf eslintcache .nxcache .nx",
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
"clean:deps": "rimraf packages/*/node_modules dev-packages/*/node_modules && rm -rf node_modules && yarn",
"clean:tarballs": "rimraf {packages,dev-packages}/*/*.tgz",
"clean:watchman": "watchman watch-del \".\"",
"clean:all": "run-s clean:build clean:tarballs clean:caches clean:deps clean:watchman",
"fix": "run-s fix:oxfmt fix:lerna",
"fix:lerna": "lerna run fix",
"fix": "run-s fix:oxfmt fix:eslint",
"fix:eslint": "nx run-many -t fix",
"fix:oxfmt": "oxfmt . --write",
"format:check": "oxfmt . --check",
"format": "oxfmt . --write",
"lint": "run-s lint:oxfmt lint:lerna",
"lint:lerna": "lerna run lint",
"lint": "run-s lint:oxfmt lint:eslint",
"lint:eslint": "nx run-many -t lint",
"lint:oxfmt": "oxfmt . --check",
"lint:es-compatibility": "lerna run lint:es-compatibility",
"lint:es-compatibility": "nx run-many -t lint:es-compatibility",
"dedupe-deps:check": "yarn-deduplicate yarn.lock --list --fail",
"dedupe-deps:fix": "yarn-deduplicate yarn.lock",
"postpublish": "lerna run --stream --concurrency 1 postpublish",
"test": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test",
"test:unit": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test:unit",
"test:update-snapshots": "lerna run test:update-snapshots",
"postpublish": "nx run-many -t postpublish --parallel=1",
"test": "nx run-many -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:scripts": "vitest run scripts/bump-version.test.ts",
Comment thread
chargome marked this conversation as resolved.
"test:unit": "nx run-many -t test:unit --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:update-snapshots": "nx run-many -t test:update-snapshots",
"test:pr": "nx affected -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:pr:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts --affected",
"test:pr:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts --affected",
"test:ci:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts",
"test:ci:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts",
"test:ci:bun": "lerna runtest --scope @sentry/bun",
"yalc:publish": "lerna run yalc:publish"
"test:ci:bun": "nx run-many -t test -p @sentry/bun",
"yalc:publish": "nx run-many -t yalc:publish"
},
"volta": {
"node": "20.19.2",
Expand DownExpand Up@@ -127,7 +127,7 @@
"es-check": "^7.2.1",
"eslint": "8.57.0",
"jsdom": "^21.1.2",
"lerna": "8.2.4",
"nx": "22.5.0",
"madge": "8.0.0",
"nodemon": "^3.1.10",
"npm-run-all2": "^6.2.0",
Expand All@@ -146,8 +146,7 @@
},
"//_resolutions_comment": [
"Because new versions of strip-ansi, string-width, and wrap-ansi are ESM only packages,",
"we need to resolve them to the CommonJS versions.",
"This is a temporary solution until we can upgrade to a version of lerna that supports ESM packages"
"we need to resolve them to the CommonJS versions."
],
"resolutions": {
"gauge/strip-ansi": "6.0.1",
Expand Down
3 changes: 1 addition & 2 deletions packages/astro/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,10 +70,9 @@
"build:dev": "yarn build",
"build:transpile": "rollup -c rollup.npm.config.mjs",
"build:types": "tsc -p tsconfig.types.json",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts",
"clean": "rimraf build coverage sentry-astro-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/aws-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,10 +86,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build dist-awslambda-layer coverage sentry-serverless-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser-utils/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -48,10 +48,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"clean": "rimraf build coverage sentry-internal-browser-utils-*.tgz",
"fix": "eslint . --format stylish --fix",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,11 +62,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:bundle:watch": "rollup -c rollup.bundle.config.mjs --watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage .rpt2_cache sentry-browser-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/bun/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,10 +52,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-bun-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/cloudflare/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -72,10 +72,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-cloudflare-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/core/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,10 +45,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-core-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/feedback/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,11 +52,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8 && yarn node ./scripts/shim-preact-export.js",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:bundle:watch": "yarn build:bundle --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build sentry-internal-feedback-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/gatsby/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -68,10 +68,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage *.d.ts sentry-gatsby-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/google-cloud-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -74,10 +74,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-google-cloud-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/hono/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,10 +78,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-hono-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/integration-shims/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,10 +37,9 @@
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:dev": "yarn build",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"clean": "rimraf build",
"fix": "eslint . --format stylish --fix",
"lint": "eslint . --format stylish",
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .cursor/rules/sdk_development.mdc
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -59,7 +58,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -111,7 +110,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/build.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -307,16 +307,29 @@ jobs:
uses: ./.github/actions/restore-cache
with:
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check for duplicate dependencies in lockfile
# Run `yarn dedupe-deps:fix` locally to resolve any duplicates.
run: yarn dedupe-deps:check
- name: Lint source files
run: yarn lint:lerna
run: yarn lint:eslint
- name: Lint for ES compatibility
run: yarn lint:es-compatibility

job_check_lockfile:
name: Check lockfile
needs: [job_get_metadata]
Comment thread
chargome marked this conversation as resolved.
timeout-minutes: 10
runs-on: ubuntu-24.04
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v6
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version-file: 'package.json'
- name: Check that yarn.lock is stable
run: yarn && git diff --exit-code yarn.lock
run: yarn install --frozen-lockfile --ignore-engines
- name: Check for duplicate dependencies in lockfile
run: yarn dedupe-deps:check

job_check_format:
name: Check file formatting
Expand DownExpand Up@@ -1204,6 +1217,7 @@ jobs:
job_e2e_tests,
job_artifacts,
job_lint,
job_check_lockfile,
job_check_format,
job_circular_dep_check,
job_size_check,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gitflow-sync-develop.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,8 +4,8 @@ on:
branches:
- master
paths:
# When the version is updated on master (but nothing else)
- 'lerna.json'
# When versions are bumped on master (written by scripts/bump-version.js)
- '.version.json'
Comment thread
chargome marked this conversation as resolved.
- '!**/*.js'
- '!**/*.ts'
workflow_dispatch:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,6 @@ packages/*/sentry-*.tgz
# logs
yarn-error.log
npm-debug.log
lerna-debug.log
local.log

# ide
Expand Down
4 changes: 4 additions & 0 deletions .version.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"_comment": "Auto-generated by scripts/bump-version.js. Used by the gitflow sync workflow to detect version bumps. Do not edit manually.",
"version": "10.39.0"
}
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -58,7 +57,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -102,7 +101,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,7 @@ We use [Volta](https://volta.sh/) to ensure we use consistent versions of node,
Make sure to also enable [pnpm support in Volta](https://docs.volta.sh/advanced/pnpm) if you want to run the E2E tests
locally.

`sentry-javascript` is a monorepo containing several packages, and we use `lerna` to manage them. To get started,
`sentry-javascript` is a monorepo containing several packages, managed with Yarn workspaces and Nx. To get started,
install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions.

```
Expand Down
5 changes: 0 additions & 5 deletions lerna.json

This file was deleted.

8 changes: 7 additions & 1 deletion nx.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,6 +10,9 @@
"production": ["default", "!{projectRoot}/test/**/*", "!{projectRoot}/**/*.md", "!{projectRoot}/*.tgz"]
},
"targetDefaults": {
"build:dev": {
"dependsOn": ["^build:transpile", "^build:types"]
},
"build:bundle": {
"inputs": ["production", "^production"],
"dependsOn": ["build:transpile"],
Expand DownExpand Up@@ -58,5 +61,8 @@
}
},
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"cacheDirectory": ".nxcache"
"cacheDirectory": ".nxcache",
"tui": {
Comment thread
chargome marked this conversation as resolved.
"autoExit": true
}
}
53 changes: 26 additions & 27 deletions package.json
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
{
"private": true,
"scripts": {
"build": "node ./scripts/verify-packages-versions.js && lerna run build:transpile,build:types,build:bundle",
"build:bundle": "lerna run build:bundle",
"build:dev": "lerna run build:types,build:transpile",
"build:dev:filter": "lerna run build:dev --include-filtered-dependencies --include-filtered-dependents --scope",
"build:transpile": "lerna run build:transpile",
"build:types": "lerna run build:types",
"build:watch": "lerna run build:watch",
"build:dev:watch": "lerna run build:dev:watch",
"build:types:watch": "ts-node scripts/build-types-watch.ts",
"build": "node ./scripts/verify-packages-versions.js && nx run-many -t build:transpile build:types build:bundle",
"build:bundle": "nx run-many -t build:bundle",
"build:dev": "nx run-many -t build:types build:transpile",
"build:dev:filter": "nx run-many -t build:dev -p",
Comment thread
chargome marked this conversation as resolved.
Comment thread
sentry[bot] marked this conversation as resolved.
"build:transpile": "nx run-many -t build:transpile",
"build:types": "nx run-many -t build:types",
"build:watch": "nx run-many -t build:watch",
"build:dev:watch": "nx run-many -t build:dev:watch",
"build:tarball": "run-s clean:tarballs build:tarballs",
"build:tarballs": "lerna run build:tarball",
"build:tarballs": "nx run-many -t build:tarball",
"changelog": "ts-node ./scripts/get-commit-list.ts",
"generate-changelog": "ts-node ./scripts/generate-changelog.ts",
"circularDepCheck": "lerna run circularDepCheck",
"circularDepCheck": "nx run-many -t circularDepCheck",
"clean": "run-s clean:build clean:caches",
"clean:build": "lerna run clean",
"clean:build": "nx run-many -t clean",
"clean:caches": "yarn rimraf eslintcache .nxcache .nx",
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
"clean:deps": "rimraf packages/*/node_modules dev-packages/*/node_modules && rm -rf node_modules && yarn",
"clean:tarballs": "rimraf {packages,dev-packages}/*/*.tgz",
"clean:watchman": "watchman watch-del \".\"",
"clean:all": "run-s clean:build clean:tarballs clean:caches clean:deps clean:watchman",
"fix": "run-s fix:oxfmt fix:lerna",
"fix:lerna": "lerna run fix",
"fix": "run-s fix:oxfmt fix:eslint",
"fix:eslint": "nx run-many -t fix",
"fix:oxfmt": "oxfmt . --write",
"format:check": "oxfmt . --check",
"format": "oxfmt . --write",
"lint": "run-s lint:oxfmt lint:lerna",
"lint:lerna": "lerna run lint",
"lint": "run-s lint:oxfmt lint:eslint",
"lint:eslint": "nx run-many -t lint",
"lint:oxfmt": "oxfmt . --check",
"lint:es-compatibility": "lerna run lint:es-compatibility",
"lint:es-compatibility": "nx run-many -t lint:es-compatibility",
"dedupe-deps:check": "yarn-deduplicate yarn.lock --list --fail",
"dedupe-deps:fix": "yarn-deduplicate yarn.lock",
"postpublish": "lerna run --stream --concurrency 1 postpublish",
"test": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test",
"test:unit": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test:unit",
"test:update-snapshots": "lerna run test:update-snapshots",
"postpublish": "nx run-many -t postpublish --parallel=1",
"test": "nx run-many -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:scripts": "vitest run scripts/bump-version.test.ts",
Comment thread
chargome marked this conversation as resolved.
"test:unit": "nx run-many -t test:unit --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:update-snapshots": "nx run-many -t test:update-snapshots",
"test:pr": "nx affected -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:pr:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts --affected",
"test:pr:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts --affected",
"test:ci:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts",
"test:ci:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts",
"test:ci:bun": "lerna runtest --scope @sentry/bun",
"yalc:publish": "lerna run yalc:publish"
"test:ci:bun": "nx run-many -t test -p @sentry/bun",
"yalc:publish": "nx run-many -t yalc:publish"
},
"volta": {
"node": "20.19.2",
Expand DownExpand Up@@ -127,7 +127,7 @@
"es-check": "^7.2.1",
"eslint": "8.57.0",
"jsdom": "^21.1.2",
"lerna": "8.2.4",
"nx": "22.5.0",
"madge": "8.0.0",
"nodemon": "^3.1.10",
"npm-run-all2": "^6.2.0",
Expand All@@ -146,8 +146,7 @@
},
"//_resolutions_comment": [
"Because new versions of strip-ansi, string-width, and wrap-ansi are ESM only packages,",
"we need to resolve them to the CommonJS versions.",
"This is a temporary solution until we can upgrade to a version of lerna that supports ESM packages"
"we need to resolve them to the CommonJS versions."
],
"resolutions": {
"gauge/strip-ansi": "6.0.1",
Expand Down
3 changes: 1 addition & 2 deletions packages/astro/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,10 +70,9 @@
"build:dev": "yarn build",
"build:transpile": "rollup -c rollup.npm.config.mjs",
"build:types": "tsc -p tsconfig.types.json",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts",
"clean": "rimraf build coverage sentry-astro-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/aws-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,10 +86,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build dist-awslambda-layer coverage sentry-serverless-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser-utils/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -48,10 +48,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"clean": "rimraf build coverage sentry-internal-browser-utils-*.tgz",
"fix": "eslint . --format stylish --fix",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,11 +62,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:bundle:watch": "rollup -c rollup.bundle.config.mjs --watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage .rpt2_cache sentry-browser-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/bun/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,10 +52,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-bun-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/cloudflare/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -72,10 +72,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-cloudflare-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/core/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,10 +45,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-core-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/feedback/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,11 +52,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8 && yarn node ./scripts/shim-preact-export.js",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:bundle:watch": "yarn build:bundle --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build sentry-internal-feedback-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/gatsby/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -68,10 +68,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage *.d.ts sentry-gatsby-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/google-cloud-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -74,10 +74,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-google-cloud-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/hono/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,10 +78,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-hono-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/integration-shims/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,10 +37,9 @@
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:dev": "yarn build",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"clean": "rimraf build",
"fix": "eslint . --format stylish --fix",
"lint": "eslint . --format stylish",
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .cursor/rules/sdk_development.mdc
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -59,7 +58,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -111,7 +110,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/build.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -307,16 +307,29 @@ jobs:
uses: ./.github/actions/restore-cache
with:
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check for duplicate dependencies in lockfile
# Run `yarn dedupe-deps:fix` locally to resolve any duplicates.
run: yarn dedupe-deps:check
- name: Lint source files
run: yarn lint:lerna
run: yarn lint:eslint
- name: Lint for ES compatibility
run: yarn lint:es-compatibility

job_check_lockfile:
name: Check lockfile
needs: [job_get_metadata]
Comment thread
chargome marked this conversation as resolved.
timeout-minutes: 10
runs-on: ubuntu-24.04
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v6
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version-file: 'package.json'
- name: Check that yarn.lock is stable
run: yarn && git diff --exit-code yarn.lock
run: yarn install --frozen-lockfile --ignore-engines
- name: Check for duplicate dependencies in lockfile
run: yarn dedupe-deps:check

job_check_format:
name: Check file formatting
Expand DownExpand Up@@ -1204,6 +1217,7 @@ jobs:
job_e2e_tests,
job_artifacts,
job_lint,
job_check_lockfile,
job_check_format,
job_circular_dep_check,
job_size_check,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gitflow-sync-develop.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,8 +4,8 @@ on:
branches:
- master
paths:
# When the version is updated on master (but nothing else)
- 'lerna.json'
# When versions are bumped on master (written by scripts/bump-version.js)
- '.version.json'
Comment thread
chargome marked this conversation as resolved.
- '!**/*.js'
- '!**/*.ts'
workflow_dispatch:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,6 @@ packages/*/sentry-*.tgz
# logs
yarn-error.log
npm-debug.log
lerna-debug.log
local.log

# ide
Expand Down
4 changes: 4 additions & 0 deletions .version.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"_comment": "Auto-generated by scripts/bump-version.js. Used by the gitflow sync workflow to detect version bumps. Do not edit manually.",
"version": "10.39.0"
}
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -58,7 +57,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -102,7 +101,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,7 @@ We use [Volta](https://volta.sh/) to ensure we use consistent versions of node,
Make sure to also enable [pnpm support in Volta](https://docs.volta.sh/advanced/pnpm) if you want to run the E2E tests
locally.

`sentry-javascript` is a monorepo containing several packages, and we use `lerna` to manage them. To get started,
`sentry-javascript` is a monorepo containing several packages, managed with Yarn workspaces and Nx. To get started,
install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions.

```
Expand Down
5 changes: 0 additions & 5 deletions lerna.json

This file was deleted.

8 changes: 7 additions & 1 deletion nx.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,6 +10,9 @@
"production": ["default", "!{projectRoot}/test/**/*", "!{projectRoot}/**/*.md", "!{projectRoot}/*.tgz"]
},
"targetDefaults": {
"build:dev": {
"dependsOn": ["^build:transpile", "^build:types"]
},
"build:bundle": {
"inputs": ["production", "^production"],
"dependsOn": ["build:transpile"],
Expand DownExpand Up@@ -58,5 +61,8 @@
}
},
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"cacheDirectory": ".nxcache"
"cacheDirectory": ".nxcache",
"tui": {
Comment thread
chargome marked this conversation as resolved.
"autoExit": true
}
}
53 changes: 26 additions & 27 deletions package.json
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
{
"private": true,
"scripts": {
"build": "node ./scripts/verify-packages-versions.js && lerna run build:transpile,build:types,build:bundle",
"build:bundle": "lerna run build:bundle",
"build:dev": "lerna run build:types,build:transpile",
"build:dev:filter": "lerna run build:dev --include-filtered-dependencies --include-filtered-dependents --scope",
"build:transpile": "lerna run build:transpile",
"build:types": "lerna run build:types",
"build:watch": "lerna run build:watch",
"build:dev:watch": "lerna run build:dev:watch",
"build:types:watch": "ts-node scripts/build-types-watch.ts",
"build": "node ./scripts/verify-packages-versions.js && nx run-many -t build:transpile build:types build:bundle",
"build:bundle": "nx run-many -t build:bundle",
"build:dev": "nx run-many -t build:types build:transpile",
"build:dev:filter": "nx run-many -t build:dev -p",
Comment thread
chargome marked this conversation as resolved.
Comment thread
sentry[bot] marked this conversation as resolved.
"build:transpile": "nx run-many -t build:transpile",
"build:types": "nx run-many -t build:types",
"build:watch": "nx run-many -t build:watch",
"build:dev:watch": "nx run-many -t build:dev:watch",
"build:tarball": "run-s clean:tarballs build:tarballs",
"build:tarballs": "lerna run build:tarball",
"build:tarballs": "nx run-many -t build:tarball",
"changelog": "ts-node ./scripts/get-commit-list.ts",
"generate-changelog": "ts-node ./scripts/generate-changelog.ts",
"circularDepCheck": "lerna run circularDepCheck",
"circularDepCheck": "nx run-many -t circularDepCheck",
"clean": "run-s clean:build clean:caches",
"clean:build": "lerna run clean",
"clean:build": "nx run-many -t clean",
"clean:caches": "yarn rimraf eslintcache .nxcache .nx",
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
"clean:deps": "rimraf packages/*/node_modules dev-packages/*/node_modules && rm -rf node_modules && yarn",
"clean:tarballs": "rimraf {packages,dev-packages}/*/*.tgz",
"clean:watchman": "watchman watch-del \".\"",
"clean:all": "run-s clean:build clean:tarballs clean:caches clean:deps clean:watchman",
"fix": "run-s fix:oxfmt fix:lerna",
"fix:lerna": "lerna run fix",
"fix": "run-s fix:oxfmt fix:eslint",
"fix:eslint": "nx run-many -t fix",
"fix:oxfmt": "oxfmt . --write",
"format:check": "oxfmt . --check",
"format": "oxfmt . --write",
"lint": "run-s lint:oxfmt lint:lerna",
"lint:lerna": "lerna run lint",
"lint": "run-s lint:oxfmt lint:eslint",
"lint:eslint": "nx run-many -t lint",
"lint:oxfmt": "oxfmt . --check",
"lint:es-compatibility": "lerna run lint:es-compatibility",
"lint:es-compatibility": "nx run-many -t lint:es-compatibility",
"dedupe-deps:check": "yarn-deduplicate yarn.lock --list --fail",
"dedupe-deps:fix": "yarn-deduplicate yarn.lock",
"postpublish": "lerna run --stream --concurrency 1 postpublish",
"test": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test",
"test:unit": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test:unit",
"test:update-snapshots": "lerna run test:update-snapshots",
"postpublish": "nx run-many -t postpublish --parallel=1",
"test": "nx run-many -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:scripts": "vitest run scripts/bump-version.test.ts",
Comment thread
chargome marked this conversation as resolved.
"test:unit": "nx run-many -t test:unit --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:update-snapshots": "nx run-many -t test:update-snapshots",
"test:pr": "nx affected -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:pr:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts --affected",
"test:pr:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts --affected",
"test:ci:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts",
"test:ci:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts",
"test:ci:bun": "lerna runtest --scope @sentry/bun",
"yalc:publish": "lerna run yalc:publish"
"test:ci:bun": "nx run-many -t test -p @sentry/bun",
"yalc:publish": "nx run-many -t yalc:publish"
},
"volta": {
"node": "20.19.2",
Expand DownExpand Up@@ -127,7 +127,7 @@
"es-check": "^7.2.1",
"eslint": "8.57.0",
"jsdom": "^21.1.2",
"lerna": "8.2.4",
"nx": "22.5.0",
"madge": "8.0.0",
"nodemon": "^3.1.10",
"npm-run-all2": "^6.2.0",
Expand All@@ -146,8 +146,7 @@
},
"//_resolutions_comment": [
"Because new versions of strip-ansi, string-width, and wrap-ansi are ESM only packages,",
"we need to resolve them to the CommonJS versions.",
"This is a temporary solution until we can upgrade to a version of lerna that supports ESM packages"
"we need to resolve them to the CommonJS versions."
],
"resolutions": {
"gauge/strip-ansi": "6.0.1",
Expand Down
3 changes: 1 addition & 2 deletions packages/astro/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,10 +70,9 @@
"build:dev": "yarn build",
"build:transpile": "rollup -c rollup.npm.config.mjs",
"build:types": "tsc -p tsconfig.types.json",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts",
"clean": "rimraf build coverage sentry-astro-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/aws-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,10 +86,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build dist-awslambda-layer coverage sentry-serverless-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser-utils/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -48,10 +48,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"clean": "rimraf build coverage sentry-internal-browser-utils-*.tgz",
"fix": "eslint . --format stylish --fix",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,11 +62,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:bundle:watch": "rollup -c rollup.bundle.config.mjs --watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage .rpt2_cache sentry-browser-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/bun/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,10 +52,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-bun-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/cloudflare/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -72,10 +72,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-cloudflare-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/core/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,10 +45,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-core-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/feedback/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,11 +52,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8 && yarn node ./scripts/shim-preact-export.js",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:bundle:watch": "yarn build:bundle --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build sentry-internal-feedback-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/gatsby/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -68,10 +68,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage *.d.ts sentry-gatsby-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/google-cloud-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -74,10 +74,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-google-cloud-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/hono/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,10 +78,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-hono-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/integration-shims/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,10 +37,9 @@
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:dev": "yarn build",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"clean": "rimraf build",
"fix": "eslint . --format stylish --fix",
"lint": "eslint . --format stylish",
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .cursor/rules/sdk_development.mdc
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -59,7 +58,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -111,7 +110,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/build.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -307,16 +307,29 @@ jobs:
uses: ./.github/actions/restore-cache
with:
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check for duplicate dependencies in lockfile
# Run `yarn dedupe-deps:fix` locally to resolve any duplicates.
run: yarn dedupe-deps:check
- name: Lint source files
run: yarn lint:lerna
run: yarn lint:eslint
- name: Lint for ES compatibility
run: yarn lint:es-compatibility

job_check_lockfile:
name: Check lockfile
needs: [job_get_metadata]
Comment thread
chargome marked this conversation as resolved.
timeout-minutes: 10
runs-on: ubuntu-24.04
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v6
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version-file: 'package.json'
- name: Check that yarn.lock is stable
run: yarn && git diff --exit-code yarn.lock
run: yarn install --frozen-lockfile --ignore-engines
- name: Check for duplicate dependencies in lockfile
run: yarn dedupe-deps:check

job_check_format:
name: Check file formatting
Expand DownExpand Up@@ -1204,6 +1217,7 @@ jobs:
job_e2e_tests,
job_artifacts,
job_lint,
job_check_lockfile,
job_check_format,
job_circular_dep_check,
job_size_check,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gitflow-sync-develop.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,8 +4,8 @@ on:
branches:
- master
paths:
# When the version is updated on master (but nothing else)
- 'lerna.json'
# When versions are bumped on master (written by scripts/bump-version.js)
- '.version.json'
Comment thread
chargome marked this conversation as resolved.
- '!**/*.js'
- '!**/*.ts'
workflow_dispatch:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,6 @@ packages/*/sentry-*.tgz
# logs
yarn-error.log
npm-debug.log
lerna-debug.log
local.log

# ide
Expand Down
4 changes: 4 additions & 0 deletions .version.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"_comment": "Auto-generated by scripts/bump-version.js. Used by the gitflow sync workflow to detect version bumps. Do not edit manually.",
"version": "10.39.0"
}
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -58,7 +57,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -102,7 +101,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,7 @@ We use [Volta](https://volta.sh/) to ensure we use consistent versions of node,
Make sure to also enable [pnpm support in Volta](https://docs.volta.sh/advanced/pnpm) if you want to run the E2E tests
locally.

`sentry-javascript` is a monorepo containing several packages, and we use `lerna` to manage them. To get started,
`sentry-javascript` is a monorepo containing several packages, managed with Yarn workspaces and Nx. To get started,
install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions.

```
Expand Down
5 changes: 0 additions & 5 deletions lerna.json

This file was deleted.

8 changes: 7 additions & 1 deletion nx.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,6 +10,9 @@
"production": ["default", "!{projectRoot}/test/**/*", "!{projectRoot}/**/*.md", "!{projectRoot}/*.tgz"]
},
"targetDefaults": {
"build:dev": {
"dependsOn": ["^build:transpile", "^build:types"]
},
"build:bundle": {
"inputs": ["production", "^production"],
"dependsOn": ["build:transpile"],
Expand DownExpand Up@@ -58,5 +61,8 @@
}
},
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"cacheDirectory": ".nxcache"
"cacheDirectory": ".nxcache",
"tui": {
Comment thread
chargome marked this conversation as resolved.
"autoExit": true
}
}
53 changes: 26 additions & 27 deletions package.json
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
{
"private": true,
"scripts": {
"build": "node ./scripts/verify-packages-versions.js && lerna run build:transpile,build:types,build:bundle",
"build:bundle": "lerna run build:bundle",
"build:dev": "lerna run build:types,build:transpile",
"build:dev:filter": "lerna run build:dev --include-filtered-dependencies --include-filtered-dependents --scope",
"build:transpile": "lerna run build:transpile",
"build:types": "lerna run build:types",
"build:watch": "lerna run build:watch",
"build:dev:watch": "lerna run build:dev:watch",
"build:types:watch": "ts-node scripts/build-types-watch.ts",
"build": "node ./scripts/verify-packages-versions.js && nx run-many -t build:transpile build:types build:bundle",
"build:bundle": "nx run-many -t build:bundle",
"build:dev": "nx run-many -t build:types build:transpile",
"build:dev:filter": "nx run-many -t build:dev -p",
Comment thread
chargome marked this conversation as resolved.
Comment thread
sentry[bot] marked this conversation as resolved.
"build:transpile": "nx run-many -t build:transpile",
"build:types": "nx run-many -t build:types",
"build:watch": "nx run-many -t build:watch",
"build:dev:watch": "nx run-many -t build:dev:watch",
"build:tarball": "run-s clean:tarballs build:tarballs",
"build:tarballs": "lerna run build:tarball",
"build:tarballs": "nx run-many -t build:tarball",
"changelog": "ts-node ./scripts/get-commit-list.ts",
"generate-changelog": "ts-node ./scripts/generate-changelog.ts",
"circularDepCheck": "lerna run circularDepCheck",
"circularDepCheck": "nx run-many -t circularDepCheck",
"clean": "run-s clean:build clean:caches",
"clean:build": "lerna run clean",
"clean:build": "nx run-many -t clean",
"clean:caches": "yarn rimraf eslintcache .nxcache .nx",
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
"clean:deps": "rimraf packages/*/node_modules dev-packages/*/node_modules && rm -rf node_modules && yarn",
"clean:tarballs": "rimraf {packages,dev-packages}/*/*.tgz",
"clean:watchman": "watchman watch-del \".\"",
"clean:all": "run-s clean:build clean:tarballs clean:caches clean:deps clean:watchman",
"fix": "run-s fix:oxfmt fix:lerna",
"fix:lerna": "lerna run fix",
"fix": "run-s fix:oxfmt fix:eslint",
"fix:eslint": "nx run-many -t fix",
"fix:oxfmt": "oxfmt . --write",
"format:check": "oxfmt . --check",
"format": "oxfmt . --write",
"lint": "run-s lint:oxfmt lint:lerna",
"lint:lerna": "lerna run lint",
"lint": "run-s lint:oxfmt lint:eslint",
"lint:eslint": "nx run-many -t lint",
"lint:oxfmt": "oxfmt . --check",
"lint:es-compatibility": "lerna run lint:es-compatibility",
"lint:es-compatibility": "nx run-many -t lint:es-compatibility",
"dedupe-deps:check": "yarn-deduplicate yarn.lock --list --fail",
"dedupe-deps:fix": "yarn-deduplicate yarn.lock",
"postpublish": "lerna run --stream --concurrency 1 postpublish",
"test": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test",
"test:unit": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test:unit",
"test:update-snapshots": "lerna run test:update-snapshots",
"postpublish": "nx run-many -t postpublish --parallel=1",
"test": "nx run-many -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:scripts": "vitest run scripts/bump-version.test.ts",
Comment thread
chargome marked this conversation as resolved.
"test:unit": "nx run-many -t test:unit --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:update-snapshots": "nx run-many -t test:update-snapshots",
"test:pr": "nx affected -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:pr:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts --affected",
"test:pr:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts --affected",
"test:ci:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts",
"test:ci:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts",
"test:ci:bun": "lerna runtest --scope @sentry/bun",
"yalc:publish": "lerna run yalc:publish"
"test:ci:bun": "nx run-many -t test -p @sentry/bun",
"yalc:publish": "nx run-many -t yalc:publish"
},
"volta": {
"node": "20.19.2",
Expand DownExpand Up@@ -127,7 +127,7 @@
"es-check": "^7.2.1",
"eslint": "8.57.0",
"jsdom": "^21.1.2",
"lerna": "8.2.4",
"nx": "22.5.0",
"madge": "8.0.0",
"nodemon": "^3.1.10",
"npm-run-all2": "^6.2.0",
Expand All@@ -146,8 +146,7 @@
},
"//_resolutions_comment": [
"Because new versions of strip-ansi, string-width, and wrap-ansi are ESM only packages,",
"we need to resolve them to the CommonJS versions.",
"This is a temporary solution until we can upgrade to a version of lerna that supports ESM packages"
"we need to resolve them to the CommonJS versions."
],
"resolutions": {
"gauge/strip-ansi": "6.0.1",
Expand Down
3 changes: 1 addition & 2 deletions packages/astro/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,10 +70,9 @@
"build:dev": "yarn build",
"build:transpile": "rollup -c rollup.npm.config.mjs",
"build:types": "tsc -p tsconfig.types.json",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts",
"clean": "rimraf build coverage sentry-astro-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/aws-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,10 +86,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build dist-awslambda-layer coverage sentry-serverless-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser-utils/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -48,10 +48,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"clean": "rimraf build coverage sentry-internal-browser-utils-*.tgz",
"fix": "eslint . --format stylish --fix",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,11 +62,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:bundle:watch": "rollup -c rollup.bundle.config.mjs --watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage .rpt2_cache sentry-browser-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/bun/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,10 +52,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-bun-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/cloudflare/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -72,10 +72,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-cloudflare-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/core/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,10 +45,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-core-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/feedback/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,11 +52,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8 && yarn node ./scripts/shim-preact-export.js",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:bundle:watch": "yarn build:bundle --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build sentry-internal-feedback-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/gatsby/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -68,10 +68,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage *.d.ts sentry-gatsby-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/google-cloud-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -74,10 +74,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-google-cloud-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/hono/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,10 +78,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-hono-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/integration-shims/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,10 +37,9 @@
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:dev": "yarn build",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"clean": "rimraf build",
"fix": "eslint . --format stylish --fix",
"lint": "eslint . --format stylish",
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .cursor/rules/sdk_development.mdc
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -59,7 +58,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -111,7 +110,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/build.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -307,16 +307,29 @@ jobs:
uses: ./.github/actions/restore-cache
with:
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check for duplicate dependencies in lockfile
# Run `yarn dedupe-deps:fix` locally to resolve any duplicates.
run: yarn dedupe-deps:check
- name: Lint source files
run: yarn lint:lerna
run: yarn lint:eslint
- name: Lint for ES compatibility
run: yarn lint:es-compatibility

job_check_lockfile:
name: Check lockfile
needs: [job_get_metadata]
Comment thread
chargome marked this conversation as resolved.
timeout-minutes: 10
runs-on: ubuntu-24.04
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v6
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version-file: 'package.json'
- name: Check that yarn.lock is stable
run: yarn && git diff --exit-code yarn.lock
run: yarn install --frozen-lockfile --ignore-engines
- name: Check for duplicate dependencies in lockfile
run: yarn dedupe-deps:check

job_check_format:
name: Check file formatting
Expand DownExpand Up@@ -1204,6 +1217,7 @@ jobs:
job_e2e_tests,
job_artifacts,
job_lint,
job_check_lockfile,
job_check_format,
job_circular_dep_check,
job_size_check,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gitflow-sync-develop.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,8 +4,8 @@ on:
branches:
- master
paths:
# When the version is updated on master (but nothing else)
- 'lerna.json'
# When versions are bumped on master (written by scripts/bump-version.js)
- '.version.json'
Comment thread
chargome marked this conversation as resolved.
- '!**/*.js'
- '!**/*.ts'
workflow_dispatch:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,6 @@ packages/*/sentry-*.tgz
# logs
yarn-error.log
npm-debug.log
lerna-debug.log
local.log

# ide
Expand Down
4 changes: 4 additions & 0 deletions .version.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"_comment": "Auto-generated by scripts/bump-version.js. Used by the gitflow sync workflow to detect version bumps. Do not edit manually.",
"version": "10.39.0"
}
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -58,7 +57,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -102,7 +101,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,7 @@ We use [Volta](https://volta.sh/) to ensure we use consistent versions of node,
Make sure to also enable [pnpm support in Volta](https://docs.volta.sh/advanced/pnpm) if you want to run the E2E tests
locally.

`sentry-javascript` is a monorepo containing several packages, and we use `lerna` to manage them. To get started,
`sentry-javascript` is a monorepo containing several packages, managed with Yarn workspaces and Nx. To get started,
install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions.

```
Expand Down
5 changes: 0 additions & 5 deletions lerna.json

This file was deleted.

8 changes: 7 additions & 1 deletion nx.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,6 +10,9 @@
"production": ["default", "!{projectRoot}/test/**/*", "!{projectRoot}/**/*.md", "!{projectRoot}/*.tgz"]
},
"targetDefaults": {
"build:dev": {
"dependsOn": ["^build:transpile", "^build:types"]
},
"build:bundle": {
"inputs": ["production", "^production"],
"dependsOn": ["build:transpile"],
Expand DownExpand Up@@ -58,5 +61,8 @@
}
},
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"cacheDirectory": ".nxcache"
"cacheDirectory": ".nxcache",
"tui": {
Comment thread
chargome marked this conversation as resolved.
"autoExit": true
}
}
53 changes: 26 additions & 27 deletions package.json
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
{
"private": true,
"scripts": {
"build": "node ./scripts/verify-packages-versions.js && lerna run build:transpile,build:types,build:bundle",
"build:bundle": "lerna run build:bundle",
"build:dev": "lerna run build:types,build:transpile",
"build:dev:filter": "lerna run build:dev --include-filtered-dependencies --include-filtered-dependents --scope",
"build:transpile": "lerna run build:transpile",
"build:types": "lerna run build:types",
"build:watch": "lerna run build:watch",
"build:dev:watch": "lerna run build:dev:watch",
"build:types:watch": "ts-node scripts/build-types-watch.ts",
"build": "node ./scripts/verify-packages-versions.js && nx run-many -t build:transpile build:types build:bundle",
"build:bundle": "nx run-many -t build:bundle",
"build:dev": "nx run-many -t build:types build:transpile",
"build:dev:filter": "nx run-many -t build:dev -p",
Comment thread
chargome marked this conversation as resolved.
Comment thread
sentry[bot] marked this conversation as resolved.
"build:transpile": "nx run-many -t build:transpile",
"build:types": "nx run-many -t build:types",
"build:watch": "nx run-many -t build:watch",
"build:dev:watch": "nx run-many -t build:dev:watch",
"build:tarball": "run-s clean:tarballs build:tarballs",
"build:tarballs": "lerna run build:tarball",
"build:tarballs": "nx run-many -t build:tarball",
"changelog": "ts-node ./scripts/get-commit-list.ts",
"generate-changelog": "ts-node ./scripts/generate-changelog.ts",
"circularDepCheck": "lerna run circularDepCheck",
"circularDepCheck": "nx run-many -t circularDepCheck",
"clean": "run-s clean:build clean:caches",
"clean:build": "lerna run clean",
"clean:build": "nx run-many -t clean",
"clean:caches": "yarn rimraf eslintcache .nxcache .nx",
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
"clean:deps": "rimraf packages/*/node_modules dev-packages/*/node_modules && rm -rf node_modules && yarn",
"clean:tarballs": "rimraf {packages,dev-packages}/*/*.tgz",
"clean:watchman": "watchman watch-del \".\"",
"clean:all": "run-s clean:build clean:tarballs clean:caches clean:deps clean:watchman",
"fix": "run-s fix:oxfmt fix:lerna",
"fix:lerna": "lerna run fix",
"fix": "run-s fix:oxfmt fix:eslint",
"fix:eslint": "nx run-many -t fix",
"fix:oxfmt": "oxfmt . --write",
"format:check": "oxfmt . --check",
"format": "oxfmt . --write",
"lint": "run-s lint:oxfmt lint:lerna",
"lint:lerna": "lerna run lint",
"lint": "run-s lint:oxfmt lint:eslint",
"lint:eslint": "nx run-many -t lint",
"lint:oxfmt": "oxfmt . --check",
"lint:es-compatibility": "lerna run lint:es-compatibility",
"lint:es-compatibility": "nx run-many -t lint:es-compatibility",
"dedupe-deps:check": "yarn-deduplicate yarn.lock --list --fail",
"dedupe-deps:fix": "yarn-deduplicate yarn.lock",
"postpublish": "lerna run --stream --concurrency 1 postpublish",
"test": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test",
"test:unit": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test:unit",
"test:update-snapshots": "lerna run test:update-snapshots",
"postpublish": "nx run-many -t postpublish --parallel=1",
"test": "nx run-many -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:scripts": "vitest run scripts/bump-version.test.ts",
Comment thread
chargome marked this conversation as resolved.
"test:unit": "nx run-many -t test:unit --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:update-snapshots": "nx run-many -t test:update-snapshots",
"test:pr": "nx affected -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:pr:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts --affected",
"test:pr:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts --affected",
"test:ci:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts",
"test:ci:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts",
"test:ci:bun": "lerna runtest --scope @sentry/bun",
"yalc:publish": "lerna run yalc:publish"
"test:ci:bun": "nx run-many -t test -p @sentry/bun",
"yalc:publish": "nx run-many -t yalc:publish"
},
"volta": {
"node": "20.19.2",
Expand DownExpand Up@@ -127,7 +127,7 @@
"es-check": "^7.2.1",
"eslint": "8.57.0",
"jsdom": "^21.1.2",
"lerna": "8.2.4",
"nx": "22.5.0",
"madge": "8.0.0",
"nodemon": "^3.1.10",
"npm-run-all2": "^6.2.0",
Expand All@@ -146,8 +146,7 @@
},
"//_resolutions_comment": [
"Because new versions of strip-ansi, string-width, and wrap-ansi are ESM only packages,",
"we need to resolve them to the CommonJS versions.",
"This is a temporary solution until we can upgrade to a version of lerna that supports ESM packages"
"we need to resolve them to the CommonJS versions."
],
"resolutions": {
"gauge/strip-ansi": "6.0.1",
Expand Down
3 changes: 1 addition & 2 deletions packages/astro/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,10 +70,9 @@
"build:dev": "yarn build",
"build:transpile": "rollup -c rollup.npm.config.mjs",
"build:types": "tsc -p tsconfig.types.json",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts",
"clean": "rimraf build coverage sentry-astro-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/aws-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,10 +86,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build dist-awslambda-layer coverage sentry-serverless-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser-utils/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -48,10 +48,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"clean": "rimraf build coverage sentry-internal-browser-utils-*.tgz",
"fix": "eslint . --format stylish --fix",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,11 +62,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:bundle:watch": "rollup -c rollup.bundle.config.mjs --watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage .rpt2_cache sentry-browser-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/bun/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,10 +52,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-bun-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/cloudflare/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -72,10 +72,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-cloudflare-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/core/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,10 +45,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-core-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/feedback/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,11 +52,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8 && yarn node ./scripts/shim-preact-export.js",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:bundle:watch": "yarn build:bundle --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build sentry-internal-feedback-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/gatsby/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -68,10 +68,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage *.d.ts sentry-gatsby-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/google-cloud-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -74,10 +74,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-google-cloud-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/hono/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,10 +78,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-hono-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/integration-shims/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,10 +37,9 @@
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:dev": "yarn build",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"clean": "rimraf build",
"fix": "eslint . --format stylish --fix",
"lint": "eslint . --format stylish",
Expand Down
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .cursor/rules/sdk_development.mdc
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,7 +23,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -59,7 +58,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -111,7 +110,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
24 changes: 19 additions & 5 deletions .github/workflows/build.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -307,16 +307,29 @@ jobs:
uses: ./.github/actions/restore-cache
with:
dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }}
- name: Check for duplicate dependencies in lockfile
# Run `yarn dedupe-deps:fix` locally to resolve any duplicates.
run: yarn dedupe-deps:check
- name: Lint source files
run: yarn lint:lerna
run: yarn lint:eslint
- name: Lint for ES compatibility
run: yarn lint:es-compatibility

job_check_lockfile:
name: Check lockfile
needs: [job_get_metadata]
Comment thread
chargome marked this conversation as resolved.
timeout-minutes: 10
runs-on: ubuntu-24.04
steps:
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
uses: actions/checkout@v6
with:
ref: ${{ env.HEAD_COMMIT }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version-file: 'package.json'
- name: Check that yarn.lock is stable
run: yarn && git diff --exit-code yarn.lock
run: yarn install --frozen-lockfile --ignore-engines
- name: Check for duplicate dependencies in lockfile
run: yarn dedupe-deps:check

job_check_format:
name: Check file formatting
Expand DownExpand Up@@ -1204,6 +1217,7 @@ jobs:
job_e2e_tests,
job_artifacts,
job_lint,
job_check_lockfile,
job_check_format,
job_circular_dep_check,
job_size_check,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gitflow-sync-develop.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,8 +4,8 @@ on:
branches:
- master
paths:
# When the version is updated on master (but nothing else)
- 'lerna.json'
# When versions are bumped on master (written by scripts/bump-version.js)
- '.version.json'
Comment thread
chargome marked this conversation as resolved.
- '!**/*.js'
- '!**/*.ts'
workflow_dispatch:
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,7 +24,6 @@ packages/*/sentry-*.tgz
# logs
yarn-error.log
npm-debug.log
lerna-debug.log
local.log

# ide
Expand Down
4 changes: 4 additions & 0 deletions .version.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
{
"_comment": "Auto-generated by scripts/bump-version.js. Used by the gitflow sync workflow to detect version bumps. Do not edit manually.",
"version": "10.39.0"
}
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,7 +22,6 @@ You are working on the Sentry JavaScript SDK, a critical production SDK used by
- `yarn build:dev` - Development build (transpile + types)
- `yarn build:dev:watch` - Development build in watch mode (recommended)
- `yarn build:dev:filter <package>` - Build specific package and dependencies
- `yarn build:types:watch` - Watch mode for TypeScript types only
- `yarn build:bundle` - Build browser bundles only

### Testing
Expand DownExpand Up@@ -58,7 +57,7 @@ This repository uses **Git Flow**. See [docs/gitflow.md](docs/gitflow.md) for de

## Repository Architecture

This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.
This is a monorepo with 40+ packages in the `@sentry/*` namespace, managed with Yarn workspaces and Nx.

### Core Packages

Expand DownExpand Up@@ -102,7 +101,7 @@ This is a Lerna monorepo with 40+ packages in the `@sentry/*` namespace.

- Uses Rollup for bundling (`rollup.*.config.mjs`)
- TypeScript with multiple tsconfig files per package
- Lerna manages package dependencies and publishing
- Nx orchestrates task execution across packages with caching
- Vite for testing with `vitest`

### Package Structure Pattern
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,7 @@ We use [Volta](https://volta.sh/) to ensure we use consistent versions of node,
Make sure to also enable [pnpm support in Volta](https://docs.volta.sh/advanced/pnpm) if you want to run the E2E tests
locally.

`sentry-javascript` is a monorepo containing several packages, and we use `lerna` to manage them. To get started,
`sentry-javascript` is a monorepo containing several packages, managed with Yarn workspaces and Nx. To get started,
install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions.

```
Expand Down
5 changes: 0 additions & 5 deletions lerna.json

This file was deleted.

8 changes: 7 additions & 1 deletion nx.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,6 +10,9 @@
"production": ["default", "!{projectRoot}/test/**/*", "!{projectRoot}/**/*.md", "!{projectRoot}/*.tgz"]
},
"targetDefaults": {
"build:dev": {
"dependsOn": ["^build:transpile", "^build:types"]
},
"build:bundle": {
"inputs": ["production", "^production"],
"dependsOn": ["build:transpile"],
Expand DownExpand Up@@ -58,5 +61,8 @@
}
},
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"cacheDirectory": ".nxcache"
"cacheDirectory": ".nxcache",
"tui": {
Comment thread
chargome marked this conversation as resolved.
"autoExit": true
}
}
53 changes: 26 additions & 27 deletions package.json
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
{
"private": true,
"scripts": {
"build": "node ./scripts/verify-packages-versions.js && lerna run build:transpile,build:types,build:bundle",
"build:bundle": "lerna run build:bundle",
"build:dev": "lerna run build:types,build:transpile",
"build:dev:filter": "lerna run build:dev --include-filtered-dependencies --include-filtered-dependents --scope",
"build:transpile": "lerna run build:transpile",
"build:types": "lerna run build:types",
"build:watch": "lerna run build:watch",
"build:dev:watch": "lerna run build:dev:watch",
"build:types:watch": "ts-node scripts/build-types-watch.ts",
"build": "node ./scripts/verify-packages-versions.js && nx run-many -t build:transpile build:types build:bundle",
"build:bundle": "nx run-many -t build:bundle",
"build:dev": "nx run-many -t build:types build:transpile",
"build:dev:filter": "nx run-many -t build:dev -p",
Comment thread
chargome marked this conversation as resolved.
Comment thread
sentry[bot] marked this conversation as resolved.
"build:transpile": "nx run-many -t build:transpile",
"build:types": "nx run-many -t build:types",
"build:watch": "nx run-many -t build:watch",
"build:dev:watch": "nx run-many -t build:dev:watch",
"build:tarball": "run-s clean:tarballs build:tarballs",
"build:tarballs": "lerna run build:tarball",
"build:tarballs": "nx run-many -t build:tarball",
"changelog": "ts-node ./scripts/get-commit-list.ts",
"generate-changelog": "ts-node ./scripts/generate-changelog.ts",
"circularDepCheck": "lerna run circularDepCheck",
"circularDepCheck": "nx run-many -t circularDepCheck",
"clean": "run-s clean:build clean:caches",
"clean:build": "lerna run clean",
"clean:build": "nx run-many -t clean",
"clean:caches": "yarn rimraf eslintcache .nxcache .nx",
"clean:deps": "lerna clean --yes && rm -rf node_modules && yarn",
"clean:deps": "rimraf packages/*/node_modules dev-packages/*/node_modules && rm -rf node_modules && yarn",
"clean:tarballs": "rimraf {packages,dev-packages}/*/*.tgz",
"clean:watchman": "watchman watch-del \".\"",
"clean:all": "run-s clean:build clean:tarballs clean:caches clean:deps clean:watchman",
"fix": "run-s fix:oxfmt fix:lerna",
"fix:lerna": "lerna run fix",
"fix": "run-s fix:oxfmt fix:eslint",
"fix:eslint": "nx run-many -t fix",
"fix:oxfmt": "oxfmt . --write",
"format:check": "oxfmt . --check",
"format": "oxfmt . --write",
"lint": "run-s lint:oxfmt lint:lerna",
"lint:lerna": "lerna run lint",
"lint": "run-s lint:oxfmt lint:eslint",
"lint:eslint": "nx run-many -t lint",
"lint:oxfmt": "oxfmt . --check",
"lint:es-compatibility": "lerna run lint:es-compatibility",
"lint:es-compatibility": "nx run-many -t lint:es-compatibility",
"dedupe-deps:check": "yarn-deduplicate yarn.lock --list --fail",
"dedupe-deps:fix": "yarn-deduplicate yarn.lock",
"postpublish": "lerna run --stream --concurrency 1 postpublish",
"test": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test",
"test:unit": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\" test:unit",
"test:update-snapshots": "lerna run test:update-snapshots",
"postpublish": "nx run-many -t postpublish --parallel=1",
"test": "nx run-many -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:scripts": "vitest run scripts/bump-version.test.ts",
Comment thread
chargome marked this conversation as resolved.
"test:unit": "nx run-many -t test:unit --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:update-snapshots": "nx run-many -t test:update-snapshots",
"test:pr": "nx affected -t test --exclude \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,node-core-integration-tests,cloudflare-integration-tests}\"",
"test:pr:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts --affected",
"test:pr:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts --affected",
"test:ci:browser": "UNIT_TEST_ENV=browser ts-node ./scripts/ci-unit-tests.ts",
"test:ci:node": "UNIT_TEST_ENV=node ts-node ./scripts/ci-unit-tests.ts",
"test:ci:bun": "lerna runtest --scope @sentry/bun",
"yalc:publish": "lerna run yalc:publish"
"test:ci:bun": "nx run-many -t test -p @sentry/bun",
"yalc:publish": "nx run-many -t yalc:publish"
},
"volta": {
"node": "20.19.2",
Expand DownExpand Up@@ -127,7 +127,7 @@
"es-check": "^7.2.1",
"eslint": "8.57.0",
"jsdom": "^21.1.2",
"lerna": "8.2.4",
"nx": "22.5.0",
"madge": "8.0.0",
"nodemon": "^3.1.10",
"npm-run-all2": "^6.2.0",
Expand All@@ -146,8 +146,7 @@
},
"//_resolutions_comment": [
"Because new versions of strip-ansi, string-width, and wrap-ansi are ESM only packages,",
"we need to resolve them to the CommonJS versions.",
"This is a temporary solution until we can upgrade to a version of lerna that supports ESM packages"
"we need to resolve them to the CommonJS versions."
],
"resolutions": {
"gauge/strip-ansi": "6.0.1",
Expand Down
3 changes: 1 addition & 2 deletions packages/astro/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,10 +70,9 @@
"build:dev": "yarn build",
"build:transpile": "rollup -c rollup.npm.config.mjs",
"build:types": "tsc -p tsconfig.types.json",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts",
"clean": "rimraf build coverage sentry-astro-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/aws-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,10 +86,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build dist-awslambda-layer coverage sentry-serverless-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser-utils/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -48,10 +48,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"clean": "rimraf build coverage sentry-internal-browser-utils-*.tgz",
"fix": "eslint . --format stylish --fix",
Expand Down
5 changes: 2 additions & 3 deletions packages/browser/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -62,11 +62,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:bundle:watch": "rollup -c rollup.bundle.config.mjs --watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage .rpt2_cache sentry-browser-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/bun/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,10 +52,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-bun-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/cloudflare/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -72,10 +72,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-cloudflare-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/core/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -45,10 +45,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-core-*.tgz",
Expand Down
5 changes: 2 additions & 3 deletions packages/feedback/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,11 +52,10 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8 && yarn node ./scripts/shim-preact-export.js",
"build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch",
"build:dev:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch build:bundle:watch",
"build:dev:watch": "run-p build:transpile:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:bundle:watch": "yarn build:bundle --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build sentry-internal-feedback-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/gatsby/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -68,10 +68,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage *.d.ts sentry-gatsby-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/google-cloud-serverless/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -74,10 +74,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-google-cloud-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/hono/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,10 +78,9 @@
"build:types": "run-s build:types:core build:types:downlevel",
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"build:tarball": "npm pack",
"circularDepCheck": "madge --circular src/index.ts",
"clean": "rimraf build coverage sentry-hono-*.tgz",
Expand Down
3 changes: 1 addition & 2 deletions packages/integration-shims/package.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,10 +37,9 @@
"build:types:core": "tsc -p tsconfig.types.json",
"build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8",
"build:dev": "yarn build",
"build:watch": "run-p build:transpile:watch build:types:watch",
"build:watch": "run-p build:transpile:watch",
"build:dev:watch": "run-p build:watch",
"build:transpile:watch": "yarn build:transpile --watch",
"build:types:watch": "tsc -p tsconfig.types.json --watch",
"clean": "rimraf build",
"fix": "eslint . --format stylish --fix",
"lint": "eslint . --format stylish",
Expand Down
Loading
Loading