on master help sign in
Skip Elm.Kernel.Debugger unless in --debug mode
commitca941707b8416236adbde0025c38f09293d3ab7f authorEvan Czaplicki <evancz@users.noreply.github.com> dateMon 16 Apr 2018, 10:34 (9 years ago) parentdd988b0
3 files changed+31−6
compiler/src/Elm/Name.hs+6−1 compiler/src/Generate/JavaScript.hs+13−5 compiler/src/Generate/JavaScript/Mode.hs+12
compiler/src/Elm/Name.hs+6−1
@@ -27,7 +27,7 @@ module Elm.Name
2727 , int, float, bool, char, string
2828 , maybe, result, list, array, tuple, jsArray
2929 , task, router, cmd, sub, platform, browser, virtualDom
30− , shader, debug, bitwise, basics
30+ , shader, debug, debugger, bitwise, basics
3131 , utils, negate, value
3232 , node, program, main, dollar, identity
3333 )
@@ -271,6 +271,11 @@ debug :: Name
271271debug = "Debug"
272272
273273
274+{-# NOINLINE debugger #-}
275+debugger :: Name
276+debugger = "Debugger"
277+
278+
274279{-# NOINLINE bitwise #-}
275280bitwise :: Name
276281bitwise = "Bitwise"
compiler/src/Generate/JavaScript.hs+13−5
@@ -166,12 +166,15 @@ addGlobalHelp mode graph global state =
166166 generateManager mode graph global effectsType state
167167
168168 Opt.Kernel (Opt.KContent clientChunks clientDeps) maybeServer ->
169− case maybeServer of
170− Just (Opt.KContent serverChunks serverDeps) | Mode.isServer mode ->
171− addBuilder (addDeps serverDeps state) (generateKernel mode serverChunks)
169+ if isDebugger global && not (Mode.isDebug mode) then
170+ state
171+ else
172+ case maybeServer of
173+ Just (Opt.KContent serverChunks serverDeps) | Mode.isServer mode ->
174+ addBuilder (addDeps serverDeps state) (generateKernel mode serverChunks)
172175
173− _ ->
174− addBuilder (addDeps clientDeps state) (generateKernel mode clientChunks)
176+ _ ->
177+ addBuilder (addDeps clientDeps state) (generateKernel mode clientChunks)
175178
176179 Opt.Enum name index ->
177180 addStmt state (
@@ -209,6 +212,11 @@ var (Opt.Global home name) code =
209212 JS.Var [ (Name.fromGlobal home name, Just (Expr.codeToExpr code)) ]
210213
211214
215+isDebugger :: Opt.Global -> Bool
216+isDebugger (Opt.Global (ModuleName.Canonical _ home) _) =
217+ home == N.debugger
218+
219+
212220
213221-- GENERATE CYCLES
214222
compiler/src/Generate/JavaScript/Mode.hs+12
@@ -4,6 +4,7 @@ module Generate.JavaScript.Mode
44 , debug
55 , dev
66 , prod
7+ , isDebug
78 , isServer
89 )
910 where
@@ -11,6 +12,7 @@ module Generate.JavaScript.Mode
1112
1213import qualified Data.List as List
1314import qualified Data.Map as Map
15+import qualified Data.Maybe as Maybe
1416
1517import qualified AST.Optimized as Opt
1618import qualified Elm.Interface as I
@@ -46,6 +48,16 @@ prod target (Opt.Graph _ _ fieldCounts) =
4648
4749
4850
51+-- IS DEBUG?
52+
53+
54+isDebug :: Mode -> Bool
55+isDebug mode =
56+ case mode of
57+ Dev _ mi -> Maybe.isJust mi
58+ Prod _ _ -> False
59+
60+
4961-- IS SERVER?
5062
5163