bussing 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -67,11 +67,11 @@ For each dependency in `node_modules`:
67
67
 
68
68
  ### 5. Cleanup order
69
69
 
70
- With the untidy repositories and those that depend on them (even if they are clean) a topological order is built: first the ones that do not depend on any other repository of the list. For each repository the reason it is on the list is shown (its own problems, or which dependency forces it to be updated).
70
+ With the untidy repositories a topological order is built: first the ones that do not depend on any other repository of the list. Those that depend on a repository whose problems reach its users also enter, marked as "by dependency" (with the field suffix): uncommitted or unpushed changes, version not bumped or not published, or outdated production, peer or optional dependencies. Outdated devDependencies and altered node_modules do not reach the package's users. For each repository the reason it is on the list is shown.
71
71
 
72
72
  `dependencies`, `optionalDependencies` and `peerDependencies` are strong dependencies: they define which repositories enter the list and are always respected in the order. `devDependencies` are weak: they are respected unless they close a cycle, because among one's own packages they form cycles (for example, qa-control is a devDependency of libraries it depends on). Those that would close a cycle are deferred: the step shows it and that dependency stays outdated until a later review. With `--priority package=number` (it can be repeated; 0 by default) you decide which weak dependencies are respected first: higher numbers are respected earlier and lower numbers are the first to be deferred. If there is a cycle of strong dependencies, its members are placed in the same step and the cycle is shown.
73
73
 
74
- Each step shows the most serious problem of the repository. From most to least serious: uncommitted changes, unpushed commits, altered node_modules, waiting for dependencies (it has outdated dependencies and some of them, with their own problems, come earlier in the order), outdated dependencies, version not bumped, not published. Those that enter only because of their dependencies are marked as such.
74
+ Each step shows the most serious problem of the repository. From most to least serious: uncommitted changes, unpushed commits, altered node_modules, then waiting for / outdated `dependencies`, `peerDependencies`, `optionalDependencies` and `devDependencies` (in that order; waiting means some outdated dependency has its own problems and comes earlier in the order), version not bumped, not published. Those that enter only because of their dependencies are marked as such.
75
75
 
76
76
  ## Usage
77
77
 
