@sentry/nuxt 11.0.0-alpha.2 → 11.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +5 -0
  2. package/build/cjs/common/devMode.js +12 -0
  3. package/build/cjs/common/devMode.js.map +1 -0
  4. package/build/cjs/module.js +9 -5
  5. package/build/cjs/module.js.map +1 -1
  6. package/build/cjs/server/sdk.js +2 -2
  7. package/build/cjs/server/sdk.js.map +1 -1
  8. package/build/cjs/vite/addServerConfig.js +33 -4
  9. package/build/cjs/vite/addServerConfig.js.map +1 -1
  10. package/build/cjs/vite/orchestrion.js +3 -0
  11. package/build/cjs/vite/orchestrion.js.map +1 -1
  12. package/build/cjs/vite/utils.js +7 -11
  13. package/build/cjs/vite/utils.js.map +1 -1
  14. package/build/esm/common/devMode.js +9 -0
  15. package/build/esm/common/devMode.js.map +1 -0
  16. package/build/esm/module.js +11 -7
  17. package/build/esm/module.js.map +1 -1
  18. package/build/esm/package.json +1 -1
  19. package/build/esm/server/sdk.js +5 -3
  20. package/build/esm/server/sdk.js.map +1 -1
  21. package/build/esm/vite/addServerConfig.js +31 -4
  22. package/build/esm/vite/addServerConfig.js.map +1 -1
  23. package/build/esm/vite/orchestrion.js +3 -0
  24. package/build/esm/vite/orchestrion.js.map +1 -1
  25. package/build/esm/vite/utils.js +6 -12
  26. package/build/esm/vite/utils.js.map +1 -1
  27. package/build/module/common/devMode.d.ts +4 -0
  28. package/build/module/module.json +1 -1
  29. package/build/module/module.mjs +46 -18
  30. package/build/module/runtime/hooks/captureErrorHook.js +2 -1
  31. package/build/module/runtime/hooks/wrapMiddlewareHandler.js +2 -1
  32. package/build/module/runtime/utils/instrumentDatabase.js +26 -6
  33. package/build/module/runtime/utils/instrumentStorage.js +10 -4
  34. package/build/module/runtime/utils/patchEventHandler.js +2 -1
  35. package/build/module/vite/addServerConfig.d.ts +9 -0
  36. package/build/module/vite/utils.d.ts +3 -1
  37. package/build/types/common/devMode.d.ts +5 -0
  38. package/build/types/common/devMode.d.ts.map +1 -0
  39. package/build/types/index.types.d.ts +0 -1
  40. package/build/types/index.types.d.ts.map +1 -1
  41. package/build/types/module.d.ts.map +1 -1
  42. package/build/types/runtime/hooks/captureErrorHook.d.ts.map +1 -1
  43. package/build/types/runtime/utils/instrumentDatabase.d.ts.map +1 -1
  44. package/build/types/runtime/utils/instrumentStorage.d.ts.map +1 -1
  45. package/build/types/runtime/utils/patchEventHandler.d.ts.map +1 -1
  46. package/build/types/server/sdk.d.ts.map +1 -1
  47. package/build/types/vite/addServerConfig.d.ts +9 -0
  48. package/build/types/vite/addServerConfig.d.ts.map +1 -1
  49. package/build/types/vite/orchestrion.d.ts.map +1 -1
  50. package/build/types/vite/utils.d.ts +3 -1
  51. package/build/types/vite/utils.d.ts.map +1 -1
  52. package/package.json +9 -8
@@ -1,4 +1,7 @@
1
- import { debug, startSpan, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SPAN_STATUS_ERROR, captureException, flushIfServerless, addBreadcrumb } from '@sentry/core';
1
+ import { DB_SYSTEM_NAME, DB_NAMESPACE, SENTRY_OP, DB_QUERY_SUMMARY, DB_QUERY_TEXT } from '@sentry/conventions/attributes';
2
+ import { DB_QUERY } from '@sentry/conventions/op';
3
+ import { debug, startSpan, getClient, hasSpanStreamingEnabled, DB_SPAN_NAME_FALLBACK, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SPAN_STATUS_ERROR, captureException, addBreadcrumb } from '@sentry/core';
4
+ import { _INTERNAL_getSqlQuerySummary, _INTERNAL_sanitizeSqlQuery, flushIfServerless } from '@sentry/core/server';
2
5
  import { getDatabaseSpanData } from './database-span-data.js';
3
6
 
4
7
  const patchedStatement = /* @__PURE__ */ new WeakSet();
