JamieMason / syncpack

Consistent dependency versions in large JavaScript Monorepos.
https://jamiemason.github.io/syncpack/
MIT License
1.34k stars 44 forks source link

fix(types): support importing types into CJS projects #211

Open moltar opened 2 months ago

moltar commented 2 months ago

Description

Going from 12.3.0 -> 12.3.1 introduced a breaking change (going ESM).

I had a CJS package that depended on the types from syncpack, and I cannot build it due to this change.

Suggested Solution

Option 1: Publish types separately, e.g. @syncpack/types.

Option 2: Dual publish CJS/ESM package (e.g. using tsup).

Help Needed

N/A

JamieMason commented 2 months ago

No worries @moltar, I did think about this and ultimately went the way I did given syncpack is a CLI rather than a library. It's a fair point though, I'll have a think about what can be done for you, thanks!

JamieMason commented 2 months ago

In the meantime, I just learned about https://github.com/unjs/jiti which might serve as a workaround.

moltar commented 2 months ago

Jiti is a great project. But I think because it uses require, it wouldn't benefit my case, as I am actually just interested in the types. I use these types to build up a config object programmatically.