# Packages
$packages:
  - &pkg_angular
    name: angular
    version: 1.6.4
    isDependency: true

  - &pkg_angular-mocks
    name: angular-mocks
    version: 1.6.4

  - &pkg_angular-route
    name: angular-route
    version: 1.6.4
    isDependency: true

  - &pkg_@angular/common
    name: '@angular/common'
    version: 4.1.0
    isDependency: true

  - &pkg_@angular/compiler    # The compiler is a run-time dependency... Maybe will become a build step
    name: '@angular/compiler'
    version: 4.1.0
    isDependency: true

  - &pkg_@angular/core
    name: '@angular/core'
    version: 4.1.0
    isDependency: true

  - &pkg_@angular/platform-browser
    name: '@angular/platform-browser'
    version: 4.1.0
    isDependency: true

  - &pkg_@angular/platform-browser-dynamic      # Requires the @angular/compiler
    name: '@angular/platform-browser-dynamic'
    version: 4.1.0
    isDependency: true

  - &pkg_@angular/router
    name: '@angular/router'
    version: 4.1.0
    isDependency: true

  #  - &pkg_angular2-hmr           # Is both a proper dependency. In prod mode, it does nothing (like the React HMR)
  #    name: '@angularclass/hmr'     # Disabling for now - too complex
  #    version: 1.2.2
  #    isDependency: true

  - &pkg_angular2-template-loader
    name: angular2-template-loader
    version: 0.6.2

  - &pkg_autoprefixer
    name: autoprefixer
    version: 6.7.7

  - &pkg_awesome-typescript-loader
    name: awesome-typescript-loader
    version: 3.1.3

  - &pkg_babel-core
    name: babel-core
    version: 6.22.1

  - &pkg_babel-eslint   # May not need in the future, as eslint understands more and more of ES5/6/7
    name: babel-eslint
    version: 7.2.3

  - &pkg_babel-loader
    name: babel-loader
    version: 6.2.10

  - &pkg_babel-plugin-istanbul    # For code coverage
    name: babel-plugin-istanbul
    version: 3.1.2

  - &pkg_babel-plugin-add-module-exports
    name: babel-plugin-add-module-exports
    version: 0.2.1

  - &pkg_babel-preset-es2015    # Supports ES6 module transformation
    name: babel-preset-es2015
    version: 6.22.0

  - &pkg_babel-preset-react-app   # As used by create-react-app
    name: babel-preset-react-app
    version: 2.0.1

  - &pkg_babel-runtime
    name: babel-runtime
    version: 6.22.0

  - &pkg_backstopjs
    name: backstopjs
    version: 3.0.22

  - &pkg_chokidar-cli
    name: chokidar-cli
    version: 1.2.0

  - &pkg_codeceptjs
    name: codeceptjs
    version: 1.0.1

  - &pkg_commitizen
    name: commitizen
    version: 2.9.6
    global: true

  - &pkg_core-js
    name: core-js
    version: 2.4.1
    isDependency: true

  - &pkg_core-js/es6
    <<: *pkg_core-js
    name: core-js/es6

  - &pkg_core-js/es6/symbol
    <<: *pkg_core-js
    name: core-js/es6/symbol

  - &pkg_core-js/es6/object
    <<: *pkg_core-js
    name: core-js/es6/object

  - &pkg_core-js/es6/function
    <<: *pkg_core-js
    name: core-js/es6/function

  - &pkg_core-js/es6/parse-int
    <<: *pkg_core-js
    name: core-js/es6/parse-int

  - &pkg_core-js/es6/parse-float
    <<: *pkg_core-js
    name: core-js/es6/parse-float

  - &pkg_core-js/es6/number
    <<: *pkg_core-js
    name: core-js/es6/number

  - &pkg_core-js/es6/math
    <<: *pkg_core-js
    name: core-js/es6/math

  - &pkg_core-js/es6/string
    <<: *pkg_core-js
    name: core-js/es6/string

  - &pkg_core-js/es6/date
    <<: *pkg_core-js
    name: core-js/es6/date

  - &pkg_core-js/es6/array
    <<: *pkg_core-js
    name: core-js/es6/array

  - &pkg_core-js/es6/regexp
    <<: *pkg_core-js
    name: core-js/es6/regexp

  - &pkg_core-js/es6/map
    <<: *pkg_core-js
    name: core-js/es6/map

  - &pkg_core-js/es6/set
    <<: *pkg_core-js
    name: core-js/es6/set

  - &pkg_core-js/es6/weak-map
    <<: *pkg_core-js
    name: core-js/es6/weak-map

  - &pkg_core-js/es6/weak-set
    <<: *pkg_core-js
    name: core-js/es6/weak-set

  - &pkg_core-js/es6/typed
    <<: *pkg_core-js
    name: core-js/es6/typed

  - &pkg_core-js/es6/reflect
    <<: *pkg_core-js
    name: core-js/es6/reflect

  - &pkg_core-js/es7/reflect
    <<: *pkg_core-js
    name: core-js/es7/reflect

  - &pkg_corp-semantic-release
    name: corp-semantic-release
    version: 6.2.0

  - &pkg_coveralls
    name: coveralls
    version: 2.13.1

  - &pkg_cross-env
    name: cross-env
    version: 3.1.4

  - &pkg_css-loader
    name: css-loader
    version: 0.26.1

  - &pkg_cz-customizable
    name: cz-customizable
    version: 5.2.0

  - &pkg_cz-customizable-ghooks
    name: cz-customizable-ghooks
    version: 1.5.0

  - &pkg_enzyme
    name: enzyme
    version: 2.7.1    # TODO: 2.9.1

  - &pkg_eslint
    name: eslint
    version: 4.5.0

  - &pkg_eslint-config-airbnb     # Required for AirBnb (useful for ES6+?)
    name: eslint-config-airbnb
    version: 15.1.0

  - &pkg_eslint-config-google     # Required for Google
    name: eslint-config-google
    version: 0.9.1

  - &pkg_eslint-config-standard   # Required for Standard
    name: eslint-config-standard
    version: 10.2.1

  - &pkg_eslint-friendly-formatter
    name: eslint-friendly-formatter
    version: 3.0.0

  - &pkg_eslint-plugin-node       # Required for Node
    name: eslint-plugin-node
    version: 5.1.1

  - &pkg_eslint-plugin-standard   # Required by StandardJS
    name:  eslint-plugin-standard
    version: 3.0.1

  - &pkg_eslint-plugin-promise    # Required by StandardJS
    name: eslint-plugin-promise
    version: 3.5.0

  - &pkg_eslint-config-react-app    # React
    name: eslint-config-react-app
    version: 2.0.0

  - &pkg_eslint-plugin-import     # Required for AirBnb (useful for ES6+?)
      name: eslint-plugin-import
      version: 2.7.0

  - &pkg_eslint-plugin-jsx-a11y     # Required for AirBnb (useful for ES6+?)
    name: eslint-plugin-jsx-a11y
    version: 5.1.1                # TODO v6 (when fixed): https://github.com/airbnb/javascript/issues/1474

  - &pkg_eslint-plugin-react      # Required for AirBnb
    name: eslint-plugin-react
    version: 7.3.0

  - &pkg_extract-text-webpack-plugin
    name: extract-text-webpack-plugin
    version: 2.1.0

  - &pkg_file-loader
    name: file-loader
    version: 0.11.1

  - &pkg_findup-sync
    name: findup-sync
    version: 2.0.0

  - &pkg_gh-pages
    name: gh-pages
    version: 0.12.0

  - &pkg_glob   # For Backstop
    name: glob
    version: 7.1.1

  - &pkg_highlightjs
    name: highlightjs
    version: 9.10.0

  - &pkg_html-loader
    name: html-loader
    version: 0.4.5

  - &pkg_html-webpack-plugin
    name: html-webpack-plugin
    version: 2.28.0

  - &pkg_http-server
    name: http-server
    version: 0.10.0

  - &pkg_husky
    name: husky
    version: 0.13.3

  - &pkg_istanbul-instrumenter-loader
    name: istanbul-instrumenter-loader
    version: 0.2.0

  - &pkg_jasmine-core
    name: jasmine-core
    version: 2.5.2

  - &pkg_jasmine-reporters
    name: jasmine-reporters
    version: 2.2.0

  - &pkg_jasmine-spec-reporter
    name: jasmine-spec-reporter
    version: 3.2.0

  - &pkg_js-yaml
    name: js-yaml
    version: 3.9.1

  - &pkg_karma
    name: karma
    version: 1.7.0

  - &pkg_karma-chrome-launcher
    name: karma-chrome-launcher
    version: 2.2.0

  - &pkg_karma-coverage
    name: karma-coverage
    version: 1.1.1

  - &pkg_karma-jasmine
    name: karma-jasmine
    version: 1.1.0

  - &pkg_karma-junit-reporter     # Reports latest as 2.0.0 but that is incorrect
    name: karma-junit-reporter
    version: 1.2.0

  - &pkg_karma-sourcemap-loader
    name: karma-sourcemap-loader
    version: 0.3.7

  - &pkg_karma-threshold-reporter
    name: karma-threshold-reporter
    version: 0.1.15

  - &pkg_karma-webpack
    name: karma-webpack
    version: 2.0.3

  - &pkg_latest-version
    name: latest-version
    version: 3.1.0

  - &pkg_lodash
    name: lodash
    version: 4.17.4

  - &pkg_mocha
    name: mocha
    version: 3.5.0

  - &pkg_mochawesome
    name: mochawesome
    version: 2.3.0

  - &pkg_mocha-multi-reporters
    name: mocha-multi-reporters
    version: 1.1.5

  - &pkg_mocha-junit-reporter
    name: mocha-junit-reporter
    version: 1.13.0

  - &pkg_node-sass
    name: node-sass
    version: 4.5.2

  - &pkg_now
    name: now
    version: 0.37.0
    global: true

  - &pkg_npm-run-all
    name: npm-run-all
    version: 4.0.2

  - &pkg_nyc
    name: nyc
    version: 11.1.0

  - &pkg_object-assign    # Polyfill for Object.assign (used by React)
    name: object-assign
    version: 4.1.1
    isDependency: true

  - &pkg_postcss-loader
    name: postcss-loader
    version: 1.3.3

  - &pkg_promise    # Promise polyfill for React
    name: promise
    version: 7.1.1
    isDependency: true

  - &pkg_protractor
    name: protractor
    version: 5.1.2

  - &pkg_react
    name: react
    version: 15.3.2
    isDependency: true

  - &pkg_react-addons-test-utils
    name: react-addons-test-utils
    version: 15.3.2

  - &pkg_react-dom
    name: react-dom
    version: 15.3.2
    isDependency: true

  - &pkg_react-hot-loader
    name: react-hot-loader
    version: 3.0.0-beta.6

  - &pkg_react-router
    name: react-router
    version: 2.8.1
    isDependency: true

  - &pkg_rimraf
    name: rimraf
    version: 2.6.1

  - &pkg_rxjs
    name: rxjs
    version: 5.3.0
    isDependency: true

  - &pkg_rxjs/Rx
    <<: *pkg_rxjs
    name: rxjs/Rx

  - &pkg_rxjs/add/operator/map
    <<: *pkg_rxjs
    name: rxjs/add/operator/map

  - &pkg_rxjs/add/operator/mergeMap
    <<: *pkg_rxjs
    name: rxjs/add/operator/mergeMap

  - &pkg_sass-lint
    name: sass-lint
    version: 1.10.2

  - &pkg_sass-loader
    name: sass-loader
    version: 6.0.3

  - &pkg_semantic-release-cli
    name: semantic-release-cli
    version: 3.0.3
    global: true

  - &pkg_selenium-standalone
    name: selenium-standalone
    version: 6.8.0

  - &pkg_serve
    name: serve
    version: 1.4.0

  - &pkg_serve-https    # This HTTPS server has it's own SSL certs, so it's easier to setup than 'http-server'
    name: serve-https
    version: 1.5.3      # Version 2.x requires agreeing to TOS and supplying an email (not good for automated tests)

  - &pkg_style-loader
    name: style-loader
    version: 0.17.0

  - &pkg_stylint
    name: stylint
    version: 1.5.9

  - &pkg_stylus
    name: stylus
    version: 0.54.5

  - &pkg_stylus-loader
    name: stylus-loader
    version: 3.0.1

  - &pkg_swanky
    name: swanky
    version: 2.5.0

  - &pkg_swanky-processor-ngdocs
    name: swanky-processor-ngdocs
    version: 2.2.3

  - &pkg_tslint
    name: tslint
    version: 5.1.0

  - &pkg_typescript
    name: typescript
    version: 2.3.2

  - &pkg_ts-helpers
    name: ts-helpers
    version: 1.1.2
    isDependency: true

  - &pkg_@types/angular
    name: '@types/angular'
    version: 1.6.3    # Matches Angular version

  - &pkg_@types/angular-mocks
    name: '@types/angular-mocks'
    version: 1.5.8

  - &pkg_@types/jasmine
    name: '@types/jasmine'
    version: 2.5.41   # version 2.2 of Jasmine

  - &pkg_@types/jquery    # Supports Angular 1.x which has references to jQuery
    name: '@types/jquery'
    version: 2.0.39

  - &pkg_@types/node
    name: '@types/node'
    version: 7.0.4

  - &pkg_@types/selenium-webdriver
    name: '@types/selenium-webdriver'
    version: 2.44.29  # Newer version available (based on Chrome Driver & protractor version?)

  - &pkg_@types/source-map
    name: '@types/source-map'
    version: 0.5.0

  - &pkg_@types/uglify-js
    name: '@types/uglify-js'
    version: 2.6.28

  - &pkg_@types/webpack
    name: '@types/webpack'
    version: 2.2.4

  - &pkg_webdriverio
    name: webdriverio
    version: 4.8.0

  - &pkg_webpack
    name: webpack
    version: 2.4.1

  - &pkg_webpack-dev-server
    name: webpack-dev-server
    version: 2.4.5

  - &pkg_whatwg-fetch   # Polyfill for fetch() API
    name: whatwg-fetch
    version: 2.0.3
    isDependency: true

  - &pkg_zone.js
    name: zone.js
    version: 0.8.9
    isDependency: true

  - &pkg_zone.js/dist/async-test
    <<: *pkg_zone.js
    name: zone.js/dist/async-test

  - &pkg_zone.js/dist/fake-async-test
    <<: *pkg_zone.js
    name: zone.js/dist/fake-async-test

  - &pkg_zone.js/dist/jasmine-patch
    <<: *pkg_zone.js
    name: zone.js/dist/jasmine-patch

  - &pkg_zone.js/dist/long-stack-trace-zone
    <<: *pkg_zone.js
    name: zone.js/dist/long-stack-trace-zone

  - &pkg_zone.js/dist/proxy
    <<: *pkg_zone.js
    name: zone.js/dist/proxy

  - &pkg_zone.js/dist/sync-test
    <<: *pkg_zone.js
    name: zone.js/dist/sync-test

  - &pkg_zone.js/dist/zone
    <<: *pkg_zone.js
    name: zone.js/dist/zone
