Leosvel Pérez Espinosa ec6b707d13 fix(js): use a unique typescript custom condition name for the workspace (#32429)
## Current Behavior

Workspaces using the new setup with TS project references + package
manager workspaces are generated with a custom condition named
`development`. Projects have a conditional `development` entry point
that points to the source to improve the DX in the repo.

This condition name can cause issues with published libraries because
it's not unique, and some build tools automatically pick it up. While
using it locally in the workspace is safe because the source file
exists, this is not the case when the published library is used outside
the workspace.

## Expected Behavior

Workspaces using the new setup with TS project references + package
manager workspaces should be generated with a unique custom condition
named after the name in the root `package.json` file. Projects should
have a conditional entry point matching that name and pointing to the
source to improve the DX in the repo.

Users can customize the custom condition and name it something else as
long as it starts with `@nx-source/` so that Nx generators and helpers
can identify it. Additionally, in the unlikely scenario that the root
`package.json` doesn't have a `name` set, Nx will fall back to use
`@nx/source`.

This new behavior matches an emerging pattern of using scoped custom
export conditions for pointing to the source:

- [Announcing TypeScript
5.7](https://devblogs.microsoft.com/typescript/announcing-typescript-5-7/#path-rewriting-for-relative-paths:~:text=As%20a%20result%2C%20if%20you%E2%80%99ve%20been%20using%20a%20workspace%2Dstyle%20layout%20with%20multiple%20packages%20referencing%20each%20other%2C%20you%20might%20need%20to%20use%20conditional%20exports%20with%20scoped%20custom%20conditions%20to%20make%20this%20work%3A)
- [Live types in a TypeScript
monorepo](https://colinhacks.com/essays/live-types-typescript-monorepo#:~:text=Here%27s%20how%20a%20custom%20condition%20might%20look%20in%20your%20package.json.%20There%27s%20nothing%20special%20about%20the%20string%20%22%40colinhacks/zod%22%20here!%20It%20could%20be%20anything.)
- [Loading from
Source](https://github.com/isaacs/tshy?tab=readme-ov-file#loading-from-source)

## Related Issue(s)

Fixes #31332
2025-08-26 09:25:06 +02:00

Nx - Smart Repos · Fast Builds

CircleCI License NPM Version Semantic Release Commitizen friendly Join the chat at https://gitter.im/nrwl-nx/community Join the Official Nx Discord Server


Smart Repos · Fast Builds

An AI-first build platform that connects everything from your editor to CI. Helping you deliver fast, without breaking things.

Create a new Nx workspace with

npx create-nx-workspace

...or run

npx nx init

to add Nx to your existing workspace to get faster task scheduling, caching and more. More in the docs.

Learn about CI with Nx Cloud

Nx Cloud connects directly to your existing CI setup, helping you scale your monorepos on CI by leveraging remote caching, task distribution across multiple machines, automated e2e test splitting and automated task flakiness detection

Connect your existing Nx workspace with

npx nx connect

Learn more in the Nx CI docs »

Nx - Smart Repos · Fast Builds

Want to help?

If you want to file a bug or submit a PR, read up on our guidelines for contributing and watch this video that will help you get started.

Nx - How to contribute video

Core Team

Victor Savkin Jason Jean Benjamin Cabanes Jack Hsu
Victor Savkin Jason Jean Benjamin Cabanes Jack Hsu
vsavkin FrozenPandaz bcabanes jaysoo
James Henry Jon Cammisuli Isaac Mann Juri Strumpflohner
James Henry Jon Cammisuli Isaac Mann Juri Strumpflohner
JamesHenry cammisuli isaacplmann juristr
Philip Fulcher Caleb Ukle Colum Ferry Emily Xiong
Philip Fulcher Caleb Ukle Colum Ferry Emily Xiong
philipjfulcher barbados-clemens Coly010 xiongemi
Miroslav Jonaš Leosvel Pérez Espinosa Zachary DeRose Craigory Coppola
Miroslav Jonaš Leosvel Pérez Espinosa Zachary DeRose Craigory Coppola
meeroslav leosvelperez ZackDeRose AgentEnder
Chau Tran Nicholas Cunningham Max Kless
Chau Tran Nicholas Cunningham Max Kless
nartc ndcunningham MaxKless
S
Description
Nx 是面向开发者和 AI 智能体的单体仓库平台,能优化构建、加速 CI、自动修复失败的 PR,交付周期缩短一半。|GitHub 镜像 29.3k · 🍴 3k
https://github.com/nrwl/nx Readme MIT 954 MiB
Languages
HTML 100%