treeherder/docs
Ed Morley 565ae4c13e
Bug 1364894 - Upgrade from Neutrino 4 to 9 (#4216)
Neutrino controls our frontend linting, transpilation, source-maps,
testing, dev-server and optimisation of production builds.

Highlights of the upgrade are:

* Major version updates to the individual tools within (such as webpack,
  Babel and ESLint), significantly improving performance, fixing
  transpilation/minification correctness bugs, adding support for newer
  ECMAScript features, and increasing linter coverage.
* Hot reloading in the dev server now works for all entry-points and not
  just the jobs view, shortening the feedback cycle.
* Reduced bundle size due to webpack 4's tree shaking, scope hoisting,
  automatic shared/vendor code chunk splitting (no need for the manually
  maintained 'vendor' list).
* CSS is now extracted out of JS, which improves performance, reduces
  bundle size and prevents the initial white flash of un-styled content.
* Support for dynamic imports/code splitting (needed for bug 1502192).
* Support for Jest via a new Jest preset (unblocks bug 1364045).
* Support for public class field declarations (unblocks bug 1480166).
* Improved source-maps (increases the quality of production exception
  trace-backs and fixes several debugger breakpoint bugs).
* Reduced amount of custom configuration required for our fairly complex
  frontend needs, reducing maintenance burden and allowing for easier
  future Neutrino upgrades.

In addition this PR:

* Fixes the WhiteNoise `immutable_file_test()` regex, so that it now
  correctly enables browser caching of images, fonts and source maps.
* Enables webpack-dev-server's overlay feature, which displays any
  compilation errors in the browser, saving having to switch back
  to the console (this can be enabled for warnings too if desired).
* Enables webpack-dev-server's automatic browser-opening feature,
  which saves having to manually navigate to `localhost:5000` after
  running `yarn start`.
* Switches Karma tests to run Firefox in headless mode, reducing the
  workflow disruption when running `yarn test`.
* Uses the new webpack `performance` option to enable maximum asset
  file size thresholds, to help prevent bundle-size regressions.
* Rewrites the `package.json` script commands so that they now work
  correctly on Windows, even when setting environment variables.

Performance comparison:

* Local `yarn build`:
  - Cached: 2m34s -> 23s
  - Uncached: 2m34s -> 58s
* Local `yarn start`:
  - Cached: 34.5s -> 13.6s
  - Uncached: 34.5s -> 31.3s
* Local `yarn test`
  - Cached: 61.5s -> 19.8s
  - Uncached: 61.5s -> 22.0s
* Local `yarn lint`
  - Cached: 3.8s -> 1.8s
  - Uncached: 13.7s -> 13.4s
* Travis end-to-end time:
  9 minutes -> 6 minutes
* Heroku deploy end-to-end time:
  14 minutes -> 9 minutes
2018-11-02 18:48:28 +00:00
..
admin.md Bug 1349182 - Remove support for submitting jobs via the REST API (#4075) 2018-09-28 02:17:48 +01:00
backend_tasks.md Bug 1502306 - Make it easier to run Selenium tests (#4194) 2018-10-29 17:07:38 +00:00
code_style.md Bug 1166905 - Combine UI and server docs (#4083) 2018-10-09 12:38:30 -07:00
common_tasks.md Bug 1166905 - Combine UI and server docs (#4083) 2018-10-09 12:38:30 -07:00
conf.py Bug 1466084 - Docs: Add Sphinx markdown support 2018-07-30 20:49:01 +02:00
data_validation.md Bug 1466084 - Docs: Convert markup from reST to markdown 2018-07-30 20:49:01 +02:00
index.rst Bug 1166905 - Combine UI and server docs (#4083) 2018-10-09 12:38:30 -07:00
installation.md Bug 1364894 - Upgrade from Neutrino 4 to 9 (#4216) 2018-11-02 18:48:28 +00:00
pulseload.md Bug 1281821 - Docs: Correct Pulse environment variable references (#4097) 2018-10-04 12:08:04 +01:00
rest_api.md Bug 1166905 - Combine UI and server docs (#4083) 2018-10-09 12:38:30 -07:00
retrieving_data.md Bug 1466084 - Docs: Convert markup from reST to markdown 2018-07-30 20:49:01 +02:00
seta.md Bug 1443251 - Remove runnable jobs support for buildbot (#4071) 2018-09-27 19:15:47 +01:00
submitting_data.md Bug 1349182 - Remove support for submitting jobs via the REST API (#4075) 2018-09-28 02:17:48 +01:00
testcases.md Bug 1443251 - Remove support for buildbot job ingestion (#4087) 2018-10-02 11:07:27 +01:00
troubleshooting.md Bug 1466084 - Docs: Convert markup from reST to markdown 2018-07-30 20:49:01 +02:00