diff --git a/src/finalisers/iife.js b/src/finalisers/iife.js index 6e11ef5..c497c2c 100644 --- a/src/finalisers/iife.js +++ b/src/finalisers/iife.js @@ -35,9 +35,10 @@ export default function iife ( bundle, magicString, { exportMode, indentString } args.unshift( 'exports' ); } - const useStrict = options.useStrict !== false ? ` 'use strict';` : ``; - let intro = `(function (${args}) {${useStrict}\n\n`; - let outro = `\n\n})(${dependencies});`; + const useStrict = options.useStrict !== false ? `'use strict';` : ``; + if ( useStrict ) magicString.prepend( useStrict + '\n\n' ); + let intro = `(function (${args}) {\n`; + let outro = `\n\n}(${dependencies}));`; if ( exportMode === 'default' ) { intro = ( isNamespaced ? `this.` : `var ` ) + `${name} = ${intro}`; diff --git a/test/form/banner-and-footer-plugin/_expected/iife.js b/test/form/banner-and-footer-plugin/_expected/iife.js index 03dc18b..36a9599 100644 --- a/test/form/banner-and-footer-plugin/_expected/iife.js +++ b/test/form/banner-and-footer-plugin/_expected/iife.js @@ -1,9 +1,10 @@ /* first banner */ /* second banner */ -(function () { 'use strict'; +(function () { + 'use strict'; console.log( 1 + 1 ); -})(); +}()); /* first footer */ /* second footer */ diff --git a/test/form/banner-and-footer/_expected/iife.js b/test/form/banner-and-footer/_expected/iife.js index 8135f24..37662b5 100644 --- a/test/form/banner-and-footer/_expected/iife.js +++ b/test/form/banner-and-footer/_expected/iife.js @@ -1,7 +1,8 @@ /* this is a banner */ -(function () { 'use strict'; +(function () { + 'use strict'; console.log( 'hello world' ); -})(); +}()); /* this is a footer */ diff --git a/test/form/block-comments/_expected/iife.js b/test/form/block-comments/_expected/iife.js index 41a0980..f8fbf52 100644 --- a/test/form/block-comments/_expected/iife.js +++ b/test/form/block-comments/_expected/iife.js @@ -1,4 +1,5 @@ -(function () { 'use strict'; +(function () { + 'use strict'; function foo () { return embiggen( 6, 7 ); @@ -16,4 +17,4 @@ alert( foo() ); -})(); +}()); diff --git a/test/form/dedupes-external-imports/_expected/iife.js b/test/form/dedupes-external-imports/_expected/iife.js index 6e465c7..17ed0b7 100644 --- a/test/form/dedupes-external-imports/_expected/iife.js +++ b/test/form/dedupes-external-imports/_expected/iife.js @@ -1,4 +1,5 @@ -(function (exports,external) { 'use strict'; +(function (exports,external) { + 'use strict'; class Foo extends external.Component { constructor () { @@ -29,4 +30,4 @@ exports.bar = bar; exports.baz = baz; -})((this.myBundle = {}),external); +}((this.myBundle = {}),external)); diff --git a/test/form/exclude-unnecessary-modifications/_expected/iife.js b/test/form/exclude-unnecessary-modifications/_expected/iife.js index 0fd4c40..9a3501b 100644 --- a/test/form/exclude-unnecessary-modifications/_expected/iife.js +++ b/test/form/exclude-unnecessary-modifications/_expected/iife.js @@ -1,4 +1,5 @@ -(function () { 'use strict'; +(function () { + 'use strict'; var foo = {}; @@ -25,4 +26,4 @@ console.log( foo ); -})(); +}());