Después de la 0.11 (pero antes de la 0.12 ) planeo reorganizar el repositorio en un monorepo usando los espacios de trabajo de Yarn y volver a implementar el módulo pegjs en módulos independientes que en su mayoría viven en @pegjs (con las gramáticas oficiales en @peg ).
A continuación hay una lista de módulos que actualmente planeo implementar, pero esto podría cambiar antes de que se lance 0.12.
0.12.x
)¿Significa esto que los usuarios intermedios tienen que cambiarse a yarn?
No mueva una de las principales herramientas de Internet a una estrategia de compilación experimental de nicho en una infraestructura de compilación diferente administrada por una empresa en la que muchos de nosotros no confiamos.
El hilo se está muriendo y los espacios de trabajo están mal diseñados
La mayoría de los usuarios de nodos no cambiarán a yarn por ti
https://stackoverflow.com/questions/46947557/do-yarn-workspaces-work-with-npm-too
Estaría feliz de ayudarlo a construir una estructura de construcción moderna normal que no requiera que todos cambien las herramientas a las cosas de Facebook, si desea esa ayuda.
Puede usar rollup y babel (o cualquier cantidad de otras configuraciones) para hacer ES5 simple a partir de eso sin gastos generales. No requiere una nueva infraestructura completa.
En el proceso, podría agregar algunas otras cosas realmente importantes, como compatibilidad con mecanografiado y tipo de flujo, compatibilidad con el módulo es6 y otras cosas.
@StoneCypher Mantenga al compañero de su caballo 😆 Yarn es solo una alternativa a NPM, por lo que los usuarios intermedios pueden tener NPM, Yarn o muchos otros que están apareciendo, sin preocuparse por los espacios de trabajo porque esta es una característica que solo será utilizada por el root package.json ( "private": true
) dentro de este repositorio, todos los submódulos mencionados anteriormente serán módulos independientes publicados en NPM que separan diferentes partes del código y simplemente me facilitan la vida a mí o a cualquiera que esté desarrollando y/o hackear el compilador PEG.js.
Además, Rollup y Babel abordan problemas diferentes entre sí y con Yarn:
siempre y cuando esto no me obligue a hilo
Entonces, me obligaste a escribir hilo. Varios de los PR de otras personas que se ha negado a fusionar han intentado retirarlo porque yarn
está muriendo y es una herramienta de baja calidad que no funciona bien en Windows.
yarn
no ofrece ningún valor.
yarn
ofrece una barrera significativa: muchas personas no instalarán un nuevo administrador de paquetes para ayudarlo (me negué varias veces antes de colapsar) y muchas otras personas no pueden hacerlo debido a la política de trabajo.
El comportamiento de npm
ha cambiado. yarn
no se ha mantenido al día. El comportamiento yarn
ahora difiere significativamente de las expectativas de la comunidad.
El monorepo tampoco proporciona valor, crea un paso de construcción adicional complejo, desafía las normas y confunde a los contribuyentes potenciales.
Todo esto fue mucho más trabajo que el trabajo de características que no estás haciendo.
Creo que puede haberse confundido acerca de la naturaleza de mi objeción.
Este es un trabajo desperdiciado que hace que sea más difícil para las personas unirse (no es que importe, ya que desde el mes pasado hiciste que sea literalmente imposible que alguien contribuya a lo que ahora llamas "tu proyecto de pasatiempo" y esperas reemplazarlo al por mayor).
Esto ralentiza la construcción y pierde las nuevas herramientas que tiene npm
y yarn
no.
Yarn estaba muriendo en 2018. Es 2020. Yarn está básicamente muerto ahora.
Hace años que no lo tengo instalado en ninguno de mis ordenadores. Tuve que reinstalarlo por ti.
Deje que este sea un proyecto normal con patrones de desarrollo normales y saludables nuevamente, en lugar de su base de código privada que usa herramientas marginales que pasan tres años sin un lanzamiento a pesar de las correcciones de base de código extremadamente importantes en el repositorio.
Sí, te veo tratando de explicar qué hace yarn
, pero todos saben qué hace yarn
.
Creaste exactamente la nueva infraestructura que te pedí que no crearas hace dos años, y actualmente la estás desechando exactamente por las razones por las que dije que no funcionaría.
Comentario más útil
@StoneCypher Mantenga al compañero de su caballo 😆 Yarn es solo una alternativa a NPM, por lo que los usuarios intermedios pueden tener NPM, Yarn o muchos otros que están apareciendo, sin preocuparse por los espacios de trabajo porque esta es una característica que solo será utilizada por el root package.json (
"private": true
) dentro de este repositorio, todos los submódulos mencionados anteriormente serán módulos independientes publicados en NPM que separan diferentes partes del código y simplemente me facilitan la vida a mí o a cualquiera que esté desarrollando y/o hackear el compilador PEG.js.Además, Rollup y Babel abordan problemas diferentes entre sí y con Yarn: