dominictarr/npmd được TopGit xếp vào nhóm dự án mã nguồn mở, với 446 sao trên GitHub, viết chủ yếu bằng JavaScript.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
npmd is an alternative npm client that uses local replication and smart caching
improve performance by eliminating unnecessary network round-trips.
It is intended for use in the antipodes, via 3g, in airplanes, submarines, up trees, and in caves.
But it is still faster if you live in california too.
install
install carefully.
npm install npmd@1 -g --carefully
jokes
npmd may contain some jokes. If you do not have precious time
to waste with jokes, you may disable them by setting the
npmd_jokes=0 enviroment variable, or passing --no-jokes
on the command line or setting "jokes": false in the ~/.npmd/config
file. See rc documentation for
how to pass any configuration setting.
Note: disabling jokes also disables careful mode.
npmd@1
I've recently rewritten the heart of npmd,
adding npmd-cache
and changing how npmd-resolve and
npmd-install retrive modules.
Syncing metadata was one of the best ideas in npmd@0, but also one of the most annoying.
Syncing is gone for now, but it will return soon as an option. npmd@1 is much more simple,
and, by using Alan Gutierrez's pure javascript database
Locket, npmd will not require a compiled node addon
and so will be easy to run even on windows. (this is still in development, so bear with us)
npmd-cache
npmd keeps a cache of modules you have installed, but it works different to npm's cache.
npm keeps a cache of modules at versions, see ~/.npm/{module}/{version} and of npm docs
that npm has downloaded ~/.npm/{module}/.cache.json. Unfortunately, this does not work well
offline, because it does not cache modules that were installed via git or http urls.
(any module with a largish dependency tree is likely to have at least one of these)
npmd-cache works differently, it's cache is divided into two parts - the mutable side,
and the immutable side. The immutable side stores tarballs, and the mutable side stores module ids.
What is a module id? there are several ways to identify a module in npm. The best is
by it's name and version {module}@{version} but you can also install tarballs from
http or git urls (if they return something containing a package.json).
There is no standard way to tell wether a url refers to an immutable resource.
That means that the next time you request that url it may be give a different response.
Even {module}@{version} is nearly immutable, but not completely, because module versions can be deleted.
However, code changes relatively slowly, and if you are working offline (freedom from distractions)
so npmd stores what tarball shasum a module id points to, so you can install that module again later.
Since the tarballs are identified by their shasum, so you can always grab an exact version.
npmd-resolve
npmd splits out resolving a dependency tree from installing a dependency tree, but in npm these two things
are tangled together. npmd-resolve takes a module id, or {module}@{versionRange} and builds a json
object that represents all the modules which should be installed, and the shasums they should have.
The format of this object is compatible with the json generated by the npm shrinkwrap command,
which can be used to install exactly the same deps again.
npmd-resolve in bundled inside npmd, but it can also be used as a standalone tool.
npmd-install takes a dependency tree with shasums and extracts them into a node_modules folder.
it is bundled inside npmd or can be installed as a standalone tool.
note, since npmd-install and npmd-resolve may both write to the mutable database inside npmd-cache,
you cannot run them both at the same time. If you want to feed the output of one into the other, you must do so via a file.
npmd-resolve browserify > b; npmd-install < b; rm b
This will get fixed at some point, but for now the simplest is just to use npmd install browserify
help
display help files
npmd help $command
install
install a module. if the module's dependencies are in the cache,
then npmd will install without making a single network round trip!
npmd install browserify --greedy
--greedy is optional, if enabled, the dependency tree is flattened as much as possible.
so you have less duplication.
use --global to install a command globally.
resolve
resolve all module versions required to install a given module.
will write json to stdout in the same format as npm-shrinkwrap.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/dominictarr/npmd là nguồn chính thức.
dominictarr/npmd có bao nhiêu sao?
dominictarr/npmd có 446 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/dominictarr/npmd. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
dominictarr/npmd có phải mã nguồn mở không?
Có — dominictarr/npmd phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/dominictarr/npmd.
dominictarr/npmd có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho dominictarr/npmd. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
dominictarr/npmd là gì?
dominictarr/npmd (dominictarr/npmd) là dự án JavaScript TopGit theo dõi. Tính tới lần đồng bộ gần nhất, repo có 446 sao.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về npmd?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về npmd.