UNPKG

chrome-devtools-frontend

Version:
52 lines (44 loc) 1.66 kB
#!/usr/bin/env node // Copyright 2022 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. 'use strict'; const path = require('path'); const fs = require('fs'); const { devtoolsRootPath, } = require('./devtools_paths.js'); function bail(message) { console.error(message); process.exit(1); } function findVersionFromDepsFile() { const filePath = path.join(devtoolsRootPath(), 'DEPS'); const contents = fs.readFileSync(filePath, 'utf8').split('\n'); const esbuildPackageLine = contents.findIndex(line => line.match(/infra\/3pp\/tools\/esbuild/)); if (esbuildPackageLine === -1) { bail('Could not find ESBuild within DEPS file.'); } const esbuildVersionLine = contents[esbuildPackageLine + 1]; const result = /@(\d{1,2}\.\d{1,2}\.\d{1,2})/.exec(esbuildVersionLine)?.[1]; if (!result) { bail('Could not parse out ESBuild version from DEPS'); } return result; } function findVersionFromNodeDepsFile() { const filePath = path.join(devtoolsRootPath(), 'scripts', 'deps', 'manage_node_deps.py'); const contents = fs.readFileSync(filePath, 'utf8'); const result = /"esbuild": "([0-9\.]+)"/.exec(contents)?.[1]; if (!result) { bail('Could not parse out ESBuild version from manage_node_deps.py'); } return result; } const nodeDepsVersion = findVersionFromNodeDepsFile(); const depsVersion = findVersionFromDepsFile(); if (nodeDepsVersion !== depsVersion) { bail(`Found mismatching esbuild versions in DEPS vs manage_node_deps: manage_node_deps.py: ${nodeDepsVersion} DEPS: ${depsVersion}\n`); }