@grove-dev/core 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audit.d.ts +3 -3
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +25 -6
- package/dist/audit.js.map +1 -1
- package/dist/awesome-readme.d.ts.map +1 -1
- package/dist/awesome-readme.js +31 -31
- package/dist/awesome-readme.js.map +1 -1
- package/dist/build-data.d.ts +1 -1
- package/dist/build-data.d.ts.map +1 -1
- package/dist/build-data.js +82 -77
- package/dist/build-data.js.map +1 -1
- package/dist/collections-io.d.ts +1 -1
- package/dist/collections-io.js +8 -8
- package/dist/collections-io.js.map +1 -1
- package/dist/collections.d.ts +2 -2
- package/dist/collections.d.ts.map +1 -1
- package/dist/collections.js +8 -9
- package/dist/collections.js.map +1 -1
- package/dist/collector.d.ts +1 -1
- package/dist/collector.d.ts.map +1 -1
- package/dist/collector.js +2 -2
- package/dist/collector.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -4
- package/dist/config.js.map +1 -1
- package/dist/content-body.d.ts.map +1 -1
- package/dist/content-body.js +22 -22
- package/dist/content-body.js.map +1 -1
- package/dist/contributors.d.ts.map +1 -1
- package/dist/contributors.js +22 -23
- package/dist/contributors.js.map +1 -1
- package/dist/decisions.d.ts +1 -1
- package/dist/decisions.d.ts.map +1 -1
- package/dist/decisions.js +18 -20
- package/dist/decisions.js.map +1 -1
- package/dist/directory-client.d.ts +6 -4
- package/dist/directory-client.d.ts.map +1 -1
- package/dist/directory-client.js +9 -4
- package/dist/directory-client.js.map +1 -1
- package/dist/directory-facets.d.ts +1 -1
- package/dist/directory-facets.d.ts.map +1 -1
- package/dist/directory-facets.js +35 -17
- package/dist/directory-facets.js.map +1 -1
- package/dist/directory-filter-keys.d.ts +53 -0
- package/dist/directory-filter-keys.d.ts.map +1 -0
- package/dist/directory-filter-keys.js +66 -0
- package/dist/directory-filter-keys.js.map +1 -0
- package/dist/directory-format.d.ts.map +1 -1
- package/dist/directory-format.js +15 -15
- package/dist/directory-format.js.map +1 -1
- package/dist/directory-lenses.d.ts +1 -1
- package/dist/directory-lenses.d.ts.map +1 -1
- package/dist/directory-lenses.js +66 -61
- package/dist/directory-lenses.js.map +1 -1
- package/dist/directory-repo.js +2 -2
- package/dist/directory-scores.d.ts.map +1 -1
- package/dist/directory-scores.js +25 -25
- package/dist/directory-scores.js.map +1 -1
- package/dist/directory-search.d.ts +4 -4
- package/dist/directory-search.d.ts.map +1 -1
- package/dist/directory-search.js +99 -107
- package/dist/directory-search.js.map +1 -1
- package/dist/directory-taxonomy.d.ts +1 -1
- package/dist/directory-taxonomy.d.ts.map +1 -1
- package/dist/directory-taxonomy.js +2 -2
- package/dist/directory-taxonomy.js.map +1 -1
- package/dist/enrich.d.ts.map +1 -1
- package/dist/enrich.js +15 -12
- package/dist/enrich.js.map +1 -1
- package/dist/github-client.js +6 -6
- package/dist/github.d.ts +1 -1
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +15 -13
- package/dist/github.js.map +1 -1
- package/dist/health.d.ts +1 -1
- package/dist/health.js +44 -44
- package/dist/host.js +2 -2
- package/dist/importer.d.ts +2 -2
- package/dist/importer.d.ts.map +1 -1
- package/dist/importer.js +1 -1
- package/dist/importer.js.map +1 -1
- package/dist/index.d.ts +66 -63
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -75
- package/dist/index.js.map +1 -1
- package/dist/io.js +8 -8
- package/dist/llms.d.ts +1 -1
- package/dist/llms.d.ts.map +1 -1
- package/dist/llms.js +65 -64
- package/dist/llms.js.map +1 -1
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js.map +1 -1
- package/dist/og-image.d.ts +8 -8
- package/dist/og-image.d.ts.map +1 -1
- package/dist/og-image.js +91 -84
- package/dist/og-image.js.map +1 -1
- package/dist/page-document.d.ts +8 -8
- package/dist/page-document.d.ts.map +1 -1
- package/dist/page-document.js +48 -54
- package/dist/page-document.js.map +1 -1
- package/dist/parseReadme.d.ts.map +1 -1
- package/dist/parseReadme.js +9 -11
- package/dist/parseReadme.js.map +1 -1
- package/dist/prepare.d.ts +5 -5
- package/dist/prepare.d.ts.map +1 -1
- package/dist/prepare.js +25 -35
- package/dist/prepare.js.map +1 -1
- package/dist/related.d.ts +1 -1
- package/dist/schema.d.ts +21 -21
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +130 -141
- package/dist/schema.js.map +1 -1
- package/dist/site-artifacts.js +1 -1
- package/dist/sitemap.d.ts +2 -2
- package/dist/sitemap.d.ts.map +1 -1
- package/dist/sitemap.js +39 -39
- package/dist/sitemap.js.map +1 -1
- package/dist/slug.js +4 -4
- package/dist/sync-icons.js +15 -15
- package/dist/taxonomy-inference.d.ts +27 -0
- package/dist/taxonomy-inference.d.ts.map +1 -0
- package/dist/taxonomy-inference.js +38 -0
- package/dist/taxonomy-inference.js.map +1 -0
- package/dist/validate.d.ts +3 -3
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +56 -58
- package/dist/validate.js.map +1 -1
- package/dist/yaml.d.ts +47 -0
- package/dist/yaml.d.ts.map +1 -0
- package/dist/yaml.js +56 -0
- package/dist/yaml.js.map +1 -0
- package/package.json +1 -1
package/dist/page-document.js
CHANGED
|
@@ -23,32 +23,32 @@
|
|
|
23
23
|
*/
|
|
24
24
|
export function definePageDocument(input) {
|
|
25
25
|
if (!input.metadata.title.trim()) {
|
|
26
|
-
throw new Error(
|
|
26
|
+
throw new Error('PageDocument: title is required');
|
|
27
27
|
}
|
|
28
28
|
if (!input.metadata.description.trim()) {
|
|
29
|
-
throw new Error(
|
|
29
|
+
throw new Error('PageDocument: description is required');
|
|
30
30
|
}
|
|
31
31
|
if (input.metadata.title === input.metadata.description) {
|
|
32
|
-
throw new Error(
|
|
32
|
+
throw new Error('PageDocument: title and description must differ');
|
|
33
33
|
}
|
|
34
34
|
if (input.metadata.openGraph.url !== input.identity.canonical.toString()) {
|
|
35
|
-
throw new Error(
|
|
35
|
+
throw new Error('PageDocument: openGraph.url must equal identity.canonical');
|
|
36
36
|
}
|
|
37
37
|
return input;
|
|
38
38
|
}
|
|
39
39
|
export function siteSchema(input) {
|
|
40
40
|
return [
|
|
41
41
|
{
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
'@context': 'https://schema.org',
|
|
43
|
+
'@type': ['WebSite', 'Organization'],
|
|
44
|
+
'@id': `${input.url}#site`,
|
|
45
45
|
url: input.url,
|
|
46
46
|
name: input.name,
|
|
47
47
|
...(input.description ? { description: input.description } : {}),
|
|
48
48
|
...(input.inLanguage ? { inLanguage: input.inLanguage } : {}),
|
|
49
49
|
publisher: {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
'@type': 'Organization',
|
|
51
|
+
'@id': `${input.orgUrl}#org`,
|
|
52
52
|
name: input.orgName,
|
|
53
53
|
url: input.orgUrl,
|
|
54
54
|
...(input.orgLogo ? { logo: input.orgLogo } : {}),
|
|
@@ -64,10 +64,10 @@ export function siteSchema(input) {
|
|
|
64
64
|
*/
|
|
65
65
|
export function breadcrumbSchema(crumbs) {
|
|
66
66
|
return {
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
'@context': 'https://schema.org',
|
|
68
|
+
'@type': 'BreadcrumbList',
|
|
69
69
|
itemListElement: crumbs.map((c, i) => ({
|
|
70
|
-
|
|
70
|
+
'@type': 'ListItem',
|
|
71
71
|
position: i + 1,
|
|
72
72
|
name: c.name,
|
|
73
73
|
item: c.url,
|
|
@@ -76,22 +76,22 @@ export function breadcrumbSchema(crumbs) {
|
|
|
76
76
|
}
|
|
77
77
|
export function collectionSchema(input) {
|
|
78
78
|
if (input.crumbs.length < 2) {
|
|
79
|
-
throw new Error(
|
|
79
|
+
throw new Error('collectionSchema: breadcrumbs must contain at least 2 items');
|
|
80
80
|
}
|
|
81
81
|
const page = {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
'@context': 'https://schema.org',
|
|
83
|
+
'@type': ['CollectionPage', 'WebPage'],
|
|
84
|
+
'@id': `${input.url}#page`,
|
|
85
85
|
url: input.url,
|
|
86
86
|
name: input.name,
|
|
87
87
|
description: input.description,
|
|
88
88
|
};
|
|
89
89
|
const list = {
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
'@context': 'https://schema.org',
|
|
91
|
+
'@type': 'ItemList',
|
|
92
92
|
numberOfItems: input.items.length,
|
|
93
93
|
itemListElement: input.items.map((item, i) => ({
|
|
94
|
-
|
|
94
|
+
'@type': 'ListItem',
|
|
95
95
|
position: i + 1,
|
|
96
96
|
url: item.url,
|
|
97
97
|
name: item.name,
|
|
@@ -101,13 +101,11 @@ export function collectionSchema(input) {
|
|
|
101
101
|
return [page, list, breadcrumbSchema(input.crumbs)];
|
|
102
102
|
}
|
|
103
103
|
export function recordSchema(input) {
|
|
104
|
-
const isApp = input.kind ===
|
|
104
|
+
const isApp = input.kind === 'application';
|
|
105
105
|
const main = {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
: ["CreativeWork", "WebPage"],
|
|
110
|
-
"@id": `${input.url}#record`,
|
|
106
|
+
'@context': 'https://schema.org',
|
|
107
|
+
'@type': isApp ? ['SoftwareApplication', 'SoftwareSourceCode'] : ['CreativeWork', 'WebPage'],
|
|
108
|
+
'@id': `${input.url}#record`,
|
|
111
109
|
url: input.url,
|
|
112
110
|
name: input.name,
|
|
113
111
|
description: input.description,
|
|
@@ -119,69 +117,65 @@ export function recordSchema(input) {
|
|
|
119
117
|
export function contentSchema(input) {
|
|
120
118
|
return [
|
|
121
119
|
{
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
120
|
+
'@context': 'https://schema.org',
|
|
121
|
+
'@type': ['Article', 'WebPage'],
|
|
122
|
+
'@id': `${input.url}#article`,
|
|
125
123
|
url: input.url,
|
|
126
124
|
headline: input.headline,
|
|
127
125
|
description: input.description,
|
|
128
|
-
author: {
|
|
126
|
+
author: { '@type': 'Organization', name: input.author },
|
|
129
127
|
...(input.datePublished ? { datePublished: input.datePublished } : {}),
|
|
130
128
|
},
|
|
131
129
|
breadcrumbSchema(input.crumbs),
|
|
132
130
|
];
|
|
133
131
|
}
|
|
134
132
|
export function buildJsonLd(input) {
|
|
135
|
-
if (
|
|
133
|
+
if ('orgName' in input)
|
|
136
134
|
return siteSchema(input);
|
|
137
|
-
if (
|
|
135
|
+
if ('items' in input)
|
|
138
136
|
return collectionSchema(input);
|
|
139
|
-
if (
|
|
137
|
+
if ('kind' in input)
|
|
140
138
|
return recordSchema(input);
|
|
141
|
-
if (
|
|
139
|
+
if ('headline' in input)
|
|
142
140
|
return contentSchema(input);
|
|
143
|
-
throw new Error(
|
|
141
|
+
throw new Error('buildJsonLd: unknown schema input');
|
|
144
142
|
}
|
|
145
|
-
const URL_FIELDS = new Set([
|
|
143
|
+
const URL_FIELDS = new Set(['url', 'codeRepository', 'logo', 'image', 'sameAs']);
|
|
146
144
|
export function validateJsonLd(nodes) {
|
|
147
145
|
const issues = [];
|
|
148
146
|
const seen = new Set();
|
|
149
147
|
for (const node of nodes) {
|
|
150
|
-
if (node[
|
|
148
|
+
if (node['@context'] !== 'https://schema.org') {
|
|
151
149
|
issues.push({
|
|
152
|
-
code:
|
|
153
|
-
message:
|
|
150
|
+
code: 'missing-context',
|
|
151
|
+
message: '@context must be https://schema.org',
|
|
154
152
|
});
|
|
155
153
|
}
|
|
156
|
-
if (!node[
|
|
157
|
-
issues.push({ code:
|
|
154
|
+
if (!node['@type']) {
|
|
155
|
+
issues.push({ code: 'missing-type', message: '@type is required' });
|
|
158
156
|
}
|
|
159
|
-
if (node[
|
|
160
|
-
if (seen.has(node[
|
|
157
|
+
if (node['@id']) {
|
|
158
|
+
if (seen.has(node['@id'])) {
|
|
161
159
|
issues.push({
|
|
162
|
-
code:
|
|
163
|
-
message: `Duplicate @id: ${node[
|
|
160
|
+
code: 'duplicate-id',
|
|
161
|
+
message: `Duplicate @id: ${node['@id']}`,
|
|
164
162
|
});
|
|
165
163
|
}
|
|
166
|
-
seen.add(node[
|
|
164
|
+
seen.add(node['@id']);
|
|
167
165
|
}
|
|
168
166
|
for (const [field, value] of Object.entries(node)) {
|
|
169
|
-
if (field.startsWith(
|
|
167
|
+
if (field.startsWith('@'))
|
|
170
168
|
continue;
|
|
171
|
-
if (URL_FIELDS.has(field) &&
|
|
172
|
-
typeof value === "string" &&
|
|
173
|
-
!/^https?:\/\//.test(value)) {
|
|
169
|
+
if (URL_FIELDS.has(field) && typeof value === 'string' && !/^https?:\/\//.test(value)) {
|
|
174
170
|
issues.push({
|
|
175
|
-
code:
|
|
171
|
+
code: 'relative-url',
|
|
176
172
|
field,
|
|
177
173
|
message: `${field} must be absolute: ${value}`,
|
|
178
174
|
});
|
|
179
175
|
}
|
|
180
|
-
if (field ===
|
|
181
|
-
typeof value === "string" &&
|
|
182
|
-
isNaN(Date.parse(value))) {
|
|
176
|
+
if (field === 'datePublished' && typeof value === 'string' && isNaN(Date.parse(value))) {
|
|
183
177
|
issues.push({
|
|
184
|
-
code:
|
|
178
|
+
code: 'invalid-date',
|
|
185
179
|
field,
|
|
186
180
|
message: `datePublished invalid: ${value}`,
|
|
187
181
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-document.js","sourceRoot":"","sources":["../src/page-document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAmEH,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAoBD,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,OAAO;QACL;YACE,UAAU,EAAE,oBAAoB;YAChC,OAAO,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;YACpC,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO;YAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,SAAS,EAAE;gBACT,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,MAAM;gBAC5B,IAAI,EAAE,KAAK,CAAC,OAAO;gBACnB,GAAG,EAAE,KAAK,CAAC,MAAM;gBACjB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,OAAO;QACL,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,gBAAgB;QACzB,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,GAAG;SACZ,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,gBAAgB,CAAC,KAAsB;IACrD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"page-document.js","sourceRoot":"","sources":["../src/page-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseReadme.d.ts","sourceRoot":"","sources":["../src/parseReadme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"parseReadme.d.ts","sourceRoot":"","sources":["../src/parseReadme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAeD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA0D3D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAgB3D"}
|
package/dist/parseReadme.js
CHANGED
|
@@ -9,9 +9,7 @@
|
|
|
9
9
|
const markdownLinkRe = /\[([^\]]+)\]\(([^)]+)\)/g;
|
|
10
10
|
function extractLinks(text) {
|
|
11
11
|
const out = [];
|
|
12
|
-
|
|
13
|
-
markdownLinkRe.lastIndex = 0;
|
|
14
|
-
while ((m = markdownLinkRe.exec(text)) !== null) {
|
|
12
|
+
for (const m of text.matchAll(markdownLinkRe)) {
|
|
15
13
|
const label = m[1];
|
|
16
14
|
const href = m[2];
|
|
17
15
|
if (label === undefined || href === undefined)
|
|
@@ -25,7 +23,7 @@ function extractLinks(text) {
|
|
|
25
23
|
* Returns null on miss (no link, non-github URL, etc).
|
|
26
24
|
*/
|
|
27
25
|
export function parseEntry(line) {
|
|
28
|
-
const body = line.replace(/^\s*-\s+/,
|
|
26
|
+
const body = line.replace(/^\s*-\s+/, '').trim();
|
|
29
27
|
if (!body)
|
|
30
28
|
return null;
|
|
31
29
|
const links = extractLinks(body);
|
|
@@ -37,17 +35,17 @@ export function parseEntry(line) {
|
|
|
37
35
|
if (!/^https?:\/\/(github|gitlab)\.com\//i.test(app.href))
|
|
38
36
|
return null;
|
|
39
37
|
let afterApp = body
|
|
40
|
-
.replace(/^\s*\[[^\]]+\]\([^)]+\)\s*/,
|
|
41
|
-
.replace(/^[-—–]\s*/,
|
|
38
|
+
.replace(/^\s*\[[^\]]+\]\([^)]+\)\s*/, '')
|
|
39
|
+
.replace(/^[-—–]\s*/, '')
|
|
42
40
|
.trim();
|
|
43
41
|
while (/\s*\([^)]*\)\s*$/.test(afterApp)) {
|
|
44
42
|
let depth = 0;
|
|
45
43
|
let i = afterApp.length;
|
|
46
44
|
for (; i > 0; i--) {
|
|
47
45
|
const c = afterApp[i - 1];
|
|
48
|
-
if (c ===
|
|
46
|
+
if (c === ')')
|
|
49
47
|
depth++;
|
|
50
|
-
else if (c ===
|
|
48
|
+
else if (c === '(') {
|
|
51
49
|
depth--;
|
|
52
50
|
if (depth === 0)
|
|
53
51
|
break;
|
|
@@ -59,10 +57,10 @@ export function parseEntry(line) {
|
|
|
59
57
|
}
|
|
60
58
|
let description = afterApp;
|
|
61
59
|
let author = null;
|
|
62
|
-
const byLinkIdx = afterApp.lastIndexOf(
|
|
60
|
+
const byLinkIdx = afterApp.lastIndexOf(' by [');
|
|
63
61
|
if (byLinkIdx >= 0) {
|
|
64
62
|
description = afterApp.slice(0, byLinkIdx).trim();
|
|
65
|
-
const close = afterApp.indexOf(
|
|
63
|
+
const close = afterApp.indexOf(']', byLinkIdx);
|
|
66
64
|
if (close > 0) {
|
|
67
65
|
author = afterApp.slice(byLinkIdx + 5, close).trim();
|
|
68
66
|
}
|
|
@@ -74,7 +72,7 @@ export function parseEntry(line) {
|
|
|
74
72
|
author = byPlain[2].trim();
|
|
75
73
|
}
|
|
76
74
|
}
|
|
77
|
-
description = description.replace(/[.\s]+$/,
|
|
75
|
+
description = description.replace(/[.\s]+$/, '').trim();
|
|
78
76
|
if (!description)
|
|
79
77
|
description = app.label;
|
|
80
78
|
return {
|
package/dist/parseReadme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseReadme.js","sourceRoot":"","sources":["../src/parseReadme.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAElD,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,GAAG,GAA2C,EAAE,CAAC;IACvD,
|
|
1
|
+
{"version":3,"file":"parseReadme.js","sourceRoot":"","sources":["../src/parseReadme.ts"],"names":[],"mappings":"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"}
|
package/dist/prepare.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type GenerateResult } from
|
|
2
|
-
import { type LlmsResult } from
|
|
3
|
-
import { type
|
|
4
|
-
import { type
|
|
5
|
-
import { type
|
|
1
|
+
import { type GenerateResult } from './build-data.js';
|
|
2
|
+
import { type LlmsResult } from './llms.js';
|
|
3
|
+
import { type OgBuildResult } from './og-image.js';
|
|
4
|
+
import { type SiteArtifactsResult } from './site-artifacts.js';
|
|
5
|
+
import { type SitemapResult } from './sitemap.js';
|
|
6
6
|
export interface PrepareDirectoryResult {
|
|
7
7
|
generated: GenerateResult;
|
|
8
8
|
sitemap: SitemapResult;
|
package/dist/prepare.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../src/prepare.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../src/prepare.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAY,MAAM,iBAAiB,CAAC;AAMhE,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAmC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,mBAAmB,CAAC;IACnC,QAAQ,EAAE,aAAa,CAAC;CACzB;AAwFD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAiJ3F"}
|
package/dist/prepare.js
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import { readFile } from
|
|
2
|
-
import { join, resolve } from
|
|
3
|
-
import { generate } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { buildLlmsFiles
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { join, resolve } from 'node:path';
|
|
3
|
+
import { generate } from './build-data.js';
|
|
4
|
+
import { loadCollections } from './collections-io.js';
|
|
5
|
+
import { runCollection } from './collector.js';
|
|
6
|
+
import { loadConfig } from './config.js';
|
|
7
|
+
import { readContentFile } from './content-body.js';
|
|
8
|
+
import { buildLlmsFiles } from './llms.js';
|
|
9
|
+
import { buildOgImages } from './og-image.js';
|
|
10
|
+
import { buildSiteArtifacts } from './site-artifacts.js';
|
|
11
|
+
import { buildSitemap } from './sitemap.js';
|
|
12
12
|
function toSitemapItem(record) {
|
|
13
13
|
const visibility = record.health?.visibility ?? record.visibility;
|
|
14
|
-
const lastCommitAt = record.lastCommitAt ??
|
|
15
|
-
record.github?.pushedAt ??
|
|
16
|
-
record.github?.repository?.pushed_at;
|
|
14
|
+
const lastCommitAt = record.lastCommitAt ?? record.github?.pushedAt ?? record.github?.repository?.pushed_at;
|
|
17
15
|
return {
|
|
18
16
|
slug: record.slug,
|
|
19
17
|
...(visibility !== undefined ? { visibility } : {}),
|
|
@@ -32,7 +30,7 @@ function readDetailBody(root, record) {
|
|
|
32
30
|
return undefined;
|
|
33
31
|
const found = readContentFile(record.content, [
|
|
34
32
|
resolve(root, record.content),
|
|
35
|
-
join(root, record.content.replace(/^\.\//,
|
|
33
|
+
join(root, record.content.replace(/^\.\//, '')),
|
|
36
34
|
]);
|
|
37
35
|
const body = found?.body.trim();
|
|
38
36
|
return body ? body : undefined;
|
|
@@ -42,18 +40,12 @@ function toLlmsRecord(root, record) {
|
|
|
42
40
|
const visibility = record.health?.visibility ?? record.visibility;
|
|
43
41
|
const repoUrl = record.repoUrl ?? record.links?.github;
|
|
44
42
|
const homepageUrl = record.homepageUrl ?? record.links?.website;
|
|
45
|
-
const license = record.github?.license ??
|
|
46
|
-
|
|
47
|
-
undefined;
|
|
48
|
-
const lastCommitAt = record.lastCommitAt ??
|
|
49
|
-
record.github?.pushedAt ??
|
|
50
|
-
record.github?.repository?.pushed_at;
|
|
43
|
+
const license = record.github?.license ?? record.github?.repository?.license?.spdx_id ?? undefined;
|
|
44
|
+
const lastCommitAt = record.lastCommitAt ?? record.github?.pushedAt ?? record.github?.repository?.pushed_at;
|
|
51
45
|
return {
|
|
52
46
|
slug: record.slug,
|
|
53
47
|
name: record.name ?? record.title ?? record.slug,
|
|
54
|
-
...(record.description !== undefined
|
|
55
|
-
? { description: record.description }
|
|
56
|
-
: {}),
|
|
48
|
+
...(record.description !== undefined ? { description: record.description } : {}),
|
|
57
49
|
...(record.category !== undefined ? { category: record.category } : {}),
|
|
58
50
|
...(record.stack !== undefined ? { stack: record.stack } : {}),
|
|
59
51
|
...(stars !== undefined ? { stars } : {}),
|
|
@@ -81,10 +73,10 @@ export async function prepareDirectory(cwd = process.cwd()) {
|
|
|
81
73
|
const root = resolve(cwd);
|
|
82
74
|
const config = await loadConfig(root);
|
|
83
75
|
const generated = await generate(root, config);
|
|
84
|
-
const payload = JSON.parse(await readFile(join(root, config.paths.generatedDir,
|
|
76
|
+
const payload = JSON.parse(await readFile(join(root, config.paths.generatedDir, 'records.full.json'), 'utf8'));
|
|
85
77
|
const generatedAt = payload.generatedAt ?? new Date().toISOString();
|
|
86
78
|
const records = payload.records ?? [];
|
|
87
|
-
const sitePayload = JSON.parse(await readFile(join(root, config.paths.generatedDir,
|
|
79
|
+
const sitePayload = JSON.parse(await readFile(join(root, config.paths.generatedDir, 'site-config.json'), 'utf8'));
|
|
88
80
|
const collections = await loadCollections(root);
|
|
89
81
|
const sitemap = await buildSitemap({
|
|
90
82
|
generatedAt,
|
|
@@ -92,9 +84,7 @@ export async function prepareDirectory(cwd = process.cwd()) {
|
|
|
92
84
|
collections: collections.map((c) => ({
|
|
93
85
|
slug: c.slug,
|
|
94
86
|
index: c.seo?.index !== false,
|
|
95
|
-
...(c.editorial?.lastReviewedAt
|
|
96
|
-
? { lastReviewedAt: c.editorial.lastReviewedAt }
|
|
97
|
-
: {}),
|
|
87
|
+
...(c.editorial?.lastReviewedAt ? { lastReviewedAt: c.editorial.lastReviewedAt } : {}),
|
|
98
88
|
})),
|
|
99
89
|
taxonomies: {
|
|
100
90
|
categories: (sitePayload.taxonomy?.categories ?? []).map((t) => t.id),
|
|
@@ -113,7 +103,7 @@ export async function prepareDirectory(cwd = process.cwd()) {
|
|
|
113
103
|
// is internally non-fatal).
|
|
114
104
|
const visible = records.filter((r) => {
|
|
115
105
|
const visibility = r.health?.visibility ?? r.visibility;
|
|
116
|
-
return visibility !==
|
|
106
|
+
return visibility !== 'hide' && visibility !== 'remove';
|
|
117
107
|
});
|
|
118
108
|
const licenseOf = (r) => r.github?.license ?? r.github?.repository?.license?.spdx_id ?? undefined;
|
|
119
109
|
const countBy = (pick) => {
|
|
@@ -138,7 +128,7 @@ export async function prepareDirectory(cwd = process.cwd()) {
|
|
|
138
128
|
return {
|
|
139
129
|
slug: r.slug,
|
|
140
130
|
title: r.name ?? r.title ?? r.slug,
|
|
141
|
-
description: r.description ??
|
|
131
|
+
description: r.description ?? '',
|
|
142
132
|
url: `/${r.slug}/`,
|
|
143
133
|
...(r.stack !== undefined ? { stack: r.stack } : {}),
|
|
144
134
|
...(license !== undefined ? { license } : {}),
|
|
@@ -150,19 +140,19 @@ export async function prepareDirectory(cwd = process.cwd()) {
|
|
|
150
140
|
});
|
|
151
141
|
const taxonomyJobs = [
|
|
152
142
|
...(sitePayload.taxonomy?.categories ?? []).map((t) => ({
|
|
153
|
-
facet:
|
|
143
|
+
facet: 'category',
|
|
154
144
|
id: t.id,
|
|
155
145
|
label: t.name ?? t.id,
|
|
156
146
|
count: categoryCounts.get(t.id.toLowerCase()) ?? 0,
|
|
157
147
|
})),
|
|
158
148
|
...(sitePayload.taxonomy?.stacks ?? []).map((t) => ({
|
|
159
|
-
facet:
|
|
149
|
+
facet: 'stack',
|
|
160
150
|
id: t.id,
|
|
161
151
|
label: t.name ?? t.id,
|
|
162
152
|
count: stackCounts.get(t.id.toLowerCase()) ?? 0,
|
|
163
153
|
})),
|
|
164
154
|
...(sitePayload.taxonomy?.licenses ?? []).map((t) => ({
|
|
165
|
-
facet:
|
|
155
|
+
facet: 'license',
|
|
166
156
|
id: t.id,
|
|
167
157
|
label: t.name ?? t.id,
|
|
168
158
|
count: licenseCounts.get(t.id.toLowerCase()) ?? 0,
|
|
@@ -174,7 +164,7 @@ export async function prepareDirectory(cwd = process.cwd()) {
|
|
|
174
164
|
const descriptor = r.summary ?? r.description;
|
|
175
165
|
const stars = r.github?.stars ?? r.github?.repository?.stargazers_count;
|
|
176
166
|
const category = r.category
|
|
177
|
-
? categoryNames.get(r.category.toLowerCase()) ?? r.category
|
|
167
|
+
? (categoryNames.get(r.category.toLowerCase()) ?? r.category)
|
|
178
168
|
: undefined;
|
|
179
169
|
return {
|
|
180
170
|
slug: r.slug,
|
package/dist/prepare.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../src/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../src/prepare.ts"],"names":[],"mappings":"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"}
|
package/dist/related.d.ts
CHANGED
package/dist/schema.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from
|
|
1
|
+
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
3
|
* A blueprint defines the shape and behavior of a Grove site.
|
|
4
4
|
*
|
|
@@ -1842,7 +1842,7 @@ export interface IndexBase {
|
|
|
1842
1842
|
* can write their own `summary` without overwriting it. */
|
|
1843
1843
|
sourceDescription?: string | undefined;
|
|
1844
1844
|
content?: string | undefined;
|
|
1845
|
-
curation: ProjectRecord[
|
|
1845
|
+
curation: ProjectRecord['curation'];
|
|
1846
1846
|
licenses: string[];
|
|
1847
1847
|
}
|
|
1848
1848
|
export interface IndexGithubSummary {
|
|
@@ -1857,45 +1857,45 @@ export interface IndexGithubSummary {
|
|
|
1857
1857
|
topics: string[];
|
|
1858
1858
|
}
|
|
1859
1859
|
export interface IndexProjectRecord extends IndexBase {
|
|
1860
|
-
kind:
|
|
1860
|
+
kind: 'project';
|
|
1861
1861
|
name: string;
|
|
1862
|
-
stack: ProjectRecord[
|
|
1862
|
+
stack: ProjectRecord['stack'];
|
|
1863
1863
|
stacks: string[];
|
|
1864
1864
|
platforms: string[];
|
|
1865
1865
|
licenses: string[];
|
|
1866
|
-
projectType: ProjectRecord[
|
|
1867
|
-
repoUrl: ProjectRecord[
|
|
1868
|
-
logoUrl: ProjectRecord[
|
|
1869
|
-
screenshots: ProjectRecord[
|
|
1870
|
-
difficulty: ProjectRecord[
|
|
1871
|
-
codebaseSize: ProjectRecord[
|
|
1866
|
+
projectType: ProjectRecord['projectType'];
|
|
1867
|
+
repoUrl: ProjectRecord['repoUrl'];
|
|
1868
|
+
logoUrl: ProjectRecord['logoUrl'];
|
|
1869
|
+
screenshots: ProjectRecord['screenshots'];
|
|
1870
|
+
difficulty: ProjectRecord['difficulty'];
|
|
1871
|
+
codebaseSize: ProjectRecord['codebaseSize'];
|
|
1872
1872
|
bestFor: string[];
|
|
1873
1873
|
whyListed: string[];
|
|
1874
1874
|
caveats: string[];
|
|
1875
|
-
health: ProjectRecord[
|
|
1875
|
+
health: ProjectRecord['health'];
|
|
1876
1876
|
/** Effective visibility — decisions.yml overrides win over health. */
|
|
1877
1877
|
visibility: DecisionVisibility;
|
|
1878
1878
|
github: IndexGithubSummary | undefined;
|
|
1879
1879
|
}
|
|
1880
1880
|
export interface IndexResourceRecord extends IndexBase {
|
|
1881
|
-
kind:
|
|
1881
|
+
kind: 'resource';
|
|
1882
1882
|
title: string;
|
|
1883
|
-
type: ResourceRecord[
|
|
1883
|
+
type: ResourceRecord['type'];
|
|
1884
1884
|
topic: string;
|
|
1885
1885
|
related: string[];
|
|
1886
|
-
publishedAt: ResourceRecord[
|
|
1887
|
-
author: ResourceRecord[
|
|
1886
|
+
publishedAt: ResourceRecord['publishedAt'];
|
|
1887
|
+
author: ResourceRecord['author'];
|
|
1888
1888
|
/** Effective visibility — decisions.yml overrides win over the record default. */
|
|
1889
1889
|
visibility: DecisionVisibility;
|
|
1890
1890
|
}
|
|
1891
1891
|
export interface IndexEntityRecord extends IndexBase {
|
|
1892
|
-
kind:
|
|
1892
|
+
kind: 'entity';
|
|
1893
1893
|
name: string;
|
|
1894
|
-
type: EntityRecord[
|
|
1895
|
-
founded: EntityRecord[
|
|
1896
|
-
location: EntityRecord[
|
|
1897
|
-
members: EntityRecord[
|
|
1898
|
-
parent: EntityRecord[
|
|
1894
|
+
type: EntityRecord['type'];
|
|
1895
|
+
founded: EntityRecord['founded'];
|
|
1896
|
+
location: EntityRecord['location'];
|
|
1897
|
+
members: EntityRecord['members'];
|
|
1898
|
+
parent: EntityRecord['parent'];
|
|
1899
1899
|
/** Effective visibility — decisions.yml overrides win over the record default. */
|
|
1900
1900
|
visibility: DecisionVisibility;
|
|
1901
1901
|
}
|