snowball 0.1.21 → 0.1.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.gitignore +1 -3
- data/{lib/snowball → bin}/roll.js +0 -0
- data/lib/snowball/roller.rb +1 -1
- data/lib/snowball/version.rb +1 -1
- data/node_modules/.bin/browserify +161 -0
- data/node_modules/.bin/cake +7 -0
- data/node_modules/.bin/coffee +7 -0
- data/node_modules/.bin/jade +168 -0
- data/node_modules/browserify/.travis.yml +4 -0
- data/node_modules/browserify/LICENSE +63 -0
- data/node_modules/browserify/README.markdown +172 -0
- data/node_modules/browserify/bin/cmd.js +161 -0
- data/node_modules/browserify/builtins/__browserify_process.js +55 -0
- data/node_modules/browserify/builtins/assert.js +314 -0
- data/node_modules/browserify/builtins/child_process.js +2 -0
- data/node_modules/browserify/builtins/events.js +178 -0
- data/node_modules/browserify/builtins/fs.js +1 -0
- data/node_modules/browserify/builtins/https.js +1 -0
- data/node_modules/browserify/builtins/net.js +1 -0
- data/node_modules/browserify/builtins/path.js +175 -0
- data/node_modules/browserify/builtins/querystring.js +250 -0
- data/node_modules/browserify/builtins/stream.js +119 -0
- data/node_modules/browserify/builtins/string_decoder.js +161 -0
- data/node_modules/browserify/builtins/sys.js +1 -0
- data/node_modules/browserify/builtins/timers.js +39 -0
- data/node_modules/browserify/builtins/tls.js +1 -0
- data/node_modules/browserify/builtins/tty.js +2 -0
- data/node_modules/browserify/builtins/url.js +604 -0
- data/node_modules/browserify/builtins/util.js +351 -0
- data/node_modules/browserify/example/debug/browserify.js +219 -0
- data/node_modules/browserify/example/debug/build.sh +3 -0
- data/node_modules/browserify/example/debug/index.html +7 -0
- data/node_modules/browserify/example/debug/js/entry.js +2 -0
- data/node_modules/browserify/example/debug/js/thrower.js +3 -0
- data/node_modules/browserify/example/debug/server.js +9 -0
- data/node_modules/browserify/example/simple-build/browserify.js +368 -0
- data/node_modules/browserify/example/simple-build/build.sh +3 -0
- data/node_modules/browserify/example/simple-build/index.html +9 -0
- data/node_modules/browserify/example/simple-build/js/bar.js +3 -0
- data/node_modules/browserify/example/simple-build/js/entry.js +5 -0
- data/node_modules/browserify/example/simple-build/js/foo.js +5 -0
- data/node_modules/browserify/example/simple-build/server.js +9 -0
- data/node_modules/browserify/example/test/b.js +5 -0
- data/node_modules/browserify/example/test/bar.js +3 -0
- data/node_modules/browserify/example/test/foo.js +3 -0
- data/node_modules/browserify/example/test/m.js +3 -0
- data/node_modules/browserify/example/test/n.js +3 -0
- data/node_modules/browserify/example/using-http/bundle.js +813 -0
- data/node_modules/browserify/example/using-http/entry.js +25 -0
- data/node_modules/browserify/example/using-http/index.html +9 -0
- data/node_modules/browserify/example/using-http/server.js +28 -0
- data/node_modules/browserify/index.js +202 -0
- data/node_modules/browserify/lib/watch.js +75 -0
- data/node_modules/browserify/lib/wrap.js +580 -0
- data/node_modules/browserify/lib/wrappers.js +10 -0
- data/node_modules/browserify/node_modules/buffer-browserify/.npmignore +1 -0
- data/node_modules/browserify/node_modules/buffer-browserify/README.md +11 -0
- data/node_modules/browserify/node_modules/buffer-browserify/buffer_ieee754.js +84 -0
- data/node_modules/browserify/node_modules/buffer-browserify/index.js +1317 -0
- data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/README.md +14 -0
- data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/lib/b64.js +84 -0
- data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/package.json +30 -0
- data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/test/runner.js +50 -0
- data/node_modules/browserify/node_modules/buffer-browserify/package.json +46 -0
- data/node_modules/browserify/node_modules/buffer-browserify/test/buffer.js +218 -0
- data/node_modules/browserify/node_modules/commondir/README.markdown +45 -0
- data/node_modules/browserify/node_modules/commondir/example/base.js +3 -0
- data/node_modules/browserify/node_modules/commondir/example/dir.js +3 -0
- data/node_modules/browserify/node_modules/commondir/index.js +29 -0
- data/node_modules/browserify/node_modules/commondir/package.json +47 -0
- data/node_modules/browserify/node_modules/commondir/test/dirs.js +66 -0
- data/node_modules/browserify/node_modules/crypto-browserify/.travis.yml +4 -0
- data/node_modules/browserify/node_modules/crypto-browserify/example/bundle.js +637 -0
- data/node_modules/browserify/node_modules/crypto-browserify/example/index.html +12 -0
- data/node_modules/browserify/node_modules/crypto-browserify/example/test.js +4 -0
- data/node_modules/browserify/node_modules/crypto-browserify/index.js +74 -0
- data/node_modules/browserify/node_modules/crypto-browserify/md5.js +384 -0
- data/node_modules/browserify/node_modules/crypto-browserify/package.json +33 -0
- data/node_modules/browserify/node_modules/crypto-browserify/readme.markdown +20 -0
- data/node_modules/browserify/node_modules/crypto-browserify/rng.js +37 -0
- data/node_modules/browserify/node_modules/crypto-browserify/sha.js +210 -0
- data/node_modules/browserify/node_modules/crypto-browserify/test/simple.js +35 -0
- data/node_modules/browserify/node_modules/deputy/.travis.yml +4 -0
- data/node_modules/browserify/node_modules/deputy/README.markdown +55 -0
- data/node_modules/browserify/node_modules/deputy/example/cache.js +5 -0
- data/node_modules/browserify/node_modules/deputy/index.js +46 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.npmignore +2 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.travis.yml +5 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/LICENSE +21 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/examples/pow.js +6 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/index.js +82 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/package.json +34 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/readme.markdown +63 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/chmod.js +38 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/clobber.js +37 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/mkdirp.js +28 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/perm.js +32 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/perm_sync.js +39 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/race.js +41 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/rel.js +32 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/return.js +25 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/return_sync.js +24 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/root.js +18 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/sync.js +32 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/umask.js +28 -0
- data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/umask_sync.js +32 -0
- data/node_modules/browserify/node_modules/deputy/package.json +47 -0
- data/node_modules/browserify/node_modules/deputy/test/cache.js +58 -0
- data/node_modules/browserify/node_modules/detective/.travis.yml +4 -0
- data/node_modules/browserify/node_modules/detective/README.markdown +66 -0
- data/node_modules/browserify/node_modules/detective/example/strings.js +6 -0
- data/node_modules/browserify/node_modules/detective/example/strings_src.js +3 -0
- data/node_modules/browserify/node_modules/detective/index.js +60 -0
- data/node_modules/browserify/node_modules/detective/node_modules/.bin/esparse +42 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/.travis.yml +5 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/LICENSE.BSD +19 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/README.md +74 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/codemirror/codemirror.css +112 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/codemirror/codemirror.js +2972 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/codemirror/javascript.js +360 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/json2.js +487 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/style.css +164 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/treeview-min.js +12 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/treeview-sprite.gif +0 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/treeview.css +7 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/yahoo-dom-event.js +14 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/bin/esparse.js +42 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/changes +92 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/cm +696 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/checkenv.js +42 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/collector.html +82 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/collector.js +170 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/functiontrace.html +106 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/functiontrace.js +123 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/parse.css +82 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/parse.html +352 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/precedence.html +225 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/rewrite.html +120 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/rewrite.js +71 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/esprima.js +3577 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/index.html +103 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/package.json +42 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/Tokenizer.js +646 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/XMLHttpRequest.js +509 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/ZeParser.js +2185 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/backbone-0.5.3.js +1158 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/benchmark.js +3261 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/escodegen.js +906 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/esmorph.js +240 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/ext-core-3.0.0.js +6579 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/ext-core-3.1.0.js +10255 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jquery-1.6.4.js +9046 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jquery-1.7.1.js +9266 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jquery.mobile-1.0.js +6951 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jsdefs.js +731 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jslex.js +588 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jsparse.js +1921 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/mootools-1.3.2.js +5952 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/mootools-1.4.1.js +6297 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/parse-js.js +1342 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/platform.js +878 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/prototype-1.6.1.js +4874 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/prototype-1.7.0.0.js +6082 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/underscore-1.2.3.js +981 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/benchmarks.html +58 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/benchmarks.js +328 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compare.html +140 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compare.js +270 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compat.html +40 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compat.js +239 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/coverage.footer.html +3 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/coverage.header.html +37 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/coverage.html +3617 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/index.html +36 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/reflect.js +403 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/run.js +66 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/test.js +16659 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/tools/generate-unicode-regex.py +164 -0
- data/node_modules/browserify/node_modules/detective/node_modules/esprima/tools/update-coverage.sh +28 -0
- data/node_modules/browserify/node_modules/detective/package.json +47 -0
- data/node_modules/browserify/node_modules/detective/test/both.js +11 -0
- data/node_modules/browserify/node_modules/detective/test/chained.js +9 -0
- data/node_modules/browserify/node_modules/detective/test/files/both.js +4 -0
- data/node_modules/browserify/node_modules/detective/test/files/chained.js +5 -0
- data/node_modules/browserify/node_modules/detective/test/files/nested.js +22 -0
- data/node_modules/browserify/node_modules/detective/test/files/skip.js +7 -0
- data/node_modules/browserify/node_modules/detective/test/files/strings.js +13 -0
- data/node_modules/browserify/node_modules/detective/test/files/word.js +13 -0
- data/node_modules/browserify/node_modules/detective/test/nested.js +9 -0
- data/node_modules/browserify/node_modules/detective/test/skip.js +9 -0
- data/node_modules/browserify/node_modules/detective/test/strings.js +9 -0
- data/node_modules/browserify/node_modules/detective/test/word.js +12 -0
- data/node_modules/browserify/node_modules/http-browserify/.npmignore +1 -0
- data/node_modules/browserify/node_modules/http-browserify/example/get/index.html +9 -0
- data/node_modules/browserify/node_modules/http-browserify/example/get/main.js +14 -0
- data/node_modules/browserify/node_modules/http-browserify/example/get/server.js +12 -0
- data/node_modules/browserify/node_modules/http-browserify/example/headers/index.html +9 -0
- data/node_modules/browserify/node_modules/http-browserify/example/headers/main.js +18 -0
- data/node_modules/browserify/node_modules/http-browserify/example/headers/server.js +15 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/data.json +139 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/index.html +9 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/main.js +13 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/.npmignore +2 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/.travis.yml +4 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/LICENSE.APACHE2 +15 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/LICENSE.MIT +24 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/examples/all_docs.js +13 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/index.js +189 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/LICENSE +24 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/README.markdown +11 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/bench.js +26 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/examples/twitterfeed.js +30 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/jsonparse.js +379 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/package.json +36 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/samplejson/basic.json +167 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/samplejson/basic2.json +180 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/test/primitives.js +54 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/test/utf8.js +38 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/package.json +40 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/readme.markdown +145 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/bool.js +41 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/destroy_missing.js +22 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/empty.js +44 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/fixtures/all_npm.json +4030 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/fn.js +39 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/memory.js +69 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/multiple_objects.js +42 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/multiple_objects_error.js +35 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/parsejson.js +28 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/stringify.js +41 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/stringify_object.js +47 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/test.js +35 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/test2.js +29 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/two-ways.js +41 -0
- data/node_modules/browserify/node_modules/http-browserify/example/json-stream/server.js +10 -0
- data/node_modules/browserify/node_modules/http-browserify/example/post/index.html +9 -0
- data/node_modules/browserify/node_modules/http-browserify/example/post/main.js +16 -0
- data/node_modules/browserify/node_modules/http-browserify/example/post/server.js +19 -0
- data/node_modules/browserify/node_modules/http-browserify/example/streaming/index.html +9 -0
- data/node_modules/browserify/node_modules/http-browserify/example/streaming/main.js +16 -0
- data/node_modules/browserify/node_modules/http-browserify/example/streaming/server.js +21 -0
- data/node_modules/browserify/node_modules/http-browserify/index.js +59 -0
- data/node_modules/browserify/node_modules/http-browserify/lib/request.js +128 -0
- data/node_modules/browserify/node_modules/http-browserify/lib/response.js +119 -0
- data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/index.js +48 -0
- data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/package.json +30 -0
- data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/readme.md +31 -0
- data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/test.js +34 -0
- data/node_modules/browserify/node_modules/http-browserify/package.json +46 -0
- data/node_modules/browserify/node_modules/http-browserify/readme.markdown +128 -0
- data/node_modules/browserify/node_modules/nub/README.markdown +23 -0
- data/node_modules/browserify/node_modules/nub/index.js +64 -0
- data/node_modules/browserify/node_modules/nub/package.json +46 -0
- data/node_modules/browserify/node_modules/nub/test/by.js +51 -0
- data/node_modules/browserify/node_modules/nub/test/nub.js +46 -0
- data/node_modules/browserify/node_modules/resolve/.travis.yml +4 -0
- data/node_modules/browserify/node_modules/resolve/LICENSE +18 -0
- data/node_modules/browserify/node_modules/resolve/README.markdown +47 -0
- data/node_modules/browserify/node_modules/resolve/index.js +106 -0
- data/node_modules/browserify/node_modules/resolve/package.json +45 -0
- data/node_modules/browserify/node_modules/resolve/test/core.js +12 -0
- data/node_modules/browserify/node_modules/resolve/test/filter.js +15 -0
- data/node_modules/browserify/node_modules/resolve/test/mock.js +64 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver.js +157 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js +1 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/baz/doom.js +0 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/baz/package.json +3 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/baz/quux.js +1 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js +1 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js +1 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/cup.coffee +1 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/foo.js +1 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/mug.coffee +0 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/mug.js +0 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
- data/node_modules/browserify/node_modules/resolve/test/resolver/other_path/root.js +0 -0
- data/node_modules/browserify/node_modules/syntax-error/.travis.yml +4 -0
- data/node_modules/browserify/node_modules/syntax-error/LICENSE +18 -0
- data/node_modules/browserify/node_modules/syntax-error/example/check.js +12 -0
- data/node_modules/browserify/node_modules/syntax-error/example/src.js +9 -0
- data/node_modules/browserify/node_modules/syntax-error/index.js +54 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/.bin/esparse +42 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/.travis.yml +5 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/LICENSE.BSD +19 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/README.md +74 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/codemirror/codemirror.css +112 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/codemirror/codemirror.js +2972 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/codemirror/javascript.js +360 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/json2.js +487 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/style.css +164 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/treeview-min.js +12 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/treeview-sprite.gif +0 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/treeview.css +7 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/yahoo-dom-event.js +14 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/bin/esparse.js +42 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/changes +92 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/cm +696 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/checkenv.js +42 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/collector.html +82 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/collector.js +170 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/functiontrace.html +106 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/functiontrace.js +123 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/parse.css +82 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/parse.html +352 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/precedence.html +225 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/rewrite.html +120 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/rewrite.js +71 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/esprima.js +3577 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/index.html +103 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/package.json +42 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/Tokenizer.js +646 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/XMLHttpRequest.js +509 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/ZeParser.js +2185 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/backbone-0.5.3.js +1158 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/benchmark.js +3261 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/escodegen.js +906 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/esmorph.js +240 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/ext-core-3.0.0.js +6579 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/ext-core-3.1.0.js +10255 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jquery-1.6.4.js +9046 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jquery-1.7.1.js +9266 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jquery.mobile-1.0.js +6951 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jsdefs.js +731 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jslex.js +588 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jsparse.js +1921 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/mootools-1.3.2.js +5952 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/mootools-1.4.1.js +6297 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/parse-js.js +1342 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/platform.js +878 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/prototype-1.6.1.js +4874 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/prototype-1.7.0.0.js +6082 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/underscore-1.2.3.js +981 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/benchmarks.html +58 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/benchmarks.js +328 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compare.html +140 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compare.js +270 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compat.html +40 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compat.js +239 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/coverage.footer.html +3 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/coverage.header.html +37 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/coverage.html +3617 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/index.html +36 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/reflect.js +403 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/run.js +66 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/test.js +16659 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/tools/generate-unicode-regex.py +164 -0
- data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/tools/update-coverage.sh +28 -0
- data/node_modules/browserify/node_modules/syntax-error/package.json +49 -0
- data/node_modules/browserify/node_modules/syntax-error/readme.markdown +87 -0
- data/node_modules/browserify/node_modules/syntax-error/test/check.js +17 -0
- data/node_modules/browserify/node_modules/syntax-error/test/sources/check.js +9 -0
- data/node_modules/browserify/node_modules/vm-browserify/README.markdown +103 -0
- data/node_modules/browserify/node_modules/vm-browserify/example/run/bundle.js +473 -0
- data/node_modules/browserify/node_modules/vm-browserify/example/run/entry.js +6 -0
- data/node_modules/browserify/node_modules/vm-browserify/example/run/index.html +9 -0
- data/node_modules/browserify/node_modules/vm-browserify/example/run/server.js +6 -0
- data/node_modules/browserify/node_modules/vm-browserify/index.js +85 -0
- data/node_modules/browserify/node_modules/vm-browserify/package.json +43 -0
- data/node_modules/browserify/node_modules/vm-browserify/testling/run.js +22 -0
- data/node_modules/browserify/node_modules/vm-browserify/testling/test.sh +11 -0
- data/node_modules/browserify/package.json +78 -0
- data/node_modules/browserify/test/alias.js +58 -0
- data/node_modules/browserify/test/backbone.js +21 -0
- data/node_modules/browserify/test/bin.js +39 -0
- data/node_modules/browserify/test/buffer.js +99 -0
- data/node_modules/browserify/test/bundle.js +32 -0
- data/node_modules/browserify/test/cache.js +28 -0
- data/node_modules/browserify/test/coffee.js +39 -0
- data/node_modules/browserify/test/coffee/bar.js +1 -0
- data/node_modules/browserify/test/coffee/baz.coffee +1 -0
- data/node_modules/browserify/test/coffee/entry.coffee +1 -0
- data/node_modules/browserify/test/coffee/foo.coffee +1 -0
- data/node_modules/browserify/test/coffee/index.coffee +5 -0
- data/node_modules/browserify/test/coffee/nested/nested.coffee +2 -0
- data/node_modules/browserify/test/comment.js +17 -0
- data/node_modules/browserify/test/comment/main.js +2 -0
- data/node_modules/browserify/test/crypto.js +37 -0
- data/node_modules/browserify/test/dnode.js +27 -0
- data/node_modules/browserify/test/dollar.js +19 -0
- data/node_modules/browserify/test/dollar/dollar/index.js +7 -0
- data/node_modules/browserify/test/entry.js +36 -0
- data/node_modules/browserify/test/entry/main.js +1 -0
- data/node_modules/browserify/test/entry/one.js +1 -0
- data/node_modules/browserify/test/entry/two.js +1 -0
- data/node_modules/browserify/test/error_code.js +24 -0
- data/node_modules/browserify/test/error_code/src.js +2 -0
- data/node_modules/browserify/test/export.js +52 -0
- data/node_modules/browserify/test/export/entry.js +1 -0
- data/node_modules/browserify/test/field.js +64 -0
- data/node_modules/browserify/test/field/miss.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-miss/browser.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-miss/main.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-miss/package.json +4 -0
- data/node_modules/browserify/test/field/node_modules/z-object/browser.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-object/main.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-object/package.json +6 -0
- data/node_modules/browserify/test/field/node_modules/z-string/browser.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-string/main.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-string/package.json +4 -0
- data/node_modules/browserify/test/field/node_modules/z-sub/browser/a.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-sub/browser/b.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-sub/main.js +1 -0
- data/node_modules/browserify/test/field/node_modules/z-sub/package.json +4 -0
- data/node_modules/browserify/test/field/object.js +1 -0
- data/node_modules/browserify/test/field/string.js +1 -0
- data/node_modules/browserify/test/field/sub.js +1 -0
- data/node_modules/browserify/test/global.js +19 -0
- data/node_modules/browserify/test/global/main.js +2 -0
- data/node_modules/browserify/test/jade.js +35 -0
- data/node_modules/browserify/test/json.js +17 -0
- data/node_modules/browserify/test/json/beep.json +4 -0
- data/node_modules/browserify/test/json/main.js +1 -0
- data/node_modules/browserify/test/maxlisteners.js +8 -0
- data/node_modules/browserify/test/module.js +22 -0
- data/node_modules/browserify/test/multi_entry.js +20 -0
- data/node_modules/browserify/test/multi_entry/a.js +2 -0
- data/node_modules/browserify/test/multi_entry/b.js +2 -0
- data/node_modules/browserify/test/multi_entry/c.js +3 -0
- data/node_modules/browserify/test/multi_ignore.js +23 -0
- data/node_modules/browserify/test/node_modules/beep/index.js +1 -0
- data/node_modules/browserify/test/require_cache.js +18 -0
- data/node_modules/browserify/test/retarget.js +27 -0
- data/node_modules/browserify/test/seq.js +47 -0
- data/node_modules/browserify/test/subdep.js +26 -0
- data/node_modules/browserify/test/subdep/index.js +1 -0
- data/node_modules/browserify/test/subdep/package.json +6 -0
- data/node_modules/browserify/test/util.js +48 -0
- data/node_modules/browserify/test/watch.js +91 -0
- data/node_modules/browserify/test/watch/a.js +1 -0
- data/node_modules/browserify/test/wrap.js +43 -0
- data/node_modules/browserify/test/wrap/a.js +2 -0
- data/node_modules/browserify/test/wrap/c.js +1 -0
- data/node_modules/browserify/test/wrap/node_modules/b/main.js +1 -0
- data/node_modules/browserify/test/wrap/node_modules/b/package.json +3 -0
- data/node_modules/browserify/test/wrap/node_modules/skipmetoo/index.js +1 -0
- data/node_modules/browserify/test/wrap/skipme.js +1 -0
- data/node_modules/browserify/test/wrap/x.js +0 -0
- data/node_modules/browserify/testling/README.markdown +29 -0
- data/node_modules/browserify/testling/test.sh +37 -0
- data/node_modules/browserify/testling/tick.js +9 -0
- data/node_modules/browserify/testling/timers.js +50 -0
- data/node_modules/browserify/testling/util.js +24 -0
- data/node_modules/browserify/v2.markdown +41 -0
- data/node_modules/browserify/wrappers/alias.js +1 -0
- data/node_modules/browserify/wrappers/body.js +2 -0
- data/node_modules/browserify/wrappers/body_debug.js +2 -0
- data/node_modules/browserify/wrappers/entry.js +3 -0
- data/node_modules/browserify/wrappers/entry_debug.js +3 -0
- data/node_modules/browserify/wrappers/package.js +3 -0
- data/node_modules/browserify/wrappers/prelude.js +196 -0
- data/node_modules/coffee-script/.npmignore +11 -0
- data/node_modules/coffee-script/CNAME +1 -0
- data/node_modules/coffee-script/CONTRIBUTING.md +9 -0
- data/node_modules/coffee-script/LICENSE +22 -0
- data/node_modules/coffee-script/README +51 -0
- data/node_modules/coffee-script/Rakefile +78 -0
- data/node_modules/coffee-script/bin/cake +7 -0
- data/node_modules/coffee-script/bin/coffee +7 -0
- data/node_modules/coffee-script/extras/jsl.conf +44 -0
- data/node_modules/coffee-script/lib/coffee-script/browser.js +92 -0
- data/node_modules/coffee-script/lib/coffee-script/cake.js +113 -0
- data/node_modules/coffee-script/lib/coffee-script/coffee-script.js +171 -0
- data/node_modules/coffee-script/lib/coffee-script/command.js +502 -0
- data/node_modules/coffee-script/lib/coffee-script/grammar.js +606 -0
- data/node_modules/coffee-script/lib/coffee-script/helpers.js +88 -0
- data/node_modules/coffee-script/lib/coffee-script/index.js +11 -0
- data/node_modules/coffee-script/lib/coffee-script/lexer.js +788 -0
- data/node_modules/coffee-script/lib/coffee-script/nodes.js +2971 -0
- data/node_modules/coffee-script/lib/coffee-script/optparse.js +138 -0
- data/node_modules/coffee-script/lib/coffee-script/parser.js +683 -0
- data/node_modules/coffee-script/lib/coffee-script/repl.js +276 -0
- data/node_modules/coffee-script/lib/coffee-script/rewriter.js +349 -0
- data/node_modules/coffee-script/lib/coffee-script/scope.js +146 -0
- data/node_modules/coffee-script/package.json +50 -0
- data/node_modules/jade-runtime/.npmignore +15 -0
- data/node_modules/jade-runtime/README.md +8 -0
- data/node_modules/jade-runtime/globals.js +32 -0
- data/node_modules/jade-runtime/index.js +2 -0
- data/node_modules/jade-runtime/jade-runtime.js +181 -0
- data/node_modules/jade-runtime/package.json +18 -0
- data/node_modules/jade/.npmignore +14 -0
- data/node_modules/jade/LICENSE +22 -0
- data/node_modules/jade/Readme.md +1299 -0
- data/node_modules/jade/bin/jade +168 -0
- data/node_modules/jade/index.js +4 -0
- data/node_modules/jade/jade.js +3586 -0
- data/node_modules/jade/jade.md +510 -0
- data/node_modules/jade/jade.min.js +2 -0
- data/node_modules/jade/lib/compiler.js +654 -0
- data/node_modules/jade/lib/doctypes.js +18 -0
- data/node_modules/jade/lib/filters.js +97 -0
- data/node_modules/jade/lib/inline-tags.js +28 -0
- data/node_modules/jade/lib/jade.js +253 -0
- data/node_modules/jade/lib/lexer.js +774 -0
- data/node_modules/jade/lib/nodes/attrs.js +77 -0
- data/node_modules/jade/lib/nodes/block-comment.js +33 -0
- data/node_modules/jade/lib/nodes/block.js +122 -0
- data/node_modules/jade/lib/nodes/case.js +43 -0
- data/node_modules/jade/lib/nodes/code.js +35 -0
- data/node_modules/jade/lib/nodes/comment.js +32 -0
- data/node_modules/jade/lib/nodes/doctype.js +29 -0
- data/node_modules/jade/lib/nodes/each.js +35 -0
- data/node_modules/jade/lib/nodes/filter.js +35 -0
- data/node_modules/jade/lib/nodes/index.js +20 -0
- data/node_modules/jade/lib/nodes/literal.js +32 -0
- data/node_modules/jade/lib/nodes/mixin.js +36 -0
- data/node_modules/jade/lib/nodes/node.js +25 -0
- data/node_modules/jade/lib/nodes/tag.js +95 -0
- data/node_modules/jade/lib/nodes/text.js +36 -0
- data/node_modules/jade/lib/parser.js +714 -0
- data/node_modules/jade/lib/runtime.js +174 -0
- data/node_modules/jade/lib/self-closing.js +19 -0
- data/node_modules/jade/lib/utils.js +49 -0
- data/node_modules/jade/node_modules/commander/.npmignore +4 -0
- data/node_modules/jade/node_modules/commander/.travis.yml +4 -0
- data/node_modules/jade/node_modules/commander/History.md +107 -0
- data/node_modules/jade/node_modules/commander/Makefile +7 -0
- data/node_modules/jade/node_modules/commander/Readme.md +262 -0
- data/node_modules/jade/node_modules/commander/index.js +2 -0
- data/node_modules/jade/node_modules/commander/lib/commander.js +1026 -0
- data/node_modules/jade/node_modules/commander/package.json +39 -0
- data/node_modules/jade/node_modules/mkdirp/.npmignore +2 -0
- data/node_modules/jade/node_modules/mkdirp/.travis.yml +4 -0
- data/node_modules/jade/node_modules/mkdirp/LICENSE +21 -0
- data/node_modules/jade/node_modules/mkdirp/README.markdown +61 -0
- data/node_modules/jade/node_modules/mkdirp/examples/pow.js +6 -0
- data/node_modules/jade/node_modules/mkdirp/index.js +82 -0
- data/node_modules/jade/node_modules/mkdirp/package.json +37 -0
- data/node_modules/jade/node_modules/mkdirp/test/chmod.js +38 -0
- data/node_modules/jade/node_modules/mkdirp/test/clobber.js +37 -0
- data/node_modules/jade/node_modules/mkdirp/test/mkdirp.js +28 -0
- data/node_modules/jade/node_modules/mkdirp/test/perm.js +32 -0
- data/node_modules/jade/node_modules/mkdirp/test/perm_sync.js +39 -0
- data/node_modules/jade/node_modules/mkdirp/test/race.js +41 -0
- data/node_modules/jade/node_modules/mkdirp/test/rel.js +32 -0
- data/node_modules/jade/node_modules/mkdirp/test/return.js +25 -0
- data/node_modules/jade/node_modules/mkdirp/test/return_sync.js +24 -0
- data/node_modules/jade/node_modules/mkdirp/test/root.js +18 -0
- data/node_modules/jade/node_modules/mkdirp/test/sync.js +32 -0
- data/node_modules/jade/node_modules/mkdirp/test/umask.js +28 -0
- data/node_modules/jade/node_modules/mkdirp/test/umask_sync.js +32 -0
- data/node_modules/jade/package.json +53 -0
- data/node_modules/jade/runtime.js +179 -0
- data/node_modules/jade/runtime.min.js +1 -0
- data/node_modules/jade/test.jade +7 -0
- data/node_modules/jade/testing/head.jade +5 -0
- data/node_modules/jade/testing/index.jade +1 -0
- data/node_modules/jade/testing/index.js +14 -0
- data/node_modules/jade/testing/layout.jade +10 -0
- data/node_modules/jade/testing/user.jade +7 -0
- data/node_modules/jade/testing/user.js +27 -0
- data/node_modules/optimist/.travis.yml +4 -0
- data/node_modules/optimist/LICENSE +21 -0
- data/node_modules/optimist/README.markdown +487 -0
- data/node_modules/optimist/example/bool.js +10 -0
- data/node_modules/optimist/example/boolean_double.js +7 -0
- data/node_modules/optimist/example/boolean_single.js +7 -0
- data/node_modules/optimist/example/default_hash.js +8 -0
- data/node_modules/optimist/example/default_singles.js +7 -0
- data/node_modules/optimist/example/divide.js +8 -0
- data/node_modules/optimist/example/line_count.js +20 -0
- data/node_modules/optimist/example/line_count_options.js +29 -0
- data/node_modules/optimist/example/line_count_wrap.js +29 -0
- data/node_modules/optimist/example/nonopt.js +4 -0
- data/node_modules/optimist/example/reflect.js +2 -0
- data/node_modules/optimist/example/short.js +3 -0
- data/node_modules/optimist/example/string.js +11 -0
- data/node_modules/optimist/example/usage-options.js +19 -0
- data/node_modules/optimist/example/xup.js +10 -0
- data/node_modules/optimist/index.js +475 -0
- data/node_modules/optimist/node_modules/wordwrap/.npmignore +1 -0
- data/node_modules/optimist/node_modules/wordwrap/README.markdown +70 -0
- data/node_modules/optimist/node_modules/wordwrap/example/center.js +10 -0
- data/node_modules/optimist/node_modules/wordwrap/example/meat.js +3 -0
- data/node_modules/optimist/node_modules/wordwrap/index.js +76 -0
- data/node_modules/optimist/node_modules/wordwrap/package.json +45 -0
- data/node_modules/optimist/node_modules/wordwrap/test/break.js +30 -0
- data/node_modules/optimist/node_modules/wordwrap/test/idleness.txt +63 -0
- data/node_modules/optimist/node_modules/wordwrap/test/wrap.js +31 -0
- data/node_modules/optimist/package.json +55 -0
- data/node_modules/optimist/test/_.js +71 -0
- data/node_modules/optimist/test/_/argv.js +2 -0
- data/node_modules/optimist/test/_/bin.js +3 -0
- data/node_modules/optimist/test/parse.js +420 -0
- data/node_modules/optimist/test/usage.js +292 -0
- data/snowball.gemspec +1 -2
- metadata +601 -21
- data/extconf.rb +0 -9
@@ -0,0 +1,172 @@
|
|
1
|
+
browserify
|
2
|
+
==========
|
3
|
+
|
4
|
+
Make node-style require() work in the browser with a server-side build step,
|
5
|
+
as if by magic!
|
6
|
+
|
7
|
+
[![build status](https://secure.travis-ci.org/substack/node-browserify.png)](http://travis-ci.org/substack/node-browserify)
|
8
|
+
|
9
|
+
![browserify!](http://substack.net/images/browserify/browserify.png)
|
10
|
+
|
11
|
+
example
|
12
|
+
=======
|
13
|
+
|
14
|
+
Just write an `entry.js` to start with some `require()`s in it:
|
15
|
+
|
16
|
+
````javascript
|
17
|
+
// use relative requires
|
18
|
+
var foo = require('./foo');
|
19
|
+
var bar = require('../lib/bar');
|
20
|
+
|
21
|
+
// or use modules installed by npm into node_modules/
|
22
|
+
var gamma = require('gamma');
|
23
|
+
|
24
|
+
var elem = document.getElementById('result');
|
25
|
+
var x = foo(100) + bar('baz');
|
26
|
+
elem.textContent = gamma(x);
|
27
|
+
````
|
28
|
+
|
29
|
+
Now just use the `browserify` command to build a bundle starting at `entry.js`:
|
30
|
+
|
31
|
+
```
|
32
|
+
$ browserify entry.js -o bundle.js
|
33
|
+
```
|
34
|
+
|
35
|
+
All of the modules that `entry.js` needs are included in the final bundle from a
|
36
|
+
recursive walk using [detective](https://github.com/substack/node-detective).
|
37
|
+
|
38
|
+
To use the bundle, just toss a `<script src="bundle.js"></script>` into your
|
39
|
+
html!
|
40
|
+
|
41
|
+
usage
|
42
|
+
=====
|
43
|
+
|
44
|
+
````
|
45
|
+
Usage: browserify [entry files] {OPTIONS}
|
46
|
+
|
47
|
+
Options:
|
48
|
+
--outfile, -o Write the browserify bundle to this file.
|
49
|
+
If unspecified, browserify prints to stdout.
|
50
|
+
--require, -r A module name or file to bundle.require()
|
51
|
+
Optionally use a colon separator to set the target.
|
52
|
+
--entry, -e An entry point of your app
|
53
|
+
--exports Export these core objects, comma-separated list
|
54
|
+
with any of: require, process. If unspecified, the
|
55
|
+
export behavior will be inferred.
|
56
|
+
|
57
|
+
--ignore, -i Ignore a file
|
58
|
+
--alias, -a Register an alias with a colon separator: "to:from"
|
59
|
+
Example: --alias 'jquery:jquery-browserify'
|
60
|
+
--cache, -c Turn on caching at $HOME/.config/browserling/cache.json or use
|
61
|
+
a file for caching.
|
62
|
+
[default: true]
|
63
|
+
--debug, -d Switch on debugging mode with //@ sourceURL=...s. [boolean]
|
64
|
+
--plugin, -p Use a plugin.
|
65
|
+
Example: --plugin aliasify
|
66
|
+
--prelude Include the code that defines require() in this bundle.
|
67
|
+
[boolean] [default: true]
|
68
|
+
--watch, -w Watch for changes. The script will stay open and write updates
|
69
|
+
to the output every time any of the bundled files change.
|
70
|
+
This option only works in tandem with -o.
|
71
|
+
--verbose, -v Write out how many bytes were written in -o mode. This is
|
72
|
+
especially useful with --watch.
|
73
|
+
--help, -h Show this message
|
74
|
+
|
75
|
+
````
|
76
|
+
|
77
|
+
compatibility
|
78
|
+
=============
|
79
|
+
|
80
|
+
Many [npm](http://npmjs.org) modules that don't do IO will just work after being
|
81
|
+
browserified. Others take more work.
|
82
|
+
|
83
|
+
[coffee script](http://coffeescript.org/) should pretty much just work.
|
84
|
+
Just do `browserify entry.coffee` or `require('./foo.coffee')`.
|
85
|
+
|
86
|
+
Many node built-in modules have been wrapped to work in the browser.
|
87
|
+
All you need to do is `require()` them like in node.
|
88
|
+
|
89
|
+
* events
|
90
|
+
* path
|
91
|
+
* [vm](https://github.com/substack/vm-browserify)
|
92
|
+
* [http](https://github.com/substack/http-browserify)
|
93
|
+
* [crypto](https://github.com/dominictarr/crypto-browserify)
|
94
|
+
* assert
|
95
|
+
* url
|
96
|
+
* buffer
|
97
|
+
* buffer_ieee754
|
98
|
+
* util
|
99
|
+
* querystring
|
100
|
+
* stream
|
101
|
+
|
102
|
+
process
|
103
|
+
-------
|
104
|
+
|
105
|
+
Browserify makes available a faux `process` object to modules with these
|
106
|
+
attributes:
|
107
|
+
|
108
|
+
* nextTick(fn) - uses [the postMessage trick](http://dbaron.org/log/20100309-faster-timeouts)
|
109
|
+
for a faster `setTimeout(fn, 0)` if it can
|
110
|
+
* title - set to 'browser' for browser code, 'node' in regular node code
|
111
|
+
* browser - `true`, good for testing if you're in a browser or in node
|
112
|
+
|
113
|
+
By default the process object is only available inside of files wrapped by
|
114
|
+
browserify. To expose it, use `--exports=process`
|
115
|
+
|
116
|
+
__dirname
|
117
|
+
---------
|
118
|
+
|
119
|
+
The faux directory name, scrubbed of true directory information so as not to
|
120
|
+
expose your filesystem organization.
|
121
|
+
|
122
|
+
__filename
|
123
|
+
----------
|
124
|
+
|
125
|
+
The faux file path, scrubbed of true path information so as not to expose your
|
126
|
+
filesystem organization.
|
127
|
+
|
128
|
+
package.json
|
129
|
+
============
|
130
|
+
|
131
|
+
In order to resolve main files for projects, the package.json "main" field is
|
132
|
+
read.
|
133
|
+
|
134
|
+
If a package.json has a "browserify" field, you can override the standard "main"
|
135
|
+
behavior with something special just for browsers.
|
136
|
+
|
137
|
+
See [dnode's
|
138
|
+
package.json](https://github.com/substack/dnode/blob/9e24b97cf2ce931fbf6d7beb3731086b46bca887/package.json#L40)
|
139
|
+
for an example of using the "browserify" field.
|
140
|
+
|
141
|
+
more
|
142
|
+
====
|
143
|
+
|
144
|
+
* [browserify recipes](https://github.com/substack/node-browserify/blob/master/doc/recipes.markdown#recipes)
|
145
|
+
* [browserify api reference](https://github.com/substack/node-browserify/blob/master/doc/methods.markdown#methods)
|
146
|
+
* [browserify cdn](http://browserify.nodejitsu.com/)
|
147
|
+
|
148
|
+
install
|
149
|
+
=======
|
150
|
+
|
151
|
+
With [npm](http://npmjs.org) do:
|
152
|
+
|
153
|
+
```
|
154
|
+
npm install -g browserify
|
155
|
+
```
|
156
|
+
|
157
|
+
test
|
158
|
+
====
|
159
|
+
|
160
|
+
To run the node tests with tap, do:
|
161
|
+
|
162
|
+
```
|
163
|
+
npm test
|
164
|
+
```
|
165
|
+
|
166
|
+
To run the [testling](http://testling.com) tests,
|
167
|
+
create a [browserling](http://browserling.com) account then:
|
168
|
+
|
169
|
+
```
|
170
|
+
cd testling
|
171
|
+
./test.sh
|
172
|
+
```
|
@@ -0,0 +1,161 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
|
3
|
+
var browserify = require('../');
|
4
|
+
var fs = require('fs');
|
5
|
+
var resolve = require('resolve');
|
6
|
+
|
7
|
+
var argv = require('optimist')
|
8
|
+
.usage('Usage: browserify [entry files] {OPTIONS}')
|
9
|
+
.wrap(80)
|
10
|
+
.option('outfile', {
|
11
|
+
alias : 'o',
|
12
|
+
desc : 'Write the browserify bundle to this file.\n'
|
13
|
+
+ 'If unspecified, browserify prints to stdout.'
|
14
|
+
,
|
15
|
+
})
|
16
|
+
.option('require', {
|
17
|
+
alias : 'r',
|
18
|
+
desc : 'A module name or file to bundle.require()\n'
|
19
|
+
+ 'Optionally use a colon separator to set the target.'
|
20
|
+
,
|
21
|
+
})
|
22
|
+
.option('entry', {
|
23
|
+
alias : 'e',
|
24
|
+
desc : 'An entry point of your app'
|
25
|
+
})
|
26
|
+
.option('exports', {
|
27
|
+
desc : 'Export these core objects, comma-separated list\n'
|
28
|
+
+ 'with any of: require, process. If unspecified, the\n'
|
29
|
+
+ 'export behavior will be inferred.\n'
|
30
|
+
})
|
31
|
+
.option('ignore', {
|
32
|
+
alias : 'i',
|
33
|
+
desc : 'Ignore a file'
|
34
|
+
})
|
35
|
+
.option('alias', {
|
36
|
+
alias : 'a',
|
37
|
+
desc : 'Register an alias with a colon separator: "to:from"\n'
|
38
|
+
+ "Example: --alias 'jquery:jquery-browserify'"
|
39
|
+
,
|
40
|
+
})
|
41
|
+
.option('cache', {
|
42
|
+
alias : 'c',
|
43
|
+
desc : 'Turn on caching at $HOME/.config/browserling/cache.json '
|
44
|
+
+ 'or use a file for caching.\n',
|
45
|
+
default : true,
|
46
|
+
})
|
47
|
+
.option('debug', {
|
48
|
+
alias : 'd',
|
49
|
+
desc : 'Switch on debugging mode with //@ sourceURL=...s.',
|
50
|
+
type : 'boolean'
|
51
|
+
})
|
52
|
+
.option('plugin', {
|
53
|
+
alias : 'p',
|
54
|
+
desc : 'Use a plugin.\n'
|
55
|
+
+ 'Example: --plugin aliasify'
|
56
|
+
,
|
57
|
+
})
|
58
|
+
.option('prelude', {
|
59
|
+
default : true,
|
60
|
+
type : 'boolean',
|
61
|
+
desc : 'Include the code that defines require() in this bundle.'
|
62
|
+
})
|
63
|
+
.option('watch', {
|
64
|
+
alias : 'w',
|
65
|
+
desc : 'Watch for changes. The script will stay open and write updates '
|
66
|
+
+ 'to the output every time any of the bundled files change.\n'
|
67
|
+
+ 'This option only works in tandem with -o.'
|
68
|
+
,
|
69
|
+
})
|
70
|
+
.option('verbose', {
|
71
|
+
alias : 'v',
|
72
|
+
desc : 'Write out how many bytes were written in -o mode. '
|
73
|
+
+ 'This is especially useful with --watch.'
|
74
|
+
,
|
75
|
+
})
|
76
|
+
.option('help', {
|
77
|
+
alias : 'h',
|
78
|
+
desc : 'Show this message'
|
79
|
+
})
|
80
|
+
.check(function (argv) {
|
81
|
+
if (argv.help) throw ''
|
82
|
+
if (process.argv.length <= 2) throw 'Specify a parameter.'
|
83
|
+
})
|
84
|
+
.argv
|
85
|
+
;
|
86
|
+
|
87
|
+
var bundle = browserify({
|
88
|
+
watch : argv.watch,
|
89
|
+
cache : argv.cache,
|
90
|
+
debug : argv.debug,
|
91
|
+
exports : argv.exports && argv.exports.split(','),
|
92
|
+
});
|
93
|
+
|
94
|
+
bundle.on('syntaxError', function (err) {
|
95
|
+
console.error(err);
|
96
|
+
if (!argv.watch) {
|
97
|
+
process.exit(1);
|
98
|
+
}
|
99
|
+
});
|
100
|
+
|
101
|
+
if (argv.noprelude || argv.prelude === false) {
|
102
|
+
bundle.files = [];
|
103
|
+
bundle.prepends = [];
|
104
|
+
}
|
105
|
+
if (argv.ignore) bundle.ignore(argv.ignore);
|
106
|
+
|
107
|
+
([].concat(argv.plugin || [])).forEach(function (plugin) {
|
108
|
+
var resolved = resolve.sync(plugin, { basedir : process.cwd() });
|
109
|
+
bundle.use(require(resolved));
|
110
|
+
});
|
111
|
+
|
112
|
+
([].concat(argv.alias || [])).forEach(function (alias) {
|
113
|
+
if (!alias.match(/:/)) {
|
114
|
+
console.error('aliases require a colon separator');
|
115
|
+
process.exit();
|
116
|
+
}
|
117
|
+
bundle.alias.apply(bundle, alias.split(':'));
|
118
|
+
});
|
119
|
+
|
120
|
+
([].concat(argv.require || [])).forEach(function (req) {
|
121
|
+
if (req.match(/:/)) {
|
122
|
+
var s = req.split(':');
|
123
|
+
bundle.require(s[0], { target : s[1] });
|
124
|
+
return;
|
125
|
+
}
|
126
|
+
|
127
|
+
if (!/^[.\/]/.test(req)) {
|
128
|
+
try {
|
129
|
+
var res = resolve.sync(req, { basedir : process.cwd() });
|
130
|
+
}
|
131
|
+
catch (e) {
|
132
|
+
return bundle.require(req);
|
133
|
+
}
|
134
|
+
return bundle.require(res, { target : req });
|
135
|
+
}
|
136
|
+
bundle.require(req);
|
137
|
+
});
|
138
|
+
|
139
|
+
(argv._.concat(argv.entry || [])).forEach(function (entry) {
|
140
|
+
bundle.addEntry(entry);
|
141
|
+
});
|
142
|
+
|
143
|
+
if (argv.outfile) {
|
144
|
+
function write () {
|
145
|
+
var src = bundle.bundle();
|
146
|
+
if (!bundle.ok) return;
|
147
|
+
|
148
|
+
fs.writeFile(argv.outfile, src, function () {
|
149
|
+
if (argv.verbose) {
|
150
|
+
console.log(Buffer(src).length + ' bytes written');
|
151
|
+
}
|
152
|
+
});
|
153
|
+
}
|
154
|
+
|
155
|
+
write();
|
156
|
+
if (argv.watch) bundle.on('bundle', write)
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
var src = bundle.bundle();
|
160
|
+
if (bundle.ok) console.log(src);
|
161
|
+
}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
var process = module.exports = {};
|
2
|
+
|
3
|
+
process.nextTick = (function () {
|
4
|
+
var canSetImmediate = typeof window !== 'undefined'
|
5
|
+
&& window.setImmediate;
|
6
|
+
var canPost = typeof window !== 'undefined'
|
7
|
+
&& window.postMessage && window.addEventListener
|
8
|
+
;
|
9
|
+
|
10
|
+
if (canSetImmediate) {
|
11
|
+
return function (f) { return window.setImmediate(f) };
|
12
|
+
}
|
13
|
+
|
14
|
+
if (canPost) {
|
15
|
+
var queue = [];
|
16
|
+
window.addEventListener('message', function (ev) {
|
17
|
+
if (ev.source === window && ev.data === 'browserify-tick') {
|
18
|
+
ev.stopPropagation();
|
19
|
+
if (queue.length > 0) {
|
20
|
+
var fn = queue.shift();
|
21
|
+
fn();
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}, true);
|
25
|
+
|
26
|
+
return function nextTick(fn) {
|
27
|
+
queue.push(fn);
|
28
|
+
window.postMessage('browserify-tick', '*');
|
29
|
+
};
|
30
|
+
}
|
31
|
+
|
32
|
+
return function nextTick(fn) {
|
33
|
+
setTimeout(fn, 0);
|
34
|
+
};
|
35
|
+
})();
|
36
|
+
|
37
|
+
process.title = 'browser';
|
38
|
+
process.browser = true;
|
39
|
+
process.env = {};
|
40
|
+
process.argv = [];
|
41
|
+
|
42
|
+
process.binding = function (name) {
|
43
|
+
if (name === 'evals') return (require)('vm')
|
44
|
+
else throw new Error('No such module. (Possibly not yet loaded)')
|
45
|
+
};
|
46
|
+
|
47
|
+
(function () {
|
48
|
+
var cwd = '/';
|
49
|
+
var path;
|
50
|
+
process.cwd = function () { return cwd };
|
51
|
+
process.chdir = function (dir) {
|
52
|
+
if (!path) path = require('path');
|
53
|
+
cwd = path.resolve(dir, cwd);
|
54
|
+
};
|
55
|
+
})();
|
@@ -0,0 +1,314 @@
|
|
1
|
+
// UTILITY
|
2
|
+
var util = require('util');
|
3
|
+
var Buffer = require("buffer").Buffer;
|
4
|
+
var pSlice = Array.prototype.slice;
|
5
|
+
|
6
|
+
function objectKeys(object) {
|
7
|
+
if (Object.keys) return Object.keys(object);
|
8
|
+
var result = [];
|
9
|
+
for (var name in object) {
|
10
|
+
if (Object.prototype.hasOwnProperty.call(object, name)) {
|
11
|
+
result.push(name);
|
12
|
+
}
|
13
|
+
}
|
14
|
+
return result;
|
15
|
+
}
|
16
|
+
|
17
|
+
// 1. The assert module provides functions that throw
|
18
|
+
// AssertionError's when particular conditions are not met. The
|
19
|
+
// assert module must conform to the following interface.
|
20
|
+
|
21
|
+
var assert = module.exports = ok;
|
22
|
+
|
23
|
+
// 2. The AssertionError is defined in assert.
|
24
|
+
// new assert.AssertionError({ message: message,
|
25
|
+
// actual: actual,
|
26
|
+
// expected: expected })
|
27
|
+
|
28
|
+
assert.AssertionError = function AssertionError(options) {
|
29
|
+
this.name = 'AssertionError';
|
30
|
+
this.message = options.message;
|
31
|
+
this.actual = options.actual;
|
32
|
+
this.expected = options.expected;
|
33
|
+
this.operator = options.operator;
|
34
|
+
var stackStartFunction = options.stackStartFunction || fail;
|
35
|
+
|
36
|
+
if (Error.captureStackTrace) {
|
37
|
+
Error.captureStackTrace(this, stackStartFunction);
|
38
|
+
}
|
39
|
+
};
|
40
|
+
util.inherits(assert.AssertionError, Error);
|
41
|
+
|
42
|
+
function replacer(key, value) {
|
43
|
+
if (value === undefined) {
|
44
|
+
return '' + value;
|
45
|
+
}
|
46
|
+
if (typeof value === 'number' && (isNaN(value) || !isFinite(value))) {
|
47
|
+
return value.toString();
|
48
|
+
}
|
49
|
+
if (typeof value === 'function' || value instanceof RegExp) {
|
50
|
+
return value.toString();
|
51
|
+
}
|
52
|
+
return value;
|
53
|
+
}
|
54
|
+
|
55
|
+
function truncate(s, n) {
|
56
|
+
if (typeof s == 'string') {
|
57
|
+
return s.length < n ? s : s.slice(0, n);
|
58
|
+
} else {
|
59
|
+
return s;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
assert.AssertionError.prototype.toString = function() {
|
64
|
+
if (this.message) {
|
65
|
+
return [this.name + ':', this.message].join(' ');
|
66
|
+
} else {
|
67
|
+
return [
|
68
|
+
this.name + ':',
|
69
|
+
truncate(JSON.stringify(this.actual, replacer), 128),
|
70
|
+
this.operator,
|
71
|
+
truncate(JSON.stringify(this.expected, replacer), 128)
|
72
|
+
].join(' ');
|
73
|
+
}
|
74
|
+
};
|
75
|
+
|
76
|
+
// assert.AssertionError instanceof Error
|
77
|
+
|
78
|
+
assert.AssertionError.__proto__ = Error.prototype;
|
79
|
+
|
80
|
+
// At present only the three keys mentioned above are used and
|
81
|
+
// understood by the spec. Implementations or sub modules can pass
|
82
|
+
// other keys to the AssertionError's constructor - they will be
|
83
|
+
// ignored.
|
84
|
+
|
85
|
+
// 3. All of the following functions must throw an AssertionError
|
86
|
+
// when a corresponding condition is not met, with a message that
|
87
|
+
// may be undefined if not provided. All assertion methods provide
|
88
|
+
// both the actual and expected values to the assertion error for
|
89
|
+
// display purposes.
|
90
|
+
|
91
|
+
function fail(actual, expected, message, operator, stackStartFunction) {
|
92
|
+
throw new assert.AssertionError({
|
93
|
+
message: message,
|
94
|
+
actual: actual,
|
95
|
+
expected: expected,
|
96
|
+
operator: operator,
|
97
|
+
stackStartFunction: stackStartFunction
|
98
|
+
});
|
99
|
+
}
|
100
|
+
|
101
|
+
// EXTENSION! allows for well behaved errors defined elsewhere.
|
102
|
+
assert.fail = fail;
|
103
|
+
|
104
|
+
// 4. Pure assertion tests whether a value is truthy, as determined
|
105
|
+
// by !!guard.
|
106
|
+
// assert.ok(guard, message_opt);
|
107
|
+
// This statement is equivalent to assert.equal(true, guard,
|
108
|
+
// message_opt);. To test strictly for the value true, use
|
109
|
+
// assert.strictEqual(true, guard, message_opt);.
|
110
|
+
|
111
|
+
function ok(value, message) {
|
112
|
+
if (!!!value) fail(value, true, message, '==', assert.ok);
|
113
|
+
}
|
114
|
+
assert.ok = ok;
|
115
|
+
|
116
|
+
// 5. The equality assertion tests shallow, coercive equality with
|
117
|
+
// ==.
|
118
|
+
// assert.equal(actual, expected, message_opt);
|
119
|
+
|
120
|
+
assert.equal = function equal(actual, expected, message) {
|
121
|
+
if (actual != expected) fail(actual, expected, message, '==', assert.equal);
|
122
|
+
};
|
123
|
+
|
124
|
+
// 6. The non-equality assertion tests for whether two objects are not equal
|
125
|
+
// with != assert.notEqual(actual, expected, message_opt);
|
126
|
+
|
127
|
+
assert.notEqual = function notEqual(actual, expected, message) {
|
128
|
+
if (actual == expected) {
|
129
|
+
fail(actual, expected, message, '!=', assert.notEqual);
|
130
|
+
}
|
131
|
+
};
|
132
|
+
|
133
|
+
// 7. The equivalence assertion tests a deep equality relation.
|
134
|
+
// assert.deepEqual(actual, expected, message_opt);
|
135
|
+
|
136
|
+
assert.deepEqual = function deepEqual(actual, expected, message) {
|
137
|
+
if (!_deepEqual(actual, expected)) {
|
138
|
+
fail(actual, expected, message, 'deepEqual', assert.deepEqual);
|
139
|
+
}
|
140
|
+
};
|
141
|
+
|
142
|
+
function _deepEqual(actual, expected) {
|
143
|
+
// 7.1. All identical values are equivalent, as determined by ===.
|
144
|
+
if (actual === expected) {
|
145
|
+
return true;
|
146
|
+
|
147
|
+
} else if (Buffer.isBuffer(actual) && Buffer.isBuffer(expected)) {
|
148
|
+
if (actual.length != expected.length) return false;
|
149
|
+
|
150
|
+
for (var i = 0; i < actual.length; i++) {
|
151
|
+
if (actual[i] !== expected[i]) return false;
|
152
|
+
}
|
153
|
+
|
154
|
+
return true;
|
155
|
+
|
156
|
+
// 7.2. If the expected value is a Date object, the actual value is
|
157
|
+
// equivalent if it is also a Date object that refers to the same time.
|
158
|
+
} else if (actual instanceof Date && expected instanceof Date) {
|
159
|
+
return actual.getTime() === expected.getTime();
|
160
|
+
|
161
|
+
// 7.3. Other pairs that do not both pass typeof value == 'object',
|
162
|
+
// equivalence is determined by ==.
|
163
|
+
} else if (typeof actual != 'object' && typeof expected != 'object') {
|
164
|
+
return actual == expected;
|
165
|
+
|
166
|
+
// 7.4. For all other Object pairs, including Array objects, equivalence is
|
167
|
+
// determined by having the same number of owned properties (as verified
|
168
|
+
// with Object.prototype.hasOwnProperty.call), the same set of keys
|
169
|
+
// (although not necessarily the same order), equivalent values for every
|
170
|
+
// corresponding key, and an identical 'prototype' property. Note: this
|
171
|
+
// accounts for both named and indexed properties on Arrays.
|
172
|
+
} else {
|
173
|
+
return objEquiv(actual, expected);
|
174
|
+
}
|
175
|
+
}
|
176
|
+
|
177
|
+
function isUndefinedOrNull(value) {
|
178
|
+
return value === null || value === undefined;
|
179
|
+
}
|
180
|
+
|
181
|
+
function isArguments(object) {
|
182
|
+
return Object.prototype.toString.call(object) == '[object Arguments]';
|
183
|
+
}
|
184
|
+
|
185
|
+
function objEquiv(a, b) {
|
186
|
+
if (isUndefinedOrNull(a) || isUndefinedOrNull(b))
|
187
|
+
return false;
|
188
|
+
// an identical 'prototype' property.
|
189
|
+
if (a.prototype !== b.prototype) return false;
|
190
|
+
//~~~I've managed to break Object.keys through screwy arguments passing.
|
191
|
+
// Converting to array solves the problem.
|
192
|
+
if (isArguments(a)) {
|
193
|
+
if (!isArguments(b)) {
|
194
|
+
return false;
|
195
|
+
}
|
196
|
+
a = pSlice.call(a);
|
197
|
+
b = pSlice.call(b);
|
198
|
+
return _deepEqual(a, b);
|
199
|
+
}
|
200
|
+
try {
|
201
|
+
var ka = objectKeys(a),
|
202
|
+
kb = objectKeys(b),
|
203
|
+
key, i;
|
204
|
+
} catch (e) {//happens when one is a string literal and the other isn't
|
205
|
+
return false;
|
206
|
+
}
|
207
|
+
// having the same number of owned properties (keys incorporates
|
208
|
+
// hasOwnProperty)
|
209
|
+
if (ka.length != kb.length)
|
210
|
+
return false;
|
211
|
+
//the same set of keys (although not necessarily the same order),
|
212
|
+
ka.sort();
|
213
|
+
kb.sort();
|
214
|
+
//~~~cheap key test
|
215
|
+
for (i = ka.length - 1; i >= 0; i--) {
|
216
|
+
if (ka[i] != kb[i])
|
217
|
+
return false;
|
218
|
+
}
|
219
|
+
//equivalent values for every corresponding key, and
|
220
|
+
//~~~possibly expensive deep test
|
221
|
+
for (i = ka.length - 1; i >= 0; i--) {
|
222
|
+
key = ka[i];
|
223
|
+
if (!_deepEqual(a[key], b[key])) return false;
|
224
|
+
}
|
225
|
+
return true;
|
226
|
+
}
|
227
|
+
|
228
|
+
// 8. The non-equivalence assertion tests for any deep inequality.
|
229
|
+
// assert.notDeepEqual(actual, expected, message_opt);
|
230
|
+
|
231
|
+
assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
|
232
|
+
if (_deepEqual(actual, expected)) {
|
233
|
+
fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
|
234
|
+
}
|
235
|
+
};
|
236
|
+
|
237
|
+
// 9. The strict equality assertion tests strict equality, as determined by ===.
|
238
|
+
// assert.strictEqual(actual, expected, message_opt);
|
239
|
+
|
240
|
+
assert.strictEqual = function strictEqual(actual, expected, message) {
|
241
|
+
if (actual !== expected) {
|
242
|
+
fail(actual, expected, message, '===', assert.strictEqual);
|
243
|
+
}
|
244
|
+
};
|
245
|
+
|
246
|
+
// 10. The strict non-equality assertion tests for strict inequality, as
|
247
|
+
// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
|
248
|
+
|
249
|
+
assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
|
250
|
+
if (actual === expected) {
|
251
|
+
fail(actual, expected, message, '!==', assert.notStrictEqual);
|
252
|
+
}
|
253
|
+
};
|
254
|
+
|
255
|
+
function expectedException(actual, expected) {
|
256
|
+
if (!actual || !expected) {
|
257
|
+
return false;
|
258
|
+
}
|
259
|
+
|
260
|
+
if (expected instanceof RegExp) {
|
261
|
+
return expected.test(actual);
|
262
|
+
} else if (actual instanceof expected) {
|
263
|
+
return true;
|
264
|
+
} else if (expected.call({}, actual) === true) {
|
265
|
+
return true;
|
266
|
+
}
|
267
|
+
|
268
|
+
return false;
|
269
|
+
}
|
270
|
+
|
271
|
+
function _throws(shouldThrow, block, expected, message) {
|
272
|
+
var actual;
|
273
|
+
|
274
|
+
if (typeof expected === 'string') {
|
275
|
+
message = expected;
|
276
|
+
expected = null;
|
277
|
+
}
|
278
|
+
|
279
|
+
try {
|
280
|
+
block();
|
281
|
+
} catch (e) {
|
282
|
+
actual = e;
|
283
|
+
}
|
284
|
+
|
285
|
+
message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
|
286
|
+
(message ? ' ' + message : '.');
|
287
|
+
|
288
|
+
if (shouldThrow && !actual) {
|
289
|
+
fail('Missing expected exception' + message);
|
290
|
+
}
|
291
|
+
|
292
|
+
if (!shouldThrow && expectedException(actual, expected)) {
|
293
|
+
fail('Got unwanted exception' + message);
|
294
|
+
}
|
295
|
+
|
296
|
+
if ((shouldThrow && actual && expected &&
|
297
|
+
!expectedException(actual, expected)) || (!shouldThrow && actual)) {
|
298
|
+
throw actual;
|
299
|
+
}
|
300
|
+
}
|
301
|
+
|
302
|
+
// 11. Expected to throw an error:
|
303
|
+
// assert.throws(block, Error_opt, message_opt);
|
304
|
+
|
305
|
+
assert.throws = function(block, /*optional*/error, /*optional*/message) {
|
306
|
+
_throws.apply(this, [true].concat(pSlice.call(arguments)));
|
307
|
+
};
|
308
|
+
|
309
|
+
// EXTENSION! This is annoying to write outside this module.
|
310
|
+
assert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {
|
311
|
+
_throws.apply(this, [false].concat(pSlice.call(arguments)));
|
312
|
+
};
|
313
|
+
|
314
|
+
assert.ifError = function(err) { if (err) {throw err;}};
|