Ctrl K
ComunidadGuías…

tools/duplicate-deps.ts

Rama dev · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { Glob } from "bun";

const packagesGlob = new Glob("./packages/*/package.json");

type Dependency = {
  dependent: string,
  version: string
}

const deps: {[key: string]: Array<Dependency>} = {}

// load dependencies
for await (const packagePath of packagesGlob.scan(".")){
  const file = Bun.file(packagePath);
  const json = JSON.parse(await file.text());
  if(json.dependencies == null) continue;
  for(const dep in json.dependencies){
    if(deps[dep] == null) deps[dep] = [];
    deps[dep].push({dependent: packagePath, version: json.dependencies[dep]})
  }
  if(json.devDependencies == null) continue;
  for(const dep in json.devDependencies){
    if(deps[dep] == null) deps[dep] = [];
    deps[dep].push({dependent: packagePath, version: json.devDependencies[dep]})
  }
}

for(const pkg in deps){
  if(new Set(deps[pkg].map(x=>x.version)).size > 1){
    console.log(pkg, "has multiple versions.")
  }
}