π§± Π‘ΡΡΡ
Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ:
- ΡΠ΄Π°Π»ΡΠ½ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄
- Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
- ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ
- Π·Π°Π±ΡΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
Π’Π°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ:
- ΡΠ°Π·ΠΌΠ΅Ρ
node_modules - Π²ΡΠ΅ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ
π¦ ΠΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² package.json ΠΎΡΡΠ°Π»ΠΎΡΡ:
{
"dependencies": {
"lodash": "^5.0.0",
"axios": "^1.0.0"
}
}ΠΠΎ Π² ΠΊΠΎΠ΄Π΅:
import axios from 'axios';Π° lodash Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ:
package.json
β
Π»ΠΈΡΠ½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ
β
Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·ΡΡβ Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π°Π½Π°Π»ΠΈΠ·Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²:
depcheckΠΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ:
- ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ
- ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, Π½ΠΎ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π²
package.json
π» ΠΠΎΠ΄
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π· depcheck
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
npm install -g depcheckΠΠ°ΠΏΡΡΠΊ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
depcheckΠ Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Unused dependencies (ΠΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ):
Unused dependencies
* lodashΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ.
Missing dependencies (ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅, Π½ΠΎ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π² package.json):
Missing dependencies
* date-fnsΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ depcheck
depcheck Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Ρ:
- Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈΠΌΠΏΠΎΡΡΠ°ΠΌΠΈ:
import(`./modules/${name}`)- alias-ΠΈΠΌΠΏΠΎΡΡΠ°ΠΌΠΈ:
import Button from '@/shared/ui/Button'- ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ:
vite.config.tsΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π²ΡΡΡΠ½ΡΡ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π½Π΅Π½ΡΠΆΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ:
npm uninstall ΠΈΠΌΡ_ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
npm uninstall lodashΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π·Ρ:
npm uninstall pkg1 pkg2 pkg3ΠΡΠΈΡΡΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
rm -rf node_modules package-lock.json
npm installΠ§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ:
- ΡΠ΄Π°Π»ΠΈΡΡΡ ΡΡΠ°ΡΠ°Ρ ΠΏΠ°ΠΏΠΊΠ°
node_modules - ΡΠ΄Π°Π»ΠΈΡΡΡ lock-ΡΠ°ΠΉΠ»
- npm Π·Π°Π½ΠΎΠ²ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΡΠ»ΠΈ depcheck ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ ΡΡΠΈΡΠ°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ Π½Π΅Π½ΡΠΆΠ½ΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π‘ΠΎΠ·Π΄Π°ΡΡ:
.depcheckrcΠΡΠΈΠΌΠ΅Ρ:
{
"ignores": [
"mobx",
"mobx-react-lite",
"vite"
]
}Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π±ΡΠ΄ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅.
π― ΠΡΠ²ΠΎΠ΄
depcheckΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΉΡΠΈ Π»ΠΈΡΠ½ΠΈΠ΅ npm-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ- ΡΠ΄Π°Π»ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π»ΡΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
- Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΈΠ±Π°ΡΡΡΡ
- TypeScript aliasβΡ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π²ΡΡΡΠ½ΡΡ
- ΠΏΠΎΡΠ»Π΅ ΡΠΈΡΡΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ
node_modules