@grove-dev/core 0.14.0 → 0.16.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/awesome-readme.d.ts +8 -0
- package/dist/awesome-readme.d.ts.map +1 -1
- package/dist/awesome-readme.js +28 -0
- package/dist/awesome-readme.js.map +1 -1
- package/dist/build-data.d.ts.map +1 -1
- package/dist/build-data.js +12 -147
- package/dist/build-data.js.map +1 -1
- package/dist/content-body.d.ts +15 -0
- package/dist/content-body.d.ts.map +1 -1
- package/dist/content-body.js +16 -6
- package/dist/content-body.js.map +1 -1
- package/dist/decisions.d.ts +4 -4
- package/dist/decisions.d.ts.map +1 -1
- package/dist/decisions.js +15 -33
- package/dist/decisions.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/normalize-records.d.ts +193 -0
- package/dist/normalize-records.d.ts.map +1 -0
- package/dist/normalize-records.js +346 -0
- package/dist/normalize-records.js.map +1 -0
- package/dist/schema.d.ts +58 -46
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +36 -5
- package/dist/schema.js.map +1 -1
- package/dist/validate.d.ts +17 -15
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +59 -132
- package/dist/validate.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
export type { AuditResult, BudgetConfig, BudgetViolation, LighthouseMetrics, LighthouseScores, PageManifestEntry, PageType, Profile, } from './audit.js';
|
|
11
11
|
export { DEFAULT_BUDGET, evaluateBudget, } from './audit.js';
|
|
12
12
|
export type { AwesomeReadmeCategory, AwesomeReadmeInput, AwesomeReadmeOptions, AwesomeReadmeRecord, AwesomeReadmeSections, ReadmeEntryLinkTarget, } from './awesome-readme.js';
|
|
13
|
-
export { AWESOME_README_END, AWESOME_README_START, assertReadmeLinkConfig, buildAwesomeReadme, injectAwesomeReadmeBlock, parseAwesomeReadmeSections, recordDetailUrl, } from './awesome-readme.js';
|
|
13
|
+
export { AWESOME_README_END, AWESOME_README_START, assertReadmeLinkConfig, buildAwesomeReadme, injectAwesomeReadmeBlock, parseAwesomeReadmeSections, recordDetailUrl, toAwesomeReadmeRecord, } from './awesome-readme.js';
|
|
14
14
|
export type { GenerateResult, RecordsFullPayload, RecordsIndexPayload } from './build-data.js';
|
|
15
15
|
export { generate } from './build-data.js';
|
|
16
16
|
export type { CandidateEntry, CandidateLink, CandidateSource, ExtractCandidatesOptions, } from './candidate.js';
|
|
@@ -23,8 +23,8 @@ export { CollectionFileError, loadCollections, parseCollectionFile } from './col
|
|
|
23
23
|
export type { CollectionResult } from './collector.js';
|
|
24
24
|
export { runCollection } from './collector.js';
|
|
25
25
|
export { defineConfig, loadConfig } from './config.js';
|
|
26
|
-
export type { ExtractTocOptions, ReadContentFileResult, ReadingMetrics, ReadingMetricsOptions, TocEntry, } from './content-body.js';
|
|
27
|
-
export { extractToc, headingSlug, readContentFile, readingMetrics, resolveContentPath, shiftHeadings, stripFrontmatter, stripLeadingH1, } from './content-body.js';
|
|
26
|
+
export type { ExtractTocOptions, ReadContentFileResult, ReadingMetrics, ReadingMetricsOptions, SplitFrontmatterResult, TocEntry, } from './content-body.js';
|
|
27
|
+
export { extractToc, headingSlug, readContentFile, readingMetrics, resolveContentPath, shiftHeadings, splitFrontmatter, stripFrontmatter, stripLeadingH1, } from './content-body.js';
|
|
28
28
|
export type { Contributor, ContributorSyncResult, SyncContributorsOptions, } from './contributors.js';
|
|
29
29
|
export { syncContributors } from './contributors.js';
|
|
30
30
|
export type { CleanupCandidate, CleanupReport } from './decisions.js';
|
|
@@ -59,6 +59,8 @@ export type { LlmsInput, LlmsRecordInput, LlmsResult } from './llms.js';
|
|
|
59
59
|
export { buildLlmsFiles, buildLlmsFullTxt, buildLlmsTxt } from './llms.js';
|
|
60
60
|
export type { ImportedRecord, ImportResult, ImportSummary, } from './markdown.js';
|
|
61
61
|
export { detectGithubRepo, parseAwesomeMarkdown, } from './markdown.js';
|
|
62
|
+
export type { NormalizedRecord, NormalizedRecords, RecordEntry, RecordFormat, RecordHealthSource, RecordIssue, RecordSource, RecordSources, } from './normalize-records.js';
|
|
63
|
+
export { applyDecisionVisibility, loadNormalizedRecords, readRecordSources, } from './normalize-records.js';
|
|
62
64
|
export type { OgBuildInput, OgBuildResult, OgTemplate } from './og-image.js';
|
|
63
65
|
export { buildOgImages, renderOgPng } from './og-image.js';
|
|
64
66
|
export type { CollectionInput, ContentInput, Crumb, DocumentPageType, FaqInput, JsonLdNode, JsonLdValidationIssue, LinkedDocument, OpenGraphMetadata, PageDiscovery, PageDocument, PageIdentity, PageMetadata, RecordInput, SiteInput, TwitterMetadata, } from './page-document.js';
|
|
@@ -75,7 +77,7 @@ export { classifyRepositoryHealth } from './repository-health.js';
|
|
|
75
77
|
export { buildRobotsTxt, isIndexableFilterPath } from './robots.js';
|
|
76
78
|
export { directoryRoute } from './routes.js';
|
|
77
79
|
export type { AppLabel, Blueprint, Decision, DecisionsFile, DecisionVisibility, EntityRecord, EntityType, GithubIntegrationFlags, GithubMetadata, GithubRepository, GroveConfig, GroveConfigInput, HealthEntry, HealthFile, HealthStatus, HealthTier, IndexEntityRecord, IndexProjectRecord, IndexRecord, IndexResourceRecord, Links, Override, OverridesFile, ProjectRecord, ProjectType, ReadmeConfig, Relation, RelationType, Resource, ResourceKind, ResourceRecord, ResourceType, Score, Subject, } from './schema.js';
|
|
78
|
-
export { appLabelSchema, auditSchema, blueprintKind, blueprintSchema, decisionSchema, decisionsFileSchema, entityRecordSchema, entityTypeSchema, githubLicenseSchema, githubMetadataSchema, githubRepositorySchema, healthBlockSchema, healthEntrySchema, healthFileSchema, healthStatusSchema, healthTierSchema, linksSchema, normalizeGithubIntegration, overrideSchema, overridesFileSchema, projectRecordSchema, projectTypeSchema, readmeConfigSchema, recordsFileSchema, relationEvidenceSchema, relationSchema, relationTypeSchema, resourceKindSchema, resourceRecordSchema, resourceSchema, resourceTypeSchema, scoreSchema, stringifyRecordYaml, subjectSchema, } from './schema.js';
|
|
80
|
+
export { appLabelSchema, auditSchema, blueprintKind, blueprintSchema, decisionSchema, decisionsFileSchema, entityRecordSchema, entityTypeSchema, githubLicenseSchema, githubMetadataSchema, githubRepositorySchema, healthBlockSchema, healthEntrySchema, healthFileSchema, healthStatusSchema, healthTierSchema, linksSchema, normalizeGithubIntegration, overrideSchema, overridesFileSchema, projectRecordSchema, projectTypeSchema, readmeConfigSchema, recordsFileSchema, recordVisibility, relationEvidenceSchema, relationSchema, relationTypeSchema, resourceKindSchema, resourceRecordSchema, resourceSchema, resourceTypeSchema, scoreSchema, stringifyRecordYaml, subjectSchema, } from './schema.js';
|
|
79
81
|
export type { SiteArtifactStats, SiteArtifactsResult, } from './site-artifacts.js';
|
|
80
82
|
export { buildOgImageSvg, buildSiteArtifacts } from './site-artifacts.js';
|
|
81
83
|
export { buildSitemap, buildSitemapXml } from './sitemap.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ export { DEFAULT_BUDGET, evaluateBudget, } from './audit.js';
|
|
|
14
14
|
// same record stream used by llms.txt. The output is wrapped between
|
|
15
15
|
// `<!-- grove-readme:start -->` / `<!-- grove-readme:end -->` sentinels
|
|
16
16
|
// so hand-written intro/contributing sections survive regenerations.
|
|
17
|
-
export { AWESOME_README_END, AWESOME_README_START, assertReadmeLinkConfig, buildAwesomeReadme, injectAwesomeReadmeBlock, parseAwesomeReadmeSections, recordDetailUrl, } from './awesome-readme.js';
|
|
17
|
+
export { AWESOME_README_END, AWESOME_README_START, assertReadmeLinkConfig, buildAwesomeReadme, injectAwesomeReadmeBlock, parseAwesomeReadmeSections, recordDetailUrl, toAwesomeReadmeRecord, } from './awesome-readme.js';
|
|
18
18
|
// ── Build pipeline ───────────────────────────────────────────────────
|
|
19
19
|
export { generate } from './build-data.js';
|
|
20
20
|
// ── Candidate extraction (AST-based, source-preserving) ──────────────
|
|
@@ -33,7 +33,7 @@ export { defineConfig, loadConfig } from './config.js';
|
|
|
33
33
|
// accompanies each record. No I/O of their own beyond `node:fs` for
|
|
34
34
|
// the optional `readContentFile`; safe to import from server-only
|
|
35
35
|
// contexts (Astro `getStaticPaths`, build scripts).
|
|
36
|
-
export { extractToc, headingSlug, readContentFile, readingMetrics, resolveContentPath, shiftHeadings, stripFrontmatter, stripLeadingH1, } from './content-body.js';
|
|
36
|
+
export { extractToc, headingSlug, readContentFile, readingMetrics, resolveContentPath, shiftHeadings, splitFrontmatter, stripFrontmatter, stripLeadingH1, } from './content-body.js';
|
|
37
37
|
// ── Contributor aggregation ───────────────────────────────────────────
|
|
38
38
|
export { syncContributors } from './contributors.js';
|
|
39
39
|
// ── Cleanup ──────────────────────────────────────────────────────────
|
|
@@ -85,6 +85,10 @@ export { readYamlFile, writeTextFile, writeYamlFile } from './io.js';
|
|
|
85
85
|
export { buildLlmsFiles, buildLlmsFullTxt, buildLlmsTxt } from './llms.js';
|
|
86
86
|
// ── Importers / parsers ──────────────────────────────────────────────
|
|
87
87
|
export { detectGithubRepo, parseAwesomeMarkdown, } from './markdown.js';
|
|
88
|
+
// ── Record normalizer ────────────────────────────────────────────────
|
|
89
|
+
// The one reader of the record layers (source, GitHub cache, overrides,
|
|
90
|
+
// health.yml, decisions). Build, check, cleanup and README all use it.
|
|
91
|
+
export { applyDecisionVisibility, loadNormalizedRecords, readRecordSources, } from './normalize-records.js';
|
|
88
92
|
export { buildOgImages, renderOgPng } from './og-image.js';
|
|
89
93
|
// ── PageDocument: unified page-level contract + JSON-LD registry ────
|
|
90
94
|
// Every page in a Grove project declares a `PageDocument` and the
|
|
@@ -103,7 +107,7 @@ export { classifyRepositoryHealth } from './repository-health.js';
|
|
|
103
107
|
export { buildRobotsTxt, isIndexableFilterPath } from './robots.js';
|
|
104
108
|
export { directoryRoute } from './routes.js';
|
|
105
109
|
// ── Record YAML helpers (used by `grove import` and the generator) ──
|
|
106
|
-
export { appLabelSchema, auditSchema, blueprintKind, blueprintSchema, decisionSchema, decisionsFileSchema, entityRecordSchema, entityTypeSchema, githubLicenseSchema, githubMetadataSchema, githubRepositorySchema, healthBlockSchema, healthEntrySchema, healthFileSchema, healthStatusSchema, healthTierSchema, linksSchema, normalizeGithubIntegration, overrideSchema, overridesFileSchema, projectRecordSchema, projectTypeSchema, readmeConfigSchema, recordsFileSchema, relationEvidenceSchema, relationSchema, relationTypeSchema, resourceKindSchema, resourceRecordSchema, resourceSchema, resourceTypeSchema, scoreSchema, stringifyRecordYaml, subjectSchema, } from './schema.js';
|
|
110
|
+
export { appLabelSchema, auditSchema, blueprintKind, blueprintSchema, decisionSchema, decisionsFileSchema, entityRecordSchema, entityTypeSchema, githubLicenseSchema, githubMetadataSchema, githubRepositorySchema, healthBlockSchema, healthEntrySchema, healthFileSchema, healthStatusSchema, healthTierSchema, linksSchema, normalizeGithubIntegration, overrideSchema, overridesFileSchema, projectRecordSchema, projectTypeSchema, readmeConfigSchema, recordsFileSchema, recordVisibility, relationEvidenceSchema, relationSchema, relationTypeSchema, resourceKindSchema, resourceRecordSchema, resourceSchema, resourceTypeSchema, scoreSchema, stringifyRecordYaml, subjectSchema, } from './schema.js';
|
|
107
111
|
// ── Config-driven public artifacts ──────────────────────────────────
|
|
108
112
|
export { buildOgImageSvg, buildSiteArtifacts } from './site-artifacts.js';
|
|
109
113
|
// ── Sitemap ──────────────────────────────────────────────────────────
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,yEAAyE;AAYzE,OAAO,EACL,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC;AASpB,wEAAwE;AACxE,oEAAoE;AACpE,qEAAqE;AACrE,wEAAwE;AACxE,qEAAqE;AACrE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The record normalizer: the one place that turns the three record
|
|
3
|
+
* layers into the record every output is built from.
|
|
4
|
+
*
|
|
5
|
+
* 1. Human source — a record file (see "Formats" below), patched by
|
|
6
|
+
* `paths.overrides`.
|
|
7
|
+
* 2. Generated cache — `paths.githubCache/<slug>.json` (GitHub
|
|
8
|
+
* metadata and health, written by
|
|
9
|
+
* `grove sync github`), with a legacy inline
|
|
10
|
+
* `github` / `health` block and `paths.health`
|
|
11
|
+
* as fallbacks. Health from a stale sync resolves
|
|
12
|
+
* as `status: unknown` (`sync.github.maxAgeDays`).
|
|
13
|
+
* 3. Decisions — `paths.decisions`, which has the final say on
|
|
14
|
+
* visibility.
|
|
15
|
+
*
|
|
16
|
+
* Formats — all supported permanently, and mixable within one site:
|
|
17
|
+
*
|
|
18
|
+
* - YAML only: `paths.recordsDir/<slug>.yml`, for data-only sites.
|
|
19
|
+
* - YAML + pointer: the same file with `content: ./…/<slug>.md`
|
|
20
|
+
* pointing at a Markdown body. `records.deprecateContentPointer`
|
|
21
|
+
* opts in to a `record_format_deprecated` warning for these.
|
|
22
|
+
* - Markdown: `paths.bodiesDir/<slug>.md`, YAML frontmatter (at least
|
|
23
|
+
* `name`, or `title` on a resource hub) plus the review body. A `.md`
|
|
24
|
+
* file a YAML record points at through `content:` is that record's
|
|
25
|
+
* body, never a record of its own.
|
|
26
|
+
*
|
|
27
|
+
* `generate()` (browse, collections, SEO, sitemap, llms), `grove check`,
|
|
28
|
+
* `grove cleanup` and `grove readme generate` all read records through
|
|
29
|
+
* {@link loadNormalizedRecords}, so they cannot disagree about a
|
|
30
|
+
* record's fields or whether it is visible.
|
|
31
|
+
*/
|
|
32
|
+
import { type GithubCache, type GithubFieldSource } from './github-cache.js';
|
|
33
|
+
import { type DecisionVisibility, type GroveConfig, type Resource } from './schema.js';
|
|
34
|
+
/**
|
|
35
|
+
* How a record is stored on disk:
|
|
36
|
+
* - `yaml`: `paths.recordsDir/<slug>.yml` with no body;
|
|
37
|
+
* - `yaml+content`: the same, with a `content:` pointer to a Markdown body;
|
|
38
|
+
* - `markdown`: `paths.bodiesDir/<slug>.md`, frontmatter plus body.
|
|
39
|
+
*/
|
|
40
|
+
export type RecordFormat = 'yaml' | 'yaml+content' | 'markdown';
|
|
41
|
+
/** Where a normalized record's `health` block came from. */
|
|
42
|
+
export type RecordHealthSource =
|
|
43
|
+
/** `paths.githubCache/<slug>.json`. */
|
|
44
|
+
'cache'
|
|
45
|
+
/** A legacy `health` block written inline on the record. */
|
|
46
|
+
| 'inline'
|
|
47
|
+
/** A `paths.overrides` patch. */
|
|
48
|
+
| 'override'
|
|
49
|
+
/** The record's entry in `paths.health`. */
|
|
50
|
+
| 'file'
|
|
51
|
+
/** Fabricated as "unknown" so a decision has a block to carry its visibility. */
|
|
52
|
+
| 'decision' | 'none';
|
|
53
|
+
/** A problem found while reading or normalizing one record file. */
|
|
54
|
+
export interface RecordIssue {
|
|
55
|
+
code: 'schema_error' | 'zod_error' | 'github_cache_mismatch' | 'duplicate_slug_format' | 'markdown_content_pointer' | 'record_format_deprecated';
|
|
56
|
+
severity: 'error' | 'warning';
|
|
57
|
+
/** Record slug (the file name without its extension). */
|
|
58
|
+
slug: string;
|
|
59
|
+
/** Record file, relative to `cwd`. */
|
|
60
|
+
file: string;
|
|
61
|
+
/** Human-readable message, already prefixed with the slug. */
|
|
62
|
+
message: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A record file as read from disk, before any layer is merged: the
|
|
66
|
+
* parsed YAML mapping, or a Markdown record's frontmatter. Also what
|
|
67
|
+
* `grove sync github` iterates over.
|
|
68
|
+
*/
|
|
69
|
+
export interface RecordSource {
|
|
70
|
+
slug: string;
|
|
71
|
+
format: RecordFormat;
|
|
72
|
+
/** Absolute path of the record file. */
|
|
73
|
+
path: string;
|
|
74
|
+
/** Record file, relative to `cwd`. */
|
|
75
|
+
file: string;
|
|
76
|
+
/** The YAML mapping or frontmatter; absent when the file failed to parse. */
|
|
77
|
+
data?: Record<string, unknown>;
|
|
78
|
+
/** A Markdown record's body (frontmatter stripped). */
|
|
79
|
+
body?: string;
|
|
80
|
+
/** Read and parse problems with this file. */
|
|
81
|
+
issues: RecordIssue[];
|
|
82
|
+
}
|
|
83
|
+
export interface RecordSources {
|
|
84
|
+
/** Every record file, sorted by file name. */
|
|
85
|
+
sources: RecordSource[];
|
|
86
|
+
}
|
|
87
|
+
export interface NormalizedRecord {
|
|
88
|
+
/** Canonical slug: always the file name without its extension. */
|
|
89
|
+
slug: string;
|
|
90
|
+
/** Record file, relative to `cwd`. */
|
|
91
|
+
file: string;
|
|
92
|
+
format: RecordFormat;
|
|
93
|
+
/**
|
|
94
|
+
* The review body: a Markdown record's own body, or the file a YAML
|
|
95
|
+
* record's `content:` points at, frontmatter stripped. Absent for a
|
|
96
|
+
* data-only record or a pointer that does not resolve.
|
|
97
|
+
*/
|
|
98
|
+
body?: string;
|
|
99
|
+
/**
|
|
100
|
+
* The record after every layer: source, GitHub cache (or legacy
|
|
101
|
+
* inline copy), overrides, `paths.health` and decisions. This is
|
|
102
|
+
* what the build serializes and every output renders. For a Markdown
|
|
103
|
+
* record, `content` points at the record's own file, so every
|
|
104
|
+
* renderer that reads `content` finds the body unchanged.
|
|
105
|
+
*/
|
|
106
|
+
record: Resource;
|
|
107
|
+
/**
|
|
108
|
+
* The record before `paths.health` and decisions are applied:
|
|
109
|
+
* source + GitHub cache + overrides, schema-parsed, slug from the
|
|
110
|
+
* file name. `grove check` compares this against `paths.health`.
|
|
111
|
+
*/
|
|
112
|
+
base: Resource;
|
|
113
|
+
/** Effective visibility: decision, then health, then the record's own field. */
|
|
114
|
+
visibility: DecisionVisibility;
|
|
115
|
+
/**
|
|
116
|
+
* The `slug` value written in the file, which the file name
|
|
117
|
+
* overrides. `undefined` when a Markdown record leaves it out.
|
|
118
|
+
*/
|
|
119
|
+
declaredSlug: unknown;
|
|
120
|
+
provenance: {
|
|
121
|
+
github: GithubFieldSource;
|
|
122
|
+
health: RecordHealthSource;
|
|
123
|
+
/** True when `paths.decisions` has an entry for this record. */
|
|
124
|
+
decision: boolean;
|
|
125
|
+
/** True when `paths.overrides` has a patch for this record. */
|
|
126
|
+
override: boolean;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/** One record file in discovery order, whether or not it normalized. */
|
|
130
|
+
export interface RecordEntry {
|
|
131
|
+
slug: string;
|
|
132
|
+
file: string;
|
|
133
|
+
format: RecordFormat;
|
|
134
|
+
/** Problems with this file; an `error` means `record` is absent. */
|
|
135
|
+
issues: RecordIssue[];
|
|
136
|
+
/**
|
|
137
|
+
* True when the record's cached health came from a stale sync and
|
|
138
|
+
* resolved as `status: unknown` (see `githubSyncFreshness`).
|
|
139
|
+
*/
|
|
140
|
+
syncStale: boolean;
|
|
141
|
+
/** Absent when the file failed to parse or validate. */
|
|
142
|
+
record?: NormalizedRecord;
|
|
143
|
+
}
|
|
144
|
+
export interface NormalizedRecords {
|
|
145
|
+
/** Records that normalized, sorted by file name. */
|
|
146
|
+
records: NormalizedRecord[];
|
|
147
|
+
/** Every record file, sorted by file name, with its issues. */
|
|
148
|
+
entries: RecordEntry[];
|
|
149
|
+
/** All issues from `entries`, flattened in the same order. */
|
|
150
|
+
issues: RecordIssue[];
|
|
151
|
+
/** The GitHub sync cache the records were resolved against. */
|
|
152
|
+
githubCache: GithubCache;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Discover and read every record file, in both formats, without merging
|
|
156
|
+
* any layer. A file that cannot be parsed is returned with an issue and
|
|
157
|
+
* no `data`. The same slug in both formats is a `duplicate_slug_format`
|
|
158
|
+
* error on both files: neither silently wins.
|
|
159
|
+
*/
|
|
160
|
+
export declare function readRecordSources(config: GroveConfig, cwd?: string): Promise<RecordSources>;
|
|
161
|
+
/**
|
|
162
|
+
* Apply a `paths.decisions` visibility to a record. For project records
|
|
163
|
+
* the decision overwrites `health.visibility`; a project with no health
|
|
164
|
+
* block gets a fabricated "unknown" one from {@link classifyHealth},
|
|
165
|
+
* because list and index payloads read visibility from `health`. For
|
|
166
|
+
* resource-hub and ecosystem-map records (no `health` block) it sets the
|
|
167
|
+
* top-level `visibility`.
|
|
168
|
+
*/
|
|
169
|
+
export declare function applyDecisionVisibility(record: Resource, visibility: DecisionVisibility | undefined): Resource;
|
|
170
|
+
/**
|
|
171
|
+
* Discover, parse and merge every record, in either format (see
|
|
172
|
+
* {@link readRecordSources}).
|
|
173
|
+
*
|
|
174
|
+
* Per record, lowest to highest precedence:
|
|
175
|
+
*
|
|
176
|
+
* 1. the record file (YAML, or a Markdown record's frontmatter)
|
|
177
|
+
* 2. the GitHub sync cache, which supplies `github` / `health` over a
|
|
178
|
+
* legacy inline copy ({@link resolveRecordGithub})
|
|
179
|
+
* 3. the `paths.overrides` patch (shallow, top-level fields)
|
|
180
|
+
* 4. schema parse (`recordsFileSchema`); the slug is the file name
|
|
181
|
+
* 5. the `paths.health` entry, for a project record nothing above
|
|
182
|
+
* gave a health block
|
|
183
|
+
* 6. the `paths.decisions` visibility
|
|
184
|
+
*
|
|
185
|
+
* Effective visibility is then decision > health > the record's own
|
|
186
|
+
* `visibility` field ({@link recordVisibility}).
|
|
187
|
+
*
|
|
188
|
+
* Never throws for a bad record: a file that cannot be parsed or fails
|
|
189
|
+
* the schema is reported in `issues` and left out of `records`. Missing
|
|
190
|
+
* or invalid side files are treated as empty; `grove check` reports them.
|
|
191
|
+
*/
|
|
192
|
+
export declare function loadNormalizedRecords(config: GroveConfig, cwd?: string): Promise<NormalizedRecords>;
|
|
193
|
+
//# sourceMappingURL=normalize-records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-records.d.ts","sourceRoot":"","sources":["../src/normalize-records.ts"],"names":[],"mappings":"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"}
|