sentry-javascript
sentry-javascript copied to clipboard
v7.112 webpack & angular warning: node_modules/@sentry/integrations/esm/offline.js depends on 'localforage'. CommonJS or AMD dependencies can cause optimization bailouts.
Is there an existing issue for this?
- [X] I have checked for existing issues https://github.com/getsentry/sentry-javascript/issues
- [X] I have reviewed the documentation https://docs.sentry.io/
- [X] I am using the latest SDK release https://github.com/getsentry/sentry-javascript/releases
How do you use Sentry?
Sentry Saas (sentry.io)
Which SDK are you using?
@sentry/browser
SDK Version
7.112.0
Framework Version
No response
Link to Sentry event
No response
SDK Setup
Sentry.init({
dsn: '',
environment: new URL('', window.location.href).hostname,
release: VERSION,
autoSessionTracking: true,
ignoreErrors: ['ResizeObserver loop limit exceeded'],
denyUrls: [/localhost/],
initialScope: (scope) => {
scope.setTags({title: document.title});
return scope;
},
beforeSend(event) {
// some logic
return null;
},
});
Steps to Reproduce
This is Angular app, using Angular 16. (And using @sentry/browser)
- Update Sentry from v7.111 to v.112
ng build
Expected Result
Not to log any warnings
If I want earlier functionality, do I need to set integrations: [] in init? This was not covered in the release notes.
Actual Result
Warning printed
Warning: <project>/node_modules/@sentry/integrations/esm/offline.js depends on 'localforage'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
To clarify this is just a warning right? It does not cause the build to fail?
I think we should not vendor the offline integration like we do with the rest because of this problem. Opening a PR!
Well nvm we don't vendor offline at all, but I guess webpack complains about it. I think we have to alias the localforage import with a dynamic require, or vendor in localforage to get around this problem.
@mydea could you take a look on Monday?
Yeah luckily it's just warning, so it does not block building the application. :)
I can see that in package.json, packages immediate, lie and localforage are now added when they weren't present earlier.
These are the only Sentry packages that we have installed
"@sentry/browser": "7.112.0",
"@sentry/types": "7.112.2",
There's another solution here we can do which sucks, but is better than nothing to unblock us.
- Create a
@sentry-internal/integrationspackage, and put all of the integrations other than offline into that package. - Make
@sentry/integrationsdepend on@sentry-internal/integrations, and then have it useofflineintegration - Make browser sdk depend on
@sentry-internal/integrations
Sorry for the trouble @rubiesonthesky - appreciate your patience while we get a fix out!
We've released v8.0.0 which dropped the offline integration overall - so updating to this should get rid of this warning! I'll close this issue, if you still run into this on the latest version of the SDK, please re-open the issue - thank you!
Hi, updating @sentry/angular-ivy to version 7.114.0 is giving me this error. Is this something you are aware of?
If you have build problems related to this, we recommend to update to v8 where this is gone. On v7, this is hard for us to fix because some things depend on localforage, but it does not play well with some setups, sadly.