9

Node.js npm.

Node.js 2009 . Node.js, , JavaScript .

Node npm , JavaScript , lodash moment.

npm 1,3 16 ! . , , npm.


NPM?

NPM, Node Package Manager, - JavaScript Node.js.

Ninja Pumpkin Mutants", "Nonprofit Pizza Makers", , , , npm.

NPM :

  • CLI (command-line interface )
  • -, JavaScript.

, npmjs.com , ( npm) ( npm).

, , npmjs.com (CLI), npmjs.com. , JavaScript :

JavaScript :

, , , :)

, , JavaScript . , .


package.json

JavaScript Node.js npm package.json .

, package.json npm, .

package.json npm init JavaScript/Node.js , :

  • name: / JavaScript.
  • version: . , . , .
  • description: .
  • license: .

npm-

package.json scripts (), , . , npm :

{
  "scripts": {
    "build": "tsc",
    "format": "prettier --write **/*.ts",
    "format-check": "prettier --check **/*.ts",
    "lint": "eslint src/**/*.ts",
    "pack": "ncc build",
    "test": "jest",
    "all": "npm run build && npm run format && npm run lint && npm run pack && npm test"
  }
}  

eslint, prettier, ncc, jest , node_modules/.bin/.

npx node_modules , , npx ... ( npx prettier --write **/*.ts).

dependencies VS devDependencies

-, npm, . TypeScript GitHub:

{
  "dependencies": {
    "@actions/core": "^1.2.3",
    "@actions/github": "^2.1.1"
  },
  "devDependencies": {
    "@types/jest": "^25.1.4",
    "@types/node": "^13.9.0",
    "@typescript-eslint/parser": "^2.22.0",
    "@zeit/ncc": "^0.21.1",
    "eslint": "^6.8.0",
    "eslint-plugin-github": "^3.4.1",
    "eslint-plugin-jest": "^23.8.2",
    "jest": "^25.1.0",
    "jest-circus": "^25.1.0",
    "js-yaml": "^3.13.1",
    "prettier": "^1.19.1",
    "ts-jest": "^25.2.1",
    "typescript": "^3.8.3"
  }
}  

, , (dependencies) npm install --save --save-dev. / . , .

, , , ( , semver major.minor.patch):

  • ^: . , ^1.0.4 1.3.0, 1.
  • ~: . ^ ~1.0.4 1.0.7, 1.0.

package-lock.json.

package-lock.json

, JavaScript npm. package.json - , package-lock.json - .

, ( ), package-lock.json , ( ).

package-lock.json npm install, NPM CLI, npm ci.


NPM

, 1,3 , 16 , , npm . , .

npm install

JavaScript/Node.js.

npm install <_> ^. npm install npm node_modules package.json, (, , package-lock.json) , , ^ ~.

-g, ( , like-server).

npm JavaScript , . , npm , :

--production! dependencies devDependencies, / . , node_modules.

npm install, dependencies, node_modules .

npm ci

, npm install --production , , ?

: npm ci.

, package-lock.json , npm install, npm ci , .

, , , , CI (Continuous Integration ), Github Actions.

npm audit

- , , npm - .

, , npm.js npm audit. , .

npm audit , . :

npm audit

, npm audit fix .


NPM

, NPM CLI , (, , JavaScript ?)?

npm publish

npmjs.com npm publish. , npm.

semver.org:

  • (MAJOR) API;
  • (MINOR) ;
  • (PATCH) .

, - , npm ^ ( ).


50% Merion Academy