Ika
4ff0f26d3e
refactor: move cli leven suggestion to options-normalizer ( #5057 )
...
Option-related processing should be done in `options-normalizer`.
- unknown flag suggestions are colored
![image](https://user-images.githubusercontent.com/8341033/45103027-866c7900-b161-11e8-8ee3-6467a9ca0090.png )
- unknown flags with no suggestion are now errors:
```
$ bin/prettier.js --help noseminosemi
[error] Invalid `--help` value. Expected `a flag`, but received `"noseminosemi"`.
```
2018-09-08 07:40:09 +08:00
Evilebot Tnawi
7fd346ffa1
feat: newline and space utils to shared ( #5049 )
2018-09-04 23:08:37 +03:00
Ika
49e2f77bff
refactor: extract options-normalizer/validator ( #5020 )
...
- Uses [`vnopts`](https://github.com/ikatyang/vnopts#readme )
- This way it should be easier to support language-specific options (https://github.com/prettier/prettier/pull/4798#issuecomment-407258477 ) and map the common options to language-specific options using [`forward`](https://github.com/ikatyang/vnopts#forward ), e.g. `singleQuote: true` -> `"javascript/singleQuote": "js"`, `singleQuote: false` -> `"javascript/singleQuote": "none"`.
2018-08-31 11:26:07 +08:00
Ika
1790211f76
feat: support MDX ( #4975 )
...
* feat: support MDX
* refactor: flip condition
2018-08-13 22:23:09 +08:00
Ika
82a12a58a8
fix(config): better error message for unsupported extension ( #4969 )
2018-08-11 16:35:18 +08:00
Ika
53c83f97f5
fix: guess line ending before preprocess ( #4957 )
2018-08-09 10:51:08 +08:00
Ika
3842cbb118
fix(typescript): use the first error when both failed ( #4947 )
2018-08-09 10:21:00 +08:00
Ika
e72cb538f9
fix: update flow support info ( #4943 )
2018-08-08 23:47:49 +08:00
Jorge Gonzalez
7d78ce68ef
feat(config): support TOML configuration files ( #4877 )
...
* Add initial support for TOML in configuration files
* Missed brace
* Fix snapshots
* refactor: move loadToml to utils
* Use @iarna/toml
* Add tests for loadToml
* Fix test for CI
* Remove jest-extended
* Create snapshot for load-toml
* Add feat to docs
* lint docs
* Use @iarna/toml/parse-string
* Change path string
2018-08-03 06:27:19 -04:00
Lucas Azzola
a938076ae5
Ignore .git, .svn and .hg directories ( #4906 )
...
Fixes #4895
2018-07-30 00:08:51 +10:00
Ika
440ab4f60b
refactor: upgrade to cosmiconfig@5 ( #4899 )
...
* refactor: upgrade to cosmiconfig@5
* fix: use custom require
2018-07-29 16:57:36 +08: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
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
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
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
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
0b659b898d
feat: update linguist languages ( #4741 )
...
Context: https://github.com/prettier/prettier/pull/4734#issue-196702272
Languages should be easy to maintain now.
2018-06-28 08:24:02 +08:00
Warren Seine
6c482e2e6c
Expose `isPreviousLineEmpty` to plugins ( #4747 ). ( #4748 )
2018-06-25 23:20:00 -06:00
Ika
c38e6af301
fix(yaml): add missing `since` field ( #4739 )
2018-06-23 17:04:47 +08:00
Ika
dcf44ffbdc
feat: support YAML ( #4563 )
...
* feat: support YAML
* fix: do not indent sequence in mappingValue
* docs: add yaml to index.md
* fix: reduce `SyntaxError: Node#parse consumed no characters`
* chore: remove old-build and new-worker.js
* refactor
* refactor
* refactor
* refactor
* refactor
* refactor
* refactor
* refactor
* refactor
* refactor
* refactor
* refactor
* fix: no space after `<<`
* fix: add yaml to standalone test
* test: add tests
* fix: next empty line in flow collection
* fix: tabs are not allowed
http://yaml.org/spec/1.2/spec.html#space/indentation/
* fix: update parser
* feat: rewrite the mappingItem logic
* feat: indent sequence in mapping
* feat(doc): add ifBreak#groupId and group#id
* chore: fix node 4
* chore: add tools_yaml.svg
* chore: remove resolved TODO
* refactor: remove unnecessary workaround
* chore(worker): importScriptOnce
* chore(build): rename with babelPlugins
* make it rollup compatible
* feat: support singleQuote
* refactor
2018-06-21 10:29:42 +08:00
Ika
18aa527adc
feat(api): support relative paths for plugin(SearchDir)s in config files ( #4667 )
...
* feat(api): support relative paths for plugin(SearchDir)s in config files
* fix: convince appveyor
2018-06-15 04:25:03 +08:00
Ika
75e86b9e6b
fix(cli): no regression for --debug-check + --list-different ( #4600 )
2018-05-31 00:42:26 +08:00
Ika
e9b7c7ff9b
chore: fix 2 TODOs ( #4591 )
2018-05-29 22:05:25 +08:00
Lucas Duailibe
1350edc5a6
Revert no parser error for API ( #4587 )
...
* Revert no parser error for API
* use warn
2018-05-28 23:43:44 -06:00
Lucas Azzola
19cdd5fde2
Get tests passing on Windows ( #4579 )
...
Closes #4564
2018-05-28 21:46:55 +10:00
Lucas Duailibe
8892b14d8a
1.13.0
2018-05-27 15:19:39 -03:00
Lucas Azzola
b0cb63a7bb
Use destructuring for imports ( #4554 )
...
* Use destructuring for imports
* Clean up integration tests
* Use moduleNameMapper for require_prettier
2018-05-27 21:36:12 +10:00
Lucas Duailibe
5c6e0802af
Don't default parser to babylon ( #4528 )
...
* Don't default parser to babylon
* Different default values according to version
* Fix error logging
* Add tests specifically for parser inference
* Add another test case
* Add API test
2018-05-23 16:55:06 -03:00
Lucas Duailibe
1088618b35
Fix wrong test ( #4507 )
2018-05-18 21:43:54 -03:00
Suchipi
ec45dc9a4c
(refactor): Move common options out of JS plugin ( #4445 )
...
* (refactor): Move common options out of JS plugin
* Add Common category to playground
2018-05-15 14:14:50 -06:00
Ika
1062f2a889
feat: support JSON.stringify formatting ( #4450 )
...
* test: move tests
* feat: support legacy JSON formatting
* fix: add missing assertion
* test: fix coverage
* fix: same output as JSON.stringify
* refactor: fix linting
* refactor: rename to json-stringify
* refactor: fix linting
* fix: should fix the production build
* docs: remove outdated name
* fix(playgound): add lib/parser-json-stringify.js
* feat(playgound): add example for json-stringify
* fix: no error on singleQuote string
* fix(playground): correctly load json-stringify
* fix: identifier is only allowed in ObjectProperty.key
* refactor: clearer
2018-05-14 09:12:25 +08:00
Alexander Kachkaev
bc78541274
Improve plugin resolution when path does not start with ./ ( #4451 )
...
* Fix plugin resolution when path does not start with ./
* Minor consistency fix: use "if (resolvedPluginSearchDir) {...}" in load-plugins
* Use more appropriate quotes in plugin-resolution.js
* Try both local paths and node modules when resolving plugins manually
* Test bespoke plugin loading by node module name
* Simplify getFileInfo() as suggested by @j-f1
https://github.com/prettier/prettier/pull/4341#discussion_r187112707
2018-05-10 10:27:41 +10:00
Alexander Kachkaev
cc734753fc
Implement prettier.getFileInfo() method and --file-info CLI option ( #4341 )
...
* Implement prettier.getFileInfo() method and --file-info CLI option
* Add empty line between functions in index.js
* Support --plugin-search-dirs / pluginSearchDirs() in --file-info / getFileInfo()
* Address review comments by @ikatyang
2018-05-10 00:53:44 +08:00
Alexander Kachkaev
7345a38e64
Fix plugin API in globally installed Prettier and introduce optional --plugin-search-dir ( #4192 )
...
* Fix plugin API in globally installed Prettier and introduce optional --plugin-search-dir
* Use find-parent-dir instead of find-up and test autoloading (with mocked fn)
* Add two test cases where --plugin-search-dir is not .
* Do not mutate pluginSearchDirs argument in load-plugins.js
* Do not test automatic plugin resolution as mocking of "find-parent-dir" does not work due to rollup
* Document --plugin-search-dir / pluginSearchDirs and improve spacing
* Address @ikatyang's review comments
* Fix require path for third-party
* Undo alphabetic sorting of third-party scripts
2018-05-09 19:17:12 +08:00
Ika
9cc5d4f162
fix(json): jsonc is considered JSON instead of JSON5 ( #4374 )
...
* fix(json): jsonc in consider JSON instead of JSON5
* feat: add json5 id
2018-04-27 00:09:36 +08:00
Lucas Duailibe
67f1c4877e
Refactoring: better boundaries for different parts of the project ( #4364 )
2018-04-25 13:29:35 -03:00
Ika
317f3a3c56
feat: split out JSON5 ( #4367 )
...
* feat: split out JSON5
* test: update snapshots
* test: update debug-check tests
* feat(playground): use JSON's code sample for JSON5
* fix: add missing trailing newline
2018-04-25 22:10:22 +08:00
Ika
5d7b14856b
fix(schema): support array type ( #4312 )
...
* test: add test
* fix(schema): support array type
* fix: convince CI
* refactor: another way to convince CI
2018-04-15 00:06:43 +08:00
Lucas Duailibe
240f09794b
Fix printing ignored files with --debug-check ( #4066 )
2018-03-01 13:03:54 -03:00
Ika
0ce4ce3138
fix(api): no regression for deprecated parser ( #4072 )
2018-03-01 00:14:30 +08:00
Christian Zosel
d05a29da05
Allow plugins to override default options ( #3991 )
...
* refactor(cli): defer default value applying
* Allow plugins to override default options
* Move "defaultOptions" to top level of plugin
* Simplify implementation
* Attach plugin name
* Add pluginOptions to cli help
* Update snapshots
* Code review (immutable style)
* Add test for help output
* Use snapshot test, fix Object.assign
* Refactor to immutable style
* Add test case for automatic plugin resolution
* Add tests for applying and overriding default opts
* Remove "since" option
* Only set defaults for CLI args when no pluginDefaults are present
* Revert workaround, rebase to #4045
* Add basic documentation for `options` and `defaultOptions`
2018-02-28 00:20:02 +11:00
Joseph Frazier
5153b15245
Respect EditorConfig when `--config` is passed ( #3992 )
...
* Respect EditorConfig when `--config` is passed
* Clarify config-resolution test file
See https://github.com/prettier/prettier/pull/3255#issuecomment-348420546
* Update test snapshots
2018-02-24 19:11:23 +11:00
Lucas Azzola
a0668129da
Do not require plugins to set 'since' field ( #4038 )
...
* Do not require plugins to set 'since' field
* Refactor
2018-02-24 19:00:51 +11:00
Christian Zosel
fac08034e7
Split out location extraction into plugin config ( #3777 )
...
* Split out location extraction into plugin config
* Reduce set of exported function, rebase to current master
* Pass custom locStart/locEnd fn's directly to affected methods
* (wip) always use locStart/locEnd from plugin
* Convert graphql implementation
* Convert HTML implementation
* (wip) convert JS implementation
* Remove unused variables
* Continue conversion of JS implementation
* Replace "util.locStart" with direct call to "options.locStart"
* Remove util closure
* Add unit test for structure of shared util
* Fix linting error, simplify locStart/End implementations
2018-02-09 23:17:48 +11:00
Ika
47714f5d4b
feat(plugins): change external options to be plugin-level ( #3924 )
2018-02-09 00:06:38 +08:00
Ika
84c603623d
feat: support external options ( #3775 )
...
* refactor: wrap
* refactor: replace
* refactor: replace
* refactor: replace
* refactor: extract
* refactor: logger
* refactor
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* feat(support): add `showInternal` option
* refactor: use internal
* refactor
* refactor: extract
* refactor: extract
* refactor
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: reorder
* refactor: remove unnecessary
* refactor: reorder
* refactor: move
* refactor
* refactor
* refactor
* refactor: remove unnecessary
* feat: external options from CLI
* refactor: push/pop plugins
* feat: external options from config file
* refactor: remove unnecessary
* refactor
* refactor
* refactor
* fix: use `json-stable-stringify`
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: move
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: extract
* refactor: move
* refactor: extract
* docs: add comments
* refactor: sort
* refactor: sort
* refactor: rename
* refactor: remove unnecessary
* style: remove trailing whitespace
2018-01-28 00:24:25 +08:00
TheDancingCode
ea5bfb44e4
Fix tests on windows ( #3785 )
2018-01-22 11:20:50 -07:00
Ika
dc26445e51
refactor(options): use supportOptions to generate CLI options ( #3622 )
...
* refactor(cli-constant): use supportOptions
* refactor(options): use supportOptions
* refactor(cli-util): use supportOptions
* fix: do not infer parser in multiparser
* chore: remove unnecessary package
* chore: trigger another travis build
* test: add kebab-case test to ensure no regression
* test: update snapshots
2018-01-18 15:26:27 +08:00
Lucas Azzola
dd78f31aaf
Run production tests on npm package ( #3730 )
...
* Run production tests on npm package
* Put back fast finish
2018-01-13 03:19:20 +11:00