@farming-labs/tanstack-start 0.2.75 → 0.2.78

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 (144) hide show
  1. package/dist/server.d.ts.map +1 -1
  2. package/dist/server.js +65 -28
  3. package/dist/server.js.map +1 -1
  4. package/package.json +3 -3
  5. package/dist/dist.bak/content.d.ts +0 -40
  6. package/dist/dist.bak/content.d.ts.map +0 -1
  7. package/dist/dist.bak/content.js +0 -189
  8. package/dist/dist.bak/content.js.map +0 -1
  9. package/dist/dist.bak/docs/src/api-reference.d.ts +0 -23
  10. package/dist/dist.bak/docs/src/api-reference.d.ts.map +0 -1
  11. package/dist/dist.bak/docs/src/api-reference.js +0 -564
  12. package/dist/dist.bak/docs/src/api-reference.js.map +0 -1
  13. package/dist/dist.bak/docs/src/create-theme.d.ts +0 -74
  14. package/dist/dist.bak/docs/src/create-theme.d.ts.map +0 -1
  15. package/dist/dist.bak/docs/src/create-theme.js +0 -86
  16. package/dist/dist.bak/docs/src/create-theme.js.map +0 -1
  17. package/dist/dist.bak/docs/src/define-docs.d.ts +0 -6
  18. package/dist/dist.bak/docs/src/define-docs.d.ts.map +0 -1
  19. package/dist/dist.bak/docs/src/define-docs.js +0 -27
  20. package/dist/dist.bak/docs/src/define-docs.js.map +0 -1
  21. package/dist/dist.bak/docs/src/i18n.d.ts +0 -15
  22. package/dist/dist.bak/docs/src/i18n.d.ts.map +0 -1
  23. package/dist/dist.bak/docs/src/i18n.js +0 -48
  24. package/dist/dist.bak/docs/src/i18n.js.map +0 -1
  25. package/dist/dist.bak/docs/src/index.d.ts +0 -16
  26. package/dist/dist.bak/docs/src/index.d.ts.map +0 -1
  27. package/dist/dist.bak/docs/src/index.js +0 -14
  28. package/dist/dist.bak/docs/src/index.js.map +0 -1
  29. package/dist/dist.bak/docs/src/metadata.d.ts +0 -24
  30. package/dist/dist.bak/docs/src/metadata.d.ts.map +0 -1
  31. package/dist/dist.bak/docs/src/metadata.js +0 -90
  32. package/dist/dist.bak/docs/src/metadata.js.map +0 -1
  33. package/dist/dist.bak/docs/src/server.d.ts +0 -3
  34. package/dist/dist.bak/docs/src/server.d.ts.map +0 -1
  35. package/dist/dist.bak/docs/src/server.js +0 -2
  36. package/dist/dist.bak/docs/src/server.js.map +0 -1
  37. package/dist/dist.bak/docs/src/types.d.ts +0 -1344
  38. package/dist/dist.bak/docs/src/types.d.ts.map +0 -1
  39. package/dist/dist.bak/docs/src/types.js +0 -6
  40. package/dist/dist.bak/docs/src/types.js.map +0 -1
  41. package/dist/dist.bak/docs/src/utils.d.ts +0 -6
  42. package/dist/dist.bak/docs/src/utils.d.ts.map +0 -1
  43. package/dist/dist.bak/docs/src/utils.js +0 -32
  44. package/dist/dist.bak/docs/src/utils.js.map +0 -1
  45. package/dist/dist.bak/index.d.ts +0 -12
  46. package/dist/dist.bak/index.d.ts.map +0 -1
  47. package/dist/dist.bak/index.js +0 -12
  48. package/dist/dist.bak/index.js.map +0 -1
  49. package/dist/dist.bak/react.d.ts +0 -7
  50. package/dist/dist.bak/react.d.ts.map +0 -1
  51. package/dist/dist.bak/react.js +0 -22
  52. package/dist/dist.bak/react.js.map +0 -1
  53. package/dist/dist.bak/server.d.ts +0 -31
  54. package/dist/dist.bak/server.d.ts.map +0 -1
  55. package/dist/dist.bak/server.js +0 -638
  56. package/dist/dist.bak/server.js.map +0 -1
  57. package/dist/dist.bak/tanstack-start/src/api-reference.d.ts +0 -3
  58. package/dist/dist.bak/tanstack-start/src/api-reference.d.ts.map +0 -1
  59. package/dist/dist.bak/tanstack-start/src/api-reference.js +0 -41
  60. package/dist/dist.bak/tanstack-start/src/api-reference.js.map +0 -1
  61. package/dist/dist.bak/tanstack-start/src/content.d.ts +0 -40
  62. package/dist/dist.bak/tanstack-start/src/content.d.ts.map +0 -1
  63. package/dist/dist.bak/tanstack-start/src/content.js +0 -189
  64. package/dist/dist.bak/tanstack-start/src/content.js.map +0 -1
  65. package/dist/dist.bak/tanstack-start/src/index.d.ts +0 -12
  66. package/dist/dist.bak/tanstack-start/src/index.d.ts.map +0 -1
  67. package/dist/dist.bak/tanstack-start/src/index.js +0 -12
  68. package/dist/dist.bak/tanstack-start/src/index.js.map +0 -1
  69. package/dist/dist.bak/tanstack-start/src/react.d.ts +0 -7
  70. package/dist/dist.bak/tanstack-start/src/react.d.ts.map +0 -1
  71. package/dist/dist.bak/tanstack-start/src/react.js +0 -22
  72. package/dist/dist.bak/tanstack-start/src/react.js.map +0 -1
  73. package/dist/dist.bak/tanstack-start/src/server.d.ts +0 -32
  74. package/dist/dist.bak/tanstack-start/src/server.d.ts.map +0 -1
  75. package/dist/dist.bak/tanstack-start/src/server.js +0 -639
  76. package/dist/dist.bak/tanstack-start/src/server.js.map +0 -1
  77. package/dist/dist.bak/tanstack-start/src/vite.d.ts +0 -3
  78. package/dist/dist.bak/tanstack-start/src/vite.d.ts.map +0 -1
  79. package/dist/dist.bak/tanstack-start/src/vite.js +0 -137
  80. package/dist/dist.bak/tanstack-start/src/vite.js.map +0 -1
  81. package/dist/dist.bak/vite.d.ts +0 -3
  82. package/dist/dist.bak/vite.d.ts.map +0 -1
  83. package/dist/dist.bak/vite.js +0 -137
  84. package/dist/dist.bak/vite.js.map +0 -1
  85. package/dist/docs/src/api-reference.d.ts +0 -27
  86. package/dist/docs/src/api-reference.d.ts.map +0 -1
  87. package/dist/docs/src/api-reference.js +0 -594
  88. package/dist/docs/src/api-reference.js.map +0 -1
  89. package/dist/docs/src/create-theme.d.ts +0 -74
  90. package/dist/docs/src/create-theme.d.ts.map +0 -1
  91. package/dist/docs/src/create-theme.js +0 -86
  92. package/dist/docs/src/create-theme.js.map +0 -1
  93. package/dist/docs/src/define-docs.d.ts +0 -6
  94. package/dist/docs/src/define-docs.d.ts.map +0 -1
  95. package/dist/docs/src/define-docs.js +0 -27
  96. package/dist/docs/src/define-docs.js.map +0 -1
  97. package/dist/docs/src/i18n.d.ts +0 -15
  98. package/dist/docs/src/i18n.d.ts.map +0 -1
  99. package/dist/docs/src/i18n.js +0 -48
  100. package/dist/docs/src/i18n.js.map +0 -1
  101. package/dist/docs/src/index.d.ts +0 -16
  102. package/dist/docs/src/index.d.ts.map +0 -1
  103. package/dist/docs/src/index.js +0 -14
  104. package/dist/docs/src/index.js.map +0 -1
  105. package/dist/docs/src/metadata.d.ts +0 -24
  106. package/dist/docs/src/metadata.d.ts.map +0 -1
  107. package/dist/docs/src/metadata.js +0 -90
  108. package/dist/docs/src/metadata.js.map +0 -1
  109. package/dist/docs/src/server.d.ts +0 -3
  110. package/dist/docs/src/server.d.ts.map +0 -1
  111. package/dist/docs/src/server.js +0 -2
  112. package/dist/docs/src/server.js.map +0 -1
  113. package/dist/docs/src/types.d.ts +0 -1344
  114. package/dist/docs/src/types.d.ts.map +0 -1
  115. package/dist/docs/src/types.js +0 -6
  116. package/dist/docs/src/types.js.map +0 -1
  117. package/dist/docs/src/utils.d.ts +0 -6
  118. package/dist/docs/src/utils.d.ts.map +0 -1
  119. package/dist/docs/src/utils.js +0 -32
  120. package/dist/docs/src/utils.js.map +0 -1
  121. package/dist/tanstack-start/src/api-reference.d.ts +0 -3
  122. package/dist/tanstack-start/src/api-reference.d.ts.map +0 -1
  123. package/dist/tanstack-start/src/api-reference.js +0 -20
  124. package/dist/tanstack-start/src/api-reference.js.map +0 -1
  125. package/dist/tanstack-start/src/content.d.ts +0 -40
  126. package/dist/tanstack-start/src/content.d.ts.map +0 -1
  127. package/dist/tanstack-start/src/content.js +0 -189
  128. package/dist/tanstack-start/src/content.js.map +0 -1
  129. package/dist/tanstack-start/src/index.d.ts +0 -12
  130. package/dist/tanstack-start/src/index.d.ts.map +0 -1
  131. package/dist/tanstack-start/src/index.js +0 -12
  132. package/dist/tanstack-start/src/index.js.map +0 -1
  133. package/dist/tanstack-start/src/react.d.ts +0 -7
  134. package/dist/tanstack-start/src/react.d.ts.map +0 -1
  135. package/dist/tanstack-start/src/react.js +0 -22
  136. package/dist/tanstack-start/src/react.js.map +0 -1
  137. package/dist/tanstack-start/src/server.d.ts +0 -32
  138. package/dist/tanstack-start/src/server.d.ts.map +0 -1
  139. package/dist/tanstack-start/src/server.js +0 -639
  140. package/dist/tanstack-start/src/server.js.map +0 -1
  141. package/dist/tanstack-start/src/vite.d.ts +0 -3
  142. package/dist/tanstack-start/src/vite.d.ts.map +0 -1
  143. package/dist/tanstack-start/src/vite.js +0 -137
  144. package/dist/tanstack-start/src/vite.js.map +0 -1
