* Simplify the special-case printing of single-param arrow functions
* Update test fixtures with single-param arrow functions
* Add some explicit snapshot tests for known edge-cases
* Lint against CJS globals in modules
* Use `import.meta.url` instead of `__filename` in `src` files
* Prepare fixtures runner for `import.meta.url`
* Use `import.meta.url` instead of `__filename` in `test/index` files
* Remove `__dirname` from remaining test files
dirname
* Avoid using `module` in `src` files
* Avoid using `require` in `src` files
* Avoid using `require` in `test` files
* Update `@types/node`
* Compile dynamic import in `@babel/node`
* Fix windows
* Use `@babel/plugin-proposal-dynamic-import` from npm
If you pass an empty array as `extends` in `t.tsInterfaceDeclaration` you'll get an invalid code printed
```ts
t.tsInterfaceDeclaration(
t.identifier('x'),
undefined,
[],
t.tsInterfaceBody([])
)
```
You will get
```ts
interface A extends {}
```
Which is an invalid TS, this PR fixes that
* Add sourcemap markings for each line of a string
Fixes https://github.com/babel/babel/issues/12083
* Fix for multiple newlines
* Optimize with indexOf
* Comment explaining newline search
* TypeScript 4.0: Support labeled tuple elements
* More tests
* Disallow mixing labeled and unlabeled elements
* Update AST shape
* Enable test after rebase
* Allow labeled spread types
* Fix flow
* Add types and generator suport
* Update packages/babel-parser/src/plugins/typescript/index.js
* Prettier
* ensure only builders starting with lowercase are used
* update generate builders to have function name starting flow lowercase
* fix bug in deprecated builders
* remove comment about not yet discussed change in next major version
* Added support for record and tuple syntax.
This commit adds support for both the hash #{} and bar {||}
syntaxes to babel-parser, as well as adds the supporting
babel-plugin-syntax-record-and-tuple plugin to enable support
for the syntax. Does not include any transform for records and
tuples.
* typo
* added check to ensure recordAndTuple in babel-parser
* switched to syntaxType option instead of explicit entries for each record and tuple type
* switched to using recordAndTupleSyntaxType for generator options instead of adding to node
* added tests for generator option recordAndTupleSyntaxType
* added test for record and tuple bar syntax with flow typings
* added tests for invalid/missing recordAndTuple syntaxType parser option
* fixed flowcheck errors
* fix merge with class privates in tokenizer
* Update packages/babel-parser/src/types.js
Co-Authored-By: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
* improved recordAndTuple generator error message, added tests for invalid,missing options
* updated error messages for invalid parser syntaxType option
* updated error message
* added better error messages for when the recordAndTuple syntaxType is doesn't match the syntax used
* updated record and tuple support to use new error message templates
* added recordAndTuple to missing plugin helpers
* Fix linting
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
* Add parser support for Flow declare fields
* Add generator test
* Add "allowDeclareFields" option to flow-strip-types
* Add test
* Update error messages
* More tests