atproto
atproto copied to clipboard
Unideal distribution for ATP client library
a little unusual issue so I think it might be best if I skip the issue template here, sorry for that.
the way @atproto/api
is being bundled and distributed for use by users is unideal, maybe more than unideal.
there are several @atproto/*
packages marked as a regular dependency, even though they've been bundled in, and the corresponding npm packages aren't being updated at all
https://github.com/bluesky-social/atproto/blob/0ee6dc45a5d8d4a90665662261c76d0c1bc37051/packages/api/package.json#L24-L26
these dependencies shouldn't be bundled as they aren't internal packages, if one happens to also use zod
or graphemer
in other parts of their application/project then they'd end up having a duplicate copy thanks to @atproto/api
bundling them in, these should be marked as external on esbuild
https://github.com/bluesky-social/atproto/blob/0ee6dc45a5d8d4a90665662261c76d0c1bc37051/packages/api/package.json#L27-L28
including these dependencies from @atproto/common-web
https://github.com/bluesky-social/atproto/blob/0ee6dc45a5d8d4a90665662261c76d0c1bc37051/packages/common-web/package.json#L27-L30
I'm having issues with cloning and getting the monorepository to work at all at the moment, but to top this off, the way @atproto/common-web
is being depended by @atproto/api
and @atproto/common
seems to make it a hassle if the dependencies above were to be made peer dependencies, I'm not sure if there's a better way to work around this.