@stati/core 1.18.0 → 1.20.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/core/build.d.ts +4 -2
- package/dist/core/build.d.ts.map +1 -1
- package/dist/core/build.js +53 -8
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/markdown.d.ts +9 -0
- package/dist/core/markdown.d.ts.map +1 -1
- package/dist/core/markdown.js +12 -0
- package/dist/core/preview.js +1 -1
- package/dist/core/utils/html.utils.d.ts +35 -0
- package/dist/core/utils/html.utils.d.ts.map +1 -0
- package/dist/core/utils/html.utils.js +46 -0
- package/dist/core/utils/index.d.ts +1 -0
- package/dist/core/utils/index.d.ts.map +1 -1
- package/dist/core/utils/index.js +2 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/metrics/index.d.ts +1 -1
- package/dist/metrics/index.d.ts.map +1 -1
- package/dist/metrics/index.js +1 -1
- package/dist/metrics/noop.d.ts.map +1 -1
- package/dist/metrics/noop.js +2 -1
- package/dist/metrics/recorder.d.ts.map +1 -1
- package/dist/metrics/recorder.js +6 -3
- package/dist/metrics/types.d.ts +9 -4
- package/dist/metrics/types.d.ts.map +1 -1
- package/dist/metrics/utils/index.d.ts +1 -1
- package/dist/metrics/utils/index.d.ts.map +1 -1
- package/dist/metrics/utils/index.js +1 -1
- package/dist/metrics/utils/writer.utils.d.ts +0 -7
- package/dist/metrics/utils/writer.utils.d.ts.map +1 -1
- package/dist/metrics/utils/writer.utils.js +0 -63
- package/dist/search/auto-inject.d.ts +21 -0
- package/dist/search/auto-inject.d.ts.map +1 -0
- package/dist/search/auto-inject.js +33 -0
- package/dist/search/constants.d.ts +28 -0
- package/dist/search/constants.d.ts.map +1 -0
- package/dist/search/constants.js +27 -0
- package/dist/search/generator.d.ts +101 -0
- package/dist/search/generator.d.ts.map +1 -0
- package/dist/search/generator.js +278 -0
- package/dist/search/index.d.ts +24 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +22 -0
- package/dist/seo/auto-inject.d.ts.map +1 -1
- package/dist/seo/auto-inject.js +5 -18
- package/dist/types/config.d.ts +3 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/content.d.ts +6 -0
- package/dist/types/content.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/search.d.ts +121 -0
- package/dist/types/search.d.ts.map +1 -0
- package/dist/types/search.js +5 -0
- package/package.json +1 -1
package/dist/core/build.d.ts
CHANGED
|
@@ -40,8 +40,10 @@ export interface BuildOptions {
|
|
|
40
40
|
includeDrafts?: boolean | undefined;
|
|
41
41
|
/** Custom logger for build output */
|
|
42
42
|
logger?: Logger | undefined;
|
|
43
|
-
/**
|
|
44
|
-
|
|
43
|
+
/** CLI version for metrics */
|
|
44
|
+
cliVersion?: string | undefined;
|
|
45
|
+
/** Core version for metrics */
|
|
46
|
+
coreVersion?: string | undefined;
|
|
45
47
|
/** Metrics collection options */
|
|
46
48
|
metrics?: MetricsOptions | undefined;
|
|
47
49
|
}
|
package/dist/core/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/core/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/core/build.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAEV,UAAU,EACV,MAAM,EAQP,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iCAAiC;IACjC,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,wDAAwD;IACxD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AA4FD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAW5E"}
|
package/dist/core/build.js
CHANGED
|
@@ -3,12 +3,13 @@ import { join, dirname, relative, posix } from 'node:path';
|
|
|
3
3
|
import { performance } from 'node:perf_hooks';
|
|
4
4
|
import { loadConfig } from '../config/loader.js';
|
|
5
5
|
import { loadContent } from './content.js';
|
|
6
|
-
import { createMarkdownProcessor, renderMarkdown } from './markdown.js';
|
|
6
|
+
import { createMarkdownProcessor, renderMarkdown, extractToc } from './markdown.js';
|
|
7
7
|
import { createTemplateEngine, renderPage } from './templates.js';
|
|
8
8
|
import { buildNavigation } from './navigation.js';
|
|
9
9
|
import { loadCacheManifest, saveCacheManifest, shouldRebuildPage, createCacheEntry, updateCacheEntry, withBuildLock, computeNavigationHash, } from './isg/index.js';
|
|
10
10
|
import { generateSitemap, generateRobotsTxtFromConfig, autoInjectSEO, } from '../seo/index.js';
|
|
11
11
|
import { generateRSSFeeds, validateRSSConfig } from '../rss/index.js';
|
|
12
|
+
import { computeSearchIndexFilename, generateSearchIndex, writeSearchIndex, autoInjectSearchMeta, } from '../search/index.js';
|
|
12
13
|
import { getEnv } from '../env.js';
|
|
13
14
|
import { DEFAULT_OUT_DIR } from '../constants.js';
|
|
14
15
|
import { createMetricRecorder, noopMetricRecorder } from '../metrics/index.js';
|
|
@@ -190,9 +191,10 @@ async function loadContentAndBuildNavigation(config, options, logger) {
|
|
|
190
191
|
/**
|
|
191
192
|
* Processes pages with ISG caching logic.
|
|
192
193
|
*/
|
|
193
|
-
async function processPagesWithCache(pages, manifest, config, outDir, md, eta, navigation, buildTime, options, logger, compiledBundles, recorder = noopMetricRecorder) {
|
|
194
|
+
async function processPagesWithCache(pages, manifest, config, outDir, md, eta, navigation, buildTime, options, logger, compiledBundles, recorder = noopMetricRecorder, searchIndexFilename) {
|
|
194
195
|
let cacheHits = 0;
|
|
195
196
|
let cacheMisses = 0;
|
|
197
|
+
const searchablePages = [];
|
|
196
198
|
// Build context
|
|
197
199
|
const buildContext = { config, pages };
|
|
198
200
|
// Run beforeAll hook
|
|
@@ -249,6 +251,13 @@ async function processPagesWithCache(pages, manifest, config, outDir, md, eta, n
|
|
|
249
251
|
}
|
|
250
252
|
// Record page timing for cached pages (0ms render time)
|
|
251
253
|
recorder.recordPageTiming(page.url, 0, true);
|
|
254
|
+
// Collect searchable page data for cached pages if search is enabled
|
|
255
|
+
// Extract TOC without full HTML rendering for efficiency
|
|
256
|
+
if (config.search?.enabled === true) {
|
|
257
|
+
const tocEnabled = config.markdown?.toc !== false;
|
|
258
|
+
const toc = tocEnabled ? extractToc(page.content, md) : [];
|
|
259
|
+
searchablePages.push({ page, toc, markdownContent: page.content });
|
|
260
|
+
}
|
|
252
261
|
continue;
|
|
253
262
|
}
|
|
254
263
|
// Cache miss - need to rebuild
|
|
@@ -265,7 +274,14 @@ async function processPagesWithCache(pages, manifest, config, outDir, md, eta, n
|
|
|
265
274
|
const { html: htmlContent, toc } = renderMarkdown(page.content, md, tocEnabled);
|
|
266
275
|
// Compute matched bundle paths for this page
|
|
267
276
|
const bundlePaths = getBundlePathsForPage(page.url, compiledBundles);
|
|
268
|
-
|
|
277
|
+
// Build assets object with bundle paths and search index path
|
|
278
|
+
const assets = {
|
|
279
|
+
bundlePaths,
|
|
280
|
+
...(config.search?.enabled === true &&
|
|
281
|
+
searchIndexFilename && {
|
|
282
|
+
searchIndexPath: `/${searchIndexFilename}`,
|
|
283
|
+
}),
|
|
284
|
+
};
|
|
269
285
|
// Render with template
|
|
270
286
|
const renderResult = await renderPage(page, htmlContent, config, eta, navigation, pages, assets, toc, logger);
|
|
271
287
|
let finalHtml = renderResult.html;
|
|
@@ -284,9 +300,14 @@ async function processPagesWithCache(pages, manifest, config, outDir, md, eta, n
|
|
|
284
300
|
}
|
|
285
301
|
finalHtml = autoInjectSEO(finalHtml, injectOptions);
|
|
286
302
|
}
|
|
303
|
+
// Auto-inject search index meta tag if enabled (default: true)
|
|
304
|
+
if (config.search?.enabled === true &&
|
|
305
|
+
searchIndexFilename &&
|
|
306
|
+
config.search?.autoInjectMetaTag !== false) {
|
|
307
|
+
finalHtml = autoInjectSearchMeta(finalHtml, `/${searchIndexFilename}`);
|
|
308
|
+
}
|
|
287
309
|
// Auto-inject TypeScript bundle script tags if available and autoInject is enabled (default: true)
|
|
288
|
-
|
|
289
|
-
if (shouldAutoInject && assets && assets.bundlePaths.length > 0) {
|
|
310
|
+
if (config.typescript?.autoInject !== false && assets.bundlePaths.length > 0) {
|
|
290
311
|
finalHtml = autoInjectBundles(finalHtml, assets.bundlePaths);
|
|
291
312
|
}
|
|
292
313
|
const renderTime = Math.round(performance.now() - startTime);
|
|
@@ -308,6 +329,11 @@ async function processPagesWithCache(pages, manifest, config, outDir, md, eta, n
|
|
|
308
329
|
else {
|
|
309
330
|
manifest.entries[cacheKey] = await createCacheEntry(page, config, buildTime);
|
|
310
331
|
}
|
|
332
|
+
// Collect searchable page data if search is enabled
|
|
333
|
+
// Uses TOC entries and markdown content instead of parsing rendered HTML
|
|
334
|
+
if (config.search?.enabled === true) {
|
|
335
|
+
searchablePages.push({ page, toc, markdownContent: page.content });
|
|
336
|
+
}
|
|
311
337
|
// Run afterRender hook
|
|
312
338
|
if (config.hooks?.afterRender) {
|
|
313
339
|
const hookStart = performance.now();
|
|
@@ -322,7 +348,7 @@ async function processPagesWithCache(pages, manifest, config, outDir, md, eta, n
|
|
|
322
348
|
logger.clearRenderingTree();
|
|
323
349
|
}
|
|
324
350
|
}
|
|
325
|
-
return { cacheHits, cacheMisses };
|
|
351
|
+
return { cacheHits, cacheMisses, searchablePages };
|
|
326
352
|
}
|
|
327
353
|
/**
|
|
328
354
|
* Copies static assets and returns the count.
|
|
@@ -383,7 +409,8 @@ async function buildInternal(options = {}) {
|
|
|
383
409
|
clean: options.clean,
|
|
384
410
|
includeDrafts: options.includeDrafts,
|
|
385
411
|
},
|
|
386
|
-
|
|
412
|
+
cliVersion: options.cliVersion,
|
|
413
|
+
coreVersion: options.coreVersion,
|
|
387
414
|
});
|
|
388
415
|
logger.building('Building your site...');
|
|
389
416
|
// Load configuration (instrumented)
|
|
@@ -452,16 +479,34 @@ async function buildInternal(options = {}) {
|
|
|
452
479
|
});
|
|
453
480
|
endTsSpan();
|
|
454
481
|
}
|
|
482
|
+
// Pre-compute search index filename if search is enabled
|
|
483
|
+
let searchIndexFilename;
|
|
484
|
+
if (config.search?.enabled) {
|
|
485
|
+
searchIndexFilename = computeSearchIndexFilename(config.search, buildStartTime.toString());
|
|
486
|
+
}
|
|
455
487
|
// Process pages with ISG caching logic
|
|
456
488
|
if (logger.step) {
|
|
457
489
|
console.log(); // Add spacing before page processing
|
|
458
490
|
}
|
|
459
491
|
const endPageRenderSpan = recorder.startSpan('pageRenderingMs');
|
|
460
492
|
const buildTime = new Date();
|
|
461
|
-
const pageProcessingResult = await processPagesWithCache(pages, manifest, config, outDir, md, eta, navigation, buildTime, options, logger, compiledBundles, recorder);
|
|
493
|
+
const pageProcessingResult = await processPagesWithCache(pages, manifest, config, outDir, md, eta, navigation, buildTime, options, logger, compiledBundles, recorder, searchIndexFilename);
|
|
462
494
|
endPageRenderSpan();
|
|
463
495
|
cacheHits = pageProcessingResult.cacheHits;
|
|
464
496
|
cacheMisses = pageProcessingResult.cacheMisses;
|
|
497
|
+
const searchablePages = pageProcessingResult.searchablePages;
|
|
498
|
+
// Generate search index if enabled
|
|
499
|
+
// Uses markdown content and TOC entries
|
|
500
|
+
let searchIndexMetadata;
|
|
501
|
+
if (config.search?.enabled && searchablePages.length > 0 && searchIndexFilename) {
|
|
502
|
+
logger.info('');
|
|
503
|
+
logger.info(`Generating search index to ${searchIndexFilename}`);
|
|
504
|
+
const endSearchIndexSpan = recorder.startSpan('searchIndexGenerationMs');
|
|
505
|
+
const searchIndex = generateSearchIndex(searchablePages, config.search);
|
|
506
|
+
searchIndexMetadata = await writeSearchIndex(searchIndex, outDir, searchIndexFilename);
|
|
507
|
+
endSearchIndexSpan();
|
|
508
|
+
logger.success(`Generated search index with ${searchIndexMetadata.documentCount} documents`);
|
|
509
|
+
}
|
|
465
510
|
// Record page rendering counts
|
|
466
511
|
recorder.increment('renderedPages', cacheMisses);
|
|
467
512
|
recorder.increment('cachedPages', cacheHits);
|
package/dist/core/index.d.ts
CHANGED
|
@@ -10,4 +10,5 @@ export { createPreviewServer } from './preview.js';
|
|
|
10
10
|
export type { PreviewServerOptions } from './preview.js';
|
|
11
11
|
export { invalidate } from './invalidate.js';
|
|
12
12
|
export type { InvalidationResult } from './invalidate.js';
|
|
13
|
+
export { injectBeforeHeadClose, findHeadClosePosition } from './utils/index.js';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG5E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG5E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -10,3 +10,5 @@ export { createDevServer } from './dev.js';
|
|
|
10
10
|
export { createPreviewServer } from './preview.js';
|
|
11
11
|
// Cache invalidation
|
|
12
12
|
export { invalidate } from './invalidate.js';
|
|
13
|
+
// HTML utilities
|
|
14
|
+
export { injectBeforeHeadClose, findHeadClosePosition } from './utils/index.js';
|
package/dist/core/markdown.d.ts
CHANGED
|
@@ -14,6 +14,15 @@ export interface MarkdownResult {
|
|
|
14
14
|
* Supports both plugin array format and configure function format.
|
|
15
15
|
*/
|
|
16
16
|
export declare function createMarkdownProcessor(config: StatiConfig): Promise<MarkdownIt>;
|
|
17
|
+
/**
|
|
18
|
+
* Extracts table of contents entries from markdown content without rendering HTML.
|
|
19
|
+
* This is more efficient than renderMarkdown when only TOC data is needed.
|
|
20
|
+
*
|
|
21
|
+
* @param content - The markdown content to extract TOC from
|
|
22
|
+
* @param md - The configured MarkdownIt instance
|
|
23
|
+
* @returns Array of TOC entries extracted from headings (levels 2-6)
|
|
24
|
+
*/
|
|
25
|
+
export declare function extractToc(content: string, md: MarkdownIt): TocEntry[];
|
|
17
26
|
/**
|
|
18
27
|
* Renders markdown content to HTML with optional TOC extraction.
|
|
19
28
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/core/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAKrC,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,GAAG,EAAE,QAAQ,EAAE,CAAC;CACjB;AAmBD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAuCtF;AA6ED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,UAAU,EACd,UAAU,GAAE,OAAc,GACzB,cAAc,CAWhB"}
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/core/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAKrC,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,GAAG,EAAE,QAAQ,EAAE,CAAC;CACjB;AAmBD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAuCtF;AA6ED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,QAAQ,EAAE,CAGtE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,UAAU,EACd,UAAU,GAAE,OAAc,GACzB,cAAc,CAWhB"}
|
package/dist/core/markdown.js
CHANGED
|
@@ -127,6 +127,18 @@ function extractAndInjectAnchors(tokens, tocEnabled) {
|
|
|
127
127
|
}
|
|
128
128
|
return toc;
|
|
129
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Extracts table of contents entries from markdown content without rendering HTML.
|
|
132
|
+
* This is more efficient than renderMarkdown when only TOC data is needed.
|
|
133
|
+
*
|
|
134
|
+
* @param content - The markdown content to extract TOC from
|
|
135
|
+
* @param md - The configured MarkdownIt instance
|
|
136
|
+
* @returns Array of TOC entries extracted from headings (levels 2-6)
|
|
137
|
+
*/
|
|
138
|
+
export function extractToc(content, md) {
|
|
139
|
+
const tokens = md.parse(content, {});
|
|
140
|
+
return extractAndInjectAnchors(tokens, true);
|
|
141
|
+
}
|
|
130
142
|
/**
|
|
131
143
|
* Renders markdown content to HTML with optional TOC extraction.
|
|
132
144
|
*
|
package/dist/core/preview.js
CHANGED
|
@@ -112,7 +112,7 @@ export async function createPreviewServer(options = {}) {
|
|
|
112
112
|
res.writeHead(statusCode, {
|
|
113
113
|
'Content-Type': mimeType,
|
|
114
114
|
'Access-Control-Allow-Origin': '*',
|
|
115
|
-
'Cache-Control': '
|
|
115
|
+
'Cache-Control': 'no-cache, no-store, must-revalidate',
|
|
116
116
|
});
|
|
117
117
|
res.end(content);
|
|
118
118
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML manipulation utilities.
|
|
3
|
+
* @module core/utils/html
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Finds the position to inject content before </head>.
|
|
7
|
+
* Performs a case-insensitive search for the closing head tag.
|
|
8
|
+
*
|
|
9
|
+
* @param html - HTML content
|
|
10
|
+
* @returns Position index or -1 if not found
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const html = '<html><head><title>Test</title></head><body></body></html>';
|
|
15
|
+
* const pos = findHeadClosePosition(html);
|
|
16
|
+
* // pos is the index just before </head>
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function findHeadClosePosition(html: string): number;
|
|
20
|
+
/**
|
|
21
|
+
* Injects content before the </head> tag with proper indentation.
|
|
22
|
+
*
|
|
23
|
+
* @param html - HTML content
|
|
24
|
+
* @param content - Content to inject
|
|
25
|
+
* @param indent - Indentation string (default: 4 spaces)
|
|
26
|
+
* @returns HTML with injected content, or original HTML if </head> not found
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const html = '<html><head><title>Test</title></head><body></body></html>';
|
|
31
|
+
* const result = injectBeforeHeadClose(html, '<meta name="test" content="value">');
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function injectBeforeHeadClose(html: string, content: string, indent?: string): string;
|
|
35
|
+
//# sourceMappingURL=html.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.utils.d.ts","sourceRoot":"","sources":["../../../src/core/utils/html.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAe,GACtB,MAAM,CAWR"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML manipulation utilities.
|
|
3
|
+
* @module core/utils/html
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Finds the position to inject content before </head>.
|
|
7
|
+
* Performs a case-insensitive search for the closing head tag.
|
|
8
|
+
*
|
|
9
|
+
* @param html - HTML content
|
|
10
|
+
* @returns Position index or -1 if not found
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const html = '<html><head><title>Test</title></head><body></body></html>';
|
|
15
|
+
* const pos = findHeadClosePosition(html);
|
|
16
|
+
* // pos is the index just before </head>
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export function findHeadClosePosition(html) {
|
|
20
|
+
// Case-insensitive search for </head>
|
|
21
|
+
const match = html.match(/<\/head>/i);
|
|
22
|
+
return match ? (match.index ?? -1) : -1;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Injects content before the </head> tag with proper indentation.
|
|
26
|
+
*
|
|
27
|
+
* @param html - HTML content
|
|
28
|
+
* @param content - Content to inject
|
|
29
|
+
* @param indent - Indentation string (default: 4 spaces)
|
|
30
|
+
* @returns HTML with injected content, or original HTML if </head> not found
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const html = '<html><head><title>Test</title></head><body></body></html>';
|
|
35
|
+
* const result = injectBeforeHeadClose(html, '<meta name="test" content="value">');
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function injectBeforeHeadClose(html, content, indent = ' ') {
|
|
39
|
+
const headClosePos = findHeadClosePosition(html);
|
|
40
|
+
if (headClosePos === -1) {
|
|
41
|
+
return html;
|
|
42
|
+
}
|
|
43
|
+
const before = html.substring(0, headClosePos);
|
|
44
|
+
const after = html.substring(headClosePos);
|
|
45
|
+
return `${before}${indent}${content}\n${after}`;
|
|
46
|
+
}
|
|
@@ -24,4 +24,5 @@ export type { CompiledBundleInfo } from './bundle-matching.utils.js';
|
|
|
24
24
|
export { createFallbackLogger } from './logger.utils.js';
|
|
25
25
|
export { compileTypeScript, createTypeScriptWatcher, compileStatiConfig, cleanupCompiledConfig, autoInjectBundles, } from './typescript.utils.js';
|
|
26
26
|
export type { CompileOptions, WatchOptions } from './typescript.utils.js';
|
|
27
|
+
export { findHeadClosePosition, injectBeforeHeadClose } from './html.utils.js';
|
|
27
28
|
//# 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,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,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,EACL,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,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,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,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,EACL,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/core/utils/index.js
CHANGED
|
@@ -36,3 +36,5 @@ export { matchBundlesForPage, getBundlePathsForPage, validateUniqueBundleNames,
|
|
|
36
36
|
export { createFallbackLogger } from './logger.utils.js';
|
|
37
37
|
// TypeScript compilation utilities
|
|
38
38
|
export { compileTypeScript, createTypeScriptWatcher, compileStatiConfig, cleanupCompiledConfig, autoInjectBundles, } from './typescript.utils.js';
|
|
39
|
+
// HTML manipulation utilities
|
|
40
|
+
export { findHeadClosePosition, injectBeforeHeadClose } from './html.utils.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -26,13 +26,14 @@ export type { RSSConfig, RSSFeedConfig, RSSGenerationResult } from './types/inde
|
|
|
26
26
|
export type { BuildOptions, MetricsOptions, BuildResult, DevServerOptions, PreviewServerOptions, InvalidationResult, } from './core/index.js';
|
|
27
27
|
export { build, createDevServer, createPreviewServer, invalidate } from './core/index.js';
|
|
28
28
|
export type { BuildMetrics, MetricsMeta, MetricsFlags, MetricsTotals, MetricsPhases, MetricsCounts, MetricsISG, PageTiming, IncrementalMetrics, MetricRecorder, MetricRecorderOptions, PhaseName, CounterName, } from './metrics/index.js';
|
|
29
|
-
export { createMetricRecorder, noopMetricRecorder, writeMetrics
|
|
29
|
+
export { createMetricRecorder, noopMetricRecorder, writeMetrics } from './metrics/index.js';
|
|
30
30
|
export type { AutoInjectOptions } from './seo/index.js';
|
|
31
31
|
export { generateSEOMetadata, generateSEO, generateOpenGraphTags, generateTwitterCardTags, generateSitemap, generateSitemapEntry, generateSitemapXml, generateSitemapIndexXml, generateRobotsTxt, generateRobotsTxtFromConfig, escapeHtml, generateRobotsContent, validateSEOMetadata, detectExistingSEOTags, normalizeUrlPath, resolveAbsoluteUrl, isValidUrl, autoInjectSEO, shouldAutoInject, } from './seo/index.js';
|
|
32
32
|
export type { RSSValidationResult } from './rss/index.js';
|
|
33
33
|
export { generateRSSFeed, generateRSSFeeds, validateRSSConfig, validateRSSFeedConfig, } from './rss/index.js';
|
|
34
34
|
export { loadConfig } from './config/loader.js';
|
|
35
35
|
export { setEnv, getEnv } from './env.js';
|
|
36
|
+
export { getStatiVersion } from './core/utils/index.js';
|
|
36
37
|
import type { StatiConfig } from './types/index.js';
|
|
37
38
|
/**
|
|
38
39
|
* Helper function for defining Stati configuration with TypeScript IntelliSense.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,YAAY,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGtF,YAAY,EACV,YAAY,EACZ,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG1F,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,YAAY,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGtF,YAAY,EACV,YAAY,EACZ,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG1F,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG5F,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,2BAA2B,EAC3B,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAE7D"}
|
package/dist/index.js
CHANGED
|
@@ -20,12 +20,14 @@
|
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
22
|
export { build, createDevServer, createPreviewServer, invalidate } from './core/index.js';
|
|
23
|
-
export { createMetricRecorder, noopMetricRecorder, writeMetrics
|
|
23
|
+
export { createMetricRecorder, noopMetricRecorder, writeMetrics } from './metrics/index.js';
|
|
24
24
|
export { generateSEOMetadata, generateSEO, generateOpenGraphTags, generateTwitterCardTags, generateSitemap, generateSitemapEntry, generateSitemapXml, generateSitemapIndexXml, generateRobotsTxt, generateRobotsTxtFromConfig, escapeHtml, generateRobotsContent, validateSEOMetadata, detectExistingSEOTags, normalizeUrlPath, resolveAbsoluteUrl, isValidUrl, autoInjectSEO, shouldAutoInject, } from './seo/index.js';
|
|
25
25
|
export { generateRSSFeed, generateRSSFeeds, validateRSSConfig, validateRSSFeedConfig, } from './rss/index.js';
|
|
26
26
|
// Re-export config and env utilities
|
|
27
27
|
export { loadConfig } from './config/loader.js';
|
|
28
28
|
export { setEnv, getEnv } from './env.js';
|
|
29
|
+
// Re-export version utility
|
|
30
|
+
export { getStatiVersion } from './core/utils/index.js';
|
|
29
31
|
/**
|
|
30
32
|
* Helper function for defining Stati configuration with TypeScript IntelliSense.
|
|
31
33
|
* Provides type checking and autocompletion for configuration options.
|
package/dist/metrics/index.d.ts
CHANGED
|
@@ -33,6 +33,6 @@
|
|
|
33
33
|
export type { BuildMetrics, MetricsMeta, MetricsFlags, MetricsTotals, MetricsPhases, MetricsCounts, MetricsISG, PageTiming, IncrementalMetrics, MetricRecorder, MetricRecorderOptions, PhaseName, CounterName, GaugeName, } from './types.js';
|
|
34
34
|
export { createMetricRecorder } from './recorder.js';
|
|
35
35
|
export { noopMetricRecorder } from './noop.js';
|
|
36
|
-
export { writeMetrics,
|
|
36
|
+
export { writeMetrics, generateMetricsFilename, DEFAULT_METRICS_DIR, isCI, getGitCommit, getGitBranch, getCpuCount, getPlatform, getArch, getNodeVersion, getMemoryUsage, } from './utils/index.js';
|
|
37
37
|
export type { WriteMetricsOptions, WriteMetricsResult } from './utils/index.js';
|
|
38
38
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAEL,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAEL,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EAEnB,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/metrics/index.js
CHANGED
|
@@ -37,6 +37,6 @@ export { noopMetricRecorder } from './noop.js';
|
|
|
37
37
|
// Utilities (file writing, system info)
|
|
38
38
|
export {
|
|
39
39
|
// Writer utilities
|
|
40
|
-
writeMetrics,
|
|
40
|
+
writeMetrics, generateMetricsFilename, DEFAULT_METRICS_DIR,
|
|
41
41
|
// System utilities
|
|
42
42
|
isCI, getGitCommit, getGitBranch, getCpuCount, getPlatform, getArch, getNodeVersion, getMemoryUsage, } from './utils/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../../src/metrics/noop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,cAAc,EAOf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../../src/metrics/noop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,cAAc,EAOf,MAAM,YAAY,CAAC;AAkGpB;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAAyC,CAAC"}
|
package/dist/metrics/noop.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/metrics/recorder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EAQtB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/metrics/recorder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EAQtB,MAAM,YAAY,CAAC;AAqNpB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAaxF"}
|
package/dist/metrics/recorder.js
CHANGED
|
@@ -14,7 +14,8 @@ class ActiveMetricRecorder {
|
|
|
14
14
|
startTime;
|
|
15
15
|
command;
|
|
16
16
|
flags;
|
|
17
|
-
|
|
17
|
+
cliVersion;
|
|
18
|
+
coreVersion;
|
|
18
19
|
phases = {};
|
|
19
20
|
counts = {
|
|
20
21
|
totalPages: 0,
|
|
@@ -38,7 +39,8 @@ class ActiveMetricRecorder {
|
|
|
38
39
|
this.detailed = options.detailed ?? false;
|
|
39
40
|
this.command = options.command ?? 'build';
|
|
40
41
|
this.flags = options.flags ?? {};
|
|
41
|
-
this.
|
|
42
|
+
this.cliVersion = options.cliVersion ?? 'unknown';
|
|
43
|
+
this.coreVersion = options.coreVersion ?? 'unknown';
|
|
42
44
|
// Take initial memory snapshot
|
|
43
45
|
this.snapshotMemory();
|
|
44
46
|
}
|
|
@@ -103,7 +105,8 @@ class ActiveMetricRecorder {
|
|
|
103
105
|
platform: getPlatform(),
|
|
104
106
|
arch: getArch(),
|
|
105
107
|
cpuCount: getCpuCount(),
|
|
106
|
-
|
|
108
|
+
cliVersion: this.cliVersion,
|
|
109
|
+
coreVersion: this.coreVersion,
|
|
107
110
|
command: this.command,
|
|
108
111
|
flags: this.flags,
|
|
109
112
|
...(gitCommit !== undefined && { gitCommit }),
|
package/dist/metrics/types.d.ts
CHANGED
|
@@ -46,8 +46,10 @@ export interface MetricsMeta {
|
|
|
46
46
|
readonly arch: string;
|
|
47
47
|
/** Number of CPU cores */
|
|
48
48
|
readonly cpuCount: number;
|
|
49
|
-
/**
|
|
50
|
-
readonly
|
|
49
|
+
/** CLI version */
|
|
50
|
+
readonly cliVersion: string;
|
|
51
|
+
/** Core version */
|
|
52
|
+
readonly coreVersion: string;
|
|
51
53
|
/** Command executed */
|
|
52
54
|
readonly command: 'build' | 'dev';
|
|
53
55
|
/** CLI flags used */
|
|
@@ -83,6 +85,7 @@ export interface MetricsPhases {
|
|
|
83
85
|
readonly cacheManifestLoadMs?: number;
|
|
84
86
|
readonly typescriptCompileMs?: number;
|
|
85
87
|
readonly pageRenderingMs?: number;
|
|
88
|
+
readonly searchIndexGenerationMs?: number;
|
|
86
89
|
readonly assetCopyMs?: number;
|
|
87
90
|
readonly cacheManifestSaveMs?: number;
|
|
88
91
|
readonly sitemapGenerationMs?: number;
|
|
@@ -173,8 +176,10 @@ export interface MetricRecorderOptions {
|
|
|
173
176
|
command?: 'build' | 'dev' | undefined;
|
|
174
177
|
/** CLI flags used */
|
|
175
178
|
flags?: MetricsFlags | undefined;
|
|
176
|
-
/**
|
|
177
|
-
|
|
179
|
+
/** CLI version string */
|
|
180
|
+
cliVersion?: string | undefined;
|
|
181
|
+
/** Core version string */
|
|
182
|
+
coreVersion?: string | undefined;
|
|
178
183
|
}
|
|
179
184
|
/**
|
|
180
185
|
* Interface for metrics collection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;IAE5B,mBAAmB;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,aAAa;IACb,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,wBAAwB;IACxB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAEzB,qEAAqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAE7C,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gCAAgC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1F,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;IAE5B,mBAAmB;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,aAAa;IACb,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,wBAAwB;IACxB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAEzB,qEAAqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAE7C,kDAAkD;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,gCAAgC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1F,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,kBAAkB;IAClB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mBAAmB;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uBAAuB;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC;IAClC,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wBAAwB;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,iEAAiE;IACjE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,4BAA4B;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,oCAAoC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe;IACf,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpE,+BAA+B;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IACtC,qBAAqB;IACrB,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,IAAI,CAAC;IAEvC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,eAAe,CAAC,EAAE,MAAM,GACvB,IAAI,CAAC;IAER;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAElD;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAEzD;;OAEG;IACH,QAAQ,IAAI,YAAY,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B"}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
export { isCI, getGitCommit, getGitBranch, getCpuCount, getPlatform, getArch, getMemoryUsage, getNodeVersion, } from './system.utils.js';
|
|
7
|
-
export { DEFAULT_METRICS_DIR, generateMetricsFilename, writeMetrics
|
|
7
|
+
export { DEFAULT_METRICS_DIR, generateMetricsFilename, writeMetrics } from './writer.utils.js';
|
|
8
8
|
export type { WriteMetricsOptions, WriteMetricsResult } from './writer.utils.js';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/metrics/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/metrics/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/F,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
// System utilities
|
|
7
7
|
export { isCI, getGitCommit, getGitBranch, getCpuCount, getPlatform, getArch, getMemoryUsage, getNodeVersion, } from './system.utils.js';
|
|
8
8
|
// Writer utilities
|
|
9
|
-
export { DEFAULT_METRICS_DIR, generateMetricsFilename, writeMetrics
|
|
9
|
+
export { DEFAULT_METRICS_DIR, generateMetricsFilename, writeMetrics } from './writer.utils.js';
|
|
@@ -54,11 +54,4 @@ export interface WriteMetricsResult {
|
|
|
54
54
|
* ```
|
|
55
55
|
*/
|
|
56
56
|
export declare function writeMetrics(metrics: BuildMetrics, options: WriteMetricsOptions): Promise<WriteMetricsResult>;
|
|
57
|
-
/**
|
|
58
|
-
* Format metrics for CLI summary output.
|
|
59
|
-
*
|
|
60
|
-
* @param metrics - Build metrics to format
|
|
61
|
-
* @returns Array of formatted lines for CLI output
|
|
62
|
-
*/
|
|
63
|
-
export declare function formatMetricsSummary(metrics: BuildMetrics): string[];
|
|
64
57
|
//# sourceMappingURL=writer.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.utils.d.ts","sourceRoot":"","sources":["../../../src/metrics/utils/writer.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"writer.utils.d.ts","sourceRoot":"","sources":["../../../src/metrics/utils/writer.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAIlF;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CA2C7B"}
|