loopbackio / loopbackio/loopback-next
Spike: Switch from lerna to pnpm workspaces
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 5.1k
- Forks
- 1.1k
- Merge medio
- 2 d 21 h
- PR fusionados (30 d)
- 27
Descripción
Our current lerna-based setup is very inefficient. Most of the pull requests in this repository are created by RenovateBot to update package-lock files, our git history is full of RenovateBot commits that make it difficult to spot relevant changes.
Let's investigate how to switch from lerna to [pnpm](https://pnpm.js.org/) and use a single root package-lock file for the entire monorepo.
References:
- pnpm workspaces: https://pnpm.js.org/en/workspaces
- Travis CI setup: https://pnpm.js.org/en/continuous-integration#travis
Topics to investigate:
- How to release new versions using conventional release process? Can we perhaps use https://github.com/atlassian/changesets? Related: https://github.com/pnpm/pnpm/issues/2225
- Does RenovateBot support pnpm? If not, is there any other bot we could use instead? E.g. GitHub's [Dependabot](https://github.com/dependabot). Related: https://github.com/renovatebot/renovate/issues/2015
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con las referencias a pnpm workspaces y Travis CI en el issue y, después, examina los workflows actuales de Lerna, package-lock, RenovateBot y releases. Se considerará terminado cuando se documente un plan de migración viable, incluido el manejo de releases y el soporte para actualizaciones de dependencias, en lugar de realizar un cambio de implementación.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- nodejs, typescript
- Área
- build-system, devops, release, tooling
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100