среда, 6 июня 2018 г.

NPM Cheat Sheet

# NPM CheatSheet.
# NPM поставляется вместе с Node.js.
# Инструкция по созданию своего npm package: https://www.npmjs.org/doc/misc/npm-developers.html
# Больше информации на: https://www.npmjs.org/doc/


# 1. NPM Команды для командного терминала.
# Локальный режим включен по умолчанию.
# Используйте --global или -g для выполнения команды в глобальном режиме.


npm <cmd> -h                                            # быстрая подсказка по команде <cmd>
npm -l                                                  # вывести список всех команд NPM с их описанием
npm adduser                                             # добавить нового пользователя реестра
npm bin                                                 # показать местонахождение папки .bin
npm bugs <pkgname>                                      # загрузить в браузере страницу с описанием багов указанной библиотеки
npm build <package-folder>                              # собрать библиотеку (не должно вызываться напрямую)
npm cache [add|ls|clean] <tarball|folder>               # работа с кэшем установленных библиотек
npm config [set|get|delete|list|edit] <key> <value>     #управление конфигурационным файлом
npm dedupe [package names...]  --tag                    # уменьшить дублирование установленных библиотек
npm depcrecate <name>[@<version>] <message>              # пометить версию библиотеки, как устаревшую (для этого вы должны быть владельцем данной библиотеки)
npm docs [<pkg-name> [<pkg-name> ...]]                  # открыть страницу с документацией по библиотеке в браузере
npm edit <name>[@<version>]                             # отредактировать установленную библиотеку (по умолчанию будет использован редактор "vi")
npm explore <name>[@<version>] [ -- <cmd>]              # просмотреть установленную библиотеку
npm faq                                                 # список часто задаваемых вопросов об NPM (аналог help)
npm help-search <some search terms>                     # поиск по документации NPM
npm help <topic> <some search terms>                    # вывести подсказку по NPM
npm init                                                # создать файл package.json
npm install <folder|name@<tag|version>|tarball>         # установить библиотеку из репозитория NPM (необязательные флаги: --save, --save-dev, --save-optional, --save-exact)
npm link <pkgname>                                      # симлинк на папку библиотеки
npm ls <pkg>                                            # вывести список всех установленных библиотек (и их зависимостей)
npm outdated [<name> [<name> ...]]                      # проверить какие библиотеки уже устарели
npm owner [ls|add|rm] <pkg-name> <user>                 # управление владельцами библиотек
npm pack [<pkg> [<pkg> ...]]                            # создать архив tarball из библиотеки
npm prefix                                              # отобразить префикс
npm prune [<name> [<name ...]] --production             # удалить установленные посторонний библиотеки, не перечисленные в файле package.json
npm publish <tarball|folder> [--tag <tag>]              # опубликовать библиотеку в хранилище NPM
npm rebuild [<name > [<name> ...]]                      # пересобрать библиотеку
npm repo <pkgname>                                      # открыть репозиторий библиотеки в браузере
npm restart <name>                                      # запустить библиотеку
npm rm <name>                                           # удалить установленную библиотеку
npm root                                                # отобразить путь до папки node_modules
npm run [<pkg>] [command]                               # запустить команду, описанную в разделе script файла package.json
npm search [search terms ...] [--long]                  # найти библиотеку с таким-то названием в репозитории NPM
npm shrinkwrap                                          # создать файл npm-shrinkwrap.json, в котором перечислены и зафиксированы все установленные библиотеки и их версии. Если это файл присутствует, то инсталляция библиотек будет происходить строго с учетом данных из этого фала.
npm star <pkgname> [<pkg>, ...]                         # пометить любимые библиотеки
npm stars [username]                                    # посмотреть библиотеки отмеченные, как любимые
npm start <name>                                        # выполнить команду start библиотеки
npm stop <name>                                         # выполнить команду stop библиотеки
npm submodule <pkg>                                     # добавить библиотеку в качестве git submodule
npm tag <name>@<version>                                # пометить tag публичную версию библиотеки
npm test <name>                                         # выполнить команду test библиотеки
npm unpublish <name>[@<version>]                        # удалить библиотеку из репозитория NPM
npm unstar <pkgname> [<pkg>, ...]                       # удалить пометку библиотеки, как любимую
npm update [-g] [<name> [<name> ...]]                   # обновить установленную версию библиотеки
npm version [<newversion> | major | minor | patch]      # поднять версию библиотеки
npm view <name>[@<version>] [<field<[.<subfield>] ...]  # показать информацию о библиотеке
npm whoami                       # показать информацию о текущем пользователе


// 2. NPM API документация.
// Перед использованием команд NPM должна быть вызвана функция npm.load().


npm.load(configs, callback);                        // загрузить настройки из кофигурационного файла

npm.commands.bin(args, callback);                   // показать местонахождения папки npm bin
npm.commands.bugs(package, callback);               // открыть в браузере информацию о багах данной библиотеки

