diff --git a/packages/rollup-plugin-babel/src/preflightCheck.js b/packages/rollup-plugin-babel/src/preflightCheck.js index e0f90b869..56cc9f5a5 100644 --- a/packages/rollup-plugin-babel/src/preflightCheck.js +++ b/packages/rollup-plugin-babel/src/preflightCheck.js @@ -22,7 +22,7 @@ export default function preflightCheck ( options, dir ) { if ( !~check.indexOf( 'export default' ) && !~check.indexOf( 'export { Foo as default }' ) ) throw new Error( 'It looks like your Babel configuration specifies a module transformer. Please disable it. See https://github.com/rollup/rollup-plugin-babel#configuring-babel for more information' ); - if ( /import _classCallCheck from ["']babel-runtime/.test( check ) ) helpers = RUNTIME; + if ( ~check.indexOf( 'import _classCallCheck from' ) ) helpers = RUNTIME; else if ( ~check.indexOf( 'function _classCallCheck' ) ) helpers = INLINE; else if ( ~check.indexOf( 'babelHelpers' ) ) helpers = BUNDLED; diff --git a/packages/rollup-plugin-babel/test/samples/runtime-helpers-custom-name/.babelrc b/packages/rollup-plugin-babel/test/samples/runtime-helpers-custom-name/.babelrc new file mode 100644 index 000000000..d0d490687 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/runtime-helpers-custom-name/.babelrc @@ -0,0 +1,6 @@ +{ + "presets": [ "es2015-rollup" ], + "plugins": [ + ["transform-runtime", { "moduleName": "custom-name" }] + ] +} diff --git a/packages/rollup-plugin-babel/test/samples/runtime-helpers-custom-name/main.js b/packages/rollup-plugin-babel/test/samples/runtime-helpers-custom-name/main.js new file mode 100644 index 000000000..b0cee91b2 --- /dev/null +++ b/packages/rollup-plugin-babel/test/samples/runtime-helpers-custom-name/main.js @@ -0,0 +1,3 @@ +export default class Foo { + +} diff --git a/packages/rollup-plugin-babel/test/test.js b/packages/rollup-plugin-babel/test/test.js index 07d21ae62..8024f68fa 100644 --- a/packages/rollup-plugin-babel/test/test.js +++ b/packages/rollup-plugin-babel/test/test.js @@ -157,6 +157,21 @@ describe( 'rollup-plugin-babel', function () { }); }); + it( 'allows transform-runtime to be used with custom moduleName', function () { + return rollup.rollup({ + entry: 'samples/runtime-helpers-custom-name/main.js', + plugins: [ + babelPlugin({ runtimeHelpers: true }) + ], + onwarn: function ( msg ) { + assert.equal( msg, 'Treating \'custom-name/helpers/classCallCheck\' as external dependency' ); + } + }).then( function ( bundle ) { + var cjs = bundle.generate({ format: 'cjs' }).code; + assert.ok( !~cjs.indexOf( 'babelHelpers' ) ); + }); + }); + it( 'correctly renames helpers (#22)', () => { return rollup.rollup({ entry: 'samples/named-function-helper/main.js',