@@ -4,11 +4,10 @@ module Pnpm.PnpmLockSpec (
4
4
spec,
5
5
) where
6
6
7
- import Data.Either (fromRight)
7
+ import Data.Map.Strict qualified as Map
8
8
import Data.Set qualified as Set
9
9
import Data.String.Conversion (toString)
10
10
import Data.Text (Text)
11
- import Data.Text qualified as Text
12
11
import Data.Yaml (decodeFileEither, prettyPrintParseException)
13
12
import DepTypes (
14
13
DepEnvironment (EnvDevelopment, EnvProduction),
@@ -33,36 +32,49 @@ import Test.Hspec (
33
32
)
34
33
35
34
-- | A dependency value used as a default in case of parsing errors in tests
36
- invalidDependency :: Dependency
37
- invalidDependency =
38
- Dependency
39
- NodeJSType
40
- "INVALID_PACKAGE_NAME"
41
- Nothing
42
- mempty
43
- mempty
44
- mempty
35
+ -- invalidDependency :: Text -> Dependency
36
+ -- invalidDependency name =
37
+ -- Dependency
38
+ -- { dependencyType = NodeJSType
39
+ -- , dependencyName = name
40
+ -- , dependencyVersion = Just $ CEq "0.0.0"
41
+ -- , dependencyLocations = []
42
+ -- , dependencyTags = Map.empty
43
+ -- , dependencyEnvironments = mempty
44
+ -- }
45
+
46
+ -- productionDependency :: Text -> Dependency
47
+ -- productionDependency name =
48
+ -- Dependency
49
+ -- { dependencyType = NodeJSType
50
+ -- , dependencyName = name
51
+ -- , dependencyVersion = Just $ CEq "0.0.0"
52
+ -- , dependencyLocations = []
53
+ -- , dependencyTags = Map.empty
54
+ -- , dependencyEnvironments = Set.singleton EnvProduction
55
+ -- }
45
56
46
57
mkProdDep :: Text -> Dependency
47
- mkProdDep nameAtVersion = fromRight invalidDependency $ mkDep nameAtVersion (Just EnvProduction)
58
+ mkProdDep name =
59
+ Dependency
60
+ { dependencyType = NodeJSType
61
+ , dependencyName = name
62
+ , dependencyVersion = Just $ CEq name
63
+ , dependencyLocations = []
64
+ , dependencyEnvironments = Set.fromList [EnvProduction]
65
+ , dependencyTags = Map.empty
66
+ }
48
67
49
68
mkDevDep :: Text -> Dependency
50
- mkDevDep nameAtVersion = fromRight invalidDependency $ mkDep nameAtVersion (Just EnvDevelopment)
51
-
52
- mkDep :: Text -> Maybe DepEnvironment -> Either String Dependency
53
- mkDep nameAtVersion env = do
54
- let nameAndVersionSplit = Text.splitOn "@" nameAtVersion
55
- case nameAndVersionSplit of
56
- [name, version] ->
57
- Right $
58
- Dependency
59
- NodeJSType
60
- name
61
- (CEq <$> (Just version))
62
- mempty
63
- (maybe mempty Set.singleton env)
64
- mempty
65
- _ -> Left $ "Invalid package name format: " ++ toString nameAtVersion
69
+ mkDevDep name =
70
+ Dependency
71
+ { dependencyType = NodeJSType
72
+ , dependencyName = name
73
+ , dependencyVersion = Just $ CEq name
74
+ , dependencyLocations = []
75
+ , dependencyEnvironments = Set.fromList [EnvDevelopment]
76
+ , dependencyTags = Map.empty
77
+ }
66
78
67
79
colors :: Dependency
68
80
colors =
@@ -165,40 +177,40 @@ spec = do
165
177
, dependencyName = "aws-sdk"
166
178
, dependencyVersion = Just $ CEq "2.1148.0"
167
179
, dependencyLocations = []
168
- , dependencyEnvironments = fromList [EnvProduction]
169
- , dependencyTags = fromList []
180
+ , dependencyEnvironments = Set. fromList [EnvProduction]
181
+ , dependencyTags = Map.empty
170
182
}
171
183
, Dependency
172
184
{ dependencyType = NodeJSType
173
185
, dependencyName = "chalk"
174
186
, dependencyVersion = Just $ CEq "5.3.0"
175
187
, dependencyLocations = []
176
- , dependencyEnvironments = fromList [EnvProduction]
177
- , dependencyTags = fromList []
188
+ , dependencyEnvironments = Set. fromList [EnvProduction]
189
+ , dependencyTags = Map.empty
178
190
}
179
191
, Dependency
180
192
{ dependencyType = URLType
181
193
, dependencyName = "https://codeload.github.com/Marak/colors.js/tar.gz/6bc50e79eeaa1d87369bb3e7e608ebed18c5cf26"
182
194
, dependencyVersion = Nothing
183
195
, dependencyLocations = []
184
- , dependencyEnvironments = fromList [EnvProduction]
185
- , dependencyTags = fromList []
196
+ , dependencyEnvironments = Set. fromList [EnvProduction]
197
+ , dependencyTags = Map.empty
186
198
}
187
199
, Dependency
188
200
{ dependencyType = URLType
189
201
, dependencyName = "https://github.com/lodash/lodash/archive/refs/heads/master.tar.gz"
190
202
, dependencyVersion = Nothing
191
203
, dependencyLocations = []
192
- , dependencyEnvironments = fromList [EnvProduction]
193
- , dependencyTags = fromList []
204
+ , dependencyEnvironments = Set. fromList [EnvProduction]
205
+ , dependencyTags = Map.empty
194
206
}
195
207
, Dependency
196
208
{ dependencyType = NodeJSType
197
209
, dependencyName = "react"
198
210
, dependencyVersion = Just $ CEq "18.1.0"
199
211
, dependencyLocations = []
200
- , dependencyEnvironments = fromList [EnvDevelopment]
201
- , dependencyTags = fromList []
212
+ , dependencyEnvironments = Set. fromList [EnvDevelopment]
213
+ , dependencyTags = Map.empty
202
214
}
203
215
]
204
216
graph
0 commit comments