• 
      

    Fix node_modules validation when building extensions.

    Review Request #11608 — Created May 20, 2021 and submitted — Latest diff uploaded

    Information

    Djblets
    release-2.x

    Reviewers

    When building extension packages against a production install of a
    consuming application, it was likely that a build_pipeline_settings()
    call in the app's settings.py would have path validation enabled,
    looking for node_modules, and that the validation would fail.

    In reality, we didn't care much about the presence of this path at this
    stage, since the packaging process would be managing its own
    node_modules. Rather than make the consuming app jump through hoops,
    we now have a special environment variable that can be set to force
    validation to be turned off. This mirrors the behavior of applications
    using Djblets pre-2.0.

    On top of this, we also explicitly define NODE_PATH to point to the
    managed copy, ensuring it will be used instead of another, and avoiding
    other lookup issues that could occur.

    Tested building extensions against both a Review Board development server
    and a production server.

    Tested both initial builds (without a pre-populated node_modules directory)
    and with a repeated build.

    Commits

    Files