The configuration used to build our JavaScript (Rollup, TypeScript,
Babel configuration, and browser compatibility list) are now provided as
part of the Review Board package. This enables us to refer to these
configuration files in future extensions, helping extension authors
maintain modern JavaScript codebases and leveraging any improvements or
compatibility changes we make.
We do specialize some of this for building Review Board itself, but the
vast majority is now common configuration.
As part of this, we now set up a .npm-workspaces
directory containing
symlinks to the Djblets and Review Board static roots.
For Djblets, this replaces the old .djblets
symlink that lets us use
our in-development modules of Djblets easily.
For Review Board, this just points to our in-tree code.
We could instead use rollup-alias
to give us this same capability, but
since we're already setting this up for Djblets, it makes sense to stay
consistent.
Note that after this change, setup.py develop
must be re-run.