module Haste.Compiler.Flags (
OptLevel (..), ProgStart (..), HasteTarget (..), MinifyFlag (..),
ClosureOpt,
CompileFlags,
defaultFlags,
cfOptimize, cfDebug, cfMinify, cfFullUnicode, cfOwnNamespace, cfStart,
cfJSFiles, cfTarget, cfUseStrict
) where
type ClosureOpt = String
data MinifyFlag = DontMinify | Minify (Maybe FilePath) [ClosureOpt]
data OptLevel = None | Basic | WholeProgram
data ProgStart = ASAP | OnLoad | Custom String
data HasteTarget = TargetFile FilePath | TargetString
data CompileFlags = CompileFlags {
cfOptimize :: OptLevel,
cfDebug :: Bool,
cfMinify :: MinifyFlag,
cfFullUnicode :: Bool,
cfOwnNamespace :: Bool,
cfStart :: ProgStart,
cfJSFiles :: [FilePath],
cfTarget :: HasteTarget,
cfUseStrict :: Bool
}
defaultFlags :: CompileFlags
defaultFlags = CompileFlags {
cfOptimize = Basic,
cfDebug = False,
cfMinify = DontMinify,
cfFullUnicode = False,
cfOwnNamespace = False,
cfStart = OnLoad,
cfJSFiles = [],
cfTarget = TargetString,
cfUseStrict = True
}