Lucas Azzola
ec7d99439d
fix(typescript): print arrow function type params on same line as params, fixes #2099 ( #2101 )
2017-06-11 07:30:51 -07:00
Lucas Azzola
4395e09b78
fix(import): allow break with both default named import, fixes #2050 ( #2096 )
2017-06-10 21:55:21 -07:00
Lucas Azzola
a79a444bac
fix(variable-declarator): indent first variable in one-var scenario, fixes #2072 ( #2095 )
2017-06-10 21:19:50 -07:00
Lucas Azzola
fdb7467de7
feat(html): add support for HTML fragments ( #2093 )
2017-06-10 20:10:34 -07:00
Lucas Azzola
b4f0ff346e
feat(mutliparser): add react-relay and graphql-tag parsing ( #2092 )
2017-06-10 08:59:27 -07:00
Lucas Azzola
d1b94c540c
Implement parser switching (HTML, Vue, styled-components) ( #2086 )
...
* feat(multiparser): implement switching from html -> css,js,ts
* feat(multiparser): use quasi value instead of originalText
2017-06-10 08:03:39 -07:00
Lucas Azzola
77f0c05d2a
fix(method-chain): break on non-literal computed member expression, fixes #2075 ( #2087 )
2017-06-10 07:47:22 -07:00
Lucas Azzola
1e08f03554
fix(typescript): break on multiple interface extends, fixes #2043 ( #2085 )
2017-06-10 07:46:59 -07:00
Lucas Azzola
f7819d5695
CSS: implement prettier-ignore ( #2089 )
...
* fix(css): implement prettier-ignore, fixes #2007
* refactor(css): move prettier-ignore to printNodeSequence
2017-06-10 07:45:59 -07:00
Lucas Azzola
a9409f11e7
fix(css): print @else on same line as }, fixes #2053 ( #2088 )
2017-06-10 07:40:05 -07:00
Lucas Azzola
d00956d51d
feat(html): add parse5/htmlparser2 printer ( #2083 )
2017-06-09 19:22:59 -07:00
Christopher Chedeau
f399e90bc2
Preserve lines after directives ( #2070 )
...
Looks like we were only doing it at the top level, we should do it everywhere.
Fixes #2067
2017-06-08 17:10:01 -07:00
Christopher Chedeau
939734b75e
Use ifBreak instead of shouldBreak ( #2063 )
...
shouldBreak is only a heuristic to enforce a break, if it breaks "naturally", then it won't be applied.
Fixes #2055
2017-06-08 11:47:49 -07:00
Tim Griesser
df26cc05cc
Support graphql ListType ( #2061 )
2017-06-08 09:34:35 -07:00
Christopher Chedeau
883e637fa9
Support the Keyword type ( #2056 )
...
This is an issue in https://github.com/eslint/typescript-eslint-parser/issues/315
Fixes #2049
2017-06-08 09:25:28 -07:00
Tim Griesser
e9045e4bcf
Support graphql NonNullType ( #2060 )
2017-06-08 09:20:41 -07:00
Pier Paolo Ramon
126727380d
CSS: Every selector is now printed in its own line ( #2047 )
...
Changes the behaviour for line breaking inside selector lists (those
separated by ',') so that every selector is in its own line.
Fixes #1962
2017-06-08 07:46:24 -07:00
Christopher Chedeau
924363193b
Check if the next group has comments ( #2040 )
...
Fixes #1958
Fixes #1959
2017-06-07 15:20:11 -07:00
Christopher Chedeau
1edb1f261b
Include typeAnnotation inside of node location ( #2039 )
...
We should remove this hack once https://github.com/eslint/typescript-eslint-parser/issues/314 lands
Fixes #1946
2017-06-07 15:05:46 -07:00
Christopher Chedeau
42b0368e3d
Fix decorator comments for export class ( #2038 )
...
We need to do the same location trick for export class unfortunately.
Fixes #1956
2017-06-07 14:55:55 -07:00
Christopher Chedeau
b730f4eccf
Add group around TSMethodSignature ( #2037 )
...
This ensures that the comment size is not taken into account during measurement
Fixes #1976
2017-06-07 14:20:55 -07:00
Christopher Chedeau
09f147decd
Do not throw for unprinted comments inside of JSX ( #2036 )
...
Fixes #1990
2017-06-07 12:57:03 -07:00
Christopher Chedeau
ccda4c7115
Break decorator before content ( #2032 )
...
Fixes #1996
2017-06-07 12:40:47 -07:00
Christopher Chedeau
e16478ef80
Fix less &:extends when parsed with scss ( #2034 )
...
This is the only breakage that people ever reported with CSS so I'm happy adding one edge case like this.
Fixes #1967
2017-06-07 12:40:36 -07:00
Christopher Chedeau
cabae6d877
Fix parenthesis for call expression inside of member expression inside of new ( #2035 )
...
Fixes #2033
2017-06-07 12:40:27 -07:00
Christopher Chedeau
c7cacf0529
Break if string | null ( #2028 )
...
We were a bit too aggressive around the `| null` heuristic.
Fixes #2002
2017-06-07 11:51:32 -07:00
Christopher Chedeau
c9c8512170
Only prevent lone `set` if there's no type annotations ( #2026 )
...
If there are, it's not ambiguous.
Fixes #2023
2017-06-07 11:51:25 -07:00
Christopher Chedeau
5ba0b0ec87
Add semi for functions without body ( #2025 )
...
We don't need to be overly restrictive and should add the semi if there's no body
Fixes #2003
2017-06-07 11:51:17 -07:00
Alexandre BODIN
8ec1b40961
GraphQL: Add support for union types ( #2014 )
2017-06-07 10:33:46 -07:00
Sashko Stubailo
0583fd4ce6
Add alias and null value ( #2017 )
...
Add kitchen sink test case
2017-06-06 18:06:15 -07:00
Sashko Stubailo
88f962beee
Add support for GraphQL directies ( #2015 )
2017-06-06 17:42:47 -07:00
Joseph Frazier
0cfd772fd2
Protect SwitchCase statements from ASI ( #2008 )
...
* Add no-semi test with SequenceExpression
Adapted from https://github.com/prettier/prettier/issues/2006
* Protect SequenceExpressions from ASI
Fixes https://github.com/prettier/prettier/issues/2006
* Add test for ASI protection of SequenceExpression outside SwitchCase
See https://github.com/prettier/prettier/pull/2008#issuecomment-306614217
* Revert "Protect SequenceExpressions from ASI"
This reverts commit ca644fad8072c90a977ad8a2f29674bc72f679e8.
* Protect SwitchCase statements from ASI
See https://github.com/prettier/prettier/pull/2008#issuecomment-306614217
Fixes https://github.com/prettier/prettier/issues/2006
2017-06-06 14:28:51 -07:00
Sashko Stubailo
7c051804a8
Add support for GraphQL object values ( #2010 )
2017-06-06 14:28:15 -07:00
Sashko Stubailo
c441f87fc0
Add GraphQL fragment support ( #2005 )
2017-06-06 12:35:40 -07:00
Rodrigo Pombo
d4774edd03
Parse CSS in template literals (styled-jsx) ( #1984 )
...
* Add basic styled-jsx parsing
* Use eval("require")
* Remove template literal raw and cooked values when it contains CSS
* Set postcss parser to options and group subtree parts
* Gracefully give up TemplateLiteral formatting when it fails
2017-06-06 08:28:13 -07:00
Sashko Stubailo
6d00644c78
Add GraphQL variable definition support ( #1995 )
2017-06-06 08:26:04 -07:00
Daniel Tschinder
df7311a7f3
Add parens around all string literals at top level ( #1999 )
2017-06-06 08:24:13 -07:00
Sashko Stubailo
c80e82c7d7
Add support for list values ( #1994 )
...
Run the linter
2017-06-05 23:45:15 -07:00
Christopher Chedeau
c46a20c8c1
re-run tests
2017-06-05 22:26:35 -07:00
Sashko Stubailo
df08dc4a56
Add support for arguments with soft line break ( #1993 )
2017-06-05 22:25:12 -07:00
Sashko Stubailo
8cb259eac7
GraphQL: Add support for printing operation names ( #1992 )
...
* Add support for printing GraphQL operation names
* Remove extra empty line at the end
2017-06-05 22:24:01 -07:00
Sashko Stubailo
76c5733b55
GraphQL: Add support for formatting fields in selection sets ( #1991 )
...
* GraphQL: Add support for formatting fields in selection sets
(Doesn't yet handle arguments or directives)
* Remove extra space
2017-06-05 22:23:03 -07:00
Joseph Frazier
c863cbeac8
Translate cursor relative to nearest node, not SourceElement ( #1989 )
...
* Add test demonstrating SourceElement-relative cursor translation
See https://github.com/prettier/prettier/issues/1981#issuecomment-306326739
* Translate cursor relative to nearest node, not SourceElement
This partially address https://github.com/prettier/prettier/issues/1981
See https://github.com/prettier/prettier/issues/1981#issuecomment-306326739
* Add test demonstrating incorrect cursor translation
Since the `cursorOffset` option (introduced in #1637 ) works by tracking
the cursor position relative to an AST node (rather than a CST token),
it can produce incorrect results.
See https://github.com/prettier/prettier/issues/1981
2017-06-05 18:51:53 -07:00
Karl O'Keeffe
73432c2ce7
Position JSX whitespace (`{" "}`) at the end of lines ( #1964 )
...
* Position JSX whitespace at the end of lines
Currently we place JSX whitespace at the beginning of lines.
* Use `isLiteral` when determining JSX whitespace
2017-06-05 21:52:54 +01:00
Jon Wong
e33d6773d6
Adding support for `graphql` ( #1982 )
...
* Initial GraphQL implementation
This is the bare minimum amount of code to make graphql work. Turns out it's pretty easy to add support for other languages :)
* Fixing support for `graphql` parsing
There was a few structural changes with the addition of CSS and Typescript that we had to take into account.
* Fixing file glob, adding `graphql` to yarn.lock
* Removing extraneous file
* Adding `graphql` parser, style changes
* Splitting out graphql printer
* Removing merge conflict
* Fixing yarn.lock
* Addressing code review, using `createError`
* Adding release config
* Using exact version
* Removing destructuring
2017-06-05 12:34:08 -07:00
Lucas Azzola
642ac7e230
fix(typescript): print semi in class index signatures, fixes #1960 ( #1961 )
2017-06-04 07:21:33 -07:00
Lucas Azzola
6697122e28
fix(decorators): do not inline methods with decorators with babylon, fixes #1933 ( #1934 )
2017-06-03 05:24:24 -07:00
Lucas Azzola
649cec7fdd
TypeScript: fix trailing comma in enum ( #1938 )
...
* fix(typescript): fix trailing comma in enum, fixes #1932
* fix(typescript): use --trailing-comma es5 for enums
2017-06-03 05:20:36 -07:00
Lucas Azzola
c57f2ab507
fix(typescript): no semi after export default abstract class, fixes #1926 ( #1937 )
2017-06-03 05:19:39 -07:00
Lucas Azzola
2ef169eb67
fix(typescript): print semi with inline interfaces/types, fixes #1930 ( #1936 )
2017-06-03 05:18:59 -07:00