Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
7ccd59f
feat(bundler-plugins): Publish standalone webpack, vite, rollup and e…
timfish Oct 6, 2026
3058255
Revert changelog and README changes
timfish Oct 6, 2026
b3a5c6d
Merge branch 'develop' into feat/legacy-bundler-plugin-packages
timfish Oct 6, 2026
9ec908e
chore: Clean legacy package tarballs
timfish Oct 6, 2026
d1a1537
Merge branch 'develop' into feat/legacy-bundler-plugin-packages
timfish Oct 6, 2026
563d2fc
Merge branch 'develop' into feat/legacy-bundler-plugin-packages
timfish Oct 6, 2026
62dd3bf
Merge branch 'develop' into feat/legacy-bundler-plugin-packages
timfish Oct 7, 2026
882fab8
chore: Bump legacy bundler plugin packages to 11.5.0
timfish Oct 7, 2026
b2f3bc1
test(e2e): Use packed legacy bundler plugin tarballs
timfish Oct 7, 2026
5544e5f
test(e2e): Validate packed legacy bundler plugin tarballs
timfish Oct 7, 2026
93e8133
Merge branch 'develop' into feat/legacy-bundler-plugin-packages
timfish Oct 7, 2026
a309bd2
docs: Add changelog entry for legacy bundler plugin packages
timfish Oct 8, 2026
24679cb
Merge remote-tracking branch 'origin/develop' into feat/legacy-bundle…
timfish Oct 8, 2026
ca7eff4
Merge branch 'develop' into feat/legacy-bundler-plugin-packages
timfish Oct 12, 2026
c9a444b
chore: Bump legacy bundler plugin packages to 11.6.0
timfish Oct 12, 2026
8e18de3
ref(bundler-plugins): Move plugin packages out of the legacy folder
timfish Oct 13, 2026
28c784d
Merge remote-tracking branch 'origin/develop' into feat/legacy-bundle…
timfish Oct 13, 2026
1529f49
chore: Bump bundler plugin packages to 11.7.0
timfish Oct 13, 2026
c7821a2
Merge remote-tracking branch 'origin/develop' into feat/legacy-bundle…
timfish Oct 13, 2026
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
12 changes: 12 additions & 0 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,18 @@ targets:
- name: npm
id: '@sentry/bundler-plugins'
includeNames: /^sentry-bundler-plugins-\d.*\.tgz$/
- name: npm
id: '@sentry/esbuild-plugin'
includeNames: /^sentry-esbuild-plugin-\d.*\.tgz$/
- name: npm
id: '@sentry/rollup-plugin'
includeNames: /^sentry-rollup-plugin-\d.*\.tgz$/
- name: npm
id: '@sentry/vite-plugin'
includeNames: /^sentry-vite-plugin-\d.*\.tgz$/
- name: npm
id: '@sentry/webpack-plugin'
includeNames: /^sentry-webpack-plugin-\d.*\.tgz$/
- name: npm
id: '@sentry/typescript'
includeNames: /^sentry-typescript-\d.*\.tgz$/
Expand Down
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ body:
- '@sentry/tanstackstart-react'
- '@sentry/vue'
- '@sentry/wasm'
- '@sentry/esbuild-plugin'
- '@sentry/rollup-plugin'
- '@sentry/vite-plugin'
- '@sentry/webpack-plugin'
- Sentry Browser Loader
- Sentry Browser CDN bundle
validations:
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/issue-package-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,18 @@ jobs:
"@sentry.wasm": {
"label": "WASM"
},
"@sentry.esbuild-plugin": {
"label": "Feature: Source Maps"
},
"@sentry.rollup-plugin": {
"label": "Feature: Source Maps"
},
"@sentry.vite-plugin": {
"label": "Feature: Source Maps"
},
"@sentry.webpack-plugin": {
"label": "Feature: Source Maps"
},
"Sentry.Browser.Loader": {
"label": "Browser"
},
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

### Important Changes

