Sometimes we need to transform the ast to make it easier to print, but it's currently done in the parser (markdown and yaml), which leads the output ast harder to use for external users (custom parser), adding `printer.preprocess` can solve this issue.
And also this way we could move the trailing newline for json from `ast-to-doc.js` to `language-js`.
* 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
* 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`
* Add 1.10 blog post
Copied from releases page
* Change a few things
* Add overview of changes
* Lint docs
* Scaffold out release notes
* Add prettier-ignores
* docs: add missing references
* docs: fix heading level
* docs: fix example
* Document plugin API
* Use shellsession
* docs: fix example
* docs: fix links
* Fix heading level
* change: ts upgrade -> numeric separator support
Instead of mentioning we updated the typescript version, we should emphasize on what value we added to users
* Fix repeated phrase
* add comment type annotation explanation
* Add note on no more wrapping () JSX elements
* Grammar
* Add more release notes
* Fill out remaining release notes
* Fix lint
* Add verb
* Fix heading level
* Update 2018-01-10-1.10.0.md
* Update 2018-01-10-1.10.0.md
* Add twitter buttons
* docs: add note for #3694
* Fix cake