Skip to content

Migrate Gulp to Webpack

Remco de Man requested to merge fbl_migrate_gulp_to_webpack into dev

Although Gulp is still a supported build tool at this moment, it suffers from a large number of problems

  • Dependencies must be hardcoded in the build file.
  • Explicit tasks must be created for all kind of files.
  • All kind of subprocesses must be used to finally get files ready for the browser.
  • It is slow... Terribly slow.

Introducing Webpack. Webpack is specially created for bundling assets for usage in the browser. This branch introduces the whole Quizzard Front-end build using Webpack.

This branch introduces the following changes:

  1. A refresh and update of all front-end dependencies, including the newest PDFjs.
  2. The front-end code and all dependencies are bundled using Webpack. This also includes the less translation to CSS.
  3. The ESLint validation task is now performed by npm run validate, which runs ESLint CLI.
  4. Building the documentation is now done by the asciidoctor CLI with npm run doc.
  5. The build lifecycles are updated. NodeJS and NPM are now downloaded in the initialize lifecycle of Maven. The front-end is compiled during the process-resources lifecycle and the documentation is now only built as part of the prepare-package lifecycle, so it will no longer be built for tests!
  6. Webpack can easily be executed by running npm run dev or npm run build. This can be done directly from IntelliJ by using the green play button on the corresponding lines of the package.json file.
  7. Contains extra optimisations for CI builds, as will be needed to make effective use of the efforts of !142 (merged) and to fully close issue #21 (closed)

Merging this branch would close #20 (closed) and #17 (closed) (and after merging !142 (merged) also #21 (closed))

Edited by Remco de Man

Merge request reports

Loading