-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
feat: NextJS initialization config #3285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HazAT
requested changes
Mar 1, 2021
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 think this PR contains the changes of the branch or it was not based of the feat/next-js
branch. Something is odd with the diff.
size-limit report
|
This file was supposes to be deleted in a prior refactor, but it was messed up in a merge.
HazAT
approved these changes
Mar 1, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR focuses on the initialization of the NextJS SDK.
Main changes
package.json
for browser and node environments.options.ts
has been refactored. TheNextjsOptions
interface andMetadataBuilder
are now in separate files in/utils
, instead of being in the same one.utils/initDecider
is responsible for this, and by default only initializes the SDK when it's run in production; although the initialization in non-production environments can be forced by settingdev: true
(see example below).Why is the SDK by default only initialized in production?
The code that is being run in development mode is not the same as the one in production mode. NextJS requires building the app before running it in production mode (docs), which besides performing some optimizations, does some checks (e.g. compilation errors). Some of these errors, which won't ever be run in production due to the building phase, can actually be run in development; they break the app and Sentry doesn't deal with them (at the moment). Thus, the SDK is only initialized by default in production environments.
However, some users might be interested in running Sentry in development. The SDK initialization can be forced by setting
dev
totrue
(false
by default) ininit
, as follows:This will initialize the SDK in non-production modes. Note, however, that this doesn't change the actual behavior; so there might be cases where what described above happens. If this is the case: try to build the app, fix the errors, and once it's built, run it again.