Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.PureScript.Bundle
Description
Bundles compiled PureScript modules for the browser.
This module takes as input the individual generated modules from Make
and
performs dead code elimination, filters empty modules,
and generates the final JavaScript bundle.
Synopsis
- data ModuleIdentifier = ModuleIdentifier String ModuleType
- data ModuleType
- data ErrorMessage
- printErrorMessage :: ErrorMessage -> [String]
- data ForeignModuleExports = ForeignModuleExports {
- cjsExports :: [String]
- esExports :: [String]
- getExportedIdentifiers :: MonadError ErrorMessage m => String -> JSAST -> m ForeignModuleExports
- data ForeignModuleImports = ForeignModuleImports {
- cjsImports :: [String]
- esImports :: [String]
- getImportedModules :: MonadError ErrorMessage m => String -> JSAST -> m ForeignModuleImports
- data Module
Documentation
data ModuleIdentifier #
A module is identified by its module name and its type.
Constructors
ModuleIdentifier String ModuleType |
Instances
data ModuleType #
Modules are either "regular modules" (i.e. those generated by the PureScript compiler) or foreign modules.
Instances
NFData ModuleType # | |||||
Defined in Language.PureScript.Bundle Methods rnf :: ModuleType -> () # | |||||
Generic ModuleType # | |||||
Defined in Language.PureScript.Bundle Associated Types
| |||||
Show ModuleType # | |||||
Defined in Language.PureScript.Bundle Methods showsPrec :: Int -> ModuleType -> ShowS # show :: ModuleType -> String # showList :: [ModuleType] -> ShowS # | |||||
Eq ModuleType # | |||||
Defined in Language.PureScript.Bundle | |||||
Ord ModuleType # | |||||
Defined in Language.PureScript.Bundle Methods compare :: ModuleType -> ModuleType -> Ordering # (<) :: ModuleType -> ModuleType -> Bool # (<=) :: ModuleType -> ModuleType -> Bool # (>) :: ModuleType -> ModuleType -> Bool # (>=) :: ModuleType -> ModuleType -> Bool # max :: ModuleType -> ModuleType -> ModuleType # min :: ModuleType -> ModuleType -> ModuleType # | |||||
type Rep ModuleType # | |||||
data ErrorMessage #
The type of error messages. We separate generation and rendering of errors using a data type, in case we need to match on error types later.
Constructors
UnsupportedModulePath String | |
InvalidTopLevel | |
UnableToParseModule String | |
UnsupportedImport | |
UnsupportedExport | |
ErrorInModule ModuleIdentifier ErrorMessage | |
MissingEntryPoint String | |
MissingMainModule String |
Instances
NFData ErrorMessage # | |||||
Defined in Language.PureScript.Bundle Methods rnf :: ErrorMessage -> () # | |||||
Generic ErrorMessage # | |||||
Defined in Language.PureScript.Bundle Associated Types
| |||||
Show ErrorMessage # | |||||
Defined in Language.PureScript.Bundle Methods showsPrec :: Int -> ErrorMessage -> ShowS # show :: ErrorMessage -> String # showList :: [ErrorMessage] -> ShowS # | |||||
type Rep ErrorMessage # | |||||
Defined in Language.PureScript.Bundle type Rep ErrorMessage = D1 ('MetaData "ErrorMessage" "Language.PureScript.Bundle" "purescript-0.15.15-8K0LbmS63k4ILju2RsIrDp" 'False) (((C1 ('MetaCons "UnsupportedModulePath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "InvalidTopLevel" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UnableToParseModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "UnsupportedImport" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UnsupportedExport" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ErrorInModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleIdentifier) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ErrorMessage))) :+: (C1 ('MetaCons "MissingEntryPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "MissingMainModule" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) |
printErrorMessage :: ErrorMessage -> [String] #
Prepare an error message for consumption by humans.
data ForeignModuleExports #
Constructors
ForeignModuleExports | |
Fields
|
Instances
Monoid ForeignModuleExports # | |
Defined in Language.PureScript.Bundle Methods mempty :: ForeignModuleExports # mappend :: ForeignModuleExports -> ForeignModuleExports -> ForeignModuleExports # | |
Semigroup ForeignModuleExports # | |
Defined in Language.PureScript.Bundle Methods (<>) :: ForeignModuleExports -> ForeignModuleExports -> ForeignModuleExports # sconcat :: NonEmpty ForeignModuleExports -> ForeignModuleExports # stimes :: Integral b => b -> ForeignModuleExports -> ForeignModuleExports # | |
Show ForeignModuleExports # | |
Defined in Language.PureScript.Bundle Methods showsPrec :: Int -> ForeignModuleExports -> ShowS # show :: ForeignModuleExports -> String # showList :: [ForeignModuleExports] -> ShowS # |
getExportedIdentifiers :: MonadError ErrorMessage m => String -> JSAST -> m ForeignModuleExports #
data ForeignModuleImports #
Constructors
ForeignModuleImports | |
Fields
|
Instances
Monoid ForeignModuleImports # | |
Defined in Language.PureScript.Bundle Methods mempty :: ForeignModuleImports # mappend :: ForeignModuleImports -> ForeignModuleImports -> ForeignModuleImports # | |
Semigroup ForeignModuleImports # | |
Defined in Language.PureScript.Bundle Methods (<>) :: ForeignModuleImports -> ForeignModuleImports -> ForeignModuleImports # sconcat :: NonEmpty ForeignModuleImports -> ForeignModuleImports # stimes :: Integral b => b -> ForeignModuleImports -> ForeignModuleImports # | |
Show ForeignModuleImports # | |
Defined in Language.PureScript.Bundle Methods showsPrec :: Int -> ForeignModuleImports -> ShowS # show :: ForeignModuleImports -> String # showList :: [ForeignModuleImports] -> ShowS # |
getImportedModules :: MonadError ErrorMessage m => String -> JSAST -> m ForeignModuleImports #