blume 1.7.2 → 1.7.3
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/CHANGELOG.md +10 -0
- package/dist/cli/chunk-0qymqwzz.js +164 -0
- package/dist/cli/chunk-0qymqwzz.js.map +15 -0
- package/dist/cli/{chunk-9bkjd11x.js → chunk-0xjyb285.js} +1 -1
- package/dist/cli/{chunk-hdm2dkd2.js → chunk-1jefwnfs.js} +13 -7
- package/dist/cli/{chunk-hdm2dkd2.js.map → chunk-1jefwnfs.js.map} +3 -3
- package/dist/cli/{chunk-n9sra6sy.js → chunk-3r45185y.js} +5 -7
- package/dist/cli/{chunk-n9sra6sy.js.map → chunk-3r45185y.js.map} +2 -2
- package/dist/cli/{chunk-cvky9gb2.js → chunk-4x36ddpw.js} +3 -3
- package/dist/cli/{chunk-mqb2ka8m.js → chunk-5093q3n7.js} +12 -12
- package/dist/cli/{chunk-9he6crym.js → chunk-5g0w1e2c.js} +4 -4
- package/dist/cli/{chunk-mt76t7dj.js → chunk-5qk08vmp.js} +11 -11
- package/dist/cli/{chunk-61j18dwk.js → chunk-7s8hm3b6.js} +7 -2
- package/dist/cli/{chunk-61j18dwk.js.map → chunk-7s8hm3b6.js.map} +3 -3
- package/dist/cli/{chunk-196vjxp9.js → chunk-8cjtbafj.js} +11 -9
- package/dist/cli/{chunk-196vjxp9.js.map → chunk-8cjtbafj.js.map} +2 -2
- package/dist/cli/{chunk-aztttvb3.js → chunk-97r59kpr.js} +4 -4
- package/dist/cli/{chunk-t3tj0dgr.js → chunk-ahnw3kxw.js} +8 -8
- package/dist/cli/{chunk-hs3gbh8p.js → chunk-b27xqwn9.js} +3 -3
- package/dist/cli/{chunk-450a7rcr.js → chunk-bf6bt1xt.js} +2 -2
- package/dist/cli/{chunk-eevwt1sc.js → chunk-bvwwhd84.js} +13 -13
- package/dist/cli/{chunk-12dxjqk7.js → chunk-cjtn640a.js} +17 -17
- package/dist/cli/{chunk-12dxjqk7.js.map → chunk-cjtn640a.js.map} +1 -1
- package/dist/cli/{chunk-ra1v2nc2.js → chunk-ct47dqpx.js} +14 -3
- package/dist/cli/{chunk-ra1v2nc2.js.map → chunk-ct47dqpx.js.map} +4 -3
- package/dist/cli/{chunk-ppfvdcd4.js → chunk-dwgcp5sm.js} +1 -1
- package/dist/cli/{chunk-3w7b2vcx.js → chunk-e7f42gdj.js} +2 -2
- package/dist/cli/{chunk-vkrsvbr5.js → chunk-esphfr8p.js} +8 -8
- package/dist/cli/{chunk-vkrsvbr5.js.map → chunk-esphfr8p.js.map} +1 -1
- package/dist/cli/{chunk-fmceyezb.js → chunk-ex56aa81.js} +27 -18
- package/dist/cli/chunk-ex56aa81.js.map +13 -0
- package/dist/cli/{chunk-jbj4qhfw.js → chunk-garjf5z9.js} +2 -2
- package/dist/cli/{chunk-wjt80jps.js → chunk-js7saxwm.js} +14 -18
- package/dist/cli/{chunk-wjt80jps.js.map → chunk-js7saxwm.js.map} +4 -6
- package/dist/cli/{chunk-5n7t497w.js → chunk-k79xp7av.js} +53 -91
- package/dist/cli/chunk-k79xp7av.js.map +39 -0
- package/dist/cli/{chunk-688e0dde.js → chunk-nn13znc2.js} +1 -1
- package/dist/cli/{chunk-ejjx8znq.js → chunk-ps4m1xh4.js} +15 -9
- package/dist/cli/{chunk-ejjx8znq.js.map → chunk-ps4m1xh4.js.map} +3 -3
- package/dist/cli/{chunk-xhtpx3ff.js → chunk-rqy0s5wh.js} +13 -13
- package/dist/cli/{chunk-30e87n55.js → chunk-rz9jmfhz.js} +4 -4
- package/dist/cli/{chunk-exeeb35e.js → chunk-vacwm2hv.js} +2 -2
- package/dist/cli/{chunk-8cd8tj54.js → chunk-yg63d42r.js} +7 -7
- package/dist/cli/index.js +15 -15
- package/dist/types/core/config-input.d.ts +33 -0
- package/dist/types/core/data.d.ts +2 -0
- package/dist/types/core/schema.d.ts +20 -0
- package/dist/types/core/types.d.ts +5 -0
- package/docs/configuration/ask-ai.mdx +14 -0
- package/docs/configuration/index.mdx +3 -1
- package/docs/content/navigation.mdx +3 -0
- package/docs/content/syntax.mdx +10 -0
- package/docs/discoverability/agent-discovery.mdx +82 -1
- package/docs/discoverability/index.mdx +1 -1
- package/docs/discoverability/llms-txt.mdx +1 -1
- package/docs/reference/frontmatter.mdx +2 -0
- package/package.json +1 -1
- package/src/ai/agent-readability.ts +5 -0
- package/src/ai/ai-catalog.ts +241 -0
- package/src/ai/link-headers.ts +12 -0
- package/src/ai/llms.ts +6 -0
- package/src/ai/mcp/discovery.ts +1 -1
- package/src/astro/generate.ts +2 -0
- package/src/cli/commands/build.ts +3 -1
- package/src/components/islands/hooks.ts +50 -1
- package/src/components/layout/RootLayout.astro +24 -1
- package/src/components/layout/analytics-client.ts +36 -7
- package/src/core/config-input.ts +34 -0
- package/src/core/data.ts +2 -0
- package/src/core/navigation.ts +22 -3
- package/src/core/schema.ts +32 -0
- package/src/core/types.ts +5 -0
- package/src/deploy/artifacts.ts +12 -1
- package/src/deploy/headers.ts +6 -0
- package/src/deploy/vercel-negotiation.ts +25 -2
- package/src/search/build.ts +25 -3
- package/src/theme/entry.ts +23 -0
- package/dist/cli/chunk-5n7t497w.js.map +0 -40
- package/dist/cli/chunk-88by27n5.js +0 -17
- package/dist/cli/chunk-88by27n5.js.map +0 -10
- package/dist/cli/chunk-fmceyezb.js.map +0 -13
- package/dist/cli/chunk-tqa1s0k8.js +0 -69
- package/dist/cli/chunk-tqa1s0k8.js.map +0 -11
- /package/dist/cli/{chunk-9bkjd11x.js.map → chunk-0xjyb285.js.map} +0 -0
- /package/dist/cli/{chunk-cvky9gb2.js.map → chunk-4x36ddpw.js.map} +0 -0
- /package/dist/cli/{chunk-mqb2ka8m.js.map → chunk-5093q3n7.js.map} +0 -0
- /package/dist/cli/{chunk-9he6crym.js.map → chunk-5g0w1e2c.js.map} +0 -0
- /package/dist/cli/{chunk-mt76t7dj.js.map → chunk-5qk08vmp.js.map} +0 -0
- /package/dist/cli/{chunk-aztttvb3.js.map → chunk-97r59kpr.js.map} +0 -0
- /package/dist/cli/{chunk-t3tj0dgr.js.map → chunk-ahnw3kxw.js.map} +0 -0
- /package/dist/cli/{chunk-hs3gbh8p.js.map → chunk-b27xqwn9.js.map} +0 -0
- /package/dist/cli/{chunk-450a7rcr.js.map → chunk-bf6bt1xt.js.map} +0 -0
- /package/dist/cli/{chunk-eevwt1sc.js.map → chunk-bvwwhd84.js.map} +0 -0
- /package/dist/cli/{chunk-ppfvdcd4.js.map → chunk-dwgcp5sm.js.map} +0 -0
- /package/dist/cli/{chunk-3w7b2vcx.js.map → chunk-e7f42gdj.js.map} +0 -0
- /package/dist/cli/{chunk-jbj4qhfw.js.map → chunk-garjf5z9.js.map} +0 -0
- /package/dist/cli/{chunk-688e0dde.js.map → chunk-nn13znc2.js.map} +0 -0
- /package/dist/cli/{chunk-xhtpx3ff.js.map → chunk-rqy0s5wh.js.map} +0 -0
- /package/dist/cli/{chunk-30e87n55.js.map → chunk-rz9jmfhz.js.map} +0 -0
- /package/dist/cli/{chunk-exeeb35e.js.map → chunk-vacwm2hv.js.map} +0 -0
- /package/dist/cli/{chunk-8cd8tj54.js.map → chunk-yg63d42r.js.map} +0 -0
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
apiUrl,
|
|
22
22
|
EN_UI,
|
|
23
23
|
resolveUIStrings
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-7s8hm3b6.js";
|
|
25
25
|
import {
|
|
26
26
|
resolveFallbackLocale,
|
|
27
27
|
validateSearchPopularIcons,
|
|
@@ -30,11 +30,11 @@ import {
|
|
|
30
30
|
apiNamePhrase,
|
|
31
31
|
isOpenApiSource,
|
|
32
32
|
resolveDocsCollection
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-1jefwnfs.js";
|
|
34
34
|
import {
|
|
35
35
|
siteRoot,
|
|
36
36
|
absoluteUrl
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-ct47dqpx.js";
|
|
38
38
|
import {
|
|
39
39
|
buildRssFeeds,
|
|
40
40
|
renderRssFeed,
|
|
@@ -42,18 +42,21 @@ import {
|
|
|
42
42
|
markdownRoutePaths,
|
|
43
43
|
buildSearchDocuments,
|
|
44
44
|
buildMcpData
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-js7saxwm.js";
|
|
46
46
|
import {
|
|
47
47
|
OPENAPI_PATH,
|
|
48
48
|
API_PAGES_PATH,
|
|
49
49
|
API_PAGE_PATH,
|
|
50
50
|
API_NAVIGATION_PATH,
|
|
51
|
-
API_SEARCH_PATH
|
|
52
|
-
|
|
51
|
+
API_SEARCH_PATH,
|
|
52
|
+
buildMcpDiscovery,
|
|
53
|
+
buildMcpServerCard,
|
|
54
|
+
hasAiCatalog
|
|
55
|
+
} from "./chunk-0qymqwzz.js";
|
|
53
56
|
import {
|
|
54
57
|
rewriteRelativeImages,
|
|
55
58
|
collectContentAssets
|
|
56
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-bf6bt1xt.js";
|
|
57
60
|
import {
|
|
58
61
|
resolveAskBackend,
|
|
59
62
|
askBackendRuntimeDep,
|
|
@@ -97,7 +100,7 @@ import {
|
|
|
97
100
|
examplesPageTemplate,
|
|
98
101
|
runtimePackageTemplate,
|
|
99
102
|
runtimeTsconfigTemplate
|
|
100
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-ps4m1xh4.js";
|
|
101
104
|
import {
|
|
102
105
|
discoverPages,
|
|
103
106
|
routeIsTaken,
|
|
@@ -109,10 +112,7 @@ import {
|
|
|
109
112
|
} from "./chunk-jq5n4avg.js";
|
|
110
113
|
import {
|
|
111
114
|
registry
|
|
112
|
-
} from "./chunk-
|
|
113
|
-
import {
|
|
114
|
-
MCP_TOOLS
|
|
115
|
-
} from "./chunk-ra1v2nc2.js";
|
|
115
|
+
} from "./chunk-nn13znc2.js";
|
|
116
116
|
import {
|
|
117
117
|
searchProviderMeta,
|
|
118
118
|
servesStaticIndex
|
|
@@ -131,10 +131,10 @@ var SIGNATURES_DIRECTORY_TYPE = "application/http-message-signatures-directory+j
|
|
|
131
131
|
import { join as join3, relative, resolve as resolve2 } from "pathe";
|
|
132
132
|
|
|
133
133
|
// src/deploy/artifacts.ts
|
|
134
|
-
import { dirname, join as join2, resolve } from "pathe";
|
|
134
|
+
import { dirname as dirname2, join as join2, resolve } from "pathe";
|
|
135
135
|
|
|
136
136
|
// src/search/build.ts
|
|
137
|
-
import { join } from "pathe";
|
|
137
|
+
import { dirname, join } from "pathe";
|
|
138
138
|
|
|
139
139
|
// src/deploy/sitemap.ts
|
|
140
140
|
import { escape as escapeXml } from "html-escaper";
|
|
@@ -219,7 +219,7 @@ import {
|
|
|
219
219
|
rm,
|
|
220
220
|
writeFile
|
|
221
221
|
} from "node:fs/promises";
|
|
222
|
-
import { dirname as
|
|
222
|
+
import { dirname as dirname3, join as join4 } from "pathe";
|
|
223
223
|
var ogCacheDir = (context) => existsSync(join4(context.root, "node_modules")) ? join4(context.root, "node_modules", ".cache", "blume", "og") : join4(context.outDir, ".cache", "og");
|
|
224
224
|
var REGISTRY_KEY2 = Symbol.for("blume.og-cache");
|
|
225
225
|
var registry3 = () => {
|
|
@@ -263,7 +263,7 @@ import { pathToFileURL } from "node:url";
|
|
|
263
263
|
import pMap3 from "p-map";
|
|
264
264
|
import {
|
|
265
265
|
basename as basename2,
|
|
266
|
-
dirname as
|
|
266
|
+
dirname as dirname7,
|
|
267
267
|
isAbsolute as isAbsolute6,
|
|
268
268
|
join as join11,
|
|
269
269
|
normalize,
|
|
@@ -805,68 +805,6 @@ var buildAskData = async (project) => {
|
|
|
805
805
|
};
|
|
806
806
|
};
|
|
807
807
|
|
|
808
|
-
// src/ai/mcp/discovery.ts
|
|
809
|
-
var serverUrl2 = (input) => {
|
|
810
|
-
const path = withBasePath(input.base, input.route);
|
|
811
|
-
return input.site ? absoluteUrl(input.site, path) : path;
|
|
812
|
-
};
|
|
813
|
-
var buildMcpDiscovery = (input) => ({
|
|
814
|
-
servers: [
|
|
815
|
-
{
|
|
816
|
-
name: input.name,
|
|
817
|
-
transport: "streamable-http",
|
|
818
|
-
url: serverUrl2(input)
|
|
819
|
-
}
|
|
820
|
-
]
|
|
821
|
-
});
|
|
822
|
-
var SERVER_CARD_SCHEMA = "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json";
|
|
823
|
-
var CARD_TEXT_MAX = 100;
|
|
824
|
-
var truncate = (text) => text.length > CARD_TEXT_MAX ? `${text.slice(0, CARD_TEXT_MAX - 1)}…` : text;
|
|
825
|
-
var NON_ASCII_SLUG = /[^a-z0-9]+/gu;
|
|
826
|
-
var COMBINING_MARKS = /\p{M}+/gu;
|
|
827
|
-
var asciiSlugify = (text) => trimChar(text.normalize("NFKD").replace(COMBINING_MARKS, "").toLowerCase().replace(NON_ASCII_SLUG, "-"), "-");
|
|
828
|
-
var reverseDnsName = (input) => {
|
|
829
|
-
let namespace = "localhost";
|
|
830
|
-
if (input.site) {
|
|
831
|
-
try {
|
|
832
|
-
namespace = new URL(input.site).hostname.split(".").toReversed().join(".");
|
|
833
|
-
} catch {}
|
|
834
|
-
}
|
|
835
|
-
return `${namespace}/${asciiSlugify(input.name) || "docs"}`;
|
|
836
|
-
};
|
|
837
|
-
var HTTP_URL = /^https?:\/\//u;
|
|
838
|
-
var buildMcpServerCard = (input) => {
|
|
839
|
-
const url = serverUrl2(input);
|
|
840
|
-
const card = {
|
|
841
|
-
$schema: SERVER_CARD_SCHEMA,
|
|
842
|
-
capabilities: {
|
|
843
|
-
resources: { listChanged: false, subscribe: false },
|
|
844
|
-
tools: { listChanged: false }
|
|
845
|
-
},
|
|
846
|
-
description: truncate(`Model Context Protocol server for the ${input.name} documentation.`),
|
|
847
|
-
name: reverseDnsName(input),
|
|
848
|
-
serverInfo: { name: input.name, version: input.version },
|
|
849
|
-
title: truncate(input.name),
|
|
850
|
-
tools: MCP_TOOLS.map((tool) => ({
|
|
851
|
-
annotations: tool.annotations,
|
|
852
|
-
description: tool.description,
|
|
853
|
-
name: tool.name,
|
|
854
|
-
title: tool.title
|
|
855
|
-
})),
|
|
856
|
-
transport: "streamable-http",
|
|
857
|
-
transports: [{ endpoint: url, type: "streamable-http" }],
|
|
858
|
-
url,
|
|
859
|
-
version: input.version
|
|
860
|
-
};
|
|
861
|
-
if (HTTP_URL.test(url)) {
|
|
862
|
-
card.remotes = [{ type: "streamable-http", url }];
|
|
863
|
-
}
|
|
864
|
-
if (input.site) {
|
|
865
|
-
card.websiteUrl = siteRoot(input.site);
|
|
866
|
-
}
|
|
867
|
-
return card;
|
|
868
|
-
};
|
|
869
|
-
|
|
870
808
|
// src/components/layout/nav-utils.ts
|
|
871
809
|
var hasDeferrableGroups = (sidebar) => sidebar.some((node) => node.kind === "group" && ((node.display ?? "flat") !== "flat" || hasDeferrableGroups(node.children)));
|
|
872
810
|
var navVariants = (data, hiddenDefault = null) => [
|
|
@@ -949,7 +887,7 @@ var validateUsedComponents = (pages, extraTags, registryNames) => {
|
|
|
949
887
|
|
|
950
888
|
// src/core/component-overrides.ts
|
|
951
889
|
import { existsSync as existsSync2 } from "node:fs";
|
|
952
|
-
import { dirname as
|
|
890
|
+
import { dirname as dirname4, extname, isAbsolute, resolve as resolve3 } from "pathe";
|
|
953
891
|
import ts from "typescript";
|
|
954
892
|
var GROUPS = ["mdx", "layout", "islands"];
|
|
955
893
|
var GROUP_SET = new Set(GROUPS);
|
|
@@ -1205,7 +1143,7 @@ var analyzeComponentOverrides = (source, filePath) => {
|
|
|
1205
1143
|
return result;
|
|
1206
1144
|
}
|
|
1207
1145
|
const imports = collectImports(sourceFile);
|
|
1208
|
-
const dir =
|
|
1146
|
+
const dir = dirname4(filePath);
|
|
1209
1147
|
for (const property of object.properties) {
|
|
1210
1148
|
collectGroupOverrides(property, imports, dir, result);
|
|
1211
1149
|
}
|
|
@@ -1277,7 +1215,7 @@ var svgDimensions = (svg) => {
|
|
|
1277
1215
|
|
|
1278
1216
|
// src/core/tsconfig-aliases.ts
|
|
1279
1217
|
import { existsSync as existsSync3 } from "node:fs";
|
|
1280
|
-
import { dirname as
|
|
1218
|
+
import { dirname as dirname5, join as join5, resolve as resolve4 } from "pathe";
|
|
1281
1219
|
import ts2 from "typescript";
|
|
1282
1220
|
var PARSE_HOST = {
|
|
1283
1221
|
fileExists: ts2.sys.fileExists,
|
|
@@ -1307,7 +1245,7 @@ var resolveTsconfigAliases = (root) => {
|
|
|
1307
1245
|
if (error) {
|
|
1308
1246
|
return {};
|
|
1309
1247
|
}
|
|
1310
|
-
const configDir =
|
|
1248
|
+
const configDir = dirname5(entry);
|
|
1311
1249
|
const { options } = ts2.parseJsonConfigFileContent(config, PARSE_HOST, configDir, undefined, entry);
|
|
1312
1250
|
const { paths } = options;
|
|
1313
1251
|
if (!paths) {
|
|
@@ -2009,6 +1947,11 @@ ${THEME_MAPPING}
|
|
|
2009
1947
|
--tw-prose-pre-bg: var(--blume-code-background);
|
|
2010
1948
|
--tw-prose-th-borders: var(--blume-border);
|
|
2011
1949
|
--tw-prose-td-borders: var(--blume-border);
|
|
1950
|
+
/* Neutralized: the plugin defaults are near-black text and shadow with no
|
|
1951
|
+
dark counterpart (Blume never applies prose-invert), and the kbd rule
|
|
1952
|
+
below draws the badge with Blume tokens instead. */
|
|
1953
|
+
--tw-prose-kbd: inherit;
|
|
1954
|
+
--tw-prose-kbd-shadows: transparent;
|
|
2012
1955
|
color: var(--blume-muted-foreground);
|
|
2013
1956
|
font-size: 0.875rem;
|
|
2014
1957
|
line-height: 1.7;
|
|
@@ -2538,6 +2481,24 @@ pre:has(.line.focused):hover .line:not(.focused) {
|
|
|
2538
2481
|
content: none;
|
|
2539
2482
|
}
|
|
2540
2483
|
|
|
2484
|
+
/* Keyboard keys (<kbd>) render as the same bordered badge the search dialog
|
|
2485
|
+
uses for its shortcut hints. Typography's own kbd rule is scoped with
|
|
2486
|
+
:not(.not-prose *), so it never reaches a key inside <Steps>, <Callout>,
|
|
2487
|
+
<Card>, or any other not-prose component; this rule is deliberately
|
|
2488
|
+
unscoped from that exclusion so a key looks the same everywhere in the
|
|
2489
|
+
content column. Unlayered, so it outranks the plugin's layered rule. */
|
|
2490
|
+
.prose kbd {
|
|
2491
|
+
background: var(--blume-muted);
|
|
2492
|
+
border: 1px solid var(--blume-border);
|
|
2493
|
+
border-radius: 0.25rem;
|
|
2494
|
+
box-shadow: none;
|
|
2495
|
+
color: inherit;
|
|
2496
|
+
font-family: var(--font-mono);
|
|
2497
|
+
font-size: 0.85em;
|
|
2498
|
+
font-weight: 500;
|
|
2499
|
+
padding: 0.125rem 0.25rem;
|
|
2500
|
+
}
|
|
2501
|
+
|
|
2541
2502
|
/* Inline code highlighting: Shiki colors the tokens of a \`code\`{:lang} snippet
|
|
2542
2503
|
via the same dual-theme CSS variables as fenced blocks, keeping the inline
|
|
2543
2504
|
pill background. Always on — it only fires on the trailing {:lang} marker. */
|
|
@@ -2629,10 +2590,10 @@ ${options.userCss}
|
|
|
2629
2590
|
`;
|
|
2630
2591
|
|
|
2631
2592
|
// src/theme/sources.ts
|
|
2632
|
-
import { dirname as
|
|
2593
|
+
import { dirname as dirname6, isAbsolute as isAbsolute4, relative as relative2, resolve as resolve5 } from "pathe";
|
|
2633
2594
|
var SOURCE_DIRECTIVE = /@source(?<not>\s+not)?\s+(?<quote>["'])(?<path>[^"']+)\k<quote>/gu;
|
|
2634
2595
|
var rebaseSourceDirectives = (css, options) => {
|
|
2635
|
-
const base =
|
|
2596
|
+
const base = dirname6(options.from);
|
|
2636
2597
|
return css.replace(SOURCE_DIRECTIVE, (directive, not, quote, path) => {
|
|
2637
2598
|
if (isAbsolute4(path)) {
|
|
2638
2599
|
return directive;
|
|
@@ -3019,7 +2980,7 @@ var resolvedAstroHit = (fromDir) => {
|
|
|
3019
2980
|
if (pkg) {
|
|
3020
2981
|
return { modulesDir, pkg };
|
|
3021
2982
|
}
|
|
3022
|
-
const parent =
|
|
2983
|
+
const parent = dirname7(dir);
|
|
3023
2984
|
if (parent === dir) {
|
|
3024
2985
|
return null;
|
|
3025
2986
|
}
|
|
@@ -3035,7 +2996,7 @@ var sameRealDir = (a, b) => {
|
|
|
3035
2996
|
};
|
|
3036
2997
|
var depsCandidates = (pkgDir) => [
|
|
3037
2998
|
join11(pkgDir, "node_modules"),
|
|
3038
|
-
|
|
2999
|
+
dirname7(pkgDir)
|
|
3039
3000
|
];
|
|
3040
3001
|
var candidateHolding = (pkgDir, ...segments) => depsCandidates(pkgDir).find((dir) => existsSync6(join11(dir, ...segments))) ?? null;
|
|
3041
3002
|
var symlinkDir = async (target, link) => {
|
|
@@ -3057,13 +3018,13 @@ var linkDepsJunction = async (link, depsDir) => {
|
|
|
3057
3018
|
return;
|
|
3058
3019
|
}
|
|
3059
3020
|
try {
|
|
3060
|
-
if (resolve6(
|
|
3021
|
+
if (resolve6(dirname7(link), await readlink(link)) === resolve6(depsDir)) {
|
|
3061
3022
|
return;
|
|
3062
3023
|
}
|
|
3063
3024
|
} catch {}
|
|
3064
3025
|
await rm2(link, { force: true });
|
|
3065
3026
|
}
|
|
3066
|
-
await mkdir2(
|
|
3027
|
+
await mkdir2(dirname7(link), { recursive: true });
|
|
3067
3028
|
await symlinkDir(depsDir, link);
|
|
3068
3029
|
};
|
|
3069
3030
|
var readPkgVersion = (pkgJsonPath) => {
|
|
@@ -3512,6 +3473,7 @@ var buildRuntimeData = (project) => {
|
|
|
3512
3473
|
description: config.description,
|
|
3513
3474
|
discovery: {
|
|
3514
3475
|
agentReadability: config.seo.agentReadability,
|
|
3476
|
+
aiCatalog: hasAiCatalog(config),
|
|
3515
3477
|
api: config.ai.api,
|
|
3516
3478
|
llmsTxt: config.ai.llmsTxt.enabled,
|
|
3517
3479
|
sitemap: config.seo.sitemap && Boolean(config.deployment.site)
|
|
@@ -4066,7 +4028,7 @@ var generateRuntime = async (project) => {
|
|
|
4066
4028
|
return { structuralChange: structural.some(Boolean), warnings };
|
|
4067
4029
|
};
|
|
4068
4030
|
|
|
4069
|
-
export { SIGNATURES_DIRECTORY_PATH, SIGNATURES_DIRECTORY_TYPE, publishBuildProject, refreshBlumeContent, showBlumeErrorOverlay, ogCacheDir, pruneCardCache, cardCacheTally, buildAskData,
|
|
4031
|
+
export { SIGNATURES_DIRECTORY_PATH, SIGNATURES_DIRECTORY_TYPE, publishBuildProject, refreshBlumeContent, showBlumeErrorOverlay, ogCacheDir, pruneCardCache, cardCacheTally, buildAskData, buildThemeCss, buildReferenceFiles, tailwindEntryTemplate, examplesEntryTemplate, rebaseSourceDirectives, twoslashCss, planComponentSlots, discoverIslands, EXAMPLE_SCAN_GLOB, exampleScanRoots, discoverExamples, exampleMarkdownLookup, detectNeedsReact, detectUsesMath, collectStaged, buildRuntimeData, languageIconCssFor, clientFeaturesFor, generateRuntime };
|
|
4070
4032
|
|
|
4071
|
-
//# debugId=
|
|
4072
|
-
//# sourceMappingURL=chunk-
|
|
4033
|
+
//# debugId=54E9E2185852692F64756E2164756E21
|
|
4034
|
+
//# sourceMappingURL=chunk-k79xp7av.js.map
|