snowball 0.1.21 → 0.1.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (589) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +1 -3
  3. data/{lib/snowball → bin}/roll.js +0 -0
  4. data/lib/snowball/roller.rb +1 -1
  5. data/lib/snowball/version.rb +1 -1
  6. data/node_modules/.bin/browserify +161 -0
  7. data/node_modules/.bin/cake +7 -0
  8. data/node_modules/.bin/coffee +7 -0
  9. data/node_modules/.bin/jade +168 -0
  10. data/node_modules/browserify/.travis.yml +4 -0
  11. data/node_modules/browserify/LICENSE +63 -0
  12. data/node_modules/browserify/README.markdown +172 -0
  13. data/node_modules/browserify/bin/cmd.js +161 -0
  14. data/node_modules/browserify/builtins/__browserify_process.js +55 -0
  15. data/node_modules/browserify/builtins/assert.js +314 -0
  16. data/node_modules/browserify/builtins/child_process.js +2 -0
  17. data/node_modules/browserify/builtins/events.js +178 -0
  18. data/node_modules/browserify/builtins/fs.js +1 -0
  19. data/node_modules/browserify/builtins/https.js +1 -0
  20. data/node_modules/browserify/builtins/net.js +1 -0
  21. data/node_modules/browserify/builtins/path.js +175 -0
  22. data/node_modules/browserify/builtins/querystring.js +250 -0
  23. data/node_modules/browserify/builtins/stream.js +119 -0
  24. data/node_modules/browserify/builtins/string_decoder.js +161 -0
  25. data/node_modules/browserify/builtins/sys.js +1 -0
  26. data/node_modules/browserify/builtins/timers.js +39 -0
  27. data/node_modules/browserify/builtins/tls.js +1 -0
  28. data/node_modules/browserify/builtins/tty.js +2 -0
  29. data/node_modules/browserify/builtins/url.js +604 -0
  30. data/node_modules/browserify/builtins/util.js +351 -0
  31. data/node_modules/browserify/example/debug/browserify.js +219 -0
  32. data/node_modules/browserify/example/debug/build.sh +3 -0
  33. data/node_modules/browserify/example/debug/index.html +7 -0
  34. data/node_modules/browserify/example/debug/js/entry.js +2 -0
  35. data/node_modules/browserify/example/debug/js/thrower.js +3 -0
  36. data/node_modules/browserify/example/debug/server.js +9 -0
  37. data/node_modules/browserify/example/simple-build/browserify.js +368 -0
  38. data/node_modules/browserify/example/simple-build/build.sh +3 -0
  39. data/node_modules/browserify/example/simple-build/index.html +9 -0
  40. data/node_modules/browserify/example/simple-build/js/bar.js +3 -0
  41. data/node_modules/browserify/example/simple-build/js/entry.js +5 -0
  42. data/node_modules/browserify/example/simple-build/js/foo.js +5 -0
  43. data/node_modules/browserify/example/simple-build/server.js +9 -0
  44. data/node_modules/browserify/example/test/b.js +5 -0
  45. data/node_modules/browserify/example/test/bar.js +3 -0
  46. data/node_modules/browserify/example/test/foo.js +3 -0
  47. data/node_modules/browserify/example/test/m.js +3 -0
  48. data/node_modules/browserify/example/test/n.js +3 -0
  49. data/node_modules/browserify/example/using-http/bundle.js +813 -0
  50. data/node_modules/browserify/example/using-http/entry.js +25 -0
  51. data/node_modules/browserify/example/using-http/index.html +9 -0
  52. data/node_modules/browserify/example/using-http/server.js +28 -0
  53. data/node_modules/browserify/index.js +202 -0
  54. data/node_modules/browserify/lib/watch.js +75 -0
  55. data/node_modules/browserify/lib/wrap.js +580 -0
  56. data/node_modules/browserify/lib/wrappers.js +10 -0
  57. data/node_modules/browserify/node_modules/buffer-browserify/.npmignore +1 -0
  58. data/node_modules/browserify/node_modules/buffer-browserify/README.md +11 -0
  59. data/node_modules/browserify/node_modules/buffer-browserify/buffer_ieee754.js +84 -0
  60. data/node_modules/browserify/node_modules/buffer-browserify/index.js +1317 -0
  61. data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/README.md +14 -0
  62. data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/lib/b64.js +84 -0
  63. data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/package.json +30 -0
  64. data/node_modules/browserify/node_modules/buffer-browserify/node_modules/base64-js/test/runner.js +50 -0
  65. data/node_modules/browserify/node_modules/buffer-browserify/package.json +46 -0
  66. data/node_modules/browserify/node_modules/buffer-browserify/test/buffer.js +218 -0
  67. data/node_modules/browserify/node_modules/commondir/README.markdown +45 -0
  68. data/node_modules/browserify/node_modules/commondir/example/base.js +3 -0
  69. data/node_modules/browserify/node_modules/commondir/example/dir.js +3 -0
  70. data/node_modules/browserify/node_modules/commondir/index.js +29 -0
  71. data/node_modules/browserify/node_modules/commondir/package.json +47 -0
  72. data/node_modules/browserify/node_modules/commondir/test/dirs.js +66 -0
  73. data/node_modules/browserify/node_modules/crypto-browserify/.travis.yml +4 -0
  74. data/node_modules/browserify/node_modules/crypto-browserify/example/bundle.js +637 -0
  75. data/node_modules/browserify/node_modules/crypto-browserify/example/index.html +12 -0
  76. data/node_modules/browserify/node_modules/crypto-browserify/example/test.js +4 -0
  77. data/node_modules/browserify/node_modules/crypto-browserify/index.js +74 -0
  78. data/node_modules/browserify/node_modules/crypto-browserify/md5.js +384 -0
  79. data/node_modules/browserify/node_modules/crypto-browserify/package.json +33 -0
  80. data/node_modules/browserify/node_modules/crypto-browserify/readme.markdown +20 -0
  81. data/node_modules/browserify/node_modules/crypto-browserify/rng.js +37 -0
  82. data/node_modules/browserify/node_modules/crypto-browserify/sha.js +210 -0
  83. data/node_modules/browserify/node_modules/crypto-browserify/test/simple.js +35 -0
  84. data/node_modules/browserify/node_modules/deputy/.travis.yml +4 -0
  85. data/node_modules/browserify/node_modules/deputy/README.markdown +55 -0
  86. data/node_modules/browserify/node_modules/deputy/example/cache.js +5 -0
  87. data/node_modules/browserify/node_modules/deputy/index.js +46 -0
  88. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.npmignore +2 -0
  89. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/.travis.yml +5 -0
  90. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/LICENSE +21 -0
  91. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/examples/pow.js +6 -0
  92. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/index.js +82 -0
  93. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/package.json +34 -0
  94. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/readme.markdown +63 -0
  95. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/chmod.js +38 -0
  96. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/clobber.js +37 -0
  97. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/mkdirp.js +28 -0
  98. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/perm.js +32 -0
  99. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/perm_sync.js +39 -0
  100. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/race.js +41 -0
  101. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/rel.js +32 -0
  102. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/return.js +25 -0
  103. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/return_sync.js +24 -0
  104. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/root.js +18 -0
  105. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/sync.js +32 -0
  106. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/umask.js +28 -0
  107. data/node_modules/browserify/node_modules/deputy/node_modules/mkdirp/test/umask_sync.js +32 -0
  108. data/node_modules/browserify/node_modules/deputy/package.json +47 -0
  109. data/node_modules/browserify/node_modules/deputy/test/cache.js +58 -0
  110. data/node_modules/browserify/node_modules/detective/.travis.yml +4 -0
  111. data/node_modules/browserify/node_modules/detective/README.markdown +66 -0
  112. data/node_modules/browserify/node_modules/detective/example/strings.js +6 -0
  113. data/node_modules/browserify/node_modules/detective/example/strings_src.js +3 -0
  114. data/node_modules/browserify/node_modules/detective/index.js +60 -0
  115. data/node_modules/browserify/node_modules/detective/node_modules/.bin/esparse +42 -0
  116. data/node_modules/browserify/node_modules/detective/node_modules/esprima/.travis.yml +5 -0
  117. data/node_modules/browserify/node_modules/detective/node_modules/esprima/LICENSE.BSD +19 -0
  118. data/node_modules/browserify/node_modules/detective/node_modules/esprima/README.md +74 -0
  119. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/codemirror/codemirror.css +112 -0
  120. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/codemirror/codemirror.js +2972 -0
  121. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/codemirror/javascript.js +360 -0
  122. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/json2.js +487 -0
  123. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/style.css +164 -0
  124. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/treeview-min.js +12 -0
  125. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/treeview-sprite.gif +0 -0
  126. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/treeview.css +7 -0
  127. data/node_modules/browserify/node_modules/detective/node_modules/esprima/assets/yui/yahoo-dom-event.js +14 -0
  128. data/node_modules/browserify/node_modules/detective/node_modules/esprima/bin/esparse.js +42 -0
  129. data/node_modules/browserify/node_modules/detective/node_modules/esprima/changes +92 -0
  130. data/node_modules/browserify/node_modules/detective/node_modules/esprima/cm +696 -0
  131. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/checkenv.js +42 -0
  132. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/collector.html +82 -0
  133. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/collector.js +170 -0
  134. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/functiontrace.html +106 -0
  135. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/functiontrace.js +123 -0
  136. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/parse.css +82 -0
  137. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/parse.html +352 -0
  138. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/precedence.html +225 -0
  139. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/rewrite.html +120 -0
  140. data/node_modules/browserify/node_modules/detective/node_modules/esprima/demo/rewrite.js +71 -0
  141. data/node_modules/browserify/node_modules/detective/node_modules/esprima/esprima.js +3577 -0
  142. data/node_modules/browserify/node_modules/detective/node_modules/esprima/index.html +103 -0
  143. data/node_modules/browserify/node_modules/detective/node_modules/esprima/package.json +42 -0
  144. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/Tokenizer.js +646 -0
  145. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/XMLHttpRequest.js +509 -0
  146. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/ZeParser.js +2185 -0
  147. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/backbone-0.5.3.js +1158 -0
  148. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/benchmark.js +3261 -0
  149. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/escodegen.js +906 -0
  150. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/esmorph.js +240 -0
  151. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/ext-core-3.0.0.js +6579 -0
  152. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/ext-core-3.1.0.js +10255 -0
  153. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jquery-1.6.4.js +9046 -0
  154. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jquery-1.7.1.js +9266 -0
  155. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jquery.mobile-1.0.js +6951 -0
  156. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jsdefs.js +731 -0
  157. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jslex.js +588 -0
  158. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/jsparse.js +1921 -0
  159. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/mootools-1.3.2.js +5952 -0
  160. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/mootools-1.4.1.js +6297 -0
  161. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/parse-js.js +1342 -0
  162. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/platform.js +878 -0
  163. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/prototype-1.6.1.js +4874 -0
  164. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/prototype-1.7.0.0.js +6082 -0
  165. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/3rdparty/underscore-1.2.3.js +981 -0
  166. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/benchmarks.html +58 -0
  167. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/benchmarks.js +328 -0
  168. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compare.html +140 -0
  169. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compare.js +270 -0
  170. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compat.html +40 -0
  171. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/compat.js +239 -0
  172. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/coverage.footer.html +3 -0
  173. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/coverage.header.html +37 -0
  174. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/coverage.html +3617 -0
  175. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/index.html +36 -0
  176. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/reflect.js +403 -0
  177. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/run.js +66 -0
  178. data/node_modules/browserify/node_modules/detective/node_modules/esprima/test/test.js +16659 -0
  179. data/node_modules/browserify/node_modules/detective/node_modules/esprima/tools/generate-unicode-regex.py +164 -0
  180. data/node_modules/browserify/node_modules/detective/node_modules/esprima/tools/update-coverage.sh +28 -0
  181. data/node_modules/browserify/node_modules/detective/package.json +47 -0
  182. data/node_modules/browserify/node_modules/detective/test/both.js +11 -0
  183. data/node_modules/browserify/node_modules/detective/test/chained.js +9 -0
  184. data/node_modules/browserify/node_modules/detective/test/files/both.js +4 -0
  185. data/node_modules/browserify/node_modules/detective/test/files/chained.js +5 -0
  186. data/node_modules/browserify/node_modules/detective/test/files/nested.js +22 -0
  187. data/node_modules/browserify/node_modules/detective/test/files/skip.js +7 -0
  188. data/node_modules/browserify/node_modules/detective/test/files/strings.js +13 -0
  189. data/node_modules/browserify/node_modules/detective/test/files/word.js +13 -0
  190. data/node_modules/browserify/node_modules/detective/test/nested.js +9 -0
  191. data/node_modules/browserify/node_modules/detective/test/skip.js +9 -0
  192. data/node_modules/browserify/node_modules/detective/test/strings.js +9 -0
  193. data/node_modules/browserify/node_modules/detective/test/word.js +12 -0
  194. data/node_modules/browserify/node_modules/http-browserify/.npmignore +1 -0
  195. data/node_modules/browserify/node_modules/http-browserify/example/get/index.html +9 -0
  196. data/node_modules/browserify/node_modules/http-browserify/example/get/main.js +14 -0
  197. data/node_modules/browserify/node_modules/http-browserify/example/get/server.js +12 -0
  198. data/node_modules/browserify/node_modules/http-browserify/example/headers/index.html +9 -0
  199. data/node_modules/browserify/node_modules/http-browserify/example/headers/main.js +18 -0
  200. data/node_modules/browserify/node_modules/http-browserify/example/headers/server.js +15 -0
  201. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/data.json +139 -0
  202. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/index.html +9 -0
  203. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/main.js +13 -0
  204. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/.npmignore +2 -0
  205. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/.travis.yml +4 -0
  206. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/LICENSE.APACHE2 +15 -0
  207. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/LICENSE.MIT +24 -0
  208. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/examples/all_docs.js +13 -0
  209. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/index.js +189 -0
  210. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/LICENSE +24 -0
  211. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/README.markdown +11 -0
  212. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/bench.js +26 -0
  213. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/examples/twitterfeed.js +30 -0
  214. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/jsonparse.js +379 -0
  215. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/package.json +36 -0
  216. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/samplejson/basic.json +167 -0
  217. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/samplejson/basic2.json +180 -0
  218. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/test/primitives.js +54 -0
  219. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/node_modules/jsonparse/test/utf8.js +38 -0
  220. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/package.json +40 -0
  221. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/readme.markdown +145 -0
  222. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/bool.js +41 -0
  223. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/destroy_missing.js +22 -0
  224. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/empty.js +44 -0
  225. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/fixtures/all_npm.json +4030 -0
  226. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/fn.js +39 -0
  227. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/memory.js +69 -0
  228. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/multiple_objects.js +42 -0
  229. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/multiple_objects_error.js +35 -0
  230. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/parsejson.js +28 -0
  231. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/stringify.js +41 -0
  232. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/stringify_object.js +47 -0
  233. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/test.js +35 -0
  234. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/test2.js +29 -0
  235. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/node_modules/JSONStream/test/two-ways.js +41 -0
  236. data/node_modules/browserify/node_modules/http-browserify/example/json-stream/server.js +10 -0
  237. data/node_modules/browserify/node_modules/http-browserify/example/post/index.html +9 -0
  238. data/node_modules/browserify/node_modules/http-browserify/example/post/main.js +16 -0
  239. data/node_modules/browserify/node_modules/http-browserify/example/post/server.js +19 -0
  240. data/node_modules/browserify/node_modules/http-browserify/example/streaming/index.html +9 -0
  241. data/node_modules/browserify/node_modules/http-browserify/example/streaming/main.js +16 -0
  242. data/node_modules/browserify/node_modules/http-browserify/example/streaming/server.js +21 -0
  243. data/node_modules/browserify/node_modules/http-browserify/index.js +59 -0
  244. data/node_modules/browserify/node_modules/http-browserify/lib/request.js +128 -0
  245. data/node_modules/browserify/node_modules/http-browserify/lib/response.js +119 -0
  246. data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/index.js +48 -0
  247. data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/package.json +30 -0
  248. data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/readme.md +31 -0
  249. data/node_modules/browserify/node_modules/http-browserify/node_modules/concat-stream/test.js +34 -0
  250. data/node_modules/browserify/node_modules/http-browserify/package.json +46 -0
  251. data/node_modules/browserify/node_modules/http-browserify/readme.markdown +128 -0
  252. data/node_modules/browserify/node_modules/nub/README.markdown +23 -0
  253. data/node_modules/browserify/node_modules/nub/index.js +64 -0
  254. data/node_modules/browserify/node_modules/nub/package.json +46 -0
  255. data/node_modules/browserify/node_modules/nub/test/by.js +51 -0
  256. data/node_modules/browserify/node_modules/nub/test/nub.js +46 -0
  257. data/node_modules/browserify/node_modules/resolve/.travis.yml +4 -0
  258. data/node_modules/browserify/node_modules/resolve/LICENSE +18 -0
  259. data/node_modules/browserify/node_modules/resolve/README.markdown +47 -0
  260. data/node_modules/browserify/node_modules/resolve/index.js +106 -0
  261. data/node_modules/browserify/node_modules/resolve/package.json +45 -0
  262. data/node_modules/browserify/node_modules/resolve/test/core.js +12 -0
  263. data/node_modules/browserify/node_modules/resolve/test/filter.js +15 -0
  264. data/node_modules/browserify/node_modules/resolve/test/mock.js +64 -0
  265. data/node_modules/browserify/node_modules/resolve/test/resolver.js +157 -0
  266. data/node_modules/browserify/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js +1 -0
  267. data/node_modules/browserify/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  268. data/node_modules/browserify/node_modules/resolve/test/resolver/baz/package.json +3 -0
  269. data/node_modules/browserify/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  270. data/node_modules/browserify/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js +1 -0
  271. data/node_modules/browserify/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js +1 -0
  272. data/node_modules/browserify/node_modules/resolve/test/resolver/cup.coffee +1 -0
  273. data/node_modules/browserify/node_modules/resolve/test/resolver/foo.js +1 -0
  274. data/node_modules/browserify/node_modules/resolve/test/resolver/mug.coffee +0 -0
  275. data/node_modules/browserify/node_modules/resolve/test/resolver/mug.js +0 -0
  276. data/node_modules/browserify/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  277. data/node_modules/browserify/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  278. data/node_modules/browserify/node_modules/syntax-error/.travis.yml +4 -0
  279. data/node_modules/browserify/node_modules/syntax-error/LICENSE +18 -0
  280. data/node_modules/browserify/node_modules/syntax-error/example/check.js +12 -0
  281. data/node_modules/browserify/node_modules/syntax-error/example/src.js +9 -0
  282. data/node_modules/browserify/node_modules/syntax-error/index.js +54 -0
  283. data/node_modules/browserify/node_modules/syntax-error/node_modules/.bin/esparse +42 -0
  284. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/.travis.yml +5 -0
  285. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/LICENSE.BSD +19 -0
  286. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/README.md +74 -0
  287. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/codemirror/codemirror.css +112 -0
  288. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/codemirror/codemirror.js +2972 -0
  289. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/codemirror/javascript.js +360 -0
  290. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/json2.js +487 -0
  291. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/style.css +164 -0
  292. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/treeview-min.js +12 -0
  293. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/treeview-sprite.gif +0 -0
  294. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/treeview.css +7 -0
  295. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/assets/yui/yahoo-dom-event.js +14 -0
  296. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/bin/esparse.js +42 -0
  297. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/changes +92 -0
  298. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/cm +696 -0
  299. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/checkenv.js +42 -0
  300. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/collector.html +82 -0
  301. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/collector.js +170 -0
  302. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/functiontrace.html +106 -0
  303. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/functiontrace.js +123 -0
  304. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/parse.css +82 -0
  305. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/parse.html +352 -0
  306. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/precedence.html +225 -0
  307. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/rewrite.html +120 -0
  308. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/demo/rewrite.js +71 -0
  309. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/esprima.js +3577 -0
  310. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/index.html +103 -0
  311. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/package.json +42 -0
  312. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/Tokenizer.js +646 -0
  313. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/XMLHttpRequest.js +509 -0
  314. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/ZeParser.js +2185 -0
  315. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/backbone-0.5.3.js +1158 -0
  316. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/benchmark.js +3261 -0
  317. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/escodegen.js +906 -0
  318. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/esmorph.js +240 -0
  319. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/ext-core-3.0.0.js +6579 -0
  320. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/ext-core-3.1.0.js +10255 -0
  321. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jquery-1.6.4.js +9046 -0
  322. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jquery-1.7.1.js +9266 -0
  323. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jquery.mobile-1.0.js +6951 -0
  324. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jsdefs.js +731 -0
  325. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jslex.js +588 -0
  326. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/jsparse.js +1921 -0
  327. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/mootools-1.3.2.js +5952 -0
  328. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/mootools-1.4.1.js +6297 -0
  329. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/parse-js.js +1342 -0
  330. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/platform.js +878 -0
  331. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/prototype-1.6.1.js +4874 -0
  332. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/prototype-1.7.0.0.js +6082 -0
  333. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/3rdparty/underscore-1.2.3.js +981 -0
  334. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/benchmarks.html +58 -0
  335. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/benchmarks.js +328 -0
  336. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compare.html +140 -0
  337. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compare.js +270 -0
  338. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compat.html +40 -0
  339. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/compat.js +239 -0
  340. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/coverage.footer.html +3 -0
  341. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/coverage.header.html +37 -0
  342. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/coverage.html +3617 -0
  343. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/index.html +36 -0
  344. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/reflect.js +403 -0
  345. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/run.js +66 -0
  346. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/test/test.js +16659 -0
  347. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/tools/generate-unicode-regex.py +164 -0
  348. data/node_modules/browserify/node_modules/syntax-error/node_modules/esprima/tools/update-coverage.sh +28 -0
  349. data/node_modules/browserify/node_modules/syntax-error/package.json +49 -0
  350. data/node_modules/browserify/node_modules/syntax-error/readme.markdown +87 -0
  351. data/node_modules/browserify/node_modules/syntax-error/test/check.js +17 -0
  352. data/node_modules/browserify/node_modules/syntax-error/test/sources/check.js +9 -0
  353. data/node_modules/browserify/node_modules/vm-browserify/README.markdown +103 -0
  354. data/node_modules/browserify/node_modules/vm-browserify/example/run/bundle.js +473 -0
  355. data/node_modules/browserify/node_modules/vm-browserify/example/run/entry.js +6 -0
  356. data/node_modules/browserify/node_modules/vm-browserify/example/run/index.html +9 -0
  357. data/node_modules/browserify/node_modules/vm-browserify/example/run/server.js +6 -0
  358. data/node_modules/browserify/node_modules/vm-browserify/index.js +85 -0
  359. data/node_modules/browserify/node_modules/vm-browserify/package.json +43 -0
  360. data/node_modules/browserify/node_modules/vm-browserify/testling/run.js +22 -0
  361. data/node_modules/browserify/node_modules/vm-browserify/testling/test.sh +11 -0
  362. data/node_modules/browserify/package.json +78 -0
  363. data/node_modules/browserify/test/alias.js +58 -0
  364. data/node_modules/browserify/test/backbone.js +21 -0
  365. data/node_modules/browserify/test/bin.js +39 -0
  366. data/node_modules/browserify/test/buffer.js +99 -0
  367. data/node_modules/browserify/test/bundle.js +32 -0
  368. data/node_modules/browserify/test/cache.js +28 -0
  369. data/node_modules/browserify/test/coffee.js +39 -0
  370. data/node_modules/browserify/test/coffee/bar.js +1 -0
  371. data/node_modules/browserify/test/coffee/baz.coffee +1 -0
  372. data/node_modules/browserify/test/coffee/entry.coffee +1 -0
  373. data/node_modules/browserify/test/coffee/foo.coffee +1 -0
  374. data/node_modules/browserify/test/coffee/index.coffee +5 -0
  375. data/node_modules/browserify/test/coffee/nested/nested.coffee +2 -0
  376. data/node_modules/browserify/test/comment.js +17 -0
  377. data/node_modules/browserify/test/comment/main.js +2 -0
  378. data/node_modules/browserify/test/crypto.js +37 -0
  379. data/node_modules/browserify/test/dnode.js +27 -0
  380. data/node_modules/browserify/test/dollar.js +19 -0
  381. data/node_modules/browserify/test/dollar/dollar/index.js +7 -0
  382. data/node_modules/browserify/test/entry.js +36 -0
  383. data/node_modules/browserify/test/entry/main.js +1 -0
  384. data/node_modules/browserify/test/entry/one.js +1 -0
  385. data/node_modules/browserify/test/entry/two.js +1 -0
  386. data/node_modules/browserify/test/error_code.js +24 -0
  387. data/node_modules/browserify/test/error_code/src.js +2 -0
  388. data/node_modules/browserify/test/export.js +52 -0
  389. data/node_modules/browserify/test/export/entry.js +1 -0
  390. data/node_modules/browserify/test/field.js +64 -0
  391. data/node_modules/browserify/test/field/miss.js +1 -0
  392. data/node_modules/browserify/test/field/node_modules/z-miss/browser.js +1 -0
  393. data/node_modules/browserify/test/field/node_modules/z-miss/main.js +1 -0
  394. data/node_modules/browserify/test/field/node_modules/z-miss/package.json +4 -0
  395. data/node_modules/browserify/test/field/node_modules/z-object/browser.js +1 -0
  396. data/node_modules/browserify/test/field/node_modules/z-object/main.js +1 -0
  397. data/node_modules/browserify/test/field/node_modules/z-object/package.json +6 -0
  398. data/node_modules/browserify/test/field/node_modules/z-string/browser.js +1 -0
  399. data/node_modules/browserify/test/field/node_modules/z-string/main.js +1 -0
  400. data/node_modules/browserify/test/field/node_modules/z-string/package.json +4 -0
  401. data/node_modules/browserify/test/field/node_modules/z-sub/browser/a.js +1 -0
  402. data/node_modules/browserify/test/field/node_modules/z-sub/browser/b.js +1 -0
  403. data/node_modules/browserify/test/field/node_modules/z-sub/main.js +1 -0
  404. data/node_modules/browserify/test/field/node_modules/z-sub/package.json +4 -0
  405. data/node_modules/browserify/test/field/object.js +1 -0
  406. data/node_modules/browserify/test/field/string.js +1 -0
  407. data/node_modules/browserify/test/field/sub.js +1 -0
  408. data/node_modules/browserify/test/global.js +19 -0
  409. data/node_modules/browserify/test/global/main.js +2 -0
  410. data/node_modules/browserify/test/jade.js +35 -0
  411. data/node_modules/browserify/test/json.js +17 -0
  412. data/node_modules/browserify/test/json/beep.json +4 -0
  413. data/node_modules/browserify/test/json/main.js +1 -0
  414. data/node_modules/browserify/test/maxlisteners.js +8 -0
  415. data/node_modules/browserify/test/module.js +22 -0
  416. data/node_modules/browserify/test/multi_entry.js +20 -0
  417. data/node_modules/browserify/test/multi_entry/a.js +2 -0
  418. data/node_modules/browserify/test/multi_entry/b.js +2 -0
  419. data/node_modules/browserify/test/multi_entry/c.js +3 -0
  420. data/node_modules/browserify/test/multi_ignore.js +23 -0
  421. data/node_modules/browserify/test/node_modules/beep/index.js +1 -0
  422. data/node_modules/browserify/test/require_cache.js +18 -0
  423. data/node_modules/browserify/test/retarget.js +27 -0
  424. data/node_modules/browserify/test/seq.js +47 -0
  425. data/node_modules/browserify/test/subdep.js +26 -0
  426. data/node_modules/browserify/test/subdep/index.js +1 -0
  427. data/node_modules/browserify/test/subdep/package.json +6 -0
  428. data/node_modules/browserify/test/util.js +48 -0
  429. data/node_modules/browserify/test/watch.js +91 -0
  430. data/node_modules/browserify/test/watch/a.js +1 -0
  431. data/node_modules/browserify/test/wrap.js +43 -0
  432. data/node_modules/browserify/test/wrap/a.js +2 -0
  433. data/node_modules/browserify/test/wrap/c.js +1 -0
  434. data/node_modules/browserify/test/wrap/node_modules/b/main.js +1 -0
  435. data/node_modules/browserify/test/wrap/node_modules/b/package.json +3 -0
  436. data/node_modules/browserify/test/wrap/node_modules/skipmetoo/index.js +1 -0
  437. data/node_modules/browserify/test/wrap/skipme.js +1 -0
  438. data/node_modules/browserify/test/wrap/x.js +0 -0
  439. data/node_modules/browserify/testling/README.markdown +29 -0
  440. data/node_modules/browserify/testling/test.sh +37 -0
  441. data/node_modules/browserify/testling/tick.js +9 -0
  442. data/node_modules/browserify/testling/timers.js +50 -0
  443. data/node_modules/browserify/testling/util.js +24 -0
  444. data/node_modules/browserify/v2.markdown +41 -0
  445. data/node_modules/browserify/wrappers/alias.js +1 -0
  446. data/node_modules/browserify/wrappers/body.js +2 -0
  447. data/node_modules/browserify/wrappers/body_debug.js +2 -0
  448. data/node_modules/browserify/wrappers/entry.js +3 -0
  449. data/node_modules/browserify/wrappers/entry_debug.js +3 -0
  450. data/node_modules/browserify/wrappers/package.js +3 -0
  451. data/node_modules/browserify/wrappers/prelude.js +196 -0
  452. data/node_modules/coffee-script/.npmignore +11 -0
  453. data/node_modules/coffee-script/CNAME +1 -0
  454. data/node_modules/coffee-script/CONTRIBUTING.md +9 -0
  455. data/node_modules/coffee-script/LICENSE +22 -0
  456. data/node_modules/coffee-script/README +51 -0
  457. data/node_modules/coffee-script/Rakefile +78 -0
  458. data/node_modules/coffee-script/bin/cake +7 -0
  459. data/node_modules/coffee-script/bin/coffee +7 -0
  460. data/node_modules/coffee-script/extras/jsl.conf +44 -0
  461. data/node_modules/coffee-script/lib/coffee-script/browser.js +92 -0
  462. data/node_modules/coffee-script/lib/coffee-script/cake.js +113 -0
  463. data/node_modules/coffee-script/lib/coffee-script/coffee-script.js +171 -0
  464. data/node_modules/coffee-script/lib/coffee-script/command.js +502 -0
  465. data/node_modules/coffee-script/lib/coffee-script/grammar.js +606 -0
  466. data/node_modules/coffee-script/lib/coffee-script/helpers.js +88 -0
  467. data/node_modules/coffee-script/lib/coffee-script/index.js +11 -0
  468. data/node_modules/coffee-script/lib/coffee-script/lexer.js +788 -0
  469. data/node_modules/coffee-script/lib/coffee-script/nodes.js +2971 -0
  470. data/node_modules/coffee-script/lib/coffee-script/optparse.js +138 -0
  471. data/node_modules/coffee-script/lib/coffee-script/parser.js +683 -0
  472. data/node_modules/coffee-script/lib/coffee-script/repl.js +276 -0
  473. data/node_modules/coffee-script/lib/coffee-script/rewriter.js +349 -0
  474. data/node_modules/coffee-script/lib/coffee-script/scope.js +146 -0
  475. data/node_modules/coffee-script/package.json +50 -0
  476. data/node_modules/jade-runtime/.npmignore +15 -0
  477. data/node_modules/jade-runtime/README.md +8 -0
  478. data/node_modules/jade-runtime/globals.js +32 -0
  479. data/node_modules/jade-runtime/index.js +2 -0
  480. data/node_modules/jade-runtime/jade-runtime.js +181 -0
  481. data/node_modules/jade-runtime/package.json +18 -0
  482. data/node_modules/jade/.npmignore +14 -0
  483. data/node_modules/jade/LICENSE +22 -0
  484. data/node_modules/jade/Readme.md +1299 -0
  485. data/node_modules/jade/bin/jade +168 -0
  486. data/node_modules/jade/index.js +4 -0
  487. data/node_modules/jade/jade.js +3586 -0
  488. data/node_modules/jade/jade.md +510 -0
  489. data/node_modules/jade/jade.min.js +2 -0
  490. data/node_modules/jade/lib/compiler.js +654 -0
  491. data/node_modules/jade/lib/doctypes.js +18 -0
  492. data/node_modules/jade/lib/filters.js +97 -0
  493. data/node_modules/jade/lib/inline-tags.js +28 -0
  494. data/node_modules/jade/lib/jade.js +253 -0
  495. data/node_modules/jade/lib/lexer.js +774 -0
  496. data/node_modules/jade/lib/nodes/attrs.js +77 -0
  497. data/node_modules/jade/lib/nodes/block-comment.js +33 -0
  498. data/node_modules/jade/lib/nodes/block.js +122 -0
  499. data/node_modules/jade/lib/nodes/case.js +43 -0
  500. data/node_modules/jade/lib/nodes/code.js +35 -0
  501. data/node_modules/jade/lib/nodes/comment.js +32 -0
  502. data/node_modules/jade/lib/nodes/doctype.js +29 -0
  503. data/node_modules/jade/lib/nodes/each.js +35 -0
  504. data/node_modules/jade/lib/nodes/filter.js +35 -0
  505. data/node_modules/jade/lib/nodes/index.js +20 -0
  506. data/node_modules/jade/lib/nodes/literal.js +32 -0
  507. data/node_modules/jade/lib/nodes/mixin.js +36 -0
  508. data/node_modules/jade/lib/nodes/node.js +25 -0
  509. data/node_modules/jade/lib/nodes/tag.js +95 -0
  510. data/node_modules/jade/lib/nodes/text.js +36 -0
  511. data/node_modules/jade/lib/parser.js +714 -0
  512. data/node_modules/jade/lib/runtime.js +174 -0
  513. data/node_modules/jade/lib/self-closing.js +19 -0
  514. data/node_modules/jade/lib/utils.js +49 -0
  515. data/node_modules/jade/node_modules/commander/.npmignore +4 -0
  516. data/node_modules/jade/node_modules/commander/.travis.yml +4 -0
  517. data/node_modules/jade/node_modules/commander/History.md +107 -0
  518. data/node_modules/jade/node_modules/commander/Makefile +7 -0
  519. data/node_modules/jade/node_modules/commander/Readme.md +262 -0
  520. data/node_modules/jade/node_modules/commander/index.js +2 -0
  521. data/node_modules/jade/node_modules/commander/lib/commander.js +1026 -0
  522. data/node_modules/jade/node_modules/commander/package.json +39 -0
  523. data/node_modules/jade/node_modules/mkdirp/.npmignore +2 -0
  524. data/node_modules/jade/node_modules/mkdirp/.travis.yml +4 -0
  525. data/node_modules/jade/node_modules/mkdirp/LICENSE +21 -0
  526. data/node_modules/jade/node_modules/mkdirp/README.markdown +61 -0
  527. data/node_modules/jade/node_modules/mkdirp/examples/pow.js +6 -0
  528. data/node_modules/jade/node_modules/mkdirp/index.js +82 -0
  529. data/node_modules/jade/node_modules/mkdirp/package.json +37 -0
  530. data/node_modules/jade/node_modules/mkdirp/test/chmod.js +38 -0
  531. data/node_modules/jade/node_modules/mkdirp/test/clobber.js +37 -0
  532. data/node_modules/jade/node_modules/mkdirp/test/mkdirp.js +28 -0
  533. data/node_modules/jade/node_modules/mkdirp/test/perm.js +32 -0
  534. data/node_modules/jade/node_modules/mkdirp/test/perm_sync.js +39 -0
  535. data/node_modules/jade/node_modules/mkdirp/test/race.js +41 -0
  536. data/node_modules/jade/node_modules/mkdirp/test/rel.js +32 -0
  537. data/node_modules/jade/node_modules/mkdirp/test/return.js +25 -0
  538. data/node_modules/jade/node_modules/mkdirp/test/return_sync.js +24 -0
  539. data/node_modules/jade/node_modules/mkdirp/test/root.js +18 -0
  540. data/node_modules/jade/node_modules/mkdirp/test/sync.js +32 -0
  541. data/node_modules/jade/node_modules/mkdirp/test/umask.js +28 -0
  542. data/node_modules/jade/node_modules/mkdirp/test/umask_sync.js +32 -0
  543. data/node_modules/jade/package.json +53 -0
  544. data/node_modules/jade/runtime.js +179 -0
  545. data/node_modules/jade/runtime.min.js +1 -0
  546. data/node_modules/jade/test.jade +7 -0
  547. data/node_modules/jade/testing/head.jade +5 -0
  548. data/node_modules/jade/testing/index.jade +1 -0
  549. data/node_modules/jade/testing/index.js +14 -0
  550. data/node_modules/jade/testing/layout.jade +10 -0
  551. data/node_modules/jade/testing/user.jade +7 -0
  552. data/node_modules/jade/testing/user.js +27 -0
  553. data/node_modules/optimist/.travis.yml +4 -0
  554. data/node_modules/optimist/LICENSE +21 -0
  555. data/node_modules/optimist/README.markdown +487 -0
  556. data/node_modules/optimist/example/bool.js +10 -0
  557. data/node_modules/optimist/example/boolean_double.js +7 -0
  558. data/node_modules/optimist/example/boolean_single.js +7 -0
  559. data/node_modules/optimist/example/default_hash.js +8 -0
  560. data/node_modules/optimist/example/default_singles.js +7 -0
  561. data/node_modules/optimist/example/divide.js +8 -0
  562. data/node_modules/optimist/example/line_count.js +20 -0
  563. data/node_modules/optimist/example/line_count_options.js +29 -0
  564. data/node_modules/optimist/example/line_count_wrap.js +29 -0
  565. data/node_modules/optimist/example/nonopt.js +4 -0
  566. data/node_modules/optimist/example/reflect.js +2 -0
  567. data/node_modules/optimist/example/short.js +3 -0
  568. data/node_modules/optimist/example/string.js +11 -0
  569. data/node_modules/optimist/example/usage-options.js +19 -0
  570. data/node_modules/optimist/example/xup.js +10 -0
  571. data/node_modules/optimist/index.js +475 -0
  572. data/node_modules/optimist/node_modules/wordwrap/.npmignore +1 -0
  573. data/node_modules/optimist/node_modules/wordwrap/README.markdown +70 -0
  574. data/node_modules/optimist/node_modules/wordwrap/example/center.js +10 -0
  575. data/node_modules/optimist/node_modules/wordwrap/example/meat.js +3 -0
  576. data/node_modules/optimist/node_modules/wordwrap/index.js +76 -0
  577. data/node_modules/optimist/node_modules/wordwrap/package.json +45 -0
  578. data/node_modules/optimist/node_modules/wordwrap/test/break.js +30 -0
  579. data/node_modules/optimist/node_modules/wordwrap/test/idleness.txt +63 -0
  580. data/node_modules/optimist/node_modules/wordwrap/test/wrap.js +31 -0
  581. data/node_modules/optimist/package.json +55 -0
  582. data/node_modules/optimist/test/_.js +71 -0
  583. data/node_modules/optimist/test/_/argv.js +2 -0
  584. data/node_modules/optimist/test/_/bin.js +3 -0
  585. data/node_modules/optimist/test/parse.js +420 -0
  586. data/node_modules/optimist/test/usage.js +292 -0
  587. data/snowball.gemspec +1 -2
  588. metadata +601 -21
  589. data/extconf.rb +0 -9
