diff --git a/source/_posts/2017-01-07-easier-sculpin-commands-with-composer-and-npm-scripts.md b/source/_posts/2017-01-07-easier-sculpin-commands-with-composer-and-npm-scripts.md new file mode 100644 index 000000000..8242cb392 --- /dev/null +++ b/source/_posts/2017-01-07-easier-sculpin-commands-with-composer-and-npm-scripts.md @@ -0,0 +1,61 @@ +--- +title: Easier Sculpin Commands with Composer and NPM Scripts +tags: [composer, gulp, sculpin] +--- +{% block excerpt %} +In this video, I show you how I've simplied my Sculpin and Gulp workflow using custom Composer and NPM scripts. +{% endblock %} + +{% block content %} +My website includes several various command line tools - e.g. [Sculpin][4], [Gulp][5] and [Behat][6] - each needing different arguments and options, depending on the command being run. For example, for Sculpin, I normally include several additional options when viewing the site locally - the full command that I use is `./vendor/bin/sculpin generate --watch --server --clean --no-interaction`. Typing this repeatedly is time consuming and could be easily mis-typed, forgotten or confused with other commands. + +In this video, I show you how I've simplied my Sculpin and Gulp workflow using custom Composer and NPM scripts. + +
+ +
+ +## Scripts + +Here are the scripts that I’m using - they are slightly different from those in the video. I use the `--generate` and `--watch` options for Sculpin and the `gulp watch` command for NPM. I had to change these before the recording as I was using the [demo magic][0] script to run the commands, and existing from a watch session was also ending the script process. + +### composer.json + +```json +"scripts": { + "clean": "rm -rf output_*/", + "dev": "sculpin generate --clean --no-interaction --server --watch", + "production": "sculpin generate --clean --no-interaction --env='prod'" +} +``` + +Run with `composer run `, e.g. `composer run dev`. +### package.json + +```json +"scripts": { + "init": "yarn && bower install", + "dev": "gulp watch", + "production": "gulp --production" +} +``` + +Run with `npm run `, e.g. `npm run production`. + +You can also take a look at the full [composer.json][1] and [package.json][2] files within my site repository on [GitHub][3]. + +## Resources + +- [Composer scripts][7] +- [oliverdavies.uk composer.json][1] +- [oliverdavies.uk package.json][2] +{% endblock %} + +[0]: https://github.com/paxtonhare/demo-magic +[1]: https://github.com/opdavies/oliverdavies.uk/blob/master/composer.json +[2]: https://github.com/opdavies/oliverdavies.uk/blob/master/package.json +[3]: https://github.com/opdavies/oliverdavies.uk +[4]: https://sculpin.io +[5]: http://gulpjs.com +[6]: http://behat.org +[7]: https://getcomposer.org/doc/04-schema.md#scripts