Maintainer | Profpatsch |
---|---|
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell2010 |
Synopsis
- type Lockfile = MKMap PackageKey Package
- lockfileIkProxy :: Proxy Int
- data PackageKey = PackageKey {}
- data PackageKeyName
- parsePackageKeyName :: Text -> Maybe PackageKeyName
- data Keyed a = Keyed (NonEmpty PackageKey) a
- data Package = Package {
- version :: Text
- remote :: Remote
- dependencies :: [PackageKey]
- optionalDependencies :: [PackageKey]
- data Remote
- = FileRemote { }
- | GitRemote {
- gitRepoUrl :: Text
- gitRev :: Text
- | FileLocal { }
Documentation
type Lockfile = MKMap PackageKey Package Source #
Yarn lockfile.
It is a multi-keyed map (each value can be referenced by multiple keys).
This is achieved by using an intermediate key ik
.
Attention: Might be changed to a newtype in a future release.
lockfileIkProxy :: Proxy Int Source #
Proxy type for our MKMap intermediate key
data PackageKey Source #
Key that indexes package for a specific version.
PackageKey | |
|
Instances
Eq PackageKey Source # | |
Defined in Yarn.Lock.Types (==) :: PackageKey -> PackageKey -> Bool # (/=) :: PackageKey -> PackageKey -> Bool # | |
Ord PackageKey Source # | |
Defined in Yarn.Lock.Types compare :: PackageKey -> PackageKey -> Ordering # (<) :: PackageKey -> PackageKey -> Bool # (<=) :: PackageKey -> PackageKey -> Bool # (>) :: PackageKey -> PackageKey -> Bool # (>=) :: PackageKey -> PackageKey -> Bool # max :: PackageKey -> PackageKey -> PackageKey # min :: PackageKey -> PackageKey -> PackageKey # | |
Show PackageKey Source # | |
Defined in Yarn.Lock.Types showsPrec :: Int -> PackageKey -> ShowS # show :: PackageKey -> String # showList :: [PackageKey] -> ShowS # |
data PackageKeyName Source #
The name of a package. They can be scoped, see | https://docs.npmjs.com/misc/scope for an explanation.
SimplePackageKey Text | just a package name |
ScopedPackageKey Text Text | a scope and a package name (e.g. @types/foobar) |
Instances
Eq PackageKeyName Source # | |
Defined in Yarn.Lock.Types (==) :: PackageKeyName -> PackageKeyName -> Bool # (/=) :: PackageKeyName -> PackageKeyName -> Bool # | |
Ord PackageKeyName Source # | |
Defined in Yarn.Lock.Types compare :: PackageKeyName -> PackageKeyName -> Ordering # (<) :: PackageKeyName -> PackageKeyName -> Bool # (<=) :: PackageKeyName -> PackageKeyName -> Bool # (>) :: PackageKeyName -> PackageKeyName -> Bool # (>=) :: PackageKeyName -> PackageKeyName -> Bool # max :: PackageKeyName -> PackageKeyName -> PackageKeyName # min :: PackageKeyName -> PackageKeyName -> PackageKeyName # | |
Show PackageKeyName Source # | |
Defined in Yarn.Lock.Types showsPrec :: Int -> PackageKeyName -> ShowS # show :: PackageKeyName -> String # showList :: [PackageKeyName] -> ShowS # |
parsePackageKeyName :: Text -> Maybe PackageKeyName Source #
Try to parse a string into a package key name (scoped or not).
Something with a list of PackageKey
s pointing to it.
Keyed (NonEmpty PackageKey) a |
The actual npm package with dependencies and a way to download.
Package | |
|
Information on where to download the package.
FileRemote | |
GitRemote | |
| |
FileLocal | |
|