* feat: add new parser `babel-ts` to parse TypeScript syntaxes via Babel
* docs: document parser babel-ts
* chore: enable babel-ts in markdown and worker.js
* verify all TS tests against babel-ts except disabled by disableBabelTS
* support for TSDeclareMethod; fix abstract properties and methods
* fix embedded angular templates and styles
* fix TSImportType
* simplify babel options combinations
* fix method decorators
* fix ranges
* work around loc inconsistencies for SequenceExpression
* don't print trailing comma in type parameters (unsupported in TS < 3.3)
* preserve quotes for class properties
* align printing of single-parameter functions
* fix comments in degenerate single-element unions and intersections
* fix comments for methods
* fix comments for mapped types
* edit docs, change 'since' to 2.0.0
* add changelog
* fix code sample on playground
* update snapshots after rebase
Co-authored-by: Georgii Dolzhykov <thorn.mailbox@gmail.com>
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
- 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.