user1976343 user1976343 - 1 month ago 13
Javascript Question

Gulp tasks not finish but works correctly

I run the task below, the task does not finish but the task works correctly. I use manually callback but nothing changes.

gulp.task('compileSrc',
function () {
const imgFilter = plugin.filter('**/*.{jpg,png,gif}', {restore: true});
const fontFilter = plugin.filter('**/*.{ttf,woff,woff2,eot,svg}', {restore: true});
const cssFilter = plugin.filter('**/*.css', {restore: true});
const jsFilter = plugin.filter('**/*.js', {restore: true});
const htmlFilter = plugin.filter('**/*.html', {restore: true});

return gulp.src([paths.src + '/css/**/*.css', paths.src + '/fonts/**/*', paths.src + '/img/**/*', paths.app + '/**/*'])
// CSS ******************************************************************
.pipe(cssFilter)
.pipe(plugin.concat('app.css')) // merge all css file to one file
// min css file
.pipe(
plugin.minCss({
compatibility: 'ie8',
keepSpecialComments: false
})
)
// rename css file
.pipe(
plugin.rename({
suffix: '.min'
})
)
.pipe(gulp.dest(paths.dist + '/src/css')) // save to hard file
.pipe(cssFilter.restore)
// Html Template ******************************************************************
.pipe(htmlFilter)
/* minify html */
.pipe(
plugin.minHtml({
collapseWhitespace: true,
removeComments: true
})
)
/* convert html file to angular template cache */
.pipe(
plugin.templateCache({
module: 'rainCrm',
root: paths.app
})
)
.pipe(htmlFilter.restore)
// JS ******************************************************************
.pipe(jsFilter)
.pipe(plugin.ngAnnotate())
.pipe(plugin.angularFilesort()) // sort angular files
.pipe(plugin.concat('app.js')) // merge all js file to one file
.pipe(plugin.minJs()) // min js file
// rename js file
.pipe(
plugin.rename({
suffix: '.min'
})
)
.pipe(gulp.dest(paths.dist + '/src/js')) // save to hard file
.pipe(jsFilter.restore)
// IMG ******************************************************************
.pipe(imgFilter)
.pipe(gulp.dest(paths.dist + '/src/img')) // save to hard file
.pipe(imgFilter.restore)
// FONT ******************************************************************
.pipe(fontFilter)
.pipe(gulp.dest(paths.dist + '/src/fonts')); // save to hard file
}
);


result:

[00:24:18] Starting 'compileSrc'...

Process finished with exit code 0


but below task finish correct.

/* compile libraries */
gulp.task('compileLibs',
function () {
const jsFilter = plugin.filter('**/*.js', {restore: true});
const cssFilter = plugin.filter('**/*.css', {restore: true});

return gulp.src(
plugin.mainBowerFiles({
overrides: {
"font-awesome": {
main: [
"css/font-awesome.min.css",
"fonts/**/*"
]
},
"persian-date": {
main: [
"dist/0.1.8/persian-date-0.1.8.js"
]
}
}
})
)
// CSS ******************************************************************
.pipe(cssFilter)
.pipe(plugin.concat('libs.css')) // merge all css file to one file
// min css file
.pipe(
plugin.minCss({
compatibility: 'ie8',
keepSpecialComments: false
})
)
// rename css file
.pipe(
plugin.rename({
suffix: '.min'
})
)
.pipe(gulp.dest(paths.dist + '/src/css'))
.pipe(cssFilter.restore)
// JS ******************************************************************
.pipe(jsFilter)
.pipe(plugin.concat('libs.js')) // merge all js file to one file
.pipe(plugin.minJs()) // min js file
// rename css file
.pipe(
plugin.rename({
suffix: '.min'
})
)
.pipe(gulp.dest(paths.dist + '/src/js'))
.pipe(jsFilter.restore)
// FONTS ******************************************************************
.pipe(plugin.filter('**/*.{ttf,woff,woff2,eot,svg,png,jpg,gif}'))
.pipe(gulp.dest(paths.dist + '/src/fonts'));
}
);


thanks.

Answer

thanks. I find problem.

const fontFilter = plugin.filter('**/*.{ttf,woff,woff2,eot,svg}', {restore: true});

must remove restore option from last filter. (problem filter plugin with return stream)

const fontFilter = plugin.filter('**/*.{ttf,woff,woff2,eot,svg}');
Comments