sproutit-narwhal 0.1.106

Sign up to get free protection for your applications and to get access to all the features.
Files changed (291) hide show
  1. data/DISTRIBUTION.yml +15 -0
  2. data/README.md +86 -0
  3. data/Rakefile +349 -0
  4. data/VERSION.yml +7 -0
  5. data/bin/activate +50 -0
  6. data/bin/activate.bash +50 -0
  7. data/bin/activate.cmd +3 -0
  8. data/bin/js +67 -0
  9. data/bin/json +2 -0
  10. data/bin/narwhal +67 -0
  11. data/bin/narwhal.cmd +29 -0
  12. data/bin/sea +45 -0
  13. data/bin/sea.cmd +25 -0
  14. data/bin/tusk +2 -0
  15. data/bin/tusk.cmd +5 -0
  16. data/catalog.json +902 -0
  17. data/docs/available-packages.md +32 -0
  18. data/docs/browser-api-plan.md +290 -0
  19. data/docs/browser-api.md +153 -0
  20. data/docs/download.md +25 -0
  21. data/docs/engines.md +32 -0
  22. data/docs/json-tool.md +121 -0
  23. data/docs/lib/binary.wiki +242 -0
  24. data/docs/lib/file.wiki +325 -0
  25. data/docs/lib/os/popen.md +70 -0
  26. data/docs/modules.md +38 -0
  27. data/docs/narwhal.md +487 -0
  28. data/docs/packages-howto.md +32 -0
  29. data/docs/packages.md +30 -0
  30. data/docs/posts/2009-07-29-hello-0.1.md +19 -0
  31. data/docs/quick-start.md +69 -0
  32. data/docs/sea.md +49 -0
  33. data/engines/browser/lib/binary.js +2 -0
  34. data/engines/browser/lib/reactor.js +21 -0
  35. data/engines/browser/lib/system.js +3 -0
  36. data/engines/default/lib/array.js +164 -0
  37. data/engines/default/lib/binary-engine.js +53 -0
  38. data/engines/default/lib/binary.js +755 -0
  39. data/engines/default/lib/date.js +8 -0
  40. data/engines/default/lib/file-engine.js +119 -0
  41. data/engines/default/lib/function.js +119 -0
  42. data/engines/default/lib/global.js +11 -0
  43. data/engines/default/lib/io-engine.js +26 -0
  44. data/engines/default/lib/json.js +488 -0
  45. data/engines/default/lib/object.js +69 -0
  46. data/engines/default/lib/os-engine.js +3 -0
  47. data/engines/default/lib/reactor.js +12 -0
  48. data/engines/default/lib/string.js +84 -0
  49. data/engines/default/lib/system.js +20 -0
  50. data/engines/default/lib/worker.js +133 -0
  51. data/engines/jsc/README.md +18 -0
  52. data/engines/jsc/bootstrap.js +53 -0
  53. data/engines/jsc/deps/http-parser/LICENSE +77 -0
  54. data/engines/jsc/deps/http-parser/README.md +145 -0
  55. data/engines/jsc/deps/http-parser/http_parser.c +6087 -0
  56. data/engines/jsc/deps/http-parser/http_parser.h +141 -0
  57. data/engines/jsc/deps/http-parser/http_parser.rl +500 -0
  58. data/engines/jsc/deps/http-parser/test.c +858 -0
  59. data/engines/jsc/include/binary-engine.h +11 -0
  60. data/engines/jsc/include/io-engine.h +23 -0
  61. data/engines/jsc/include/narwhal.h +427 -0
  62. data/engines/jsc/lib/file-engine.js +31 -0
  63. data/engines/jsc/lib/http.js +1 -0
  64. data/engines/jsc/lib/io-engine.js +202 -0
  65. data/engines/jsc/lib/os-engine.js +25 -0
  66. data/engines/jsc/lib/system.js +18 -0
  67. data/engines/jsc/lib/zip.js +1 -0
  68. data/engines/jsc/narwhal-jsc.c +273 -0
  69. data/engines/jsc/narwhal.c +29 -0
  70. data/engines/jsc/package.json +8 -0
  71. data/engines/jsc/src/binary-engine.cc +290 -0
  72. data/engines/jsc/src/file-engine.cc +405 -0
  73. data/engines/jsc/src/io-engine.cc +423 -0
  74. data/engines/jsc/src/jack/handler/jill.cc +710 -0
  75. data/engines/jsc/src/os-engine.cc +210 -0
  76. data/engines/rhino/bin/narwhal-rhino +68 -0
  77. data/engines/rhino/bin/narwhal-rhino.cmd +34 -0
  78. data/engines/rhino/bootstrap.js +119 -0
  79. data/engines/rhino/jars/jline.jar +0 -0
  80. data/engines/rhino/jars/jna.jar +0 -0
  81. data/engines/rhino/jars/js.jar +0 -0
  82. data/engines/rhino/lib/binary-engine.js +83 -0
  83. data/engines/rhino/lib/concurrency.js +6 -0
  84. data/engines/rhino/lib/event-queue.js +18 -0
  85. data/engines/rhino/lib/file-engine.js +216 -0
  86. data/engines/rhino/lib/http-client-engine.js +90 -0
  87. data/engines/rhino/lib/http-engine.js +10 -0
  88. data/engines/rhino/lib/io-engine.js +347 -0
  89. data/engines/rhino/lib/md5-engine.js +40 -0
  90. data/engines/rhino/lib/os-engine.js +150 -0
  91. data/engines/rhino/lib/packages-engine.js +71 -0
  92. data/engines/rhino/lib/sandbox-engine.js +70 -0
  93. data/engines/rhino/lib/system.js +38 -0
  94. data/engines/rhino/lib/worker-engine.js +23 -0
  95. data/engines/rhino/lib/zip.js +78 -0
  96. data/engines/rhino/package.json +4 -0
  97. data/engines/secure/lib/file.js +6 -0
  98. data/engines/secure/lib/system.js +6 -0
  99. data/engines/template/bin/narwhal-engine-name +32 -0
  100. data/engines/template/bootstrap.js +40 -0
  101. data/engines/template/lib/file-engine.js +118 -0
  102. data/engines/template/lib/system.js +17 -0
  103. data/examples/browser-deployment-jackconfig.js +35 -0
  104. data/examples/fibonacci-worker.js +35 -0
  105. data/examples/fibonacci.js +19 -0
  106. data/examples/hello +2 -0
  107. data/examples/narwhal +3 -0
  108. data/examples/not-quite-a-quine.js +1 -0
  109. data/extconf.rb +44 -0
  110. data/gem_bin/narwhal +5 -0
  111. data/gem_bin/sea +4 -0
  112. data/gem_bin/tusk +4 -0
  113. data/lib/args.js +849 -0
  114. data/lib/base16.js +16 -0
  115. data/lib/base64.js +120 -0
  116. data/lib/codec/base64.js +8 -0
  117. data/lib/crc32.js +60 -0
  118. data/lib/file-bootstrap.js +187 -0
  119. data/lib/file.js +659 -0
  120. data/lib/hash.js +28 -0
  121. data/lib/hashp.js +65 -0
  122. data/lib/html.js +16 -0
  123. data/lib/http-client.js +134 -0
  124. data/lib/http.js +17 -0
  125. data/lib/io.js +98 -0
  126. data/lib/jsmin.js +315 -0
  127. data/lib/jsonpath.js +89 -0
  128. data/lib/logger.js +55 -0
  129. data/lib/md4.js +146 -0
  130. data/lib/md5.js +164 -0
  131. data/lib/mime.js +166 -0
  132. data/lib/narwhal.js +102 -0
  133. data/lib/narwhal/client.js +261 -0
  134. data/lib/narwhal/compile.js +99 -0
  135. data/lib/narwhal/env.js +140 -0
  136. data/lib/narwhal/inline.js +106 -0
  137. data/lib/narwhal/json.js +324 -0
  138. data/lib/narwhal/json.md +178 -0
  139. data/lib/narwhal/repl.js +96 -0
  140. data/lib/narwhal/server-test.js +6 -0
  141. data/lib/narwhal/server.js +270 -0
  142. data/lib/narwhal/tusk.js +170 -0
  143. data/lib/narwhal/tusk/bin.js +13 -0
  144. data/lib/narwhal/tusk/bundle.js +0 -0
  145. data/lib/narwhal/tusk/catalog.js +22 -0
  146. data/lib/narwhal/tusk/clone.js +66 -0
  147. data/lib/narwhal/tusk/consolidate.js +25 -0
  148. data/lib/narwhal/tusk/create-catalog.js +80 -0
  149. data/lib/narwhal/tusk/engine.js +42 -0
  150. data/lib/narwhal/tusk/freeze.js +0 -0
  151. data/lib/narwhal/tusk/init.js +56 -0
  152. data/lib/narwhal/tusk/install.js +288 -0
  153. data/lib/narwhal/tusk/list.js +20 -0
  154. data/lib/narwhal/tusk/orphans.js +0 -0
  155. data/lib/narwhal/tusk/reheat.js +15 -0
  156. data/lib/narwhal/tusk/remove.js +15 -0
  157. data/lib/narwhal/tusk/search.js +145 -0
  158. data/lib/narwhal/tusk/update.js +21 -0
  159. data/lib/narwhal/tusk/upgrade.js +0 -0
  160. data/lib/os.js +33 -0
  161. data/lib/packages.js +423 -0
  162. data/lib/printf.js +169 -0
  163. data/lib/promise.js +352 -0
  164. data/lib/querystring.js +176 -0
  165. data/lib/ref-send.js +257 -0
  166. data/lib/regexp.js +12 -0
  167. data/lib/sandbox.js +422 -0
  168. data/lib/sha.js +112 -0
  169. data/lib/sha256.js +102 -0
  170. data/lib/struct.js +228 -0
  171. data/lib/term.js +179 -0
  172. data/lib/test/assert.js +95 -0
  173. data/lib/test/equiv.js +188 -0
  174. data/lib/test/jsdump.js +165 -0
  175. data/lib/test/runner.js +129 -0
  176. data/lib/unload.js +13 -0
  177. data/lib/uri.js +378 -0
  178. data/lib/url.js +5 -0
  179. data/lib/utf8.js +64 -0
  180. data/lib/util.js +985 -0
  181. data/lib/uuid.js +89 -0
  182. data/lib/xregexp.js +521 -0
  183. data/local.json.template +1 -0
  184. data/narwhal.gemspec +105 -0
  185. data/narwhal.js +213 -0
  186. data/package.json +26 -0
  187. data/packages/readline/engines/default/lib/readline.js +4 -0
  188. data/packages/readline/engines/rhino/lib/readline.js +6 -0
  189. data/packages/readline/package.json +5 -0
  190. data/sources.json +207 -0
  191. data/tests/all-tests.js +17 -0
  192. data/tests/args.js +31 -0
  193. data/tests/args/domain.js +215 -0
  194. data/tests/args/options.js +36 -0
  195. data/tests/args/shifting.js +92 -0
  196. data/tests/args/validation.js +31 -0
  197. data/tests/base64.js +23 -0
  198. data/tests/commonjs.js +3 -0
  199. data/tests/commonjs/all-tests.js +12 -0
  200. data/tests/commonjs/bytearray-encodings-tests.js +69 -0
  201. data/tests/commonjs/bytearray-tests.js +465 -0
  202. data/tests/commonjs/bytestring-encodings-tests.js +89 -0
  203. data/tests/commonjs/bytestring-tests.js +263 -0
  204. data/tests/commonjs/es5/all-tests.js +3 -0
  205. data/tests/commonjs/es5/bind.js +29 -0
  206. data/tests/commonjs/file-tests.js +315 -0
  207. data/tests/commonjs/file/dirname.js +31 -0
  208. data/tests/commonjs/file/extension.js +45 -0
  209. data/tests/commonjs/file/is-absolute.js +11 -0
  210. data/tests/commonjs/file/iterator.js +101 -0
  211. data/tests/commonjs/file/normal.js +27 -0
  212. data/tests/commonjs/file/path.js +17 -0
  213. data/tests/commonjs/file/relative.js +42 -0
  214. data/tests/commonjs/file/resolve.js +44 -0
  215. data/tests/commonjs/module-tests.js +9 -0
  216. data/tests/commonjs/modules/absolute/b.js +1 -0
  217. data/tests/commonjs/modules/absolute/program.js +5 -0
  218. data/tests/commonjs/modules/absolute/submodule/a.js +3 -0
  219. data/tests/commonjs/modules/absolute/test.js +9 -0
  220. data/tests/commonjs/modules/all-tests.js +47 -0
  221. data/tests/commonjs/modules/config.js +11 -0
  222. data/tests/commonjs/modules/cyclic/a.js +4 -0
  223. data/tests/commonjs/modules/cyclic/b.js +4 -0
  224. data/tests/commonjs/modules/cyclic/program.js +10 -0
  225. data/tests/commonjs/modules/cyclic/test.js +9 -0
  226. data/tests/commonjs/modules/determinism/program.js +3 -0
  227. data/tests/commonjs/modules/determinism/submodule/a.js +8 -0
  228. data/tests/commonjs/modules/determinism/submodule/b.js +2 -0
  229. data/tests/commonjs/modules/determinism/test.js +9 -0
  230. data/tests/commonjs/modules/exactExports/a.js +3 -0
  231. data/tests/commonjs/modules/exactExports/program.js +4 -0
  232. data/tests/commonjs/modules/exactExports/test.js +9 -0
  233. data/tests/commonjs/modules/hasOwnProperty/hasOwnProperty.js +0 -0
  234. data/tests/commonjs/modules/hasOwnProperty/program.js +3 -0
  235. data/tests/commonjs/modules/hasOwnProperty/test.js +9 -0
  236. data/tests/commonjs/modules/hasOwnProperty/toString.js +0 -0
  237. data/tests/commonjs/modules/method/a.js +12 -0
  238. data/tests/commonjs/modules/method/program.js +8 -0
  239. data/tests/commonjs/modules/method/test.js +9 -0
  240. data/tests/commonjs/modules/missing/program.js +8 -0
  241. data/tests/commonjs/modules/missing/test.js +9 -0
  242. data/tests/commonjs/modules/monkeys/a.js +1 -0
  243. data/tests/commonjs/modules/monkeys/program.js +4 -0
  244. data/tests/commonjs/modules/monkeys/test.js +9 -0
  245. data/tests/commonjs/modules/nested/a/b/c/d.js +3 -0
  246. data/tests/commonjs/modules/nested/program.js +3 -0
  247. data/tests/commonjs/modules/nested/test.js +9 -0
  248. data/tests/commonjs/modules/relative/program.js +5 -0
  249. data/tests/commonjs/modules/relative/submodule/a.js +1 -0
  250. data/tests/commonjs/modules/relative/submodule/b.js +2 -0
  251. data/tests/commonjs/modules/relative/test.js +9 -0
  252. data/tests/commonjs/modules/transitive/a.js +1 -0
  253. data/tests/commonjs/modules/transitive/b.js +1 -0
  254. data/tests/commonjs/modules/transitive/c.js +3 -0
  255. data/tests/commonjs/modules/transitive/program.js +3 -0
  256. data/tests/commonjs/modules/transitive/test.js +9 -0
  257. data/tests/file/all-tests.js +61 -0
  258. data/tests/file/fnmatch.js +102 -0
  259. data/tests/file/glob.js +466 -0
  260. data/tests/file/match.js +102 -0
  261. data/tests/global.js +6 -0
  262. data/tests/global/array.js +19 -0
  263. data/tests/hashes.js +94 -0
  264. data/tests/html.js +13 -0
  265. data/tests/io/stringio.js +21 -0
  266. data/tests/os/all-tests.js +4 -0
  267. data/tests/os/popen.js +41 -0
  268. data/tests/os/system.js +22 -0
  269. data/tests/printf.js +123 -0
  270. data/tests/query-string.js +87 -0
  271. data/tests/sandbox/byte-io.js +20 -0
  272. data/tests/sandbox/fileName.js +3 -0
  273. data/tests/sandbox/foo.js +0 -0
  274. data/tests/sandbox/reload.js +79 -0
  275. data/tests/string.js +35 -0
  276. data/tests/uri.js +41 -0
  277. data/tests/util/all-tests.js +79 -0
  278. data/tests/util/array.js +207 -0
  279. data/tests/util/array/is-arguments.js +29 -0
  280. data/tests/util/array/is-array-like.js +29 -0
  281. data/tests/util/case.js +9 -0
  282. data/tests/util/collection.js +104 -0
  283. data/tests/util/eq.js +57 -0
  284. data/tests/util/expand.js +45 -0
  285. data/tests/util/object.js +125 -0
  286. data/tests/util/operator.js +25 -0
  287. data/tests/util/range.js +19 -0
  288. data/tests/util/repr.js +26 -0
  289. data/tests/util/string.js +34 -0
  290. data/tests/util/unique.js +12 -0
  291. metadata +434 -0
