@@ -14,8 +14,6 @@ type urlResource = {
14
14
official : bool ,
15
15
}
16
16
17
- external unsafeToUrlResource : JSON .t => array <urlResource > = "%identity"
18
-
19
17
type npmPackage = {
20
18
name : string ,
21
19
version : string ,
@@ -31,13 +29,12 @@ type npmPackage = {
31
29
let packageAllowList : array <string > = []
32
30
33
31
module Resource = {
34
- type t = Npm (npmPackage ) | Url ( urlResource ) | Outdated (npmPackage )
32
+ type t = Npm (npmPackage ) | Outdated (npmPackage )
35
33
36
34
let getId = (res : t ) => {
37
35
switch res {
38
36
| Npm ({name })
39
- | Outdated ({name })
40
- | Url ({name }) => name
37
+ | Outdated ({name }) => name
41
38
}
42
39
}
43
40
@@ -56,7 +53,6 @@ module Resource = {
56
53
} else {
57
54
false
58
55
}
59
- | Url (_ ) => false
60
56
}
61
57
}
62
58
@@ -78,8 +74,7 @@ module Resource = {
78
74
let isOfficial = (res : t ) => {
79
75
switch res {
80
76
| Npm (pkg ) | Outdated (pkg ) =>
81
- pkg .name === "rescript" || pkg .name -> String .startsWith ("@rescript/" ) || pkg .name === "gentype"
82
- | Url (urlRes ) => urlRes .official
77
+ pkg .name === "rescript" || pkg .name -> String .startsWith ("@rescript/" )
83
78
}
84
79
}
85
80
@@ -103,41 +98,21 @@ module Resource = {
103
98
-> Array .toSorted ((a , b ) => Float .compare (a ["item" ].searchScore , b ["item" ].searchScore ))
104
99
}
105
100
106
- let applyUrlResourceSearch = (urls : array <urlResource >, pattern : string ): array <
107
- Fuse .match <urlResource >,
108
- > => {
109
- let fuseOpts = Fuse .Options .t (
110
- ~shouldSort = true ,
111
- ~includeScore = true ,
112
- ~threshold = 0.2 ,
113
- ~ignoreLocation = true ,
114
- ~minMatchCharLength = 1 ,
115
- ~keys = ["name" , "keywords" ],
116
- (),
117
- )
118
-
119
- let fuser = Fuse .make (urls , fuseOpts )
120
-
121
- fuser -> Fuse .search (pattern )
122
- }
123
-
124
101
let applySearch = (resources : array <t >, pattern : string ): array <t > => {
125
- let (allNpms , allUrls , allOutDated ) = Array .reduce (resources , ([], [], []), (acc , next ) => {
126
- let (npms , resources , outdated ) = acc
102
+ let (allNpms , allOutDated ) = Array .reduce (resources , ([], []), (acc , next ) => {
103
+ let (npms , outdated ) = acc
127
104
128
105
switch next {
129
106
| Npm (pkg ) => Array .push (npms , pkg )-> ignore
130
- | Url (res ) => Array .push (resources , res )-> ignore
131
107
| Outdated (pkg ) => Array .push (outdated , pkg )-> ignore
132
108
}
133
- (npms , resources , outdated )
109
+ (npms , outdated )
134
110
})
135
111
136
112
let filteredNpm = applyNpmSearch (allNpms , pattern )-> Array .map (m => Npm (m ["item" ]))
137
- let filteredUrls = applyUrlResourceSearch (allUrls , pattern )-> Array .map (m => Url (m ["item" ]))
138
113
let filteredOutdated = applyNpmSearch (allOutDated , pattern )-> Array .map (m => Outdated (m ["item" ]))
139
114
140
- Belt .Array .concatMany ([filteredNpm , filteredUrls , filteredOutdated ])
115
+ Belt .Array .concatMany ([filteredNpm , filteredOutdated ])
141
116
}
142
117
}
143
118
@@ -146,10 +121,6 @@ module Card = {
146
121
let make = (~value : Resource .t , ~onKeywordSelect : option <string => unit >= ?) => {
147
122
let icon = switch value {
148
123
| Npm (_ ) | Outdated (_ ) => <Icon .Npm className = "w-8 opacity-50" />
149
- | Url (_ ) =>
150
- <span >
151
- <Icon .Hyperlink className = "w-8 opacity-50" />
152
- </span >
153
124
}
154
125
let linkBox = switch value {
155
126
| Npm (pkg ) | Outdated (pkg ) =>
@@ -173,18 +144,15 @@ module Card = {
173
144
<a className = "hover:text-fire" href = {pkg .npmHref }> {React .string ("NPM" )} </a >
174
145
{repoEl }
175
146
</div >
176
- | Url (_ ) => React .null
177
147
}
178
148
179
149
let titleHref = switch value {
180
150
| Npm (pkg ) | Outdated (pkg ) => pkg .repositoryHref -> Null .toOption -> Option .getOr (pkg .npmHref )
181
- | Url (res ) => res .urlHref
182
151
}
183
152
184
153
let (title , description , keywords ) = switch value {
185
154
| Npm ({name , description , keywords })
186
- | Outdated ({name , description , keywords })
187
- | Url ({name , description , keywords }) => (name , description , keywords )
155
+ | Outdated ({name , description , keywords }) => (name , description , keywords )
188
156
}
189
157
190
158
<div className = "bg-gray-5-tr py-6 rounded-lg p-4" >
@@ -246,7 +214,6 @@ module Filter = {
246
214
includeOfficial : bool ,
247
215
includeCommunity : bool ,
248
216
includeNpm : bool ,
249
- includeUrlResource : bool ,
250
217
includeOutdated : bool ,
251
218
}
252
219
}
@@ -293,24 +260,15 @@ module InfoSidebar = {
293
260
}}>
294
261
{React .string ("Community" )}
295
262
</Toggle >
296
- <Toggle
297
- enabled = {filter .includeNpm }
298
- toggle = {() => {
299
- setFilter (prev => {
300
- {... prev , Filter .includeNpm : ! filter .includeNpm }
301
- })
302
- }}>
303
- {React .string ("NPM package" )}
304
- </Toggle >
305
- <Toggle
306
- enabled = {filter .includeUrlResource }
307
- toggle = {() => {
308
- setFilter (prev => {
309
- {... prev , Filter .includeUrlResource : ! filter .includeUrlResource }
310
- })
311
- }}>
312
- {React .string ("URL resources" )}
313
- </Toggle >
263
+ // <Toggle
264
+ // enabled={filter.includeNpm}
265
+ // toggle={() => {
266
+ // setFilter(prev => {
267
+ // {...prev, Filter.includeNpm: !filter.includeNpm}
268
+ // })
269
+ // }}>
270
+ // {React.string("NPM package")}
271
+ // </Toggle>
314
272
<Toggle
315
273
enabled = {filter .includeOutdated }
316
274
toggle = {() => {
@@ -341,7 +299,6 @@ module InfoSidebar = {
341
299
342
300
type props = {
343
301
packages : array <npmPackage >,
344
- urlResources : array <urlResource >,
345
302
unmaintained : array <npmPackage >,
346
303
}
347
304
@@ -359,15 +316,13 @@ let default = (props: props) => {
359
316
includeOfficial : true ,
360
317
includeCommunity : true ,
361
318
includeNpm : true ,
362
- includeUrlResource : true ,
363
319
includeOutdated : false ,
364
320
})
365
321
366
322
let allResources = {
367
323
let npms = props .packages -> Array .map (pkg => Resource .Npm (pkg ))
368
- let urls = props .urlResources -> Array .map (res => Resource .Url (res ))
369
324
let outdated = props .unmaintained -> Array .map (pkg => Resource .Outdated (pkg ))
370
- Belt .Array .concatMany ([npms , urls , outdated ])
325
+ Belt .Array .concatMany ([npms , outdated ])
371
326
}
372
327
373
328
let resources = switch state {
@@ -397,7 +352,6 @@ let default = (props: props) => {
397
352
let (official , community ) = acc
398
353
let isResourceIncluded = switch next {
399
354
| Npm (_ ) => filter .includeNpm
400
- | Url (_ ) => filter .includeUrlResource
401
355
| Outdated (_ ) => filter .includeOutdated && filter .includeNpm
402
356
}
403
357
if ! isResourceIncluded {
@@ -614,18 +568,10 @@ let getStaticProps: Next.GetStaticProps.t<props, unit> = async _ctx => {
614
568
}
615
569
})
616
570
617
- let index_data_dir = Node .Path .join2 (Node .Process .cwd (), "./data" )
618
- let urlResources =
619
- Node .Path .join2 (index_data_dir , "packages_url_resources.json" )
620
- -> Node .Fs .readFileSync
621
- -> JSON .parseOrThrow
622
- -> unsafeToUrlResource
623
-
624
571
{
625
572
"props" : {
626
573
packages : pkges ,
627
574
unmaintained ,
628
- urlResources ,
629
575
},
630
576
}
631
577
}
0 commit comments