@@ -0,0 +1,88 @@
1
+ // Generated by CoffeeScript 1.4.0
2
+ (function() {
3
+ var extend, flatten, _ref;
4
+
5
+ exports.starts = function(string, literal, start) {
6
+ return literal === string.substr(start, literal.length);
7
+ };
8
+
9
+ exports.ends = function(string, literal, back) {
10
+ var len;
11
+ len = literal.length;
12
+ return literal === string.substr(string.length - len - (back || 0), len);
13
+ };
14
+
15
+ exports.compact = function(array) {
16
+ var item, _i, _len, _results;
17
+ _results = [];
18
+ for (_i = 0, _len = array.length; _i < _len; _i++) {
19
+ item = array[_i];
20
+ if (item) {
21
+ _results.push(item);
22
+ }
23
+ }
24
+ return _results;
25
+ };
26
+
27
+ exports.count = function(string, substr) {
28
+ var num, pos;
29
+ num = pos = 0;
30
+ if (!substr.length) {
31
+ return 1 / 0;
32
+ }
33
+ while (pos = 1 + string.indexOf(substr, pos)) {
34
+ num++;
35
+ }
36
+ return num;
37
+ };
38
+
39
+ exports.merge = function(options, overrides) {
40
+ return extend(extend({}, options), overrides);
41
+ };
42
+
43
+ extend = exports.extend = function(object, properties) {
44
+ var key, val;
45
+ for (key in properties) {
46
+ val = properties[key];
47
+ object[key] = val;
48
+ }
49
+ return object;
50
+ };
51
+
52
+ exports.flatten = flatten = function(array) {
53
+ var element, flattened, _i, _len;
54
+ flattened = [];
55
+ for (_i = 0, _len = array.length; _i < _len; _i++) {
56
+ element = array[_i];
57
+ if (element instanceof Array) {
58
+ flattened = flattened.concat(flatten(element));
59
+ } else {
60
+ flattened.push(element);
61
+ }
62
+ }
63
+ return flattened;
64
+ };
65
+
66
+ exports.del = function(obj, key) {
67
+ var val;
68
+ val = obj[key];
69
+ delete obj[key];
70
+ return val;
71
+ };
72
+
73
+ exports.last = function(array, back) {
74
+ return array[array.length - (back || 0) - 1];
75
+ };
76
+
77
+ exports.some = (_ref = Array.prototype.some) != null ? _ref : function(fn) {
78
+ var e, _i, _len;
79
+ for (_i = 0, _len = this.length; _i < _len; _i++) {
80
+ e = this[_i];
81
+ if (fn(e)) {
82
+ return true;
83
+ }
84
+ }
85
+ return false;
86
+ };
87
+
88
+ }).call(this);
@@ -0,0 +1,11 @@
1
+ // Generated by CoffeeScript 1.4.0
2
+ (function() {
3
+ var key, val, _ref;
4
+
5
+ _ref = require('./coffee-script');
6
+ for (key in _ref) {
7
+ val = _ref[key];
8
+ exports[key] = val;
9
+ }
10
+
11
+ }).call(this);
@@ -0,0 +1,788 @@
1
+ // Generated by CoffeeScript 1.4.0
2
+ (function() {
3
+ var BOOL, CALLABLE, CODE, COFFEE_ALIASES, COFFEE_ALIAS_MAP, COFFEE_KEYWORDS, COMMENT, COMPARE, COMPOUND_ASSIGN, HEREDOC, HEREDOC_ILLEGAL, HEREDOC_INDENT, HEREGEX, HEREGEX_OMIT, IDENTIFIER, INDEXABLE, INVERSES, JSTOKEN, JS_FORBIDDEN, JS_KEYWORDS, LINE_BREAK, LINE_CONTINUER, LOGIC, Lexer, MATH, MULTILINER, MULTI_DENT, NOT_REGEX, NOT_SPACED_REGEX, NUMBER, OPERATOR, REGEX, RELATION, RESERVED, Rewriter, SHIFT, SIMPLESTR, STRICT_PROSCRIBED, TRAILING_SPACES, UNARY, WHITESPACE, compact, count, key, last, starts, _ref, _ref1,
4
+ __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
5
+
6
+ _ref = require('./rewriter'), Rewriter = _ref.Rewriter, INVERSES = _ref.INVERSES;
7
+
8
+ _ref1 = require('./helpers'), count = _ref1.count, starts = _ref1.starts, compact = _ref1.compact, last = _ref1.last;
9
+
10
+ exports.Lexer = Lexer = (function() {
11
+
12
+ function Lexer() {}
13
+
14
+ Lexer.prototype.tokenize = function(code, opts) {
15
+ var i, tag;
16
+ if (opts == null) {
17
+ opts = {};
18
+ }
19
+ if (WHITESPACE.test(code)) {
20
+ code = "\n" + code;
21
+ }
22
+ code = code.replace(/\r/g, '').replace(TRAILING_SPACES, '');
23
+ this.code = code;
24
+ this.line = opts.line || 0;
25
+ this.indent = 0;
26
+ this.indebt = 0;
27
+ this.outdebt = 0;
28
+ this.indents = [];
29
+ this.ends = [];
30
+ this.tokens = [];
31
+ i = 0;
32
+ while (this.chunk = code.slice(i)) {
33
+ i += this.identifierToken() || this.commentToken() || this.whitespaceToken() || this.lineToken() || this.heredocToken() || this.stringToken() || this.numberToken() || this.regexToken() || this.jsToken() || this.literalToken();
34
+ }
35
+ this.closeIndentation();
36
+ if (tag = this.ends.pop()) {
37
+ this.error("missing " + tag);
38
+ }
39
+ if (opts.rewrite === false) {
40
+ return this.tokens;
41
+ }
42
+ return (new Rewriter).rewrite(this.tokens);
43
+ };
44
+
45
+ Lexer.prototype.identifierToken = function() {
46
+ var colon, forcedIdentifier, id, input, match, prev, tag, _ref2, _ref3;
47
+ if (!(match = IDENTIFIER.exec(this.chunk))) {
48
+ return 0;
49
+ }
50
+ input = match[0], id = match[1], colon = match[2];
51
+ if (id === 'own' && this.tag() === 'FOR') {
52
+ this.token('OWN', id);
53
+ return id.length;
54
+ }
55
+ forcedIdentifier = colon || (prev = last(this.tokens)) && (((_ref2 = prev[0]) === '.' || _ref2 === '?.' || _ref2 === '::') || !prev.spaced && prev[0] === '@');
56
+ tag = 'IDENTIFIER';
57
+ if (!forcedIdentifier && (__indexOf.call(JS_KEYWORDS, id) >= 0 || __indexOf.call(COFFEE_KEYWORDS, id) >= 0)) {
58
+ tag = id.toUpperCase();
59
+ if (tag === 'WHEN' && (_ref3 = this.tag(), __indexOf.call(LINE_BREAK, _ref3) >= 0)) {
60
+ tag = 'LEADING_WHEN';
61
+ } else if (tag === 'FOR') {
62
+ this.seenFor = true;
63
+ } else if (tag === 'UNLESS') {
64
+ tag = 'IF';
65
+ } else if (__indexOf.call(UNARY, tag) >= 0) {
66
+ tag = 'UNARY';
67
+ } else if (__indexOf.call(RELATION, tag) >= 0) {
68
+ if (tag !== 'INSTANCEOF' && this.seenFor) {
69
+ tag = 'FOR' + tag;
70
+ this.seenFor = false;
71
+ } else {
72
+ tag = 'RELATION';
73
+ if (this.value() === '!') {
74
+ this.tokens.pop();
75
+ id = '!' + id;
76
+ }
77
+ }
78
+ }
79
+ }
80
+ if (__indexOf.call(JS_FORBIDDEN, id) >= 0) {
81
+ if (forcedIdentifier) {
82
+ tag = 'IDENTIFIER';
83
+ id = new String(id);
84
+ id.reserved = true;
85
+ } else if (__indexOf.call(RESERVED, id) >= 0) {
86
+ this.error("reserved word \"" + id + "\"");
87
+ }
88
+ }
89
+ if (!forcedIdentifier) {
90
+ if (__indexOf.call(COFFEE_ALIASES, id) >= 0) {
91
+ id = COFFEE_ALIAS_MAP[id];
92
+ }
93
+ tag = (function() {
94
+ switch (id) {
95
+ case '!':
96
+ return 'UNARY';
97
+ case '==':
98
+ case '!=':
99
+ return 'COMPARE';
100
+ case '&&':
101
+ case '||':
102
+ return 'LOGIC';
103
+ case 'true':
104
+ case 'false':
105
+ return 'BOOL';
106
+ case 'break':
107
+ case 'continue':
108
+ return 'STATEMENT';
109
+ default:
110
+ return tag;
111
+ }
112
+ })();
113
+ }
114
+ this.token(tag, id);
115
+ if (colon) {
116
+ this.token(':', ':');
117
+ }
118
+ return input.length;
119
+ };
120
+
121
+ Lexer.prototype.numberToken = function() {
122
+ var binaryLiteral, lexedLength, match, number, octalLiteral;
123
+ if (!(match = NUMBER.exec(this.chunk))) {
124
+ return 0;
125
+ }
126
+ number = match[0];
127
+ if (/^0[BOX]/.test(number)) {
128
+ this.error("radix prefix '" + number + "' must be lowercase");
129
+ } else if (/E/.test(number) && !/^0x/.test(number)) {
130
+ this.error("exponential notation '" + number + "' must be indicated with a lowercase 'e'");
131
+ } else if (/^0\d*[89]/.test(number)) {
132
+ this.error("decimal literal '" + number + "' must not be prefixed with '0'");
133
+ } else if (/^0\d+/.test(number)) {
134
+ this.error("octal literal '" + number + "' must be prefixed with '0o'");
135
+ }
136
+ lexedLength = number.length;
137
+ if (octalLiteral = /^0o([0-7]+)/.exec(number)) {
138
+ number = '0x' + (parseInt(octalLiteral[1], 8)).toString(16);
139
+ }
140
+ if (binaryLiteral = /^0b([01]+)/.exec(number)) {
141
+ number = '0x' + (parseInt(binaryLiteral[1], 2)).toString(16);
142
+ }
143
+ this.token('NUMBER', number);
144
+ return lexedLength;
145
+ };
146
+
147
+ Lexer.prototype.stringToken = function() {
148
+ var match, octalEsc, string;
149
+ switch (this.chunk.charAt(0)) {
150
+ case "'":
151
+ if (!(match = SIMPLESTR.exec(this.chunk))) {
152
+ return 0;
153
+ }
154
+ this.token('STRING', (string = match[0]).replace(MULTILINER, '\\\n'));
155
+ break;
156
+ case '"':
157
+ if (!(string = this.balancedString(this.chunk, '"'))) {
158
+ return 0;
159
+ }
160
+ if (0 < string.indexOf('#{', 1)) {
161
+ this.interpolateString(string.slice(1, -1));
162
+ } else {
163
+ this.token('STRING', this.escapeLines(string));
164
+ }
165
+ break;
166
+ default:
167
+ return 0;
168
+ }
169
+ if (octalEsc = /^(?:\\.|[^\\])*\\(?:0[0-7]|[1-7])/.test(string)) {
170
+ this.error("octal escape sequences " + string + " are not allowed");
171
+ }
172
+ this.line += count(string, '\n');
173
+ return string.length;
174
+ };
175
+
176
+ Lexer.prototype.heredocToken = function() {
177
+ var doc, heredoc, match, quote;
178
+ if (!(match = HEREDOC.exec(this.chunk))) {
179
+ return 0;
180
+ }
181
+ heredoc = match[0];
182
+ quote = heredoc.charAt(0);
183
+ doc = this.sanitizeHeredoc(match[2], {
184
+ quote: quote,
185
+ indent: null
186
+ });
187
+ if (quote === '"' && 0 <= doc.indexOf('#{')) {
188
+ this.interpolateString(doc, {
189
+ heredoc: true
190
+ });
191
+ } else {
192
+ this.token('STRING', this.makeString(doc, quote, true));
193
+ }
194
+ this.line += count(heredoc, '\n');
195
+ return heredoc.length;
196
+ };
197
+
198
+ Lexer.prototype.commentToken = function() {
199
+ var comment, here, match;
200
+ if (!(match = this.chunk.match(COMMENT))) {
201
+ return 0;
202
+ }
203
+ comment = match[0], here = match[1];
204
+ if (here) {
205
+ this.token('HERECOMMENT', this.sanitizeHeredoc(here, {
206
+ herecomment: true,
207
+ indent: Array(this.indent + 1).join(' ')
208
+ }));
209
+ }
210
+ this.line += count(comment, '\n');
211
+ return comment.length;
212
+ };
213
+
214
+ Lexer.prototype.jsToken = function() {
215
+ var match, script;
216
+ if (!(this.chunk.charAt(0) === '`' && (match = JSTOKEN.exec(this.chunk)))) {
217
+ return 0;
218
+ }
219
+ this.token('JS', (script = match[0]).slice(1, -1));
220
+ this.line += count(script, '\n');
221
+ return script.length;
222
+ };
223
+
224
+ Lexer.prototype.regexToken = function() {
225
+ var flags, length, match, prev, regex, _ref2, _ref3;
226
+ if (this.chunk.charAt(0) !== '/') {
227
+ return 0;
228
+ }
229
+ if (match = HEREGEX.exec(this.chunk)) {
230
+ length = this.heregexToken(match);
231
+ this.line += count(match[0], '\n');
232
+ return length;
233
+ }
234
+ prev = last(this.tokens);
235
+ if (prev && (_ref2 = prev[0], __indexOf.call((prev.spaced ? NOT_REGEX : NOT_SPACED_REGEX), _ref2) >= 0)) {
236
+ return 0;
237
+ }
238
+ if (!(match = REGEX.exec(this.chunk))) {
239
+ return 0;
240
+ }
241
+ _ref3 = match, match = _ref3[0], regex = _ref3[1], flags = _ref3[2];
242
+ if (regex.slice(0, 2) === '/*') {
243
+ this.error('regular expressions cannot begin with `*`');
244
+ }
245
+ if (regex === '//') {
246
+ regex = '/(?:)/';
247
+ }
248
+ this.token('REGEX', "" + regex + flags);
249
+ return match.length;
250
+ };
251
+
252
+ Lexer.prototype.heregexToken = function(match) {
253
+ var body, flags, heregex, re, tag, tokens, value, _i, _len, _ref2, _ref3, _ref4, _ref5;
254
+ heregex = match[0], body = match[1], flags = match[2];
255
+ if (0 > body.indexOf('#{')) {
256
+ re = body.replace(HEREGEX_OMIT, '').replace(/\//g, '\\/');
257
+ if (re.match(/^\*/)) {
258
+ this.error('regular expressions cannot begin with `*`');
259
+ }
260
+ this.token('REGEX', "/" + (re || '(?:)') + "/" + flags);
261
+ return heregex.length;
262
+ }
263
+ this.token('IDENTIFIER', 'RegExp');
264
+ this.tokens.push(['CALL_START', '(']);
265
+ tokens = [];
266
+ _ref2 = this.interpolateString(body, {
267
+ regex: true
268
+ });
269
+ for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
270
+ _ref3 = _ref2[_i], tag = _ref3[0], value = _ref3[1];
271
+ if (tag === 'TOKENS') {
272
+ tokens.push.apply(tokens, value);
273
+ } else {
274
+ if (!(value = value.replace(HEREGEX_OMIT, ''))) {
275
+ continue;
276
+ }
277
+ value = value.replace(/\\/g, '\\\\');
278
+ tokens.push(['STRING', this.makeString(value, '"', true)]);
279
+ }
280
+ tokens.push(['+', '+']);
281
+ }
282
+ tokens.pop();
283
+ if (((_ref4 = tokens[0]) != null ? _ref4[0] : void 0) !== 'STRING') {
284
+ this.tokens.push(['STRING', '""'], ['+', '+']);
285
+ }
286
+ (_ref5 = this.tokens).push.apply(_ref5, tokens);
287
+ if (flags) {
288
+ this.tokens.push([',', ','], ['STRING', '"' + flags + '"']);
289
+ }
290
+ this.token(')', ')');
291
+ return heregex.length;
292
+ };
293
+
294
+ Lexer.prototype.lineToken = function() {
295
+ var diff, indent, match, noNewlines, size;
296
+ if (!(match = MULTI_DENT.exec(this.chunk))) {
297
+ return 0;
298
+ }
299
+ indent = match[0];
300
+ this.line += count(indent, '\n');
301
+ this.seenFor = false;
302
+ size = indent.length - 1 - indent.lastIndexOf('\n');
303
+ noNewlines = this.unfinished();
304
+ if (size - this.indebt === this.indent) {
305
+ if (noNewlines) {
306
+ this.suppressNewlines();
307
+ } else {
308
+ this.newlineToken();
309
+ }
310
+ return indent.length;
311
+ }
312
+ if (size > this.indent) {
313
+ if (noNewlines) {
314
+ this.indebt = size - this.indent;
315
+ this.suppressNewlines();
316
+ return indent.length;
317
+ }
318
+ diff = size - this.indent + this.outdebt;
319
+ this.token('INDENT', diff);
320
+ this.indents.push(diff);
321
+ this.ends.push('OUTDENT');
322
+ this.outdebt = this.indebt = 0;
323
+ } else {
324
+ this.indebt = 0;
325
+ this.outdentToken(this.indent - size, noNewlines);
326
+ }
327
+ this.indent = size;
328
+ return indent.length;
329
+ };
330
+
331
+ Lexer.prototype.outdentToken = function(moveOut, noNewlines) {
332
+ var dent, len;
333
+ while (moveOut > 0) {
334
+ len = this.indents.length - 1;
335
+ if (this.indents[len] === void 0) {
336
+ moveOut = 0;
337
+ } else if (this.indents[len] === this.outdebt) {
338
+ moveOut -= this.outdebt;
339
+ this.outdebt = 0;
340
+ } else if (this.indents[len] < this.outdebt) {
341
+ this.outdebt -= this.indents[len];
342
+ moveOut -= this.indents[len];
343
+ } else {
344
+ dent = this.indents.pop() - this.outdebt;
345
+ moveOut -= dent;
346
+ this.outdebt = 0;
347
+ this.pair('OUTDENT');
348
+ this.token('OUTDENT', dent);
349
+ }
350
+ }
351
+ if (dent) {
352
+ this.outdebt -= moveOut;
353
+ }
354
+ while (this.value() === ';') {
355
+ this.tokens.pop();
356
+ }
357
+ if (!(this.tag() === 'TERMINATOR' || noNewlines)) {
358
+ this.token('TERMINATOR', '\n');
359
+ }
360
+ return this;
361
+ };
362
+
363
+ Lexer.prototype.whitespaceToken = function() {
364
+ var match, nline, prev;
365
+ if (!((match = WHITESPACE.exec(this.chunk)) || (nline = this.chunk.charAt(0) === '\n'))) {
366
+ return 0;
367
+ }
368
+ prev = last(this.tokens);
369
+ if (prev) {
370
+ prev[match ? 'spaced' : 'newLine'] = true;
371
+ }
372
+ if (match) {
373
+ return match[0].length;
374
+ } else {
375
+ return 0;
376
+ }
377
+ };
378
+
379
+ Lexer.prototype.newlineToken = function() {
380
+ while (this.value() === ';') {
381
+ this.tokens.pop();
382
+ }
383
+ if (this.tag() !== 'TERMINATOR') {
384
+ this.token('TERMINATOR', '\n');
385
+ }
386
+ return this;
387
+ };
388
+
389
+ Lexer.prototype.suppressNewlines = function() {
390
+ if (this.value() === '\\') {
391
+ this.tokens.pop();
392
+ }
393
+ return this;
394
+ };
395
+
396
+ Lexer.prototype.literalToken = function() {
397
+ var match, prev, tag, value, _ref2, _ref3, _ref4, _ref5;
398
+ if (match = OPERATOR.exec(this.chunk)) {
399
+ value = match[0];
400
+ if (CODE.test(value)) {
401
+ this.tagParameters();
402
+ }
403
+ } else {
404
+ value = this.chunk.charAt(0);
405
+ }
406
+ tag = value;
407
+ prev = last(this.tokens);
408
+ if (value === '=' && prev) {
409
+ if (!prev[1].reserved && (_ref2 = prev[1], __indexOf.call(JS_FORBIDDEN, _ref2) >= 0)) {
410
+ this.error("reserved word \"" + (this.value()) + "\" can't be assigned");
411
+ }
412
+ if ((_ref3 = prev[1]) === '||' || _ref3 === '&&') {
413
+ prev[0] = 'COMPOUND_ASSIGN';
414
+ prev[1] += '=';
415
+ return value.length;
416
+ }
417
+ }
418
+ if (value === ';') {
419
+ this.seenFor = false;
420
+ tag = 'TERMINATOR';
421
+ } else if (__indexOf.call(MATH, value) >= 0) {
422
+ tag = 'MATH';
423
+ } else if (__indexOf.call(COMPARE, value) >= 0) {
424
+ tag = 'COMPARE';
425
+ } else if (__indexOf.call(COMPOUND_ASSIGN, value) >= 0) {
426
+ tag = 'COMPOUND_ASSIGN';
427
+ } else if (__indexOf.call(UNARY, value) >= 0) {
428
+ tag = 'UNARY';
429
+ } else if (__indexOf.call(SHIFT, value) >= 0) {
430
+ tag = 'SHIFT';
431
+ } else if (__indexOf.call(LOGIC, value) >= 0 || value === '?' && (prev != null ? prev.spaced : void 0)) {
432
+ tag = 'LOGIC';
433
+ } else if (prev && !prev.spaced) {
434
+ if (value === '(' && (_ref4 = prev[0], __indexOf.call(CALLABLE, _ref4) >= 0)) {
435
+ if (prev[0] === '?') {
436
+ prev[0] = 'FUNC_EXIST';
437
+ }
438
+ tag = 'CALL_START';
439
+ } else if (value === '[' && (_ref5 = prev[0], __indexOf.call(INDEXABLE, _ref5) >= 0)) {
440
+ tag = 'INDEX_START';
441
+ switch (prev[0]) {
442
+ case '?':
443
+ prev[0] = 'INDEX_SOAK';
444
+ }
445
+ }
446
+ }
447
+ switch (value) {
448
+ case '(':
449
+ case '{':
450
+ case '[':
451
+ this.ends.push(INVERSES[value]);
452
+ break;
453
+ case ')':
454
+ case '}':
455
+ case ']':
456
+ this.pair(value);
457
+ }
458
+ this.token(tag, value);
459
+ return value.length;
460
+ };
461
+
462
+ Lexer.prototype.sanitizeHeredoc = function(doc, options) {
463
+ var attempt, herecomment, indent, match, _ref2;
464
+ indent = options.indent, herecomment = options.herecomment;
465
+ if (herecomment) {
466
+ if (HEREDOC_ILLEGAL.test(doc)) {
467
+ this.error("block comment cannot contain \"*/\", starting");
468
+ }
469
+ if (doc.indexOf('\n') <= 0) {
470
+ return doc;
471
+ }
472
+ } else {
473
+ while (match = HEREDOC_INDENT.exec(doc)) {
474
+ attempt = match[1];
475
+ if (indent === null || (0 < (_ref2 = attempt.length) && _ref2 < indent.length)) {
476
+ indent = attempt;
477
+ }
478
+ }
479
+ }
480
+ if (indent) {
481
+ doc = doc.replace(RegExp("\\n" + indent, "g"), '\n');
482
+ }
483
+ if (!herecomment) {
484
+ doc = doc.replace(/^\n/, '');
485
+ }
486
+ return doc;
487
+ };
488
+
489
+ Lexer.prototype.tagParameters = function() {
490
+ var i, stack, tok, tokens;
491
+ if (this.tag() !== ')') {
492
+ return this;
493
+ }
494
+ stack = [];
495
+ tokens = this.tokens;
496
+ i = tokens.length;
497
+ tokens[--i][0] = 'PARAM_END';
498
+ while (tok = tokens[--i]) {
499
+ switch (tok[0]) {
500
+ case ')':
501
+ stack.push(tok);
502
+ break;
503
+ case '(':
504
+ case 'CALL_START':
505
+ if (stack.length) {
506
+ stack.pop();
507
+ } else if (tok[0] === '(') {
508
+ tok[0] = 'PARAM_START';
509
+ return this;
510
+ } else {
511
+ return this;
512
+ }
513
+ }
514
+ }
515
+ return this;
516
+ };
517
+
518
+ Lexer.prototype.closeIndentation = function() {
519
+ return this.outdentToken(this.indent);
520
+ };
521
+
522
+ Lexer.prototype.balancedString = function(str, end) {
523
+ var continueCount, i, letter, match, prev, stack, _i, _ref2;
524
+ continueCount = 0;
525
+ stack = [end];
526
+ for (i = _i = 1, _ref2 = str.length; 1 <= _ref2 ? _i < _ref2 : _i > _ref2; i = 1 <= _ref2 ? ++_i : --_i) {
527
+ if (continueCount) {
528
+ --continueCount;
529
+ continue;
530
+ }
531
+ switch (letter = str.charAt(i)) {
532
+ case '\\':
533
+ ++continueCount;
534
+ continue;
535
+ case end:
536
+ stack.pop();
537
+ if (!stack.length) {
538
+ return str.slice(0, +i + 1 || 9e9);
539
+ }
540
+ end = stack[stack.length - 1];
541
+ continue;
542
+ }
543
+ if (end === '}' && (letter === '"' || letter === "'")) {
544
+ stack.push(end = letter);
545
+ } else if (end === '}' && letter === '/' && (match = HEREGEX.exec(str.slice(i)) || REGEX.exec(str.slice(i)))) {
546
+ continueCount += match[0].length - 1;
547
+ } else if (end === '}' && letter === '{') {
548
+ stack.push(end = '}');
549
+ } else if (end === '"' && prev === '#' && letter === '{') {
550
+ stack.push(end = '}');
551
+ }
552
+ prev = letter;
553
+ }
554
+ return this.error("missing " + (stack.pop()) + ", starting");
555
+ };
556
+
557
+ Lexer.prototype.interpolateString = function(str, options) {
558
+ var expr, heredoc, i, inner, interpolated, len, letter, nested, pi, regex, tag, tokens, value, _i, _len, _ref2, _ref3, _ref4;
559
+ if (options == null) {
560
+ options = {};
561
+ }
562
+ heredoc = options.heredoc, regex = options.regex;
563
+ tokens = [];
564
+ pi = 0;
565
+ i = -1;
566
+ while (letter = str.charAt(i += 1)) {
567
+ if (letter === '\\') {
568
+ i += 1;
569
+ continue;
570
+ }
571
+ if (!(letter === '#' && str.charAt(i + 1) === '{' && (expr = this.balancedString(str.slice(i + 1), '}')))) {
572
+ continue;
573
+ }
574
+ if (pi < i) {
575
+ tokens.push(['NEOSTRING', str.slice(pi, i)]);
576
+ }
577
+ inner = expr.slice(1, -1);
578
+ if (inner.length) {
579
+ nested = new Lexer().tokenize(inner, {
580
+ line: this.line,
581
+ rewrite: false
582
+ });
583
+ nested.pop();
584
+ if (((_ref2 = nested[0]) != null ? _ref2[0] : void 0) === 'TERMINATOR') {
585
+ nested.shift();
586
+ }
587
+ if (len = nested.length) {
588
+ if (len > 1) {
589
+ nested.unshift(['(', '(', this.line]);
590
+ nested.push([')', ')', this.line]);
591
+ }
592
+ tokens.push(['TOKENS', nested]);
593
+ }
594
+ }
595
+ i += expr.length;
596
+ pi = i + 1;
597
+ }
598
+ if ((i > pi && pi < str.length)) {
599
+ tokens.push(['NEOSTRING', str.slice(pi)]);
600
+ }
601
+ if (regex) {
602
+ return tokens;
603
+ }
604
+ if (!tokens.length) {
605
+ return this.token('STRING', '""');
606
+ }
607
+ if (tokens[0][0] !== 'NEOSTRING') {
608
+ tokens.unshift(['', '']);
609
+ }
610
+ if (interpolated = tokens.length > 1) {
611
+ this.token('(', '(');
612
+ }
613
+ for (i = _i = 0, _len = tokens.length; _i < _len; i = ++_i) {
614
+ _ref3 = tokens[i], tag = _ref3[0], value = _ref3[1];
615
+ if (i) {
616
+ this.token('+', '+');
617
+ }
618
+ if (tag === 'TOKENS') {
619
+ (_ref4 = this.tokens).push.apply(_ref4, value);
620
+ } else {
621
+ this.token('STRING', this.makeString(value, '"', heredoc));
622
+ }
623
+ }
624
+ if (interpolated) {
625
+ this.token(')', ')');
626
+ }
627
+ return tokens;
628
+ };
629
+
630
+ Lexer.prototype.pair = function(tag) {
631
+ var size, wanted;
632
+ if (tag !== (wanted = last(this.ends))) {
633
+ if ('OUTDENT' !== wanted) {
634
+ this.error("unmatched " + tag);
635
+ }
636
+ this.indent -= size = last(this.indents);
637
+ this.outdentToken(size, true);
638
+ return this.pair(tag);
639
+ }
640
+ return this.ends.pop();
641
+ };
642
+
643
+ Lexer.prototype.token = function(tag, value) {
644
+ return this.tokens.push([tag, value, this.line]);
645
+ };
646
+
647
+ Lexer.prototype.tag = function(index, tag) {
648
+ var tok;
649
+ return (tok = last(this.tokens, index)) && (tag ? tok[0] = tag : tok[0]);
650
+ };
651
+
652
+ Lexer.prototype.value = function(index, val) {
653
+ var tok;
654
+ return (tok = last(this.tokens, index)) && (val ? tok[1] = val : tok[1]);
655
+ };
656
+
657
+ Lexer.prototype.unfinished = function() {
658
+ var _ref2;
659
+ return LINE_CONTINUER.test(this.chunk) || ((_ref2 = this.tag()) === '\\' || _ref2 === '.' || _ref2 === '?.' || _ref2 === 'UNARY' || _ref2 === 'MATH' || _ref2 === '+' || _ref2 === '-' || _ref2 === 'SHIFT' || _ref2 === 'RELATION' || _ref2 === 'COMPARE' || _ref2 === 'LOGIC' || _ref2 === 'THROW' || _ref2 === 'EXTENDS');
660
+ };
661
+
662
+ Lexer.prototype.escapeLines = function(str, heredoc) {
663
+ return str.replace(MULTILINER, heredoc ? '\\n' : '');
664
+ };
665
+
666
+ Lexer.prototype.makeString = function(body, quote, heredoc) {
667
+ if (!body) {
668
+ return quote + quote;
669
+ }
670
+ body = body.replace(/\\([\s\S])/g, function(match, contents) {
671
+ if (contents === '\n' || contents === quote) {
672
+ return contents;
673
+ } else {
674
+ return match;
675
+ }
676
+ });
677
+ body = body.replace(RegExp("" + quote, "g"), '\\$&');
678
+ return quote + this.escapeLines(body, heredoc) + quote;
679
+ };
680
+
681
+ Lexer.prototype.error = function(message) {
682
+ throw SyntaxError("" + message + " on line " + (this.line + 1));
683
+ };
684
+
685
+ return Lexer;
686
+
687
+ })();
688
+
689
+ JS_KEYWORDS = ['true', 'false', 'null', 'this', 'new', 'delete', 'typeof', 'in', 'instanceof', 'return', 'throw', 'break', 'continue', 'debugger', 'if', 'else', 'switch', 'for', 'while', 'do', 'try', 'catch', 'finally', 'class', 'extends', 'super'];
690
+
691
+ COFFEE_KEYWORDS = ['undefined', 'then', 'unless', 'until', 'loop', 'of', 'by', 'when'];
692
+
693
+ COFFEE_ALIAS_MAP = {
694
+ and: '&&',
695
+ or: '||',
696
+ is: '==',
697
+ isnt: '!=',
698
+ not: '!',
699
+ yes: 'true',
700
+ no: 'false',
701
+ on: 'true',
702
+ off: 'false'
703
+ };
704
+
705
+ COFFEE_ALIASES = (function() {
706
+ var _results;
707
+ _results = [];
708
+ for (key in COFFEE_ALIAS_MAP) {
709
+ _results.push(key);
710
+ }
711
+ return _results;
712
+ })();
713
+
714
+ COFFEE_KEYWORDS = COFFEE_KEYWORDS.concat(COFFEE_ALIASES);
715
+
716
+ RESERVED = ['case', 'default', 'function', 'var', 'void', 'with', 'const', 'let', 'enum', 'export', 'import', 'native', '__hasProp', '__extends', '__slice', '__bind', '__indexOf', 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield'];
717
+
718
+ STRICT_PROSCRIBED = ['arguments', 'eval'];
719
+
720
+ JS_FORBIDDEN = JS_KEYWORDS.concat(RESERVED).concat(STRICT_PROSCRIBED);
721
+
722
+ exports.RESERVED = RESERVED.concat(JS_KEYWORDS).concat(COFFEE_KEYWORDS).concat(STRICT_PROSCRIBED);
723
+
724
+ exports.STRICT_PROSCRIBED = STRICT_PROSCRIBED;
725
+
726
+ IDENTIFIER = /^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/;
727
+
728
+ NUMBER = /^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i;
729
+
730
+ HEREDOC = /^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/;
731
+
732
+ OPERATOR = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?\.|\.{2,3})/;
733
+
734
+ WHITESPACE = /^[^\n\S]+/;
735
+
736
+ COMMENT = /^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)?$)|^(?:\s*#(?!##[^#]).*)+/;
737
+
738
+ CODE = /^[-=]>/;
739
+
740
+ MULTI_DENT = /^(?:\n[^\n\S]*)+/;
741
+
742
+ SIMPLESTR = /^'[^\\']*(?:\\.[^\\']*)*'/;
743
+
744
+ JSTOKEN = /^`[^\\`]*(?:\\.[^\\`]*)*`/;
745
+
746
+ REGEX = /^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/;
747
+
748
+ HEREGEX = /^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/;
749
+
750
+ HEREGEX_OMIT = /\s+(?:#.*)?/g;
751
+
752
+ MULTILINER = /\n/g;
753
+
754
+ HEREDOC_INDENT = /\n+([^\n\S]*)/g;
755
+
756
+ HEREDOC_ILLEGAL = /\*\//;
757
+
758
+ LINE_CONTINUER = /^\s*(?:,|\??\.(?![.\d])|::)/;
759
+
760
+ TRAILING_SPACES = /\s+$/;
761
+
762
+ COMPOUND_ASSIGN = ['-=', '+=', '/=', '*=', '%=', '||=', '&&=', '?=', '<<=', '>>=', '>>>=', '&=', '^=', '|='];
763
+
764
+ UNARY = ['!', '~', 'NEW', 'TYPEOF', 'DELETE', 'DO'];
765
+
766
+ LOGIC = ['&&', '||', '&', '|', '^'];
767
+
768
+ SHIFT = ['<<', '>>', '>>>'];
769
+
770
+ COMPARE = ['==', '!=', '<', '>', '<=', '>='];
771
+
772
+ MATH = ['*', '/', '%'];
773
+
774
+ RELATION = ['IN', 'OF', 'INSTANCEOF'];
775
+
776
+ BOOL = ['TRUE', 'FALSE'];
777
+
778
+ NOT_REGEX = ['NUMBER', 'REGEX', 'BOOL', 'NULL', 'UNDEFINED', '++', '--', ']'];
779
+
780
+ NOT_SPACED_REGEX = NOT_REGEX.concat(')', '}', 'THIS', 'IDENTIFIER', 'STRING');
781
+
782
+ CALLABLE = ['IDENTIFIER', 'STRING', 'REGEX', ')', ']', '}', '?', '::', '@', 'THIS', 'SUPER'];
783
+
784
+ INDEXABLE = CALLABLE.concat('NUMBER', 'BOOL', 'NULL', 'UNDEFINED');
785
+
786
+ LINE_BREAK = ['INDENT', 'OUTDENT', 'TERMINATOR'];
787
+
788
+ }).call(this);