From c738d8d388f87a8d7988ede5c67b1f88d9564fea Mon Sep 17 00:00:00 2001 From: Logan Smyth Date: Sat, 1 Aug 2015 10:09:00 -0700 Subject: [PATCH 1/6] Map commonjs named imports back to the correct location - fixes #1987 --- .../src/transformation/modules/common.js | 3 ++- .../imports-named/source-mappings.json | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 packages/babel/test/fixtures/transformation/es6.modules-common/imports-named/source-mappings.json diff --git a/packages/babel/src/transformation/modules/common.js b/packages/babel/src/transformation/modules/common.js index 55aced378f..c23a8434ca 100644 --- a/packages/babel/src/transformation/modules/common.js +++ b/packages/babel/src/transformation/modules/common.js @@ -92,7 +92,8 @@ export default class CommonJSFormatter extends DefaultFormatter { ])); } else { // import { foo } from "foo"; - this.remaps.add(scope, variableName.name, t.memberExpression(ref, specifier.imported)); + this.remaps.add(scope, variableName.name, + t.memberExpression(ref, t.identifier(specifier.imported.name))); } } } diff --git a/packages/babel/test/fixtures/transformation/es6.modules-common/imports-named/source-mappings.json b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-named/source-mappings.json new file mode 100644 index 0000000000..1b44ef3d04 --- /dev/null +++ b/packages/babel/test/fixtures/transformation/es6.modules-common/imports-named/source-mappings.json @@ -0,0 +1,19 @@ +[{ + "original": { + "line": 6, + "column": 0 + }, + "generated": { + "line": 5, + "column": 6 + } +}, { + "original": { + "line": 9, + "column": 0 + }, + "generated": { + "line": 8, + "column": 6 + } +}] From 04aedf37b48c25e1c2712c8df1ac5003d6afd1b5 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Mon, 10 Aug 2015 19:03:13 -0400 Subject: [PATCH 2/6] fix unexpected token issue for regex after block case - Ex: `if (1) {} /foo/` Fixes babel/babel-eslint#161 Ref marijnh/acorn#289 --- packages/babylon/src/tokenizer/index.js | 2 +- .../categorized/regex-after-block/actual.js | 4 + .../regex-after-block/expected.json | 120 ++++++++++++++++++ 3 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 packages/babylon/test/fixtures/core/categorized/regex-after-block/actual.js create mode 100644 packages/babylon/test/fixtures/core/categorized/regex-after-block/expected.json diff --git a/packages/babylon/src/tokenizer/index.js b/packages/babylon/src/tokenizer/index.js index 8b40220364..7bff031091 100644 --- a/packages/babylon/src/tokenizer/index.js +++ b/packages/babylon/src/tokenizer/index.js @@ -786,7 +786,7 @@ export default class Tokenizer { return lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start)); } - if (prevType === tt._else || prevType === tt.semi || prevType === tt.eof) { + if (prevType === tt._else || prevType === tt.semi || prevType === tt.eof || prevType === tt.parenR) { return true; } diff --git a/packages/babylon/test/fixtures/core/categorized/regex-after-block/actual.js b/packages/babylon/test/fixtures/core/categorized/regex-after-block/actual.js new file mode 100644 index 0000000000..eaf38a64b8 --- /dev/null +++ b/packages/babylon/test/fixtures/core/categorized/regex-after-block/actual.js @@ -0,0 +1,4 @@ +if (true) { +} + +/foo/ \ No newline at end of file diff --git a/packages/babylon/test/fixtures/core/categorized/regex-after-block/expected.json b/packages/babylon/test/fixtures/core/categorized/regex-after-block/expected.json new file mode 100644 index 0000000000..baf001440d --- /dev/null +++ b/packages/babylon/test/fixtures/core/categorized/regex-after-block/expected.json @@ -0,0 +1,120 @@ +{ + "type": "File", + "start": 0, + "end": 20, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 4, + "column": 5 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 20, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 4, + "column": 5 + } + }, + "sourceType": "script", + "body": [ + { + "type": "IfStatement", + "start": 0, + "end": 13, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 2, + "column": 1 + } + }, + "test": { + "type": "Literal", + "start": 4, + "end": 8, + "loc": { + "start": { + "line": 1, + "column": 4 + }, + "end": { + "line": 1, + "column": 8 + } + }, + "value": true, + "rawValue": true, + "raw": "true" + }, + "consequent": { + "type": "BlockStatement", + "start": 10, + "end": 13, + "loc": { + "start": { + "line": 1, + "column": 10 + }, + "end": { + "line": 2, + "column": 1 + } + }, + "body": [] + }, + "alternate": null + }, + { + "type": "ExpressionStatement", + "start": 15, + "end": 20, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 5 + } + }, + "expression": { + "type": "Literal", + "start": 15, + "end": 20, + "loc": { + "start": { + "line": 4, + "column": 0 + }, + "end": { + "line": 4, + "column": 5 + } + }, + "value": {}, + "rawValue": {}, + "raw": "/foo/", + "regex": { + "pattern": "foo", + "flags": "" + } + } + } + ] + } +} \ No newline at end of file From f60df124496b74c5d76e493eeb3d711eb97a7f63 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Mon, 10 Aug 2015 19:31:26 -0400 Subject: [PATCH 3/6] fix broken test from regex-after-block --- .../fixtures/core/categorized/regex-after-block/expected.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/babylon/test/fixtures/core/categorized/regex-after-block/expected.json b/packages/babylon/test/fixtures/core/categorized/regex-after-block/expected.json index baf001440d..9865ab3100 100644 --- a/packages/babylon/test/fixtures/core/categorized/regex-after-block/expected.json +++ b/packages/babylon/test/fixtures/core/categorized/regex-after-block/expected.json @@ -106,8 +106,6 @@ "column": 5 } }, - "value": {}, - "rawValue": {}, "raw": "/foo/", "regex": { "pattern": "foo", From e273d9bfe1cebca424a6aadf65cde327570c8e25 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 11 Aug 2015 00:59:58 +0100 Subject: [PATCH 4/6] expose File --- packages/babel/src/api/node.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/babel/src/api/node.js b/packages/babel/src/api/node.js index cc1e3ef9fd..2757175e45 100644 --- a/packages/babel/src/api/node.js +++ b/packages/babel/src/api/node.js @@ -8,6 +8,7 @@ export { util, babylon as acorn, transform }; export { pipeline } from "../transformation"; export { canCompile } from "../util"; +export { default as File } from "../transformation/file"; export { default as options } from "../transformation/file/options/config"; export { default as Plugin } from "../transformation/plugin"; export { default as Transformer } from "../transformation/transformer"; From 6429cc69b5f87d005784051fad2f5ca0a3e5f4fb Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 11 Aug 2015 01:00:54 +0100 Subject: [PATCH 5/6] v5.8.22 --- VERSION | 2 +- packages/babel/package.json | 4 ++-- packages/babylon/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/VERSION b/VERSION index 0fe15a58a4..694a2b5eb3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.8.21 \ No newline at end of file +5.8.22 \ No newline at end of file diff --git a/packages/babel/package.json b/packages/babel/package.json index bb5d996d5e..a308a5128a 100644 --- a/packages/babel/package.json +++ b/packages/babel/package.json @@ -1,6 +1,6 @@ { "name": "babel-core", - "version": "5.8.21", + "version": "5.8.22", "description": "A compiler for writing next generation JavaScript", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", @@ -42,7 +42,7 @@ "babel-plugin-runtime": "^1.0.7", "babel-plugin-undeclared-variables-check": "^1.0.2", "babel-plugin-undefined-to-void": "^1.1.6", - "babylon": "^5.8.21", + "babylon": "^5.8.22", "bluebird": "^2.9.33", "chalk": "^1.0.0", "convert-source-map": "^1.1.0", diff --git a/packages/babylon/package.json b/packages/babylon/package.json index c61717350e..0da5690336 100644 --- a/packages/babylon/package.json +++ b/packages/babylon/package.json @@ -1,6 +1,6 @@ { "name": "babylon", - "version": "5.8.21", + "version": "5.8.22", "description": "", "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", From f8a2efb76f88415e15fa9db24ee4b0c2ee1e24e3 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 11 Aug 2015 01:04:37 +0100 Subject: [PATCH 6/6] add 5.8.22 changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccc7d40667..33452f9e98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,13 @@ _Note: Gaps between patch versions are faulty, broken or test releases._ See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog. +## 5.8.22 + + * **Bug Fix** + * Fix bug causing regexes to cause a syntax error after a block. + * **Internal** + * Expose `File`. + ## 5.8.21 * **New Feature**