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
Brian Ng
24e1aec306
Add support for flow opaque types ( #2543 )
2017-07-25 19:47:54 -07:00
Brian Ng
cf6258ab4f
Re-enable flow-jsx-func-attr test ( #2541 )
2017-07-26 09:07:37 +10: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
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
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
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
James Henry
ee822f99b9
Update tsep and add test for destructuring assignment ( #2443 )
...
Fixes #2229
2017-07-11 09:11:18 +10:00
Karl O'Keeffe
5e76ea7bdd
Allow single expressions in JSX to be inline
2017-07-10 20:02:30 +01:00
Lucas Azzola
b25935d7a3
TypeScript: allow type assertions to hug ( #2439 )
...
* TypeScript: allow type assertions to hug, fixes #2437
* Update snapshots
2017-07-10 22:37:43 +10:00
Lucas Azzola
4a320a9332
Add supervisory parens for bitwise operations ( #2429 )
...
* Add supervisory parens for bitwise operations, fixes #2424
* Flatten x | y | z
2017-07-08 17:31:28 +10:00
Lucas Azzola
7e96e01fba
Add more supervisory parens, closes #187 ( #2423 )
2017-07-07 15:57:17 +02:00
Lucas Azzola
8bbbc3a6f3
Remove parens for type assertions in binary expressions, fixes #2416 ( #2419 )
2017-07-07 13:02:43 +02:00
Lucas Azzola
82b80b3c79
Trim whitespace in descendant combinator, fixes #2410 ( #2411 )
...
* Trim whitespace in descendant combinator, fixes #2410
* Permit whitespace changes in clean-ast.js
2017-07-06 13:55:34 +02:00
Dan Wang
86c88ff278
Print TypeParameter even when unary function type ( #2406 )
2017-07-06 19:13:30 +10:00
Kevin Gibbons
28b3a4b925
Break sequence expressions ( #2388 )
...
* Add SequenceExpression tests
* Clean up printing of SequenceExpressions
* Remove test and lint
2017-07-04 22:50:57 +02:00
Karl O'Keeffe
06ae32ddce
Ensure there is a line break after leading JSX white space ( #2348 )
2017-07-03 12:43:10 +02:00
Lucas Azzola
6f9824778d
Strip BOM before parsing, fixes #2362 ( #2373 )
2017-07-01 18:11:13 +02:00
Jarda Snajdr
3f6a232cea
Fix indentation of a do-while condition ( #2359 )
...
Fixes #2353 . Use the same printing code for both `WhileStatement` and `DoWhileStatement`.
Fix calculation of `isInsideParenthesis` when printing a `LogicalExpression`. There is
no such thing as `DoStatement` -- it should be `DoWhileStatement`.
2017-06-29 15:46:25 -07:00
Simone Picciani
85e0bffa7d
Removed injectGlobal and keyframes ( #2342 )
2017-06-28 16:03:33 -07:00
Simone Picciani
067a0137bd
Add support for css, keyframes and injectGlobal keywords ( #2337 )
...
* styled components now support css keyword
* added support also for keyframes
* added comment to reflect the new keywords
* modified comment
* ignore css and keyframes when testing ast manipulations
* added also injectGlobal
2017-06-28 14:31:27 -07:00
Joseph Frazier
175cde1dc5
Force trailingComma option to "none" when parser is JSON ( #2335 )
...
* Run JSON tests with `trailingComma: "all"`
* Add test of `parser: 'json', trailingComma: 'all'` with non-.json extension
See https://github.com/prettier/prettier/issues/2308#issuecomment-311707801
* Force trailingComma option to "none" when parser is JSON
This fixes https://github.com/prettier/prettier/issues/2308
2017-06-28 09:29:47 -07:00
Joseph Frazier
8e37fd76e9
Add support for range-formatting GraphQL ( #2319 )
...
* Add test for range-formatting GraphQL
See https://github.com/prettier/prettier/issues/2296#issue-238985580
* Pass test for range-formatting GraphQL
See https://facebook.github.io/graphql/#sec-Appendix-Grammar-Summary.Query-Document
This fixes https://github.com/prettier/prettier/issues/2296
* Consider *Definition GraphQL nodes to be formattable
See https://github.com/prettier/prettier/pull/2319#discussion_r124569400
2017-06-28 09:21:11 -07:00
Lucas Azzola
678964b8de
fix(typescript): don't add namespace keyword to global declaration, fixes #2327 ( #2329 )
2017-06-28 07:53:10 -07:00
Christopher Chedeau
b231948a36
GraphQL: Print directives for field declarations ( #2317 )
2017-06-27 20:22:03 -07:00
Christopher Chedeau
45c8e40d8a
GraphQL: Implement schema ( #2316 )
2017-06-27 20:15:55 -07:00
Christopher Chedeau
019beb54e5
GraphQL: Fix directives separator ( #2315 )
...
I couldn't figure out what the separator was, I tried `,`, `on` but none of them worked. Turns out it is `|`!
2017-06-27 19:58:38 -07:00
Christopher Chedeau
14caabd635
GraphQL: Print arguments for FieldDefinition ( #2314 )
2017-06-27 19:49:59 -07:00
Christopher Chedeau
bbf8f76823
GraphQL: Implement scalar ( #2313 )
2017-06-27 19:34:25 -07:00
Christopher Chedeau
0a2a099efe
GraphQL: Implement interface ( #2312 )
2017-06-27 19:30:58 -07:00
Christopher Chedeau
8e31088761
GraphQL: Implement input ( #2311 )
2017-06-27 19:27:02 -07:00