I am trying to setup my gulpfile for future projects and on the firt stage bumped into a problem that accompanies me no matter what do I do with my code: Here it is :
"TypeError: Cannot read properties of undefined (reading 'pipe')
at pipe (D:\HTML\NodeJs\Gulp\src\node_modules\pump\index.js:56:15)
at Array.reduce (D:\HTML\NodeJs\Gulp\src\node_modules\ometa\lib.js:101:9)
at pump (D:\HTML\NodeJs\Gulp\src\node_modules\pump\index.js:79:11)
at Pumpify.setPipeline (D:\HTML\NodeJs\Gulp\src\node_modules\pumpify\index.js:39:5)
at new Pumpify (D:\HTML\NodeJs\Gulp\src\node_modules\pumpify\index.js:15:30)
at Function.Pumpify [as obj] (D:\HTML\NodeJs\Gulp\src\node_modules\pumpify\index.js:13:44)
at globStream (D:\HTML\NodeJs\Gulp\src\node_modules\glob-stream\index.js:73:18)
at Gulp.src (D:\HTML\NodeJs\Gulp\src\node_modules\vinyl-fs\lib\src\index.js:24:5)
at operationsWithJsFiles (D:\HTML\NodeJs\Gulp\src\gulpfile.js:23:12)
at bound (node:domain:421:15)"
My code:
// Importing gulp modules
let {Gulp,parallel,dest,series,src, tree} = require('gulp')
let cleanCss = require('clean-css')
let uglify = require('gulp-uglify')
let scss = require('gulp-scss')(require('scss'))
let concat = require('gulp-concat')
let autoprefixer = require('gulp-autoprefixer')
let path = require('path')
let rename = require('gulp-rename')
// Minimizing js files
function operationsWithJsFiles(){
return src('js/*.js',[{allowEmpty:true}])
.pipe(uglify())
.pipe(rename({
extname:'.min.js'
}))
.pipe(concat('AllJs.js'))
.pipe(dest('../Dist'))
}
// Minimizing scss files
function operationsWithScssFiles(){
return src('scss/*.scss')
.pipe(scss())
.pipe(autoprefixer({
cascade:false
}))
.pipe(rename({
extname:'.min.css'
}))
.pipe(concat('AllCss.css'))
.pipe(dest('../Dist'))
}
exports.default = parallel(operationsWithJsFiles,operationsWithScssFiles)
P.s: I checked my directories properly, so, I believe, gulp has no issues with finding files P.p.s: My directory path may look confusing and hilarious xD
Change this line:
return src('js/*.js',[{allowEmpty:true}])
to
return src('js/*.js',{allowEmpty:true})
You may have been confused by
src(globs, [options])
in the documentation, gulp.src signature
But the enclosing [] in the signature only indicate that that parameter is optional. The options don't actually go into the brackets. So options is just a {} object.