Npm

Վիքիմեդիայի նախագծի բազմիմաստության փարատման էջ

npm (Node Package Manager)[1], JavaScript ծրագրավորման լեզվի համար նախատեված փաթեթների մենեջեր։ Այն նախատեսված է Node.js-ի համար։ Այն կառավարվում է հրամանի տողի միջոցով, և կարող է օգտագործել ազատ կամ վճարով փաթեթներ, որը գրանցված է npm-ի տվյալների բազայում։

ՏեսակՎիքիմեդիայի նախագծի բազմիմաստության փարատման էջ

Պատմություն խմբագրել

npm-ը գրվել է բացարձակապես JavaScript-ի համար և մշակվել է Իսաակ Զ․ Շլյուտերի կողմից։ Նա նկատել է, որ մոդուլների փաթեթները վատ են կառուցված և ոգրորվել է այլ նախագծերից՝ PEAR (PHP) և CPAN (Perl)[2]։

Նկարագրություն խմբագրել

nmp-ը իր մեջ ներառում է որոշակի բազային ֆունցիաներ Node.js-ի համար[3]։ nmp-ը աշխատում է հրամանի տողի շնորհիվ։ Այն օգտատիրոջը թույլ է տալիս օգտագործել JavaScript-ի համար հասանելի մոդուլները, որոնք գրանցված են[4]։ Փաթեթները գրանցված են CommonJS ֆորմատով և բացի այդ նրանք պարունակում են մետա տվյալներ, որոնք էլ պահպանված են JSON ֆորմատով[5]։ npm-ի գրանցամատյանում հասանելի է ավելի քան 477,000 փաթեթներ[6]։ Գրանցամատյանում չկա ստուգման պրոցես, որն էլ իրենից ենթադրում է որ, այդտեղից վերցված մոդուլները կարող են լինել ցածր որոակի և անվտանգ։ Դրա փոխարեն npm-ը օգտագործում է օգտատերերի կողմից թողած ակնարկները և, եթե դրանք բացասական են լինում, ապա այդ մոդուլը ջնջվում է[7]։ npm-ը հաշվում է մոդուլների ներբեռնումների քանակը և դրական ակնարկները, և ըստ վիճակագրության ծրագրավորողներին խորհուրդ է տալիս բարձրորակ փաթեթներ[8]։

npm-ի 6-րդ տարբերակում, հայտնվեց աուդիտի ֆունկցիա, որը թույլ է տալիս լուծել փաթեթներում առկա խոցելիություները և ապահովել փաթեթի անվտանգ կիրառում[9]։

Օգտագործում խմբագրել

npm ունակ է օգտագործել ինչպես, լոկալ փաթեթներ, որոնք կախված են ինչ, որ նախագծից, այնպես էլ JavaScript համար տեղադրված գլոգալ գործիքներ[10]։ Երբ npm-ը օգտագործվում է լոկալ նախագծի համար, այն կարելի է տեղադրել մեկ հրամանով և դրանք կպահպանվեն package.json ֆայլում[11]։

Ծանոթագրություններ խմբագրել

  1. https://github.com/npm/cli/commit/4626dfa73b7847e9c42c1f799935f8242794d020#diff-04c6e90faac2675aa89e2176d2eec7d8R1
  2. Schlueter, Isaac Z. (2013 թ․ մարտի 25). «Forget CommonJS. It's dead. **We are server side JavaScript.**». GitHub.
  3. Dierx, Peter (2016 թ․ մարտի 30). «A Beginner's Guide to npm – the Node Package Manager». sitepoint. Վերցված է 2016 թ․ հուլիսի 22-ին.
  4. Ampersand.js. «Ampersand.js – Learn». ampersandjs.com. Վերցված է 2016 թ․ հուլիսի 22-ին.
  5. Ojamaa, Andres; Duuna, Karl (2012). «Assessing the Security of Node.js Platform». 2012 International Conference for Internet Technology and Secured Transactions. IEEE. ISBN 978-1-4673-5325-0. Վերցված է 2016 թ․ հուլիսի 22-ին.
  6. Kennedy, Hugh; DeVay, Paul. «Understanding npm». Nsight. Արխիվացված է օրիգինալից 2016 թ․ հուլիսի 8-ին. Վերցված է 2016 թ․ հուլիսի 22-ին.
  7. «npm Code of Conduct: acceptable package content». Վերցված է 2017 թ․ մայիսի 9-ին.
  8. Vorbach, Paul. «npm-stat: download statistics for NPM packages». npm-stat.com.
  9. npm. «'npm audit': identify and fix insecure dependencies». The npm Blog. Վերցված է 2018 թ․ օգոստոսի 14-ին.
  10. Ellingwood, Justin. «How To Use npm to Manage Node.js Packages on a Linux Server». DigitalOcean. Վերցված է 2016 թ․ հոկտեմբերի 22-ին.
  11. «npm-install». docs.npmjs. Վերցված է 2016 թ․ հոկտեմբերի 22-ին.

Արտաքին հղումներ խմբագրել