Ejecute brunch desde diferentes directorys y use routes relativas

Queremos usar el mismo sistema de compilation en múltiples proyectos. Tengo un file de configuration de brunch que quiero poner en un submodule de git, para que ese submodule pueda ser referencedo en múltiples proyectos y los cambios se propaguen fácilmente (less frágil que copyr y pegar y establecer una fuente autorizada de brunch-config.js) .

Sin embargo, poner brunch-config.js en un submodule git hace que la estructura de mi carpeta termine así:

WebApp // git root |---Brunch-Build-System // git submodule | |---brunch-config.js |---node_modules |---source // all the source code I want compiled 

Brunch opera asumiendo que brunch-config.js estaría en el mismo nivel o más alto que la fuente que se está comstackndo. En esta configuration, este no es el caso. Intenté modificar mi brunch-config.js para usar una ruta relativa en vano. Aquí está mi bloque de files de la configuration de Brunch tal como está actualmente, sin ningún bash relativo de ruta:

 files: { javascripts: { joinTo: { 'js/lib.js': /^(?!source\/)/ }, entryPoints: { 'source/scripts/app.jsx': { 'js/app.js': /^source\// }, } }, stylesheets: {joinTo: 'css/core.css'} } 

¿Cómo podría modificar esto para usar una ruta relativa dada la estructura de carpetas deseada arriba? ¿Esto es posible?

Un submodule necesita asociarse con una carpeta raíz dentro del repository principal: es el gitlink (una input especial en el índice repo principal ) que registra qué SHA1 ese submodule está desprotegido.

En su caso, sería mejor si puede usar, en un enlace posterior a la salida , un script que garantice que haya un enlace simbólico entre:

  • brunch-config.js en su lugar correcto y
  • ese Brunch-Build-System / brunch-config.js del submodule

Las líneas para include en el gancho serían algo así como

 #!/bin/bash if [ ! -e /correct/path/for/brunch-config.js ]; then ln -s /correct/path/for/brunch-config.js Brunch-Build-System/brunch-config.js fi 

Aunque el OP está en Windows:

Terminé simplemente copyndo el file por progtwigción y procesando el file copydo

En general, brunch admite routes relativas. Pero para que funcione, primero debes asegurarte de que las demás carpetas estén watched . Vea esta parte en los documentos . Para su caso, agregue esto a su configuration.

 paths = { watched: ['../source', '../node_modules'], } 

Luego anteponga los RegExs por ..\/ .

 joinTo: { 'js/lib.js': /^..\/(?!source\/)/ }, entryPoints: { 'source/scripts/app.jsx': { 'js/app.js': /^..\/source\// }, } 

En lugar de un RegEx, también puede escribir una function que toma la ruta como un argumento y tiene que devolver si la ruta debe includese o no. Vea esta parte en los documentos .

    Intereting Posts