Extended Javascript for Pros
JavaScript Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
browser2
expectations
lib
test
web Remove whitespace [Gun.io WhitespaceBot] Oct 26, 2011
.DS_Store
.gitignore
History.md
LICENSE
README.md
package.json

README.md

  _  __      __  __     _
 | |/ /__ _ / _|/ _|___(_)_ _  ___
 | ' </ _` |  _|  _/ -_) | ' \/ -_)
 |_|\_\__,_|_| |_| \___|_|_||_\___|
  • Progressively enhance Javascript syntax: ensure vanilla Javascript still works as normal
  • avoid nice-to-haves, concentrate on small useful feature set and pragmatism
  • Hackable, modular, extendable and testable
  • whitespace is not significant. Looks nice, but is painful to work with.

Example

Edge::add = (nick, name, complete) {
  @client.select 15
  user = User.find! {id: nick}
  puzzle = Puzzle.find! {name: name}
  err, data = client.set! "u:#{user}:p:#{puzzle}"
  complete()
}

READ MORE HERE ---> http://weepy.github.com/kaffeine <-----

also on IRC: #altjs

Tests

  • via Node
    • bin/expect will run all tests
    • bin/expect file_name will a particular test e.g. bin/expect expectations/arrow
  • via Browser

    • load browser/runner.html
  • Integration tests:

    • node test/test_node.js
    • knode test/test_knode.js

Building tests for the browser

bin/build

depends on brequire (http://github.com/weepy/brequire).

Install

npm install kaffeine

requires node >= 0.3.1

Use

Compile a script from the command line:

kaffeine -c /path/to/script.k

See kaffeine --help for more

Run a kaffeine file directly

knode /path/to/script.k

require kaffeine files in scripts (in this case my_script.k):

require('kaffeine')
require('my_script')

TODO

  • need --- operator for delimiting bangs!
  • nested for loops - is there a problem ?