Skip to content

Elegantdev23/nextjs-types-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Before

$ pnpm i [email protected]
$ pnpm next dev
# Goto http://localhost:3000/api/should-have-been-a-number
 ⨯ node_modules/.pnpm/[email protected]/node_modules/zod/lib/index.mjs (587:1) @ get error [as error]
 ⨯ ZodError: [
  {
    "code": "invalid_type",
    "expected": "number",
    "received": "string",
    "path": [
      "id"
    ],
    "message": "Expected number, received string"
  }
]
    at GET (./app/api/[id]/route.js:11:35)
  585 |                 if (this._error)
  586 |                     return this._error;
> 587 |                 const error = new ZodError(ctx.common.issues);
      | ^
  588 |                 this._error = error;
  589 |                 return this._error;
  590 |

# Goto http://localhost:3000/plain
 ⨯ Error: Boom
    at GET (app/api/plain/route.js:2:8)
    at run (webpack://next/dist/src/server/route-modules/app-route/module.ts:529:41)
    at handler (webpack://next/dist/src/server/route-modules/app-route/module.ts:725:18)
    at fn (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/lib/trace/tracer.ts:351:27)
    at NoopContextManager.with (/Users/sebbie/throwaway/my-app/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/compiled/@opentelemetry/api/index.js:1:7062)
    at ContextAPI.with (/Users/sebbie/throwaway/my-app/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/compiled/@opentelemetry/api/index.js:1:518)
    at NoopTracer.startActiveSpan (/Users/sebbie/throwaway/my-app/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/compiled/@opentelemetry/api/index.js:1:18093)
    at ProxyTracer.startActiveSpan (/Users/sebbie/throwaway/my-app/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/compiled/@opentelemetry/api/index.js:1:18854)
    at startActiveSpan (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/lib/trace/tracer.ts:304:31)
    at NoopContextManager.with (/Users/sebbie/throwaway/my-app/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/compiled/@opentelemetry/api/index.js:1:7062)
    at ContextAPI.with (/Users/sebbie/throwaway/my-app/node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/dist/compiled/@opentelemetry/api/index.js:1:518)
    at spanContext (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/lib/trace/tracer.ts:303:24)
    at trace (webpack://next/dist/src/server/route-modules/app-route/module.ts:715:26)
    at run (webpack://next/dist/src/server/route-modules/app-route/module.ts:662:32)
    at run (webpack://next/dist/src/server/route-modules/app-route/module.ts:661:34)
    at run (webpack://next/dist/src/server/route-modules/app-route/module.ts:658:60)
    at handle (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/base-server.ts:2504:47)
    at doRender (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/base-server.ts:3027:27)
    at responseGenerator (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/response-cache/index.ts:67:13)
    at get (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/base-server.ts:3039:48)
    at renderToResponseWithComponentsImpl (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/base-server.ts:1877:13)
    at fn (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/lib/trace/tracer.ts:279:13)
    at trace (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/base-server.ts:1874:23)
    at renderToResponseWithComponents (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/base-server.ts:3597:26)
    at async DevServer.renderToResponseImpl (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/base-server.ts:3659:23)
    at async DevServer.pipeImpl (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/base-server.ts:1698:20)
    at async NextNodeServer.handleCatchallRenderRequest (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/next-server.ts:1034:6)
    at async DevServer.handleRequestImpl (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/base-server.ts:1462:8)
    at async (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/dev/next-dev-server.ts:514:13)
    at async Span.traceAsyncFn (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/trace/trace.ts:143:13)
    at async DevServer.handleRequest (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/dev/next-dev-server.ts:512:19)
    at async invokeRender (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/lib/router-server.ts:284:10)
    at async handleRequest (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/lib/router-server.ts:530:15)
    at async requestHandlerImpl (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/lib/router-server.ts:576:6)
    at async Server.requestListener (node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/next/src/server/lib/start-server.ts:146:6)
  1 | export async function GET(request, params) {
> 2 |   throw new Error("Boom");
    |        ^
  3 | }
  4 |

After

$ pnpm i [email protected]
$ pnpm next dev
# Goto http://localhost:3000/api/should-have-been-a-number
 ⨯ Error [ZodError]: [
  {
    "code": "invalid_type",
    "expected": "number",
    "received": "string",
    "path": [
      "id"
    ],
    "message": "Expected number, received string"
  }
]
    at parse (app/api/[id]/route.js:8:32)
   6 |
   7 | export async function GET(request, params) {
>  8 |   const { id } = endpointSchema.parse(await params);
     |                                ^
   9 | }
  10 | {
  issues: [Array],
  addIssue: [Function (anonymous)],
  addIssues: [Function (anonymous)]
}

# Goto http://localhost:3000/plain
 ⨯ Error: Boom
    at GET (app/api/plain/route.js:2:8)
  1 | export async function GET(request, params) {
> 2 |   throw new Error("Boom");
    |        ^
  3 | }
  4 |

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published