Espressioni mancanti (o "opzionali") in manubrio.js?
-
11-11-2019 - |
Domanda
Sto scrivendo uno script build in nodo. In breve, lo script fa quanto segue:
- richiede informazioni sull'utente (nome del progetto, descrizione, ecc.
- cloni un modello di repo di modello
- Rinomina i file dal nome modello (eg com_foo_template.js -> com_foo_myproject.js)
- Sostituisce i token in alcuni file del modello in base all'ingresso nel passaggio 1
Sto tentando di utilizzare il manubrio.js per la fase di sostituzione del token.
C'è una seconda fase per la distribuzione, che prevede anche la sostituzione dei token. Questa è la radice della mia domanda.
In alcuni file, tutti i token contenuti all'interno verranno sostituiti durante il tempo di inizio (il clone/rinomina/sostituire la parte). In altri file, solo alcuni di questi token verranno sostituiti al momento iniziale e altri non saranno sostituiti fino a quando il passaggio di distribuzione (cose come la data di distribuzione, il commit git hash, ecc.). Considera il seguente file:
<zimletConfig name="{{name}}" version="{{deploy_version}}">
<global>
<property name="allowedDomains">*.foo.com</property>
<property name="gitCommit">{{gitcommit}}</property>
<property name="deployDate">{{deploydate}}</property>
</global>
</zimletConfig>
In questo file, solo {{name}} dovrebbe essere sostituito al tempo iniziale; Gli altri token dovrebbero essere sostituiti solo al tempo di distribuzione. Quando eseguo il mio passaggio Init, tuttavia, i token di distribuzione-time vengono sostituiti con stringhe vuote:
<zimletConfig name="com_foo_myproject" version="">
<global>
<property name="allowedDomains">*.foo.com</property>
<property name="gitCommit"></property>
<property name="deployDate"></property>
</global>
</zimletConfig>
C'è un modo per avere manubri non sostituire i token se non esistono nell'oggetto trasmesso?
Nessuna soluzione corretta