data/VERSION.yml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ :minor: 1
3
+ :patch: 106
4
+ :digest: 23e331bd70fdc8569d1f0e28c18107db46f0bd3b
5
+ :dist:
6
+ engines/jsc: 89097446434f3ff6763ad41b02b0ea7b9d5794eb
7
+ :major: 0
data/bin/activate ADDED
@@ -0,0 +1,50 @@
1
+
2
+ if [ -z "${BASH_ARGV[0]}" ]; then
3
+
4
+ # as a last recourse, use the present working directory
5
+ PACKAGE_HOME=$(pwd)
6
+
7
+ else
8
+
9
+ # get the absolute path of the executable
10
+ SELF_PATH=$(
11
+ cd -P -- "$(dirname -- "${BASH_ARGV[0]}")" \
12
+ && pwd -P
13
+ ) && SELF_PATH=$SELF_PATH/$(basename -- "${BASH_ARGV[0]}")
14
+
15
+ # resolve symlinks
16
+ while [ -h "$SELF_PATH" ]; do
17
+ DIR=$(dirname -- "$SELF_PATH")
18
+ SYM=$(readlink -- "$SELF_PATH")
19
+ SELF_PATH=$(cd -- "$DIR" && cd -- $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
20
+ done
21
+
22
+ PACKAGE_HOME=$(dirname -- "$(dirname -- "$SELF_PATH")")
23
+
24
+ fi
25
+
26
+ export PACKAGE_HOME
27
+
28
+ # which -s narwhal doesn't work (os x 10.5, kriskowal)
29
+ if [ -f "$PACKAGE_HOME"/bin/narwhal ]; then
30
+ NARWHAL="$PACKAGE_HOME"/bin/narwhal
31
+ elif [ -f "$PACKAGE_HOME"/packages/narwhal/bin/narwhal ]; then
32
+ NARWHAL="$PACKAGE_HOME"/packages/narwhal/bin/narwhal
33
+ else
34
+ env narwhal -e '' >/dev/null 2>&1
35
+ if [ "$?" -ne 127 ]; then
36
+ NARWHAL=narwhal
37
+ else
38
+ echo "ERROR: narwhal is not in your PATH nor in $PACKAGE_HOME/bin." >&2
39
+ fi
40
+ fi
41
+
42
+ if [ -f "$PACKAGE_HOME"/narwhal.conf ]; then
43
+ source "$PACKAGE_HOME"/narwhal.conf
44
+ export NARWHAL_DEFAULT_ENGINE
45
+ fi
46
+
47
+ if [ "$NARWHAL" ]; then
48
+ export PATH="$("$NARWHAL" --package "$PACKAGE_HOME" --path :)"
49
+ fi
50
+
data/bin/activate.bash ADDED
@@ -0,0 +1,50 @@
1
+
2
+ if [ -z "${BASH_ARGV[0]}" ]; then
3
+
4
+ # as a last recourse, use the present working directory
5
+ PACKAGE_HOME=$(pwd)
6
+
7
+ else
8
+
9
+ # get the absolute path of the executable
10
+ SELF_PATH=$(
11
+ cd -P -- "$(dirname -- "${BASH_ARGV[0]}")" \
12
+ && pwd -P
13
+ ) && SELF_PATH=$SELF_PATH/$(basename -- "${BASH_ARGV[0]}")
14
+
15
+ # resolve symlinks
16
+ while [ -h "$SELF_PATH" ]; do
17
+ DIR=$(dirname -- "$SELF_PATH")
18
+ SYM=$(readlink -- "$SELF_PATH")
19
+ SELF_PATH=$(cd -- "$DIR" && cd -- $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
20
+ done
21
+
22
+ PACKAGE_HOME=$(dirname -- "$(dirname -- "$SELF_PATH")")
23
+
24
+ fi
25
+
26
+ export PACKAGE_HOME
27
+
28
+ # which -s narwhal doesn't work (os x 10.5, kriskowal)
29
+ if [ -f "$PACKAGE_HOME"/bin/narwhal ]; then
30
+ NARWHAL="$PACKAGE_HOME"/bin/narwhal
31
+ elif [ -f "$PACKAGE_HOME"/packages/narwhal/bin/narwhal ]; then
32
+ NARWHAL="$PACKAGE_HOME"/packages/narwhal/bin/narwhal
33
+ else
34
+ env narwhal -e '' >/dev/null 2>&1
35
+ if [ "$?" -ne 127 ]; then
36
+ NARWHAL=narwhal
37
+ else
38
+ echo "ERROR: narwhal is not in your PATH nor in $PACKAGE_HOME/bin." >&2
39
+ fi
40
+ fi
41
+
42
+ if [ -f "$PACKAGE_HOME"/narwhal.conf ]; then
43
+ source "$PACKAGE_HOME"/narwhal.conf
44
+ export NARWHAL_DEFAULT_ENGINE
45
+ fi
46
+
47
+ if [ "$NARWHAL" ]; then
48
+ export PATH="$("$NARWHAL" --package "$PACKAGE_HOME" --path :)"
49
+ fi
50
+
data/bin/activate.cmd ADDED
@@ -0,0 +1,3 @@
1
+ @echo off
2
+
3
+ set PATH=%~dp0;%PATH%
data/bin/js ADDED
@@ -0,0 +1,67 @@
1
+ #!/bin/bash
2
+
3
+ # get the absolute path of the executable
4
+ SELF_PATH=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && SELF_PATH="$SELF_PATH/$(basename -- "$0")"
5
+
6
+ # resolve symlinks
7
+ while [ -h "$SELF_PATH" ]; do
8
+ DIR=$(dirname -- "$SELF_PATH")
9
+ SYM=$(readlink -- "$SELF_PATH")
10
+ SELF_PATH=$(cd -- "$DIR" && cd -- $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
11
+ done
12
+
13
+ # NARWHAL_HOME is the 2nd ancestor directory of this shell script
14
+ NARWHAL_HOME=$(dirname -- "$(dirname -- "$SELF_PATH")")
15
+
16
+ # use Rhino as the default if none is specified in narwhal.conf
17
+ NARWHAL_DEFAULT_ENGINE="rhino"
18
+
19
+ # load narwhal.conf if it exists
20
+ if [ -f "$NARWHAL_HOME/narwhal.conf" ]; then
21
+ source "$NARWHAL_HOME"/narwhal.conf
22
+ fi
23
+
24
+ # load narwhal.local.conf in pwd if it exists
25
+ if [ -f "narwhal.local.conf" ]; then
26
+ source "narwhal.local.conf"
27
+ fi
28
+
29
+ if [ -n "$NARWHAL_DEBUG" ]; then
30
+ export NARWHAL_DEBUG
31
+ fi
32
+
33
+ # if NARWHAL_ENGINE isn't yet set, set it to the default engine, and export it
34
+ if [ -z "$NARWHAL_ENGINE" ]; then
35
+ NARWHAL_ENGINE=$NARWHAL_DEFAULT_ENGINE
36
+ fi
37
+ export NARWHAL_HOME
38
+
39
+ # build the executable name for the engine
40
+ EXECUTABLE_NAME="narwhal-$NARWHAL_ENGINE"
41
+
42
+ # search for the engine home directory
43
+ # try narwhal.conf setting
44
+ if [ "$NARWHAL_ENGINE_HOME" ]; then
45
+ export NARWHAL_ENGINE_HOME=$(cd -P -- "$NARWHAL_HOME" && cd -P -- "$NARWHAL_ENGINE_HOME" && pwd -P)
46
+ # try relative, engines
47
+ elif [ -f "$NARWHAL_HOME/engines/$NARWHAL_ENGINE/bin/$EXECUTABLE_NAME" ]; then
48
+ export NARWHAL_ENGINE_HOME="$NARWHAL_HOME/engines/$NARWHAL_ENGINE"
49
+ # try relative, packages
50
+ elif [ -f "$NARWHAL_HOME/packages/narwhal-$NARWHAL_ENGINE/bin/$EXECUTABLE_NAME" ]; then
51
+ export NARWHAL_ENGINE_HOME="$NARWHAL_HOME/packages/narwhal-$NARWHAL_ENGINE"
52
+ # try $PATH
53
+ elif which -s "$EXECUTABLE_NAME"; then
54
+ EXECUTABLE_PATH=$(which "$EXECUTABLE_NAME")
55
+ # resolve symlinks
56
+ while [ -h "$EXECUTABLE_PATH" ]; do
57
+ DIR=$(dirname -- "$EXECUTABLE_PATH")
58
+ SYM=$(readlink -- "$EXECUTABLE_PATH")
59
+ EXECUTABLE_PATH=$(cd -- "$DIR" && cd -- $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
60
+ done
61
+ export NARWHAL_ENGINE_HOME=$(dirname -- "$(dirname -- "$EXECUTABLE_PATH")")
62
+ else
63
+ echo "Can't find executable for $NARWHAL_ENGINE"
64
+ exit 1
65
+ fi
66
+
67
+ exec "$NARWHAL_ENGINE_HOME"/bin/"$EXECUTABLE_NAME" "$@"
data/bin/json ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env narwhal
2
+ require("narwhal/json").main(system);
data/bin/narwhal ADDED
@@ -0,0 +1,67 @@
1
+ #!/bin/bash
2
+
3
+ # get the absolute path of the executable
4
+ SELF_PATH=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && SELF_PATH="$SELF_PATH/$(basename -- "$0")"
5
+
6
+ # resolve symlinks
7
+ while [ -h "$SELF_PATH" ]; do
8
+ DIR=$(dirname -- "$SELF_PATH")
9
+ SYM=$(readlink -- "$SELF_PATH")
10
+ SELF_PATH=$(cd -- "$DIR" && cd -- $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
11
+ done
12
+
13
+ # NARWHAL_HOME is the 2nd ancestor directory of this shell script
14
+ NARWHAL_HOME=$(dirname -- "$(dirname -- "$SELF_PATH")")
15
+
16
+ # use Rhino as the default if none is specified in narwhal.conf
17
+ NARWHAL_DEFAULT_ENGINE="rhino"
18
+
19
+ # load narwhal.conf if it exists
20
+ if [ -f "$NARWHAL_HOME/narwhal.conf" ]; then
21
+ source "$NARWHAL_HOME"/narwhal.conf
22
+ fi
23
+
24
+ # load narwhal.local.conf in pwd if it exists
25
+ if [ -f "narwhal.local.conf" ]; then
26
+ source "narwhal.local.conf"
27
+ fi
28
+
29
+ if [ -n "$NARWHAL_DEBUG" ]; then
30
+ export NARWHAL_DEBUG
31
+ fi
32
+
33
+ # if NARWHAL_ENGINE isn't yet set, set it to the default engine, and export it
34
+ if [ -z "$NARWHAL_ENGINE" ]; then
35
+ NARWHAL_ENGINE=$NARWHAL_DEFAULT_ENGINE
36
+ fi
37
+ export NARWHAL_HOME
38
+
39
+ # build the executable name for the engine
40
+ EXECUTABLE_NAME="narwhal-$NARWHAL_ENGINE"
41
+
42
+ # search for the engine home directory
43
+ # try narwhal.conf setting
44
+ if [ "$NARWHAL_ENGINE_HOME" ]; then
45
+ export NARWHAL_ENGINE_HOME=$(cd -P -- "$NARWHAL_HOME" && cd -P -- "$NARWHAL_ENGINE_HOME" && pwd -P)
46
+ # try relative, engines
47
+ elif [ -f "$NARWHAL_HOME/engines/$NARWHAL_ENGINE/bin/$EXECUTABLE_NAME" ]; then
48
+ export NARWHAL_ENGINE_HOME="$NARWHAL_HOME/engines/$NARWHAL_ENGINE"
49
+ # try relative, packages
50
+ elif [ -f "$NARWHAL_HOME/packages/narwhal-$NARWHAL_ENGINE/bin/$EXECUTABLE_NAME" ]; then
51
+ export NARWHAL_ENGINE_HOME="$NARWHAL_HOME/packages/narwhal-$NARWHAL_ENGINE"
52
+ # try $PATH
53
+ elif which -s "$EXECUTABLE_NAME"; then
54
+ EXECUTABLE_PATH=$(which "$EXECUTABLE_NAME")
55
+ # resolve symlinks
56
+ while [ -h "$EXECUTABLE_PATH" ]; do
57
+ DIR=$(dirname -- "$EXECUTABLE_PATH")
58
+ SYM=$(readlink -- "$EXECUTABLE_PATH")
59
+ EXECUTABLE_PATH=$(cd -- "$DIR" && cd -- $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
60
+ done
61
+ export NARWHAL_ENGINE_HOME=$(dirname -- "$(dirname -- "$EXECUTABLE_PATH")")
62
+ else
63
+ echo "Can't find executable for $NARWHAL_ENGINE"
64
+ exit 1
65
+ fi
66
+
67
+ exec "$NARWHAL_ENGINE_HOME"/bin/"$EXECUTABLE_NAME" "$@"
data/bin/narwhal.cmd ADDED
@@ -0,0 +1,29 @@
1
+ @echo off
2
+ setlocal
3
+
4
+ :: NARWHAL_HOME is the parent of the bin directory
5
+ set NARWHAL_HOME=%~dp0..
6
+
7
+ :: use Rhino as the default if none is specified in narwhal.conf
8
+ set NARWHAL_DEFAULT_ENGINE=rhino
9
+
10
+ :: TODO: load narwhal.conf if it exists
11
+
12
+ :: if NARWHAL_ENGINE isn't yet set, set it to the default engine, and export it
13
+ if not defined NARWHAL_ENGINE (
14
+ set NARWHAL_ENGINE=%NARWHAL_DEFAULT_ENGINE%
15
+ )
16
+
17
+ :: build the executable name for the engine
18
+ set EXECUTABLE_NAME=narwhal-%NARWHAL_ENGINE%.cmd
19
+
20
+ :: search for the engine home directory
21
+ :: TODO: look for more, including ".exe"?
22
+ if exist "%NARWHAL_HOME%\engines\%NARWHAL_ENGINE%." (
23
+ set NARWHAL_ENGINE_HOME=%NARWHAL_HOME%\engines\%NARWHAL_ENGINE%
24
+ ) else (
25
+ echo Can't find executable for %NARWHAL_ENGINE%
26
+ exit /b 1
27
+ )
28
+
29
+ call "%NARWHAL_ENGINE_HOME%\bin\%EXECUTABLE_NAME%" %*
data/bin/sea ADDED
@@ -0,0 +1,45 @@
1
+ #!/bin/bash
2
+
3
+ # this script is intended to work both in narwhal/bin and in
4
+ # any project's bin dir; it's copied by tusk --init.
5
+
6
+ function enquote_all () {
7
+ ARGS=""
8
+ for ARG in "$@"; do
9
+ [ -n "$ARGS" ] && ARGS="$ARGS "
10
+ ARGS="$ARGS'""$(echo " $ARG" | cut -c 2- | sed 's/'"'"'/'"'"'"'"'"'"'"'"'/g')""'"
11
+ done
12
+ echo "$ARGS"
13
+ }
14
+
15
+ # get the absolute path of the executable
16
+ SELF_PATH=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && SELF_PATH=$SELF_PATH/$(basename -- "$0")
17
+
18
+ # resolve symlinks
19
+ while [ -h "$SELF_PATH" ]; do
20
+ DIR=$(dirname -- "$SELF_PATH")
21
+ SYM=$(readlink -- "$SELF_PATH")
22
+ SELF_PATH=$(cd -- "$DIR" && cd -- $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM")
23
+ done
24
+
25
+ export PACKAGE_HOME=$(dirname -- "$(dirname -- "$SELF_PATH")")
26
+
27
+ source "$PACKAGE_HOME/bin/activate.bash"
28
+
29
+ export OLDSEA="$SEA"
30
+ export SEA="$PACKAGE_HOME"
31
+ export SEALVL="$((SEALVL + 1))"
32
+
33
+ if [ "$#" -lt 1 ]; then
34
+ echo PATH="$PATH" >&2
35
+ echo SEA="$SEA" >&2
36
+ echo SEALVL="$SEALVL" >&2
37
+ "$SHELL"
38
+ else
39
+ "$SHELL" -c "$(enquote_all "$@")"
40
+ fi
41
+ if [ "$OLDSEA" != "" ]; then
42
+ echo SEA="$OLDSEA" >&2
43
+ fi
44
+ echo SEALVL="$((SEALVL - 1))" >&2
45
+
data/bin/sea.cmd ADDED
@@ -0,0 +1,25 @@
1
+ @echo off
2
+ setlocal
3
+
4
+ set SHELL=cmd.exe
5
+
6
+ set PACKAGE_HOME=%~dp0\..
7
+
8
+ call %PACKAGE_HOME%\bin\activate.cmd
9
+
10
+ set OLDSEA=%SEA%
11
+ set SEA=%PACKAGE_HOME%
12
+ set /a SEALVL=%SEALVL% + 1
13
+
14
+ if "%1" == "" (
15
+ echo SEALVL=%SEALVL%
16
+ echo SEA=%SEA%
17
+ echo PATH=%PATH%
18
+ %SHELL%
19
+ ) else (
20
+ %SHELL% %*
21
+ )
22
+
23
+ set /a SEALVL=%SEALVL% - 1
24
+ echo SEALVL=%SEALVL%
25
+ echo SEA=%OLDSEA%
data/bin/tusk ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env narwhal
2
+ require('narwhal/tusk').main(system.args);
data/bin/tusk.cmd ADDED
@@ -0,0 +1,5 @@
1
+ @echo off
2
+ setlocal
3
+ set HERE=%~dp0
4
+ call "%HERE%narwhal.cmd" "%HERE%..\lib\narwhal\tusk.js" %*
5
+
data/catalog.json ADDED
@@ -0,0 +1,902 @@
1
+ {
2
+ "!": "This file is generated by 'tusk create-catalog', copied from '.tusk', and committed only so that it may be downloaded from Github with 'tusk update'.",
3
+ "version": 1,
4
+ "packages": {
5
+ "narwhal": {
6
+ "name": "narwhal",
7
+ "description": "A general purpose JavaScript platform",
8
+ "keywords": [
9
+ "javascript",
10
+ "engine",
11
+ "platform"
12
+ ],
13
+ "author": "Tom Robinson (http://tlrobinson.net/)",
14
+ "contributors": [
15
+ "Tom Robinson (http://tlrobinson.net/) <tlrobinson@280north.com>",
16
+ "Kris Kowal (http://askawizard.blogspot.com/) <kris.kowal@cixar.com>",
17
+ "George Moschovitis (http://blog.gmosx.com/)",
18
+ "Kevin Dangoor (http://www.blueskyonmars.com/)",
19
+ "Hannes Wallnöfer",
20
+ "Sébastien Pierre",
21
+ "Irakli Gozalishvili (http://rfobic.wordpress.com/)",
22
+ "Christoph Dorn (http://www.christophdorn.com/)",
23
+ "Zach Carter",
24
+ "Nathan L. Smith",
25
+ "Jan Varwig",
26
+ "Mark Porter",
27
+ "Isaac Z. Schlueter (http://blog.izs.me/)",
28
+ "Kris Zyp (http://www.sitepen.com/blog/author/kzyp/)",
29
+ "Nathan Stott (http://nathan.whiteboard-it.com) <nathan.stott@whiteboard-it.com>",
30
+ "Toby Ho (http://tobyho.com) <airportyh@gmail.com>"
31
+ ],
32
+ "lib": [
33
+ "lib"
34
+ ],
35
+ "lean": [
36
+ "lib",
37
+ "engines"
38
+ ],
39
+ "githubName": "narwhal",
40
+ "type": "zip",
41
+ "location": "http://github.com/tlrobinson/narwhal/zipball/master"
42
+ },
43
+ "narwhal-jsc": {
44
+ "name": "narwhal-jsc",
45
+ "dependencies": [
46
+ "narwhal"
47
+ ],
48
+ "engine": "jsc",
49
+ "author": "Tom Robinson (http://tlrobinson.net/)",
50
+ "description": "JavaScriptCore engine support for Narwhal",
51
+ "keywords": [
52
+ "narwhal",
53
+ "engine",
54
+ "jsc",
55
+ "javascriptcore",
56
+ "webkit"
57
+ ],
58
+ "githubName": "narwhal-jsc",
59
+ "type": "zip",
60
+ "location": "http://github.com/tlrobinson/narwhal-jsc/zipball/master"
61
+ },
62
+ "narwhal-v8": {
63
+ "name": "narwhal-v8",
64
+ "dependencies": [
65
+ "narwhal"
66
+ ],
67
+ "engine": "v8",
68
+ "author": "Tom Robinson (http://tlrobinson.net/)",
69
+ "description": "V8 engine support for Narwhal",
70
+ "keywords": [
71
+ "narwhal",
72
+ "engine",
73
+ "v8",
74
+ "google"
75
+ ],
76
+ "githubName": "narwhal-v8",
77
+ "type": "zip",
78
+ "location": "http://github.com/tlrobinson/narwhal-v8/zipball/master"
79
+ },
80
+ "narwhal-johnson": {
81
+ "name": "narwhal-johnson",
82
+ "dependencies": [
83
+ "narwhal"
84
+ ],
85
+ "engine": "johnson",
86
+ "author": "Tom Robinson (http://tlrobinson.net/)",
87
+ "description": "Johnson (Ruby-JavaScript bridge, using SpiderMonkey) engine support for Narwhal",
88
+ "keywords": [
89
+ "narwhal",
90
+ "engine",
91
+ "johnson",
92
+ "ruby",
93
+ "spidermonkey",
94
+ "mozilla"
95
+ ],
96
+ "githubName": "narwhal-johnson",
97
+ "type": "zip",
98
+ "location": "http://github.com/tlrobinson/narwhal-johnson/zipball/master"
99
+ },
100
+ "narwhal-xulrunner": {
101
+ "name": "narwhal-xulrunner",
102
+ "engine": "xulrunner",
103
+ "dependencies": [
104
+ "narwhal"
105
+ ],
106
+ "author": "Irakli Gozalishvili (http://rfobic.wordpress.com/)",
107
+ "description": "XULRunner engine support for Narwhal",
108
+ "keywords": [
109
+ "narwhal",
110
+ "engine",
111
+ "xulrunner",
112
+ "mozilla",
113
+ "extension"
114
+ ],
115
+ "githubName": "narwhal-xulrunner",
116
+ "type": "zip",
117
+ "location": "http://github.com/Gozala/narwhal-xulrunner/zipball/master"
118
+ },
119
+ "narwhal-jaxer": {
120
+ "name": "narwhal-jaxer",
121
+ "author": "Nathan L. Smith <nlloyds@gmail.com>",
122
+ "keywords": [
123
+ "jaxer",
124
+ "engine",
125
+ "mozilla",
126
+ "spidermonkey",
127
+ "embedded"
128
+ ],
129
+ "engine": "jaxer",
130
+ "dependencies": [
131
+ "narwhal-xulrunner",
132
+ "narwhal"
133
+ ],
134
+ "githubName": "narwhal-jaxer",
135
+ "type": "zip",
136
+ "location": "http://github.com/smith/narwhal-jaxer/zipball/master"
137
+ },
138
+ "jack": {
139
+ "name": "jack",
140
+ "dependencies": [
141
+ "narwhal"
142
+ ],
143
+ "jars": [
144
+ "jars/simple-4.1.10.jar"
145
+ ],
146
+ "author": "Tom Robinson (http://tlrobinson.net/)",
147
+ "description": "A library of JSGI middleware, handlers, and utilities, based on Rack",
148
+ "keywords": [
149
+ "web server",
150
+ "server",
151
+ "jsgi",
152
+ "rack",
153
+ "wsgi"
154
+ ],
155
+ "githubName": "jack",
156
+ "type": "zip",
157
+ "location": "http://github.com/tlrobinson/jack/zipball/master"
158
+ },
159
+ "nitro": {
160
+ "name": "nitro",
161
+ "description": "A Web Application Framework",
162
+ "keywords": [
163
+ "web",
164
+ "framework",
165
+ "jsgi"
166
+ ],
167
+ "author": "George Moschovitis",
168
+ "email": "george.moschovitis@gmail.com",
169
+ "dependencies": [
170
+ "jack",
171
+ "template"
172
+ ],
173
+ "contributors": [
174
+ "Kris Kowal (http://askawizard.blogspot.com/)"
175
+ ],
176
+ "lib": "lib",
177
+ "main": "examples/simple/jackconfig",
178
+ "lean": [
179
+ "lib"
180
+ ],
181
+ "githubName": "nitro",
182
+ "type": "zip",
183
+ "location": "http://github.com/gmosx/nitro/zipball/master"
184
+ },
185
+ "chiron": {
186
+ "author": "Kris Kowal",
187
+ "description": "A system of interoperable JavaScript modules, including a Pythonic type system and types",
188
+ "keywords": [
189
+ "type system",
190
+ "types",
191
+ "interoperable",
192
+ "events",
193
+ "caching",
194
+ "cache"
195
+ ],
196
+ "contributors": [
197
+ "Steven Levithan"
198
+ ],
199
+ "dependencies": [],
200
+ "githubName": "chiron",
201
+ "type": "zip",
202
+ "location": "http://github.com/kriskowal/chiron/zipball/master"
203
+ },
204
+ "narcissus": {
205
+ "author": "Brendan Eich <brendan@mozilla.org>",
206
+ "description": "JavaScript implemented in JavaScript",
207
+ "keywords": [
208
+ "javascript",
209
+ "interpreter",
210
+ "parser"
211
+ ],
212
+ "contributors": [
213
+ "Kris Kowal <kris@cixar.com>"
214
+ ],
215
+ "license": "MPL 1.1/GPL 2.0/LGPL 2.1",
216
+ "githubName": "narcissus",
217
+ "type": "zip",
218
+ "location": "http://github.com/kriskowal/narcissus/zipball/master"
219
+ },
220
+ "creolejs": {
221
+ "author": "Ivan Fomichev",
222
+ "description": "A JavaScript implementation of the CreoleWiki language, for browsers.",
223
+ "keywords": [
224
+ "browser",
225
+ "markup",
226
+ "wiki",
227
+ "creole",
228
+ "javascript",
229
+ "dom-based"
230
+ ],
231
+ "contributors": [
232
+ "Chris Purcell",
233
+ "Kris Kowal"
234
+ ],
235
+ "js": "src",
236
+ "githubName": "creolejs",
237
+ "type": "zip",
238
+ "location": "http://github.com/kriskowal/creolejs/zipball/master"
239
+ },
240
+ "browserjs": {
241
+ "name": "browserjs",
242
+ "version": "0.1",
243
+ "dependencies": [
244
+ "narwhal"
245
+ ],
246
+ "author": "Tom Robinson (http://tlrobinson.net/)",
247
+ "description": "A simulated web browser environment, includes XMLHttpRequest, timeouts, console, a DOM, etc",
248
+ "keywords": [
249
+ "browser",
250
+ "web browser",
251
+ "dom",
252
+ "xmlhttprequest"
253
+ ],
254
+ "githubName": "browserjs",
255
+ "type": "zip",
256
+ "location": "http://github.com/tlrobinson/browserjs/zipball/master"
257
+ },
258
+ "inspec": {
259
+ "name": "inspec",
260
+ "author": "Aaron Qian (http://aaronqian.com/)",
261
+ "url": "http://github.com/aq1018/inspec",
262
+ "dependencies": [
263
+ "narwhal"
264
+ ],
265
+ "license": "MIT",
266
+ "description": "BDD test framwork inspired by rspec",
267
+ "keywords": [
268
+ "bdd",
269
+ "tdd",
270
+ "test framework",
271
+ "spec"
272
+ ],
273
+ "githubName": "inspec",
274
+ "type": "zip",
275
+ "location": "http://github.com/aq1018/inspec/zipball/master"
276
+ },
277
+ "kupo": {
278
+ "name": "kupo_site",
279
+ "author": "Jan Varwig",
280
+ "githubName": "kupo",
281
+ "type": "zip",
282
+ "location": "http://github.com/janv/kupo/zipball/master"
283
+ },
284
+ "appengine": {
285
+ "name": "appengine",
286
+ "description": "A port of the Python AppEngine API to JavaScript",
287
+ "keywords": [
288
+ "google",
289
+ "appengine",
290
+ "cloud",
291
+ "datastore"
292
+ ],
293
+ "author": "George Moschovitis",
294
+ "email": "george.moschovitis@gmail.com",
295
+ "contributors": [],
296
+ "lib": "lib",
297
+ "githubName": "appengine",
298
+ "type": "zip",
299
+ "location": "http://github.com/gmosx/appengine/zipball/master"
300
+ },
301
+ "jack-servlet": {
302
+ "name": "jack-servelet",
303
+ "dependencies": [
304
+ "narwhal",
305
+ "jack"
306
+ ],
307
+ "author": "Tom Robinson (http://tlrobinson.net/)",
308
+ "description": "A Java servlet for running JSGI applications",
309
+ "keywords": [
310
+ "jack",
311
+ "java",
312
+ "servlet",
313
+ "jsgi"
314
+ ],
315
+ "githubName": "jack-servlet",
316
+ "type": "zip",
317
+ "location": "http://github.com/tlrobinson/jack-servlet/zipball/master"
318
+ },
319
+ "appengine-java-sdk": {
320
+ "name": "gae",
321
+ "title": "Google App Engine Java SDK",
322
+ "description": "Java components necessary for deploying applications on Google's App Engine.",
323
+ "author": "Google",
324
+ "version": "1.2.2",
325
+ "dependencies": [
326
+ "jack-servlet",
327
+ "jack",
328
+ "narwhal"
329
+ ],
330
+ "lib": [],
331
+ "type": "zip",
332
+ "location": "http://googleappengine.googlecode.com/files/appengine-java-sdk-1.2.2.zip"
333
+ },
334
+ "env": {
335
+ "githubName": "env-js",
336
+ "type": "zip",
337
+ "location": "http://github.com/kriskowal/env-js/zipball/master"
338
+ },
339
+ "template": {
340
+ "name": "template",
341
+ "description": "A simple templating engine",
342
+ "keywords": [
343
+ "template",
344
+ "text",
345
+ "json"
346
+ ],
347
+ "author": "George Moschovitis",
348
+ "email": "george.moschovitis@gmail.com",
349
+ "dependencies": [],
350
+ "lib": "lib",
351
+ "githubName": "template",
352
+ "type": "zip",
353
+ "location": "http://github.com/gmosx/template/zipball/master"
354
+ },
355
+ "markdown": {
356
+ "name": "markdown",
357
+ "description": "A port of markdown to JavaScript",
358
+ "keywords": [
359
+ "markdown",
360
+ "markup"
361
+ ],
362
+ "author": "John Fraser",
363
+ "contributors": [
364
+ "John Gruber",
365
+ "George Moschovitis",
366
+ "Kris Kowal"
367
+ ],
368
+ "dependencies": [],
369
+ "lib": "lib",
370
+ "githubName": "markdown",
371
+ "type": "zip",
372
+ "location": "http://github.com/gmosx/markdown/zipball/master"
373
+ },
374
+ "xbin": {
375
+ "name": "xbin",
376
+ "description": "A suite of Unix command line tools for enlightened pipelines.",
377
+ "keywords": [
378
+ "cli",
379
+ "command line",
380
+ "bin",
381
+ "tools",
382
+ "enquote",
383
+ "xip",
384
+ "shuffle",
385
+ "cycle",
386
+ "nonblank",
387
+ "uncomment",
388
+ "dog"
389
+ ],
390
+ "author": {
391
+ "name": "Kris Kowal",
392
+ "web": "http://cixar.com/~kris.kowal",
393
+ "email": "kris.kowal@cixar.com"
394
+ },
395
+ "lean": [
396
+ "bin"
397
+ ],
398
+ "githubName": "xbin",
399
+ "type": "zip",
400
+ "location": "http://github.com/kriskowal/xbin/zipball/master"
401
+ },
402
+ "wiky": {
403
+ "name": "wiky",
404
+ "version": "0.95",
405
+ "description": "A bidirectional Wiki markup to and from HTML converter written in JavaScript.",
406
+ "url": "http://goessner.net/articles/wiky/",
407
+ "license": "LGPL 2.1 (http://creativecommons.org/licenses/LGPL/2.1/)",
408
+ "keywords": [
409
+ "wiky",
410
+ "wiki",
411
+ "markup",
412
+ "parser",
413
+ "formatter"
414
+ ],
415
+ "author": "Stefan Goessner (http://goessner.net/)",
416
+ "maintainer": "Kris Kowal (http://askawizard.blogspot.com) <kris.kowal@cixar.com>",
417
+ "contributors": [],
418
+ "dependencies": [],
419
+ "githubName": "wiky",
420
+ "type": "zip",
421
+ "location": "http://github.com/kriskowal/wiky/zipball/master"
422
+ },
423
+ "jsdocs": {
424
+ "name": "jsdocs",
425
+ "description": "Tool for generating template-formatted, multi-page HTML (or XML, JSON, or any other text-based) documentation from commented JavaScript source code.",
426
+ "keywords": [
427
+ "jsdoc",
428
+ "documentation"
429
+ ],
430
+ "author": "Irakli Gozalishvili (http://rfobic.wordpress.com/)",
431
+ "email": "rfobic@gmail.com",
432
+ "lib": [
433
+ "lib"
434
+ ],
435
+ "lean": [
436
+ "lib",
437
+ "engines"
438
+ ],
439
+ "version": {
440
+ "label": "0.1",
441
+ "numeric": [
442
+ 0,
443
+ 1
444
+ ],
445
+ "status": "development"
446
+ },
447
+ "license": [
448
+ "MPL 1.1",
449
+ "GPL 2.0",
450
+ "LGPL 2.1"
451
+ ],
452
+ "dependencies": [
453
+ "syntax-stroop",
454
+ "seethrough"
455
+ ],
456
+ "githubName": "jsdocs",
457
+ "type": "zip",
458
+ "location": "http://github.com/Gozala/jsdocs/zipball/master"
459
+ },
460
+ "syntax-stroop": {
461
+ "name": "syntax-stroop",
462
+ "description": "A syntax highlighter based on Google-code-prettify.",
463
+ "keywords": [
464
+ "syntax",
465
+ "highlight"
466
+ ],
467
+ "author": "Irakli Gozalishvili (http://rfobic.wordpress.com/)",
468
+ "email": "rfobic@gmail.com",
469
+ "lib": "lib",
470
+ "license": [
471
+ "Apache License, Version 2.0"
472
+ ],
473
+ "dependencies": [],
474
+ "githubName": "syntax-stroop",
475
+ "type": "zip",
476
+ "location": "http://github.com/Gozala/syntax-stroop/zipball/master"
477
+ },
478
+ "seethrough": {
479
+ "name": "seethrough",
480
+ "description": "Seethrough is a simple XML/XHTML template engine for JavaScript based on E4X. It’s a port of a former project for Erlang.",
481
+ "keywords": [
482
+ "template",
483
+ "xml",
484
+ "xhtml",
485
+ "json"
486
+ ],
487
+ "author": "Massimiliano Mirra (http://hyperstruct.net/)",
488
+ "contributors": [
489
+ "Irakli Gozalishvili (http://rfobic.wordpress.com/)"
490
+ ],
491
+ "lib": "lib",
492
+ "license": [
493
+ "MPL 1.1",
494
+ "GPL 2.0",
495
+ "LGPL 2.1"
496
+ ],
497
+ "dependencies": [],
498
+ "githubName": "seethrough",
499
+ "type": "zip",
500
+ "location": "http://github.com/Gozala/seethrough/zipball/master"
501
+ },
502
+ "jack-dav": {
503
+ "name": "jack-dav",
504
+ "dependencies": [
505
+ "narwhal",
506
+ "jack"
507
+ ],
508
+ "author": "Tom Robinson (http://tlrobinson.net/)",
509
+ "description": "A JSGI compatible WebDAV server, based on RackDAV",
510
+ "keywords": [
511
+ "jack",
512
+ "webdav",
513
+ "dav",
514
+ "rackdav"
515
+ ],
516
+ "githubName": "jack-dav",
517
+ "type": "zip",
518
+ "location": "http://github.com/tlrobinson/jack-dav/zipball/master"
519
+ },
520
+ "jsont": {
521
+ "name": "jsont",
522
+ "author": "Stefan Gössner (http://goessner.net/)",
523
+ "contributors": [
524
+ "Tom Robinson (http://tlrobinson.net/)"
525
+ ],
526
+ "description": "JSON transforms, akin to XSLT but for JSON: http://goessner.net/articles/jsont/",
527
+ "keywords": [
528
+ "json",
529
+ "transform",
530
+ "template",
531
+ "xslt"
532
+ ],
533
+ "githubName": "jsont",
534
+ "type": "zip",
535
+ "location": "http://github.com/tlrobinson/jsont/zipball/master"
536
+ },
537
+ "activejs": {
538
+ "name": "activejs",
539
+ "dependencies": [
540
+ "jack"
541
+ ],
542
+ "jars": [
543
+ "jars/mysql-connector-java-5.1.8-bin.jar"
544
+ ],
545
+ "author": "Aptana Inc.",
546
+ "description": "The Cross Platform JavaScript MVC, http://activejs.org/",
547
+ "githubName": "activejs",
548
+ "type": "zip",
549
+ "location": "http://github.com/tlrobinson/activejs/zipball/package"
550
+ },
551
+ "speller": {
552
+ "name": "speller",
553
+ "description": "A JavaScript spell-checker",
554
+ "author": "Panagiotis Astithas",
555
+ "keywords": [
556
+ "spell-checker",
557
+ "spelling",
558
+ "corrector"
559
+ ],
560
+ "githubName": "speller",
561
+ "type": "zip",
562
+ "location": "http://github.com/past/speller/zipball/master"
563
+ },
564
+ "objj": {
565
+ "name": "objj",
566
+ "dependencies": [
567
+ "narwhal",
568
+ "jack",
569
+ "browserjs"
570
+ ],
571
+ "lib": "lib-js",
572
+ "preload": [
573
+ "objj/loader"
574
+ ],
575
+ "description": "Objective-J and Cappuccino tools",
576
+ "keywords": [
577
+ "Objective-J",
578
+ "Cappuccino"
579
+ ],
580
+ "author": "280 North (http://280north.com/)",
581
+ "contributors": [
582
+ "Francisco Tolmasky (http://tolmasky.com/)",
583
+ "Ross Boucher (http://rossboucher.com/)",
584
+ "Tom Robinson (http://tlrobinson.net/)",
585
+ "Numerous others (http://contributors.cappuccino.org/)"
586
+ ],
587
+ "githubName": "cappuccino",
588
+ "type": "zip",
589
+ "location": "http://github.com/280north/cappuccino/zipball/package"
590
+ },
591
+ "jake": {
592
+ "name": "jake",
593
+ "author": "Francisco Tolmasky (http://tolmasky.com/)",
594
+ "description": "A build system for CommonJS, lifted from Rake",
595
+ "keywords": [
596
+ "build",
597
+ "jake",
598
+ "rake",
599
+ "make"
600
+ ],
601
+ "version": "0.1.1",
602
+ "githubName": "jake",
603
+ "type": "zip",
604
+ "location": "http://github.com/280north/jake/zipball/master"
605
+ },
606
+ "json-rpc": {
607
+ "name": "json-rpc",
608
+ "author": "Tom Robinson (http://tlrobinson.net/)",
609
+ "description": "An implementation of JSON-RPC for CommonJS, include a JSGI appliance",
610
+ "keywords": [
611
+ "json-rpc",
612
+ "rpc",
613
+ "rmi",
614
+ "jsgi"
615
+ ],
616
+ "githubName": "json-rpc",
617
+ "type": "zip",
618
+ "location": "http://github.com/tlrobinson/json-rpc/zipball/master"
619
+ },
620
+ "prototype": {
621
+ "name": "prototype",
622
+ "author": "Sam Stephenson",
623
+ "maintainer": "Nathan L Smith (http://nlsmith.com/) <nlloyds@gmail.com>",
624
+ "url": "http://github.com/smith/prototype-asp/tree/narwhal-global",
625
+ "license": "MIT",
626
+ "description": "Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. This package implements a subset of Prototype",
627
+ "keywords": [
628
+ "prototype",
629
+ "framework",
630
+ "library",
631
+ "language",
632
+ "extension"
633
+ ],
634
+ "githubName": "prototype-asp",
635
+ "type": "zip",
636
+ "location": "http://github.com/smith/prototype-asp/zipball/narwhal-global"
637
+ },
638
+ "qunit": {
639
+ "name": "qunit",
640
+ "author": {
641
+ "name": "John Resig",
642
+ "email": "jeresig@gmail.com",
643
+ "url": "http://ejohn.org/"
644
+ },
645
+ "maintainer": {
646
+ "name": "Jörn Zaefferer",
647
+ "email": "joern.zaefferer@googlemail.com",
648
+ "url": "http://bassistance.de/"
649
+ },
650
+ "url": "http://docs.jquery.com/QUnit",
651
+ "license": {
652
+ "name": "MIT",
653
+ "url": "http://www.opensource.org/licenses/mit-license.php"
654
+ },
655
+ "description": "An easy-to-use JavaScript Unit Testing framework.",
656
+ "keywords": [
657
+ "testing",
658
+ "unit",
659
+ "jquery"
660
+ ],
661
+ "lib": "qunit",
662
+ "githubName": "qunit",
663
+ "type": "zip",
664
+ "location": "http://github.com/jquery/qunit/zipball/master"
665
+ },
666
+ "oauth": {
667
+ "name": "oauth",
668
+ "dependencies": [
669
+ "narwhal"
670
+ ],
671
+ "jars": [],
672
+ "author": "Neville Burnell",
673
+ "description": "OAuth Library",
674
+ "keywords": [
675
+ "oauth"
676
+ ],
677
+ "githubName": "oauth",
678
+ "type": "zip",
679
+ "location": "http://github.com/cloudwork/oauth/zipball/master"
680
+ },
681
+ "bogart": {
682
+ "name": "bogart",
683
+ "description": "A simple web framework",
684
+ "keywords": [
685
+ "bogart",
686
+ "framework",
687
+ "routes"
688
+ ],
689
+ "author": "Nathan Stott",
690
+ "email": "nathan.stott@whiteboard-it.com",
691
+ "dependencies": [
692
+ "jack",
693
+ "ejs"
694
+ ],
695
+ "lib": "lib",
696
+ "githubName": "bogart",
697
+ "type": "zip",
698
+ "location": "http://github.com/nrstott/bogart/zipball/master"
699
+ },
700
+ "json-template": {
701
+ "name": "json-template",
702
+ "description": "Minimal but powerful templating language implemented in multiple languages.",
703
+ "keywords": [
704
+ "template",
705
+ "json"
706
+ ],
707
+ "author": "Andy Chu (andy@chubot.org)",
708
+ "contributors": [
709
+ "Irakli Gozalishvili (http://rfobic.wordpress.com/)"
710
+ ],
711
+ "lib": "lib",
712
+ "license": [
713
+ "Apache License 2.0"
714
+ ],
715
+ "dependencies": [],
716
+ "githubName": "json-template",
717
+ "type": "zip",
718
+ "location": "http://github.com/Gozala/json-template/zipball/master"
719
+ },
720
+ "ejs": {
721
+ "name": "ejs",
722
+ "description": "Embedded JavaScript templating framework",
723
+ "keywords": [
724
+ "erb",
725
+ "ejs",
726
+ "template"
727
+ ],
728
+ "author": "",
729
+ "email": "",
730
+ "dependencies": [],
731
+ "lib": "lib",
732
+ "githubName": "narwhal-ejs",
733
+ "type": "zip",
734
+ "location": "http://github.com/nrstott/narwhal-ejs/zipball/master"
735
+ },
736
+ "couchdb": {
737
+ "name": "couchdb",
738
+ "description": "API to access CouchDB servers, a schema-free database of JSON documents",
739
+ "keywords": [
740
+ "couch",
741
+ "database",
742
+ "document",
743
+ "nosql"
744
+ ],
745
+ "author": "Nathan Stott",
746
+ "email": "nathan.stott@whiteboard-it.com",
747
+ "dependencies": [
748
+ "browserjs"
749
+ ],
750
+ "lib": "lib",
751
+ "githubName": "narwhal-couchdb",
752
+ "type": "zip",
753
+ "location": "http://github.com/nrstott/narwhal-couchdb/zipball/master"
754
+ },
755
+ "mongodb": {
756
+ "name": "mongodb",
757
+ "description": "API to access MongoDB, a schema-free database of JSON documents",
758
+ "keywords": [
759
+ "mongo",
760
+ "database",
761
+ "document",
762
+ "mongodb",
763
+ "db"
764
+ ],
765
+ "author": "Sergi Mansilla (http://www.sergimansilla.com) <sergi.mansilla@gmail.com>",
766
+ "jars": [
767
+ "jars/mongo-0.11.jar"
768
+ ],
769
+ "email": "sergi.mansilla@gmail.com",
770
+ "dependencies": [],
771
+ "lib": "lib",
772
+ "githubName": "narwhal-mongodb",
773
+ "type": "zip",
774
+ "location": "http://github.com/mrclash/narwhal-mongodb/zipball/master"
775
+ },
776
+ "underscore": {
777
+ "name": "underscore",
778
+ "description": "Functional programming aid for JavaScript. Works well with jQuery.",
779
+ "url": "http://documentcloud.github.com/underscore/",
780
+ "keywords": [
781
+ "util",
782
+ "functional",
783
+ "server",
784
+ "client",
785
+ "browser"
786
+ ],
787
+ "author": "Jeremy Ashkenas <jeremy@documentcloud.org>",
788
+ "maintainer": "Kris Kowal <kris.kowal@cixar.com>",
789
+ "contributors": [],
790
+ "dependencies": [],
791
+ "lib": ".",
792
+ "githubName": "underscore",
793
+ "type": "zip",
794
+ "location": "http://github.com/kriskowal/underscore/zipball/master"
795
+ },
796
+ "silk": {
797
+ "name": "silk",
798
+ "description": "A comprehensive set of 16x16px icons.",
799
+ "license": "CC-BY-2.5 (http://creativecommons.org/licenses/by/2.5/)",
800
+ "url": "http://www.famfamfam.com/lab/icons/silk/",
801
+ "keywords": [
802
+ "media",
803
+ "icons",
804
+ "silk",
805
+ "famfamfam"
806
+ ],
807
+ "author": "Mark James <mjames@gmail.com>",
808
+ "githubName": "silk",
809
+ "type": "zip",
810
+ "location": "http://github.com/kriskowal/silk/zipball/master"
811
+ },
812
+ "objective-j": {
813
+ "name": "objective-j",
814
+ "dependencies": [
815
+ "narwhal",
816
+ "browserjs",
817
+ "jake"
818
+ ],
819
+ "preload": [
820
+ "objective-j/loader"
821
+ ],
822
+ "description": "Objective-J and Cappuccino module",
823
+ "keywords": [
824
+ "objective-j",
825
+ "objj",
826
+ "objective j",
827
+ "cappuccino"
828
+ ],
829
+ "author": "280 North, Inc. (http://280north.com/)",
830
+ "version": "0.7.9",
831
+ "contributors": [
832
+ "Francisco Tolmasky (http://tolmasky.com/)",
833
+ "Ross Boucher (http://rossboucher.com/)",
834
+ "Tom Robinson (http://tlrobinson.net/)",
835
+ "Numerous others (http://contributors.cappuccino.org/)"
836
+ ],
837
+ "githubName": "objective-j-package",
838
+ "type": "zip",
839
+ "location": "http://github.com/280north/objective-j-package/zipball/master"
840
+ },
841
+ "cappuccino": {
842
+ "name": "cappuccino",
843
+ "dependencies": [
844
+ "narwhal",
845
+ "browserjs",
846
+ "jake",
847
+ "objective-j"
848
+ ],
849
+ "description": "Cappuccino module",
850
+ "keywords": [
851
+ "objective-j",
852
+ "objj",
853
+ "objective j",
854
+ "capp",
855
+ "cappuccino"
856
+ ],
857
+ "author": "280 North, Inc. (http://280north.com/)",
858
+ "version": "0.7.9",
859
+ "objj-frameworks": [
860
+ "Frameworks"
861
+ ],
862
+ "objj-debug-frameworks": [
863
+ "Frameworks/Debug"
864
+ ],
865
+ "contributors": [
866
+ "Francisco Tolmasky (http://tolmasky.com/)",
867
+ "Ross Boucher (http://rossboucher.com/)",
868
+ "Tom Robinson (http://tlrobinson.net/)",
869
+ "Numerous others (http://contributors.cappuccino.org/)"
870
+ ],
871
+ "githubName": "cappuccino-package",
872
+ "type": "zip",
873
+ "location": "http://github.com/280north/cappuccino-package/zipball/master"
874
+ },
875
+ "ojunit": {
876
+ "name": "ojunit",
877
+ "dependencies": [
878
+ "narwhal",
879
+ "objective-j",
880
+ "cappuccino"
881
+ ],
882
+ "author": "Tom Robinson (http://280north.com/)",
883
+ "contributors": [
884
+ "Ross Boucher",
885
+ "Martin Hacker"
886
+ ],
887
+ "description": "A simple Objective-J unit test framework.",
888
+ "keywords": [
889
+ "objective-j",
890
+ "unit test",
891
+ "testing",
892
+ "test"
893
+ ],
894
+ "objj-frameworks": [
895
+ "Framework"
896
+ ],
897
+ "githubName": "ojunit",
898
+ "type": "zip",
899
+ "location": "http://github.com/280north/ojunit/zipball/master"
900
+ }
901
+ }
902
+ }