@@ -72,8 +72,11 @@ export interface CliOptions {
72
72
  * `label` es el nombre del archivo en los mensajes de error.
73
73
  */
74
74
  export declare function readDefaults(file: string, label: string): Defaults;
75
- /** Interpreta los argumentos. cleye muestra la ayuda y termina el proceso ante `--help`, `--version` o un flag desconocido. */
76
- export declare function parseArgs(argv: string[], defaults: Defaults): CliOptions;
75
+ /**
76
+ * Interpreta los argumentos. cleye muestra la ayuda y termina el proceso ante `--help`, `--version` o un flag desconocido.
77
+ * La primera línea de la salida es la versión, salvo que la salida sea JSON; `write` indica dónde se escribe (por omisión, la salida estándar).
78
+ */
79
+ export declare function parseArgs(argv: string[], defaults: Defaults, write?: (text: string) => void): CliOptions;
77
80
  export declare function describeProblem(problem: Problem): string;
78
81
  export declare const CATEGORY_LABEL: Record<ProblemCategory, string>;
79
82
  export declare function formatReport(report: BussingReport): string;
@@ -2,8 +2,8 @@
2
2
  // Línea de comandos de bussing. Es el único módulo que usa cleye y process.
3
3
  import { existsSync, readFileSync } from 'node:fs';
4
4
  import { homedir } from 'node:os';
5
- import { basename, dirname, join, resolve } from 'node:path';
6
- import { cli } from 'cleye';
5
+ import { basename, join, resolve } from 'node:path';
6
+ import { cli, parseCommandLine, runMain } from 'commendatore';
7
7
  import { guarantee, is } from 'guarantee-type';
8
8
  import { load } from 'js-yaml';
9
9
  import { DEFAULT_REGISTRY_URL, createNpmRegistry, reviewEnvironment } from './bussing.js';
@@ -12,6 +12,11 @@ export const EXIT_CODE = {
12
12
  error: 1,
13
13
  problems: 2,
14
14
  };
15
+ const EXIT_CODES = [
16
+ { code: EXIT_CODE.clean, description: 'sin problemas' },
17
+ { code: EXIT_CODE.error, description: 'error' },
18
+ { code: EXIT_CODE.problems, description: 'hay problemas' },
19
+ ];
15
20
  /** Archivo opcional, en la carpeta del usuario, con valores por omisión para los parámetros. */
16
21
  const DEFAULTS_FILE_NAME = '.bussing.yaml';
17
22
  /** Cómo se nombra el archivo de valores por omisión en los mensajes y en la ayuda. */
@@ -63,17 +68,6 @@ const defaultsFields = {
63
68
  json: is.optional.boolean,
64
69
  };
65
70
  const defaultsDescription = is.object(defaultsFields);
66
- /** Versión del package.json del propio paquete: el primero que se encuentra subiendo desde la carpeta de este módulo. */
67
- function packageVersion() {
68
- let dir = import.meta.dirname;
69
- while (!existsSync(join(dir, 'package.json'))) {
70
- const parent = dirname(dir);
71
- if (parent === dir)
72
- throw new Error('No se encontró el package.json de bussing');
73
- dir = parent;
74
- }
75
- return guarantee(is.object({ version: is.string }), JSON.parse(readFileSync(join(dir, 'package.json'), 'utf8'))).version;
76
- }
77
71
  /**
78
72
  * Lee el archivo de valores por omisión. Si no existe o está vacío no hay valores por omisión.
79
73
  * `label` es el nombre del archivo en los mensajes de error.
@@ -114,20 +108,23 @@ export function readDefaults(file, label) {
114
108
  defaults.ignore = typeof ignore === 'string' ? [ignore] : ignore;
115
109
  return defaults;
116
110
  }
117
- /** Interpreta los argumentos. cleye muestra la ayuda y termina el proceso ante `--help`, `--version` o un flag desconocido. */
118
- export function parseArgs(argv, defaults) {
119
- const parsed = cli({
120
- name: 'bussing',
121
- version: packageVersion(),
122
- flags,
123
- strictFlags: true,
124
- help: {
125
- description: 'Revisa los repositorios locales y muestra los que quedaron desprolijos y el orden en que conviene limpiarlos.\n' +
126
- `Los valores por omisión de los parámetros se pueden definir en ${DEFAULTS_FILE_LABEL} (las claves son los nombres de los parámetros).\n` +
127
- `Códigos de salida: ${EXIT_CODE.clean} sin problemas, ${EXIT_CODE.error} error, ${EXIT_CODE.problems} hay problemas.`,
128
- examples: ['bussing --path ../repos --path ../otros-repos --ignore repo-viejo', 'bussing --priority qa-control=1 --priority require-bro=-1', 'bussing --json'],
129
- },
130
- }, undefined, argv);
111
+ /**
112
+ * Interpreta los argumentos. cleye muestra la ayuda y termina el proceso ante `--help`, `--version` o un flag desconocido.
113
+ * La primera línea de la salida es la versión, salvo que la salida sea JSON; `write` indica dónde se escribe (por omisión, la salida estándar).
114
+ */
115
+ export function parseArgs(argv, defaults, write) {
116
+ const { parsed } = parseCommandLine({
117
+ moduleUrl: import.meta.url,
118
+ description: 'Revisa los repositorios locales y muestra los que quedaron desprolijos y el orden en que conviene limpiarlos.\n' +
119
+ `Los valores por omisión de los parámetros se pueden definir en ${DEFAULTS_FILE_LABEL} (las claves son los nombres de los parámetros).`,
120
+ examples: ['bussing --path ../repos --path ../otros-repos --ignore repo-viejo', 'bussing --priority qa-control=1 --priority require-bro=-1', 'bussing --json'],
121
+ exitCodes: EXIT_CODES,
122
+ }, function (base) {
123
+ return cli({ ...base, flags }, undefined, argv);
124
+ }, {
125
+ show: function (parsedArgs) { return !(parsedArgs.flags.json ?? defaults.json ?? false); },
126
+ ...(write === undefined ? {} : { write }),
127
+ });
131
128
  // las carpetas relativas son relativas a la carpeta actual, vengan de la línea de comandos o del archivo
132
129
  const roots = (parsed.flags.path.length > 0 ? parsed.flags.path : defaults.path ?? []).map(function (path) { return resolve(path); });
133
130
  if (roots.length === 0) {
@@ -183,12 +180,25 @@ function describeRepo(repo) {
183
180
  ...repo.warnings.map(function (warning) { return ' ? ' + describeWarning(warning); }),
184
181
  ];
185
182
  }
183
+ /** Sufijo de cada campo de dependencias en las etiquetas ("dependencias-dev desactualizadas", "por dependencia-peer"). */
184
+ const FIELD_SUFFIX = {
185
+ 'dependencies': '',
186
+ 'peerDependencies': '-peer',
187
+ 'optionalDependencies': '-opt',
188
+ 'devDependencies': '-dev',
189
+ };
186
190
  export const CATEGORY_LABEL = {
187
191
  'uncommitted': 'falta commitear',
188
192
  'unpushed': 'falta pushear',
189
193
  'altered-node-modules': 'node_modules alterado',
190
- 'waiting-dependencies': 'espera dependencias',
191
- 'outdated-dependencies': 'dependencias desactualizadas',
194
+ 'waiting-dependencies': `espera dependencias${FIELD_SUFFIX.dependencies}`,
195
+ 'outdated-dependencies': `dependencias${FIELD_SUFFIX.dependencies} desactualizadas`,
196
+ 'waiting-peer-dependencies': `espera dependencias${FIELD_SUFFIX.peerDependencies}`,
197
+ 'outdated-peer-dependencies': `dependencias${FIELD_SUFFIX.peerDependencies} desactualizadas`,
198
+ 'waiting-optional-dependencies': `espera dependencias${FIELD_SUFFIX.optionalDependencies}`,
199
+ 'outdated-optional-dependencies': `dependencias${FIELD_SUFFIX.optionalDependencies} desactualizadas`,
200
+ 'waiting-dev-dependencies': `espera dependencias${FIELD_SUFFIX.devDependencies}`,
201
+ 'outdated-dev-dependencies': `dependencias${FIELD_SUFFIX.devDependencies} desactualizadas`,
192
202
  'version-not-bumped': 'falta subir versión',
193
203
  'unpublished': 'falta publicar',
194
204
  };
@@ -201,7 +211,8 @@ function describeStep(step) {
201
211
  if (step.deferred.length > 0)
202
212
  details.push(`ciclo: ${step.deferred.join(', ')} ${step.deferred.length === 1 ? 'se actualiza' : 'se actualizan'} después`);
203
213
  const folder = basename(step.dir);
204
- const label = step.mainProblem === null ? 'por dependencia' : CATEGORY_LABEL[step.mainProblem];
214
+ const label = step.mainProblem !== null ? CATEGORY_LABEL[step.mainProblem]
215
+ : `por dependencia${step.dependencyField === null ? '' : FIELD_SUFFIX[step.dependencyField]}`;
205
216
  return ` ${step.level + 1}. ${step.name}${folder === step.name ? '' : ` [${folder}]`} ${label}` + (details.length > 0 ? ` (${details.join('; ')})` : '');
206
217
  }
207
218
  export function formatReport(report) {
@@ -244,9 +255,6 @@ export async function main(argv) {
244
255
  }
245
256
  // Solo se ejecuta al invocarlo como programa (no al importarlo desde los tests)
246
257
  if (import.meta.main) {
247
- main(process.argv.slice(2)).then(function (code) { process.exitCode = code; }, function (err) {
248
- process.stderr.write(`${err instanceof Error ? err.stack ?? err.message : String(err)}\n`);
249
- process.exitCode = EXIT_CODE.error;
250
- });
258
+ runMain(function () { return main(process.argv.slice(2)); }, EXIT_CODE.error);
251
259
  }
252
260
  //# sourceMappingURL=bussing-cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bussing-cli.js","sourceRoot":"","sources":["../src/bussing-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bussing-cli.js","sourceRoot":"","sources":["../src/bussing-cli.ts"],"names":[],"mappings":"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"}
package/dist/bussing.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { BussingOptions, BussingReport } from './types.js';
2
2
  export type * from './types.js';
3
3
  export { createNpmRegistry, DEFAULT_REGISTRY_URL } from './registry.js';
4
- export { mainCategory, PROBLEM_CATEGORIES, PROBLEM_CATEGORY } from './categories.js';
4
+ export { DEPENDENCY_CATEGORY, mainCategory, PROBLEM_CATEGORIES, PROBLEM_CATEGORY, problemCategory, REACHES_DEPENDENTS } from './categories.js';
5
5
  export declare function reviewEnvironment(options: BussingOptions): Promise<BussingReport>;
package/dist/bussing.js CHANGED
@@ -1,14 +1,14 @@
1
1
  // bussing: revisa el ambiente local de repositorios y arma el orden de limpieza.
2
2
  // Es la librería (el core): no lee process.argv, no escribe en la salida y no termina el proceso.
3
3
  import { basename } from 'node:path';
4
- import { mainCategory } from './categories.js';
4
+ import { fieldGravity, mainCategory, problemCategory, REACHES_DEPENDENTS } from './categories.js';
5
5
  import { checkCrossDependencies, checkGit, checkInstallation, checkPublication } from './checks.js';
6
6
  import { computeCleanupOrder } from './order.js';
7
7
  import { createNpmRegistry } from './registry.js';
8
8
  import { declaredDependencies, findRepos, ORDER_DEPENDENCY_FIELDS, readPackageJson, WEAK_ORDER_DEPENDENCY_FIELDS } from './repos.js';
9
9
  import { defined, mustGet } from './util.js';
10
10
  export { createNpmRegistry, DEFAULT_REGISTRY_URL } from './registry.js';
11
- export { mainCategory, PROBLEM_CATEGORIES, PROBLEM_CATEGORY } from './categories.js';
11
+ export { DEPENDENCY_CATEGORY, mainCategory, PROBLEM_CATEGORIES, PROBLEM_CATEGORY, problemCategory, REACHES_DEPENDENTS } from './categories.js';
12
12
  /** Cantidad de repositorios que se revisan en paralelo. */
13
13
  const CONCURRENCY = 8;
14
14
  async function mapWithConcurrency(items, limit, fn) {
@@ -97,15 +97,20 @@ export async function reviewEnvironment(options) {
97
97
  await runCheck(report, 'cross-dependencies', function () { return checkCrossDependencies(pkg, localVersions); });
98
98
  await runCheck(report, 'installation', function () { return checkInstallation(report.dir, localNames, registry); });
99
99
  });
100
+ /** Repositorios revisados de los que depende en los campos indicados, con el campo más grave si figura en varios. */
100
101
  function localDependencies(report, pkg, fields) {
101
- const result = new Set();
102
+ const result = new Map();
102
103
  for (const dep of pkg === null ? [] : declaredDependencies(pkg, fields)) {
103
104
  const depDir = uniqueDirByName.get(dep.name);
104
- if (depDir !== undefined && depDir !== report.dir)
105
- result.add(depDir);
105
+ if (depDir === undefined || depDir === report.dir)
106
+ continue;
107
+ const previous = result.get(depDir);
108
+ if (previous === undefined || fieldGravity(dep.field) < fieldGravity(previous))
109
+ result.set(depDir, dep.field);
106
110
  }
107
- return [...result];
111
+ return [...result].map(function ([dir, field]) { return { dir, field }; });
108
112
  }
113
+ const noWait = function () { return false; };
109
114
  const priority = new Map(Object.entries(options.dependencyPriority ?? {}));
110
115
  for (const name of priority.keys()) {
111
116
  if (!uniqueDirByName.has(name))
@@ -115,14 +120,15 @@ export async function reviewEnvironment(options) {
115
120
  return {
116
121
  dir: report.dir,
117
122
  name: report.name ?? basename(report.dir),
118
- mainProblem: mainCategory(report.problems, function () { return false; }),
123
+ mainProblem: mainCategory(report.problems, noWait),
124
+ reachesDependents: report.problems.some(function (problem) { return REACHES_DEPENDENTS[problemCategory(problem, noWait)]; }),
119
125
  dependsOn: localDependencies(report, pkg, ORDER_DEPENDENCY_FIELDS),
120
- weakDependsOn: localDependencies(report, pkg, WEAK_ORDER_DEPENDENCY_FIELDS),
126
+ weakDependsOn: localDependencies(report, pkg, WEAK_ORDER_DEPENDENCY_FIELDS).map(function (dep) { return dep.dir; }),
121
127
  };
122
128
  });
123
129
  const cleanupOrder = computeCleanupOrder(nodes, priority);
124
- // "espera dependencias" solo si alguna dependencia desactualizada con problemas propios queda antes en el orden
125
- const hasProblems = new Set(repos.filter(function (repo) { return repo.report.problems.length > 0; }).map(function (repo) { return repo.report.name; }));
130
+ // "espera dependencias" solo si alguna dependencia desactualizada tiene problemas que llegan a quien la usa y queda antes en el orden
131
+ const hasProblems = new Set(nodes.filter(function (node) { return node.reachesDependents; }).map(function (node) { return node.name; }));
126
132
  const reportByDir = new Map(repos.map(function (repo) { return [repo.report.dir, repo.report]; }));
127
133
  for (const step of cleanupOrder) {
128
134
  step.mainProblem = mainCategory(mustGet(reportByDir, step.dir).problems, function (name) {
@@ -1 +1 @@
1
- {"version":3,"file":"bussing.js","sourceRoot":"","sources":["../src/bussing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bussing.js","sourceRoot":"","sources":["../src/bussing.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,25 @@
1
- import type { Problem, ProblemCategory, ProblemKind } from './types.js';
1
+ import type { DependencyField, Problem, ProblemCategory, ProblemKind } from './types.js';
2
2
  /**
3
3
  * De la más grave a la menos grave. Primero lo que puede hacer perder trabajo, después lo que hace fallar en otros entornos.
4
4
  * Las dependencias desactualizadas van antes de subir la versión porque al corregirlas cambia el package.json.
5
+ * Entre ellas pesa primero el campo (productivas, peer, opcionales, dev) y, dentro de un campo, esperar va antes.
5
6
  */
6
7
  export declare const PROBLEM_CATEGORIES: readonly ProblemCategory[];
7
- /** Categoría de cada tipo de problema. `waiting-dependencies` no corresponde a un tipo: la determina `mainCategory`. */
8
- export declare const PROBLEM_CATEGORY: Record<ProblemKind, ProblemCategory>;
8
+ /** Categoría de cada tipo de problema, salvo las dependencias desactualizadas (ver `DEPENDENCY_CATEGORY`). */
9
+ export declare const PROBLEM_CATEGORY: Record<Exclude<ProblemKind, 'outdated-dependency'>, ProblemCategory>;
10
+ /** Categoría de una dependencia desactualizada según el campo en que figura y si hay que esperarla. */
11
+ export declare const DEPENDENCY_CATEGORY: Record<DependencyField, {
12
+ waiting: ProblemCategory;
13
+ outdated: ProblemCategory;
14
+ }>;
9
15
  /**
10
- * Categoría más grave entre los problemas; `null` si no hay problemas.
11
- * Si la más grave es `outdated-dependencies` y hay que esperar a alguna de esas dependencias (`mustWait`),
12
- * la categoría es `waiting-dependencies`.
16
+ * Si el problema llega a quien usa el paquete (y por lo tanto los repositorios que dependen de él entran en la lista de
17
+ * limpieza). No llegan las devDependencies desactualizadas ni node_modules alterado (es la instalación local, no el contenido).
13
18
  */
19
+ export declare const REACHES_DEPENDENTS: Record<ProblemCategory, boolean>;
20
+ /** Gravedad de un campo de dependencias (menor es más grave), según el lugar de sus categorías en `PROBLEM_CATEGORIES`. */
21
+ export declare function fieldGravity(field: DependencyField): number;
22
+ /** Categoría de un problema. Una dependencia desactualizada es `waiting-*` si hay que esperarla (`mustWait`). */
23
+ export declare function problemCategory(problem: Problem, mustWait: (name: string) => boolean): ProblemCategory;
24
+ /** Categoría más grave entre los problemas; `null` si no hay problemas. */
14
25
  export declare function mainCategory(problems: Problem[], mustWait: (name: string) => boolean): ProblemCategory | null;
@@ -2,6 +2,7 @@
2
2
  /**
3
3
  * De la más grave a la menos grave. Primero lo que puede hacer perder trabajo, después lo que hace fallar en otros entornos.
4
4
  * Las dependencias desactualizadas van antes de subir la versión porque al corregirlas cambia el package.json.
5
+ * Entre ellas pesa primero el campo (productivas, peer, opcionales, dev) y, dentro de un campo, esperar va antes.
5
6
  */
6
7
  export const PROBLEM_CATEGORIES = [
7
8
  'uncommitted',
@@ -9,37 +10,72 @@ export const PROBLEM_CATEGORIES = [
9
10
  'altered-node-modules',
10
11
  'waiting-dependencies',
11
12
  'outdated-dependencies',
13
+ 'waiting-peer-dependencies',
14
+ 'outdated-peer-dependencies',
15
+ 'waiting-optional-dependencies',
16
+ 'outdated-optional-dependencies',
17
+ 'waiting-dev-dependencies',
18
+ 'outdated-dev-dependencies',
12
19
  'version-not-bumped',
13
20
  'unpublished',
14
21
  ];
15
- /** Categoría de cada tipo de problema. `waiting-dependencies` no corresponde a un tipo: la determina `mainCategory`. */
22
+ /** Categoría de cada tipo de problema, salvo las dependencias desactualizadas (ver `DEPENDENCY_CATEGORY`). */
16
23
  export const PROBLEM_CATEGORY = {
17
24
  'uncommitted': 'uncommitted',
18
25
  'unpushed': 'unpushed',
19
26
  'no-upstream': 'unpushed',
20
27
  'linked-dependency': 'altered-node-modules',
21
28
  'copied-dependency': 'altered-node-modules',
22
- 'outdated-dependency': 'outdated-dependencies',
23
29
  'version-not-bumped': 'version-not-bumped',
24
30
  'unpublished-version': 'unpublished',
25
31
  'not-published': 'unpublished',
26
32
  };
33
+ /** Categoría de una dependencia desactualizada según el campo en que figura y si hay que esperarla. */
34
+ export const DEPENDENCY_CATEGORY = {
35
+ 'dependencies': { waiting: 'waiting-dependencies', outdated: 'outdated-dependencies' },
36
+ 'peerDependencies': { waiting: 'waiting-peer-dependencies', outdated: 'outdated-peer-dependencies' },
37
+ 'optionalDependencies': { waiting: 'waiting-optional-dependencies', outdated: 'outdated-optional-dependencies' },
38
+ 'devDependencies': { waiting: 'waiting-dev-dependencies', outdated: 'outdated-dev-dependencies' },
39
+ };
27
40
  /**
28
- * Categoría más grave entre los problemas; `null` si no hay problemas.
29
- * Si la más grave es `outdated-dependencies` y hay que esperar a alguna de esas dependencias (`mustWait`),
30
- * la categoría es `waiting-dependencies`.
41
+ * Si el problema llega a quien usa el paquete (y por lo tanto los repositorios que dependen de él entran en la lista de
42
+ * limpieza). No llegan las devDependencies desactualizadas ni node_modules alterado (es la instalación local, no el contenido).
31
43
  */
44
+ export const REACHES_DEPENDENTS = {
45
+ 'uncommitted': true,
46
+ 'unpushed': true,
47
+ 'altered-node-modules': false,
48
+ 'waiting-dependencies': true,
49
+ 'outdated-dependencies': true,
50
+ 'waiting-peer-dependencies': true,
51
+ 'outdated-peer-dependencies': true,
52
+ 'waiting-optional-dependencies': true,
53
+ 'outdated-optional-dependencies': true,
54
+ 'waiting-dev-dependencies': false,
55
+ 'outdated-dev-dependencies': false,
56
+ 'version-not-bumped': true,
57
+ 'unpublished': true,
58
+ };
59
+ /** Gravedad de un campo de dependencias (menor es más grave), según el lugar de sus categorías en `PROBLEM_CATEGORIES`. */
60
+ export function fieldGravity(field) {
61
+ return PROBLEM_CATEGORIES.indexOf(DEPENDENCY_CATEGORY[field].outdated);
62
+ }
63
+ /** Categoría de un problema. Una dependencia desactualizada es `waiting-*` si hay que esperarla (`mustWait`). */
64
+ export function problemCategory(problem, mustWait) {
65
+ if (problem.kind === 'outdated-dependency') {
66
+ const categories = DEPENDENCY_CATEGORY[problem.field];
67
+ return mustWait(problem.dependency) ? categories.waiting : categories.outdated;
68
+ }
69
+ return PROBLEM_CATEGORY[problem.kind];
70
+ }
71
+ /** Categoría más grave entre los problemas; `null` si no hay problemas. */
32
72
  export function mainCategory(problems, mustWait) {
33
- for (const category of PROBLEM_CATEGORIES) {
34
- if (problems.some(function (problem) { return PROBLEM_CATEGORY[problem.kind] === category; })) {
35
- if (category === 'outdated-dependencies' && problems.some(function (problem) {
36
- return problem.kind === 'outdated-dependency' && mustWait(problem.dependency);
37
- })) {
38
- return 'waiting-dependencies';
39
- }
40
- return category;
41
- }
73
+ let best = null;
74
+ for (const problem of problems) {
75
+ const index = PROBLEM_CATEGORIES.indexOf(problemCategory(problem, mustWait));
76
+ if (best === null || index < best)
77
+ best = index;
42
78
  }
43
- return null;
79
+ return best === null ? null : PROBLEM_CATEGORIES[best] ?? null;
44
80
  }
45
81
  //# sourceMappingURL=categories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAIzC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC1D,aAAa;IACb,UAAU;IACV,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,oBAAoB;IACpB,aAAa;CAChB,CAAC;AAEF,wHAAwH;AACxH,MAAM,CAAC,MAAM,gBAAgB,GAAyC;IAClE,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,UAAU;IACzB,mBAAmB,EAAE,sBAAsB;IAC3C,mBAAmB,EAAE,sBAAsB;IAC3C,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,oBAAoB;IAC1C,qBAAqB,EAAE,aAAa;IACpC,eAAe,EAAE,aAAa;CACjC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,QAAmB,EAAE,QAAmC;IACjF,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;QACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,OAAO,IAAI,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,IAAI,QAAQ,KAAK,uBAAuB,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,OAAO;gBACvE,OAAO,OAAO,CAAC,IAAI,KAAK,qBAAqB,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClF,CAAC,CAAC,EAAE,CAAC;gBACD,OAAO,sBAAsB,CAAC;YAClC,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"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"}
package/dist/order.d.ts CHANGED
@@ -1,12 +1,17 @@
1
- import type { CleanupStep, ProblemCategory } from './types.js';
1
+ import type { CleanupStep, DependencyField, ProblemCategory } from './types.js';
2
2
  export interface OrderNode {
3
3
  /** Identifica al nodo (la carpeta del repositorio, porque dos repositorios pueden tener el mismo nombre). */
4
4
  dir: string;
5
5
  name: string;
6
6
  /** Categoría del problema propio más grave; `null` si no tiene problemas propios. */
7
7
  mainProblem: ProblemCategory | null;
8
- /** Carpetas de los repositorios revisados de los que depende (dependencias fuertes: siempre se respetan en el orden). */
9
- dependsOn: string[];
8
+ /** Si tiene algún problema que llega a quien usa el paquete (ver `REACHES_DEPENDENTS`). */
9
+ reachesDependents: boolean;
10
+ /** Repositorios revisados de los que depende (dependencias fuertes: siempre se respetan en el orden), con el campo más grave. */
11
+ dependsOn: {
12
+ dir: string;
13
+ field: DependencyField;
14
+ }[];
10
15
  /** Carpetas de los repositorios revisados de los que depende como devDependency (débiles: se respetan salvo que cierren un ciclo). */
11
16
  weakDependsOn: string[];
12
17
  }
package/dist/order.js CHANGED
@@ -1,6 +1,8 @@
1
1
  // Orden de limpieza: repositorios con problemas y los que dependen de ellos, en orden topológico.
2
- // Las dependencias fuertes (dependencies, optionalDependencies, peerDependencies) definen quién entra en la lista y se
3
- // respetan siempre; las débiles (devDependencies) solo ordenan, y se descartan si cierran un ciclo.
2
+ // Entran los repositorios con problemas propios y, por sus dependencias fuertes (dependencies, optionalDependencies,
3
+ // peerDependencies), los que dependen de un repositorio con problemas que llegan a quien lo usa. Las dependencias fuertes se
4
+ // respetan siempre en el orden; las débiles (devDependencies) solo ordenan, y se descartan si cierran un ciclo.
5
+ import { fieldGravity } from './categories.js';
4
6
  import { defined, mustGet } from './util.js';
5
7
  function byName(a, b) {
6
8
  return a.name < b.name ? -1 : a.name > b.name ? 1 : a.dir < b.dir ? -1 : a.dir > b.dir ? 1 : 0;
@@ -65,21 +67,25 @@ export function computeCleanupOrder(nodes, priority = new Map()) {
65
67
  const dependents = new Map();
66
68
  for (const node of nodes) {
67
69
  for (const dep of node.dependsOn)
68
- dependents.set(dep, [...(dependents.get(dep) ?? []), node.dir]);
70
+ dependents.set(dep.dir, [...(dependents.get(dep.dir) ?? []), node.dir]);
69
71
  }
70
72
  // Los repositorios con problemas propios y, transitivamente por las dependencias fuertes, los que dependen de ellos
71
- const included = new Set();
72
- const pending = nodes.filter(function (node) { return node.mainProblem !== null; }).map(function (node) { return node.dir; });
73
+ // Entran los que tienen problemas propios; los que dependen (transitivamente) de uno cuyos problemas llegan a quien lo usa
74
+ // entran también y, a su vez, hacen entrar a los que dependen de ellos
75
+ const included = new Set(nodes.filter(function (node) { return node.mainProblem !== null; }).map(function (node) { return node.dir; }));
76
+ const reaching = new Set();
77
+ const pending = nodes.filter(function (node) { return node.reachesDependents; }).map(function (node) { return node.dir; });
73
78
  while (pending.length > 0) {
74
79
  const dir = defined(pending.pop(), 'pendiente');
75
- if (included.has(dir))
80
+ if (reaching.has(dir))
76
81
  continue;
82
+ reaching.add(dir);
77
83
  included.add(dir);
78
84
  pending.push(...(dependents.get(dir) ?? []));
79
85
  }
80
86
  const dirs = [...included].sort();
81
87
  const strongEdges = new Map(dirs.map(function (dir) {
82
- return [dir, mustGet(byDir, dir).dependsOn.filter(function (dep) { return included.has(dep); })];
88
+ return [dir, mustGet(byDir, dir).dependsOn.map(function (dep) { return dep.dir; }).filter(function (dep) { return included.has(dep); })];
83
89
  }));
84
90
  // Los ciclos de dependencias fuertes forman un solo paso
85
91
  const component = stronglyConnectedComponents(dirs, strongEdges);
@@ -144,6 +150,10 @@ export function computeCleanupOrder(nodes, priority = new Map()) {
144
150
  dir,
145
151
  level: levelOf(id),
146
152
  mainProblem: node.mainProblem,
153
+ dependencyField: node.mainProblem !== null ? null : node.dependsOn
154
+ .filter(function (dep) { return reaching.has(dep.dir); })
155
+ .map(function (dep) { return dep.field; })
156
+ .sort(function (a, b) { return fieldGravity(a) - fieldGravity(b); })[0] ?? null,
147
157
  dependsOn: names([...new Set(deps)]),
148
158
  deferred: names(mustGet(deferredWeak, dir)),
149
159
  inCycleWith: names(dirs.filter(function (other) { return other !== dir && mustGet(component, other) === id; })),
package/dist/order.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"order.js","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,uHAAuH;AACvH,oGAAoG;AAGpG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAc7C,SAAS,MAAM,CAAC,CAAgC,EAAE,CAAgC;IAC9E,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,0GAA0G;AAC1G,SAAS,2BAA2B,CAAC,IAAc,EAAE,KAA4B;IAC7E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,SAAS,KAAK,CAAC,GAAW;QACtB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACxB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtB,OAAO,EAAE,CAAC;QACV,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,CAAC;gBACZ,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,MAAc,CAAC;YACnB,GAAG,CAAC;gBACA,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBACrD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvB,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtC,CAAC,QAAQ,MAAM,KAAK,GAAG,EAAE;YACzB,UAAU,EAAE,CAAC;QACjB,CAAC;IACL,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,oEAAoE;AACpE,SAAS,OAAO,CAAC,KAA+B,EAAE,IAAY,EAAE,EAAU;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QACnC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,6HAA6H;AAC7H,MAAM,UAAU,mBAAmB,CAAC,KAAkB,EAAE,QAAQ,GAAgC,IAAI,GAAG,EAAE;IACrG,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtG,CAAC;IACD,oHAAoH;IACpH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAChC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG;QAC9C,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAU,CAAC;IAC9G,CAAC,CAAC,CAAC,CAAC;IACJ,yDAAyD;IACzD,MAAM,SAAS,GAAG,2BAA2B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;IACtD,SAAS,gBAAgB,CAAC,IAAY,EAAE,EAAU;QAC9C,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAC1D,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;gBAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QAChI,CAAC;IACL,CAAC;IACD,uHAAuH;IACvH,kIAAkI;IAClI,MAAM,YAAY,GAAG,IAAI,GAAG,CAAmB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,CAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAmB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,CAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,MAAM,UAAU,GAAG,UAAU,GAAW,IAAY,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1G,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,aAAa;YAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3G,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3J,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3B,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IACD,uHAAuH;IACvH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,SAAS,OAAO,CAAC,EAAU;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAkB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,IAAc,IAAc,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/H,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,OAAO,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7I,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG;YACH,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAClB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC3C,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,OAAO,KAAK,KAAK,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAClH,CAAC;IACN,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -82,8 +82,8 @@ export type Problem = {
82
82
  export type ProblemKind = Problem['kind'];
83
83
  /** Categorías de problemas, de la más grave a la menos grave (ver `PROBLEM_CATEGORIES` y `PROBLEM_CATEGORY`). */
84
84
  export type ProblemCategory = 'uncommitted' | 'unpushed' | 'altered-node-modules'
85
- /** Tiene dependencias desactualizadas y alguna de ellas tiene a su vez problemas propios. */
86
- | 'waiting-dependencies' | 'outdated-dependencies' | 'version-not-bumped' | 'unpublished';
85
+ /** Tiene dependencias desactualizadas y alguna de ellas, con problemas propios, va antes en el orden (`waiting-*`). */
86
+ | 'waiting-dependencies' | 'outdated-dependencies' | 'waiting-peer-dependencies' | 'outdated-peer-dependencies' | 'waiting-optional-dependencies' | 'outdated-optional-dependencies' | 'waiting-dev-dependencies' | 'outdated-dev-dependencies' | 'version-not-bumped' | 'unpublished';
87
87
  export type CheckName = 'repo' | 'git' | 'publication' | 'cross-dependencies' | 'installation' | 'order';
88
88
  /** Situación que impidió completar un control o que conviene revisar, pero que no es un problema en sí. */
89
89
  export interface Warning {
@@ -106,6 +106,11 @@ export interface CleanupStep {
106
106
  level: number;
107
107
  /** Categoría del problema propio más grave; `null` si está en la lista solo por sus dependencias. */
108
108
  mainProblem: ProblemCategory | null;
109
+ /**
110
+ * Si está en la lista solo por sus dependencias (`mainProblem` es `null`): el campo más grave por el que depende de un
111
+ * repositorio con problemas que llegan a quien lo usa. `null` si tiene problemas propios.
112
+ */
113
+ dependencyField: DependencyField | null;
109
114
  /** Repositorios de la lista de limpieza de los que depende. */
110
115
  dependsOn: string[];
111
116
  /** Repositorios con los que forma un ciclo de dependencias fuertes (vacío si no hay ciclo). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bussing",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Revisa el ambiente local de repositorios después de una tarea: cambios sin commitear o pushear, versiones sin subir o publicar, dependencias cruzadas desactualizadas e instalaciones contaminadas por npm link o devel-sync",
5
5
  "author": "ari.dc.uba.ar",
6
6
  "license": "MIT",
@@ -24,13 +24,11 @@
24
24
  },
25
25
  "scripts": {
26
26
  "build": "tsc",
27
- "build:test": "tsc -p test/tsconfig.json",
28
- "test": "npm run build && npm run build:test && mocha",
29
- "test-ci": "npm run build && npm run build:test && c8 mocha",
30
- "prepublishOnly": "npm run build"
27
+ "test": "tsc -p test && mocha",
28
+ "test-ci": "tsc -p test && c8 mocha"
31
29
  },
32
30
  "dependencies": {
33
- "cleye": "^2.7.0",
31
+ "commendatore": "^0.0.2",
34
32
  "guarantee-type": "^0.2.13",
35
33
  "js-yaml": "^5.4.3",
36
34
  "semver": "^7.8.5",