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
25 lines
627 B
JSON
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"
|
|
}
|
|
}
|