Extension architecture, build scripts, template #74

Closed
raimohanska opened this Issue Feb 2, 2013 · 4 comments

Comments

Projects
None yet
2 participants
Contributor

raimohanska commented Feb 2, 2013

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 :)

Contributor

texastoland commented Mar 7, 2013

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).

Contributor

texastoland commented Mar 7, 2013

Spine.js integration

Implemented 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.

Contributor

raimohanska commented Mar 8, 2013

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: ] 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
.

This was referenced Mar 19, 2013

Contributor

raimohanska commented Jun 11, 2013

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

  • Grunt build from coffeescript to (non)minified js files
  • Support for Node (in node env, it does require "baconjs")
  • Support for Requijre.js/AMD (uses define(['bacon'], -> { .. })
  • Automatic tests
  • Browser tests
  • Release scripts

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment