
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
gulp-import-tasks
Advanced tools
Imports Gulp tasks from a local directory, rather than from your gulpfile.
Based on gulp-load-tasks, but better (and actively maintained)!
$ npm install gulp-import-tasks
Note: gulp
is a required peer dependency.
Simply require the package within your gulpfile.js
. By default, this will load all Gulp tasks that exist within a local tasks
directory.
// gulpfile.js
require('gulp-import-tasks')();
// tasks/default.js
module.exports = [
'clean'
];
// tasks/clean.js
const clean = require('gulp-clean');
module.exports = function (gulp) {
return gulp.clean('dist', { read: false })
.pipe(clean());
};
As you can see above, gulp-import-tasks
will automatically send gulp
as the first function parameter. You can add additional parameters using advanced options.
You can customize the tasks directory by passing in the name of your custom directory as the first parameter. The following will check for tasks within the gulp/tasks
directory.
// gulpfile.js
require('gulp-import-tasks')('gulp/tasks');
Or, you can define it by passing in an options object instead. See advanced usage.
// gulpfile.js
require('gulp-import-tasks')({
dir: 'gulp/tasks'
});
Gulp will automatically send an asynchronous callback function as the last parameter in your task definition. Use this to make your task asynchronous! Read more about asynchronous tasks in the Gulp docs here.
// tasks/async.js
module.exports = function (gulp, done) {
doSomethingAsync(() => {
done();
});
};
Using the options parameter, you may specify permissible file extensions, as well as any additional function parameters.
Option | Type | Description | Default |
---|---|---|---|
dir | string | The directory that contains your Gulp tasks. | tasks |
extensions | Array.<string> | Only load files from the tasks directory that have these extensions. | ['.js'] |
params | Array.<any> | Additional parameters to pass into imported task. | [] |
// gulpfile.js
const config = {
build: 'dist'
};
require('gulp-import-tasks')({
dir: 'gulp/tasks',
extensions: ['.js'],
params: [
config
]
});
// gulp/tasks/default.js
module.exports = [
'clean'
];
// gulp/tasks/clean.js
const clean = require('gulp-clean');
module.exports = function (gulp, config) {
return gulp.clean(config.build, { read: false })
.pipe(clean());
};
// gulp/tasks/async.js
module.exports = function (gulp, config, done) {
doSomethingAsync(() => {
done();
});
};
MIT
FAQs
Import tasks from a local directory, rather than from your gulpfile.
The npm package gulp-import-tasks receives a total of 15 weekly downloads. As such, gulp-import-tasks popularity was classified as not popular.
We found that gulp-import-tasks demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.