• 
      

    Split NPM support into per-build type configurations.

    Review Request #14958 — Created March 25, 2026 and submitted

    Information

    buildthings
    master

    Reviewers

    NPM support is no longer global. Instead, it can now be configured
    independently for each build type. This is important for allowing
    editable and maybe sdist installs to use NPM, but to avoid it for Wheel
    installs (which should not require any kind of Internet access to
    build).

    There are small changes to this:

    • The enabled flag is now install.
    • The python-dependencies is now python-modules, which better
      reflects how it's used.

    Tested on a package using NPM. Verified I could control the NPM
    behavior per-build.

    Viewed the new docs.

    Summary ID
    Split NPM support into per-build type configurations.
    NPM support is no longer global. Instead, it can now be configured independently for each build type. This is important for allowing editable and maybe sdist installs to use NPM, but to avoid it for Wheel installs (which should not require any kind of Internet access to build). There are small changes to this: * The `enabled` flag is now `install`. * The `python-dependencies` is now `python-modules`, which better reflects how it's used.
    6dee56a80723b85ada888493cedc3c70d778e096
    Description From Last Updated

    Should we log a warning if someone does this?

    daviddavid
    maubin
    1. Ship It!
    2. 
        
    david
    1. 
        
    2. README.rst (Diff revision 1)
       
       
       
      Show all issues

      Should we log a warning if someone does this?

      1. I go back and forth on this. This is one of those things that is super situational. If you build wheels off of your sdists, then you proabbly shouldn't use npm here, but if you don't, then maybe you should. We are going to absolutely be violating this recommendation in a few places for quite a while.

    3. 
        
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (cfb592f)