All Projects → degree9 → boot-npm

degree9 / boot-npm

Licence: MIT license
Node Package Manager (NPM) wrapper task for boot-clj

Programming Languages

clojure
4091 projects

Labels

Projects that are alternatives of or similar to boot-npm

Boot
Build tooling for Clojure.
Stars: ✭ 1,722 (+9466.67%)
Mutual labels:  boot-clj
boot-bundle
boot-bundle: managed dependencies for boot, the clojure build tool
Stars: ✭ 43 (+138.89%)
Mutual labels:  boot-clj
boot-semver
Semantic Versioning for boot projects.
Stars: ✭ 12 (-33.33%)
Mutual labels:  boot-clj

Clojars Project Dependencies Status Downloads Slack

Node Package Manager (NPM) wrapper for boot-clj.



boot-npm is developed and maintained by Degree9


  • Provides npm task for installing node modules.
  • Provides exec task for executing node modules. (auto-installs local module)

The following outlines basic usage of the task, extensive testing has not been done. Please submit issues and pull requests!

Usage

Add boot-npm to your build.boot dependencies and require the namespace:

(set-env! :dependencies '[[degree9/boot-npm "X.Y.Z" :scope "test"]])
(require '[degree9.boot-npm :as npm])

Install a Node Module:

(boot/deftask bower
  "Install bower to node_modules."
  []
  (npm/npm :install ["bower@latest"])))

Task Options

The npm task exposes a few options when using npm as part of a build process.

[p package     VAL     str   "An edn file containing a package.json map."
 i install     FOO=BAR [str] "Dependency map."
 d develop             bool  "Include development dependencies with packages."
 r dry-run             bool  "Report what changes npm would have made. (usefull with boot -vv)"
 g global              bool  "Opperates in global mode. Packages are installed to prefix."
 c cache-key   VAL     kw    "Optional cache key for when npm is used with multiple dependency sets."
 _ include             bool  "Include package.json in fileset output."
 _ pretty              bool  "Pretty print generated package.json file"]

The :install option is provided for installing node modules, takes a map containing a dependency/version pair. This will install the module to a temporary node_modules folder and include this folder in the fileset output.

(boot/deftask bower
  "Install bower to node_modules."
  []
  (npm/npm :install ["bower@latest"]))

The :cache-key option is provided to avoid downloading node modules each time boot is restarted. This will cache the node_modules folder and include this folder in the fileset output.

(boot/deftask bower
  "Install bower to node_modules."
  []
  (npm/npm :install   ["bower@latest"]
           :cache-key ::cache))

Patreon
Support this and other open-source projects on Patreon!


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].