Repository: arijs/prettier-miscellaneous Branch: master Commit: ca96030affb1 Files: 3387 Total size: 7.2 MB Directory structure: gitextract_9pedfg9r/ ├── .codecov.yml ├── .eslintignore ├── .eslintrc.js ├── .flowconfig ├── .gitignore ├── .ignore ├── .npmignore ├── .pre-commit-hooks.yaml ├── .travis.yml ├── .yarnrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── Rationale.md ├── bin/ │ └── prettier.js ├── commands.md ├── docs/ │ ├── CNAME │ └── en/ │ ├── editors.md │ ├── options.md │ ├── usage.md │ └── why-prettier.md ├── editors/ │ ├── atom.md │ ├── emacs/ │ │ └── README.md │ ├── vim/ │ │ └── README.md │ └── webstorm/ │ └── README.md ├── index.js ├── jest.config.js ├── package.json ├── scripts/ │ ├── build/ │ │ ├── .eslintrc.js │ │ ├── build.js │ │ ├── rollup.base.config.js │ │ ├── rollup.bin.config.js │ │ ├── rollup.docs.config.js │ │ ├── rollup.index.config.js │ │ └── rollup.parser.config.js │ ├── run-external-typescript-tests.js │ └── sync-flow-tests.js ├── src/ │ ├── clean-ast.js │ ├── comments.js │ ├── deprecated.js │ ├── doc-builders.js │ ├── doc-debug.js │ ├── doc-printer.js │ ├── doc-utils.js │ ├── fast-path.js │ ├── multiparser.js │ ├── options.js │ ├── parser-babylon.js │ ├── parser-create-error.js │ ├── parser-flow.js │ ├── parser-graphql.js │ ├── parser-include-shebang.js │ ├── parser-json.js │ ├── parser-parse5.js │ ├── parser-postcss.js │ ├── parser-typescript.js │ ├── parser.js │ ├── printer-graphql.js │ ├── printer-htmlparser2.js │ ├── printer-postcss.js │ ├── printer.js │ ├── resolve-config.js │ └── util.js ├── tests/ │ ├── .eslintrc.js │ ├── align-object-properties/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── o.js │ ├── array_spread/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── multiple.js │ ├── arrays/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── empty.js │ │ ├── jsfmt.spec.js │ │ ├── last.js │ │ └── preserve_empty_lines.js │ ├── arrow-call/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── arrow_call.js │ │ └── jsfmt.spec.js │ ├── arrows/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── arrow-parens.js │ │ ├── arrow_function_expression.js │ │ ├── block_like.js │ │ ├── call.js │ │ ├── comment.js │ │ ├── currying.js │ │ ├── jsfmt.spec.js │ │ ├── long-call-no-args.js │ │ ├── long-contents.js │ │ ├── short_body.js │ │ └── type_params.js │ ├── arrows_bind/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── arrows-bind.js │ │ └── jsfmt.spec.js │ ├── assignment/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── binaryish.js │ │ ├── jsfmt.spec.js │ │ └── sequence.js │ ├── assignment_comments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── assignment_comments.js │ │ └── jsfmt.spec.js │ ├── assignment_expression/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── assignment_expression.js │ │ └── jsfmt.spec.js │ ├── async/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── async-iteration.js │ │ ├── await_parse.js │ │ ├── conditional-expression.js │ │ ├── jsfmt.spec.js │ │ └── parens.js │ ├── binary-expressions/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── arrow.js │ │ ├── bitwise-flags.js │ │ ├── comment.js │ │ ├── equality.js │ │ ├── exp.js │ │ ├── if.js │ │ ├── inline-object-array.js │ │ ├── jsfmt.spec.js │ │ ├── jsx_parent.js │ │ ├── math.js │ │ ├── short-right.js │ │ ├── test.js │ │ └── unary.js │ ├── binary_math/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── parens.js │ ├── bind_expressions/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── bind_parens.js │ │ ├── jsfmt.spec.js │ │ └── method_chain.js │ ├── bracketSpacing/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── array.js │ │ ├── jsfmt.spec.js │ │ └── object.js │ ├── break-calls/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── break.js │ │ ├── jsfmt.spec.js │ │ └── parent.js │ ├── class_comment/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comments.js │ │ └── jsfmt.spec.js │ ├── class_extends/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── extends.js │ │ └── jsfmt.spec.js │ ├── classes/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── binary.js │ │ ├── break.js │ │ ├── call.js │ │ ├── empty.js │ │ ├── jsfmt.spec.js │ │ ├── member.js │ │ ├── method.js │ │ └── ternary.js │ ├── comments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── assignment-pattern.js │ │ ├── before-comma.js │ │ ├── blank.js │ │ ├── call_comment.js │ │ ├── dangling.js │ │ ├── dangling_array.js │ │ ├── dangling_for.js │ │ ├── export.js │ │ ├── first-line.js │ │ ├── flow_union.js │ │ ├── function-declaration.js │ │ ├── if.js │ │ ├── issues.js │ │ ├── jsfmt.spec.js │ │ ├── jsx.js │ │ ├── last-arg.js │ │ ├── preserve-new-line-last.js │ │ ├── return-statement.js │ │ ├── switch.js │ │ ├── template-literal.js │ │ ├── trailing_space.js │ │ ├── try.js │ │ └── variable_declarator.js │ ├── computed_props/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── classes.js │ │ └── jsfmt.spec.js │ ├── conditional/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comments.js │ │ ├── jsfmt.spec.js │ │ ├── new-expression.js │ │ └── no-confusing-arrow.js │ ├── css_atrule/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── if-else.css │ │ └── jsfmt.spec.js │ ├── css_attribute/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── insensitive.css │ │ └── jsfmt.spec.js │ ├── css_atword/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── atword.css │ │ └── jsfmt.spec.js │ ├── css_bom/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── bom.css │ │ └── jsfmt.spec.js │ ├── css_colon/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── colon.css │ │ └── jsfmt.spec.js │ ├── css_color/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── hexcolor.css │ │ └── jsfmt.spec.js │ ├── css_combinator/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── combinator.css │ │ ├── jsfmt.spec.js │ │ └── leading.css │ ├── css_comments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── block.css │ │ ├── bug.css │ │ ├── jsfmt.spec.js │ │ ├── places.css │ │ ├── prettier-ignore.css │ │ ├── selector.css │ │ └── trailing_star_slash.css │ ├── css_composes/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── composes.css │ │ └── jsfmt.spec.js │ ├── css_empty/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── empty.css │ │ └── jsfmt.spec.js │ ├── css_extend/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── extend.css │ │ └── jsfmt.spec.js │ ├── css_fill_value/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── fill.css │ │ └── jsfmt.spec.js │ ├── css_import/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── directives.css │ │ ├── jsfmt.spec.js │ │ └── url.css │ ├── css_important/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── important.css │ │ └── jsfmt.spec.js │ ├── css_indent/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── indent.css │ │ ├── jsfmt.spec.js │ │ └── selectors.css │ ├── css_inline_url/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── empty.css │ │ ├── inline_url.css │ │ └── jsfmt.spec.js │ ├── css_less_docs/ │ │ └── less_docs.css │ ├── css_long_rule/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── long_rule.css │ ├── css_loose/ │ │ └── loose.js │ ├── css_media/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── overflow.css │ ├── css_params/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── params.css │ ├── css_parens/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── parens.js │ ├── css_prefix/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── prefix.css │ ├── css_pseudo_call/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── pseudo_call.css │ ├── css_scss/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── import_comma.css │ │ ├── jsfmt.spec.js │ │ └── scss.css │ ├── css_selector_call/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── call.css │ │ └── jsfmt.spec.js │ ├── css_selector_list/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── selectors.css │ ├── css_selector_string/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── string.css │ ├── css_trailing_comma/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── trailing.css │ ├── cursor/ │ │ └── jsfmt.spec.js │ ├── decorators/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comments.js │ │ ├── jsfmt.spec.js │ │ ├── methods.js │ │ ├── mobx.js │ │ ├── multiple.js │ │ └── redux.js │ ├── destructuring/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── destructuring.js │ │ └── jsfmt.spec.js │ ├── directives/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── escaped.js │ │ ├── jsfmt.spec.js │ │ ├── last-line-0.js │ │ ├── last-line-1.js │ │ ├── last-line-2.js │ │ ├── newline.js │ │ ├── no-newline.js │ │ └── test.js │ ├── do/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── do.js │ │ └── jsfmt.spec.js │ ├── dynamic_import/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── empty/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── empty.js │ │ └── jsfmt.spec.js │ ├── empty_paren_comment/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── class.js │ │ ├── empty_paren_comment.js │ │ └── jsfmt.spec.js │ ├── empty_statement/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── body.js │ │ ├── jsfmt.spec.js │ │ └── no-newline.js │ ├── es6modules/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── export_default_arrow_expression.js │ │ ├── export_default_call_expression.js │ │ ├── export_default_class_declaration.js │ │ ├── export_default_class_expression.js │ │ ├── export_default_function_declaration.js │ │ ├── export_default_function_declaration_async.js │ │ ├── export_default_function_declaration_named.js │ │ ├── export_default_function_expression.js │ │ ├── export_default_function_expression_named.js │ │ ├── export_default_new_expression.js │ │ └── jsfmt.spec.js │ ├── exact_object/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── export/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── bracket.js │ │ ├── empty.js │ │ └── jsfmt.spec.js │ ├── export_default/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── body.js │ │ └── jsfmt.spec.js │ ├── export_extension/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── export.js │ │ └── jsfmt.spec.js │ ├── exports/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── expression_statement/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── no_regression.js │ │ └── use_strict.js │ ├── first_argument_expansion/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── flow/ │ │ ├── abnormal/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── break-continue.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── return.js │ │ │ └── toplevel_throw.js │ │ ├── annot/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── annot.js │ │ │ ├── any/ │ │ │ │ ├── A.js │ │ │ │ ├── B.js │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ └── jsfmt.spec.js │ │ │ ├── forward_ref.js │ │ │ ├── issue-530.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── leak.js │ │ │ ├── other.js │ │ │ ├── scope.js │ │ │ └── test.js │ │ ├── annot2/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── T.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── any/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── any.js │ │ │ ├── anyexportflowfile.js │ │ │ ├── flowfixme.js │ │ │ ├── flowissue.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── nonflowfile.js │ │ │ ├── propagate.js │ │ │ └── reach.js │ │ ├── arith/ │ │ │ ├── Arith.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── exponent.js │ │ │ ├── generic.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── mult.js │ │ │ └── relational.js │ │ ├── array-filter/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ └── test2.js │ │ ├── array_spread/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── arraylib/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── array_lib.js │ │ │ └── jsfmt.spec.js │ │ ├── arrays/ │ │ │ ├── Arrays.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── numeric_elem.js │ │ ├── arrows/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── advanced_arrows.js │ │ │ ├── arrows.js │ │ │ └── jsfmt.spec.js │ │ ├── async/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── async.js │ │ │ ├── async2.js │ │ │ ├── async3.js │ │ │ ├── async_base_class.js │ │ │ ├── async_parse.js │ │ │ ├── async_promise.js │ │ │ ├── async_return_void.js │ │ │ ├── await_parse.js │ │ │ └── jsfmt.spec.js │ │ ├── async_iteration/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── delegate_yield.js │ │ │ ├── generator.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── return.js │ │ │ └── throw.js │ │ ├── autocomplete/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── customfun.js │ │ │ ├── jsfmt.spec.js │ │ │ └── unknown.js │ │ ├── auxiliary/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── client.js │ │ │ ├── jsfmt.spec.js │ │ │ └── lib/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── lib.js │ │ ├── binary/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── in.js │ │ │ └── jsfmt.spec.js │ │ ├── binding/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── const.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── rebinding.js │ │ │ ├── scope.js │ │ │ └── tdz.js │ │ ├── bom/ │ │ │ ├── FormData.js │ │ │ ├── MutationObserver.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── bounded_poly/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── scope.js │ │ │ └── test.js │ │ ├── break/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── break.js │ │ │ └── jsfmt.spec.js │ │ ├── builtin_uses/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ └── test2.js │ │ ├── builtins/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── array.js │ │ │ ├── genericfoo.js │ │ │ └── jsfmt.spec.js │ │ ├── call_caching1/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── core.js │ │ │ │ ├── immutable.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── test.js │ │ │ ├── test2.js │ │ │ └── test3.js │ │ ├── call_caching2/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── immutable.js │ │ │ │ └── jsfmt.spec.js │ │ │ └── test.js │ │ ├── call_properties/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── D.js │ │ │ ├── E.js │ │ │ ├── F.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── callable/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── optional.js │ │ │ └── primitives.js │ │ ├── check-contents/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── not_flow.js │ │ ├── class_fields/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── base_class.js │ │ │ ├── derived_class.js │ │ │ ├── generic_class.js │ │ │ ├── jsfmt.spec.js │ │ │ └── scoping.js │ │ ├── class_method_default_parameters/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── class_method_default_parameters.js │ │ │ └── jsfmt.spec.js │ │ ├── class_munging/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── with_munging.js │ │ │ └── without_munging.js │ │ ├── class_statics/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── class_subtyping/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ ├── test2.js │ │ │ ├── test3.js │ │ │ └── test4.js │ │ ├── class_type/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ └── test2.js │ │ ├── classes/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── D.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── class_shapes.js │ │ │ ├── expr.js │ │ │ ├── extends_any.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── loc.js │ │ │ └── statics.js │ │ ├── closure/ │ │ │ ├── Closure.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── cond_havoc.js │ │ │ ├── const.js │ │ │ └── jsfmt.spec.js │ │ ├── commonjs/ │ │ │ ├── Abs.js │ │ │ ├── Rel.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── computed_props/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ ├── test2.js │ │ │ ├── test3.js │ │ │ ├── test4.js │ │ │ ├── test5.js │ │ │ ├── test6.js │ │ │ └── test7.js │ │ ├── conditional/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── conditional.js │ │ │ └── jsfmt.spec.js │ │ ├── config_all/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── no_at_flow.js │ │ ├── config_all_false/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── no_at_flow.js │ │ ├── config_all_weak/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── no_at_flow.js │ │ ├── config_file_extensions/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── config_ignore/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── dir/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── foo.js │ │ │ └── jsfmt.spec.js │ │ ├── config_module_name_mapper_PROJECT_ROOT-1.0/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── main.js │ │ │ └── src/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── testmodule.js │ │ ├── config_module_name_mapper_filetype/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── config_module_name_rewrite_haste/ │ │ │ ├── A.js │ │ │ ├── Exists.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── config_module_name_rewrite_node/ │ │ │ ├── A.js │ │ │ ├── Exists.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── config_module_system_node_resolve_dirname/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── custom_resolve_dir/ │ │ │ │ ├── testproj/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── index.js │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ └── testproj2/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── index.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── subdir/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── custom_resolve_dir/ │ │ │ │ │ └── testproj2/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── index.js │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── sublevel.js │ │ │ └── toplevel.js │ │ ├── config_munging_underscores/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── chain.js │ │ │ ├── commonjs_export.js │ │ │ ├── commonjs_import.js │ │ │ └── jsfmt.spec.js │ │ ├── config_munging_underscores2/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── chain.js │ │ │ └── jsfmt.spec.js │ │ ├── const_params/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── constructor/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── constructor.js │ │ │ └── jsfmt.spec.js │ │ ├── constructor_annots/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── constructors.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── contents/ │ │ │ ├── ignore/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── dummy.js │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── test.js │ │ │ └── no_flow/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── dummy.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── core_tests/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── boolean.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── map.js │ │ │ ├── regexp.js │ │ │ └── weakset.js │ │ ├── covariance/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── cycle/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── date/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── date.js │ │ │ └── jsfmt.spec.js │ │ ├── declaration_files_haste/ │ │ │ ├── ExplicitProvidesModuleDifferentName.js │ │ │ ├── ExplicitProvidesModuleSameName.js │ │ │ ├── ImplicitProvidesModule.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── external/ │ │ │ │ └── _d3/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── min.js │ │ │ ├── foo/ │ │ │ │ └── bar/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── nested_test.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── md5.js │ │ │ ├── test.js │ │ │ └── ws/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── index.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── client.js │ │ │ └── jsfmt.spec.js │ │ ├── declaration_files_incremental_haste/ │ │ │ ├── A.js │ │ │ ├── ExplicitProvidesModuleDifferentName.js │ │ │ ├── ExplicitProvidesModuleSameName.js │ │ │ ├── ImplicitProvidesModule.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── external/ │ │ │ │ └── _d3/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── min.js │ │ │ ├── foo/ │ │ │ │ └── bar/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── nested_test.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── md5.js │ │ │ ├── test.js │ │ │ └── ws/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── index.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── client.js │ │ │ └── jsfmt.spec.js │ │ ├── declaration_files_incremental_haste_name_reducers/ │ │ │ ├── A.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── index.js │ │ │ └── jsfmt.spec.js │ │ ├── declaration_files_incremental_node/ │ │ │ ├── A.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test_absolute.js │ │ │ └── test_relative.js │ │ ├── declaration_files_node/ │ │ │ ├── A.js │ │ │ ├── CJS.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test_absolute.js │ │ │ └── test_relative.js │ │ ├── declare_class/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── declare_class.js │ │ │ ├── jsfmt.spec.js │ │ │ └── lib/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── declare_export/ │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── CommonJS_Clobbering_Class.js │ │ │ ├── CommonJS_Clobbering_Lit.js │ │ │ ├── CommonJS_Named.js │ │ │ ├── ES6_DefaultAndNamed.js │ │ │ ├── ES6_Default_AnonFunction1.js │ │ │ ├── ES6_Default_AnonFunction2.js │ │ │ ├── ES6_Default_NamedClass1.js │ │ │ ├── ES6_Default_NamedClass2.js │ │ │ ├── ES6_Default_NamedFunction1.js │ │ │ ├── ES6_Default_NamedFunction2.js │ │ │ ├── ES6_ExportAllFromMulti.js │ │ │ ├── ES6_ExportAllFrom_Intermediary1.js │ │ │ ├── ES6_ExportAllFrom_Intermediary2.js │ │ │ ├── ES6_ExportAllFrom_Source1.js │ │ │ ├── ES6_ExportAllFrom_Source2.js │ │ │ ├── ES6_ExportFrom_Intermediary1.js │ │ │ ├── ES6_ExportFrom_Intermediary2.js │ │ │ ├── ES6_ExportFrom_Source1.js │ │ │ ├── ES6_ExportFrom_Source2.js │ │ │ ├── ES6_Named1.js │ │ │ ├── ES6_Named2.js │ │ │ ├── ProvidesModuleA.js │ │ │ ├── ProvidesModuleCJSDefault.js │ │ │ ├── ProvidesModuleD.js │ │ │ ├── ProvidesModuleES6Default.js │ │ │ ├── SideEffects.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── es6modules.js │ │ │ └── jsfmt.spec.js │ │ ├── declare_fun/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── declare_module_exports/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── flow-typed/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── libs.js │ │ │ ├── jsfmt.spec.js │ │ │ └── main.js │ │ ├── declare_type/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── import_declare_type.js │ │ │ ├── jsfmt.spec.js │ │ │ └── lib/ │ │ │ ├── DeclareModule_TypeAlias.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── declare_type_exports.js │ │ │ └── jsfmt.spec.js │ │ ├── def_site_variance/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── demo/ │ │ │ ├── 1/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── f.js │ │ │ │ └── jsfmt.spec.js │ │ │ └── 2/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── deps/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── D.js │ │ │ ├── E.js │ │ │ ├── F.js │ │ │ ├── G.js │ │ │ ├── H.js │ │ │ ├── I.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── destructuring/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── array_rest.js │ │ │ ├── computed.js │ │ │ ├── defaults.js │ │ │ ├── destructuring.js │ │ │ ├── eager.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── poly.js │ │ │ ├── rec.js │ │ │ ├── refinement_non_termination.js │ │ │ ├── string_lit.js │ │ │ └── unannotated.js │ │ ├── dictionary/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── any.js │ │ │ ├── compatible.js │ │ │ ├── dictionary.js │ │ │ ├── incompatible.js │ │ │ ├── issue-1745.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ └── test_client.js │ │ ├── disjoint-union-perf/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── ast.js │ │ │ ├── emit.js │ │ │ ├── jsAst.js │ │ │ └── jsfmt.spec.js │ │ ├── docblock_flow/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── license_with_flow.js │ │ │ ├── max_header_tokens.js │ │ │ ├── multiple_flows_1.js │ │ │ ├── multiple_flows_2.js │ │ │ ├── multiple_providesModule_1.js │ │ │ ├── multiple_providesModule_2.js │ │ │ ├── use_strict_with_flow.js │ │ │ ├── with_flow.js │ │ │ └── without_flow.js │ │ ├── dom/ │ │ │ ├── CanvasRenderingContext2D.js │ │ │ ├── CustomEvent.js │ │ │ ├── Document.js │ │ │ ├── Element.js │ │ │ ├── HTMLCanvasElement.js │ │ │ ├── HTMLElement.js │ │ │ ├── HTMLInputElement.js │ │ │ ├── URL.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── eventtarget.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── path2d.js │ │ │ ├── registerElement.js │ │ │ └── traversal.js │ │ ├── dump-types/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── import.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── duplicate_methods/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── encaps/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── encaps.js │ │ │ └── jsfmt.spec.js │ │ ├── enumerror/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── enumerror.js │ │ │ └── jsfmt.spec.js │ │ ├── equals/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── equals.js │ │ │ └── jsfmt.spec.js │ │ ├── error_messages/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── errors.js │ │ │ └── jsfmt.spec.js │ │ ├── es6modules/ │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── CommonJS_Clobbering_Class.js │ │ │ ├── CommonJS_Clobbering_Frozen.js │ │ │ ├── CommonJS_Clobbering_Lit.js │ │ │ ├── CommonJS_Named.js │ │ │ ├── ES6_DefaultAndNamed.js │ │ │ ├── ES6_Default_AnonClass1.js │ │ │ ├── ES6_Default_AnonClass2.js │ │ │ ├── ES6_Default_AnonFunction1.js │ │ │ ├── ES6_Default_AnonFunction2.js │ │ │ ├── ES6_Default_NamedClass1.js │ │ │ ├── ES6_Default_NamedClass2.js │ │ │ ├── ES6_Default_NamedFunction1.js │ │ │ ├── ES6_Default_NamedFunction2.js │ │ │ ├── ES6_ExportAllFromMulti.js │ │ │ ├── ES6_ExportAllFrom_Intermediary1.js │ │ │ ├── ES6_ExportAllFrom_Intermediary2.js │ │ │ ├── ES6_ExportAllFrom_Source1.js │ │ │ ├── ES6_ExportAllFrom_Source2.js │ │ │ ├── ES6_ExportFrom_Intermediary1.js │ │ │ ├── ES6_ExportFrom_Intermediary2.js │ │ │ ├── ES6_ExportFrom_Source1.js │ │ │ ├── ES6_ExportFrom_Source2.js │ │ │ ├── ES6_Named1.js │ │ │ ├── ES6_Named2.js │ │ │ ├── ExportType.js │ │ │ ├── ProvidesModuleA.js │ │ │ ├── ProvidesModuleCJSDefault.js │ │ │ ├── ProvidesModuleD.js │ │ │ ├── ProvidesModuleES6Default.js │ │ │ ├── SideEffects.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── es6modules.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test_imports_are_frozen.js │ │ ├── es_declare_module/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── es_declare_module.js │ │ │ ├── flow-typed/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── declares.js │ │ │ │ └── jsfmt.spec.js │ │ │ └── jsfmt.spec.js │ │ ├── esproposal_class_instance_fields.ignore/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── esproposal_class_instance_fields.warn/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── esproposal_class_static_fields.ignore/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── esproposal_class_static_fields.warn/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── esproposal_export_star_as.enable/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── dest.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── source.js │ │ │ └── test.js │ │ ├── esproposal_export_star_as.ignore/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── dest.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── source.js │ │ │ └── test.js │ │ ├── esproposal_export_star_as.warn/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── export_default/ │ │ │ ├── P.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── lib.js │ │ │ └── test.js │ │ ├── export_type/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── cjs_with_types.js │ │ │ ├── importer.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── types_only.js │ │ │ └── types_only2.js │ │ ├── extensions/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── foo.js │ │ │ └── jsfmt.spec.js │ │ ├── facebook_fbt_none/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── main.js │ │ ├── facebook_fbt_some/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── flow-typed/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── fbt.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── jsfmt.spec.js │ │ │ └── main.js │ │ ├── facebookisms/ │ │ │ ├── Bar.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── copyProperties.js │ │ │ ├── invariant.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib.js │ │ │ ├── mergeInto.js │ │ │ └── test.js │ │ ├── fetch/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── fetch.js │ │ │ ├── headers.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── request.js │ │ │ ├── response.js │ │ │ └── urlsearchparams.js │ │ ├── find-module/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── req.js │ │ │ └── test.js │ │ ├── fixpoint/ │ │ │ ├── Fun.js │ │ │ ├── Ycombinator.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── flow_ast.template_strings/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── foo.js │ │ │ └── jsfmt.spec.js │ │ ├── focus-check/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ ├── b.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── for/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── abnormal.js │ │ │ ├── abnormal_for_in.js │ │ │ ├── abnormal_for_of.js │ │ │ └── jsfmt.spec.js │ │ ├── forof/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── forof.js │ │ │ └── jsfmt.spec.js │ │ ├── function/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── apply.js │ │ │ ├── bind.js │ │ │ ├── call.js │ │ │ ├── function.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── rest.js │ │ │ └── rest_type.js │ │ ├── funrec/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── funrec.js │ │ │ └── jsfmt.spec.js │ │ ├── generators/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── class.js │ │ │ ├── class_failure.js │ │ │ ├── generators.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── refi.js │ │ │ ├── return.js │ │ │ ├── throw.js │ │ │ └── variance.js │ │ ├── generics/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── generics.js │ │ │ └── jsfmt.spec.js │ │ ├── geolocation/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ └── jsfmt.spec.js │ │ ├── get-def/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── example.js │ │ │ ├── helpers/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── exports_default.js │ │ │ │ ├── exports_named.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── imports.js │ │ │ ├── jsfmt.spec.js │ │ │ └── library.js │ │ ├── get-def2/ │ │ │ ├── Parent.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── jsx.js │ │ │ ├── main.js │ │ │ ├── override.js │ │ │ ├── react.js │ │ │ └── types.js │ │ ├── get-imports/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ ├── b.js │ │ │ ├── c.js │ │ │ └── jsfmt.spec.js │ │ ├── getters_and_setters_disabled/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── getters_and_setters.js │ │ │ └── jsfmt.spec.js │ │ ├── getters_and_setters_enabled/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── class.js │ │ │ ├── declare_class.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── object.js │ │ │ ├── object_type.js │ │ │ ├── react.js │ │ │ └── variance.js │ │ ├── haste_cycle/ │ │ │ ├── API.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── models/ │ │ │ ├── OpenGraphAction.js │ │ │ ├── OpenGraphObject.js │ │ │ ├── OpenGraphValueContainer.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── haste_dupe/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── dupe1.js │ │ │ ├── dupe2.js │ │ │ ├── jsfmt.spec.js │ │ │ └── requires_dupe.js │ │ ├── haste_name_reducers_defaults/ │ │ │ ├── Module1.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── index.js │ │ │ └── jsfmt.spec.js │ │ ├── haste_use_name_reducers/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── dir1/ │ │ │ │ ├── Module1.js │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ └── jsfmt.spec.js │ │ │ ├── dir2/ │ │ │ │ ├── Module2.ios.js │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ └── jsfmt.spec.js │ │ │ ├── index.js │ │ │ └── jsfmt.spec.js │ │ ├── ignore_package/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── foo.js │ │ │ └── jsfmt.spec.js │ │ ├── immutable_methods/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── implements/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── import_type/ │ │ │ ├── ExportCJSDefault_Class.js │ │ │ ├── ExportCJSNamed_Class.js │ │ │ ├── ExportDefault_Class.js │ │ │ ├── ExportNamed_Alias.js │ │ │ ├── ExportNamed_Class.js │ │ │ ├── ExportsANumber.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── import_type.js │ │ │ ├── issue-359.js │ │ │ └── jsfmt.spec.js │ │ ├── import_typeof/ │ │ │ ├── ExportCJSDefault_Class.js │ │ │ ├── ExportCJSDefault_Number.js │ │ │ ├── ExportCJSNamed_Class.js │ │ │ ├── ExportCJSNamed_Number.js │ │ │ ├── ExportDefault_Class.js │ │ │ ├── ExportDefault_Number.js │ │ │ ├── ExportNamed_Alias.js │ │ │ ├── ExportNamed_Class.js │ │ │ ├── ExportNamed_Multi.js │ │ │ ├── ExportNamed_Number.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── import_typeof.js │ │ │ └── jsfmt.spec.js │ │ ├── include/ │ │ │ ├── foo/ │ │ │ │ └── batman/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── baz.js │ │ │ │ └── jsfmt.spec.js │ │ │ └── included/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── include_suppressed/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── incremental/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ ├── b.js │ │ │ ├── dup_a.js │ │ │ └── jsfmt.spec.js │ │ ├── incremental_basic/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ ├── b.js │ │ │ ├── c.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── tmp1/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── b.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp2/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── a.js │ │ │ │ └── jsfmt.spec.js │ │ │ └── tmp3/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── b.js │ │ │ └── jsfmt.spec.js │ │ ├── incremental_cycle/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── tmp1/ │ │ │ │ ├── B.js │ │ │ │ ├── C.js │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp2/ │ │ │ │ ├── B.js │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ └── jsfmt.spec.js │ │ │ └── tmp3/ │ │ │ ├── B.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── incremental_cycle_break/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── tmp1/ │ │ │ ├── A.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── incremental_delete/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ ├── b.js │ │ │ ├── c.js │ │ │ ├── dupe1.js │ │ │ ├── dupe2.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── requires_dupe.js │ │ │ ├── requires_unchecked.js │ │ │ └── unchecked.js │ │ ├── incremental_duplicate_delete/ │ │ │ ├── A.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── incremental_haste_blacklist/ │ │ │ ├── A.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── index.js │ │ │ └── jsfmt.spec.js │ │ ├── incremental_haste_name_reducers_duplicate/ │ │ │ ├── A.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── index.js │ │ │ └── jsfmt.spec.js │ │ ├── incremental_json/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── incremental_mixed_naming_cycle/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ ├── b.js │ │ │ ├── c.js │ │ │ ├── d.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── root.js │ │ │ └── tmp1/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── root.js │ │ ├── incremental_non_flow_move/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── foo.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── incremental_path/ │ │ │ └── dir/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ └── jsfmt.spec.js │ │ ├── indexer/ │ │ │ ├── A.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── multiple.js │ │ ├── init/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── hoisted.js │ │ │ ├── hoisted2.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── let.js │ │ │ └── nullable-init.js │ │ ├── instanceof/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── instanceof.js │ │ │ └── jsfmt.spec.js │ │ ├── integration/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── bar.js │ │ │ ├── foo.js │ │ │ └── jsfmt.spec.js │ │ ├── interface/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── import.js │ │ │ ├── indexer.js │ │ │ ├── interface.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ ├── test2.js │ │ │ ├── test3.js │ │ │ └── test4.js │ │ ├── intersection/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── intersection.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── lib.js │ │ │ ├── objassign.js │ │ │ ├── pred.js │ │ │ ├── test_fun.js │ │ │ └── test_obj.js │ │ ├── issues-11/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── export.js │ │ │ ├── import.js │ │ │ └── jsfmt.spec.js │ │ ├── iter/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── iter.js │ │ │ └── jsfmt.spec.js │ │ ├── iterable/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── array.js │ │ │ ├── caching_bug.js │ │ │ ├── iter.js │ │ │ ├── iterator_result.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── map.js │ │ │ ├── set.js │ │ │ ├── string.js │ │ │ └── variance.js │ │ ├── jsx_intrinsics.builtin/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── main.js │ │ │ └── strings.js │ │ ├── jsx_intrinsics.custom/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── jsx.js │ │ │ ├── main.js │ │ │ └── strings.js │ │ ├── keys/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── keys.js │ │ ├── keyvalue/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── keyvalue.js │ │ ├── last_duplicate_property_wins/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── lib/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── libtest.js │ │ ├── lib_interfaces/ │ │ │ └── declarations/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── underscore.js │ │ ├── libconfig/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── libA.js │ │ │ ├── libB.js │ │ │ └── libtest.js │ │ ├── libdef_ignored_module/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ └── test.js │ │ ├── liberr/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ ├── jsfmt.spec.js │ │ │ └── libs/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── type_error.js │ │ ├── libflow-typed/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── flow-typed/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── dino.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── jsfmt.spec.js │ │ │ └── libtest.js │ │ ├── librec/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── A/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── jsfmt.spec.js │ │ │ │ │ └── libA.js │ │ │ │ └── B/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── libB.js │ │ │ └── libtest.js │ │ ├── literal/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── enum.js │ │ │ ├── enum_client.js │ │ │ ├── jsfmt.spec.js │ │ │ └── number.js │ │ ├── locals/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lex.js │ │ │ └── locals.js │ │ ├── logical/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── logical.js │ │ ├── loners/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── loners.js │ │ ├── malformed_code/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── text.js │ │ ├── match_failure/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── disjoint_union.js │ │ │ ├── enum.js │ │ │ └── jsfmt.spec.js │ │ ├── method_properties/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── exports_optional_prop.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── misc/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── D.js │ │ │ ├── E.js │ │ │ ├── F.js │ │ │ ├── G.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── missing_annotation/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── array.js │ │ │ ├── async_return.js │ │ │ ├── infer.js │ │ │ └── jsfmt.spec.js │ │ ├── modified_lib/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── lib.js │ │ │ └── test.js │ │ ├── module_not_found_errors/ │ │ │ └── src/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── index.js │ │ │ └── jsfmt.spec.js │ │ ├── module_redirect/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── D.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── module_use_strict/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── modules/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── cli.js │ │ │ ├── cli2.js │ │ │ ├── jsfmt.spec.js │ │ │ └── lib.js │ │ ├── more_annot/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── client_object.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── object.js │ │ │ ├── proto.js │ │ │ └── super.js │ │ ├── more_classes/ │ │ │ ├── Bar.js │ │ │ ├── Foo.js │ │ │ ├── Qux.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── more_generics/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── poly.js │ │ ├── more_path/ │ │ │ ├── Condition.js │ │ │ ├── FlowSA.js │ │ │ ├── Sigma.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── more_react/ │ │ │ ├── API.react.js │ │ │ ├── App.react.js │ │ │ ├── InitializedFields.js │ │ │ ├── JSX.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── checkPropTypes.js │ │ │ ├── jsfmt.spec.js │ │ │ └── propTypes.js │ │ ├── more_statics/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── class_static.js │ │ │ └── jsfmt.spec.js │ │ ├── multiflow/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── apply.js │ │ │ ├── issue3443.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── jsx.js │ │ │ └── spread.js │ │ ├── multiflow_with_flowlib/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── spread.js │ │ ├── name_prop/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── class.js │ │ │ ├── function.js │ │ │ └── jsfmt.spec.js │ │ ├── namespace/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── client.js │ │ │ ├── jsfmt.spec.js │ │ │ └── namespace.js │ │ ├── new_react/ │ │ │ ├── FeedUFI.react.js │ │ │ ├── Mixin.js │ │ │ ├── UFILikeCount.react.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── bad_default_props.js │ │ │ ├── classes.js │ │ │ ├── fakelib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── type_aliases.js │ │ │ ├── import-react.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── new_react.js │ │ │ ├── propTypes.js │ │ │ ├── props.js │ │ │ ├── props2.js │ │ │ ├── props3.js │ │ │ ├── props4.js │ │ │ ├── props5.js │ │ │ ├── state.js │ │ │ ├── state2.js │ │ │ ├── state3.js │ │ │ ├── state4.js │ │ │ └── state5.js │ │ ├── new_spread/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── type.js │ │ │ ├── type_any.js │ │ │ ├── type_contra.js │ │ │ ├── type_dict.js │ │ │ ├── type_generic.js │ │ │ ├── type_instance.js │ │ │ ├── type_intersection.js │ │ │ ├── type_intersection_optional.js │ │ │ ├── type_optional.js │ │ │ └── type_union.js │ │ ├── node_haste/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── client.js │ │ │ ├── external/ │ │ │ │ └── _d3/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── min.js │ │ │ ├── foo/ │ │ │ │ └── bar/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── client.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── md5.js │ │ │ └── ws/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── index.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── client.js │ │ │ └── jsfmt.spec.js │ │ ├── node_modules_with_symlinks/ │ │ │ ├── root/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── symlink_lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── index.js │ │ │ │ └── jsfmt.spec.js │ │ │ └── symlink_lib_outside_root/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── index.js │ │ │ └── jsfmt.spec.js │ │ ├── node_modules_without_json/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── node_tests/ │ │ │ ├── assert/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── assert.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── basic/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── bar.js │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── basic_file/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── bar.js │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── basic_node_modules/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── basic_node_modules_with_path/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── basic_package/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── bar_lib/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── bar.js │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── buffer/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── buffer.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── child_process/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── exec.js │ │ │ │ ├── execFile.js │ │ │ │ ├── execSync.js │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── spawn.js │ │ │ ├── crypto/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── crypto.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── fs/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── fs.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── json_file/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── package2/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── index.js │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ └── test.js │ │ │ ├── os/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── userInfo.js │ │ │ ├── package_file/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── bar_lib/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── bar.js │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ ├── bar_lib.js │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── package_file_node_modules/ │ │ │ │ └── foo/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── path_node_modules/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── path_node_modules_with_short_main/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── path_node_modules_without_main/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── path_package/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── foo.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── process/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── nextTick.js │ │ │ ├── stream/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── stream.js │ │ │ ├── timers/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── timers.js │ │ │ └── url/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── url.js │ │ ├── nullable/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── maybe.js │ │ │ ├── nullable.js │ │ │ └── simple_nullable.js │ │ ├── number_constants/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── number_constants.js │ │ ├── object-method/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── id.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── subtype.js │ │ │ ├── test.js │ │ │ ├── test2.js │ │ │ └── test3.js │ │ ├── object_annot/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── object_api/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a.js │ │ │ ├── b.js │ │ │ ├── c.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── object_assign.js │ │ │ ├── object_create.js │ │ │ ├── object_getprototypeof.js │ │ │ ├── object_keys.js │ │ │ ├── object_missing.js │ │ │ └── object_prototype.js │ │ ├── object_assign/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── apply.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── non_objects.js │ │ │ ├── spread.js │ │ │ └── undefined.js │ │ ├── object_freeze/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── object_freeze.js │ │ ├── object_is/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── object_is.js │ │ ├── objects/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── compatibility.js │ │ │ ├── conversion.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── objects.js │ │ │ └── unaliased_assign.js │ │ ├── objmap/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── objmap.js │ │ ├── optional/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── client_optional.js │ │ │ ├── default.js │ │ │ ├── generic.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── loop.js │ │ │ ├── maybe.js │ │ │ ├── nullable.js │ │ │ ├── optional.js │ │ │ ├── optional_param.js │ │ │ ├── optional_param2.js │ │ │ ├── optional_param3.js │ │ │ ├── optional_param4.js │ │ │ ├── undefined.js │ │ │ └── undefined2.js │ │ ├── optional_props/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ ├── test2.js │ │ │ ├── test3.js │ │ │ ├── test3_exact_annot.js │ │ │ └── test3_failure.js │ │ ├── overload/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── lib.js │ │ │ ├── overload.js │ │ │ ├── test.js │ │ │ ├── test2.js │ │ │ ├── test3.js │ │ │ └── union.js │ │ ├── parse/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── no_parse_error.js │ │ ├── parse_error_haste/ │ │ │ ├── Client.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── parse_error_node/ │ │ │ ├── Client.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── path/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── while.js │ │ ├── plsummit/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── arrays.js │ │ │ ├── export_class.js │ │ │ ├── generics.js │ │ │ ├── import_class.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── locals.js │ │ │ └── objects.js │ │ ├── poly/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── annot.js │ │ │ ├── implicit_bounded_instantiation.js │ │ │ ├── issue-1029.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── poly.js │ │ │ └── test.js │ │ ├── poly_class_export/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── poly_overload/ │ │ │ └── decls/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── typescript-deferred.js │ │ ├── predicates-abstract/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── filter-union.js │ │ │ ├── filter.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── refine.js │ │ │ ├── sanity-filter-union.js │ │ │ ├── sanity-filter.js │ │ │ └── sanity-refine.js │ │ ├── predicates-declared/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── function-bind.js │ │ │ ├── function-union.js │ │ │ ├── is-string-decl.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── logical-or.js │ │ │ ├── object-invariant.js │ │ │ ├── orig-string-tag-check.js │ │ │ ├── sanity-fall-through.js │ │ │ ├── sanity-invalid-calls.js │ │ │ ├── sanity-is-string-bug.js │ │ │ ├── sanity-parameter-mismatch.js │ │ │ ├── sanity-pred-with-body.js │ │ │ └── sanity-return-type.js │ │ ├── predicates-inferred/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── sanity-multi-params.js │ │ │ ├── sanity-ordering.js │ │ │ ├── sanity-unbound-var.js │ │ │ ├── sanity.js │ │ │ ├── simple-predicate-func-post.js │ │ │ └── simple-predicate-func.js │ │ ├── predicates-parsing/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── fail-0.js │ │ │ ├── fail-1.js │ │ │ ├── fail-2.js │ │ │ ├── fail-3.js │ │ │ ├── jsfmt.spec.js │ │ │ └── pass.js │ │ ├── private/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── private.js │ │ ├── promises/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── all.js │ │ │ ├── covariance.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── promise.js │ │ │ ├── resolve_global.js │ │ │ └── resolve_void.js │ │ ├── pure_component/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── qualified/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── qualified.js │ │ ├── react/ │ │ │ ├── ArityError.react.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── createElementRequiredProp_string.js │ │ │ ├── createElement_string.js │ │ │ ├── create_class.js │ │ │ ├── create_class_initial_state_sealed.js │ │ │ ├── create_class_statics_sealed.js │ │ │ ├── import_react.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── jsx_spread.js │ │ │ ├── proptype_any.js │ │ │ ├── proptype_arrayOf.js │ │ │ ├── proptype_custom_validator.js │ │ │ ├── proptype_func.js │ │ │ ├── proptype_incompatible.js │ │ │ ├── proptype_instanceOf.js │ │ │ ├── proptype_missing.js │ │ │ ├── proptype_object.js │ │ │ ├── proptype_objectOf.js │ │ │ ├── proptype_oneOf.js │ │ │ ├── proptype_oneOfType.js │ │ │ ├── proptype_shape.js │ │ │ ├── proptypes_builtins.js │ │ │ └── proptypes_sealed.js │ │ ├── react_functional/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── react_modules/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── createclass-callsite.js │ │ │ ├── createclass-module.js │ │ │ ├── es6class-proptypes-callsite.js │ │ │ ├── es6class-proptypes-module.js │ │ │ ├── es6class-types-callsite.js │ │ │ ├── es6class-types-module.js │ │ │ └── jsfmt.spec.js │ │ ├── rec/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── issue-1228.js │ │ │ ├── issue-598.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ ├── test2.js │ │ │ ├── test3.js │ │ │ ├── test4.js │ │ │ └── test5.js │ │ ├── recheck/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── a1.js │ │ │ ├── a2.js │ │ │ ├── a3.js │ │ │ ├── b0.js │ │ │ ├── b1.js │ │ │ ├── b2.js │ │ │ ├── b3.js │ │ │ ├── c1.js │ │ │ ├── c2.js │ │ │ ├── c3.js │ │ │ ├── d1.js │ │ │ ├── d2.js │ │ │ ├── e1.js │ │ │ ├── e2.js │ │ │ ├── f1.js │ │ │ ├── f2.js │ │ │ ├── g1.js │ │ │ ├── g2.js │ │ │ ├── g3.js │ │ │ ├── h1.js │ │ │ ├── h2.js │ │ │ ├── i1.js │ │ │ ├── i2.js │ │ │ ├── j1.js │ │ │ ├── j2.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── k.js │ │ │ ├── tmp1a/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── a1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp1b/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── b1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp1c/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── c2.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp1d/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── d1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp1e/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── e2.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp1f/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── f1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp1g/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── g1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp1h/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── h1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp1i/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── i1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp1j/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── j1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp2a/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── a1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp2b/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── b0.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp2c/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── c1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp2e/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── e1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp2f/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── f1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp3e/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── e1.js │ │ │ │ ├── e2.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp3f/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── f1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmp4f/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── f1.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── tmpk/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── k.js │ │ │ └── tmplibk/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── libk1.js │ │ │ └── libk2.js │ │ ├── recheck-haste/ │ │ │ ├── A1.js │ │ │ ├── A3.js │ │ │ ├── B1.js │ │ │ ├── B3.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── dir1B/ │ │ │ │ ├── B2.js │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ └── jsfmt.spec.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── tmp1A/ │ │ │ │ ├── A2.js │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ └── jsfmt.spec.js │ │ │ └── tmp2A/ │ │ │ ├── A3.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── record/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── refi/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── bound.js │ │ │ ├── heap.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── lex.js │ │ │ ├── local.js │ │ │ ├── null_tests.js │ │ │ ├── switch.js │ │ │ ├── typeof_tests.js │ │ │ ├── undef_tests.js │ │ │ └── void_tests.js │ │ ├── refinements/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── assignment.js │ │ │ ├── ast_node.js │ │ │ ├── bool.js │ │ │ ├── computed_string_literal.js │ │ │ ├── cond_prop.js │ │ │ ├── constants.js │ │ │ ├── eq.js │ │ │ ├── exists.js │ │ │ ├── func_call.js │ │ │ ├── hasOwnProperty.js │ │ │ ├── heap_defassign.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib.js │ │ │ ├── missing-property-cond.js │ │ │ ├── mixed.js │ │ │ ├── node1.js │ │ │ ├── not.js │ │ │ ├── null.js │ │ │ ├── number.js │ │ │ ├── property.js │ │ │ ├── refinements.js │ │ │ ├── string.js │ │ │ ├── super_member.js │ │ │ ├── switch.js │ │ │ ├── tagged_union.js │ │ │ ├── tagged_union_import.js │ │ │ ├── typeof.js │ │ │ ├── undef.js │ │ │ ├── union.js │ │ │ └── void.js │ │ ├── reflection/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── type.js │ │ ├── regexp/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── regexp.js │ │ ├── replace/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── require/ │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── E.js │ │ │ ├── ProvidesModuleA.js │ │ │ ├── ProvidesModuleD.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── not_builtin_require.js │ │ │ ├── not_builtin_require2.js │ │ │ └── require.js │ │ ├── requireLazy/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── requireLazy.js │ │ ├── return/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── function_return.js │ │ │ ├── jsfmt.spec.js │ │ │ └── void.js │ │ ├── return_new/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ └── test2.js │ │ ├── seal/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── imp.js │ │ │ ├── jsfmt.spec.js │ │ │ └── obj_annot.js │ │ ├── sealed/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── function.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── proto.js │ │ │ └── sealed.js │ │ ├── sealed_objects/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── shape/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── shadow.js │ │ │ └── test.js │ │ ├── simple_arrays/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── array.js │ │ │ ├── array2.js │ │ │ └── jsfmt.spec.js │ │ ├── singleton/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── boolean.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── number.js │ │ │ └── string.js │ │ ├── spread/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ ├── test2.js │ │ │ ├── test3.js │ │ │ ├── test4.js │ │ │ ├── test5.js │ │ │ ├── test6.js │ │ │ └── test7.js │ │ ├── static_overload/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── lib.js │ │ │ └── test.js │ │ ├── statics/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── class_statics.js │ │ │ ├── funstatics.js │ │ │ └── jsfmt.spec.js │ │ ├── strict/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── annot.js │ │ │ ├── fun.js │ │ │ ├── jsfmt.spec.js │ │ │ └── obj.js │ │ ├── strict_requires/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── D.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── structural_subtyping/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── builtin.js │ │ │ ├── class.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── obj.js │ │ │ └── optional.js │ │ ├── suggest/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib.js │ │ │ └── suggest.js │ │ ├── super/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── constructor.js │ │ │ ├── import.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── super.js │ │ │ └── test.js │ │ ├── suppress/ │ │ │ ├── A.js │ │ │ ├── B.js │ │ │ ├── C.js │ │ │ ├── D.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── lib.js │ │ ├── suppress_incremental/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── suppress_traces/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── traces.js │ │ ├── switch/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── more_switch.js │ │ │ ├── switch.js │ │ │ ├── switch_default_fallthrough.js │ │ │ └── trailing_cases.js │ │ ├── symbol/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── symbol.js │ │ ├── symlink/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── bar.js │ │ │ ├── foo.js │ │ │ ├── jsfmt.spec.js │ │ │ └── qux.js │ │ ├── tagged-unions/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── classes.js │ │ │ ├── interfaces-neg.js │ │ │ ├── interfaces-pos.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── type-decls-neg.js │ │ │ └── type-decls-pos.js │ │ ├── taint/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── adder.js │ │ │ ├── any_object.js │ │ │ ├── call-object-property.js │ │ │ ├── comparator.js │ │ │ ├── function.js │ │ │ ├── globals.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib.js │ │ │ ├── taint1.js │ │ │ ├── taint2.js │ │ │ ├── taint3.js │ │ │ ├── taint4.js │ │ │ └── use-types.js │ │ ├── template/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── template.js │ │ ├── this/ │ │ │ ├── This.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── arrows.js │ │ │ └── jsfmt.spec.js │ │ ├── this_ctor/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── this_type/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── class_expr.js │ │ │ ├── contra.js │ │ │ ├── export.js │ │ │ ├── generics.js │ │ │ ├── import.js │ │ │ ├── interface.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── decl.js │ │ │ │ └── jsfmt.spec.js │ │ │ ├── lib_client.js │ │ │ ├── self.js │ │ │ ├── statics.js │ │ │ └── test.js │ │ ├── throw/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── traces/ │ │ │ ├── Traces.js │ │ │ ├── Traces2.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── traits/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test.js │ │ │ └── test2.js │ │ ├── try/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── abnormals.js │ │ │ ├── init.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── return.js │ │ │ └── test.js │ │ ├── tuples/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── array.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── optional.js │ │ │ ├── too-few.js │ │ │ └── tuples.js │ │ ├── type-at-pos/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── destructuring.js │ │ │ ├── function_expressions.js │ │ │ ├── generics.js │ │ │ ├── import.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── object_special_cases.js │ │ │ ├── optional.js │ │ │ ├── predicates.js │ │ │ ├── react.js │ │ │ ├── templates.js │ │ │ ├── test.js │ │ │ └── trycatch.js │ │ ├── type-destructors/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── non_maybe_type.js │ │ │ ├── property_type.js │ │ │ └── union.js │ │ ├── type-printer/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── printBinaryExpression.js │ │ │ └── types.js │ │ ├── type_args_nonstrict/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── type_args_strict/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── type_only_vars/ │ │ │ ├── A.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── bad_shadowing.js │ │ │ ├── good_shadowing.js │ │ │ ├── import_type.js │ │ │ ├── jsfmt.spec.js │ │ │ └── type_alias.js │ │ ├── type_param_defaults/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── classes.js │ │ │ └── jsfmt.spec.js │ │ ├── type_param_scope/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── class.js │ │ │ ├── default_params.js │ │ │ ├── jsfmt.spec.js │ │ │ └── method_shadow.js │ │ ├── type_param_variance/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── promise.js │ │ ├── type_param_variance2/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── libs/ │ │ │ │ ├── Promise.js │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ └── jsfmt.spec.js │ │ │ └── promise.js │ │ ├── typeapp_perf/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── test1.js │ │ │ └── test2.js │ │ ├── typecast/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── typecast.js │ │ ├── typeof/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── typeof.js │ │ ├── unary/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── unary.js │ │ │ └── update.js │ │ ├── unchecked_haste_module_vs_lib/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── buffer.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── unchecked_node_module_vs_lib/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── undefined/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── issue-518.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── undefined.js │ │ │ └── undefined2.js │ │ ├── unicode/ │ │ │ ├── UnicodeUtils.js │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ └── jsfmt.spec.js │ │ ├── union/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── blowup.js │ │ │ ├── fields.js │ │ │ ├── fields2.js │ │ │ ├── issue-17.js │ │ │ ├── issue-198.js │ │ │ ├── issue-256.js │ │ │ ├── issue-323-lib.js │ │ │ ├── issue-323.js │ │ │ ├── issue-324.js │ │ │ ├── issue-325.js │ │ │ ├── issue-326.js │ │ │ ├── issue-582.js │ │ │ ├── issue-963.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── test-lib.js │ │ │ ├── test.js │ │ │ ├── type-app.js │ │ │ ├── union.js │ │ │ └── yuge.js │ │ ├── union-intersection/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── gen_big_disjoint_union.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── union_new/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── issue-1349.js │ │ │ ├── issue-1371.js │ │ │ ├── issue-1455-helper.js │ │ │ ├── issue-1455.js │ │ │ ├── issue-1462-i.js │ │ │ ├── issue-1462-ii.js │ │ │ ├── issue-1664.js │ │ │ ├── issue-1759.js │ │ │ ├── issue-2232.js │ │ │ ├── issue-815.js │ │ │ ├── issue-824-helper.js │ │ │ ├── issue-824.js │ │ │ ├── jsfmt.spec.js │ │ │ ├── lib/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── test23_lib.js │ │ │ │ ├── test25_lib.js │ │ │ │ └── test32_lib.js │ │ │ ├── test1.js │ │ │ ├── test10.js │ │ │ ├── test11.js │ │ │ ├── test12.js │ │ │ ├── test13.js │ │ │ ├── test14.js │ │ │ ├── test15.js │ │ │ ├── test16.js │ │ │ ├── test17.js │ │ │ ├── test18.js │ │ │ ├── test19.js │ │ │ ├── test2.js │ │ │ ├── test20.js │ │ │ ├── test21.js │ │ │ ├── test22.js │ │ │ ├── test23.js │ │ │ ├── test24.js │ │ │ ├── test25.js │ │ │ ├── test26.js │ │ │ ├── test27.js │ │ │ ├── test29.js │ │ │ ├── test3.js │ │ │ ├── test30-helper.js │ │ │ ├── test30.js │ │ │ ├── test31.js │ │ │ ├── test32.js │ │ │ ├── test4.js │ │ │ ├── test5.js │ │ │ ├── test6.js │ │ │ ├── test7.js │ │ │ ├── test8.js │ │ │ └── test9.js │ │ ├── unreachable/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── typecheck.js │ │ │ └── unreachable.js │ │ ├── unused_function_args/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── value/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── value.js │ │ ├── vim_emacs_errors/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── weakmode/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── should_fail_without_weak.js │ │ │ └── should_pass_with_weak.js │ │ ├── while/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── abnormal.js │ │ │ ├── jsfmt.spec.js │ │ │ └── test.js │ │ ├── window/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ ├── window1.js │ │ │ └── window2.js │ │ └── x/ │ │ ├── XControllerURIBuilder.js │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ └── jsfmt.spec.js │ ├── flow_array_comments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── flow_array_union/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── flow_class_field/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── override.js │ ├── flow_comments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── arrow.js │ │ ├── jsfmt.spec.js │ │ └── object_type_annotation.js │ ├── flow_function_parentheses/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── single.js │ │ └── test.js │ ├── flow_generic/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── break.js │ │ ├── generic.js │ │ ├── jsfmt.spec.js │ │ ├── nullable.js │ │ ├── trailing.js │ │ ├── type.js │ │ └── union.js │ ├── flow_import_type_specifier/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── flow_jsx/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── return_type.js │ ├── flow_method/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comment.js │ │ ├── jsfmt.spec.js │ │ └── method.js │ ├── flow_object_comment/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── flow_object_comment.js │ │ └── jsfmt.spec.js │ ├── flow_object_order/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── order.js │ ├── flow_return_arrow/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── issue-1249.js │ │ ├── jsfmt.spec.js │ │ └── parens.js │ ├── flow_type_declarations/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── declare_type.js │ │ ├── jsfmt.spec.js │ │ └── long.js │ ├── flow_type_spread/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comments.js │ │ └── jsfmt.spec.js │ ├── flow_union/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── union.js │ ├── flow_variance/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── variance.js │ ├── for/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comment.js │ │ ├── for.js │ │ ├── in.js │ │ ├── jsfmt.spec.js │ │ └── var.js │ ├── function/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── function_expression.js │ │ ├── jsfmt.spec.js │ │ └── single_expand.js │ ├── function_single_destructuring/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── graphql_arguments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── hello.graphql │ │ └── jsfmt.spec.js │ ├── graphql_bracket_spacing/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── bracket_spacing.graphql │ │ └── jsfmt.spec.js │ ├── graphql_comments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── argument_comment.graphql │ │ ├── fields.graphql │ │ ├── jsfmt.spec.js │ │ └── tokens.graphql │ ├── graphql_definitions/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── fields.graphql │ │ └── jsfmt.spec.js │ ├── graphql_directive_decl/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── directive_decl.graphql │ │ └── jsfmt.spec.js │ ├── graphql_directives/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── directives.graphql │ │ └── jsfmt.spec.js │ ├── graphql_enum/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── enum.graphql │ │ └── jsfmt.spec.js │ ├── graphql_fields/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── fields.graphql │ │ └── jsfmt.spec.js │ ├── graphql_fragments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── fragments.graphql │ │ └── jsfmt.spec.js │ ├── graphql_hello/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── hello.graphql │ │ └── jsfmt.spec.js │ ├── graphql_interface/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── interface.graphql │ │ └── jsfmt.spec.js │ ├── graphql_kitchen_sink/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── kitchen_sink.graphql │ ├── graphql_lists/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── lists.graphql │ ├── graphql_object_type_def/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── arguments.graphql │ │ ├── directives.graphql │ │ ├── extend.graphql │ │ ├── implements.graphql │ │ ├── input.graphql │ │ ├── jsfmt.spec.js │ │ └── object_type_def.graphql │ ├── graphql_objects/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── objects.graphql │ ├── graphql_scalar/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── scalar.graphql │ ├── graphql_schema/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── schema.graphql │ ├── graphql_trailing_comma/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── trailing.graphql │ ├── graphql_union_types/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── union_types.graphql │ ├── graphql_variable_definitions/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── variable_definitions.graphql │ ├── html_basics/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── hello-world.html │ │ ├── html-fragment.html │ │ └── jsfmt.spec.js │ ├── if/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── curly_braces.js │ │ ├── else.js │ │ ├── if_comments.js │ │ ├── jsfmt.spec.js │ │ └── trailing_comment.js │ ├── ignore/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── ignore.js │ │ └── jsfmt.spec.js │ ├── import/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── brackets.js │ │ ├── comments.js │ │ ├── empty-import.js │ │ ├── inline.js │ │ ├── jsfmt.spec.js │ │ ├── long-line.js │ │ └── multiple_standalones.js │ ├── import_meta/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── import_meta.js │ │ └── jsfmt.spec.js │ ├── import_then/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── long.js │ │ └── then.js │ ├── interface/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── break.js │ │ ├── jsfmt.spec.js │ │ └── module.js │ ├── intersection/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── intersection.js │ │ └── jsfmt.spec.js │ ├── json/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── boolean.json │ │ ├── jsfmt.spec.js │ │ ├── multi-line.json │ │ ├── null.json │ │ ├── number.json │ │ ├── pass1.json │ │ ├── single-line.json │ │ ├── string.json │ │ └── trailingComma.notjson │ ├── jsx/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── conditional-expression.js │ │ ├── expression.js │ │ ├── flow_fix_me.js │ │ ├── html_escape.js │ │ ├── hug.js │ │ ├── jsfmt.spec.js │ │ ├── logical-expression.js │ │ ├── object-property.js │ │ ├── open-break.js │ │ ├── parens.js │ │ ├── quotes.js │ │ ├── return-statement.js │ │ └── spacing.js │ ├── jsx-multiline-assign/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── jsx-newlines/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── test.js │ │ └── windows.js │ ├── jsx-significant-space/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comments.js │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── jsx-split-attrs/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── jsx-stateless-arrow-fn/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── jsx-text-wrap/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── jsx-whitespace/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── jsx_escape/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── escape.js │ │ ├── jsfmt.spec.js │ │ └── nbsp.js │ ├── jsx_ignore/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── jsx_ignore.js │ ├── jsx_last_line/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── last_line.js │ ├── jsx_namespace/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── jsx_namespaced_name.js │ ├── jsx_template/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── styled-components.js │ ├── label/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comment.js │ │ ├── empty_label.js │ │ └── jsfmt.spec.js │ ├── last_argument_expansion/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── arrow.js │ │ ├── break-parent.js │ │ ├── break.js │ │ ├── edge_case.js │ │ ├── jsfmt.spec.js │ │ ├── jsx.js │ │ ├── object.js │ │ └── overflow.js │ ├── line/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── windows.js │ ├── line_suffix_boundary/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── boundary.js │ │ └── jsfmt.spec.js │ ├── literal/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── number.js │ ├── literal-numeric-separator/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── member/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── expand.js │ │ └── jsfmt.spec.js │ ├── method-chain/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── bracket_0.js │ │ ├── break-last-call.js │ │ ├── break-last-member.js │ │ ├── comment.js │ │ ├── computed.js │ │ ├── first_long.js │ │ ├── inline_merge.js │ │ ├── jsfmt.spec.js │ │ ├── logical.js │ │ ├── multiple-members.js │ │ ├── square_0.js │ │ ├── test.js │ │ └── this.js │ ├── multiparser_comments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comments.js │ │ └── jsfmt.spec.js │ ├── multiparser_html_css/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── html-with-css-style.html │ │ └── jsfmt.spec.js │ ├── multiparser_html_js/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── html-with-js-script.html │ │ └── jsfmt.spec.js │ ├── multiparser_html_ts/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── html-with-ts-script.html │ │ └── jsfmt.spec.js │ ├── multiparser_js_css/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── styled-components.js │ ├── multiparser_js_graphql/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── graphql-tag.js │ │ ├── jsfmt.spec.js │ │ └── react-relay.js │ ├── multiparser_text/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── text.js │ ├── multiparser_vue/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── template-bind.vue │ │ ├── template-class.vue │ │ └── vue-component.vue │ ├── new_expression/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── call.js │ │ ├── jsfmt.spec.js │ │ └── new_expression.js │ ├── newline/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── backslash_2028.js │ │ ├── backslash_2029.js │ │ └── jsfmt.spec.js │ ├── no-semi/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comments.js │ │ ├── issue2006.js │ │ ├── jsfmt.spec.js │ │ └── no-semi.js │ ├── no-semi-babylon-extensions/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── no-semi.js │ ├── non-strict/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── argument-name-clash.js │ │ ├── jsfmt.spec.js │ │ ├── keywords.js │ │ └── octal-number.js │ ├── object-prop-break-in/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comment.js │ │ ├── jsfmt.spec.js │ │ ├── long-value.js │ │ └── test.js │ ├── object_colon_bug/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── bug.js │ │ └── jsfmt.spec.js │ ├── object_property_comment/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── after-key.js │ │ ├── comment.js │ │ └── jsfmt.spec.js │ ├── objects/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── expand.js │ │ ├── expression.js │ │ ├── jsfmt.spec.js │ │ ├── method.js │ │ ├── range.js │ │ └── right_break.js │ ├── optional-type-name/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── performance/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── nested-real.js │ │ └── nested.js │ ├── preserve_line/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comments.js │ │ └── jsfmt.spec.js │ ├── quotes/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── functions.js │ │ ├── jsfmt.spec.js │ │ └── strings.js │ ├── range/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── class-declaration.js │ │ ├── different-levels.js │ │ ├── function-declaration.js │ │ ├── ignore-indentation.js │ │ ├── jsfmt.spec.js │ │ ├── module-export1.js │ │ ├── module-export2.js │ │ ├── module-export3.js │ │ ├── module-import.js │ │ ├── multiple-statements.js │ │ ├── multiple-statements2.js │ │ ├── nested.js │ │ ├── nested2.js │ │ ├── nested3.js │ │ ├── range-end.js │ │ ├── range-start.js │ │ ├── range.js │ │ ├── try-catch.js │ │ └── whitespace.js │ ├── range_css/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── issue2267.css │ │ └── jsfmt.spec.js │ ├── range_graphql/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── issue2296.graphql │ │ └── jsfmt.spec.js │ ├── range_json/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── identifier.json │ │ ├── issue2297.json │ │ └── jsfmt.spec.js │ ├── regex/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── require/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── require.js │ ├── rest/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── trailing-commas.js │ ├── return/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── binaryish.js │ │ ├── comment.js │ │ └── jsfmt.spec.js │ ├── return-outside-function/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── return-outside-function.js │ ├── sequence_break/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── break.js │ │ └── jsfmt.spec.js │ ├── shebang/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── shebang-newline.js │ │ └── shebang.js │ ├── space-before-function-paren/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── eslint.js │ │ └── jsfmt.spec.js │ ├── strings/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── strings.js │ │ └── template-literals.js │ ├── stylefmt/ │ │ ├── at-apply/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── at-apply.css │ │ │ └── jsfmt.spec.js │ │ ├── at-media/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── at-media.css │ │ │ └── jsfmt.spec.js │ │ ├── attr-selector/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── attr-selector.css │ │ │ └── jsfmt.spec.js │ │ ├── charset/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── charset.css │ │ │ └── jsfmt.spec.js │ │ ├── charset-2/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── charset-2.css │ │ │ └── jsfmt.spec.js │ │ ├── color-hex-lowercase/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── color-hex-lowercase.css │ │ │ └── jsfmt.spec.js │ │ ├── comment/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── comment.css │ │ │ └── jsfmt.spec.js │ │ ├── comment-in-rules/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── comment-in-rules.css │ │ │ └── jsfmt.spec.js │ │ ├── content/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── content.css │ │ │ └── jsfmt.spec.js │ │ ├── cssnext-example/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── cssnext-example.css │ │ │ └── jsfmt.spec.js │ │ ├── custom-media-queries/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── custom-media-queries.css │ │ │ └── jsfmt.spec.js │ │ ├── custom-properties/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── custom-properties.css │ │ │ └── jsfmt.spec.js │ │ ├── custom-selectors/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── custom-selectors.css │ │ │ └── jsfmt.spec.js │ │ ├── data-url/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── data-url.css │ │ │ └── jsfmt.spec.js │ │ ├── font-face/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── font-face.css │ │ │ └── jsfmt.spec.js │ │ ├── font-shorthand/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── font-shorthand.css │ │ │ └── jsfmt.spec.js │ │ ├── ie-hacks/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── ie-hacks.css │ │ │ └── jsfmt.spec.js │ │ ├── import/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── import.css │ │ │ └── jsfmt.spec.js │ │ ├── important/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── important.css │ │ │ └── jsfmt.spec.js │ │ ├── inline-comment/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── inline-comment.css │ │ │ └── jsfmt.spec.js │ │ ├── lowercase/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── lowercase.css │ │ ├── media-indent/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── media-indent.css │ │ ├── media-indent-with-import/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── media-indent-with-import.css │ │ ├── media-queries-ranges/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── media-queries-ranges.css │ │ ├── nested/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── nested.css │ │ ├── nested-2/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── nested-2.css │ │ ├── nested-atrule/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── nested-atrule.css │ │ ├── nested-indention/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── nested-indention.css │ │ ├── nested-indention-2/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── nested-indention-2.css │ │ ├── nested-mixin/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── nested-mixin.css │ │ ├── nested-mixin-2/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── nested-mixin-2.css │ │ ├── non-nested-combinator/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── non-nested-combinator.css │ │ ├── pseudo-element/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── pseudo-element.css │ │ ├── readme/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── readme.css │ │ ├── shorthand-with-sass-variables/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── shorthand-with-sass-variables.css │ │ ├── values/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── values.css │ │ ├── var-notation/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── var-notation.css │ │ └── vendor-prefix/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── vendor-prefix.css │ ├── switch/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comments.js │ │ ├── empty_lines.js │ │ ├── empty_statement.js │ │ ├── empty_switch.js │ │ └── jsfmt.spec.js │ ├── tabWith/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── class.js │ │ ├── jsfmt.spec.js │ │ └── nested-functions.spec.js │ ├── template/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── arrow.js │ │ ├── call.js │ │ ├── comment.js │ │ ├── faulty-locations.js │ │ ├── graphql.js │ │ ├── inline.js │ │ ├── jsfmt.spec.js │ │ └── parenthesis.js │ ├── template_align/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── indent.js │ │ └── jsfmt.spec.js │ ├── template_literals/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── styled-components-with-expressions.js │ │ ├── styled-jsx-with-expressions.js │ │ └── styled-jsx.js │ ├── ternaries/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── binary.js │ │ ├── indent.js │ │ ├── jsfmt.spec.js │ │ ├── nested.js │ │ ├── parenthesis.js │ │ └── test.js │ ├── test_declarations/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test_declarations.js │ ├── trailing_comma/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── es5.js │ │ ├── export.js │ │ ├── function-calls.js │ │ ├── import.js │ │ ├── jsfmt.spec.js │ │ ├── object.js │ │ └── trailing_whitespace.js │ ├── trailing_whitespace/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── trailing.js │ ├── try/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── empty.js │ │ ├── jsfmt.spec.js │ │ └── try.js │ ├── typescript/ │ │ ├── compiler/ │ │ │ ├── ClassDeclaration22.ts │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── anyIsAssignableToObject.ts │ │ │ ├── badArrayIndex.ts │ │ │ ├── castOfAwait.ts │ │ │ ├── castParentheses.ts │ │ │ ├── castTest.ts │ │ │ ├── checkInfiniteExpansionTermination.ts │ │ │ ├── commentInNamespaceDeclarationWithIdentifierPathName.ts │ │ │ ├── commentsInterface.ts │ │ │ ├── contextualSignatureInstantiation2.ts │ │ │ ├── declareDottedModuleName.ts │ │ │ ├── decrementAndIncrementOperators.ts │ │ │ ├── downlevelLetConst1.ts │ │ │ ├── errorOnInitializerInInterfaceProperty.ts │ │ │ ├── es5ExportDefaultClassDeclaration4.ts │ │ │ ├── functionOverloadsOnGenericArity1.ts │ │ │ ├── globalIsContextualKeyword.ts │ │ │ ├── indexSignatureWithInitializer.ts │ │ │ ├── jsfmt.spec.js │ │ │ ├── mappedTypeWithCombinedTypeMappers.ts │ │ │ ├── modifiersOnInterfaceIndexSignature1.ts │ │ │ └── privacyGloImport.ts │ │ ├── conformance/ │ │ │ ├── ambient/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── ambientDeclarations.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── classes/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── classDeclarations/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── classAbstractKeyword/ │ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ │ ├── classAbstractAccessor.ts │ │ │ │ │ │ ├── classAbstractAsIdentifier.ts │ │ │ │ │ │ ├── classAbstractAssignabilityConstructorFunction.ts │ │ │ │ │ │ ├── classAbstractClinterfaceAssignability.ts │ │ │ │ │ │ ├── classAbstractConstructorAssignability.ts │ │ │ │ │ │ ├── classAbstractCrashedOnce.ts │ │ │ │ │ │ ├── classAbstractExtends.ts │ │ │ │ │ │ ├── classAbstractFactoryFunction.ts │ │ │ │ │ │ ├── classAbstractGeneric.ts │ │ │ │ │ │ ├── classAbstractImportInstantiation.ts │ │ │ │ │ │ ├── classAbstractInAModule.ts │ │ │ │ │ │ ├── classAbstractInheritance.ts │ │ │ │ │ │ ├── classAbstractInstantiations1.ts │ │ │ │ │ │ ├── classAbstractInstantiations2.ts │ │ │ │ │ │ ├── classAbstractMethodInNonAbstractClass.ts │ │ │ │ │ │ ├── classAbstractMethodWithImplementation.ts │ │ │ │ │ │ ├── classAbstractMixedWithModifiers.ts │ │ │ │ │ │ ├── classAbstractOverloads.ts │ │ │ │ │ │ ├── classAbstractOverrideWithAbstract.ts │ │ │ │ │ │ ├── classAbstractProperties.ts │ │ │ │ │ │ ├── classAbstractSingleLineDecl.ts │ │ │ │ │ │ ├── classAbstractSuperCalls.ts │ │ │ │ │ │ ├── classAbstractUsingAbstractMethod1.ts │ │ │ │ │ │ ├── classAbstractUsingAbstractMethods2.ts │ │ │ │ │ │ ├── classAbstractWithInterface.ts │ │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ │ ├── classHeritageSpecification/ │ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ │ ├── classAppearsToHaveMembersOfObject.ts │ │ │ │ │ │ ├── classExtendingClass.ts │ │ │ │ │ │ ├── classExtendsItselfIndirectly.ts │ │ │ │ │ │ ├── classIsSubtypeOfBaseType.ts │ │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ │ ├── classInsideBlock.ts │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ ├── classExpression.ts │ │ │ │ ├── constructorDeclarations/ │ │ │ │ │ └── constructorParameters/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── constructorDefaultValuesReferencingThis.ts │ │ │ │ │ ├── constructorImplementationWithDefaultValues.ts │ │ │ │ │ ├── constructorImplementationWithDefaultValues2.ts │ │ │ │ │ ├── constructorOverloadsWithDefaultValues.ts │ │ │ │ │ ├── constructorOverloadsWithOptionalParameters.ts │ │ │ │ │ ├── constructorParameterProperties.ts │ │ │ │ │ ├── constructorParameterProperties2.ts │ │ │ │ │ ├── declarationEmitReadonly.ts │ │ │ │ │ ├── jsfmt.spec.js │ │ │ │ │ ├── readonlyConstructorAssignment.ts │ │ │ │ │ ├── readonlyInConstructorParameters.ts │ │ │ │ │ └── readonlyReadonly.ts │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── mixinAccessModifiers.ts │ │ │ │ ├── mixinClassesAnnotated.ts │ │ │ │ ├── mixinClassesAnonymous.ts │ │ │ │ ├── mixinClassesMembers.ts │ │ │ │ └── nestedClassDeclaration.ts │ │ │ ├── comments/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── comments.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── declarationEmit/ │ │ │ │ └── typePredicates/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── declarationEmitThisPredicatesWithPrivateName01.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── es6/ │ │ │ │ ├── Symbols/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── jsfmt.spec.js │ │ │ │ │ └── symbolProperty15.ts │ │ │ │ └── templates/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── templateStringWithEmbeddedTypeAssertionOnAdditionES6.ts │ │ │ ├── expressions/ │ │ │ │ ├── asOperator/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── asOperatorContextualType.ts │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ └── functionCalls/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── callWithSpreadES6.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── interfaces/ │ │ │ │ └── interfaceDeclarations/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── interfaceWithMultipleBaseTypes2.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── internalModules/ │ │ │ │ └── importDeclarations/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── circularImportAlias.ts │ │ │ │ ├── exportImportAlias.ts │ │ │ │ ├── exportInterface.ts │ │ │ │ ├── importAliasIdentifiers.ts │ │ │ │ ├── invalidImportAliasIdentifiers.ts │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── shadowedInternalModule.ts │ │ │ ├── parser/ │ │ │ │ └── ecmascript5/ │ │ │ │ └── Statements/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── parserES5ForOfStatement2.ts │ │ │ │ ├── parserES5ForOfStatement21.ts │ │ │ │ └── parserForInStatement2.ts │ │ │ └── types/ │ │ │ ├── abstractKeyword/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── abstractKeyword.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── any/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── anyAsConstructor.ts │ │ │ │ ├── anyAsFunctionCall.ts │ │ │ │ ├── anyAsGenericFunctionCall.ts │ │ │ │ ├── anyPropertyAccess.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── constKeyword/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── constKeyword.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── constructorType/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── cunstructorType.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── decorator/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── decorator.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── enumDeclaration/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── enumDeclaration.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── firstTypeNode/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── firstTypeNode.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── functions/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── functionImplementationErrors.ts │ │ │ │ ├── functionImplementations.ts │ │ │ │ ├── functionOverloadCompatibilityWithVoid01.ts │ │ │ │ ├── functionOverloadCompatibilityWithVoid02.ts │ │ │ │ ├── functionOverloadCompatibilityWithVoid03.ts │ │ │ │ ├── functionOverloadErrorsSyntax.ts │ │ │ │ ├── functionTypeTypeParameters.ts │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── parameterInitializersForwardReferencing.ts │ │ │ ├── importEqualsDeclaration/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── importEqualsDeclaration.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── indexedAccesType/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── indexedAccesType.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── interfaceDeclaration/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── interfaceDeclaration.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── intersectionType/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── intersectionType.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── lastTypeNode/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── lastTypeNode.ts │ │ │ ├── mappedType/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── mappedType.ts │ │ │ ├── methodSignature/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── methodSignature.ts │ │ │ ├── moduleDeclaration/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── moduleDeclaration.ts │ │ │ ├── namespaceExportDeclaration/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── exportAsNamespace.d.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── never/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── never.ts │ │ │ ├── nonNullExpression/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── nonNullExpression.ts │ │ │ ├── parameterProperty/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── parameterProperty.ts │ │ │ ├── symbol/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── symbol.ts │ │ │ ├── thisType/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── thisType.ts │ │ │ ├── tuple/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── contextualTypeWithTuple.ts │ │ │ │ ├── emptyTuples/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ │ ├── emptyTuplesTypeAssertion02.ts │ │ │ │ │ └── jsfmt.spec.js │ │ │ │ ├── indexerWithTuple.ts │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── tupleElementTypes1.ts │ │ │ │ ├── tupleElementTypes2.ts │ │ │ │ ├── tupleElementTypes3.ts │ │ │ │ ├── tupleElementTypes4.ts │ │ │ │ ├── typeInferenceWithTupleType.ts │ │ │ │ ├── wideningTuples1.ts │ │ │ │ ├── wideningTuples2.ts │ │ │ │ ├── wideningTuples3.ts │ │ │ │ ├── wideningTuples4.ts │ │ │ │ ├── wideningTuples5.ts │ │ │ │ ├── wideningTuples6.ts │ │ │ │ └── wideningTuples7.ts │ │ │ ├── typeOperator/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── typeOperator.ts │ │ │ ├── typeParameter/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── typeParameter.ts │ │ │ ├── typeParameters/ │ │ │ │ └── typeParameterLists/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── innerTypeParameterShadowingOuterOne.ts │ │ │ │ ├── innerTypeParameterShadowingOuterOne2.ts │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── staticMembersUsingClassTypeParameter.ts │ │ │ │ └── typeParametersAvailableInNestedScope2.ts │ │ │ ├── typeReference/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── typeReference.ts │ │ │ ├── undefined/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── undefined.ts │ │ │ ├── union/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── unionTypeCallSignatures.ts │ │ │ │ ├── unionTypeCallSignatures3.ts │ │ │ │ ├── unionTypeCallSignatures4.ts │ │ │ │ ├── unionTypeConstructSignatures.ts │ │ │ │ ├── unionTypeEquivalence.ts │ │ │ │ ├── unionTypeFromArrayLiteral.ts │ │ │ │ ├── unionTypeIndexSignature.ts │ │ │ │ └── unionTypePropertyAccessibility.ts │ │ │ └── variableDeclarator/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── jsfmt.spec.js │ │ │ └── variableDeclarator.ts │ │ ├── custom/ │ │ │ ├── abstract/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── abstractNewlineHandling.ts │ │ │ │ ├── abstractProperties.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── call/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── callSignature.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── computedProperties/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── string.ts │ │ │ │ └── symbol.ts │ │ │ ├── declare/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── declareModifier.d.ts │ │ │ │ └── jsfmt.spec.js │ │ │ ├── modifiers/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── question.ts │ │ │ │ └── readonly.ts │ │ │ ├── module/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── global.ts │ │ │ │ ├── jsfmt.spec.js │ │ │ │ ├── moduleNamespace.ts │ │ │ │ └── nestedNamespace.ts │ │ │ ├── new/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── newKeyword.ts │ │ │ ├── stability/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ │ ├── jsfmt.spec.js │ │ │ │ └── moduleBlock.ts │ │ │ └── typeParameters/ │ │ │ ├── __snapshots__/ │ │ │ │ └── jsfmt.spec.js.snap │ │ │ ├── callAndConstructSignatureLong.ts │ │ │ ├── functionTypeLong.ts │ │ │ ├── interfaceParamsLong.ts │ │ │ ├── jsfmt.spec.js │ │ │ └── typeParametersLong.ts │ │ └── webhost/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── webtsc.ts │ ├── typescript_ambient/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── ambient.ts │ │ └── jsfmt.spec.js │ ├── typescript_array/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comment.js │ │ └── jsfmt.spec.js │ ├── typescript_as/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── as.js │ │ └── jsfmt.spec.js │ ├── typescript_cast/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── hug-args.ts │ │ ├── jsfmt.spec.js │ │ └── parenthesis.ts │ ├── typescript_class/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── constructor.ts │ │ ├── dunder.ts │ │ ├── generics.ts │ │ ├── jsfmt.spec.js │ │ ├── methods.ts │ │ └── optional.ts │ ├── typescript_comments/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── abstract_class.ts │ │ ├── jsfmt.spec.js │ │ ├── jsx.ts │ │ ├── location.ts │ │ ├── type-parameters.ts │ │ └── types.ts │ ├── typescript_decorators/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── decorators.js │ │ ├── inline-decorators.ts │ │ └── jsfmt.spec.js │ ├── typescript_destructuring/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── destructuring.ts │ │ └── jsfmt.spec.js │ ├── typescript_enum/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── enum.ts │ │ └── jsfmt.spec.js │ ├── typescript_export/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── comment.js │ │ ├── export-class.js │ │ ├── export.ts │ │ └── jsfmt.spec.js │ ├── typescript_import_require/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── import_require.js │ │ └── jsfmt.spec.js │ ├── typescript_index_signature/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── index-signature.ts │ │ └── jsfmt.spec.js │ ├── typescript_interface/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── abstract.ts │ │ ├── comments.js │ │ ├── jsfmt.spec.js │ │ ├── long-extends.ts │ │ └── separator.ts │ ├── typescript_keyof/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── keyof.ts │ ├── typescript_keywords/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── keywords.js │ ├── typescript_method/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── semi.js │ │ └── type_literal_optional_method.ts │ ├── typescript_module/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── empty.js │ │ ├── global.js │ │ ├── jsfmt.spec.js │ │ └── namespace_function.ts │ ├── typescript_new/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── new-signature.ts │ ├── typescript_non_null/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── parens.ts │ ├── typescript_nosemi/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── index-signature.ts │ │ ├── interface.ts │ │ ├── jsfmt.spec.js │ │ └── type.js │ ├── typescript_readonly/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── readonly.ts │ ├── typescript_rest/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── rest.ts │ ├── typescript_semi/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── no-semi.ts │ ├── typescript_trailing_comma/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── trailing.ts │ ├── typescript_tsx/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── keyword.tsx │ │ ├── not-react.ts │ │ ├── react.tsx │ │ └── this.tsx │ ├── typescript_tuple/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── trailing-comma.ts │ │ └── tuple.ts │ ├── typescript_typeparams/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── long-function-arg.ts │ ├── typescript_union/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── inlining.ts │ │ ├── jsfmt.spec.js │ │ └── union-parens.ts │ ├── unary/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── object.js │ │ └── series.js │ ├── unary_expression/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── urnary_expression.js │ ├── unicode/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── keys.js │ ├── union_intersection/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── test.js │ ├── update_expression/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ └── update_expression.js │ ├── variable_declarator/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── multiple.js │ │ └── string.js │ ├── while/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── indent.js │ │ └── jsfmt.spec.js │ ├── windows/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── jsfmt.spec.js │ │ ├── line-ending.js │ │ └── template.js │ ├── with/ │ │ ├── __snapshots__/ │ │ │ └── jsfmt.spec.js.snap │ │ ├── indent.js │ │ └── jsfmt.spec.js │ └── yield/ │ ├── __snapshots__/ │ │ └── jsfmt.spec.js.snap │ ├── conditional.js │ └── jsfmt.spec.js ├── tests_config/ │ ├── .eslintrc.js │ ├── raw-serializer.js │ └── run_spec.js ├── tests_integration/ │ ├── .eslintrc.js │ ├── __tests__/ │ │ ├── __snapshots__/ │ │ │ ├── config-resolution.js.snap │ │ │ ├── ignore-path.js.snap │ │ │ ├── multiple-patterns.js.snap │ │ │ ├── parser-api.js.snap │ │ │ ├── with-node-modules.js.snap │ │ │ ├── with-parser-inference.js.snap │ │ │ └── with-shebang.js.snap │ │ ├── config-resolution.js │ │ ├── debug-check.js │ │ ├── debug-print-doc.js │ │ ├── ignore-path.js │ │ ├── list-different.js │ │ ├── multiple-patterns.js │ │ ├── parser-api.js │ │ ├── syntax-error.js │ │ ├── with-node-modules.js │ │ ├── with-parser-inference.js │ │ └── with-shebang.js │ ├── cli/ │ │ ├── config/ │ │ │ ├── .prettierrc │ │ │ ├── jest/ │ │ │ │ ├── .prettierrc │ │ │ │ ├── Component.js │ │ │ │ ├── Component.test.js │ │ │ │ └── __best-tests__/ │ │ │ │ └── file.js │ │ │ ├── js/ │ │ │ │ ├── file.js │ │ │ │ └── prettier.config.js │ │ │ ├── no-config/ │ │ │ │ ├── file.js │ │ │ │ └── file.ts │ │ │ ├── package/ │ │ │ │ ├── file.js │ │ │ │ ├── file.ts │ │ │ │ └── package.json │ │ │ └── rc-json/ │ │ │ ├── .prettierrc │ │ │ └── file.js │ │ ├── ignore-path/ │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ └── regular-module.js │ │ ├── multiple-patterns/ │ │ │ ├── directory/ │ │ │ │ ├── file.js │ │ │ │ └── nested-directory/ │ │ │ │ └── nested-directory-file.js │ │ │ ├── other-directory/ │ │ │ │ ├── file.js │ │ │ │ └── nested-directory/ │ │ │ │ └── nested-directory-file.js │ │ │ ├── other-regular-modules.js │ │ │ └── regular-module.js │ │ ├── with-node-modules/ │ │ │ ├── not_node_modules/ │ │ │ │ └── file.js │ │ │ └── regular-module.js │ │ ├── with-parser-inference/ │ │ │ ├── javascript.js │ │ │ └── stylesheet.css │ │ └── with-shebang/ │ │ └── issue1890.js │ ├── custom-parsers/ │ │ ├── custom-rename-input.js │ │ └── custom-rename-parser.js │ └── runPrettier.js └── website/ ├── .eslintrc.js ├── README.md ├── core/ │ └── Footer.js ├── deploy.sh ├── editors.json ├── languages.json ├── package.json ├── pages/ │ ├── en/ │ │ ├── help/ │ │ │ └── index.js │ │ ├── index.js │ │ └── users/ │ │ └── index.js │ └── playground/ │ └── index.html ├── siteConfig.js ├── static/ │ ├── CNAME │ ├── install-service-worker.js │ ├── lib/ │ │ ├── index.js │ │ ├── parser-babylon.js │ │ ├── parser-flow.js │ │ ├── parser-graphql.js │ │ ├── parser-json.js │ │ ├── parser-parse5.js │ │ ├── parser-postcss.js │ │ ├── parser-typescript.js │ │ ├── prettier-version.js │ │ └── sw-toolbox.js │ ├── manifest.json │ ├── playground.js │ ├── redirect.js │ ├── service-worker.js │ └── worker.js └── users.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .codecov.yml ================================================ comment: off coverage: status: patch: default: target: 80% project: default: target: auto ================================================ FILE: .eslintignore ================================================ !/*.js /tests/**/*.js !/tests/**/jsfmt.spec.js !/**/.eslintrc.js /test.js /dist/ **/node_modules/** /website/static/lib/ ================================================ FILE: .eslintrc.js ================================================ "use strict"; module.exports = { env: { es6: true, node: true }, extends: ["eslint:recommended", "plugin:react/recommended"], plugins: ["prettier", "react", "import"], rules: { curly: "error", "import/no-extraneous-dependencies": [ "error", { devDependencies: ["tests*/**", "scripts/**"] } ], "no-console": "off", "no-else-return": "error", "no-inner-declarations": "error", "no-unneeded-ternary": "error", "no-useless-return": "error", "no-var": "error", "one-var": ["error", "never"], "prefer-arrow-callback": "error", "prefer-const": "error", "prettier/prettier": "error", "react/no-deprecated": "off", strict: "error", "symbol-description": "error", yoda: ["error", "never", { exceptRange: true }] }, parserOptions: { ecmaFeatures: { jsx: true } } }; ================================================ FILE: .flowconfig ================================================ [ignore] .*/tests/.* .*/node_modules/.* .*/dist/.* ================================================ FILE: .gitignore ================================================ /node_modules npm-debug.log /bin/prettier-with-tabs.js /bin/prettier-spaces.js /errors /test.js /test.ts /test.css /.vscode /dist /website/node_modules .DS_Store coverage ================================================ FILE: .ignore ================================================ docs/index.js docs/parser-babylon.js docs/parser-flow.js docs/parser-postcss.js docs/parser-typescript.js dist ================================================ FILE: .npmignore ================================================ yarn.lock tests tests_config ================================================ FILE: .pre-commit-hooks.yaml ================================================ - id: prettier name: prettier entry: prettier --write language: node types: [javascript] ================================================ FILE: .travis.yml ================================================ --- language: node_js node_js: - 4 - stable cache: yarn: true directories: - node_modules env: - NODE_ENV=development - NODE_ENV=production matrix: allow_failures: - env: NODE_ENV=production fast_finish: true install: - yarn install --production=false before_script: - if [ "${NODE_ENV}" = "production" ]; then yarn build; fi script: - yarn lint - AST_COMPARE=1 yarn test -- --runInBand - if [ "${NODE_ENV}" = "development" ]; then yarn codecov; fi deploy: provider: script script: website/deploy.sh skip_cleanup: true on: branch: master node: stable ================================================ FILE: .yarnrc ================================================ save-prefix "" ================================================ FILE: CHANGELOG.md ================================================ # 1.5.3 [link](https://github.com/jlongster/prettier/compare/1.5.2...1.5.3) * Force trailingComma option to "none" when parser is JSON (#2335) # 1.5.2 [link](https://github.com/jlongster/prettier/compare/1.5.1...1.5.2) * Full printing support for GraphQL and various bug fixes * Fixes for range formatting for JSON and CSS (#2295, #2298) # 1.5.1 [link](https://github.com/jlongster/prettier/compare/1.5.0...1.5.1) * Go back to babylon beta 13 (#2289) * Inline import('x') to avoid having trailing comma (#2288) # 1.5.0 [link](https://github.com/jlongster/prettier/compare/1.4.4...1.5.0) * [Release Notes](https://github.com/prettier/prettier/releases/tag/1.5.0) # 1.4.4 * Fix postcss, I forgot to re-run the build script :( # 1.4.3 [link](https://github.com/jlongster/prettier/compare/1.4.2...1.4.3) * Fix support for node 4 (#1988) * Fix website on iOS Safari (#1970) Formatting change: * Position JSX whitespace (`{" "}`) at the end of lines (#1964) Lots of small fixes, mainly for TypeScript. # 1.4.2 [link](https://github.com/jlongster/prettier/compare/1.4.1...1.4.2) * fix(decorators): do not inline methods with decorators with babylon (#1934) * fix(typescript): print semi with inline interfaces/types (#1936) * fix(typescript): no semi after export default abstract class, fixes (#1937) * TypeScript: fix trailing comma in enum (#1938) # 1.4.1 [link](https://github.com/jlongster/prettier/compare/1.4.0...1.4.1) * Lots of fixes for TypeScript and regressions from 1.4.0. If you are using 1.4.0, you should migrate to 1.4.1 asap ;) # 1.4.0 [link](https://github.com/jlongster/prettier/compare/1.3.1...1.4.0) * [Release Notes](https://github.com/prettier/prettier/releases/tag/1.4.0) # 1.3.1 * Respect template inline-ness (#1497) # 1.3.0 [link](https://github.com/jlongster/prettier/compare/1.2.2...1.3.0) * add printer branches for some TypeScript nodes (#1331) * Skip trailing commas with FlowShorthandWithOneArg (#1364) * add TSLastTypeNode and TSIndexedAccessType (#1370) * add TSConstructorType (#1367) * fix do-while break (#1373) * Fix missing trailing commas on flow generics (#1381) * Add example of using yarn test with arguments (#1383) * Have --debug-check also run ast verification (#1337) * Fix empty line in block with EmptyStatement (#1375) * parent decides how to print type annotations (#1391) * add TSTypeOperator (#1396) * fix TSTypeReference not printing typeArguments (#1392) * add TSMappedType and TSTypeParameter (#1393) * fix TSFunctionType failing on TypeParameters (#1394) * add TSIntersectionType (#1395) * fix typeParameters printing TSFunctionType w/o breaking flow (#1397) * Fix optional flow parenthesis (#1357) * [experimental] Add linting step in test pipeline (#1172) * fix VariableDeclarator not printing type parameters (#1415) * add TSMethodSignature (#1416) * Add TSParameterProperty, TSAbstractClassDeclaration and TSAbstractMethodDefinition (#1410) * Inline nullable in flow generics (#1426) * fixed method 'check' error 'format' of undefined (#1424) * feat(typescript): add delcare modifier support for vars, classes and functions (#1436) * Allow flow declarations to break on StringLiteralTypeAnnotations (#1437) * Require '::a.b' to have a preceding ; in no-semi style (#1442) * Require '(a || b).c++' to have a preceding ; in no-semi style (#1443) * Upgrade flow parser to 0.45 (#1447) * Add supertype tests and add TSAbstractClassProperty (#1467) * Break class expression returned by arrow call (#1464) * update typescript snapshots to account for #1464 (#1470) * [WIP] add TSNamespaceExportDeclaration (#1459) * update yarn.lock (#1471) * [RFC] Do not indent calls with a single template literal argument (#873) * Proper indentation for template literals (#1385) * Add parenthesis for unusual nested ternaries (#1386) * Preserve inline comment as last argument (#1390) * Only add parenthesis on ternaries inside of arrow functions if doesn't break (#1450) * Fix windows line ending on template literals (#1439) * Add space around `=` for flow generics default arguments (#1476) * Don't break for unparenthesised single argument flow function (#1452) * Don't break on empty arrays and objects (#1440) * Do not break on [0] (#1441) * Reorder flow object props (#1451) * Break inline object first in function arguments (#1453) * Break inline object first in function arguments (#1453) (#1173) * Inline template literals as arrow body (#1485) # 1.2.2 [link](https://github.com/jlongster/prettier/compare/1.2.1...1.2.2) * Only break for conditionals (#1350) # 1.2.1 [link](https://github.com/jlongster/prettier/compare/1.2.0...1.2.1) * Fix duplicate comments in classes (#1349) # 1.2.0 [link](https://github.com/jlongster/prettier/compare/1.1.0...1.2.0) * match jsx files in pre-commit hook (#1276) * Fix isPreviousLineEmpty on Windows (#1263) * Add --dev option to suggested install cmd (#1289) * Write out change CLI changes synchronously. Fixes #1287. (#1292) * Remove emoji part from lint-staged's name (#1302) * omit 'doc' key from options object before passing it to format() (#1299) * Skip globbing filenames with node-glob when the filename is not a glob (#1307) * FIX: more documentation for jetbrains (#1265) * Fix template literal comments (#1296) * Double quotes for option values in Readme file (#1314) * Do not print the sub-tree when using prettier-ignore (#1286) * Bail when traversing === groups (#1294) * Avoid breaking arguments for last arg expansion (#1305) * Add typescript as a valid parser value (#1318) * Add jestbrains filewatcher docs (#1310) * Add prettier_d to Related Projects (#1328) * Add parentheses for assignment as body of arrow (#1326) * Add information about Vim's other autocmd events (#1333) * add printer branch for TSFirstTypeNode (#1332) * Optimize `prettier --help` for humans (#1340) * Update link to @vjeux's React London presentation (#1330) * Improve regex printing (#1341) * Fix arrow function parenthesis with comments in flow (#1339) * Break if () if conditional inside breaks (#1344) * Don't inline paren at right of arguments (#1345) # 1.1.0 [link](https://github.com/jlongster/prettier/compare/1.0.0...1.1.0) * Prettier 1.0 is the stabler release we've been waiting for (#1242) * fix small typo (#1255) * Fix : ReferenceError: err is not defined (#1254) * Document debugging strategies (#1253) * Do not inline member expressions as part of assignments (#1256) * Fix flow union params (#1251) * Use a whitelist instead of blacklist for member breaking (#1261) * Remove trailing whitespace (#1259) * Get rid of fixFaultyLocations code (#1252) * Fixing n.comments check in printer (#1239) * [WIP] no-semi comments (#1257) # 1.0.1 * change semi default # 1.0.0 [link](https://github.com/jlongster/prettier/compare/0.22.0...1.0.0) * See announcement blog post: [http://jlongster.com/prettier-1.0](http://jlongster.com/prettier-1.0) # 0.22.0 [link](https://github.com/jlongster/prettier/compare/0.21.0...0.22.0) * Run 0.21.0 (#876) * Fix paren removal on UnionTypeAnnotation (#878) * Fix typo (#891) * Ensure no parens for JSX inside of an ArrayExpression (#895) * Fix object expression in arrow function expression (#897) * Fix unprinted comments in destructuring (#898) * Fix bug with importing empty type (#904) * Fix broken export comment (#899) * Add CLI Example to Readme (#909) * Fix 0.5e0 (#911) * Fix binary expression instanceof in arrow function expression (#913) * Improve readme CLI usage example (#910) * Do not break long it/test calls when template literal (#893) * Update lint-staged docs to use husky for less config. (#923) * Fix files with comments only (#813) * Update README.md (#928) * Fix binary op as body in arrow expression (#921) * cleanup needsParens (#935) * [JSX] Break if opening element breaks (#942) * Parenthesize function expressions in expression position (#941) * update the README to add a pre-commit hook (#944) * Fix #951: properly parenthesize ** expressions (#952) * [WIP] TypeScript Parser (#915) * Do not break long `describe` calls (#953) * Recursively find leading comments inside ReturnStatements (#955) * Fix `in` inside of a for in a nested way (#954) * Make comments around empty parenthesis be inside (#957) * Stabilize comment after object label (#958) * Inline BinaryExpressions inside JSXExpression (#965) * Only allow same-line arrow-less body for explicit nodes (#966) # 0.21.0 [link](https://github.com/jlongster/prettier/compare/0.20.0...0.21.0) * [JSX] Break before and after jsx whitespace (#836) * re-run snapshot tests * Run prettier 0.20.0 (#835) * [JSX] Don't wrap JSX Elements in parentheses in {} (#845) * Fix comment after the last argument of a function (#856) * Fix travis build imag * Do not break require calls (#841) * Stabilize import as comments (#855) * Fix jsx expression comment that break (#852) * Inline last arg function arguments (#847) * Keep parenthesis on export default function (#844) * Inline short expressions for boolean operators too (#826) * Introduce -l option (#854) * Add parenthesis around assignments (#862) * Do not put \n after label (#860) * Fix comment for `call( // comment` (#858) * Do not break long it calls (#842) * Fix flow union comments (#853) # 0.20.0 [link](https://github.com/jlongster/prettier/compare/0.19.0...0.20.0) * Fix extra parens for update expressions (#796) * Fix empty options (#803) * Eagerly evaluate `ifBreak` when processing template literals (fixes #795 * Fix function declaration params comments (#802) * Update flow to 0.40 (#808) * Correct link for travis * Fix function call args (#809) * Properly support `do` (#811) * Do not put parenthesis around not named default export (#819) * Adds another preset to related projects (#820) * Fix trailing commas in docs (#825) * Put short body of arrow functions on the same line (#829) * Preserve new lines for comments after `=` (#830) * Fix indentation of a merged group (#828) * Migrate class comments to the beginning (#831) * Update list of related projects (#833) * Allow breaking for logical expressions in member chains (#827) # 0.19.0 [link](https://github.com/jlongster/prettier/compare/0.18.0...0.19.0) * docs(README): use yarn add for consistency (#734) * Make trailing-comma option support 2 different modes (#641) * Update README with valid trailingComma options * Fix await ternary parenthesis (#740) * Fix missing dangling comment in exports (#741) * Fix missing dangling comments in arrays (#744) * Remove extra parenthesis around await inside of unary expression (#745) * Fix missing dangling comments in for loop (#742) * Add note about trailingComma option in versions 0.18.0 and below * Add missing explanatory comment in ForStatement case (#748) * Fix leading & operators in flow types (#738) * Fix missing comments in assignment pattern (#704) * Correctly place trailing comments in conditionals (#754) * Use double quotes in script wildcards to support windows `cmd.exe`. (#761) * Upgrade to Jest 19 (#762) * Upgrade to Jest 19.0.1 (#779) * Remove extra parens around ternary arguments of a new call (#776) * Do not attach comments to EmptyStatements in try/catch (#763) * Bump babylon & add test for async func decl (#790) * Add `this` for Member factory whitelist and remove softline (#782) * Do not expand empty catch (#783) * Group [0] at the end of the previous chain instead of beginning of next one (#784) * Do not format template literals (#749) * Revert babylon bump (#792) * Do not put trailing commas for function declaration in es5 mode (#791) * [WIP] Fix comments in template literals (#643) * Introduce line-suffix-boundary (#750) * [RFC] Add parenthesis around && inside of || (#780) * Fix tests on node 4 # 0.18.0 [link](https://github.com/jlongster/prettier/compare/0.17.0...0.18.0) * fix --debug-check * [JSX] Don't add newline following newline (#690) * [Docs] Use replaceState API when demo code changes (#710) * Do not inline new as last argument (#705) * Inline objects & arrays as right part of a boolean expression (#692) * [RFC] Remove parenthesis object special case (#689) * Ensure importKind is printed (#718) * [Docs]: update Readme to reference VS extension (#720) * docs: Add pre-commit hook with 🚫💩 lint-staged section to the README (#714) * [RFC] Preserve new lines between array elements (#707) * Do not put \n inside of empty object method bodies (#706) * Align boolean inside of arrow functions (#691) * Fix trailing new lines preservation (#724) * Unified Split # 0.17.1 * Use `readline` api to manipulate `process.stdout` output. (#687) # 0.17.0 [link](https://github.com/jlongster/prettier/compare/0.16.0...0.17.0) * [JSX] Fix spurious newline (fixes #614) (#628) * Add --debug-check cli option (#627) * Remove last trailing line for directives-only files (#609) * Expand vim instructions * Fix formatting in readme * Update snapshots * Preserve empty line before last comment (#594) * test on current release of node.js (#595) * [JSX] jsx-whitespace breaks with parent (fixes #622) (#626) * Log filename with [update] or [ignore] flags during `--write` process. (#584) * Do not indent binary expressions inside of if (#604) * Put short elements at right of single binary expression on same line (#605) * Run prettier 0.16.0 on the codebase (#631) * Preserve blank lines inside of objects (#606) * fix typo in JetBrains External Tool config readme (#679) * Fix dangling comments for arrays (#665) * Print line-suffix in --debug-print-doc (#676) * Avoid unneeded parenthesis for colon with comments (#673) * Stabilize comments inside of if/then/else before { (#672) * Soft break the first member of a chain (#667) * Stabilize comments inside of ternaries (#666) * Fix trailing commas with a trailing comment (#664) * Fix Flow union type annotations indentation (#650) * Ensure that all comments are printed (#571) * Properly support member chains comments (#668) * [WIP] Fix Flow DeclareTypeAlias (#669) * Add option for putting > on the last line in jsx (#661) * Always put a hardline before dangling comment (#675) * Fix comments in return statement argument (#657) * [RFC] Introduce prettier-ignore-next (#671) # 0.16.0 [link](https://github.com/jlongster/prettier/compare/0.15.0...0.16.0) * Revert "Print \x and \u escapes in strings and regexes lowercase (#522) * Fix ternary indent bug (#577) * jsx parentheses fix (#580) * Run prettier on 0.15.0 (#558) * Add parenthesis around single argument arrow if comments (#573) * Use breakParent inside of last arrow expansion (#559) * Support dangling comments in ClassBody (#570) * Make all the member expressions but the last one part of the first group (#589) * Break long imports (#590) * Remove the concept of globalPrecedingNode (#561) * Remove test.js and put it back in the gitignore * Fix use strict as expression statement (#602) * Use arrow function when inputted that way for flow objects (#608) * Better support try/catch comments (#607) * Print CallExpression comments inside of memberChain (#600) * Do not attach comments to EmptyStatement (#599) * Fix files with only comments on the flow parser (#598) * Remove first line special case (#597) * Fix single indented JSX comment (#596) * Print dangling on ast on all the paths # 0.15.0 [link](https://github.com/jlongster/prettier/compare/0.14.1...0.15.0) * Fix syntax error in empty object with dangling comment (#533) * Fix closing call expression commented out (#530) * Update `bracketSpacing` comment to say it's about {} (#529) * Add 0.14.1 to CHANGELOG (#525) * Print \x and \u escapes in strings and regexes lowercase (#522) * Fix Jetbrains example screenshot url. (#534) * Preserve next line with trailing comment (#535) * Break nested calls (#517) * Update snapshot tests from conflicting PRs * Reimplement MemberExpression printing (#469) * Remove spurious test.js * Fix small typo on Jetbrains section (#552) * [JSX] Handle non-breaking space (#557) * Make comments between if & else to look good (#544) * Whitelist UnaryExpression for parentless objects (#545) * Make comments inside of MemberExpression look good (#556) # 0.14.1 [link](https://github.com/jlongster/prettier/compare/0.14.0...0.14.1) * Fix range for object newline detection (#520) * a bugfix for "Keep expanded objects expanded" (#495) # 0.14.0 [link](https://github.com/jlongster/prettier/compare/0.13.0...0.14.0) * Only write to files if the change (#511) * Remove extra group when printing object values (#502) * Add documentation for JetBrains products. (#509) * Don't print trailing commas for object destructuring and rest (#512) * Mention eslint-config-prettier (#516) * [RFC] Keep expanded objects expanded (#495) * Do not always put an empty lines after directives (#505) * Print numbers in a uniform way (#498) # 0.13.0 [link](https://github.com/jlongster/prettier/compare/0.12.0...0.13.0) * Simplify arrow functions that use blocks (#496) * Properly print comments for BinaryExpression (#494) * Preserve empty line after comment (#493) * [JSX] Handle each line of text separately (#455) * Proper support for dangling comments (#492) # 0.12.0 [link](https://github.com/jlongster/prettier/compare/0.11.0...0.12.0) * [WIP] Add rationale document (#372) * Proper parenthesis for yield and await in conditional (#436) * Don't print double newlines at EOF to stdout (#437) * Explain the `--color` option in a comment (#434) * Validate user-provided config with jest-validate (#301) * Propagate breaks upwards automatically, introduce `breakParent` (#440) * Fix typo in variable name (#441) * Refactor traversal (#442) * Do not put a newline on empty `{}` for functions (#447) * Better error message for assertDoc (#449) * Remove `multilineGroup` (#450) * Ability to break on `:` for objects (#314) * Update snapshots * [RFC] Do not put spacing inside of arrays with bracketSpacing (#446) * Fix integer CLI arguments (#452) * Move tests around (#454) * Update package.json, use ast-types 0.9.4 (#453) * Update lockfile * Support printing import("a") (#458) * Explain that you can pass options to the spec runner (#460) * Fix spurious whitespace (#463) * Preserve new lines after directives (#464) * Put decorators on the same line (#459) * docs: add related projects (#456) * Add break points for class declaration (#466) * Added parens around in operator in for loops 🚀. (#468) * CLI improvements (#478) * [RFC] Hug Conditionals in JSX (#473) * Refactor comment algorithm and improve newline/spaces detection (#482) * Indent ternaries (#484) * Indent computed member (#471) * Maintain windows line ending (#472) * Don't break up JSXOpeningElement if it only has a single text (#488) * Add CallExpression to the last argument expansion whitelist (#470) * Mention eslint-plugin-prettier in Related Projects (#490) * Stop using conditionalGroup inside of UnionTypeAnnotation (#491) # 0.11.0 [link](https://github.com/jlongster/prettier/compare/0.0.10...0.11.0) Now using minor versions instead of patch versions for the releases. * Swap quotes (#355) * Drop jsesc (#357) * Use a Symbol instead of the private dep (#359) * Add parens for default export FunctionExpressions (#345) * Fix export extension output (#361) * Exit with an error if an unknown CLI option is passed (#365) * Warn if using deprecated CLI options (#364) * s/jscodefmt/prettier/ (#370) * Fix CLI options (#369) * Fix some parens cases for UpdateExpressions (#381) * Output strings with the minimum amount of escaped quotes (#390) * Ignore EmptyStatement inside of switch case (#391) * Support multiple standalones in import (#389) * Fix missing semi-colon in for loop and var body (#388) * Fix empty labels (#383) * Fix forced trailing comma (#382) * Empty switch should not have an empty line (#384) * add formatAST() for formatting ASTs directly (#393) * Fix class extends parenthesis (#396) * Fix class inside of binary expression missing parenthesis (#397) * Fix parenthesis in object as left-hand-side of template (#398) * Remove unneeded parens for FunctionExpression inside LogicalExpression (#399) * Remove trailing comma for array destructuring with rest (#400) * Fix +++x (#401) * Also do the class extend parenthesis for class expressions (#403) * Fix various parenthesis issues on the left side of template (#404) * Fix in inside of the first group of a for (#406) * Add parenthesis for arrow function inside of ternary (#408) * Add parenthesis around class expression when left side of call expression (#409) * Ensure computed method names don't lose quotes (#419) * Add parenthesis for yield inside of a conditional (#418) * Add parenthesis around assignment for arrow function body (#422) * Add parenthesis around export default assignments (#423) * Add parenthesis for class expression on left of member expression (#421) * Fix missing parens around object in MemberExpression (#424) * Re-run snapshot tests * Workaround flow bug around trailing comma (#427) * Add parenthesis when class expressions are left of a ternary (#428) * Revert "Workaround flow bug around trailing comma" (#429) * Update commands.md (#430) * Improve vim integration section (#416) * Add glob support to the CLI (#363) * Use babel-code-frame for syntax errors (#367) * Update yarn.lock # 0.0.10 [link](https://github.com/jlongster/prettier/compare/0.0.9...0.0.10) * Add description to package.json (#320) * Fix crash for single rest on class declaration (#315) * Add canonical link to Prettier SublimeText package. (#318) * Properly escape JSXText (#329) * Hug objects and arrays inside of JSXExpressionContainer (#213) * Add quotes around unicode keys in flow parser (#328) * Add tests for comments (#330) * Print dangling comments in blocks (#331) * Remove Printer module in favor of single function (#333) * Split pp.js into doc-{printer,builders,utils}.js (#334) * Fix node 4 (#336) * Remove unused functions from recast (#337) * Kill fromString (#335) * Extract parser.js (#338) * Normalize exports (#339) * Refactor index.js (#340) * Add semicolon to more default exports (#343) * Introduce --parser/parser option and deprecate --flow-parser/useFlowParser (#342) * Remove parens around AwaitExpression in ternary (#346) * Indent while test the same way as if test (#352) * Add debugging support for doc IR (#347) # 0.0.9 [link](https://github.com/jlongster/prettier/compare/0.0.8...0.0.9) * Workaround flow bug parsing astral unicode characters (#277) * Allow specifying the major mode that `defun-before-save` will use. (#276 * Fix space missing before `,` on export with bracket spacing off (#278) * Fix space missing before `,` on import with bracket spacing off (#279) * Add newline after shebang if necessary. (#215) * Remove +1 from newline detection (#261) * Fix path when printing member chains so parens work properly (fixes #243 * Ensure parens on NewExpression with function callee (#282) * Fix missing semi when default exporting CallExpression (#287) * Workaround flow parser bug with spread in arrays (#285) * Update flow-parser to 0.38 (#290) * Allow customizing args sent to prettier-command (#289) * Do not output trailing commas with rest arguments (#283) * Use exact versions in package.json (#291) * Use js native String.repeat() (#293) * Handle additional export default parens cases (#298) * Fix parens around anonymous functions (#297) * Introduce second argument to ifBreak (#302) * Fix bracketSpacing typo in tests (#299) * Remove unused variable (#304) * Fix trailing whitespace (#300) * add version flag (#294) * Add --run-in-band to travis (#306) * [JSX] Split elements on newlines and preserve whitespace (w/@yamafaktory) (#234) * Print binary and logical expressions in a nicer format (#262) # 0.0.8 [link](https://github.com/jlongster/prettier/compare/e447971...0192d58) * Fix await parenthesis (#185) * Add note about Sublime Test github issue in readme * Remove legacy Recast code and simplify API. (#191) * Don't break to new line if logical/loop statements are without brackets. (#194) * Fix parenthesis for UpdateExpression (#198) * Fix directives printing for empty functions (#199) * Fix key quotes omission for flow parser (#203) * Fix comma when an arrow function with no arguments breaks (#210) * Last argument expansion works for arrow functions that return JSX (#211) * Remove faulty location check on template literals that throws in Nuclide (#218) * Add flow parser experimental options (#221) * Fix empty exports (#225) * Fix cases of missing parens with NewExpression (#230) * Fix issue with ArrowFunctionExpression parens (#236) * Add npm version badge (#240) * Consolidate badges in readme * Fix parens issue with nested UrnaryExpressions (#237) * Escape strings using jsesc (#229) * Add newline for empty blocks {} (#205) * Fix empty export with from clause (#248) * Fix missing parenthesis for typeof and arrow functions (#249) * Fix FunctionExpression parens issues (#250) * Fix last element of an array being null (#232) * Make sure empty for loops generate valid code (#224) * Fix parens for functions inside TaggedTemplateExpression (#259) * Preserve the way numbers were written (#257) # 0.0.7 [link](https://github.com/jlongster/prettier/compare/7e31610...6f5df0e2b6b7db252e28ce80ebc54814fdc61497) * Update live editor to 0.0.6 * Adds various prettier-browser changes (#175) * Fix `[(0)]` (#179) * Do not advance for forward skipSpaces (#176) * Fix windows line-endings (#177) * add license to package.json (#178) * Fix exponent in babylon (#181) * Make `declare type` consistent between babylon and flow (#183) * Fix DeclareInterface (#182) * Change test to workaround babylon bug (#184) # 0.0.6 [link](https://github.com/jlongster/prettier/compare/faed09ceea32fcdd58b525aa09b880afb9fa55b7...3af7da5748d64efaed781104ec198924c8c369f9) * Format property names consistently * remove node 0.10 from travis config, add travis badge to readme * Update snapshots * chore: link prettier package to its github project * add gitter badge to readme * add instructions for Visual Studio plugin * Do not unquote string properties * Add prettier-browser * v0.0.5 -- Accidentally didn't push this commit out before others landed; 0.0.5 is actually based on commit faed09ceea32fcdd58b525aa09b880afb9fa55b7 * update yarn.lock * remove recast (not used) * Always use double quotes for JSX and properly escape * remove unused recast ref * Fix typo in README. * Support type annotation for rest argument on babylon parser * Use `setq' instead of `infc' and `decf' * Add title and encoding to the REPL * Fix old name reference in tests_config * Minimize string escapes * Support method generics on babylon parser * Break long `exports` into multiple lines. * Use group instead of conditionalGroup * Fix misprinting of computed properties in method chains. (#157) * treat shebang outside of parsing (#137) * Break multiline imports (#167) * Do not put spaces on empty for loop (#169) * Add trailing comma support for multiline exports (#168) * Update run_spec to support options * Add tests for bracketSpacing option * Add tests for quotes option * Add tests for tabWiths option * Add tests for trailingComma option * Fix for Node 4 * Add test for shebang and move to index.js (#170) * Numeric literal callees should keep parens (#141) * Remove leftover `arrowParensAlways` option (#171) * Wrap Stateless JSX Arrow Functions and Assignment in Parens (fixes part of #73) * Break JSXOpeningElement between attributes (fixes #15) * JSX maintains spaces that matter (fixes #30 and thus part of #73) * Multiline JSX opening tag breaks children out too (for #73) * Add regression tests for long JSX Expression contents * include index.js in format:all script (#132) * Wrap ForStatement in a block for const decls (#172) * Reprint all the files! ================================================ FILE: CONTRIBUTING.md ================================================ # Contributing to Prettier To get up and running, install the dependencies and run the tests: ``` yarn yarn lint yarn test ``` Here's what you need to know about the tests: * The tests uses [Jest](https://facebook.github.io/jest/) snapshots. * You can make changes and run `jest -u` (or `yarn test -- -u`) to update the snapshots. Then run `git diff` to take a look at what changed. Always update the snapshots when opening a PR. * You can run `AST_COMPARE=1 jest` for a more robust test run. That formats each file, re-parses it, and compares the new AST with the original one and makes sure they are semantically equivalent. * Each test folder has a `jsfmt.spec.js` that runs the tests. Normally you can just put `run_spec(__dirname);` there. You can also pass options and additional parsers, like this: `run_spec(__dirname, { trailingComma: "es5" }, ["babylon"]);` * `tests/flow/` contains the Flow test suite, and is not supposed to be edited by hand. To update it, clone the Flow repo next to the Prettier repo and run: `node scripts/sync-flow-tests.js ../flow/tests/`. * If you would like to debug prettier locally, you can either debug it in node or the browser. The easiest way to debug it in the browser is to run the interactive `docs` REPL locally. The easiest way to debug it in node, is to create a local test file and run it in an editor like VS Code. Run `yarn lint -- --fix` to automatically format files. If you can, take look at [commands.md](commands.md) and check out [Wadler's paper](http://homepages.inf.ed.ac.uk/wadler/papers/prettier/prettier.pdf) to understand how Prettier works. ================================================ FILE: LICENSE ================================================ Copyright 2017 James Long Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # Prettier Miscellaneous [![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/jlongster/prettier) [![Build Status](https://travis-ci.org/arijs/prettier-miscellaneous.svg?branch=master)](https://travis-ci.org/arijs/prettier-miscellaneous) [![CircleCI Status](https://circleci.com/gh/arijs/prettier-miscellaneous.svg?style=shield&circle-token=5b135ff8817790a20e0eb1c5853752b931bc42c0)](https://circleci.com/gh/arijs/prettier-miscellaneous) [![Codecov](https://img.shields.io/codecov/c/github/arijs/prettier-miscellaneous.svg)](https://codecov.io/gh/arijs/prettier-miscellaneous) [![NPM version](https://img.shields.io/npm/v/prettier-miscellaneous.svg)](https://www.npmjs.com/package/prettier-miscellaneous) [![styled with prettier](https://img.shields.io/badge/styled_with-prettier_misc-ff69b4.svg)](https://github.com/arijs/prettier-miscellaneous) > # CONFIGURATION WELCOME > > This is a fork of [prettier/prettier](https://github.com/prettier/prettier), with a goal of supporting additional options not picked up by official Prettier. > > If you want to add an option to Prettier Miscellaneous, please send a PR! 😃 > > ![Happyness](https://i.redd.it/p63sznfyu38y.jpg) Prettier is an opinionated code formatter with support for: * JavaScript, including [ES2017](https://github.com/tc39/proposals/blob/master/finished-proposals.md) * [JSX](https://facebook.github.io/jsx/) * [Flow](https://flow.org/) * [TypeScript](https://www.typescriptlang.org/) * CSS, [LESS](http://lesscss.org/), and [SCSS](http://sass-lang.com) * [JSON](http://json.org/) * [GraphQL](http://graphql.org/) It removes all original styling[\*](#styling-footnote) and ensures that all outputted code conforms to a consistent style. (See this [blog post](http://jlongster.com/A-Prettier-Formatter))
Table of Contents * [What does Prettier do?](#what-does-prettier-do) * [Why Prettier?](#why-prettier) + [Building and enforcing a style guide](#building-and-enforcing-a-style-guide) + [Helping Newcomers](#helping-newcomers) + [Writing code](#writing-code) + [Easy to adopt](#easy-to-adopt) + [Clean up an existing codebase](#clean-up-an-existing-codebase) + [Ride the hype train](#ride-the-hype-train) * [How does it compare to ESLint (or TSLint, stylelint...)?](#how-does-it-compare-to-eslint-or-tslint-stylelint) * [Usage](#usage) + [CLI](#cli) + [ESLint](#eslint) + [Pre-commit Hook](#pre-commit-hook) + [API](#api) + [Excluding code from formatting](#excluding-code-from-formatting) * [Options](#options) + [Print Width](#print-width) + [Tab Width](#tab-width) + [Tabs](#tabs) + [Semicolons](#semicolons) + [Quotes](#quotes) + [Trailing Commas](#trailing-commas) + [Bracket Spacing](#bracket-spacing) + [JSX Brackets](#jsx-brackets) + [Range](#range) + [Parser](#parser) + [Filepath](#filepath) * [Configuration File](#configuration-file) + [Basic Configuration](#basic-configuration) + [Configuration Overrides](#configuration-overrides) + [Configuration Schema](#configuration-schema) * [Editor Integration](#editor-integration) + [Atom](#atom) + [Emacs](#emacs) + [Vim](#vim) + [Visual Studio Code](#visual-studio-code) + [Visual Studio](#visual-studio) + [Sublime Text](#sublime-text) + [JetBrains WebStorm, PHPStorm, PyCharm...](#jetbrains-webstorm-phpstorm-pycharm) * [Language Support](#language-support) * [Related Projects](#related-projects) * [Technical Details](#technical-details) * [Badge](#badge) * [Contributing](#contributing)
-------------------------------------------------------------------------------- ## What does Prettier do? Prettier takes your code and reprints it from scratch by taking the line length into account. For example, take the following code: ```js foo(arg1, arg2, arg3, arg4); ``` It fits in a single line so it's going to stay as is. However, we've all run into this situation: ```js foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne()); ``` Suddenly our previous format for calling function breaks down because this is too long. Prettier is going to do the painstaking work of reprinting it like that for you: ```js foo( reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne() ); ``` Prettier enforces a consistent code **style** (i.e. code formatting that won't affect the AST) across your entire codebase because it disregards the original styling[\*](#styling-footnote) by parsing it away and re-printing the parsed AST with its own rules that take the maximum line length into account, wrapping code when necessary. \*_Well actually, some original styling is preserved when practical—see [empty lines] and [multi-line objects]._ [empty lines]:Rationale.md#empty-lines [multi-line objects]:Rationale.md#multi-line-objects If you want to learn more, these two conference talks are great introductions: ## Why Prettier? ### Building and enforcing a style guide By far the biggest reason for adopting Prettier is to stop all the on-going debates over styles. It is generally accepted that having a common style guide is valuable for a project and team but getting there is a very painful and unrewarding process. People get very emotional around particular ways of writing code and nobody likes spending time writing and receiving nits. - “We want to free mental threads and end discussions around style. While sometimes fruitful, these discussions are for the most part wasteful.” - “Literally had an engineer go through a huge effort of cleaning up all of our code because we were debating ternary style for the longest time and were inconsistent about it. It was dumb, but it was a weird on-going "great debate" that wasted lots of little back and forth bits. It's far easier for us all to agree now: just run Prettier, and go with that style.” - “Getting tired telling people how to style their product code.” - “Our top reason was to stop wasting our time debating style nits.” - “Having a githook set up has reduced the amount of style issues in PRs that result in broken builds due to ESLint rules or things I have to nit-pick or clean up later.” - “I don't want anybody to nitpick any other person ever again.” - “It reminds me of how Steve Jobs used to wear the same clothes every day because he has a million decisions to make and he didn't want to be bothered to make trivial ones like picking out clothes. I think Prettier is like that.” ### Helping Newcomers Prettier is usually introduced by people with experience in the current codebase and JavaScript but the people that disproportionally benefit from it are newcomers to the codebase. One may think that it's only useful for people with very limited programming experience, but we've seen it quicken the ramp up time from experienced engineers joining the company, as they likely used a different coding style before, and developers coming from a different programming language. - “My motivations for using Prettier are: appearing that I know how to write JavaScript well.” - “I always put spaces in the wrong place, now I don't have to worry about it anymore.” - “When you're a beginner you're making a lot of mistakes caused by the syntax. Thanks to Prettier, you can reduce these mistakes and save a lot of time to focus on what really matters.” - “As a teacher, I will also tell to my students to install Prettier to help them to learn the JS syntax and have readable files.” ### Writing code What usually happens once people are using Prettier is that they realize that they actually spend a lot of time and mental energy formatting their code. With Prettier editor integration, you can just press that magic key binding and poof, the code is formatted. This is an eye opening experience if anything else. - “I want to write code. Not spend cycles on formatting.” - “It removed 5% that sucks in our daily life - aka formatting” - “We're in 2017 and it's still painful to break a call into multiple lines when you happen to add an argument that makes it go over the 80 columns limit :(“ ### Easy to adopt We've worked very hard to use the least controversial coding styles, went through many rounds of fixing all the edge cases and polished the getting started experience. When you're ready to push Prettier into your codebase, not only should it be painless for you to do it technically but the newly formatted codebase should not generate major controversy and be accepted painlessly by your co-workers. - “It's low overhead. We were able to throw Prettier at very different kinds of repos without much work.” - “It's been mostly bug free. Had there been major styling issues during the course of implementation we would have been wary about throwing this at our JS codebase. I'm happy to say that's not the case.” - “Everyone runs it as part of their pre commit scripts, a couple of us use the editor on save extensions as well.” - “It's fast, against one of our larger JS codebases we were able to run Prettier in under 13 seconds.” - “The biggest benefit for Prettier for us was being able to format the entire code base at once.” ### Clean up an existing codebase Since coming up with a coding style and enforcing it is a big undertaking, it often slips through the cracks and you are left working on inconsistent codebases. Running Prettier in this case is a quick win, the codebase is now uniform and easier to read without spending hardly any time. - “Take a look at the code :) I just need to restore sanity.” - “We inherited a ~2000 module ES6 code base, developed by 20 different developers over 18 months, in a global team. Felt like such a win without much research. ### Ride the hype train Purely technical aspects of the projects aren't the only thing people look into when choosing to adopt Prettier. Who built and uses it and how quickly it spreads through the community has a non-trivial impact. - “The amazing thing, for me, is: 1) Announced 2 months ago. 2) Already adopted by, it seems, every major JS project. 3) 7000 stars, 100,000 npm downloads/mo” - “Was built by the same people as React & React Native.” - “I like to be part of the hot new things.” - “Because soon enough people are gonna ask for it.” A few of the [many projects](https://www.npmjs.com/browse/depended/prettier) using Prettier:

React
React

Jest
Jest

Yarn
Yarn

Babel
Babel

Zeit
Zeit

Webpack-cli
Webpack-cli

## How does it compare to ESLint (or TSLint, stylelint...)? Linters have two categories of rules: **Formatting rules**: eg: [max-len](http://eslint.org/docs/rules/max-len), [no-mixed-spaces-and-tabs](http://eslint.org/docs/rules/no-mixed-spaces-and-tabs), [keyword-spacing](http://eslint.org/docs/rules/keyword-spacing), [comma-style](http://eslint.org/docs/rules/comma-style)... Prettier alleviates the need for this whole category of rules! Prettier is going to reprint the entire program from scratch in a consistent way, so it's not possible for the programmer to make a mistake there anymore :) **Code-quality rules**: eg [no-unused-vars](http://eslint.org/docs/rules/no-unused-vars), [no-extra-bind](http://eslint.org/docs/rules/no-extra-bind), [no-implicit-globals](http://eslint.org/docs/rules/no-implicit-globals), [prefer-promise-reject-errors](http://eslint.org/docs/rules/prefer-promise-reject-errors)... Prettier does nothing to help with those kind of rules. They are also the most important ones provided by linters as they are likely to catch real bugs with your code! ## Usage Install: ``` yarn add prettier-miscellaneous --dev ``` You can install it globally if you like: ``` yarn global add prettier-miscellaneous ``` *We're using `yarn` but you can use `npm` if you like:* ``` npm install [--save-dev|--global] prettier-miscellaneous ``` ### CLI Run Prettier through the CLI with this script. Run it without any arguments to see the [options](#options). To format a file in-place, use `--write`. You may want to consider committing your code before doing that, just in case. ```bash prettier [opts] [filename ...] ``` In practice, this may look something like: ```bash prettier --single-quote --trailing-comma es5 --write "{app,__{tests,mocks}__}/**/*.js" ``` Don't forget the quotes around the globs! The quotes make sure that Prettier expands the globs rather than your shell, for cross-platform usage. The [glob syntax from the glob module](https://github.com/isaacs/node-glob/blob/master/README.md#glob-primer) is used. #### `--with-node-modules` Prettier CLI will ignore files located in `node_modules` directory. To opt-out from this behavior use `--with-node-modules` flag. #### `--list-different` Another useful flag is `--list-different` (or `-l`) which prints the filenames of files that are different from Prettier formatting. If there are differences the script errors out, which is useful in a CI scenario. ```bash prettier --single-quote --list-different "src/**/*.js" ``` #### `--find-config-path` and `--config` If you are repeatedly formatting individual files with `prettier`, you will incur a small performance cost when prettier attempts to look up a [configuration file](#configuration-file). In order to skip this, you may ask prettier to find the config file once, and re-use it later on. ```bash prettier --find-config-path ./my/file.js ./my/.prettierrc ``` This will provide you with a path to the configuration file, which you can pass to `--config`: ```bash prettier --config ./my/.prettierrc --write ./my/file.js ``` You can also use `--config` if your configuration file lives somewhere where prettier cannot find it, such as a `config/` directory. If you don't have a configuration file, or want to ignore it if it does exist, you can pass `--no-config` instead. #### `--debug-check` If you're worried that Prettier will change the correctness of your code, add `--debug-check` to the command. This will cause Prettier to print an error message if it detects that code correctness might have changed. Note that `--write` cannot be used with `--debug-check`. ### ESLint If you are using ESLint, integrating Prettier to your workflow is straightforward: Just add Prettier as an ESLint rule using [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier). ```js yarn add --dev prettier eslint-plugin-prettier // .eslintrc { "plugins": [ "prettier" ], "rules": { "prettier/prettier": "error" } } ``` We also recommend that you use [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) to disable all the existing formatting rules. It's a one liner that can be added on-top of any existing ESLint configuration. ``` $ yarn add --dev eslint-config-prettier ``` .eslintrc.json: ```json { "extends": [ "prettier" ] } ``` ### Pre-commit Hook You can use Prettier with a pre-commit tool. This can re-format your files that are marked as "staged" via `git add` before you commit. ##### Option 1. [lint-staged](https://github.com/okonet/lint-staged) Install it along with [husky](https://github.com/typicode/husky): ```bash yarn add lint-staged husky --dev ``` and add this config to your `package.json`: ```json { "scripts": { "precommit": "lint-staged" }, "lint-staged": { "*.js": [ "prettier --write", "git add" ] } } ``` See https://github.com/okonet/lint-staged#configuration for more details about how you can configure lint-staged. ##### Option 2. [pre-commit](https://github.com/pre-commit/pre-commit) Copy the following config into your `.pre-commit-config.yaml` file: ```yaml - repo: https://github.com/prettier/prettier sha: '' # Use the sha or tag you want to point at hooks: - id: prettier ``` Find more info from [here](http://pre-commit.com). ##### Option 3. bash script Alternately you can save this script as `.git/hooks/pre-commit` and give it execute permission: ```bash #!/bin/sh jsfiles=$(git diff --cached --name-only --diff-filter=ACM | grep '\.jsx\?$' | tr '\n' ' ') [ -z "$jsfiles" ] && exit 0 # Prettify all staged .js files echo "$jsfiles" | xargs ./node_modules/.bin/prettier --write # Add back the modified/prettified files to staging echo "$jsfiles" | xargs git add exit 0 ``` ### Options Prettier ships with a handful of customizable format options, usable in both the CLI and API. | Option | Default | Override | | ------ | ------- | -------- | | **Print Width** - Specify the length of line that the printer will wrap on.

We strongly recommend against using more than 80 columns. Prettier works by cramming as much content as possible until it reaches the limit, which happens to work well for 80 columns but makes lines that are very crowded. When a bigger column count is used in styleguides, it usually means that code is allowed to go beyond 80 columns, but not to make every single line go there, like prettier would do. | `80` | CLI: `--print-width `
API: `printWidth: ` | **Tab Width** - Specify the number of spaces per indentation-level. | `2` | CLI: `--tab-width `
API: `tabWidth: ` | | **Tabs** - Indent lines with tabs instead of spaces. | `false` | CLI: `--use-tabs`
API: `useTabs: ` | | **Semicolons** - Print semicolons at the ends of statements.

Valid options:
  • `true` - add a semicolon at the end of every statement
  • `false` - only add semicolons at the beginning of lines that may introduce ASI failures
| `true` | CLI: `--no-semi`
API: `semi: ` | | **Quotes** - Use single quotes instead of double quotes.

Notes:
  • Quotes in JSX will always be double and ignore this setting, unless `--jsx-single-quote` is used.
  • If the number of quotes outweighs the other quote, the quote which is less used will be used to format the string - Example: `"I'm double quoted"` results in `"I'm double quoted"` and `"This \"example\" is single quoted"` results in `'This "example" is single quoted'`.
| `false` | CLI: `--single-quote`
API: `singleQuote: ` | | **JSX Single Quote** - Use single quotes instead of double quotes for JSX attributes. | `false` | CLI: `--jsx-single-quote`
API: `jsxSingleQuote: ` | | **Trailing Commas** - Print trailing commas wherever possible.

Valid options:
  • `"none"` - no trailing commas
  • `"es5"` - trailing commas where valid in ES5 (objects, arrays, etc.)
  • `"all"` - trailing commas wherever possible (function arguments). This requires node 8 or a [transform](https://babeljs.io/docs/plugins/syntax-trailing-function-commas/).
| `"none"` | CLI: --trailing-comma
API: trailingComma: "" | | **Trailing Commas (extended)** - You can also customize each place to use trailing commas:

Valid options:
- `"array"`
- `"object"`
- `"import"`
- `"export"`
- `"arguments"` | `"none"` | You can use a comma separated string list, or an object in the API.

CLI: --trailing-comma "array,object,import,export,arguments"
API: trailingComma: { array: true, object: true, import: true, export: true, arguments: false } | | **Bracket Spacing** - Print spaces between brackets in array literals.

Valid options:
- `true` - Example: `[ foo: bar ]`
- `false` - Example: `[foo: bar]` | `true` | CLI: `--no-bracket-spacing`
API: `bracketSpacing: ` | | **Braces Spacing** - Print spaces between braces in object literals.

Valid options: