@grove-dev/core 0.10.0 → 0.12.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.
Files changed (58) hide show
  1. package/dist/awesome-readme.d.ts +39 -0
  2. package/dist/awesome-readme.d.ts.map +1 -1
  3. package/dist/awesome-readme.js +51 -7
  4. package/dist/awesome-readme.js.map +1 -1
  5. package/dist/build-data.d.ts.map +1 -1
  6. package/dist/build-data.js +8 -0
  7. package/dist/build-data.js.map +1 -1
  8. package/dist/collection-entries.d.ts +81 -0
  9. package/dist/collection-entries.d.ts.map +1 -0
  10. package/dist/collection-entries.js +74 -0
  11. package/dist/collection-entries.js.map +1 -0
  12. package/dist/collections-io.d.ts +17 -1
  13. package/dist/collections-io.d.ts.map +1 -1
  14. package/dist/collections-io.js +39 -5
  15. package/dist/collections-io.js.map +1 -1
  16. package/dist/collections.d.ts +95 -40
  17. package/dist/collections.d.ts.map +1 -1
  18. package/dist/collections.js +106 -1
  19. package/dist/collections.js.map +1 -1
  20. package/dist/collector.d.ts +18 -0
  21. package/dist/collector.d.ts.map +1 -1
  22. package/dist/collector.js +42 -2
  23. package/dist/collector.js.map +1 -1
  24. package/dist/content-body.d.ts +20 -1
  25. package/dist/content-body.d.ts.map +1 -1
  26. package/dist/content-body.js +67 -1
  27. package/dist/content-body.js.map +1 -1
  28. package/dist/index.d.ts +13 -10
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +9 -6
  31. package/dist/index.js.map +1 -1
  32. package/dist/llms.d.ts.map +1 -1
  33. package/dist/llms.js +4 -11
  34. package/dist/llms.js.map +1 -1
  35. package/dist/page-document.d.ts +24 -0
  36. package/dist/page-document.d.ts.map +1 -1
  37. package/dist/page-document.js +22 -1
  38. package/dist/page-document.js.map +1 -1
  39. package/dist/prepare.d.ts.map +1 -1
  40. package/dist/prepare.js +18 -24
  41. package/dist/prepare.js.map +1 -1
  42. package/dist/related.js +14 -3
  43. package/dist/related.js.map +1 -1
  44. package/dist/routes.d.ts +9 -0
  45. package/dist/routes.d.ts.map +1 -0
  46. package/dist/routes.js +15 -0
  47. package/dist/routes.js.map +1 -0
  48. package/dist/schema.d.ts +230 -0
  49. package/dist/schema.d.ts.map +1 -1
  50. package/dist/schema.js +63 -0
  51. package/dist/schema.js.map +1 -1
  52. package/dist/sitemap.d.ts.map +1 -1
  53. package/dist/sitemap.js +2 -9
  54. package/dist/sitemap.js.map +1 -1
  55. package/dist/validate.d.ts.map +1 -1
  56. package/dist/validate.js +340 -1
  57. package/dist/validate.js.map +1 -1
  58. package/package.json +1 -1
@@ -6,6 +6,12 @@
6
6
  * TOC, H2 category sections, and `- [Name](URL) - Description.` entries
7
7
  * sorted alphabetically within each section.
8
8
  *
9
+ * Entries link to the project's homepage (falling back to its
10
+ * repository) by default. `readme.entryLinkTarget: 'detail'` links
11
+ * each entry to its page on the directory site instead and keeps the
12
+ * repository as a secondary `([Source](…))` link, so the README sends
13
+ * readers to the reviewed page rather than past it.
14
+ *
9
15
  * The output is wrapped between `<!-- grove-readme:start -->` /
10
16
  * `<!-- grove-readme:end -->` sentinels so a project's hand-written
11
17
  * intro, contributing notes, and license section are preserved across
@@ -26,6 +32,14 @@ export interface AwesomeReadmeCategory {
26
32
  id: string;
27
33
  name: string;
28
34
  }
