Commit Graph
1428 Commits
Author SHA1 Message Date
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
Nathan Totten a093bb3f7b Adds LWC Parser to support unquoted interop attributes (#5800)
This pull requests adds a new parser option `lwc`. This is the same as the HTML parser, but it adds support for unquoted HTML attributes per the needs of LWC. See: #5627
2019-02-01 13:58:50 +08:00
陈帅 a9d2c41464 feat(markdown): do not align table contents if it exceeds the print width and --prose-wrap never is set (#5701)
Fixes #5651
2019-01-30 12:24:21 -05:00
Yang Su 47da0804a9 JavaScript: fix edge cases in type cast comment detection regex (#5793)
Fix edge cases involving {...} ([record @type](http://usejsdoc.org/tags-type.html)) and newlines in prettier's detection code for type cast comments
2019-01-30 15:24:34 +08:00
Ika 847a78e8e9 fix(html): do not format non-normal whitespaces as normal whitespaces (#5797) 2019-01-30 14:30:10 +08:00
Ika 153d2d0570 fix(typescript): stable parens for function type in arrow return type (#5790) 2019-01-22 21:07:10 +08:00
Ika 1061be0702 fix(mdx): correctly recognize inline JSX (#5783) 2019-01-22 12:02:30 +08:00
Ika 2002ce0453 fix(javascript): add necessary parentheses for decorators (#5785) 2019-01-22 00:54:41 +08: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
Ika 42f7b6025e fix(javascript): remove unnecessary linebreaks from html templates (#5771) 2019-01-20 11:15:18 +08: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
Jarda Snajdr 5847c168e4 Fix formatting of lists in SCSS property/variable values (#5710) 2019-01-10 00:08:34 +08:00
Phil 30979ed104 typescript: remove unneeded parentheses around type annotation (#5724)
* Remove unnecessary parentheses from annotations

* add test for ts parentheses bug
2019-01-07 09:19:41 -03:00
Ika 63999c74eb fix(mdx): handle inline html correctly (#5704) 2019-01-03 10:46:11 +08:00
Ika 3de36e3a2b fix(ng,vue): add parens to avoid unexpected }} in interpolations (#5657) 2018-12-30 23:03:42 +08:00
Ika 7c4cebeaa5 feat: add babel-flow (#5685) 2018-12-29 21:35:47 +08:00
Wei-Wei Wu 91c20f7fbe Rename "babylon" with "babel" (#5647) 2018-12-27 21:05:19 +08:00
Ika 65a9d3b8cc fix(flow,ts): format /* HTML */ templates (#5658) 2018-12-19 23:00:18 +08:00
lhchavez 911d6c88e5 Fix formatting with --range-start / --range-end (#5632)
This change avoids collapsing an already-formatted range into a single
overlong line when --range-start / --range-end are provided.

Fixes: #4923
2018-12-17 10:59:20 -02:00
Dmitriy Sharshakov aka. sh7dm 6a45924379 fix(printer-postcss): ignore escape \ and escaped / in Less (#5597)
Avoid messing up Less files containing \\/ (escaped /).
Ignore escape \ and escaped / in Less.
2018-12-17 08:28:48 +08:00
Ika cbf06bf388 feat(html): format script with "application/ld+json" (#5642) 2018-12-16 16:21:10 +08:00
Brian Ng 8e612f05a0 Add support for class private methods (#5637) 2018-12-14 09:45:26 -06:00
Ika ffc8482458 fix(vue): tag names are case-sensitive (#5606) 2018-12-13 10:31:48 +08:00
Ika 419559e964 fix(javascript): correct indentation for expression in root template (#5607) 2018-12-12 09:52:23 +08:00
Ika 5e89969a9e test: update snapshots 2018-12-11 16:18:29 +08:00
Ika d97fe0a1e0 feat(html): preserve surrounding linebreaks (#5596) 2018-12-11 12:43:53 +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
Lipis 7c1758de86 Update example for *.vue (#5605) 2018-12-07 16:34:26 +01:00
Laurin Quast 9d1fb93e86 feat: add mjml extension to html language (#5505) 2018-12-07 21:01:40 +08:00
Ika cd28c22dbe feat(html): smart quote for attributes (#5590) 2018-12-05 11:15:09 +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 2247ce1aab feat(angular): support interpolation in attributes (#5573) 2018-11-30 09:28:54 +08:00
Ika 28b938da97 feat(html): update angular-html-parser (#5565)
- support [`htm`](https://github.com/developit/htm) (`<${Component}>content<//>`, `<div />`)
- preserve [bogus comments](https://www.w3.org/TR/html5/syntax.html#bogus-comment-state) (`<! ... >`, `<? ... >`)
2018-11-29 11:03:22 +08:00
Ika d124bbaacb test: update snapshots 2018-11-29 10:38:37 +08:00
Ika 1ecd2228b4 fix(vue): group slot-scope correctly (#5563) 2018-11-29 10:09:38 +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 a7528ebea4 fix(ng,vue): do not normalize attribute names (#5549) 2018-11-26 12:09:19 +08:00
Ika 4af3dd4b07 test: improve snapshots (#5521)
- before
  ```
  ${input}${"~".repeat(printWidth)}
  ${output}
  ```
- after
  ```
  ===options===
  ${options}
  ${" ".repeat(printWidth)}| printWidth
  ====input====
  ${input}
  ===output====
  ${output}
  =============
  ```
2018-11-25 16:21:14 +08:00
Ika 66ada24961 feat(angular): do not print colon for ngIf (#5542) 2018-11-25 15:43:40 +08:00
Ika b6a04ab8ba fix(html-in-js): do not add quotes for interpolation-only attributes (#5544) 2018-11-25 15:04:02 +08:00
Ika c788842fea fix(javascript): add missing parens for binary in optionalMember (#5543) 2018-11-25 11:42:06 +08:00
Ika ab7f46bf40 feat(yaml): preserve the first document head end marker (#5502) 2018-11-25 10:30:25 +08:00
Ika a50a8e258c fix(javascript): upgrade @babel/parser to 7.1.6 (#5530) 2018-11-24 21:47:47 +08:00
Ika 7da4ed76ad fix(html): do not touch comments (#5525) 2018-11-23 21:25:58 +08:00