Maintainer | Profpatsch |
---|---|
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell2010 |
- 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
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 | |
|
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) |
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 | |
|