@sentry/nuxt 10.45.0 → 10.47.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 (95) hide show
  1. package/build/cjs/module.js +46 -27
  2. package/build/cjs/module.js.map +1 -1
  3. package/build/cjs/vite/databaseConfig.js +10 -2
  4. package/build/cjs/vite/databaseConfig.js.map +1 -1
  5. package/build/cjs/vite/middlewareConfig.js +6 -1
  6. package/build/cjs/vite/middlewareConfig.js.map +1 -1
  7. package/build/cjs/vite/sentryVitePlugin.js.map +1 -1
  8. package/build/cjs/vite/storageConfig.js +6 -2
  9. package/build/cjs/vite/storageConfig.js.map +1 -1
  10. package/build/cjs/vite/utils.js +21 -2
  11. package/build/cjs/vite/utils.js.map +1 -1
  12. package/build/esm/module.js +48 -29
  13. package/build/esm/module.js.map +1 -1
  14. package/build/esm/package.json +1 -1
  15. package/build/esm/vite/databaseConfig.js +10 -2
  16. package/build/esm/vite/databaseConfig.js.map +1 -1
  17. package/build/esm/vite/middlewareConfig.js +6 -1
  18. package/build/esm/vite/middlewareConfig.js.map +1 -1
  19. package/build/esm/vite/sentryVitePlugin.js.map +1 -1
  20. package/build/esm/vite/storageConfig.js +6 -2
  21. package/build/esm/vite/storageConfig.js.map +1 -1
  22. package/build/esm/vite/utils.js +21 -3
  23. package/build/esm/vite/utils.js.map +1 -1
  24. package/build/module/module.json +1 -1
  25. package/build/module/module.mjs +68 -30
  26. package/build/module/runtime/hooks/updateRouteBeforeResponse.d.ts +3 -1
  27. package/build/module/runtime/hooks/updateRouteBeforeResponse.js +7 -2
  28. package/build/module/runtime/hooks/wrapMiddlewareHandler.js +25 -15
  29. package/build/module/runtime/plugins/database-legacy.server.d.ts +5 -0
  30. package/build/module/runtime/plugins/database-legacy.server.js +6 -0
  31. package/build/module/runtime/plugins/database.server.d.ts +1 -1
  32. package/build/module/runtime/plugins/database.server.js +3 -147
  33. package/build/module/runtime/plugins/handler-legacy.server.d.ts +2 -0
  34. package/build/module/runtime/plugins/handler-legacy.server.js +4 -0
  35. package/build/module/runtime/plugins/handler.server.d.ts +6 -0
  36. package/build/module/runtime/plugins/handler.server.js +6 -0
  37. package/build/module/runtime/plugins/route-detector-legacy.server.d.ts +2 -0
  38. package/build/module/runtime/plugins/route-detector-legacy.server.js +37 -0
  39. package/build/module/runtime/plugins/route-detector.server.js +1 -1
  40. package/build/module/runtime/plugins/sentry.server.js +6 -31
  41. package/build/module/runtime/plugins/storage-legacy.server.d.ts +5 -0
  42. package/build/module/runtime/plugins/storage-legacy.server.js +6 -0
  43. package/build/module/runtime/plugins/storage.server.d.ts +4 -2
  44. package/build/module/runtime/plugins/storage.server.js +3 -168
  45. package/build/module/runtime/plugins/update-route-name-legacy.server.d.ts +2 -0
  46. package/build/module/runtime/plugins/update-route-name-legacy.server.js +4 -0
  47. package/build/module/runtime/plugins/update-route-name.server.d.ts +4 -0
  48. package/build/module/runtime/plugins/update-route-name.server.js +4 -0
  49. package/build/module/runtime/utils/database-span-data.d.ts +16 -2
  50. package/build/module/runtime/utils/instrumentDatabase.d.ts +9 -0
  51. package/build/module/runtime/utils/instrumentDatabase.js +147 -0
  52. package/build/module/runtime/utils/instrumentStorage.d.ts +7 -0
  53. package/build/module/runtime/utils/instrumentStorage.js +169 -0
  54. package/build/module/runtime/utils/patchEventHandler.d.ts +6 -0
  55. package/build/module/runtime/utils/patchEventHandler.js +25 -0
  56. package/build/types/module.d.ts.map +1 -1
  57. package/build/types/runtime/hooks/updateRouteBeforeResponse.d.ts +3 -1
  58. package/build/types/runtime/hooks/updateRouteBeforeResponse.d.ts.map +1 -1
  59. package/build/types/runtime/hooks/wrapMiddlewareHandler.d.ts.map +1 -1
  60. package/build/types/runtime/plugins/database-legacy.server.d.ts +6 -0
  61. package/build/types/runtime/plugins/database-legacy.server.d.ts.map +1 -0
  62. package/build/types/runtime/plugins/database.server.d.ts +1 -1
  63. package/build/types/runtime/plugins/database.server.d.ts.map +1 -1
  64. package/build/types/runtime/plugins/handler-legacy.server.d.ts +3 -0
  65. package/build/types/runtime/plugins/handler-legacy.server.d.ts.map +1 -0
  66. package/build/types/runtime/plugins/handler.server.d.ts +7 -0
  67. package/build/types/runtime/plugins/handler.server.d.ts.map +1 -0
  68. package/build/types/runtime/plugins/route-detector-legacy.server.d.ts +3 -0
  69. package/build/types/runtime/plugins/route-detector-legacy.server.d.ts.map +1 -0
  70. package/build/types/runtime/plugins/sentry.server.d.ts.map +1 -1
  71. package/build/types/runtime/plugins/storage-legacy.server.d.ts +6 -0
  72. package/build/types/runtime/plugins/storage-legacy.server.d.ts.map +1 -0
  73. package/build/types/runtime/plugins/storage.server.d.ts +4 -2
  74. package/build/types/runtime/plugins/storage.server.d.ts.map +1 -1
  75. package/build/types/runtime/plugins/update-route-name-legacy.server.d.ts +3 -0
  76. package/build/types/runtime/plugins/update-route-name-legacy.server.d.ts.map +1 -0
  77. package/build/types/runtime/plugins/update-route-name.server.d.ts +5 -0
  78. package/build/types/runtime/plugins/update-route-name.server.d.ts.map +1 -0
  79. package/build/types/runtime/utils/database-span-data.d.ts +16 -2
  80. package/build/types/runtime/utils/database-span-data.d.ts.map +1 -1
  81. package/build/types/runtime/utils/instrumentDatabase.d.ts +10 -0
  82. package/build/types/runtime/utils/instrumentDatabase.d.ts.map +1 -0
  83. package/build/types/runtime/utils/instrumentStorage.d.ts +8 -0
  84. package/build/types/runtime/utils/instrumentStorage.d.ts.map +1 -0
  85. package/build/types/runtime/utils/patchEventHandler.d.ts +7 -0
  86. package/build/types/runtime/utils/patchEventHandler.d.ts.map +1 -0
  87. package/build/types/runtime/utils.d.ts.map +1 -1
  88. package/build/types/vite/databaseConfig.d.ts +1 -1
  89. package/build/types/vite/databaseConfig.d.ts.map +1 -1
  90. package/build/types/vite/sentryVitePlugin.d.ts.map +1 -1
  91. package/build/types/vite/storageConfig.d.ts +1 -1
  92. package/build/types/vite/storageConfig.d.ts.map +1 -1
  93. package/build/types/vite/utils.d.ts +6 -1
  94. package/build/types/vite/utils.d.ts.map +1 -1
  95. package/package.json +16 -8
