nrwl/nx

@nx/webpack:webpack executor fails after setup-ssr

Opened this issue · 1 comments

Current Behavior

After a very basic initial setup of react with webpack and then running the setup-ssr generator, I get the error below.

ERROR in main
Module not found: Error: Can't resolve './src' in '/Users/me/my-org/apps/my-app'
resolve './src' in '/Users/me/my-org/apps/my-app'
  using description file: /Users/me/my-org/package.json (relative path: ./apps/my-app)
    using description file: /Users/me/my-org/package.json (relative path: ./apps/my-app/src)
      no extension
        /Users/me/my-org/apps/my-app/src is not a file
      .ts
        /Users/me/my-org/apps/my-app/src.ts doesn't exist
      .tsx
        /Users/me/my-org/apps/my-app/src.tsx doesn't exist
      .mjs
        /Users/me/my-org/apps/my-app/src.mjs doesn't exist
      .js
        /Users/me/my-org/apps/my-app/src.js doesn't exist
      .jsx
        /Users/me/my-org/apps/my-app/src.jsx doesn't exist
      as directory
        existing directory /Users/me/my-org/apps/my-app/src
          using description file: /Users/me/my-org/package.json (relative path: ./apps/my-app/src)
            using path: /Users/me/my-org/apps/my-app/src/index
              using description file: /Users/me/my-org/package.json (relative path: ./apps/my-app/src/index)
                no extension
                  /Users/me/my-org/apps/my-app/src/index doesn't exist
                .ts
                <... so on and so forth>

Expected Behavior

the generated server target should run successfully

GitHub Repo

No response

Steps to Reproduce

  1. npx create-nx-workspace --name my-org --preset react-monorepo --appName my-app --bundler webpack --e2eTestRunner none --style css --ci skip

  2. cd my-org/ && npx nx g setup-ssr --project my-app && npx nx run my-app:server

Nx Report

NX   Report complete - copy this into the issue template

Node           : 20.18.0
OS             : darwin-arm64
Native Target  : aarch64-macos
npm            : 10.8.2

nx                 : 20.2.0
@nx/js             : 20.2.0
@nx/jest           : 20.2.0
@nx/eslint         : 20.2.0
@nx/workspace      : 20.2.0
@nx/devkit         : 20.2.0
@nx/eslint-plugin  : 20.2.0
@nx/react          : 20.2.0
@nx/web            : 20.2.0
@nx/webpack        : 20.2.0
typescript         : 5.6.3
---------------------------------------
Registered Plugins:
@nx/webpack/plugin
@nx/eslint/plugin
@nx/jest/plugin

Failure Logs

Package Manager Version

No response

Operating System

  • macOS
  • Linux
  • Windows
  • Other (Please specify)

Additional Information

No response

I debugged this a bit, and it appears the culprit is NxAppWebpackPlugin, or at least how the scaffold sets it up to be used. It looks to me like an empty "main" webpack entrypoint is created in the configuration, so webpack will add one for './src' by default. We can add our own entry to pass along, although it's not defined in the types, but I'm not sure how that's getting interpreted or intended to be used because then the node process hangs.