* 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.
- switch to [`htmlparser2`](https://github.com/fb55/htmlparser2)
- no need to fork
- won't generate pseudo nodes ([`parse5` will](https://github.com/prettier/prettier/issues/5098#issuecomment-423055181))
- should be [faster](https://github.com/fb55/htmlparser2#performance)
- support custom self-closing tags
- support HTML entities
- remove extra trailing newline for `<template>`
- distinguish empty/empty-string attributes (`<tag x>`/`<tag x="">`)
- rename `--parser parse5` with `--parser html`
- enable `html` since 1.15, which means it's enabled by default if you install the dev version from GitHub after this PR merged.
* 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