@@ -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' ) ;
@@ -74,6 +75,32 @@ function watch() {
7475 } , scripts ) ) ;
7576}
7677
78+ /**
79+ * Generate the language files to be consumed by front end.
80+ *
81+ * @returns {Promise<any> }
82+ */
83+ function i18n ( ) {
84+ return new Promise ( ( resolve , reject ) => {
85+ exec ( 'php artisan vue-i18n:generate' , { } , ( err , stdout , stderr ) => {
86+ return err ? reject ( err ) : resolve ( { stdout, stderr } ) ;
87+ } )
88+ } )
89+ }
90+
91+ /**
92+ * Generate the routes file to be used in Vue files.
93+ *
94+ * @returns {Promise<any> }
95+ */
96+ function routes ( ) {
97+ return new Promise ( ( resolve , reject ) => {
98+ exec ( 'php artisan ziggy:generate resources/assets/scripts/helpers/ziggy.js' , { } , ( err , stdout , stderr ) => {
99+ return err ? reject ( err ) : resolve ( { stdout, stderr } ) ;
100+ } ) ;
101+ } )
102+ }
103+
77104/**
78105 * Cleanup unused versions of hashed assets.
79106 */
@@ -82,9 +109,12 @@ function clean() {
82109}
83110
84111exports . clean = clean ;
112+ exports . i18n = i18n ;
113+ exports . routes = routes ;
85114exports . styles = styles ;
86115exports . scripts = scripts ;
87116exports . watch = watch ;
88117
118+ gulp . task ( 'components' , gulp . parallel ( i18n , routes ) ) ;
89119gulp . task ( 'scripts' , gulp . series ( clean , scripts ) ) ;
90- gulp . task ( 'default' , gulp . series ( clean , styles , scripts ) ) ;
120+ gulp . task ( 'default' , gulp . series ( clean , i18n , routes , styles , scripts ) ) ;
0 commit comments