At webpack we use yarn to execute commands.
If you already have yarn installed, do: yarn setup. This will complete all required steps.
If not, do: npm run setup, the setup will also install yarn for you.
That's all.
yarn setup is all any environment needs. Off a terminal — CI, a throwaway sandbox, any coding agent — it switches itself to a non-interactive path: it verifies yarn.lock rather than rewriting it, installs no global yarn, and links the checkout in as node_modules/webpack without touching yarn's machine-global link registry. Safe to re-run either way.
The path is chosen from whether both streams are a terminal and CI is unset. An agent that allocates a PTY therefore reads as a contributor and should set WEBPACK_SETUP=automated; WEBPACK_SETUP=interactive forces the other way. The interactive path is also the one that installs yarn when it is missing, so npm run setup still does that from a terminal.
git clone https://github.com/webpack/webpack.git
cd webpack
npm install -g yarn
yarn
yarn link
yarn link webpackyarn testyarn test:integrationor in watch mode
yarn test:integration --watchyarn test:unitor in watch mode
yarn test:unit --watchyarn test:update-snapshotsyarn benchmarkyarn fmtThis performs linting on:
- eslint (lint:code script)
- dependencies (lint:yarn script)
- types (lint:types script)
- schema + format + generated files (lint:special script)
yarn lintyarn lint:typesor incremental (in watch mode)
yarn lint:types --watchyarn build:examplescd examples/<path to example>
node build.js