I’m trying to create a clean task in my gulpfile that currently looks like this:
const { series, src, dest } = require('gulp');
const del = import('del');
function clean() {
del(['node_modules/bootstrap/dist']);
}
function copy(cb) {
src('node_modules/bootstrap/dist/css/*').pipe(dest('wwwroot/lib/bootstrap/dist/css', { overwrite: true }));
src('node_modules/bootstrap/dist/js/*').pipe(dest('wwwroot/lib/bootstrap/dist/js', { overwrite: true }))
cb();
}
exports.build = copy;
exports.clean = clean;
exports.default = series(clean, copy);
When I run gulp I get this:
PS C:projectsMtcsw> gulp
[08:42:56] Using gulpfile C:projectsMtcswgulpfile.js
[08:42:56] Starting 'default'...
[08:42:56] Starting 'clean'...
[08:42:56] 'clean' errored after 952 μs
[08:42:56] TypeError: del is not a function
at clean (C:projectsMtcswgulpfile.js:6:5)
at bound (node:domain:432:15)
at runBound (node:domain:443:12)
at asyncRunner (C:projectsMtcswnode_modulesasync-doneindex.js:52:18)
at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
[08:42:56] 'default' errored after 3.92 ms
Earlier instead of import(‘del’) I had require(‘del’) and was getting this:
PS C:projectsMtcsw> gulp
Error [ERR_REQUIRE_ESM]: require() of ES Module C:projectsMtcswnode_modulesdelindex.js from C:projectsMtcswgulpfile.js not supported.
Instead change the require of index.js in C:projectsMtcswgulpfile.js to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (C:projectsMtcswgulpfile.js:3:13) {
code: 'ERR_REQUIRE_ESM'
}
For reference, the devDependencies of my package.json looks like this:
"bootstrap": "5.3.3",
"eslint": "^9.2.0",
"gulp": "5.0.0",
"del": "7.1.0"
What’s odd to me is that when I look at the example in https://www.npmjs.com/package/gulp I was doing what they had shown. So I’m trying to follow the instructions, but clearly missing something. What do I need to change?