Skip to content
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

ref(nextjs): Add warning about non-hidden sourcemaps #5649

Merged
merged 2 commits into from Aug 30, 2022

Conversation

lobsterkatie
Copy link
Member

@lobsterkatie lobsterkatie commented Aug 30, 2022

This adds a warning during nextjs app build (both in prod and dev) letting folks know that by default (for now), the sourcemaps we create can be seen by browser devtools.

In conjunction with getsentry/sentry-wizard#188, getsentry/sentry-docs#5464, and vercel/next.js#40079, this is the first step in addressing the concerns raised in #4489. See here for more details.

Notes:

  • The function doing the warning includes both the current warning and one for use in v8 and beyond (currently commented out), telling people they no longer need to set hideSourceMaps to true (because by that point it will be the default).

  • The formatting of the warning matches the formatting of other nextjs warnings. Because nextjs vendors chalk themselves, that meant we needed to add it as a dependency. Though the latest version of chalk is 5.x, here we're using 3.x because it's the last to be compatible with node 8. (See below for a screenshot.)

  • There are TODOs reflecting the changes which need to be made in v8 (change the default to true, switch the warning message) and v9 or v10 (get rid of the second warning once it's had plenty of time to do its job).

Screenshot of warning:

image

lobsterkatie added a commit to getsentry/sentry-docs that referenced this pull request Aug 30, 2022
…5464)

This expands the explanation of the `hideSourceMaps` option in `next.config.js`, and notes that it will default to `true` starting in version 8 of the SDK.

In conjunction with getsentry/sentry-javascript#5649, getsentry/sentry-wizard#188, and vercel/next.js#40079, this is the first step in addressing the concerns raised in getsentry/sentry-javascript#4489. See getsentry/sentry-javascript#4489 (comment) for more details.
lobsterkatie added a commit to getsentry/sentry-wizard that referenced this pull request Aug 30, 2022
This adds a default value for `hideSourceMaps` to the `next.config.js` the wizard provides, so that new users will use `hidden-source-map` as their Webpack `devtool` by default in client-side builds. (This prevents browser devtools from seeing sourcemaps and therefore prevents original source code from showing up automatically in the `Sources` tab. (More information on `devtool` values can be found at https://webpack.js.org/configuration/devtool/.)

In conjunction with getsentry/sentry-javascript#5649, getsentry/sentry-docs#5464, and vercel/next.js#40079, this is the first step in addressing the concerns raised in getsentry/sentry-javascript#4489. See getsentry/sentry-javascript#4489 (comment) for more details.
@lobsterkatie lobsterkatie merged commit 27b5771 into master Aug 30, 2022
@lobsterkatie lobsterkatie deleted the kmclb-nextjs-default-to-hidden-sourcemaps branch August 30, 2022 21:31
kodiakhq bot pushed a commit to vercel/next.js that referenced this pull request Sep 5, 2022
This adds a default value for `hideSourceMaps` to the `next.config.js` the `with-sentry` example app provides, so that new users will use `hidden-source-map` as their Webpack `devtool` by default in client-side builds. (This prevents browser devtools from seeing sourcemaps and therefore prevents original source code from showing up automatically in the `Sources` tab. (More information on `devtool` values can be found [here](https://webpack.js.org/configuration/devtool/).)

In conjunction with getsentry/sentry-javascript#5649, getsentry/sentry-wizard#188, and getsentry/sentry-docs#5464, this is the first step in addressing the concerns raised in getsentry/sentry-javascript#4489. See [here](getsentry/sentry-javascript#4489 (comment)) for more details.
lobsterkatie added a commit that referenced this pull request Sep 8, 2022
… in tests (#5708)

The warning added in #5649 isn't relevant to our overall nextjs test suite. This therefore suppresses it in both unit and integration tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants