Files
chrome-devtools-mcp/scripts/update-lighthouse.ts
T
Nikolay Vitkov ae7281aef9 chore(deps): finish updating Lighthouse to v13.6.0 (#3373)
- Bump the `lighthouse` npm dependency in `package.json` and
`package-lock.json` to `13.6.0` (used for TypeScript types,
`bundled-packages.json`, and `THIRD_PARTY_NOTICES`) and exclude
`lighthouse` and `devtools-protocol` from `min-release-age` in `.npmrc`.
- Run `yarn build-report` before `yarn build-devtools-mcp` in
`scripts/update-lighthouse.ts` and regenerate
`src/third_party/lighthouse-devtools-mcp-bundle.js` so the inlined
standalone HTML report includes the v13.6.0 report changes (such as
`DOM.safelySetImageSrc`).
2026-10-29 12:13:36 +00:00

60 lines
1.5 KiB
TypeScript

/**
* @license
* Copyright 2026 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import {execSync} from 'node:child_process';
import fs from 'node:fs';
import path from 'node:path';
const ROOT_DIR = process.cwd();
const LIGHTHOUSE_DIR = path.resolve(ROOT_DIR, '../lighthouse');
const DEST_DIR = path.join(ROOT_DIR, 'src/third_party');
function main() {
if (!fs.existsSync(LIGHTHOUSE_DIR)) {
console.error(`Lighthouse directory not found at ${LIGHTHOUSE_DIR}`);
process.exit(1);
}
console.log('Running yarn in lighthouse directory...');
execSync('yarn', {cwd: LIGHTHOUSE_DIR, stdio: 'inherit'});
console.log('Building lighthouse report...');
execSync('yarn build-report', {cwd: LIGHTHOUSE_DIR, stdio: 'inherit'});
console.log('Building lighthouse-devtools-mcp bundle...');
execSync('yarn build-devtools-mcp', {cwd: LIGHTHOUSE_DIR, stdio: 'inherit'});
const bundlePath = path.join(
LIGHTHOUSE_DIR,
'dist',
'devtools-mcp',
'lighthouse-devtools-mcp-bundle.js',
);
console.log(`Copying bundle from ${bundlePath} to ${DEST_DIR}...`);
fs.copyFileSync(
bundlePath,
path.join(DEST_DIR, 'lighthouse-devtools-mcp-bundle.js'),
);
const noticesPath = path.join(
LIGHTHOUSE_DIR,
'dist',
'devtools-mcp',
'LIGHTHOUSE_MCP_BUNDLE_THIRD_PARTY_NOTICES',
);
console.log(`Copying notices from ${noticesPath} to ${DEST_DIR}...`);
fs.copyFileSync(
noticesPath,
path.join(DEST_DIR, 'LIGHTHOUSE_MCP_BUNDLE_THIRD_PARTY_NOTICES'),
);
console.log('Done.');
}
main();