guardian/frontend — pull request #5393 by kaelig (2014-08-06 10:48:31+00:00)
Title: Update npm and ruby dependencies

- Optimise SVGs with latest version of SVGO
- Introduce new scss-lint rule: UnnecessaryParentReference (and removed unnecessary `&` nested selectors)

## Update Sass from 3.3.7 to 3.3.14

### 3.3.14 (1 August 2014)

* Improved edge-case parsing of special-syntax functions like `calc()` and
`expression()`.

* Fixed a bug when using `--update` with absolute paths on Windows.

### 3.3.13 (31 July 2014)

* Fixed a bug on ruby 2.0 where watching several folders was broken.
Work around for a [bug in listen](https://github.com/guard/listen/issues/243).

### 3.3.12 (29 July 2014)

* The Sass::Compiler class has a number of new minor features to support
Compass's compilation needs:

* The template_deleted event of the Sass Compiler class now runs before the
side-effect events.
* The Sass Compiler class can now be used to clean output files.
* The Sass Compiler class now exposes an updating_stylesheets callback
that runs before stylesheets are mass-updated.
* The Sass Compiler class now exposes a the compilation_starting callback
that runs before an individual stylesheet is compiled.
* The Sass Compiler class now runs the updated_stylesheets callback
after stylesheets are mass-updated.
* The Sass Compiler can now be made to skip the initial update
when watching.

### 3.3.11 (25 July 2014)

* `str-slice()` now correctly returns an empty string when `$end-at` is 0.

### 3.3.10 (11 July 2014)

* Properly encode URLs in sourcemaps.

### 3.3.9 (27 June 2014)

* Defining a function named "and", "or", or "not" is now an error at
definition-time. This isn't considered a backwards-incompatible change because
although these functions could be defined previously, they could never be
successfully invoked.

* Fix deprecation warnings for using `File.exists?` on recent Ruby versions.

* Fix a bug where `@extend` within `@at-root` could crash the compiler.

* Gracefully handle the inability to change cache files' permissions.

### 3.3.8 (20 May 2014)

* When a use of `@at-root` doesn't add any new rules, it will no longer split
its containing block in two ([issue 1239][]).

* Fix a `sass-convert` bug where rules would occasionally be folded together
incorrectly when converting from CSS to Sass.

* Fix error messages for dynamically-generated `@media` queries with empty
queries.

[issue 1239]: https://github.com/nex3/sass/issues/1239

## Update SVGO from 0.4.4 to 0.4.5

### [ [>](https://github.com/svg/svgo/tree/v0.4.5) ] 0.4.5 / 02.02.2014
* significally improved plugin [plugins/convertPathData](https://github.com/svg/svgo/blob/master/plugins/convertPathData.js):
- Now data is being written relative or absolute whichever is shorter. You can turn it off by setting ``utilizeAbsolute`` to ``false``.
- Smarter rounding: values like 2.499 now rounds to 2.5. Rounding now takes in account accumulutive error meaning that points will not be misplaced due to rounding more than it neccessary.
- Fixed couple bugs.
* ``--output`` option now can be a folder along with ``--folder``, thanks to @mako-taco.
* [plugins/cleanupIDs](https://github.com/svg/svgo/blob/master/plugins/cleanupIDs.js) now have ``prefix`` option in case you want to combine multiple svg later (by @DanielMazurkiewicz).
* Quotes now being escaped in attributes (by @ditesh).
* Minor bugfixes.

## Update moment.js from 2.7.0 to 2.8.1

### 2.8.1

* bugfix [#1813](https://github.com/moment/moment/issues/1813): fix moment().lang([key]) incompatibility

### 2.8.0 [See changelog](https://gist.github.com/ichernev/ac3899324a5fa6c8c9b4)

* incompatible changes
* [#1761](https://github.com/moment/moment/issues/1761): moments created without a language are no longer following the global language, in case it changes. Only newly created moments take the global language by default. In case you're affected by this, wait, comment on [#1797](https://github.com/moment/moment/issues/1797) and wait for a proper reimplementation
* [#1642](https://github.com/moment/moment/issues/1642): 45 days is no longer "a month" according to humanize, cutoffs for month, and year have changed. Hopefully your code does not depend on a particular answer from humanize (which it shouldn't anyway)
* [#1784](https://github.com/moment/moment/issues/1784): if you use the human readable English datetime format in a weird way (like storing them in a database) that would break when the format changes you're at risk.

* deprecations (old behavior will be dropped in 3.0)
* [#1761](https://github.com/moment/moment/issues/1761) `lang` is renamed to `locale`, `langData` -> `localeData`. Also there is now `defineLocale` that should be used when creating new locales
* [#1763](https://github.com/moment/moment/issues/1763) `add(unit, value)` and `subtract(unit, value)` are now deprecated. Use `add(value, unit)` and `subtract(value, unit)` instead.
* [#1759](https://github.com/moment/moment/issues/1759) rename `duration.toIsoString` to `duration.toISOString`. The js standard library and moment's `toISOString` follow that convention.

* new locales
* [#1789](https://github.com/moment/moment/issues/1789) Tibetan (bo)
* [#1786](https://github.com/moment/moment/issues/1786) Africaans (af)
* [#1778](https://github.com/moment/moment/issues/1778) Burmese (my)
* [#1727](https://github.com/moment/moment/issues/1727) Belarusian (be)

* bugfixes, locale bugfixes, performance improvements, features

## Update Karma from 0.12.16 to 0.12.21

### 0.12.21 (2014-08-05)

#### Bug Fixes

* **web-server:** cache static files ([eb5bd53f](http://github.com/karma-runner/karma/commit/eb5bd53ff0b6dc01e247fce9af01d0ed97d8c9ba))

### 0.12.20 (2014-08-05)

#### Bug Fixes

* **config:** #1113 Watching is not working properly on linux ([c91ffbc0](http://github.com/karma-runner/karma/commit/c91ffbc05f78f2c17dcc43039300cdf045e64ccc), closes [#1113](http://github.com/karma-runner/karma/issues/1113))
* **preprocessor:**
* treat *.gz files as binary ([1b56932f](http://github.com/karma-runner/karma/commit/1b56932fb49e0f3793f00599e11c24f6254236f4))
* treat *.swf files as binary ([62d7d387](http://github.com/karma-runner/karma/commit/62d7d3873ed3e046ab24530cb20297ddad51cf85))

### 0.12.19 (2014-07-26)

#### Bug Fixes

* **proxy:** More useful proxyError log message ([96640a75](http://github.com/karma-runner/karma/commit/96640a75dab089255c0619733ca9d5f9fe80127d))

### 0.12.18 (2014-07-25)

#### Bug Fixes

* **watcher:** handle paths on Windows ([6164d869](http://github.com/karma-runner/karma/commit/6164d8699c0f07fd8fcbae88221eb35d99fb02e4))

### 0.12.17 (2014-07-11)

#### Bug Fixes

* **logging:** Summarize SKIPPED tests in debug.html. Before: hundreds of SKIPPING lines in con ([a01100f5](http://github.com/karma-runner/karma/commit/a01100f5c6404366dd4219b9bf6c3161300dc735), closes [#1111](http://github.com/karma-runner/karma/issues/1111))
* **server:** Force clients disconnect on Windows ([28239f42](http://github.com/karma-runner/karma/commit/28239f420460bdb9dd3b71f8088a0dfc1277dca6), closes [#1109](http://github.com/karma-runner/karma/issues/1109))
* **travis_ci:** converted node versions as string ([25ee6fc9](http://github.com/karma-runner/karma/commit/25ee6fc9c57e11a012ecc3910fcb72386a3403a1))

#### Features

* serve ePub as binary files ([82ed0c6e](http://github.com/karma-runner/karma/commit/82ed0c6e94e77757270e6694f7082eac5ef5e066))
* **preprocessor:** add 'mp3' and 'ogg' as binary formats to avoid media corruption in the browser. ([65a0767e](http://github.com/karma-runner/karma/commit/65a0767e8024879e3a5c4557f376d8b6684530e8))

![ ](http://media.giphy.com/media/iXMxeh4m1YS52/giphy.gif)