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

fix(v8/core): Pass module into loadModule (#15139) #15166

Merged
merged 3 commits into from
Jan 27, 2025
Merged

Conversation

Lms24
Copy link
Member

@Lms24 Lms24 commented Jan 27, 2025

backport of #15139

jrandolf and others added 2 commits January 27, 2025 10:03
The `loadModule` function currently utilizes `require` to load modules
starting from the `@sentry/core` directory. This approach is
incompatible with package managers like pnpm, which do not hoist
dependencies. Consequently, when another module, such as @sentry/nextjs,
invokes `loadModule`, it fails to locate its own dependencies because
the search initiates within the @sentry/core tree.
@Lms24 Lms24 force-pushed the lms/backport-15139 branch from 60a874c to 6496582 Compare January 27, 2025 09:06
@Lms24 Lms24 marked this pull request as ready for review January 27, 2025 09:07
@Lms24 Lms24 requested review from lforst and AbhiPrasad January 27, 2025 09:07
@AbhiPrasad
Copy link
Member

Going to update this branch with develop to try to merge it in before cutting v8 release.

@Lms24 Lms24 merged commit cb6aca7 into v8 Jan 27, 2025
160 checks passed
@Lms24 Lms24 deleted the lms/backport-15139 branch January 27, 2025 16:32
alexandresoro pushed a commit to alexandresoro/ouca-web that referenced this pull request Jan 29, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@sentry/react](https://github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://github.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.51.0` -> `8.52.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.51.0/8.52.0) |

---

### Release Notes

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v8.52.0`](https://github.com/getsentry/sentry-javascript/releases/tag/8.52.0)

[Compare Source](getsentry/sentry-javascript@8.51.0...8.52.0)

##### Important Changes

-   **feat(solidstart): Add `withSentry` wrapper for SolidStart config ([#&#8203;15135](getsentry/sentry-javascript#15135

To enable the SolidStart SDK, wrap your SolidStart Config with `withSentry`. The `sentrySolidStartVite` plugin is now automatically
added by `withSentry` and you can pass the Sentry build-time options like this:

```js
import { defineConfig } from '@&#8203;solidjs/start/config';
import { withSentry } from '@&#8203;sentry/solidstart';

export default defineConfig(
  withSentry(
    {
      /* Your SolidStart config options... */
    },
    {
      // Options for setting up source maps
      org: process.env.SENTRY_ORG,
      project: process.env.SENTRY_PROJECT,
      authToken: process.env.SENTRY_AUTH_TOKEN,
    },
  ),
);
```

With the `withSentry` wrapper, the Sentry server config should not be added to the `public` directory anymore.
Add the Sentry server config in `src/instrument.server.ts`. Then, the server config will be placed inside the server build output as `instrument.server.mjs`.

Now, there are two options to set up the SDK:

1.  **(recommended)** Provide an `--import` CLI flag to the start command like this (path depends on your server setup):
    `node --import ./.output/server/instrument.server.mjs .output/server/index.mjs`
2.  Add `autoInjectServerSentry: 'top-level-import'` and the Sentry config will be imported at the top of the server entry (comes with tracing limitations)
    ```js
    withSentry(
      {
        /* Your SolidStart config options... */
      },
      {
        // Optional: Install Sentry with a top-level import
        autoInjectServerSentry: 'top-level-import',
      },
    );
    ```

##### Other Changes

-   feat(v8/core): Add client outcomes for breadcrumbs buffer ([#&#8203;15149](getsentry/sentry-javascript#15149))
-   feat(v8/core): Improve error formatting in ZodErrors integration ([#&#8203;15155](getsentry/sentry-javascript#15155))
-   fix(v8/bun): Ensure instrumentation of `Bun.serve` survives a server reload ([#&#8203;15157](getsentry/sentry-javascript#15157))
-   fix(v8/core): Pass `module` into `loadModule` ([#&#8203;15139](getsentry/sentry-javascript#15139)) ([#&#8203;15166](getsentry/sentry-javascript#15166))

Work in this release was contributed by [@&#8203;jahands](https://github.com/jahands), [@&#8203;jrandolf](https://github.com/jrandolf), and [@&#8203;nathankleyn](https://github.com/nathankleyn). Thank you for your contributions!

#### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://github.com/sentry/browser)                                                  | 23.32 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) - with treeshaking flags                         | 23.2 KB   |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing)                                  | 35.88 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay)                          | 73.23 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 66.7 KB   |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 77.54 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 89.47 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Feedback)                                 | 39.53 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. sendFeedback)                             | 27.94 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.73 KB  |
| [@&#8203;sentry/react](https://github.com/sentry/react)                                                    | 26 KB     |
| [@&#8203;sentry/react](https://github.com/sentry/react) (incl. Tracing)                                    | 38.71 KB  |
| [@&#8203;sentry/vue](https://github.com/sentry/vue)                                                      | 27.6 KB   |
| [@&#8203;sentry/vue](https://github.com/sentry/vue) (incl. Tracing)                                      | 37.74 KB  |
| [@&#8203;sentry/svelte](https://github.com/sentry/svelte)                                                   | 23.49 KB  |
| CDN Bundle                                                       | 24.52 KB  |
| CDN Bundle (incl. Tracing)                                       | 37.59 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 72.87 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 78.24 KB  |
| CDN Bundle - uncompressed                                        | 72.01 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 111.51 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 225.76 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 238.86 KB |
| [@&#8203;sentry/nextjs](https://github.com/sentry/nextjs) (client)                                          | 38.96 KB  |
| [@&#8203;sentry/sveltekit](https://github.com/sentry/sveltekit) (client)                                       | 36.39 KB  |
| [@&#8203;sentry/node](https://github.com/sentry/node)                                                     | 162.87 KB |
| [@&#8203;sentry/node](https://github.com/sentry/node) - without tracing                                   | 99.18 KB  |
| [@&#8203;sentry/aws-serverless](https://github.com/sentry/aws-serverless)                                           | 126.69 KB |

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMzguMiIsInVwZGF0ZWRJblZlciI6IjM5LjEzOC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.tristess.app/alexandresoro/ouca-web/pulls/63
Reviewed-by: Alexandre Soro <[email protected]>
Co-authored-by: renovate <[email protected]>
Co-committed-by: renovate <[email protected]>
alexandresoro pushed a commit to alexandresoro/ouca-backend that referenced this pull request Jan 29, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@sentry/node](https://github.com/getsentry/sentry-javascript/tree/master/packages/node) ([source](https://github.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.51.0` -> `8.52.0`](https://renovatebot.com/diffs/npm/@sentry%2fnode/8.51.0/8.52.0) |

---

### Release Notes

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/node)</summary>

