opal 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -1
  3. data/lib/opal/cli.rb +9 -1
  4. data/lib/opal/cli_options.rb +12 -3
  5. data/lib/opal/cli_runners/nodejs.rb +3 -2
  6. data/lib/opal/version.rb +1 -1
  7. data/opal/corelib/kernel.rb +7 -0
  8. data/opal/corelib/runtime.js +4 -0
  9. data/spec/lib/cli_spec.rb +16 -0
  10. data/stdlib/nodejs.rb +1 -2
  11. data/stdlib/nodejs/{process.rb → kernel.rb} +7 -4
  12. data/stdlib/nodejs/node_modules/.bin/js-yaml +140 -0
  13. data/stdlib/nodejs/node_modules/glob/LICENSE +15 -0
  14. data/stdlib/nodejs/node_modules/glob/README.md +357 -0
  15. data/stdlib/nodejs/node_modules/glob/common.js +177 -0
  16. data/stdlib/nodejs/node_modules/glob/glob.js +649 -0
  17. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/.eslintrc +17 -0
  18. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/LICENSE +15 -0
  19. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/README.md +37 -0
  20. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/inflight.js +44 -0
  21. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE +15 -0
  22. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md +36 -0
  23. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json +52 -0
  24. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js +51 -0
  25. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js +33 -0
  26. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/package.json +61 -0
  27. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/test.js +97 -0
  28. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  29. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/README.md +42 -0
  30. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  31. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  32. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/package.json +51 -0
  33. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/test.js +25 -0
  34. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
  35. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.travis.yml +4 -0
  36. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
  37. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/README.md +216 -0
  38. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/benchmark.js +15 -0
  39. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/browser.js +1181 -0
  40. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/minimatch.js +845 -0
  41. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +2 -0
  42. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml +3 -0
  43. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +121 -0
  44. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
  45. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
  46. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
  47. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +4 -0
  48. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
  49. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
  50. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
  51. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
  52. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +73 -0
  53. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
  54. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +4 -0
  55. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE +18 -0
  56. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +62 -0
  57. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
  58. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +13 -0
  59. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +83 -0
  60. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
  61. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +75 -0
  62. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js +32 -0
  63. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt +1075 -0
  64. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt +182 -0
  65. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js +9 -0
  66. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js +10 -0
  67. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh +24 -0
  68. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js +15 -0
  69. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js +16 -0
  70. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js +10 -0
  71. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js +13 -0
  72. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js +7 -0
  73. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js +50 -0
  74. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/package.json +60 -0
  75. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
  76. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/brace-expand.js +45 -0
  77. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
  78. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  79. data/stdlib/nodejs/node_modules/glob/node_modules/once/LICENSE +27 -0
  80. data/stdlib/nodejs/node_modules/glob/node_modules/once/README.md +51 -0
  81. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE +15 -0
  82. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
  83. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +52 -0
  84. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
  85. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
  86. data/stdlib/nodejs/node_modules/glob/node_modules/once/once.js +21 -0
  87. data/stdlib/nodejs/node_modules/glob/node_modules/once/package.json +60 -0
  88. data/stdlib/nodejs/node_modules/glob/node_modules/once/test/once.js +23 -0
  89. data/stdlib/nodejs/node_modules/glob/package.json +72 -0
  90. data/stdlib/nodejs/node_modules/glob/sync.js +409 -0
  91. data/stdlib/nodejs/node_modules/js-yaml/HISTORY.md +277 -0
  92. data/stdlib/nodejs/node_modules/js-yaml/LICENSE +21 -0
  93. data/stdlib/nodejs/node_modules/js-yaml/README.md +288 -0
  94. data/stdlib/nodejs/node_modules/js-yaml/bin/js-yaml.js +140 -0
  95. data/stdlib/nodejs/node_modules/js-yaml/bower.json +23 -0
  96. data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.js +3666 -0
  97. data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.min.js +3 -0
  98. data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.js +102 -0
  99. data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.yml +18 -0
  100. data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.js +31 -0
  101. data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.json +22 -0
  102. data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.js +18 -0
  103. data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.yml +197 -0
  104. data/stdlib/nodejs/node_modules/js-yaml/index.js +7 -0
  105. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml.js +39 -0
  106. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/common.js +62 -0
  107. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/dumper.js +554 -0
  108. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/exception.js +25 -0
  109. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/loader.js +1581 -0
  110. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/mark.js +78 -0
  111. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema.js +103 -0
  112. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  113. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  114. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  115. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  116. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  117. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  118. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/binary.js +133 -0
  119. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/bool.js +37 -0
  120. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/float.js +110 -0
  121. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/int.js +183 -0
  122. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/function.js +85 -0
  123. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +84 -0
  124. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +27 -0
  125. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  126. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  127. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/null.js +36 -0
  128. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/omap.js +56 -0
  129. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js +61 -0
  130. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  131. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/set.js +33 -0
  132. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  133. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +98 -0
  134. data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esparse +117 -0
  135. data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esvalidate +177 -0
  136. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/HISTORY.md +115 -0
  137. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/LICENSE +21 -0
  138. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md +239 -0
  139. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +36 -0
  140. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/choice.js +22 -0
  141. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/constants.js +59 -0
  142. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/help.js +13 -0
  143. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +33 -0
  144. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/parents.js +28 -0
  145. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +23 -0
  146. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +49 -0
  147. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sum.js +35 -0
  148. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +270 -0
  149. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/index.js +1 -0
  150. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action.js +146 -0
  151. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +55 -0
  152. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +47 -0
  153. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +40 -0
  154. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +48 -0
  155. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +50 -0
  156. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +43 -0
  157. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +27 -0
  158. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +26 -0
  159. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +148 -0
  160. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +50 -0
  161. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +481 -0
  162. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +14 -0
  163. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +50 -0
  164. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +54 -0
  165. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +75 -0
  166. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +1168 -0
  167. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/const.js +18 -0
  168. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +88 -0
  169. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +798 -0
  170. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +77 -0
  171. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.npmignore +2 -0
  172. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml +8 -0
  173. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +825 -0
  174. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/bower.json +33 -0
  175. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +11 -0
  176. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/foo.js +10 -0
  177. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/gulpfile.js +26 -0
  178. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +673 -0
  179. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log +0 -0
  180. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json +107 -0
  181. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE +23 -0
  182. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md +22 -0
  183. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +69 -0
  184. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +6 -0
  185. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +1415 -0
  186. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/package.json +62 -0
  187. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/README.md +73 -0
  188. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +117 -0
  189. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +177 -0
  190. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/esprima.js +3908 -0
  191. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/package.json +69 -0
  192. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/compat.js +239 -0
  193. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/reflect.js +422 -0
  194. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/run.js +66 -0
  195. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/runner.js +387 -0
  196. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/test.js +20238 -0
  197. data/stdlib/nodejs/node_modules/js-yaml/package.json +83 -0
  198. data/{package.json → stdlib/nodejs/package.json} +0 -3
  199. data/stdlib/phantomjs.rb +1 -6
  200. data/tasks/testing.rake +1 -4
  201. metadata +191 -6
  202. data/stdlib/nodejs/runtime.rb +0 -26
