* JSDoc type added in `src/common/util.js`
* skip can return false
* Add TBD for false - 1 not allowed
* Define typedef SkipOptions
* Use method generic for node param
* Define node param for setLocStart and setLocEnd
* Copy idx param to local variable
* Add @returns false
* Update Utility functions docs
* hasNewline param index: allow only number
* Add condition
* Add function keyword to docs
* Add prettier-ignore
* Improve condition
* Remove TBD comment
* Use single quotes
* Add type to oldIndex
* Use singleline JSDocs
* WIP: Support TypeScript 3.7
* Add support for `asserts` keyword; Update snapshots
* Update typescript-estree to v2.5.0 to remove the dependency on chokidar
* Update TypeScript
* Update CHANGELOG.unreleased.md
* Add examples for TypeScript 3.7
* Update TypeScript 3.7 to latest dev version
* Correct wording
* Support `declare` keyword on class members (TypeScript 3.7 feature)
* Update Changelog and downgrade TypeScript from 3.8.0-dev to 3.7.1-rc
* Add a note regarding to dropping Node 6 support for direct installation
* tweak build config to repair build
* update CHANGELOG.unreleased.md
* TSTypePredicate microrefactoring
* fix formatting
* clean up tests
* fix parens for optional chaining inside computed properties
* update CHANGELOG.unreleased.md
* unify output across parsers for template literals
* enable more tests with optional chaining
* fix unneeded parens inside computed key of OptionalMemberExpression
* fix paren issues for OptionalCallExpression
* more fixes for OptionalCallExpression
* @typescript-eslint/typescript-estree 2.5.1-alpha.4
* fix lint
* revert build hacks
* fix one more parens issue
* @typescript-eslint/typescript-estree 2.5.1-alpha.5, remove loggerFn override
* drop node 6 for direct installing from github
* fix another parens issue, disable some tests for flow
* workaround for flow bug
* fix issues with comments
Co-authored-by: Georgii Dolzhykov <thorn.mailbox@gmail.com>
The spec was updated ( https://tc39.es/proposal-nullish-coalescing/ ) with the following two changes:
- ?? has lower precedence than ||. (previously equal)
- ?? cannot immediately contain, or be contained within, an && or || operation. (parens are now required)
The safe way to upgrade is to run prettier with just this change so that parenthesis are properly added. Then to upgrade the parser (only flow supports the new precendence in the next release, babel hasn't been updated yet) in prettier so that the new precedence is being used. Failure to do so will result in parse errors because of missing parenthesis so we will not have silent errors.
There was only 44 callsites mixing || and ?? in a confusing way in the Facebook codebase so it shouldn't be a huge deal in practice.
This pull requests adds a new parser option `lwc`. This is the same as the HTML parser, but it adds support for unquoted HTML attributes per the needs of LWC. See: #5627
Fixes#5238.
cc @duailibe for the [original change](https://github.com/prettier/prettier/pull/4413). I basically undid that PR because it didn't look to me like `shouldFlatten` made sense as the place to introduce the behavior it was going for, but I might have misunderstood something.
* feat: enable plugin-specific comment functionality
This change enables language plugins to provide their own "handleComment" function. To do so, we're exposing the addLeadingComment, addTrailingComment, and addDangling comment functions which attach comment nodes correctly in the ast which will get handled by prettier core when printing.
* moving js comment functionality to plugin
* 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