@sigx/ssg 0.1.6
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/LICENSE +21 -0
- package/README.md +358 -0
- package/dist/build.d.ts +17 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +309 -0
- package/dist/build.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +62 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +28 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +38 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +33 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/dev.d.ts +43 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +71 -0
- package/dist/dev.js.map +1 -0
- package/dist/errors.d.ts +58 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -0
- package/dist/layouts/index.d.ts +7 -0
- package/dist/layouts/index.d.ts.map +1 -0
- package/dist/layouts/resolver.d.ts +49 -0
- package/dist/layouts/resolver.d.ts.map +1 -0
- package/dist/layouts/virtual.d.ts +34 -0
- package/dist/layouts/virtual.d.ts.map +1 -0
- package/dist/mdx/frontmatter.d.ts +42 -0
- package/dist/mdx/frontmatter.d.ts.map +1 -0
- package/dist/mdx/index.d.ts +9 -0
- package/dist/mdx/index.d.ts.map +1 -0
- package/dist/mdx/plugin.d.ts +32 -0
- package/dist/mdx/plugin.d.ts.map +1 -0
- package/dist/mdx/rehype-headings.d.ts +39 -0
- package/dist/mdx/rehype-headings.d.ts.map +1 -0
- package/dist/mdx/shiki.d.ts +32 -0
- package/dist/mdx/shiki.d.ts.map +1 -0
- package/dist/plugin-DxH1VUGC.js +547 -0
- package/dist/plugin-DxH1VUGC.js.map +1 -0
- package/dist/routing/index.d.ts +12 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/navigation.d.ts +44 -0
- package/dist/routing/navigation.d.ts.map +1 -0
- package/dist/routing/resolver.d.ts +66 -0
- package/dist/routing/resolver.d.ts.map +1 -0
- package/dist/routing/scanner.d.ts +60 -0
- package/dist/routing/scanner.d.ts.map +1 -0
- package/dist/routing/virtual-navigation.d.ts +39 -0
- package/dist/routing/virtual-navigation.d.ts.map +1 -0
- package/dist/routing/virtual.d.ts +28 -0
- package/dist/routing/virtual.d.ts.map +1 -0
- package/dist/sitemap.d.ts +55 -0
- package/dist/sitemap.d.ts.map +1 -0
- package/dist/types.d.ts +562 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/virtual-entries-Bz97SKQ0.js +1053 -0
- package/dist/virtual-entries-Bz97SKQ0.js.map +1 -0
- package/dist/vite/index.d.ts +6 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/plugin.d.ts +35 -0
- package/dist/vite/plugin.d.ts.map +1 -0
- package/dist/vite/plugin.js +3 -0
- package/dist/vite/virtual-entries.d.ts +59 -0
- package/dist/vite/virtual-entries.d.ts.map +1 -0
- package/package.json +92 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,562 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @sigx/ssg - Static Site Generator for SignalX
|
|
3
|
+
*
|
|
4
|
+
* Core types and interfaces for the SSG system
|
|
5
|
+
*/
|
|
6
|
+
import type { ComponentFactory } from 'sigx';
|
|
7
|
+
/**
|
|
8
|
+
* SSG Configuration options
|
|
9
|
+
*/
|
|
10
|
+
export interface SSGConfig {
|
|
11
|
+
/**
|
|
12
|
+
* Directory containing page files (relative to project root)
|
|
13
|
+
* @default 'src/pages'
|
|
14
|
+
*/
|
|
15
|
+
pages?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Directory containing layout files (relative to project root)
|
|
18
|
+
* @default 'src/layouts'
|
|
19
|
+
*/
|
|
20
|
+
layouts?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Directory containing content files (relative to project root)
|
|
23
|
+
* @default 'src/content'
|
|
24
|
+
*/
|
|
25
|
+
content?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Theme package to use (e.g., '@sigx/ssg-theme-daisyui')
|
|
28
|
+
* Theme provides default layouts and components
|
|
29
|
+
*/
|
|
30
|
+
theme?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Default layout to use when page doesn't specify one
|
|
33
|
+
* @default 'default'
|
|
34
|
+
*/
|
|
35
|
+
defaultLayout?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Output directory for generated static files
|
|
38
|
+
* @default 'dist'
|
|
39
|
+
*/
|
|
40
|
+
outDir?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Base URL for the site (e.g., '/docs/')
|
|
43
|
+
* @default '/'
|
|
44
|
+
*/
|
|
45
|
+
base?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Site-wide metadata
|
|
48
|
+
*/
|
|
49
|
+
site?: SiteConfig;
|
|
50
|
+
/**
|
|
51
|
+
* Markdown/MDX configuration
|
|
52
|
+
*/
|
|
53
|
+
markdown?: MarkdownConfig;
|
|
54
|
+
/**
|
|
55
|
+
* Vite configuration overrides
|
|
56
|
+
*/
|
|
57
|
+
vite?: Record<string, unknown>;
|
|
58
|
+
/**
|
|
59
|
+
* Whether to auto-generate entry points when not found
|
|
60
|
+
* @default true
|
|
61
|
+
*/
|
|
62
|
+
autoEntries?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Custom client entry path (overrides virtual entry detection)
|
|
65
|
+
* Relative to project root
|
|
66
|
+
*/
|
|
67
|
+
clientEntry?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Additional imports to add to the virtual client entry
|
|
70
|
+
* Useful for adding side-effect-only imports like '@sigx/live-code/client'
|
|
71
|
+
* @example ['@sigx/live-code/client', './my-global-setup']
|
|
72
|
+
*/
|
|
73
|
+
clientImports?: string[];
|
|
74
|
+
/**
|
|
75
|
+
* Custom server entry path (overrides virtual entry detection)
|
|
76
|
+
* Relative to project root
|
|
77
|
+
*/
|
|
78
|
+
serverEntry?: string;
|
|
79
|
+
/**
|
|
80
|
+
* HTML template path, or false to auto-generate
|
|
81
|
+
* Relative to project root
|
|
82
|
+
* @default 'index.html' if exists, otherwise auto-generated
|
|
83
|
+
*/
|
|
84
|
+
htmlTemplate?: string | false;
|
|
85
|
+
/**
|
|
86
|
+
* Whether to auto-setup link prefetching
|
|
87
|
+
* @default true
|
|
88
|
+
*/
|
|
89
|
+
prefetch?: boolean | {
|
|
90
|
+
delay?: number;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Collections configuration for multi-collection support.
|
|
94
|
+
* Each collection has its own path prefix and generates its own sidebar navigation.
|
|
95
|
+
* @example
|
|
96
|
+
* collections: {
|
|
97
|
+
* docs: { path: '/docs' },
|
|
98
|
+
* examples: { path: '/examples', layout: 'examples' }
|
|
99
|
+
* }
|
|
100
|
+
*/
|
|
101
|
+
collections?: Record<string, CollectionConfig>;
|
|
102
|
+
/**
|
|
103
|
+
* Navigation configuration for auto-generated sidebars
|
|
104
|
+
*/
|
|
105
|
+
navigation?: NavigationConfig;
|
|
106
|
+
/**
|
|
107
|
+
* Table of Contents (TOC) configuration
|
|
108
|
+
*/
|
|
109
|
+
toc?: TOCConfig;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Table of Contents configuration
|
|
113
|
+
*/
|
|
114
|
+
export interface TOCConfig {
|
|
115
|
+
/**
|
|
116
|
+
* Minimum heading level to include (1-6)
|
|
117
|
+
* @default 2
|
|
118
|
+
*/
|
|
119
|
+
minLevel?: number;
|
|
120
|
+
/**
|
|
121
|
+
* Maximum heading level to include (1-6)
|
|
122
|
+
* @default 3
|
|
123
|
+
*/
|
|
124
|
+
maxLevel?: number;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Heading extracted from page content
|
|
128
|
+
*/
|
|
129
|
+
export interface TocHeading {
|
|
130
|
+
/** Heading ID (used for anchor links) */
|
|
131
|
+
id: string;
|
|
132
|
+
/** Heading text content */
|
|
133
|
+
text: string;
|
|
134
|
+
/** Heading level (1-6) */
|
|
135
|
+
level: number;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Collection configuration for multi-collection support
|
|
139
|
+
* Each collection generates its own sidebar navigation
|
|
140
|
+
*/
|
|
141
|
+
export interface CollectionConfig {
|
|
142
|
+
/**
|
|
143
|
+
* URL path prefix for this collection (e.g., '/docs', '/examples')
|
|
144
|
+
* Pages under this path will be included in this collection's navigation.
|
|
145
|
+
*/
|
|
146
|
+
path: string;
|
|
147
|
+
/**
|
|
148
|
+
* Default layout to use for pages in this collection
|
|
149
|
+
*/
|
|
150
|
+
layout?: string;
|
|
151
|
+
/**
|
|
152
|
+
* Whether to show draft pages in the sidebar
|
|
153
|
+
* - 'dev': Show drafts only in development mode
|
|
154
|
+
* - 'never': Never show drafts in sidebar
|
|
155
|
+
* @default 'dev'
|
|
156
|
+
*/
|
|
157
|
+
showDrafts?: 'dev' | 'never';
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Navigation configuration options
|
|
161
|
+
*/
|
|
162
|
+
export interface NavigationConfig {
|
|
163
|
+
/**
|
|
164
|
+
* Explicit sidebar navigation structure.
|
|
165
|
+
* If provided and autoGenerate is false, this will be used instead of auto-generation.
|
|
166
|
+
*/
|
|
167
|
+
sidebar?: NavSection[];
|
|
168
|
+
/**
|
|
169
|
+
* Whether to auto-generate sidebar navigation from pages
|
|
170
|
+
* @default true
|
|
171
|
+
*/
|
|
172
|
+
autoGenerate?: boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Whether to show draft pages in the sidebar
|
|
175
|
+
* - 'dev': Show drafts only in development mode
|
|
176
|
+
* - 'never': Never show drafts in sidebar
|
|
177
|
+
* @default 'dev'
|
|
178
|
+
*/
|
|
179
|
+
showDrafts?: 'dev' | 'never';
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Navigation section (category group)
|
|
183
|
+
*/
|
|
184
|
+
export interface NavSection {
|
|
185
|
+
/**
|
|
186
|
+
* Section title displayed in the sidebar
|
|
187
|
+
*/
|
|
188
|
+
title: string;
|
|
189
|
+
/**
|
|
190
|
+
* Items in this section
|
|
191
|
+
*/
|
|
192
|
+
items: NavItem[];
|
|
193
|
+
/**
|
|
194
|
+
* Sort order for this section (lower numbers come first)
|
|
195
|
+
* @default 0
|
|
196
|
+
*/
|
|
197
|
+
order?: number;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Navigation item (page link or nested group)
|
|
201
|
+
*/
|
|
202
|
+
export interface NavItem {
|
|
203
|
+
/**
|
|
204
|
+
* Display title for the navigation item
|
|
205
|
+
*/
|
|
206
|
+
title: string;
|
|
207
|
+
/**
|
|
208
|
+
* URL path for the link (optional if this is a group)
|
|
209
|
+
*/
|
|
210
|
+
href?: string;
|
|
211
|
+
/**
|
|
212
|
+
* Nested items for sub-navigation
|
|
213
|
+
*/
|
|
214
|
+
items?: NavItem[];
|
|
215
|
+
/**
|
|
216
|
+
* Sort order within parent (lower numbers come first)
|
|
217
|
+
* @default 0
|
|
218
|
+
*/
|
|
219
|
+
order?: number;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Site-wide configuration
|
|
223
|
+
*/
|
|
224
|
+
export interface SiteConfig {
|
|
225
|
+
/** Site title */
|
|
226
|
+
title?: string;
|
|
227
|
+
/** Site description for meta tags */
|
|
228
|
+
description?: string;
|
|
229
|
+
/** Site author */
|
|
230
|
+
author?: string;
|
|
231
|
+
/** Base URL of the site (used for canonical URLs and OG tags) */
|
|
232
|
+
url?: string;
|
|
233
|
+
/** Site language code */
|
|
234
|
+
lang?: string;
|
|
235
|
+
/** Path to favicon */
|
|
236
|
+
favicon?: string;
|
|
237
|
+
/** Open Graph image URL for social sharing */
|
|
238
|
+
ogImage?: string;
|
|
239
|
+
/** Twitter/X handle (without @) */
|
|
240
|
+
twitter?: string;
|
|
241
|
+
/** Google Fonts to preload (e.g., ['Inter:wght@400;500;600;700', 'JetBrains+Mono:wght@400;500']) */
|
|
242
|
+
fonts?: string[];
|
|
243
|
+
/** Theme color for mobile browsers */
|
|
244
|
+
themeColor?: string;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Markdown processing configuration
|
|
248
|
+
*/
|
|
249
|
+
export interface MarkdownConfig {
|
|
250
|
+
/**
|
|
251
|
+
* Enable syntax highlighting with Shiki
|
|
252
|
+
* @default true
|
|
253
|
+
*/
|
|
254
|
+
shiki?: boolean | ShikiConfig;
|
|
255
|
+
/**
|
|
256
|
+
* Custom remark plugins
|
|
257
|
+
*/
|
|
258
|
+
remarkPlugins?: unknown[];
|
|
259
|
+
/**
|
|
260
|
+
* Custom rehype plugins
|
|
261
|
+
*/
|
|
262
|
+
rehypePlugins?: unknown[];
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Shiki syntax highlighting configuration
|
|
266
|
+
*/
|
|
267
|
+
export interface ShikiConfig {
|
|
268
|
+
/**
|
|
269
|
+
* Theme for light mode
|
|
270
|
+
* @default 'github-light'
|
|
271
|
+
*/
|
|
272
|
+
light?: string;
|
|
273
|
+
/**
|
|
274
|
+
* Theme for dark mode
|
|
275
|
+
* @default 'github-dark'
|
|
276
|
+
*/
|
|
277
|
+
dark?: string;
|
|
278
|
+
/**
|
|
279
|
+
* Additional languages to load
|
|
280
|
+
*/
|
|
281
|
+
langs?: string[];
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Route record for SSG
|
|
285
|
+
*/
|
|
286
|
+
export interface SSGRoute {
|
|
287
|
+
/**
|
|
288
|
+
* URL path pattern (e.g., '/blog/:slug')
|
|
289
|
+
*/
|
|
290
|
+
path: string;
|
|
291
|
+
/**
|
|
292
|
+
* Absolute file path to the page component
|
|
293
|
+
*/
|
|
294
|
+
file: string;
|
|
295
|
+
/**
|
|
296
|
+
* Route name derived from file path
|
|
297
|
+
*/
|
|
298
|
+
name: string;
|
|
299
|
+
/**
|
|
300
|
+
* Layout to use for this route
|
|
301
|
+
*/
|
|
302
|
+
layout?: string;
|
|
303
|
+
/**
|
|
304
|
+
* Page component factory
|
|
305
|
+
*/
|
|
306
|
+
component?: ComponentFactory<any, any, any>;
|
|
307
|
+
/**
|
|
308
|
+
* Frontmatter metadata from the page
|
|
309
|
+
*/
|
|
310
|
+
meta?: PageMeta;
|
|
311
|
+
/**
|
|
312
|
+
* Child routes for nested layouts
|
|
313
|
+
*/
|
|
314
|
+
children?: SSGRoute[];
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Resolved static path for dynamic routes
|
|
318
|
+
*/
|
|
319
|
+
export interface StaticPath {
|
|
320
|
+
/**
|
|
321
|
+
* Route parameters
|
|
322
|
+
*/
|
|
323
|
+
params: Record<string, string>;
|
|
324
|
+
/**
|
|
325
|
+
* Optional props to pass to the page
|
|
326
|
+
*/
|
|
327
|
+
props?: Record<string, unknown>;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Function to generate static paths for dynamic routes
|
|
331
|
+
*/
|
|
332
|
+
export type GetStaticPaths = () => StaticPath[] | Promise<StaticPath[]>;
|
|
333
|
+
/**
|
|
334
|
+
* Page frontmatter metadata
|
|
335
|
+
*/
|
|
336
|
+
export interface PageMeta {
|
|
337
|
+
/**
|
|
338
|
+
* Page title
|
|
339
|
+
*/
|
|
340
|
+
title?: string;
|
|
341
|
+
/**
|
|
342
|
+
* Page description
|
|
343
|
+
*/
|
|
344
|
+
description?: string;
|
|
345
|
+
/**
|
|
346
|
+
* Layout to use
|
|
347
|
+
*/
|
|
348
|
+
layout?: string;
|
|
349
|
+
/**
|
|
350
|
+
* Draft pages are excluded from production builds
|
|
351
|
+
*/
|
|
352
|
+
draft?: boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Custom date for sorting
|
|
355
|
+
*/
|
|
356
|
+
date?: string | Date;
|
|
357
|
+
/**
|
|
358
|
+
* Tags for categorization
|
|
359
|
+
*/
|
|
360
|
+
tags?: string[];
|
|
361
|
+
/**
|
|
362
|
+
* Exclude from SSG (render as SPA page)
|
|
363
|
+
*/
|
|
364
|
+
ssr?: boolean;
|
|
365
|
+
/**
|
|
366
|
+
* Category for sidebar navigation grouping.
|
|
367
|
+
* Can be a string for single-level grouping or an array for nested categories.
|
|
368
|
+
* @example 'Getting Started'
|
|
369
|
+
* @example ['Core', 'Signals']
|
|
370
|
+
*/
|
|
371
|
+
category?: string | string[];
|
|
372
|
+
/**
|
|
373
|
+
* Sort order within the category (lower numbers come first)
|
|
374
|
+
* @default 0
|
|
375
|
+
*/
|
|
376
|
+
order?: number;
|
|
377
|
+
/**
|
|
378
|
+
* Whether to include this page in the sidebar navigation
|
|
379
|
+
* @default true
|
|
380
|
+
*/
|
|
381
|
+
sidebar?: boolean;
|
|
382
|
+
/**
|
|
383
|
+
* Disable table of contents for this page
|
|
384
|
+
* @default false
|
|
385
|
+
*/
|
|
386
|
+
toc?: boolean | {
|
|
387
|
+
minLevel?: number;
|
|
388
|
+
maxLevel?: number;
|
|
389
|
+
};
|
|
390
|
+
/**
|
|
391
|
+
* Extracted headings for table of contents (auto-generated at build time)
|
|
392
|
+
*/
|
|
393
|
+
headings?: TocHeading[];
|
|
394
|
+
/**
|
|
395
|
+
* Additional custom metadata
|
|
396
|
+
*/
|
|
397
|
+
[key: string]: unknown;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Page module exports
|
|
401
|
+
*/
|
|
402
|
+
export interface PageModule {
|
|
403
|
+
/**
|
|
404
|
+
* Default export is the page component
|
|
405
|
+
*/
|
|
406
|
+
default: ComponentFactory<any, any, any>;
|
|
407
|
+
/**
|
|
408
|
+
* Optional static paths for dynamic routes
|
|
409
|
+
*/
|
|
410
|
+
getStaticPaths?: GetStaticPaths;
|
|
411
|
+
/**
|
|
412
|
+
* Optional layout override
|
|
413
|
+
*/
|
|
414
|
+
layout?: string;
|
|
415
|
+
/**
|
|
416
|
+
* Frontmatter from MDX files
|
|
417
|
+
*/
|
|
418
|
+
frontmatter?: PageMeta;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Layout module exports
|
|
422
|
+
*/
|
|
423
|
+
export interface LayoutModule {
|
|
424
|
+
/**
|
|
425
|
+
* Default export is the layout component
|
|
426
|
+
*/
|
|
427
|
+
default: ComponentFactory<LayoutProps, unknown, LayoutSlots>;
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Props passed to layout components
|
|
431
|
+
*/
|
|
432
|
+
export interface LayoutProps {
|
|
433
|
+
/**
|
|
434
|
+
* Current page metadata
|
|
435
|
+
*/
|
|
436
|
+
meta?: PageMeta;
|
|
437
|
+
/**
|
|
438
|
+
* Current route path
|
|
439
|
+
*/
|
|
440
|
+
path?: string;
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Slots available in layouts
|
|
444
|
+
*/
|
|
445
|
+
export interface LayoutSlots {
|
|
446
|
+
/**
|
|
447
|
+
* Default slot contains the page content
|
|
448
|
+
*/
|
|
449
|
+
default: () => unknown;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Theme package exports
|
|
453
|
+
*/
|
|
454
|
+
export interface ThemeModule {
|
|
455
|
+
/**
|
|
456
|
+
* Theme layouts (key is layout name)
|
|
457
|
+
*/
|
|
458
|
+
layouts?: Record<string, ComponentFactory<LayoutProps, unknown, LayoutSlots>>;
|
|
459
|
+
/**
|
|
460
|
+
* Theme components available globally
|
|
461
|
+
*/
|
|
462
|
+
components?: Record<string, ComponentFactory<any, any, any>>;
|
|
463
|
+
/**
|
|
464
|
+
* Theme configuration
|
|
465
|
+
*/
|
|
466
|
+
config?: ThemeConfig;
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Theme configuration options
|
|
470
|
+
*/
|
|
471
|
+
export interface ThemeConfig {
|
|
472
|
+
/**
|
|
473
|
+
* Default layout from this theme
|
|
474
|
+
*/
|
|
475
|
+
defaultLayout?: string;
|
|
476
|
+
/**
|
|
477
|
+
* CSS files to include
|
|
478
|
+
*/
|
|
479
|
+
css?: string[];
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Build options passed to ssg build command
|
|
483
|
+
*/
|
|
484
|
+
export interface BuildOptions {
|
|
485
|
+
/**
|
|
486
|
+
* Path to ssg.config.ts
|
|
487
|
+
*/
|
|
488
|
+
configPath?: string;
|
|
489
|
+
/**
|
|
490
|
+
* Enable verbose logging
|
|
491
|
+
*/
|
|
492
|
+
verbose?: boolean;
|
|
493
|
+
/**
|
|
494
|
+
* Number of pages to render in parallel
|
|
495
|
+
* @default 10
|
|
496
|
+
*/
|
|
497
|
+
concurrency?: number;
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* Build result for a single page
|
|
501
|
+
*/
|
|
502
|
+
export interface PageBuildResult {
|
|
503
|
+
/**
|
|
504
|
+
* URL path
|
|
505
|
+
*/
|
|
506
|
+
path: string;
|
|
507
|
+
/**
|
|
508
|
+
* Output file path
|
|
509
|
+
*/
|
|
510
|
+
file: string;
|
|
511
|
+
/**
|
|
512
|
+
* Generation time in ms
|
|
513
|
+
*/
|
|
514
|
+
time: number;
|
|
515
|
+
/**
|
|
516
|
+
* HTML size in bytes
|
|
517
|
+
*/
|
|
518
|
+
size: number;
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Complete build result
|
|
522
|
+
*/
|
|
523
|
+
export interface BuildResult {
|
|
524
|
+
/**
|
|
525
|
+
* All generated pages
|
|
526
|
+
*/
|
|
527
|
+
pages: PageBuildResult[];
|
|
528
|
+
/**
|
|
529
|
+
* Total build time in ms
|
|
530
|
+
*/
|
|
531
|
+
totalTime: number;
|
|
532
|
+
/**
|
|
533
|
+
* Any warnings during build
|
|
534
|
+
*/
|
|
535
|
+
warnings: string[];
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* SSG context available in pages
|
|
539
|
+
*/
|
|
540
|
+
export interface SSGContext {
|
|
541
|
+
/**
|
|
542
|
+
* Site configuration
|
|
543
|
+
*/
|
|
544
|
+
site: SiteConfig;
|
|
545
|
+
/**
|
|
546
|
+
* Current page metadata
|
|
547
|
+
*/
|
|
548
|
+
page: PageMeta;
|
|
549
|
+
/**
|
|
550
|
+
* Current route parameters
|
|
551
|
+
*/
|
|
552
|
+
params: Record<string, string>;
|
|
553
|
+
/**
|
|
554
|
+
* Check if running in dev mode
|
|
555
|
+
*/
|
|
556
|
+
isDev: boolean;
|
|
557
|
+
/**
|
|
558
|
+
* Base URL
|
|
559
|
+
*/
|
|
560
|
+
base: string;
|
|
561
|
+
}
|
|
562
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|