@@ -27,7 +30,7 @@ function instrumentDatabase(db, config) {
27
30
  return;
28
31
  }
29
32
  const metadata = {
30
- "db.system.name": config?.connector ?? db.dialect,
33
+ [DB_SYSTEM_NAME]: config?.connector ?? db.dialect,
31
34
  ...getDatabaseSpanData(config)
32
35
  };
33
36
  db.prepare = new Proxy(db.prepare, {
@@ -38,7 +41,8 @@ function instrumentDatabase(db, config) {
38
41
  });
39
42
  db.sql = new Proxy(db.sql, {
40
43
  apply(target, thisArg, args) {
41
- const query = args[0]?.[0] ?? "";
44
+ const [strings, ...values] = args;
45
+ const query = strings ? buildSqlTemplateQuery(strings, values) : "";
42
46
  const opts = createStartSpanOptions(query, metadata);
43
47
  return startSpan(
44
48
  opts,
@@ -56,6 +60,18 @@ function instrumentDatabase(db, config) {
56
60
  });
57
61
  db.__sentry_instrumented__ = true;
58
62
  }
63
+ function buildSqlTemplateQuery(strings, values) {
64
+ let query = strings[0] || "";
65
+ for (let i = 1; i < strings.length; i++) {
66
+ const chunk = strings[i] ?? "";
67
+ if (query.endsWith("{") && chunk.startsWith("}")) {
68
+ query = `${query.slice(0, -1)}${values[i - 1]}${chunk.slice(1)}`;
69
+ } else {
70
+ query += `?${chunk}`;
71
+ }
72
+ }
73
+ return query.trim();
74
+ }
59
75
  function instrumentPreparedStatement(statement, query, data) {
60
76
  statement.bind = new Proxy(statement.bind, {
61
77
  apply(target, thisArg, args) {
@@ -127,12 +143,16 @@ function createBreadcrumb(query) {
127
143
  });
128
144
  }
129
145
  function createStartSpanOptions(query, data) {
146
+ const querySummary = query ? _INTERNAL_getSqlQuerySummary(_INTERNAL_sanitizeSqlQuery(query)) : void 0;
147
+ const client = getClient();
148
+ const name = client && hasSpanStreamingEnabled(client) ? querySummary || data[DB_NAMESPACE] || DB_SPAN_NAME_FALLBACK : query;
130
149
  return {
131
- name: query,
150
+ name,
132
151
  attributes: {
133
- "db.query.text": query,
152
+ [DB_QUERY_TEXT]: query,
153
+ [DB_QUERY_SUMMARY]: querySummary,
134
154
  [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: SENTRY_ORIGIN,
135
- [SEMANTIC_ATTRIBUTE_SENTRY_OP]: "db.query",
155
+ [SENTRY_OP]: DB_QUERY,
136
156
  ...data
137
157
  }
138
158
  };
@@ -1,6 +1,7 @@
1
- import { SENTRY_OP } from '@sentry/conventions/attributes';
1
+ import { CACHE_OPERATION, SENTRY_OP } from '@sentry/conventions/attributes';
2
2
  import { CACHE_REMOVE, CACHE_PUT, CACHE_GET } from '@sentry/conventions/op';
3
- import { debug, startSpan, SPAN_STATUS_OK, SEMANTIC_ATTRIBUTE_CACHE_HIT, SPAN_STATUS_ERROR, captureException, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, flushIfServerless, SEMANTIC_ATTRIBUTE_CACHE_KEY, isObjectLike } from '@sentry/core';
3
+ import { debug, startSpan, SPAN_STATUS_OK, SEMANTIC_ATTRIBUTE_CACHE_HIT, SPAN_STATUS_ERROR, captureException, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, CACHE_OPERATION_NAMES, SEMANTIC_ATTRIBUTE_CACHE_KEY, getClient, hasSpanStreamingEnabled, isObjectLike } from '@sentry/core';
4
+ import { flushIfServerless } from '@sentry/core/server';
4
5
 
5
6
  const CACHE_HIT_METHODS = /* @__PURE__ */ new Set(["hasItem", "getItem", "getItemRaw", "getItems"]);
6
7
  const METHOD_SPAN_OPS = {
@@ -102,16 +103,21 @@ function wrapStorageMount(storage) {
102
103
  }
103
104
  function createSpanStartOptions(methodName, driver, mountBase, args) {
104
105
  const keys = getCacheKeys(args?.[0], mountBase);
106
+ const cacheOperation = METHOD_SPAN_OPS[methodName];
107
+ const cacheOperationName = CACHE_OPERATION_NAMES[cacheOperation];
105
108
  const attributes = {
106
- [SENTRY_OP]: METHOD_SPAN_OPS[methodName],
109
+ [SENTRY_OP]: cacheOperation,
110
+ [CACHE_OPERATION]: cacheOperationName,
107
111
  [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.cache.nuxt",
108
112
  [SEMANTIC_ATTRIBUTE_CACHE_KEY]: keys.length > 1 ? keys : keys[0],
109
113
  "db.operation.name": methodName,
110
114
  "db.collection.name": mountBase.replace(/:$/, ""),
111
115
  "db.system.name": driver.name ?? "unknown"
112
116
  };
117
+ const client = getClient();
113
118
  return {
114
- name: keys.join(", "),
119
+ // With span streaming, span names have to be low cardinality, so we can't fall back to the cache keys.
120
+ name: client && hasSpanStreamingEnabled(client) ? cacheOperation : keys.join(", "),
115
121
  attributes
116
122
  };
117
123
  }
@@ -1,4 +1,5 @@
1
- import { getIsolationScope, getDefaultIsolationScope, debug, withIsolationScope, flushIfServerless } from '@sentry/core';
1
+ import { getIsolationScope, getDefaultIsolationScope, debug, withIsolationScope } from '@sentry/core';
2
+ import { flushIfServerless } from '@sentry/core/server';
2
3
 
3
4
  function patchEventHandler(handler) {
4
5
  return new Proxy(handler, {
@@ -1,5 +1,14 @@
1
+ import type { Nuxt } from '@nuxt/schema';
1
2
  import type { Nitro } from 'nitropack';
2
3
  import type { SentryNuxtModuleOptions } from '../common/types';
4
+ /** Path of the generated dev-mode config file, relative to the Nuxt build directory. */
5
+ export declare const DEV_SERVER_CONFIG_PATH = "dev/sentry.server.config.mjs";
6
+ /**
7
+ * Writes the file users preload with `node --import` to enable Sentry in `nuxt dev` (for Nuxt 5 with Nitro 3).
8
+ *
9
+ * In dev-mode, Nitro v3 has no server bundle to emit into, so Node loads the server config file as it is written.
10
+ */
11
+ export declare function addDevServerConfigFile(nuxt: Nuxt, serverConfigFile: string): void;
3
12
  /**
4
13
  * Adds the `sentry.server.config.ts` file as `sentry.server.config.mjs` to the `.output` directory to be able to reference this file in the node --import option.
5
14
  *
@@ -7,9 +7,11 @@ import type { SentryNuxtModuleOptions } from '../common/types';
7
7
  export declare function getNitroMajorVersion(): Promise<number>;
8
8
  /**
9
9
  * Find the default SDK init file for the given type (client or server).
10
- * The sentry.server.config file is prioritized over the instrument.server file.
11
10
  */
12
11
  export declare function findDefaultSdkInitFile(type: 'server' | 'client', nuxt?: Nuxt, options?: SentryNuxtModuleOptions): Promise<string | undefined>;
12
+ export declare const SERVER_CONFIG_FILENAME = "sentry.server.config";
13
+ /** Builds the value for `node --import`. Node reads it as a URL, so it needs forward slashes on Windows too. */
14
+ export declare function toImportSpecifier(fromDir: string, filePath: string): string;
13
15
  /**
14
16
  * Extracts the filename from a node command with a path.
15
17
  */
@@ -0,0 +1,5 @@
1
+ /** Global flag set by the generated `<buildDir>/dev/sentry.server.config.mjs`. */
2
+ export declare const NUXT_DEV_MODE_FLAG = "__SENTRY_NUXT_DEV_MODE__";
3
+ /** Whether the SDK was preloaded by the generated `nuxt dev` server config file. */
4
+ export declare function isNuxtDevRuntime(): boolean;
5
+ //# sourceMappingURL=devMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devMode.d.ts","sourceRoot":"","sources":["../../../src/common/devMode.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAE7D,oFAAoF;AACpF,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
@@ -7,7 +7,6 @@ export * from './index.server';
7
7
  export declare function init(options: Options | SentryNuxtClientOptions | SentryNuxtServerOptions): Client | undefined;
8
8
  export declare const linkedErrorsIntegration: typeof clientSdk.linkedErrorsIntegration;
9
9
  export declare const contextLinesIntegration: typeof clientSdk.contextLinesIntegration;
10
- export declare const spanStreamingIntegration: typeof clientSdk.spanStreamingIntegration;
11
10
  export declare const startSpan: typeof clientSdk.startSpan;
12
11
  export declare const startSpanManual: typeof clientSdk.startSpanManual;
13
12
  export declare const startInactiveSpan: typeof clientSdk.startInactiveSpan;
@@ -1 +1 @@
1
- {"version":3,"file":"index.types.d.ts","sourceRoot":"","sources":["../../src/index.types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAIjD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAG/B,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAAC;AACvH,MAAM,CAAC,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,SAAS,CAAC,uBAAuB,CAAC;AACvF,MAAM,CAAC,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,SAAS,CAAC,uBAAuB,CAAC;AACvF,MAAM,CAAC,OAAO,CAAC,MAAM,wBAAwB,EAAE,OAAO,SAAS,CAAC,wBAAwB,CAAC;AACzF,MAAM,CAAC,OAAO,CAAC,MAAM,SAAS,EAAE,OAAO,SAAS,CAAC,SAAS,CAAC;AAC3D,MAAM,CAAC,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,SAAS,CAAC,eAAe,CAAC;AACvE,MAAM,CAAC,OAAO,CAAC,MAAM,iBAAiB,EAAE,OAAO,SAAS,CAAC,iBAAiB,CAAC;AAC3E,MAAM,CAAC,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,SAAS,CAAC,cAAc,CAAC;AAErE,MAAM,CAAC,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,SAAS,CAAC,gBAAgB,CAAC;AACzE,MAAM,CAAC,OAAO,CAAC,MAAM,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,WAAW,EAAE,CAAC;AACjF,MAAM,CAAC,OAAO,CAAC,MAAM,kBAAkB,EAAE,WAAW,CAAC;AAErD,MAAM,CAAC,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,SAAS,CAAC,MAAM,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AAE/E,MAAM,CAAC,OAAO,CAAC,MAAM,qBAAqB,EAAE,OAAO,SAAS,CAAC,qBAAqB,CAAC;AACnF,MAAM,CAAC,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,SAAS,CAAC,uBAAuB,CAAC;AACvF,MAAM,CAAC,OAAO,CAAC,MAAM,gCAAgC,EAAE,OAAO,SAAS,CAAC,gCAAgC,CAAC;AACzG,MAAM,CAAC,OAAO,CAAC,MAAM,sBAAsB,EAAE,OAAO,SAAS,CAAC,sBAAsB,CAAC;AACrF,MAAM,CAAC,OAAO,CAAC,MAAM,0BAA0B,EAAE,OAAO,SAAS,CAAC,0BAA0B,CAAC;AAC7F,MAAM,CAAC,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,SAAS,CAAC,kBAAkB,CAAC;AAC7E,MAAM,CAAC,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,SAAS,CAAC,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.types.d.ts","sourceRoot":"","sources":["../../src/index.types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAIjD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAG/B,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAAC;AACvH,MAAM,CAAC,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,SAAS,CAAC,uBAAuB,CAAC;AACvF,MAAM,CAAC,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,SAAS,CAAC,uBAAuB,CAAC;AACvF,MAAM,CAAC,OAAO,CAAC,MAAM,SAAS,EAAE,OAAO,SAAS,CAAC,SAAS,CAAC;AAC3D,MAAM,CAAC,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,SAAS,CAAC,eAAe,CAAC;AACvE,MAAM,CAAC,OAAO,CAAC,MAAM,iBAAiB,EAAE,OAAO,SAAS,CAAC,iBAAiB,CAAC;AAC3E,MAAM,CAAC,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,SAAS,CAAC,cAAc,CAAC;AAErE,MAAM,CAAC,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,SAAS,CAAC,gBAAgB,CAAC;AACzE,MAAM,CAAC,OAAO,CAAC,MAAM,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,WAAW,EAAE,CAAC;AACjF,MAAM,CAAC,OAAO,CAAC,MAAM,kBAAkB,EAAE,WAAW,CAAC;AAErD,MAAM,CAAC,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,SAAS,CAAC,MAAM,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC;AAE/E,MAAM,CAAC,OAAO,CAAC,MAAM,qBAAqB,EAAE,OAAO,SAAS,CAAC,qBAAqB,CAAC;AACnF,MAAM,CAAC,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,SAAS,CAAC,uBAAuB,CAAC;AACvF,MAAM,CAAC,OAAO,CAAC,MAAM,gCAAgC,EAAE,OAAO,SAAS,CAAC,gCAAgC,CAAC;AACzG,MAAM,CAAC,OAAO,CAAC,MAAM,sBAAsB,EAAE,OAAO,SAAS,CAAC,sBAAsB,CAAC;AACrF,MAAM,CAAC,OAAO,CAAC,MAAM,0BAA0B,EAAE,OAAO,SAAS,CAAC,0BAA0B,CAAC;AAC7F,MAAM,CAAC,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,SAAS,CAAC,kBAAkB,CAAC;AAC7E,MAAM,CAAC,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,SAAS,CAAC,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAS9D,MAAM,MAAM,aAAa,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAoB9D,MAAM,MAAM,aAAa,GAAG,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"captureErrorHook.d.ts","sourceRoot":"","sources":["../../../../src/runtime/hooks/captureErrorHook.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG5D;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD5G"}
1
+ {"version":3,"file":"captureErrorHook.d.ts","sourceRoot":"","sources":["../../../../src/runtime/hooks/captureErrorHook.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG5D;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD5G"}
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentDatabase.d.ts","sourceRoot":"","sources":["../../../../src/runtime/utils/instrumentDatabase.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,KAAK,wBAAwB,EAA8C,MAAM,sBAAsB,CAAC;AAgBjH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,EACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GACvD,IAAI,CAqBN"}
1
+ {"version":3,"file":"instrumentDatabase.d.ts","sourceRoot":"","sources":["../../../../src/runtime/utils/instrumentDatabase.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,KAAK,wBAAwB,EAA8C,MAAM,sBAAsB,CAAC;AAiBjH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,EACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GACvD,IAAI,CAqBN"}
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentStorage.d.ts","sourceRoot":"","sources":["../../../../src/runtime/utils/instrumentStorage.ts"],"names":[],"mappings":"AA4EA;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B/G"}
1
+ {"version":3,"file":"instrumentStorage.d.ts","sourceRoot":"","sources":["../../../../src/runtime/utils/instrumentStorage.ts"],"names":[],"mappings":"AA+EA;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B/G"}
@@ -1 +1 @@
1
- {"version":3,"file":"patchEventHandler.d.ts","sourceRoot":"","sources":["../../../../src/runtime/utils/patchEventHandler.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,SAAS,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,cAAc,CAqB1G"}
1
+ {"version":3,"file":"patchEventHandler.d.ts","sourceRoot":"","sources":["../../../../src/runtime/utils/patchEventHandler.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,SAAS,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,cAAc,CAqB1G"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/server/sdk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAS,cAAc,EAAE,MAAM,cAAc,CAAC;AAIlE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAuBzE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CA0B7F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CAY3F"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/server/sdk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAS,cAAc,EAAE,MAAM,cAAc,CAAC;AAKlE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAsBzE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CA0B7F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,CAY3F"}
@@ -1,5 +1,14 @@
1
+ import type { Nuxt } from '@nuxt/schema';
1
2
  import type { Nitro } from 'nitropack';
2
3
  import type { SentryNuxtModuleOptions } from '../common/types';
4
+ /** Path of the generated dev-mode config file, relative to the Nuxt build directory. */
5
+ export declare const DEV_SERVER_CONFIG_PATH = "dev/sentry.server.config.mjs";
6
+ /**
7
+ * Writes the file users preload with `node --import` to enable Sentry in `nuxt dev` (for Nuxt 5 with Nitro 3).
8
+ *
9
+ * In dev-mode, Nitro v3 has no server bundle to emit into, so Node loads the server config file as it is written.
10
+ */
11
+ export declare function addDevServerConfigFile(nuxt: Nuxt, serverConfigFile: string): void;
3
12
  /**
4
13
  * Adds the `sentry.server.config.ts` file as `sentry.server.config.mjs` to the `.output` directory to be able to reference this file in the node --import option.
5
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"addServerConfig.d.ts","sourceRoot":"","sources":["../../../src/vite/addServerConfig.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAc/D;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,uBAAuB,EACtC,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAWN;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CA0C7F;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,IAAI,CAAC,uBAAuB,EAAE,yCAAyC,CAAC,GACrF,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,yCAAyC,CAAC,CAAC,GACnF,IAAI,CAkBN"}
1
+ {"version":3,"file":"addServerConfig.d.ts","sourceRoot":"","sources":["../../../src/vite/addServerConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAc/D,wFAAwF;AACxF,eAAO,MAAM,sBAAsB,iCAAsC,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CA4BjF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,uBAAuB,EACtC,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAWN;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CA0C7F;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,IAAI,CAAC,uBAAuB,EAAE,yCAAyC,CAAC,GACrF,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,yCAAyC,CAAC,CAAC,GACnF,IAAI,CAkBN"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrion.d.ts","sourceRoot":"","sources":["../../../src/vite/orchestrion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AASzC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,wBAAwB,CAAC,EAAE,OAAO,GAAG,IAAI,CAkC/G"}
1
+ {"version":3,"file":"orchestrion.d.ts","sourceRoot":"","sources":["../../../src/vite/orchestrion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AASzC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,wBAAwB,CAAC,EAAE,OAAO,GAAG,IAAI,CAwC/G"}
@@ -7,9 +7,11 @@ import type { SentryNuxtModuleOptions } from '../common/types';
7
7
  export declare function getNitroMajorVersion(): Promise<number>;
8
8
  /**
9
9
  * Find the default SDK init file for the given type (client or server).
10
- * The sentry.server.config file is prioritized over the instrument.server file.
11
10
  */
12
11
  export declare function findDefaultSdkInitFile(type: 'server' | 'client', nuxt?: Nuxt, options?: SentryNuxtModuleOptions): Promise<string | undefined>;
12
+ export declare const SERVER_CONFIG_FILENAME = "sentry.server.config";
13
+ /** Builds the value for `node --import`. Node reads it as a URL, so it needs forward slashes on Windows too. */
14
+ export declare function toImportSpecifier(fromDir: string, filePath: string): string;
13
15
  /**
14
16
  * Extracts the filename from a node command with a path.
15
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/vite/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAY5D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,QAAQ,GAAG,QAAQ,EACzB,IAAI,CAAC,EAAE,IAAI,EACX,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqC7B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIlF;AAED,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,wBAAwB,qCAAqC,CAAC;AAC3E,eAAO,MAAM,2BAA2B,wCAAwC,CAAC;AACjF,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA2B5G;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EACjD,0BAA0B,EAAE,MAAM,EAAE,EACpC,KAAK,CAAC,EAAE,OAAO,GACd,MAAM,CAmCR;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAsBxF;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,UAAQ,GAAG,IAAI,CAY9E"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/vite/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAY5D;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,QAAQ,GAAG,QAAQ,EACzB,IAAI,CAAC,EAAE,IAAI,EACX,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA0B7B;AAED,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAE7D,gHAAgH;AAChH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIlF;AAED,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,wBAAwB,qCAAqC,CAAC;AAC3E,eAAO,MAAM,2BAA2B,wCAAwC,CAAC;AACjF,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA2B5G;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EACjD,0BAA0B,EAAE,MAAM,EAAE,EACpC,KAAK,CAAC,EAAE,OAAO,GACd,MAAM,CAmCR;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAsBxF;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,UAAQ,GAAG,IAAI,CAY9E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/nuxt",
3
- "version": "11.0.0-alpha.2",
3
+ "version": "11.0.0-beta.0",
4
4
  "description": "Official Sentry SDK for Nuxt",
5
5
  "repository": "git://github.com/getsentry/sentry-javascript.git",
6
6
  "homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/nuxt",
@@ -54,14 +54,15 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "@nuxt/kit": "^4.5.2",
57
- "@sentry/browser": "11.0.0-alpha.2",
58
- "@sentry/cloudflare": "11.0.0-alpha.2",
57
+ "@sentry/browser": "11.0.0-beta.0",
58
+ "@sentry/cloudflare": "11.0.0-beta.0",
59
59
  "@sentry/conventions": "^0.20.0",
60
- "@sentry/core": "11.0.0-alpha.2",
61
- "@sentry/node": "11.0.0-alpha.2",
62
- "@sentry/bundler-plugins": "11.0.0-alpha.2",
63
- "@sentry/server-utils": "11.0.0-alpha.2",
64
- "@sentry/vue": "11.0.0-alpha.2",
60
+ "@sentry/core": "11.0.0-beta.0",
61
+ "@sentry/node": "11.0.0-beta.0",
62
+ "@sentry/bundler-plugins": "11.0.0-beta.0",
63
+ "@sentry/server-runtime-injection": "11.0.0-beta.0",
64
+ "@sentry/server-utils": "11.0.0-beta.0",
65
+ "@sentry/vue": "11.0.0-beta.0",
65
66
  "local-pkg": "^1.1.2"
66
67
  },
67
68
  "devDependencies": {