chlorinejs / lein-bower Goto Github PK
View Code? Open in Web Editor NEWLeiningen plugin for managing Bower dependencies in Clojure projects
Leiningen plugin for managing Bower dependencies in Clojure projects
Now it is impossible to start postnatal scripts that required bower.json
:bower {:scripts {:postinstall "./node_modules/.bin/wiredep -s resources/public/index.html"}}
This script rise error.
I get a stacktrace while trying to execute any of bower commands
java.lang.ClassCastException: clojure.lang.PersistentVector cannot be cast to clojure.lang.Named
at clojure.core$name.invoke (core.clj:1524)
leiningen.npm.deps$resolve_in_jar_dep.invoke (deps.clj:50)
clojure.core$partial$fn__4529.invoke (core.clj:2500)
clojure.core$keep$fn__6835.invoke (core.clj:7048)
clojure.lang.LazySeq.sval (LazySeq.java:40)
clojure.lang.LazySeq.seq (LazySeq.java:56)
clojure.lang.RT.seq (RT.java:507)
clojure.core/seq (core.clj:137)
clojure.core.protocols$seq_reduce.invoke (protocols.clj:26)
clojure.core.protocols/fn (protocols.clj:100)
clojure.core.protocols$fn__6452$G__6447__6465.invoke (protocols.clj:13)
clojure.core$reduce.invoke (core.clj:6515)
leiningen.npm.deps$resolve_in_jar_deps.invoke (deps.clj:66)
leiningen.npm.deps$resolve_node_deps.invoke (deps.clj:81)
leiningen.bower$project__GT_component.invoke (bower.clj:26)
leiningen.bower$bower.doInvoke (bower.clj:62)
clojure.lang.RestFn.invoke (RestFn.java:439)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:632)
leiningen.core.main$partial_task$fn__6030.doInvoke (main.clj:261)
clojure.lang.RestFn.applyTo (RestFn.java:139)
clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
leiningen.core.main$apply_task.invoke (main.clj:311)
lein_environ.plugin$write_env_to_file.invoke (plugin.clj:11)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:632)
robert.hooke$compose_hooks$fn__12004.doInvoke (hooke.clj:40)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:630)
robert.hooke$run_hooks.invoke (hooke.clj:46)
robert.hooke$prepare_for_hooks$fn__12009$fn__12010.doInvoke (hooke.clj:54)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
clojure.lang.RestFn.invoke (RestFn.java:436)
leiningen.core.main$resolve_and_apply.invoke (main.clj:317)
leiningen.core.main$_main$fn__6096.invoke (main.clj:390)
leiningen.core.main$_main.doInvoke (main.clj:383)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:630)
clojure.main$main_opt.invoke (main.clj:316)
clojure.main$main.doInvoke (main.clj:421)
clojure.lang.RestFn.invoke (RestFn.java:482)
clojure.lang.Var.invoke (Var.java:401)
clojure.lang.AFn.applyToHelper (AFn.java:171)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
bower allows you to install from a github repo such as:
bower install https://github.com/reactjs/react-bower.git
I don't know if bower allows specifying a specific commit or anything as unversioned seems like it might be a bad idea, but I was wondering if this is still possible with lein bower anyway?
Given this options in project.clj
:node-dependencies [["adm-zip" "latest"]
["nedb" "latest"]]
:npm-root "webkit"
:bower {:directory "webkit/bower"}
:bower-dependencies [[react "0.12.2"]
[d3 "latest"] ]
Running lein bower install, will fail because bower.json is expected in project root but created inside the "webkit" folder due to the :npm-root option. ( https://github.com/RyanMcG/lein-npm/blob/master/src/leiningen/npm.clj#L13 )
There must be nicer ways to solve this, however dissoc :npm-root ( cedrictools@47491ac ) did the trick. ( 2 lein profiles also does).
Prior to lein-npm 0.3.2, only installed JARs were searched for transitive project.clj dependency settings. Leiningen "checkouts", however, were overlooked. This meant that when a checkout project's npm dependencies were updated, the downstream project would not see it until it was installed (which defeats the purpose of lein checkouts).
This affects bower dependencies too, as it relies on lein-npm to resolve transitives.
This should be fixed in lein-npm 0.3.2 with RyanMcG/lein-npm#10. Could you bump the lein-npm dependency to it?
Thanks
I'm trying to resolve polymer/platform
assets but this fails with bower ENOTFOUND Package polymer/platform=polymer/platform not found
. It looks like polymer is using shorthand endpoint location as identifier.
Is that something that should be supported?
Would love to be able to save dependencies from the command line - it's one of best features of bower IMO!
Example: lein bower install bootstrap --save
would fetch the dependency but also add it to the project.clj
. Is this possible in the current state of affairs? If not I would love to submit a pull request, provided I get some direction.
I installed lein-bower 0.4.0, and ran lein bower install
with :bower-dependencies
, but with no :bower
$ lein bower install
/usr/local/lib/node_modules/bower-canary/node_modules/tmp/lib/tmp.js:260
throw err;
^
TypeError: Arguments to path.join must be strings
at path.js:360:15
at Array.filter (native)
at Object.exports.join (path.js:358:36)
at Project._readInstalled (/usr/local/lib/node_modules/bower-canary/lib/core/Project.js:551:26)
at Project._analyse (/usr/local/lib/node_modules/bower-canary/lib/core/Project.js:428:14)
at Project.install (/usr/local/lib/node_modules/bower-canary/lib/core/Project.js:46:17)
at install (/usr/local/lib/node_modules/bower-canary/lib/commands/install.js:20:13)
at Function.install.line (/usr/local/lib/node_modules/bower-canary/lib/commands/install.js:35:12)
at Object.<anonymous> (/usr/local/lib/node_modules/bower-canary/bin/bower:87:27)
at Module._compile (module.js:456:26)
Adding :bower {:directory "resources/public/js/lib"}
fixed it.
Hi all,
lein bower install command fails when I set the :local-repo variable in the project.clj. The following exception is thrown:
org.sonatype.aether.resolution.DependencyResolutionException: Could not find artifact tailrecursion:ring-proxy:jar:2.0.1-SNAPSHOT in clojars (https://clojars.org/repo/)
at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:375)
sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke (Method.java:497)
clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:93)
clojure.lang.Reflector.invokeInstanceMethod (Reflector.java:28)
cemerick.pomegranate.aether$resolve_dependencies_STAR_.doInvoke (aether.clj:720)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:624)
cemerick.pomegranate.aether$resolve_dependencies.doInvoke (aether.clj:729)
clojure.lang.RestFn.invoke (RestFn.java:457)
leiningen.npm.deps$resolve_in_jar_deps.invoke (deps.clj:62)
leiningen.npm.deps$resolve_node_deps.invoke (deps.clj:81)
leiningen.bower$project__GT_component.invoke (bower.clj:26)
leiningen.bower$bower.doInvoke (bower.clj:62)
clojure.lang.RestFn.invoke (RestFn.java:423)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:626)
leiningen.core.main$partial_task$fn__6094.doInvoke (main.clj:263)
clojure.lang.RestFn.applyTo (RestFn.java:139)
clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
leiningen.core.main$apply_task.invoke (main.clj:313)
lein_environ.plugin$write_env_to_file.invoke (plugin.clj:11)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:626)
robert.hooke$compose_hooks$fn__11735.doInvoke (hooke.clj:40)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:624)
robert.hooke$run_hooks.invoke (hooke.clj:46)
robert.hooke$prepare_for_hooks$fn__11740$fn__11741.doInvoke (hooke.clj:54)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
clojure.lang.RestFn.invoke (RestFn.java:436)
leiningen.core.main$resolve_and_apply.invoke (main.clj:319)
leiningen.core.main$_main$fn__6160.invoke (main.clj:392)
leiningen.core.main$main.doInvoke (main.clj:385)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:624)
clojure.main$main_opt.invoke (main.clj:315)
clojure.main$main.doInvoke (main.clj:420)
clojure.lang.RestFn.invoke (RestFn.java:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Could not find artifact tailrecursion:ring-proxy:jar:2.0.1-SNAPSHOT in clojars (https://clojars.org/repo/)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:538)
org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:216)
org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:358)
sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke (Method.java:497)
clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:93)
clojure.lang.Reflector.invokeInstanceMethod (Reflector.java:28)
cemerick.pomegranate.aether$resolve_dependencies_STAR.doInvoke (aether.clj:720)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:624)
cemerick.pomegranate.aether$resolve_dependencies.doInvoke (aether.clj:729)
clojure.lang.RestFn.invoke (RestFn.java:457)
leiningen.npm.deps$resolve_in_jar_deps.invoke (deps.clj:62)
leiningen.npm.deps$resolve_node_deps.invoke (deps.clj:81)
leiningen.bower$project__GT_component.invoke (bower.clj:26)
leiningen.bower$bower.doInvoke (bower.clj:62)
clojure.lang.RestFn.invoke (RestFn.java:423)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:626)
leiningen.core.main$partial_task$fn__6094.doInvoke (main.clj:263)
clojure.lang.RestFn.applyTo (RestFn.java:139)
clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
leiningen.core.main$apply_task.invoke (main.clj:313)
lein_environ.plugin$write_env_to_file.invoke (plugin.clj:11)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:626)
robert.hooke$compose_hooks$fn__11735.doInvoke (hooke.clj:40)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:624)
robert.hooke$run_hooks.invoke (hooke.clj:46)
robert.hooke$prepare_for_hooks$fn__11740$fn__11741.doInvoke (hooke.clj:54)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
clojure.lang.RestFn.invoke (RestFn.java:436)
leiningen.core.main$resolve_and_apply.invoke (main.clj:319)
leiningen.core.main$_main$fn__6160.invoke (main.clj:392)
leiningen.core.main$_main.doInvoke (main.clj:385)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:624)
clojure.main$main_opt.invoke (main.clj:315)
clojure.main$main.doInvoke (main.clj:420)
clojure.lang.RestFn.invoke (RestFn.java:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact tailrecursion:ring-proxy:jar:2.0.1-SNAPSHOT in clojars (https://clojars.org/repo/)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap (WagonRepositoryConnector.java:947)
org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap (WagonRepositoryConnector.java:941)
org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run (WagonRepositoryConnector.java:669)
org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.java:60)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617)
java.lang.Thread.run (Thread.java:745)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.