WordPress.org

Make WordPress Core

Opened 9 months ago

Closed 7 months ago

#45214 closed enhancement (fixed)

Add a build npm script

Reported by: andrew.taylor Owned by: pento
Milestone: 5.0 Priority: normal
Severity: normal Version: 5.1
Component: Build/Test Tools Keywords: has-patch fixed-5.0
Focuses: Cc:

Description

Currently, in order to run the build step for WordPress core files, Grunt must be installed globally. This requirement can be removed by making use of npm scripts to run
grunt build as npm scripts adds executables to the PATH. In addition to not requiring Grunt to be installed globally, this has the added benefit of ensuring the version of Grunt run is consistent as the version in node_modules is managed with npm whereas users likely have a different version installed globally.

Attachments (1)

45214.patch (298 bytes) - added by andrew.taylor 9 months ago.
Patch file to add a "build" npm script

Download all attachments as: .zip

Change History (9)

@andrew.taylor
9 months ago

Patch file to add a "build" npm script

#1 @andrew.taylor
9 months ago

The attached patch file adds a build npm script that maps to grunt. This allows npm run build to be used to build WordPress core files without requiring Grunt to be installed globally, assuming npm install has been run.

#2 @andrew.taylor
9 months ago

Should other Grunt tasks besides the default task be added as npm scripts as well?

#3 @pento
9 months ago

  • Milestone changed from Awaiting Review to 5.0
  • Owner set to pento
  • Status changed from new to assigned

Thank you for the suggestion, @andrew.taylor!

This is a useful shortcut to using Grunt, I don't think we need to shortcuts for every grunt task now, as npm defaults to passing any extra parameters to the script.

With that in mind, I'm going to tweak your patch slightly to rename it to grunt, so npm run grunt ... is effectively the same as running grunt ....

#4 @pento
9 months ago

In 43836:

Build Tools: Add an npm script shortcut to run grunt.

Rather than needing to install grunt globally, this allows running grunt from node_modules, instead.

npm run grunt ... is effectively the equivalent of running grunt ....

Props andrew.taylor.
See #45214.

#5 @pento
9 months ago

  • Keywords fixed-5.0 added

#6 @andrew.taylor
9 months ago

Thank you @pento for getting this in. Is there anything I can do to help update documentation? There seem to be quite a few handbook pages referencing Grunt. Testing a patch specifically comes to mind as something new contributors will be looking at that suggests installing Grunt globally. The goal here is to make that unnecessary.

Last edited 9 months ago by andrew.taylor (previous) (diff)

#7 @atimmer
7 months ago

In 44176:

Build Tools: Add an npm script shortcut to run grunt.

Rather than needing to install grunt globally, this allows running grunt from node_modules, instead.

npm run grunt ... is effectively the equivalent of running grunt ....

Props andrew.taylor, pento.
Merges [43836] to trunk.
See #45214.

#8 @SergeyBiryukov
7 months ago

  • Resolution set to fixed
  • Status changed from assigned to closed
Note: See TracTickets for help on using tickets.