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>
195 lines
No EOL
5.5 KiB
Text
195 lines
No EOL
5.5 KiB
Text
/**
|
|
* @license
|
|
* Copyright 2017 Google Inc.
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
import type { Protocol } from 'devtools-protocol';
|
|
import type { CDPSession } from '../api/CDPSession.js';
|
|
/**
|
|
* The CoverageEntry class represents one entry of the coverage report.
|
|
* @public
|
|
*/
|
|
export interface CoverageEntry {
|
|
/**
|
|
* The URL of the style sheet or script.
|
|
*/
|
|
url: string;
|
|
/**
|
|
* The content of the style sheet or script.
|
|
*/
|
|
text: string;
|
|
/**
|
|
* The covered range as start and end positions.
|
|
*/
|
|
ranges: Array<{
|
|
start: number;
|
|
end: number;
|
|
}>;
|
|
}
|
|
/**
|
|
* The CoverageEntry class for JavaScript
|
|
* @public
|
|
*/
|
|
export interface JSCoverageEntry extends CoverageEntry {
|
|
/**
|
|
* Raw V8 script coverage entry.
|
|
*/
|
|
rawScriptCoverage?: Protocol.Profiler.ScriptCoverage;
|
|
}
|
|
/**
|
|
* Set of configurable options for JS coverage.
|
|
* @public
|
|
*/
|
|
export interface JSCoverageOptions {
|
|
/**
|
|
* Whether to reset coverage on every navigation.
|
|
*/
|
|
resetOnNavigation?: boolean;
|
|
/**
|
|
* Whether anonymous scripts generated by the page should be reported.
|
|
*/
|
|
reportAnonymousScripts?: boolean;
|
|
/**
|
|
* Whether the result includes raw V8 script coverage entries.
|
|
*/
|
|
includeRawScriptCoverage?: boolean;
|
|
/**
|
|
* Whether to collect coverage information at the block level.
|
|
* If true, coverage will be collected at the block level (this is the default).
|
|
* If false, coverage will be collected at the function level.
|
|
*/
|
|
useBlockCoverage?: boolean;
|
|
}
|
|
/**
|
|
* Set of configurable options for CSS coverage.
|
|
* @public
|
|
*/
|
|
export interface CSSCoverageOptions {
|
|
/**
|
|
* Whether to reset coverage on every navigation.
|
|
*/
|
|
resetOnNavigation?: boolean;
|
|
}
|
|
/**
|
|
* The Coverage class provides methods to gather information about parts of
|
|
* JavaScript and CSS that were used by the page.
|
|
*
|
|
* @remarks
|
|
* To output coverage in a form consumable by {@link https://github.com/istanbuljs | Istanbul},
|
|
* see {@link https://github.com/istanbuljs/puppeteer-to-istanbul | puppeteer-to-istanbul}.
|
|
*
|
|
* @example
|
|
* An example of using JavaScript and CSS coverage to get percentage of initially
|
|
* executed code:
|
|
*
|
|
* ```ts
|
|
* // Enable both JavaScript and CSS coverage
|
|
* await Promise.all([
|
|
* page.coverage.startJSCoverage(),
|
|
* page.coverage.startCSSCoverage(),
|
|
* ]);
|
|
* // Navigate to page
|
|
* await page.goto('https://example.com');
|
|
* // Disable both JavaScript and CSS coverage
|
|
* const [jsCoverage, cssCoverage] = await Promise.all([
|
|
* page.coverage.stopJSCoverage(),
|
|
* page.coverage.stopCSSCoverage(),
|
|
* ]);
|
|
* let totalBytes = 0;
|
|
* let usedBytes = 0;
|
|
* const coverage = [...jsCoverage, ...cssCoverage];
|
|
* for (const entry of coverage) {
|
|
* totalBytes += entry.text.length;
|
|
* for (const range of entry.ranges) usedBytes += range.end - range.start - 1;
|
|
* }
|
|
* console.log(`Bytes used: ${(usedBytes / totalBytes) * 100}%`);
|
|
* ```
|
|
*
|
|
* @public
|
|
*/
|
|
export declare class Coverage {
|
|
#private;
|
|
/**
|
|
* @internal
|
|
*/
|
|
constructor(client: CDPSession);
|
|
/**
|
|
* @internal
|
|
*/
|
|
updateClient(client: CDPSession): void;
|
|
/**
|
|
* @param options - Set of configurable options for coverage defaults to
|
|
* `resetOnNavigation : true, reportAnonymousScripts : false,`
|
|
* `includeRawScriptCoverage : false, useBlockCoverage : true`
|
|
* @returns Promise that resolves when coverage is started.
|
|
*
|
|
* @remarks
|
|
* Anonymous scripts are ones that don't have an associated url. These are
|
|
* scripts that are dynamically created on the page using `eval` or
|
|
* `new Function`. If `reportAnonymousScripts` is set to `true`, anonymous
|
|
* scripts URL will start with `debugger://VM` (unless a magic //# sourceURL
|
|
* comment is present, in which case that will the be URL).
|
|
*/
|
|
startJSCoverage(options?: JSCoverageOptions): Promise<void>;
|
|
/**
|
|
* Promise that resolves to the array of coverage reports for
|
|
* all scripts.
|
|
*
|
|
* @remarks
|
|
* JavaScript Coverage doesn't include anonymous scripts by default.
|
|
* However, scripts with sourceURLs are reported.
|
|
*/
|
|
stopJSCoverage(): Promise<JSCoverageEntry[]>;
|
|
/**
|
|
* @param options - Set of configurable options for coverage, defaults to
|
|
* `resetOnNavigation : true`
|
|
* @returns Promise that resolves when coverage is started.
|
|
*/
|
|
startCSSCoverage(options?: CSSCoverageOptions): Promise<void>;
|
|
/**
|
|
* Promise that resolves to the array of coverage reports
|
|
* for all stylesheets.
|
|
*
|
|
* @remarks
|
|
* CSS Coverage doesn't include dynamically injected style tags
|
|
* without sourceURLs.
|
|
*/
|
|
stopCSSCoverage(): Promise<CoverageEntry[]>;
|
|
}
|
|
/**
|
|
* @public
|
|
*/
|
|
export declare class JSCoverage {
|
|
#private;
|
|
/**
|
|
* @internal
|
|
*/
|
|
constructor(client: CDPSession);
|
|
/**
|
|
* @internal
|
|
*/
|
|
updateClient(client: CDPSession): void;
|
|
start(options?: {
|
|
resetOnNavigation?: boolean;
|
|
reportAnonymousScripts?: boolean;
|
|
includeRawScriptCoverage?: boolean;
|
|
useBlockCoverage?: boolean;
|
|
}): Promise<void>;
|
|
stop(): Promise<JSCoverageEntry[]>;
|
|
}
|
|
/**
|
|
* @public
|
|
*/
|
|
export declare class CSSCoverage {
|
|
#private;
|
|
constructor(client: CDPSession);
|
|
/**
|
|
* @internal
|
|
*/
|
|
updateClient(client: CDPSession): void;
|
|
start(options?: {
|
|
resetOnNavigation?: boolean;
|
|
}): Promise<void>;
|
|
stop(): Promise<CoverageEntry[]>;
|
|
}
|
|
//# sourceMappingURL=Coverage.d.ts.map |