Descarga la aplicación
Selecciona una carpeta y pide al asistente que lea los archivos relevantes antes de editarlos. Mantén el objetivo y los límites de la tarea en la conversación.
Compara las especificaciones directas del manifiesto con las entradas raíz del archivo de bloqueo. Informa de cambios o ausencias sin reescribir el archivo ni instalar dependencias.
Selecciona una carpeta y pide al asistente que lea los archivos relevantes antes de editarlos. Mantén el objetivo y los límites de la tarea en la conversación.
Elige un endpoint compatible. Las herramientas disponibles y la calidad de las respuestas dependen del modelo y del servidor configurados.
Revisa las modificaciones y la salida de los comandos. Ejecuta las comprobaciones de tu proyecto antes de aceptar el resultado; el código generado no está probado por defecto.
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
const root = lockfile.packages?.[""];
if (!root) return showDrift(["lockfile.root.missing"]);
const drift = [];
for (const group of ["dependencies", "devDependencies", "optionalDependencies"]) {
const wanted = manifest[group] ?? {};
const pinned = root[group] ?? {};
for (const name of new Set([...Object.keys(wanted), ...Object.keys(pinned)])) {
if (wanted[name] !== pinned[name]) drift.push(group + ":" + name);
}
}
return drift.length ? showDrift(drift) : reportAgreement();Revisa antes de aplicar. Revisa las modificaciones y la salida de los comandos. Ejecuta las comprobaciones de tu proyecto antes de aceptar el resultado; el código generado no está probado por defecto.