diff --git a/CHANGELOG.md b/CHANGELOG.md index f1a36784..046ef96f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ - "You know what they say ‘Fool me once, strike one, but fool me twice… strike three.’" — Michael Scott +## 4.4.0 + +- feat(core): Explicitly allow `undefined` as value for `authToken` option ([#805](https://github.com/getsentry/sentry-javascript-bundler-plugins/pull/805)) +- fix(core): Strip query strings from asset paths ([#806](https://github.com/getsentry/sentry-javascript-bundler-plugins/pull/806)) + +Work in this release was contributed by @aiktb. Thank you for your contribution! + ## 4.3.0 - feat(core): Extend deploy option to allow opting out of automatic deploy creation ([#801](https://github.com/getsentry/sentry-javascript-bundler-plugins/pull/801)) diff --git a/lerna.json b/lerna.json index 35f0ba2d..f15e9c7d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "$schema": "node_modules/lerna/schemas/lerna-schema.json", - "version": "4.3.0", + "version": "4.4.0", "npmClient": "yarn", "useWorkspaces": true } diff --git a/packages/babel-plugin-component-annotate/package.json b/packages/babel-plugin-component-annotate/package.json index c4eca79d..6ce74594 100644 --- a/packages/babel-plugin-component-annotate/package.json +++ b/packages/babel-plugin-component-annotate/package.json @@ -1,6 +1,6 @@ { "name": "@sentry/babel-plugin-component-annotate", - "version": "4.3.0", + "version": "4.4.0", "description": "A Babel plugin that annotates frontend components with additional data to enrich the experience in Sentry", "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git", "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/babel-plugin-component-annotate", @@ -56,8 +56,8 @@ "@babel/preset-typescript": "7.17.12", "@rollup/plugin-babel": "5.3.1", "@rollup/plugin-node-resolve": "13.3.0", - "@sentry-internal/eslint-config": "4.3.0", - "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.3.0", + "@sentry-internal/eslint-config": "4.4.0", + "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.4.0", "@swc/core": "^1.2.205", "@swc/jest": "^0.2.21", "@types/jest": "^28.1.3", diff --git a/packages/bundler-plugin-core/package.json b/packages/bundler-plugin-core/package.json index 8deab5bb..9d0ead6e 100644 --- a/packages/bundler-plugin-core/package.json +++ b/packages/bundler-plugin-core/package.json @@ -1,6 +1,6 @@ { "name": "@sentry/bundler-plugin-core", - "version": "4.3.0", + "version": "4.4.0", "description": "Sentry Bundler Plugin Core", "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git", "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/bundler-plugin-core", @@ -53,7 +53,7 @@ }, "dependencies": { "@babel/core": "^7.18.5", - "@sentry/babel-plugin-component-annotate": "4.3.0", + "@sentry/babel-plugin-component-annotate": "4.4.0", "@sentry/cli": "^2.51.0", "dotenv": "^16.3.1", "find-up": "^5.0.0", @@ -68,8 +68,8 @@ "@rollup/plugin-json": "4.1.0", "@rollup/plugin-node-resolve": "13.3.0", "@rollup/plugin-replace": "^4.0.0", - "@sentry-internal/eslint-config": "4.3.0", - "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.3.0", + "@sentry-internal/eslint-config": "4.4.0", + "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.4.0", "@sentry/core": "8.30.0", "@sentry/types": "8.30.0", "@sentry/utils": "8.30.0", diff --git a/packages/bundler-plugin-core/src/debug-id-upload.ts b/packages/bundler-plugin-core/src/debug-id-upload.ts index 2bca52c2..4de1aaa6 100644 --- a/packages/bundler-plugin-core/src/debug-id-upload.ts +++ b/packages/bundler-plugin-core/src/debug-id-upload.ts @@ -6,6 +6,7 @@ import { promisify } from "util"; import { SentryBuildPluginManager } from "./build-plugin-manager"; import { Logger } from "./logger"; import { ResolveSourceMapHook, RewriteSourcesHook } from "./types"; +import { stripQueryAndHashFromPath } from "./utils"; interface DebugIdUploadPluginOptions { sentryBuildPluginManager: SentryBuildPluginManager; @@ -15,7 +16,10 @@ export function createDebugIdUploadFunction({ sentryBuildPluginManager, }: DebugIdUploadPluginOptions) { return async (buildArtifactPaths: string[]) => { - await sentryBuildPluginManager.uploadSourcemaps(buildArtifactPaths); + // Webpack and perhaps other bundlers allow you to append query strings to + // filenames for cache busting purposes. We should strip these before upload. + const cleanedPaths = buildArtifactPaths.map(stripQueryAndHashFromPath); + await sentryBuildPluginManager.uploadSourcemaps(cleanedPaths); }; } diff --git a/packages/bundler-plugin-core/src/types.ts b/packages/bundler-plugin-core/src/types.ts index accceee5..064cd89b 100644 --- a/packages/bundler-plugin-core/src/types.ts +++ b/packages/bundler-plugin-core/src/types.ts @@ -21,7 +21,7 @@ export interface Options { * * @see https://docs.sentry.io/product/accounts/auth-tokens/#organization-auth-tokens */ - authToken?: string; + authToken?: string | undefined; /** * The base URL of your Sentry instance. Use this if you are using a self-hosted diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index a5cde6db..d66a9fe3 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -1,6 +1,6 @@ { "name": "@sentry-internal/dev-utils", - "version": "4.3.0", + "version": "4.4.0", "license": "MIT", "private": true, "files": [ diff --git a/packages/e2e-tests/package.json b/packages/e2e-tests/package.json index 370b75b0..046952cd 100644 --- a/packages/e2e-tests/package.json +++ b/packages/e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "@sentry-internal/bundler-plugin-e2e-tests", - "version": "4.3.0", + "version": "4.4.0", "license": "MIT", "private": true, "scripts": { @@ -15,15 +15,15 @@ "lint": "eslint ." }, "dependencies": { - "@sentry/esbuild-plugin": "4.3.0", - "@sentry/rollup-plugin": "4.3.0", - "@sentry/vite-plugin": "4.3.0", - "@sentry/webpack-plugin": "4.3.0", + "@sentry/esbuild-plugin": "4.4.0", + "@sentry/rollup-plugin": "4.4.0", + "@sentry/vite-plugin": "4.4.0", + "@sentry/webpack-plugin": "4.4.0", "axios": "^1.1.3" }, "devDependencies": { - "@sentry-internal/eslint-config": "4.3.0", - "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.3.0", + "@sentry-internal/eslint-config": "4.4.0", + "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.4.0", "@swc/jest": "^0.2.21", "@types/axios": "^0.14.0", "@types/glob": "8.0.0", diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json index df107ad7..db9a65f1 100644 --- a/packages/esbuild-plugin/package.json +++ b/packages/esbuild-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@sentry/esbuild-plugin", - "version": "4.3.0", + "version": "4.4.0", "description": "Official Sentry esbuild plugin", "repository": "git@github.com:getsentry/sentry-javascript-bundler-plugins.git", "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin", @@ -48,7 +48,7 @@ "prepack": "ts-node ./src/prepack.ts" }, "dependencies": { - "@sentry/bundler-plugin-core": "4.3.0", + "@sentry/bundler-plugin-core": "4.4.0", "unplugin": "1.0.1", "uuid": "^9.0.0" }, @@ -58,8 +58,8 @@ "@babel/preset-typescript": "7.17.12", "@rollup/plugin-babel": "5.3.1", "@rollup/plugin-node-resolve": "13.3.0", - "@sentry-internal/eslint-config": "4.3.0", - "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.3.0", + "@sentry-internal/eslint-config": "4.4.0", + "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.4.0", "@swc/core": "^1.2.205", "@swc/jest": "^0.2.21", "@types/jest": "^28.1.3", diff --git a/packages/eslint-configs/package.json b/packages/eslint-configs/package.json index e884926e..05301524 100644 --- a/packages/eslint-configs/package.json +++ b/packages/eslint-configs/package.json @@ -1,6 +1,6 @@ { "name": "@sentry-internal/eslint-config", - "version": "4.3.0", + "version": "4.4.0", "license": "MIT", "private": true, "peerDependencies": { diff --git a/packages/integration-tests/fixtures/debug-ids-already-injected/debug-ids-already-injected.test.ts b/packages/integration-tests/fixtures/debug-ids-already-injected/debug-ids-already-injected.test.ts index f0c77f67..8d6feca8 100644 --- a/packages/integration-tests/fixtures/debug-ids-already-injected/debug-ids-already-injected.test.ts +++ b/packages/integration-tests/fixtures/debug-ids-already-injected/debug-ids-already-injected.test.ts @@ -56,13 +56,13 @@ describeNode18Plus("vite 6 bundle", () => { }); describeNode18Plus("webpack 5 bundle", () => { - const viteRoot = path.join(__dirname, "input", "webpack5"); + const webpackRoot = path.join(__dirname, "input", "webpack5"); const tempDir = createTempDir(); beforeEach(() => { - execSync("yarn install", { cwd: viteRoot, stdio: "inherit" }); + execSync("yarn install", { cwd: webpackRoot, stdio: "inherit" }); execSync("yarn webpack build", { - cwd: viteRoot, + cwd: webpackRoot, stdio: "inherit", env: { ...process.env, SENTRY_TEST_OVERRIDE_TEMP_DIR: tempDir }, }); @@ -81,13 +81,13 @@ describeNode18Plus("webpack 5 bundle", () => { }); describeNode18Plus("rollup bundle", () => { - const viteRoot = path.join(__dirname, "input", "rollup4"); + const rollupRoot = path.join(__dirname, "input", "rollup4"); const tempDir = createTempDir(); beforeEach(() => { - execSync("yarn install", { cwd: viteRoot, stdio: "inherit" }); + execSync("yarn install", { cwd: rollupRoot, stdio: "inherit" }); execSync("yarn rollup --config rollup.config.js", { - cwd: viteRoot, + cwd: rollupRoot, stdio: "inherit", env: { ...process.env, SENTRY_TEST_OVERRIDE_TEMP_DIR: tempDir }, }); diff --git a/packages/integration-tests/fixtures/debug-ids-already-injected/input/rollup4/rollup.config.js b/packages/integration-tests/fixtures/debug-ids-already-injected/input/rollup4/rollup.config.js index 2a43368b..1a528566 100644 --- a/packages/integration-tests/fixtures/debug-ids-already-injected/input/rollup4/rollup.config.js +++ b/packages/integration-tests/fixtures/debug-ids-already-injected/input/rollup4/rollup.config.js @@ -1,8 +1,9 @@ import { defineConfig } from "rollup"; import { sentryRollupPlugin } from "@sentry/rollup-plugin"; -import { join } from "path"; +import { join, dirname } from "path"; +import { fileURLToPath } from "url"; -const __dirname = new URL(".", import.meta.url).pathname; +const __dirname = dirname(fileURLToPath(import.meta.url)); export default defineConfig({ input: { index: join(__dirname, "..", "bundle.js") }, diff --git a/packages/integration-tests/fixtures/debug-ids-already-injected/input/vite6/vite.config.js b/packages/integration-tests/fixtures/debug-ids-already-injected/input/vite6/vite.config.js index 0d763cdb..bb319442 100644 --- a/packages/integration-tests/fixtures/debug-ids-already-injected/input/vite6/vite.config.js +++ b/packages/integration-tests/fixtures/debug-ids-already-injected/input/vite6/vite.config.js @@ -1,6 +1,9 @@ import { defineConfig } from "vite"; import { sentryVitePlugin } from "@sentry/vite-plugin"; -import { join } from "path"; +import { join, dirname } from "path"; +import { fileURLToPath } from "url"; + +const __dirname = dirname(fileURLToPath(import.meta.url)); export default defineConfig({ clearScreen: false, diff --git a/packages/integration-tests/fixtures/debug-ids-already-injected/input/webpack5/webpack.config.js b/packages/integration-tests/fixtures/debug-ids-already-injected/input/webpack5/webpack.config.js index fa294910..ae1d0882 100644 --- a/packages/integration-tests/fixtures/debug-ids-already-injected/input/webpack5/webpack.config.js +++ b/packages/integration-tests/fixtures/debug-ids-already-injected/input/webpack5/webpack.config.js @@ -1,7 +1,8 @@ import { sentryWebpackPlugin } from "@sentry/webpack-plugin"; -import { join } from "path"; +import { join, dirname } from "path"; +import { fileURLToPath } from "url"; -const __dirname = new URL(".", import.meta.url).pathname; +const __dirname = dirname(fileURLToPath(import.meta.url)); export default { devtool: "source-map-debugids", diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index 1026b852..c01ebc9e 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@sentry-internal/integration-tests", - "version": "4.3.0", + "version": "4.4.0", "license": "MIT", "private": true, "scripts": { @@ -19,13 +19,13 @@ "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-node-resolve": "^15.2.3", - "@sentry-internal/eslint-config": "4.3.0", - "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.3.0", - "@sentry/bundler-plugin-core": "4.3.0", - "@sentry/esbuild-plugin": "4.3.0", - "@sentry/rollup-plugin": "4.3.0", - "@sentry/vite-plugin": "4.3.0", - "@sentry/webpack-plugin": "4.3.0", + "@sentry-internal/eslint-config": "4.4.0", + "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.4.0", + "@sentry/bundler-plugin-core": "4.4.0", + "@sentry/esbuild-plugin": "4.4.0", + "@sentry/rollup-plugin": "4.4.0", + "@sentry/vite-plugin": "4.4.0", + "@sentry/webpack-plugin": "4.4.0", "@swc/jest": "^0.2.21", "@types/jest": "^28.1.3", "@types/react": "^18.2.0", diff --git a/packages/integration-tests/utils/create-cjs-bundles.ts b/packages/integration-tests/utils/create-cjs-bundles.ts index b230ccab..bc60ce2b 100644 --- a/packages/integration-tests/utils/create-cjs-bundles.ts +++ b/packages/integration-tests/utils/create-cjs-bundles.ts @@ -77,6 +77,7 @@ export function createCjsBundles( output: { path: path.join(outFolder, "webpack4"), libraryTarget: "commonjs", + filename: "[name].js?[contenthash]", }, target: "node", // needed for webpack 4 so we can access node api plugins: [sentryWebpackPlugin(sentryUnpluginOptions)], diff --git a/packages/playground/package.json b/packages/playground/package.json index 2a6451f2..7d1f5e8c 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -1,6 +1,6 @@ { "name": "@sentry-internal/bundler-plugin-playground", - "version": "4.3.0", + "version": "4.4.0", "license": "MIT", "private": true, "scripts": { @@ -18,7 +18,7 @@ "start:proxyLogger": "ts-node scripts/request-logger-proxy.ts" }, "dependencies": { - "@sentry/bundler-plugin-core": "4.3.0", + "@sentry/bundler-plugin-core": "4.4.0", "@sentry/integrations": "7.50", "@sentry/node": "7.50", "@types/express": "^4.17.13", diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json index 294c468b..552d5a38 100644 --- a/packages/rollup-plugin/package.json +++ b/packages/rollup-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@sentry/rollup-plugin", - "version": "4.3.0", + "version": "4.4.0", "description": "Official Sentry Rollup plugin", "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git", "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/rollup-plugin", @@ -49,7 +49,7 @@ "prepack": "ts-node ./src/prepack.ts" }, "dependencies": { - "@sentry/bundler-plugin-core": "4.3.0", + "@sentry/bundler-plugin-core": "4.4.0", "unplugin": "1.0.1" }, "peerDependencies": { @@ -61,8 +61,8 @@ "@babel/preset-typescript": "7.17.12", "@rollup/plugin-babel": "5.3.1", "@rollup/plugin-node-resolve": "13.3.0", - "@sentry-internal/eslint-config": "4.3.0", - "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.3.0", + "@sentry-internal/eslint-config": "4.4.0", + "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.4.0", "@swc/core": "^1.2.205", "@swc/jest": "^0.2.21", "@types/jest": "^28.1.3", diff --git a/packages/tsconfigs/package.json b/packages/tsconfigs/package.json index 54a59afe..3e093432 100644 --- a/packages/tsconfigs/package.json +++ b/packages/tsconfigs/package.json @@ -1,6 +1,6 @@ { "name": "@sentry-internal/sentry-bundler-plugin-tsconfig", - "version": "4.3.0", + "version": "4.4.0", "license": "MIT", "private": true } diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json index 88f60763..2715f280 100644 --- a/packages/vite-plugin/package.json +++ b/packages/vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@sentry/vite-plugin", - "version": "4.3.0", + "version": "4.4.0", "description": "Official Sentry Vite plugin", "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git", "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/vite-plugin", @@ -48,7 +48,7 @@ "prepack": "ts-node ./src/prepack.ts" }, "dependencies": { - "@sentry/bundler-plugin-core": "4.3.0", + "@sentry/bundler-plugin-core": "4.4.0", "unplugin": "1.0.1" }, "devDependencies": { @@ -57,8 +57,8 @@ "@babel/preset-typescript": "7.17.12", "@rollup/plugin-babel": "5.3.1", "@rollup/plugin-node-resolve": "13.3.0", - "@sentry-internal/eslint-config": "4.3.0", - "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.3.0", + "@sentry-internal/eslint-config": "4.4.0", + "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.4.0", "@swc/core": "^1.2.205", "@swc/jest": "^0.2.21", "@types/jest": "^28.1.3", diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index 24a85e4d..523ba431 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@sentry/webpack-plugin", - "version": "4.3.0", + "version": "4.4.0", "description": "Official Sentry Webpack plugin", "repository": "git://github.com/getsentry/sentry-javascript-bundler-plugins.git", "homepage": "https://github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin", @@ -53,7 +53,7 @@ "prepack": "ts-node ./src/prepack.ts" }, "dependencies": { - "@sentry/bundler-plugin-core": "4.3.0", + "@sentry/bundler-plugin-core": "4.4.0", "unplugin": "1.0.1", "uuid": "^9.0.0" }, @@ -63,8 +63,8 @@ "@babel/preset-typescript": "7.17.12", "@rollup/plugin-babel": "5.3.1", "@rollup/plugin-commonjs": "22.0.1", - "@sentry-internal/eslint-config": "4.3.0", - "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.3.0", + "@sentry-internal/eslint-config": "4.4.0", + "@sentry-internal/sentry-bundler-plugin-tsconfig": "4.4.0", "@swc/core": "^1.2.205", "@swc/jest": "^0.2.21", "@types/jest": "^28.1.3",