@nexttrace/next 0.1.1 → 0.1.2

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.
package/README.md CHANGED
@@ -76,10 +76,10 @@ NextTrace can capture outgoing HTTP requests originating from:
76
76
 
77
77
  Follow these 3 simple steps:
78
78
 
79
- ### Step 1: Enable the Instrumentation Hook in Next.js
80
-
81
- In your `next.config.js` or `next.config.mjs`, enable `instrumentationHook`:
79
+ ### Step 1: Next.js Configuration
82
80
 
81
+ - **Next.js 15+**: `instrumentation.ts` is **stable and enabled by default**! You can skip directly to Step 2 without touching your `next.config`.
82
+ - **Next.js 14 & 13**: Enable `instrumentationHook` in `next.config.js` or `next.config.mjs`:
83
83
  ```js
84
84
  /** @type {import('next').NextConfig} */
85
85
  const nextConfig = {
@@ -91,8 +91,6 @@ const nextConfig = {
91
91
  module.exports = nextConfig;
92
92
  ```
93
93
 
94
- *(Note: In Next.js 15+, `instrumentationHook` is stable and enabled by default).*
95
-
96
94
  ---
97
95
 
98
96
  ### Step 2: Register Server Tracing in `instrumentation.ts`
package/dist/server.d.mts CHANGED
@@ -6,10 +6,22 @@
6
6
  * Instruments globalThis.fetch on the Node.js server side in development
7
7
  */
8
8
  declare function instrumentServerFetch(): () => void;
9
+ /**
10
+ * Alias for instrumentServerFetch (used in documentation and standard naming)
11
+ */
12
+ declare const traceNextServer: typeof instrumentServerFetch;
13
+ type NextTraceRouteHandlerFn = () => Promise<Response>;
14
+ interface NextTraceRouteHandlers extends NextTraceRouteHandlerFn {
15
+ GET: NextTraceRouteHandlerFn;
16
+ POST: NextTraceRouteHandlerFn;
17
+ }
9
18
  /**
10
19
  * Next.js App Router Route Handler for `app/api/__nexttrace/route.ts`
11
- * Exposes server events in dev mode only.
20
+ * Supports both:
21
+ * export const { GET, POST } = createNextTraceRouteHandler();
22
+ * and:
23
+ * export const GET = createNextTraceRouteHandler();
12
24
  */
13
- declare function createNextTraceRouteHandler(): () => Promise<Response>;
25
+ declare function createNextTraceRouteHandler(): NextTraceRouteHandlers;
14
26
 
15
- export { createNextTraceRouteHandler, instrumentServerFetch };
27
+ export { type NextTraceRouteHandlerFn, type NextTraceRouteHandlers, createNextTraceRouteHandler, instrumentServerFetch, traceNextServer };
package/dist/server.d.ts CHANGED
@@ -6,10 +6,22 @@
6
6
  * Instruments globalThis.fetch on the Node.js server side in development
7
7
  */
8
8
  declare function instrumentServerFetch(): () => void;
9
+ /**
10
+ * Alias for instrumentServerFetch (used in documentation and standard naming)
11
+ */
12
+ declare const traceNextServer: typeof instrumentServerFetch;
13
+ type NextTraceRouteHandlerFn = () => Promise<Response>;
14
+ interface NextTraceRouteHandlers extends NextTraceRouteHandlerFn {
15
+ GET: NextTraceRouteHandlerFn;
16
+ POST: NextTraceRouteHandlerFn;
17
+ }
9
18
  /**
10
19
  * Next.js App Router Route Handler for `app/api/__nexttrace/route.ts`
11
- * Exposes server events in dev mode only.
20
+ * Supports both:
21
+ * export const { GET, POST } = createNextTraceRouteHandler();
22
+ * and:
23
+ * export const GET = createNextTraceRouteHandler();
12
24
  */
13
- declare function createNextTraceRouteHandler(): () => Promise<Response>;
25
+ declare function createNextTraceRouteHandler(): NextTraceRouteHandlers;
14
26
 
15
- export { createNextTraceRouteHandler, instrumentServerFetch };
27
+ export { type NextTraceRouteHandlerFn, type NextTraceRouteHandlers, createNextTraceRouteHandler, instrumentServerFetch, traceNextServer };
package/dist/server.js CHANGED
@@ -21,7 +21,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var server_exports = {};
22
22
  __export(server_exports, {
23
23
  createNextTraceRouteHandler: () => createNextTraceRouteHandler,
24
- instrumentServerFetch: () => instrumentServerFetch
24
+ instrumentServerFetch: () => instrumentServerFetch,
25
+ traceNextServer: () => traceNextServer
25
26
  });
26
27
  module.exports = __toCommonJS(server_exports);
27
28
  var import_core = require("@nexttrace/core");
@@ -182,8 +183,9 @@ function instrumentServerFetch() {
182
183
  }
183
184
  };
184
185
  }
186
+ var traceNextServer = instrumentServerFetch;
185
187
  function createNextTraceRouteHandler() {
186
- return async function GET() {
188
+ const handler = async function GET() {
187
189
  if (process.env.NODE_ENV !== "development") {
188
190
  return new Response(JSON.stringify({ error: "Forbidden in production" }), {
189
191
  status: 403,
@@ -201,9 +203,14 @@ function createNextTraceRouteHandler() {
201
203
  }
202
204
  });
203
205
  };
206
+ const routeHandler = handler;
207
+ routeHandler.GET = handler;
208
+ routeHandler.POST = handler;
209
+ return routeHandler;
204
210
  }
205
211
  // Annotate the CommonJS export names for ESM import in node:
206
212
  0 && (module.exports = {
207
213
  createNextTraceRouteHandler,
208
- instrumentServerFetch
214
+ instrumentServerFetch,
215
+ traceNextServer
209
216
  });
package/dist/server.mjs CHANGED
@@ -164,8 +164,9 @@ function instrumentServerFetch() {
164
164
  }
165
165
  };
166
166
  }
167
+ var traceNextServer = instrumentServerFetch;
167
168
  function createNextTraceRouteHandler() {
168
- return async function GET() {
169
+ const handler = async function GET() {
169
170
  if (process.env.NODE_ENV !== "development") {
170
171
  return new Response(JSON.stringify({ error: "Forbidden in production" }), {
171
172
  status: 403,
@@ -183,8 +184,13 @@ function createNextTraceRouteHandler() {
183
184
  }
184
185
  });
185
186
  };
187
+ const routeHandler = handler;
188
+ routeHandler.GET = handler;
189
+ routeHandler.POST = handler;
190
+ return routeHandler;
186
191
  }
187
192
  export {
188
193
  createNextTraceRouteHandler,
189
- instrumentServerFetch
194
+ instrumentServerFetch,
195
+ traceNextServer
190
196
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexttrace/next",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Next.js integration for NextTrace with dev-only gating, server fetch collection, and overlay component",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@nexttrace/core": "0.1.0",
37
- "@nexttrace/devtools": "0.1.0"
37
+ "@nexttrace/devtools": "0.1.2"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "next": ">=13.0.0 || >=14.0.0 || >=15.0.0",