npm.commands.cache([args], callback);                           // программное управление npm cache
npm.commands.cache.clean([args], callback);                     // очистка npm cache
npm.commands.cache.add([args], callback);                       // добавление npm cache
npm.commands.cache.read(name, version, forceBypass, callback);  // чтение npm cache

npm.commands[<command>](args, callback);            // выполнить команду NPM

npm.commands.config(args, callback);                // управление конфигурационным файлом NPM
npm.config.get(key);                                // получить установленное значение конфига по ключу
npm.config.set(key, value);                         // установить значение конфига по ключу

npm.commands.deprecate(args, callback);             // пометить версию библиотеки, как устаревшую
npm.commands.docs(package, callback);               // открыть страницу с документацией библиотеки в браузере
npm.commands.edit(package, callback);               // отредактировать установленную библиотеку
npm.commands.explore(args, callback);               // просмотреть библиотеку
npm.commands.helpSearch(args, [silent,] callback);  // поиск по подсказкам в документации NPM
npm.commands.init(args, callback);                  // создать файл package.json
npm.commands.install([where,] packages, callback);  // установить библиотеку
npm.commands.link([packages,] callback);            // создать симлинк на папку библиотеки
npm.commands.ls(args, [silent,] callback);          // показать список всех установленных библиотек
npm.commands.outdated([packages,] callback);        // проверить не устарели ли библиотеки
npm.commands.owner(args, callback);                 // управление владельцами библиотек
npm.commands.pack([packages,] callback);            // создать архив tarball из папки билиотеки
npm.commands.prefix(args, callback);                // показать префикс
npm.commands.prune([packages,] callback);           // удалить установленные посторонний библиотеки, не перечисленные в файле package.json
npm.commands.publish([packages,] callback);         // опубликовать библиотеку в репозиторий NPM
npm.commands.rebuild([packages,] callback);         // пересобрать библиотеку
npm.commands.repo(package, callback);               // открыть страницу с репозиторием библиотеки в браузере
npm.commands.restart(packages, callback);           // выполнить команду start библиотеки
npm.commands.root(args, callback);                  // отобразить путь до папки node_modules
npm.commands.run-script(args, callback);            // выполнить команду из разделе script файла package.json

npm.commands.search(searchTerms, [silent,] [staleness,] callback);  // найти библиотеку в репозитории NPM

npm.commands.shrinkwrap(args, [silent,] callback);  // создать файл npm-shrinkwrap.json, в котором перечислены и зафиксированы все установленные библиотеки и их версии. Если это файл присутствует, то инсталляция библиотек будет происходить строго с учетом данных из этого фала.
npm.commands.start(packages, callback);             // выполнить команду start библиотеки
npm.commands.stop(packages, callback);              // выполнить команду stop библиотеки
npm.commands.submodule(packages, callback);         // добавить библиотеку в качестве git submodule
npm.commands.tag(package@version, tag, callback);   // пометить tag публичную версию библиотеки
npm.commands.test(packages, callback);              // выполнить команду test библиотеки
npm.commands.uninstall(packages, callback);         // удалить установленную  библиотеку
npm.commands.unpublish(package, callback);          // удалить библиотеку из репозитория NPM
npm.commands.update(packages, callback);            // обновить установленную версию библиотеки
npm.commands.version(newversion, callback);         // поднять версию библиотеки
npm.commands.view(args, [silent,] callback);        // показать информацию о библиотеке
npm.commands.whoami(args, callback);                // показать информацию о текущем пользователе


// 3. Содержимое файла package.json

{
  "name": "module-name",
  "version": "10.5.2",
  "description": "An example module to illustrate the usage of a package.json",
  "keywords": ["nodejitsu", "example", "browsenpm"],
  "license": "MIT",
  "author": "Your Name <you.name@example.org>",
  "contributors": [{
      "name": "Foo Bar",
       "email": "foo.bar@example.com"
  }],
  "publishConfig": {
    "registry": "https://your-private-hosted-npm.registry.nodejitsu.com"
  },
  "repository": {
      "type": "git",
      "url": "https://github.com/nodejitsu/browsenpm.org"
   },
  "bugs": {
      "url": "https://github.com/nodejitsu/browsenpm.org/issues"
   },
  "preferGlobal": true,
  "private": true,
  "analyze": true,
  "subdomain": "foobar",
  "bin": {
      "module-name": "./bin/module-name"
  },
  "main": "lib/foo.js",
  "script": {
      "test": "vows --spec --isolate",
      "start": "node index.js",
      "predeploy": "echo i am about to deploy",
      "postdeploy": "echo i have deployed",
      "prepublish": "coffee --bare --compile --output lib/foo src/foo/*.coffee"
  },
  "dependencies": {
      "primus": "*",
      "async": "~0.8.0",
      "express": "4.2.x",
      "winston": "git://github.com/flatiron/winston#master",
      "bigpipe": "bigpipe/pagelet",
      "plates": "https://github.com/flatiron/plates/tarball/master"
  },
  "devDependencies": {
      "vows": "^0.7.0",
      "assume": "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
      "pre-commit": "*"
  }
}

Комментариев нет:

Отправить комментарий