Files
Alex Hochheiden fd238dcdaa Bug 2065363 - Add ./mach vendor node for node packages needed at build time r=mconley,firefox-build-system-reviewers,glandium
The newtab bundles are built with `webpack`, `Babel` and `sass` from `npm`, which a
build must not fetch from the network. This follows `./mach vendor python`
(`python/mozbuild/mozbuild/vendor/vendor_python.py`), with `pnpm` playing
the role that `uv` plays there.

`pnpm` runs with scripts and pnpmfiles disabled, so nothing executes on the way
in, and with a hoisted linker, which lays the packages out as one plain
directory tree the way `npm` does instead of `pnpm`'s default (symlinks into a
shared store), so the tree can be checked in. Every install starts from an empty
tree so the result is a function of the lock file alone, and
`vendor-inputs.hash` records the inputs the tree was produced from.

Differential Revision: https://phabricator.services.mozilla.com/D320321
2026-09-10 03:12:29 +00:00

25 lines
627 B
JSON

{
"name": "mozilla-central-node-build-deps",
"description": "Vendored node packages required to build Firefox.",
"private": true,
"license": "MPL-2.0",
"packageManager": "pnpm@11.22.0",
"dependencies": {
"prop-types": "15.7.2",
"react": "19.2.0",
"react-dom": "19.2.0",
"react-redux": "9.2.0",
"react-transition-group": "4.4.2",
"redux": "5.0.1"
},
"devDependencies": {
"@babel/core": "7.29.6",
"@babel/preset-react": "7.23.3",
"babel-loader": "8.2.3",
"minimizer-webpack-plugin": "5.6.1",
"sass": "1.43.4",
"webpack": "5.109.0",
"webpack-cli": "4.9.1"
}
}