Closed
Description
Hey!
Currently, the @commitlint/config-lerna-scopes depends on the deprecated @lerna/project which is not maintained, nor does it exist anymore. I'd be willing to contribute to the package to make the deprecated dependency an optional peer dependency, however a few thoughts crossed my mind which I'd want to discuss before investing time;
- Wouldn't it be a good idea to split the
config-workspace-scopes
into a separate package - with no dependencies - for the users who only need support forworkspaces
inpackage.json
? - What is your policy regarding backwards compatibility? I saw that the current implementation even implements support for v3 and lower which correlate to Node.js v6.x & v8.x (support ended on 31st of December 2019, also no commercial support available).
- With Lerna v5 they set the default mode for package resolution to the
package.json
workspaces
field, so most of the users transitioned to them - After the takeover from nrwl the project got into a pretty messy phase without really stable APIs as they proxied most of the internal work to
nx
and I wasn't able to find a reliable way in each version on how to retrieve them safely - With v7.1.0 they re-introduced a detectProjects method which allows to programmatically retrieve the project graph, this is also still present in v8. However most of the users already have transitioned to
nx
because of the state of the project.
My summary as well as proposal would be:
- Create a
config-workspace-scopes
for those who are only using yarn or npm workspaces with the existing logic part from the lerna config - Drop support for lerna < 7.1.0, get rid of the deprecated
@lerna/project
and use their "new" API to retrieve the packages
I'm looking forward to your feedback and thoughts on this topic!
*edited to fix misspelled words
Metadata
Metadata
Assignees
Labels
No labels