@@ -1,564 +0,0 @@
1
- import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
2
- import { basename, join, relative } from "node:path";
3
- const NEXT_ROUTE_FILE_RE = /^route\.(ts|tsx|js|jsx)$/;
4
- const SVELTE_ROUTE_FILE_RE = /^\+server\.(ts|js)$/;
5
- const ASTRO_ROUTE_FILE_RE = /^[^.].*\.(ts|js|mts|mjs)$/;
6
- const NUXT_ROUTE_FILE_RE = /^[^.].*\.(ts|js|mts|mjs)$/;
7
- const TANSTACK_ROUTE_FILE_RE = /\.(ts|tsx|js|jsx)$/;
8
- const METHOD_RE = /export\s+(?:async\s+function|function|const)\s+(GET|POST|PUT|PATCH|DELETE|OPTIONS|HEAD|ALL)\b/g;
9
- const METHOD_NAMES = ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"];
10
- function normalizePathSegment(value) {
11
- return value.replace(/^\/+|\/+$/g, "");
12
- }
13
- export function resolveApiReferenceConfig(value) {
14
- if (value === true) {
15
- return {
16
- enabled: true,
17
- path: "api-reference",
18
- routeRoot: "api",
19
- exclude: [],
20
- };
21
- }
22
- if (!value) {
23
- return {
24
- enabled: false,
25
- path: "api-reference",
26
- routeRoot: "api",
27
- exclude: [],
28
- };
29
- }
30
- return {
31
- enabled: value.enabled !== false,
32
- path: normalizePathSegment(value.path ?? "api-reference"),
33
- routeRoot: normalizePathSegment(value.routeRoot ?? "api") || "api",
34
- exclude: normalizeApiReferenceExcludes(value.exclude),
35
- };
36
- }
37
- export function buildApiReferencePageTitle(config, title = "API Reference") {
38
- const template = config.metadata?.titleTemplate;
39
- if (!template)
40
- return title;
41
- return template.replace("%s", title);
42
- }
43
- export function buildApiReferenceScalarCss(config) {
44
- const theme = resolveTheme(config);
45
- const colors = theme?.ui?.colors;
46
- const typography = theme?.ui?.typography?.font?.style;
47
- const layout = theme?.ui?.layout;
48
- const primary = colors?.primary ?? "#6366f1";
49
- const border = colors?.border ?? "#2a2a2a";
50
- const muted = colors?.muted ?? "#64748b";
51
- const background = colors?.background ?? "#ffffff";
52
- const card = colors?.card ?? background;
53
- const foreground = colors?.foreground ?? "#1b1b1b";
54
- const sidebarWidth = layout?.sidebarWidth ?? 280;
55
- const sans = typography?.sans ?? '"Geist", "Inter", "Segoe UI", sans-serif';
56
- const mono = typography?.mono ?? '"Geist Mono", "SFMono-Regular", "Menlo", monospace';
57
- return `
58
- :root {
59
- --scalar-font: ${sans};
60
- --scalar-font-code: ${mono};
61
- --scalar-theme-primary: ${primary};
62
- --scalar-theme-border: ${border};
63
- --scalar-theme-muted: ${muted};
64
- --scalar-theme-background: ${background};
65
- --scalar-theme-card: ${card};
66
- --scalar-theme-foreground: ${foreground};
67
- }
68
-
69
- .dark-mode {
70
- --scalar-background-1: color-mix(in srgb, #0b0c0b 98%, var(--scalar-theme-primary) 2%);
71
- --scalar-background-2: color-mix(in srgb, #111311 96%, var(--scalar-theme-primary) 4%);
72
- --scalar-background-3: color-mix(in srgb, #171917 95%, var(--scalar-theme-primary) 5%);
73
- --scalar-color-1: rgba(255, 255, 255, 0.96);
74
- --scalar-color-2: rgba(255, 255, 255, 0.72);
75
- --scalar-color-3: rgba(255, 255, 255, 0.5);
76
- --scalar-color-accent: var(--scalar-theme-primary);
77
- --scalar-sidebar-color-active: var(--scalar-theme-primary);
78
- --scalar-sidebar-item-active-background: color-mix(
79
- in srgb,
80
- var(--scalar-theme-primary) 7%,
81
- transparent
82
- );
83
- --scalar-border-color: color-mix(
84
- in srgb,
85
- var(--scalar-theme-border) 22%,
86
- rgba(255, 255, 255, 0.032)
87
- );
88
- --scalar-button-1: var(--scalar-theme-primary);
89
- --scalar-button-1-color: #ffffff;
90
- --scalar-button-1-hover: color-mix(in srgb, var(--scalar-theme-primary) 88%, white 12%);
91
- }
92
-
93
- .light-mode {
94
- --scalar-background-1: var(--scalar-theme-background);
95
- --scalar-background-2: color-mix(in srgb, var(--scalar-theme-card) 92%, white 8%);
96
- --scalar-background-3: color-mix(in srgb, var(--scalar-theme-card) 84%, black 4%);
97
- --scalar-color-1: var(--scalar-theme-foreground);
98
- --scalar-color-2: var(--scalar-theme-muted);
99
- --scalar-color-3: color-mix(in srgb, var(--scalar-theme-muted) 78%, white 22%);
100
- --scalar-color-accent: var(--scalar-theme-primary);
101
- --scalar-sidebar-color-active: var(--scalar-theme-primary);
102
- --scalar-sidebar-item-active-background: color-mix(
103
- in srgb,
104
- var(--scalar-theme-primary) 5%,
105
- transparent
106
- );
107
- --scalar-border-color: color-mix(in srgb, var(--scalar-theme-border) 42%, white 58%);
108
- --scalar-button-1: var(--scalar-theme-primary);
109
- --scalar-button-1-color: #ffffff;
110
- --scalar-button-1-hover: color-mix(in srgb, var(--scalar-theme-primary) 88%, black 12%);
111
- }
112
-
113
- body {
114
- background: var(--scalar-background-1);
115
- }
116
-
117
- .t-doc__sidebar {
118
- width: min(${sidebarWidth}px, 100vw);
119
- border-right: 1px solid var(--scalar-border-color);
120
- }
121
-
122
- .scalar-card,
123
- .t-doc__sidebar,
124
- .references-layout .reference-layout__content .request-card,
125
- .references-layout .reference-layout__content .response-card,
126
- .references-layout .reference-layout__content .scalar-card-header,
127
- .references-layout .reference-layout__content .scalar-card-footer,
128
- .references-layout .reference-layout__content .section,
129
- .references-layout .reference-layout__content .section-container {
130
- border-color: var(--scalar-border-color) !important;
131
- }
132
-
133
- .t-doc__sidebar,
134
- .t-doc__sidebar * {
135
- font-family: var(--scalar-font);
136
- }
137
-
138
- .t-doc__sidebar .sidebar-search {
139
- margin: 0.5rem 0 1rem;
140
- }
141
-
142
- .t-doc__sidebar .sidebar-search input {
143
- border-radius: 14px;
144
- }
145
-
146
- .t-doc__sidebar .sidebar-item,
147
- .t-doc__sidebar .sidebar-heading {
148
- border-radius: 14px;
149
- }
150
-
151
- .t-doc__sidebar .sidebar-group-label {
152
- font-size: 0.72rem;
153
- letter-spacing: 0.08em;
154
- text-transform: uppercase;
155
- color: var(--scalar-color-3);
156
- }
157
-
158
- .t-doc__sidebar .sidebar-item--active {
159
- font-weight: 600;
160
- }
161
-
162
- .scalar-card,
163
- .references-layout .reference-layout__content .request-card,
164
- .references-layout .reference-layout__content .response-card {
165
- border-radius: 18px;
166
- }
167
-
168
- .references-layout .reference-layout__content {
169
- padding-top: 1.5rem;
170
- }
171
-
172
- .references-layout .section-content,
173
- .references-layout .section-flare {
174
- background: transparent;
175
- }
176
-
177
- .references-layout .reference-layout__content,
178
- .references-layout .reference-layout__content * {
179
- font-family: var(--scalar-font);
180
- }
181
-
182
- .references-layout code,
183
- .references-layout pre,
184
- .references-layout .scalar-codeblock {
185
- font-family: var(--scalar-font-code);
186
- }
187
- `;
188
- }
189
- export function buildApiReferenceOpenApiDocument(config, options) {
190
- const routes = buildApiReferenceRoutes(config, options);
191
- const tags = Array.from(new Set(routes.map((route) => route.tag))).map((name) => ({
192
- name,
193
- description: `${name} endpoints`,
194
- }));
195
- return {
196
- openapi: "3.1.0",
197
- info: {
198
- title: "API Reference",
199
- description: config.metadata?.description ?? `Generated API reference for ${options.framework}.`,
200
- version: "0.0.0",
201
- },
202
- servers: [{ url: "/" }],
203
- tags,
204
- paths: buildOpenApiPaths(routes),
205
- };
206
- }
207
- function buildApiReferenceRoutes(config, options) {
208
- const apiReference = resolveApiReferenceConfig(config.apiReference);
209
- if (!apiReference.enabled)
210
- return [];
211
- const rootDir = options.rootDir ?? process.cwd();
212
- switch (options.framework) {
213
- case "next":
214
- return buildFileConventionRoutes({
215
- rootDir,
216
- sourceDir: resolveRootedDir(rootDir, apiReference.routeRoot, getNextAppDir(rootDir)),
217
- routePathBase: toRouteBase(apiReference.routeRoot, getNextAppDir(rootDir)),
218
- isRouteFile: (name) => NEXT_ROUTE_FILE_RE.test(name),
219
- toRouteSegments: (relativeFile) => relativeFile.split("/").slice(0, -1).filter(Boolean),
220
- config,
221
- exclude: apiReference.exclude,
222
- });
223
- case "sveltekit":
224
- return buildFileConventionRoutes({
225
- rootDir,
226
- sourceDir: resolveRootedDir(rootDir, apiReference.routeRoot, "src/routes"),
227
- routePathBase: toRouteBase(apiReference.routeRoot, "src/routes"),
228
- isRouteFile: (name) => SVELTE_ROUTE_FILE_RE.test(name),
229
- toRouteSegments: (relativeFile) => relativeFile.split("/").slice(0, -1).filter(Boolean),
230
- config,
231
- exclude: apiReference.exclude,
232
- });
233
- case "astro":
234
- return buildFileConventionRoutes({
235
- rootDir,
236
- sourceDir: resolveRootedDir(rootDir, apiReference.routeRoot, "src/pages"),
237
- routePathBase: toRouteBase(apiReference.routeRoot, "src/pages"),
238
- isRouteFile: (name) => ASTRO_ROUTE_FILE_RE.test(name),
239
- toRouteSegments: (relativeFile) => routeSegmentsFromEndpointFile(relativeFile),
240
- config,
241
- exclude: apiReference.exclude,
242
- });
243
- case "nuxt":
244
- return buildFileConventionRoutes({
245
- rootDir,
246
- sourceDir: resolveRootedDir(rootDir, apiReference.routeRoot, "server"),
247
- routePathBase: toRouteBase(apiReference.routeRoot, "server"),
248
- isRouteFile: (name) => NUXT_ROUTE_FILE_RE.test(name),
249
- toRouteSegments: (relativeFile) => routeSegmentsFromEndpointFile(stripNuxtMethodSuffix(relativeFile)),
250
- config,
251
- exclude: apiReference.exclude,
252
- getMethods: (source, file) => extractNuxtMethods(source, file),
253
- });
254
- case "tanstack-start":
255
- return buildTanstackRoutes(config, rootDir, apiReference);
256
- }
257
- }
258
- function buildFileConventionRoutes({ rootDir, sourceDir, routePathBase, isRouteFile, toRouteSegments, config, exclude, getMethods = extractMethods, }) {
259
- const files = scanRouteFiles(sourceDir, isRouteFile);
260
- const routes = [];
261
- for (const file of files) {
262
- const source = readFileSync(file, "utf-8");
263
- const methods = getMethods(source, file);
264
- if (methods.length === 0)
265
- continue;
266
- const relativeFile = relative(sourceDir, file).replace(/\\/g, "/");
267
- const routeSegments = toRouteSegments(relativeFile);
268
- const routePath = buildRoutePath(routePathBase, routeSegments);
269
- if (shouldExcludeRoute(exclude, routePath, relativeFile, routeSegments.join("/")))
270
- continue;
271
- routes.push(createApiReferenceRoute({
272
- rootDir,
273
- file,
274
- source,
275
- methods,
276
- routePath,
277
- }));
278
- }
279
- return routes.sort((a, b) => a.routePath.localeCompare(b.routePath));
280
- }
281
- function buildTanstackRoutes(config, rootDir, apiReference) {
282
- const routesDir = join(rootDir, "src", "routes");
283
- const files = scanRouteFiles(routesDir, (name) => TANSTACK_ROUTE_FILE_RE.test(name));
284
- const routeBase = `/${normalizePathSegment(apiReference.routeRoot)}`;
285
- const routes = [];
286
- for (const file of files) {
287
- const source = readFileSync(file, "utf-8");
288
- if (!source.includes("createFileRoute(") || !source.includes("handlers"))
289
- continue;
290
- const pathMatch = source.match(/createFileRoute\(\s*["'`]([^"'`]+)["'`]\s*\)/);
291
- if (!pathMatch)
292
- continue;
293
- const routePath = normalizeTanstackRoutePath(pathMatch[1]);
294
- if (!routePath.startsWith(routeBase))
295
- continue;
296
- const methods = extractTanstackMethods(source);
297
- if (methods.length === 0)
298
- continue;
299
- const relativeFile = relative(routesDir, file).replace(/\\/g, "/");
300
- if (shouldExcludeRoute(apiReference.exclude, routePath, relativeFile, relativeFile))
301
- continue;
302
- routes.push(createApiReferenceRoute({
303
- rootDir,
304
- file,
305
- source,
306
- methods,
307
- routePath,
308
- }));
309
- }
310
- return routes.sort((a, b) => a.routePath.localeCompare(b.routePath));
311
- }
312
- function createApiReferenceRoute({ rootDir, file, source, methods, routePath, }) {
313
- const docBlock = extractDocBlock(source);
314
- const pathSegments = routePath.split("/").filter(Boolean);
315
- const titleSegment = pathSegments[pathSegments.length - 1] ?? "overview";
316
- const tagSegment = pathSegments[0] ?? "general";
317
- const title = humanizeSegment(titleSegment);
318
- return {
319
- title,
320
- summary: docBlock.summary ?? `${title} endpoint`,
321
- description: docBlock.description,
322
- routePath,
323
- sourceFile: relative(rootDir, file).replace(/\\/g, "/"),
324
- methods,
325
- tag: humanizeSegment(tagSegment),
326
- parameters: buildPathParameters(routePath),
327
- };
328
- }
329
- function buildPathParameters(routePath) {
330
- const parameters = [];
331
- for (const segment of routePath.split("/")) {
332
- const match = segment.match(/^\{(.+)\}$/);
333
- if (!match)
334
- continue;
335
- parameters.push({
336
- name: match[1],
337
- in: "path",
338
- required: true,
339
- description: `${humanizeSegment(match[1])} path parameter.`,
340
- schema: {
341
- type: "string",
342
- },
343
- });
344
- }
345
- return parameters;
346
- }
347
- function buildOpenApiPaths(routes) {
348
- const paths = {};
349
- for (const route of routes) {
350
- const pathItem = {};
351
- for (const method of route.methods) {
352
- pathItem[method.toLowerCase()] = {
353
- tags: [route.tag],
354
- summary: route.summary,
355
- description: route.description ?? route.summary,
356
- operationId: createOperationId(route, method),
357
- ...(route.parameters.length > 0 ? { parameters: route.parameters } : {}),
358
- ...(buildRequestBody(method) ? { requestBody: buildRequestBody(method) } : {}),
359
- responses: buildResponses(method),
360
- "x-farming-labs-source": route.sourceFile,
361
- };
362
- }
363
- paths[route.routePath] = pathItem;
364
- }
365
- return paths;
366
- }
367
- function buildRequestBody(method) {
368
- if (!["POST", "PUT", "PATCH"].includes(method))
369
- return undefined;
370
- return {
371
- required: method === "POST",
372
- content: {
373
- "application/json": {
374
- schema: {
375
- type: "object",
376
- additionalProperties: true,
377
- },
378
- example: {
379
- example: true,
380
- },
381
- },
382
- },
383
- };
384
- }
385
- function buildResponses(method) {
386
- return {
387
- "200": {
388
- description: method === "DELETE" ? "Resource removed successfully." : "Request completed successfully.",
389
- content: {
390
- "application/json": {
391
- schema: {
392
- type: "object",
393
- additionalProperties: true,
394
- },
395
- example: {
396
- ok: true,
397
- },
398
- },
399
- },
400
- },
401
- };
402
- }
403
- function createOperationId(route, method) {
404
- return `${method.toLowerCase()}_${route.routePath.replace(/[^a-zA-Z0-9]+/g, "_").replace(/^_+|_+$/g, "")}`;
405
- }
406
- function resolveTheme(config) {
407
- return config.theme;
408
- }
409
- function normalizeApiReferenceExcludes(values) {
410
- return (values ?? []).map(normalizeExcludeMatcher).filter(Boolean);
411
- }
412
- function normalizeExcludeMatcher(value) {
413
- return value
414
- .replace(/\\/g, "/")
415
- .replace(/^\/+|\/+$/g, "")
416
- .replace(/\.(ts|tsx|js|jsx|mjs|mts)$/i, "")
417
- .replace(/\/route$/i, "")
418
- .replace(/\/\+server$/i, "")
419
- .replace(/\/index$/i, "")
420
- .replace(/\.(get|post|put|patch|delete|options|head)$/i, "");
421
- }
422
- function shouldExcludeRoute(excludes, routePath, relativeFile, relativeDir) {
423
- if (excludes.length === 0)
424
- return false;
425
- const candidates = new Set([
426
- normalizeExcludeMatcher(routePath),
427
- normalizeExcludeMatcher(routePath.replace(/^\/+/, "")),
428
- normalizeExcludeMatcher(relativeFile),
429
- normalizeExcludeMatcher(relativeDir),
430
- ]);
431
- return excludes.some((entry) => candidates.has(entry));
432
- }
433
- function scanRouteFiles(dir, isRouteFile) {
434
- if (!existsSync(dir))
435
- return [];
436
- const results = [];
437
- for (const name of readdirSync(dir)) {
438
- const full = join(dir, name);
439
- const stats = statSync(full);
440
- if (stats.isDirectory()) {
441
- results.push(...scanRouteFiles(full, isRouteFile));
442
- continue;
443
- }
444
- if (isRouteFile(name))
445
- results.push(full);
446
- }
447
- return results;
448
- }
449
- function resolveRootedDir(rootDir, routeRoot, defaultRoot) {
450
- const normalized = normalizePathSegment(routeRoot) || "api";
451
- if (normalized === defaultRoot || normalized.startsWith(`${defaultRoot}/`)) {
452
- return join(rootDir, ...normalized.split("/"));
453
- }
454
- return join(rootDir, ...defaultRoot.split("/"), ...normalized.split("/"));
455
- }
456
- function toRouteBase(routeRoot, defaultRoot) {
457
- const normalized = normalizePathSegment(routeRoot) || "api";
458
- const base = normalized === defaultRoot || normalized.startsWith(`${defaultRoot}/`)
459
- ? normalized.slice(defaultRoot.length).replace(/^\/+/, "")
460
- : normalized;
461
- return `/${normalizePathSegment(base)}`;
462
- }
463
- function getNextAppDir(rootDir) {
464
- if (existsSync(join(rootDir, "src", "app")))
465
- return "src/app";
466
- return "app";
467
- }
468
- function routeSegmentsFromEndpointFile(relativeFile) {
469
- const segments = relativeFile.split("/");
470
- const last = segments.pop() ?? "";
471
- const name = last.replace(/\.(ts|js|mts|mjs)$/i, "");
472
- if (name !== "index")
473
- segments.push(name);
474
- return segments.filter(Boolean);
475
- }
476
- function stripNuxtMethodSuffix(relativeFile) {
477
- return relativeFile.replace(/\.(get|post|put|patch|delete|options|head)(?=\.(ts|js|mts|mjs)$)/i, "");
478
- }
479
- function buildRoutePath(basePath, rawSegments) {
480
- const segments = rawSegments
481
- .filter(Boolean)
482
- .map((segment) => endpointSegmentFromConvention(segment))
483
- .join("/");
484
- const normalizedBase = normalizePathSegment(basePath);
485
- const path = [normalizedBase, segments].filter(Boolean).join("/");
486
- return path ? `/${path}` : "/";
487
- }
488
- function endpointSegmentFromConvention(value) {
489
- if (value.startsWith("[[...") && value.endsWith("]]"))
490
- return `{${value.slice(5, -2)}}`;
491
- if (value.startsWith("[...") && value.endsWith("]"))
492
- return `{${value.slice(4, -1)}}`;
493
- if (value.startsWith("[") && value.endsWith("]"))
494
- return `{${value.slice(1, -1)}}`;
495
- return value;
496
- }
497
- function normalizeTanstackRoutePath(value) {
498
- return `/${value
499
- .replace(/^\/+|\/+$/g, "")
500
- .split("/")
501
- .map((segment) => (segment.startsWith("$") ? `{${segment.slice(1)}}` : segment))
502
- .filter(Boolean)
503
- .join("/")}`;
504
- }
505
- function extractDocBlock(source) {
506
- const match = source.match(/\/\*\*([\s\S]*?)\*\//);
507
- if (!match)
508
- return {};
509
- const lines = match[1]
510
- .split("\n")
511
- .map((line) => line.replace(/^\s*\*\s?/, "").trim())
512
- .filter(Boolean)
513
- .filter((line) => !line.startsWith("@"));
514
- if (lines.length === 0)
515
- return {};
516
- return {
517
- summary: lines[0],
518
- description: lines.slice(1).join(" "),
519
- };
520
- }
521
- function extractMethods(source) {
522
- const methods = new Set();
523
- for (const match of source.matchAll(METHOD_RE)) {
524
- if (match[1] === "ALL") {
525
- METHOD_NAMES.forEach((method) => methods.add(method));
526
- continue;
527
- }
528
- methods.add(match[1]);
529
- }
530
- return Array.from(methods);
531
- }
532
- function extractNuxtMethods(source, file) {
533
- const methods = extractMethods(source);
534
- if (methods.length > 0)
535
- return methods;
536
- const suffix = basename(file).match(/\.(get|post|put|patch|delete|options|head)\.(ts|js|mts|mjs)$/i);
537
- if (suffix)
538
- return [suffix[1].toUpperCase()];
539
- if (/defineEventHandler|eventHandler/.test(source))
540
- return ["GET"];
541
- return [];
542
- }
543
- function extractTanstackMethods(source) {
544
- const methods = new Set();
545
- const handlersMatch = source.match(/handlers\s*:\s*\{([\s\S]*?)\}/m);
546
- if (!handlersMatch)
547
- return [];
548
- for (const match of handlersMatch[1].matchAll(/\b(GET|POST|PUT|PATCH|DELETE|OPTIONS|HEAD)\s*:/g)) {
549
- methods.add(match[1]);
550
- }
551
- return Array.from(methods);
552
- }
553
- function humanizeSegment(value) {
554
- const normalized = value
555
- .replace(/^\{/, "")
556
- .replace(/\}$/, "")
557
- .replace(/^\[\[?\.{3}/, "")
558
- .replace(/^\[/, "")
559
- .replace(/\]\]?$/, "")
560
- .replace(/^\$/, "")
561
- .replace(/-/g, " ");
562
- return normalized.replace(/\b\w/g, (char) => char.toUpperCase());
563
- }
564
- //# sourceMappingURL=api-reference.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-reference.js","sourceRoot":"","sources":["../../../../docs/src/api-reference.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- /**
2
- * createTheme — the primary API for building custom docs themes.
3
- *
4
- * Theme authors use this to define a theme preset factory that users can
5
- * call in their `docs.config.ts` with optional overrides.
6
- *
7
- * @example
8
- * ```ts
9
- * // my-theme/index.ts
10
- * import { createTheme } from "@farming-labs/docs";
11
- *
12
- * const defaults = {
13
- * name: "my-dark-theme",
14
- * ui: {
15
- * colors: { primary: "#ff4d8d", background: "#0a0a0a", muted: "#888", border: "#222" },
16
- * typography: { fontFamily: "Inter, sans-serif", monoFontFamily: "Fira Code, monospace" },
17
- * layout: { contentWidth: 860, sidebarWidth: 280, toc: { enabled: true, depth: 3 } },
18
- * components: { Callout: { variant: "outline" } },
19
- * },
20
- * };
21
- *
22
- * // Export a factory function that merges user overrides with defaults
23
- * export const myTheme = createTheme(defaults);
24
- *
25
- * // Users call it like:
26
- * // import { myTheme } from "my-theme";
27
- * // export default defineDocs({ theme: myTheme({ ui: { colors: { primary: "#00ff88" } } }) });
28
- * ```
29
- */
30
- import type { DocsTheme } from "./types.js";
31
- /**
32
- * Create a theme preset factory.
33
- *
34
- * Returns a function that accepts optional overrides and deep-merges them
35
- * with the base theme defaults. This is the same pattern used by the
36
- * built-in `fumadocs()`, `darksharp()`, and `pixelBorder()` presets.
37
- *
38
- * @param baseTheme - The default theme configuration
39
- * @returns A factory function `(overrides?) => DocsTheme`
40
- *
41
- * @example
42
- * ```ts
43
- * import { createTheme } from "@farming-labs/docs";
44
- *
45
- * export const myTheme = createTheme({
46
- * name: "my-theme",
47
- * ui: {
48
- * colors: { primary: "#6366f1" },
49
- * layout: { contentWidth: 800 },
50
- * },
51
- * });
52
- * ```
53
- */
54
- export declare function createTheme(baseTheme: DocsTheme): (overrides?: Partial<DocsTheme>) => DocsTheme;
55
- /**
56
- * Extend an existing theme preset with additional defaults.
57
- *
58
- * Useful when you want to build on top of an existing theme (e.g. fumadocs)
59
- * rather than starting from scratch.
60
- *
61
- * @example
62
- * ```ts
63
- * import { extendTheme } from "@farming-labs/docs";
64
- * import { fumadocs } from "@farming-labs/theme/default";
65
- *
66
- * // Start with fumadocs defaults, override some values
67
- * export const myTheme = extendTheme(fumadocs(), {
68
- * name: "my-custom-fumadocs",
69
- * ui: { colors: { primary: "#22c55e" } },
70
- * });
71
- * ```
72
- */
73
- export declare function extendTheme(baseTheme: DocsTheme, extensions: Partial<DocsTheme>): DocsTheme;
74
- //# sourceMappingURL=create-theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-theme.d.ts","sourceRoot":"","sources":["../../../../docs/src/create-theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,CAe/F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAK3F"}