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
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
dcccfed366
Implement cosmiconfig for workspace configuration ( #2434 )
...
* Implement cosmiconfig
* Add resolveOptions API and extname support
* Add --resolve-config and --config, rename resolveOptions to resolveConfig
* Move color to top-level CLI options
* Fix unknown param warning
* Change from {} to null when no config is found
* Change override API to emulate eslint
* Add test for eslint-style overrides
* Delete overrides from resolveConfig
2017-07-10 22:26:36 +10:00
Simen Bekkhus
1b4846b67d
Format prettier with newer prettier ( #2431 )
2017-07-08 14:07:39 +02: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
Joseph Frazier
9290dd8803
Add some standardjs-esque eslint rules ( #2401 )
...
I experimented with simplifying the eslint config to just use eslint-config-standard and eslint-config-prettier. There were too many errors to make it a quick change, but I did find a few useful rules we could adopt instead.
---
* lint: Remove useless return statements
http://eslint.org/docs/rules/no-useless-return
* lint: Split declarations into multiple statements
http://eslint.org/docs/rules/one-var
* lint: Remove unneeded ternary operators
http://eslint.org/docs/rules/no-unneeded-ternary
* lint: Require symbol descriptions
http://eslint.org/docs/rules/symbol-description
* lint: Disallow declarations in nested blocks
http://eslint.org/docs/rules/no-inner-declarations
* lint: Disallow yoda conditions
http://eslint.org/docs/rules/yoda
* Revert "lint: Disallow yoda conditions"
See discussion at https://github.com/prettier/prettier/pull/2401#discussion_r125750068
This reverts commit f3b568d5bd48a742460cb0f805d1be38d8f61a40.
2017-07-05 16:54:46 -04:00
Kevin Gibbons
f490dba609
switch a use of .map to .each ( #2395 )
2017-07-05 02:03:18 +02: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
6f32a40edd
Fix multiparser in website, fixes #2328 ( #2374 )
2017-07-01 18:14:21 +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
Ryan Delaney
3319db6d51
Add `.gql` file extension to be parsed as GraphQL ( #2357 )
2017-06-29 13:50:54 -07:00
Simon Lydell
7b176b5d73
Merge pull request #2341 from lydell/shelljs
...
Convert build.sh into build.js using shelljs
2017-06-29 18:26:27 +02: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
Simon Lydell
ba51d2dfa8
Enable linting of build scripts
2017-06-28 21:37:33 +02: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
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