|
215 | 215 | (binding [ana/*cljs-warning-handlers* (:warning-handlers opts ana/*cljs-warning-handlers*)]
|
216 | 216 | (closure/watch source opts compiler-env stop))))
|
217 | 217 |
|
218 |
| -(defn node-module-deps |
219 |
| - "EXPERIMENTAL: return the foreign libs entries as computed by running |
220 |
| - the module-deps package on the supplied JavaScript entry point. Assumes |
221 |
| - that the module-deps NPM package is either locally or globally installed." |
222 |
| - [entry] |
223 |
| - (closure/node-module-deps entry)) |
| 218 | +;; ============================================================================= |
| 219 | +;; Node.js / NPM dependencies |
| 220 | + |
| 221 | +(defn install-node-deps! |
| 222 | + "EXPERIMENTAL: Install the supplied dependencies via NPM. dependencies must be |
| 223 | + a map of name to version." |
| 224 | + ([dependencies] |
| 225 | + (install-node-deps! dependencies |
| 226 | + (when-not (nil? env/*compiler*) |
| 227 | + (:options @env/*compiler*)))) |
| 228 | + ([dependencies opts] |
| 229 | + {:pre [(map? dependencies)]} |
| 230 | + (closure/maybe-install-node-deps! (merge opts {:npm-deps dependencies})))) |
| 231 | + |
| 232 | +(defn get-node-deps |
| 233 | + "EXPERIMENTAL: Get the Node.js dependency graph of the supplied dependencies. |
| 234 | + Dependencies must be a sequence of strings or symbols naming packages or paths |
| 235 | + within packages (e.g. [react \"react-dom/server\"]. Assumes dependencies have |
| 236 | + been been previously installed, either by `cljs.build.api/install-node-deps!` |
| 237 | + or by an NPM client, and reside in the `node_modules` directory." |
| 238 | + ([dependencies] |
| 239 | + (get-node-deps dependencies |
| 240 | + (when-not (nil? env/*compiler*) |
| 241 | + (:options @env/*compiler*)))) |
| 242 | + ([dependencies opts] |
| 243 | + {:pre [(sequential? dependencies)]} |
| 244 | + (closure/index-node-modules dependencies opts))) |
224 | 245 |
|
225 | 246 | (comment
|
226 | 247 | (node-module-deps
|
|
0 commit comments