Skip to content

Commit b450892

Browse files
authored
Enable strict building on all packages (purescript#1153)
1 parent bcf3cd4 commit b450892

File tree

22 files changed

+88
-115
lines changed

22 files changed

+88
-115
lines changed

bin/spago.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package:
44
version: 0.93.22
55
license: BSD-3-Clause
66
build:
7+
strict: true
78
censor_project_warnings:
89
- WildcardInferredType
910
dependencies:

core/spago.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package:
22
name: spago-core
3+
build:
4+
strict: true
35
dependencies:
46
- aff
57
- argonaut-core

docs-search/client-halogen/spago.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ package:
3333
- web-html
3434
- web-storage
3535
- web-uievents
36+
build:
37+
strict: true
3638
bundle:
3739
type: "app"
3840
minify: true

docs-search/client-halogen/src/Docs/Search/App/SearchField.purs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ handleQuery
6262
:: forall a
6363
. Query a
6464
-> H.HalogenM State Action () SearchFieldMessage Aff (Maybe a)
65-
handleQuery (ReadURIHash next) = do
65+
handleQuery (ReadURIHash _next) = do
6666
oldInput <- H.get <#> _.input
6767
newInput <- H.liftEffect URIHash.getInput
6868
when (oldInput /= newInput) do
@@ -85,7 +85,7 @@ handleAction = case _ of
8585
(HTMLDocument.toEventTarget document)
8686
(map (HandleKey sid) <<< KE.fromEvent)
8787

88-
HandleKey sid ev -> do
88+
HandleKey _sid ev -> do
8989

9090
when (KE.code ev == "KeyS") do
9191
state <- H.get

docs-search/client-halogen/src/Docs/Search/App/SearchResults.purs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import Docs.Search.SearchResult (ResultInfo(..), SearchResult(..))
1515
import Docs.Search.TypeDecoder (Constraint(..), Constraint', Type', Qualified(..), QualifiedBy(..), ProperName(..), Type(..), TypeArgument, ClassName, FunDeps)
1616
import Docs.Search.TypeQuery as TypeQuery
1717
import Docs.Search.TypeIndex (TypeIndex)
18-
import Docs.Search.Types (Identifier(..), ModuleName(..), PackageName)
18+
import Docs.Search.Types (Identifier, ModuleName(..), PackageName)
1919
import Docs.Search.Meta (Meta)
2020

2121
import Prelude
@@ -95,15 +95,15 @@ handleQuery
9595
:: forall o a
9696
. Query a
9797
-> H.HalogenM State Action () o Aff (Maybe a)
98-
handleQuery (MessageFromSearchField Focused next) = do
98+
handleQuery (MessageFromSearchField Focused _next) = do
9999
pure Nothing
100-
handleQuery (MessageFromSearchField LostFocus next) = do
100+
handleQuery (MessageFromSearchField LostFocus _next) = do
101101
pure Nothing
102-
handleQuery (MessageFromSearchField InputCleared next) = do
102+
handleQuery (MessageFromSearchField InputCleared _next) = do
103103
H.modify_ (_ { results = [], input = "", mode = Off })
104104
showPageContents
105105
pure Nothing
106-
handleQuery (MessageFromSearchField (InputUpdated input_) next) = do
106+
handleQuery (MessageFromSearchField (InputUpdated input_) _next) = do
107107
let input = String.trim input_
108108

109109
state <- H.modify (_ { input = input })
@@ -233,9 +233,9 @@ renderResult state (DeclResult r) =
233233
renderSearchResult state r
234234
renderResult state (TypeResult r) =
235235
renderSearchResult state r
236-
renderResult state (PackResult r) =
236+
renderResult _state (PackResult r) =
237237
renderPackageResult r
238-
renderResult state (MdlResult r) =
238+
renderResult _state (MdlResult r) =
239239
renderModuleResult r
240240

241241
renderPackageResult
@@ -272,7 +272,7 @@ renderModuleResult
272272
:: forall a
273273
. ModuleResult
274274
-> Array (HH.HTML a Action)
275-
renderModuleResult { name, package } =
275+
renderModuleResult { name, package: _ } =
276276
[ HH.div [ HP.class_ (wrap "result") ]
277277
[ HH.h3 [ HP.class_ (wrap "result__title") ]
278278
[ HH.span
@@ -457,7 +457,7 @@ renderTypeClassMemberSignature
457457
}
458458
-> { name :: Identifier | rest }
459459
-> Array (HH.HTML a Action)
460-
renderTypeClassMemberSignature { type: ty, typeClass, typeClassArguments } result =
460+
renderTypeClassMemberSignature { type: ty, typeClass: _, typeClassArguments: _ } result =
461461
[ HH.text $ unwrap result.name
462462
, HH.text " :: "
463463
, renderType ty
@@ -507,8 +507,8 @@ renderTypeSynonymSignature { type: ty, arguments } { name } =
507507
]
508508

509509
renderTypeArgument :: forall a. TypeArgument -> Array (HH.HTML a Action)
510-
renderTypeArgument ({ name, kind }) =
511-
case kind of
510+
renderTypeArgument ({ name, kind: maybeKind }) =
511+
case maybeKind of
512512
Nothing ->
513513
[ HH.text $ name ]
514514
Just kind ->
@@ -614,8 +614,8 @@ renderForAll ty =
614614
[ keyword "forall" ]
615615
<>
616616
( Array.fromFoldable foralls.binders <#>
617-
\{ name, kind } ->
618-
case kind of
617+
\{ name, kind: maybeKind } ->
618+
case maybeKind of
619619
Nothing -> HH.text (" " <> name)
620620
Just kind ->
621621
HH.span_

docs-search/client-halogen/src/Docs/Search/App/Sidebar.purs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ handleQuery
107107
:: forall a i
108108
. Query a
109109
-> H.HalogenM State i () Action Aff (Maybe a)
110-
handleQuery (UpdateModuleGrouping next) = do
110+
handleQuery (UpdateModuleGrouping _next) = do
111111
oldGroupingMode <- H.get <#> _.groupingMode
112112
newGroupingMode <- H.liftEffect loadGroupingModeFromLocalStorage
113113
when (oldGroupingMode /= newGroupingMode) do
@@ -201,7 +201,7 @@ getCurrentModuleName = do
201201
getCurrentPackage :: ModuleIndex -> Maybe ModuleName -> PackageInfo
202202
getCurrentPackage { modulePackages } (Just moduleName) =
203203
fromMaybe UnknownPackage $ Map.lookup moduleName modulePackages
204-
getCurrentPackage { modulePackages } Nothing = UnknownPackage
204+
getCurrentPackage { modulePackages: _ } Nothing = UnknownPackage
205205

206206
-- | Convert checkbox status to sidebar mode
207207
isCheckedToGroupingMode :: Boolean -> GroupingMode

docs-search/common/spago.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package:
22
name: docs-search-common
3+
build:
4+
strict: true
5+
censor_project_warnings:
6+
- ImplicitQualifiedImport
7+
- ImplicitQualifiedImportReExport
38
dependencies:
49
- aff
510
- aff-promise

docs-search/common/src/Docs/Search/Config.purs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
module Docs.Search.Config where
22

3-
import Docs.Search.Types (GlobalIdentifier, PackageName, PartId(..), URL, FilePath)
4-
53
import Prelude
64

75
import Data.Char as Char
86
import Data.List (List, (:))
9-
import Data.List as List
107
import Data.Newtype (wrap)
8+
import Docs.Search.Types (GlobalIdentifier, PackageName, PartId(..), URL, FilePath)
119

1210
version :: String
1311
version = "0.0.12"

docs-search/common/src/Docs/Search/Declarations.purs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ mkDeclarations scores = Declarations <<< foldr (insertDocModule scores) mempty
4646
-> Trie Char (List SearchResult)
4747
-> Trie Char (List SearchResult)
4848

49-
insertDocModule scores (DocModule { name, declarations }) trie =
49+
insertDocModule _scores (DocModule { name, declarations }) trie =
5050
foldr (insertDeclaration scores name) trie declarations
5151

5252
insertDeclaration
@@ -55,7 +55,7 @@ insertDeclaration
5555
-> Declaration
5656
-> Trie Char (List SearchResult)
5757
-> Trie Char (List SearchResult)
58-
insertDeclaration scores moduleName entry@(Declaration { title }) trie = foldr insertSearchResult trie (resultsForDeclaration scores moduleName entry)
58+
insertDeclaration scores moduleName entry@(Declaration { title: _ }) trie = foldr insertSearchResult trie (resultsForDeclaration scores moduleName entry)
5959

6060
insertSearchResult
6161
:: { path :: String
@@ -120,7 +120,7 @@ resultsForDeclaration scores moduleName indexEntry@(Declaration entry) =
120120
_ -> Nothing
121121

122122
mkInfo :: DeclLevel -> Declaration -> Maybe ResultInfo
123-
mkInfo declLevel (Declaration { info, title }) =
123+
mkInfo declLevel (Declaration { info, title: _ }) =
124124
case info of
125125
ValueDeclaration ty ->
126126
Just $ ValueResult { type: ty }
@@ -195,7 +195,7 @@ getLevelAndName (Declaration { info, title }) =
195195
) title
196196
)
197197

198-
ExternDataDeclaration _ kind ->
198+
ExternDataDeclaration _ _kind ->
199199
{ name: title, declLevel: TypeLevel }
200200

201201
-- | Extract package name from `sourceSpan.name`, which contains path to
@@ -228,7 +228,7 @@ resultsForChildDeclaration
228228
packageInfo
229229
moduleName
230230
parentResult
231-
child@(ChildDeclaration { title, info, comments, sourceSpan })
231+
child@(ChildDeclaration { title, info: _, comments, sourceSpan })
232232
| Just resultInfo <- mkChildInfo parentResult child =
233233
{ path: title
234234
, result: SearchResult

docs-search/common/src/Docs/Search/Engine.purs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ getResultPackageInfo (MdlResult r) = r.package
7070
getResultModuleName :: Result -> ModuleName
7171
getResultModuleName (DeclResult r) = (unwrap r).moduleName
7272
getResultModuleName (TypeResult r) = (unwrap r).moduleName
73-
getResultModuleName (PackResult r) = ModuleName ""
73+
getResultModuleName (PackResult _r) = ModuleName ""
7474
getResultModuleName (MdlResult r) = r.name
7575

7676
getResultName :: Result -> String
@@ -79,10 +79,7 @@ getResultName (TypeResult r) = unwrap (unwrap r).name
7979
getResultName (PackResult r) = unwrap r.name
8080
getResultName (MdlResult r) = unwrap r.name
8181

82-
sortByPopularity
83-
:: forall index typeIndex
84-
. Array Result
85-
-> Array Result
82+
sortByPopularity :: Array Result -> Array Result
8683
sortByPopularity =
8784
Array.sortBy
8885
( compare `on` (getResultScore >>> negate)

docs-search/common/src/Docs/Search/JsonCodec.purs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,15 @@ module Docs.Search.JsonCodec
55
) where
66

77
import Prelude
8-
import Prim.Row (class Cons)
98

9+
import Prim.Row (class Cons)
1010
import Codec.Json.Unidirectional.Value (DecodeError, printDecodeError)
11-
import Data.Argonaut.Core (Json, fromString, stringify)
12-
import Data.Codec.Argonaut (JsonCodec, JsonDecodeError(..))
13-
import Data.Codec.Argonaut.Common as CA
14-
import Data.Codec.Argonaut.Sum as CAS
15-
import Data.Codec.Argonaut.Record as CAR
16-
import Data.Either (Either(..))
11+
import Data.Argonaut.Core (Json)
12+
import Data.Codec.Argonaut (JsonDecodeError(..))
13+
import Data.Either (Either)
1714
import Data.Profunctor.Choice (left)
1815
import Data.Symbol (class IsSymbol)
19-
import Data.Variant
16+
import Data.Variant (Variant, inj)
2017
import Type.Proxy (Proxy(..))
2118

2219
-- | Equivalent to `Data.Variant.inj`, just uses a Visible Type Application instead of Proxy

docs-search/common/src/Docs/Search/Meta.purs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
module Docs.Search.Meta where
22

3+
import Prelude
4+
5+
import Data.Codec.Argonaut (JsonCodec)
6+
import Data.Codec.Argonaut.Record as CAR
37
import Docs.Search.Config as Config
48
import Docs.Search.Loader as Loader
59
import Docs.Search.Types (PackageName)
610
import Docs.Search.Types as Package
7-
8-
import Data.Codec.Argonaut (JsonCodec, JsonDecodeError)
9-
import Data.Codec.Argonaut.Common as CA
10-
import Data.Codec.Argonaut.Record as CAR
11-
12-
import Prelude
13-
1411
import Effect.Aff (Aff, catchError)
1512

1613
type Meta =

docs-search/common/src/Docs/Search/Score.purs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
module Docs.Search.Score where
22

3-
import Docs.Search.Types (PackageName(..), PackageInfo(..), PackageScore(..))
4-
53
import Prelude
64

75
import Data.Array as Array
86
import Data.Map (Map)
97
import Data.Map as Map
108
import Data.Maybe (fromMaybe)
11-
import Data.Newtype (unwrap, wrap)
12-
import Data.String.CodeUnits as String
139
import Data.Tuple (Tuple(..))
14-
import Data.Tuple as Tuple
10+
import Docs.Search.Types (PackageInfo(..), PackageName, PackageScore(..))
1511
import Safe.Coerce (coerce)
1612
import Web.Bower.PackageMeta as Bower
1713

docs-search/common/src/Docs/Search/SearchResult.purs

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
11
module Docs.Search.SearchResult where
22

3-
import Docs.Search.JsonCodec (inject)
4-
import Docs.Search.DocsJson as Docs
5-
import Docs.Search.TypeDecoder (Constraint, FunDeps, QualifiedName, Type, TypeArgument)
6-
import Docs.Search.Types (Identifier(..), ModuleName, PackageInfo, PackageScore)
7-
import Docs.Search.Types as Package
8-
import Docs.Search.TypeDecoder (Constraint', Qualified, Type, TypeArgument, FunDeps, Type', ProperName(..), ClassName(..))
9-
import Docs.Search.TypeDecoder as TypeDecoder
10-
import Docs.Search.JsonCodec as JsonCodec
11-
import Docs.Search.DocTypes (DataDeclType, SourceSpan)
12-
import Docs.Search.Types (ModuleName, PackageInfo, Identifier, PackageScore)
13-
143
import Prelude
154

16-
import Data.Codec.Argonaut (JsonCodec, JsonDecodeError)
5+
import Data.Codec.Argonaut (JsonCodec)
176
import Data.Codec.Argonaut.Common as CA
187
import Data.Codec.Argonaut.Record as CAR
198
import Data.Codec.Argonaut.Variant as CAV
209
import Data.Either (Either(..))
2110
import Data.Maybe (Maybe(..))
2211
import Data.Newtype (class Newtype, un)
2312
import Data.Profunctor (wrapIso, dimap)
24-
import Data.Tuple (Tuple)
2513
import Data.Variant as Variant
14+
import Docs.Search.DocTypes (DataDeclType, SourceSpan)
15+
import Docs.Search.DocsJson as Docs
16+
import Docs.Search.JsonCodec (inject)
17+
import Docs.Search.TypeDecoder (ClassName, Constraint', FunDeps, ProperName, Qualified, Type', TypeArgument)
18+
import Docs.Search.TypeDecoder as TypeDecoder
19+
import Docs.Search.Types (Identifier(..), ModuleName, PackageInfo, PackageScore)
20+
import Docs.Search.Types as Package
2621

2722
-- | Metadata that makes sense only for certain types of search results.
2823
data ResultInfo

docs-search/common/src/Docs/Search/TypeDecoder.purs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,19 @@ module Docs.Search.TypeDecoder
1212
, constraintCodec
1313
) where
1414

15-
import Docs.Search.DocTypes as ReExport
16-
17-
import Docs.Search.Types (Identifier)
18-
import Docs.Search.DocTypes (Type', Type(..), Constraint(..), Label(..), DataDeclType, ProperName(..), Qualified(..))
19-
import Docs.Search.DocTypes as DocTypes
20-
import Docs.Search.JsonCodec as JsonCodec
21-
2215
import Prelude
16+
import Prim hiding (Constraint)
2317

2418
import Codec.Json.Unidirectional.Value as Json
2519
import Data.Argonaut.Core as Argonaut
26-
import Data.Codec.Argonaut (JsonCodec)
2720
import Data.Codec.Argonaut.Common as CA
2821
import Data.Codec.Argonaut.Record as CAR
29-
import Data.List (List(..), (:))
30-
import Data.List as List
31-
import Data.Maybe (Maybe(..))
32-
import Data.Newtype (wrap)
22+
import Data.Maybe (Maybe)
3323
import Data.Tuple (Tuple)
24+
import Docs.Search.DocTypes (AnyOpName, ChildDeclaration(..), ChildDeclarationInfo(..), ClassName, Constraint(..), Constraint', ConstraintData(..), ConstructorName, DataDeclType(..), Declaration(..), DeclarationInfo(..), DocLink(..), DocModule(..), GithubRepo(..), GithubUser(..), Ident(..), InPackage(..), InternalIdentData(..), KindInfo(..), Label(..), LinkLocation(..), LinksContext(..), ManifestError(..), ModuleName(..), Name(..), Namespace, NotYetKnown(..), OpName(..), OpNameType, Package(..), PackageError(..), ProperName(..), ProperNameType, Qualified(..), QualifiedBy(..), RowListItem(..), SkolemScope(..), SourceAnn(..), SourceConstraint, SourcePos(..), SourceSpan(..), SourceType, Type(..), Type', TypeName, TypeOpName, TypeVarVisibility(..), UploadedPackage, ValueOpName, VerifiedPackage, WildcardData(..), _ss, _sss, byNullSourcePos, compareConstraint, compareMaybeType, compareType, eqConstraint, eqMaybeType, eqType, fromChildDeclaration, fromChildDeclarationInfo, fromConstraint, fromConstraintData, fromDataDeclType, fromDeclaration, fromDeclarationInfo, fromDocModule, fromGithubRepo, fromGithubUser, fromISO8601, fromIdent, fromInPackage, fromInternalIdentData, fromKindInfo, fromLabel, fromModuleName, fromNotYetKnown, fromOpName, fromPackage, fromProperName, fromQualified, fromQualifiedBy, fromSkolemScope, fromSourceAnn, fromSourcePos, fromSourceSpan, fromType, fromTypeVarVisibility, fromVersion, fromWildcardData, hh_mm, kindType, nullSourceAnn, nullSourcePos, nullSourceSpan, showDataDeclType, srcTypeConstructor, toAsConstrantUnit, toChildDeclaration, toChildDeclarationInfo, toConstraint', toConstraintData, toConstraintUnit, toDataDeclType, toDeclaration, toDeclarationInfo, toDocModule, toFunDeps, toGithubRepo, toGithubUser, toISO8601, toIdent, toInPackage, toInternalIdentData, toKindInfo, toLabel, toModuleName, toNotYetKnown, toOpName, toPackage, toProperName, toQualified, toQualifiedBy, toSkolemScope, toSourceAnn, toSourceConstraint, toSourcePos, toSourceSpan, toSourceType, toType', toTypeArguments, toTypeUnit, toTypeVarVisibility, toUploadedPackage, toVersion, toWildcardData, yyyy_mm_dd) as ReExport
25+
import Docs.Search.DocTypes (Constraint, DataDeclType, ProperName, Qualified, Type')
26+
import Docs.Search.DocTypes as DocTypes
27+
import Docs.Search.JsonCodec as JsonCodec
3428

3529
type QualifiedName tag = Qualified (ProperName tag)
3630

0 commit comments

Comments
 (0)