#Storybook 6.4.17-NextJS 12.2-Vercel runtime error

7 messages · Page 1 of 1 (latest)

daring saddle
#

NextJS 12.2 has moved middleware from Page folder to root folder.

After upgrading our current application from NextJS 12 to NextJS 12.2 storybook application started failing on Vercel with following error (but works fine locally)

When we delete/comment NextJS middleware code everything works fine, but we want middleware code.

**Could you please help me on this? **

NextJS middleware code

'''import { NextResponse, NextRequest } from 'next/server'

const checkIsAutheticated = (req: NextRequest) => { return true }

export function middleware(request: NextRequest) {
if (request.nextUrl.pathname.startsWith('/my-account')) {
if (!checkIsAutheticated(request)) { return NextResponse.redirect('/')
}
}
}'''

Vercel runtime error
ReferenceError: __dirname is not defined

at node_modules/next/dist/compiled/ua-parser-js/ua-parser.js:10:16756

at node_modules/next/dist/compiled/ua-parser-js/ua-parser.js:10:16885

at node_modules/next/dist/server/web/spec-extension/user-agent.js:8:41

at node_modules/next/server.js:6:0

at middleware.js:4:15

at middleware:middleware.js:1:17

daring saddle
#

Storybook 6.4.17-NextJS 12.2-Vercel runtime error

feral thistle
#

@daring saddle did you ever figure this out? I'm getting the same error.

lost laurel
#

Support for nextjs is much improved in storybook 7.0, if you're willing to try an upgrade you can run npx sb@next upgrade --prerelease

feral thistle
#

We already are - versions in use

    "@storybook/addon-essentials": "^7.0.0-beta.29",
    "@storybook/addon-interactions": "7.0.0-beta.29",
    "@storybook/addon-links": "7.0.0-beta.29",
    "@storybook/addon-postcss": "^3.0.0-alpha.1",
    "@storybook/blocks": "7.0.0-beta.29",
    "@storybook/nextjs": "7.0.0-beta.29",
    "@storybook/react": "7.0.0-beta.29",
    "@storybook/testing-library": "0.0.14--     
canary.30.5f44d14.0",
     "storybook": "7.0.0-beta.29",
#

Our error is also a little different:

#

however that error is not correct - auth.middleware isn't using any nodejs functions at all