Commit Graph

2694 Commits (87e109f88421a1be29ef377c12e11faacebf20f4)

Author SHA1 Message Date
Paul Chavard 0571b2b884 fix(glimmer): treat glimmer components as self closing tags (#4900) 2018-07-27 06:49:13 -04:00
Ika 556fb3e646
feat(markdown): only align lists if they're already aligned (#4893)
* feat(markdown): only align lists if they're already aligned

* fix: handle single item with multiple leading spaces

* fix: empty items are considered not aligned
2018-07-27 09:48:09 +08:00
Ramon Villain f65303d0d7 Typo on "Kymap" (#4901) 2018-07-26 16:37:04 -03:00
Ika 1c33224117
fix(typescript): support jsx spread child (#4885)
* fix(typescript): support jsx spread child

* chore(deps): update to use typescript-eslint-parser@17.0.0
2018-07-26 22:13:32 +08:00
Paul Chavard 65d65a5c13 fix(glimmer): better formatting of boolean attributes (and also ...attributes) (#4891) 2018-07-26 09:50:45 -03:00
Paul Chavard 505e08292c fix(glimmer): add softline in nested block statements (#4896) 2018-07-26 09:49:50 -03:00
Ekaterina Prigara 96684264fc Updated WebStorm docs (#4892)
Add about file watcher template in available in WebStorm 2018.2
2018-07-26 20:00:55 +08:00
Paul Chavard ca8e049126 fix(glimmer): remove extra space from sub-expressions without params (#4890) 2018-07-24 19:50:30 -03:00
Paul Chavard 5d254ce310 fix(glimmer): do not strip block params on <Component> (#4889) 2018-07-24 19:07:49 -03:00
Ivan Babak e35e13c38a docs(perf): add performance section to CONTRIBUTING.md (#4846)
* docs(perf): add performance section to CONTRIBUTING.md

As requested here: https://github.com/prettier/prettier/pull/4789#issuecomment-401861558

* feat(scripts): add perf-repeat, perf-repeat-inspect, perf-benchmark

- update CONTRIBUTING.md to reference these scripts

*  diaereses
2018-07-23 06:20:28 -04:00
Ika 02f64af6e3
fix(vue): no error on range format (#4868) 2018-07-22 15:58:29 +08:00
Suchipi 3bfaf6626c
Never inline decorators, unless they're lone parameter decorators (#4830)
Fixes #2613.
2018-07-20 13:48:37 -06:00
Ika 1fe0b01bd4
fix(yaml): no wrong loc info for CRLF (#4863)
Context: https://github.com/prettier/prettier/issues/4856#issuecomment-405982539

Workaround for eemeli/yaml#20
2018-07-19 21:50:27 +08:00
Ika 1a2c4e663e
chore: use pre-release version number on master (#4855)
* chore: use pre-release version number on master

* docs: tweak comment
2018-07-18 09:38:26 +08:00
Ika cb7fe00863
fix(yaml): support end comments (#4854) 2018-07-18 09:37:53 +08:00
Ika ed0ecdad18 fix(json): do not put values on a separate line from the key (#4852)
* test: add tests

* fix(json): do not put values on a separate line from the key
2018-07-17 18:08:59 -03:00
Prashant Andani cdcb7b11c9 Use destructures and refactor code for readability (#4844)
* Use destructuring for readability and optimzations at for loop length property

* Destructure variables for easy maintainability of code

* PR review fix

* refactor: fix linting

* Use destructures and refactor code for better readability

* Remove merge conflict line

* lint before commit
2018-07-17 18:01:44 -03:00
Jed Fox 60f1e1d37b
Remove code removing a key I removed from package.json (#4859) 2018-07-17 16:11:48 -04:00
Prashant Andani 12cb8a9688 Use destructuring for readability and optimzations at 'for' loop length property… (#4842)
* Use destructuring for readability and optimzations at for loop length property

* Destructure variables for easy maintainability of code

* PR review fix

* refactor: fix linting
2018-07-16 22:39:41 +08:00
Ivan Babak a7bb71c7e5 fix(perf): convert traverseDoc from recursion to stack (#4776) (#4848)
In addition to a tiny performance improvement outlined below,
the CPU profile of traverseDoc is now more readable.

Also anonymous arrow functions changed to named regular functions
so that they are properly displayed in the CPU profile,
and moved to outer scope where there's no closure
so that they aren't re-created (this change's performance is dependent
on JS engine implementation and optimization details).

Before (profile):
```
7129.9 ms       5.43 %    13349.9 ms     10.18 %    traverseDocRec
7067.4 ms       5.39 %    11285.5 ms      8.60 %      traverseDocRec
  31.5 ms       0.02 %     1031.9 ms      0.79 %      traverseDoc
  23.6 ms       0.02 %    12313.4 ms      9.39 %      traverseDoc
   2.6 ms       0.00 %       0.3 ms       0.00 %      (anonymous)
   1.7 ms       0.00 %       1.7 ms       0.00 %      call
   1.6 ms       0.00 %       1.6 ms       0.00 %      call
   0.5 ms       0.00 %       0.5 ms       0.00 %      conditionalGroup
   0.4 ms       0.00 %       0.4 ms       0.00 %      printDocToString$1
   0.1 ms       0.00 %       0.1 ms       0.00 %      printGenerically
   0.1 ms       0.00 %       0.1 ms       0.00 %      t
   0.1 ms       0.00 %       0.1 ms       0.00 %      ifBreak
   0.1 ms       0.00 %       0.1 ms       0.00 %      (anonymous)
     0 ms          0 %       0.1 ms       0.00 %      forEach

```

After (profile):
```
6937.9 ms       5.37 %    12872.5 ms      9.97 %    traverseDoc
5944.0 ms       4.60 %    11047.3 ms      8.55 %      propagateBreaks
735.7 ms        0.57 %     1358.3 ms      1.05 %      findInDoc
257.9 ms        0.20 %      466.7 ms      0.36 %      findInDoc
0.1 ms          0.00 %        0.1 ms      0.00 %      has
0.1 ms          0.00 %        0.1 ms      0.00 %      printArgumentsList
```

Before (performance):
```
cat ../LspLanguageService.js | NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --stdin-filepath LspLanguageService.js --loglevel debug --debug-repeat 1000 > /dev/null
Debugger listening on ws://127.0.0.1:9229/4b52c027-ef62-49d6-8770-179e805a0f43
For help see https://nodejs.org/en/docs/inspector
Debugger attached.
[debug] normalized argv: {"color":true,"editorconfig":true,"stdin-filepath":"LspLanguageService.js","loglevel":"debug","debug-repeat":1000,"plugin-search-dir":[],"plugin":[],"ignore-path":".prettierignore","config-precedence":"cli-override","_":[]}
[debug] resolve config from '/Users/ivanbabak/_sompylasar/_github/prettier-2/LspLanguageService.js'
[debug] loaded options `null`
[debug] applied config-precedence (cli-override): {"filepath":"LspLanguageService.js"}
[debug] '--debug-repeat' option found, running formatWithCursor 1000 times.
[debug] '--debug-repeat' measurements for formatWithCursor: {
[debug]   "repeat": 1000,
[debug]   "hz": 7.774598830700336,
[debug]   "ms": 128.624
[debug] }
```

After (performance):
```
cat ../LspLanguageService.js | NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --stdin-filepath LspLanguageService.js --loglevel debug --debug-repeat 1000 > /dev/null
Debugger listening on ws://127.0.0.1:9229/aa76e134-a68c-44ed-89a8-efb68bc46baa
For help see https://nodejs.org/en/docs/inspector
Debugger attached.
[debug] normalized argv: {"color":true,"editorconfig":true,"stdin-filepath":"LspLanguageService.js","loglevel":"debug","debug-repeat":1000,"plugin-search-dir":[],"plugin":[],"ignore-path":".prettierignore","config-precedence":"cli-override","_":[]}
[debug] resolve config from '/Users/ivanbabak/_sompylasar/_github/prettier/LspLanguageService.js'
[debug] loaded options `null`
[debug] applied config-precedence (cli-override): {"filepath":"LspLanguageService.js"}
[debug] '--debug-repeat' option found, running formatWithCursor 1000 times.
[debug] '--debug-repeat' measurements for formatWithCursor: {
[debug]   "repeat": 1000,
[debug]   "hz": 7.888114977163907,
[debug]   "ms": 126.773
[debug] }
```
2018-07-15 20:02:14 -07:00
Ben Scott 0b20a736ee Add stylelint-prettier to related projects (#4839)
Tweak order of stylelint integrations to match ordering of eslint/tslint and update url of stylelint-config-prettier
2018-07-15 11:06:16 +08:00
Eugene Datsky 03ee86ea80 Blacklist this in functional composition heuristics (#4836) 2018-07-12 11:58:57 -03:00
Ika cd16ff27d7
fix(markdown): preserve entity for surrogate pair (#4832) 2018-07-12 21:42:39 +08:00
Marvin Heilemann 85eb3b63ad Added Unibeautify (#4834)
Added `unibeautify-vscode` plugin for VSCode as an alternative prettier for VSCode
2018-07-11 09:45:19 -07:00
Ika da91fb2f46
fix(javascript): allow top level super and await (#4823) 2018-07-11 13:18:20 +08:00
Steven Loria ef7d96e124 Fix precommit configuration in docs (#4817)
The "sha" option has been renamed to "rev"

See https://pre-commit.com/#pre-commit-configyaml---repos
2018-07-10 12:27:25 -07:00
Kevin Peters 975402b285 docs: fix example of husky pre-commit hook to include next version tag (#4812) 2018-07-10 12:23:44 -07:00
Lucas Azzola cdf28894a4
Update AppVeyor badge to organization (#4828) 2018-07-11 01:12:27 +10:00
Ika b1c0c8c8d6
refactor(typescript): remove unnecessary experimental types (#4819)
Ref: eslint/typescript-eslint-parser#429
2018-07-10 10:05:31 +08:00
Jed Fox dc362c212d
Report test summaries to CircleCI (#4704)
* Report test summaries to CircleCI

* Don’t run jest-junit on Node <6

(it uses default function parameters)

* Address @lydell’s comment

* Use @duailibe’s suggestion

* 🔥 `jest-junit` key in production package.json

* Move config to jest.config.js
2018-07-07 12:11:04 -04:00
Ika 2271992446
feat(json): add jsonc to aliases and use it to find parser in markdown embed (#4734) 2018-07-07 20:46:34 +08:00
Lipis ee2839bacb
Lock closed issues and PRs after 3 months of inactivity (#4802) 2018-07-05 20:59:34 +03:00
Simen Bekkhus e25021711d Upgrade to Jest 23 (#4809) 2018-07-04 16:54:39 -03:00
Ika 0df2199688
fix(grahpql): linebreak in non-block stringValue (#4808) 2018-07-05 00:14:09 +08:00
Karl Horky d5a2f391cd Add GraphQL example to ignore documentation (#4807) 2018-07-04 13:02:07 -03:00
Peter Ramsing d4f4edeb96 Adds closing quote to "hooks" in husky config (#4805) 2018-07-04 11:31:49 -04:00
Christian Haug 8ef10b2177 Update docs to be compatible with latest husky version (#4803) 2018-07-04 10:15:46 -03:00
Ika 432c9d7d04
feat(yaml): support proseWrap (#4742)
- support `proseWrap` in `yaml`
- move `proseWrap` to `commonOptions`
- update to `yaml@1.0.0-rc.4` and `yaml-unist-parser@1.0.0-rc.1`
2018-07-04 00:28:47 +08:00
Simen Bekkhus 51b7c02e12 Upgrade jest to 22 (#4782)
* chore: upgrade Jest

* chore: update snapshots

* chore: lock down babel dependency using invalid syntax

* 2 args to test.skip

* use jest 22 for now

* Revert "2 args to test.skip"

This reverts commit 691fdc3f99e320f2303958f2b503f7b4c93fa455.

* remove snapshot name from matcher

* fix standalone tests skips
2018-07-03 03:06:29 -03:00
Ika 99c4e41fa1
feat: format yaml front matter (#4773)
* refactor: front-matter

* feat: format yaml front matter
2018-07-03 09:54:40 +08:00
Lucas Duailibe 6a6e8cada0
Fix benchmark require (#4792) 2018-07-02 13:17:08 -03:00
Ika e9f489cea1
refactor(debug-repeat): use built-in int type (#4791) 2018-07-02 16:01:05 +08:00
Ivan Babak b9fb113b3b feat(benchmark): add options to measure performance (#4776) (#4789)
- `--debug-benchmark` uses `benchmark` module to produce statistically significant time measurements.
- `--debug-repeat` uses a naive loop and measures just the average run time, but useful for profiling to highlight hot functions.
2018-07-01 19:49:16 -07:00
Ivan Babak 95cc2c97b5 fix(perf): shortcut getStringWidth for ASCII-only strings (#4776) (#4790) 2018-07-01 19:47:55 -07:00
Ika c4be0a57c3
feat(playground): add description for options (#4785)
* feat(playground): add description for options

* fix: support opposite description

* refactor
2018-07-02 08:23:21 +08:00
Alexander Kachkaev a05fd118be Do not require space after markdown block language name (#4783)
https://github.com/prettier/prettier/pull/4153 made it possible to detect fenced code block language when it is followed by arguments (e.g. ` ```js {something=something} `). This PR makes it also possible to detect language in cases cases like ` ```js{something=something} ` (no space).

The reason for this change is that Atom highlights code blocks regardless of a space after the language name, which makes users wonder why the correctly detected code block is not being formatted:

<img width="324" alt="screen shot 2018-06-28 at 22 08 13" src="https://user-images.githubusercontent.com/608862/42060780-db11f5b6-7b1f-11e8-9f43-fe91843f7d89.png">

PR background: https://github.com/prettier/prettier/pull/4153#issuecomment-401174999
2018-07-02 08:22:56 +08:00
Lucas Duailibe 3f91d6427d
Correctly replace 'process.env.NODE_ENV' (#4787) 2018-07-01 11:22:40 -03:00
Yangshun Tay 94d928b9eb Upgrade Docusaurus to 1.3.1 (#4738) 2018-07-01 10:59:20 -03:00
Ika 9bb8edf96a
feat: support .js.flow (#4777)
* feat: support .js.flow

* feat: add Flow language entry
2018-07-01 16:18:08 +08:00
Ika b4a92c6ee5
feat(playground): use real code sample (#4770)
* feat(playground): double click to insert example

* fix: correct condition

* feat: real code sample

* fix: remove unnecessary updateValue

* feat: auto-select on focus
2018-07-01 16:17:25 +08:00