Skip to content

library builder: entry points a/b and a-b are built into the same bundle #34128

Description

@thekhegay

Command

build

Is this a regression?

  • Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

No response

Description

Found while testing #34106 cc @alan-agius4

Two entry points whose names differ only by / vs - (like zz/child and zz-child) get the same bundle name. The build passes with exit 0, one entry point's code overwrites the other's, and both exports point at the same file.

Minimal Reproduction

  1. projects/lib/zz/child/public-api.ts: export const NESTED = 'nested';
  2. projects/lib/zz-child/public-api.ts: export const FLAT = 'flat';
  3. entryPoints: "./zz-child": "projects/lib/zz-child/public-api.ts" and "./zz/child": "projects/lib/zz/child/public-api.ts"
  4. ng build mylib exits 0, fesm2022 has a single mylib-zz-child.mjs with only NESTED, and both ./zz-child and ./zz/child in exports point at it
  5. import { FLAT } from 'mylib/zz-child' fails in the consumer

Exception or Error


Your Environment

@angular/build built from #34106 (005e05ee) with the repo's own bazel build
Angular CLI 22.1.8
Angular 22.1.7
Node 24.16.0
pnpm 11
macOS 25.6, 14 cores, 24 GB

Anything else relevant?

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions