Temos um repositório mono-laravel e estamos migrando para um limpador, mais fácil de manter a reinicialização do desenvolvedor.
Recentemente, passamos a migrar nossas visualizações existentes baseadas em PHP para vários "recursos" baseados em React que vivem em um /react
diretório e são organizados em /react/featureName
subdiretórios. Isso significa que os controladores do Laravel lidam principalmente apenas com dados e autenticação.
Cada recurso é mantido por um ou mais desenvolvedores, tem suas próprias dependências, testes e funcionalidades.
No momento, estamos veiculando construções na raiz pública do nosso projeto, organizadas por recurso:
js/FeatureName.hashed.js
css/FeatureName.hased.css
o que funciona muito bem, exceto que compartilhamos muitos pacotes features
. Reagir em si, reagir roteador etc.
Pretendemos usar o Laravel o mix.js
máximo possível, mas hackers diretamente webpack.config
também são uma opção.
Explorei a mix.extract()
opção que nos permite definir compilações vendor.js separadas de outras lógicas de aplicativos, mas elas param por aí.
Então, aqui estão as minhas questões)
- Quais abordagens existem para gerenciar vários
package.json
arquivos que vivem em cada diretório de recursos - Como identificamos pacotes comuns e os bloqueamos em um
/package.json
arquivo raiz . (Independentemente, todos os desenvolvedores já usamyarn
) - Como fazer isso com o mínimo de atrito possível para todos os desenvolvedores baseados em reação - para que eles simplesmente continuem com o que já estão fazendo e o DevOps lide com os bits mais difíceis?
Entendo que pode haver necessidade de mais informações, grite o que você precisa nos comentários e ficarei feliz em atualizar a pergunta.