MCPcopy Index your code
hub / github.com/harlan-zw/unlighthouse

github.com/harlan-zw/unlighthouse @v0.18.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.18.0 ↗
208 symbols 553 edges 113 files 1 documented · 0%
README

unlighthouse - Scan your entire website with Google Lighthouse.

Unlighthouse

npm version npm downloads License

Unlighthouse scans your entire site using Google Lighthouse,

with a modern UI, minimal config and smart sampling.

View Demo

Made possible by my Sponsor Program 💖 Follow me @harlan_zw 🐦 • Join Discord for help

Quick Setup

Run the following command:

npx unlighthouse --site <your-site>
# or PNPM
pnpm dlx unlighthouse --site <your-site>

[!TIP] Generate an Agent Skill for this package using skilld: bash npx skilld add unlighthouse

Requirements: Node >= 22.18.0.

Getting Started

Install instructions for all integrations can be found on the docs site.

Need a hand? Join the Discord for one-on-one help.

gitignore

Unlighthouse will save your reports in outputDir, it's recommended you .gitignore these files.

.unlighthouse

Debugging

If you run into any issues with Unlighthouse, the first step should be to re-run the scan with debugging enabled.

# NPM
npx unlighthouse --site unlighthouse.dev --debug
# or PNPM
pnpm dlx unlighthouse --site unlighthouse.dev --debug

Docs

Integration instructions, Guides, API and config spec can be found on docs site.

Sponsors

Sponsors

License

Licensed under the MIT license.

Extension points exported contracts — how you extend this code

GlobalComponents (Interface)
(no doc)
packages/client/components.d.ts
ResourceData (Interface)
(no doc)
packages/core/cluster.d.ts
CliOptions (Interface)
(no doc)
packages/cli/src/types.ts
DefineUnlighthouseConfig (Interface)
(no doc)
packages/unlighthouse/config.d.ts
CrUXHistoryResult (Interface)
(no doc)
crux-api/server/app/services/crux.ts
GlobalComponents (Interface)
(no doc)
packages/client/auto-imports.d.ts
JobInstance (Interface)
(no doc)
packages/core/cluster.d.ts
CiOptions (Interface)
(no doc)
packages/cli/src/types.ts

Core symbols most depended-on inside this repo

useLogger
called by 16
packages/core/src/logger.ts
isImplicitOrExplicitHtml
called by 10
packages/core/src/util/filter.ts
pickOptions
called by 9
packages/cli/src/util.ts
createCli
called by 9
packages/cli/src/createCli.ts
generateReportPayload
called by 9
packages/cli/src/reporters/index.ts
matchPathToRule
called by 8
packages/core/src/discovery/robotsTxt.ts
normaliseRoute
called by 7
packages/core/src/router/util.ts
get
called by 6
packages/client/logic/dark.ts

Shape

Function 145
Interface 51
Class 7
Method 5

Languages

TypeScript100%

Modules by API surface

packages/core/src/types.ts20 symbols
packages/core/src/puppeteer/worker.ts12 symbols
packages/core/src/util.ts11 symbols
packages/client/logic/state.ts11 symbols
packages/cli/src/reporters/types.ts9 symbols
packages/core/src/util/cliFormatting.ts8 symbols
packages/core/cluster.d.ts8 symbols
packages/core/src/util/progressBox.ts7 symbols
packages/core/src/router/broadcasting.ts7 symbols
packages/core/src/discovery/robotsTxt.ts6 symbols
packages/client/logic/formatting.ts5 symbols
packages/cli/src/util.ts5 symbols

Dependencies from manifests, versioned

@antfu/eslint-configcatalog: · 1×
@arethetypeswrong/clicatalog: · 1×
@clack/promptscatalog:dependencies · 1×
@iconify-json/carboncatalog:dependencies · 1×
@iconify-json/icomoon-freecatalog:dependencies · 1×
@iconify-json/lacatalog:dependencies · 1×
@iconify-json/logoscatalog:dependencies · 1×
@iconify-json/mdicatalog:dependencies · 1×
@iconify-json/simple-line-iconscatalog:dependencies · 1×
@lhci/utilscatalog:dependencies · 1×
@nuxt/uicatalog:dependencies · 1×
@puppeteer/browserscatalog:dependencies · 1×

For agents

$ claude mcp add unlighthouse \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact