bower-json-1.1.0.0: Read bower.json from Haskell
Safe HaskellNone
LanguageHaskell2010

Web.Bower.PackageMeta

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 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.

Instances

Instances details
FromJSON PackageMeta # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

ToJSON PackageMeta # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Generic PackageMeta # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Associated Types

type Rep PackageMeta 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep PackageMeta = D1 ('MetaData "PackageMeta" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) (C1 ('MetaCons "PackageMeta" 'PrefixI 'True) (((S1 ('MetaSel ('Just "bowerName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: (S1 ('MetaSel ('Just "bowerDescription") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "bowerMain") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]))) :*: ((S1 ('MetaSel ('Just "bowerModuleType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ModuleType]) :*: S1 ('MetaSel ('Just "bowerLicense") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text])) :*: (S1 ('MetaSel ('Just "bowerIgnore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Just "bowerKeywords") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text])))) :*: ((S1 ('MetaSel ('Just "bowerAuthors") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Author]) :*: (S1 ('MetaSel ('Just "bowerHomepage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "bowerRepository") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Repository)))) :*: ((S1 ('MetaSel ('Just "bowerDependencies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(PackageName, VersionRange)]) :*: S1 ('MetaSel ('Just "bowerDevDependencies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(PackageName, VersionRange)])) :*: (S1 ('MetaSel ('Just "bowerResolutions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(PackageName, Version)]) :*: S1 ('MetaSel ('Just "bowerPrivate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))
Show PackageMeta # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

NFData PackageMeta # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

rnf :: PackageMeta -> () #

Eq PackageMeta # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Ord PackageMeta # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep PackageMeta # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep PackageMeta = D1 ('MetaData "PackageMeta" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) (C1 ('MetaCons "PackageMeta" 'PrefixI 'True) (((S1 ('MetaSel ('Just "bowerName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: (S1 ('MetaSel ('Just "bowerDescription") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "bowerMain") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]))) :*: ((S1 ('MetaSel ('Just "bowerModuleType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ModuleType]) :*: S1 ('MetaSel ('Just "bowerLicense") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text])) :*: (S1 ('MetaSel ('Just "bowerIgnore") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Just "bowerKeywords") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text])))) :*: ((S1 ('MetaSel ('Just "bowerAuthors") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Author]) :*: (S1 ('MetaSel ('Just "bowerHomepage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "bowerRepository") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Repository)))) :*: ((S1 ('MetaSel ('Just "bowerDependencies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(PackageName, VersionRange)]) :*: S1 ('MetaSel ('Just "bowerDevDependencies") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(PackageName, VersionRange)])) :*: (S1 ('MetaSel ('Just "bowerResolutions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(PackageName, Version)]) :*: S1 ('MetaSel ('Just "bowerPrivate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

data PackageName #

A valid package name for a Bower package.

Instances

Instances details
FromJSON PackageName # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

ToJSON PackageName # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Generic PackageName # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Associated Types

type Rep PackageName 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep PackageName = D1 ('MetaData "PackageName" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'True) (C1 ('MetaCons "PackageName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show PackageName # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

NFData PackageName # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

rnf :: PackageName -> () #

Eq PackageName # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Ord PackageName # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep PackageName # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep PackageName = D1 ('MetaData "PackageName" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'True) (C1 ('MetaCons "PackageName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 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.

data Author #

Instances

Instances details
FromJSON Author # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

ToJSON Author # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Generic Author # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Associated Types

type Rep Author 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep Author = D1 ('MetaData "Author" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" '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)))))

Methods

from :: Author -> Rep Author x #

to :: Rep Author x -> Author #

Show Author # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

NFData Author # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

rnf :: Author -> () #

Eq Author # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

(==) :: Author -> Author -> Bool #

(/=) :: Author -> Author -> Bool #

Ord Author # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep Author # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep Author = D1 ('MetaData "Author" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" '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 #

Constructors

Globals 
AMD 
Node 
ES6 
YUI 

Instances

Instances details
FromJSON ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

ToJSON ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Bounded ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Enum ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Generic ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Associated Types

