* Add all option to babel-plugin-syntax-flow The Flow parser has some conditional logic based on whether types should be parsed or not, which is based on either (a) the @flow pragma in the docblock of the file of (b) the `all` configuration, provided via command line or .flowconfig. This commit adds the ability to provide the `all` configuration to Babel as well, via the syntax-flow plugin. This should be set to `true` if the project uses all=true. * Parse @flow pragma The Flow parser has some conditional logic based on whether types should be parsed or not, which is based on either (a) the @flow pragma in the docblock of the file of (b) the `all` configuration, provided via command line or .flowconfig. This commit parses the @flow (or @noflow) pragma from the first comment in the source file. Directives are allowed to appear before the comment. * WIP: add tests for explicit type arguments This commit includes tests which have unexpected output, but will change to the expected output as later commits add parsing support for various features. * Parse type arguments in new expressions * Parse type arguments in call expressions * Parse optional call expressions with explicit type args * Add explicit type arguments to babel-types Flow calls these typeArguments instead of typeParameters, which clearly separates formal/actual parameters, and mirrors the existing arguments key. The existing definitions to support TypeScript also included Flow's TypeParameterInstantiation node type, which I've moved to the the new field. * Add support for explicit type arguments to babel-generator * Add test for explicit type args to transform-flow-strip-types plugin * Oops. Forgot to regenerate the babel-types README. * Fix Flow parser shouldParseTypes() function I was looking at `options.all`, but the correct property ws `options.flowAll`. Oops! * Remove typeapp_call from whitelist of expected failures Now that Babylon parses this syntax extension, we can remove the typeapp_call tests from the list of expected differences. Note that I am using the `flowAll` option, mirroring the behavior of the Flow tests, which assume types without requiring the `@flow` pragma. * Use Babylon plugin options instead of parser options * Parse optional call expressions type arguments unambiguously
41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
# This file lists tests that are known to produce incorrect results when parsed
|
|
# with Babylon:
|
|
#
|
|
# - Tests that are expected to parse successfully but for which Babylon reports
|
|
# a syntax error
|
|
# - Tests that contain invalid syntax but for which Babylon reports no syntax
|
|
# error
|
|
#
|
|
# Entries should be removed incrementally as Babylon is improved.
|
|
|
|
JSX_invalid/migrated_0000.js
|
|
arrow_function_invalid/migrated_0002.js
|
|
async_await/async_generic_method.js
|
|
async_await/migrated_0020.js
|
|
async_await/migrated_0024.js
|
|
async_await/migrated_0027.js
|
|
async_generators/migrated_0007.js
|
|
class_properties/migrated_0000.js
|
|
class_properties/migrated_0005.js
|
|
class_properties/migrated_0011.js
|
|
class_properties/migrated_0016.js
|
|
class_properties/migrated_0021.js
|
|
class_properties/migrated_0026.js
|
|
decorators/migrated_0003.js
|
|
decorators/migrated_0007.js
|
|
private_class_properties/valid.js
|
|
types/annotations/migrated_0001.js
|
|
types/annotations_in_comments_invalid/migrated_0003.js
|
|
types/annotations/void_is_reserved_param.js
|
|
types/member/reserved_words.js
|
|
types/parameter_defaults/migrated_0032.js
|
|
types/typecasts_invalid/migrated_0001.js
|
|
class_method_kinds/polymorphic_getter.js
|
|
numbers/underscored_bin.js
|
|
numbers/underscored_float.js
|
|
numbers/underscored_float_whole.js
|
|
numbers/underscored_hex.js
|
|
numbers/underscored_number.js
|
|
numbers/underscored_oct.js
|
|
types/declare_class/proto.js
|