Comments (23)
+1 :)
from component.
I am not interested in supporting multiple host environments until Clojure has proper feature expressions and/or conditional compilation built-in.
from component.
Hi Stuart, first let me say I loved your "Just Enough Structure" talk (and the previous one) and I can't wait to try component. Is cljx not acceptable? I would love to have access to component in ClojureScript too. I would be willing to do an initial cljx conversion for both component and dependency if there's at least some chance of a pull request being accepted.
from component.
I'm not currently doing enough work in ClojureScript such that I would feel able or willing to maintain a port. Sorry — I'm sure you understand having to choose what to devote time to. I might come back to it at some point the future, perhaps after Clojure itself has better support for multi-target sources. If you need something sooner than that, please feel free to develop a ClojureScript port and release it independently.
from component.
I seem to have ported dependencies to CLJX. I have it working on the CLJS side, I just need to ensure I've not broken the CLJ variant and figure out why the .cljx file is getting jar'd.
I can appreciate Stuart not wanting to maintain this but I'm not sure about the best way of publishing a library variant. Should it have a new namespace? Or use a different tag like -SNAPSHOT? Any advice?
from component.
You can release it with your own GroupID (com.yourname or
org.clojars.yourID) and a different namespace prefix.
Thanks,
S
from component.
mmower, I don't know if it will help or not but I have also finished my port here:
https://github.com/lgastako/dependency/tree/cljx
I haven't had the time to tackle component yet.
from component.
I'm also interested in a ClojureScript port of component. Its not super critical or anything, but it would be nice.
@lgastako @mmower Have either of you looked at this any further?
from component.
Alas I cannot help you. I was only interested in Dependency and did not consider porting Component.
from component.
Oh... I was just about to raise an issue about this very thing. So, I thought I'd search through closed issues first and BAM here I am :) So I guess this is, then, just me saying "hey, I'm quite interested in this, too... I don't feel like I'm a good enough clj dev yet to tackle porting it myself though." (Seeing as I've only been writing production clojure code for the last two weeks. :)
So... "+1"! :) <3
I love component, BTW.
from component.
I'm interested in porting it, but realistically I'm not going to have time for at least a few months.
from component.
I really need it, so I don't think I have much choice. Thanks to @lgastako I don't have to also do dependency, and his port to cljx gives me an idea of how to approach it... I'm not really sure how I'm going to go even porting the tests at this stage... I'll keep you posted. :)
from component.
Well I've done an initial stab at it. It needs refactoring, and I'm using a really ugly thing (a string! ughhh) to pass to update-system, update-system-reverse and therefore try-action, because CLJS doesn't have vars (ie the reader doesn't recognise #'varname type symbols so you can't pass the name of the method to call around easily AFAICS. I tried passing the fn directly but to do that, you need a reference to it, which I couldn't work out easily how to get, my cljs-fu is pretty limited) but it's enough to let me continue on my way for now and the tests all pass, so HUZZAH :)
If anyone is vaguely curious, or has comments or suggestions, they'd be very welcome!:
https://github.com/JulianLeviston/component
Thanks again to @lgastako and obviously thanks very much to @stuartsierra <3
from component.
@JulianLeviston you should rename it so we can open issues on the fork. This sounds really impressive, and I think it can go a long way in improving the clojurescript workflow.
from component.
@johnwalker haha but then I'd be responsible for maintaining it! It wasn't exactly a difficult piece of work to do. I think any clojurian could have done it.
By the way, I'm not actually sure how to rename it...?
from component.
Visit your fork. On the right-hand side, there is a settings link. In settings, click the checkbox for issue tracker, and enter a new name for the fork.
from component.
No, I'm not interested in maintaining this. I don't understand it well enough.
from component.
I'm just leaving this comment here in case others come to this ticket through a search for "clojurescript stuartsierra component", as I did. There is a clojurescript fork of component available which has been kept reasonably up to date as I write this. In addition, the leaven library is a similar project which has clojurescript compatibility as one of its central goals.
Also, the Jira ticket tracking the feature-expressions language feature that Stuart mentions in his comment above is CLJ-1424, in case anyone is curious.
from component.
@timgilbert thanks. There are additional changes to stuart's component that haven't been tracked by either of us.
from component.
So... there are proper reader conditionals now. Any chance of reopening this issue?
from component.
@metasoarous That would certainly make me a happy camper.
from component.
ClojureScript support added in release 0.3.0
from component.
Wonderful!
On Sat, Sep 19, 2015, 3:59 AM Stuart Sierra [email protected]
wrote:
ClojureScript support added in release 0.3.0
—
Reply to this email directly or view it on GitHub
#3 (comment)
.
Chris
Sent via mobile
from component.
Related Issues (20)
- When call to get-dependency fails, the reported component is always ::not-found [0.3.0] HOT 3
- System fails to start with clojure 1.8.0-RC4 HOT 4
- Cljs source files requiring component break refresh for clj code HOT 9
- Question: Whether it should be okay to pass system record directly to a special component HOT 1
- still dependent on IoC container? HOT 1
- Startup with asynchronous components? HOT 8
- Add an option to log components/keys as they are started HOT 1
- start/stop don't call a component's start/stop when there is no dependencies in the system map... HOT 1
- init.el helper fns HOT 1
- How to inject db transaction per http request? HOT 1
- Reloading with component *without* introducing global state HOT 1
- Feature request: add system key metadata to components HOT 1
- :extend-via-metadata in 0.4.0 breaks on ClojureScript < 1.10.516 HOT 2
- Component includes org.clojure/clojure as a transitive dependency HOT 5
- Non-associative components? HOT 2
- Cleaning up component dependencies by default HOT 2
- Make it possible to start a subsystem? HOT 4
- Provide an example explaining the ?essence? of the components idea
- Keys of already started components for `::component/component-function-threw-exception` HOT 2
- ec alpha
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from component.