@stati/core 1.11.6 → 1.12.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/README.md +7 -0
- package/dist/core/dev.d.ts.map +1 -1
- package/dist/core/dev.js +15 -12
- package/dist/core/preview.d.ts.map +1 -1
- package/dist/core/preview.js +15 -13
- package/dist/core/utils/index.d.ts +3 -2
- package/dist/core/utils/index.d.ts.map +1 -1
- package/dist/core/utils/index.js +3 -1
- package/dist/core/utils/logger.utils.d.ts +9 -0
- package/dist/core/utils/logger.utils.d.ts.map +1 -0
- package/dist/core/utils/logger.utils.js +19 -0
- package/dist/core/utils/server.utils.d.ts +42 -0
- package/dist/core/utils/server.utils.d.ts.map +1 -1
- package/dist/core/utils/server.utils.js +15 -0
- package/dist/types/config.d.ts +9 -0
- package/dist/types/config.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/core/dev.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/core/dev.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAe,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/core/dev.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAe,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAqB7D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AA4SD,wBAAsB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAyXxF"}
|
package/dist/core/dev.js
CHANGED
|
@@ -10,7 +10,7 @@ import { loadConfig } from '../config/loader.js';
|
|
|
10
10
|
import { loadCacheManifest, saveCacheManifest, computeNavigationHash } from './isg/index.js';
|
|
11
11
|
import { loadContent } from './content.js';
|
|
12
12
|
import { buildNavigation } from './navigation.js';
|
|
13
|
-
import { resolveDevPaths, resolveCacheDir, resolvePrettyUrl, createErrorOverlay, parseErrorDetails, TemplateError, } from './utils/index.js';
|
|
13
|
+
import { resolveDevPaths, resolveCacheDir, resolvePrettyUrl, createErrorOverlay, parseErrorDetails, TemplateError, createFallbackLogger, mergeServerOptions, } from './utils/index.js';
|
|
14
14
|
import { setEnv, getEnv } from '../env.js';
|
|
15
15
|
import { DEFAULT_DEV_PORT, DEFAULT_DEV_HOST, TEMPLATE_EXTENSION } from '../constants.js';
|
|
16
16
|
/**
|
|
@@ -267,15 +267,20 @@ async function handleMarkdownChange(_markdownPath, configPath, logger) {
|
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
export async function createDevServer(options = {}) {
|
|
270
|
-
const
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
270
|
+
const logger = options.logger ?? createFallbackLogger();
|
|
271
|
+
const { configPath } = options;
|
|
272
|
+
// Load configuration first to get defaults from config file
|
|
273
|
+
const { config, outDir, srcDir, staticDir } = await loadDevConfig(configPath, logger);
|
|
274
|
+
// Merge config values with options (options take precedence)
|
|
275
|
+
const { port, host, open } = mergeServerOptions({
|
|
276
|
+
options,
|
|
277
|
+
config: config.dev,
|
|
278
|
+
defaults: {
|
|
279
|
+
port: DEFAULT_DEV_PORT,
|
|
280
|
+
host: DEFAULT_DEV_HOST,
|
|
281
|
+
open: false,
|
|
282
|
+
},
|
|
283
|
+
});
|
|
279
284
|
setEnv('development');
|
|
280
285
|
const url = `http://${host}:${port}`;
|
|
281
286
|
let httpServer = null;
|
|
@@ -288,8 +293,6 @@ export async function createDevServer(options = {}) {
|
|
|
288
293
|
};
|
|
289
294
|
let watcher = null;
|
|
290
295
|
const isBuildingRef = { value: false };
|
|
291
|
-
// Load configuration
|
|
292
|
-
const { config: _config, outDir, srcDir, staticDir } = await loadDevConfig(configPath, logger);
|
|
293
296
|
/**
|
|
294
297
|
* Gets MIME type for a file based on its extension
|
|
295
298
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/core/preview.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/core/preview.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,mBAAmB,CAAC;AAU7D,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAyBD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,aAAa,CAAC,CAwJxB"}
|
package/dist/core/preview.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createServer } from 'http';
|
|
|
2
2
|
import { join, extname } from 'path';
|
|
3
3
|
import { readFile } from 'fs/promises';
|
|
4
4
|
import { loadConfig } from '../config/loader.js';
|
|
5
|
-
import { resolveDevPaths, resolvePrettyUrl } from './utils/index.js';
|
|
5
|
+
import { resolveDevPaths, resolvePrettyUrl, createFallbackLogger, mergeServerOptions, } from './utils/index.js';
|
|
6
6
|
import { DEFAULT_PREVIEW_PORT, DEFAULT_DEV_HOST } from '../constants.js';
|
|
7
7
|
/**
|
|
8
8
|
* Loads and validates configuration for the preview server.
|
|
@@ -14,7 +14,7 @@ async function loadPreviewConfig(configPath, logger) {
|
|
|
14
14
|
}
|
|
15
15
|
const config = await loadConfig(process.cwd());
|
|
16
16
|
const { outDir } = resolveDevPaths(config);
|
|
17
|
-
return { outDir };
|
|
17
|
+
return { outDir, config };
|
|
18
18
|
}
|
|
19
19
|
catch (error) {
|
|
20
20
|
logger.error?.(`Failed to load config: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -26,19 +26,21 @@ async function loadPreviewConfig(configPath, logger) {
|
|
|
26
26
|
* without live reload functionality, perfect for previewing the production build.
|
|
27
27
|
*/
|
|
28
28
|
export async function createPreviewServer(options = {}) {
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
const logger = options.logger ?? createFallbackLogger();
|
|
30
|
+
// Load configuration first to get defaults from config file
|
|
31
|
+
const { outDir, config } = await loadPreviewConfig(options.configPath, logger);
|
|
32
|
+
// Merge config values with options (options take precedence)
|
|
33
|
+
const { port, host, open } = mergeServerOptions({
|
|
34
|
+
options,
|
|
35
|
+
config: config.preview,
|
|
36
|
+
defaults: {
|
|
37
|
+
port: DEFAULT_PREVIEW_PORT,
|
|
38
|
+
host: DEFAULT_DEV_HOST,
|
|
39
|
+
open: false,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
38
42
|
const url = `http://${host}:${port}`;
|
|
39
43
|
let httpServer = null;
|
|
40
|
-
// Load configuration
|
|
41
|
-
const { outDir } = await loadPreviewConfig(configPath, logger);
|
|
42
44
|
/**
|
|
43
45
|
* Gets MIME type for a file based on its extension
|
|
44
46
|
*/
|
|
@@ -12,10 +12,11 @@ export { makeCallablePartial, wrapPartialsAsCallable } from './callable-partials
|
|
|
12
12
|
export type { CallablePartial } from './callable-partials.utils.js';
|
|
13
13
|
export { TemplateError, parseEtaError, createTemplateError } from './template-errors.utils.js';
|
|
14
14
|
export { createNavigationHelpers } from './navigation-helpers.utils.js';
|
|
15
|
-
export { resolvePrettyUrl } from './server.utils.js';
|
|
16
|
-
export type { PrettyUrlResult } from './server.utils.js';
|
|
15
|
+
export { resolvePrettyUrl, mergeServerOptions } from './server.utils.js';
|
|
16
|
+
export type { PrettyUrlResult, MergedServerOptions, MergeServerOptionsParams, } from './server.utils.js';
|
|
17
17
|
export { createErrorOverlay, parseErrorDetails } from './error-overlay.utils.js';
|
|
18
18
|
export type { ErrorDetails } from './error-overlay.utils.js';
|
|
19
19
|
export { getStatiVersion } from './version.utils.js';
|
|
20
20
|
export { globToRegex, matchesGlob } from './glob-patterns.utils.js';
|
|
21
|
+
export { createFallbackLogger } from './logger.utils.js';
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,GACL,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,cAAc,EACd,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAG9E,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAG/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,GACL,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,cAAc,EACd,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAG9E,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAG/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACjF,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/core/utils/index.js
CHANGED
|
@@ -21,10 +21,12 @@ export { TemplateError, parseEtaError, createTemplateError } from './template-er
|
|
|
21
21
|
// Navigation helper utilities
|
|
22
22
|
export { createNavigationHelpers } from './navigation-helpers.utils.js';
|
|
23
23
|
// Server utilities
|
|
24
|
-
export { resolvePrettyUrl } from './server.utils.js';
|
|
24
|
+
export { resolvePrettyUrl, mergeServerOptions } from './server.utils.js';
|
|
25
25
|
// Error overlay utilities
|
|
26
26
|
export { createErrorOverlay, parseErrorDetails } from './error-overlay.utils.js';
|
|
27
27
|
// Version utilities
|
|
28
28
|
export { getStatiVersion } from './version.utils.js';
|
|
29
29
|
// Glob pattern utilities
|
|
30
30
|
export { globToRegex, matchesGlob } from './glob-patterns.utils.js';
|
|
31
|
+
// Logger utilities
|
|
32
|
+
export { createFallbackLogger } from './logger.utils.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Logger } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a minimal fallback logger that uses console methods.
|
|
4
|
+
* Used when no logger is provided to ensure basic logging functionality.
|
|
5
|
+
*
|
|
6
|
+
* @returns A Logger instance with basic console-based logging
|
|
7
|
+
*/
|
|
8
|
+
export declare function createFallbackLogger(): Logger;
|
|
9
|
+
//# sourceMappingURL=logger.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.utils.d.ts","sourceRoot":"","sources":["../../../src/core/utils/logger.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAY7C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a minimal fallback logger that uses console methods.
|
|
3
|
+
* Used when no logger is provided to ensure basic logging functionality.
|
|
4
|
+
*
|
|
5
|
+
* @returns A Logger instance with basic console-based logging
|
|
6
|
+
*/
|
|
7
|
+
export function createFallbackLogger() {
|
|
8
|
+
/* eslint-disable no-console */
|
|
9
|
+
return {
|
|
10
|
+
info: (msg) => console.log(msg),
|
|
11
|
+
success: (msg) => console.log(msg),
|
|
12
|
+
error: (msg) => console.error(msg),
|
|
13
|
+
warning: (msg) => console.warn(msg),
|
|
14
|
+
building: (msg) => console.log(msg),
|
|
15
|
+
processing: (msg) => console.log(msg),
|
|
16
|
+
stats: (msg) => console.log(msg),
|
|
17
|
+
};
|
|
18
|
+
/* eslint-enable no-console */
|
|
19
|
+
}
|
|
@@ -20,4 +20,46 @@ export interface PrettyUrlResult {
|
|
|
20
20
|
* @returns Promise resolving to the file path to serve or null if not found
|
|
21
21
|
*/
|
|
22
22
|
export declare function resolvePrettyUrl(outDir: string, requestPath: string, originalFilePath: string): Promise<PrettyUrlResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Options for merging server configuration
|
|
25
|
+
*/
|
|
26
|
+
export interface MergeServerOptionsParams<T> {
|
|
27
|
+
/** Options passed programmatically */
|
|
28
|
+
options: T;
|
|
29
|
+
/** Configuration object from config file */
|
|
30
|
+
config: {
|
|
31
|
+
port?: number;
|
|
32
|
+
host?: string;
|
|
33
|
+
open?: boolean;
|
|
34
|
+
} | undefined;
|
|
35
|
+
/** Default values to use when neither options nor config provide a value */
|
|
36
|
+
defaults: {
|
|
37
|
+
port: number;
|
|
38
|
+
host: string;
|
|
39
|
+
open: boolean;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Result of merging server options
|
|
44
|
+
*/
|
|
45
|
+
export interface MergedServerOptions {
|
|
46
|
+
/** Merged port value */
|
|
47
|
+
port: number;
|
|
48
|
+
/** Merged host value */
|
|
49
|
+
host: string;
|
|
50
|
+
/** Merged open browser value */
|
|
51
|
+
open: boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Merges server options with config file values and defaults.
|
|
55
|
+
* Programmatic options take precedence over config file, which takes precedence over defaults.
|
|
56
|
+
*
|
|
57
|
+
* @param params - The merge parameters
|
|
58
|
+
* @returns Merged server options
|
|
59
|
+
*/
|
|
60
|
+
export declare function mergeServerOptions<T extends {
|
|
61
|
+
port?: number;
|
|
62
|
+
host?: string;
|
|
63
|
+
open?: boolean;
|
|
64
|
+
}>(params: MergeServerOptionsParams<T>): MergedServerOptions;
|
|
23
65
|
//# sourceMappingURL=server.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.utils.d.ts","sourceRoot":"","sources":["../../../src/core/utils/server.utils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iCAAiC;IACjC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,eAAe,CAAC,CA2D1B"}
|
|
1
|
+
{"version":3,"file":"server.utils.d.ts","sourceRoot":"","sources":["../../../src/core/utils/server.utils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iCAAiC;IACjC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,eAAe,CAAC,CA2D1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,sCAAsC;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,4CAA4C;IAC5C,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACrE,4EAA4E;IAC5E,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC3F,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAClC,mBAAmB,CAQrB"}
|
|
@@ -72,3 +72,18 @@ export async function resolvePrettyUrl(outDir, requestPath, originalFilePath) {
|
|
|
72
72
|
return { filePath: null, found: false };
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Merges server options with config file values and defaults.
|
|
77
|
+
* Programmatic options take precedence over config file, which takes precedence over defaults.
|
|
78
|
+
*
|
|
79
|
+
* @param params - The merge parameters
|
|
80
|
+
* @returns Merged server options
|
|
81
|
+
*/
|
|
82
|
+
export function mergeServerOptions(params) {
|
|
83
|
+
const { options, config, defaults } = params;
|
|
84
|
+
return {
|
|
85
|
+
port: options.port ?? config?.port ?? defaults.port,
|
|
86
|
+
host: options.host ?? config?.host ?? defaults.host,
|
|
87
|
+
open: options.open ?? config?.open ?? defaults.open,
|
|
88
|
+
};
|
|
89
|
+
}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -85,6 +85,15 @@ export interface StatiConfig {
|
|
|
85
85
|
/** Whether to open browser automatically (default: false) */
|
|
86
86
|
open?: boolean;
|
|
87
87
|
};
|
|
88
|
+
/** Preview server configuration */
|
|
89
|
+
preview?: {
|
|
90
|
+
/** Port for preview server (default: 4000) */
|
|
91
|
+
port?: number;
|
|
92
|
+
/** Host for preview server (default: 'localhost') */
|
|
93
|
+
host?: string;
|
|
94
|
+
/** Whether to open browser automatically (default: false) */
|
|
95
|
+
open?: boolean;
|
|
96
|
+
};
|
|
88
97
|
/** Build lifecycle hooks */
|
|
89
98
|
hooks?: BuildHooks;
|
|
90
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|