lein-npm下载依赖项的依赖项(重新框架模板)

时间:2017-01-28 13:48:40

标签: clojure re-frame

lein-npm插件添加到re-frame项目以管理npm依赖项时,lein-npm意外地添加了依赖项的依赖项。我的理解是,这是不必要的,因为这些都包含在我的依赖项的jar中或者不需要(因为首先不需要向我的项目添加lein-npm)。

使用re-frame模板,我构建了project.clj的最小示例:

(defproject stamm "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [re-frame "0.9.1"]]
  :plugins      [[lein-npm "0.6.2"]])

现在调用lein npm list会返回以下内容:

project@0.1.0-SNAPSHOT /path/to/my/project
├── UNMET DEPENDENCY karma@1.0.0
├── UNMET DEPENDENCY karma-chrome-launcher@0.2.0
├── UNMET DEPENDENCY karma-cljs-test@0.1.0
└── UNMET DEPENDENCY karma-junit-reporter@0.3.8

只需添加lein-npm,即可下载大约15 MB的依赖项。我没有在karma*中声明此处显示的任何project.clj依赖项(事实上:此时我根本没有声明任何npm依赖项)。它们源自依赖[re-frame "0.9.1"]

有没有办法防止这种情况?

1 个答案:

答案 0 :(得分:2)

我已经发布了重新框架0.9.2,它将NPM依赖项放在:devDependencies密钥中。这意味着它们不具有传递性,重新构建消费项目不需要安装karma*

原始答案:

在撰写本文时,我认为没有办法解决这个问题,但我已经在https://github.com/RyanMcG/lein-npm/issues/50处开了一个问题来报告。