Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Tweaks: Now builds on Windows, running "rake test" does npm and compiles clever #5

Closed
wants to merge 6 commits into from

Commits on Sep 3, 2012

  1. Removing node_modules folder +>> .gitignore

    It's only needed for testing and future :test build point will import needed NodeJS modules.
    Different platforms need different versions of jsdom anyway.
    dvdotsenko committed Sep 3, 2012
    Copy the full SHA
    21d609c View commit details
    Browse the repository at this point in the history
  2. Tweaking module structure to allow faking 'require' in consolidated .js

    Also adding fake require/exports implementation
    using this we don't need to rewire joined modules. Just wrap them into self-execute and let them peruse the fake exports/require
    dvdotsenko committed Sep 3, 2012
    Copy the full SHA
    6e01321 View commit details
    Browse the repository at this point in the history
  3. Moving version ref into separate require module.

    It's much easier to create the whole file at build, than Regexing around list of files.
    dvdotsenko committed Sep 3, 2012
    Copy the full SHA
    1014cfa View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2012

  1. updated Rakefile

    * Changed dependency tree so that only changed files are compiled
    * Changed how main modules are concatenated.
     - No more Regexing+string replacement. That's fricken dangerous.
     - Now each module is just wrapped into self-exec fn and they continue to use "require" and "exports"
     - a tiny (a douzen lines) "magic" implementation of require/exports is added to livereload.js
     - The module ordering logic is replaced by Ruby's built-in Topological Sort (TSort) function - whose task in life is to do DAG / Dependency Resolution done right.
    dvdotsenko committed Sep 4, 2012
    Copy the full SHA
    985aa23 View commit details
    Browse the repository at this point in the history
  2. Converting test from expresso to mocha

    expresso would not install on my Windows machine.
    mocha works on Windows (and new and shiny)
    
    "If it does not work on Windows, it does not exist." :)
    
    You could run as: mocha --ui exports --compilers coffee:coffee-script
    but a :test task is also added to the Rakefile so you could just "rake test"
    dvdotsenko committed Sep 4, 2012
    Copy the full SHA
    65ceb1d View commit details
    Browse the repository at this point in the history
  3. Protocol module now builds "all protocols" array. Connector module ju…

    …st reuses the array. Simpler.
    
    We still export all protocols separately so code can use them separately. Yet, In "hello" it makes no point whatsoever for connector to pick and choose.
    dvdotsenko committed Sep 4, 2012
    Copy the full SHA
    15b91d5 View commit details
    Browse the repository at this point in the history