type Rep ModuleType 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep ModuleType = D1 ('MetaData "ModuleType" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) ((C1 ('MetaCons "Globals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AMD" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Node" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ES6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "YUI" 'PrefixI 'False) (U1 :: Type -> Type))))
Show ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

NFData ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

rnf :: ModuleType -> () #

Eq ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Ord ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep ModuleType # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep ModuleType = D1 ('MetaData "ModuleType" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) ((C1 ('MetaCons "Globals" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AMD" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Node" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ES6" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "YUI" 'PrefixI 'False) (U1 :: Type -> Type))))

data Repository #

Constructors

Repository 

Instances

Instances details
FromJSON Repository # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

ToJSON Repository # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Generic Repository # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Associated Types

type Rep Repository 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep Repository = D1 ('MetaData "Repository" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) (C1 ('MetaCons "Repository" 'PrefixI 'True) (S1 ('MetaSel ('Just "repositoryUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "repositoryType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show Repository # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

NFData Repository # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

rnf :: Repository -> () #

Eq Repository # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Ord Repository # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep Repository # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep Repository = D1 ('MetaData "Repository" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) (C1 ('MetaCons "Repository" 'PrefixI 'True) (S1 ('MetaSel ('Just "repositoryUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "repositoryType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

newtype Version #

Constructors

Version 

Fields

Instances

Instances details
FromJSON Version # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

ToJSON Version # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Generic Version # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Associated Types

type Rep Version 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep Version = D1 ('MetaData "Version" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'True) (C1 ('MetaCons "Version" 'PrefixI 'True) (S1 ('MetaSel ('Just "runVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Methods

from :: Version -> Rep Version x #

to :: Rep Version x -> Version #

Show Version # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

NFData Version # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

rnf :: Version -> () #

Eq Version # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

(==) :: Version -> Version -> Bool #

(/=) :: Version -> Version -> Bool #

Ord Version # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep Version # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep Version = D1 ('MetaData "Version" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'True) (C1 ('MetaCons "Version" 'PrefixI 'True) (S1 ('MetaSel ('Just "runVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

newtype VersionRange #

Constructors

VersionRange 

Instances

Instances details
FromJSON VersionRange # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

ToJSON VersionRange # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Generic VersionRange # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Associated Types

type Rep VersionRange 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep VersionRange = D1 ('MetaData "VersionRange" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'True) (C1 ('MetaCons "VersionRange" 'PrefixI 'True) (S1 ('MetaSel ('Just "runVersionRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show VersionRange # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

NFData VersionRange # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

rnf :: VersionRange -> () #

Eq VersionRange # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Ord VersionRange # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep VersionRange # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep VersionRange = D1 ('MetaData "VersionRange" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'True) (C1 ('MetaCons "VersionRange" 'PrefixI 'True) (S1 ('MetaSel ('Just "runVersionRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data BowerError #

Instances

Instances details
Generic BowerError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Associated Types

type Rep BowerError 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep BowerError = D1 ('MetaData "BowerError" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) (C1 ('MetaCons "InvalidPackageName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageNameError)) :+: C1 ('MetaCons "InvalidModuleType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show BowerError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

NFData BowerError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

rnf :: BowerError -> () #

Eq BowerError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Ord BowerError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep BowerError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep BowerError = D1 ('MetaData "BowerError" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) (C1 ('MetaCons "InvalidPackageName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageNameError)) :+: C1 ('MetaCons "InvalidModuleType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data PackageNameError #

Instances

Instances details
Generic PackageNameError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Associated Types

type Rep PackageNameError 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep PackageNameError = D1 ('MetaData "PackageNameError" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) ((C1 ('MetaCons "NotEmpty" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TooLong" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "InvalidChars" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Char])))) :+: (C1 ('MetaCons "RepeatedSeparators" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MustNotBeginSeparator" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MustNotEndSeparator" 'PrefixI 'False) (U1 :: Type -> Type))))
Show PackageNameError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

NFData PackageNameError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Methods

rnf :: PackageNameError -> () #

Eq PackageNameError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

Ord PackageNameError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep PackageNameError # 
Instance details

Defined in Web.Bower.PackageMeta.Internal

type Rep PackageNameError = D1 ('MetaData "PackageNameError" "Web.Bower.PackageMeta.Internal" "bower-json-1.1.0.0-BlHudveib39EJiHzr2yzFC" 'False) ((C1 ('MetaCons "NotEmpty" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TooLong" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "InvalidChars" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Char])))) :+: (C1 ('MetaCons "RepeatedSeparators" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MustNotBeginSeparator" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MustNotEndSeparator" 'PrefixI 'False) (U1 :: Type -> Type))))

Parsing

decodeFile :: FilePath -> IO (Either (ParseError BowerError) PackageMeta) #

Read and attempt to decode a bower.json file.

asPackageMeta :: Parse BowerError PackageMeta #

A parser for bower.json files, using the aeson-better-errors package.