@@ -2,6 +2,7 @@ const babel = require('gulp-babel');
22const concat = require ( 'gulp-concat' ) ;
33const cssmin = require ( 'gulp-cssmin' ) ;
44const del = require ( 'del' ) ;
5+ const exec = require ( 'child_process' ) . exec ;
56const gulp = require ( 'gulp' ) ;
67const gulpif = require ( 'gulp-if' ) ;
78const postcss = require ( 'gulp-postcss' ) ;
@@ -85,6 +86,32 @@ function watch() {
8586 } , scripts ) ) ;
8687}
8788
89+ /**
90+ * Generate the language files to be consumed by front end.
91+ *
92+ * @returns {Promise<any> }
93+ */
94+ function i18n ( ) {
95+ return new Promise ( ( resolve , reject ) => {
96+ exec ( 'php artisan vue-i18n:generate' , { } , ( err , stdout , stderr ) => {
97+ return err ? reject ( err ) : resolve ( { stdout, stderr } ) ;
98+ } )
99+ } )
100+ }
101+
102+ /**
103+ * Generate the routes file to be used in Vue files.
104+ *
105+ * @returns {Promise<any> }
106+ */
107+ function routes ( ) {
108+ return new Promise ( ( resolve , reject ) => {
109+ exec ( 'php artisan ziggy:generate resources/assets/scripts/helpers/ziggy.js' , { } , ( err , stdout , stderr ) => {
110+ return err ? reject ( err ) : resolve ( { stdout, stderr } ) ;
111+ } ) ;
112+ } )
113+ }
114+
88115/**
89116 * Cleanup unused versions of hashed assets.
90117 */
@@ -93,9 +120,12 @@ function clean() {
93120}
94121
95122exports . clean = clean ;
123+ exports . i18n = i18n ;
124+ exports . routes = routes ;
96125exports . styles = styles ;
97126exports . scripts = scripts ;
98127exports . watch = watch ;
99128
129+ gulp . task ( 'components' , gulp . parallel ( i18n , routes ) ) ;
100130gulp . task ( 'scripts' , gulp . series ( clean , scripts ) ) ;
101- gulp . task ( 'default' , gulp . series ( clean , styles , scripts ) ) ;
131+ gulp . task ( 'default' , gulp . series ( clean , i18n , routes , styles , scripts ) ) ;
0 commit comments