git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Merge pull request #2531 from purescript/update-bower-json
9147725Harry Garrood
purescript.cabal+1−1
@@ -116,7 +116,7 @@ library
116 aeson-better-errors >= 0.8,
116 aeson-better-errors >= 0.8,
117 ansi-terminal >= 0.6.2 && < 0.7,
117 ansi-terminal >= 0.6.2 && < 0.7,
118 base-compat >=0.6.0,
118 base-compat >=0.6.0,
119− bower-json >= 0.8,
119+ bower-json >= 1.0.0.1 && < 1.1,
120 boxes >= 0.1.4 && < 0.2.0,
120 boxes >= 0.1.4 && < 0.2.0,
121 bytestring -any,
121 bytestring -any,
122 containers -any,
122 containers -any,
src/Language/PureScript/Docs/Types.hs+3−3
@@ -413,7 +413,7 @@ asReExport =
413
413
414asInPackage :: Parse BowerError a -> Parse BowerError (InPackage a)
414asInPackage :: Parse BowerError a -> Parse BowerError (InPackage a)
415asInPackage inner =
415asInPackage inner =
416− build <$> key "package" (perhaps (withString parsePackageName))
416+ build <$> key "package" (perhaps (withText parsePackageName))
417 <*> key "item" inner
417 <*> key "item" inner
418 where
418 where
419 build Nothing = Local
419 build Nothing = Local
@@ -532,7 +532,7 @@ asBookmark =
532
532
533asResolvedDependencies :: Parse PackageError [(PackageName, Version)]
533asResolvedDependencies :: Parse PackageError [(PackageName, Version)]
534asResolvedDependencies =
534asResolvedDependencies =
535− eachInObjectWithKey (mapLeft ErrorInPackageMeta . parsePackageName . T.unpack) asVersion
535+ eachInObjectWithKey (mapLeft ErrorInPackageMeta . parsePackageName) asVersion
536 where
536 where
537 mapLeft f (Left x) = Left (f x)
537 mapLeft f (Left x) = Left (f x)
538 mapLeft _ (Right x) = Right x
538 mapLeft _ (Right x) = Right x
@@ -557,7 +557,7 @@ instance A.ToJSON a => A.ToJSON (Package a) where
557 , "versionTag" .= pkgVersionTag
557 , "versionTag" .= pkgVersionTag
558 , "modules" .= pkgModules
558 , "modules" .= pkgModules
559 , "bookmarks" .= map (fmap (first P.runModuleName)) pkgBookmarks
559 , "bookmarks" .= map (fmap (first P.runModuleName)) pkgBookmarks
560− , "resolvedDependencies" .= assocListToJSON (T.pack . runPackageName)
560+ , "resolvedDependencies" .= assocListToJSON runPackageName
561 (T.pack . showVersion)
561 (T.pack . showVersion)
562 pkgResolvedDependencies
562 pkgResolvedDependencies
563 , "github" .= pkgGithub
563 , "github" .= pkgGithub
src/Language/PureScript/Publish.hs+6−7
@@ -209,7 +209,7 @@ getBowerRepositoryInfo = either (userError . BadRepositoryField) return . tryExt
209 Just Repository{..} -> do
209 Just Repository{..} -> do
210 unless (repositoryType == "git")
210 unless (repositoryType == "git")
211 (Left (BadRepositoryType repositoryType))
211 (Left (BadRepositoryType repositoryType))
212− maybe (Left NotOnGithub) Right (extractGithub (T.pack repositoryUrl))
212+ maybe (Left NotOnGithub) Right (extractGithub repositoryUrl)
213
213
214checkLicense :: PackageMeta -> PrepareM ()
214checkLicense :: PackageMeta -> PrepareM ()
215checkLicense pkgMeta =
215checkLicense pkgMeta =
@@ -217,7 +217,7 @@ checkLicense pkgMeta =
217 [] ->
217 [] ->
218 userError NoLicenseSpecified
218 userError NoLicenseSpecified
219 ls ->
219 ls ->
220− unless (any isValidSPDX ls)
220+ unless (any (isValidSPDX . T.unpack) ls)
221 (userError InvalidLicense)
221 (userError InvalidLicense)
222
222
223-- |
223-- |
@@ -320,8 +320,7 @@ asResolvedDependencies = nubBy ((==) `on` fst) <$> go
320 go =
320 go =
321 fmap (fromMaybe []) $
321 fmap (fromMaybe []) $
322 keyMay "dependencies" $
322 keyMay "dependencies" $
323− (++) <$> eachInObjectWithKey (parsePackageName . T.unpack)
323+ (++) <$> eachInObjectWithKey parsePackageName asDependencyStatus
324− asDependencyStatus
325 <*> (concatMap snd <$> eachInObject asResolvedDependencies)
324 <*> (concatMap snd <$> eachInObject asResolvedDependencies)
326
325
327-- | Extracts only the top level dependency names from the output of
326-- | Extracts only the top level dependency names from the output of
@@ -330,7 +329,7 @@ asToplevelDependencies :: Parse BowerError [PackageName]
330asToplevelDependencies =
329asToplevelDependencies =
331 fmap (map fst) $
330 fmap (map fst) $
332 key "dependencies" $
331 key "dependencies" $
333− eachInObjectWithKey (parsePackageName . T.unpack) (return ())
332+ eachInObjectWithKey parsePackageName (return ())
334
333
335asDependencyStatus :: Parse e DependencyStatus
334asDependencyStatus :: Parse e DependencyStatus
336asDependencyStatus = do
335asDependencyStatus = do
@@ -371,7 +370,7 @@ handleDeps deps = do
371 ResolvedOther _ -> (ms, pkgName : os, is)
370 ResolvedOther _ -> (ms, pkgName : os, is)
372 ResolvedVersion v -> (ms, os, (pkgName, v) : is)
371 ResolvedVersion v -> (ms, os, (pkgName, v) : is)
373
372
374− bowerDir pkgName = "bower_components/" ++ runPackageName pkgName
373+ bowerDir pkgName = T.unpack $ "bower_components/" <> runPackageName pkgName
375
374
376 -- Try to extract a version, and warn if unsuccessful.
375 -- Try to extract a version, and warn if unsuccessful.
377 tryExtractVersion' :: (PackageName, Text) -> PrepareM (Maybe (PackageName, Version))
376 tryExtractVersion' :: (PackageName, Text) -> PrepareM (Maybe (PackageName, Version))
@@ -406,6 +405,6 @@ getPackageName fp = do
406 let xs = splitOn [pathSeparator] fp
405 let xs = splitOn [pathSeparator] fp
407 ys <- stripPrefix ["bower_components"] xs
406 ys <- stripPrefix ["bower_components"] xs
408 y <- headMay ys
407 y <- headMay ys
409− case Bower.mkPackageName y of
408+ case Bower.mkPackageName (T.pack y) of
410 Right name -> Just name
409 Right name -> Just name
411 Left _ -> Nothing
410 Left _ -> Nothing
src/Language/PureScript/Publish/BoxesHelpers.hs+5
@@ -6,6 +6,8 @@ module Language.PureScript.Publish.BoxesHelpers
6
6
7import Prelude.Compat
7import Prelude.Compat
8
8
9+import Data.Text (Text)
10+import qualified Data.Text as T
9import System.IO (hPutStr, stderr)
11import System.IO (hPutStr, stderr)
10
12
11import qualified Text.PrettyPrint.Boxes as Boxes
13import qualified Text.PrettyPrint.Boxes as Boxes
@@ -37,6 +39,9 @@ spacer = Boxes.emptyBox 1 1
37bulletedList :: (a -> String) -> [a] -> [Boxes.Box]
39bulletedList :: (a -> String) -> [a] -> [Boxes.Box]
38bulletedList f = map (indented . para . ("* " ++) . f)
40bulletedList f = map (indented . para . ("* " ++) . f)
39
41
42+bulletedListT :: (a -> Text) -> [a] -> [Boxes.Box]
43+bulletedListT f = bulletedList (T.unpack . f)
44+
40printToStderr :: Boxes.Box -> IO ()
45printToStderr :: Boxes.Box -> IO ()
41printToStderr = hPutStr stderr . Boxes.render
46printToStderr = hPutStr stderr . Boxes.render
42
47
src/Language/PureScript/Publish/ErrorsWarnings.hs+7−7
@@ -65,7 +65,7 @@ data UserError
65
65
66data RepositoryFieldError
66data RepositoryFieldError
67 = RepositoryFieldMissing
67 = RepositoryFieldMissing
68− | BadRepositoryType String
68+ | BadRepositoryType Text
69 | NotOnGithub
69 | NotOnGithub
70 deriving (Show)
70 deriving (Show)
71
71
@@ -213,7 +213,7 @@ displayUserError e = case e of
213 , "installed:"
213 , "installed:"
214 ])
214 ])
215 ] ++
215 ] ++
216− bulletedList runPackageName (NonEmpty.toList pkgs)
216+ bulletedListT runPackageName (NonEmpty.toList pkgs)
217 ++
217 ++
218 [ spacer
218 [ spacer
219 , para (concat
219 , para (concat
@@ -263,7 +263,7 @@ displayRepositoryError err = case err of
263 BadRepositoryType ty ->
263 BadRepositoryType ty ->
264 para (concat
264 para (concat
265 [ "In your bower.json file, the repository type is currently listed as "
265 [ "In your bower.json file, the repository type is currently listed as "
266− , "\"" ++ ty ++ "\". Currently, only git repositories are supported. "
266+ , "\"" ++ T.unpack ty ++ "\". Currently, only git repositories are supported. "
267 , "Please publish your code in a git repository, and then update the "
267 , "Please publish your code in a git repository, and then update the "
268 , "repository type in your bower.json file to \"git\"."
268 , "repository type in your bower.json file to \"git\"."
269 ])
269 ])
@@ -361,7 +361,7 @@ warnNoResolvedVersions pkgNames =
361 ["The following ", packages, " did not appear to have a resolved "
361 ["The following ", packages, " did not appear to have a resolved "
362 , "version:"])
362 , "version:"])
363 ] ++
363 ] ++
364− bulletedList runPackageName (NonEmpty.toList pkgNames)
364+ bulletedListT runPackageName (NonEmpty.toList pkgNames)
365 ++
365 ++
366 [ spacer
366 [ spacer
367 , para (concat
367 , para (concat
@@ -385,7 +385,7 @@ warnUndeclaredDependencies pkgNames =
385 [ "The following Bower ", packages, " ", are, " installed, but not "
385 [ "The following Bower ", packages, " ", are, " installed, but not "
386 , "declared as ", dependencies, " in your bower.json file:"
386 , "declared as ", dependencies, " in your bower.json file:"
387 ])
387 ])
388− : bulletedList runPackageName (NonEmpty.toList pkgNames)
388+ : bulletedListT runPackageName (NonEmpty.toList pkgNames)
389
389
390warnUnacceptableVersions :: NonEmpty (PackageName, Text) -> Box
390warnUnacceptableVersions :: NonEmpty (PackageName, Text) -> Box
391warnUnacceptableVersions pkgs =
391warnUnacceptableVersions pkgs =
@@ -403,7 +403,7 @@ warnUnacceptableVersions pkgs =
403 , "not be parsed:"
403 , "not be parsed:"
404 ])
404 ])
405 ] ++
405 ] ++
406− bulletedList showTuple (NonEmpty.toList pkgs)
406+ bulletedListT showTuple (NonEmpty.toList pkgs)
407 ++
407 ++
408 [ spacer
408 [ spacer
409 , para (concat
409 , para (concat
@@ -414,7 +414,7 @@ warnUnacceptableVersions pkgs =
414 ])
414 ])
415 ]
415 ]
416 where
416 where
417− showTuple (pkgName, tag) = runPackageName pkgName ++ "#" ++ T.unpack tag
417+ showTuple (pkgName, tag) = runPackageName pkgName <> "#" <> tag
418
418
419warnDirtyWorkingTree :: Box
419warnDirtyWorkingTree :: Box
420warnDirtyWorkingTree =
420warnDirtyWorkingTree =
stack-ghc-8.0.yaml+1
@@ -5,3 +5,4 @@ extra-deps:
5- pipes-http-1.0.2
5- pipes-http-1.0.2
6- wai-websockets-3.0.0.9
6- wai-websockets-3.0.0.9
7- websockets-0.9.6.2
7- websockets-0.9.6.2
8+- bower-json-1.0.0.1
stack.yaml+2
@@ -1,3 +1,5 @@
1resolver: lts-6.25
1resolver: lts-6.25
2packages:
2packages:
3- '.'
3- '.'
4+extra-deps:
5+- bower-json-1.0.0.1