@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/index.js
CHANGED
|
@@ -8,95 +8,106 @@
|
|
|
8
8
|
* To audit: `grep -E '^export ' src/index.ts | sort`
|
|
9
9
|
*/
|
|
10
10
|
// ── Config ────────────────────────────────────────────────────────────
|
|
11
|
-
export {
|
|
12
|
-
// ── Host helper ──────────────────────────────────────────────────────
|
|
13
|
-
// Shared by `site-artifacts.ts` (static OG SVG) and `og-image.ts`
|
|
14
|
-
// (per-page PNG cards). One implementation so the two social-card
|
|
15
|
-
// surfaces never print different hosts for the same config.
|
|
16
|
-
export { hostOf } from "./host.js";
|
|
17
|
-
// ── Schemas (Zod) ─────────────────────────────────────────────────────
|
|
18
|
-
// ── Slug helpers ───────────────────────────────────────────────────
|
|
19
|
-
// Public because the markdown renderer in @grove-dev/astro imports
|
|
20
|
-
// `uniqueSlug` to give heading anchors a collision-counter that
|
|
21
|
-
// matches the IDs `extractToc` produces from the same body.
|
|
22
|
-
export { slugify, uniqueSlug } from "./slug.js";
|
|
23
|
-
export { blueprintSchema, resourceKindSchema, healthStatusSchema, healthTierSchema, healthBlockSchema, healthEntrySchema, healthFileSchema, decisionSchema, decisionsFileSchema, overrideSchema, overridesFileSchema, projectRecordSchema, resourceRecordSchema, entityRecordSchema, resourceSchema, recordsFileSchema, projectTypeSchema, resourceTypeSchema, entityTypeSchema, appLabelSchema, scoreSchema, linksSchema, githubRepositorySchema, githubMetadataSchema, githubLicenseSchema, blueprintKind, auditSchema, readmeConfigSchema, normalizeGithubIntegration, } from "./schema.js";
|
|
24
|
-
// ── Build pipeline ───────────────────────────────────────────────────
|
|
25
|
-
export { generate } from "./build-data.js";
|
|
26
|
-
export { prepareDirectory } from "./prepare.js";
|
|
27
|
-
// ── Record YAML helpers (used by `grove import` and the generator) ──
|
|
28
|
-
export { stringifyRecordYaml } from "./schema.js";
|
|
29
|
-
// ── Sitemap ──────────────────────────────────────────────────────────
|
|
30
|
-
export { buildSitemap, buildSitemapXml } from "./sitemap.js";
|
|
31
|
-
// ── llms.txt ─────────────────────────────────────────────────────────
|
|
32
|
-
export { buildLlmsTxt, buildLlmsFullTxt, buildLlmsFiles } from "./llms.js";
|
|
11
|
+
export { DEFAULT_BUDGET, evaluateBudget, } from './audit.js';
|
|
33
12
|
// ── Awesome-list README ──────────────────────────────────────────────
|
|
34
13
|
// Generates a canonical sindresorhus/awesome-format README from the
|
|
35
14
|
// same record stream used by llms.txt. The output is wrapped between
|
|
36
15
|
// `<!-- grove-readme:start -->` / `<!-- grove-readme:end -->` sentinels
|
|
37
16
|
// so hand-written intro/contributing sections survive regenerations.
|
|
38
|
-
export { AWESOME_README_END, AWESOME_README_START, buildAwesomeReadme, injectAwesomeReadmeBlock, parseAwesomeReadmeSections, } from
|
|
39
|
-
// ──
|
|
40
|
-
export {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
export {
|
|
48
|
-
// ── GitHub: HTML enrichment (token-free fallback) ────────────────────
|
|
49
|
-
export { enrichFromGithubHtml } from "./enrich.js";
|
|
50
|
-
// ── GitHub: client helpers (V1 public subset) ────────────────────────
|
|
51
|
-
export { rateLimitWaitMs, sleep } from "./github-client.js";
|
|
52
|
-
// ── Contributor aggregation ───────────────────────────────────────────
|
|
53
|
-
export { syncContributors } from "./contributors.js";
|
|
54
|
-
// ── Health: classification ────────────────────────────────────────────
|
|
55
|
-
export { classifyHealth } from "./health.js";
|
|
56
|
-
// ── Importers / parsers ──────────────────────────────────────────────
|
|
57
|
-
export { detectGithubRepo, parseAwesomeMarkdown, } from "./markdown.js";
|
|
58
|
-
export { importAwesomeList, writeImportedRecords } from "./importer.js";
|
|
59
|
-
export { parseEntry, parseSections } from "./parseReadme.js";
|
|
60
|
-
// ── IO helpers ────────────────────────────────────────────────────────
|
|
61
|
-
export { readYamlFile, writeYamlFile, writeTextFile } from "./io.js";
|
|
62
|
-
// ── Validation ────────────────────────────────────────────────────────
|
|
63
|
-
// `validateProject` is kept public because the CLI's `check` command needs
|
|
64
|
-
// the structured issue output (codes + messages) that `generate`'s
|
|
65
|
-
// throw path does not produce. This is the only V0-era name that
|
|
66
|
-
// survives — every other removed name from V0 is gone.
|
|
67
|
-
export { validateProject } from "./validate.js";
|
|
68
|
-
// ── Directory presentation model ────────────────────────────────────
|
|
69
|
-
// Framework-independent logic shared by Astro pages and any future
|
|
70
|
-
// renderer. These helpers intentionally know nothing about Astro, HTML,
|
|
71
|
-
// generated file locations, or component structure.
|
|
72
|
-
export * from "./directory-display.js";
|
|
73
|
-
export * from "./directory-facets.js";
|
|
74
|
-
export * from "./directory-format.js";
|
|
75
|
-
export * from "./directory-lenses.js";
|
|
76
|
-
export * from "./directory-repo.js";
|
|
77
|
-
export * from "./directory-scores.js";
|
|
78
|
-
export * from "./directory-search.js";
|
|
79
|
-
export * from "./directory-taxonomy.js";
|
|
17
|
+
export { AWESOME_README_END, AWESOME_README_START, buildAwesomeReadme, injectAwesomeReadmeBlock, parseAwesomeReadmeSections, } from './awesome-readme.js';
|
|
18
|
+
// ── Build pipeline ───────────────────────────────────────────────────
|
|
19
|
+
export { generate } from './build-data.js';
|
|
20
|
+
// ── Collection engine (query, ranking, editorial) ────────────────────
|
|
21
|
+
export { filterEntries, rankEntries, } from './collections.js';
|
|
22
|
+
// ── Collection IO (YAML loading from data/collections) ───────────────
|
|
23
|
+
export { loadCollections } from './collections-io.js';
|
|
24
|
+
// ── Collection runner + related resolver ─────────────────────────────
|
|
25
|
+
export { runCollection } from './collector.js';
|
|
26
|
+
export { defineConfig, loadConfig } from './config.js';
|
|
80
27
|
// ── Content body ───────────────────────────────────────────────────
|
|
81
28
|
// Pure helpers for reading and shaping the Markdown sidecar that
|
|
82
29
|
// accompanies each record. No I/O of their own beyond `node:fs` for
|
|
83
30
|
// the optional `readContentFile`; safe to import from server-only
|
|
84
31
|
// contexts (Astro `getStaticPaths`, build scripts).
|
|
85
|
-
export { extractToc, headingSlug, readContentFile, readingMetrics, resolveContentPath, stripFrontmatter, } from
|
|
86
|
-
|
|
32
|
+
export { extractToc, headingSlug, readContentFile, readingMetrics, resolveContentPath, stripFrontmatter, } from './content-body.js';
|
|
33
|
+
// ── Contributor aggregation ───────────────────────────────────────────
|
|
34
|
+
export { syncContributors } from './contributors.js';
|
|
35
|
+
// ── Cleanup ──────────────────────────────────────────────────────────
|
|
36
|
+
export { cleanupStale, pickCleanupCandidates } from './decisions.js';
|
|
37
|
+
// ── Directory presentation model ────────────────────────────────────
|
|
38
|
+
// Framework-independent logic shared by Astro pages and any future
|
|
39
|
+
// renderer. These helpers intentionally know nothing about Astro, HTML,
|
|
40
|
+
// generated file locations, or component structure.
|
|
41
|
+
export * from './directory-display.js';
|
|
42
|
+
export * from './directory-facets.js';
|
|
43
|
+
// ── Directory filter keys (single source of truth, see §22) ──────────
|
|
44
|
+
// One canonical mapping between facet group keys, URL param keys,
|
|
45
|
+
// taxonomy kinds, and display labels. Replaces three duplicated
|
|
46
|
+
// inline copies that pre-v1 lived in DirectoryIndexClient,
|
|
47
|
+
// RefinePanel, and server/directory.
|
|
48
|
+
export { DIRECTORY_FILTER_KEYS, DIRECTORY_FILTER_LABELS, DIRECTORY_TAXONOMY_KINDS, FACET_DIMENSION_FOR_KEY, isDirectoryFilterGroupKey, } from './directory-filter-keys.js';
|
|
49
|
+
export * from './directory-format.js';
|
|
50
|
+
export * from './directory-lenses.js';
|
|
51
|
+
export * from './directory-repo.js';
|
|
52
|
+
export * from './directory-scores.js';
|
|
53
|
+
export * from './directory-search.js';
|
|
54
|
+
export * from './directory-taxonomy.js';
|
|
55
|
+
// ── GitHub: HTML enrichment (token-free fallback) ────────────────────
|
|
56
|
+
export { enrichFromGithubHtml } from './enrich.js';
|
|
57
|
+
// ── GitHub: parsing + REST metadata ──────────────────────────────────
|
|
58
|
+
export { buildGithubSyncPatch, fetchGithubMetadata, parseGithubRepoUrl } from './github.js';
|
|
59
|
+
// ── GitHub: client helpers (V1 public subset) ────────────────────────
|
|
60
|
+
export { rateLimitWaitMs, sleep } from './github-client.js';
|
|
61
|
+
// ── Health: classification ────────────────────────────────────────────
|
|
62
|
+
export { classifyHealth } from './health.js';
|
|
63
|
+
// ── Host helper ──────────────────────────────────────────────────────
|
|
64
|
+
// Shared by `site-artifacts.ts` (static OG SVG) and `og-image.ts`
|
|
65
|
+
// (per-page PNG cards). One implementation so the two social-card
|
|
66
|
+
// surfaces never print different hosts for the same config.
|
|
67
|
+
export { hostOf } from './host.js';
|
|
68
|
+
export { importAwesomeList, writeImportedRecords } from './importer.js';
|
|
69
|
+
// ── IO helpers ────────────────────────────────────────────────────────
|
|
70
|
+
export { readYamlFile, writeTextFile, writeYamlFile } from './io.js';
|
|
71
|
+
// ── llms.txt ─────────────────────────────────────────────────────────
|
|
72
|
+
export { buildLlmsFiles, buildLlmsFullTxt, buildLlmsTxt } from './llms.js';
|
|
73
|
+
// ── Importers / parsers ──────────────────────────────────────────────
|
|
74
|
+
export { detectGithubRepo, parseAwesomeMarkdown, } from './markdown.js';
|
|
75
|
+
export { buildOgImages, renderOgPng } from './og-image.js';
|
|
87
76
|
// ── PageDocument: unified page-level contract + JSON-LD registry ────
|
|
88
77
|
// Every page in a Grove project declares a `PageDocument` and the
|
|
89
78
|
// framework emits all SEO metadata (title, description, canonical, OG,
|
|
90
79
|
// Twitter, JSON-LD) from this single source. `validateJsonLd` is the
|
|
91
80
|
// build-time well-formedness check that runs over the node graph.
|
|
92
|
-
export {
|
|
81
|
+
export { breadcrumbSchema, buildJsonLd, collectionSchema, contentSchema, definePageDocument, recordSchema, siteSchema, validateJsonLd, } from './page-document.js';
|
|
82
|
+
export { parseEntry, parseSections } from './parseReadme.js';
|
|
83
|
+
export { prepareDirectory } from './prepare.js';
|
|
84
|
+
export { findRelated } from './related.js';
|
|
93
85
|
// ── Robots + filter URL policy ───────────────────────────────────────
|
|
94
|
-
export { buildRobotsTxt, isIndexableFilterPath } from
|
|
95
|
-
// ──
|
|
96
|
-
export {
|
|
97
|
-
// ──
|
|
98
|
-
export {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
86
|
+
export { buildRobotsTxt, isIndexableFilterPath } from './robots.js';
|
|
87
|
+
// ── Record YAML helpers (used by `grove import` and the generator) ──
|
|
88
|
+
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, resourceKindSchema, resourceRecordSchema, resourceSchema, resourceTypeSchema, scoreSchema, stringifyRecordYaml, } from './schema.js';
|
|
89
|
+
// ── Config-driven public artifacts ──────────────────────────────────
|
|
90
|
+
export { buildOgImageSvg, buildSiteArtifacts } from './site-artifacts.js';
|
|
91
|
+
// ── Sitemap ──────────────────────────────────────────────────────────
|
|
92
|
+
export { buildSitemap, buildSitemapXml } from './sitemap.js';
|
|
93
|
+
// ── Schemas (Zod) ─────────────────────────────────────────────────────
|
|
94
|
+
// ── Slug helpers ───────────────────────────────────────────────────
|
|
95
|
+
// Public because the markdown renderer in @grove-dev/astro imports
|
|
96
|
+
// `uniqueSlug` to give heading anchors a collision-counter that
|
|
97
|
+
// matches the IDs `extractToc` produces from the same body.
|
|
98
|
+
export { slugify, uniqueSlug } from './slug.js';
|
|
99
|
+
// ── Packaged icon assets ────────────────────────────────────────────
|
|
100
|
+
export { syncIconAssets } from './sync-icons.js';
|
|
101
|
+
// ── Taxonomy inference (stack suggestion from GitHub metadata) ───────
|
|
102
|
+
export { inferStackFromTopics } from './taxonomy-inference.js';
|
|
103
|
+
// ── Validation ────────────────────────────────────────────────────────
|
|
104
|
+
// `validateProject` is kept public because the CLI's `check` command needs
|
|
105
|
+
// the structured issue output (codes + messages) that `generate`'s
|
|
106
|
+
// throw path does not produce. This is the only V0-era name that
|
|
107
|
+
// survives — every other removed name from V0 is gone.
|
|
108
|
+
export { validateProject } from './validate.js';
|
|
109
|
+
// ── YAML string helpers (submit form, future CLI emit) ───────────────
|
|
110
|
+
// Pure, dependency-free. Safe to use in browser (live preview) and
|
|
111
|
+
// in Node (server-side YAML generation).
|
|
112
|
+
export { parseGithubRepo, recordSlugify, yamlLines, yamlQuote, } from './yaml.js';
|
|
102
113
|
//# sourceMappingURL=index.js.map
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/io.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { mkdir, readFile, writeFile } from
|
|
2
|
-
import { dirname } from
|
|
3
|
-
import { parse, stringify } from
|
|
1
|
+
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname } from 'node:path';
|
|
3
|
+
import { parse, stringify } from 'yaml';
|
|
4
4
|
// `parse(text, { schema: 'core' })` opts out of the YAML package's
|
|
5
5
|
// default schema — which permits custom tag interpretation
|
|
6
6
|
// (anchors, !!omap, !!binary, etc.). A malicious awesome-list README
|
|
@@ -8,9 +8,9 @@ import { parse, stringify } from "yaml";
|
|
|
8
8
|
// `core` is the YAML 1.2 core schema with explicit merge keys;
|
|
9
9
|
// sufficient for plain `key: value` record files and the safest
|
|
10
10
|
// default for any user-supplied YAML. (Implementation-checklist.md #27.)
|
|
11
|
-
const PARSE_OPTIONS = { schema:
|
|
11
|
+
const PARSE_OPTIONS = { schema: 'core' };
|
|
12
12
|
export async function readYamlFile(path) {
|
|
13
|
-
const text = await readFile(path,
|
|
13
|
+
const text = await readFile(path, 'utf8');
|
|
14
14
|
return parse(text, PARSE_OPTIONS);
|
|
15
15
|
}
|
|
16
16
|
export async function writeYamlFile(path, value) {
|
|
@@ -18,12 +18,12 @@ export async function writeYamlFile(path, value) {
|
|
|
18
18
|
const text = stringify(value, {
|
|
19
19
|
lineWidth: 100,
|
|
20
20
|
singleQuote: false,
|
|
21
|
-
defaultStringType:
|
|
21
|
+
defaultStringType: 'PLAIN',
|
|
22
22
|
});
|
|
23
|
-
await writeFile(path, text,
|
|
23
|
+
await writeFile(path, text, 'utf8');
|
|
24
24
|
}
|
|
25
25
|
export async function writeTextFile(path, value) {
|
|
26
26
|
await mkdir(dirname(path), { recursive: true });
|
|
27
|
-
await writeFile(path, value,
|
|
27
|
+
await writeFile(path, value, 'utf8');
|
|
28
28
|
}
|
|
29
29
|
//# sourceMappingURL=io.js.map
|
package/dist/llms.d.ts
CHANGED
package/dist/llms.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../src/llms.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../src/llms.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAkED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAgB1E;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAAC;AAwEtE,wBAAsB,cAAc,CAClC,KAAK,EAAE,SAAS,EAChB,GAAG,SAAgB,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAcrB"}
|
package/dist/llms.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { mkdir, writeFile } from
|
|
2
|
-
import { join, resolve } from
|
|
3
|
-
import { loadConfig } from
|
|
4
|
-
import { slugify } from
|
|
1
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { join, resolve } from 'node:path';
|
|
3
|
+
import { loadConfig } from './config.js';
|
|
4
|
+
import { slugify } from './slug.js';
|
|
5
5
|
const BLUEPRINT_INDEX = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
'project-directory': 'projects',
|
|
7
|
+
'resource-hub': 'resources',
|
|
8
|
+
'ecosystem-map': 'entities',
|
|
9
9
|
};
|
|
10
10
|
const BLUEPRINT_PLURAL = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
'project-directory': 'Projects',
|
|
12
|
+
'resource-hub': 'Resources',
|
|
13
|
+
'ecosystem-map': 'Entities',
|
|
14
14
|
};
|
|
15
15
|
function directorySlug(config) {
|
|
16
|
-
return config.routes.directory ?? BLUEPRINT_INDEX[config.blueprint] ??
|
|
16
|
+
return config.routes.directory ?? BLUEPRINT_INDEX[config.blueprint] ?? 'items';
|
|
17
17
|
}
|
|
18
18
|
function pluralLabel(config) {
|
|
19
|
-
const label = config.labels.plural ?? BLUEPRINT_PLURAL[config.blueprint] ??
|
|
19
|
+
const label = config.labels.plural ?? BLUEPRINT_PLURAL[config.blueprint] ?? 'Items';
|
|
20
20
|
return label.replace(/^./, (value) => value.toUpperCase());
|
|
21
21
|
}
|
|
22
22
|
function slug(value) {
|
|
@@ -27,41 +27,41 @@ function slug(value) {
|
|
|
27
27
|
return slugify(String(value));
|
|
28
28
|
}
|
|
29
29
|
function truncate(value, max) {
|
|
30
|
-
return value.replace(/\s+/g,
|
|
30
|
+
return value.replace(/\s+/g, ' ').slice(0, max);
|
|
31
31
|
}
|
|
32
32
|
function buildIndexLine(record) {
|
|
33
|
-
const desc = truncate(record.description ??
|
|
34
|
-
const cat = record.category ??
|
|
35
|
-
const stack = record.stack ??
|
|
33
|
+
const desc = truncate(record.description ?? '', 120);
|
|
34
|
+
const cat = record.category ?? '—';
|
|
35
|
+
const stack = record.stack ?? '—';
|
|
36
36
|
const stars = record.stars ?? 0;
|
|
37
37
|
return `- [${record.name}](#${slug(record.slug)}) — ${cat} · ${stack} · ${stars}★ — ${desc}`;
|
|
38
38
|
}
|
|
39
39
|
function buildDetailSection(record, siteUrl, indexSlug) {
|
|
40
40
|
const lines = [
|
|
41
41
|
`### ${record.name}`,
|
|
42
|
-
|
|
43
|
-
record.description ? `${record.description}` :
|
|
44
|
-
|
|
42
|
+
'',
|
|
43
|
+
record.description ? `${record.description}` : '',
|
|
44
|
+
'',
|
|
45
45
|
`- slug: ${record.slug}`,
|
|
46
|
-
`- category: ${record.category ??
|
|
47
|
-
`- stack: ${record.stack ??
|
|
46
|
+
`- category: ${record.category ?? '—'}`,
|
|
47
|
+
`- stack: ${record.stack ?? '—'}`,
|
|
48
48
|
`- stars: ${record.stars ?? 0}`,
|
|
49
|
-
record.license ? `- license: ${record.license}` :
|
|
50
|
-
record.repoUrl ? `- repo: ${record.repoUrl}` :
|
|
51
|
-
record.homepageUrl ? `- homepage: ${record.homepageUrl}` :
|
|
49
|
+
record.license ? `- license: ${record.license}` : '',
|
|
50
|
+
record.repoUrl ? `- repo: ${record.repoUrl}` : '',
|
|
51
|
+
record.homepageUrl ? `- homepage: ${record.homepageUrl}` : '',
|
|
52
52
|
`- url: ${siteUrl}/${indexSlug}/${record.slug}`,
|
|
53
|
-
record.lastCommitAt ? `- lastCommit: ${record.lastCommitAt.slice(0, 10)}` :
|
|
54
|
-
record.addedAt ? `- added: ${record.addedAt.slice(0, 10)}` :
|
|
53
|
+
record.lastCommitAt ? `- lastCommit: ${record.lastCommitAt.slice(0, 10)}` : '',
|
|
54
|
+
record.addedAt ? `- added: ${record.addedAt.slice(0, 10)}` : '',
|
|
55
55
|
].filter(Boolean);
|
|
56
56
|
if (record.detail) {
|
|
57
|
-
lines.push(
|
|
57
|
+
lines.push('', '#### Detail', '', record.detail);
|
|
58
58
|
}
|
|
59
|
-
return lines.join(
|
|
59
|
+
return lines.join('\n');
|
|
60
60
|
}
|
|
61
61
|
export function buildLlmsTxt(input, config) {
|
|
62
|
-
const siteUrl = (input.siteUrl ?? config.site.url ??
|
|
62
|
+
const siteUrl = (input.siteUrl ?? config.site.url ?? '').replace(/\/$/, '');
|
|
63
63
|
const indexSlug = directorySlug(config);
|
|
64
|
-
const visible = input.records.filter((r) => r.visibility !==
|
|
64
|
+
const visible = input.records.filter((r) => r.visibility !== 'hide' && r.visibility !== 'remove');
|
|
65
65
|
return `# ${config.site.name}
|
|
66
66
|
|
|
67
67
|
${config.site.description ?? config.site.tagline}
|
|
@@ -79,81 +79,82 @@ export function buildLlmsFullTxt(input, config) {
|
|
|
79
79
|
// Discriminate on input shape rather than `config` presence: a caller that
|
|
80
80
|
// mistakenly passes a catalog-shaped input alongside a config would otherwise
|
|
81
81
|
// be routed into the legacy path and crash on missing legacy fields.
|
|
82
|
-
if (
|
|
82
|
+
if ('generatedAt' in input) {
|
|
83
83
|
const legacyInput = input;
|
|
84
|
-
const siteUrl = (legacyInput.siteUrl ?? config?.site.url ??
|
|
85
|
-
const indexSlug = config ? directorySlug(config) :
|
|
86
|
-
const visible = legacyInput.records.filter((r) => r.visibility !==
|
|
87
|
-
const plural = config ? pluralLabel(config) :
|
|
88
|
-
const index = visible.map(buildIndexLine).join(
|
|
84
|
+
const siteUrl = (legacyInput.siteUrl ?? config?.site.url ?? '').replace(/\/$/, '');
|
|
85
|
+
const indexSlug = config ? directorySlug(config) : 'items';
|
|
86
|
+
const visible = legacyInput.records.filter((r) => r.visibility !== 'hide' && r.visibility !== 'remove');
|
|
87
|
+
const plural = config ? pluralLabel(config) : 'Records';
|
|
88
|
+
const index = visible.map(buildIndexLine).join('\n');
|
|
89
89
|
const sections = visible
|
|
90
90
|
.map((record) => buildDetailSection(record, siteUrl, indexSlug))
|
|
91
|
-
.join(
|
|
91
|
+
.join('\n\n');
|
|
92
92
|
return [
|
|
93
|
-
`# ${config?.site.name ?? legacyInput.siteUrl ??
|
|
94
|
-
|
|
93
|
+
`# ${config?.site.name ?? legacyInput.siteUrl ?? 'Directory'} — full directory`,
|
|
94
|
+
'',
|
|
95
95
|
// Count the visible records, not every parsed one — llms.txt's
|
|
96
96
|
// "Records indexed" line already reports the filtered count, and
|
|
97
97
|
// the two disagreeing on the same build was confusing.
|
|
98
98
|
`> Generated ${legacyInput.generatedAt} from ${visible.length} records.`,
|
|
99
99
|
`> Source: ${siteUrl}/${indexSlug} · Regenerate with \`pnpm build\`.`,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
100
|
+
'',
|
|
101
|
+
'Each section below mirrors one record detail page.',
|
|
102
|
+
'',
|
|
103
|
+
'## Index',
|
|
104
|
+
'',
|
|
105
105
|
index,
|
|
106
|
-
|
|
107
|
-
sections ? `## ${plural}` :
|
|
108
|
-
|
|
106
|
+
'',
|
|
107
|
+
sections ? `## ${plural}` : '',
|
|
108
|
+
'',
|
|
109
109
|
sections,
|
|
110
|
-
|
|
111
|
-
].join(
|
|
110
|
+
'',
|
|
111
|
+
].join('\n');
|
|
112
112
|
}
|
|
113
113
|
const catalogInput = input;
|
|
114
114
|
const lines = [];
|
|
115
115
|
lines.push(`# ${catalogInput.site.name} — full catalog`);
|
|
116
|
-
lines.push(
|
|
116
|
+
lines.push('');
|
|
117
117
|
lines.push(`> ${catalogInput.site.description}`);
|
|
118
118
|
lines.push(`Updated: ${catalogInput.updatedAt}`);
|
|
119
|
-
lines.push(
|
|
119
|
+
lines.push('');
|
|
120
120
|
lines.push(`Site: ${catalogInput.site.url}`);
|
|
121
|
-
lines.push(
|
|
122
|
-
lines.push(
|
|
121
|
+
lines.push('');
|
|
122
|
+
lines.push('## Taxonomies');
|
|
123
123
|
for (const taxonomy of catalogInput.taxonomies) {
|
|
124
124
|
lines.push(`### ${taxonomy.title}`);
|
|
125
|
-
lines.push(
|
|
125
|
+
lines.push('');
|
|
126
126
|
if (taxonomy.description)
|
|
127
127
|
lines.push(taxonomy.description);
|
|
128
128
|
lines.push(`URL: ${taxonomy.url}`);
|
|
129
|
-
lines.push(
|
|
129
|
+
lines.push('');
|
|
130
130
|
}
|
|
131
|
-
lines.push(
|
|
131
|
+
lines.push('## Records');
|
|
132
132
|
for (const record of catalogInput.records) {
|
|
133
133
|
lines.push(`### ${record.title}`);
|
|
134
|
-
lines.push(
|
|
134
|
+
lines.push('');
|
|
135
135
|
lines.push(record.description);
|
|
136
136
|
if (record.stack)
|
|
137
137
|
lines.push(`Stack: ${record.stack}`);
|
|
138
138
|
if (record.license)
|
|
139
139
|
lines.push(`License: ${record.license}`);
|
|
140
140
|
lines.push(`URL: ${record.url}`);
|
|
141
|
-
lines.push(
|
|
141
|
+
lines.push('');
|
|
142
142
|
}
|
|
143
|
-
return lines.join(
|
|
143
|
+
return lines.join('\n');
|
|
144
144
|
}
|
|
145
145
|
export async function buildLlmsFiles(input, cwd = process.cwd(), config) {
|
|
146
146
|
const cfg = config ?? (await loadConfig(cwd));
|
|
147
147
|
const publicDir = resolve(cwd, cfg.paths.publicDir);
|
|
148
148
|
await mkdir(publicDir, { recursive: true });
|
|
149
|
-
const txtPath = join(publicDir,
|
|
150
|
-
const fullPath = join(publicDir,
|
|
151
|
-
await writeFile(txtPath, buildLlmsTxt(input, cfg),
|
|
152
|
-
await writeFile(fullPath, buildLlmsFullTxt(input, cfg),
|
|
149
|
+
const txtPath = join(publicDir, 'llms.txt');
|
|
150
|
+
const fullPath = join(publicDir, 'llms-full.txt');
|
|
151
|
+
await writeFile(txtPath, buildLlmsTxt(input, cfg), 'utf8');
|
|
152
|
+
await writeFile(fullPath, buildLlmsFullTxt(input, cfg), 'utf8');
|
|
153
153
|
return {
|
|
154
154
|
txtPath,
|
|
155
155
|
fullPath,
|
|
156
|
-
indexed: input.records.filter((r) => r.visibility !==
|
|
156
|
+
indexed: input.records.filter((r) => r.visibility !== 'hide' && r.visibility !== 'remove')
|
|
157
|
+
.length,
|
|
157
158
|
};
|
|
158
159
|
}
|
|
159
160
|
//# sourceMappingURL=llms.js.map
|
package/dist/llms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llms.js","sourceRoot":"","sources":["../src/llms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAoB,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,MAAM,eAAe,GAA2B;IAC9C,mBAAmB,EAAE,UAAU;IAC/B,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,UAAU;CAC5B,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,mBAAmB,EAAE,UAAU;IAC/B,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,UAAU;CAC5B,CAAC;AAEF,SAAS,aAAa,CAAC,MAAmB;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;AACjF,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;IACpF,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,IAAI,CAAC,KAAa;IACzB,qEAAqE;IACrE,gEAAgE;IAChE,iEAAiE;IACjE,wCAAwC;IACxC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI,EAAE,CAAC;AAC/F,CAAC;AAED,SAAS,kBAAkB,
|
|
1
|
+
{"version":3,"file":"llms.js","sourceRoot":"","sources":["../src/llms.ts"],"names":[],"mappings":"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"}
|
package/dist/markdown.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAqC,MAAM,aAAa,CAAC;AAGhF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;CACvB;AA0BD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAShE;AAsDD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAClD,YAAY,CAyGd;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoB5E;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,GAAG,SAAgB,EACnB,SAAS,GAAE,SAA+B,GACzC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B3C"}
|
package/dist/markdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
|