Skip to content

[BUG] Error: ENOENT: no such file or directory, open '[MONOREPO_ROOT]/web/.worker-next/.next/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js' #148

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Benjamin-Dobell opened this issue Nov 29, 2024 · 9 comments
Labels
bug Something isn't working waiting for feedback

Comments

@Benjamin-Dobell
Copy link

Benjamin-Dobell commented Nov 29, 2024

Describe the bug

Unable to build. Errors out with:

node:fs:441
    return binding.readFileUtf8(path, stringToFlags(options.flag));
                   ^

Error: ENOENT: no such file or directory, open '[MONOREPO_ROOT]/web/.worker-next/.next/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js'
    at readFileSync (node:fs:441:20)
    at patchWranglerDeps (file://[MONOREPO_ROOT]/node_modules/.pnpm/@opennextjs+cloudflare@0.2.1_patch_hash=z6i5lbc5rkmrngu35nsriu2qbu_wrangler@3.91.0_bufferutil@4.0.8_/node_modules/@opennextjs/cloudflare/dist/cli/index.mjs:7058:31)
    at buildWorker (file://[MONOREPO_ROOT]/node_modules/.pnpm/@opennextjs+cloudflare@0.2.1_patch_hash=z6i5lbc5rkmrngu35nsriu2qbu_wrangler@3.91.0_bufferutil@4.0.8_/node_modules/@opennextjs/cloudflare/dist/cli/index.mjs:7223:3)
    at async build3 (file://[MONOREPO_ROOT]/node_modules/.pnpm/@opennextjs+cloudflare@0.2.1_patch_hash=z6i5lbc5rkmrngu35nsriu2qbu_wrangler@3.91.0_bufferutil@4.0.8_/node_modules/@opennextjs/cloudflare/dist/cli/index.mjs:7346:3)
    at async file://[MONOREPO_ROOT]/node_modules/.pnpm/@opennextjs+cloudflare@0.2.1_patch_hash=z6i5lbc5rkmrngu35nsriu2qbu_wrangler@3.91.0_bufferutil@4.0.8_/node_modules/@opennextjs/cloudflare/dist/cli/index.mjs:7417:1 {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/web/.worker-next/.next/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js'
}

This is fairly similar to #42.

Contents of the target compiled directory are just:

ls -la [MONOREPO_ROOT]/web/.worker-next/.next/standalone/node_modules/next/dist/compiled/
total 0
drwxr-xr-x  3 ben  staff   96 30 Nov 00:08 .
drwxr-xr-x  5 ben  staff  160 30 Nov 00:08 ..
drwxr-xr-x  4 ben  staff  128 30 Nov 00:08 jest-worker

However, the standalone compiled directory from in the monorepo root seems to contain the files we're after:

ls -la [MONOREPO_ROOT]/node_modules/next/dist/compiled/ 
total 0
drwxr-xr-x  144 ben  staff  4608 29 Nov 22:36 .
drwxr-xr-x   19 ben  staff   608 29 Nov 22:36 ..
drwxr-xr-x    3 ben  staff    96 29 Nov 22:36 @ampproject
drwxr-xr-x    3 ben  staff    96 29 Nov 22:36 @babel
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 @edge-runtime
drwxr-xr-x    3 ben  staff    96 29 Nov 22:36 @hapi
drwxr-xr-x    3 ben  staff    96 29 Nov 22:36 @mswjs
drwxr-xr-x    3 ben  staff    96 29 Nov 22:36 @napi-rs
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 @next
drwxr-xr-x    3 ben  staff    96 29 Nov 22:36 @opentelemetry
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 @vercel
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 acorn
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 amphtml-validator
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 anser
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 arg
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 assert
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 async-retry
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 async-sema
drwxr-xr-x   32 ben  staff  1024 29 Nov 22:36 babel
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 babel-packages
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 browserify-zlib
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 browserslist
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 buffer
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 bytes
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 ci-info
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 cli-select
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 client-only
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 commander
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 comment-json
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 compression
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 conf
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 constants-browserify
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 content-disposition
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 content-type
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 cookie
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 cross-spawn
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 crypto-browserify
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 css.escape
drwxr-xr-x    3 ben  staff    96 29 Nov 22:36 cssnano-simple
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 data-uri-to-buffer
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 debug
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 devalue
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 domain-browser
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 edge-runtime
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 events
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 find-cache-dir
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 find-up
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 fresh
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 get-orientation
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 glob
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 gzip-size
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 http-proxy
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 http-proxy-agent
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 https-browserify
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 https-proxy-agent
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 icss-utils
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 ignore-loader
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 image-size
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 is-animated
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 is-docker
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 is-wsl
drwxr-xr-x    7 ben  staff   224 29 Nov 22:36 jest-worker
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 json5
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 jsonwebtoken
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 loader-runner
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 loader-utils2
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 loader-utils3
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 lodash.curry
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 lru-cache
drwxr-xr-x    8 ben  staff   256 29 Nov 22:36 mini-css-extract-plugin
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 nanoid
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 native-url
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 neo-async
drwxr-xr-x   40 ben  staff  1280 29 Nov 22:36 next-server
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 node-fetch
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 node-html-parser
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 ora
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 os-browserify
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 p-limit
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 path-browserify
drwxr-xr-x    3 ben  staff    96 29 Nov 22:36 path-to-regexp
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 picomatch
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 platform
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 postcss-flexbugs-fixes
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 postcss-modules-extract-imports
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 postcss-modules-local-by-default
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 postcss-modules-scope
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 postcss-modules-values
drwxr-xr-x    3 ben  staff    96 29 Nov 22:36 postcss-plugin-stub-for-cssnano-simple
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 postcss-preset-env
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 postcss-safe-parser
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 postcss-scss
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 postcss-value-parser
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 process
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 punycode
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 querystring-es3
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 raw-body
drwxr-xr-x   10 ben  staff   320 29 Nov 22:36 react
drwxr-xr-x   15 ben  staff   480 29 Nov 22:36 react-dom
drwxr-xr-x   15 ben  staff   480 29 Nov 22:36 react-dom-experimental
drwxr-xr-x   10 ben  staff   320 29 Nov 22:36 react-experimental
drwxr-xr-x    8 ben  staff   256 29 Nov 22:36 react-is
drwxr-xr-x    8 ben  staff   256 29 Nov 22:36 react-refresh
drwxr-xr-x   17 ben  staff   544 29 Nov 22:36 react-server-dom-turbopack
drwxr-xr-x   17 ben  staff   544 29 Nov 22:36 react-server-dom-turbopack-experimental
drwxr-xr-x   18 ben  staff   576 29 Nov 22:36 react-server-dom-webpack
drwxr-xr-x   18 ben  staff   576 29 Nov 22:36 react-server-dom-webpack-experimental
drwxr-xr-x    7 ben  staff   224 29 Nov 22:36 regenerator-runtime
drwxr-xr-x    6 ben  staff   192 29 Nov 22:36 sass-loader
drwxr-xr-x    9 ben  staff   288 29 Nov 22:36 scheduler
drwxr-xr-x    9 ben  staff   288 29 Nov 22:36 scheduler-experimental
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 schema-utils2
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 schema-utils3
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 semver
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 send
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 server-only
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 setimmediate
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 shell-quote
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 source-map
drwxr-xr-x    6 ben  staff   192 29 Nov 22:36 source-map08
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 stacktrace-parser
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 stream-browserify
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 stream-http
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 string-hash
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 string_decoder
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 strip-ansi
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 superstruct
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 tar
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 terser
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 text-table
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 timers-browserify
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 tty-browserify
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 ua-parser-js
drwxr-xr-x    4 ben  staff   128 29 Nov 22:36 unistore
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 util
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 vm-browserify
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 watchpack
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 web-vitals
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 web-vitals-attribution
drwxr-xr-x   29 ben  staff   928 29 Nov 22:36 webpack
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 webpack-sources1
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 webpack-sources3
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 ws
drwxr-xr-x    5 ben  staff   160 29 Nov 22:36 zod

This is a PNPM workspace.

Steps to reproduce

  1. Create a PNPM workspace.
  2. Setup a Next.js project with OpenNext cloudflare project in an sub-directory. You could probably just clone an example.
  3. Install dependencies.
  4. In the sub-directory with the Next.js project execute pnpm exec cloudflare.

Expected behavior

Build should succeed without errors.

@opennextjs/cloudflare version

0.2.1 / https://pkg.pr.new/@opennextjs/cloudflare@main

Node.js version

22.x

Wrangler version

3.91.0

next info output

Node.js v22.11.0

Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:42 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6000
  Available memory (MB): 32768
  Available CPU cores: 10
Binaries:
  Node: 22.11.0
  npm: 10.9.0
  Yarn: N/A
  pnpm: 9.12.3
Relevant Packages:
  next: 14.2.10 // An outdated version detected (latest is 15.0.3), upgrade is highly recommended!
  eslint-config-next: 14.2.18
  react: 18.3.1
  react-dom: 18.3.1
  typescript: 4.9.5
Next.js Config:
  output: standalone
 ⚠ An outdated version detected (latest is 15.0.3), upgrade is highly recommended!
   Please try the latest canary version (`npm install next@canary`) to confirm the issue still exists before creating a new issue.
   Read more - https://nextjs.org/docs/messages/opening-an-issue

Additional context

No response

@Benjamin-Dobell Benjamin-Dobell added bug Something isn't working triage labels Nov 29, 2024
@Benjamin-Dobell
Copy link
Author

Oh, in my stacktrace above it shows I've patched @opennextjs/cloudflare. This was done after running into this to introduce some logging. The output of which is my config:

patchWranglerDeps - config = {
  "build": {
    "timestamp": 1732886590021,
    "skipNextBuild": false,
    "shouldMinify": true
  },
  "paths": {
    "sourceDir": "[MONOREPO_ROOT]/web",
    "outputDir": "[MONOREPO_ROOT]/web/.worker-next",
    "dotNext": "[MONOREPO_ROOT]/web/.worker-next/.next",
    "standaloneRoot": "[MONOREPO_ROOT]/web/.worker-next/.next/standalone",
    "standaloneApp": "[MONOREPO_ROOT]/web/.worker-next/.next/standalone",
    "standaloneAppDotNext": "[MONOREPO_ROOT]/web/.worker-next/.next/standalone/.next",
    "standaloneAppServer": "[MONOREPO_ROOT]/web/.worker-next/.next/standalone/.next/server",
    "internalPackage": "[MONOREPO_ROOT]/web/.worker-next/.next/standalone/node_modules/@opennextjs/cloudflare",
    "internalTemplates": "[MONOREPO_ROOT]/web/.worker-next/.next/standalone/node_modules/@opennextjs/cloudflare/cli/templates"
  },
  "cache": {
    "kvBindingName": "NEXT_CACHE_WORKERS_KV"
  },
  "internalPackageName": "@opennextjs/cloudflare"
}

@vicb vicb added needs repro and removed triage labels Dec 2, 2024
@vicb
Copy link
Contributor

vicb commented Dec 2, 2024

Please attach a repro in a GH repository, thanks.

Benjamin-Dobell added a commit to Benjamin-Dobell/opennext-cloudflare-bug that referenced this issue Dec 2, 2024
@Benjamin-Dobell
Copy link
Author

Thanks for taking a look.

Repository: https://github.com/Benjamin-Dobell/opennext-cloudflare-bug

Quick (1 m 30s) video creating the contents of the repository from scratch:

CleanShot.2024-12-02.at.21.03.32.mp4

@hach-que
Copy link

hach-que commented Jan 3, 2025

I am also running into this with Yarn (potentially due to Plug 'n' Play):

# copyPackageTemplateFiles
node:internal/fs/cp/cp-sync:56
  fsBinding.cpSyncCheckPaths(src, dest, opts.dereference, opts.recursive);
            ^
Error: ENOENT: no such file or directory, lstat '/__w/website/website/.yarn/__virtual__/@opennextjs-cloudflare-virtual-ba5a08b239/4/github/home/.yarn/berry/cache/@opennextjs-cloudflare-npm-0.3.3-1aa47623ab-10c0.zip/node_modules/@opennextjs/cloudflare/dist/cli'
    at cpSyncFn (node:internal/fs/cp/cp-sync:56:13)
    at Object.cpSync (node:fs:3046:3)
    at Module.copyPackageCliFiles (file:///__w/website/website/.yarn/__virtual__/@opennextjs-cloudflare-virtual-ba5a08b239/4/github/home/.yarn/berry/cache/@opennextjs-cloudflare-npm-0.3.3-1aa47623ab-10c0.zip/node_modules/@opennextjs/cloudflare/dist/cli/build/patches/investigated/copy-package-cli-files.js:11:8)
    at bundleServer (file:///__w/website/website/.yarn/__virtual__/@opennextjs-cloudflare-virtual-ba5a08b239/4/github/home/.yarn/berry/cache/@opennextjs-cloudflare-npm-0.3.3-1aa47623ab-10c0.zip/node_modules/@opennextjs/cloudflare/dist/cli/build/bundle-server.js:13:13)
    at build (file:///__w/website/website/.yarn/__virtual__/@opennextjs-cloudflare-virtual-ba5a08b239/4/github/home/.yarn/berry/cache/@opennextjs-cloudflare-npm-0.3.3-1aa47623ab-10c0.zip/node_modules/@opennextjs/cloudflare/dist/cli/build/index.js:78:11)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async file:///__w/website/website/.yarn/__virtual__/@opennextjs-cloudflare-virtual-ba5a08b239/4/github/home/.yarn/berry/cache/@opennextjs-cloudflare-npm-0.3.3-1aa47623ab-10c0.zip/node_modules/@opennextjs/cloudflare/dist/cli/index.js:7:1 {
  errno: -2,
  code: 'ENOENT',
  syscall: 'lstat',
  path: '/__w/website/website/.yarn/__virtual__/@opennextjs-cloudflare-virtual-ba5a08b239/4/github/home/.yarn/berry/cache/@opennextjs-cloudflare-npm-0.3.3-1aa47623ab-10c0.zip/node_modules/@opennextjs/cloudflare/dist/cli'
}
Node.js v22.12.0

@dario-piotrowicz
Copy link
Contributor

dario-piotrowicz commented Jan 20, 2025

Note: this issue is a bit outdated and I was hoping that it would maybe have been fixed by the changes we made in 0.3.0, but no, the issue still seems to happen in the latest version of the adapter 0.3.8

It also applies to the latest Next.js version (15.1.5)

@vicb
Copy link
Contributor

vicb commented Jan 30, 2025

It works on the latest version (0.4.2)

@Benjamin-Dobell
Copy link
Author

Benjamin-Dobell commented May 7, 2025

Whilst this particular manifestation of the issue is resolved, monorepos are still not supported.

The initial build works, but subsequent build and deployments don't actually deploy any changes to your project. More than that, .open-next is generated by the initial create script, but it's in the .gitignore. So the developer who created the project will have success, but CI and everyone else is going to be in for a hard time.

> pnpm exec wrangler build

 ⛅️ wrangler 4.14.1
-------------------


✘ [ERROR] The entry-point file at ".open-next/worker.js" was not found.


🪵  Logs were written to "/Users/ben/Library/Preferences/.wrangler/logs/wrangler-2025-05-07_03-17-16_570.log"

You can "sort of" get it back with:

> pnpm exec opennextjs-cloudflare build

[...]

⚙️ Bundling the OpenNext server...

✘ [ERROR] Could not resolve "./node-environment"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:12:8:
      12 │ require("./node-environment");
         ╵         ~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./node-polyfill-crypto"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:14:8:
      14 │ require("./node-polyfill-crypto");
         ╵         ~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/utils"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:15:23:
      15 │ const _utils = require("../shared/lib/utils");
         ╵                        ~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/router/utils/route-matcher"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:18:30:
      18 │ const _routematcher = require("../shared/lib/router/utils/route-matcher");
         ╵                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./request-meta"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:19:29:
      19 │ const _requestmeta = require("./request-meta");
         ╵                              ~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/constants"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:20:27:
      20 │ const _constants = require("../shared/lib/constants");
         ╵                            ~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../lib/find-pages-dir"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:21:30:
      21 │ const _findpagesdir = require("../lib/find-pages-dir");
         ╵                               ~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./base-http/node"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:22:22:
      22 │ const _node = require("./base-http/node");
         ╵                       ~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./send-payload"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:23:29:
      23 │ const _sendpayload = require("./send-payload");
         ╵                              ~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/router/utils/parse-url"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:24:26:
      24 │ const _parseurl = require("../shared/lib/router/utils/parse-url");
         ╵                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../build/output/log"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:25:61:
      25 │ const _log = /*#__PURE__*/ _interop_require_wildcard(require("../build/output/log"));
         ╵                                                              ~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./base-server"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:26:81:
      26 │ const _baseserver = /*#__PURE__*/ _interop_require_wildcard(_export_star(require("./base-server"), exports));
         ╵                                                                                  ~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./require"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:27:25:
      27 │ const _require = require("./require");
         ╵                          ~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/page-path/denormalize-page-path"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:28:37:
      28 │ const _denormalizepagepath = require("../shared/lib/page-path/denormalize-page-path");
         ╵                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/page-path/normalize-page-path"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:29:35:
      29 │ const _normalizepagepath = require("../shared/lib/page-path/normalize-page-path");
         ╵                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./load-components"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:30:32:
      30 │ const _loadcomponents = require("./load-components");
         ╵                                 ~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../lib/is-error"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:31:65:
      31 │ const _iserror = /*#__PURE__*/ _interop_require_wildcard(require("../lib/is-error"));
         ╵                                                                  ~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./web/utils"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:32:24:
      32 │ const _utils1 = require("./web/utils");
         ╵                         ~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/router/utils/middleware-route-matcher"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:33:40:
      33 │ const _middlewareroutematcher = require("../shared/lib/router/utils/middleware-route-matcher");
         ╵                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/router/utils/querystring"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:35:29:
      35 │ const _querystring = require("../shared/lib/router/utils/querystring");
         ╵                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/router/utils/remove-trailing-slash"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:36:37:
      36 │ const _removetrailingslash = require("../shared/lib/router/utils/remove-trailing-slash");
         ╵                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/router/utils/get-next-pathname-info"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:37:37:
      37 │ const _getnextpathnameinfo = require("../shared/lib/router/utils/get-next-pathname-info");
         ╵                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./body-streams"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:38:29:
      38 │ const _bodystreams = require("./body-streams");
         ╵                              ~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./api-utils"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:39:26:
      39 │ const _apiutils = require("./api-utils");
         ╵                           ~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./response-cache"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:40:71:
      40 │ const _responsecache = /*#__PURE__*/ _interop_require_wildcard(require("./response-cache"));
         ╵                                                                        ~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./lib/incremental-cache"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:41:34:
      41 │ const _incrementalcache = require("./lib/incremental-cache");
         ╵                                   ~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/router/utils/app-paths"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:42:26:
      42 │ const _apppaths = require("../shared/lib/router/utils/app-paths");
         ╵                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./setup-http-agent-env"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:43:35:
      43 │ const _setuphttpagentenv = require("./setup-http-agent-env");
         ╵                                    ~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./route-matches/pages-api-route-match"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:44:36:
      44 │ const _pagesapiroutematch = require("./route-matches/pages-api-route-match");
         ╵                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../lib/constants"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:45:28:
      45 │ const _constants1 = require("../lib/constants");
         ╵                             ~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./lib/trace/tracer"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:46:24:
      46 │ const _tracer = require("./lib/trace/tracer");
         ╵                         ~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./lib/trace/constants"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:47:28:
      47 │ const _constants2 = require("./lib/trace/constants");
         ╵                             ~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./lib/node-fs-methods"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:48:31:
      48 │ const _nodefsmethods = require("./lib/node-fs-methods");
         ╵                                ~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/router/utils/route-regex"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:49:28:
      49 │ const _routeregex = require("../shared/lib/router/utils/route-regex");
         ╵                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./pipe-readable"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:50:30:
      50 │ const _pipereadable = require("./pipe-readable");
         ╵                               ~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./lib/mock-request"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:51:29:
      51 │ const _mockrequest = require("./lib/mock-request");
         ╵                              ~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../client/components/app-router-headers"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:52:34:
      52 │ const _approuterheaders = require("../client/components/app-router-headers");
         ╵                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./web/spec-extension/adapters/next-request"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:53:29:
      53 │ const _nextrequest = require("./web/spec-extension/adapters/next-request");
         ╵                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./lib/module-loader/route-module-loader"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:54:35:
      54 │ const _routemoduleloader = require("./lib/module-loader/route-module-loader");
         ╵                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./load-manifest"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:55:30:
      55 │ const _loadmanifest = require("./load-manifest");
         ╵                               ~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./route-modules/app-page/module.render"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:56:30:
      56 │ const _modulerender = require("./route-modules/app-page/module.render");
         ╵                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./route-modules/pages/module.render"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:57:31:
      57 │ const _modulerender1 = require("./route-modules/pages/module.render");
         ╵                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../lib/interop-default"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:58:32:
      58 │ const _interopdefault = require("../lib/interop-default");
         ╵                                 ~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../lib/format-dynamic-import-path"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:59:41:
      59 │ const _formatdynamicimportpath = require("../lib/format-dynamic-import-path");
         ╵                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../lib/generate-interception-routes-rewrites"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:60:52:
      60 │ const _generateinterceptionroutesrewrites = require("../lib/generate-interception-routes-rewrites");
         ╵                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./route-kind"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:61:27:
      61 │ const _routekind = require("./route-kind");
         ╵                            ~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../shared/lib/invariant-error"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:62:32:
      62 │ const _invarianterror = require("../shared/lib/invariant-error");
         ╵                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./after/awaiter"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:63:25:
      63 │ const _awaiter = require("./after/awaiter");
         ╵                          ~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./lib/async-callback-set"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:64:34:
      64 │ const _asynccallbackset = require("./lib/async-callback-set");
         ╵                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./use-cache/handlers"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:65:26:
      65 │ const _handlers = require("./use-cache/handlers");
         ╵                           ~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "../lib/static-env"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:66:27:
      66 │ const _staticenv = require("../lib/static-env");
         ╵                            ~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./web/sandbox"

    .open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:1108:36:
      1108 │             const { run } = require('./web/sandbox');
           ╵                                     ~~~~~~~~~~~~~~~

/Users/ben/Development/breaka/huh/node_modules/.pnpm/esbuild@0.25.2/node_modules/esbuild/lib/main.js:1477
  let error = new Error(text);
              ^

Error: Build failed with 52 errors:
.open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:12:8: ERROR: Could not resolve "./node-environment"
.open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:14:8: ERROR: Could not resolve "./node-polyfill-crypto"
.open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:15:23: ERROR: Could not resolve "../shared/lib/utils"
.open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:18:30: ERROR: Could not resolve "../shared/lib/router/utils/route-matcher"
.open-next/server-functions/node_modules/.pnpm/next@15.3.1_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.js:19:29: ERROR: Could not resolve "./request-meta"
...
    at failureErrorWithLog (/Users/ben/Development/breaka/huh/node_modules/.pnpm/esbuild@0.25.2/node_modules/esbuild/lib/main.js:1477:15)
    at /Users/ben/Development/breaka/huh/node_modules/.pnpm/esbuild@0.25.2/node_modules/esbuild/lib/main.js:946:25
    at runOnEndCallbacks (/Users/ben/Development/breaka/huh/node_modules/.pnpm/esbuild@0.25.2/node_modules/esbuild/lib/main.js:1317:45)
    at buildResponseToResult (/Users/ben/Development/breaka/huh/node_modules/.pnpm/esbuild@0.25.2/node_modules/esbuild/lib/main.js:944:7)
    at /Users/ben/Development/breaka/huh/node_modules/.pnpm/esbuild@0.25.2/node_modules/esbuild/lib/main.js:971:16
    at responseCallbacks.<computed> (/Users/ben/Development/breaka/huh/node_modules/.pnpm/esbuild@0.25.2/node_modules/esbuild/lib/main.js:623:9)
    at handleIncomingPacket (/Users/ben/Development/breaka/huh/node_modules/.pnpm/esbuild@0.25.2/node_modules/esbuild/lib/main.js:678:12)
    at Socket.readFromStdout (/Users/ben/Development/breaka/huh/node_modules/.pnpm/esbuild@0.25.2/node_modules/esbuild/lib/main.js:601:7)
    at Socket.emit (node:events:518:28)
    at Socket.emit (node:domain:489:12) {
  errors: [Getter/Setter],
  warnings: [Getter/Setter]
}

Node.js v22.14.0

You can then try build with wrangler again:

> pnpm exec wrangler build             

 ⛅️ wrangler 4.14.1
-------------------


✘ [ERROR] Build failed with 1 error:

  ✘ [ERROR] Could not resolve
  "./server-functions/default/handler.mjs"
  
      .open-next/worker.js:31:45:
        31 │ ...andler } = await import("./server-functions/default/handler.mjs");
           ╵                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
  


🪵  Logs were written to "/Users/ben/Library/Preferences/.wrangler/logs/wrangler-2025-05-07_03-20-29_343.log"

@Benjamin-Dobell
Copy link
Author

Looks like I can progress if I add shamefully-hoist=true to my .npmrc, but that's, ah, not a good idea.

@conico974
Copy link
Collaborator

@Benjamin-Dobell Please create a new issue with a reproduction.
Monorepo should work just fine, this repo is a pnpm monorepo for example

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working waiting for feedback
Development

No branches or pull requests

5 participants