Após 0.11 (mas antes de 0.12 ), estou planejando reorganizar o repositório em um monorepo usando áreas de trabalho do Yarn e reimplementar o módulo pegjs em módulos independentes que vivem principalmente em @pegjs (com as gramáticas oficiais em @peg ).
Abaixo está uma lista de módulos que pretendo implementar atualmente, mas isso pode mudar antes do lançamento da versão 0.12.
0.12.x
)isso significa que os usuários a jusante têm que mudar para o yarn?
Por favor, não mova uma das principais ferramentas da Internet para uma estratégia de construção experimental de nicho em uma infraestrutura de construção diferente gerenciada por uma empresa na qual muitos de nós não confiam
O fio está morrendo e os espaços de trabalho são mal projetados
A maioria dos usuários de nós não mudará para o yarn para você
https://stackoverflow.com/questions/46947557/do-yarn-workspaces-work-with-npm-too
Eu ficaria feliz em ajudá-lo a construir uma estrutura de construção moderna normal que não exija que todos mudem as ferramentas para as coisas do Facebook, se você quiser essa ajuda
Você pode usar rollup e babel (ou qualquer número de outras configurações) para tornar o ES5 simples a partir disso sem sobrecarga. Não requer uma infraestrutura totalmente nova.
No processo, eu poderia adicionar algumas outras coisas realmente importantes, como suporte a typescript e flowtype, suporte a módulo es6 e outras coisas
@StoneCypher Segure o companheiro do seu cavalo 😆 O Yarn é apenas uma alternativa ao NPM, para que os usuários downstream possam ter NPM, Yarn ou muitos outros que estão surgindo, sem se preocupar com workspaces porque esse é um recurso que será usado apenas pelo root package.json ( "private": true
) dentro deste repositório, todos os submódulos mencionados acima serão módulos independentes publicados no NPM que separam diferentes partes do código e apenas facilitam a vida de mim ou de qualquer pessoa que esteja desenvolvendo e/ou hackear o compilador PEG.js.
Além disso, Rollup e Babel abordam problemas diferentes um do outro e do Yarn:
contanto que isso não me obrigue a fio
Então, você me forçou em fios. Vários dos PRs de outras pessoas que você se recusou a mesclar tentaram retirá-lo, porque yarn
está morrendo e uma ferramenta de baixa qualidade que não funciona bem no Windows.
yarn
não oferece valor.
yarn
oferece uma barreira significativa - muitas pessoas não instalam um novo gerenciador de pacotes para ajudá-lo (eu recusei várias vezes antes de quebrar) e muitas outras pessoas não têm permissão por causa da política de trabalho.
O comportamento de npm
mudou. yarn
não acompanhou. O comportamento yarn
agora difere significativamente das expectativas da comunidade.
O monorepo também não fornece valor, cria uma etapa de compilação extra complexa, desafia as normas e confunde potenciais contribuidores.
Tudo isso foi muito mais trabalho do que o trabalho de recurso que você não está fazendo.
Acho que você pode ter se confundido com a natureza da minha objeção.
Este é um trabalho desperdiçado que dificulta a adesão das pessoas (não que isso importe, já que no mês passado você tornou literalmente impossível para qualquer pessoa contribuir para o que você agora chama de "seu projeto de hobby" e espera substituir por atacado).
Isso retarda a construção e perde as novas ferramentas que npm
tem que yarn
não tem.
O fio estava morrendo em 2018. É 2020. O fio está basicamente morto agora.
Há anos que não o tenho instalado em nenhum dos meus computadores. Eu tive que reinstalá-lo para você.
Por favor, deixe que este seja um projeto normal com padrões normais de desenvolvimento saudável novamente, em vez de sua base de código privada usando ferramentas marginais que passam três anos sem lançamento, apesar das correções de base de código extremamente importantes no repositório.
Sim, eu vejo você tentando explicar o que yarn
faz, mas todo mundo sabe o que yarn
faz.
Você criou exatamente a nova infraestrutura que eu lhe pedi para não criar dois anos atrás, e atualmente você a está jogando fora exatamente pelas razões que eu disse que não funcionaria.
Comentários muito úteis
@StoneCypher Segure o companheiro do seu cavalo 😆 O Yarn é apenas uma alternativa ao NPM, para que os usuários downstream possam ter NPM, Yarn ou muitos outros que estão surgindo, sem se preocupar com workspaces porque esse é um recurso que será usado apenas pelo root package.json (
"private": true
) dentro deste repositório, todos os submódulos mencionados acima serão módulos independentes publicados no NPM que separam diferentes partes do código e apenas facilitam a vida de mim ou de qualquer pessoa que esteja desenvolvendo e/ou hackear o compilador PEG.js.Além disso, Rollup e Babel abordam problemas diferentes um do outro e do Yarn: