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
Ika
228a8b0782
fix(html): do not add extra indent for js template in script ( #5527 )
2018-11-23 15:20:30 +08:00
Ika
cdac9552ef
fix(vue,ng): do not normalize tag names ( #5526 )
2018-11-23 13:12:43 +08:00
Ika
b2eadd234b
fix(vue): preserve custom block ( #5458 )
2018-11-23 12:33:48 +08:00
Ika
6ee2f464ac
feat(javascript): enable logical assignment ( #5489 )
2018-11-18 16:38:35 +08:00
Ika
043a937de6
fix(markdown): do not trim content in inline-math ( #5485 )
2018-11-16 00:17:20 +08:00
Ika
668e049a5e
feat(html): support ie conditional start/end comment ( #5470 )
2018-11-15 12:35:28 +08:00
Ika
4f63be05e8
fix(html): leading space for leading interpolation in textarea is sensitive ( #5468 )
2018-11-15 10:34:42 +08:00
Ika
c00dcb97b0
fix(html): preserve content for element in `<pre>` correctly ( #5473 )
2018-11-15 10:34:27 +08:00
Huáng Jùnliàng
d86f39cb83
fix(markdown): add more category to CJK regex ( #5480 )
...
The following characters should be treated as CJK character
```
3099..309A ; Hira Kana # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
309B..309C ; Hira Kana # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
```
Here is the [playground link](https://deploy-preview-5402--prettier.netlify.com/playground/#N4Igxg9gdgLgprEAuEhqhkFkMhahnYeoZ2EaGdQZoZ1AzBkEyGVczcnco8gHSmcGkGQEwZTB7BkHuGQGQjAdgw9AgAyAHhmGBHhmGAnhkDWDIEH7QJ0OgJIZAG3KB1BlIACANoA3ALpbAz+nLAFhGA-50CaDIGiGQMoMgCwZAEP89A2Qxj3E99NeBIf8BBDHyA8QyAMQyA+gyAMgzCgABygDRBgCFuslyAVgyAkQzJrIDGDGGAQAzMzCAANCAQAA4wAJbQAM7IoACGAE6NEADuAApNCLUo9XoQFQAmRSAARo31YADWcDAAyqWTFVAA5sgwjQCucMUAFjAAtgA2AOq7FfDVi2Bwc90XFXoXAJ7I4NW1xcvVcI0w7RMVgd6sgAGb1I4-YoAK2qAA8AEITaazOb1A5wAAyyzgYIhUJAsLhc2WKyOcAAipsIPA8ZCdiBFo0fo03sDGlNBm0oCNSi0ficJqU3ny4Cy9Ljio04ABHTYVaUA+pAkFIcH04o-A4VdZbBnVUnkqk03Fq-EMmD1UYnIYwXbIABMxQ29QqR1JAGEIAdgW8oNBJSBNj8ACpWnrqgl85YwG2DO3IADsAAYAL6poA ) to show that current `prettier` adds redundant whitespaces around the characters.
The testcase text are copied from [半濁点 - Wikipedia](https://ja.wikipedia.org/wiki/%E5%8D%8A%E6%BF%81%E7%82%B9 ) and [ヴ - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%B4 ) respectively.
2018-11-15 00:10:50 +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
Danny McCormick
18b03a31cc
Fix tests for Windows and add Azure Pipelines for cross platform CI ( #5410 )
...
* Add azure pipelines
* Add gitattributes
* Updating tests to work on Windows or Unix
* Lint
* Cleaning up
* Fixing names
* Clean up naming
* try to consolidate images
* Clean up
* Add back txt to gitattributes
2018-11-14 07:55:50 -05:00
Ika
57b057cfa2
fix(typescript): inline method decorators should stay inlined ( #5444 )
2018-11-14 10:13:35 +08:00
Ika
7e72889ac1
fix(javascript): fix locEnd for VariableDeclaration caused by --no-semi ( #5434 )
2018-11-11 00:26:11 +08:00
Ika
1ce76290c0
fix(vue): do not add invalid semicolon for event attr ( #5418 )
2018-11-11 00:25:11 +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
e0f74cb94d
fix(javascript): do not attach to block if it's not behind right func paren ( #5435 )
2018-11-11 00:10:19 +08:00
Ika
182a92eb28
fix(html): preserve incomplete ie conditional comment ( #5429 )
2018-11-10 16:44:44 +08:00
Ika
8b1260a770
fix(javascript): inline property decorator should stay inline (part 2) ( #5423 )
2018-11-10 16:44:33 +08:00
Ika
cc6899e5c5
fix(css-in-js): do not duplicate comments ( #5416 )
2018-11-10 16:43:59 +08:00
Ika
d4c248bb0b
test: update snapshots
2018-11-10 10:52:08 +08:00
Adrian
6dcc7ed575
fix(javascript): handle createSelector as function composition ( #5430 )
...
fixes #5285
2018-11-09 17:55:57 -07:00
Ika
6fafd0a48d
fix(angular): correctly print unary expression with `+` ( #5405 )
2018-11-10 01:01:18 +08:00
Ika
4e7fca5047
fix(markdown): identify CJK correctly ( #5402 )
2018-11-10 01:00:58 +08:00
Ika
1bce579f8d
fix(ng|vue): whitespaces between interpolation and text are sensitive ( #5396 )
2018-11-10 01:00:26 +08:00
Ika
de11f69889
fix(html): preserve unterminated ie conditional comments ( #5424 )
2018-11-09 23:26:59 +08:00
Ika
6f6b634948
fix(html): preserve content for `<template>` with unknown lang ( #5388 )
2018-11-09 19:19:03 +08:00
Ika
423ddf9abd
fix(angular): add missing parens for pipe in ternary ( #5397 )
2018-11-09 09:51:54 +08:00
Ika
9acb02997a
feat(html): treat capital element as custom element ( #5395 )
...
Custom element: keep it on its own line if both leading/trailing line breaks exist
2018-11-09 09:51:31 +08:00
Ika
0228863a92
feat(html): handle pre with interpolation ( #5400 )
2018-11-09 09:50:57 +08:00
Ika
32ea48d499
fix(scss): do not throw if node.source undefined ( #5394 )
2018-11-09 09:48:16 +08:00
Ika
469a831619
fix(mdx): treat jsx codeblock same as in markdown ( #5391 )
2018-11-09 09:47:05 +08:00
Ika
7f472d72ae
fix(angular): handle parens in ng expression correctly ( #5387 )
2018-11-09 00:06:16 +08:00
Ika
fd8ec95e0a
fix(javascript): do not apply test call formatting to arrow without body ( #5366 )
2018-11-08 14:00:42 +08:00
Ika
4b51907b87
fix(javascript): inline property decorator should stay inline ( #5364 )
...
Fixes the `@action` part in #5360
2018-11-07 17:21:03 +08:00
Ika
8cedb9d25e
fix(markdown): do not keep increasing backslashes for dollar sign ( #5358 )
2018-11-07 10:06:57 +08:00
Brian Ng
e882452c54
Bump @babel/parser ( #5356 )
...
Follows #5304 with flow inexact support in @babel/parser!
2018-11-07 08:42:11 +08:00
Ika
40ac85125a
fix(html-in-js): do not break empty content ( #5355 )
2018-11-07 08:32:26 +08:00
Ika
a4e8aaf7a1
fix(jsx): do not move trailing char to the next line as leading char ( #5354 )
2018-11-07 07:41:34 +08:00
Ika
6a54e21c12
fix(css-in-js): do not remove semicolon ( #5353 )
2018-11-07 00:19:42 +08:00