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
Lucas Azzola
a10418ee80
Bump Prettier to 1.10.1 ( #3699 )
...
* Bump Prettier to 1.10.1
* Fix relative paths
2018-01-11 01:13:09 +11:00
Lucas Azzola
bae21cb166
1.10.0
2018-01-10 23:08:15 +11:00
Marcel Jackwerth
a27d19b2c1
Allow Plugins to preprocess text ( #3664 )
...
* Allow Plugins to preprocess text
* Actually pull up text
* Always expect the preprocessor to set the text
* Add tests for preprocessing
* Remove unused variable
2018-01-10 00:27:26 +11:00
Lucas Azzola
e5d6a4704f
Automatically load plugins from package.json ( #3624 )
...
* Automatically load plugins from package.json
* Fix build by adding json extension
* Fixup misuse of options argument
* Rewire graceful-fs to fs
* Document graceful-fs issue
* Alias graceful-fs to fs in Rollup
2018-01-05 21:09:51 +11:00
Lucas Duailibe
2cb9498ab6
Output files as-is if ignored ( #3618 )
...
* fix --stdin-filepath
* output file as-is without --write
* return early
* use writeOutput
2017-12-31 18:08:09 +01:00
Ika
6c0dd74518
feat(support-info): add `options` field ( #3433 )
...
* refactor: rename supportTable with supportLanguages
* refactor: use `dedent`
* test: reduce unnecessary data
* feat(support-info): add `options` field
* add `showDeprecated` option
* add `showUnreleased` option
* test: snapshot diff
* fix(support): add missing `since`
* fix: add missing `category`
* refactor: use template tag
* fix: `trailingComma:true` should redirect to `trailingComma:es5`
* refactor: reorder parser
* refactor: fix linting
* refactor: move options
* refactor: move options to printers
2017-12-31 15:34:37 +11:00
Joseph Frazier
7b211eab24
editorconfig: Only search for .editorconfig up to the VCS directory ( #3559 )
...
* editorconfig: Only search for .editorconfig up to $PWD
This addresses https://github.com/prettier/prettier/issues/3558
I'm not sure if this is the best way to find the "project root", but it
seems better than before.
* editorconfig: Search for `.editorconfig` up to the VCS directory
This uses [find-project-root] to find the nearest directory containing `.git` or `.hg`
See here for context: https://github.com/prettier/prettier/pull/3559#issuecomment-353756948
[find-project-root]: https://github.com/kirstein/find-project-root
* editorconfig: Add test for finding VCS directory
It's a little hacky in that the .hg file isn't really a Mercurial
repository, but it's enough to illustrate the intent. See here for
context: https://github.com/prettier/prettier/pull/3559#issuecomment-353857109
2017-12-26 18:16:09 +11:00
Lucas Azzola
4c9d4061da
Prettier Plugin API ( #3536 )
...
* Move files around in preparation for refactor
* Update paths in build script
* Extract generic printing logic from the JavaScript printer
* Conform printer API
* Fixup decorator handling
* Fix multiparser
* Create plugin entry for markdown
* Create plugin entry for javascript/typescript
* Create plugin entry for html
* Create plugin entry for graphql
* Create plugin entry for css/less/scss
* Move JSON to JS plugin entry
* Integrate plugins into getSupportInfo()
* Move astFormat to parser definition
* Move util to common
* Implement parser loading
* remark -> mdast
* Rename cli/cli -> cli/index
* Rename builder -> doc package, fix printer resolution
* Fix doc shape assumption in CSS-in-JS logic
* Fix third-party.js prod resolution
* Fixup build-docs script
* Distribute multiparser code
* Remove requirement to forward options
* Flatten closure
* Remove debug directory
* Expose doc
* Add external plugins
* Pass options to loadPlugins
* Export getParsers
* Pin resolve version
* Use getSupportInfo in Markdown embed
* Document plugin API
* Update build-docs
* Add CLI for plugins
* Lint docs
* Fixup build.js
* Add vue language
* Fixup multiparser for vue
* Upgrade rollup and rollup-plugin-commonjs
* Fixup third-party build
* Change AST format in docs
2017-12-26 12:23:50 +11:00
Christopher Chedeau
c40b061b80
[vue] Introduce proper support for Vue Single File Components (SFC) ( #3563 )
...
There's a lot of demand for vue sfc (#2097 ). This introduces partial support for them: all the html is printed as is, except for the script and style tags which are printed using prettier. I believe that this should cover a lot of the use cases while being simple to support and if we want we can extend to more in the future.
I copy pasted the html parser used by vue (it's just a single 400 lines file) so that we don't run the chancesof conflicts. I'm also very conservative: I only print the style and script at the top level and for the lang attributes we support.
I expect this to be landable as is and provide value, review welcome :)
2017-12-25 01:15:33 +01:00
Anatolie Rotaru
d4101169e5
Fix PostCSS VS Code integration ( #3454 )
2017-12-19 00:05:39 +11:00
Lucas Azzola
ed80d6c5bd
Make all CLI logging go through a logger ( #3515 )
...
* Make all CLI logging go through a logger
* Add --loglevel docs
* Change default loglevel to log
* Update snapshots
* Switch to YAML eslint files
2017-12-18 23:22:07 +11:00
Lucas Azzola
d1c97b3622
Convert eslint config and users/languages/editors files to YAML ( #3516 )
...
* YAML all the things
* Cleanup website data files
* Update edit links
2017-12-18 21:55:10 +11:00
Georgii Dolzhykov
5c6b93a654
Add "JSON with comments" to vscodeLanguageIds ( #3496 )
2017-12-16 11:45:51 +11:00
Lucas Duailibe
c986f45ec7
fix lint
2017-12-05 17:48:10 -02:00
Lucas Duailibe
46f657bbaa
add another test case
2017-12-05 16:30:21 -02:00
Lucas Duailibe
639c523885
Skip folders in CLI pattern
2017-12-05 16:07:27 -02:00
Joseph Frazier
cecf0657a5
Re-add EditorConfig support (undo #3213 ) ( #3255 )
...
* Revert "Revert "Respect EditorConfig settings" (#3213 )"
This reverts commit d2241fc0d5
.
* Comment out EditorConfig docs
See https://github.com/prettier/prettier/pull/3213#issuecomment-343009769
* editorconfig: Support `indent_size = 0`
See https://github.com/prettier/prettier/pull/2760#discussion_r137447715
and c38b84c42a
* Revert "Comment out EditorConfig docs"
This reverts commit ddfa529c55cac4853a1e76e00c8b5e3ef158c01f.
* Mark EditorConfig functionality as v1.9.0+
See https://github.com/prettier/prettier/pull/3255#discussion_r150432508
* editorconfig: Upgrade editorconfig-to-prettier to 0.0.4
* editorconfig: Only enable for CLI, by default
https://github.com/prettier/prettier/pull/3255#issuecomment-348420546
* editorconfig: Add tests confirming that editorconfig is ignored by default in the API
https://github.com/prettier/prettier/pull/3255#issuecomment-348420546
* editorconfig: Add/fix CLI option parsing
* editorconfig: Move docs from configuration.md to options.md
* editorconfig: Add `oppositeDescription` to show docs for `--no-editorconfig`
Addresses https://github.com/prettier/prettier/pull/3255#discussion_r154542792
* editorconfig: Update test snapshots
* editorconfig: Remove unnecessary options parsing code
Addresses https://github.com/prettier/prettier/pull/3255#discussion_r154544560
* editorconfig: Move docs from options.md to api.md and cli.md
Addresses https://github.com/prettier/prettier/pull/3255#discussion_r154545979
* resolveConfig: return null if both .prettierrc and .editorconfig are missing
Addresses https://github.com/prettier/prettier/pull/3255#discussion_r154574613
* Don't add now-failing tests
The way these tests work, both `tests_integration/cli/config/.prettierrc`
and `.prettierrc` apply to `tests_integration/cli/config/editorconfig/file.shouldnotexist`,
so the test wouldn't work even on master. Here's a way to confirm that:
```js
const path = require('path')
const assert = require('assert')
const prettier = require('./')
const file = './tests_integration/cli/config/editorconfig/file.shouldnotexist'
console.log(prettier.resolveConfig.sync(file))
assert(prettier.resolveConfig.sync(file) === null)
```
2017-12-05 09:28:27 +11:00
Ika
073c0b16d8
feat(markdown): add `proseWrap: "preserve"` option ( #3340 )
...
* test: add test case
* feat(markdown): add `proseWrap: "preserve"` option
* test: add tests
* docs(options): update `proseWrap`
* feat(markdown): change default to `proseWrap: "preserve"`
BREAKING CHANGE
* docs(options): update `proseWrap`
* test: specify option explicitly
* Fix lint after merge
* Fix error after merge
2017-12-02 09:48:40 +11:00
Brian Ng
d52d721cd1
Bump babylon to 7.0.0-beta.33 ( #3372 )
2017-12-02 09:39:10 +11:00
Suchipi Izumi
41a9ababc3
Add updated snapshot
...
Whoops, forgot this
2017-11-27 22:27:34 -07:00
Stephen Scott
9a1e408a3f
Add option and specs (no implementation yet)
...
These new snapshots are from https://github.com/prettier/prettier/pull/2676
2017-11-27 22:26:58 -07:00
Ika
a1d878acc7
fix(cli): respect `--ignore-path` when using `--stdin-filepath` ( #3309 )
2017-11-23 21:54:04 +11:00
Ika
76efb33e75
chore: setup markdown formatting ( #3224 )
...
* chore(deps): upgrade prettier to v1.8.2
* chore: setup lint-docs script
* docs: add `<!-- prettier-ignore -->`s
* docs: format docs
* Revert "docs: format docs"
This reverts commit 6dba903987dddc498cb589ca311905f25b6aee53.
* chore(prettierrc): set `--no-prose-wrap`
* docs: format docs
* Revert "docs: format docs"
This reverts commit 139bd744b6921916be8fac4fa3bab83bae5d12df.
* docs: tweak
* docs: format docs
* chore: rename .prettierrc
* chore: rename back to .prettierrc
* chore: split out third-party
* refactor: fix linting
* chore: do not split out third-party on website
2017-11-22 22:27:40 +11:00
Lucas Azzola
d2241fc0d5
Revert "Respect EditorConfig settings" ( #3213 )
...
* Revert "Respect EditorConfig settings (#2760 )"
This reverts commit 8f58ca0f48
.
2017-11-09 11:38:58 +11:00
Joseph Frazier
8f58ca0f48
Respect EditorConfig settings ( #2760 )
...
This fixes https://github.com/prettier/prettier/issues/42 .
It adds support for .editorconfig's `indent_style`, `indent_size`, `tab_width`,
and `max_line_length` properties.
It doesn't support the `end_of_line` property as described in
https://github.com/prettier/prettier/issues/42#issuecomment-327073326 ,
but that could be added later. The same goes for `quote_type`
(https://github.com/prettier/prettier-atom/issues/293#issue-267288335 ).
* Make test .prettierrc not set config for all file extensions
This makes it easier to keep tests isolated.
2017-11-08 14:30:28 -05:00
Ika
4f1a2c4108
feat(markdown): add `--no-prose-wrap` option ( #3199 )
...
* feat(markdown): add `--no-prose-wrap` option
* refactor: fix typo
* refactor: fix typo
* refactor: reduce duplicate code
* docs: mention the option is for markdown
2017-11-08 21:01:06 +11:00
Ika
76ee59a191
chore(deps): update prettier to 1.8.0 ( #3167 )
...
* chore(deps): update prettier to 1.8.0
* refactor: fix linting
2017-11-07 16:42:38 +08:00
Lucas Azzola
3f13ab08ab
Update getSupportInfo snapshot for 1.8.0 ( #3164 )
2017-11-07 15:28:23 +11:00