{"id":15753597,"url":"https://github.com/marella/engulf","last_synced_at":"2025-07-20T00:33:10.817Z","repository":{"id":57225411,"uuid":"40264336","full_name":"marella/engulf","owner":"marella","description":"[DEPRECATED] Write gulp tasks using a simple config","archived":false,"fork":false,"pushed_at":"2015-08-05T21:28:29.000Z","size":108,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-06T00:03:19.380Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marella.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-05T19:17:47.000Z","updated_at":"2021-07-06T12:04:46.000Z","dependencies_parsed_at":"2022-08-24T11:00:23.740Z","dependency_job_id":null,"html_url":"https://github.com/marella/engulf","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/marella/engulf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marella%2Fengulf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marella%2Fengulf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marella%2Fengulf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marella%2Fengulf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marella","download_url":"https://codeload.github.com/marella/engulf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marella%2Fengulf/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266048635,"owners_count":23868743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-04T07:41:23.385Z","updated_at":"2025-07-20T00:33:10.794Z","avatar_url":"https://github.com/marella.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# engulf\n**Write gulp tasks using a simple config**\n\n[![npm version](https://badge.fury.io/js/engulf.svg)](http://badge.fury.io/js/engulf)\n\n## What is engulf?\nengulf is a small \u003ca target=\"_blank\" href=\"https://www.npmjs.com/package/engulf\"\u003enode module\u003c/a\u003e that will help you write \u003ca target=\"_blank\" href=\"https://github.com/gulpjs/gulp#gulp\"\u003egulp\u003c/a\u003e tasks using a simple config.\n\n## Install\n```\nnpm install engulf\n```\n\n## Sample `gulpfile.js` using engulf\n\nThis file will give you a taste of what engulf does. This does the same thing that the \u003ca target=\"_blank\" href=\"https://github.com/gulpjs/gulp#sample-gulpfilejs\"\u003esample gulpfile.js\u003c/a\u003e of gulp does.\n\n```js\nvar config = {\n  paths: {\n    scripts: ['client/js/**/*.coffee', '!client/external/**/*.coffee'],\n    images: 'client/img/**/*'\n  },\n  tasks: {\n    clean: {\n      fn: function(cb, tools, gulp) {\n        tools.del(['build'], cb);\n      }\n    },\n    scripts: {\n      deps: ['clean'],\n      src: 'scripts',\n      dest: 'build/js',\n      run: ['sourcemaps.init', 'coffee', 'uglify', {concat: 'all.min.js'}, 'sourcemaps.write', 'dest']\n    },\n    images: {\n      deps: ['clean'],\n      src: 'images',\n      dest: 'build/img',\n      run: [ { imagemin: {optimizationLevel: 5} }, 'dest']\n    },\n    watch: {\n      scripts: 'scripts',\n      images: 'images'\n    },\n    default: ['watch', 'scripts', 'images']\n  },\n  tools: {\n    del: 'del'\n  }\n}\n\nvar engulf = require('engulf');\nengulf.importTools();\nengulf.run(config);\n```\n\n### Want to write some tasks without config?\n```js\nvar gulp = engulf.gulp;\nvar tools = engulf.tools;\ngulp.task('clean', function(cb) {\n  tools.del(['build'], cb);\n});\n```\n\n## Documentation\n\n### `engulf.run(config)`\nThis does the following:\n- `engulf.load(config)`\n- `engulf.requireTools()`\n- `engulf.registerTasks()`\n\n### `engulf.load(config)`\nMerges supplied `config` object with `engulf.config`\n\n### `engulf.importTools()`\nFetches all `gulp-` plugins from `devDependencies` of `package.json` file and adds it to `engulf.config.tools`. Plugin names are converted to camelCase style.\n\nExample: plugin `gulp-minify-css` will be loaded as `minifyCss` which can be used in `run` array and can also be accessed using `engulf.tools.minifyCss`\n\n### `engulf.requireTools()`\nLoads all tools present in `engulf.config.tools` into `engulf.tools` using `require()`\n\n### `engulf.registerTasks(tasks)`\nRegisters list of tasks specified by `tasks` array that are present in `engulf.config.tasks` using `gulp.task()`. If `tasks` is omitted then all tasks in `engulf.config.tasks` will be registered.\n\nMore documentation coming soon...","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarella%2Fengulf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarella%2Fengulf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarella%2Fengulf/lists"}