-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
fix!: Wrap injected code in block-statement to contain scope #646
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it maybe be enough to just wrap the snippet in {...}
. May save some bytes.
That doesn't work with |
@@ -344,7 +346,7 @@ export function generateModuleMetadataInjectorCode(metadata: any) { | |||
// The checks are to support as many environments as possible. (Node.js, Browser, webworkers, etc.) | |||
// We are merging the metadata objects in case modules are bundled twice with the plugin | |||
return `{ | |||
var _sentryModuleMetadataGlobal = | |||
const _sentryModuleMetadataGlobal = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated this too because block scoping rules for var
mean that it wasn't working as expected
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am all for this but wondering whether we should cut a major in case somebody uses the bundler plugins for apps in an env where const isn't a thing yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't mind which way we go but we should either:
- Use
var
and wrap in self-invoking function - Use
var
and wrap in try/catch - Use block-statement with
const
orlet
| datasource | package | from | to | | ---------- | ------------------- | ------ | ----- | | npm | @sentry/vite-plugin | 2.23.0 | 3.0.0 | ## [v3.0.0](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#300) ##### Breaking Changes - Injected code will now use `let`, which was added in ES6 (ES2015). This means that ES6 is the minimum JavaScript version that the Sentry bundler plugins support. - Deprecated options have been removed: - `deleteFilesAfterUpload` - Use `filesToDeleteAfterUpload` instead - `bundleSizeOptimizations.excludePerformanceMonitoring` - Use `bundleSizeOptimizations.excludeTracing` instead - `_experiments.moduleMetadata` - Use `moduleMetadata` instead - `cleanArtifacts` - Did not do anything ##### List of Changes - fix!: Wrap injected code in block-statement to contain scope ([#646](getsentry/sentry-javascript-bundler-plugins#646)) - chore!: Remove deprecated options ([#654](getsentry/sentry-javascript-bundler-plugins#654)) - feat(logger): Use console methods respective to log level ([#652](getsentry/sentry-javascript-bundler-plugins#652)) - fix(webpack): Ensure process exits when done ([#653](getsentry/sentry-javascript-bundler-plugins#653)) - fix: Use correct replacement matcher for `bundleSizeOptimizations.excludeTracing` ([#644](getsentry/sentry-javascript-bundler-plugins#644)) Work in this release contributed by [@jdelStrother](https://github.com/jdelStrother). Thank you for your contribution!
| datasource | package | from | to | | ---------- | ------------------- | ------ | ----- | | npm | @sentry/vite-plugin | 2.23.0 | 3.0.0 | ## [v3.0.0](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#300) ##### Breaking Changes - Injected code will now use `let`, which was added in ES6 (ES2015). This means that ES6 is the minimum JavaScript version that the Sentry bundler plugins support. - Deprecated options have been removed: - `deleteFilesAfterUpload` - Use `filesToDeleteAfterUpload` instead - `bundleSizeOptimizations.excludePerformanceMonitoring` - Use `bundleSizeOptimizations.excludeTracing` instead - `_experiments.moduleMetadata` - Use `moduleMetadata` instead - `cleanArtifacts` - Did not do anything ##### List of Changes - fix!: Wrap injected code in block-statement to contain scope ([#646](getsentry/sentry-javascript-bundler-plugins#646)) - chore!: Remove deprecated options ([#654](getsentry/sentry-javascript-bundler-plugins#654)) - feat(logger): Use console methods respective to log level ([#652](getsentry/sentry-javascript-bundler-plugins#652)) - fix(webpack): Ensure process exits when done ([#653](getsentry/sentry-javascript-bundler-plugins#653)) - fix: Use correct replacement matcher for `bundleSizeOptimizations.excludeTracing` ([#644](getsentry/sentry-javascript-bundler-plugins#644)) Work in this release contributed by [@jdelStrother](https://github.com/jdelStrother). Thank you for your contribution!
| datasource | package | from | to | | ---------- | ------------------- | ------ | ----- | | npm | @sentry/vite-plugin | 2.23.0 | 3.0.0 | ## [v3.0.0](https://github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#300) ##### Breaking Changes - Injected code will now use `let`, which was added in ES6 (ES2015). This means that ES6 is the minimum JavaScript version that the Sentry bundler plugins support. - Deprecated options have been removed: - `deleteFilesAfterUpload` - Use `filesToDeleteAfterUpload` instead - `bundleSizeOptimizations.excludePerformanceMonitoring` - Use `bundleSizeOptimizations.excludeTracing` instead - `_experiments.moduleMetadata` - Use `moduleMetadata` instead - `cleanArtifacts` - Did not do anything ##### List of Changes - fix!: Wrap injected code in block-statement to contain scope ([#646](getsentry/sentry-javascript-bundler-plugins#646)) - chore!: Remove deprecated options ([#654](getsentry/sentry-javascript-bundler-plugins#654)) - feat(logger): Use console methods respective to log level ([#652](getsentry/sentry-javascript-bundler-plugins#652)) - fix(webpack): Ensure process exits when done ([#653](getsentry/sentry-javascript-bundler-plugins#653)) - fix: Use correct replacement matcher for `bundleSizeOptimizations.excludeTracing` ([#644](getsentry/sentry-javascript-bundler-plugins#644)) Work in this release contributed by [@jdelStrother](https://github.com/jdelStrother). Thank you for your contribution!
_global
can clash with user code #645