Skip to content

Instantly share code, notes, and snippets.

@jrcryer
Last active December 31, 2015 03:19
Show Gist options
  • Save jrcryer/7926686 to your computer and use it in GitHub Desktop.
Save jrcryer/7926686 to your computer and use it in GitHub Desktop.
12 months of workflow optimisation... notes

Day 0

  • CSS preprocessor
  • PHPCS
  • In house tool
  • Maintained by ourselves and new features had to be compiled built and run

Month 1

  • Adding linting of JS
  • Added minifiction of assets

Month 2

  • Introduced Grunt: hardcoded paths, hardcoded modules
  • Migrated existing tasks
  • Adding CSS linting with RECESS
  • Added watching for CSS, PHP and JS

Month 3

  • Developed Grunt plugin to run our cukes
  • Added cucumber tests

Month 4

  • Added JS test runner for Mocha with PhantomJS
  • Added PHP Documentation generation with Sami
  • Added JS complexity analysis with Plato

Month 5

  • Added RequireJS optimiser
  • Lots more paths requires to map modules to file system
  • Generation of fixtures with grunt-contrib-replace

Month 7

  • Image minification
  • JS Templates moved out of HTML and into JS - compiled as part of RequireJS using grunt-contrib-jst
  • Migrated to use matchdep - no more hardcoded grunt plugins!

Month 8

  • Removing all paths and using variables instead
  • Extracted all paths to configuration objects to allow easier mondification in the future
  • Migrated our CI build to use Grunt to build static assets

Month 12

  • Introduction of Bower to manager our external front-end assets
  • Adding SourceMaps
  • Adding LiveReload
  • Migration of Mocha to standalone server - reduced configuration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment