030 ΠΠ±Π·ΠΎΡ NPM
Π‘Π°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ:
npm
- ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ, ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρyarn
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉfacebook
ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ, Π½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΈ ΡΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡpnpm
- Ρ ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ ΡΠΊΠ°ΡΠ°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΈΠ½ΡΡ Π² Π±ΠΎΠ»Π΅Π΅ ΡΡΠΆΡΠ»ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅boar
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ NPM
, ΡΠΎ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π½Π°ΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π² Π½Π΅Π³ΠΎ ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
. Π’Π°ΠΊ ΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΡΠ°ΡΡΠΎΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ, ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΠΈΡ Π·Π°ΠΊΠΈΠ΄ΡΠ²Π°ΡΡ Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ npm
npm i -g npm
031 ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ
ΠΠ°Π»Π΅Π΅ Ρ Π½Π°Ρ ΠΈΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ
// Π΄Π°ΡΡ Π²ΠΎΠΉΡΠΈ Π² npm
npm login
// ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
npm whoami
// ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π² Π½Π°ΡΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± Π°ΠΊΠΊΠ°ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
npm profile set fullname "Lvov Valery"
//ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°ΠΊΠΊΠ°ΡΠ½ΡΠ΅
npm profile get
// Π²ΡΠΉΡΠΈ ΠΈΠ· Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° npm
npm logout
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π»ΠΎΠ³ΠΈΠ½ΠΈΡΡΡΡ Π² Π½Π°Ρ ΠΏΡΠΎΡΠΈΠ»Ρ
Π ΡΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ Π΅Ρ
032 Π Π°Π·Π±ΠΎΡ package.json
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π² git
ΠΈ npm
// Π΄Π°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ Π² Π³ΠΈΡ
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin <ΡΡΡΠ»ΠΊΠ°_Π½Π°_ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ>
git push -u origin main
// ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΏΡΠΊΠ΅Π΄ΠΆΠ΅ΠΌ
npm init
Π Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½Π½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ npm
Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΊΡΠ΄ΠΆΠ΅Ρ
package name: (my) weather-cli <ΠΈΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ°>
version: (1.0.0) <Π²Π΅ΡΡΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°: ΠΌΠ°ΠΆΠΎΡ.ΠΌΠΈΠ½ΠΎΡ.ΡΠΈΠΊΡ-[aplha|beta]>
description: CLI for getting weather <ΠΎ ΡΡΠΌ ΡΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ>
entry point: (index.js) <Π²Ρ
ΠΎΠ΄Π½Π°Ρ ΡΠΎΡΠΊΠ° Π² ΠΏΠ°ΠΊΠ΅Ρ>
test command:
git repository: <Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ>
keywords: cli, weather, <ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΡ>
author: Lvov Valery <ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ°>
license: (ISC) MIT <Π²ΠΈΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ>
Π Π΄Π°Π»Π΅Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ»ΠΈΠΊ Ρ Π½Π°ΡΠΈΠΌΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ:
package.json
{
"name": "weather-cli",
"version": "1.0.0-alpha",
"description": "CLI for getting weather",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"cli",
"weather"
],
"author": "Lvov Valery",
"license": "MIT"
}
name
- Π‘Π°ΠΌΠΎ ΠΈΠΌΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Ρ Π½Π΅Π³ΠΎ ΠΏΡΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉverison
- Ρ ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ Π²Π΅ΡΡΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°:- ΠΠ°ΠΆΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΡΠ° - ΡΡΠΎ breaking changes, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ Π½Π°Ρ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ Π²Π΅ΡΡ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»Π΅ΡΠ΅ΡΡ.
- ΠΠΈΠ½ΠΎΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ - ΡΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ°ΠΆΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ.
- Π ΡΡΠ΅ΡΡΡ ΡΠΈΡΡΠ° - ΡΡΠΎ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΡΠΈΠΊΡΡ ΡΡΠ°ΡΡΡ Π±Π°Π³ΠΎΠ².
description
- ΠΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°scripts
- Ρ ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡΡΡΡΠΎ Π²ΡΠ·Π²Π°ΡΡhomepage
- ΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° Π²Π°Ρ ΡΠ°ΠΉΡ Ρ ΡΡΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌrepository
- ΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ°bugs
- ΡΡΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π΄Π»Ρ Π±Π°Π³-ΡΠ΅ΠΏΠΎΡΡΠΎΠ²private
- ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅Ρmain
- ΡΡΠΎ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π² ΠΏΠ°ΠΊΠ΅Ρ, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ Π²ΠΎΠΉΡΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡbrowser
- ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ main, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ ΡΡΠΎΠ½Ρ-ΡΠ½Π΄ΠΎΠ²ΡΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρbin
- ΡΡΠΎ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, CLI)os
- ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ["win32"]
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΡ, ΠΊΡΠΎΠΌΠ΅ 32-ΡΡ ΡΠ°Π·ΡΡΠ΄Π½ΡΡ Windowscpu
- ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌ (ΡΠ°ΠΊ ΠΆΠ΅:"cpu": ["!arm"]
)man
- Ρ ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΏΡΡΡ Π΄ΠΎ ΠΌΠ°Π½ΡΠ°Π»Π° ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΡ (["./README.md"]
)engines
- ΡΡΡ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½ΠΎΠ΄Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌfunding
- ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΠΉΡ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°files
- ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π»ΠΈΠ²Π°ΡΡ Ρ Π½Π°ΡΠΈΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅Ρ (ΡΡΠΎΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΈΡΠΈΠ³Π½ΠΎΡ ΠΈ Π½ΠΏΠΌΠΈΠ³Π½ΠΎΡ)
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π·Π°Π±ΠΈΡΡΠΉ json
Π½Π°ΡΠΈΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ
package.json
{
"name": "weather-cli",
"version": "1.0.0-alpha",
"private": false,
"description": "CLI for getting weather",
"main": "index.js",
"bin": "./index.js",
"os": ["!win32"],
"cpu": ["!arm"],
"man": ["./README.md"],
"engines": {
"node": ">14"
},
"files": ["./src/**/*.js"],
"funding": [],
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"cli",
"weather"
],
"author": "Lvov Valery",
"license": "MIT",
"homepage": "http://www.weather",
"repository": {
"type": "git",
"url": "https://github.com/ZeiZel/npm-weather-cli"
},
"bugs": {
"url": "https://github.com/",
"email": "valera2003lvov@yandex.ru"
}
}
Π’ΡΡ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π² Π³ΠΈΡ
.gitignore
/dist
/node_modules
Π’ΡΡ Π±ΡΠ΄ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π½Π΅ Ρ
ΠΎΡΠΈΠΌ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π½Π° ΡΠ°ΠΉΡ npm
.npmignore
/.vscode
/.idea
033 Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ
package-lock.json
Ρ
ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ Π·Π°Π»ΠΎΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π°ΡΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΡΠ»ΠΈ Π½Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΠΈΡ
, ΡΠΎ ΡΡΠΎΠΈΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π½Π° Π³ΠΈΡΡ
Π°Π±.
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ:
// ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ
npm install <ΠΌΠΎΠ΄ΡΠ»Ρ>
// ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΡΡ
npm search <ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅_ΡΠ»ΠΎΠ²ΠΎ>
// ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ· package.json, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠ΅ ΡΠΆΠ΅ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠΌΠ΅ΡΡΡΡ
npm i
// ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π½Π°ΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ
npm audit
// ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΡΠ΄ΠΈΡ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ
npm audit fix --force
// ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΠΏΠΊΡ Π½ΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΡΡΠΈΡΡΠ²Π°Ρ package-lock
npm ci
// ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π°Π²ΡΠΎΡΠΎΠ² ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ
npm fund
// ! Π΄Π²Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ²ΡΠ·Π΅ΠΉ
// ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·ΠΈ Π½Π°ΡΠΈΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
npm cache verify
// ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΡΠΈΡΡΠΈΡΡ ΠΊΡΡ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ
npm cache clear
Π Π·Π΄Π΅ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ Π½Π°ΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ:
Π ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΡ Π±ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ dependencies
(Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), devDependencies
(Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ) ΠΈ peerDependencies
(Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ
ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΊ ΠΌΠΎΠ΄ΡΠ»ΡΠΌ)
// ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
"dependencies": {}
// ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π°ΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (gulp, webpack, typescript)
"devDependencies": {}
// ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½ΡΠΆΠ½Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ / ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΡΠ²ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ nestjs ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π΅ΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ)
"peerDependencies": {}
// ΡΡΠΎ ΠΌΠ΅ΡΠ°-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ peerDependencies, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΉΠ»ΠΈΡΡΡΡ Π»ΠΈ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ)
"peerDependenciesMeta": {}
// ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ - Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅
"optionalDependencies": {}
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°Π±ΠΎΡΠ° Ρ Π½ΡΠΆΠ½ΡΠΌΠΈ Π΄Π»Ρ Π½Π°Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ:
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π½ΡΠ°ΠΉΠΌΠ°
npm i axios chalk dedent-js
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
npm i -D gulp
// ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π²ΡΠ΅ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
npm uni gulp
// ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ (ΡΠ΅ΠΏΠ΅ΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΡΠΎΠ²ΡΡΠ΄Ρ)
npm i -g gulp
Π’ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π°ΠΌ Π½ΡΠΆΠ½Π° Π±ΡΠ΄Π΅Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ
{
"axios": "^1.2.0", // Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ ΠΌΠ°ΠΆΠΎΡΠ½ΡΡ
"axios": "~1.2.0", // Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΈ ΡΠΈΠΊΡΠΎΠ²
"axios": "1.2.0" // Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌ
}
Π ΡΠ°ΠΊ ΠΆΠ΅ Ρ Π½Π°ΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ. Π’ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ²ΠΎΡ Π·Π°Π΄Π°ΡΡ ΠΈΡΠΊΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°ΡΡΡΡΡΡ ΠΈ Π½Π°ΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠΎΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΡ Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎ Π·Π°Π²ΠΈΡΠ΅ΡΡ
ΠΠ°ΠΏΠΊΠ° .bin
Ρ
ΡΠ°Π½ΠΈΡ Π² ΡΠ΅Π±Π΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΠ°ΠΌΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ
ΠΡΠΎΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠΏΠΎΠΌΡΠ½Π°Π΅ΠΌ Π½Π°Ρ ΠΏΠ»Π°Π³ΠΈΠ½ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