Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2010-03-03 13:13:43 +0300
committerisaacs <i@izs.me>2010-03-04 00:03:06 +0300
commitc533ffe531f0fc34bb5e88830838e538a4d08ba0 (patch)
tree103d13cfa3961585bb62742eaaeb5f76a9b7f72f /README.md
parent99c6deb90cf0ddf7d9017f1d9562e6409244ffd1 (diff)
Update todo list.
Diffstat (limited to 'README.md')
-rw-r--r--README.md12
1 files changed, 9 insertions, 3 deletions
diff --git a/README.md b/README.md
index 823818b28..b5b4e6e0a 100644
--- a/README.md
+++ b/README.md
@@ -109,7 +109,13 @@ Note that these script files don't have to be nodejs or even javascript programs
All the "core functionality" stuff above. Most immediately:
-* Keep track of what depends on what.
* Safely uninstall packages, failing if anything depends on it.
-* Install packages from the registry
-* Install missing dependencies. This, with the registry, will make it so that circular dependencies are supported.
+* Install packages from the registry. Implement a "fetch" command that writes to `.npm/{pkg}/{version}/package.json`.
+* Install missing dependencies. For each one, fetch it, then figure out what it needs, then fetch that if we don't already have it, etc. Put off the resolveDependencies step until everything on the todo list has been installed, then go back and do the dependency linking.
+* Install a link package from a folder. (Rebuilding and installing npm every time I make a change SUCKS.) It would be fine to just fs.symlink from the "package" folder to the folder being installed, and then read the package.json out of there, and do whatever. It might be good to have the fetch/unpack stuff in "install", and create a separate "link" command, and then have both call a "build" command. This way, I could factor a bunch more junk out of install.js.
+
+Some "nice to have" things that aren't quite core:
+
+* Use path.relative so that the whole root can be picked up and moved easily.
+* Specify the root (and other global options, perhaps) to the CLI.
+* Parse command line options better, and pass an object to the npm command functions, rather than having everything just take one or two positional arguments.