13519 Commits

Author SHA1 Message Date
Siddhant N Trivedi
3c6a8ae200
Fix rewriteThis in helper-module-transforms for computed class… (#11109)
* Fix rewriteThis in helper-module-transforms for computed class elements

* Added test file and corrected the visitor

* Revert .gitignore

* Using skipAllButComputedKey method from plugin-replace-supers

* added tests for class methods

* Added tests for both class properties and methods and fixed skipping computed key for methods

* Fixed condition for class methods

* revised the conditions for class methods

* Added more tests and used else-if in classmethod condition

* Update packages/babel-helper-replace-supers/src/index.js

Co-Authored-By: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>

Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-02-12 21:19:10 +01:00
Siddhant N Trivedi
3fc904e1d4
Fix classNameTDZError in computed prototype methods with class fields (#11068)
* Draft fix for TDZError in computed prototype methods

* Added tests for loose:false and also extracted handleClassTDZ

* Added state parameter to handleClassTDZ function

* Extracted the state object to a variable

* Added helper comments for environmentVisitor

* Added else condition to traverse computed Path

* Cached computed path key into a variable
2020-02-12 11:55:38 +01:00
Brian Ng
157bb6e831
Fix typing of ReplaceSupers options (#11121)
* Fix type opts.getObjetRef to opts.getObjectRef

* Added // @flow to possibly catch for more errors.

* tweaks

Co-authored-by: InsignificantReasons <41794038+InsignificantReasons@users.noreply.github.com>
2020-02-11 10:55:46 +01:00
Martin Forsgren
bc308a1b15
Respect preserveComments option in tempate.ast() (#11112) 2020-02-11 10:34:21 +01:00
Daryl Tan
3907396bd8
Allow redeclaration of loop variable in body (#11088) 2020-02-11 10:19:03 +01:00
Huáng Jùnliàng
865d5155c2
Add eslint-plugin-jest (#11119)
* chore: add eslint-plugin-jest

* chore: update test sources

* chore: suppress preset-env debug log when linting
2020-02-11 00:11:32 +09:00
Nicolò Ribaudo
a4d5c6253e
Update preset-env fixtures (#11120) 2020-02-10 23:32:31 +09:00
Huáng Jùnliàng
df78258765 chore: use npm install in babel-test262-runner setup (#11113)
* chore: use npm i on babel-test262-runner

* chore: use npm ci
2020-02-10 07:53:44 +01:00
Huáng Jùnliàng
38529699d6
Refactor await/yield production parameter tracking (#10956)
* test: add test fixtures

* refactor: track AWAIT and YIELD in separate handler

* fix flow errors

* add flow type annotation to production-parameter

* address review comments

* refactor: track [Return] parameter
2020-02-09 15:31:29 +01:00
Nicolò Ribaudo
8ab27c8ffe Wrap type-only class fields in flow comments (#11096)
* Wrap type-only class fields in flow comments

* Fix
2020-02-09 11:45:42 +01:00
Vedant Roy
dadba01249 Fix export bindings not updated by 'for...in' and 'for...of' (#11074)
* Correctly transpile export bindings for some for-of loops

* Correctly transform non-destructured for of loops to update exported variables

* Add tests

* Don't replace entire for of loop

* Correctly transform destructured for-of/for-in exports

* Update exported variables in array pattern and more fixes

* Refresh test output

* Update tests and rebase on master

* Refactor ForOf|ForIn visitor

* Don't transform re-declared exported vars

* Generate better name for loop id

Co-Authored-By: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>

* Idiomatically generate UidIdentifier

* Update scope after replacing loop declaration

Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-02-09 11:41:29 +01:00
Kai Cataldo
5aa368cec1
Centralize @babel/eslint-* tests (#11106)
* Centralize @babel/eslint-* tests

* Enable linting of @babel/eslint-* test files

* Add missing sourceType
2020-02-08 10:04:49 -05:00
Huáng Jùnliàng
1599e9025d
fix: specify sourceFileName when generating inline sourcemaps (#10797) 2020-02-07 22:42:18 +01:00
Huáng Jùnliàng
0b3dea8f54
Turn on no-fallthrough rule (#11093)
* chore: turn on no-fallthrough

* chore: fix no-fallthrough errors
2020-02-07 22:05:19 +01:00
Nicolò Ribaudo
5e58903250
Remove stage presets from the monorepo (#11101)
babel/babel-archive already includes the last working version of these presets (v7.0.0-beta.52), and they have been throwing since 7.0.0
2020-02-06 18:02:59 +01:00
Nicolò Ribaudo
755ec192e2
Archive @babel/preset-env-standalone (#10993)
* Move @babel/preset-env-standalone to babel-archive

babel/babel-archive@a1fadd2d77

* Move tests to @babel/standalone

* Remove references in build scripts

* Update lockfile

* Delete duplicated test file.

It's already in babel-standalone/test/babel.js
2020-02-06 01:03:36 +01:00
Jacob Williams
761563571c
Make isReferenced return false for method parameter name (#11089)
* Change isReferenced to return false for object/class method parameter names.

* use indexOf instead of for-of loop

* replace `.indexOf` check with `.includes` and assume `parent.params` exists

Co-Authored-By: Justin Ridgewell <justin@ridgewell.name>

* check .params within case block for ClassMethod/ClassPrivateMethod/ObjectMethod only

* add comment clarifying that case clause fall-through is intentional

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
2020-02-06 00:59:16 +01:00
Nicolò Ribaudo
0ae61f060a
Update fixtures again (#11094) 2020-02-04 23:09:38 +01:00
Liam Doran
11d9826e77
Fix Async Generic After Await Parsing Error (#11092)
* test: add test case

* fix: reset awaitPos before parsing generic arrow fn

* fix: maybeInArrowParameters reset to true
2020-02-04 23:06:04 +01:00
Nicolò Ribaudo
636c1dc86d
Only download compat-table if it's not already downloaded (#11081)
* Only download compat-table if it's not already downloaded

* Use git rev-parse
2020-02-04 22:39:15 +01:00
Nicolò Ribaudo
bd1daa756e
Update fixtures after browserslist release (#11091) 2020-02-04 09:19:14 +01:00
Brian Ng
779f00b8e9
Update @babel deps (#11072) 2020-02-01 01:00:47 +01:00
Kai Cataldo
f987821099
Clean babel-eslint-*/**/lib (#11070) 2020-01-31 20:49:27 +01:00
Nicolò Ribaudo
4070b7a7f6 Update changelog [skip ci] 2020-01-31 19:59:51 +01:00
Babel Bot
011f11c1de Add v7.8.5 to CHANGELOG.md [skip ci] 2020-01-31 18:53:09 +00:00
Nicolò Ribaudo
11641b5f70 v7.8.5 2020-01-31 19:43:51 +01:00
Daniel Tschinder
7ee98363df
Do not publish build directory of compat-data (#11078) [skip ci] 2020-01-31 19:40:50 +01:00
Kai Cataldo
66721eaa0e
Further refactoring of @babel/eslint-parser (#11071) 2020-01-31 00:07:26 +01:00
Nicolò Ribaudo
d57b9aabdd
Update CHANGELOG.md [skip ci] 2020-01-30 13:49:20 +01:00
Nicolò Ribaudo
8b13513daa
Update CHANGELOG.md [skip ci] 2020-01-30 13:47:56 +01:00
Babel Bot
32de1ac97b Add v7.8.4 to CHANGELOG.md [skip ci] 2020-01-30 12:21:40 +00:00
Nicolò Ribaudo
5c2e6bc07f v7.8.4 2020-01-30 13:18:09 +01:00
Nicolò Ribaudo
92c6807ae8
[@babel/cli] Copy ignored files by default (#11063)
This commit restores the pre-7.8.0 behavior of the --copy-files option, by making
--copy-ignored default to true when --copy-files is enabled.
2020-01-30 13:01:04 +01:00
Daniel Tschinder
1528d7d2d3
Fix core-js 2 builtin data for opera (#11066) 2020-01-29 18:14:26 +01:00
Tan Li Hau
3e21a09da3 feat: support node 6 for levenary (#11059) 2020-01-28 06:57:35 +01:00
Nicolò Ribaudo
eae6211258
Update compat table (#11039)
* Fix compat-data build script

* Update compat table

* Update mappings for transform-parameters

kangax/compat-table#1570

* Update unrelated fixture

* Update
2020-01-27 22:23:27 +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
Pavel Pustovalov
d0518b7566 Update browserslist (#11058) 2020-01-27 21:54:18 +01:00
Nicolò Ribaudo
2e5594d562 Update failing tests after last merged PR 2020-01-24 23:07:34 +01:00
Nicolò Ribaudo
ed47d2e89a
Delete duplicated file in @babel/compat-data (#11041)
This file is the same as `native-modules.json`, which is exported in package.json
2020-01-24 22:45:37 +01:00
Huáng Jùnliàng
b54a946048 chore: map mobile browser data to their desktop version (#10814)
* chore: map mobile browser data to their desktop version

* chore: skip android until upstream support is resolved

* Revert "chore: skip android until upstream support is resolved"

This reverts commit 436e9af8297b284a426b5a3240e2a550a20fca86.

* Update fixtures

Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-01-24 22:40:11 +01:00
Nicolò Ribaudo
1815c34987
Update preset-env fixtures (#11040) 2020-01-21 22:46:49 +01:00
Huáng Jùnliàng
fa975bf7cd polish: throw human-friendly error when item-option pair is in… (#10969)
* polish: throw human-friendly error when item-option pair is incorrectly unwrapped

* add testcase for plugin

* fix: exclude false positive

* fix: validate should support plugin optionsSourceKind

* Revert "fix: validate should support plugin optionsSourceKind"

* fix: validate plugin object in assertNoUnwrappedItemOptionPairs

* fix flow error

* update test fixtures

* refactor: move to loadDescriptor catch clause

* chore: throw Error instead of builtin ReferenceError

* fix flow errors

* chore: add more test cases
2020-01-20 21:05:07 +01:00
Huáng Jùnliàng
43b23e0869 refactor: simplify toAssignable routine (#11032)
* refactor: remove isBinding parameter

* remove unused contextDescription

* refactor: remove unnecessary nullish check

* refactor: simplify toAssignable on ParenthesizedExpression

* tests: categorize createParenthesizedExpression tests
2020-01-20 21:04:16 +01:00
Chunpeng Huo
9bc04baeb5 fix(babel-parser): avoid state.clone() to clone the whole token store (#11029)
* fix(babel-parser): avoid state.clone() to clone the whole token store

Fixed the performance issue on large input when turned on option {tokens: true} and typescript plugin which uses quite a few state.clone().

* test(babel-parser): turn on 2 typescript tests with tokens:true

The output.json is generated by old master to make sure no regression.

* fix(babel-parser): avoid duplicated tokens trapped by mainly typescript/flow plugins

* test(babel-parser): update output.json to latest master result

* chore(babel-parser): improve performance by storing tokensLength in state
2020-01-19 22:38:33 -05:00
Erlend Tobiassen
740064ced7 Fix missing ClassDeclaration references after scope#crawl (#11011)
* Bug replication test

* Simplify test

* Fixes #10896

* Merge path.crawl `ClassDeclaration` and `Declaration` visitors

Merged to avoid subtle assumption that `Declaration` is called before `ClassDeclaration`

* Move registartion of class id in crawl to BlockScoped

* Add some assertions to crawl test
2020-01-19 21:32:05 -05:00
Nicolò Ribaudo
2b23c283dd
Check that generated compat-data is up to date on CI (#11024) 2020-01-20 01:42:47 +01:00
Huáng Jùnliàng
de75dbf2a0 update compat-data related docs/config [skip ci] (#11030)
* ignore compat-data build

* ignore CONTRIBUTING.md when publishing preset-env

* docs: update preset-env CONTRIBUTING.md
2020-01-20 01:00:38 +01:00
Huáng Jùnliàng
facfd4d8a1 Enable no-process-exit ESLint rule (#11025) 2020-01-20 00:48:47 +01:00
Vedant Roy
341964bd4e fix: properly parse member expression after property initializ… (#11031)
Fixes issue 10989 where the only the identifier in a member expression that is the value of an object property would be parsed. Removing checkExpressionErrors in parseExprSubscripts results in the subscript also being parsed.
2020-01-20 00:33:09 +01:00