{"id":15029235,"url":"https://github.com/ahmadawais/wpgulp","last_synced_at":"2025-05-15T02:10:10.918Z","repository":{"id":2721673,"uuid":"47259754","full_name":"ahmadawais/WPGulp","owner":"ahmadawais","description":"An advanced Gulp workflow for WordPress development with extensive documentation. Used by 40,000+ themes and plugins.","archived":false,"fork":false,"pushed_at":"2022-12-02T11:15:29.000Z","size":528,"stargazers_count":1770,"open_issues_count":37,"forks_count":303,"subscribers_count":88,"default_branch":"master","last_synced_at":"2025-05-13T00:32:48.254Z","etag":null,"topics":["javascript","minification","theme","translation","wordpress-gulp-workflow","wordpress-plugin","workflow","wpgulp"],"latest_commit_sha":null,"homepage":"https://twitter.com/MrAhmadAwais/","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/ahmadawais.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":"contributing.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":["https://NodeCLI.com","https://VSCode.pro","https://Awais.dev/sponsor-USD-100"]}},"created_at":"2015-12-02T12:35:38.000Z","updated_at":"2025-05-02T09:23:47.000Z","dependencies_parsed_at":"2022-07-18T06:00:37.572Z","dependency_job_id":null,"html_url":"https://github.com/ahmadawais/WPGulp","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmadawais%2FWPGulp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmadawais%2FWPGulp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmadawais%2FWPGulp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmadawais%2FWPGulp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahmadawais","download_url":"https://codeload.github.com/ahmadawais/WPGulp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254259387,"owners_count":22040821,"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":["javascript","minification","theme","translation","wordpress-gulp-workflow","wordpress-plugin","workflow","wpgulp"],"created_at":"2024-09-24T20:10:04.200Z","updated_at":"2025-05-15T02:10:10.869Z","avatar_url":"https://github.com/ahmadawais.png","language":"JavaScript","readme":"\u003cdiv align=\"center\"\u003e\n\n  \u003csmall\u003e\u003cp\u003e\u003cem\u003e📟 Learn to \u003ca href=\"https://nodecli.com/?utm_source=github.com\u0026utm_medium=referral\u0026utm_campaign=ahmadawais/WPGulp\" rel=\"nofollow\"\u003ebuild CLI DevTools\u003c/a\u003e, like WPGulp with me at \u003ca href=\"https://nodecli.com/?utm_source=github.com\u0026utm_medium=referral\u0026utm_campaign=ahmadawais/WPGulp\"\u003eNodeCLI.com\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\u003c/small\u003e\n\n  \u003cimg src=\"https://a.cl.ly/o0uy14NY/c\" alt=\"WP Gulp · WordPress Gulp\" /\u003e\n\n  \u003ch1\u003e\u003ccode\u003eWordPress Gulp Workflow\u003c/code\u003e\u003c/h1\u003e\n\n[![GitHub](https://img.shields.io/wordpress/v/akismet.svg?colorA=D14543\u0026colorB=21759B\u0026maxAge=2592000\u0026style=flat\u0026label=WordPress)](https://github.com/ahmadawais/WPGulp/)\n[![emoji-log](https://img.shields.io/badge/🚀%20Emoji-Log-gray.svg?colorA=D14543\u0026colorB=21759B\u0026style=flat)](https://github.com/ahmadawais/Emoji-Log/) [![GitHub stars](https://img.shields.io/github/stars/ahmadawais/WPGulp.svg?style=social\u0026label=Stars)](https://github.com/ahmadawais/WPGulp/stargazers) [![GitHub followers](https://img.shields.io/github/followers/ahmadawais.svg?style=social\u0026label=Follow)](https://github.com/ahmadawais?tab=followers)  [![Tweet for help](https://img.shields.io/twitter/follow/mrahmadawais.svg?style=social\u0026label=Tweet%20@MrAhmadAwais)](https://twitter.com/mrahmadawais/) [![VSCode.pro](https://img.shields.io/badge/Supported%20by-VSCode%20Power%20User%20Course%20%E2%86%92-gray.svg?colorA=D14543\u0026colorB=21759B)](https://VSCode.pro \"This open source project is supported by VSCode.pro\")\n\n\u003c/div\u003e\n\n\u003ctable width='100%' align=\"center\"\u003e\n    \u003ctr\u003e\n        \u003ctd align='left' width='100%' colspan='2'\u003e\n            \u003cstrong\u003eWPGulp (WordPress Gulp)\u003c/strong\u003e\u003cbr /\u003e\n            🎯 An advanced \u0026 extensively documented Gulp WordPress workflow. Kick-start a build-workflow for your WordPress plugins and themes with Gulp.\n        \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\n            A FOSS (Free \u0026 Open Source Software) project. Maintained by \u003ca href='https://github.com/ahmadawais'\u003e@AhmadAwais\u003c/a\u003e.\n        \u003c/td\u003e\n        \u003ctd align='center'\u003e\n            \u003ca href='https://twitter.com/MrAhmadAwais/'\u003e\n                \u003cimg src='https://img.shields.io/badge/→-AHMAD%20AWAIS-gray.svg?colorA=D14543\u0026colorB=21759B\u0026style=flat' width='100' /\u003e\n            \u003c/a\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cbr\u003e\n\n## 📦 WPGulp Can Do `THAT™`\n\n`WPGulp` is an advanced \u0026 extensively documented `Gulp.js` + `WordPress` workflow. It can help you kick-start a build-workflow for your WordPress plugins and themes with `Gulp.js`, save you a lot of grunt work time, follow the DRY (Don't Repeat Yourself) principle, and `#0CJS` Zero-config JavaScript startup but still configurable via `wpgulp.config.js` file. It is:\n\n- 🥞 Versioned ✓\n- 🤠 Updatable ✓\n- 🗃 Set of sane-defaults ✓\n\n\u003cbr\u003e\n\n💻 **DEV ENVIRONMENT**\n\n\u003e- _Live reload browser with BrowserSync_\n\u003e- _Hotloading styles with CSS Injection_\n\n🎨 **STYLES**\n\n\u003e- _Sass to CSS conversion_\n\u003e- _Merging media queries_\n\u003e- _Error handling_\n\u003e- _Auto-prefixing_\n\u003e- _Minification_\n\u003e- _Sourcemaps_\n\n🌋 **JavaScript**\n\n\u003e- _Concatenation_\n\u003e- _Minification/uglification_\n\u003e- _Separate vendor and custom JS files handling_\n\n🌁 **IMAGES**\n\n\u003e- _Minification/optimization of images_\n\u003e- _File types: `.png`, `.jpg`, `.jpeg`, `.gif`, `.svg`_\n\n💯 **TRANSLATION**\n\n\u003e- _Generates `.pot` translation file for i18n and l10n_\n\n👀 **WATCHING**\n\n\u003e- _For changes in files to recompile_\n\u003e- _File types: `.css`, `.html`, `.php`, `.js`_\n\n\u003cbr\u003e\n\n![Start](https://a.cl.ly/83f7dd38eb83/c)\n\n## Getting Started\n\n#### ⚡️ Quick Overview\n\nRun step `#1`, `#2`, and `#3` quickly in one go — Run inside local WP install's theme/plugin folder E.g. `/wp.local/wp-content/plugins/your-plugin` or `/wp.local/wp-content/themes/your-theme` directory.\n\n```sh\n# 1— Install WPGulp in your WordPress theme/plugin.\nnpx wpgulp\n# 2— Now configure variables inside the `wpgulp.config.js` file.\n# 3— Start your npm build workflow.\nnpm start\n```\n\n([npx](https://blog.npmjs.org/post/162869356040/introducing-npx-an-npm-package-runner) is a package runner tool that comes with npm 5.2+ and higher).\n\n\u003e 🎛   _If you want to study the detailed installation of step `#1` , `#2`,  and `#3` — then take a look at the steps below_.\n\n\u003cbr\u003e\n\u003cdetails\u003e\n \u003csummary\u003e\u003cstrong\u003e\u003ccode\u003eSTEP #0\u003c/code\u003e\u003c/strong\u003e — Don't have \u003ccode\u003eNode.js\u003c/code\u003e + \u003ccode\u003enpm\u003c/code\u003e installed? Read this. (CLICK TO EXPAND!)\u003c/summary\u003e\n\nIn case you are an absolute beginner to the world of `Node.js`, JavaScript, and `npm` packages — all you need to do is go to the Node's site [download + install](https://nodejs.org/en/download/) Node on your system. This will install both `Node.js` and `npm`, i.e., node package manager — the command line interface of Node.js.\n\nYou can verify the install by opening your terminal app and typing...\n\n```sh\nnode -v\n# Results into v9.11.2 — make sure you have Node \u003e= 8 installed.\n\nnpm -v\n# Results into 6.2.0 — make sure you have npm \u003e= 5.3 installed.\n```\n\n\u003c/details\u003e\n\n### → `STEP #1` — Download the Required Files\n\n1. In the terminal go to the root folder of your WordPress plugin/theme\n2. Run the following command to download all the files in the [WPGulp/src](/src) folder\n\n_It'll take a couple of minutes to install._\n\n```sh\nnpx wpgulp\n```\n\n([npx](https://blog.npmjs.org/post/162869356040/introducing-npx-an-npm-package-runner) is a package runner tool that comes with npm 5.2+ and higher).\n\n![wpgulp install gif](https://a.cl.ly/c846c265e03a/c)\n\n\u003e ⚠️  I'm assuming that there are no previously present similar files in the root of your folder. Otherwise, you need to merge these very carefully. E.g. You can include the `scripts`, `devDependencies` in your current `package.json` file and so on for other files. If you run the above command all similar files will be overwritten.\n\n### → `STEP #2` — Editing the Project Variables\n\nConfigure the project paths and other variables inside the `wpgulp.config.js` file. This is a compulsory step.\n\n![wpgulp config](https://a.cl.ly/f2ca9bb4a740/c)\n\n### → `STEP #3` — Start your project\n\nOnce the installation is done, you can open your project (WordPress plugin/theme) folder and run the start script.\n\n```sh\nnpm start\n\n# To stop press CTRL (⌃) + C\n```\n\n![wpgulp start](https://a.cl.ly/d64abd87de1f/c)\n\n### → `OPTIONAL STEP #4` — More Scripts/Tasks\n\nTo optimize images and generate WP POT translation file, or generate a RTL stylesheet you can run the following commands\n\n```sh\n# To optimize images.\nnpm run images\n\n# To generate WP POT translation file.\nnpm run translate\n\n# To generate RTL stylesheets and Sourcemap.\nnpm run styles-rtl\n\n# To generate theme/plugin zip file without extranious files.\nnpm run zip\n```\n\n\u003cbr\u003e\n\n![Update](https://a.cl.ly/d0b586da13cc/c)\n\n## How to Update?\n\n1. Download all the latest files in the [WPGulp/src](/src) folder inside the root folder of your WordPress plugin/theme by running `npx install-wpgulp` it will overwrite all the wpgulp files.\n2. Open terminal and Install WPGulp's node dependencies by running the `npm install` commands in the root folder of your WordPress plugin/theme.\n\n\u003cbr\u003e\n\n![Log](https://a.cl.ly/61b20ca44b08/c)\n\n## Changelog\n\nRead what's 📦 new, 👌 improved, 🐛 fixed, and if 📖 docs got updated.\n\n👉 Go read the entire changelog at this link — [WPGulp Changelog →](/CHANGELOG.md)\n\nNothing's ever complete, so bear with us while we keep iterating towards a better future.\n\n\u003e ```html\n\u003e 'Coz every night I lie in bed\n\u003e The brightest colors fill my head\n\u003e A million dreams are keeping me awake\n\u003e I think of what the world could be\n\u003e A vision of the one I see\n\u003e A million dreams is all it's gonna take\n\u003e A million dreams for the world we're gonna make ...\n\u003e ```\n\u003e ... _listen to → [A million dreams!](https://www.youtube.com/watch?v=pSQk-4fddDI)_\n\n\u003cbr\u003e\n\n![Hello](https://a.cl.ly/4guJenpQ/c)\n\n## Sponsor\n\nMe ([Ahmad Awais](https://twitter.com/mrahmadawais/)) and my incredible wife ([Maedah Batool](https://twitter.com/MaedahBatool/)) are two engineers who fell in love with open source and then with each other. You can read more [about me here](https://ahmadawais.com/about). If you or your company use any of my projects or like what I’m doing then consider backing me. I'm in this for the long run. An open-source developer advocate.\n\n[![Ahmad on Twitter](https://img.shields.io/twitter/follow/mrahmadawais.svg?style=social\u0026label=Follow%20@MrAhmadAwais)](https://twitter.com/mrahmadawais/)\n\n### [NodeCLI.com][n] — Learn to build Node.js CLI Automation\n\n\u003e This repository is part of the [NodeCLI.com][n] course.\n\nAfter building hundreds of developer automation tools used by millions of developers, I am sharing exactly how you can do it yourself with minimum effective effort. Learn to build Node.js \u0026 JavaScript based CLI (Command Line Interface) apps. Automate the grunt work, do more in less time, impress your manager, and help the community.\n→ I'm sharing it all in this online video course. [Node CLI Automation\nwithout wasting a 1,000 hours][n] →\u003c/p\u003e\n\n[![Node CLI Course](https://raw.githubusercontent.com/ahmadawais/stuff/master/nodecli/featured.jpg)][n]\n\n[![Node CLI](https://img.shields.io/badge/-NodeCLI.com%20%E2%86%92-gray.svg?colorB=488640\u0026style=flat)][n]\n\n[![Awais on Twitter](https://raw.githubusercontent.com/ahmadawais/stuff/master/sponsor/sponsor.jpg)](https://github.com/AhmadAwais/sponsor)\n\n### 🙌 [THEDEVCOUPLE PARTNERS](https://TheDevCouple.com/partners)\n\nThis open source project is maintained by the help of awesome businesses listed below. What? [Read more about it →](https://TheDevCouple.com/partners)\n\n\u003ctable width='100%'\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd width='500'\u003e\u003ca target='_blank' href='https://kinsta.com/?kaid=WMDAKYHJLNJX\u0026utm_source=TheDevCouple\u0026utm_medium=Partner'\u003e\u003cimg src='https://a.cl.ly/4guJenp9' /\u003e\u003c/a\u003e\n\t\t\u003ctd width='500'\u003e\u003ca target='_blank' href='https://ipapi.com/?utm_source=TheDevCouple\u0026utm_medium=Partner'\u003e\u003cimg src='https://a.cl.ly/z8uYQO2O'/\u003e\u003c/a\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\u003cbr\u003e\n\n![Update](https://a.cl.ly/NQu1joGO)\n\n## License \u0026 Attribution\n\nMIT © [Ahmad Awais](https://twitter.com/MrAhmadAwais/).\n\nThis project is inspired by the work of many awesome developers especially those who contribute to this project, Gulp.js, Babel, and many other dependencies as listed in the `package.json` file. FOSS (Free \u0026 Open Source Software) for the win.\n\n[\u003cimg alt=\"ahmadawais\" src=\"https://avatars1.githubusercontent.com/u/960133?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/ahmadawais) |[\u003cimg alt=\"MaedahBatool\" src=\"https://avatars2.githubusercontent.com/u/12712988?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/MaedahBatool) |[\u003cimg alt=\"akmur\" src=\"https://avatars2.githubusercontent.com/u/957841?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/akmur) |[\u003cimg alt=\"marianrick\" src=\"https://avatars0.githubusercontent.com/u/20360130?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/marianrick) |[\u003cimg alt=\"asharirfan\" src=\"https://avatars2.githubusercontent.com/u/8023941?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/asharirfan) |[\u003cimg alt=\"JeremyEnglert\" src=\"https://avatars2.githubusercontent.com/u/6110968?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/JeremyEnglert) |\n:---: |:---: |:---: |:---: |:---: |:---: |\n[ahmadawais](https://github.com/ahmadawais) |[MaedahBatool](https://github.com/MaedahBatool) |[akmur](https://github.com/akmur) |[marianrick](https://github.com/marianrick) |[asharirfan](https://github.com/asharirfan) |[JeremyEnglert](https://github.com/JeremyEnglert) |\n\n[\u003cimg alt=\"ajitbohra\" src=\"https://avatars2.githubusercontent.com/u/1039236?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/ajitbohra) |[\u003cimg alt=\"noplanman\" src=\"https://avatars3.githubusercontent.com/u/9423417?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/noplanman) |[\u003cimg alt=\"cdils\" src=\"https://avatars0.githubusercontent.com/u/3099408?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/cdils) |[\u003cimg alt=\"selrond\" src=\"https://avatars1.githubusercontent.com/u/6603389?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/selrond) |[\u003cimg alt=\"EugenioPetulla\" src=\"https://avatars3.githubusercontent.com/u/3589467?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/EugenioPetulla) |[\u003cimg alt=\"FrankM1\" src=\"https://avatars0.githubusercontent.com/u/1177638?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/FrankM1) |\n:---: |:---: |:---: |:---: |:---: |:---: |\n[ajitbohra](https://github.com/ajitbohra) |[noplanman](https://github.com/noplanman) |[cdils](https://github.com/cdils) |[selrond](https://github.com/selrond) |[EugenioPetulla](https://github.com/EugenioPetulla) |[FrankM1](https://github.com/FrankM1) |\n\n[\u003cimg alt=\"isaacdanielanderson\" src=\"https://avatars3.githubusercontent.com/u/22652927?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/isaacdanielanderson) |[\u003cimg alt=\"JeffMatson\" src=\"https://avatars2.githubusercontent.com/u/6805601?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/JeffMatson) |[\u003cimg alt=\"AdnanMuhib\" src=\"https://avatars0.githubusercontent.com/u/18069154?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/AdnanMuhib) |[\u003cimg alt=\"mauryaratan\" src=\"https://avatars3.githubusercontent.com/u/1505631?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/mauryaratan) |[\u003cimg alt=\"richtabor\" src=\"https://avatars2.githubusercontent.com/u/1813435?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/richtabor) |[\u003cimg alt=\"saqibameen\" src=\"https://avatars1.githubusercontent.com/u/31374163?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/saqibameen) |\n:---: |:---: |:---: |:---: |:---: |:---: |\n[isaacdanielanderson](https://github.com/isaacdanielanderson) |[JeffMatson](https://github.com/JeffMatson) |[AdnanMuhib](https://github.com/AdnanMuhib) |[mauryaratan](https://github.com/mauryaratan) |[richtabor](https://github.com/richtabor) |[saqibameen](https://github.com/saqibameen) |\n\n[\u003cimg alt=\"slushman\" src=\"https://avatars0.githubusercontent.com/u/2255645?v=4\u0026s=117\" width=\"117\"\u003e](https://github.com/slushman) |\n:---: |\n[slushman](https://github.com/slushman) |\n\n[![Ahmad on Twitter](https://img.shields.io/twitter/follow/mrahmadawais.svg?style=social\u0026label=Follow%20@MrAhmadAwais)](https://twitter.com/mrahmadawais/)\n\n[n]: https://nodecli.com/?utm_source=github.com\u0026utm_medium=referral\u0026utm_campaign=ahmadawais/WPGulp\n","funding_links":["https://NodeCLI.com","https://VSCode.pro","https://Awais.dev/sponsor-USD-100"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmadawais%2Fwpgulp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmadawais%2Fwpgulp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmadawais%2Fwpgulp/lists"}