-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgulpfile.js
More file actions
40 lines (31 loc) · 1.14 KB
/
gulpfile.js
File metadata and controls
40 lines (31 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
require( 'dotenv' ).config()
const gulp = require( 'gulp' )
require( '@ilabdev/clean' )( gulp )
require( '@ilabdev/styles' )( gulp )
require( '@ilabdev/scripts' )( gulp )
require( '@ilabdev/webpack' )( gulp )
require( '@ilabdev/translate' )( gulp )
require( '@ilabdev/browsersync' )( gulp )
require( '@ilabdev/archive' )( gulp )
const { glob } = require( 'glob' )
const { execSync } = require( 'node:child_process' )
const {
logger,
} = require( '@ilabdev/utils' )
const config = require( `${process.cwd()}/.gulpconfig.js` ).po2json
const logColor = config.logColor || 'black'
gulp.task( 'translate:json', ( cb ) => {
if ( config.process ) {
logger.log( 'Converting PO to JSON...', logColor )
}
let files = []
config.paths.forEach( ( dir ) => {
files = files.concat( glob( dir, { sync: true, stat: true, withFileTypes: true } ) )
} )
files.forEach( ( file ) => {
execSync( `${config.bin} i18n make-json ${file} --no-purge ${config.pretty ? '--pretty-print' : ''}`, config.execSync )
} )
logger.log( 'PO to JSON conversion complete!', logColor )
return cb()
} )
require( '@ilabdev/default' )( gulp )