Lucas Azzola
dd84559991
Merge computed MemberExpression in member chain ( #2670 )
2017-08-26 05:35:05 -07:00
Christopher Chedeau
0d38136115
Put parenthesis after return when jsx is prettier-ignored ( #2665 )
2017-08-24 19:29:05 -07:00
Christopher Chedeau
0ee74a8d25
Do not swallow prettier-ignore comments ( #2664 )
2017-08-24 18:57:01 -07:00
Christopher Chedeau
f7bd74ed98
Fix fatal with empty jsx ( #2663 )
2017-08-24 18:02:44 -07:00
Christopher Chedeau
ab91f6f8be
Fix interleaved comments in class decorators ( #2661 )
...
I wrote this fix a while ago but it conflicted with the class heuristic, now that #2660 fixes it, we can ship this one as well!
Fixes #1460
Fixes #2507
2017-08-24 16:04:02 -07:00
Christopher Chedeau
05b4422e4f
Better fix for class comments ( #2660 )
...
We used to be very naive and just push all the comments at the top of the class, but it's very brute force (and breaks some flow annotations inside of fb) so we can do better :)
2017-08-24 15:45:28 -07:00
Simon Lydell
e5f84467b7
Normalize numbers in CSS like JS
...
Unlike JS, `1.0` is also normalized to `1`.
2017-08-22 18:50:10 +02:00
Simon Lydell
5f95e68913
Quote unquoted CSS attribute values in selectors ( #2644 )
2017-08-22 09:45:15 -07:00
Simon Lydell
876dfe6398
Work around issue #2584 ( #2652 )
...
parser-postcss parses `@import` at-rules specially, and unfortunately
buggily. This monkey-patches parser-postcss to parse all at-rules the
same way.
Fixes #2584 .
postcss-less bug: https://github.com/shellscape/postcss-less/issues/88
2017-08-22 09:44:25 -07:00
Simon Lydell
3e924474cd
Print sub-nodes of `@import` in Less ( #2646 )
...
Fixes part of #2584 .
2017-08-21 12:28:22 -07:00
James Henry
23e0e90779
Update tsep and account for AST differences ( #2647 )
2017-08-21 12:27:35 -07:00
jackyho112
b77b1c82a7
Strip away unnecessary quotes in keys in type objects and interfaces ( #2643 )
...
* Use printPropertyKey function to print keys in object type property in TS and Flow
* Remove flow test modification
* Add tests for new object key cases
* Add new test file
* Fix some styles
2017-08-21 20:08:38 +10:00
James Henry
5c539b06a4
Update: tsep version upgrade and changes to TS enum structure ( #2641 )
2017-08-19 11:10:38 -07:00
Simon Lydell
9e16dbbde7
Adjust some more quotes in CSS
2017-08-17 08:59:56 +02:00
Simon Lydell
c198c33700
Merge pull request #2624 from lydell/css-strings
...
Normalize quotes in CSS like in JS
2017-08-15 16:07:06 +02:00
Simon Lydell
b286ed171e
Fix AST_COMPARE for CSS strings
2017-08-15 07:58:19 +02:00
Simon Lydell
4979f58c15
Normalize quotes in CSS like in JS
2017-08-14 09:14:57 +02:00
Lucas Azzola
0b9fbf940f
Support styled.div.attr({})`...` ( #2619 )
2017-08-13 13:52:24 +10:00
Lucas Azzola
ec85cf0f0a
Do not accept declare on previous line ( #2618 )
2017-08-13 13:47:48 +10:00
Dmitry Korlas
f738a214d3
fix cut off line-break in scss between comment and followed @else ( #2600 )
...
* fix cut off line-break in scss between comment and followed @else
* fix cut off line-break in scss between comment and followed @else (CR fixes)
2017-08-08 12:07:47 +10:00
Lucas Azzola
e378f5e9ba
Implement proposal-optional-chaining ( #2572 )
...
* Implement proposal-optional-chaining
Closes #2568
* Refactor optional token printing
2017-08-03 17:38:02 +10:00
Brian Ng
1701f4a0d5
Print declare for TSInterfaceDeclaration ( #2574 )
2017-08-02 00:00:01 +10:00
Brian Ng
4c335cae0a
Add support for printing optional catch binding ( #2570 )
2017-07-31 14:40:14 -06:00
Lucas Azzola
58edd0d3f3
Keep parens around FunctionTypeAnnotation inside ArrayTypeAnnotation ( #2561 )
...
Without this, this:
const actionArray: (() => void)[] = [];
is formatted as:
const actionArray: () => void[] = [];
Fixes #2559
2017-07-30 00:50:38 +10:00
Lucas Azzola
af6b020f7e
Support styled-components with existing component ( #2552 )
...
Supports the syntax:
```js
styled(ExistingComponent)`
css: property;
`;
```
Fixes #2545
2017-07-28 19:04:17 +10:00
Lucas Azzola
3eed1933e1
Don't pass config path through to cosmiconfig ( #2547 )
2017-07-27 21:59:57 +10:00
Brian Ng
24e1aec306
Add support for flow opaque types ( #2543 )
2017-07-25 19:47:54 -07:00
Brian Ng
60f5836b37
Add support for flow export type star ( #2542 )
2017-07-26 09:00:20 +10:00
Yang Su
26842e4d69
Handle closure compiler type cast syntax correctly ( #2484 )
...
* Handle closure compiler type cast syntax correctly
Fixes https://github.com/prettier/prettier/issues/1445
* Move closure type cast detection to needParens in fast-path.js
* every => some and added additional check for leading comment
2017-07-25 11:21:25 +10:00
Lucas Azzola
a666a29aa3
Print semi after DeclareFunction, fixes #2534 ( #2536 )
2017-07-24 21:55:16 +10:00
Joseph Frazier
a78d1389f6
Use babylon.parseExpression for JSON ( #2476 )
...
* Add comments showing parser arguments
Since this is how they are invoked, the comments make it easier to maintain.
* Use babylon.parseExpression for JSON
See https://github.com/prettier/prettier/issues/2378#issuecomment-314600778
Note that this doesn't yet print comments:
echo '{/*comment*/"K":"V"}' | ./bin/prettier.js --parser json
* Remove parser-json.js
This reduces duplicate code in the built package.
See https://github.com/prettier/prettier/pull/2476#pullrequestreview-50181398
* Add test with block comment in JSON
* Fix test with block comment in JSON
* Add test with line comment in JSON
* Don't build now-redundant parser-json.js
2017-07-24 11:43:49 +10:00
Lucas Azzola
4a0e9475df
Print parens around type assertion as LHS in assignment, fixes #2521 ( #2525 )
2017-07-20 23:16:15 +10:00
James Henry
1c9962df67
Update tsep and account for TSTypeReference change ( #2520 )
...
* Update tsep and account for TSTypeReference change
* Check TSTypeReference in shouldHugType
2017-07-20 12:54:43 +02:00
Lucas Azzola
02639da9a9
Improve coverage and remove some dead code ( #2504 )
...
* Improve test coverage
* Clean up some un-used code
* Lower patch requirements on codecov
2017-07-17 23:31:42 +10:00
Lucas Azzola
d62d1c5c56
Preserve parens with keyof, enforce parens with arrows with type params ( #2503 )
...
* Force parens around argument of simple arrow function if type annotation is present
* Preserve parens inside keyof operator
2017-07-17 13:32:33 +02:00
Lucas Azzola
71b2004391
Cleanup unused nodes, and turn on importMeta babylon plugin ( #2498 )
...
* Cleanup unused AST nodes
* Add tests for JSXNamespacedName
* Turn on importMeta babylon plugin
* Add tests for DeclareTypeAlias
* Add back TS*Keyword nodes, fix TS optional destructuring
2017-07-16 23:59:49 +10:00
Lucas Azzola
b7fa01af17
Enable code coverage in CI ( #2497 )
...
* Enable code coverage in CI
* Disable codecov comment
* Ignore some statements from coverage reports
2017-07-16 21:49:37 +10:00
Lucas Azzola
188c466cd5
Don't call shouldHugType for function arguments, fixes #2458 ( #2496 )
2017-07-16 11:53:01 +02:00
Lucas Azzola
028d9e0ea7
Improve bind expression formatting ( #2493 )
...
* Improve bind expression formatting, fixes #1400
* Fix parenthesis with bind expressions, fixes #1446
2017-07-16 11:47:06 +02:00
Lucas Azzola
00d9aa208e
Trim trailing whitespace from comments, closes #2422 ( #2494 )
2017-07-16 17:45:27 +10:00
Lucas Azzola
123d350524
Don't mask TypeScript errors without position information, #2361 ( #2495 )
2017-07-16 16:38:13 +10:00
Lucas Azzola
bac9658687
Flatten x & y & z, and x ^ y ^ z, fixes #2445 ( #2490 )
2017-07-15 12:54:33 +02:00
Lucas Azzola
b9b3da6ee9
Implement prettier-ignore inside JSX ( #2487 )
...
* Implement prettier-ignore inside JSX, closes #2467
* Re-enable babylon and typescript verification
2017-07-15 20:21:43 +10:00
Stephen Scott
3ed2bae1b4
Improve JSX ternary formatting
...
* 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.
2017-07-13 10:21:58 -06:00
Stephen Scott
757037948a
Improve JSX Formatting
...
* 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
2017-07-13 10:20:42 -06:00
John Backus
1691b85322
Fix <this.Component /> ( #2472 )
...
This is a workaround while waiting on
https://github.com/eslint/typescript-eslint-parser/issues/337 .
Fixes #2471
2017-07-13 17:21:46 +10:00
Alex Rattray
ef91e28434
Merge pull request #2442 from karl/jsx-inline-single-expression
...
Allow single expressions in JSX to be inline
2017-07-12 21:32:48 -07:00
Lucas Azzola
34b0709bf0
Add documentation for configuration ( #2452 )
...
* Add documentation for configuration files
* Add CLI docs for configuration
* Support --no-config
2017-07-11 14:21:29 +02:00
Lucas Azzola
3136907a15
Expose clearCache function ( #2451 )
2017-07-11 20:40:51 +10:00
Karl O'Keeffe
5e76ea7bdd
Allow single expressions in JSX to be inline
2017-07-10 20:02:30 +01:00