tlrobinson / narwhal

[DEPRECATED] A JavaScript standard library, package manager, and more.
http://narwhaljs.org/
372 stars 16 forks source link

Lean Package Installation #8

Open kriskowal opened 15 years ago

kriskowal commented 15 years ago

Add a feature or refactor "tusk" such that packages can be installed in a virtual environment in a "lean" fashion, meaning that only the essential directory trees are installed. This will become necessary for quota-encumbered virtual environments like war/WEB-INF for Google AppEngine.

Installing lean packages should be an option for both "tusk install" and "tusk reheat", which would install all packages in a lean fashion from the missing transitive dependencies in the package.json for the virtual environment.

Package maintainers would have the option of specifying in their "package.json" which directories are necessary for autonomous functionality, as a white list, usually omitting such directories as "tests", "examples", "docs", and "src". The default behavior would be to install all files.

kriskowal commented 15 years ago

It occurs to me that packages that have a build step will need to download everything, build, then install. To that end, perhaps "lean" needs to, rather than installing lean in the virtual environment, copy the lean directories or files to the lean virtual environment.