* polish: update AwaitNotInAsyncFunction message
* polish: update YieldInParameter error message
* Apply suggestions from code review
Co-authored-by: Brian Ng <bng412@gmail.com>
* update test fixtures
Co-authored-by: Brian Ng <bng412@gmail.com>
* refactor: add @babel/helper-validator-option
* refactor: simplify validateTopLevelOptions
* perf: the recursive version is not practically fast
* Update packages/babel-helper-validator-option/README.md
Co-authored-by: Brian Ng <bng412@gmail.com>
* Update packages/babel-helper-validator-option/src/validator.js
* fix: incorrect type annotation
* refactor: use babel/helper-option-validator in babel/compat-data
* chore: fix flow types error
* Address review comments
* address review comments
Co-authored-by: Brian Ng <bng412@gmail.com>
* chore: use yarn 2
* chore: remove redundant yarn locks
* chore: remove publishEslintPkg
* chore: remove redundant make bootstrap
* Update .yarnrc.yml
Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>
* chore: use workspace protocol for eslint packages in the root
Co-Authored-By: merceyz <merceyz@users.noreply.github.com>
* chore: pin caniuse-lite versions
Testcases in packages/babel-preset-env/test/fixtures/debug/browserslists-defaults-not-ie
depends on specific caniuse-lite versions. We pinned the version here
so we don't have to deal with fixture different in e2e-tests
where all deps will be updated and tested.
* chore: resolve yarn install warnings
* chore: update yarn cache path on circle/travis
* chore: add yarn deduplicate plugin
* chore: deduplicate lock files
* chore: move devDependencies to leaf packages
* chore: remove @yarnpkg/plugin-constraints
* chore: remove unused dedupe options
* test: fix unwanted self reference
* chore: remove output-file-sync dependency
* chore: update browserify to 16.5.2
Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>
* Fixed useBuiltIns and modules validation when using 'false' as option
* Added tests for 'validateUseBuiltInsOptions' and for 'validateModulesOption' when input is 'false'
Co-authored-by: Jovica Markoski <jovica@upshiftwork.com>
* Allow rest/spread on polyfilled or builtin iterables when `Symbol` unsupported
Currently, when `Symbol` is not supported, we allow using rest/spread with:
- arrays
- strings
- arguments
With this PR, it will be also possible to use it with
- maps
- sets
- binary arrays
While in old browsers es6 builtins would still need to be polyfilled, it's way
easier to polyfill them because `Symbol` cannot be reliably polyfilled.
I didn't use `instanceof` becase:
- it doesn't work with polyfills not attatched to the global scope
- when using Babel to load polyfills, it would force the inclusion of `Map` and `Set` polyfills even if they are not used
Downside: the current approach of relying on `toString || construcor.name` doesn't work with subclasses.
* Don't use Array.from for array-like objects
* Extract for-of iterator handling to a helper
Dis greatly recudes the code size when for-of is used multiple times across the
codebase. Also, makes it easier to read what's happening in a compiled loop.
* Unify spec and loose code
* Legacy implementation fallback
* Update tmp var name
* Updates from review and after rebase
* Prepare preset-env and compat-data for preset-modules
* Add transform-edge-default-parameters from preset-modules
* AUtomatically generate data from compat-table
* Add compat data for other plugins
* Updates after rebase
* Add more bugfixes to preset-env
* Update tests
* Add bugfix/transform-safari-for-shadowing
* Fix build script
* bugfix/transform-safari-block-shadowing
* Fix flow
* Include changes from 7127330f02b423d9cb0555b3d2a24dbccbc149b5
* Fix check-compat-data
* add plugins
* add plugin description
* run build-data
* set shipped proposals true
* update test fixtures
* corejs.proposals should not imply shipped proposals
* fix eslint errors
Please enter the commit message for your changes. Lines starting
* create new object in packages/babel-compat-data/scripts/data/plugin-features.js