- **feat(bundler-plugins): Release `@sentry/webpack-plugin`, `@sentry/vite-plugin`, `@sentry/rollup-plugin` and `@sentry/esbuild-plugin` from the SDK repository ([#25095](https://github.com/getsentry/sentry-javascript/pull/25095))**

The four standalone bundler plugins now release together with the SDK, so their version jumps from 5.4.1 to the SDK version. Each package re-exports the matching `@sentry/bundler-plugins` entry point, which we recommend for new projects. The plugin options do not change, but the update brings these breaking changes:

- Node.js 20.19.0 or higher is required.
- `@sentry/webpack-plugin` requires webpack 5.1 or higher. The `@sentry/webpack-plugin/webpack5` entry point still works and exports the same plugin as `@sentry/webpack-plugin`.
- The plugins use the `sentry` CLI SDK instead of `@sentry/cli`. Sentry self-hosted 26.4.2 or higher is supported. Lower versions may continue to work.
- Deploys that the plugins create on Vercel use the value of `VERCEL_TARGET_ENV` (`production`, `preview` or a custom name) as their environment, instead of `vercel-production` or `vercel-preview`. To keep the old value, set `release.deploy.env`.

## 11.7.0

### Important Changes
Expand Down
4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
"packages/effect",
"packages/ember",
"packages/elysia",
"packages/esbuild-plugin",
"packages/eslint-config-sdk",
"packages/eslint-plugin-sdk",
"packages/feedback",
Expand All @@ -88,6 +89,7 @@
"packages/replay-internal",
"packages/replay-canvas",
"packages/replay-worker",
"packages/rollup-plugin",
"packages/server-runtime-injection",
"packages/server-utils",
"packages/solid",
Expand All @@ -97,8 +99,10 @@
"packages/tanstackstart-react",
"packages/typescript",
"packages/vercel-edge",
"packages/vite-plugin",
"packages/vue",
"packages/wasm",
"packages/webpack-plugin",
"dev-packages/browser-integration-tests",
"dev-packages/bundler-plugin-integration-tests",
"dev-packages/e2e-tests",
Expand Down
2 changes: 2 additions & 0 deletions packages/esbuild-plugin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
build
*.tgz
29 changes: 29 additions & 0 deletions packages/esbuild-plugin/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# MIT License

Copyright (c) 2022-2026, Sentry
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

- Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
45 changes: 45 additions & 0 deletions packages/esbuild-plugin/README.md

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This just reminded me: did we migrate the options documentation for the new packages? Right now, I think https://www.npmjs.com/package/@sentry/vite-plugin is the only place where all plugin options are documented. Unless we already took care of this when we added @sentry/bundler-plugins to the repo?

If not, I'd say the cheapest thing we can do is add the options table to the readme of the legacy and probably also of the new package. WDYT?

Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<p align="center">
<a href="https://sentry.io/?utm_source=github&utm_medium=logo" target="_blank">
<img src="https://sentry-brand.storage.googleapis.com/sentry-wordmark-dark-280x84.png" alt="Sentry" width="280" height="84">
</a>
</p>

# Sentry esbuild Plugin

A esbuild plugin that uploads source maps to Sentry and injects release and Debug ID information into your bundles.

This package re-exports `@sentry/bundler-plugins/esbuild`.

## Installation

```bash
npm install @sentry/esbuild-plugin --save-dev
```

## Usage

```js
// build.js
import * as esbuild from 'esbuild';
import { sentryEsbuildPlugin } from '@sentry/esbuild-plugin';

await esbuild.build({
sourcemap: true,
plugins: [
sentryEsbuildPlugin({
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
authToken: process.env.SENTRY_AUTH_TOKEN,
}),
],
});
```

## Documentation

- [Uploading source maps](https://docs.sentry.io/platforms/javascript/sourcemaps/uploading/)

## Support

- [Report a bug](https://github.com/getsentry/sentry-javascript/issues/new/choose)
- [Contributing](https://github.com/getsentry/sentry-javascript/blob/develop/CONTRIBUTING.md)
56 changes: 56 additions & 0 deletions packages/esbuild-plugin/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
"name": "@sentry/esbuild-plugin",
"version": "11.7.0",
"description": "Official Sentry esbuild plugin",
"repository": "git://github.com/getsentry/sentry-javascript.git",
"homepage": "https://github.com/getsentry/sentry-javascript/tree/develop/packages/esbuild-plugin",
"author": "Sentry",
"license": "MIT",
"keywords": [
"Sentry",
"esbuild",
"bundler",
"plugin"
],
"engines": {
"node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0"
},
"publishConfig": {
"access": "public"
},
"files": [
"/build"
],
"main": "build/cjs/index.js",
"module": "build/esm/index.js",
"types": "build/types/index.d.ts",
"exports": {
"./package.json": "./package.json",
".": {
"types": "./build/types/index.d.ts",
"import": "./build/esm/index.js",
"require": "./build/cjs/index.js"
}
},
"scripts": {
"build": "run-p build:transpile build:types",
"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:dev:watch": "yarn build:watch",
"build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch",
"build:tarball": "npm pack",
"clean": "rimraf build coverage sentry-esbuild-plugin-*.tgz",
"lint": "oxlint . --type-aware",
"lint:fix": "oxlint . --fix --type-aware",
"test": "vitest run",
"test:unit": "vitest run"
},
"dependencies": {
"@sentry/bundler-plugins": "11.7.0"
},
"volta": {
"extends": "../../package.json"
}
}
12 changes: 12 additions & 0 deletions packages/esbuild-plugin/rollup.npm.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { makeBaseNPMConfig, makeNPMConfigVariants } from '@sentry-internal/rollup-utils';

export default makeNPMConfigVariants(
makeBaseNPMConfig({
entrypoints: ['src/index.ts'],
packageSpecificConfig: {
output: {
exports: 'named',
},
},
}),
);
2 changes: 2 additions & 0 deletions packages/esbuild-plugin/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export * from '@sentry/bundler-plugins/esbuild';
export { default } from '@sentry/bundler-plugins/esbuild';
Comment thread
timfish marked this conversation as resolved.
14 changes: 14 additions & 0 deletions packages/esbuild-plugin/test/index.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import * as bundlerPlugins from '@sentry/bundler-plugins/esbuild';
import { describe, expect, it } from 'vitest';
import * as plugin from '../src/index';

describe('@sentry/esbuild-plugin', () => {
it('re-exports @sentry/bundler-plugins/esbuild', () => {
expect(plugin.sentryEsbuildPlugin).toBe(bundlerPlugins.sentryEsbuildPlugin);
expect(Object.keys(plugin).sort()).toEqual(Object.keys(bundlerPlugins).sort());
});

it('re-exports the default export', () => {
expect(plugin.default).toBe(bundlerPlugins.default);
});
});
Comment thread
timfish marked this conversation as resolved.
8 changes: 8 additions & 0 deletions packages/esbuild-plugin/test/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "../tsconfig.json",
"include": ["../src/**/*", "./**/*"],
"compilerOptions": {
"types": ["node"]
}
}
5 changes: 5 additions & 0 deletions packages/esbuild-plugin/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "../../tsconfig.json",
"include": ["./src/**/*.ts", "./package.json"]
}
12 changes: 12 additions & 0 deletions packages/esbuild-plugin/tsconfig.types.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"extends": "./tsconfig.json",
"include": ["./src/**/*"],
"compilerOptions": {
"rootDir": "./src",
"declaration": true,
"declarationMap": true,
"emitDeclarationOnly": true,
"outDir": "build/types"
}
}
8 changes: 8 additions & 0 deletions packages/esbuild-plugin/vite.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import baseConfig from '../../vite/vite.config';

export default {
...baseConfig,
test: {
...baseConfig.test,
},
};
2 changes: 2 additions & 0 deletions packages/rollup-plugin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
build
*.tgz
29 changes: 29 additions & 0 deletions packages/rollup-plugin/LICENSE

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI/Note to myself: just talked to @JPeer264 and we'll include a special note in all plugin packages LICENSE files about the new sentry CLI package not being MIT licensed. Currently this is only on the main repo's LICENSE, so we'll do this in one go, after merging this PR.

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# MIT License

Copyright (c) 2022-2026, Sentry
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

- Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46 changes: 46 additions & 0 deletions packages/rollup-plugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<p align="center">
<a href="https://sentry.io/?utm_source=github&utm_medium=logo" target="_blank">
<img src="https://sentry-brand.storage.googleapis.com/sentry-wordmark-dark-280x84.png" alt="Sentry" width="280" height="84">
</a>
</p>

# Sentry Rollup Plugin

A Rollup plugin that uploads source maps to Sentry and injects release and Debug ID information into your bundles.

This package re-exports `@sentry/bundler-plugins/rollup`.

## Installation

```bash
npm install @sentry/rollup-plugin --save-dev
```

## Usage

```js
// rollup.config.js
import { sentryRollupPlugin } from '@sentry/rollup-plugin';

export default {
output: {
sourcemap: true,
},
plugins: [
sentryRollupPlugin({
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
authToken: process.env.SENTRY_AUTH_TOKEN,
}),
],
};
```

## Documentation

- [Uploading source maps](https://docs.sentry.io/platforms/javascript/sourcemaps/uploading/)

## Support

- [Report a bug](https://github.com/getsentry/sentry-javascript/issues/new/choose)
- [Contributing](https://github.com/getsentry/sentry-javascript/blob/develop/CONTRIBUTING.md)
Loading
Loading