From 93927837381f71ef6afb008720dc3e7676de36a7 Mon Sep 17 00:00:00 2001 From: Logan Smyth Date: Thu, 2 Aug 2018 18:25:15 -0700 Subject: [PATCH] Remove helpersNamespace in favor of helperGenerator. --- packages/babel-core/src/transformation/file/file.js | 13 ++++++++++--- packages/babel-helper-module-imports/test/index.js | 7 ++++++- packages/babel-plugin-external-helpers/src/index.js | 7 ++++++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/packages/babel-core/src/transformation/file/file.js b/packages/babel-core/src/transformation/file/file.js index d0da2fc6ce..71e61a808d 100644 --- a/packages/babel-core/src/transformation/file/file.js +++ b/packages/babel-core/src/transformation/file/file.js @@ -65,6 +65,16 @@ export default class File { } set(key: mixed, val: mixed) { + if (key === "helpersNamespace") { + throw new Error( + "Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility." + + "If you are using @babel/plugin-external-helpers you will need to use a newer " + + "version than the one you currently have installed. " + + "If you have your own implementation, you'll want to explore using 'helperGenerator' " + + "alongside 'file.availableHelper()'.", + ); + } + this._map.set(key, val); } @@ -166,12 +176,9 @@ export default class File { if (declar) return t.cloneNode(declar); const generator = this.get("helperGenerator"); - const runtime = this.get("helpersNamespace"); if (generator) { const res = generator(name); if (res) return res; - } else if (runtime) { - return t.memberExpression(t.cloneNode(runtime), t.identifier(name)); } const uid = (this.declarations[name] = this.scope.generateUidIdentifier( diff --git a/packages/babel-helper-module-imports/test/index.js b/packages/babel-helper-module-imports/test/index.js index 5d7ba0fb3e..9320fe5c6f 100644 --- a/packages/babel-helper-module-imports/test/index.js +++ b/packages/babel-helper-module-imports/test/index.js @@ -18,7 +18,12 @@ function test(sourceType, opts, initializer, expectedCode) { function({ types: t }) { return { pre(file) { - file.set("helpersNamespace", t.identifier("babelHelpers")); + file.set("helperGenerator", name => + t.memberExpression( + t.identifier("babelHelpers"), + t.identifier(name), + ), + ); }, visitor: { Program(path) { diff --git a/packages/babel-plugin-external-helpers/src/index.js b/packages/babel-plugin-external-helpers/src/index.js index 219da24f9b..98ec935adc 100644 --- a/packages/babel-plugin-external-helpers/src/index.js +++ b/packages/babel-plugin-external-helpers/src/index.js @@ -6,7 +6,12 @@ export default declare(api => { return { pre(file) { - file.set("helpersNamespace", t.identifier("babelHelpers")); + file.set("helperGenerator", name => { + return t.memberExpression( + t.identifier("babelHelpers"), + t.identifier(name), + ); + }); }, }; });