Rocky_Mountain_Vending/.pnpm-store/v10/files/df/a9c87945db279d307e7e84127a6f19833e55eda8f11864819fb0064919547c63c8f4286b11150d345004ab6f6126685f84a3bf3b2b951d35d34521100d8cfc
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

134 lines
4.2 KiB
Text

/**
* @license
* Copyright 2016 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import Trace from './gather/gatherers/trace.js';
import {Runner} from './runner.js';
import {UserFlow, auditGatherSteps} from './user-flow.js';
import {ReportGenerator} from '../report/generator/report-generator.js';
import {startTimespanGather} from './gather/timespan-runner.js';
import {snapshotGather} from './gather/snapshot-runner.js';
import {navigationGather} from './gather/navigation-runner.js';
import * as LH from '../types/lh.js';
/*
* The relationship between these root modules:
*
* index.js - the require('lighthouse') hook for Node modules (including the CLI)
*
* runner.js - marshalls the actions that must be taken (Gather / Audit)
* config file is used to determine which of these actions are needed
*
* cli \
* -- core/index.js ----> runner.js ----> [Gather / Audit]
* clients /
*/
/**
* Run Lighthouse.
* @param {string=} url The URL to test. Optional if running in auditMode.
* @param {LH.Flags=} flags Optional settings for the Lighthouse run. If present,
* they will override any settings in the config.
* @param {LH.Config=} config Configuration for the Lighthouse run. If
* not present, the default config is used.
* @param {LH.Puppeteer.Page=} page
* @return {Promise<LH.RunnerResult|undefined>}
*/
async function lighthouse(url, flags = {}, config, page) {
return navigation(page, url, {config, flags});
}
/**
* @param {LH.Puppeteer.Page} page
* @param {LH.UserFlow.Options} [options]
*/
async function startFlow(page, options) {
return new UserFlow(page, options);
}
/**
* @param {LH.Puppeteer.Page|undefined} page
* @param {LH.NavigationRequestor|undefined} requestor
* @param {{config?: LH.Config, flags?: LH.Flags}} [options]
* @return {Promise<LH.RunnerResult|undefined>}
*/
async function navigation(page, requestor, options) {
const gatherResult = await navigationGather(page, requestor, options);
return Runner.audit(gatherResult.artifacts, gatherResult.runnerOptions);
}
/**
* @param {LH.Puppeteer.Page} page
* @param {{config?: LH.Config, flags?: LH.Flags}} [options]
* @return {Promise<LH.RunnerResult|undefined>}
*/
async function snapshot(page, options) {
const gatherResult = await snapshotGather(page, options);
return Runner.audit(gatherResult.artifacts, gatherResult.runnerOptions);
}
/**
* @param {LH.Puppeteer.Page} page
* @param {{config?: LH.Config, flags?: LH.Flags}} [options]
* @return {Promise<{endTimespan: () => Promise<LH.RunnerResult|undefined>}>}
*/
async function startTimespan(page, options) {
const {endTimespanGather} = await startTimespanGather(page, options);
const endTimespan = async () => {
const gatherResult = await endTimespanGather();
return Runner.audit(gatherResult.artifacts, gatherResult.runnerOptions);
};
return {endTimespan};
}
/**
* @template {LH.Result|LH.FlowResult} R
* @param {R} result
* @param {[R] extends [LH.Result] ? LH.OutputMode : Exclude<LH.OutputMode, 'csv'>} [format]
* @return {string}
*/
function generateReport(result, format = 'html') {
const reportOutput = ReportGenerator.generateReport(result, format);
if (Array.isArray(reportOutput)) {
// In theory the output should never be an array.
// This is mostly for type checking.
return reportOutput[0];
} else {
return reportOutput;
}
}
/**
* @param {LH.UserFlow.FlowArtifacts} flowArtifacts
* @param {LH.Config} [config]
*/
async function auditFlowArtifacts(flowArtifacts, config) {
const {gatherSteps, name} = flowArtifacts;
return await auditGatherSteps(gatherSteps, {name, config});
}
function getAuditList() {
return Runner.getAuditList();
}
const traceCategories = Trace.getDefaultTraceCategories();
export default lighthouse;
export {Audit} from './audits/audit.js';
export {default as Gatherer} from './gather/base-gatherer.js';
export {NetworkRecords} from './computed/network-records.js';
export {default as defaultConfig} from './config/default-config.js';
export {default as desktopConfig} from './config/desktop-config.js';
export * from '../types/lh.js';
export {
startFlow,
navigation,
startTimespan,
snapshot,
generateReport,
auditFlowArtifacts,
getAuditList,
traceCategories,
};