Christopher Chedeau
850d51a033
Tweak name
2017-06-27 17:30:13 -07:00
Joseph Frazier
b47c0b4e04
Allow formatting ranges of JSON ( #2298 )
...
* Add test for https://github.com/prettier/prettier/issues/2297
* Add JSON types to isSourceElement()
See https://github.com/prettier/prettier/issues/2297
* Avoid expanding format range when possible
This fixes https://github.com/prettier/prettier/issues/2297
* Move JSON range test into tests/range_json
This is so that the AST_COMPARE=1 tests don't try to parse JSON with Flow.
* Check parser in isSourceElement()
Otherwise JSON formatting would format weird things inside of JS.
See https://github.com/prettier/prettier/pull/2298#discussion_r124407056
* Use arrow functions instead of .bind()
See https://github.com/prettier/prettier/pull/2298#discussion_r124409783
* Add test of range-formatting JSON identifier
See https://github.com/prettier/prettier/pull/2298/files#r124410750
* Allow range-formatting JSON identifier
See https://github.com/prettier/prettier/pull/2298/files#r124410750
* Fix lint
2017-06-27 16:04:42 -07:00
Joseph Frazier
5f063ab168
Fix locEnd() for postcss parser ( #2295 )
...
* Fix locEnd() for postcss parser
`node.source` doesn't have an `end`, but `node.nodes[-1].source` does.
Fixes https://github.com/prettier/prettier/issues/2267
* Add regression test for https://github.com/prettier/prettier/issues/2267
See https://github.com/prettier/prettier/pull/2295#issuecomment-311484343
* Make locEnd() postcss fix more focused
This passes the tests again.
* Use getLast() instead of .slice()
See https://github.com/prettier/prettier/pull/2295#discussion_r124398553
* Move CSS range test into tests/range_css
This is so that the AST_COMPARE=1 tests don't try to parse CSS with Flow.
2017-06-27 15:12:22 -07:00
Christopher Chedeau
adc71ef6ae
1.5.1
2017-06-27 13:42:31 -07:00
Christopher Chedeau
6f4eade422
Go back to babylon beta 13 ( #2289 )
...
Fixes #2286
2017-06-27 11:51:23 -07:00
Christopher Chedeau
073a2071a8
Inline import('x') to avoid having trailing , ( #2288 )
...
Fixes #2287
2017-06-27 11:40:20 -07:00
Lucas Azzola
5e51caca1b
Add GraphQL to README ( #2265 )
...
* Add GraphQL to README
* Add JSON to main list of languages
2017-06-27 10:18:22 -07:00
Christopher Chedeau
500cf98c06
1.5.0
2017-06-27 10:09:59 -07:00
Christopher Chedeau
b257c68772
Use perl instead of sed for replacing eval
2017-06-27 10:02:31 -07:00
Christopher Chedeau
803b7ff6b9
Add \n at the end of .graphql files ( #2285 )
...
We need to use the same hack as CSS unfortunately.
Fixes #2275
2017-06-27 09:49:15 -07:00
Christopher Chedeau
1e48f34ac8
Copy README.md to the dist/ folder ( #2284 )
...
Fixes #2275
2017-06-27 09:48:06 -07:00
Christopher Chedeau
e707bdd52f
Print comments attached to {' '} ( #2283 )
...
We had two occurrences on fb codebase where people attached comments on `{' '}` which would be swallowed. Instead of dropping the comments, let's make the algorithm a bit less naive.
2017-06-27 09:35:03 -07:00
Christopher Chedeau
6017ac13c7
Create CNAME
2017-06-27 07:43:54 -07:00
Karl O'Keeffe
be600337eb
Improve JSX output when there is a single expression ( #2274 )
2017-06-26 19:05:34 -07:00
Karl O'Keeffe
95a5f11be9
Tweak to support FB translation pipeline ( #2272 )
...
This also improves formatting when there are consecutive tag/expression elements with no white space between them.
2017-06-26 09:30:52 -07:00
Simon Lydell
174bbda7ef
Minor readme cleanups
2017-06-26 17:42:28 +02:00
Karl O'Keeffe
fe7fb260a4
Fix a case where significant whitespace was dropped ( #2270 )
2017-06-26 03:03:13 -07:00
Cyril Junod
400f34624f
Add module, class and typed nodes to sourceElements ( #2266 )
...
babylon flow typescript parsers
+ tests to cover module and class
2017-06-25 09:07:52 -07:00
Lucas Azzola
b8af5e5241
Update URL in atom.md
2017-06-25 14:24:05 +10:00
Lucas Azzola
caa77fbfe8
Join range start and range end documentation
2017-06-25 12:44:18 +10:00
Christopher Chedeau
9a55f5b2d6
Fix unstable arrow comments ( #2262 )
...
It outputted which is completely wrong
```js
<FlatList
renderItem={info => <span>{info.item.widget.missingProp // $FlowExpectedError - bad widgetCount type 6, should be Object
}</span>}
/>;
```
2017-06-25 12:30:09 +10:00
Lucas Azzola
438f5887e2
Add links to prettier's parsers
...
Since the parser API exposes the AST, it makes sense to point people towards the parsers we use so they can hack on them.
2017-06-25 12:27:49 +10:00
Christopher Chedeau
f71fcd0b65
Fix variance location ( #2261 )
...
Turns out when we refactored for TS, we moved it before "static" and it no longer parses. Oops.
2017-06-25 11:46:29 +10:00
Christopher Chedeau
38d4661ba9
Forward originalText in multiparser ( #2260 )
...
If we don't, all the places where we read from the original text (mostly comments) are reading into random places.
Fixes #2258
2017-06-24 17:54:09 -07:00
Christopher Chedeau
8def8e13b0
Add caching for printing ( #2259 )
...
* Add caching for printing
For printing the last argument expansion, we need to print the same node a bit differently with a flag. It's not easy to re-print just the node that is different so we end up printing all the sub-tree twice. Since it is often nested, it means that we run into an exponential complexity.
I finally found a simple solution: we can use a Map to store the nodes and their printed values. It is really cheap to do so (I can't notice a time difference with or without on normal code) and allows us to stop going through the two sub-trees in the bad case.
Fixes #1250
* Update printer.js
2017-06-24 14:01:02 -07:00
Christopher Chedeau
6663bab8a3
Support trailing commas for function calls ( #2257 )
2017-06-24 12:23:34 -07:00
Christopher Chedeau
cc85769231
Add support for --trailing-comma for GraphQL ( #2254 )
...
Fixes #2251
2017-06-24 11:20:45 -07:00
Christopher Chedeau
b464189fb4
Add .graphql detection ( #2256 )
...
Test Plan:
create a `test.graphql` file that has some graphql content
```js
fragment Visit on HighlightedVisit
@argumentDefinitions(
count: {type: "Int", defaultValue: 20}
) {
name
}
```
```
./bin/prettier.js test.graphql
```
make sure it doesn't syntax error because it's parsing it as js.
2017-06-24 11:14:36 -07:00
Christopher Chedeau
59b3a9bc56
Add support for --no-bracket-spacing for GraphQL ( #2255 )
...
Fixes #2252
2017-06-24 11:06:56 -07:00
Christopher Chedeau
2f96357884
Attach comments in multiparser ( #2253 )
...
Otherwise it doesn't print comments :(
2017-06-24 11:06:50 -07:00
Joseph Frazier
4b955a14c4
Return original input when specified range is unformattable ( #2250 )
...
* Add failing test for range-formatting whitespace
See https://github.com/prettier/prettier/issues/2247#issue-238322065
* Return original input when specified range is unformattable
Fixes https://github.com/prettier/prettier/issues/2247
2017-06-24 09:41:10 -07:00
Cyril Junod
b0413fc1fe
Range Formatter: Remove Program/File from valid Ancestor ( #2248 )
...
* Remove Program/File from valid Ancestor
Fix edge range formatting entire file.
* Fix lint with `yarn lint -- --fix`
See https://travis-ci.org/prettier/prettier/jobs/246569943#L242-L260
2017-06-24 12:30:27 -04:00
Christopher Chedeau
811885d635
Delete webpack.config.js
2017-06-24 08:32:54 -07:00
Lucas Azzola
b93191d4de
Explode the options table ( #2244 )
...
* Explode the options table
The options table in README was getting a bit unwieldy. This commit moves the options to a top-level section, and makes each setting hyperlink-able.
The `cursorOffset` setting has been moved from the list to the documentation for `formatWithCursor`.
* Fix typos/punctuation
* Fix --trailing-comma formatting
2017-06-24 07:52:34 -07:00
Lucas Azzola
d8be8be57a
Clean up API documentation
2017-06-24 18:13:02 +10:00
Lucas Azzola
3474056b36
fix(typescript): handle ObjectPattern instead of ObjectExpression inside BinaryExpression, fixes #2237 ( #2238 )
2017-06-23 07:53:42 -07:00
Lucas Azzola
b2d5366897
Remove apostrophe from JetBrains
2017-06-23 23:01:12 +10:00
Chaim Lando
f519c5f030
Add table of contents ( #2230 )
...
* add toc
* Wrap table of contents in <details> tag
2017-06-23 20:52:46 +10:00
Karl O'Keeffe
0cc0ebc3bc
Allow JSX lines to be recombined ( #1831 )
...
* Allow JSX lines to be recombined
* Add test case for `<br />` breaking expression
* Fix issue where JSX whitespace could be dropped
* Newlines were incorrectly being preserved when JSX contained text
2017-06-22 09:19:44 -07:00
Christopher Chedeau
39954f7951
Handle conditions inside of a ternary ( #2228 )
...
Fixes #2122
2017-06-21 18:17:30 -07:00
Christopher Chedeau
ec1b672bbf
Don't indent + in object value ( #2227 )
...
This is a "regression" from when we started using the same heuristic for `=` and `:`
Fixes #2129
2017-06-21 15:58:12 -07:00
Christopher Chedeau
c36dd48339
First try scss when there's an @import with comma ( #2225 )
...
It's annoying that the less parser is so lenient that it drops things instead of throwing :(
Fixes #2125
2017-06-21 15:45:55 -07:00
Christopher Chedeau
aac0d1dda0
Support inline template for new calls ( #2222 )
...
I merged the implementation of new and call expressions in this PR.
Fixes #2215
2017-06-21 15:45:44 -07:00
Joseph Frazier
63c47c85e0
JSON: Print trailing newline ( #2226 )
...
* JSON: Append trailing newline
This partially addresses https://github.com/prettier/prettier/issues/2223
* Dedupe printing of JSON trailiing newline
* JSON: Add tests for newlines after boolean/null/number/string
* JSON: Fix tests for newlines after boolean/null/number/string, simplify code
This fixes https://github.com/prettier/prettier/issues/2223
2017-06-21 15:40:19 -07:00
Christopher Chedeau
08060e7c94
Use fill for CSS values ( #2224 )
...
This looks less weird to have them flow as they fit than breaking on every single line.
Fixes #2213
2017-06-21 15:13:51 -07:00
Karl O'Keeffe
04c41f6758
Fix up empty JSX element detection ( #2220 )
2017-06-21 13:48:02 -07:00
Lucas Azzola
e78e07e2ad
refactor(multiparser): move css expression doc printing to transformCssDoc ( #2214 )
2017-06-21 13:41:24 -07:00
Christopher Chedeau
767138ce6c
Remove node 6 from the test matrix
...
It has never caught any issue in practice and is making the whole test suite consume 1/3 more cpu as a result.
2017-06-21 13:39:45 -07:00
Joe Critchley
5c61036fab
Added definition of 'style' to README ( #2221 )
2017-06-21 13:34:34 -07:00
Christopher Chedeau
313519d8ae
Allow long media rules to break ( #2219 )
...
Fixes #2198
2017-06-21 13:02:16 -07:00