From 3bc7062d4cdf5547884f75806dd428fe5d5546a8 Mon Sep 17 00:00:00 2001 From: tpaktop Date: Thu, 8 Nov 2018 16:10:25 +1000 Subject: [PATCH] add debugger flag for non production builds in Elm (#2225) --- .../core/parcel-bundler/src/assets/ElmAsset.js | 1 + packages/core/parcel-bundler/test/elm.js | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/packages/core/parcel-bundler/src/assets/ElmAsset.js b/packages/core/parcel-bundler/src/assets/ElmAsset.js index 9fc3a543a2f..1bfa210140a 100644 --- a/packages/core/parcel-bundler/src/assets/ElmAsset.js +++ b/packages/core/parcel-bundler/src/assets/ElmAsset.js @@ -40,6 +40,7 @@ class ElmAsset extends Asset { await this.getConfig(['elm.json'], {load: false}); } + options.debug = !this.options.production; if (this.options.minify) { options.optimize = true; } diff --git a/packages/core/parcel-bundler/test/elm.js b/packages/core/parcel-bundler/test/elm.js index 31174c29615..7a350ce9248 100644 --- a/packages/core/parcel-bundler/test/elm.js +++ b/packages/core/parcel-bundler/test/elm.js @@ -14,6 +14,23 @@ describe('elm', function() { let output = await run(b); assert.equal(typeof output().Elm.Main.init, 'function'); }); + it('should produce a elm bundle with debugger', async function() { + let b = await bundle(__dirname + '/integration/elm/index.js'); + + await run(b); + let js = await fs.readFile(__dirname + '/dist/index.js', 'utf8'); + assert(js.includes('elm$browser$Debugger')); + }); + + it('should remove debugger in production', async function() { + let b = await bundle(__dirname + '/integration/elm/index.js', { + production: true + }); + + await run(b); + let js = await fs.readFile(__dirname + '/dist/index.js', 'utf8'); + assert(!js.includes('elm$browser$Debugger')); + }); it('should minify Elm in production mode', async function() { let b = await bundle(__dirname + '/integration/elm/index.js', {