porffor 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CNAME +1 -0
- package/LICENSE +21 -0
- package/README.md +275 -0
- package/compiler/builtins/base64.js +92 -0
- package/compiler/builtins.js +770 -0
- package/compiler/codeGen.js +2027 -0
- package/compiler/decompile.js +102 -0
- package/compiler/embedding.js +19 -0
- package/compiler/encoding.js +217 -0
- package/compiler/expression.js +70 -0
- package/compiler/index.js +67 -0
- package/compiler/opt.js +436 -0
- package/compiler/parse.js +8 -0
- package/compiler/prototype.js +272 -0
- package/compiler/sections.js +154 -0
- package/compiler/wasmSpec.js +200 -0
- package/compiler/wrap.js +119 -0
- package/index.html +1264 -0
- package/logo.png +0 -0
- package/package.json +23 -0
- package/porf.cmd +2 -0
- package/runner/compare.js +35 -0
- package/runner/index.js +32 -0
- package/runner/info.js +54 -0
- package/runner/profile.js +47 -0
- package/runner/repl.js +99 -0
- package/runner/sizes.js +38 -0
- package/runner/transform.js +36 -0
- package/sw.js +26 -0
- package/test/array_1.js +8 -0
- package/test/array_push.js +8 -0
- package/test/assignop_1.js +15 -0
- package/test/bitwise_1.js +6 -0
- package/test/bool_1.js +3 -0
- package/test/boolean.js +6 -0
- package/test/break_1.js +6 -0
- package/test/break_2.js +12 -0
- package/test/conditional_1.js +3 -0
- package/test/conditional_2.js +4 -0
- package/test/console_1.js +2 -0
- package/test/continue_1.js +6 -0
- package/test/continue_2.js +10 -0
- package/test/empty.js +1 -0
- package/test/ending_exp_1.js +2 -0
- package/test/ending_exp_2.js +6 -0
- package/test/eq_1.js +4 -0
- package/test/eq_2.js +4 -0
- package/test/eq_3.js +5 -0
- package/test/export_1.js +9 -0
- package/test/factorial.js +3 -0
- package/test/fibonacci.js +16 -0
- package/test/float_div0.js +2 -0
- package/test/float_frac.js +2 -0
- package/test/float_isfinite.js +29 -0
- package/test/float_isinteger.js +13 -0
- package/test/float_isnan.js +20 -0
- package/test/float_issafeinteger.js +11 -0
- package/test/float_large.js +2 -0
- package/test/float_math_funcs.js +24 -0
- package/test/float_math_random.js +6 -0
- package/test/float_nan.js +3 -0
- package/test/float_number_values.js +12 -0
- package/test/for_1.js +4 -0
- package/test/for_2.js +4 -0
- package/test/func_1.js +16 -0
- package/test/func_2.js +6 -0
- package/test/func_3.js +10 -0
- package/test/global_1.js +8 -0
- package/test/global_2.js +10 -0
- package/test/if_1.js +6 -0
- package/test/if_2.js +9 -0
- package/test/if_3.js +7 -0
- package/test/iife_1.js +8 -0
- package/test/iife_2.js +8 -0
- package/test/index.js +93 -0
- package/test/int_number_values.js +6 -0
- package/test/logic_1.js +7 -0
- package/test/logic_2.js +7 -0
- package/test/math_1.js +6 -0
- package/test/math_2.js +12 -0
- package/test/math_3.js +6 -0
- package/test/number_func.js +4 -0
- package/test/return_1.js +8 -0
- package/test/return_2.js +11 -0
- package/test/tailcall_1.js +10 -0
- package/test/throw_1.js +2 -0
- package/test/throw_2.js +4 -0
- package/test/throw_3.js +2 -0
- package/test/throw_4.js +3 -0
- package/test/try_1.js +7 -0
- package/test/unary_1.js +4 -0
- package/test/unary_2.js +5 -0
- package/test/unary_3.js +6 -0
- package/test/unary_4.js +12 -0
- package/test/unary_5.js +8 -0
- package/test/undefined_1.js +8 -0
- package/test/undefined_2.js +10 -0
- package/test/updateexp_1.js +9 -0
- package/test/vars_1.js +5 -0
- package/test/vars_2.js +9 -0
- package/test/while_1.js +6 -0
- package/test262/compare.js +30 -0
- package/test262/index.js +314 -0
- package/test262/node_modules/.bin/esparse +12 -0
- package/test262/node_modules/.bin/esparse.cmd +17 -0
- package/test262/node_modules/.bin/esparse.ps1 +28 -0
- package/test262/node_modules/.bin/esvalidate +12 -0
- package/test262/node_modules/.bin/esvalidate.cmd +17 -0
- package/test262/node_modules/.bin/esvalidate.ps1 +28 -0
- package/test262/node_modules/.bin/js-yaml +12 -0
- package/test262/node_modules/.bin/js-yaml.cmd +17 -0
- package/test262/node_modules/.bin/js-yaml.ps1 +28 -0
- package/test262/node_modules/.package-lock.json +0 -0
- package/test262/node_modules/@nodelib/fs.scandir/LICENSE +21 -0
- package/test262/node_modules/@nodelib/fs.scandir/README.md +171 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +20 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +19 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/constants.d.ts +4 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/constants.js +17 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/index.d.ts +12 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/index.js +26 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +7 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/providers/async.js +104 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +1 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/providers/common.js +13 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +5 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/providers/sync.js +54 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/settings.d.ts +20 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/settings.js +24 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +20 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/types/index.js +2 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +2 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/utils/fs.js +19 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +2 -0
- package/test262/node_modules/@nodelib/fs.scandir/out/utils/index.js +5 -0
- package/test262/node_modules/@nodelib/fs.scandir/package.json +44 -0
- package/test262/node_modules/@nodelib/fs.stat/LICENSE +21 -0
- package/test262/node_modules/@nodelib/fs.stat/README.md +126 -0
- package/test262/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +13 -0
- package/test262/node_modules/@nodelib/fs.stat/out/adapters/fs.js +17 -0
- package/test262/node_modules/@nodelib/fs.stat/out/index.d.ts +12 -0
- package/test262/node_modules/@nodelib/fs.stat/out/index.js +26 -0
- package/test262/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +4 -0
- package/test262/node_modules/@nodelib/fs.stat/out/providers/async.js +36 -0
- package/test262/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +3 -0
- package/test262/node_modules/@nodelib/fs.stat/out/providers/sync.js +23 -0
- package/test262/node_modules/@nodelib/fs.stat/out/settings.d.ts +16 -0
- package/test262/node_modules/@nodelib/fs.stat/out/settings.js +16 -0
- package/test262/node_modules/@nodelib/fs.stat/out/types/index.d.ts +4 -0
- package/test262/node_modules/@nodelib/fs.stat/out/types/index.js +2 -0
- package/test262/node_modules/@nodelib/fs.stat/package.json +37 -0
- package/test262/node_modules/@nodelib/fs.walk/LICENSE +21 -0
- package/test262/node_modules/@nodelib/fs.walk/README.md +215 -0
- package/test262/node_modules/@nodelib/fs.walk/out/index.d.ts +14 -0
- package/test262/node_modules/@nodelib/fs.walk/out/index.js +34 -0
- package/test262/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +12 -0
- package/test262/node_modules/@nodelib/fs.walk/out/providers/async.js +30 -0
- package/test262/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +4 -0
- package/test262/node_modules/@nodelib/fs.walk/out/providers/index.js +9 -0
- package/test262/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +12 -0
- package/test262/node_modules/@nodelib/fs.walk/out/providers/stream.js +34 -0
- package/test262/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +10 -0
- package/test262/node_modules/@nodelib/fs.walk/out/providers/sync.js +14 -0
- package/test262/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +30 -0
- package/test262/node_modules/@nodelib/fs.walk/out/readers/async.js +97 -0
- package/test262/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +7 -0
- package/test262/node_modules/@nodelib/fs.walk/out/readers/common.js +31 -0
- package/test262/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +6 -0
- package/test262/node_modules/@nodelib/fs.walk/out/readers/reader.js +11 -0
- package/test262/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +15 -0
- package/test262/node_modules/@nodelib/fs.walk/out/readers/sync.js +59 -0
- package/test262/node_modules/@nodelib/fs.walk/out/settings.d.ts +30 -0
- package/test262/node_modules/@nodelib/fs.walk/out/settings.js +26 -0
- package/test262/node_modules/@nodelib/fs.walk/out/types/index.d.ts +8 -0
- package/test262/node_modules/@nodelib/fs.walk/out/types/index.js +2 -0
- package/test262/node_modules/@nodelib/fs.walk/package.json +44 -0
- package/test262/node_modules/argparse/CHANGELOG.md +185 -0
- package/test262/node_modules/argparse/LICENSE +21 -0
- package/test262/node_modules/argparse/README.md +257 -0
- package/test262/node_modules/argparse/index.js +3 -0
- package/test262/node_modules/argparse/lib/action/append/constant.js +47 -0
- package/test262/node_modules/argparse/lib/action/append.js +53 -0
- package/test262/node_modules/argparse/lib/action/count.js +40 -0
- package/test262/node_modules/argparse/lib/action/help.js +47 -0
- package/test262/node_modules/argparse/lib/action/store/constant.js +43 -0
- package/test262/node_modules/argparse/lib/action/store/false.js +27 -0
- package/test262/node_modules/argparse/lib/action/store/true.js +26 -0
- package/test262/node_modules/argparse/lib/action/store.js +50 -0
- package/test262/node_modules/argparse/lib/action/subparsers.js +149 -0
- package/test262/node_modules/argparse/lib/action/version.js +47 -0
- package/test262/node_modules/argparse/lib/action.js +146 -0
- package/test262/node_modules/argparse/lib/action_container.js +482 -0
- package/test262/node_modules/argparse/lib/argparse.js +14 -0
- package/test262/node_modules/argparse/lib/argument/error.js +50 -0
- package/test262/node_modules/argparse/lib/argument/exclusive.js +54 -0
- package/test262/node_modules/argparse/lib/argument/group.js +75 -0
- package/test262/node_modules/argparse/lib/argument_parser.js +1161 -0
- package/test262/node_modules/argparse/lib/const.js +21 -0
- package/test262/node_modules/argparse/lib/help/added_formatters.js +87 -0
- package/test262/node_modules/argparse/lib/help/formatter.js +795 -0
- package/test262/node_modules/argparse/lib/namespace.js +76 -0
- package/test262/node_modules/argparse/lib/utils.js +57 -0
- package/test262/node_modules/argparse/package.json +34 -0
- package/test262/node_modules/braces/CHANGELOG.md +184 -0
- package/test262/node_modules/braces/LICENSE +21 -0
- package/test262/node_modules/braces/README.md +593 -0
- package/test262/node_modules/braces/index.js +170 -0
- package/test262/node_modules/braces/lib/compile.js +57 -0
- package/test262/node_modules/braces/lib/constants.js +57 -0
- package/test262/node_modules/braces/lib/expand.js +113 -0
- package/test262/node_modules/braces/lib/parse.js +333 -0
- package/test262/node_modules/braces/lib/stringify.js +32 -0
- package/test262/node_modules/braces/lib/utils.js +112 -0
- package/test262/node_modules/braces/package.json +77 -0
- package/test262/node_modules/esprima/ChangeLog +235 -0
- package/test262/node_modules/esprima/LICENSE.BSD +21 -0
- package/test262/node_modules/esprima/README.md +46 -0
- package/test262/node_modules/esprima/bin/esparse.js +139 -0
- package/test262/node_modules/esprima/bin/esvalidate.js +236 -0
- package/test262/node_modules/esprima/dist/esprima.js +6709 -0
- package/test262/node_modules/esprima/package.json +112 -0
- package/test262/node_modules/fast-glob/LICENSE +21 -0
- package/test262/node_modules/fast-glob/README.md +859 -0
- package/test262/node_modules/fast-glob/out/index.d.ts +40 -0
- package/test262/node_modules/fast-glob/out/index.js +102 -0
- package/test262/node_modules/fast-glob/out/managers/tasks.d.ts +22 -0
- package/test262/node_modules/fast-glob/out/managers/tasks.js +110 -0
- package/test262/node_modules/fast-glob/out/providers/async.d.ts +9 -0
- package/test262/node_modules/fast-glob/out/providers/async.js +23 -0
- package/test262/node_modules/fast-glob/out/providers/filters/deep.d.ts +16 -0
- package/test262/node_modules/fast-glob/out/providers/filters/deep.js +62 -0
- package/test262/node_modules/fast-glob/out/providers/filters/entry.d.ts +16 -0
- package/test262/node_modules/fast-glob/out/providers/filters/entry.js +63 -0
- package/test262/node_modules/fast-glob/out/providers/filters/error.d.ts +8 -0
- package/test262/node_modules/fast-glob/out/providers/filters/error.js +15 -0
- package/test262/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +33 -0
- package/test262/node_modules/fast-glob/out/providers/matchers/matcher.js +45 -0
- package/test262/node_modules/fast-glob/out/providers/matchers/partial.d.ts +4 -0
- package/test262/node_modules/fast-glob/out/providers/matchers/partial.js +38 -0
- package/test262/node_modules/fast-glob/out/providers/provider.d.ts +19 -0
- package/test262/node_modules/fast-glob/out/providers/provider.js +48 -0
- package/test262/node_modules/fast-glob/out/providers/stream.d.ts +11 -0
- package/test262/node_modules/fast-glob/out/providers/stream.js +31 -0
- package/test262/node_modules/fast-glob/out/providers/sync.d.ts +9 -0
- package/test262/node_modules/fast-glob/out/providers/sync.js +23 -0
- package/test262/node_modules/fast-glob/out/providers/transformers/entry.d.ts +8 -0
- package/test262/node_modules/fast-glob/out/providers/transformers/entry.js +26 -0
- package/test262/node_modules/fast-glob/out/readers/async.d.ts +10 -0
- package/test262/node_modules/fast-glob/out/readers/async.js +35 -0
- package/test262/node_modules/fast-glob/out/readers/reader.d.ts +15 -0
- package/test262/node_modules/fast-glob/out/readers/reader.js +33 -0
- package/test262/node_modules/fast-glob/out/readers/stream.d.ts +14 -0
- package/test262/node_modules/fast-glob/out/readers/stream.js +55 -0
- package/test262/node_modules/fast-glob/out/readers/sync.d.ts +12 -0
- package/test262/node_modules/fast-glob/out/readers/sync.js +43 -0
- package/test262/node_modules/fast-glob/out/settings.d.ts +164 -0
- package/test262/node_modules/fast-glob/out/settings.js +57 -0
- package/test262/node_modules/fast-glob/out/types/index.d.ts +31 -0
- package/test262/node_modules/fast-glob/out/types/index.js +2 -0
- package/test262/node_modules/fast-glob/out/utils/array.d.ts +2 -0
- package/test262/node_modules/fast-glob/out/utils/array.js +22 -0
- package/test262/node_modules/fast-glob/out/utils/errno.d.ts +2 -0
- package/test262/node_modules/fast-glob/out/utils/errno.js +7 -0
- package/test262/node_modules/fast-glob/out/utils/fs.d.ts +4 -0
- package/test262/node_modules/fast-glob/out/utils/fs.js +19 -0
- package/test262/node_modules/fast-glob/out/utils/index.d.ts +8 -0
- package/test262/node_modules/fast-glob/out/utils/index.js +17 -0
- package/test262/node_modules/fast-glob/out/utils/path.d.ts +13 -0
- package/test262/node_modules/fast-glob/out/utils/path.js +68 -0
- package/test262/node_modules/fast-glob/out/utils/pattern.d.ts +47 -0
- package/test262/node_modules/fast-glob/out/utils/pattern.js +188 -0
- package/test262/node_modules/fast-glob/out/utils/stream.d.ts +4 -0
- package/test262/node_modules/fast-glob/out/utils/stream.js +17 -0
- package/test262/node_modules/fast-glob/out/utils/string.d.ts +2 -0
- package/test262/node_modules/fast-glob/out/utils/string.js +11 -0
- package/test262/node_modules/fast-glob/package.json +81 -0
- package/test262/node_modules/fastq/.github/dependabot.yml +11 -0
- package/test262/node_modules/fastq/.github/workflows/ci.yml +50 -0
- package/test262/node_modules/fastq/LICENSE +13 -0
- package/test262/node_modules/fastq/README.md +309 -0
- package/test262/node_modules/fastq/bench.js +66 -0
- package/test262/node_modules/fastq/example.js +14 -0
- package/test262/node_modules/fastq/example.mjs +11 -0
- package/test262/node_modules/fastq/index.d.ts +37 -0
- package/test262/node_modules/fastq/package.json +52 -0
- package/test262/node_modules/fastq/queue.js +289 -0
- package/test262/node_modules/fastq/test/example.ts +81 -0
- package/test262/node_modules/fastq/test/promise.js +248 -0
- package/test262/node_modules/fastq/test/test.js +566 -0
- package/test262/node_modules/fastq/test/tsconfig.json +11 -0
- package/test262/node_modules/fill-range/LICENSE +21 -0
- package/test262/node_modules/fill-range/README.md +237 -0
- package/test262/node_modules/fill-range/index.js +249 -0
- package/test262/node_modules/fill-range/package.json +69 -0
- package/test262/node_modules/glob-parent/CHANGELOG.md +110 -0
- package/test262/node_modules/glob-parent/LICENSE +15 -0
- package/test262/node_modules/glob-parent/README.md +137 -0
- package/test262/node_modules/glob-parent/index.js +42 -0
- package/test262/node_modules/glob-parent/package.json +48 -0
- package/test262/node_modules/graceful-fs/LICENSE +15 -0
- package/test262/node_modules/graceful-fs/README.md +143 -0
- package/test262/node_modules/graceful-fs/clone.js +23 -0
- package/test262/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/test262/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/test262/node_modules/graceful-fs/package.json +53 -0
- package/test262/node_modules/graceful-fs/polyfills.js +355 -0
- package/test262/node_modules/is-extglob/LICENSE +21 -0
- package/test262/node_modules/is-extglob/README.md +107 -0
- package/test262/node_modules/is-extglob/index.js +20 -0
- package/test262/node_modules/is-extglob/package.json +69 -0
- package/test262/node_modules/is-glob/LICENSE +21 -0
- package/test262/node_modules/is-glob/README.md +206 -0
- package/test262/node_modules/is-glob/index.js +150 -0
- package/test262/node_modules/is-glob/package.json +81 -0
- package/test262/node_modules/is-number/LICENSE +21 -0
- package/test262/node_modules/is-number/README.md +187 -0
- package/test262/node_modules/is-number/index.js +18 -0
- package/test262/node_modules/is-number/package.json +82 -0
- package/test262/node_modules/js-yaml/CHANGELOG.md +557 -0
- package/test262/node_modules/js-yaml/LICENSE +21 -0
- package/test262/node_modules/js-yaml/README.md +299 -0
- package/test262/node_modules/js-yaml/bin/js-yaml.js +132 -0
- package/test262/node_modules/js-yaml/dist/js-yaml.js +3989 -0
- package/test262/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
- package/test262/node_modules/js-yaml/index.js +7 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/loader.js +1644 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
- package/test262/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
- package/test262/node_modules/js-yaml/lib/js-yaml.js +39 -0
- package/test262/node_modules/js-yaml/package.json +49 -0
- package/test262/node_modules/klaw/CHANGELOG.md +62 -0
- package/test262/node_modules/klaw/LICENSE +15 -0
- package/test262/node_modules/klaw/README.md +252 -0
- package/test262/node_modules/klaw/package.json +40 -0
- package/test262/node_modules/klaw/src/index.js +56 -0
- package/test262/node_modules/merge2/LICENSE +21 -0
- package/test262/node_modules/merge2/README.md +144 -0
- package/test262/node_modules/merge2/index.js +144 -0
- package/test262/node_modules/merge2/package.json +43 -0
- package/test262/node_modules/micromatch/LICENSE +21 -0
- package/test262/node_modules/micromatch/README.md +1011 -0
- package/test262/node_modules/micromatch/index.js +467 -0
- package/test262/node_modules/micromatch/package.json +119 -0
- package/test262/node_modules/picomatch/CHANGELOG.md +136 -0
- package/test262/node_modules/picomatch/LICENSE +21 -0
- package/test262/node_modules/picomatch/README.md +708 -0
- package/test262/node_modules/picomatch/index.js +3 -0
- package/test262/node_modules/picomatch/lib/constants.js +179 -0
- package/test262/node_modules/picomatch/lib/parse.js +1091 -0
- package/test262/node_modules/picomatch/lib/picomatch.js +342 -0
- package/test262/node_modules/picomatch/lib/scan.js +391 -0
- package/test262/node_modules/picomatch/lib/utils.js +64 -0
- package/test262/node_modules/picomatch/package.json +81 -0
- package/test262/node_modules/queue-microtask/LICENSE +20 -0
- package/test262/node_modules/queue-microtask/README.md +90 -0
- package/test262/node_modules/queue-microtask/index.d.ts +2 -0
- package/test262/node_modules/queue-microtask/index.js +9 -0
- package/test262/node_modules/queue-microtask/package.json +55 -0
- package/test262/node_modules/reusify/.coveralls.yml +1 -0
- package/test262/node_modules/reusify/.travis.yml +28 -0
- package/test262/node_modules/reusify/LICENSE +22 -0
- package/test262/node_modules/reusify/README.md +145 -0
- package/test262/node_modules/reusify/benchmarks/createNoCodeFunction.js +30 -0
- package/test262/node_modules/reusify/benchmarks/fib.js +13 -0
- package/test262/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +38 -0
- package/test262/node_modules/reusify/package.json +45 -0
- package/test262/node_modules/reusify/reusify.js +33 -0
- package/test262/node_modules/reusify/test.js +66 -0
- package/test262/node_modules/run-parallel/LICENSE +20 -0
- package/test262/node_modules/run-parallel/README.md +85 -0
- package/test262/node_modules/run-parallel/index.js +51 -0
- package/test262/node_modules/run-parallel/package.json +58 -0
- package/test262/node_modules/sprintf-js/LICENSE +24 -0
- package/test262/node_modules/sprintf-js/README.md +88 -0
- package/test262/node_modules/sprintf-js/bower.json +14 -0
- package/test262/node_modules/sprintf-js/demo/angular.html +20 -0
- package/test262/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
- package/test262/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
- package/test262/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
- package/test262/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
- package/test262/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
- package/test262/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
- package/test262/node_modules/sprintf-js/gruntfile.js +36 -0
- package/test262/node_modules/sprintf-js/package.json +22 -0
- package/test262/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
- package/test262/node_modules/sprintf-js/src/sprintf.js +208 -0
- package/test262/node_modules/sprintf-js/test/test.js +82 -0
- package/test262/node_modules/test262-stream/.jshintignore +2 -0
- package/test262/node_modules/test262-stream/.jshintrc +6 -0
- package/test262/node_modules/test262-stream/.travis.yml +5 -0
- package/test262/node_modules/test262-stream/CONTRIBUTING.md +37 -0
- package/test262/node_modules/test262-stream/LICENSE-MICROSOFT.txt +27 -0
- package/test262/node_modules/test262-stream/LICENSE.txt +27 -0
- package/test262/node_modules/test262-stream/README.md +71 -0
- package/test262/node_modules/test262-stream/lib/builder.js +46 -0
- package/test262/node_modules/test262-stream/lib/compile.js +24 -0
- package/test262/node_modules/test262-stream/lib/create-scenarios.js +29 -0
- package/test262/node_modules/test262-stream/lib/index.js +187 -0
- package/test262/node_modules/test262-stream/lib/test-file.js +150 -0
- package/test262/node_modules/test262-stream/package.json +26 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-missing-harness/fake-test262/test/a-test-file.js +16 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/package.json +3 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/test/strict.js +9 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/package.json +3 -0
- package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/test/strict.js +9 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/asyncNegative_default.js +49 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/asyncNegative_strict_mode.js +50 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/async_default.js +48 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/async_strict_mode.js +49 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/bothStrict_default.js +46 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/bothStrict_strict_mode.js +47 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/error_default.js +39 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/error_strict_mode.js +40 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/module_default.js +37 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/module_strict_mode.js +38 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/negative-empty_default.js +37 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/negative-empty_strict_mode.js +38 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/noStrict_default.js +36 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/rawNoStrict_default.js +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/rawStrict_default.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/strict_strict_mode.js +41 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/asyncNegative_default.json +22 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/asyncNegative_strict_mode.json +22 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/async_default.json +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/async_strict_mode.json +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/bothStrict_default.json +24 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/bothStrict_strict_mode.json +24 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/error_default.json +19 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/error_strict_mode.json +19 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/module_default.json +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/module_strict_mode.json +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/negative-empty_default.json +19 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/negative-empty_strict_mode.json +19 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/noStrict_default.json +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/rawNoStrict_default.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/rawStrict_default.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/strict_strict_mode.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/async.js +10 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/asyncNegative.js +11 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/bothStrict.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/error.js +8 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/module.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/module_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/negative-empty.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/noStrict.js +5 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/rawNoStrict.js +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/rawStrict.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/strict.js +9 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-content/test/bothStrict_default.js +46 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-content/test/bothStrict_strict_mode.js +47 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-metadata/test/bothStrict_default.json +24 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-metadata/test/bothStrict_strict_mode.json +24 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/bothStrict.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-0_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-1_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-2_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-3_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-4_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-5_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-6_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-7_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-8_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-9_FIXTURE.txt +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-content/test/raw_default.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-content/test/runtime_default.js +38 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-content/test/runtime_strict_mode.js +39 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-metadata/test/raw_default.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-metadata/test/runtime_default.json +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-metadata/test/runtime_strict_mode.json +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/test/raw.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/test/runtime.js +7 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/asyncNegative_default.js +11 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/asyncNegative_strict_mode.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/async_default.js +10 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/async_strict_mode.js +11 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/bothStrict_default.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/bothStrict_strict_mode.js +16 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/error_default.js +8 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/error_strict_mode.js +9 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/module_default.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/module_strict_mode.js +7 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/negative-empty_default.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/negative-empty_strict_mode.js +7 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/noStrict_default.js +5 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/rawNoStrict_default.js +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/rawStrict_default.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/strict_strict_mode.js +10 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/asyncNegative_default.json +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/asyncNegative_strict_mode.json +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/async_default.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/async_strict_mode.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/bothStrict_default.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/bothStrict_strict_mode.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/error_default.json +16 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/error_strict_mode.json +16 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/module_default.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/module_strict_mode.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/negative-empty_default.json +16 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/negative-empty_strict_mode.json +16 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/noStrict_default.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/rawNoStrict_default.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/rawStrict_default.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/strict_strict_mode.json +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/async.js +10 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/asyncNegative.js +11 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/bothStrict.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/error.js +8 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/module.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/module_FIXTURE.js +2 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/negative-empty.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/noStrict.js +5 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/rawNoStrict.js +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/rawStrict.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/strict.js +9 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/expected-content/test/strict_strict_mode.js +41 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/expected-metadata/test/strict_strict_mode.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/package.json +3 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/test/strict.js +9 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/expected-content/test/strict_strict_mode.js +41 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/expected-metadata/test/strict_strict_mode.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/package.json +3 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/test/strict.js +9 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/missing-raw-flag_default.js +44 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/missing-raw-flag_strict_mode.js +45 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ls-and-license-on-same-line_default.js +20 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ls-multiline-block_default.js +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ls_default.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ps-and-license-on-same-line_default.js +20 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ps-multiline-block_default.js +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ps_default.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/rawWithLicense_default.js +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw_default.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/missing-raw-flag_default.json +22 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/missing-raw-flag_strict_mode.json +22 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ls-and-license-on-same-line_default.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ls-multiline-block_default.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ls_default.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ps-and-license-on-same-line_default.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ps-multiline-block_default.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ps_default.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/rawWithLicense_default.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw_default.json +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/missing-raw-flag.js +13 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ls-and-license-on-same-line.js +20 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ls-multiline-block.js +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ls.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ps-and-license-on-same-line.js +20 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ps-multiline-block.js +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ps.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/rawWithLicense.js +21 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/custom-includes/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/custom-includes/doneprintHandle.js +9 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/custom-includes/sta.js +13 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/async_default.js +52 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/async_strict_mode.js +53 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/bothStrict_default.js +47 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/bothStrict_strict_mode.js +48 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/async_default.json +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/async_strict_mode.json +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/bothStrict_default.json +24 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/bothStrict_strict_mode.json +24 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/test/async.js +10 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/test/bothStrict.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/asyncNegative_default.js +49 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/asyncNegative_strict_mode.js +50 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/async_default.js +48 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/async_strict_mode.js +49 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/bothStrict_default.js +46 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/bothStrict_strict_mode.js +47 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/strict/no/noStrict_default.js +36 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/strict/no/rawNoStrict_default.js +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/asyncNegative_default.json +22 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/asyncNegative_strict_mode.json +22 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/async_default.json +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/async_strict_mode.json +18 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/bothStrict_default.json +24 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/bothStrict_strict_mode.json +24 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/strict/no/noStrict_default.json +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/strict/no/rawNoStrict_default.json +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/harness/assert.js +17 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/harness/doneprintHandle.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/harness/sta.js +12 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/async/async.js +10 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/async/asyncNegative.js +11 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/bothStrict.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/error.js +8 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/negative-empty.js +6 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/no/noStrict.js +5 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/no/rawNoStrict.js +14 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/rawStrict.js +15 -0
- package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/strict.js +9 -0
- package/test262/node_modules/test262-stream/test/test.js +319 -0
- package/test262/node_modules/to-regex-range/LICENSE +21 -0
- package/test262/node_modules/to-regex-range/README.md +305 -0
- package/test262/node_modules/to-regex-range/index.js +288 -0
- package/test262/node_modules/to-regex-range/package.json +88 -0
- package/test262/package-lock.json +279 -0
- package/test262/package.json +6 -0
- package/test262/prelude.js +75 -0
- package/test262/results.json +1 -0
- package/util/enum.js +20 -0
@@ -0,0 +1,299 @@
|
|
1
|
+
JS-YAML - YAML 1.2 parser / writer for JavaScript
|
2
|
+
=================================================
|
3
|
+
|
4
|
+
[](https://travis-ci.org/nodeca/js-yaml)
|
5
|
+
[](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 the 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 resources 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
|
+
const yaml = require('js-yaml');
|
84
|
+
const fs = require('fs');
|
85
|
+
|
86
|
+
// Get document, or throw exception on error
|
87
|
+
try {
|
88
|
+
const 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 either a
|
99
|
+
plain object, a string or `undefined`, or throws `YAMLException` on error. By default, does
|
100
|
+
not support regexps, 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 call this function with an instance of `YAMLException` for each warning.
|
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
|
+
- `json` _(default: false)_ - compatibility with JSON.parse behaviour. If true, then duplicate keys in a mapping will override values rather than throwing an error.
|
120
|
+
|
121
|
+
NOTE: This function **does not** understand multi-document sources, it throws
|
122
|
+
exception on those.
|
123
|
+
|
124
|
+
NOTE: JS-YAML **does not** support schema-specific tag resolution restrictions.
|
125
|
+
So, the JSON schema is not as strictly defined in the YAML specification.
|
126
|
+
It allows numbers in any notation, use `Null` and `NULL` as `null`, etc.
|
127
|
+
The core schema also has no such restrictions. It allows binary notation for integers.
|
128
|
+
|
129
|
+
|
130
|
+
### load (string [ , options ])
|
131
|
+
|
132
|
+
**Use with care with untrusted sources**. The same as `safeLoad()` but uses
|
133
|
+
`DEFAULT_FULL_SCHEMA` by default - adds some JavaScript-specific types:
|
134
|
+
`!!js/function`, `!!js/regexp` and `!!js/undefined`. For untrusted sources, you
|
135
|
+
must additionally validate object structure to avoid injections:
|
136
|
+
|
137
|
+
``` javascript
|
138
|
+
const untrusted_code = '"toString": !<tag:yaml.org,2002:js/function> "function (){very_evil_thing();}"';
|
139
|
+
|
140
|
+
// I'm just converting that string, what could possibly go wrong?
|
141
|
+
require('js-yaml').load(untrusted_code) + ''
|
142
|
+
```
|
143
|
+
|
144
|
+
|
145
|
+
### safeLoadAll (string [, iterator] [, options ])
|
146
|
+
|
147
|
+
Same as `safeLoad()`, but understands multi-document sources. Applies
|
148
|
+
`iterator` to each document if specified, or returns array of documents.
|
149
|
+
|
150
|
+
``` javascript
|
151
|
+
const yaml = require('js-yaml');
|
152
|
+
|
153
|
+
yaml.safeLoadAll(data, function (doc) {
|
154
|
+
console.log(doc);
|
155
|
+
});
|
156
|
+
```
|
157
|
+
|
158
|
+
|
159
|
+
### loadAll (string [, iterator] [ , options ])
|
160
|
+
|
161
|
+
Same as `safeLoadAll()` but uses `DEFAULT_FULL_SCHEMA` by default.
|
162
|
+
|
163
|
+
|
164
|
+
### safeDump (object [ , options ])
|
165
|
+
|
166
|
+
Serializes `object` as a YAML document. Uses `DEFAULT_SAFE_SCHEMA`, so it will
|
167
|
+
throw an exception if you try to dump regexps or functions. However, you can
|
168
|
+
disable exceptions by setting the `skipInvalid` option to `true`.
|
169
|
+
|
170
|
+
options:
|
171
|
+
|
172
|
+
- `indent` _(default: 2)_ - indentation width to use (in spaces).
|
173
|
+
- `noArrayIndent` _(default: false)_ - when true, will not add an indentation level to array elements
|
174
|
+
- `skipInvalid` _(default: false)_ - do not throw on invalid types (like function
|
175
|
+
in the safe schema) and skip pairs and single values with such types.
|
176
|
+
- `flowLevel` (default: -1) - specifies level of nesting, when to switch from
|
177
|
+
block to flow style for collections. -1 means block style everwhere
|
178
|
+
- `styles` - "tag" => "style" map. Each tag may have own set of styles.
|
179
|
+
- `schema` _(default: `DEFAULT_SAFE_SCHEMA`)_ specifies a schema to use.
|
180
|
+
- `sortKeys` _(default: `false`)_ - if `true`, sort keys when dumping YAML. If a
|
181
|
+
function, use the function to sort the keys.
|
182
|
+
- `lineWidth` _(default: `80`)_ - set max line width.
|
183
|
+
- `noRefs` _(default: `false`)_ - if `true`, don't convert duplicate objects into references
|
184
|
+
- `noCompatMode` _(default: `false`)_ - if `true` don't try to be compatible with older
|
185
|
+
yaml versions. Currently: don't quote "yes", "no" and so on, as required for YAML 1.1
|
186
|
+
- `condenseFlow` _(default: `false`)_ - if `true` flow sequences will be condensed, omitting the space between `a, b`. Eg. `'[a,b]'`, and omitting the space between `key: value` and quoting the key. Eg. `'{"a":b}'` Can be useful when using yaml for pretty URL query params as spaces are %-encoded.
|
187
|
+
|
188
|
+
The following table show availlable styles (e.g. "canonical",
|
189
|
+
"binary"...) available for each tag (.e.g. !!null, !!int ...). Yaml
|
190
|
+
output is shown on the right side after `=>` (default setting) or `->`:
|
191
|
+
|
192
|
+
``` none
|
193
|
+
!!null
|
194
|
+
"canonical" -> "~"
|
195
|
+
"lowercase" => "null"
|
196
|
+
"uppercase" -> "NULL"
|
197
|
+
"camelcase" -> "Null"
|
198
|
+
|
199
|
+
!!int
|
200
|
+
"binary" -> "0b1", "0b101010", "0b1110001111010"
|
201
|
+
"octal" -> "01", "052", "016172"
|
202
|
+
"decimal" => "1", "42", "7290"
|
203
|
+
"hexadecimal" -> "0x1", "0x2A", "0x1C7A"
|
204
|
+
|
205
|
+
!!bool
|
206
|
+
"lowercase" => "true", "false"
|
207
|
+
"uppercase" -> "TRUE", "FALSE"
|
208
|
+
"camelcase" -> "True", "False"
|
209
|
+
|
210
|
+
!!float
|
211
|
+
"lowercase" => ".nan", '.inf'
|
212
|
+
"uppercase" -> ".NAN", '.INF'
|
213
|
+
"camelcase" -> ".NaN", '.Inf'
|
214
|
+
```
|
215
|
+
|
216
|
+
Example:
|
217
|
+
|
218
|
+
``` javascript
|
219
|
+
safeDump (object, {
|
220
|
+
'styles': {
|
221
|
+
'!!null': 'canonical' // dump null as ~
|
222
|
+
},
|
223
|
+
'sortKeys': true // sort object keys
|
224
|
+
});
|
225
|
+
```
|
226
|
+
|
227
|
+
### dump (object [ , options ])
|
228
|
+
|
229
|
+
Same as `safeDump()` but without limits (uses `DEFAULT_FULL_SCHEMA` by default).
|
230
|
+
|
231
|
+
|
232
|
+
Supported YAML types
|
233
|
+
--------------------
|
234
|
+
|
235
|
+
The list of standard YAML tags and corresponding JavaScipt types. See also
|
236
|
+
[YAML tag discussion](http://pyyaml.org/wiki/YAMLTagDiscussion) and
|
237
|
+
[YAML types repository](http://yaml.org/type/).
|
238
|
+
|
239
|
+
```
|
240
|
+
!!null '' # null
|
241
|
+
!!bool 'yes' # bool
|
242
|
+
!!int '3...' # number
|
243
|
+
!!float '3.14...' # number
|
244
|
+
!!binary '...base64...' # buffer
|
245
|
+
!!timestamp 'YYYY-...' # date
|
246
|
+
!!omap [ ... ] # array of key-value pairs
|
247
|
+
!!pairs [ ... ] # array or array pairs
|
248
|
+
!!set { ... } # array of objects with given keys and null values
|
249
|
+
!!str '...' # string
|
250
|
+
!!seq [ ... ] # array
|
251
|
+
!!map { ... } # object
|
252
|
+
```
|
253
|
+
|
254
|
+
**JavaScript-specific tags**
|
255
|
+
|
256
|
+
```
|
257
|
+
!!js/regexp /pattern/gim # RegExp
|
258
|
+
!!js/undefined '' # Undefined
|
259
|
+
!!js/function 'function () {...}' # Function
|
260
|
+
```
|
261
|
+
|
262
|
+
Caveats
|
263
|
+
-------
|
264
|
+
|
265
|
+
Note, that you use arrays or objects as key in JS-YAML. JS does not allow objects
|
266
|
+
or arrays as keys, and stringifies (by calling `toString()` method) them at the
|
267
|
+
moment of adding them.
|
268
|
+
|
269
|
+
``` yaml
|
270
|
+
---
|
271
|
+
? [ foo, bar ]
|
272
|
+
: - baz
|
273
|
+
? { foo: bar }
|
274
|
+
: - baz
|
275
|
+
- baz
|
276
|
+
```
|
277
|
+
|
278
|
+
``` javascript
|
279
|
+
{ "foo,bar": ["baz"], "[object Object]": ["baz", "baz"] }
|
280
|
+
```
|
281
|
+
|
282
|
+
Also, reading of properties on implicit block mapping keys is not supported yet.
|
283
|
+
So, the following YAML document cannot be loaded.
|
284
|
+
|
285
|
+
``` yaml
|
286
|
+
&anchor foo:
|
287
|
+
foo: bar
|
288
|
+
*anchor: duplicate key
|
289
|
+
baz: bat
|
290
|
+
*anchor: duplicate key
|
291
|
+
```
|
292
|
+
|
293
|
+
|
294
|
+
js-yaml for enterprise
|
295
|
+
----------------------
|
296
|
+
|
297
|
+
Available as part of the Tidelift Subscription
|
298
|
+
|
299
|
+
The maintainers of js-yaml and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-js-yaml?utm_source=npm-js-yaml&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
|
@@ -0,0 +1,132 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
|
3
|
+
|
4
|
+
'use strict';
|
5
|
+
|
6
|
+
/*eslint-disable no-console*/
|
7
|
+
|
8
|
+
|
9
|
+
// stdlib
|
10
|
+
var fs = require('fs');
|
11
|
+
|
12
|
+
|
13
|
+
// 3rd-party
|
14
|
+
var argparse = require('argparse');
|
15
|
+
|
16
|
+
|
17
|
+
// internal
|
18
|
+
var yaml = require('..');
|
19
|
+
|
20
|
+
|
21
|
+
////////////////////////////////////////////////////////////////////////////////
|
22
|
+
|
23
|
+
|
24
|
+
var cli = new argparse.ArgumentParser({
|
25
|
+
prog: 'js-yaml',
|
26
|
+
version: require('../package.json').version,
|
27
|
+
addHelp: true
|
28
|
+
});
|
29
|
+
|
30
|
+
|
31
|
+
cli.addArgument([ '-c', '--compact' ], {
|
32
|
+
help: 'Display errors in compact mode',
|
33
|
+
action: 'storeTrue'
|
34
|
+
});
|
35
|
+
|
36
|
+
|
37
|
+
// deprecated (not needed after we removed output colors)
|
38
|
+
// option suppressed, but not completely removed for compatibility
|
39
|
+
cli.addArgument([ '-j', '--to-json' ], {
|
40
|
+
help: argparse.Const.SUPPRESS,
|
41
|
+
dest: 'json',
|
42
|
+
action: 'storeTrue'
|
43
|
+
});
|
44
|
+
|
45
|
+
|
46
|
+
cli.addArgument([ '-t', '--trace' ], {
|
47
|
+
help: 'Show stack trace on error',
|
48
|
+
action: 'storeTrue'
|
49
|
+
});
|
50
|
+
|
51
|
+
cli.addArgument([ 'file' ], {
|
52
|
+
help: 'File to read, utf-8 encoded without BOM',
|
53
|
+
nargs: '?',
|
54
|
+
defaultValue: '-'
|
55
|
+
});
|
56
|
+
|
57
|
+
|
58
|
+
////////////////////////////////////////////////////////////////////////////////
|
59
|
+
|
60
|
+
|
61
|
+
var options = cli.parseArgs();
|
62
|
+
|
63
|
+
|
64
|
+
////////////////////////////////////////////////////////////////////////////////
|
65
|
+
|
66
|
+
function readFile(filename, encoding, callback) {
|
67
|
+
if (options.file === '-') {
|
68
|
+
// read from stdin
|
69
|
+
|
70
|
+
var chunks = [];
|
71
|
+
|
72
|
+
process.stdin.on('data', function (chunk) {
|
73
|
+
chunks.push(chunk);
|
74
|
+
});
|
75
|
+
|
76
|
+
process.stdin.on('end', function () {
|
77
|
+
return callback(null, Buffer.concat(chunks).toString(encoding));
|
78
|
+
});
|
79
|
+
} else {
|
80
|
+
fs.readFile(filename, encoding, callback);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
readFile(options.file, 'utf8', function (error, input) {
|
85
|
+
var output, isYaml;
|
86
|
+
|
87
|
+
if (error) {
|
88
|
+
if (error.code === 'ENOENT') {
|
89
|
+
console.error('File not found: ' + options.file);
|
90
|
+
process.exit(2);
|
91
|
+
}
|
92
|
+
|
93
|
+
console.error(
|
94
|
+
options.trace && error.stack ||
|
95
|
+
error.message ||
|
96
|
+
String(error));
|
97
|
+
|
98
|
+
process.exit(1);
|
99
|
+
}
|
100
|
+
|
101
|
+
try {
|
102
|
+
output = JSON.parse(input);
|
103
|
+
isYaml = false;
|
104
|
+
} catch (err) {
|
105
|
+
if (err instanceof SyntaxError) {
|
106
|
+
try {
|
107
|
+
output = [];
|
108
|
+
yaml.loadAll(input, function (doc) { output.push(doc); }, {});
|
109
|
+
isYaml = true;
|
110
|
+
|
111
|
+
if (output.length === 0) output = null;
|
112
|
+
else if (output.length === 1) output = output[0];
|
113
|
+
|
114
|
+
} catch (e) {
|
115
|
+
if (options.trace && err.stack) console.error(e.stack);
|
116
|
+
else console.error(e.toString(options.compact));
|
117
|
+
|
118
|
+
process.exit(1);
|
119
|
+
}
|
120
|
+
} else {
|
121
|
+
console.error(
|
122
|
+
options.trace && err.stack ||
|
123
|
+
err.message ||
|
124
|
+
String(err));
|
125
|
+
|
126
|
+
process.exit(1);
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
if (isYaml) console.log(JSON.stringify(output, null, ' '));
|
131
|
+
else console.log(yaml.dump(output));
|
132
|
+
});
|