Just Do It
A Gruntfile.js and package.json template ready to copy into your WordPress plugin projects. Just configure the package.json file to your requirements and run the Grunt commands below after installing the dependencies.
These are the dependencies in use for testing, building, updating the language POT file and building a deployable plugin zipped up.
- "grunt" v1.0.1
- "grunt-checktextdomain" v1.0.1
- "grunt-contrib-clean" v1.1.0
- "grunt-contrib-compress" v1.4.3
- "grunt-contrib-copy" v1.0.0
- "grunt-contrib-cssmin" v2.2.0
- "grunt-contrib-jshint" v1.0.0
- "grunt-contrib-uglify" v1.0.0
- "grunt-contrib-watch" v1.0.0
- "grunt-newer" v1.3.0
- "grunt-potomo" v3.5.0
- "grunt-text-replace" v0.4.0
- "grunt-wp-i18n" v1.0.0
- "jshint-stylish" v2.2.0
- "load-grunt-tasks" v3.5.2
- Install Node.js & NPM and Grunt by following the standard installation instructions or using Homebrew.
If you've installed NPM correctly, this should display the version:
$ npm --version
If you've install Grunt correctly, this should display the version:
$ grunt --version
- Change to the plugin root directory.
Install the Grunt dependencies by running the
npm installer with the following command:
$ npm install --dev or
$ npm install --only=dev
- Run tests.
$ grunt test
--force at the end to tell grunt to continue next tasks even if one fails.
$ grunt test --force
Build the plugin.
$ grunt build
Similar to the build command except it does not check for text domains issues.
$ grunt dev
Checks for any text domain issues and updates the POT file.
$ grunt update-pot
Copies the plugin to create deployable plugin, then compresses the folder and then deletes the folder once compressed.
The zip file will be labelled as
%= pkg.name %-v%= pkg.version %.zip
$ grunt zip
Support Sébastien's Open Source Projects!
If you'd like me to keep producing free and open source software or if you use this script and find it useful then please consider paying for an hour of my time. I'll spend two hours on open source for each contribution.
You can find more of my Free and Open Source scripts on GitHub