madbob/GASdottoNG

View on GitHub
code/HACK

Summary

Maintainability
Test Coverage
# Assets

Gli assets, Javascript e CSS, vengono compilati usando Laravel Mix.

Al primo setup eseguire `cd code; npm install` per installare le dipendenze, dopodiché `npm run watch` per la modalità di sviluppo (in cui il tutto viene ricompilato automaticamente quando viene fatta una modifica) oppure `npm run prod` (per compilare e minificare tutti gli assets).

# Traduzioni

Per aggiornare i file delle traduzioni: `php artisan gettext:update`

Per aggiornare il file delle traduzioni Javascript: `xgettext -j --from-code=UTF-8 public/js/*.js -o resources/lang/i18n/it_IT/LC_MESSAGES/javascript.po`

Per generare i file Javascript delle traduzioni:

```
python po2js.py resources/lang/i18n/it_IT/LC_MESSAGES/javascript.po
mv resources/lang/i18n/it_IT/LC_MESSAGES/javascript.js public/js/lang/it-IT.js
```

Script completo:

```
for i in `ls resources/lang/i18n/`
do
    xgettext -j --from-code=UTF-8 public/js/*.js -o resources/lang/i18n/${i}/LC_MESSAGES/javascript.po
    po2js.py resources/lang/i18n/${i}/LC_MESSAGES/javascript.po
    f=`echo $i | sed "s/_/-/g"`
    mv resources/lang/i18n/${i}/LC_MESSAGES/javascript.js public/js/lang/${f}.js
done
```

L'utility `po2js.py` è reperibile [qui](https://github.com/fileformat/lptools/blob/master/po2js.py).

Per sincronizzare le traduzioni da Weblate:

```
git remote update weblate
git merge weblate/master
```

# Testing

Per eseguire i test e farsi generare il report di coverage:

```
XDEBUG_MODE=coverage ./vendor/bin/phpunit --stop-on-error --stop-on-failure --coverage-html=/tmp/gasdotto
```