* Run `format()` in test function
* Wrap `test`s in `describe`
* Update tests_config/run_spec.js
Co-Authored-By: Georgii Dolzhykov <thorn.mailbox@gmail.com>
Co-authored-by: Georgii Dolzhykov <thorn.mailbox@gmail.com>
* Always add a space after the `function` keyword
* WIP update snapshots
* WIP put generator function asterisk before space
https://github.com/prettier/prettier/issues/3847#issuecomment-363449250
* WIP update snapshots
* Add changelog
* Add tests for anonymouse generator function
* print space between `function` and generator star
* update changelog
* print space between yield and *
Co-authored-by: Joseph Frazier <1212jtraceur@gmail.com>
Co-authored-by: Sosuke Suzuki <aosukeke@gmail.com>
Co-authored-by: Georgii Dolzhykov <thorn.mailbox@gmail.com>
* WIP: Support TypeScript 3.7
* Add support for `asserts` keyword; Update snapshots
* Update typescript-estree to v2.5.0 to remove the dependency on chokidar
* Update TypeScript
* Update CHANGELOG.unreleased.md
* Add examples for TypeScript 3.7
* Update TypeScript 3.7 to latest dev version
* Correct wording
* Support `declare` keyword on class members (TypeScript 3.7 feature)
* Update Changelog and downgrade TypeScript from 3.8.0-dev to 3.7.1-rc
* Add a note regarding to dropping Node 6 support for direct installation
* tweak build config to repair build
* update CHANGELOG.unreleased.md
* TSTypePredicate microrefactoring
* fix formatting
* clean up tests
* fix parens for optional chaining inside computed properties
* update CHANGELOG.unreleased.md
* unify output across parsers for template literals
* enable more tests with optional chaining
* fix unneeded parens inside computed key of OptionalMemberExpression
* fix paren issues for OptionalCallExpression
* more fixes for OptionalCallExpression
* @typescript-eslint/typescript-estree 2.5.1-alpha.4
* fix lint
* revert build hacks
* fix one more parens issue
* @typescript-eslint/typescript-estree 2.5.1-alpha.5, remove loggerFn override
* drop node 6 for direct installing from github
* fix another parens issue, disable some tests for flow
* workaround for flow bug
* fix issues with comments
Co-authored-by: Georgii Dolzhykov <thorn.mailbox@gmail.com>
* chore: upgrade Jest
* chore: update snapshots
* chore: lock down babel dependency using invalid syntax
* 2 args to test.skip
* use jest 22 for now
* Revert "2 args to test.skip"
This reverts commit 691fdc3f99e320f2303958f2b503f7b4c93fa455.
* remove snapshot name from matcher
* fix standalone tests skips
This pull request aims to fix the issue of excessive nesting brought up in the following comment: https://github.com/prettier/prettier/issues/737#issuecomment-392541493
This "fix" is very simple. It adds a new possible way to activate JSX mode for ternary operators. If the first non-conditional parent of the expression is a JSX expression container, then JSX mode gets activated.
This branch also contains a test case for said scenario.
* Now JSX-mode ternaries only break if they need to.
* Only the outermost ternary in a chain of JSX-mode ternaries will become a group.
* We don't wrap null in parens when breaking JSX-mode ternaries.
This commit also improves the test coverage and explanation in tests/jsx/conditional-expression.js.
* Arrow Function Expressions returning JSX will now add parens when the JSX breaks
* Conditional expressions within (or containing) JSX are formatted in a more natural way (for JSX), especiall when chained
* JSX in logical expressions (|| or &&) is always wrapped in parens
Fixes#2208
* Allow JSX lines to be recombined
* Add test case for `<br />` breaking expression
* Fix issue where JSX whitespace could be dropped
* Newlines were incorrectly being preserved when JSX contained text
I didn't intend for putting parenthesis there in the first place but it slept through. Since it was going to trigger a ton of changes I held up changing it, but I feel like we need to do it sooner than later otherwise we're not going to be able to do it. A lot of people writing functional components are going to be very happy about this change :)
This is very unfortunate that we have to change the generic function that prints code but we want the JSXElement node to handle its comments printing itself in order to write them inside of the parenthesis instead of outside.
Fixes#555
* Add exceptions for html escape usage in href and src attributes.
* Add new test cases.
* Remove useless spaces.
* Do not escape if the parser does not do so.
* Implement a different heuristic for keeping along with the parser.
* Update tests.
* Forgot passing options as param.
* Experimental alternative implementation.
* Remove other function.
* Push test after merge.
* Update getJsXRawValue in order to return the unprocessed raw value.
Latest Babylon version includes a fix that allow us to directly
inject the unprocessed raw value available in the `extra.rawValue`
property of the node. A last transformation is applied by replacing
double quotes to `"` entities.
* Drop unused htmlEscapeInsideDoubleQuote function.
* Move getJSXRawValue function logic to the its only call, drop it.
A simple check is performed to determine if the parser is babylon or
flow via `n.value.extra`. Thus, the corresponding raw value is
extracted. If we are converting a string from single quotes to
double quotes, we need to make sure that double quotes are converted
to ".
* Remove ambiguous comment.
* Add Babylon parser.
* Update test cases accordingly, revert regression introduced previously.