Le 13 octobre, npm@7.0.0 a été publié . La version est expérimentale et disponible au téléchargement à partir du registre public npm avec la balise next-7. Npm 7 est également fourni avec node.js 15.
, node.js . LTS . npm, , , .
1. Workspaces
, npm workspaces — npm@7. Workspaces , — (proof).
, . , npm.
workspaces package.json . :
{
"name": "root-project",
"workspaces": [
"workspace-a",
"packages/*"
]
}
npm install
node_modules
. , package.json
, package-lock.json
, .
, npm ci package.json
, package-lock.json
.
. npm . , babel-core
lerna
awesome-package
:
lerna add babel-core --scope=awesome-package
npm
, awesome-package
babel-core
--prefix
:
npm i babel-core --prefix=packages/awesome-package
package.json
, package-lock.json
node_modules
. , npm packages/awesome-package/package.json
. npm i
npm
«» . , . :
, lib-a
npm-. . , ? , .
, , npm workspaces — CLI .
2. peerDependencies
npm@7 peerDependencies
, npm .
, npm@7 peerDependencies
. , npm peerDependencies
.
, . --legacy-peer-deps
, .
: « ». .
3. yarn.lock
: package.json
yarn.lock
.
: npm install
:
yarn.lock
.
package-lock.json
.
package.json
.
npm 6. yarn.lock
?
npm
lock-
, yarn.lock
. , package-lock.json
. , package-lock.json
- npm
yarn.lock
.
, npm
«» «». yarn .
4. The standalone npx is deprecated
, npx . npx npm exec .
npm exec
, ?
npm exec
npm ( ) , npm run
npx : npm exec
--
:
npx foo@latest bar --package=@npmcli/foo
:
foo bar --package=@npmcli/foo
--package
, npx , . npm exec
:
npm exec foo@latest bar --package=@npmcli/foo
:
foo@latest bar
, :
npm exec -- foo@latest bar --package=@npmcli/foo
npx : , npm
. --yes
--no
5. - npm@7.1 — npm set-script
, npm@7.1. npm set-script
scripts
package.json
.
, , scripts
npm run
:
npm init -y && npm install --save-dev http-server && npm set-script start "http-server ."&& npm start
npm .
— peerDependencies
, — workspaces
npx
. developer preview .
, npm .