Skip to content

Incremental angular build with esbuild can't locate secondary entrypoints in 3rd party libraries #27805

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
sonikasharma1403 opened this issue Jun 10, 2024 · 5 comments
Labels
needs: repro steps We cannot reproduce the issue with the information given

Comments

@sonikasharma1403
Copy link

Which @angular/* package(s) are the source of the bug?

Don't known / other

Is this a regression?

No

Description

Incremental build with angular esbuild (@nx/angular:browser-esbuild and buildLibsFromSource=false) fails if referencing library secondary entrypoints in the code. It works with webpack (@nx/angular:webpack-browser), or when referencing secondary entrypoints in external libraries (from npm) (3rd party modules)

Please provide a link to a minimal reproduction of the bug

No response

Please provide the exception or error you saw

base.tsconfig.json has paths as `
  "paths": {
      "@cds/core": [
        "node_modules/@test/clr-core"
      ],
      "@cds/core/*": [
        "node_modules/@test/clr-core/*"
      ],

`

Please provide the environment you discovered this bug in (run ng version)

latest angular with Nx

Anything else?

image
@pkozlowski-opensource pkozlowski-opensource transferred this issue from angular/angular Jun 10, 2024
@alan-agius4
Copy link
Collaborator

This seems like a bug but we'll need to look at a reproduction to find and fix the problem. Can you setup a minimal repro please?

You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.

This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

@alan-agius4 alan-agius4 added the needs: repro steps We cannot reproduce the issue with the information given label Jun 10, 2024
@JoostK
Copy link
Member

JoostK commented Jun 11, 2024

Does this also apply to @angular/angular:browser-esbuild, not Nx's variant? They are different builders.

@clydin
Copy link
Member

clydin commented Jun 13, 2024

If those secondary entrypoints are using the package.json exports field then this is expected behavior. TypeScript specifically does not support this scenario and does not recommend using the paths option to map to node modules.
TypeScript Documentation on the topic: https://www.typescriptlang.org/docs/handbook/modules/reference.html#paths-should-not-point-to-monorepo-packages-or-node_modules-packages

@alan-agius4
Copy link
Collaborator

Thanks for reporting this issue. However, you didn't provide sufficient information for us to understand and reproduce the problem. Please check out our submission guidelines to understand why we can't act on issues that are lacking important information.

If the problem persists, please file a new issue and ensure you provide all of the required information when filling out the issue template.

@alan-agius4 alan-agius4 closed this as not planned Won't fix, can't repro, duplicate, stale Jul 11, 2024
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Aug 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs: repro steps We cannot reproduce the issue with the information given
Projects
None yet
Development

No branches or pull requests

4 participants