Commit Graph

1131 Commits (a398ec31b893afd3c1261e70c72f6590cd03f938)

Author SHA1 Message Date
Evilebot Tnawi 7b457fd3b8
refactor: at rules parse (#4023) 2018-02-22 12:49:03 +03:00
Lucas Azzola b7f0794ad5
Handle definite variable declarations (#4025)
* Handle definite variable declarations

* printDefinite -> isDefinite
2018-02-22 13:03:35 +11:00
Evilebot Tnawi e1491d0f95
fix(css): comments in at rules (#3920) 2018-02-21 21:36:09 +03:00
Ika 8f6a32853c
feat(typescript): support definite assignment (`!:`) (#4020) 2018-02-22 01:40:57 +08:00
Lucas Duailibe 974b27dac2
Break JSX element if a string literal prop has a newline (#4011) 2018-02-21 10:52:30 -03:00
Eric Anderson 051a488bbd fix(typescript): properly chain when there is a TSNonNullExpression (#4005)
* fix(typescript): properly chain when there is a TSNonNullExpression

* No need to pass args

* PR feedback

* Fix lint
2018-02-20 12:37:11 -03:00
Lucas Azzola 417c50aa84
Keep parens around Unary and Update Expressions (#3989) 2018-02-18 00:22:35 +11:00
Brian Ng a8fe401b26 Fix cases with missing semi when printing DeclareExportDeclaration (#3979) 2018-02-17 17:40:43 +11:00
Evilebot Tnawi 86f0b93e29
feat(css): improve math output (#3984) 2018-02-16 21:58:21 +03:00
Evilebot Tnawi 0ee9959bd6
tests(css): trailing comma (#3843) 2018-02-16 17:56:11 +03:00
Evilebot Tnawi 0f067d3832
feat(css): improve `@nest` at rule output (#3976) 2018-02-15 20:45:33 +03:00
Evilebot Tnawi cce8924ef3
fix(css): `@nest` at rule (#3975) 2018-02-15 15:19:28 +03:00
Jed Fox 78a4f51662
Wrap ternaries in Flow typecasts in parens (#3940)
* Wrap TypeCastExpression in parens

* Tests
2018-02-14 11:19:39 +00:00
Ika 4a4bd2faed
fix(typescript): support `unique symbol` (#3967)
* test(typescript): add failing test

* chore(deps): update typescript-eslint-parser to v13.0.0

* fix(typescript): support `unique symbol`
2018-02-14 01:03:53 +08:00
Evilebot Tnawi 17c0f9bfe1
feat(css): lowercase html tags (#3954) 2018-02-13 18:41:55 +03:00
Evilebot Tnawi 11a8d586b8
tests(css): source map comment (#3962) 2018-02-12 21:42:01 +03:00
Evilebot Tnawi c30d28003b
chore(css): update `postcss-values-parser` to latest version (#3960) 2018-02-12 20:46:54 +03:00
Evilebot Tnawi c36cb7670a
tests(css): postcss popular plugins (#3959) 2018-02-12 20:12:09 +03:00
Evilebot Tnawi bff7de3ea2
tests(css): more tests around pseudo-classes and pseudo-elements (#3957) 2018-02-12 20:11:55 +03:00
Evilebot Tnawi f5cfa96878
tests(css): colors (#3958) 2018-02-12 18:56:25 +03:00
Evilebot Tnawi ec4f4eb6d3
fix(css): don't eat selector namespace (#3956) 2018-02-12 18:39:03 +03:00
Lucas Azzola 2313574fcc
Fix flow maybe object return type (#3948) 2018-02-11 17:46:00 +11:00
Lucas Azzola f87cbcf76e
Bump jest-docblock to 22.2.2 (#3947) 2018-02-11 17:42:08 +11:00
Evilebot Tnawi 1bb5cbaa4c
fix(css): space after math operations before parens (#3945) 2018-02-10 20:57:06 +03:00
Evilebot Tnawi 087b68d183
fix(css): scss interpolation (#3943) 2018-02-10 02:05:48 +03:00
Evilebot Tnawi d716c84156
fix(css): space and newlines before parenthesis (#3930) 2018-02-09 15:28:55 +03:00
Evilebot Tnawi 26ceb854c2
tests(css): more comments tests (#3922) 2018-02-07 21:31:00 +03:00
Evilebot Tnawi bc027bd661
fix(css): space after `if` in `else` at rule (#3921) 2018-02-07 19:53:28 +03:00
Evilebot Tnawi 517db8f5db
tests(css): comments in selectors (#3917) 2018-02-07 15:05:29 +03:00
Evilebot Tnawi 0e1358b5ca
Improve the printing of CSS at-rules (#3896)
fix(css): improve at rules print
2018-02-07 13:33:10 +03:00
Evilebot Tnawi 9e6bd15ade
fix(css): comments in selectors (#3909) 2018-02-07 13:20:13 +03:00
Christopher Chedeau 9ba0d69cb9
Upgrade flow to 0.64 (#3899)
* Upgrade flow to 0.64

This also enables spread operator on jsx on the flow parser:

```js
<div>{...list}</div>
```

I had no idea it was even a thing.

I had to comment out a flow test that no longer parses, but it's no longer in the flow repo and the comment said that it shouldn't be working anyway so I don't think it's going to be a problem.

* Fix build script
2018-02-06 09:01:58 -08:00
Evilebot Tnawi a6ab8a7e32
refactor(tests): restructure `at rules` tests (#3892) 2018-02-06 19:03:36 +03:00
Evilebot Tnawi 0bdceaa158
tests(css): declaration comments (#3906) 2018-02-06 18:48:24 +03:00
Evilebot Tnawi 1b13dc8974
fix(css): declaration comments (#3897) 2018-02-06 18:09:42 +03:00
Evilebot Tnawi 0e8f3acb59
tests(css): custom media (#3879) 2018-02-03 18:04:59 +03:00
Evilebot Tnawi ed2a9be58e
fix(css): stringify unquoted data urls (#3877) 2018-02-02 20:39:53 +03:00
Evilebot Tnawi f5e74cd70a
fix(css): at rules improve formatting and tests (#3828) 2018-02-02 18:06:47 +03:00
Lucas Duailibe aac38fca49 Force break if comment in return argument (#3665)
* Force break if comment in return argument

* add test case
2018-01-31 12:00:29 -05:00
Lipis 7a7eb17082
fix: Proper case for Prettier, JavaScript, TypeScript, GitHub, Less (#3848) 2018-01-31 11:56:05 +01:00
Evilebot Tnawi ed5f68844f
fix(css): scss `global` flag (#3844) 2018-01-30 17:53:37 +03:00
Evilebot Tnawi 22ba2bcb64
fix(css): don't remove semicolon in `less` ruleset declaration (#3841) 2018-01-30 14:16:07 +03:00
Evilebot Tnawi 386e2a9bd4
tests(css): attr function (#3825) 2018-01-30 14:06:52 +03:00
Salem 8c792121f2 Treat define calls like require (#3830)
* Treat define calls like require

See issue #3829. This commit keeps define calls as a unit when possible,
to prevent an extra indent in the body of an AMD-style define.

Rather than adding the "define" check in the same case as the existing
"require" check, I added a separate condition to explicitly call out the
fact that this checks for both AMD and CommonJS modules.

`yarn test -u` yields no changes, and `yarn lint` passes successfully.

* Added tests for define and require amd formatting

This tests the solution for issue #3829.

* Add babylon interpreter to require-amd test

* Merge require and define checks
2018-01-29 16:44:32 -05:00
Ika b529c634d1
fix(markdown): print multiline content correctly in footnoteDefinition (#3787)
* fix(markdown): print multiline content correctly in footnoteDefinition

* refactor: replace `ifBreak(line)` with `softline`

* refactor: fix linting
2018-01-27 00:48:47 +08:00
Evilebot Tnawi 640ffa949d
tests(css): `font-face` at rule (#3826) 2018-01-26 15:53:08 +03:00
Evilebot Tnawi e3369db2c1
fix(css): handle namespace in attribute selector (#3810) 2018-01-26 13:00:20 +03:00
Ika 03292a6488
fix(javascript): ternary with `--use-tabs` (#3745)
* test: add test cases

* test: add test cases

* fix(javascript): ternary with `--use-tabs`

* chore: add istanbul ignore comment

* fix: remove unnecessary condition

* docs(commands): update `align`

* fix: do not transform the middle part

* refactor: markAsRoot

* fix: print tabs in sub-ternaries

* docs(commands): update

* test: add a cool test case
2018-01-26 10:02:42 +08:00
Evilebot Tnawi acf5e66408
tests(css): prefixes property (#3822) 2018-01-25 15:56:28 +03:00
Evilebot Tnawi e90f766459
tests(css): `viewport` at rule (#3817) 2018-01-25 14:59:38 +03:00
Evilebot Tnawi ca949a46d2
tests(css): `supports` at rule (#3816) 2018-01-25 12:53:34 +03:00
Evilebot Tnawi a3bf378259
fix: handle YAML front matter block (#3802) 2018-01-24 19:44:09 +03:00
Evilebot Tnawi 5008836dc2
fix(css): remove whitespaces before ":" in scss maps (#3814) 2018-01-24 18:48:54 +03:00
Evilebot Tnawi b48fb2015a
tests(css): variables (#3813) 2018-01-24 17:00:02 +03:00
Evilebot Tnawi 2b300a0f40
tests(css): namespace at rule (#3811) 2018-01-24 16:27:02 +03:00
Evilebot Tnawi 4bffe76a42
tests(css): function parens (#3809) 2018-01-24 16:06:05 +03:00
Evilebot Tnawi 4c90608d11
fix: keep space between deep selector `>>>` (#3792) 2018-01-24 14:53:22 +03:00
Evilebot Tnawi 7797c93489
fix(css): ignore `media` params with scss interpolation (#3801) 2018-01-24 12:31:30 +03:00
Evilebot Tnawi d3004b51ea
feat: remove extra spaces in `url` inside `@import` (#3793) 2018-01-23 23:33:19 +03:00
Evilebot Tnawi d1f9598d68
tests(css): newlines around multiple and combinator selectors (#3800) 2018-01-23 21:12:45 +03:00
Evilebot Tnawi fc200c9432
fix(css): remove other types of whitespace in `clean` (#3799) 2018-01-23 20:57:23 +03:00
Evilebot Tnawi a52747eaec tests: multiple selector (#3796) 2018-01-23 10:35:00 -05:00
Evilebot Tnawi 11dd57e8ff tests: parens spaces (#3795) 2018-01-23 10:34:36 -05:00
Brian Ng a8fb1863a2
Merge pull request #3797 from prettier/feat-css-lowercase-wide-keywords
feat(css): lowercase wide keywords
2018-01-23 09:33:01 -06:00
Evilebot Tnawi b2e8c6d374 feat: remove extra spaces in attribute selector (#3794) 2018-01-23 10:30:20 -05:00
evilebottnawi 591ee5a425 feat(css): lowercase wide keywords 2018-01-23 18:10:39 +03:00
Evilebot Tnawi 3bc3e801c8
tests: `scss` syntax (#3757) 2018-01-23 14:33:18 +03:00
Ika 08b9e07207
fix(markdown): update remark-parse to v5.0.0 (#3780)
* fix(markdown): update remark-parse to v5.0.0

* test(markdown): ensure links with entities printed correctly

* test(markdown): ensure lists  interrupted by headings
2018-01-21 12:31:30 +08:00
Evilebot Tnawi 105914e45c fix: don't handle args of `@warn` and `@error` directives as media query list (#3769) 2018-01-19 17:00:06 -07:00
Evilebot Tnawi dbb494ed30 tests: `less` syntax (#3766) 2018-01-19 16:57:57 -07:00
Evilebot Tnawi 12441eb2dd fix: don't add comma after `url` in `@import` directive (#3770) 2018-01-19 16:56:28 -07:00
Evilebot Tnawi 17b3df9b8e tests: `@media` directive (#3772) 2018-01-19 21:31:20 -02:00
Evilebot Tnawi 74d25c37f0 fix: don't change case of function name (#3768) 2018-01-19 15:39:44 +01:00
wonderful-panda 3f788d4fb6 fix: *.vue with `lang='tsx'` is not formatted (#3763) 2018-01-18 00:20:55 -02:00
Ika de6bc4448f
fix(multiparser): respect 0-indent markdown-in-js (#3676)
* fix(multiparser): respect 0-indent markdown-in-js

* fix: use literalline for 0-indent

* test: add unexpected case

* fix: 0-indent

* test: add failing test

* refactor: simplify

* fix(doc): literallines respect `ind.root`

* docs: update commands

* fix: what a magic...
2018-01-17 12:52:42 +08:00
Ika 2dd311d554
fix(javascript): indentation for sub-ternaries (#3747)
* test: add test cases

* test: add test cases

* fix(javascript): indentation for sub-ternaries

* test: update test cases

* fix: no extra tab for `tabWidth: 4`
2018-01-16 11:32:25 +08:00
Evilebot Tnawi 64f1c06727 fix(scss/less): space after combinator operator (#3738) 2018-01-13 13:17:29 -02:00
Thorben von Hacht 1a1de60491 Prettier extends and implements when not fitting in same line (#3689)
* Added prettier layout for class extends and implements

* Added prettier layout for class extends and implements, fix with keeping it in online if it fits

* Added prettier layout for class extends and implements, fixed tests as a side change

* Extends implements comments in same line fix

* Extends implements comments in same line without ugly workaround

* added empty line to test typescript_class/extends_implements.ts

* If only one extends keep old behaviour

* Removed console logs
2018-01-13 16:31:51 +11:00
Quinn Hoyer aa0437cc60 Add support for skip() (#3706) (#3735)
* Add support for skip() (#3706)

* Fix regex & add tests
2018-01-13 13:02:31 +11:00
Evilebot Tnawi 934f679705 fix(scss): `!default` directive (#3724) 2018-01-12 22:12:02 +11:00
Daniel Heckrath 2155465c88 Enable PostCSS in VUE SFC (#3715)
* Enable PostCSS in VUE SFC

* Add test that verifies that postcss style blocks are parsed

* Move postcss check to same condition as the css check
2018-01-12 17:05:22 +11:00
Aleks Hudochenkov b67fd8e155 Don't add end of line to empty CSS (#3723)
Fixes #3440.
2018-01-11 16:05:57 -05:00
Lucas Duailibe 46baad09cd
Fix vue print error with self-closing tags (#3705) 2018-01-10 17:41:11 -02:00
Ika 3df7d60a7f feat(markdown): respect `tabWidth` for list indentation (#3694)
* test: add test case

* feat(markdown): respect `tabWidth` for list indentation

* test: add extreme `tabWidth` test case
2018-01-10 18:45:22 +11:00
Lucas Azzola b1a7787e87
Fix vue self-closing tags (#3693) 2018-01-10 18:44:18 +11:00
Lucas Duailibe 01a59eeee3
Wrap conditionals and await in parens in spread property (#3681) 2018-01-09 01:45:51 -02:00
Christopher Chedeau a4dd86436a
[scss] Print comments inside of selector as is (#3649)
Fixes #3647
2018-01-04 19:03:04 -08:00
Lucas Duailibe 7f75499dd2 Prevent adding softline after arrow attribute with comments (#3641)
* failing test

* fix
2018-01-03 12:12:01 -08:00
Lucas Duailibe 157df6e3fd
Print imageReference with no alt in Markdown (#3643) 2018-01-03 13:54:53 -03:00
Lucas Duailibe 7d3a30615b
Don't add () in JSX attributes with elements (#3640) 2018-01-03 11:36:25 -03:00
Lucas Duailibe 6a953e47b5
Print description of enum and input for GraphQL (#3633) 2018-01-03 01:29:11 -03:00
Christopher Chedeau 5356db0e69
Normalize GraphQL multi-line strings (#3632)
* Normalize GraphQL multi-line strings

See discussion in https://github.com/prettier/prettier/pull/3605#discussion_r159120321

* split
2018-01-02 11:55:53 -08:00
Christopher Chedeau 58e5536741
Update GraphQL parser (#3605)
* Update GraphQL parser

Fixes #3601

This adds support for
- description as strings
- extending all the possible types
- block strings
- allow removing {} if there's no implementation for all graphql types

This is a breaking change but shouldn't be a big issue.
- Empty types are no longer allowed (there's an option to enable it but it hasn't been released yet). The fix is to remove `{}`

Something that hasn't been changed because not released:
- Doesn't support the new `&` separator for implementing multiple interfaces

A bug has been fixed:
- Now properly prints @directives for unions.

* Properly handle triple quotes
2017-12-31 16:45:06 +01:00
Lucas Duailibe 51744e1008 Print parens in FunctionTypeAnnotation when arrowParens is "always" (#3616)
* add test case

* print parens in function type annotation
2017-12-31 16:01:21 +01:00
Ika 6872ed8310 fix(markdown): replace newlines with hardlines in multiparser (#3611)
* test: add failing test

* fix(markdown): replace newlines with hardlines in multiparser
2017-12-30 10:33:58 -05:00
Christopher Chedeau 7eca8011bc Inline do expressions inside of JSX (#3607)
Fixes #3602
2017-12-29 18:58:01 -03:00
Jimmy Jia cfb8987ecd Revert Relay Classic non-support (#3606)
This reverts commit e8551b994d313ea023855a790c87acc4833150f9.
2017-12-29 21:14:08 +01:00
Robert Webb 833666a394 Support handlebars (#3534)
* feat(glimmer): initial HTML/Handlebars/Glimmer support

* feat(glimmer): support un-escaped mustache expressions

* fix(glimmer): add 'as |foo|' syntax

* fix(glimmer): support {{foo bar}} syntax

* feat(glimmer): implement all AST types

* feat(glimmer): implement if/else if/else

* test(glimmer): ignore leading/trailing whitespace from AST_COMPARE

* fix(glimmer): do not use trailing slash for void self-closing elements

* chore(build): disable html tests until we can sort out the glimmer dependency

* feat(html): complete rebase on parse5 addition

* Prettier Support For Glimmer VM/Handlebars

Polished Support for Sub Expressions
Added test cases for glimmer primitives
Added support for concat statements
Attempted to make element nodes work
Attempted block statements
Element Nodes are OK
Added support for block elements that are not else-if related
Added support for Else/If
Cleaning up
Rebase
Switch node 4 syntax
Update build

* Removed dead code/partials

* Added new lines to end of test files.

* Rebase after plugin change

* Added ignores to code coverage
2017-12-29 18:14:31 +01:00
Lucas Azzola bd78b3bfbe
Remove ALL_PARSERS, print ~ printWidth times (#3596) 2017-12-29 08:25:11 +11:00
Jimmy Jia bbfc450cd2 Support Relay Classic (#3595) 2017-12-28 14:20:25 -03:00