1. 23 Feb, 2016 11 commits
    • Robert Knight's avatar
      Use the same set of polyfills in Karma tests and the app · 0d979b14
      Robert Knight authored
      As per the comment in karma-phantom-polyfills.js, it is
      preferable that the tests use only a minimal set
      of polyfills which match those used in the app.
      
      Since we now have a script which requires all of the polyfills
      used in the app for IE 10/11, we can just include that
      in karma-phantomjs-polyfill.js.
      
      This also removes the need to keep two separate Promise polyfill
      packages.
      0d979b14
    • Robert Knight's avatar
      Refactor the Gulpfile and load polyfills correctly · 03b040eb
      Robert Knight authored
       * Explicitly require the polyfills bundle from the sidebar
         and injector. In future we'll want to avoid including these
         polyfills for newer browsers but requiring it explicitly
         makes it obvious if the bundle is missing in the meantime.
      
       * Simplify the configuration specifying the modules to
         skip parsing for, since there are only two.
      
       * Reduce duplicated logic for creating app bundle configuration
      
       * Add additional comments and documentation to explain
         what various parts of the config do
      
       * Rename createBundle.js -> create-bundle.js for consistency with
         the rest of the codebase and move vendor-bundles.js to
         scripts/gulp to avoid cluttering the top of the source tree.
      03b040eb
    • Robert Knight's avatar
      Add admin site bundle · bdff23b1
      Robert Knight authored
       * Unset the doNotParse flag on Bootstrap, since the npm package
         _does_ use CommonJS modules.
      bdff23b1
    • Robert Knight's avatar
      Avoid manually including Promise everywhere that it is used · 8d187151
      Robert Knight authored
      ES2015 polyfills have now been centralized in the polyfills.js
      script.
      8d187151
    • Robert Knight's avatar
      Restrict the Node module polyfills included by Browserify · acf67c31
      Robert Knight authored
      By default the app bundle included the large polyfills
      for Node's buffer and crypto modules due to them being
      required by node-uuid.
      
      Fix this by making Buffer undefined in the browser
      and explicitly whitelisting the set of modules
      that Browserify should polyfill.
      acf67c31
    • Robert Knight's avatar
      Additional documentation for the vendor bundle configuration · d47a9b46
      Robert Knight authored
      In particular, explain why noParse is useful and may even be
      required.
      d47a9b46
    • Robert Knight's avatar
      b4aca5f6
    • Robert Knight's avatar
      Fix linear-gradient syntax · 200bd30a
      Robert Knight authored
      As explained at https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient#History_of_the_syntax
      the direction syntax was changed a long time ago from '<starting point>'
      to 'to <destination point>'.
      
      This fixes a warning from autoprefixer.
      200bd30a
    • Robert Knight's avatar
      Remove unused test dependencies and use CommonJS for angular deps · 21cefe12
      Robert Knight authored
      This removes several dependencies from the tests that
      were unused and fixes an issue where Angular was loaded
      multiple times, once as a global script and once on the
      first use of "require('angular')" inside a module included
      in the tests.
      21cefe12
    • Robert Knight's avatar
      Use the correct import format for core-js polyfills · 84220d85
      Robert Knight authored
      Use the correct import format for global imports
      of ES2015 polyfills, as per the core-js documentation.
      84220d85
    • Robert Knight's avatar
      Use Gulp + Browserify + node-sass for building the front-end assets · 7e3bdbde
      Robert Knight authored
      This replaces the webassets build for the front-end JavaScript
      and CSS with Gulp + Browserify. webassets continues to be used but
      only to serve the assets, not to generate them or keep
      track of dependencies.
      
       * Use CommonJS for all JS dependency imports rather than relying
         on Window globals. This makes dependencies more explicit
         and avoids the need to specify dependencies explicitly
         in the build tool, since they can be statically analyzed
         via the require graph.
      
       * Remove the webassets custom filters for Browserify and
         CleanCSS.
      
       * Put all generated JS/CSS/font/image assets in
         build/{images,fonts,styles,scripts}
      
       * Replace compass with node-sass + compass-mixins for building
         the SCSS files. We were not relying heavily on compass
         functions, many of them were used only for vendor prefixing
         which is now handled by autoprefixer, so we can remove the
         Ruby/compass dependency and substitute node-sass quite easily.
      7e3bdbde
  2. 22 Feb, 2016 4 commits
  3. 19 Feb, 2016 4 commits
  4. 18 Feb, 2016 19 commits
  5. 17 Feb, 2016 2 commits