7 Commits

Author SHA1 Message Date
Jonathan Desrosiers
e9e9d291f1 Build/Test Tools: Configure npm to prefer-dedupe.
`npm dedupe` is a command that attempts to simplify the structure of the local package tree by moving dependencies higher up. This allows for more effective package sharing, less transfer, and smaller `node_modules` folders.

This change configures npm to `prefer-dedupe` by default so that these benefits persist and the command is not required to be run regularly.

This also brings better alignment with the Gutenberg repository, which has already configured `prefer-dedupe`.

Props jonsurrell.
Fixes #62190.

git-svn-id: https://develop.svn.wordpress.org/trunk@59207 602fd350-edb4-49c9-b593-d223f7449a82
2024-10-10 15:56:39 +00:00
Jonathan Desrosiers
292769dde9 Build/Test Tools: Update npm lockfile to version 3.
This updates the `package-lock.json` file to use the version 3 format.

Version 3 removes the version 1 format data, resulting in a smaller file. While version 3 format is not supported in npm < 7, a lower limit is enforced in the `engines` declaration within `package.json` and has been >= 7 since [56378].

The Gutenberg repository has already been updated to use version 3.

Props jonsurrell.
See #62190.

git-svn-id: https://develop.svn.wordpress.org/trunk@59206 602fd350-edb4-49c9-b593-d223f7449a82
2024-10-10 13:22:01 +00:00
Jonathan Desrosiers
acc97f0d94 Build/Test Tools: Revert [59204].
The changeset had an incomplete commit message.

Unprops desrosj.
See #62190.

git-svn-id: https://develop.svn.wordpress.org/trunk@59205 602fd350-edb4-49c9-b593-d223f7449a82
2024-10-10 13:14:25 +00:00
Jonathan Desrosiers
182d93b151 Build/Test Tools: Update npm lockfile to version 3.
This updates the `package-lock.json` file to use version 3 

Props jonsurrell.
See #62190.

git-svn-id: https://develop.svn.wordpress.org/trunk@59204 602fd350-edb4-49c9-b593-d223f7449a82
2024-10-10 12:57:35 +00:00
Jonathan Desrosiers
429de7ae77 Build/Test Tools: Bump the required versions of Node.js and npm.
This changes the minimum required version of Node.js to 16.19.1, and npm to 8.19.3.

Node.js 14.x reached end of life on April 30, 2023. While 18.x is the currently active LTS version, it can’t yet be used due to a systems level constraint on the build server. 

Updating further will be considered once this blocker is resolved.

Gutenberg has also been updated to follow the same version requirements for consistency.

Props youknowriad, gziolo, swissspidy, kevin940726, desrosj.
Fixes #56658.

git-svn-id: https://develop.svn.wordpress.org/trunk@56378 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-09 18:52:42 +00:00
Aaron Jorbin
db0290b042 Build/Test: Prevent using unsupported NPM versions.
Using NPM 7+ currently causes a number of issues. In order to improve developer experience, we should prevent a developer from going down the road of using incompatible engines.

See also: https://github.com/WordPress/gutenberg/pull/29204 and https://github.com/WordPress/gutenberg/pull/23600.

Props rcorrales.
Fixes #56547.



git-svn-id: https://develop.svn.wordpress.org/trunk@54124 602fd350-edb4-49c9-b593-d223f7449a82
2022-09-11 21:52:10 +00:00
Gary Pendergast
ef37f002ee Once upon a midnight dreary, while I coded, weak and weary,
In many a strange and curious file of forgotten lore—
While I pondered, blaming Nacin, my notifications suddenly awakened,
As of someone quietly DMing;—DMing me, I can’t ignore.
“’Tis some contributor,” I muttered, “DMing me an idea or four—
            Only this and nothing more.”

Ah, distinctly I remember, at WordCamp US, last December;
A mad proposal nearly laid me—down out cold—upon the floor.
Curious, I listened closely;—to a plan I agreed with, mostly—
A way to make our JavaScript—JavaScript which was a chore—
Maintainable, extendable, for the future, is what I saw.
            Guten-ready for evermore.

Open here I switch to Slack, when, with many a patch and hack,
In there stepped Omar, a JavaScript developer hardcore;
Pronouncing all the changes fit; ready now to be commit;
“There’s nothing else for us to do,” DMing me, “It’s done!” he swore—
“No longer random guessing at which file need next be explored—
            Let’s move on, we’re all aboard.”

Moved all together, grouped and managed, in folders all is packaged,
The code had all been cleaned and tidied, important parts moved to the fore,
“Though this change be useful here,” I said, “it is too large, I fear,
We couldn’t manage such a patch, we’ve done nothing like this before—
Tell me where doth go this change, change to make our codebase soar!”
            Quoth Omar, “In WordPress Core.”

Props omarreis for shepherding this significant change.
Props adamsilverstein, aduth, atimmer, dingo_bastard, frank-klein, gziolo, herregroen, jaswrks, jeremyfelt, jipmoors, jorbin, netweb, ocean90, pento, tjnowell, and youknowriad for testing, feedback, discussion, encouragement, commiserations, etc.
I make no apologies for this commit message.
Fixes #43055.



git-svn-id: https://develop.svn.wordpress.org/trunk@43309 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-23 10:04:22 +00:00