Ctrl K
ComunidadGuías…

scripts/license-check.mjs

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

Archivo original ↗Preguntar a KiBot
#!/usr/bin/env node
import { spawnSync } from "node:child_process";
import { resolve } from "node:path";
import { fileURLToPath } from "node:url";
import { inspectLicenseReport } from "./release-tools.mjs";

const root = resolve(fileURLToPath(new URL("..", import.meta.url)));
const command = process.platform === "win32" ? "pnpm.cmd" : "pnpm";
const result = spawnSync(
  command,
  ["licenses", "list", "--prod", "--recursive", "--json"],
  {
    cwd: root,
    encoding: "utf8",
    maxBuffer: 32 * 1024 * 1024,
    env: process.env
  }
);

if (result.error) throw result.error;
if (result.status !== 0) {
  process.stderr.write(result.stderr ?? "");
  process.exit(result.status ?? 1);
}

let report;
try {
  report = JSON.parse(result.stdout);
} catch (error) {
  process.stderr.write(result.stderr ?? "");
  throw new Error(
    `Could not parse pnpm production license report: ${
      error instanceof Error ? error.message : String(error)
    }`
  );
}

const summary = inspectLicenseReport(report);
console.log(
  `Production dependency license review passed for ${summary.packageCount} package records.`
);
console.log(`Reviewed license expressions: ${summary.licenses.join(", ")}`);