Skip to content

Notes on the Build System

Roy Johnson edited this page Apr 10, 2017 · 10 revisions

Tools used

Gulp 4 - Task master for everything require pulls in the whole directory

autoprefixer supports whatever old browsers you specify (CSS)

jspm - like webpack with bower, closely associated with SystemJS
See jspm-builder.js
We don't put everything into one file in HTTP-2. How do we do it?

  • all 3rd party dependencies are bundled together
  • HTML, CSS, JS are separate now, but could be bundled
  • Files are multiplexed, all on one connection

Shortcomings/to be improved:

  • Only listens for changes, not for added files
  • Doesn't know to recompile SASS files that import other SASS files when the imported files change

jspm inspect shows system dependencies

Adding a tool

jspm install superb=npm:superb.js

Updating tools

There is a script in script/update that will run the update tools and rebuild. After running it, if jspm.config.js shows superb version 0.2.15, you will need to hand-edit that back down to 0.2.13.

jspm update (or install) will update all packages according to what JSPM thinks is safe

nodecheckupdate (ncu)

ncu -u will update outdated NPM packages. Individual NPM packages can be updated with
ncu -u packagename [anotherpackage...] npm install

Removing a tool

jspm remove superb

Warnings about outdated tools