### [`v8.52.0`](https://github.com/getsentry/sentry-javascript/releases/tag/8.52.0)

[Compare Source](getsentry/sentry-javascript@8.51.0...8.52.0)

##### Important Changes

-   **feat(solidstart): Add `withSentry` wrapper for SolidStart config ([#&#8203;15135](getsentry/sentry-javascript#15135

To enable the SolidStart SDK, wrap your SolidStart Config with `withSentry`. The `sentrySolidStartVite` plugin is now automatically
added by `withSentry` and you can pass the Sentry build-time options like this:

```js
import { defineConfig } from '@&#8203;solidjs/start/config';
import { withSentry } from '@&#8203;sentry/solidstart';

export default defineConfig(
  withSentry(
    {
      /* Your SolidStart config options... */
    },
    {
      // Options for setting up source maps
      org: process.env.SENTRY_ORG,
      project: process.env.SENTRY_PROJECT,
      authToken: process.env.SENTRY_AUTH_TOKEN,
    },
  ),
);
```

With the `withSentry` wrapper, the Sentry server config should not be added to the `public` directory anymore.
Add the Sentry server config in `src/instrument.server.ts`. Then, the server config will be placed inside the server build output as `instrument.server.mjs`.

Now, there are two options to set up the SDK:

1.  **(recommended)** Provide an `--import` CLI flag to the start command like this (path depends on your server setup):
    `node --import ./.output/server/instrument.server.mjs .output/server/index.mjs`
2.  Add `autoInjectServerSentry: 'top-level-import'` and the Sentry config will be imported at the top of the server entry (comes with tracing limitations)
    ```js
    withSentry(
      {
        /* Your SolidStart config options... */
      },
      {
        // Optional: Install Sentry with a top-level import
        autoInjectServerSentry: 'top-level-import',
      },
    );
    ```

##### Other Changes

-   feat(v8/core): Add client outcomes for breadcrumbs buffer ([#&#8203;15149](getsentry/sentry-javascript#15149))
-   feat(v8/core): Improve error formatting in ZodErrors integration ([#&#8203;15155](getsentry/sentry-javascript#15155))
-   fix(v8/bun): Ensure instrumentation of `Bun.serve` survives a server reload ([#&#8203;15157](getsentry/sentry-javascript#15157))
-   fix(v8/core): Pass `module` into `loadModule` ([#&#8203;15139](getsentry/sentry-javascript#15139)) ([#&#8203;15166](getsentry/sentry-javascript#15166))

Work in this release was contributed by [@&#8203;jahands](https://github.com/jahands), [@&#8203;jrandolf](https://github.com/jrandolf), and [@&#8203;nathankleyn](https://github.com/nathankleyn). Thank you for your contributions!

#### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://github.com/sentry/browser)                                                  | 23.32 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) - with treeshaking flags                         | 23.2 KB   |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing)                                  | 35.88 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay)                          | 73.23 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 66.7 KB   |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 77.54 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 89.47 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. Feedback)                                 | 39.53 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. sendFeedback)                             | 27.94 KB  |
| [@&#8203;sentry/browser](https://github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.73 KB  |
| [@&#8203;sentry/react](https://github.com/sentry/react)                                                    | 26 KB     |
| [@&#8203;sentry/react](https://github.com/sentry/react) (incl. Tracing)                                    | 38.71 KB  |
| [@&#8203;sentry/vue](https://github.com/sentry/vue)                                                      | 27.6 KB   |
| [@&#8203;sentry/vue](https://github.com/sentry/vue) (incl. Tracing)                                      | 37.74 KB  |
| [@&#8203;sentry/svelte](https://github.com/sentry/svelte)                                                   | 23.49 KB  |
| CDN Bundle                                                       | 24.52 KB  |
| CDN Bundle (incl. Tracing)                                       | 37.59 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 72.87 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 78.24 KB  |
| CDN Bundle - uncompressed                                        | 72.01 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 111.51 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 225.76 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 238.86 KB |
| [@&#8203;sentry/nextjs](https://github.com/sentry/nextjs) (client)                                          | 38.96 KB  |
| [@&#8203;sentry/sveltekit](https://github.com/sentry/sveltekit) (client)                                       | 36.39 KB  |
| [@&#8203;sentry/node](https://github.com/sentry/node)                                                     | 162.87 KB |
| [@&#8203;sentry/node](https://github.com/sentry/node) - without tracing                                   | 99.18 KB  |
| [@&#8203;sentry/aws-serverless](https://github.com/sentry/aws-serverless)                                           | 126.69 KB |

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMzguMiIsInVwZGF0ZWRJblZlciI6IjM5LjEzOC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.tristess.app/alexandresoro/ouca-backend/pulls/509
Reviewed-by: Alexandre Soro <[email protected]>
Co-authored-by: renovate <[email protected]>
Co-committed-by: renovate <[email protected]>
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.

4 participants