Skip to content

Commit 45b3a56

Browse files
Remove URL resources from package index
1 parent a80c1d2 commit 45b3a56

File tree

4 files changed

+18
-94
lines changed

4 files changed

+18
-94
lines changed

data/packages_url_resources.json

Lines changed: 0 additions & 16 deletions
This file was deleted.

pages/docs/guidelines/publishing-packages.mdx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,3 @@ Whenever you publish a ReScript package to npm, please follow the following guid
2424

2525
Our package index will pick up the newest npm packages two times a day, so it might take some time until your newly published package shows up.
2626

27-
### Via rescript-lang.org
28-
29-
We also maintain a hand-curated index of different resources that are not necessarily released on npm, such as plain URLs to independent files / repositories, or GitHub gists.
30-
31-
You can submit your own resource by editing rescript-lang.org's [resource json file](https://github.com/rescript-lang/rescript-lang.org/blob/master/data/packages_url_resources.json) file and submit a PR.

src/Packages.res

Lines changed: 18 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ type urlResource = {
1414
official: bool,
1515
}
1616

17-
external unsafeToUrlResource: JSON.t => array<urlResource> = "%identity"
18-
1917
type npmPackage = {
2018
name: string,
2119
version: string,
@@ -31,13 +29,12 @@ type npmPackage = {
3129
let packageAllowList: array<string> = []
3230

3331
module Resource = {
34-
type t = Npm(npmPackage) | Url(urlResource) | Outdated(npmPackage)
32+
type t = Npm(npmPackage) | Outdated(npmPackage)
3533

3634
let getId = (res: t) => {
3735
switch res {
3836
| Npm({name})
39-
| Outdated({name})
40-
| Url({name}) => name
37+
| Outdated({name}) => name
4138
}
4239
}
4340

@@ -56,7 +53,6 @@ module Resource = {
5653
} else {
5754
false
5855
}
59-
| Url(_) => false
6056
}
6157
}
6258

@@ -78,8 +74,7 @@ module Resource = {
7874
let isOfficial = (res: t) => {
7975
switch res {
8076
| 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/")
8378
}
8479
}
8580

@@ -103,41 +98,21 @@ module Resource = {
10398
->Array.toSorted((a, b) => Float.compare(a["item"].searchScore, b["item"].searchScore))
10499
}
105100

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-
124101
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
127104

128105
switch next {
129106
| Npm(pkg) => Array.push(npms, pkg)->ignore
130-
| Url(res) => Array.push(resources, res)->ignore
131107
| Outdated(pkg) => Array.push(outdated, pkg)->ignore
132108
}
133-
(npms, resources, outdated)
109+
(npms, outdated)
134110
})
135111

136112
let filteredNpm = applyNpmSearch(allNpms, pattern)->Array.map(m => Npm(m["item"]))
137-
let filteredUrls = applyUrlResourceSearch(allUrls, pattern)->Array.map(m => Url(m["item"]))
138113
let filteredOutdated = applyNpmSearch(allOutDated, pattern)->Array.map(m => Outdated(m["item"]))
139114

140-
Belt.Array.concatMany([filteredNpm, filteredUrls, filteredOutdated])
115+
Belt.Array.concatMany([filteredNpm, filteredOutdated])
141116
}
142117
}
143118

@@ -146,10 +121,6 @@ module Card = {
146121
let make = (~value: Resource.t, ~onKeywordSelect: option<string => unit>=?) => {
147122
let icon = switch value {
148123
| Npm(_) | Outdated(_) => <Icon.Npm className="w-8 opacity-50" />
149-
| Url(_) =>
150-
<span>
151-
<Icon.Hyperlink className="w-8 opacity-50" />
152-
</span>
153124
}
154125
let linkBox = switch value {
155126
| Npm(pkg) | Outdated(pkg) =>
@@ -173,18 +144,15 @@ module Card = {
173144
<a className="hover:text-fire" href={pkg.npmHref}> {React.string("NPM")} </a>
174145
{repoEl}
175146
</div>
176-
| Url(_) => React.null
177147
}
178148

179149
let titleHref = switch value {
180150
| Npm(pkg) | Outdated(pkg) => pkg.repositoryHref->Null.toOption->Option.getOr(pkg.npmHref)
181-
| Url(res) => res.urlHref
182151
}
183152

184153
let (title, description, keywords) = switch value {
185154
| 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)
188156
}
189157

190158
<div className="bg-gray-5-tr py-6 rounded-lg p-4">
@@ -246,7 +214,6 @@ module Filter = {
246214
includeOfficial: bool,
247215
includeCommunity: bool,
248216
includeNpm: bool,
249-
includeUrlResource: bool,
250217
includeOutdated: bool,
251218
}
252219
}
@@ -293,24 +260,15 @@ module InfoSidebar = {
293260
}}>
294261
{React.string("Community")}
295262
</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>
314272
<Toggle
315273
enabled={filter.includeOutdated}
316274
toggle={() => {
@@ -341,7 +299,6 @@ module InfoSidebar = {
341299

342300
type props = {
343301
packages: array<npmPackage>,
344-
urlResources: array<urlResource>,
345302
unmaintained: array<npmPackage>,
346303
}
347304

@@ -359,15 +316,13 @@ let default = (props: props) => {
359316
includeOfficial: true,
360317
includeCommunity: true,
361318
includeNpm: true,
362-
includeUrlResource: true,
363319
includeOutdated: false,
364320
})
365321

366322
let allResources = {
367323
let npms = props.packages->Array.map(pkg => Resource.Npm(pkg))
368-
let urls = props.urlResources->Array.map(res => Resource.Url(res))
369324
let outdated = props.unmaintained->Array.map(pkg => Resource.Outdated(pkg))
370-
Belt.Array.concatMany([npms, urls, outdated])
325+
Belt.Array.concatMany([npms, outdated])
371326
}
372327

373328
let resources = switch state {
@@ -397,7 +352,6 @@ let default = (props: props) => {
397352
let (official, community) = acc
398353
let isResourceIncluded = switch next {
399354
| Npm(_) => filter.includeNpm
400-
| Url(_) => filter.includeUrlResource
401355
| Outdated(_) => filter.includeOutdated && filter.includeNpm
402356
}
403357
if !isResourceIncluded {
@@ -614,18 +568,10 @@ let getStaticProps: Next.GetStaticProps.t<props, unit> = async _ctx => {
614568
}
615569
})
616570

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-
624571
{
625572
"props": {
626573
packages: pkges,
627574
unmaintained,
628-
urlResources,
629575
},
630576
}
631577
}

src/Packages.resi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ type npmPackage = {
1919

2020
type props = {
2121
packages: array<npmPackage>,
22-
urlResources: array<urlResource>,
2322
unmaintained: array<npmPackage>,
2423
}
2524

0 commit comments

Comments
 (0)