Current File : /home/pacjaorg/wpt.pacja.org/wp-content/plugins/js_composer/gulp/watchScripts.js |
const path = require('path')
const { watch } = require('gulp')
const buildConfig = require('../build-config.json')
const { buildJs, buildJsLibs } = require('./buildScripts')
function watchJs() {
buildConfig.uglifyList.forEach((entry) => {
entry.src.forEach((path) => {
const jsFile = buildConfig.globalOptions.js.srcPath + path
watch(jsFile, buildJs)
})
})
}
function watchJsLibs(done) {
const srcPath = buildConfig.globalOptions.jsLibs.srcPath
return watch(path.join(srcPath, '**/*.js'), { ignoreInitial: false })
.on('change', (filePath) => {
// Only trigger buildJsLibs if the file wasn't a minified file
if (!filePath.endsWith('.min.js')) {
buildJsLibs(done)
}
})
}
function watchModuleJsFiles(done) {
const srcPath = buildConfig.modules.srcPath
return watch(path.join(srcPath, '**/*.js'), { ignoreInitial: false })
.on('change', (filePath) => {
if (!filePath.endsWith('.min.js')) {
buildJs(done,
buildConfig.modules.moduleUglifyList,
buildConfig.modules.srcPath,
buildConfig.modules.srcPath
)
}
})
}
function watchModuleJsMainFile(done) {
const srcPath = buildConfig.modulesMainFile.srcPath
return watch(path.join(srcPath, '**/*.js'), { ignoreInitial: false })
.on('change', (filePath) => {
if (!filePath.endsWith('.min.js')) {
buildJs(
done,
buildConfig.modulesMainFile.modulesMainFileUglifyList,
buildConfig.modulesMainFile.srcPath,
buildConfig.modulesMainFile.destPath
)
}
})
}
module.exports = {
watchJs,
watchJsLibs,
watchModuleJsFiles,
watchModuleJsMainFile
}