@@ -20,7 +20,7 @@ import qualified AST.Module.Name as ModuleName
20import qualified Compile
20import qualified Compile
21import qualified Docs.Check as Docs
21import qualified Docs.Check as Docs
22import qualified Elm.Compiler.Imports as Imports
22import qualified Elm.Compiler.Imports as Imports
23−import qualified Elm.Compiler.Module as PublicModule
23+import qualified Elm.Compiler.Module as M
24import qualified Elm.Compiler.Version
24import qualified Elm.Compiler.Version
25import qualified Elm.Docs as Docs
25import qualified Elm.Docs as Docs
26import qualified Elm.Package as Package
26import qualified Elm.Package as Package
@@ -55,7 +55,7 @@ data Tag
58−parseDependencies :: Maybe Package.Name -> Text -> Either Error (Tag, PublicModule.Raw, [PublicModule.Raw])
58+parseDependencies :: Maybe Package.Name -> Text -> Either Error (Tag, M.Raw, [M.Raw])
59parseDependencies maybePkgName sourceCode =
59parseDependencies maybePkgName sourceCode =
60 case Parse.run Parse.header sourceCode of
60 case Parse.run Parse.header sourceCode of
61 Right header ->
61 Right header ->
@@ -65,7 +65,7 @@ parseDependencies maybePkgName sourceCode =
65 Left (Error (A.map Error.Syntax err))
65 Left (Error (A.map Error.Syntax err))
68−getDeps :: Maybe Package.Name -> Module.Header [Module.UserImport] -> (Tag, PublicModule.Raw, [PublicModule.Raw])
68+getDeps :: Maybe Package.Name -> Module.Header [Module.UserImport] -> (Tag, M.Raw, [M.Raw])
69getDeps maybePkgName (Module.Header sourceTag name _ _ _ imports) =
69getDeps maybePkgName (Module.Header sourceTag name _ _ _ imports) =
@@ -88,15 +88,15 @@ getDeps maybePkgName (Module.Header sourceTag name _ _ _ imports) =
90{-| Compiles Elm source code to JavaScript. -}
90{-| Compiles Elm source code to JavaScript. -}
91−compile :: Context -> Text -> PublicModule.Interfaces -> (Localizer, [Warning], Either [Error] Result)
91+compile :: Context -> Text -> (Localizer, [Warning], Either [Error] Result)
92−compile context source interfaces =
92+compile context source =
94− (Context packageName isExposed dependencies) =
94+ (Context packageName exposed importDict interfaces) =
97 (Result.Result oneLocalizer warnings answer) =
97 (Result.Result oneLocalizer warnings answer) =
98− do modul <- Compile.compile packageName dependencies interfaces source
98+ do modul <- Compile.compile packageName importDict interfaces source
99− docs <- Result.format id (docsGen isExposed modul)
99+ docs <- Result.format id (docsGen exposed modul)
101 let interface = Module.toInterface packageName modul
101 let interface = Module.toInterface packageName modul
102 let javascript = {-# SCC elm_compiler_generate #-} JS.generate modul
102 let javascript = {-# SCC elm_compiler_generate #-} JS.generate modul
@@ -111,15 +111,16 @@ compile context source interfaces =
112data Context =
112data Context =
114− { _packageName :: Package.Name
114+ { _package :: Package.Name
115− , _isExposed :: Bool
115+ , _exposed :: Bool
116− , _dependencies :: [PublicModule.Canonical]
116+ , _imports :: Map.Map M.Raw M.Canonical
117+ , _interfaces :: M.Interfaces
120data Result = Result
121data Result = Result
121 { _docs :: Maybe Docs.Documentation
122 { _docs :: Maybe Docs.Documentation
122− , _interface :: PublicModule.Interface
123+ , _interface :: M.Interface
123 , _js :: LazyText.Text
124 , _js :: LazyText.Text