lighthouse 9.5.0-dev.20230117 → 9.5.0-dev.20230119
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/cli/bin.d.ts +5 -0
- package/cli/cli-flags.d.ts +258 -0
- package/cli/commands/commands.d.ts +4 -0
- package/cli/commands/list-audits.d.ts +2 -0
- package/cli/commands/list-locales.d.ts +2 -0
- package/cli/commands/list-trace-categories.d.ts +2 -0
- package/cli/index.d.ts +3 -0
- package/cli/printer.d.ts +28 -0
- package/cli/run.d.ts +24 -0
- package/cli/sentry-prompt.d.ts +5 -0
- package/cli/test/smokehouse/config/exclusions.d.ts +12 -0
- package/cli/test/smokehouse/core-tests.d.ts +4 -0
- package/cli/test/smokehouse/frontends/back-compat-util.d.ts +16 -0
- package/cli/test/smokehouse/frontends/lib.d.ts +8 -0
- package/cli/test/smokehouse/frontends/node.d.ts +2 -0
- package/cli/test/smokehouse/frontends/smokehouse-bin.d.ts +3 -0
- package/cli/test/smokehouse/lib/child-process-error.d.ts +21 -0
- package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +78 -0
- package/cli/test/smokehouse/lib/local-console.d.ts +33 -0
- package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +16 -0
- package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +18 -0
- package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +23 -0
- package/cli/test/smokehouse/report-assert-test.d.ts +2 -0
- package/cli/test/smokehouse/report-assert.d.ts +50 -0
- package/cli/test/smokehouse/smokehouse.d.ts +35 -0
- package/cli/test/smokehouse/version-check-test.d.ts +2 -0
- package/cli/test/smokehouse/version-check.d.ts +15 -0
- package/core/audits/accessibility/accesskeys.d.ts +10 -0
- package/core/audits/accessibility/aria-allowed-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-command-name.d.ts +10 -0
- package/core/audits/accessibility/aria-hidden-body.d.ts +10 -0
- package/core/audits/accessibility/aria-hidden-focus.d.ts +10 -0
- package/core/audits/accessibility/aria-input-field-name.d.ts +10 -0
- package/core/audits/accessibility/aria-meter-name.d.ts +10 -0
- package/core/audits/accessibility/aria-progressbar-name.d.ts +10 -0
- package/core/audits/accessibility/aria-required-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-required-children.d.ts +10 -0
- package/core/audits/accessibility/aria-required-parent.d.ts +10 -0
- package/core/audits/accessibility/aria-roles.d.ts +10 -0
- package/core/audits/accessibility/aria-toggle-field-name.d.ts +10 -0
- package/core/audits/accessibility/aria-tooltip-name.d.ts +10 -0
- package/core/audits/accessibility/aria-treeitem-name.d.ts +10 -0
- package/core/audits/accessibility/aria-valid-attr-value.d.ts +10 -0
- package/core/audits/accessibility/aria-valid-attr.d.ts +10 -0
- package/core/audits/accessibility/axe-audit.d.ts +17 -0
- package/core/audits/accessibility/button-name.d.ts +10 -0
- package/core/audits/accessibility/bypass.d.ts +10 -0
- package/core/audits/accessibility/color-contrast.d.ts +10 -0
- package/core/audits/accessibility/definition-list.d.ts +10 -0
- package/core/audits/accessibility/dlitem.d.ts +10 -0
- package/core/audits/accessibility/document-title.d.ts +10 -0
- package/core/audits/accessibility/duplicate-id-active.d.ts +10 -0
- package/core/audits/accessibility/duplicate-id-aria.d.ts +10 -0
- package/core/audits/accessibility/form-field-multiple-labels.d.ts +10 -0
- package/core/audits/accessibility/frame-title.d.ts +10 -0
- package/core/audits/accessibility/heading-order.d.ts +10 -0
- package/core/audits/accessibility/html-has-lang.d.ts +10 -0
- package/core/audits/accessibility/html-lang-valid.d.ts +10 -0
- package/core/audits/accessibility/image-alt.d.ts +10 -0
- package/core/audits/accessibility/input-image-alt.d.ts +10 -0
- package/core/audits/accessibility/label.d.ts +10 -0
- package/core/audits/accessibility/link-name.d.ts +10 -0
- package/core/audits/accessibility/list.d.ts +10 -0
- package/core/audits/accessibility/listitem.d.ts +10 -0
- package/core/audits/accessibility/manual/custom-controls-labels.d.ts +8 -0
- package/core/audits/accessibility/manual/custom-controls-roles.d.ts +8 -0
- package/core/audits/accessibility/manual/focus-traps.d.ts +8 -0
- package/core/audits/accessibility/manual/focusable-controls.d.ts +8 -0
- package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +8 -0
- package/core/audits/accessibility/manual/logical-tab-order.d.ts +8 -0
- package/core/audits/accessibility/manual/managed-focus.d.ts +8 -0
- package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +9 -0
- package/core/audits/accessibility/manual/use-landmarks.d.ts +8 -0
- package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +8 -0
- package/core/audits/accessibility/meta-refresh.d.ts +10 -0
- package/core/audits/accessibility/meta-viewport.d.ts +10 -0
- package/core/audits/accessibility/object-alt.d.ts +10 -0
- package/core/audits/accessibility/tabindex.d.ts +10 -0
- package/core/audits/accessibility/td-headers-attr.d.ts +10 -0
- package/core/audits/accessibility/th-has-data-cells.d.ts +10 -0
- package/core/audits/accessibility/valid-lang.d.ts +10 -0
- package/core/audits/accessibility/video-caption.d.ts +10 -0
- package/core/audits/audit.d.ts +150 -0
- package/core/audits/audit.js +1 -0
- package/core/audits/autocomplete.d.ts +36 -0
- package/core/audits/bf-cache.d.ts +21 -0
- package/core/audits/bootup-time.d.ts +26 -0
- package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +82 -0
- package/core/audits/byte-efficiency/duplicated-javascript.d.ts +52 -0
- package/core/audits/byte-efficiency/efficient-animated-content.d.ts +23 -0
- package/core/audits/byte-efficiency/legacy-javascript.d.ts +99 -0
- package/core/audits/byte-efficiency/modern-image-formats.d.ts +38 -0
- package/core/audits/byte-efficiency/offscreen-images.d.ts +75 -0
- package/core/audits/byte-efficiency/render-blocking-resources.d.ts +55 -0
- package/core/audits/byte-efficiency/render-blocking-resources.js +1 -3
- package/core/audits/byte-efficiency/total-byte-weight.d.ts +21 -0
- package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
- package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
- package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
- package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
- package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
- package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
- package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
- package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
- package/core/audits/content-width.d.ts +17 -0
- package/core/audits/critical-request-chains.d.ts +44 -0
- package/core/audits/csp-xss.d.ts +51 -0
- package/core/audits/deprecations.d.ts +19 -0
- package/core/audits/diagnostics.d.ts +11 -0
- package/core/audits/dobetterweb/charset.d.ts +19 -0
- package/core/audits/dobetterweb/doctype.d.ts +21 -0
- package/core/audits/dobetterweb/dom-size.d.ts +26 -0
- package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
- package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
- package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
- package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
- package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
- package/core/audits/dobetterweb/password-inputs-can-be-pasted-into.d.ts +15 -0
- package/core/audits/dobetterweb/uses-http2.d.ts +69 -0
- package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
- package/core/audits/errors-in-console.d.ts +31 -0
- package/core/audits/final-screenshot.d.ts +11 -0
- package/core/audits/font-display.d.ts +32 -0
- package/core/audits/image-aspect-ratio.d.ts +30 -0
- package/core/audits/image-size-responsive.d.ts +28 -0
- package/core/audits/installable-manifest.d.ts +118 -0
- package/core/audits/is-on-https.d.ts +23 -0
- package/core/audits/largest-contentful-paint-element.d.ts +14 -0
- package/core/audits/layout-shift-elements.d.ts +15 -0
- package/core/audits/lcp-lazy-loaded.d.ts +21 -0
- package/core/audits/long-tasks.d.ts +16 -0
- package/core/audits/main-thread-tasks.d.ts +11 -0
- package/core/audits/mainthread-work-breakdown.d.ts +28 -0
- package/core/audits/manual/manual-audit.d.ts +13 -0
- package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
- package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
- package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
- package/core/audits/maskable-icon.d.ts +25 -0
- package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
- package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
- package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
- package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
- package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
- package/core/audits/metrics/interactive.d.ts +31 -0
- package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
- package/core/audits/metrics/max-potential-fid.d.ts +23 -0
- package/core/audits/metrics/speed-index.d.ts +27 -0
- package/core/audits/metrics/total-blocking-time.d.ts +32 -0
- package/core/audits/metrics.d.ts +11 -0
- package/core/audits/multi-check-audit.d.ts +28 -0
- package/core/audits/network-requests.d.ts +11 -0
- package/core/audits/network-rtt.d.ts +15 -0
- package/core/audits/network-server-latency.d.ts +15 -0
- package/core/audits/no-unload-listeners.d.ts +16 -0
- package/core/audits/non-composited-animations.d.ts +21 -0
- package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
- package/core/audits/performance-budget.d.ts +39 -0
- package/core/audits/predictive-perf.d.ts +11 -0
- package/core/audits/preload-fonts.d.ts +29 -0
- package/core/audits/preload-lcp-image.d.ts +67 -0
- package/core/audits/redirects.d.ts +33 -0
- package/core/audits/resource-summary.d.ts +16 -0
- package/core/audits/screenshot-thumbnails.d.ts +32 -0
- package/core/audits/script-elements-test-audit.d.ts +14 -0
- package/core/audits/script-treemap-data.d.ts +42 -0
- package/core/audits/seo/canonical.d.ts +51 -0
- package/core/audits/seo/crawlable-anchors.d.ts +16 -0
- package/core/audits/seo/font-size.d.ts +24 -0
- package/core/audits/seo/hreflang.d.ts +28 -0
- package/core/audits/seo/http-status-code.d.ts +16 -0
- package/core/audits/seo/is-crawlable.d.ts +38 -0
- package/core/audits/seo/link-text.d.ts +16 -0
- package/core/audits/seo/manual/structured-data.d.ts +12 -0
- package/core/audits/seo/meta-description.d.ts +16 -0
- package/core/audits/seo/plugins.d.ts +15 -0
- package/core/audits/seo/robots-txt.d.ts +18 -0
- package/core/audits/seo/tap-targets.d.ts +50 -0
- package/core/audits/server-response-time.d.ts +21 -0
- package/core/audits/service-worker.d.ts +46 -0
- package/core/audits/splash-screen.d.ts +37 -0
- package/core/audits/themed-omnibox.d.ts +42 -0
- package/core/audits/third-party-facades.d.ts +41 -0
- package/core/audits/third-party-summary.d.ts +58 -0
- package/core/audits/timing-budget.d.ts +43 -0
- package/core/audits/unsized-images.d.ts +39 -0
- package/core/audits/user-timings.d.ts +43 -0
- package/core/audits/uses-rel-preconnect.d.ts +37 -0
- package/core/audits/uses-rel-preconnect.js +1 -4
- package/core/audits/uses-rel-preload.d.ts +61 -0
- package/core/audits/valid-source-maps.d.ts +27 -0
- package/core/audits/viewport.d.ts +17 -0
- package/core/audits/violation-audit.d.ts +14 -0
- package/core/audits/work-during-interaction.d.ts +82 -0
- package/core/computed/computed-artifact.d.ts +15 -0
- package/core/computed/critical-request-chains.d.ts +40 -0
- package/core/computed/image-records.d.ts +24 -0
- package/core/computed/js-bundles.d.ts +13 -0
- package/core/computed/load-simulator.d.ts +28 -0
- package/core/computed/main-resource.d.ts +25 -0
- package/core/computed/main-thread-tasks.d.ts +15 -0
- package/core/computed/manifest-values.d.ts +24 -0
- package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
- package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
- package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
- package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
- package/core/computed/metrics/interactive.d.ts +61 -0
- package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
- package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
- package/core/computed/metrics/lantern-interactive.d.ts +31 -0
- package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
- package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
- package/core/computed/metrics/lantern-metric.d.ts +78 -0
- package/core/computed/metrics/lantern-metric.js +1 -3
- package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
- package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
- package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
- package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
- package/core/computed/metrics/max-potential-fid.d.ts +15 -0
- package/core/computed/metrics/metric.d.ts +38 -0
- package/core/computed/metrics/metric.js +1 -1
- package/core/computed/metrics/navigation-metric.d.ts +16 -0
- package/core/computed/metrics/responsiveness.d.ts +87 -0
- package/core/computed/metrics/speed-index.d.ts +10 -0
- package/core/computed/metrics/tbt-utils.d.ts +18 -0
- package/core/computed/metrics/timing-summary.d.ts +46 -0
- package/core/computed/metrics/timing-summary.js +1 -1
- package/core/computed/metrics/total-blocking-time.d.ts +23 -0
- package/core/computed/module-duplication.d.ts +37 -0
- package/core/computed/network-analysis.d.ts +20 -0
- package/core/computed/network-records.d.ts +15 -0
- package/core/computed/network-records.js +1 -0
- package/core/computed/page-dependency-graph.d.ts +88 -0
- package/core/computed/processed-navigation.d.ts +15 -0
- package/core/computed/processed-navigation.js +5 -2
- package/core/computed/processed-trace.d.ts +14 -0
- package/core/computed/resource-summary.d.ts +44 -0
- package/core/computed/screenshots.d.ts +20 -0
- package/core/computed/speedline.d.ts +15 -0
- package/core/computed/unused-css.d.ts +62 -0
- package/core/computed/unused-javascript-summary.d.ts +71 -0
- package/core/computed/user-timings.d.ts +31 -0
- package/core/computed/viewport-meta.d.ts +35 -0
- package/core/config/budget.d.ts +74 -0
- package/core/config/config-helpers.d.ts +94 -0
- package/core/config/config-plugin.d.ts +46 -0
- package/core/config/config.d.ts +28 -0
- package/core/config/constants.d.ts +86 -0
- package/core/config/default-config.d.ts +5 -0
- package/core/config/default-config.js +5 -4
- package/core/config/desktop-config.d.ts +5 -0
- package/core/config/desktop-config.js +1 -0
- package/core/config/experimental-config.d.ts +13 -0
- package/core/config/filters.d.ts +83 -0
- package/core/config/full-config.d.ts +9 -0
- package/core/config/lr-desktop-config.d.ts +4 -0
- package/core/config/lr-mobile-config.d.ts +9 -0
- package/core/config/metrics-to-audits.d.ts +19 -0
- package/core/config/perf-config.d.ts +9 -0
- package/core/config/validation.d.ts +77 -0
- package/core/gather/base-artifacts.d.ts +16 -0
- package/core/gather/base-gatherer.d.ts +72 -0
- package/core/gather/base-gatherer.js +2 -0
- package/core/gather/driver/dom.d.ts +20 -0
- package/core/gather/driver/environment.d.ts +35 -0
- package/core/gather/driver/execution-context.d.ts +101 -0
- package/core/gather/driver/execution-context.js +1 -7
- package/core/gather/driver/navigation.d.ts +33 -0
- package/core/gather/driver/network-monitor.d.ts +82 -0
- package/core/gather/driver/network.d.ts +10 -0
- package/core/gather/driver/prepare.d.ts +46 -0
- package/core/gather/driver/service-workers.d.ts +16 -0
- package/core/gather/driver/storage.d.ts +24 -0
- package/core/gather/driver/target-manager.d.ts +61 -0
- package/core/gather/driver/wait-for-condition.d.ts +116 -0
- package/core/gather/driver/wait-for-condition.js +3 -2
- package/core/gather/driver.d.ts +30 -0
- package/core/gather/fetcher.d.ts +63 -0
- package/core/gather/fetcher.js +2 -0
- package/core/gather/gatherers/accessibility.d.ts +23 -0
- package/core/gather/gatherers/anchor-elements.d.ts +10 -0
- package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
- package/core/gather/gatherers/cache-contents.d.ts +11 -0
- package/core/gather/gatherers/console-messages.d.ts +39 -0
- package/core/gather/gatherers/css-usage.d.ts +39 -0
- package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
- package/core/gather/gatherers/devtools-log.d.ts +48 -0
- package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
- package/core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
- package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
- package/core/gather/gatherers/gatherer.d.ts +46 -0
- package/core/gather/gatherers/global-listeners.d.ts +27 -0
- package/core/gather/gatherers/iframe-elements.d.ts +11 -0
- package/core/gather/gatherers/image-elements.d.ts +35 -0
- package/core/gather/gatherers/inputs.d.ts +10 -0
- package/core/gather/gatherers/inspector-issues.d.ts +38 -0
- package/core/gather/gatherers/installability-errors.d.ts +17 -0
- package/core/gather/gatherers/js-usage.d.ts +22 -0
- package/core/gather/gatherers/link-elements.d.ts +39 -0
- package/core/gather/gatherers/main-document-content.d.ts +27 -0
- package/core/gather/gatherers/meta-elements.d.ts +10 -0
- package/core/gather/gatherers/network-user-agent.d.ts +18 -0
- package/core/gather/gatherers/script-elements.d.ts +26 -0
- package/core/gather/gatherers/scripts.d.ts +27 -0
- package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
- package/core/gather/gatherers/seo/font-size.d.ts +131 -0
- package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
- package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
- package/core/gather/gatherers/service-worker.d.ts +16 -0
- package/core/gather/gatherers/source-maps.d.ts +50 -0
- package/core/gather/gatherers/stacks.d.ts +38 -0
- package/core/gather/gatherers/trace-compat.d.ts +13 -0
- package/core/gather/gatherers/trace-elements.d.ts +83 -0
- package/core/gather/gatherers/trace-elements.js +4 -4
- package/core/gather/gatherers/trace.d.ts +23 -0
- package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
- package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
- package/core/gather/navigation-runner.d.ts +92 -0
- package/core/gather/runner-helpers.d.ts +39 -0
- package/core/gather/session.d.ts +50 -0
- package/core/gather/snapshot-runner.d.ts +10 -0
- package/core/gather/timespan-runner.d.ts +12 -0
- package/core/index.d.cts +4 -0
- package/core/index.d.ts +88 -0
- package/core/index.js +2 -0
- package/core/legacy/config/config.d.ts +107 -0
- package/core/legacy/config/legacy-default-config.d.ts +4 -0
- package/core/legacy/gather/connections/connection.d.ts +75 -0
- package/core/legacy/gather/connections/connection.js +1 -0
- package/core/legacy/gather/connections/cri.d.ts +27 -0
- package/core/legacy/gather/connections/raw.d.ts +20 -0
- package/core/legacy/gather/driver.d.ts +214 -0
- package/core/legacy/gather/driver.js +1 -0
- package/core/legacy/gather/gather-runner.d.ts +166 -0
- package/core/lib/arbitrary-equality-map.d.ts +47 -0
- package/core/lib/asset-saver.d.ts +101 -0
- package/core/lib/axe.d.ts +2 -0
- package/core/lib/bf-cache-strings.d.ts +121 -0
- package/core/lib/cdt/Common.d.ts +3 -0
- package/core/lib/cdt/Platform.d.ts +26 -0
- package/core/lib/cdt/SDK.d.ts +2 -0
- package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
- package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
- package/core/lib/csp-evaluator.d.ts +41 -0
- package/core/lib/dependency-graph/base-node.d.ts +161 -0
- package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
- package/core/lib/dependency-graph/cpu-node.js +1 -0
- package/core/lib/dependency-graph/network-node.d.ts +43 -0
- package/core/lib/dependency-graph/network-node.js +1 -0
- package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
- package/core/lib/dependency-graph/simulator/connection-pool.js +1 -0
- package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
- package/core/lib/dependency-graph/simulator/dns-cache.js +2 -0
- package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
- package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
- package/core/lib/dependency-graph/simulator/simulator-timing-map.js +2 -2
- package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
- package/core/lib/dependency-graph/simulator/simulator.js +3 -2
- package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
- package/core/lib/deprecations-strings.d.ts +66 -0
- package/core/lib/emulation.d.ts +43 -0
- package/core/lib/i18n/i18n.d.ts +81 -0
- package/core/lib/icons.d.ts +22 -0
- package/core/lib/lantern-trace-saver.d.ts +20 -0
- package/core/lib/lh-env.d.ts +2 -0
- package/core/lib/lh-error.d.ts +328 -0
- package/core/lib/lh-trace-processor.d.ts +5 -0
- package/core/lib/manifest-parser.d.ts +186 -0
- package/core/lib/median-run.d.ts +17 -0
- package/core/lib/minification-estimator.d.ts +9 -0
- package/core/lib/minify-devtoolslog.d.ts +6 -0
- package/core/lib/minify-trace.d.ts +6 -0
- package/core/lib/navigation-error.d.ts +39 -0
- package/core/lib/network-recorder.d.ts +115 -0
- package/core/lib/network-request.d.ts +245 -0
- package/core/lib/network-request.js +1 -0
- package/core/lib/page-functions.d.ts +149 -0
- package/core/lib/proto-preprocessor.d.ts +13 -0
- package/core/lib/rect-helpers.d.ts +100 -0
- package/core/lib/script-helpers.d.ts +17 -0
- package/core/lib/sentry.d.ts +32 -0
- package/core/lib/stack-packs.d.ts +16 -0
- package/core/lib/statistics.d.ts +28 -0
- package/core/lib/tappable-rects.d.ts +8 -0
- package/core/lib/third-party-web.d.ts +32 -0
- package/core/lib/timing-trace-saver.d.ts +21 -0
- package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
- package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
- package/core/lib/tracehouse/main-thread-tasks.js +1 -0
- package/core/lib/tracehouse/task-groups.d.ts +66 -0
- package/core/lib/tracehouse/task-summary.d.ts +18 -0
- package/core/lib/tracehouse/trace-processor.d.ts +275 -0
- package/core/lib/traces/metric-trace-events.d.ts +65 -0
- package/core/lib/url-utils.d.ts +100 -0
- package/core/runner.d.ts +109 -0
- package/core/scoring.d.ts +26 -0
- package/core/user-flow.d.ts +106 -0
- package/core/user-flow.js +1 -0
- package/core/util.d.cts +230 -0
- package/dist/report/bundle.esm.js +2 -0
- package/dist/report/flow.js +1 -1
- package/dist/report/standalone.js +1 -1
- package/eslint-local-rules.d.cts +6 -0
- package/esm-utils.d.ts +14 -0
- package/flow-report/api.d.ts +7 -0
- package/flow-report/clients/standalone.d.ts +7 -0
- package/flow-report/src/app.d.ts +11 -0
- package/flow-report/src/common.d.ts +20 -0
- package/flow-report/src/header.d.ts +10 -0
- package/flow-report/src/help-dialog.d.ts +10 -0
- package/flow-report/src/i18n/i18n.d.ts +209 -0
- package/flow-report/src/i18n/localized-strings.d.ts +9 -0
- package/flow-report/src/i18n/ui-strings.d.ts +48 -0
- package/flow-report/src/icons.d.ts +18 -0
- package/flow-report/src/sidebar/flow.d.ts +8 -0
- package/flow-report/src/sidebar/sidebar.d.ts +17 -0
- package/flow-report/src/summary/category.d.ts +19 -0
- package/flow-report/src/summary/summary.d.ts +18 -0
- package/flow-report/src/topbar.d.ts +15 -0
- package/flow-report/src/util.d.ts +30 -0
- package/flow-report/src/wrappers/category-score.d.ts +12 -0
- package/flow-report/src/wrappers/markdown.d.ts +10 -0
- package/flow-report/src/wrappers/report.d.ts +10 -0
- package/flow-report/src/wrappers/styles.d.ts +8 -0
- package/flow-report/test/app-test.d.ts +7 -0
- package/flow-report/test/common-test.d.ts +7 -0
- package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
- package/flow-report/test/header-test.d.ts +7 -0
- package/flow-report/test/sample-flow.d.ts +7 -0
- package/flow-report/test/setup/env-setup.d.ts +11 -0
- package/flow-report/test/sidebar/flow-test.d.ts +7 -0
- package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
- package/flow-report/test/summary/category-test.d.ts +7 -0
- package/flow-report/test/summary/summary-test.d.ts +7 -0
- package/flow-report/test/topbar-test.d.ts +7 -0
- package/flow-report/test/util-test.d.ts +7 -0
- package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
- package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
- package/flow-report/tsconfig.json +1 -1
- package/package.json +5 -2
- package/report/clients/bundle.d.ts +6 -0
- package/report/clients/standalone.d.ts +2 -0
- package/report/generator/file-namer.d.ts +35 -0
- package/report/generator/flow-report-assets.d.ts +9 -0
- package/report/generator/report-assets.d.ts +8 -0
- package/report/generator/report-generator.d.ts +59 -0
- package/report/renderer/api.d.ts +31 -0
- package/report/renderer/category-renderer.d.ts +176 -0
- package/report/renderer/components.d.ts +10 -0
- package/report/renderer/crc-details-renderer.d.ts +73 -0
- package/report/renderer/details-renderer.d.ts +141 -0
- package/report/renderer/dom.d.ts +125 -0
- package/report/renderer/drop-down-menu.d.ts +70 -0
- package/report/renderer/element-screenshot-renderer.d.ts +79 -0
- package/report/renderer/features-util.d.ts +13 -0
- package/report/renderer/i18n.d.ts +106 -0
- package/report/renderer/logger.d.ts +47 -0
- package/report/renderer/open-tab.d.ts +19 -0
- package/report/renderer/performance-category-renderer.d.ts +56 -0
- package/report/renderer/performance-category-renderer.js +2 -0
- package/report/renderer/pwa-category-renderer.d.ts +55 -0
- package/report/renderer/report-renderer.d.ts +57 -0
- package/report/renderer/report-ui-features.d.ts +71 -0
- package/report/renderer/snippet-renderer.d.ts +85 -0
- package/report/renderer/swap-locale-feature.d.ts +31 -0
- package/report/renderer/text-encoding.d.ts +26 -0
- package/report/renderer/topbar-features.d.ts +82 -0
- package/report/renderer/util.d.ts +230 -0
- package/report/test/generator/report-generator-test.js +3 -3
- package/report/test/renderer/performance-category-renderer-test.js +8 -9
- package/report/test-assets/faux-psi.d.ts +34 -0
- package/report/types/augment-dom.d.ts +1 -1
- package/root.d.ts +3 -0
- package/shared/localization/format.d.ts +106 -0
- package/shared/localization/i18n-module.d.ts +4 -0
- package/shared/localization/locales.d.ts +7 -0
- package/shared/localization/swap-flow-locale.d.ts +6 -0
- package/shared/localization/swap-locale.d.ts +39 -0
- package/shared/type-verifiers.d.ts +23 -0
- package/third-party/axe/valid-langs.d.ts +9 -0
- package/types/artifacts.d.ts +40 -38
- package/types/audit.d.ts +6 -6
- package/types/config.d.ts +3 -3
- package/types/externs.d.ts +7 -3
- package/types/gatherer.d.ts +27 -21
- package/types/{cssstyle/index.d.ts → internal/cssstyle.d.ts} +0 -0
- package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
- package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
- package/types/internal/global.d.ts +15 -0
- package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
- package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
- package/types/{lighthouse-logger/index.d.ts → internal/lighthouse-logger.d.ts} +0 -0
- package/types/{lookup-closest-locale/index.d.ts → internal/lookup-closest-locale.d.ts} +3 -1
- package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
- package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
- package/types/{node.d.ts → internal/node.d.ts} +0 -0
- package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
- package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
- package/types/{query-selector.d.ts → internal/query-selector.d.ts} +1 -1
- package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
- package/types/{smokehouse.d.ts → internal/smokehouse.d.ts} +3 -3
- package/types/{test.d.ts → internal/test.d.ts} +0 -0
- package/types/lh.d.ts +81 -0
- package/types/lh.js +13 -0
- package/types/lhr/audit-details.d.ts +2 -2
- package/types/lhr/audit-result.d.ts +2 -2
- package/types/lhr/flow-result.d.ts +1 -1
- package/types/lhr/lhr.d.ts +2 -2
- package/types/lhr/settings.d.ts +1 -1
- package/types/lhr/treemap.d.ts +2 -2
- package/types/protocol.d.ts +8 -3
- package/types/puppeteer.d.ts +11 -6
- package/types/user-flow.d.ts +14 -5
- package/types/global-lh.d.ts +0 -85
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
export type TaskGroup = import('./task-groups.js').TaskGroup;
|
|
2
|
+
export type TaskNode = {
|
|
3
|
+
event: LH.TraceEvent;
|
|
4
|
+
endEvent: LH.TraceEvent | undefined;
|
|
5
|
+
children: TaskNode[];
|
|
6
|
+
parent: TaskNode | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Indicates that the task had an endTime that was inferred rather than specified in the trace. i.e. in the source trace this task was unbounded.
|
|
9
|
+
*/
|
|
10
|
+
unbounded: boolean;
|
|
11
|
+
startTime: number;
|
|
12
|
+
endTime: number;
|
|
13
|
+
duration: number;
|
|
14
|
+
selfTime: number;
|
|
15
|
+
attributableURLs: string[];
|
|
16
|
+
group: TaskGroup;
|
|
17
|
+
};
|
|
18
|
+
export type PriorTaskData = {
|
|
19
|
+
timers: Map<string, TaskNode>;
|
|
20
|
+
xhrs: Map<string, TaskNode>;
|
|
21
|
+
frameURLsById: Map<string, string>;
|
|
22
|
+
lastTaskURLs: string[];
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* @fileoverview
|
|
26
|
+
*
|
|
27
|
+
* This artifact converts the array of raw trace events into an array of hierarchical
|
|
28
|
+
* tasks for easier consumption and bottom-up analysis.
|
|
29
|
+
*
|
|
30
|
+
* Events are easily produced but difficult to consume. They're a mixture of start/end markers, "complete" events, etc.
|
|
31
|
+
* @see https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview
|
|
32
|
+
*
|
|
33
|
+
* LH's TaskNode is an artifact that fills in the gaps a trace event leaves behind.
|
|
34
|
+
* i.e. when did it end? which events are children/parents of this one?
|
|
35
|
+
*
|
|
36
|
+
* Each task will have its group/classification, start time, end time,
|
|
37
|
+
* duration, and self time computed. Each task will potentially have a parent, children, and an
|
|
38
|
+
* attributableURL for the script that was executing/forced this execution.
|
|
39
|
+
*/
|
|
40
|
+
/** @typedef {import('./task-groups.js').TaskGroup} TaskGroup */
|
|
41
|
+
/**
|
|
42
|
+
* @typedef TaskNode
|
|
43
|
+
* @prop {LH.TraceEvent} event
|
|
44
|
+
* @prop {LH.TraceEvent|undefined} endEvent
|
|
45
|
+
* @prop {TaskNode[]} children
|
|
46
|
+
* @prop {TaskNode|undefined} parent
|
|
47
|
+
* @prop {boolean} unbounded Indicates that the task had an endTime that was inferred rather than specified in the trace. i.e. in the source trace this task was unbounded.
|
|
48
|
+
* @prop {number} startTime
|
|
49
|
+
* @prop {number} endTime
|
|
50
|
+
* @prop {number} duration
|
|
51
|
+
* @prop {number} selfTime
|
|
52
|
+
* @prop {string[]} attributableURLs
|
|
53
|
+
* @prop {TaskGroup} group
|
|
54
|
+
*/
|
|
55
|
+
/** @typedef {{timers: Map<string, TaskNode>, xhrs: Map<string, TaskNode>, frameURLsById: Map<string, string>, lastTaskURLs: string[]}} PriorTaskData */
|
|
56
|
+
export class MainThreadTasks {
|
|
57
|
+
/**
|
|
58
|
+
* @param {LH.TraceEvent} event
|
|
59
|
+
* @param {LH.TraceEvent} [endEvent]
|
|
60
|
+
* @return {TaskNode}
|
|
61
|
+
*/
|
|
62
|
+
static _createNewTaskNode(event: LH.TraceEvent, endEvent?: LH.TraceEvent | undefined): TaskNode;
|
|
63
|
+
/**
|
|
64
|
+
*
|
|
65
|
+
* @param {TaskNode} currentTask
|
|
66
|
+
* @param {number} stopTs
|
|
67
|
+
* @param {PriorTaskData} priorTaskData
|
|
68
|
+
* @param {Array<LH.TraceEvent>} reverseEventsQueue
|
|
69
|
+
*/
|
|
70
|
+
static _assignAllTimersUntilTs(currentTask: TaskNode, stopTs: number, priorTaskData: PriorTaskData, reverseEventsQueue: Array<LH.TraceEvent>): void;
|
|
71
|
+
/**
|
|
72
|
+
* This function takes the start and end events from a thread and creates tasks from them.
|
|
73
|
+
* We do this by iterating through the start and end event arrays simultaneously. For each start
|
|
74
|
+
* event we attempt to find its end event.
|
|
75
|
+
*
|
|
76
|
+
* Because of this matching of start/end events and the need to be mutating our end events queue,
|
|
77
|
+
* we reverse the array to more efficiently `.pop()` them off rather than `.shift()` them off.
|
|
78
|
+
* While it's true the worst case runtime here is O(n^2), ~99.999% of the time the reverse loop is O(1)
|
|
79
|
+
* because the overwhelmingly common case is that end event for a given start event is simply the very next event in our queue.
|
|
80
|
+
*
|
|
81
|
+
* @param {LH.TraceEvent[]} taskStartEvents
|
|
82
|
+
* @param {LH.TraceEvent[]} taskEndEvents
|
|
83
|
+
* @param {number} traceEndTs
|
|
84
|
+
* @return {TaskNode[]}
|
|
85
|
+
*/
|
|
86
|
+
static _createTasksFromStartAndEndEvents(taskStartEvents: LH.TraceEvent[], taskEndEvents: LH.TraceEvent[], traceEndTs: number): TaskNode[];
|
|
87
|
+
/**
|
|
88
|
+
* This function iterates through the tasks to set the `.parent`/`.children` properties of tasks
|
|
89
|
+
* according to their implied nesting structure. If any of these relationships seem impossible based on
|
|
90
|
+
* the timestamps, this method will throw.
|
|
91
|
+
*
|
|
92
|
+
* @param {TaskNode[]} sortedTasks
|
|
93
|
+
* @param {LH.TraceEvent[]} timerInstallEvents
|
|
94
|
+
* @param {PriorTaskData} priorTaskData
|
|
95
|
+
*/
|
|
96
|
+
static _createTaskRelationships(sortedTasks: TaskNode[], timerInstallEvents: LH.TraceEvent[], priorTaskData: PriorTaskData): void;
|
|
97
|
+
/**
|
|
98
|
+
* This function takes the raw trace events sorted in increasing timestamp order and outputs connected task nodes.
|
|
99
|
+
* To create the task heirarchy we make several passes over the events.
|
|
100
|
+
*
|
|
101
|
+
* 1. Create three arrays of X/B events, E events, and TimerInstall events.
|
|
102
|
+
* 2. Create tasks for each X/B event, throwing if a matching E event cannot be found for a given B.
|
|
103
|
+
* 3. Sort the tasks by ↑ startTime, ↓ duration.
|
|
104
|
+
* 4. Match each task to its parent, throwing if there is any invalid overlap between tasks.
|
|
105
|
+
* 5. Sort the tasks once more by ↑ startTime, ↓ duration in case they changed during relationship creation.
|
|
106
|
+
*
|
|
107
|
+
* @param {LH.TraceEvent[]} mainThreadEvents
|
|
108
|
+
* @param {PriorTaskData} priorTaskData
|
|
109
|
+
* @param {number} traceEndTs
|
|
110
|
+
* @return {TaskNode[]}
|
|
111
|
+
*/
|
|
112
|
+
static _createTasksFromEvents(mainThreadEvents: LH.TraceEvent[], priorTaskData: PriorTaskData, traceEndTs: number): TaskNode[];
|
|
113
|
+
/**
|
|
114
|
+
* @param {TaskNode} task
|
|
115
|
+
* @param {TaskNode|undefined} parent
|
|
116
|
+
* @return {number}
|
|
117
|
+
*/
|
|
118
|
+
static _computeRecursiveSelfTime(task: TaskNode, parent: TaskNode | undefined): number;
|
|
119
|
+
/**
|
|
120
|
+
* @param {TaskNode} task
|
|
121
|
+
* @param {string[]} parentURLs
|
|
122
|
+
* @param {string[]} allURLsInTree
|
|
123
|
+
* @param {PriorTaskData} priorTaskData
|
|
124
|
+
*/
|
|
125
|
+
static _computeRecursiveAttributableURLs(task: TaskNode, parentURLs: string[], allURLsInTree: string[], priorTaskData: PriorTaskData): void;
|
|
126
|
+
/**
|
|
127
|
+
* @param {TaskNode} task
|
|
128
|
+
* @param {Array<string>} urls
|
|
129
|
+
*/
|
|
130
|
+
static _setRecursiveEmptyAttributableURLs(task: TaskNode, urls: Array<string>): void;
|
|
131
|
+
/**
|
|
132
|
+
* @param {TaskNode} task
|
|
133
|
+
* @param {TaskGroup} [parentGroup]
|
|
134
|
+
*/
|
|
135
|
+
static _computeRecursiveTaskGroup(task: TaskNode, parentGroup?: import("./task-groups.js").TaskGroup | undefined): void;
|
|
136
|
+
/**
|
|
137
|
+
* @param {LH.TraceEvent[]} mainThreadEvents
|
|
138
|
+
* @param {Array<{id: string, url: string}>} frames
|
|
139
|
+
* @param {number} traceEndTs
|
|
140
|
+
* @param {number} [traceStartTs] Optional time-0 ts for tasks. Tasks before this point will have negative start/end times. Defaults to the first task found.
|
|
141
|
+
* @return {TaskNode[]}
|
|
142
|
+
*/
|
|
143
|
+
static getMainThreadTasks(mainThreadEvents: LH.TraceEvent[], frames: Array<{
|
|
144
|
+
id: string;
|
|
145
|
+
url: string;
|
|
146
|
+
}>, traceEndTs: number, traceStartTs?: number | undefined): TaskNode[];
|
|
147
|
+
/**
|
|
148
|
+
* Prints an artistic rendering of the task tree for easier debugability.
|
|
149
|
+
*
|
|
150
|
+
* @param {TaskNode[]} tasks
|
|
151
|
+
* @param {{printWidth?: number, startTime?: number, endTime?: number, taskLabelFn?: (node: TaskNode) => string}} options
|
|
152
|
+
* @return {string}
|
|
153
|
+
*/
|
|
154
|
+
static printTaskTreeToDebugString(tasks: TaskNode[], options?: {
|
|
155
|
+
printWidth?: number | undefined;
|
|
156
|
+
startTime?: number | undefined;
|
|
157
|
+
endTime?: number | undefined;
|
|
158
|
+
taskLabelFn?: ((node: TaskNode) => string) | undefined;
|
|
159
|
+
}): string;
|
|
160
|
+
}
|
|
161
|
+
import * as LH from "../../../types/lh.js";
|
|
162
|
+
//# sourceMappingURL=main-thread-tasks.d.ts.map
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import * as LH from '../../../types/lh.js';
|
|
7
8
|
import {taskGroups, taskNameToGroup} from './task-groups.js';
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export type TaskGroupIds = 'parseHTML' | 'styleLayout' | 'paintCompositeRender' | 'scriptParseCompile' | 'scriptEvaluation' | 'garbageCollection' | 'other';
|
|
2
|
+
export type TaskGroup = {
|
|
3
|
+
id: TaskGroupIds;
|
|
4
|
+
label: string;
|
|
5
|
+
traceEventNames: string[];
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
|
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
/** @typedef {'parseHTML'|'styleLayout'|'paintCompositeRender'|'scriptParseCompile'|'scriptEvaluation'|'garbageCollection'|'other'} TaskGroupIds */
|
|
13
|
+
/**
|
|
14
|
+
* @typedef TaskGroup
|
|
15
|
+
* @property {TaskGroupIds} id
|
|
16
|
+
* @property {string} label
|
|
17
|
+
* @property {string[]} traceEventNames
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Make sure the traceEventNames keep up with the ones in DevTools
|
|
21
|
+
* @see https://cs.chromium.org/chromium/src/third_party/blink/renderer/devtools/front_end/timeline_model/TimelineModel.js?type=cs&q=TimelineModel.TimelineModel.RecordType+%3D&g=0&l=1156
|
|
22
|
+
* @see https://cs.chromium.org/chromium/src/third_party/blink/renderer/devtools/front_end/timeline/TimelineUIUtils.js?type=cs&q=_initEventStyles+-f:out+f:devtools&sq=package:chromium&g=0&l=39
|
|
23
|
+
* @type {{[P in TaskGroupIds]: {id: P, label: string, traceEventNames: Array<string>}}}
|
|
24
|
+
*/
|
|
25
|
+
export const taskGroups: {
|
|
26
|
+
other: {
|
|
27
|
+
id: "other";
|
|
28
|
+
label: string;
|
|
29
|
+
traceEventNames: Array<string>;
|
|
30
|
+
};
|
|
31
|
+
parseHTML: {
|
|
32
|
+
id: "parseHTML";
|
|
33
|
+
label: string;
|
|
34
|
+
traceEventNames: Array<string>;
|
|
35
|
+
};
|
|
36
|
+
styleLayout: {
|
|
37
|
+
id: "styleLayout";
|
|
38
|
+
label: string;
|
|
39
|
+
traceEventNames: Array<string>;
|
|
40
|
+
};
|
|
41
|
+
paintCompositeRender: {
|
|
42
|
+
id: "paintCompositeRender";
|
|
43
|
+
label: string;
|
|
44
|
+
traceEventNames: Array<string>;
|
|
45
|
+
};
|
|
46
|
+
scriptParseCompile: {
|
|
47
|
+
id: "scriptParseCompile";
|
|
48
|
+
label: string;
|
|
49
|
+
traceEventNames: Array<string>;
|
|
50
|
+
};
|
|
51
|
+
scriptEvaluation: {
|
|
52
|
+
id: "scriptEvaluation";
|
|
53
|
+
label: string;
|
|
54
|
+
traceEventNames: Array<string>;
|
|
55
|
+
};
|
|
56
|
+
garbageCollection: {
|
|
57
|
+
id: "garbageCollection";
|
|
58
|
+
label: string;
|
|
59
|
+
traceEventNames: Array<string>;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
/** @type {Object<string, TaskGroup>} */
|
|
63
|
+
export const taskNameToGroup: {
|
|
64
|
+
[x: string]: TaskGroup;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=task-groups.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {LH.Artifacts.NetworkRequest[]} records
|
|
3
|
+
*/
|
|
4
|
+
export function getJavaScriptURLs(records: LH.Artifacts.NetworkRequest[]): Set<string>;
|
|
5
|
+
/**
|
|
6
|
+
* @param {LH.Artifacts.TaskNode} task
|
|
7
|
+
* @param {Set<string>} jsURLs
|
|
8
|
+
* @return {string}
|
|
9
|
+
*/
|
|
10
|
+
export function getAttributableURLForTask(task: LH.Artifacts.TaskNode, jsURLs: Set<string>): string;
|
|
11
|
+
/**
|
|
12
|
+
* @param {LH.Artifacts.TaskNode[]} tasks
|
|
13
|
+
* @param {Array<LH.Artifacts.NetworkRequest>} networkRecords
|
|
14
|
+
* @return {Map<string, Record<string, number>>}
|
|
15
|
+
*/
|
|
16
|
+
export function getExecutionTimingsByURL(tasks: LH.Artifacts.TaskNode[], networkRecords: Array<LH.Artifacts.NetworkRequest>): Map<string, Record<string, number>>;
|
|
17
|
+
import { NetworkRequest } from "../network-request.js";
|
|
18
|
+
//# sourceMappingURL=task-summary.d.ts.map
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
export type TraceNavigationTimesForFrame = Omit<LH.Artifacts.NavigationTraceTimes, 'firstContentfulPaintAllFrames' | 'traceEnd'>;
|
|
2
|
+
export type TimeOriginDeterminationMethod = 'lastNavigationStart' | 'firstResourceSendRequest' | 'lighthouseMarker' | 'auto';
|
|
3
|
+
export type FrameCommittedEvent = Omit<LH.TraceEvent, 'name' | 'args'> & {
|
|
4
|
+
name: 'FrameCommittedInBrowser';
|
|
5
|
+
args: {
|
|
6
|
+
data: {
|
|
7
|
+
frame: string;
|
|
8
|
+
url: string;
|
|
9
|
+
parent?: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type LCPEvent = Omit<LH.TraceEvent, 'name' | 'args'> & {
|
|
14
|
+
name: 'largestContentfulPaint::Invalidate' | 'largestContentfulPaint::Candidate';
|
|
15
|
+
args: {
|
|
16
|
+
data?: {
|
|
17
|
+
size?: number;
|
|
18
|
+
};
|
|
19
|
+
frame: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export type LCPCandidateEvent = Omit<LH.TraceEvent, 'name' | 'args'> & {
|
|
23
|
+
name: 'largestContentfulPaint::Candidate';
|
|
24
|
+
args: {
|
|
25
|
+
data: {
|
|
26
|
+
size: number;
|
|
27
|
+
};
|
|
28
|
+
frame: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export type ToplevelEvent = {
|
|
32
|
+
start: number;
|
|
33
|
+
end: number;
|
|
34
|
+
duration: number;
|
|
35
|
+
};
|
|
36
|
+
export class TraceProcessor {
|
|
37
|
+
static get TIMESPAN_MARKER_ID(): string;
|
|
38
|
+
/**
|
|
39
|
+
* @return {Error}
|
|
40
|
+
*/
|
|
41
|
+
static createNoNavstartError(): Error;
|
|
42
|
+
/**
|
|
43
|
+
* @return {Error}
|
|
44
|
+
*/
|
|
45
|
+
static createNoResourceSendRequestError(): Error;
|
|
46
|
+
/**
|
|
47
|
+
* @return {Error}
|
|
48
|
+
*/
|
|
49
|
+
static createNoTracingStartedError(): Error;
|
|
50
|
+
/**
|
|
51
|
+
* @return {Error}
|
|
52
|
+
*/
|
|
53
|
+
static createNoFirstContentfulPaintError(): Error;
|
|
54
|
+
/**
|
|
55
|
+
* @return {Error}
|
|
56
|
+
*/
|
|
57
|
+
static createNoLighthouseMarkerError(): Error;
|
|
58
|
+
/**
|
|
59
|
+
* Returns true if the event is a navigation start event of a document whose URL seems valid.
|
|
60
|
+
*
|
|
61
|
+
* @param {LH.TraceEvent} event
|
|
62
|
+
* @return {boolean}
|
|
63
|
+
*/
|
|
64
|
+
static _isNavigationStartOfInterest(event: LH.TraceEvent): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* This method sorts a group of trace events that have the same timestamp. We want to...
|
|
67
|
+
*
|
|
68
|
+
* 1. Put E events first, we finish off our existing events before we start new ones.
|
|
69
|
+
* 2. Order B/X events by their duration, we want parents to start before child events.
|
|
70
|
+
* 3. If we don't have any of this to go on, just use the position in the original array (stable sort).
|
|
71
|
+
*
|
|
72
|
+
* Note that the typical group size with the same timestamp will be quite small (<10 or so events),
|
|
73
|
+
* and the number of groups typically ~1% of total trace, so the same ultra-performance-sensitive consideration
|
|
74
|
+
* given to functions that run on entire traces does not necessarily apply here.
|
|
75
|
+
*
|
|
76
|
+
* @param {number[]} tsGroupIndices
|
|
77
|
+
* @param {number[]} timestampSortedIndices
|
|
78
|
+
* @param {number} indexOfTsGroupIndicesStart
|
|
79
|
+
* @param {LH.TraceEvent[]} traceEvents
|
|
80
|
+
* @return {number[]}
|
|
81
|
+
*/
|
|
82
|
+
static _sortTimestampEventGroup(tsGroupIndices: number[], timestampSortedIndices: number[], indexOfTsGroupIndicesStart: number, traceEvents: LH.TraceEvent[]): number[];
|
|
83
|
+
/**
|
|
84
|
+
* Sorts and filters trace events by timestamp and respecting the nesting structure inherent to
|
|
85
|
+
* parent/child event relationships.
|
|
86
|
+
*
|
|
87
|
+
* @param {LH.TraceEvent[]} traceEvents
|
|
88
|
+
* @param {(e: LH.TraceEvent) => boolean} filter
|
|
89
|
+
*/
|
|
90
|
+
static filteredTraceSort(traceEvents: LH.TraceEvent[], filter: (e: LH.TraceEvent) => boolean): import("../..").TraceEvent[];
|
|
91
|
+
/**
|
|
92
|
+
* There should *always* be at least one top level event, having 0 typically means something is
|
|
93
|
+
* drastically wrong with the trace and we should just give up early and loudly.
|
|
94
|
+
*
|
|
95
|
+
* @param {LH.TraceEvent[]} events
|
|
96
|
+
*/
|
|
97
|
+
static assertHasToplevelEvents(events: LH.TraceEvent[]): void;
|
|
98
|
+
/**
|
|
99
|
+
* Calculate duration at specified percentiles for given population of
|
|
100
|
+
* durations.
|
|
101
|
+
* If one of the durations overlaps the end of the window, the full
|
|
102
|
+
* duration should be in the duration array, but the length not included
|
|
103
|
+
* within the window should be given as `clippedLength`. For instance, if a
|
|
104
|
+
* 50ms duration occurs 10ms before the end of the window, `50` should be in
|
|
105
|
+
* the `durations` array, and `clippedLength` should be set to 40.
|
|
106
|
+
* @see https://docs.google.com/document/d/1b9slyaB9yho91YTOkAQfpCdULFkZM9LqsipcX3t7He8/preview
|
|
107
|
+
* @param {!Array<number>} durations Array of durations, sorted in ascending order.
|
|
108
|
+
* @param {number} totalTime Total time (in ms) of interval containing durations.
|
|
109
|
+
* @param {!Array<number>} percentiles Array of percentiles of interest, in ascending order.
|
|
110
|
+
* @param {number=} clippedLength Optional length clipped from a duration overlapping end of window. Default of 0.
|
|
111
|
+
* @return {!Array<{percentile: number, time: number}>}
|
|
112
|
+
* @private
|
|
113
|
+
*/
|
|
114
|
+
private static _riskPercentiles;
|
|
115
|
+
/**
|
|
116
|
+
* Calculates the maximum queueing time (in ms) of high priority tasks for
|
|
117
|
+
* selected percentiles within a window of the main thread.
|
|
118
|
+
* @see https://docs.google.com/document/d/1b9slyaB9yho91YTOkAQfpCdULFkZM9LqsipcX3t7He8/preview
|
|
119
|
+
* @param {Array<ToplevelEvent>} events
|
|
120
|
+
* @param {number} startTime Start time (in ms relative to timeOrigin) of range of interest.
|
|
121
|
+
* @param {number} endTime End time (in ms relative to timeOrigin) of range of interest.
|
|
122
|
+
* @param {!Array<number>=} percentiles Optional array of percentiles to compute. Defaults to [0.5, 0.75, 0.9, 0.99, 1].
|
|
123
|
+
* @return {!Array<{percentile: number, time: number}>}
|
|
124
|
+
*/
|
|
125
|
+
static getRiskToResponsiveness(events: Array<ToplevelEvent>, startTime: number, endTime: number, percentiles?: Array<number> | undefined): Array<{
|
|
126
|
+
percentile: number;
|
|
127
|
+
time: number;
|
|
128
|
+
}>;
|
|
129
|
+
/**
|
|
130
|
+
* Provides durations in ms of all main thread top-level events
|
|
131
|
+
* @param {Array<ToplevelEvent>} topLevelEvents
|
|
132
|
+
* @param {number} startTime Optional start time (in ms relative to timeOrigin) of range of interest. Defaults to 0.
|
|
133
|
+
* @param {number} endTime Optional end time (in ms relative to timeOrigin) of range of interest. Defaults to trace end.
|
|
134
|
+
* @return {{durations: Array<number>, clippedLength: number}}
|
|
135
|
+
*/
|
|
136
|
+
static getMainThreadTopLevelEventDurations(topLevelEvents: Array<ToplevelEvent>, startTime?: number, endTime?: number): {
|
|
137
|
+
durations: Array<number>;
|
|
138
|
+
clippedLength: number;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Provides the top level events on the main thread with timestamps in ms relative to timeOrigin.
|
|
142
|
+
* start.
|
|
143
|
+
* @param {LH.Artifacts.ProcessedTrace} trace
|
|
144
|
+
* @param {number=} startTime Optional start time (in ms relative to timeOrigin) of range of interest. Defaults to 0.
|
|
145
|
+
* @param {number=} endTime Optional end time (in ms relative to timeOrigin) of range of interest. Defaults to trace end.
|
|
146
|
+
* @return {Array<ToplevelEvent>}
|
|
147
|
+
*/
|
|
148
|
+
static getMainThreadTopLevelEvents(trace: LH.Artifacts.ProcessedTrace, startTime?: number | undefined, endTime?: number | undefined): Array<ToplevelEvent>;
|
|
149
|
+
/**
|
|
150
|
+
* @param {LH.TraceEvent[]} events
|
|
151
|
+
* @return {{pid: number, tid: number, frameId: string}}
|
|
152
|
+
*/
|
|
153
|
+
static findMainFrameIds(events: LH.TraceEvent[]): {
|
|
154
|
+
pid: number;
|
|
155
|
+
tid: number;
|
|
156
|
+
frameId: string;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* @param {LH.TraceEvent} evt
|
|
160
|
+
* @return {boolean}
|
|
161
|
+
*/
|
|
162
|
+
static isScheduleableTask(evt: LH.TraceEvent): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* @param {LH.TraceEvent} evt
|
|
165
|
+
* @return {evt is LCPEvent}
|
|
166
|
+
*/
|
|
167
|
+
static isLCPEvent(evt: LH.TraceEvent): evt is LCPEvent;
|
|
168
|
+
/**
|
|
169
|
+
* @param {LH.TraceEvent} evt
|
|
170
|
+
* @return {evt is LCPCandidateEvent}
|
|
171
|
+
*/
|
|
172
|
+
static isLCPCandidateEvent(evt: LH.TraceEvent): evt is LCPCandidateEvent;
|
|
173
|
+
/**
|
|
174
|
+
* Returns the maximum LCP event across all frames in `events`.
|
|
175
|
+
* Sets `invalidated` flag if LCP of every frame is invalidated.
|
|
176
|
+
*
|
|
177
|
+
* LCP's trace event was first introduced in m78. We can't surface an LCP for older Chrome versions.
|
|
178
|
+
* LCP comes from a frame's latest `largestContentfulPaint::Candidate`, but it can be invalidated by a `largestContentfulPaint::Invalidate` event.
|
|
179
|
+
*
|
|
180
|
+
* @param {LH.TraceEvent[]} events
|
|
181
|
+
* @param {LH.TraceEvent} timeOriginEvent
|
|
182
|
+
* @return {{lcp: LCPEvent | undefined, invalidated: boolean}}
|
|
183
|
+
*/
|
|
184
|
+
static computeValidLCPAllFrames(events: LH.TraceEvent[], timeOriginEvent: LH.TraceEvent): {
|
|
185
|
+
lcp: LCPEvent | undefined;
|
|
186
|
+
invalidated: boolean;
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* @param {Array<{id: string, url: string, parent?: string}>} frames
|
|
190
|
+
* @return {Map<string, string>}
|
|
191
|
+
*/
|
|
192
|
+
static resolveRootFrames(frames: Array<{
|
|
193
|
+
id: string;
|
|
194
|
+
url: string;
|
|
195
|
+
parent?: string;
|
|
196
|
+
}>): Map<string, string>;
|
|
197
|
+
/**
|
|
198
|
+
* Finds key trace events, identifies main process/thread, and returns timings of trace events
|
|
199
|
+
* in milliseconds since the time origin in addition to the standard microsecond monotonic timestamps.
|
|
200
|
+
* @param {LH.Trace} trace
|
|
201
|
+
* @param {{timeOriginDeterminationMethod?: TimeOriginDeterminationMethod}} [options]
|
|
202
|
+
* @return {LH.Artifacts.ProcessedTrace}
|
|
203
|
+
*/
|
|
204
|
+
static processTrace(trace: LH.Trace, options?: {
|
|
205
|
+
timeOriginDeterminationMethod?: TimeOriginDeterminationMethod | undefined;
|
|
206
|
+
} | undefined): LH.Artifacts.ProcessedTrace;
|
|
207
|
+
/**
|
|
208
|
+
* Finds key navigation trace events and computes timings of events in milliseconds since the time
|
|
209
|
+
* origin in addition to the standard microsecond monotonic timestamps.
|
|
210
|
+
* @param {LH.Artifacts.ProcessedTrace} processedTrace
|
|
211
|
+
* @return {LH.Artifacts.ProcessedNavigation}
|
|
212
|
+
*/
|
|
213
|
+
static processNavigation(processedTrace: LH.Artifacts.ProcessedTrace): LH.Artifacts.ProcessedNavigation;
|
|
214
|
+
/**
|
|
215
|
+
* Computes the last observable timestamp in a set of trace events.
|
|
216
|
+
*
|
|
217
|
+
* @param {Array<LH.TraceEvent>} events
|
|
218
|
+
* @param {LH.TraceEvent} timeOriginEvt
|
|
219
|
+
* @return {{timing: number, timestamp: number}}
|
|
220
|
+
*/
|
|
221
|
+
static computeTraceEnd(events: Array<LH.TraceEvent>, timeOriginEvt: LH.TraceEvent): {
|
|
222
|
+
timing: number;
|
|
223
|
+
timestamp: number;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Computes the time origin using the specified method.
|
|
227
|
+
*
|
|
228
|
+
* - firstResourceSendRequest
|
|
229
|
+
* Uses the time that the very first network request is sent in the main frame.
|
|
230
|
+
* Eventually should be used in place of lastNavigationStart as the default for navigations.
|
|
231
|
+
* This method includes the cost of all redirects when evaluating a navigation (which matches lantern behavior).
|
|
232
|
+
* The only difference between firstResourceSendRequest and the first `navigationStart` is
|
|
233
|
+
* the unload time of `about:blank` (which is a Lighthouse implementation detail and shouldn't be included).
|
|
234
|
+
*
|
|
235
|
+
* - lastNavigationStart
|
|
236
|
+
* Uses the time of the last `navigationStart` event in the main frame.
|
|
237
|
+
* The historical time origin of Lighthouse from 2016-Present.
|
|
238
|
+
* This method excludes the cost of client-side redirects when evaluating a navigation.
|
|
239
|
+
* Can also be skewed by several hundred milliseconds or even seconds when the browser takes a long
|
|
240
|
+
* time to unload `about:blank`.
|
|
241
|
+
*
|
|
242
|
+
* @param {{keyEvents: Array<LH.TraceEvent>, frameEvents: Array<LH.TraceEvent>, mainFrameIds: {frameId: string}}} traceEventSubsets
|
|
243
|
+
* @param {TimeOriginDeterminationMethod} method
|
|
244
|
+
* @return {LH.TraceEvent}
|
|
245
|
+
*/
|
|
246
|
+
static computeTimeOrigin(traceEventSubsets: {
|
|
247
|
+
keyEvents: Array<LH.TraceEvent>;
|
|
248
|
+
frameEvents: Array<LH.TraceEvent>;
|
|
249
|
+
mainFrameIds: {
|
|
250
|
+
frameId: string;
|
|
251
|
+
};
|
|
252
|
+
}, method: TimeOriginDeterminationMethod): LH.TraceEvent;
|
|
253
|
+
/**
|
|
254
|
+
* Computes timings of trace events of key trace events in milliseconds since the time origin
|
|
255
|
+
* in addition to the standard microsecond monotonic timestamps.
|
|
256
|
+
* @param {Array<LH.TraceEvent>} frameEvents
|
|
257
|
+
* @param {{timeOriginEvt: LH.TraceEvent}} options
|
|
258
|
+
*/
|
|
259
|
+
static computeNavigationTimingsForFrame(frameEvents: Array<LH.TraceEvent>, options: {
|
|
260
|
+
timeOriginEvt: LH.TraceEvent;
|
|
261
|
+
}): {
|
|
262
|
+
timings: TraceNavigationTimesForFrame;
|
|
263
|
+
timestamps: TraceNavigationTimesForFrame;
|
|
264
|
+
timeOriginEvt: import("../..").TraceEvent;
|
|
265
|
+
firstPaintEvt: import("../..").TraceEvent | undefined;
|
|
266
|
+
firstContentfulPaintEvt: import("../..").TraceEvent;
|
|
267
|
+
firstMeaningfulPaintEvt: import("../..").TraceEvent | undefined;
|
|
268
|
+
largestContentfulPaintEvt: LCPEvent | undefined;
|
|
269
|
+
loadEvt: import("../..").TraceEvent | undefined;
|
|
270
|
+
domContentLoadedEvt: import("../..").TraceEvent | undefined;
|
|
271
|
+
fmpFellBack: boolean;
|
|
272
|
+
lcpInvalidated: boolean;
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=trace-processor.d.ts.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export class MetricTraceEvents {
|
|
2
|
+
/**
|
|
3
|
+
* Returns simplified representation of all metrics
|
|
4
|
+
* @return {Array<{id: string, name: string, tsKey: keyof LH.Artifacts.TimingSummary}>} metrics to consider
|
|
5
|
+
*/
|
|
6
|
+
static get metricsDefinitions(): {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
tsKey: keyof LH.Artifacts.TimingSummary;
|
|
10
|
+
}[];
|
|
11
|
+
/**
|
|
12
|
+
* @param {Array<LH.TraceEvent>} traceEvents
|
|
13
|
+
* @param {LH.Result['audits']} auditResults
|
|
14
|
+
*/
|
|
15
|
+
constructor(traceEvents: Array<LH.TraceEvent>, auditResults: LH.Result['audits']);
|
|
16
|
+
_traceEvents: import("../../index.js").TraceEvent[];
|
|
17
|
+
_auditResults: Record<string, import("../../../types/lhr/audit-result.js").Result>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns simplified representation of all metrics' timestamps from monotonic clock
|
|
20
|
+
* @return {Array<{ts: number, id: string, name: string}>} metrics to consider
|
|
21
|
+
*/
|
|
22
|
+
gatherMetrics(): Array<{
|
|
23
|
+
ts: number;
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Get the trace event data for our timeOrigin
|
|
29
|
+
* @param {Array<{ts: number, id: string, name: string}>} metrics
|
|
30
|
+
* @return {{pid: number, tid: number, ts: number} | {errorMessage: string}}
|
|
31
|
+
*/
|
|
32
|
+
getTimeOriginEvt(metrics: Array<{
|
|
33
|
+
ts: number;
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
}>): {
|
|
37
|
+
pid: number;
|
|
38
|
+
tid: number;
|
|
39
|
+
ts: number;
|
|
40
|
+
} | {
|
|
41
|
+
errorMessage: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Constructs performance.measure trace events, which have start/end events as follows:
|
|
45
|
+
* { "pid": 89922,"tid":1295,"ts":77176783452,"ph":"b","cat":"blink.user_timing","name":"innermeasure","args":{},"tts":1257886,"id":"0xe66c67"}
|
|
46
|
+
* { "pid": 89922,"tid":1295,"ts":77176882592,"ph":"e","cat":"blink.user_timing","name":"innermeasure","args":{},"tts":1257898,"id":"0xe66c67"}
|
|
47
|
+
* @param {{ts: number, id: string, name: string}} metric
|
|
48
|
+
* @param {{pid: number, tid: number, ts: number}} timeOriginEvt
|
|
49
|
+
* @return {Array<LH.TraceEvent>} Pair of trace events (start/end)
|
|
50
|
+
*/
|
|
51
|
+
synthesizeEventPair(metric: {
|
|
52
|
+
ts: number;
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
}, timeOriginEvt: {
|
|
56
|
+
pid: number;
|
|
57
|
+
tid: number;
|
|
58
|
+
ts: number;
|
|
59
|
+
}): Array<LH.TraceEvent>;
|
|
60
|
+
/**
|
|
61
|
+
* @return {Array<LH.TraceEvent>} User timing raw trace event pairs
|
|
62
|
+
*/
|
|
63
|
+
generateFakeEvents(): Array<LH.TraceEvent>;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=metric-trace-events.d.ts.map
|