MCPcopy Index your code
hub / github.com/tensorflow/tfjs / updateDependency

Function updateDependency

scripts/release-util.ts:295–347  ·  view source on GitHub ↗
(
    deps: string[], pkg: string, parsedPkg: any)

Source from the content-addressed store, hash-verified

293}
294
295export async function updateDependency(
296 deps: string[], pkg: string, parsedPkg: any): Promise<string> {
297 console.log(chalk.magenta.bold(`~~~ Update dependency versions ~~~`));
298
299 if (deps != null) {
300 const depsLatestVersion: string[] = deps.map(
301 dep => $(`npm view ${
302 dep.includes('@') ? dep : '@tensorflow/' + dep} dist-tags.latest`));
303
304 for (let j = 0; j < deps.length; j++) {
305 const dep = deps[j];
306
307 let version = '';
308 const depNpmName = dep.includes('@') ? dep : `@tensorflow/${dep}`;
309 if (parsedPkg['dependencies'] != null &&
310 parsedPkg['dependencies'][depNpmName] != null) {
311 version = parsedPkg['dependencies'][depNpmName];
312 } else if (
313 parsedPkg['peerDependencies'] != null &&
314 parsedPkg['peerDependencies'][depNpmName] != null) {
315 version = parsedPkg['peerDependencies'][depNpmName];
316 } else if (
317 parsedPkg['devDependencies'] != null &&
318 parsedPkg['devDependencies'][depNpmName] != null) {
319 version = parsedPkg['devDependencies'][depNpmName];
320 }
321 if (version == null) {
322 throw new Error(`No dependency found for ${dep}.`);
323 }
324
325 let relaxedVersionPrefix = '';
326 if (version.startsWith('~') || version.startsWith('^')) {
327 relaxedVersionPrefix = version.slice(0, 1);
328 }
329 const depVersionLatest = relaxedVersionPrefix + depsLatestVersion[j];
330
331 let depVersion = await question(
332 `Updated version for ` +
333 `${dep} (current is ${version}, leave empty for latest ${
334 depVersionLatest}): `);
335 if (depVersion === '') {
336 depVersion = depVersionLatest;
337 }
338 console.log(chalk.blue(`Using version ${depVersion}`));
339
340 pkg = `${pkg}`.replace(
341 new RegExp(`"${depNpmName}": "${version}"`, 'g'),
342 `"${depNpmName}": "${depVersion}"`);
343 }
344 }
345
346 return pkg;
347}
348
349// Update package.json dependencies of tfjs packages. This method is different
350// than `updateDependency`, it does not rely on published versions, instead it

Callers 2

mainFunction · 0.90
releaseWebsiteFunction · 0.90

Calls 4

$Function · 0.70
questionFunction · 0.70
logMethod · 0.65
sliceMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…