diff --git a/packages/babel-plugin-transform-runtime/src/index.js b/packages/babel-plugin-transform-runtime/src/index.js index ca203e13b20b..6ad3e6788f91 100644 --- a/packages/babel-plugin-transform-runtime/src/index.js +++ b/packages/babel-plugin-transform-runtime/src/index.js @@ -358,6 +358,8 @@ export default declare((api, options, dirname) => { enter(path) { if (!injectCoreJS) return; if (!path.isReferenced()) return; + // skip transforming `delete something.includes` + if (path.parentPath.isUnaryExpression({ operator: "delete" })) return; const { node } = path; const { object } = node; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-instance-methods/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-instance-methods/input.js index acc2a7ea7ae3..360a6e1bb352 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-instance-methods/input.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-instance-methods/input.js @@ -86,3 +86,4 @@ object.values(arg); Function.bind object.something(arg); +delete object.bind; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-instance-methods/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-instance-methods/output.js index 8afcf571496b..316a871a3f4c 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-instance-methods/output.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-instance-methods/output.js @@ -240,3 +240,4 @@ _valuesInstanceProperty(object).call(object, arg); _bindInstanceProperty(Function); object.something(arg); +delete object.bind; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-static-methods/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-static-methods/input.js index 3406e76937be..621f71837ac1 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-static-methods/input.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-static-methods/input.js @@ -121,3 +121,4 @@ JSON.parse Math.pow Symbol.something +delete Array.from diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-static-methods/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-static-methods/output.js index 28156f8a6e85..56aa60e66b21 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-static-methods/output.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/built-in-static-methods/output.js @@ -275,3 +275,4 @@ Date.something; JSON.parse; Math.pow; _Symbol.something; +delete Array.from; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/input.js index 058b73e37aac..71686c891ae8 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/input.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/input.js @@ -5,3 +5,5 @@ keys(bar).includes; foo.includes.apply(bar, [1, 2]); foo.includes = 42; + +delete foo.includes; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/output.js index ae165e25b1e7..b440205f82f1 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/output.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs3/instance-get/output.js @@ -7,3 +7,4 @@ _includesInstanceProperty(keys(bar)); _includesInstanceProperty(foo).apply(bar, [1, 2]); foo.includes = 42; +delete foo.includes;