Граф коммитов

348 Коммитов

Автор SHA1 Сообщение Дата
Renovate Bot 1ca1edbf1b Update dependency fetch-mock to v6.4.3 2018-05-31 15:04:45 +01:00
Ed Morley af892c7f5a Bug 1465041 - Remove direct hawk dependency workaround
We no longer use Hawk directly, but had kept it as a dependency to
work around Neutrino 4's broken module resolution:
https://github.com/mozilla/treeherder/pull/3144#discussion_r164726521
2018-05-29 14:06:52 +01:00
Renovate Bot 3578a1e182 Update dependency auth0-js to v9.6.0 2018-05-29 10:19:05 +01:00
Renovate Bot 22ef52bd61 Update dependency metrics-graphics to v2.15.1 2018-05-29 10:16:25 +01:00
Renovate Bot 0fbe1bce9f Update dependency redux-thunk to v2.3.0 2018-05-29 09:41:03 +01:00
Cameron Dawson eddbc1c8a7
Bug 1450039 - Convert Models for accessing API data to Classes (#3568) 2018-05-25 10:32:21 -07:00
Renovate Bot 0bf2233275 Update react monorepo to v16.4.0 2018-05-25 12:21:05 +01:00
Ed Morley c89fa8cfcb
Bug 1463079 - Update to AngularJS 1.7 (#3570)
Changelog:
https://github.com/angular/angular.js/blob/master/CHANGELOG.md#170-nonexistent-physiology-2018-05-11

`PluginCtrl` has been updated to correctly cancel the `$http` requests
made by `selectJob`, since previously they were silently failing to be
cancelled, whereas under AngularJS 1.7 an exception is raised if
`$timeout` is used incorrectly:
https://code.angularjs.org/snapshot/docs/guide/migration#-timeout-

The usage of `$timeout` has been removed in favour of this pattern:
https://odetocode.com/blogs/scott/archive/2014/04/24/canceling-http-requests-in-angularjs.aspx

Closes #3542.
2018-05-23 20:02:34 +01:00
Renovate Bot 459df93d3c Update dependency react-table to v6.8.6 2018-05-23 19:35:35 +01:00
Renovate Bot db14cf91ec Update dependency react-table to v6.8.5 2018-05-21 10:38:35 +01:00
Renovate Bot 621580f736 Update dependency taskcluster-lib-scopes to v10 2018-05-21 10:37:39 +01:00
Ed Morley 009789b1a3
Bug 1462267 - Remove unnecessary react-test-renderer dependency (#3556)
Since `enzyme-adapter-react-16` now has it as a dependency rather
than a peer dependency.
2018-05-17 09:53:24 +01:00
Renovate Bot 5c0c9991da Update dependency react2angular to v4.0.2 2018-05-14 21:23:34 +01:00
Renovate Bot 3b2c630cc8 Update dependency react-day-picker to v7.1.9 2018-05-14 13:33:21 +01:00
Ed Morley 55654a1195
Bug 1363722 - Allow login to work in all development workflows (#3534)
Previously it was not possible to test features that required an
authenticated user when:
* using `yarn start` with Vagrant (bug 1363722), which meant slower
  watch builds
* pointing the UI at the prod/stage API (bug 1317752), which was
  extremely limiting

Now login works in all environments, since the frontend no longer uses a
URL prefix, but instead webpack-dev-server proxies non-webpack URLs to
the chosen `BACKEND_DOMAIN` - avoiding cross-domain issues. Cookies are
rewritten to remove any `secure` directive (which is set on production),
so that they can still be read from HTTP localhost. The `Referer` has to
also be changed to stop Django's CSRF checks from rejecting request.

The slower "build into `dist` and watch" mode is therefore no longer
necessary, so `yarn start:local` instead invokes webpack-dev-server just
like `yarn start` - and the `local-watch.js` workaround has been
removed.

Support for the "publish to GitHub with hardcoded `SERVICE_DOMAIN`"
workflow has been dropped, since it was already rarely used and there is
no way to make it support login.

The API domain environment variable was renamed to `BACKEND_DOMAIN` to
avoid potential confusion given it no longer behaves the same as
`SERVICE_DOMAIN` used to.

NB: For full stack Vagrant workflows users must now connect to port
*5000* on localhost, not 8000.
2018-05-10 17:58:04 +01:00
Renovate Bot fd2098af2f Update dependency ajv to v6.5.0 2018-05-09 22:37:11 +01:00
Hassan Ali 85766e2787
Bug 1415868 - Use hooks for actions (#3502)
* Add hooks for actions

* Remove task from context for kind == hook

Also display hookGroupId/hookId for kind=hook
in the modal.

* Move taskcluster-lib-scopes to the vendor chunk
2018-05-09 15:03:23 -04:00
Ed Morley b880bcd30a
Bug 1460218 - Update to Node 10 (#3531)
Node.js 10 is the new LTS:
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V10.md#10.1.0

This updates Vagrant, Travis and Heroku (the latter uses the version
from `package.json`) from Node 8.

Travis `yarn build` times are now 15% faster (189s -> 161s).
2018-05-09 11:49:49 +01:00
Renovate Bot 82b2a172ce Update dependency react-day-picker to v7.1.8 2018-05-08 10:52:12 +01:00
Renovate Bot 0db274671b Update dependency react2angular to v4 2018-05-06 23:31:53 +01:00
Renovate Bot b1950f4913 Update dependency reactstrap to v6 2018-05-04 14:07:13 -07:00
Renovate Bot 5ceddcfb38 Update dependency karma-jasmine to v1.1.2 2018-05-04 10:27:16 +01:00
Renovate Bot 527d1645f7 Update dependency auth0-js to v9.5.1 2018-05-02 16:26:48 +01:00
Renovate Bot 7bc1093f04 Update dependency bootstrap to v4.1.1 2018-05-02 12:04:45 +01:00
Renovate Bot 0ff6cd2bc0 Update dependency lodash to v4.17.10 2018-04-26 12:09:38 -07:00
Cameron Dawson 7663ae2b67 Bug 1450020 - Convert Perf Details tab to ReactJS 2018-04-26 09:22:45 -07:00
renovate[bot] a7d6fe2d2f Update dependency redux to v4 (#3466) 2018-04-25 10:33:15 -07:00
Cameron Dawson 5d23735359
Bug 1446427 - Convert Autoclassify panel to ReactJS (#3414) 2018-04-24 12:39:06 -07:00
Renovate Bot c7b4400dbc Update dependency taskcluster-client-web to v7 2018-04-24 19:56:27 +01:00
Renovate Bot 196e104c4e Update dependency react-table to v6.8.2 2018-04-18 23:33:47 +01:00
Renovate Bot ebd6c05421 Update react monorepo to v16.3.2 2018-04-18 19:35:53 +01:00
Renovate Bot c71daa45c5 Update angular1 monorepo to v1.6.10 2018-04-18 19:34:22 +01:00
Cameron Dawson 4f2ee0c88b
Bug 1408791 - Move to using react2angular (#3462)
* Also fixes Bug 1451492 - Wording of Treeherder view for brand-new Try push is still sometimes the unfriendly version
2018-04-17 15:47:56 -07:00
Renovate Bot 373e2bf327 Update dependency moment to v2.22.1 2018-04-16 12:33:52 +01:00
Renovate Bot b2cc89b822 Update dependency react-day-picker to v7.1.6 2018-04-16 12:31:48 +01:00
Renovate Bot 7287ad1ea7 Update dependency react-day-picker to v7.1.5 2018-04-15 17:49:14 +01:00
Renovate Bot 920a12098b Update dependency bootstrap to v4.1.0 2018-04-10 19:28:11 +01:00
Renovate Bot 5d0fe96959 Update dependency popper.js to v1.14.3 2018-04-05 16:32:54 +01:00
Renovate Bot bdb99234c1 Update react monorepo packages 2018-04-05 11:53:55 +01:00
Ed Morley 062317c8ee
Bug 1451342 - Unvendor ng-text-truncate-2 (#3393)
Since we've moving away from vendored packages.

The only differences between the vendored file and that in the NPM
package were the changes to `require('angular')` and export the
created AngularJS module. However Angular is already imported prior
to this package being imported, and we can just pass the module name
as a string instead of relying on the export.
2018-04-04 16:08:11 +01:00
Renovate Bot 0e7d4ed854 Update dependency popper.js to v1.14.2 2018-04-04 14:17:46 +01:00
Renovate Bot 3da70afc6b Update react monorepo packages 2018-04-03 20:18:46 +01:00
Renovate Bot 461f3ad733 Update dependency auth0-js to v9.4.2 2018-04-03 19:07:53 +01:00
Renovate Bot 255084ab65 Update dependency reactstrap to v5.0.0 2018-04-03 18:23:30 +01:00
Renovate Bot bc9f71ce15 Update dependency moment to v2.22.0 2018-04-03 18:10:38 +01:00
Renovate Bot 43589ff9e7 Update dependency ajv to v6.4.0 2018-04-03 18:10:10 +01:00
renovate[bot] 206749b4e4 Update dependency reactstrap to v5.0.0-beta.3 (#3278) 2018-03-20 12:00:35 -07:00
renovate[bot] 782ef0131e Update dependency taskcluster-client-web to v6.0.0 (#3350) 2018-03-19 17:23:35 +00:00
renovate[bot] cfeef54328 Update dependency metrics-graphics to v2.14.0 (#3349) 2018-03-19 17:09:36 +00:00
renovate[bot] dff874056d Update dependency ajv to v6.3.0 (#3353) 2018-03-19 16:54:48 +00:00
renovate[bot] 53870092f9 Update dependency react-day-picker to v7.1.4 (#3340) 2018-03-15 11:56:32 +00:00
renovate[bot] 830f1cdfe3 Update dependency popper.js to v1.14.1 (#3342) 2018-03-15 11:40:43 +00:00
renovate[bot] 4ae2d7609d Update dependency popper.js to v1.14.0 (#3336) 2018-03-13 16:05:42 +00:00
Sarah Clements 30df0aae6c Bug 1367362 - Add an intermittent failures view (#3296)
Adds a new view to display intermittent test failure occurrences,
to replace the functionality currently provided by the legacy
OrangeFactor tool.

Includes the new API endpoints originally reviewed in #3271.
2018-03-13 13:52:17 +00:00
Ed Morley d5e3436e45
Bug 1444644 - Update Bootstrap from v4.0.0-beta.2 to v4.0.0 (#3327)
Notably:
* the `popper.js` `DefinePlugin` entry is no longer required
* the JS/CSS imports have been adjusted to match the install docs:
  https://getbootstrap.com/docs/4.0/getting-started/webpack/
  ...which shaves 23KB off the bundle size of most pages.

Release announcements:
https://blog.getbootstrap.com/2017/12/28/bootstrap-4-beta-3/
https://blog.getbootstrap.com/2018/01/18/bootstrap-4/

Release notes:
https://github.com/twbs/bootstrap/releases/tag/v4.0.0-beta.3
https://github.com/twbs/bootstrap/releases/tag/v4.0.0

Changelog:
https://github.com/twbs/bootstrap/compare/v4.0.0-beta.3...v4.0.0
2018-03-12 17:52:01 +00:00
renovate[bot] 033dc7940b Update dependency auth0-js to v9.3.3 (#3326) 2018-03-10 19:23:04 +00:00
renovate[bot] 72e631368e Update dependency js-yaml to v3.11.0 (#3305) 2018-03-06 16:34:56 +00:00
renovate[bot] 448a568c4c Update dependency ajv to v6.2.1 (#3298) 2018-03-04 22:19:13 +00:00
renovate[bot] e57e6d1287 Update dependency auth0-js to v9.3.2 (#3295) 2018-03-03 23:31:05 +00:00
renovate[bot] 843fb44817 Update dependency auth0-js to v9.3.1 (#3292) 2018-03-02 12:26:08 +00:00
renovate[bot] b154705d47 Update dependency jasmine-core to v3.1.0 (#3284) 2018-03-01 11:29:54 +00:00
renovate[bot] 58d1879a16 Update dependency prop-types to v15.6.1 (#3277) 2018-02-28 00:08:18 +00:00
renovate[bot] 311523fe83 Update dependency ajv to v6.2.0 (#3274) 2018-02-27 10:34:20 +00:00
renovate[bot] 02841f7ef6 Update dependency auth0-js to v9.3.0 (#3263) 2018-02-24 00:04:42 +00:00
renovate[bot] a1bd6bb217 Update dependency reactstrap to v5.0.0-beta (#3183) 2018-02-19 09:19:02 +00:00
renovate[bot] 452771c031 Update dependency react-redux to v5.0.7 (#3238) 2018-02-18 18:26:02 +00:00
renovate[bot] 6ae6e9d1c1 Update dependency auth0-js to v9.2.3 (#3235) 2018-02-16 00:02:48 +00:00
renovate[bot] 45c70961bd Update dependency json-schema-defaults to v0.4.0 (#3226) 2018-02-14 11:28:07 +00:00
Ed Morley cfe3a82466
Bug 1436053 - Unvendor jasmine-jquery (#3200)
It has also been updated from v2.0.7 to v2.1.1:
https://github.com/velesin/jasmine-jquery/blob/master/HISTORY.md#211--2015-09-24
https://github.com/velesin/jasmine-jquery/compare/2.0.7...2.1.1
2018-02-12 16:50:41 +00:00
renovate[bot] d2a555a782 Update dependency auth0-js to v9.2.2 (#3208) 2018-02-10 22:16:57 +00:00
renovate[bot] e61f356d2d Update dependency jasmine-core to v3.0.0 (#3204) 2018-02-07 22:31:47 +00:00
renovate[bot] 8cacb27897 Update dependency jasmine-core to v2.99.0 (#3203) 2018-02-07 19:32:59 +00:00
Hassan Ali e1b0168127
Bug 1395356 - Use auth0 instead of login.taskcluster.net for SSO (#3144)
## Rough summary of the changes

### Front end
The auth callback is written in React and lives under the /login.html endpoint. It communicates with Treeherder using the localStorage.

### Credential expiration
The Django user session expiration is set to expire when the client access token or the id token expires (whichever one expires first). These values are controlled by the IAM team. Presently, the access token expires after 1 day and the id token expires after a week. That being said, the session will therefore expire after 1 day. If you want this value change, we simply need to send a request to the IAM team.

### Credential renewal
Renewals are set to happen every 15 minutes or so. The renewal is skewed slightly so that different open tabs don't renew at the same time. Once renewal happens, both tokens are renewed and the Django session is updated.

### Migration
If the userSession localStorage key is not set, then the user will be logged out including logging out from the Django session. In other words, all users will be automatically logged out when the merge to production happens.
2018-02-07 12:59:30 -05:00
renovate[bot] 94dbe406d0 Update dependency metrics-graphics to v2.13.0 (#3201) 2018-02-07 02:24:44 +01:00
renovate[bot] e12f387b0b Update dependency lodash to v4.17.5 (#3191) 2018-02-06 00:15:33 +01:00
renovate[bot] e08ef95ba6 Update angular monorepo packages to v1.6.9 (#3190)
https://github.com/angular/angular.js/blob/master/CHANGELOG.md#169-fiery-basilisk-2018-02-02
2018-02-05 23:53:15 +01:00
renovate[bot] 49577ca251 Update dependency ajv to v6.1.1 (#3181) 2018-01-31 21:43:09 +00:00
renovate[bot] d686c5810f Update dependency ajv to v6.1.0 (#3171) 2018-01-27 19:28:39 +00:00
Ed Morley 13627f006b Bug 1432840 - Use the AirBnb React ESLint preset
Previously only 65 rules were enabled, since the `eslint:recommended`
and `plugin:react/recommended` entries in `extends` had no effect,
since when using ESLint's API rather than CLI, the options must be
passed inside the `baseConfig` property instead.

This commit corrects the usage of `extends` and switches us to AirBnb's
React ESLint preset rather than manually opting into rules:
https://github.com/airbnb/javascript

Even with the temporarily disabled rules (which can be gradually fixed
in the future), there are now over 200 ESLint rules enabled, giving
a significant increase in coverage.

Note: We're having to use v15 of `eslint-config-airbnb` rather than v16
until we update to newer Neutrino, since the latest preset has dropped
support for the ESLint v3 that comes with Neutrino 4.
2018-01-25 19:15:57 +00:00
Ed Morley 49339088f6 Bug 1364894 - Load HTML with html-loader not raw-loader
Neutrino 4 configures `file-loader` as the loader for HTML (rather than
the more usual `html-loader`), which means the HTML is not parsed to
look for further dependencies such as `<img src="...">` tags. Our
custom Neutrino config overrode that to `raw-loader` (presumably to
work around bugs caused by the use of `file-loader`), which doesn't
parse HTML either.

Instead, these assets were being manually copied to `dist/img/` by
`neutrino-custom/production.js`'s `CopyPlugin` rule, effectively
circumventing the webpack build process.

Newer Neutrino correctly uses `html-loader`, causing our HTML to be
parsed during the webpack build for the first time. However now that
the images are being resolved at build time rather than runtime, the
relative paths need to be updated to account for the directory layout
differences between `src/` and `dist/`, to prevent build errors.

A significant benefit of this change is that images referenced from
HTML will now be output with hashed filenames, meaning they get given
long-lived `Cache-Control` headers by WhiteNoise.

See:
https://webpack.js.org/loaders/file-loader/
https://webpack.js.org/loaders/raw-loader/
https://webpack.js.org/loaders/html-loader/
2018-01-24 23:43:58 +00:00
renovate[bot] 4ed5e3c779 Update dependency jquery to v3.3.1 (#3156) 2018-01-22 01:26:27 +00:00
renovate[bot] c45f92330f Update dependency jasmine-core to v2.9.1 (#3152) 2018-01-21 12:14:02 +00:00
renovate[bot] e8cc1fe515 Update dependency jasmine-core to v2.9.0 (#3149) 2018-01-19 09:50:29 +00:00
renovate[bot] 15066ececb Update dependency ajv to v6.0.1 (#3130) 2018-01-12 22:46:58 +00:00
renovate[bot] c8f7de4bb2 Update dependency json-e to v2.5.0 (#3119) 2018-01-09 22:30:04 +00:00
renovate[bot] b2337e0172 Update dependency ajv to v6.0.0 (#3115) 2018-01-08 21:44:46 +00:00
renovate[bot] 3c835bc30c Update dependency json-e to v2.4.0 (#3110) 2018-01-07 19:28:20 +00:00
Ed Morley 3ada44e019 Bug 1364888 - Upgrade to AngularJS 1.6
The previous commit switched us away from the deprecated `$http`
callback methods, meaning the only other breaking change that affects
us is the `hashPrefix` change, which we revert by manually setting
it back to the empty string, so that existing URLs still work:
https://docs.angularjs.org/guide/migration#commit-aa077e8

For more details, see:
https://docs.angularjs.org/guide/migration#migrating-from-1-5-to-1-6
https://github.com/angular/angular.js/blob/master/CHANGELOG.md#160-rainbow-tsunami-2016-12-08

Closes #3044.
2018-01-05 11:13:58 +00:00
Ed Morley a83ee853c7
Bug 1427295 - Remove unused angular-cookies (#3076)
Since we don't use any of the functionality provided by it:
https://docs.angularjs.org/api/ngCookies#module-components
2018-01-04 00:25:32 +00:00
Ed Morley 96eef0f86f
Bug 1426902 - Upgrade to React 16 (#3067)
https://reactjs.org/blog/2017/09/26/react-v16.0.html
https://reactjs.org/blog/2017/11/28/react-v16.2.0-fragment-support.html

Replaces #3048/#3068/#3069, since additional changes were required.

Also adjusts the Babili minification settings to work around a bug
in the minification of react-dom (that will hopefully be fixed in
newer versions of `babel-plugin-minify-mangle-names`, that we'll get
as part of Neutrino upgrade):
https://github.com/babel/minify/tree/babel-preset-babili@0.0.11/packages/babel-preset-babili#options

Closes #3069.
2018-01-03 19:49:25 +00:00
Ed Morley b615b12d7b
Bug 1427655 - Un-vendor flot and its plugins (#3095)
It wasn't unvendored at the time of the switch to Neutrino/webpack
due to the official `flot` NPM package being out of date. However
there are now unofficial up to date flot packages on NPM that we can
use instead - which avoids the clutter and grep false-positives of
vendoring.

I've diffed the vendored files with those in `jquery.flot` and they
are identical, so this change should be a no-op in terms of
functionality.
2018-01-03 15:40:02 +00:00
Ed Morley d38d2d475c
Bug 1427615 - Un-vendor angular-clipboard (#3092)
The issue seen with the old Grunt+babel build process no longer
occurs, so we don't need the modified vendored version. As an added
bonus, the upstream version supports the ES6 import style which we
want to start using soon:
https://github.com/omichelsen/angular-clipboard#use-with-a-module-loader
2018-01-03 15:18:40 +00:00
renovate[bot] 2bca255b90 Update dependency angular-toarrayfilter to v1.0.3 (#3096) 2018-01-03 15:17:41 +00:00
renovate[bot] fe83bfb9f4 Update dependency enzyme to v3.3.0 (#3081) 2017-12-30 14:19:15 +00:00
Ed Morley 2c93921725
Revert "Update hawk from v6.0.2 to v7.0.5 (#3049)" (#3066)
This reverts commit b37ef957a2.

There appears to be a bug with the webpack module resolution, such that Treeherder's upgraded Hawk 7 is being used by taskcluster-client, even though that has a separate dependency on Hawk 6, and so should be using its own copy of Hawk.

For now, let's roll back to Hawk 7 for Treeherder's direct dependency (used by the login flow), to work around this.
2017-12-21 21:06:45 +00:00
Ed Morley b37ef957a2 Update hawk from v6.0.2 to v7.0.5 (#3049)
Has to adjust Hawk.client.header() usage for Hawk v8 API:
f72cdeafd1 (diff-04c6e90faac2675aa89e2176d2eec7d8L174)

And also now import the non-dist/minified build, to work around:
https://github.com/hueniverse/hawk/issues/223
2017-12-20 15:36:30 +00:00
renovate[bot] 1d7745957f Update dependency angular-local-storage to v0.7.1 (#3039) 2017-12-20 03:10:06 +00:00
renovate[bot] 2864ae9976 Update dependency metrics-graphics to v2.12.0 (#3043) 2017-12-20 03:05:27 +00:00
renovate[bot] b2e6c34151 Update dependency popper.js to v1.12.9 (#3045) 2017-12-20 03:02:37 +00:00
renovate[bot] 0696fa6434 Update dependency karma-jasmine to v1.1.1 (#3040) 2017-12-20 02:57:19 +00:00
renovate[bot] e4da81ab25 Update dependency enzyme to v3.2.0 (#3046) 2017-12-20 02:47:05 +00:00
renovate[bot] e2a3f90516 Update dependency json-e to v2.3.5 (#3042) 2017-12-20 02:45:07 +00:00
renovate[bot] 100a8f732f Update dependency karma-firefox-launcher to v1.1.0 (#3041) 2017-12-20 02:43:01 +00:00
renovate[bot] 9523a39735 Update dependency ajv to v5.5.2 (#3038) 2017-12-20 02:41:01 +00:00
renovate[bot] 49b7dd1c4f Update dependency ngreact to v0.5.1 (#3037) 2017-12-20 02:36:59 +00:00
Cameron Dawson a7e4848aad
Bug 1366909 - Merge Test view app into Treeherder repository (#3001)
Modify the code to:
* share assets and global settings wherever possible
* update links going both directions
* other small UI tweaks for uniformity with Treeherder
* Fixed a few routing dead-ends on the react side
* Removed the dead TestDetail file we weren't using anyway
* fix production domain urls
2017-12-14 08:03:32 -08:00
Ed Morley a4b335d286
Bug 1419987 - Always use latest minor version of node.js (#2979)
Since the node minor/patch versions are reliable enough that it's
not worth the hassle of pinning to an exact version. This only
affects Heroku/Travis, since Vagrant was already always using the
latest 8 series release via the APT repo.

This effectively upgrades node on Heroku/Travis from 8.9.0 to 8.9.1,
since it's the latest release at the moment:
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.9.1

The yarn version specifier has been adjusted to use the `.x` format,
which gives the same end result as the caret range, given Heroku
doesn't cache binaries from one build to the next (only `node_modules`).
2017-11-27 16:40:54 +00:00
Cameron Dawson 97076b338d Bug 1364891 - Update from React 15.3 to 15.6
Also upgrade Enzyme from 2.7.1 to 3.1.1

Most notable change here is that React.PropTypes is now
moved to a separate package and referenced just by
PropTypes.  So this needed some import and linting changes.
2017-11-14 09:59:24 -08:00
Cameron Dawson 51dc3cc938 Bug 1408100 - Upgrade to Bootstrap 4
This adds the upgrade to Bootstrap 4, and some basic changes and
some CSS tweaks we needed to keep out UI consistent.

The simpler changes are things like:

* Classes that were renamed
* Adding classes that are now needed (dropdown-item, etc)
* Change an item from a button to a span
* Changing order of items (modal header close button, etc)
* CSS class syntax changes

The other changes are lots of CSS padding, margin, font and
other spacing tweaks.
2017-11-09 11:12:09 -08:00
Ed Morley 3d94c40c87
Bug 1413509 - Update Node.js from 8.7.0 to 8.9.0 (#2896)
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.9.0
2017-11-01 23:56:44 +00:00
Ed Morley 2247a57d42 Bug 1351907 - Improve yarn script Windows compatibility (#2863)
Typically the `package.json` commands call scripts that exist in the
top-level `node_modules/.bin/` directory, which are (a) already on
`PATH` when invoked by yarn, and (b) on Windows have `.cmd` script
shims that work around Windows' lack of shebang support.

However due to symlinks being problematic inside Virtualbox, we have
to use `--no-bin-links` with `yarn install`, which means the top-level
`.bin/` directory doesn't exist. As such, the `<package>/bin/` scripts
have to be used directly, which require prefixing with `node` to work
around lack of shebang support on Windows.

See:
https://shapeshed.com/writing-cross-platform-node/#scripts-in-package-json

Note that even with these changes, the `start:stage` command will not
work due to the environment variable prefix. This will be solved by
the switch to newer Neutrino, which supports setting environment
variables using the `--options` command line parameter instead.
2017-10-23 17:29:41 +01:00
Ed Morley 04762e5961 Bug 1408776 - Update js-yaml from 3.9.1 to 3.10.0
https://github.com/nodeca/js-yaml/blob/3.10.0/CHANGELOG.md#3100--2017-09-10
2017-10-17 19:53:03 +02:00
Ed Morley cb305ac52e Bug 1408776 - Update json-e from 2.2.1 to 2.3.1
https://github.com/taskcluster/json-e/compare/v2.2.1...v2.3.1
2017-10-17 19:53:03 +02:00
Ed Morley 325ab2fb59 Bug 1408776 - Update jasmine-core from 2.7.0 to 2.8.0
https://github.com/jasmine/jasmine/blob/v2.8.0/release_notes/2.8.0.md
2017-10-17 19:53:03 +02:00
Ed Morley 0574a6e7bd Bug 1408776 - Update ngreact from 0.4.1 to 0.5.0
https://github.com/ngReact/ngReact/releases/tag/v0.5.0
2017-10-17 19:53:03 +02:00
Ed Morley 7043a0dfb6 Bug 1408776 - Update ajv from 5.2.2 to 5.2.3
https://github.com/epoberezkin/ajv/compare/v5.2.2...v5.2.3
2017-10-17 19:53:03 +02:00
Ed Morley 68970eda55 Bug 1408776 - Update taskcluster-client from 2.5.0 to 2.5.4
https://github.com/taskcluster/taskcluster-client/compare/v2.5.0...v2.5.4
2017-10-17 19:53:03 +02:00
Ed Morley 16a36b1274 Bug 1408776 - Update deepmerge from 1.5.0 to 1.5.2
https://github.com/KyleAMathews/deepmerge/blob/v1.5.2/changelog.md#152
2017-10-17 19:53:03 +02:00
Ed Morley 7970088409 Bug 1408776 - Update angular-ui-router from 0.4.2 to 0.4.3
https://github.com/angular-ui/ui-router/blob/0.4.3/CHANGELOG.md#043-2017-10-04
2017-10-17 19:53:03 +02:00
Ed Morley fe72a67145 Bug 1408776 - Remove caret version ranges from package.json
Since in a `yarn.lock` world they cause confusion with tooling as
to what package version is actually in use.
2017-10-17 19:53:03 +02:00
Ed Morley eb97e5ddb8 Bug 1408776 - Remove explicit eslint dependency
Since it's already a dependency of `neutrino-lint-base`.
2017-10-17 19:53:03 +02:00
Ed Morley ce313a65d5 Bug 1408776 - Remove explicit karma dependency
Since it's already a dependency of `neutrino-preset-karma`.
2017-10-17 19:53:03 +02:00
Ed Morley daf26985c6 Bug 1408776 - Remove explicit 'marked' dependency
The `angular-marked` package is already listed in `package.json`,
which itself has a dependency on `marked`, so we don't need to list
it explicitly ourselves.
2017-10-17 19:53:03 +02:00
Ed Morley a75cff15aa Bug 1408954 - Use latest yarn on Heroku/Travis (#2839)
For parity with Vagrant and to save the hassle of constantly updating.
Heroku uses the version from `package.json`.
2017-10-17 18:46:50 +02:00
Ed Morley 4269267131 Bug 1408748 - Update node from 8.6.0 to 8.7.0 (#2837)
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.7.0
2017-10-15 16:11:25 +02:00
Cameron Dawson cbf6045a6f Bug 1407008 - Update Node.js from 8.5.0 to 8.6.0 2017-10-09 12:47:43 -07:00
Brian Stack 5c0c7eb5e2 Bug 1397436 - Improve actions.json actions editor 2017-09-20 17:06:22 -07:00
Ed Morley e0fd996131 Bug 1399281 - Update nodejs from 8.4.0 to 8.5.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.5.0
2017-09-13 22:58:28 +01:00
Brian Stack e918b4e1b1 Bug 1391321 - Use taskcluster actions.json for all actions (#2718)
Bug 1391321 - Use taskcluster actions.json for all actions
2017-08-25 11:48:38 -07:00
Ed Morley a26144306d Bug 1390598 - Upgrade to nodejs 8
This speeds up yarn build by 22% and yarn test by 14%, which helps
with Heroku deploy times.

Changelog:
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V7.md#7.10.1
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.4.0
2017-08-18 11:34:31 +01:00
Ed Morley 6fbc95b473 Bug 1387893 - Update JS dependencies
Packages have been updated as follows:
* `angular*`, `react*` and `enzyme`: Unchanged (latest patch version),
  for the same reasons as in bug 1364010.
* all other packages have been bumped to their latest minor version.
* caret version ranges have been converted to exact versions, for
  parity with the rest of the versions and to make it easier to
  identify which version is being used without having to view the
  lock file.

This was performed using:
```
sudo yarn global add npm-check-updates
ncu --upgrade --upgradeAll --semverLevel minor
ncu --upgrade --upgradeAll --semverLevel major --reject '/^(angular|react|enzyme).*/'
```

The lock file was then regenerated using:
```
rm -rf node_modules/ yarn.lock
yarn install --no-bin-links
```

Other bugs will handle the more involved `angular*`, `react*`,
`enzyme` and `neutrino*` updates (see deps of bug 1364010).
2017-08-06 23:00:48 +01:00
Shruti Jasoria fd5fc36ea8 Bug 1350384 - [Follow Up] Remove redundant dependencies (#2650)
metrics-graphics is built over d3. So there is no need to add its pacakage separately.
Direct include of metrics-graphics is redundant with the angular fixture.
2017-07-24 20:22:21 +01:00
Shruti Jasoria dcac420965 Bug 1350384 - Add ability to see a visualization of the test replicates in Perfherder (#2571) 2017-07-21 12:15:59 -04:00
Dustin J. Mitchell f616d6b5bb Bug 1335920 - Use JSON-e directly to parameterize action tasks (#2636)
This replaces the old, "fake" JSON-e with the real JSON-e library.

The library is packaged as a service since the action spec will
eventually specify additional context values, and we want to apply those
values universally.
2017-07-17 16:58:27 -04:00
Cameron Dawson 2c76fad3d2 Bug 1364882 - Upgrade from JQuery 2.x to 3.x
There were only two tiny issues that affected us:

* $.bind has been deprecated, so it is a switch to $.on
* Found a function that was dead code, so removed it
2017-06-23 10:33:58 -07:00
Ed Morley 72a3ce8140 Bug 1364030 - Update to neutrino-preset-karma 4.2.1
To pick up the fix for failing JS tests not making the Travis run
fail (mozilla-neutrino/neutrino-dev#268).
2017-06-20 10:21:00 +01:00
Ed Morley 23e7c97387 Bug 1373376 - Remove broken webpack-md5-hash configuration
The webpack-md5-hash plugin attempts to make the generated hashes
less susceptible to churn when chunks haven't actually changed.
However it requires careful use and clearly wasn't set up correctly,
since the manifest file hashes were always the same regardless of
content, causing stale files and runtime errors in production.

Once Neutrino v6 is released, we can use its new in-built support
for caching to save having to implement this ourselves.
2017-06-15 21:24:09 +01:00
Shruti Jasoria eeaa505a2f Bug 1164891- Visualize the distribution of performance test results using Canvas API (#2530) 2017-06-13 13:29:54 -04:00
Ed Morley 4d5c0a80e1 Bug 1364010 - Update angular-toarrayfilter from 1.0.1 to 1.0.2
The only change is the move of `karma` from angular-toarrayfilter's
`dependencies` to `devDependencies`, which stops us unnecessarily
pulling in an ancient version of karma, and the resultant security
warnings.
2017-05-15 14:07:19 +01:00
Ed Morley 0c42d47c9d Bug 1364010 - Update JS dependencies
Packages have been updated as follows:
* `angular*`: Latest patch version, since it doesn't follow semver.
* `react*`: Latest patch version, since in 15.5 some obtrusive
  deprecation warnings were added, and `enzyme`'s peer-dependencies
  need adjusting too.
* `enzyme`: Unchanged, since the newer minor version gives warnings.
* all other packages have been bumped to their latest minor version.

This was performed using:
```
sudo yarn global add npm-check-updates
ncu --upgrade --upgradeAll --semverLevel minor
ncu --upgrade --upgradeAll --semverLevel major --reject '/^(angular|react|enzyme).*/'
```

In addition, `karma-coverage-istanbul-reporter`, `taskcluster-client`
and `hawk` have been bumped to the latest major versions since their
changelogs don't show any breaking changes that impact us.

The lock file was then regenerated using:
```
rm -rf node_modules/ yarn.lock
yarn install --no-bin-links
```

At some point later we'll want to perform the more involved `angular*`,
`react*`, `enzyme`, `jquery` and `neutrino*` updates.
2017-05-11 23:10:47 +01:00
Ed Morley 7aeee8383d Bug 1364010 - Update to nodejs 7.10.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V7.md#7.10.0
2017-05-11 23:10:46 +01:00
Ed Morley 549e9b2ba6 Bug 1353014 - Make yarn lint include JSX files too
By default eslint only scans for `*.js`:
https://github.com/eslint/eslint/issues/8399

Unfortunately it's not possible to set this via a config file:
https://github.com/eslint/eslint/issues/3469
2017-04-27 11:21:29 +01:00
Ed Morley 178bfdf385 Bug 1357389 - Update to nodejs 7.9.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V7.md#7.9.0
2017-04-18 13:37:04 +01:00
Ed Morley bd52f1e75f Bug 1353014 - Move test/dev package.json dependencies to devDependencies
Since they aren't required for the UI build, so don't need to be
installed during the Heroku compile (which sets `NODE_ENV=production`).
2017-04-07 15:04:02 +01:00
Casey Williams 5a1c8c6af3 Bug 1336556 - Add a standalone eslint task
Installs eslint explicitly to avoid warning messages on initial
node_modules install.  Adds a standalone eslint task via `yarn run
lint`.
2017-03-29 22:07:24 +01:00
Casey Williams c19bfb2da9 Bug 1336556 - Cache angular partials with webpack
Load the contents of the various angular partials into the template
cache at build time so that they don't need to be built separately.
2017-03-29 22:07:24 +01:00
Casey Williams afa7d63d1d Bug 1336556 - Replace grunt build system with neutrino/webpack 2017-03-29 22:07:24 +01:00
Casey Williams 11ca87fb34 Bug 1336556 - Update eslint to v3.17.1
Updates eslint in advance of grunt -> webpack switch; Fixes some
resulting newly detected indentation issues.
2017-03-29 22:07:24 +01:00
Ed Morley a1bf9e19e2 Bug 1343624 - Make package.json scripts work with --no-bin-symlinks
Node packages that are intended to be called from the command line can
request that symlinks be added to `node_modules/.bin/` as part of their
installation. When `npm/yarn run` is used, it automatically adds that
directory to the PATH, so commands listed in `scripts` in `package.json`
can normally be specified without the full filepath.

However when npm/yarn is used inside a Linux Vagrant instance running on
a Windows host, even though the guest OS supports symlinks, errors will
occur if symlinks are created in a directory that is shared with the
host using Virtualbox shared folders.

In this case, the workaround is to prevent the creation of symlinks
using `--no-bin-links`. However unfortunately instead of having a
sensible fallback (eg a shell script that acts like a symlink) instead
no files are created in `node_modules/.bin/` at all.

As such, we have to use full paths in `package.json` after all.
2017-03-13 15:27:46 +00:00
Ed Morley 245696ef53 Bug 1343624 - Add `npm run lint` as an alias of `grunt checkjs`
For the same reason as the previous commit.

Ideally we'd remove the grunt abstraction entirely and call eslint from
the `lint` command, but we might as well save that to the Neutrino PR.
2017-03-13 15:27:46 +00:00
Ed Morley 21abe6ed75 Bug 1343624 - Add `npm run build` as an alias of `grunt build`
Routing commands via npm/yarn is preferred, since it avoids
having to do global installs of grunt-cli, which simplifies contributor
setup, and means less effort when we switch to Yarn (since it requires
manual PATH setup for globally installed packages).
2017-03-13 15:27:46 +00:00
Ed Morley e1d9a10e71 Bug 1343932 - Update nodejs used on Heroku/Travis from 7.7.1 to 7.7.2
Vagrant uses the latest 7.x.x release, which is now 7.7.2. To reduce
differences between environments whilst the Neutrino/webpack work is
stabilised, it makes sense to update Heroku/Travis again too.
2017-03-10 11:04:38 +00:00
Ed Morley 35ff05e23f Bug 1343932 - Update nodejs used on Heroku/Travis from 6.2.0 to 7.7.1
The npm shrinkwrap was also updated since new nodejs versions come with
new npm, and the format for the shrinkwrap sometimes changes:
https://treeherder.readthedocs.io/common_tasks.html#updating-packages-in-package-json
2017-03-07 17:02:19 +00:00
Casey Williams 68b4753353 Bug 1242905 - Use ngreact-test-utils for ngreact tests
Introduces the ngreact-test-utils npm package to supply reusable
compile() and simulate() functions for testing ngreact components. This
requires browserify, which is now applied to tests in
tests/ui/unit/react only.
2017-01-10 09:36:54 -08:00
James Graham b379a10759 Bug 1315933 - Update npm dependencies, r=emorley
This is required because the older version of grunt-angular-templates
was hanging with component templates. In order to upgrade everything it
was also necessary to switch from grunt-cache-busting, which is no longer
maintained, to grunt-cache-bust, which is.
2016-11-08 12:43:14 +00:00
William Lachance 83b079c682 Bug 1297722 - Use babel to transpile es6 code to es5
The uglify step of the grunt build won't work otherwise. Not crazy about the
way I did this, but I couldn't find any better way offhand.
2016-08-24 14:42:15 -04:00
Ed Morley 7328cc20d8 Bug 1272207 - Update from nodejs 5.3.0 to 6.2.0 on Travis/Heroku
Since it includes improvements to npm as well as nodejs security fixes.
2016-05-26 15:47:12 +01:00
Ed Morley 901a455777 Bug 1274054 - Move minimist from dependencies to devDependencies
Since it's only required when developing locally, so doesn't need to be
installed in production.
2016-05-26 15:47:12 +01:00
crosscent 5053a342f0 Bug 1274054 - Don't require a local.conf.js for local development 2016-05-20 08:32:29 -04:00
Ed Morley 86b636650b Bug 1237244 - Update to karma v0.13.19 to support new socket.io API
socket.io released backwards incompatible API changes in a minor version
update, causing failures during our ui-tests travis run. See:
https://github.com/socketio/socket.io/issues/2368

However the latest version of Karma has added support for it:
https://github.com/karma-runner/karma/issues/1782
2016-01-06 13:56:59 +00:00
Ed Morley 5880601144 Bug 1234897 - Pin the version of nodejs used on Heroku
https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
2015-12-23 19:07:26 +00:00
Ed Morley 830d47924b Bug 1220479 - Update grunt-eslint to 17.3.1 and eslint to 1.8.0
The move to eslint 1.x changes the way rules are managed, see:
http://eslint.org/docs/user-guide/migrating-to-1.0.0

There are slightly fewer rules enabled with "eslint:recommended" than
were by default before, but we'll enable more non-default rules later.
2015-11-06 18:01:25 +00:00
Ed Morley de1ab1ef52 Remove stray whitespace from package.json 2015-11-01 23:32:58 +00:00
Ed Morley 99adcdac0e Bug 1210738 - Declare the license type in package.json
To suppress the warning shown when using `npm install`.
2015-10-06 13:16:04 +01:00
Ed Morley f4e915bdbe Bug 1201523 - Add grunt-cli to local dependencies list
Normally grunt-cli (a wrapper around grunt to allow it to be easily run
from the command line) would be installed globally, so that it is on the
PATH. However to save having to do this on prod/Heroku/Travis, we
install it locally - and it will then be available via:
`./node_modules/.bin/grunt`
...or else via just `grunt`, if referenced inside a package.json scripts
section.
2015-09-30 17:53:08 +01:00
Ed Morley 440e929916 Bug 1206670 - Update karma to v0.13.10 and karma-jasmine to v0.3.6
As of karma-jasmine 0.3.0, the jasmine library is not bundled with
karma-jasmine, and so jasmine-core has to be installed separately.

jasmine-jquery also has to be updated, since the old version was not
compatible. A duplicate jasmine-jquery file that was outside of the
tests vendor directory has also been removed.
2015-09-22 19:09:16 +01:00
Ed Morley 415c343b80 Bug 1206670 - Update grunt-html-angular-validate to v0.5.2
It's not yet used in Travis, but we'll hopefully start using it in the
future.
2015-09-22 19:09:15 +01:00
Ed Morley 32e3e908eb Bug 1206670 - Pin packages in devDependencies to explicit versions
To avoid Travis failing if new package authors don't follow semver and
break things in a point release.

This is effectively a no-op, compared to a clean install using the prior
package.json.
2015-09-22 19:09:14 +01:00
Ed Morley 9735762568 Bug 1206670 - Remove karma-cli from devDependencies
The karma package already comes with a wrapper script, so there's no
need to install another locally. The intended use for karma-cli is to
install it globally, which cannot be done from package.json.
2015-09-22 19:09:13 +01:00
Ed Morley 9ce4794d0e Bug 1206670 - Update dependencies for grunt build to latest versions
Package                      Current   Latest
grunt-contrib-cssmin          0.12.3   0.14.0
grunt-contrib-copy             0.8.0    0.8.1
grunt-contrib-uglify           0.9.1    0.9.2
grunt-usemin                   3.0.0    3.1.1
2015-09-22 19:09:12 +01:00
Ed Morley 52a99d7a78 Bug 1206108 - Pin load-grunt-tasks to v3.2.0
The previous value of "^3.2.0" is equivalent to "4 > version >= 3.2.0".
We should pin to a specific version to stop deployments breaking if
a new release doesn't behave as expected. See:
https://nodesource.com/blog/semver-tilde-and-caret

We should also do the same for devDependencies, but let's do that in
another bug, since it doesn't affect production.
2015-09-19 02:09:59 +01:00
Ed Morley d5e7b5ca49 Bug 1206108 - Separate `grunt build` npm packages from those for testing
To run grunt build as part of deploy, we're going to need to npm install
the dependencies required for it. However we do not need to install the
testing related packages, so by splitting the two between `dependencies`
and `devDependencies` we'll have more control. eg:
`npm install --production` will only install those under `dependencies`.

See:
https://docs.npmjs.com/files/package.json#dependencies
https://docs.npmjs.com/files/package.json#devdependencies
https://docs.npmjs.com/misc/config#production
2015-09-19 02:09:57 +01:00
William Lachance 658927bdf7 Bug 1183367 - Add a grunt target to run eslint on JS frontend 2015-07-14 13:40:18 -04:00
Jonathan French 92c346a18c Bug 1170330 - Update treeherder package.json post repo-merge 2015-06-01 21:12:59 -04:00
Ed Morley ee41133209 Bug 1145083 - Update grunt node packages & pin to specific versions
We were previously using '~' (which allows for N.N.*) and '^' (which
allows for N.*.*) for the grunt node package version numbers. This meant
that each person running grunt build could end up with different output,
since the versions were not pinned. Instead, all packages are now pinned
to a specific version - the latest currently available (which in many
cases is not far off the version someone running |npm install| in a
clean repo would have gotten anyway, due to the use of '^' and '~').
2015-05-20 17:18:35 +01:00
Ed Morley f2f362e430 Bug 1145083 - Remove unused grunt-filerev node package
We switched to grunt-cache-busting some time ago and so no longer use
grunt-filerev.
2015-05-20 17:18:34 +01:00
Ed Morley 2efb703f16 Bug 1056877 - Update UI path references after directory moves
As part of merging the UI repo into this one, the following directory
moves were performed:
  webapp/app/                   ->  ui/
  webapp/test/                  ->  tests/ui/
  webapp/config/                ->  tests/ui/config/
  webapp/scripts/               ->  tests/ui/scripts/
  webapp/scripts/web-server.js  ->  web-server.js
2015-05-20 16:55:55 +01:00
Ed Morley da294ba761 Bug 1056877 - Stop using/referring to the separate treeherder-ui repo
Since it has now been merged into this one.
2015-05-20 16:55:55 +01:00
mdoglio 668d50c268 Bug 1096257 - pin karma-jasmine version 2014-11-10 13:52:41 +00:00
Ed Morley 3597e08d3e Bug 1080419 - Add an optional grunt HTML validator
Run using |grunt htmlangular|
2014-10-23 15:05:37 +01:00
Ed Morley 6252e0748d Bug 1080419 - Put devDependencies in alphabetical order
This means if |npm install foo --save-dev| is now used in the future,
the diff will be much clearer, since it won't also change the order of
existing entries.
2014-10-09 10:51:26 +01:00
Cameron Dawson e017e215bc bug 1067961- minifying and versioning templates 2014-09-18 16:00:49 -07:00
Cameron Dawson 55035c5857 bug 1067961 - add versioning to css and js assets 2014-09-18 11:56:50 -07:00
Ed Morley f67f77b2a1 Bug 1063483 - Define repository in package.json to suppress npm warning 2014-09-05 13:20:50 +01:00
George Miroshnykov 2dd59c14a1 package.json: remove unnecessary `./node_modules/.bin` from `scripts.test`
`./node_modules/.bin` is automatically added to PATH when running npm commands,
so there's no need to explicitly mention it.
2014-05-20 17:24:25 +03:00
Jonathan Eads d0d6b5ff3d merged master 2014-04-25 11:04:25 -07:00
Jonathan Eads a2431b6c4a added clean step 2014-04-25 10:55:13 -07:00
Jonathan Eads 562fc9a0c8 cleaned up 2014-04-24 18:17:56 -07:00
Jonathan Eads 3e9261092c standardized angularjs dependency ingention syntax to work with minification 2014-04-24 18:10:30 -07:00
mdoglio 330b5b89cd improve layout and usability of the simial jobs plugin 2014-04-24 13:26:01 +02:00
Jonathan Eads 1560b80dc3 added grunt build for js/css 2014-04-23 13:34:15 -07:00
Cameron Dawson f000fbefa7 fix package.json 2014-04-10 15:26:41 -07:00
Cameron Dawson c1ccab4b44 resultset model fixes and passing unit tests 2014-04-10 15:01:00 -07:00
Cameron Dawson 92b8396955 another 2014-04-08 11:21:55 -07:00
Cameron Dawson 8289a3ac89 more... 2014-04-08 11:04:14 -07:00
Cameron Dawson 4a2fd78b97 travis fix 2014-04-08 10:53:35 -07:00
Cameron Dawson 78a45cb9c4 another travis fix 2014-04-08 10:45:31 -07:00
Cameron Dawson aae008beef travis change 2014-04-08 10:40:33 -07:00