181 Commits

Author SHA1 Message Date
Nicolò Ribaudo
0e745e50c9 undefined -> void 0 in helper 2022-01-16 14:15:09 +01:00
Nicolò Ribaudo
e1c0086fe0 Install static fields and private methods on the correct class 2022-01-16 14:15:09 +01:00
Chris Hewell Garrett
3f7644823d Adds the 2021-12 transform for decorators
Implements the 2021-12 transform for the decorators proposal, with
support for the `accessor` keyword.
2022-01-16 14:15:08 +01:00
Nicolò Ribaudo
2810dc6460
Fix derived classes in Chrome <= 36 (#14072) 2021-12-30 23:58:16 +01:00
wentout
c59870c526
Mark class prototype as read-only (#12115)
* initial code 2 fix the issue #2025

* Mark class prototype as read-only

* Update fixtures

* Fix failure

* Update Babel 8 fixtures

* Disable in loose mode

* Update fixtures

Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-12-10 21:44:48 +01:00
Mickey Rose
cd77ad1680
minify helpers-generated.ts (#13837)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-11-18 23:51:28 +01:00
Mickey Rose
74bec41db5
fix(helpers): match Reflect.get behaviour (#13862) 2021-11-09 17:39:41 +01:00
Mickey Rose
b5907ef967
remove executable permission from files that shouldn't have it (#13873) 2021-10-23 14:18:30 +02:00
Mickey Rose
2403a4889d
remove ineffectual helper names filter (#13841) 2021-10-12 10:30:28 -04:00
Nicolò Ribaudo
65e963e5de
Regenerate helpers-generated.ts (#13831) 2021-10-08 22:02:07 +02:00
Nicolò Ribaudo
b9ea196259
Await promises from sync iterators with for-await (#13824)
Co-authored-by: Mickey Rose <lightmare@users.noreply.github.com>
2021-10-07 23:57:25 +02:00
Felipe Armoni
fdfe97879e
Disallow reinitializing private elements (#13601)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
2021-08-30 12:44:38 +02:00
Huáng Jùnliàng
614b486780
Use named imports for babel types (#13685)
* migrate to named babel types imports

* perf: transform babel types import to destructuring

* fix merge errors

* apply plugin to itself
2021-08-18 10:28:40 -04:00
王清雨
b00bd94ad8
convert @babel/helpers to typescript (#13679)
Co-authored-by: Federico Ciardi <fed.ciardi@gmail.com>
2021-08-16 22:39:30 +02:00
Federico Ciardi
10640b2aad
perf: partially replace .concat with .push (#13609) 2021-08-14 16:57:06 +02:00
dhrubesh
23d4f8c563 Derived constructors should not be allowed to return primitives (#13571)
Closes gh-13571
2021-08-09 22:47:46 +02:00
Lively
950d3519e8
fix destructuring of empty string (#13444)
* fix destructuring empty string

* use variable on expect

* overwrite all tests

* fix test cases
2021-06-14 17:07:12 +02:00
Nicolò Ribaudo
be03be1bc3
Implement importInterop: "node" option for module transforms (#12838) 2021-04-28 18:22:47 +02:00
Nicolò Ribaudo
a0e20ac5df
Simplify the wrapRegExp helper for named groups (#13201) 2021-04-26 23:39:32 +02:00
Nicolò Ribaudo
f63d73c94e
Allow putting helpers in individual files (#13190)
* Allow putting helpers in individual files

* Lint

* Also move `objectSpread2` (to show an helper with deps)

* Update fixture and package.json

* fixture
2021-04-22 20:45:52 +02:00
Nicolò Ribaudo
87e35ae5c7
Fix undeclared variable in iterableToArrayLimit (#13185) 2021-04-21 00:39:00 +02:00
Nicolò Ribaudo
808d437cf4
Support iterating generators in browsers without Symbol (#13129) 2021-04-15 23:47:53 +02:00
Nicolò Ribaudo
c702895256
Update min Babel version for #12917 (#12977) 2021-03-07 21:09:05 +01:00
Huáng Jùnliàng
bdb207cb75
Class static private field destructure set (#12917)
* fix: support static private field destructure set ([C.#p] = [0])

* 🚧

* fix: add compatibility warning for older @babel/helper versions

* refactor: extract common routines among classPrivateFiled helpers

* More 🚧
2021-03-03 16:38:16 -05:00
Huáng Jùnliàng
70c77e550c
check descriptor before private field access (#12910)
* fix: check descriptor before private field access

* add test cases
2021-03-03 15:06:38 -05:00
Nicolò Ribaudo
771841f764
Fix _isNativeReflectConstruct helper (#8461) 2021-02-22 22:49:44 +01:00
Nicolò Ribaudo
8063fde0d8
Reuse the readOnlyError helper for private methods (#12792) 2021-02-12 14:33:23 +01:00
Сковорода Никита Андреевич
9907bd86c9
Avoid hitting __proto__ in _inheritsLoose (#12693) 2021-01-26 20:15:41 +01:00
Federico Ciardi
f7f0560bda
fix: wrong helper version (#12694) 2021-01-26 12:48:38 -05:00
Federico Ciardi
5a020b24b7
fix: throw error when accessing private method without a getter (#12689)
* fix: class private accessor without getter

* Provide default return if 'writeOnlyError' is not available

* Add warning for old `@babel/helpers`

* Add missing helper call
2021-01-26 11:16:47 -05:00
Nicolò Ribaudo
a967910b8b
Throw a TypeError when reassigning a const (#12252) 2020-10-25 22:30:28 +01:00
James C. Davis
9c565a97d5
chore: remove obsolete comment (#11953) 2020-08-13 12:43:07 +02:00
Nicolò Ribaudo
93978267ec
Add "allowArrayLike" opt to destructuring and spread transforms (#11265) 2020-05-24 23:00:06 +02:00
Nicolò Ribaudo
28231e1be6
Add "allowArrayLike" support to the for-of transform (#11266) 2020-05-24 22:58:47 +02:00
Nicolò Ribaudo
31b361b736
Use ?. where it represents the intended semantics (#11512) 2020-05-09 23:31:50 +02:00
Christoph Nakazawa
2bb2933dea
[helpers] Add a private function name within createSuper (#11514) 2020-05-04 23:30:53 +02:00
Chintan Acharya
93429f8b09
Fix helpers.unsupportedIterableToArray for Map and Set (#11495)
Fixes #11494
2020-04-28 07:27:03 +02:00
Justin Ridgewell
070ec201bb
Speed up the createSuper helper (#11401) 2020-04-10 16:00:20 +02:00
Nicolò Ribaudo
429dd2ce8a
Manually inline the createSuper helper on older Babel versions (#11298)
* Manually inline the createSuper helper on older Babel versions

* Forgot to commit this

* Add comments [skip ci]
2020-03-21 14:39:14 +01:00
Nicolò Ribaudo
3d8f48cb16
Don't use ES6 in the for-of helper (#11302) 2020-03-21 02:22:25 +01:00
Nicolò Ribaudo
fa7ec81771
Allow for-of on polyfilled or builtin iterables without Symbol support (#11285) 2020-03-19 11:02:12 +01:00
Nicolò Ribaudo
6f932978f8
Add for-of fallback for arrays in browsers without symbol supp… (#11263)
* Add for-of fallback for arrays in browsers without symbol support

* Update after rebase

* Re-throw error when iterating array

* Update fixture
2020-03-19 02:17:41 +01:00
Huáng Jùnliàng
4bf36e64da
Create File class for babel helpers (#10575)
* add test

* fix: pass File to helper traverser

* pass babel.File to helpers.ensure
2020-03-17 09:58:46 +01:00
Nicolò Ribaudo
10aa97bc10
Allow rest/spread on polyfilled or builtin iterables without Symbol support (#11268)
* 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
2020-03-17 08:14:05 +01:00
Nicolò Ribaudo
59976680df
Extract for-of iterator handling to a helper (#11262)
* 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
2020-03-17 00:45:34 +01:00
Nicolò Ribaudo
f6c7bf36ce
Allow extending untranspiled classes (#8656) 2020-03-16 23:59:15 +01:00
Nicolò Ribaudo
1ba41f2084
Throw better errors for non-iterables when Symbol doesn't exist (#11264) 2020-03-16 16:34:33 +01:00
Carlos Lopez
7b9bc7c28b
fix(rest-spread): Do not require Symbol.iterator for strings (#9794) 2020-03-15 14:54:44 +01:00
Nicolò Ribaudo
916429b516
Avoid compiling the _typeof helper with itself (#11049)
* Avoid compiling the typeof helper with itself

* Update fixtures
2020-01-27 22:02:34 +01:00
Tsubasa Nakayama
416ce35638 fix: Object.getOwnPropertySymbols called on non-object (#10902)
* fix: Object.getOwnPropertySymbols called on non-object

* convert Object
2019-12-22 00:16:51 +01:00