| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Web.Bower.PackageMeta
Contents
Description
A data type representing the Bower.json package description file, together with a parser and related functions.
This code is based on the specification at https://github.com/bower/bower.json-spec.
Synopsis
- data PackageMeta = PackageMeta {
- bowerName :: PackageName
- bowerDescription :: Maybe Text
- bowerMain :: [FilePath]
- bowerModuleType :: [ModuleType]
- bowerLicense :: [Text]
- bowerIgnore :: [Text]
- bowerKeywords :: [Text]
- bowerAuthors :: [Author]
- bowerHomepage :: Maybe Text
- bowerRepository :: Maybe Repository
- bowerDependencies :: [(PackageName, VersionRange)]
- bowerDevDependencies :: [(PackageName, VersionRange)]
- bowerResolutions :: [(PackageName, Version)]
- bowerPrivate :: Bool
- data PackageName
- runPackageName :: PackageName -> Text
- mkPackageName :: Text -> Either PackageNameError PackageName
- data Author = Author {}
- data ModuleType
- moduleTypes :: [(Text, ModuleType)]
- data Repository = Repository {}
- newtype Version = Version {
- runVersion :: Text
- newtype VersionRange = VersionRange {}
- data BowerError
- showBowerError :: BowerError -> Text
- data PackageNameError
- showPackageNameError :: PackageNameError -> Text
- decodeFile :: FilePath -> IO (Either (ParseError BowerError) PackageMeta)
- displayError :: ParseError BowerError -> Text
- asPackageMeta :: Parse BowerError PackageMeta
- parseModuleType :: Text -> Either BowerError ModuleType
- parsePackageName :: Text -> Either BowerError PackageName
- asAuthor :: Parse e Author
- asRepository :: Parse e Repository
Data types
data PackageMeta #
A data type representing the data stored in a bower.json package manifest file.
Note that the ToJSON / FromJSON instances don't exactly match; for
example, it is not always the case that decoding from JSON and then encoding
to JSON will give you the exact same JSON that you started with. However, if
you start with a PackageMeta value, encode to JSON, and then decode, you
should always get the same value back.
Constructors
| PackageMeta | |
Fields
| |
Instances
data PackageName #
A valid package name for a Bower package.
Instances
runPackageName :: PackageName -> Text #
mkPackageName :: Text -> Either PackageNameError PackageName #
A smart constructor for a PackageName. It ensures that the package name satisfies the restrictions described at https://github.com/bower/bower.json-spec#name.
Constructors
| Author | |
Fields
| |
Instances
| Eq Author # | |
| Ord Author # | |
| Show Author # | |
| Generic Author # | |
| ToJSON Author # | |
Defined in Web.Bower.PackageMeta.Internal | |
| FromJSON Author # | |
| NFData Author # | |
Defined in Web.Bower.PackageMeta.Internal | |
| type Rep Author # | |
Defined in Web.Bower.PackageMeta.Internal type Rep Author = D1 (MetaData "Author" "Web.Bower.PackageMeta.Internal" "bower-json-1.0.0.1-5pUShOz5JarH1GgyxOUKEV" False) (C1 (MetaCons "Author" PrefixI True) (S1 (MetaSel (Just "authorName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "authorEmail") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "authorHomepage") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text))))) | |
data ModuleType #
Instances
moduleTypes :: [(Text, ModuleType)] #
data Repository #
Constructors
| Repository | |
Fields
| |
Instances
Constructors
| Version | |
Fields
| |
Instances
| Eq Version # | |
| Ord Version # | |
Defined in Web.Bower.PackageMeta.Internal | |
| Show Version # | |
| Generic Version # | |
| ToJSON Version # | |
Defined in Web.Bower.PackageMeta.Internal | |
| FromJSON Version # | |
| NFData Version # | |
Defined in Web.Bower.PackageMeta.Internal | |
| type Rep Version # | |
Defined in Web.Bower.PackageMeta.Internal | |
newtype VersionRange #
Constructors
| VersionRange | |
Fields | |
Instances
data BowerError #
Constructors
| InvalidPackageName PackageNameError | |
| InvalidModuleType Text |
Instances
showBowerError :: BowerError -> Text #
data PackageNameError #
Constructors
| NotEmpty | |
| TooLong Int | |
| InvalidChars [Char] | |
| RepeatedSeparators | |
| MustNotBeginSeparator | |
| MustNotEndSeparator |
Instances
Parsing
decodeFile :: FilePath -> IO (Either (ParseError BowerError) PackageMeta) #
Read and attempt to decode a bower.json file.
displayError :: ParseError BowerError -> Text #
asPackageMeta :: Parse BowerError PackageMeta #
A parser for bower.json files, using the aeson-better-errors package.
asRepository :: Parse e Repository #