diff --git a/.craft.yml b/.craft.yml index 331d065a2ff9..3c1482ee4041 100644 --- a/.craft.yml +++ b/.craft.yml @@ -129,6 +129,9 @@ targets: - name: npm id: '@sentry/react-router' includeNames: /^sentry-react-router-\d.*\.tgz$/ + - name: npm + id: '@sentry/nitro' + includeNames: /^sentry-nitro-\d.*\.tgz$/ ## 7. Other Packages ## 7.1 diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index c09984de5c3b..37d94a0cb6ff 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -50,6 +50,7 @@ body: - '@sentry/google-cloud-serverless' - '@sentry/nestjs' - '@sentry/nextjs' + - '@sentry/nitro' - '@sentry/nuxt' - '@sentry/react' - '@sentry/react-router' diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index 252bbc831239..785e91975b9d 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -114,6 +114,9 @@ jobs: - test-application: 'nestjs-11' build-command: 'test:build-latest' label: 'nestjs-11 (latest)' + - test-application: 'nitro-3' + build-command: 'test:build-canary' + label: 'nitro-3 (canary)' steps: - name: Check out current commit diff --git a/.github/workflows/issue-package-label.yml b/.github/workflows/issue-package-label.yml index ef0f0344b8fc..09efd7b02be5 100644 --- a/.github/workflows/issue-package-label.yml +++ b/.github/workflows/issue-package-label.yml @@ -65,6 +65,9 @@ jobs: "@sentry.nestjs": { "label": "Nest.js" }, + "@sentry.nitro": { + "label": "Nitro" + }, "@sentry.nextjs": { "label": "Next.js" }, diff --git a/README.md b/README.md index 5a3453dbe004..6db9eed46b6d 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,7 @@ package. Please refer to the README and instructions of those SDKs for more deta - [`@sentry/gatsby`](https://github.com/getsentry/sentry-javascript/tree/master/packages/gatsby): SDK for Gatsby - [`@sentry/nestjs`](https://github.com/getsentry/sentry-javascript/tree/master/packages/nestjs): SDK for NestJS - [`@sentry/nextjs`](https://github.com/getsentry/sentry-javascript/tree/master/packages/nextjs): SDK for Next.js +- [`@sentry/nitro`](https://github.com/getsentry/sentry-javascript/tree/master/packages/nitro): SDK for Nitro - [`@sentry/remix`](https://github.com/getsentry/sentry-javascript/tree/master/packages/remix): SDK for Remix - [`@sentry/tanstackstart-react`](https://github.com/getsentry/sentry-javascript/tree/master/packages/tanstackstart-react): SDK for TanStack Start React - [`@sentry/aws-serverless`](https://github.com/getsentry/sentry-javascript/tree/master/packages/aws-serverless): SDK diff --git a/packages/nitro/README.md b/packages/nitro/README.md index 972f179daa7b..6589f56e03a1 100644 --- a/packages/nitro/README.md +++ b/packages/nitro/README.md @@ -89,13 +89,37 @@ export default defineConfig({ ### 3. Sentry Config Setup -TODO: UPDATE THIS +Create an `instrument.mjs` file in your project root to initialize the Sentry SDK: + +```javascript +import * as Sentry from '@sentry/nitro'; + +Sentry.init({ + dsn: '__YOUR_DSN__', + tracesSampleRate: 1.0, +}); +``` + +Then use `NODE_OPTIONS` to load the instrumentation before your app code: + +```bash +NODE_OPTIONS='--import ./instrument.mjs' npx nitro dev +``` + +This works with any Nitro command (`nitro dev`, `nitro preview`, or a production start script). ## Uploading Source Maps -To upload source maps... +The `withSentryConfig` function automatically configures source map uploading when the `authToken`, `org`, and `project` +options are provided: - +```javascript +export default withSentryConfig(config, { + org: 'your-sentry-org', + project: 'your-sentry-project', + authToken: process.env.SENTRY_AUTH_TOKEN, +}); +``` ## Troubleshoot