bower-json 0.8.0 → 0.8.1
raw patch · 2 files changed
+32/−10 lines, 2 filesdep +deepseqdep ~basePVP ok
version bump matches the API change (PVP)
Dependencies added: deepseq
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
bower-json.cabal view
@@ -1,5 +1,5 @@ name: bower-json-version: 0.8.0+version: 0.8.1 synopsis: Read bower.json from Haskell license: MIT license-file: LICENSE@@ -28,6 +28,7 @@ other-modules: Web.Bower.PackageMeta.Internal build-depends: base >=4 && <5 , aeson >=0.6.1.0+ , deepseq , aeson-better-errors >= 0.5 , unordered-containers , text
src/Web/Bower/PackageMeta/Internal.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE TupleSections #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE CPP #-}+{-# LANGUAGE DeriveGeneric #-} -- | A data type representing the Bower.json package description file, together -- with a parser and related functions.@@ -17,6 +18,8 @@ import Control.Monad import Control.Category ((>>>)) import Control.Monad.Error.Class (MonadError(..))+import Control.DeepSeq+import GHC.Generics import Data.Monoid import Data.List import Data.Char@@ -56,13 +59,17 @@ , bowerResolutions :: [(PackageName, Version)] , bowerPrivate :: Bool }- deriving (Show, Eq, Ord)+ deriving (Show, Eq, Ord, Generic) +instance NFData PackageMeta+ -- | A valid package name for a Bower package. newtype PackageName = PackageName String- deriving (Show, Eq, Ord)+ deriving (Show, Eq, Ord, Generic) +instance NFData PackageName+ runPackageName :: PackageName -> String runPackageName (PackageName s) = s @@ -103,8 +110,10 @@ , authorEmail :: Maybe String , authorHomepage :: Maybe String }- deriving (Show, Eq, Ord)+ deriving (Show, Eq, Ord, Generic) +instance NFData Author+ -- | See: <https://github.com/bower/bower.json-spec#moduletype> data ModuleType = Globals@@ -112,8 +121,10 @@ | Node | ES6 | YUI- deriving (Show, Eq, Ord, Enum, Bounded)+ deriving (Show, Eq, Ord, Enum, Bounded, Generic) +instance NFData ModuleType+ moduleTypes :: [(String, ModuleType)] moduleTypes = map (\t -> (map toLower (show t), t)) [minBound .. maxBound] @@ -121,21 +132,29 @@ { repositoryUrl :: String , repositoryType :: String }- deriving (Show, Eq, Ord)+ deriving (Show, Eq, Ord, Generic) +instance NFData Repository+ newtype Version = Version { runVersion :: String }- deriving (Show, Eq, Ord)+ deriving (Show, Eq, Ord, Generic) +instance NFData Version+ newtype VersionRange = VersionRange { runVersionRange :: String }- deriving (Show, Eq, Ord)+ deriving (Show, Eq, Ord, Generic) +instance NFData VersionRange+ data BowerError = InvalidPackageName PackageNameError | InvalidModuleType String- deriving (Show, Eq, Ord)+ deriving (Show, Eq, Ord, Generic) +instance NFData BowerError+ showBowerError :: BowerError -> Text showBowerError (InvalidPackageName err) = "Invalid package name: " <> showPackageNameError err@@ -154,7 +173,9 @@ | RepeatedSeparators | MustNotBeginSeparator | MustNotEndSeparator- deriving (Show, Eq, Ord)+ deriving (Show, Eq, Ord, Generic)++instance NFData PackageNameError showPackageNameError :: PackageNameError -> Text showPackageNameError err = case err of