diff --git a/packages/babel-helpers/src/helpers.js b/packages/babel-helpers/src/helpers.js index 7bb8038a3ce3..a000c2c9fc16 100644 --- a/packages/babel-helpers/src/helpers.js +++ b/packages/babel-helpers/src/helpers.js @@ -871,7 +871,7 @@ helpers.taggedTemplateLiteralLoose = helper("7.0.0-beta.0")` helpers.readOnlyError = helper("7.0.0-beta.0")` export default function _readOnlyError(name) { - throw new Error("\\"" + name + "\\" is read-only"); + throw new TypeError("\\"" + name + "\\" is read-only"); } `; diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/deadcode-violation/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/deadcode-violation/output.js index cd1955d27991..20ade3085499 100644 --- a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/deadcode-violation/output.js +++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/deadcode-violation/output.js @@ -1,4 +1,4 @@ -function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); } +function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); } (function () { var a = "foo"; diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/destructuring-assignment/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/destructuring-assignment/output.js index 1c642d30f3ca..2c6e0d3e5dd2 100644 --- a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/destructuring-assignment/output.js +++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/destructuring-assignment/output.js @@ -1,4 +1,4 @@ -function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); } +function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); } var a = 1, b = 2; diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/loop/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/loop/output.js index 8c07b3afab98..33cef8ad91b7 100644 --- a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/loop/output.js +++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/loop/output.js @@ -1,4 +1,4 @@ -function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); } +function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); } for (var i = 0; i < 3; i = (_readOnlyError("i"), i + 1)) { console.log(i); diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/nested-update-expressions/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/nested-update-expressions/output.js index 80e5f5ac116c..8bbef8353a42 100644 --- a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/nested-update-expressions/output.js +++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/nested-update-expressions/output.js @@ -1,4 +1,4 @@ -function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); } +function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); } var c = 17; var a = 0; diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/no-assignment/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/no-assignment/output.js index f6d05db78730..70fa89f31753 100644 --- a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/no-assignment/output.js +++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/no-assignment/output.js @@ -1,4 +1,4 @@ -function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); } +function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); } var MULTIPLIER = 5; MULTIPLIER = (_readOnlyError("MULTIPLIER"), "overwrite"); diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/no-for-in/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/no-for-in/output.js index 30340cc04ab4..b5c79de3dc92 100644 --- a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/no-for-in/output.js +++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/no-for-in/output.js @@ -1,4 +1,4 @@ -function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); } +function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); } var MULTIPLIER = 5; diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/update-expression-prefix/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/update-expression-prefix/output.js index b9991508ece8..db8cdac701ab 100644 --- a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/update-expression-prefix/output.js +++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/update-expression-prefix/output.js @@ -1,4 +1,4 @@ -function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); } +function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); } var a = "str"; _readOnlyError("a"), --a; diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/update-expression/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/update-expression/output.js index 392c434876a3..8c9e99ae4d93 100644 --- a/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/update-expression/output.js +++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/const-violations/update-expression/output.js @@ -1,4 +1,4 @@ -function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); } +function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); } var foo = 1; _readOnlyError("foo"), foo++; diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/constant-violation.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/constant-violation.js new file mode 100644 index 000000000000..ef249fcfae87 --- /dev/null +++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/constant-violation.js @@ -0,0 +1,2 @@ +const a = 1; +expect(() => { a = 2 }).toThrow(TypeError);