Présentation de Npm 7

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



:





  1. yarn.lock



    .





  2. package-lock.json



    .





  3. 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 .





  1. Workspaces





  2. peerDependencies





  3. Why keep package-lock.json?





  4. npm-exec





  5. npm set-script












All Articles