We were using `Object.create` to setup the prototype chain at the start of the class definition, which lead to #7771.
I was a bit worried about a speed hit, but it seems everyone optimizes the two patterns the same way.
https://jsbench.github.io/#f9fca52407643d96458a35763b201215Fixes#7771.
* Improve get/set helper
* fixtures
* Edge cases
* Add loose edge cases
* Spec compliant
* Add issue case
* Even more edge cases!
* Final updates
* Fix name
* Use Reflect.{get, set} when available
* Avoid block scoping in loose
* Remove semicolon
* Do not redefine a non-enumerable
* Get strictness from call site, not helpers
* Add called assertions
* Classes are always strict
* Update test fixture
* Add support for RegExp includes/excludes
* Keep the plugin order
* Detect invalid modules in regexp
* Add more tests for regexp
* Cover builtins, and unnormalized in the RegExp tests
* Remove babel-plugin- in all positions
* Change babel-plugin- prefix to string
* Add a test for the same module in include/exclude
* Handle partial matches explicitly
* Remove extra valid regexp check
* Optimise validation of plugins
* Optimise selecting the plugins
* Fix undefined include/exclude option
* Update documentation to reflect the new include matching
* Fix typo
* Apply reviews
Use regexp.test instead of string.match (slower)
Define flatten helper
Do not normalize babel-plugin anywhere in the string
The boolean expressions returns false in environments where Map is missing.
This change explicitly sets _cache to undefined in such cases, to ensure the cache methods will be ignored.
for-await was transformed in @babel/helper-remap-async-to-generator, which was
called by @babel/plugin-transform-async-to-generator and
@babel/plugin-proposal-async-generator-functions. This prevented for-await
statements in async functions to be transpiled if the
transform-async-to-generator plugin was't enabled.
* feat(babel-cli): add a brief summary to build output
* address feedback
* further adjustments
* Use quiet output as default, add --verbose
* fix tests
* remove verbose alias