Safe Haskell | Safe-Inferred |
---|---|
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 :: forall m. MonadError ErrorMessage m => String -> JSAST -> m ForeignModuleExports
- data ForeignModuleImports = ForeignModuleImports {
- cjsImports :: [String]
- esImports :: [String]
- getImportedModules :: forall m. MonadError ErrorMessage m => String -> JSAST -> m ForeignModuleImports
- data Module
Documentation
data ModuleIdentifier Source #
A module is identified by its module name and its type.
Constructors
ModuleIdentifier String ModuleType |
Instances
data ModuleType Source #
Modules are either "regular modules" (i.e. those generated by the PureScript compiler) or foreign modules.
Instances
Generic ModuleType Source # | |
Defined in Language.PureScript.Bundle Associated Types type Rep ModuleType :: Type -> Type # | |
Show ModuleType Source # | |
Defined in Language.PureScript.Bundle Methods showsPrec :: Int -> ModuleType -> ShowS # show :: ModuleType -> String # showList :: [ModuleType] -> ShowS # | |
NFData ModuleType Source # | |
Defined in Language.PureScript.Bundle Methods rnf :: ModuleType -> () # | |
Eq ModuleType Source # | |
Defined in Language.PureScript.Bundle | |
Ord ModuleType Source # | |
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 Source # | |
data ErrorMessage Source #
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
Instances
printErrorMessage :: ErrorMessage -> [String] Source #
Prepare an error message for consumption by humans.
data ForeignModuleExports Source #
Constructors
ForeignModuleExports | |
Fields
|
Instances
Monoid ForeignModuleExports Source # | |
Defined in Language.PureScript.Bundle Methods mempty :: ForeignModuleExports # mappend :: ForeignModuleExports -> ForeignModuleExports -> ForeignModuleExports # | |
Semigroup ForeignModuleExports Source # | |
Defined in Language.PureScript.Bundle Methods (<>) :: ForeignModuleExports -> ForeignModuleExports -> ForeignModuleExports # sconcat :: NonEmpty ForeignModuleExports -> ForeignModuleExports # stimes :: Integral b => b -> ForeignModuleExports -> ForeignModuleExports # | |
Show ForeignModuleExports Source # | |
Defined in Language.PureScript.Bundle Methods showsPrec :: Int -> ForeignModuleExports -> ShowS # show :: ForeignModuleExports -> String # showList :: [ForeignModuleExports] -> ShowS # |
getExportedIdentifiers :: forall m. MonadError ErrorMessage m => String -> JSAST -> m ForeignModuleExports Source #
data ForeignModuleImports Source #
Constructors
ForeignModuleImports | |
Fields
|
Instances
Monoid ForeignModuleImports Source # | |
Defined in Language.PureScript.Bundle Methods mempty :: ForeignModuleImports # mappend :: ForeignModuleImports -> ForeignModuleImports -> ForeignModuleImports # | |
Semigroup ForeignModuleImports Source # | |
Defined in Language.PureScript.Bundle Methods (<>) :: ForeignModuleImports -> ForeignModuleImports -> ForeignModuleImports # sconcat :: NonEmpty ForeignModuleImports -> ForeignModuleImports # stimes :: Integral b => b -> ForeignModuleImports -> ForeignModuleImports # | |
Show ForeignModuleImports Source # | |
Defined in Language.PureScript.Bundle Methods showsPrec :: Int -> ForeignModuleImports -> ShowS # show :: ForeignModuleImports -> String # showList :: [ForeignModuleImports] -> ShowS # |
getImportedModules :: forall m. MonadError ErrorMessage m => String -> JSAST -> m ForeignModuleImports Source #