Ship a central version of our JavaScript build configuration.

Review Request #13650 — Created March 19, 2024 and submitted — Latest diff uploaded

Information

Review Board
release-7.x

Reviewers

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.

Successfully built the Review Board package.

Verified the new files were included in the package and source
distribution.

Tested accessing the website with freshly-compiled static media.

Diff Revision 2 (Latest)

orig
1
2

Commits

First Last Summary ID Author
Ship a central version of our JavaScript build configuration.
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.
7437d0b3b3bbcd5fc56b3fef50f6c66bd7ec9d45 Christian Hammond
.browserslistrc
.gitignore
babel.config.json
package-lock.json
rollup.config.js
rollup.config.mjs
setup.py
tsconfig.json
reviewboard/package.json
reviewboard/packaging/js/babel.base.config.json
reviewboard/packaging/js/rollup-common.mjs
reviewboard/packaging/js/rollup-extensions.mjs
reviewboard/packaging/js/tsconfig.base.json
Loading...