loopbackio / loopbackio/loopback-next

Spike: Switch from lerna to pnpm workspaces

Abierto
#5,671 8 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Internal Tooling spike
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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.