@@ -0,0 +1,147 @@
1
+ import {
2
+ addBreadcrumb,
3
+ captureException,
4
+ debug,
5
+ flushIfServerless,
6
+ SEMANTIC_ATTRIBUTE_SENTRY_OP,
7
+ SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,
8
+ SPAN_STATUS_ERROR,
9
+ startSpan
10
+ } from "@sentry/core";
11
+ import { getDatabaseSpanData } from "./database-span-data.js";
12
+ const patchedStatement = /* @__PURE__ */ new WeakSet();
13
+ const SENTRY_ORIGIN = "auto.db.nuxt";
14
+ export function createDatabasePlugin(useDatabase, databaseConfig) {
15
+ try {
16
+ const databaseInstances = Object.keys(databaseConfig);
17
+ debug.log("[Nitro Database Plugin]: Instrumenting databases...");
18
+ for (const instance of databaseInstances) {
19
+ debug.log("[Nitro Database Plugin]: Instrumenting database instance:", instance);
20
+ const db = useDatabase(instance);
21
+ instrumentDatabase(db, databaseConfig[instance]);
22
+ }
23
+ debug.log("[Nitro Database Plugin]: Databases instrumented.");
24
+ } catch (error) {
25
+ if (error instanceof Error && /Cannot access 'instances'/.test(error.message)) {
26
+ debug.log("[Nitro Database Plugin]: Database instrumentation skipped during build time.");
27
+ return;
28
+ }
29
+ debug.error("[Nitro Database Plugin]: Failed to instrument database:", error);
30
+ }
31
+ }
32
+ function instrumentDatabase(db, config) {
33
+ if (db.__sentry_instrumented__) {
34
+ debug.log("[Nitro Database Plugin]: Database already instrumented. Skipping...");
35
+ return;
36
+ }
37
+ const metadata = {
38
+ "db.system.name": config?.connector ?? db.dialect,
39
+ ...getDatabaseSpanData(config)
40
+ };
41
+ db.prepare = new Proxy(db.prepare, {
42
+ apply(target, thisArg, args) {
43
+ const [query] = args;
44
+ return instrumentPreparedStatement(target.apply(thisArg, args), query, metadata);
45
+ }
46
+ });
47
+ db.sql = new Proxy(db.sql, {
48
+ apply(target, thisArg, args) {
49
+ const query = args[0]?.[0] ?? "";
50
+ const opts = createStartSpanOptions(query, metadata);
51
+ return startSpan(
52
+ opts,
53
+ handleSpanStart(() => target.apply(thisArg, args))
54
+ );
55
+ }
56
+ });
57
+ db.exec = new Proxy(db.exec, {
58
+ apply(target, thisArg, args) {
59
+ return startSpan(
60
+ createStartSpanOptions(args[0], metadata),
61
+ handleSpanStart(() => target.apply(thisArg, args), { query: args[0] })
62
+ );
63
+ }
64
+ });
65
+ db.__sentry_instrumented__ = true;
66
+ }
67
+ function instrumentPreparedStatement(statement, query, data) {
68
+ statement.bind = new Proxy(statement.bind, {
69
+ apply(target, thisArg, args) {
70
+ return instrumentPreparedStatementQueries(target.apply(thisArg, args), query, data);
71
+ }
72
+ });
73
+ return instrumentPreparedStatementQueries(statement, query, data);
74
+ }
75
+ function instrumentPreparedStatementQueries(statement, query, data) {
76
+ if (patchedStatement.has(statement)) {
77
+ return statement;
78
+ }
79
+ statement.get = new Proxy(statement.get, {
80
+ apply(target, thisArg, args) {
81
+ return startSpan(
82
+ createStartSpanOptions(query, data),
83
+ handleSpanStart(() => target.apply(thisArg, args), { query })
84
+ );
85
+ }
86
+ });
87
+ statement.run = new Proxy(statement.run, {
88
+ apply(target, thisArg, args) {
89
+ return startSpan(
90
+ createStartSpanOptions(query, data),
91
+ handleSpanStart(() => target.apply(thisArg, args), { query })
92
+ );
93
+ }
94
+ });
95
+ statement.all = new Proxy(statement.all, {
96
+ apply(target, thisArg, args) {
97
+ return startSpan(
98
+ createStartSpanOptions(query, data),
99
+ handleSpanStart(() => target.apply(thisArg, args), { query })
100
+ );
101
+ }
102
+ });
103
+ patchedStatement.add(statement);
104
+ return statement;
105
+ }
106
+ function handleSpanStart(fn, breadcrumbOpts) {
107
+ return async (span) => {
108
+ try {
109
+ const result = await fn();
110
+ if (breadcrumbOpts) {
111
+ createBreadcrumb(breadcrumbOpts.query);
112
+ }
113
+ return result;
114
+ } catch (error) {
115
+ span.setStatus({ code: SPAN_STATUS_ERROR, message: "internal_error" });
116
+ captureException(error, {
117
+ mechanism: {
118
+ handled: false,
119
+ type: SENTRY_ORIGIN
120
+ }
121
+ });
122
+ throw error;
123
+ } finally {
124
+ await flushIfServerless();
125
+ }
126
+ };
127
+ }
128
+ function createBreadcrumb(query) {
129
+ addBreadcrumb({
130
+ category: "query",
131
+ message: query,
132
+ data: {
133
+ "db.query.text": query
134
+ }
135
+ });
136
+ }
137
+ function createStartSpanOptions(query, data) {
138
+ return {
139
+ name: query,
140
+ attributes: {
141
+ "db.query.text": query,
142
+ [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: SENTRY_ORIGIN,
143
+ [SEMANTIC_ATTRIBUTE_SENTRY_OP]: "db.query",
144
+ ...data
145
+ }
146
+ };
147
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Creates the Nitro storage plugin setup by instrumenting all relevant storage drivers.
3
+ *
4
+ * The `useStorage` parameter is typed as `() => unknown` because nitropack (Nitro v2) and nitro (Nitro v3+) define `StorageValue` differently.
5
+ * Cast to `NitroStorage` is safe since all Nitro versions expose `getMounts()` at runtime.
6
+ */
7
+ export declare function createStoragePlugin(useStorage: () => unknown, userStorageMounts: string[]): Promise<void>;
@@ -0,0 +1,169 @@
1
+ import {
2
+ captureException,
3
+ debug,
4
+ flushIfServerless,
5
+ SEMANTIC_ATTRIBUTE_CACHE_HIT,
6
+ SEMANTIC_ATTRIBUTE_CACHE_KEY,
7
+ SEMANTIC_ATTRIBUTE_SENTRY_OP,
8
+ SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,
9
+ SPAN_STATUS_ERROR,
10
+ SPAN_STATUS_OK,
11
+ startSpan
12
+ } from "@sentry/core";
13
+ const CACHE_HIT_METHODS = /* @__PURE__ */ new Set(["hasItem", "getItem", "getItemRaw"]);
14
+ export async function createStoragePlugin(useStorage, userStorageMounts) {
15
+ const storage = useStorage();
16
+ const userMounts = new Set(userStorageMounts.map((m) => `${m}:`));
17
+ debug.log("[storage] Starting to instrument storage drivers...");
18
+ userMounts.add("cache:");
19
+ userMounts.add("");
20
+ const mounts = storage.getMounts();
21
+ for (const mount of mounts) {
22
+ if (!userMounts.has(mount.base)) {
23
+ continue;
24
+ }
25
+ instrumentDriver(mount.driver, mount.base);
26
+ }
27
+ storage.mount = wrapStorageMount(storage);
28
+ }
29
+ function instrumentDriver(driver, mountBase) {
30
+ if (driver.__sentry_instrumented__) {
31
+ debug.log(`[storage] Driver already instrumented: "${driver.name}". Skipping...`);
32
+ return driver;
33
+ }
34
+ debug.log(`[storage] Instrumenting driver: "${driver.name}" on mount: "${mountBase}"`);
35
+ const methodsToInstrument = [
36
+ "hasItem",
37
+ "getItem",
38
+ "getItemRaw",
39
+ "getItems",
40
+ "setItem",
41
+ "setItemRaw",
42
+ "setItems",
43
+ "removeItem",
44
+ "getKeys",
45
+ "clear"
46
+ ];
47
+ for (const methodName of methodsToInstrument) {
48
+ const original = driver[methodName];
49
+ if (typeof original !== "function") {
50
+ continue;
51
+ }
52
+ driver[methodName] = createMethodWrapper(original, methodName, driver, mountBase);
53
+ }
54
+ driver.__sentry_instrumented__ = true;
55
+ return driver;
56
+ }
57
+ function createMethodWrapper(original, methodName, driver, mountBase) {
58
+ return new Proxy(original, {
59
+ async apply(target, thisArg, args) {
60
+ const options = createSpanStartOptions(methodName, driver, mountBase, args);
61
+ debug.log(`[storage] Running method: "${methodName}" on driver: "${driver.name ?? "unknown"}"`);
62
+ return startSpan(options, async (span) => {
63
+ try {
64
+ const result = await target.apply(thisArg, args);
65
+ span.setStatus({ code: SPAN_STATUS_OK });
66
+ if (CACHE_HIT_METHODS.has(methodName)) {
67
+ span.setAttribute(SEMANTIC_ATTRIBUTE_CACHE_HIT, isCacheHit(args[0], result));
68
+ }
69
+ return result;
70
+ } catch (error) {
71
+ span.setStatus({ code: SPAN_STATUS_ERROR, message: "internal_error" });
72
+ captureException(error, {
73
+ mechanism: {
74
+ handled: false,
75
+ type: options.attributes?.[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]
76
+ }
77
+ });
78
+ throw error;
79
+ } finally {
80
+ await flushIfServerless();
81
+ }
82
+ });
83
+ }
84
+ });
85
+ }
86
+ function wrapStorageMount(storage) {
87
+ const original = storage.mount;
88
+ if (original.__sentry_instrumented__) {
89
+ return original;
90
+ }
91
+ function mountWithInstrumentation(base, driver) {
92
+ debug.log(`[storage] Instrumenting mount: "${base}"`);
93
+ const instrumentedDriver = instrumentDriver(driver, base);
94
+ return original(base, instrumentedDriver);
95
+ }
96
+ mountWithInstrumentation.__sentry_instrumented__ = true;
97
+ return mountWithInstrumentation;
98
+ }
99
+ function normalizeMethodName(methodName) {
100
+ return methodName.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
101
+ }
102
+ function isEmptyValue(value) {
103
+ return value === null || value === void 0;
104
+ }
105
+ function createSpanStartOptions(methodName, driver, mountBase, args) {
106
+ const keys = getCacheKeys(args?.[0], mountBase);
107
+ const attributes = {
108
+ [SEMANTIC_ATTRIBUTE_SENTRY_OP]: `cache.${normalizeMethodName(methodName)}`,
109
+ [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.cache.nuxt",
110
+ [SEMANTIC_ATTRIBUTE_CACHE_KEY]: keys.length > 1 ? keys : keys[0],
111
+ "db.operation.name": methodName,
112
+ "db.collection.name": mountBase.replace(/:$/, ""),
113
+ "db.system.name": driver.name ?? "unknown"
114
+ };
115
+ return {
116
+ name: keys.join(", "),
117
+ attributes
118
+ };
119
+ }
120
+ function getCacheKeys(key, prefix) {
121
+ if (Array.isArray(key)) {
122
+ return key.map((k) => normalizeKey(k, prefix));
123
+ }
124
+ return [normalizeKey(key, prefix)];
125
+ }
126
+ function normalizeKey(key, prefix) {
127
+ if (typeof key === "string") {
128
+ return `${prefix}${key}`;
129
+ }
130
+ if (typeof key === "object" && key !== null && "key" in key) {
131
+ return `${prefix}${key.key}`;
132
+ }
133
+ return `${prefix}${isEmptyValue(key) ? "" : String(key)}`;
134
+ }
135
+ const CACHED_FN_HANDLERS_RE = /^nitro:(functions|handlers):/i;
136
+ function isCacheHit(key, value) {
137
+ try {
138
+ const isEmpty = isEmptyValue(value);
139
+ if (isEmpty || typeof key !== "string" || !CACHED_FN_HANDLERS_RE.test(key)) {
140
+ return !isEmpty;
141
+ }
142
+ return validateCacheEntry(key, JSON.parse(String(value)));
143
+ } catch {
144
+ return false;
145
+ }
146
+ }
147
+ function validateCacheEntry(key, entry) {
148
+ if (isEmptyValue(entry.value)) {
149
+ return false;
150
+ }
151
+ if (Date.now() > (entry.expires || 0)) {
152
+ return false;
153
+ }
154
+ if (isResponseCacheEntry(key, entry)) {
155
+ if ((entry.value.status ?? 0) >= 400) {
156
+ return false;
157
+ }
158
+ if (entry.value.body === void 0) {
159
+ return false;
160
+ }
161
+ if (entry.value.headers?.etag === "undefined" || entry.value.headers?.["last-modified"] === "undefined") {
162
+ return false;
163
+ }
164
+ }
165
+ return true;
166
+ }
167
+ function isResponseCacheEntry(key, _) {
168
+ return key.startsWith("nitro:handlers:");
169
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Patches the H3 event handler of Nitro.
3
+ *
4
+ * Uses a TypeScript generic type to ensure the returned handler type fits different versions of Nitro.
5
+ */
6
+ export declare function patchEventHandler<H3EventHandler extends Function>(handler: H3EventHandler): H3EventHandler;
@@ -0,0 +1,25 @@
1
+ import {
2
+ debug,
3
+ flushIfServerless,
4
+ getDefaultIsolationScope,
5
+ getIsolationScope,
6
+ withIsolationScope
7
+ } from "@sentry/core";
8
+ export function patchEventHandler(handler) {
9
+ return new Proxy(handler, {
10
+ async apply(handlerTarget, handlerThisArg, handlerArgs) {
11
+ const isolationScope = getIsolationScope();
12
+ const newIsolationScope = isolationScope === getDefaultIsolationScope() ? isolationScope.clone() : isolationScope;
13
+ debug.log(
14
+ `Patched h3 event handler. ${isolationScope === newIsolationScope ? "Using existing" : "Created new"} isolation scope.`
15
+ );
16
+ return withIsolationScope(newIsolationScope, async () => {
17
+ try {
18
+ return await handlerTarget.apply(handlerThisArg, handlerArgs);
19
+ } finally {
20
+ await flushIfServerless();
21
+ }
22
+ });
23
+ }
24
+ });
25
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAQ9D,MAAM,MAAM,aAAa,GAAG,uBAAuB,CAAC;;AAEpD,wBA0MG"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAQ9D,MAAM,MAAM,aAAa,GAAG,uBAAuB,CAAC;;AAGpD,wBA6NG"}
@@ -1,6 +1,8 @@
1
1
  import type { H3Event } from 'h3';
2
+ type EventWithMatchedRoute = Pick<H3Event, 'context'> & Partial<Pick<H3Event, 'path' | '_path'>>;
2
3
  /**
3
4
  * Update the root span (transaction) name for routes with parameters based on the matched route.
4
5
  */
5
- export declare function updateRouteBeforeResponse(event: H3Event): void;
6
+ export declare function updateRouteBeforeResponse(event: EventWithMatchedRoute): void;
7
+ export {};
6
8
  //# sourceMappingURL=updateRouteBeforeResponse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateRouteBeforeResponse.d.ts","sourceRoot":"","sources":["../../../../src/runtime/hooks/updateRouteBeforeResponse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAElC;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CA4C9D"}
1
+ {"version":3,"file":"updateRouteBeforeResponse.d.ts","sourceRoot":"","sources":["../../../../src/runtime/hooks/updateRouteBeforeResponse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAGlC,KAAK,qBAAqB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;AAQjG;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CA6C5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"wrapMiddlewareHandler.d.ts","sourceRoot":"","sources":["../../../../src/runtime/hooks/wrapMiddlewareHandler.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,YAAY,EACZ,kBAAkB,EAInB,MAAM,IAAI,CAAC;AAEZ;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,SAAS,YAAY,GAAG,kBAAkB,EAChG,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,MAAM,GACf,QAAQ,CAuBV"}
1
+ {"version":3,"file":"wrapMiddlewareHandler.d.ts","sourceRoot":"","sources":["../../../../src/runtime/hooks/wrapMiddlewareHandler.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAEV,YAAY,EACZ,kBAAkB,EAInB,MAAM,IAAI,CAAC;AAeZ;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,SAAS,YAAY,GAAG,kBAAkB,EAChG,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,MAAM,GACf,QAAQ,CA+BV"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Nitro plugin that instruments database calls for Nuxt v3/v4 (Nitro v2)
3
+ */
4
+ declare const _default: () => void;
5
+ export default _default;
6
+ //# sourceMappingURL=database-legacy.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-legacy.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/database-legacy.server.ts"],"names":[],"mappings":"AAOA;;GAEG;;AACH,wBAE4B"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Creates a Nitro plugin that instruments the database calls.
2
+ * Nitro plugin that instruments database calls for Nuxt v5+ (Nitro v3+)
3
3
  */
4
4
  declare const _default: () => void;
5
5
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"database.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/database.server.ts"],"names":[],"mappings":"AAkCA;;GAEG;;AACH,wBAsB4B"}
1
+ {"version":3,"file":"database.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/database.server.ts"],"names":[],"mappings":"AAOA;;GAEG;;AACH,wBAE4B"}
@@ -0,0 +1,3 @@
1
+ declare const _default: (nitroApp: import("nitropack").NitroApp) => void;
2
+ export default _default;
3
+ //# sourceMappingURL=handler-legacy.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler-legacy.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/handler-legacy.server.ts"],"names":[],"mappings":";AAIA,wBAE4B"}
@@ -0,0 +1,7 @@
1
+ import type { NitroApp } from 'nitro/types';
2
+ /**
3
+ * This plugin patches the h3 event handler for Nuxt v5+ (Nitro v3+).
4
+ */
5
+ declare const _default: (nitroApp: NitroApp) => void;
6
+ export default _default;
7
+ //# sourceMappingURL=handler.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/handler.server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5D;;GAEG;mCACwB,QAAQ;AAAnC,wBAK4B"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("nuxt/app").Plugin<Record<string, unknown>> & import("nuxt/app").ObjectPlugin<Record<string, unknown>>;
2
+ export default _default;
3
+ //# sourceMappingURL=route-detector-legacy.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-detector-legacy.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/route-detector-legacy.server.ts"],"names":[],"mappings":";AAKA,wBA2CG"}
@@ -1 +1 @@
1
- {"version":3,"file":"sentry.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/sentry.server.ts"],"names":[],"mappings":";AAcA,wBAwB4B"}
1
+ {"version":3,"file":"sentry.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/sentry.server.ts"],"names":[],"mappings":";AAOA,wBA2B4B"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Nitro plugin that instruments storage driver calls for Nuxt v3/v4 (Nitro v2)
3
+ */
4
+ declare const _default: (_nitroApp: import("nitropack").NitroApp) => Promise<void>;
5
+ export default _default;
6
+ //# sourceMappingURL=storage-legacy.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-legacy.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/storage-legacy.server.ts"],"names":[],"mappings":"AAMA;;GAEG;;AACH,wBAE4B"}
@@ -1,6 +1,8 @@
1
1
  /**
2
- * Creates a Nitro plugin that instruments the storage driver.
2
+ * Nitro plugin that instruments storage driver calls for Nuxt v5+ (Nitro v3+)
3
3
  */
4
- declare const _default: (_nitroApp: import("nitropack").NitroApp) => Promise<void>;
4
+ declare const _default: (_nitroApp: import("nitro/types").NitroApp & {
5
+ hooks: NonNullable<import("nitro/types").NitroApp["hooks"]>;
6
+ }) => Promise<void>;
5
7
  export default _default;
6
8
  //# sourceMappingURL=storage.server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/storage.server.ts"],"names":[],"mappings":"AAkCA;;GAEG;;AACH,wBA6B4B"}
1
+ {"version":3,"file":"storage.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/storage.server.ts"],"names":[],"mappings":"AAMA;;GAEG;;;;AACH,wBAE4B"}
@@ -0,0 +1,3 @@
1
+ declare const _default: (nitroApp: import("nitropack").NitroApp) => void;
2
+ export default _default;
3
+ //# sourceMappingURL=update-route-name-legacy.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-route-name-legacy.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/update-route-name-legacy.server.ts"],"names":[],"mappings":";AAGA,wBAE4B"}
@@ -0,0 +1,5 @@
1
+ declare const _default: (nitroApp: import("nitro/types").NitroApp & {
2
+ hooks: NonNullable<import("nitro/types").NitroApp["hooks"]>;
3
+ }) => void;
4
+ export default _default;
5
+ //# sourceMappingURL=update-route-name.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-route-name.server.d.ts","sourceRoot":"","sources":["../../../../src/runtime/plugins/update-route-name.server.ts"],"names":[],"mappings":";;;AAIA,wBAG4B"}
@@ -1,9 +1,23 @@
1
- import type { DatabaseConnectionConfig as DatabaseConfig } from 'nitropack/types';
1
+ import type { ConnectorName } from 'db0';
2
2
  export interface DatabaseSpanData {
3
3
  [key: string]: string | number | undefined;
4
4
  }
5
+ /**
6
+ * A minimal database connection configuration type compatible with both nitropack (Nitro v2) and nitro (Nitro v3+).
7
+ * Mirrors the shape of `DatabaseConnectionConfig` from both packages.
8
+ */
9
+ export interface DatabaseConnectionConfig {
10
+ connector?: ConnectorName;
11
+ options?: {
12
+ host?: string;
13
+ port?: number;
14
+ dataDir?: string;
15
+ name?: string;
16
+ [key: string]: unknown;
17
+ };
18
+ }
5
19
  /**
6
20
  * Extracts span attributes from the database configuration.
7
21
  */
8
- export declare function getDatabaseSpanData(config?: DatabaseConfig): Partial<DatabaseSpanData>;
22
+ export declare function getDatabaseSpanData(config?: DatabaseConnectionConfig): Partial<DatabaseSpanData>;
9
23
  //# sourceMappingURL=database-span-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database-span-data.d.ts","sourceRoot":"","sources":["../../../../src/runtime/utils/database-span-data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElF,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmCtF"}
1
+ {"version":3,"file":"database-span-data.d.ts","sourceRoot":"","sources":["../../../../src/runtime/utils/database-span-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmChG"}
@@ -0,0 +1,10 @@
1
+ import type { Database } from 'db0';
2
+ import { type DatabaseConnectionConfig } from './database-span-data';
3
+ /**
4
+ * Creates the Nitro database plugin setup by instrumenting the configured database instances.
5
+ *
6
+ * Called from the version-specific plugin entry points (database.server.ts / database-legacy.server.ts)
7
+ * which supply the correct `useDatabase` import for their respective Nitro version.
8
+ */
9
+ export declare function createDatabasePlugin(useDatabase: (name: string) => Database, databaseConfig: Record<string, DatabaseConnectionConfig>): void;
10
+ //# sourceMappingURL=instrumentDatabase.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Creates the Nitro storage plugin setup by instrumenting all relevant storage drivers.
3
+ *
4
+ * The `useStorage` parameter is typed as `() => unknown` because nitropack (Nitro v2) and nitro (Nitro v3+) define `StorageValue` differently.
5
+ * Cast to `NitroStorage` is safe since all Nitro versions expose `getMounts()` at runtime.
6
+ */
7
+ export declare function createStoragePlugin(useStorage: () => unknown, userStorageMounts: string[]): Promise<void>;
8
+ //# sourceMappingURL=instrumentStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentStorage.d.ts","sourceRoot":"","sources":["../../../../src/runtime/utils/instrumentStorage.ts"],"names":[],"mappings":"AAwDA;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B/G"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Patches the H3 event handler of Nitro.
3
+ *
4
+ * Uses a TypeScript generic type to ensure the returned handler type fits different versions of Nitro.
5
+ */
6
+ export declare function patchEventHandler<H3EventHandler extends Function>(handler: H3EventHandler): H3EventHandler;
7
+ //# sourceMappingURL=patchEventHandler.d.ts.map
@@ -0,0 +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 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/runtime/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,KAAK,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAiB3F;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAcnH;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CA0BP"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/runtime/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,KAAK,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAiB3F;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAcnH;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CA2BP"}
@@ -3,5 +3,5 @@ import type { SentryNuxtModuleOptions } from '../common/types';
3
3
  /**
4
4
  * Sets up the database instrumentation.
5
5
  */
6
- export declare function addDatabaseInstrumentation(nitro: NitroConfig, moduleOptions?: SentryNuxtModuleOptions): void;
6
+ export declare function addDatabaseInstrumentation(nitro: NitroConfig, isLegacyNitro: boolean, moduleOptions?: SentryNuxtModuleOptions): void;
7
7
  //# sourceMappingURL=databaseConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"databaseConfig.d.ts","sourceRoot":"","sources":["../../../src/vite/databaseConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAgC5G"}
1
+ {"version":3,"file":"databaseConfig.d.ts","sourceRoot":"","sources":["../../../src/vite/databaseConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,OAAO,EACtB,aAAa,CAAC,EAAE,uBAAuB,GACtC,IAAI,CAoCN"}
@@ -1 +1 @@
1
- {"version":3,"file":"sentryVitePlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/sentryVitePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAa,MAAM,EAAc,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,IAAI,EAAE,IAAI,CAAC;IACX,aAAa,EAAE,uBAAuB,CAAC;IACvC,iBAAiB,EAAE,OAAO,CAAC;CAC5B,GAAG,MAAM,CAoCT"}
1
+ {"version":3,"file":"sentryVitePlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/sentryVitePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAa,MAAM,EAAc,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAG/D;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,IAAI,EAAE,IAAI,CAAC;IACX,aAAa,EAAE,uBAAuB,CAAC;IACvC,iBAAiB,EAAE,OAAO,CAAC;CAC5B,GAAG,MAAM,CAoCT"}
@@ -2,5 +2,5 @@ import type { Nuxt } from '@nuxt/schema';
2
2
  /**
3
3
  * Prepares the storage config export to be used in the runtime storage instrumentation.
4
4
  */
5
- export declare function addStorageInstrumentation(nuxt: Nuxt): void;
5
+ export declare function addStorageInstrumentation(nuxt: Nuxt, isLegacyNitro: boolean): void;
6
6
  //# sourceMappingURL=storageConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storageConfig.d.ts","sourceRoot":"","sources":["../../../src/vite/storageConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGzC;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAa1D"}
1
+ {"version":3,"file":"storageConfig.d.ts","sourceRoot":"","sources":["../../../src/vite/storageConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGzC;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAiBlF"}
@@ -1,4 +1,9 @@
1
1
  import type { Nuxt } from '@nuxt/schema';
2
+ /**
3
+ * Gets the major version of the installed nitro package.
4
+ * Returns 2 as the default if nitro is not found or the version cannot be determined.
5
+ */
6
+ export declare function getNitroMajorVersion(): Promise<number>;
2
7
  /**
3
8
  * Find the default SDK init file for the given type (client or server).
4
9
  * The sentry.server.config file is prioritized over the instrument.server file.
@@ -49,5 +54,5 @@ export declare function constructFunctionReExport(pathWithQuery: string, entryId
49
54
  *
50
55
  * @see https://nuxt.com/docs/guide/concepts/esm#aliasing-libraries
51
56
  */
52
- export declare function addOTelCommonJSImportAlias(nuxt: Nuxt): void;
57
+ export declare function addOTelCommonJSImportAlias(nuxt: Nuxt, isNitroV3?: boolean): void;
53
58
  //# sourceMappingURL=utils.d.ts.map
@@ -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;AAKzC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAqCjG;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,GAAG,IAAI,CAY3D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/vite/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKzC;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAY5D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAqCjG;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"}