Repository navigation
[typespec-ts] Sync tsconfig.src include with warp exports for multi-client packages - #4872
Conversation
…ti-client Co-authored-by: kazrael2119 <98569699+kazrael2119@users.noreply.github.com>
|
Copilot resolve conflicts |
…ail-to-build-multi-client-packages # Conflicts: # packages/typespec-ts/src/metadata/build-ts-config.ts Co-authored-by: kazrael2119 <98569699+kazrael2119@users.noreply.github.com>
commit: |
Jialin Huang (JialinHuang803)
left a comment
There was a problem hiding this comment.
Overall looks good to me. Just left some suggestions to simplify the comments.
Co-authored-by: JialinHuang803 <139532647+JialinHuang803@users.noreply.github.com>
Co-authored-by: JialinHuang803 <139532647+JialinHuang803@users.noreply.github.com>
Co-authored-by: JialinHuang803 <139532647+JialinHuang803@users.noreply.github.com>
|
All changed packages have been documented.
Show changes
|
|
Could this get a patch release off We're blocked on it in Azure/azure-rest-api-specs#45038 - Content Safety declares 3 typespec-java got patches off that branch three times last week (#5046, #5019, #4958). A dev build with the fix would unblock us too. |
Co-authored-by: kazrael2119 <98569699+kazrael2119@users.noreply.github.com>
|
Hi Connor Wood (@Connor-Wood) we've released a hot fix for it. The JS SDK automation pipeline failure of your PR should be resolved. |
Multi-client packages failed to build with
DIST_MISSING: the generatedconfig/tsconfig.src.*.jsonfiles hardcodedinclude: ["../src/index.ts"], whilewarp.config.ymlexported every client's entry point as a separate subpath (./devCenter→./src/devCenter/index.ts). Since the rootsrc/index.tsimports the deeper client/api files directly instead of re-exporting the per-client barrels, TypeScript never emitted those barrels todist, and warp's export validation failed.Changes
build-ts-config.ts: NewgetSrcIncludePaths(exports)derives theincludelist from the sameexportsmap that driveswarp.config.yml— mapping./src/...→../src/..., dropping non-.tsvalues (e.g.package.json), de-duplicating, and always keeping../src/index.tsas fallback. The fourbuildTsSrc{Esm,Browser,ReactNative,Cjs}Configbuilders now takeexports.index.ts: ThreadsmodularPackageInfo.exportsinto thebuildTsSrc*Configbuilders in both the initial-generation and update/migration paths, keeping the tsconfig inputs and warp exports in sync.test-next/unit/metadata/ts-config.test.tscovering default fallback, multi-client sync, non-.tsfiltering, de-duplication, and per-target propagation.For the multi-client example in the issue, the emitted configs now include every exported barrel: