Commit Graph

201 Commits (d52021ecbfda885a00f717b7d9ecbc73236ee9ec)

Author SHA1 Message Date
Sosuke Suzuki 3a998df02e
TSX: Fix incorrectly removing parentheses around jsx elements being accessed in tsx file (#6640)
* Modify to wrap jsx element used with member-expression in tsx

* Add tests

* Update CHANGELOG.unreleased.md

* Modify to support no-inline jsx element

* Add pr number

* Fix from lint-docs

* Modify to rename isTsx => isTSXFile

* Modify to no considering file ext

* Support JSXFragment and add tests

* Update CHANGELOG.unreleased.md
2019-10-16 00:11:48 +09:00
Georgii Dolzhykov 3a8ebae57d refactoring: unify code for printing methods, remove isNodeStar… (#6637)
* unify code for printing methods, remove isNodeStartingWithDeclare hacks

* body is BlockStatement, not an array

* getters and setters can't be async

* unify printPropertyKey calls
2019-10-14 17:39:36 +02:00
Georgii Dolzhykov 977b828666 Get rid of TSParenthesizedType nodes before proceeding with formatting (#6605)
* get rid of TSParenthesizedType nodes before proceeding with formatting

* fix parens for TSIndexedAccessType, TSFunctionType, TSConditionalType

fixes #6603

* workaround edge cases with one-item unions and intersections

* fix parens for TSInferType

* fix parens for rest elements in tuple types

* refactoring

* fix function types in conditional types

* move tests for rest and optional tuple elements

* fix comment issues

* tests for unions and intersections

* add parens around multiline unions in tuple

* move the parens check for TS nodes closer to the one for Flow nodes

* update CHANGELOG.unreleased.md

* remove dead code

* fix parens for TSConstructorType

* better wording in CHANGELOG.unreleased.md
2019-10-14 15:00:21 +03:00
Georgii Dolzhykov f8a4a61a62 fix typos (#6642) 2019-10-13 21:51:58 +02:00
Ingvar Stepanyan 282d1017f3 Add support for V8 intrinsics via Babel (#6496)
This plugin was recently added on Babel side and allows to parse custom syntax for V8 intrinsics.

They don't clash with any real-world JavaScript syntax, so adding this option should be as safe as any other plugin, and would allow to format JavaScript that uses such intrinsics (e.g. code inside Node.js or V8 itself).
2019-10-09 07:29:37 -07:00
Martin Donath 385c2dcc4f [typescript, flow]: double indent for unions inside of tuples (#6381) 2019-10-08 17:37:40 +03:00
Sosuke Suzuki 32dd447271 Refactor: Move functions unrelated to printing from printer-estree.js to utils.js (#6562) 2019-10-03 17:45:03 +03:00
Brian Kim 38ae5d5210 Javascript: Use function literals in arguments to detect function composition (#6033) 2019-10-01 13:53:45 +03:00
Matthew Leffler bb037eb218 TypeScript: Improve argument expansion with `as` type expressions (#6471) 2019-09-25 09:51:50 -03:00
Sosuke Suzuki 27e777e476 TypeScript: Keep type parameters inline for a variable declaration (#6467)
* Modify to keep inline type parameter with variable declaration

* Update CHENGELOG.unreleased.md

* Add tests

* Add tests

* Add pr number and link
2019-09-24 18:59:54 +03:00
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