Ship a central version of our JavaScript build configuration.

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

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.

Summary ID
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
Description From Last Updated

Mind updating this while you're in here?

daviddavid

Shouldn't this be updated too?

daviddavid
david
  1. 
      
  2. reviewboard/package.json (Diff revision 1)
     
     
    Show all issues

    Mind updating this while you're in here?

  3. tsconfig.json (Diff revision 1)
     
     
    Show all issues

    Shouldn't this be updated too?

  4. 
      
chipx86
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-7.x (a8c07ef)