Sosuke Suzuki
2e2368f5d7
JavaScript: Fix inconsistent indentation in switch statement ( #6514 )
...
* Add "SwitchStatement" to isInsideParenthesis
* Change tests
* Add tests
* Update CHANGELOG.unreleased.md
* Add pr number and link
2019-09-23 18:35:06 +02:00
Sosuke Suzuki
3f89bba231
JavaScript: Fix formatting on long named exports ( #6446 )
...
* Modify to put specific export inline
* Add tests
* Fix tests
* Modify to support default exports
* Update CHANGELOG.unreleased.md
* Modify to refactor
* Add pr link
* Modify to rename "content" -> "printed"
* Modify to define canBreak helpter
* Fix from linter
* Update CHANGELOG.unreleased.md
* Add tests
2019-09-11 12:10:34 +03:00
Sosuke Suzuki
8f0fdba4ba
JavaScript: Fix ugly formatting parens wrap binary expressions… ( #6441 )
...
* Modify to break specific call expression correctly
* Add tests
* Update CHANGELOG.unreleased.md
* Add tests
* Fix tests
* Add pr link
2019-09-07 14:46:00 +02:00
Kevin Gibbons
fd6ad2a623
handle empty object param patterns with type annotations ( #6438 )
...
* handle object patterns in function parameters with type annotations
* fix lint
* update changelog
2019-09-05 21:56:30 +02:00
Sosuke Suzuki
2523a017aa
JavaScript: object destructuring with parameter decorators ( #6411 )
2019-08-30 07:07:00 +02:00
Sosuke Suzuki
77e79bbfa5
TypeScript: Fixed to break line and add a semi in one execution on one line long mapped types ( #6420 )
2019-08-29 20:14:45 +02:00
Sosuke Suzuki
9e5a5435a1
fix(TypeScript): specific union type breaks after opening parenthesis, but not before closing ( #6307 )
2019-08-08 16:48:37 +03:00
Sosuke Suzuki
ce366f0834
fix(JavaScript): bug when arrow fn as function parameter with newline ( #6301 )
2019-08-08 16:06:28 +03:00
Sosuke Suzuki
033002cdc3
TypeScript, Flow: Fix breaking ordering comments in React.useEffect ( #6270 )
2019-07-10 11:34:23 -03:00
Sosuke Suzuki
74f4d2b3c0
JavaScript: Keep line breaks when tagged template literal has a single line comment. ( #6236 )
2019-07-10 10:56:53 -03:00
Sosuke Suzuki
cfba21f493
JavaScript: Keep unary expressions parentheses with comments ( #6217 )
2019-07-10 10:06:08 -03:00
Lucas Duailibe
8fcc7c18b3
Printing arguments: short circuiting some cases ( #6229 )
2019-06-17 06:14:16 -03:00
Lucas Duailibe
4e8f911a29
Print comment following a JSX generic ( #6209 )
2019-06-10 09:30:54 -03:00
Lucas Duailibe
a90adf4753
Fix adding trailing comma in TS tuples ( #6199 )
2019-06-07 11:18:42 -03:00
Sosuke Suzuki
8812792e93
[TypeScript] Add trailing comma for only arrow functions in tsx. ( #6190 )
...
* Modify to add traling comma only for allow-function
* Add tests
* Update CHANGELOG.unreleased.md
* Add pr number and link
* Modify to improve RegExp to detect tsx file
2019-06-07 09:01:58 -03:00
Lucas Duailibe
2e6191fe77
Prevent adding quotes if there's a numeric literal as key ( #6138 )
2019-06-04 13:45:29 -03:00
Julian Rosse
64ab703d41
Pass options to willPrintOwnComments() ( #6081 )
2019-06-04 12:48:51 -03:00
Sosuke Suzuki
ed2055b81f
[TypeScript]Keep a trailing comma on tuple types ( #6172 )
2019-06-03 09:59:34 -03:00
Sosuke Suzuki
3654108ebe
TypeScript: Keep line breaks within mapped types. ( #6146 )
2019-05-24 19:00:32 -03:00
Lucas Duailibe
7e47b4ea26
Preserve parens around expressions in default export declaration that start with function or class ( #6133 )
2019-05-20 09:31:38 -03:00
Lucas Duailibe
eca23e111f
Stop converting empty JSX elements to self-closing elements ( #6127 )
...
Co-Authored-By: Simon Lydell <simon.lydell@gmail.com>
2019-05-16 15:14:35 -03:00
Evilebot Tnawi
2cebeecb4f
fix(javascript): do not hug sequence expression in object properties ( #6088 )
2019-05-15 12:29:45 -03:00
Lucas Duailibe
012b7a653e
Prevent adding unnecessary quotes when a computed key exists ( #6119 )
2019-05-14 19:41:49 -03:00
Brian Kim
48d542ec1e
TypeScript: Don’t breakup call expressions when the last argument is an arrow function with a simple return type ( #6106 )
2019-05-14 10:57:42 -03:00
Sosuke Suzuki
e3b2f4adb4
Keep a trailing comma in type parameter in .tsx files ( #6115 )
2019-05-13 14:53:45 -03:00
jwbay
6cee80b5b5
Don't break simple template literals ( #5979 )
...
A simple template literal is initially defined as a literal wherein all the expressions are identifiers or member access expressions where all parts are identifiers. We print these expressions into strings with infinite print width before printing the template.
2019-05-08 13:14:55 -03:00
Evilebot Tnawi
dcaed91518
fix: respect newlines in parameters ( #5836 )
2019-04-04 09:50:07 -03:00
Noah Sugarman
0b07e10833
fix multiline dynamic import comments ( #6025 )
2019-04-02 12:35:03 -07:00
Lucas Azzola
f526c47b1e
Add an option to modify when Prettier quotes object properties ( #5934 )
...
* Implement quote-props=preserve
* Implement quote-props=consistent
* Add tests
* Enable quoteProps in playground
* Add documentation
* Cache objectHasStringProp calculations
* Fixup changelog
2019-03-06 20:33:08 +11:00
Yang Su
71b815f583
JavaScript: Fix parens logic for optional chaining expressions and closure type casts ( #5843 )
2019-02-11 13:33:56 -02:00
James Henry
1143619600
chore: update typescript-estree to new package name ( #5799 )
2019-01-28 19:46:51 -05:00
Simen Bekkhus
565731668f
fix: do not format callbacks with arguments as React hooks ( #5778 )
...
Ref: https://github.com/prettier/prettier/pull/5608#issuecomment-455860396
2019-01-22 00:26:39 +08:00
James Henry
8ac0a731a4
chore: update typescript-estree to 18.0.0 ( #5750 )
2019-01-12 17:02:16 -05:00
James Henry
ef6386015d
fix: update typescript and typescript-estree to latest ( #5728 )
2019-01-12 11:10:52 +08:00
makepost
94eab666c4
fix(javascript): skip .connect() method when composing fun ( #5739 )
2019-01-10 12:20:15 -07:00
Wei-Wei Wu
91c20f7fbe
Rename "babylon" with "babel" ( #5647 )
2018-12-27 21:05:19 +08:00
Brian Ng
8e612f05a0
Add support for class private methods ( #5637 )
2018-12-14 09:45:26 -06:00
Ika
419559e964
fix(javascript): correct indentation for expression in root template ( #5607 )
2018-12-12 09:52:23 +08:00
Jed Fox
fa7eafaa6d
Add support for the React `useEffect` hook ( #5608 )
...
* Add support for the React `useEffect` hook
* Format
* Format
* [Refactor] remove unnecessary condition
`canHaveTrailingComma` is defined as `I(lastElem && ...)`, which will always be true when `lastElem === null`.
* Use a hacky method to allow the array to break
* Revert "[Refactor] remove unnecessary condition"
This reverts commit 91906ba22438afa0fe5e10c64a1fcf3cfa484ff3.
* Add tests for `React.useEffect` form
2018-12-10 06:09:20 -05:00
Ika
952bc0cc03
fix: get rid of CRLF ( #5494 )
2018-12-08 18:28:29 +08:00
Ika
3cd1d003c0
fix(typescript): do not throw errors on bigint keyword ( #5577 )
...
- fix `Error: unknown type: "TSBigIntKeyword"`
- bump typescript to stable version
2018-11-30 10:12:32 +08:00
Ika
0534735c2f
fix(vue): tweak semicolon for single expression in event bindings ( #5519 )
2018-11-29 09:28:35 +08:00
Christopher Chedeau
0af81c7695
Improve union types with leading comments ( #5575 )
...
We're running into this issue at Facebook because `// flowfixme` ignores the very next line, but in this case an empty line is added in-between which breaks the fixme.
Ideally the solution is to avoid adding a newline and we'd call it a day. Unfortunately it is tricky to implement in this particular case. The comment is already printed, including its \n. Yet, we want to indent the block and the only way to convince the doc printer to do so is to add an indent group --before-- the \n is printed, otherwise it's just going to indent on the next \n.
So this PR changes the output from one bad way to another, but the new way has the benefit of not breaking flow for Facebook, which makes our internal teams happier.
Note that the way we print the same construct with `&` is broken in the same way as with this PR. https://prettier.io/playground/#N4Igxg9gdgLgprEAuc0DOMAEBbAngNQEMAbAVzkwF5MAKME4+4xhpl5tmgDgHYA2LgE5+g3gP5CRY6cL6iJE2fL4BKJAB0ombTt17tAegOYAwhGzYEMTftu7oFAGSYYAdwjOYACwBOTzABWACYA1gAeXgBmxCFowVEA5jEBaEGJyV6pIdEBCZkhQQGJIcQpXkGRCSFFWaWRXlWlaOWVwZElCUUlAZgqANwgADQgEAAOMACW6MighD4+EK4ACnMIaMgghABuEBNBQyAARj6EYCFwMADKo6cTUAnIMD7kw14w2MQA6l4T8Gg3YDglzWvwmW1+uA2YDQ62GdzQcB8MCWJwS2EIyEiJARwxSYQAQiczhdLoRLAAZO5wTHYuC4tBhS53JJwACKpAg8BpxBxIBuPgRPg2h0Ih1wxGgB1GPjuME+e28yC4AAZhtKIAjPidRhtpXBBVtqcM-ABHUgTPwowhojFILE8ukgBHYCaPZ6OtDM4hsjlcu204YwUXyoKKpAAJkDJwmxGZZgstpAUAcB1ICIAKqL1v6HQBfXNAA
Fixes #5572
2018-11-28 10:30:51 -08:00
Ika
05ad885c3c
feat(typescript): support BigInt ( #5546 )
2018-11-27 16:53:34 +08:00
Ika
3a5bbf5fd2
fix(typescript): do not change `module` into `namespace` and break/hug their body correctly ( #5551 )
2018-11-26 13:34:35 +08:00
Ika
66ada24961
feat(angular): do not print colon for ngIf ( #5542 )
2018-11-25 15:43:40 +08:00
Ika
5c479cc55f
fix(typescript): do not add invalid semi for construct in interface with prettier-ignore ( #5469 )
2018-11-14 21:35:37 +08:00
Ika
57b057cfa2
fix(typescript): inline method decorators should stay inlined ( #5444 )
2018-11-14 10:13:35 +08:00
Ika
6cedf7d5d9
fix(flow,ts): consistent interface and remove unnecessary indent for extends ( #5432 )
2018-11-11 00:15:18 +08:00
Ika
8b1260a770
fix(javascript): inline property decorator should stay inline (part 2) ( #5423 )
2018-11-10 16:44:33 +08:00