Skip to content

React Native app can't Resolve NX Library during EAS build #33083

@stretch0

Description

@stretch0

Current Behavior

When using a library generated with @nx/js:lib in a React Native application, the Metro bundler fails to resolve the library during the build process

[EAGER_BUNDLE] Error: Cannot resolve @buds/schemas

Import stack:
 apps/test-app/src/app/App.tsx
  | import "@test-org/mylib"

Expected Behavior

Running nx run test-app:build --profile preview --platform android --local when the app imports an nx lib should pass build

GitHub Repo

https://github.com/stretch0/test-app

Steps to Reproduce

  1. clone repo and npm install
  2. run build: nx run buds-app:build --profile preview --platform android --local

Nx Report

NX   Report complete - copy this into the issue template

Node           : 24.9.0
OS             : darwin-arm64
Native Target  : aarch64-macos
npm            : 11.6.0

nx                     : 21.6.4
@nx/js                 : 21.6.4
@nx/jest               : 21.6.4
@nx/eslint             : 21.6.4
@nx/workspace          : 21.6.4
@nx/detox              : 21.6.4
@nx/devkit             : 21.6.4
@nx/eslint-plugin      : 21.6.4
@nx/expo               : 21.6.4
@nx/module-federation  : 21.6.4
@nx/playwright         : 21.6.4
@nx/react              : 21.6.4
@nx/rollup             : 21.6.4
@nx/vite               : 21.6.4
@nx/web                : 21.6.4
typescript             : 5.9.3
---------------------------------------
Registered Plugins:
@nx/js/typescript
@nx/expo/plugin
@nx/eslint/plugin
@nx/jest/plugin
@nx/playwright/plugin
---------------------------------------
Cache Usage: 0.00 B / 92.64 GB

Failure Logs

[EAGER_BUNDLE] Android Bundling failed 1904ms apps/test-app/index.js (558 modules)
[EAGER_BUNDLE] Error: Cannot resolve @test-org/mylib
[EAGER_BUNDLE] Error: Cannot resolve @test-org/mylib
[EAGER_BUNDLE]     at firstResolver (/private/var/folders/br/6dzc_wc51g91d364xxnjqx6r0000gn/T/eas-build-local-nodejs/7f6059f3-2dc4-403a-afd4-a60eb338f3ec/build/node_modules/@nx/expo/plugins/metro-resolver.js:46:15)
[EAGER_BUNDLE]     at firstResolver (/private/var/folders/br/6dzc_wc51g91d364xxnjqx6r0000gn/T/eas-build-local-nodejs/7f6059f3-2dc4-403a-afd4-a60eb338f3ec/build/node_modules/@expo/cli/src/start/server/metro/withMetroResolvers.ts:108:16)
[EAGER_BUNDLE]     at resolveRequest (/private/var/folders/br/6dzc_wc51g91d364xxnjqx6r0000gn/T/eas-build-local-nodejs/7f6059f3-2dc4-403a-afd4-a60eb338f3ec/build/node_modules/@expo/cli/src/start/server/metro/withMetroResolvers.ts:137:16)
[EAGER_BUNDLE]     at Object.resolve (/private/var/folders/br/6dzc_wc51g91d364xxnjqx6r0000gn/T/eas-build-local-nodejs/7f6059f3-2dc4-403a-afd4-a60eb338f3ec/build/node_modules/metro-resolver/src/resolve.js:36:12)
[EAGER_BUNDLE]     at ModuleResolver.resolveDependency (/private/var/folders/br/6dzc_wc51g91d364xxnjqx6r0000gn/T/eas-build-local-nodejs/7f6059f3-2dc4-403a-afd4-a60eb338f3ec/build/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:74:31)
[EAGER_BUNDLE]     at DependencyGraph.resolveDependency (/private/var/folders/br/6dzc_wc51g91d364xxnjqx6r0000gn/T/eas-build-local-nodejs/7f6059f3-2dc4-403a-afd4-a60eb338f3ec/build/node_modules/metro/src/node-haste/DependencyGraph.js:239:43)
[EAGER_BUNDLE]     at /private/var/folders/br/6dzc_wc51g91d364xxnjqx6r0000gn/T/eas-build-local-nodejs/7f6059f3-2dc4-403a-afd4-a60eb338f3ec/build/node_modules/metro/src/lib/transformHelpers.js:161:21
[EAGER_BUNDLE]     at resolveDependencies (/private/var/folders/br/6dzc_wc51g91d364xxnjqx6r0000gn/T/eas-build-local-nodejs/7f6059f3-2dc4-403a-afd4-a60eb338f3ec/build/node_modules/metro/src/DeltaBundler/buildSubgraph.js:43:25)
[EAGER_BUNDLE]     at visit (/private/var/folders/br/6dzc_wc51g91d364xxnjqx6r0000gn/T/eas-build-local-nodejs/7f6059f3-2dc4-403a-afd4-a60eb338f3ec/build/node_modules/metro/src/DeltaBundler/buildSubgraph.js:81:30)
[EAGER_BUNDLE]     at processTicksAndRejections (node:internal/process/task_queues:105:5)
[EAGER_BUNDLE]

Package Manager Version

No response

Operating System

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

Additional Information

I am able to use nx generate @nx/react-native:library and the app is able to import the lib fine, it's just when using nx generate @nx/js:library that the import doesn't work

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions