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

オープン
#34,128 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@alan-agius4 がすでに取り組んでいます。

2026年9月19日 から。

評価

この issue はまだ評価されていません。

説明

angular/build:library area: @angular/build gemini-triaged
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

主要言語
TypeScript
スター
27k
フォーク
11.8k
平均マージ
16時間 21分
マージ済み PR(30日)
170

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

angular/angular-cli のほかの issue

angular/angular-cli の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。