35
+ /**
36
+ * Where each entry's main link points.
37
+ * - `homepage` (default): homepage, falling back to the repository.
38
+ * - `repository`: repository, falling back to the homepage.
39
+ * - `detail`: the record's page on the site (`site.url` + directory
40
+ * route + slug + `/`), with the repository as a secondary link.
41
+ */
42
+ export type ReadmeEntryLinkTarget = 'detail' | 'homepage' | 'repository';
29
43
  export interface AwesomeReadmeOptions {
30
44
  title?: string | undefined;
31
45
  tagline?: string | undefined;
@@ -36,6 +50,7 @@ export interface AwesomeReadmeOptions {
36
50
  showBadge?: boolean | undefined;
37
51
  showToc?: boolean | undefined;
38
52
  showBrowseLink?: boolean | undefined;
53
+ entryLinkTarget?: ReadmeEntryLinkTarget | undefined;
39
54
  }
40
55
  export interface AwesomeReadmeInput {
41
56
  site: {
@@ -45,6 +60,12 @@ export interface AwesomeReadmeInput {
45
60
  url?: string | undefined;
46
61
  repoUrl?: string | undefined;
47
62
  };
63
+ /**
64
+ * Directory route segment for record pages (e.g. `apps` for
65
+ * `/apps/<slug>/`). Required when `readme.entryLinkTarget` is
66
+ * `detail`.
67
+ */
68
+ directoryRoute?: string | undefined;
48
69
  records: AwesomeReadmeRecord[];
49
70
  categories: AwesomeReadmeCategory[];
50
71
  generatedAt: string;
@@ -52,6 +73,24 @@ export interface AwesomeReadmeInput {
52
73
  }
53
74
  export declare const AWESOME_README_START = "<!-- grove-readme:start -->";
54
75
  export declare const AWESOME_README_END = "<!-- grove-readme:end -->";
76
+ /**
77
+ * Canonical URL of a record's detail page: `site.url` without a
78
+ * trailing slash, the directory route, the URI-encoded slug, and a
79
+ * trailing slash to match the canonical URLs pages emit (see
80
+ * `buildSitemap`).
81
+ */
82
+ export declare function recordDetailUrl(siteUrl: string, directoryRoute: string, slug: string): string;
83
+ /**
84
+ * Throws when `detail` links cannot be built. A README that silently
85
+ * fell back to repository links would hide the misconfiguration.
86
+ */
87
+ export declare function assertReadmeLinkConfig(input: {
88
+ readme?: AwesomeReadmeOptions | undefined;
89
+ site: {
90
+ url?: string | undefined;
91
+ };
92
+ directoryRoute?: string | undefined;
93
+ }): void;
55
94
  export declare function buildAwesomeReadme(input: AwesomeReadmeInput): string;
56
95
  export interface AwesomeReadmeSections {
57
96
  before: string;
@@ -1 +1 @@
1
- {"version":3,"file":"awesome-readme.d.ts","sourceRoot":"","sources":["../src/awesome-readme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC3C;AAED,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,kBAAkB,8BAA8B,CAAC;AA0D9D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CA8EpE;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAchF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ9E"}
1
+ {"version":3,"file":"awesome-readme.d.ts","sourceRoot":"","sources":["../src/awesome-readme.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@
6
6
  * TOC, H2 category sections, and `- [Name](URL) - Description.` entries
7
7
  * sorted alphabetically within each section.
8
8
  *
9
+ * Entries link to the project's homepage (falling back to its
10
+ * repository) by default. `readme.entryLinkTarget: 'detail'` links
11
+ * each entry to its page on the directory site instead and keeps the
12
+ * repository as a secondary `([Source](…))` link, so the README sends
13
+ * readers to the reviewed page rather than past it.
14
+ *
9
15
  * The output is wrapped between `<!-- grove-readme:start -->` /
10
16
  * `<!-- grove-readme:end -->` sentinels so a project's hand-written
11
17
  * intro, contributing notes, and license section are preserved across
@@ -21,8 +27,44 @@ function normalizeDescription(value) {
21
27
  const stripped = collapsed.replace(/[.!?…]+\s*$/u, '');
22
28
  return stripped;
23
29
  }
24
- function entryUrl(record) {
25
- return record.homepageUrl ?? record.repoUrl ?? '';
30
+ /**
31
+ * Canonical URL of a record's detail page: `site.url` without a
32
+ * trailing slash, the directory route, the URI-encoded slug, and a
33
+ * trailing slash to match the canonical URLs pages emit (see
34
+ * `buildSitemap`).
35
+ */
36
+ export function recordDetailUrl(siteUrl, directoryRoute, slug) {
37
+ const base = siteUrl.replace(/\/+$/, '');
38
+ const route = directoryRoute.replace(/^\/+|\/+$/g, '');
39
+ return `${base}/${route}/${encodeURIComponent(slug)}/`;
40
+ }
41
+ /**
42
+ * Throws when `detail` links cannot be built. A README that silently
43
+ * fell back to repository links would hide the misconfiguration.
44
+ */
45
+ export function assertReadmeLinkConfig(input) {
46
+ if (input.readme?.entryLinkTarget !== 'detail')
47
+ return;
48
+ const missing = [];
49
+ if (!input.site.url)
50
+ missing.push('site.url');
51
+ if (!input.directoryRoute)
52
+ missing.push('the directory route (routes.directory)');
53
+ if (missing.length > 0) {
54
+ throw new Error(`readme.entryLinkTarget is 'detail' but ${missing.join(' and ')} ${missing.length > 1 ? 'are' : 'is'} not set.`);
55
+ }
56
+ }
57
+ function entryLinks(record, input) {
58
+ const target = input.readme?.entryLinkTarget ?? 'homepage';
59
+ const { directoryRoute } = input;
60
+ const siteUrl = input.site.url;
61
+ // assertReadmeLinkConfig in buildAwesomeReadme guarantees both are set.
62
+ if (target === 'detail' && siteUrl && directoryRoute) {
63
+ return { main: recordDetailUrl(siteUrl, directoryRoute, record.slug), source: record.repoUrl };
64
+ }
65
+ if (target === 'repository')
66
+ return { main: record.repoUrl ?? record.homepageUrl ?? '' };
67
+ return { main: record.homepageUrl ?? record.repoUrl ?? '' };
26
68
  }
27
69
  function entryLabel(record) {
28
70
  return record.name?.trim() || record.slug.trim();
@@ -48,12 +90,13 @@ function categoryAnchor(name) {
48
90
  .trim()
49
91
  .replace(/\s+/g, '-');
50
92
  }
51
- function buildEntryLine(record) {
93
+ function buildEntryLine(record, input) {
52
94
  const label = entryLabel(record);
53
- const url = entryUrl(record);
95
+ const { main, source } = entryLinks(record, input);
54
96
  const desc = normalizeDescription(record.description);
55
- const link = url ? `[${label}](${url})` : label;
56
- return desc ? `- ${link} - ${desc}.` : `- ${link}`;
97
+ const link = main ? `[${label}](${main})` : label;
98
+ const sourceLink = source ? ` ([Source](${source}))` : '';
99
+ return desc ? `- ${link} - ${desc}.${sourceLink}` : `- ${link}${sourceLink}`;
57
100
  }
58
101
  function isVisible(record) {
59
102
  return record.visibility !== 'hide' && record.visibility !== 'remove';
@@ -62,6 +105,7 @@ function hasLabel(record) {
62
105
  return Boolean(record.name?.trim() || record.slug?.trim());
63
106
  }
64
107
  export function buildAwesomeReadme(input) {
108
+ assertReadmeLinkConfig(input);
65
109
  const visible = input.records.filter((r) => isVisible(r) && hasLabel(r));
66
110
  const opts = input.readme ?? {};
67
111
  const showBadge = opts.showBadge !== false;
@@ -132,7 +176,7 @@ export function buildAwesomeReadme(input) {
132
176
  lines.push(`## ${name}`);
133
177
  lines.push('');
134
178
  for (const record of records)
135
- lines.push(buildEntryLine(record));
179
+ lines.push(buildEntryLine(record, input));
136
180
  lines.push('');
137
181
  }
138
182
  return lines.join('\n').replace(/\n+$/, '\n');
@@ -1 +1 @@
1
- {"version":3,"file":"awesome-readme.js","sourceRoot":"","sources":["../src/awesome-readme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"awesome-readme.js","sourceRoot":"","sources":["../src/awesome-readme.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-data.d.ts","sourceRoot":"","sources":["../src/build-data.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,WAAW,EAUjB,MAAM,aAAa,CAAC;AA0GrB;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzC;AAiDD;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAsB,QAAQ,CAAC,GAAG,SAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAsSjG"}
1
+ {"version":3,"file":"build-data.d.ts","sourceRoot":"","sources":["../src/build-data.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,WAAW,EAUjB,MAAM,aAAa,CAAC;AA0GrB;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzC;AAiDD;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAsB,QAAQ,CAAC,GAAG,SAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAkTjG"}
@@ -209,6 +209,7 @@ export async function generate(cwd = process.cwd(), config) {
209
209
  const categoryCounts = new Map();
210
210
  const stackCounts = new Map();
211
211
  const licenseCounts = new Map();
212
+ const subjectCounts = new Map();
212
213
  const bump = (counts, id) => {
213
214
  const key = id.toLowerCase();
214
215
  counts.set(key, (counts.get(key) ?? 0) + 1);
@@ -219,6 +220,9 @@ export async function generate(cwd = process.cwd(), config) {
219
220
  categories.add(cat);
220
221
  bump(categoryCounts, cat);
221
222
  }
223
+ const related = new Set((r.relations ?? []).map((rel) => rel.to));
224
+ for (const subject of related)
225
+ bump(subjectCounts, subject);
222
226
  const s1 = r.stack;
223
227
  if (s1) {
224
228
  stacks.add(s1);
@@ -322,6 +326,10 @@ export async function generate(cwd = process.cwd(), config) {
322
326
  topics: await loadTaxonomyFile(cwd, cfg.paths.taxonomyDir, 'topics.yml'),
323
327
  distributionChannels: await loadTaxonomyFile(cwd, cfg.paths.taxonomyDir, 'distribution-channels.yml'),
324
328
  licenses: withCounts(await loadTaxonomyFile(cwd, cfg.paths.taxonomyDir, 'licenses.yml'), licenseCounts),
329
+ // Subjects records relate to (data/taxonomy/subjects.yml). `count`
330
+ // is how many visible records have a relation to each one. Optional
331
+ // — a site without the file gets an empty list.
332
+ subjects: withCounts(await loadTaxonomyFile(cwd, cfg.paths.taxonomyDir, 'subjects.yml'), subjectCounts),
325
333
  };
326
334
  const siteConfigPayload = {
327
335
  blueprint: cfg.blueprint,
@@ -1 +1 @@
1
- {"version":3,"file":"build-data.js","sourceRoot":"","sources":["../src/build-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-data.js","sourceRoot":"","sources":["../src/build-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Record → `CollectionEntry` projection.
3
+ *
4
+ * One mapper for every caller that runs a collection — the page view
5
+ * model in `@grove-dev/astro`, and `prepareDirectory`, which counts a
6
+ * collection's entries for its OG caption. Two mappers meant two
7
+ * answers to "how many records are in this collection".
8
+ *
9
+ * The projection reads the data a synced record actually carries.
10
+ * `health.status` is the lifecycle value `excludeStatuses` filters on
11
+ * (`archived`, `stale`, …); the record's own `visibility` is a curation
12
+ * decision and only ever says `keep`. Ranking inputs come from an
13
+ * explicit `scores` block when a curator wrote one, and otherwise from
14
+ * the GitHub sync: recent releases, pushes and commits for activity,
15
+ * stars on a log scale for adoption. Without that fallback every preset
16
+ * scores 0 and a "ranked" collection renders in file order.
17
+ */
18
+ import type { CollectionEntry } from './collections.js';
19
+ export interface CollectionSourceRecord {
20
+ slug?: string;
21
+ name?: string;
22
+ title?: string;
23
+ description?: string;
24
+ category?: string;
25
+ tags?: string[];
26
+ stack?: string;
27
+ stacks?: string[];
28
+ platforms?: string[];
29
+ license?: string;
30
+ licenses?: string[];
31
+ visibility?: string;
32
+ repoUrl?: string;
33
+ links?: {
34
+ github?: string;
35
+ website?: string;
36
+ };
37
+ stars?: number;
38
+ forks?: number;
39
+ pushedAt?: string | null;
40
+ lastCommitAt?: string | null;
41
+ scores?: {
42
+ curation?: number;
43
+ activity?: number;
44
+ };
45
+ relations?: Array<{
46
+ type: string;
47
+ to: string;
48
+ }>;
49
+ health?: {
50
+ status?: string;
51
+ visibility?: string;
52
+ };
53
+ github?: {
54
+ stars?: number;
55
+ license?: string;
56
+ pushedAt?: string | null;
57
+ latestReleaseAt?: string | null;
58
+ repository?: {
59
+ stargazers_count?: number;
60
+ forks_count?: number;
61
+ pushed_at?: string | null;
62
+ license?: {
63
+ spdx_id?: string | null;
64
+ } | null;
65
+ };
66
+ activity?: {
67
+ monthlyCommits?: Array<{
68
+ month: string;
69
+ commits: number;
70
+ }>;
71
+ };
72
+ };
73
+ }
74
+ export interface ToCollectionEntriesOptions {
75
+ /** Directory route slug; an entry's `url` is `/<routeSlug>/<slug>/`. */
76
+ routeSlug: string;
77
+ /** Clock for the freshness signals. Defaults to `Date.now()`. */
78
+ now?: number;
79
+ }
80
+ export declare function toCollectionEntries(records: CollectionSourceRecord[], options: ToCollectionEntriesOptions): CollectionEntry[];
81
+ //# sourceMappingURL=collection-entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-entries.d.ts","sourceRoot":"","sources":["../src/collection-entries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,UAAU,CAAC,EAAE;YACX,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,EAAE;gBAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,GAAG,IAAI,CAAC;SAC9C,CAAC;QACF,QAAQ,CAAC,EAAE;YAAE,cAAc,CAAC,EAAE,KAAK,CAAC;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;KAC3E,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAoCD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,sBAAsB,EAAE,EACjC,OAAO,EAAE,0BAA0B,GAClC,eAAe,EAAE,CA+CnB"}
@@ -0,0 +1,74 @@
1
+ const DAY = 24 * 3600 * 1000;
2
+ const HIDDEN = new Set(['hide', 'remove']);
3
+ function freshness(date, windowDays, now) {
4
+ const time = date ? Date.parse(date) : Number.NaN;
5
+ if (!Number.isFinite(time))
6
+ return 0;
7
+ return Math.min(1, Math.max(0, 1 - (now - time) / (windowDays * DAY)));
8
+ }
9
+ /**
10
+ * Mean of: release freshness (180-day window), push freshness (90-day
11
+ * window) and, when commit history is synced, the share of the recorded
12
+ * commits made in the last three months.
13
+ */
14
+ function activityFromGithub(github, pushedAt, now) {
15
+ const signals = [freshness(github.latestReleaseAt, 180, now), freshness(pushedAt, 90, now)];
16
+ const months = github.activity?.monthlyCommits;
17
+ if (months?.length) {
18
+ const total = months.reduce((sum, month) => sum + month.commits, 0);
19
+ const recent = months.slice(-3).reduce((sum, month) => sum + month.commits, 0);
20
+ if (total > 0)
21
+ signals.push(recent / total);
22
+ }
23
+ return signals.reduce((sum, value) => sum + value, 0) / signals.length;
24
+ }
25
+ /** Stars on a log scale: 10 → 0.2, 1k → 0.6, 100k → 1. */
26
+ function adoptionFromStars(stars) {
27
+ return Math.min(1, Math.log10(stars + 1) / 5);
28
+ }
29
+ export function toCollectionEntries(records, options) {
30
+ const now = options.now ?? Date.now();
31
+ const out = [];
32
+ for (const r of records) {
33
+ if (!r.slug)
34
+ continue;
35
+ if (HIDDEN.has(r.visibility ?? '') || HIDDEN.has(r.health?.visibility ?? ''))
36
+ continue;
37
+ const categories = [...new Set([...(r.category ? [r.category] : []), ...(r.tags ?? [])])];
38
+ const stack = r.stack ?? r.stacks?.[0];
39
+ const license = r.license ?? r.github?.license ?? r.github?.repository?.license?.spdx_id;
40
+ const licenses = r.licenses?.length ? r.licenses : license ? [license] : undefined;
41
+ const status = r.health?.status ?? r.visibility;
42
+ const stars = r.stars ?? r.github?.stars ?? r.github?.repository?.stargazers_count;
43
+ const forks = r.forks ?? r.github?.repository?.forks_count;
44
+ const pushedAt = r.pushedAt ?? r.lastCommitAt ?? r.github?.pushedAt ?? r.github?.repository?.pushed_at;
45
+ const repoHref = r.repoUrl ?? r.links?.github;
46
+ const activityScore = r.scores?.activity ??
47
+ (r.github ? activityFromGithub(r.github, pushedAt ?? undefined, now) : undefined);
48
+ const curationScore = r.scores?.curation ?? (stars !== undefined ? adoptionFromStars(stars) : undefined);
49
+ out.push({
50
+ slug: r.slug,
51
+ title: r.name ?? r.title ?? r.slug,
52
+ description: r.description ?? '',
53
+ url: `/${options.routeSlug}/${r.slug}/`,
54
+ ...(repoHref ? { repoHref } : {}),
55
+ ...(r.links?.website ? { homepageHref: r.links.website } : {}),
56
+ ...(stack ? { stack } : {}),
57
+ ...(r.platforms ? { platform: r.platforms } : {}),
58
+ ...(license ? { license } : {}),
59
+ ...(licenses ? { licenses } : {}),
60
+ ...(status ? { status } : {}),
61
+ ...(stars !== undefined ? { stars } : {}),
62
+ ...(forks !== undefined ? { forks } : {}),
63
+ ...(pushedAt ? { pushedAt } : {}),
64
+ ...(curationScore !== undefined ? { curationScore } : {}),
65
+ ...(activityScore !== undefined ? { activityScore } : {}),
66
+ ...(categories.length ? { categories } : {}),
67
+ ...(r.relations?.length
68
+ ? { relations: r.relations.map(({ type, to }) => ({ type, to })) }
69
+ : {}),
70
+ });
71
+ }
72
+ return out;
73
+ }
74
+ //# sourceMappingURL=collection-entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-entries.js","sourceRoot":"","sources":["../src/collection-entries.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Collection } from './collections.js';
1
+ import { type Collection } from './collections.js';
2
2
  /**
3
3
  * Load all `Collection` YAML files from `<cwd>/data/collections/*.yml`.
4
4
  *
@@ -7,6 +7,22 @@ import type { Collection } from './collections.js';
7
7
  * invocation site. Parse errors and other unexpected failures are NOT
8
8
  * swallowed — they surface so real problems (malformed YAML, permission
9
9
  * errors, etc.) are visible instead of silently producing empty output.
10
+ *
11
+ * Every file is parsed with `collectionDefinitionSchema`, so defaults are
12
+ * applied (`kind`, `query`, `ranking`, `seo.index`) and a malformed file
13
+ * throws a `CollectionFileError` naming the file and the failing fields.
10
14
  */
11
15
  export declare function loadCollections(cwd: string): Promise<Collection[]>;
16
+ /** A collection file that is not valid YAML or does not match the schema. */
17
+ export declare class CollectionFileError extends Error {
18
+ readonly file: string;
19
+ readonly problems: string[];
20
+ constructor(file: string, problems: string[]);
21
+ }
22
+ /**
23
+ * Parse one collection file's text. Shared by `loadCollections` and
24
+ * `validateProject` so the build and `grove check` agree on what a valid
25
+ * collection is.
26
+ */
27
+ export declare function parseCollectionFile(file: string, text: string): Collection;
12
28
  //# sourceMappingURL=collections-io.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collections-io.d.ts","sourceRoot":"","sources":["../src/collections-io.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAkBxE"}
1
+ {"version":3,"file":"collections-io.d.ts","sourceRoot":"","sources":["../src/collections-io.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAA8B,MAAM,kBAAkB,CAAC;AAE/E;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAcxE;AAED,6EAA6E;AAC7E,qBAAa,mBAAoB,SAAQ,KAAK;IAE1C,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;gBADlB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAAE;CAK9B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAkB1E"}
@@ -6,6 +6,7 @@
6
6
  import { readdir, readFile } from 'node:fs/promises';
7
7
  import { join, resolve } from 'node:path';
8
8
  import { parse as parseYaml } from 'yaml';
9
+ import { collectionDefinitionSchema } from './collections.js';
9
10
  /**
10
11
  * Load all `Collection` YAML files from `<cwd>/data/collections/*.yml`.
11
12
  *
@@ -14,6 +15,10 @@ import { parse as parseYaml } from 'yaml';
14
15
  * invocation site. Parse errors and other unexpected failures are NOT
15
16
  * swallowed — they surface so real problems (malformed YAML, permission
16
17
  * errors, etc.) are visible instead of silently producing empty output.
18
+ *
19
+ * Every file is parsed with `collectionDefinitionSchema`, so defaults are
20
+ * applied (`kind`, `query`, `ranking`, `seo.index`) and a malformed file
21
+ * throws a `CollectionFileError` naming the file and the failing fields.
17
22
  */
18
23
  export async function loadCollections(cwd) {
19
24
  const dir = resolve(cwd, 'data/collections');
@@ -28,12 +33,41 @@ export async function loadCollections(cwd) {
28
33
  }
29
34
  const out = [];
30
35
  for (const f of files.filter((f) => f.endsWith('.yml'))) {
31
- const raw = parseYaml(await readFile(join(dir, f), 'utf8'));
32
- if (!raw || typeof raw !== 'object') {
33
- throw new Error(`Invalid collection YAML: ${f}`);
34
- }
35
- out.push(raw);
36
+ out.push(parseCollectionFile(f, await readFile(join(dir, f), 'utf8')));
36
37
  }
37
38
  return out;
38
39
  }
40
+ /** A collection file that is not valid YAML or does not match the schema. */
41
+ export class CollectionFileError extends Error {
42
+ file;
43
+ problems;
44
+ constructor(file, problems) {
45
+ super(`Invalid collection ${file}: ${problems.join('; ')}`);
46
+ this.file = file;
47
+ this.problems = problems;
48
+ this.name = 'CollectionFileError';
49
+ }
50
+ }
51
+ /**
52
+ * Parse one collection file's text. Shared by `loadCollections` and
53
+ * `validateProject` so the build and `grove check` agree on what a valid
54
+ * collection is.
55
+ */
56
+ export function parseCollectionFile(file, text) {
57
+ let raw;
58
+ try {
59
+ raw = parseYaml(text);
60
+ }
61
+ catch (err) {
62
+ throw new CollectionFileError(file, [err.message]);
63
+ }
64
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
65
+ throw new CollectionFileError(file, ['expected a YAML mapping']);
66
+ }
67
+ const parsed = collectionDefinitionSchema.safeParse(raw);
68
+ if (!parsed.success) {
69
+ throw new CollectionFileError(file, parsed.error.issues.map((issue) => `${issue.path.join('.') || '(root)'}: ${issue.message}`));
70
+ }
71
+ return parsed.data;
72
+ }
39
73
  //# sourceMappingURL=collections-io.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collections-io.js","sourceRoot":"","sources":["../src/collections-io.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAG1C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC7C,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAChE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAiB,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"collections-io.js","sourceRoot":"","sources":["../src/collections-io.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAmB,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC7C,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAChE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6EAA6E;AAC7E,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAEjC;IACA;IAFX,YACW,IAAY,EACZ,QAAkB;QAE3B,KAAK,CAAC,sBAAsB,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAHnD,SAAI,GAAJ,IAAI,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAU;QAG3B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAY;IAC5D,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,mBAAmB,CAAC,IAAI,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,mBAAmB,CAC3B,IAAI,EACJ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAC5F,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}