baconjs / bacon.js

Functional reactive programming library for TypeScript and JavaScript
https://baconjs.github.io
MIT License
6.47k stars 330 forks source link

Extension architecture, build scripts, template #74

Closed raimohanska closed 11 years ago

raimohanska commented 11 years ago

Extensions. Libs that add something to Bacon. Something we don't care to include to the core.

For instance, there's Bacon.UI.js. I'd like to have more, like bacon.matchers, bacon.model etc.

Should figure out a smart way to build an extension like this, so that we could run automatic tests, build coffee->minified js, run jslint etc. I'd like to have AMD and Node.js compatibility for all modules too.

I think it would make sense to make a "bacon extension template" that could be used as a starting point for easily making and extension lib with all the aforementioned niceties.

This is not my strong area, so help would be appreciated here :)

texastoland commented 11 years ago

I'm playing with Spine.js integration (stream() alternatives to bind()/off(), automatic cleanup of released streams, and declarative streams like MVC event hashes). I'd be interested in brainstorming as long as I'm using JS (I switch a lot).

texastoland commented 11 years ago

Spine.js integration

Implemented :sparkles: LiveScript right now but if it looks good enough to fork I'll port it to CS. Gist forthcoming.

Only obstacle I personally encountered was duplicating your next primitive. Ultimately it was the same as new Next though.

raimohanska commented 11 years ago

Cool! It's best to use new Next(f) where f is a function returning the value.

-juha-

On 8.3.2013, at 0.28, Jonathan Toland notifications@github.com wrote:

Spine.js integration

Implemented [image: :sparkles:] LiveScript right now but if it looks good enough to fork I'll port it to CS. Gist forthcoming.

Only obstacle I personally encountered was duplicating your next primitive. Ultimately it was the same as new Next though.

— Reply to this email directly or view it on GitHubhttps://github.com/raimohanska/bacon.js/issues/74#issuecomment-14590535 .

raimohanska commented 11 years ago

The new bacon-jquery-bindings might prove a good example of a Bacon extension. The goal there is to have

When that's all working, we might extract a template for creating a new extension.