You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I see no difference between setting up a library to be publishable or buildable. And similarly setting a type library to the application. Documentation is poor around both of the concepts and I don't see the value around it.
The scenario: have a monorepo of a couple of js libraries where some of them are publishable. The publishable libraries reference the buildable ones.
Everything works until the time of publishing/releasing the "publishable" libraries. And the problems start here. There is no straightforward configuration relying on previous publishable/buildable configurations. It seems like the initial decision to mark it as publishable or not makes no difference.
Buildable libraries are described as:
Buildable libraries are similar to "publishable libraries" described above. Their scope however is not to distribute or publish them to some external registry. Thus they might not be optimized for bundling and distribution.
And I understand them like this. But, when it comes to publishing libraries that depend on them, they introduce more problems than advantages. They are not supposed to be distributed to an external registry but default configurations of many Nx pieces (build, eslint) don't treat them like this. Publishable libraries are built without including the buildable libraries into their artifacts, the internal packages are required inside package.json. The setup is really difficult. Especially after removing the external configuration (some resources here).
There are some concepts in Nx that seem to be abandoned or never properly finished. This is difficult to understand many things in this project and hard to convenience others to use it. I appreciate how many things are provided but the smaller and bigger issues here and there make it hard to convince folks to use it... They prefer to write their own script because they understand it.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I see no difference between setting up a library to be publishable or buildable. And similarly setting a type library to the application. Documentation is poor around both of the concepts and I don't see the value around it.
The scenario: have a monorepo of a couple of js libraries where some of them are publishable. The publishable libraries reference the buildable ones.
Everything works until the time of publishing/releasing the "publishable" libraries. And the problems start here. There is no straightforward configuration relying on previous publishable/buildable configurations. It seems like the initial decision to mark it as publishable or not makes no difference.
Buildable libraries are described as:
And I understand them like this. But, when it comes to publishing libraries that depend on them, they introduce more problems than advantages. They are not supposed to be distributed to an external registry but default configurations of many Nx pieces (build, eslint) don't treat them like this. Publishable libraries are built without including the buildable libraries into their artifacts, the internal packages are required inside package.json. The setup is really difficult. Especially after removing the
external
configuration (some resources here).There are some concepts in Nx that seem to be abandoned or never properly finished. This is difficult to understand many things in this project and hard to convenience others to use it. I appreciate how many things are provided but the smaller and bigger issues here and there make it hard to convince folks to use it... They prefer to write their own script because they understand it.
Beta Was this translation helpful? Give feedback.
All reactions