@@ -0,0 +1,277 @@
1
+ 3.2.6 / 2015-02-07
2
+ ------------------
3
+
4
+ - Fixed encoding of UTF-16 surrogate pairs. (e.g. "\U0001F431" CAT FACE)
5
+ - Fixed demo dates dump (#113, thanks to @Hypercubed).
6
+
7
+
8
+ 3.2.5 / 2014-12-28
9
+ ------------------
10
+
11
+ - Fixed resolving of all built-in types on empty nodes.
12
+ - Fixed invalid warning on empty lines within quoted scalars and flow collections.
13
+ - Fixed bug: Tag on an empty node didn't resolve in some cases.
14
+
15
+
16
+ 3.2.4 / 2014-12-19
17
+ ------------------
18
+
19
+ - Fixed resolving of !!null tag on an empty node.
20
+
21
+
22
+ 3.2.3 / 2014-11-08
23
+ ------------------
24
+
25
+ - Implemented dumping of objects with circular and cross references.
26
+ - Partially fixed aliasing of constructed objects. (see issue #141 for details)
27
+
28
+
29
+ 3.2.2 / 2014-09-07
30
+ ------------------
31
+
32
+ - Fixed infinite loop on unindented block scalars.
33
+ - Rewritten base64 encode/decode in binary type, to keep code licence clear.
34
+
35
+
36
+ 3.2.1 / 2014-08-24
37
+ ------------------
38
+
39
+ - Nothig new. Just fix npm publish error.
40
+
41
+
42
+ 3.2.0 / 2014-08-24
43
+ ------------------
44
+
45
+ - Added input piping support to CLI.
46
+ - Fixed typo, that could cause hand on initial indent (#139).
47
+
48
+
49
+ 3.1.0 / 2014-07-07
50
+ ------------------
51
+
52
+ - 1.5x-2x speed boost.
53
+ - Removed deprecated `require('xxx.yml')` support.
54
+ - Significant code cleanup and refactoring.
55
+ - Internal API changed. If you used custom types - see updated examples.
56
+ Others are not affected.
57
+ - Even if the input string has no trailing line break character,
58
+ it will be parsed as if it has one.
59
+ - Added benchmark scripts.
60
+ - Moved bower files to /dist folder
61
+ - Bugfixes.
62
+
63
+
64
+ 3.0.2 / 2014-02-27
65
+ ------------------
66
+
67
+ - Fixed bug: "constructor" string parsed as `null`.
68
+
69
+
70
+ 3.0.1 / 2013-12-22
71
+ ------------------
72
+
73
+ - Fixed parsing of literal scalars. (issue #108)
74
+ - Prevented adding unnecessary spaces in object dumps. (issue #68)
75
+ - Fixed dumping of objects with very long (> 1024 in length) keys.
76
+
77
+
78
+ 3.0.0 / 2013-12-16
79
+ ------------------
80
+
81
+ - Refactored code. Changed API for custom types.
82
+ - Removed output colors in CLI, dump json by default.
83
+ - Removed big dependencies from browser version (esprima, buffer)
84
+ - load `esprima` manually, if !!js/function needed
85
+ - !!bin now returns Array in browser
86
+ - AMD support.
87
+ - Don't quote dumped strings because of `-` & `?` (if not first char).
88
+ - __Deprecated__ loading yaml files via `require()`, as not recommended
89
+ behaviour for node.
90
+
91
+
92
+ 2.1.3 / 2013-10-16
93
+ ------------------
94
+
95
+ - Fix wrong loading of empty block scalars.
96
+
97
+
98
+ 2.1.2 / 2013-10-07
99
+ ------------------
100
+
101
+ - Fix unwanted line breaks in folded scalars.
102
+
103
+
104
+ 2.1.1 / 2013-10-02
105
+ ------------------
106
+
107
+ - Dumper now respects deprecated booleans syntax from YAML 1.0/1.1
108
+ - Fixed reader bug in JSON-like sequences/mappings.
109
+
110
+
111
+ 2.1.0 / 2013-06-05
112
+ ------------------
113
+
114
+ - Add standard YAML schemas: Failsafe (`FAILSAFE_SCHEMA`),
115
+ JSON (`JSON_SCHEMA`) and Core (`CORE_SCHEMA`).
116
+ - Rename `DEFAULT_SCHEMA` to `DEFAULT_FULL_SCHEMA`
117
+ and `SAFE_SCHEMA` to `DEFAULT_SAFE_SCHEMA`.
118
+ - Bug fix: export `NIL` constant from the public interface.
119
+ - Add `skipInvalid` dumper option.
120
+ - Use `safeLoad` for `require` extension.
121
+
122
+
123
+ 2.0.5 / 2013-04-26
124
+ ------------------
125
+
126
+ - Close security issue in !!js/function constructor.
127
+ Big thanks to @nealpoole for security audit.
128
+
129
+
130
+ 2.0.4 / 2013-04-08
131
+ ------------------
132
+
133
+ - Updated .npmignore to reduce package size
134
+
135
+
136
+ 2.0.3 / 2013-02-26
137
+ ------------------
138
+
139
+ - Fixed dumping of empty arrays ans objects. ([] and {} instead of null)
140
+
141
+
142
+ 2.0.2 / 2013-02-15
143
+ ------------------
144
+
145
+ - Fixed input validation: tabs are printable characters.
146
+
147
+
148
+ 2.0.1 / 2013-02-09
149
+ ------------------
150
+
151
+ - Fixed error, when options not passed to function cass
152
+
153
+
154
+ 2.0.0 / 2013-02-09
155
+ ------------------
156
+
157
+ - Full rewrite. New architecture. Fast one-stage parsing.
158
+ - Changed custom types API.
159
+ - Added YAML dumper.
160
+
161
+
162
+ 1.0.3 / 2012-11-05
163
+ ------------------
164
+
165
+ - Fixed utf-8 files loading.
166
+
167
+
168
+ 1.0.2 / 2012-08-02
169
+ ------------------
170
+
171
+ - Pull out hand-written shims. Use ES5-Shims for old browsers support. See #44.
172
+ - Fix timstamps incorectly parsed in local time when no time part specified.
173
+
174
+
175
+ 1.0.1 / 2012-07-07
176
+ ------------------
177
+
178
+ - Fixes `TypeError: 'undefined' is not an object` under Safari. Thanks Phuong.
179
+ - Fix timestamps incorrectly parsed in local time. Thanks @caolan. Closes #46.
180
+
181
+
182
+ 1.0.0 / 2012-07-01
183
+ ------------------
184
+
185
+ - `y`, `yes`, `n`, `no`, `on`, `off` are not converted to Booleans anymore.
186
+ Fixes #42.
187
+ - `require(filename)` now returns a single document and throws an Error if
188
+ file contains more than one document.
189
+ - CLI was merged back from js-yaml.bin
190
+
191
+
192
+ 0.3.7 / 2012-02-28
193
+ ------------------
194
+
195
+ - Fix export of `addConstructor()`. Closes #39.
196
+
197
+
198
+ 0.3.6 / 2012-02-22
199
+ ------------------
200
+
201
+ - Removed AMD parts - too buggy to use. Need help to rewrite from scratch
202
+ - Removed YUI compressor warning (renamed `double` variable). Closes #40.
203
+
204
+
205
+ 0.3.5 / 2012-01-10
206
+ ------------------
207
+
208
+ - Workagound for .npmignore fuckup under windows. Thanks to airportyh.
209
+
210
+
211
+ 0.3.4 / 2011-12-24
212
+ ------------------
213
+
214
+ - Fixes str[] for oldIEs support.
215
+ - Adds better has change support for browserified demo.
216
+ - improves compact output of Error. Closes #33.
217
+
218
+
219
+ 0.3.3 / 2011-12-20
220
+ ------------------
221
+
222
+ - jsyaml executable moved to separate module.
223
+ - adds `compact` stringification of Errors.
224
+
225
+
226
+ 0.3.2 / 2011-12-16
227
+ ------------------
228
+
229
+ - Fixes ug with block style scalars. Closes #26.
230
+ - All sources are passing JSLint now.
231
+ - Fixes bug in Safari. Closes #28.
232
+ - Fixes bug in Opers. Closes #29.
233
+ - Improves browser support. Closes #20.
234
+ - Added jsyaml executable.
235
+ - Added !!js/function support. Closes #12.
236
+
237
+
238
+ 0.3.1 / 2011-11-18
239
+ ------------------
240
+
241
+ - Added AMD support for browserified version.
242
+ - Wrapped browserified js-yaml into closure.
243
+ - Fixed the resolvement of non-specific tags. Closes #17.
244
+ - Added permalinks for online demo YAML snippets. Now we have YPaste service, lol.
245
+ - Added !!js/regexp and !!js/undefined types. Partially solves #12.
246
+ - Fixed !!set mapping.
247
+ - Fixed month parse in dates. Closes #19.
248
+
249
+
250
+ 0.3.0 / 2011-11-09
251
+ ------------------
252
+
253
+ - Removed JS.Class dependency. Closes #3.
254
+ - Added browserified version. Closes #13.
255
+ - Added live demo of browserified version.
256
+ - Ported some of the PyYAML tests. See #14.
257
+ - Fixed timestamp bug when fraction was given.
258
+
259
+
260
+ 0.2.2 / 2011-11-06
261
+ ------------------
262
+
263
+ - Fixed crash on docs without ---. Closes #8.
264
+ - Fixed miltiline string parse
265
+ - Fixed tests/comments for using array as key
266
+
267
+
268
+ 0.2.1 / 2011-11-02
269
+ ------------------
270
+
271
+ - Fixed short file read (<4k). Closes #9.
272
+
273
+
274
+ 0.2.0 / 2011-11-02
275
+ ------------------
276
+
277
+ - First public release
@@ -0,0 +1,21 @@
1
+ (The MIT License)
2
+
3
+ Copyright (C) 2011, 2013 by Vitaly Puzrin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,288 @@
1
+ JS-YAML - YAML 1.2 parser and serializer for JavaScript
2
+ =======================================================
3
+
4
+ [![Build Status](https://travis-ci.org/nodeca/js-yaml.svg?branch=master)](https://travis-ci.org/nodeca/js-yaml)
5
+ [![NPM version](https://img.shields.io/npm/v/js-yaml.svg)](https://www.npmjs.org/package/js-yaml)
6
+
7
+ [Online Demo](http://nodeca.github.com/js-yaml/)
8
+
9
+
10
+ This is an implementation of [YAML](http://yaml.org/), a human friendly data
11
+ serialization language. Started as [PyYAML](http://pyyaml.org/) port, it was
12
+ completely rewritten from scratch. Now it's very fast, and supports 1.2 spec.
13
+
14
+
15
+ Installation
16
+ ------------
17
+
18
+ ### YAML module for node.js
19
+
20
+ ```
21
+ npm install js-yaml
22
+ ```
23
+
24
+
25
+ ### CLI executable
26
+
27
+ If you want to inspect your YAML files from CLI, install js-yaml globally:
28
+
29
+ ```
30
+ npm install -g js-yaml
31
+ ```
32
+
33
+ #### Usage
34
+
35
+ ```
36
+ usage: js-yaml [-h] [-v] [-c] [-t] file
37
+
38
+ Positional arguments:
39
+ file File with YAML document(s)
40
+
41
+ Optional arguments:
42
+ -h, --help Show this help message and exit.
43
+ -v, --version Show program's version number and exit.
44
+ -c, --compact Display errors in compact mode
45
+ -t, --trace Show stack trace on error
46
+ ```
47
+
48
+
49
+ ### Bundled YAML library for browsers
50
+
51
+ ``` html
52
+ <!-- esprima required only for !!js/function -->
53
+ <script src="esprima.js"></script>
54
+ <script src="js-yaml.min.js"></script>
55
+ <script type="text/javascript">
56
+ var doc = jsyaml.load('greeting: hello\nname: world');
57
+ </script>
58
+ ```
59
+
60
+ Browser support was done mostly for online demo. If you find any errors - feel
61
+ free to send pull requests with fixes. Also note, that IE and other old browsers
62
+ needs [es5-shims](https://github.com/kriskowal/es5-shim) to operate.
63
+
64
+ Notes:
65
+
66
+ 1. We have no resourses to support browserified version. Don't expect it to be
67
+ well tested. Don't expect fast fixes if something goes wrong there.
68
+ 2. `!!js/function` in browser bundle will not work by default. If you really need
69
+ it - load `esprima` parser first (via amd or directly).
70
+ 3. `!!bin` in browser will return `Array`, because browsers do not support
71
+ node.js `Buffer` and adding Buffer shims is completely useless on practice.
72
+
73
+
74
+ API
75
+ ---
76
+
77
+ Here we cover the most 'useful' methods. If you need advanced details (creating
78
+ your own tags), see [wiki](https://github.com/nodeca/js-yaml/wiki) and
79
+ [examples](https://github.com/nodeca/js-yaml/tree/master/examples) for more
80
+ info.
81
+
82
+ ``` javascript
83
+ yaml = require('js-yaml');
84
+ fs = require('fs');
85
+
86
+ // Get document, or throw exception on error
87
+ try {
88
+ var doc = yaml.safeLoad(fs.readFileSync('/home/ixti/example.yml', 'utf8'));
89
+ console.log(doc);
90
+ } catch (e) {
91
+ console.log(e);
92
+ }
93
+ ```
94
+
95
+
96
+ ### safeLoad (string [ , options ])
97
+
98
+ **Recommended loading way.** Parses `string` as single YAML document. Returns a JavaScript
99
+ object or throws `YAMLException` on error. By default, does not support regexps,
100
+ functions and undefined. This method is safe for untrusted data.
101
+
102
+ options:
103
+
104
+ - `filename` _(default: null)_ - string to be used as a file path in
105
+ error/warning messages.
106
+ - `onWarning` _(default: null)_ - function to call on warning messages.
107
+ Loader will throw on warnings if this function is not provided.
108
+ - `schema` _(default: `DEFAULT_SAFE_SCHEMA`)_ - specifies a schema to use.
109
+ - `FAILSAFE_SCHEMA` - only strings, arrays and plain objects:
110
+ http://www.yaml.org/spec/1.2/spec.html#id2802346
111
+ - `JSON_SCHEMA` - all JSON-supported types:
112
+ http://www.yaml.org/spec/1.2/spec.html#id2803231
113
+ - `CORE_SCHEMA` - same as `JSON_SCHEMA`:
114
+ http://www.yaml.org/spec/1.2/spec.html#id2804923
115
+ - `DEFAULT_SAFE_SCHEMA` - all supported YAML types, without unsafe ones
116
+ (`!!js/undefined`, `!!js/regexp` and `!!js/function`):
117
+ http://yaml.org/type/
118
+ - `DEFAULT_FULL_SCHEMA` - all supported YAML types.
119
+
120
+ NOTE: This function **does not** understand multi-document sources, it throws
121
+ exception on those.
122
+
123
+ NOTE: JS-YAML **does not** support schema-specific tag resolution restrictions.
124
+ So, JSON schema is not as strict as defined in the YAML specification.
125
+ It allows numbers in any notaion, use `Null` and `NULL` as `null`, etc.
126
+ Core schema also has no such restrictions. It allows binary notation for integers.
127
+
128
+
129
+ ### load (string [ , options ])
130
+
131
+ **Use with care with untrusted sources**. The same as `safeLoad()` but uses
132
+ `DEFAULT_FULL_SCHEMA` by default - adds some JavaScript-specific types:
133
+ `!!js/function`, `!!js/regexp` and `!!js/undefined`. For untrusted sources you
134
+ must additionally validate object structure, to avoid injections:
135
+
136
+ ``` javascript
137
+ var untrusted_code = '"toString": !<tag:yaml.org,2002:js/function> "function (){very_evil_thing();}"';
138
+
139
+ // I'm just converting that string, what could possibly go wrong?
140
+ require('js-yaml').load(untrusted_code) + ''
141
+ ```
142
+
143
+
144
+ ### safeLoadAll (string, iterator [ , options ])
145
+
146
+ Same as `safeLoad()`, but understands multi-document sources and apply
147
+ `iterator` to each document.
148
+
149
+ ``` javascript
150
+ var yaml = require('js-yaml');
151
+
152
+ yaml.safeLoadAll(data, function (doc) {
153
+ console.log(doc);
154
+ });
155
+ ```
156
+
157
+
158
+ ### loadAll (string, iterator [ , options ])
159
+
160
+ Same as `safeLoadAll()` but uses `DEFAULT_FULL_SCHEMA` by default.
161
+
162
+
163
+ ### safeDump (object [ , options ])
164
+
165
+ Serializes `object` as YAML document. Uses `DEFAULT_SAFE_SCHEMA`, so it will
166
+ throw exception if you try to dump regexps or functions. However, you can
167
+ disable exceptions by `skipInvalid` option.
168
+
169
+ options:
170
+
171
+ - `indent` _(default: 2)_ - indentation width to use (in spaces).
172
+ - `skipInvalid` _(default: false)_ - do not throw on invalid types (like function
173
+ in the safe schema) and skip pairs and single values with such types.
174
+ - `flowLevel` (default: -1) - specifies level of nesting, when to switch from
175
+ block to flow style for collections. -1 means block style everwhere
176
+ - `styles` - "tag" => "style" map. Each tag may have own set of styles.
177
+ - `schema` _(default: `DEFAULT_SAFE_SCHEMA`)_ specifies a schema to use.
178
+
179
+ styles:
180
+
181
+ ``` none
182
+ !!null
183
+ "canonical" => "~"
184
+
185
+ !!int
186
+ "binary" => "0b1", "0b101010", "0b1110001111010"
187
+ "octal" => "01", "052", "016172"
188
+ "decimal" => "1", "42", "7290"
189
+ "hexadecimal" => "0x1", "0x2A", "0x1C7A"
190
+
191
+ !!null, !!bool, !!float
192
+ "lowercase" => "null", "true", "false", ".nan", '.inf'
193
+ "uppercase" => "NULL", "TRUE", "FALSE", ".NAN", '.INF'
194
+ "camelcase" => "Null", "True", "False", ".NaN", '.Inf'
195
+ ```
196
+
197
+ By default, !!int uses `decimal`, and !!null, !!bool, !!float use `lowercase`.
198
+
199
+
200
+
201
+ ### dump (object [ , options ])
202
+
203
+ Same as `safeDump()` but without limits (uses `DEFAULT_FULL_SCHEMA` by default).
204
+
205
+
206
+ Supported YAML types
207
+ --------------------
208
+
209
+ The list of standard YAML tags and corresponding JavaScipt types. See also
210
+ [YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and
211
+ [YAML types repository](http://yaml.org/type/).
212
+
213
+ ```
214
+ !!null '' # null
215
+ !!bool 'yes' # bool
216
+ !!int '3...' # number
217
+ !!float '3.14...' # number
218
+ !!binary '...base64...' # buffer
219
+ !!timestamp 'YYYY-...' # date
220
+ !!omap [ ... ] # array of key-value pairs
221
+ !!pairs [ ... ] # array or array pairs
222
+ !!set { ... } # array of objects with given keys and null values
223
+ !!str '...' # string
224
+ !!seq [ ... ] # array
225
+ !!map { ... } # object
226
+ ```
227
+
228
+ **JavaScript-specific tags**
229
+
230
+ ```
231
+ !!js/regexp /pattern/gim # RegExp
232
+ !!js/undefined '' # Undefined
233
+ !!js/function 'function () {...}' # Function
234
+ ```
235
+
236
+ Caveats
237
+ -------
238
+
239
+ Note, that you use arrays or objects as key in JS-YAML. JS do not allows objects
240
+ or array as keys, and stringifies (by calling .toString method) them at the
241
+ moment of adding them.
242
+
243
+ ``` yaml
244
+ ---
245
+ ? [ foo, bar ]
246
+ : - baz
247
+ ? { foo: bar }
248
+ : - baz
249
+ - baz
250
+ ```
251
+
252
+ ``` javascript
253
+ { "foo,bar": ["baz"], "[object Object]": ["baz", "baz"] }
254
+ ```
255
+
256
+ Also, reading of properties on implicit block mapping keys is not supported yet.
257
+ So, the following YAML document cannot be loaded.
258
+
259
+ ``` yaml
260
+ &anchor foo:
261
+ foo: bar
262
+ *anchor: duplicate key
263
+ baz: bat
264
+ *anchor: duplicate key
265
+ ```
266
+
267
+
268
+ Breaking changes in 2.x.x -> 3.x.x
269
+ ----------------------------------
270
+
271
+ If your have not used __custom__ tags or loader classes and not loaded yaml
272
+ files via `require()` - no changes needed. Just upgrade library.
273
+
274
+ In other case, you should:
275
+
276
+ 1. Replace all occurences of `require('xxxx.yml')` by `fs.readFileSync()` +
277
+ `yaml.safeLoad()`.
278
+ 2. rewrite your custom tags constructors and custom loader
279
+ classes, to conform new API. See
280
+ [examples](https://github.com/nodeca/js-yaml/tree/master/examples) and
281
+ [wiki](https://github.com/nodeca/js-yaml/wiki) for details.
282
+
283
+
284
+ License
285
+ -------
286
+
287
+ View the [LICENSE](https://github.com/nodeca/js-yaml/blob/master/LICENSE) file
288
+ (MIT).