bussing 0.0.3 → 0.1.1
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 +4 -2
- package/dist/bussing-cli.d.ts +21 -4
- package/dist/bussing-cli.js +78 -37
- package/dist/bussing-cli.js.map +1 -1
- package/dist/bussing.d.ts +1 -1
- package/dist/bussing.js +34 -13
- package/dist/bussing.js.map +1 -1
- package/dist/categories.d.ts +27 -6
- package/dist/categories.js +65 -15
- package/dist/categories.js.map +1 -1
- package/dist/order.d.ts +13 -3
- package/dist/order.js +70 -8
- package/dist/order.js.map +1 -1
- package/dist/types.d.ts +12 -2
- package/package.json +5 -7
package/README.md
CHANGED
|
@@ -67,11 +67,13 @@ For each dependency in `node_modules`:
|
|
|
67
67
|
|
|
68
68
|
### 5. Cleanup order
|
|
69
69
|
|
|
70
|
-
With the untidy repositories
|
|
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 (
|
|
74
|
+
Each step shows the most serious problem of the repository. From most to least serious (in parentheses, the key used by `--up-to` and the JSON): uncommitted changes (`uncommitted`), unpushed commits (`unpushed`), altered node_modules (`altered-node-modules`), then waiting for / outdated `dependencies`, `peerDependencies` and `optionalDependencies` (`waiting-dependencies`, `outdated-dependencies`, `waiting-peer-dependencies`, `outdated-peer-dependencies`, `waiting-optional-dependencies`, `outdated-optional-dependencies`; waiting means some outdated dependency has its own problems and comes earlier in the order), version not bumped (`version-not-bumped`), not published (`unpublished`), and finally waiting for / outdated `devDependencies` (`waiting-dev-dependencies`, `outdated-dev-dependencies`), which do not reach the package's users and are not needed to publish.
|
|
75
|
+
|
|
76
|
+
`--up-to <key>` chooses the least serious category of interest; less serious ones are not reported nor used for the order, and the checks that could only produce them are skipped (for example, without `version-not-bumped` npm is not queried). The default is `unpublished`, so devDependencies are not shown; `--dev` is the same as `--up-to outdated-dev-dependencies`. Both categories of a dependency field are included or excluded together. Dependencies outside the threshold (by default, devDependencies) do not define the step numbers, but they do order the repositories within each number, also using `--priority` to break cycles. Those that enter only because of their dependencies are marked as such.
|
|
75
77
|
|
|
76
78
|
## Usage
|
|
77
79
|
|
package/dist/bussing-cli.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export declare const DEFAULTS_FILE_LABEL = "~/.bussing.yaml";
|
|
|
11
11
|
export declare function defaultsPath(): string;
|
|
12
12
|
/** Interpreta `paquete=número` (el número puede ser negativo). */
|
|
13
13
|
export declare function parsePriority(value: string): [string, number];
|
|
14
|
+
/** Interpreta el nombre de una categoría (las claves del informe JSON). `source` indica de dónde viene, para el mensaje de error. */
|
|
15
|
+
export declare function parseCategory(value: string, source?: string): ProblemCategory;
|
|
14
16
|
declare const defaultsDescription: {
|
|
15
17
|
object: {
|
|
16
18
|
path: {
|
|
@@ -42,6 +44,16 @@ declare const defaultsDescription: {
|
|
|
42
44
|
};
|
|
43
45
|
};
|
|
44
46
|
};
|
|
47
|
+
'up-to': {
|
|
48
|
+
optional: {
|
|
49
|
+
string: import("guarantee-type").Opts;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
dev: {
|
|
53
|
+
optional: {
|
|
54
|
+
boolean: import("guarantee-type").Opts;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
45
57
|
registry: {
|
|
46
58
|
optional: {
|
|
47
59
|
string: import("guarantee-type").Opts;
|
|
@@ -55,14 +67,16 @@ declare const defaultsDescription: {
|
|
|
55
67
|
};
|
|
56
68
|
};
|
|
57
69
|
type DefaultsFile = GuaranteedType<typeof defaultsDescription>;
|
|
58
|
-
/** Valores por omisión ya normalizados: `path` e `ignore` siempre son listas. */
|
|
59
|
-
export type Defaults = Omit<DefaultsFile, 'path' | 'ignore'> & {
|
|
70
|
+
/** Valores por omisión ya normalizados: `path` e `ignore` siempre son listas y `up-to` es una categoría válida. */
|
|
71
|
+
export type Defaults = Omit<DefaultsFile, 'path' | 'ignore' | 'up-to'> & {
|
|
60
72
|
path?: string[];
|
|
61
73
|
ignore?: string[];
|
|
74
|
+
'up-to'?: ProblemCategory;
|
|
62
75
|
};
|
|
63
76
|
export interface CliOptions {
|
|
64
77
|
roots: string[];
|
|
65
78
|
ignore: string[];
|
|
79
|
+
upTo: ProblemCategory;
|
|
66
80
|
priority: Record<string, number>;
|
|
67
81
|
registry: string;
|
|
68
82
|
json: boolean;
|
|
@@ -72,8 +86,11 @@ export interface CliOptions {
|
|
|
72
86
|
* `label` es el nombre del archivo en los mensajes de error.
|
|
73
87
|
*/
|
|
74
88
|
export declare function readDefaults(file: string, label: string): Defaults;
|
|
75
|
-
/**
|
|
76
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Interpreta los argumentos. cleye muestra la ayuda y termina el proceso ante `--help`, `--version` o un flag desconocido.
|
|
91
|
+
* 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).
|
|
92
|
+
*/
|
|
93
|
+
export declare function parseArgs(argv: string[], defaults: Defaults, write?: (text: string) => void): CliOptions;
|
|
77
94
|
export declare function describeProblem(problem: Problem): string;
|
|
78
95
|
export declare const CATEGORY_LABEL: Record<ProblemCategory, string>;
|
|
79
96
|
export declare function formatReport(report: BussingReport): string;
|
package/dist/bussing-cli.js
CHANGED
|
@@ -2,16 +2,21 @@
|
|
|
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,
|
|
6
|
-
import { cli } from '
|
|
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
|
-
import { DEFAULT_REGISTRY_URL, createNpmRegistry, reviewEnvironment } from './bussing.js';
|
|
9
|
+
import { DEFAULT_REGISTRY_URL, DEFAULT_UP_TO, PROBLEM_CATEGORIES, createNpmRegistry, reviewEnvironment } from './bussing.js';
|
|
10
10
|
export const EXIT_CODE = {
|
|
11
11
|
clean: 0,
|
|
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. */
|
|
@@ -27,6 +32,15 @@ export function parsePriority(value) {
|
|
|
27
32
|
}
|
|
28
33
|
return [match[1], Number(match[2])];
|
|
29
34
|
}
|
|
35
|
+
/** Categoría a la que equivale `--dev`: incluye las dos categorías de devDependencies, que son las menos graves. */
|
|
36
|
+
const DEV_UP_TO = 'outdated-dev-dependencies';
|
|
37
|
+
/** Interpreta el nombre de una categoría (las claves del informe JSON). `source` indica de dónde viene, para el mensaje de error. */
|
|
38
|
+
export function parseCategory(value, source = '--up-to') {
|
|
39
|
+
const category = PROBLEM_CATEGORIES.find(function (candidate) { return candidate === value; });
|
|
40
|
+
if (category === undefined)
|
|
41
|
+
throw new Error(`${source} ${value} no es una categoría (las categorías son: ${PROBLEM_CATEGORIES.join(', ')})`);
|
|
42
|
+
return category;
|
|
43
|
+
}
|
|
30
44
|
/** Parámetros de la línea de comandos. Las mismas claves se pueden usar en el archivo de valores por omisión. */
|
|
31
45
|
const flags = {
|
|
32
46
|
path: {
|
|
@@ -43,6 +57,14 @@ const flags = {
|
|
|
43
57
|
description: 'Prioridad de un paquete como devDependency al romper ciclos del orden de limpieza, como paquete=número ' +
|
|
44
58
|
'(por omisión 0; las de mayor número se respetan primero); se puede repetir',
|
|
45
59
|
},
|
|
60
|
+
'up-to': {
|
|
61
|
+
type: function (value) { return parseCategory(value); },
|
|
62
|
+
description: `Categoría menos grave que se informa (por omisión ${DEFAULT_UP_TO}). De más grave a menos grave: ${PROBLEM_CATEGORIES.join(', ')}`,
|
|
63
|
+
},
|
|
64
|
+
dev: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
description: `Incluye las devDependencies (equivale a --up-to ${DEV_UP_TO})`,
|
|
67
|
+
},
|
|
46
68
|
registry: {
|
|
47
69
|
type: String,
|
|
48
70
|
description: `URL del registro de npm (por omisión ${DEFAULT_REGISTRY_URL})`,
|
|
@@ -59,21 +81,12 @@ const defaultsFields = {
|
|
|
59
81
|
ignore: { optional: is.union([is.string, is.array.string]) },
|
|
60
82
|
// en el archivo es un mapa paquete: número
|
|
61
83
|
priority: is.optional.recordString.number,
|
|
84
|
+
'up-to': is.optional.string,
|
|
85
|
+
dev: is.optional.boolean,
|
|
62
86
|
registry: is.optional.string,
|
|
63
87
|
json: is.optional.boolean,
|
|
64
88
|
};
|
|
65
89
|
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
90
|
/**
|
|
78
91
|
* Lee el archivo de valores por omisión. Si no existe o está vacío no hay valores por omisión.
|
|
79
92
|
* `label` es el nombre del archivo en los mensajes de error.
|
|
@@ -106,36 +119,52 @@ export function readDefaults(file, label) {
|
|
|
106
119
|
catch (err) {
|
|
107
120
|
throw new Error(`${label} tiene valores de tipo incorrecto (${err instanceof Error ? err.message : String(err)})`);
|
|
108
121
|
}
|
|
109
|
-
const { path, ignore, ...others } = values;
|
|
122
|
+
const { path, ignore, 'up-to': upTo, ...others } = values;
|
|
110
123
|
const defaults = others;
|
|
111
124
|
if (path !== undefined)
|
|
112
125
|
defaults.path = typeof path === 'string' ? [path] : path;
|
|
113
126
|
if (ignore !== undefined)
|
|
114
127
|
defaults.ignore = typeof ignore === 'string' ? [ignore] : ignore;
|
|
128
|
+
if (upTo !== undefined)
|
|
129
|
+
defaults['up-to'] = parseCategory(upTo, `${label} up-to`);
|
|
130
|
+
if (defaults.dev !== undefined && upTo !== undefined)
|
|
131
|
+
throw new Error(`${label} tiene dev y up-to a la vez (dev equivale a up-to ${DEV_UP_TO})`);
|
|
115
132
|
return defaults;
|
|
116
133
|
}
|
|
117
|
-
/**
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
134
|
+
/**
|
|
135
|
+
* Interpreta los argumentos. cleye muestra la ayuda y termina el proceso ante `--help`, `--version` o un flag desconocido.
|
|
136
|
+
* 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).
|
|
137
|
+
*/
|
|
138
|
+
export function parseArgs(argv, defaults, write) {
|
|
139
|
+
const { parsed } = parseCommandLine({
|
|
140
|
+
moduleUrl: import.meta.url,
|
|
141
|
+
description: 'Revisa los repositorios locales y muestra los que quedaron desprolijos y el orden en que conviene limpiarlos.\n' +
|
|
142
|
+
`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).`,
|
|
143
|
+
examples: ['bussing --path ../repos --path ../otros-repos --ignore repo-viejo', 'bussing --priority qa-control=1 --priority require-bro=-1', 'bussing --json'],
|
|
144
|
+
exitCodes: EXIT_CODES,
|
|
145
|
+
argv,
|
|
146
|
+
}, function (base, argv) {
|
|
147
|
+
return cli({ ...base, flags }, undefined, argv);
|
|
148
|
+
}, {
|
|
149
|
+
show: function (parsedArgs) { return !(parsedArgs.flags.json ?? defaults.json ?? false); },
|
|
150
|
+
...(write === undefined ? {} : { write }),
|
|
151
|
+
});
|
|
131
152
|
// las carpetas relativas son relativas a la carpeta actual, vengan de la línea de comandos o del archivo
|
|
132
153
|
const roots = (parsed.flags.path.length > 0 ? parsed.flags.path : defaults.path ?? []).map(function (path) { return resolve(path); });
|
|
133
154
|
if (roots.length === 0) {
|
|
134
155
|
throw new Error(`Falta indicar la carpeta con --path o definir los parámetros predeterminados en ${DEFAULTS_FILE_LABEL}`);
|
|
135
156
|
}
|
|
157
|
+
const flagUpTo = parsed.flags['up-to'];
|
|
158
|
+
const flagDev = parsed.flags.dev;
|
|
159
|
+
if (flagUpTo !== undefined && flagDev !== undefined)
|
|
160
|
+
throw new Error(`Se indicaron --dev y --up-to a la vez (--dev equivale a --up-to ${DEV_UP_TO})`);
|
|
161
|
+
// la línea de comandos tiene prioridad sobre el archivo; --dev y dev son atajos de up-to
|
|
162
|
+
const upTo = flagUpTo ?? (flagDev !== undefined ? (flagDev ? DEV_UP_TO : DEFAULT_UP_TO)
|
|
163
|
+
: defaults['up-to'] ?? (defaults.dev === true ? DEV_UP_TO : DEFAULT_UP_TO));
|
|
136
164
|
return {
|
|
137
165
|
roots,
|
|
138
166
|
ignore: parsed.flags.ignore.length > 0 ? parsed.flags.ignore : defaults.ignore ?? [],
|
|
167
|
+
upTo,
|
|
139
168
|
priority: parsed.flags.priority.length > 0 ? Object.fromEntries(parsed.flags.priority) : defaults.priority ?? {},
|
|
140
169
|
registry: parsed.flags.registry ?? defaults.registry ?? DEFAULT_REGISTRY_URL,
|
|
141
170
|
json: parsed.flags.json ?? defaults.json ?? false,
|
|
@@ -183,12 +212,25 @@ function describeRepo(repo) {
|
|
|
183
212
|
...repo.warnings.map(function (warning) { return ' ? ' + describeWarning(warning); }),
|
|
184
213
|
];
|
|
185
214
|
}
|
|
215
|
+
/** Sufijo de cada campo de dependencias en las etiquetas ("dependencias-dev desactualizadas", "por dependencia-peer"). */
|
|
216
|
+
const FIELD_SUFFIX = {
|
|
217
|
+
'dependencies': '',
|
|
218
|
+
'peerDependencies': '-peer',
|
|
219
|
+
'optionalDependencies': '-opt',
|
|
220
|
+
'devDependencies': '-dev',
|
|
221
|
+
};
|
|
186
222
|
export const CATEGORY_LABEL = {
|
|
187
223
|
'uncommitted': 'falta commitear',
|
|
188
224
|
'unpushed': 'falta pushear',
|
|
189
225
|
'altered-node-modules': 'node_modules alterado',
|
|
190
|
-
'waiting-dependencies':
|
|
191
|
-
'outdated-dependencies':
|
|
226
|
+
'waiting-dependencies': `espera dependencias${FIELD_SUFFIX.dependencies}`,
|
|
227
|
+
'outdated-dependencies': `dependencias${FIELD_SUFFIX.dependencies} desactualizadas`,
|
|
228
|
+
'waiting-peer-dependencies': `espera dependencias${FIELD_SUFFIX.peerDependencies}`,
|
|
229
|
+
'outdated-peer-dependencies': `dependencias${FIELD_SUFFIX.peerDependencies} desactualizadas`,
|
|
230
|
+
'waiting-optional-dependencies': `espera dependencias${FIELD_SUFFIX.optionalDependencies}`,
|
|
231
|
+
'outdated-optional-dependencies': `dependencias${FIELD_SUFFIX.optionalDependencies} desactualizadas`,
|
|
232
|
+
'waiting-dev-dependencies': `espera dependencias${FIELD_SUFFIX.devDependencies}`,
|
|
233
|
+
'outdated-dev-dependencies': `dependencias${FIELD_SUFFIX.devDependencies} desactualizadas`,
|
|
192
234
|
'version-not-bumped': 'falta subir versión',
|
|
193
235
|
'unpublished': 'falta publicar',
|
|
194
236
|
};
|
|
@@ -201,7 +243,8 @@ function describeStep(step) {
|
|
|
201
243
|
if (step.deferred.length > 0)
|
|
202
244
|
details.push(`ciclo: ${step.deferred.join(', ')} ${step.deferred.length === 1 ? 'se actualiza' : 'se actualizan'} después`);
|
|
203
245
|
const folder = basename(step.dir);
|
|
204
|
-
const label = step.mainProblem
|
|
246
|
+
const label = step.mainProblem !== null ? CATEGORY_LABEL[step.mainProblem]
|
|
247
|
+
: `por dependencia${step.dependencyField === null ? '' : FIELD_SUFFIX[step.dependencyField]}`;
|
|
205
248
|
return ` ${step.level + 1}. ${step.name}${folder === step.name ? '' : ` [${folder}]`} ${label}` + (details.length > 0 ? ` (${details.join('; ')})` : '');
|
|
206
249
|
}
|
|
207
250
|
export function formatReport(report) {
|
|
@@ -212,7 +255,7 @@ export function formatReport(report) {
|
|
|
212
255
|
for (const repo of [...withProblems, ...withWarningsOnly])
|
|
213
256
|
lines.push('', ...describeRepo(repo));
|
|
214
257
|
if (report.cleanupOrder.length > 0) {
|
|
215
|
-
lines.push('', 'Orden de limpieza
|
|
258
|
+
lines.push('', 'Orden de limpieza:', ...report.cleanupOrder.map(describeStep));
|
|
216
259
|
}
|
|
217
260
|
if (report.warnings.length > 0)
|
|
218
261
|
lines.push('', ...report.warnings.map(describeWarning));
|
|
@@ -224,6 +267,7 @@ export async function main(argv) {
|
|
|
224
267
|
const reviewOptions = {
|
|
225
268
|
roots: options.roots,
|
|
226
269
|
ignore: options.ignore,
|
|
270
|
+
upTo: options.upTo,
|
|
227
271
|
dependencyPriority: options.priority,
|
|
228
272
|
registry: createNpmRegistry(options.registry),
|
|
229
273
|
log: function (message) { if (process.stderr.isTTY)
|
|
@@ -244,9 +288,6 @@ export async function main(argv) {
|
|
|
244
288
|
}
|
|
245
289
|
// Solo se ejecuta al invocarlo como programa (no al importarlo desde los tests)
|
|
246
290
|
if (import.meta.main) {
|
|
247
|
-
main(process.argv.slice(2))
|
|
248
|
-
process.stderr.write(`${err instanceof Error ? err.stack ?? err.message : String(err)}\n`);
|
|
249
|
-
process.exitCode = EXIT_CODE.error;
|
|
250
|
-
});
|
|
291
|
+
runMain(function () { return main(process.argv.slice(2)); }, EXIT_CODE.error);
|
|
251
292
|
}
|
|
252
293
|
//# sourceMappingURL=bussing-cli.js.map
|
package/dist/bussing-cli.js.map
CHANGED
|
@@ -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 { DEFAULT_UP_TO, DEPENDENCY_CATEGORY, mainCategory, PROBLEM_CATEGORIES, PROBLEM_CATEGORY, problemCategory, REACHES_DEPENDENTS, withinThreshold } 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 { categoryWithin, DEFAULT_UP_TO, fieldGravity, mainCategory, problemCategory, REACHES_DEPENDENTS, withinThreshold } 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 { DEFAULT_UP_TO, DEPENDENCY_CATEGORY, mainCategory, PROBLEM_CATEGORIES, PROBLEM_CATEGORY, problemCategory, REACHES_DEPENDENTS, withinThreshold } 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) {
|
|
@@ -42,6 +42,8 @@ export async function reviewEnvironment(options) {
|
|
|
42
42
|
const log = options.log ?? function () { };
|
|
43
43
|
const warnings = [];
|
|
44
44
|
const ignore = options.ignore ?? [];
|
|
45
|
+
const upTo = options.upTo ?? DEFAULT_UP_TO;
|
|
46
|
+
const considered = function (category) { return categoryWithin(category, upTo); };
|
|
45
47
|
const { repos: dirs, ignored } = await findRepos(options.roots, ignore);
|
|
46
48
|
for (const name of ignore) {
|
|
47
49
|
if (!ignored.some(function (dir) { return basename(dir) === name; })) {
|
|
@@ -93,19 +95,35 @@ export async function reviewEnvironment(options) {
|
|
|
93
95
|
});
|
|
94
96
|
if (pkg === null)
|
|
95
97
|
return;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
// los controles que solo pueden dar problemas fuera del umbral no se hacen
|
|
99
|
+
if (considered('version-not-bumped')) {
|
|
100
|
+
await runCheck(report, 'publication', function () { return checkPublication(report.dir, pkg, gitState, registry); });
|
|
101
|
+
}
|
|
102
|
+
if (considered('waiting-dependencies')) {
|
|
103
|
+
await runCheck(report, 'cross-dependencies', function () { return checkCrossDependencies(pkg, localVersions); });
|
|
104
|
+
}
|
|
105
|
+
if (considered('altered-node-modules')) {
|
|
106
|
+
await runCheck(report, 'installation', function () { return checkInstallation(report.dir, localNames, registry); });
|
|
107
|
+
}
|
|
108
|
+
report.problems = report.problems.filter(function (problem) { return withinThreshold(problem, upTo); });
|
|
99
109
|
});
|
|
110
|
+
/** Repositorios revisados de los que depende en los campos indicados, con el campo más grave si figura en varios. */
|
|
100
111
|
function localDependencies(report, pkg, fields) {
|
|
101
|
-
const result = new
|
|
112
|
+
const result = new Map();
|
|
102
113
|
for (const dep of pkg === null ? [] : declaredDependencies(pkg, fields)) {
|
|
103
114
|
const depDir = uniqueDirByName.get(dep.name);
|
|
104
|
-
if (depDir
|
|
105
|
-
|
|
115
|
+
if (depDir === undefined || depDir === report.dir)
|
|
116
|
+
continue;
|
|
117
|
+
const previous = result.get(depDir);
|
|
118
|
+
if (previous === undefined || fieldGravity(dep.field) < fieldGravity(previous))
|
|
119
|
+
result.set(depDir, dep.field);
|
|
106
120
|
}
|
|
107
|
-
return [...result];
|
|
121
|
+
return [...result].map(function ([dir, field]) { return { dir, field }; });
|
|
108
122
|
}
|
|
123
|
+
const noWait = function () { return false; };
|
|
124
|
+
const devDependencies = function (report, pkg) {
|
|
125
|
+
return localDependencies(report, pkg, WEAK_ORDER_DEPENDENCY_FIELDS).map(function (dep) { return dep.dir; });
|
|
126
|
+
};
|
|
109
127
|
const priority = new Map(Object.entries(options.dependencyPriority ?? {}));
|
|
110
128
|
for (const name of priority.keys()) {
|
|
111
129
|
if (!uniqueDirByName.has(name))
|
|
@@ -115,14 +133,17 @@ export async function reviewEnvironment(options) {
|
|
|
115
133
|
return {
|
|
116
134
|
dir: report.dir,
|
|
117
135
|
name: report.name ?? basename(report.dir),
|
|
118
|
-
mainProblem: mainCategory(report.problems,
|
|
136
|
+
mainProblem: mainCategory(report.problems, noWait),
|
|
137
|
+
reachesDependents: report.problems.some(function (problem) { return REACHES_DEPENDENTS[problemCategory(problem, noWait)]; }),
|
|
119
138
|
dependsOn: localDependencies(report, pkg, ORDER_DEPENDENCY_FIELDS),
|
|
120
|
-
|
|
139
|
+
// si las devDependencies quedan fuera del umbral no definen niveles, solo ordenan dentro de cada nivel
|
|
140
|
+
weakDependsOn: considered('waiting-dev-dependencies') ? devDependencies(report, pkg) : [],
|
|
141
|
+
tieDependsOn: considered('waiting-dev-dependencies') ? [] : devDependencies(report, pkg),
|
|
121
142
|
};
|
|
122
143
|
});
|
|
123
144
|
const cleanupOrder = computeCleanupOrder(nodes, priority);
|
|
124
|
-
// "espera dependencias" solo si alguna dependencia desactualizada
|
|
125
|
-
const hasProblems = new Set(
|
|
145
|
+
// "espera dependencias" solo si alguna dependencia desactualizada tiene problemas que llegan a quien la usa y queda antes en el orden
|
|
146
|
+
const hasProblems = new Set(nodes.filter(function (node) { return node.reachesDependents; }).map(function (node) { return node.name; }));
|
|
126
147
|
const reportByDir = new Map(repos.map(function (repo) { return [repo.report.dir, repo.report]; }));
|
|
127
148
|
for (const step of cleanupOrder) {
|
|
128
149
|
step.mainProblem = mainCategory(mustGet(reportByDir, step.dir).problems, function (name) {
|
package/dist/bussing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bussing.js","sourceRoot":"","sources":["../src/bussing.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kGAAkG;AAElG,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"bussing.js","sourceRoot":"","sources":["../src/bussing.ts"],"names":[],"mappings":"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"}
|
package/dist/categories.d.ts
CHANGED
|
@@ -1,14 +1,35 @@
|
|
|
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) y, dentro de un campo, esperar va antes.
|
|
6
|
+
* Las devDependencies van al final: no llegan a quien instala el paquete, así que no hacen falta para publicar.
|
|
5
7
|
*/
|
|
6
8
|
export declare const PROBLEM_CATEGORIES: readonly ProblemCategory[];
|
|
7
|
-
/**
|
|
8
|
-
export declare const
|
|
9
|
+
/** Umbral por omisión: hasta "falta publicar" (sin las devDependencies). */
|
|
10
|
+
export declare const DEFAULT_UP_TO: ProblemCategory;
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* la categoría es `waiting-dependencies`.
|
|
12
|
+
* Si un problema queda dentro del umbral `upTo` (la categoría menos grave que interesa). Para las dependencias
|
|
13
|
+
* desactualizadas se usa la categoría "espera" de su campo: las dos categorías de un mismo campo entran o quedan afuera juntas.
|
|
13
14
|
*/
|
|
15
|
+
export declare function withinThreshold(problem: Problem, upTo: ProblemCategory): boolean;
|
|
16
|
+
/** Si la categoría queda dentro del umbral `upTo`. */
|
|
17
|
+
export declare function categoryWithin(category: ProblemCategory, upTo: ProblemCategory): boolean;
|
|
18
|
+
/** Categoría de cada tipo de problema, salvo las dependencias desactualizadas (ver `DEPENDENCY_CATEGORY`). */
|
|
19
|
+
export declare const PROBLEM_CATEGORY: Record<Exclude<ProblemKind, 'outdated-dependency'>, ProblemCategory>;
|
|
20
|
+
/** Categoría de una dependencia desactualizada según el campo en que figura y si hay que esperarla. */
|
|
21
|
+
export declare const DEPENDENCY_CATEGORY: Record<DependencyField, {
|
|
22
|
+
waiting: ProblemCategory;
|
|
23
|
+
outdated: ProblemCategory;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Si el problema llega a quien usa el paquete (y por lo tanto los repositorios que dependen de él entran en la lista de
|
|
27
|
+
* limpieza). No llegan las devDependencies desactualizadas ni node_modules alterado (es la instalación local, no el contenido).
|
|
28
|
+
*/
|
|
29
|
+
export declare const REACHES_DEPENDENTS: Record<ProblemCategory, boolean>;
|
|
30
|
+
/** Gravedad de un campo de dependencias (menor es más grave), según el lugar de sus categorías en `PROBLEM_CATEGORIES`. */
|
|
31
|
+
export declare function fieldGravity(field: DependencyField): number;
|
|
32
|
+
/** Categoría de un problema. Una dependencia desactualizada es `waiting-*` si hay que esperarla (`mustWait`). */
|
|
33
|
+
export declare function problemCategory(problem: Problem, mustWait: (name: string) => boolean): ProblemCategory;
|
|
34
|
+
/** Categoría más grave entre los problemas; `null` si no hay problemas. */
|
|
14
35
|
export declare function mainCategory(problems: Problem[], mustWait: (name: string) => boolean): ProblemCategory | null;
|
package/dist/categories.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
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) y, dentro de un campo, esperar va antes.
|
|
6
|
+
* Las devDependencies van al final: no llegan a quien instala el paquete, así que no hacen falta para publicar.
|
|
5
7
|
*/
|
|
6
8
|
export const PROBLEM_CATEGORIES = [
|
|
7
9
|
'uncommitted',
|
|
@@ -9,37 +11,85 @@ export const PROBLEM_CATEGORIES = [
|
|
|
9
11
|
'altered-node-modules',
|
|
10
12
|
'waiting-dependencies',
|
|
11
13
|
'outdated-dependencies',
|
|
14
|
+
'waiting-peer-dependencies',
|
|
15
|
+
'outdated-peer-dependencies',
|
|
16
|
+
'waiting-optional-dependencies',
|
|
17
|
+
'outdated-optional-dependencies',
|
|
12
18
|
'version-not-bumped',
|
|
13
19
|
'unpublished',
|
|
20
|
+
'waiting-dev-dependencies',
|
|
21
|
+
'outdated-dev-dependencies',
|
|
14
22
|
];
|
|
15
|
-
/**
|
|
23
|
+
/** Umbral por omisión: hasta "falta publicar" (sin las devDependencies). */
|
|
24
|
+
export const DEFAULT_UP_TO = 'unpublished';
|
|
25
|
+
/**
|
|
26
|
+
* Si un problema queda dentro del umbral `upTo` (la categoría menos grave que interesa). Para las dependencias
|
|
27
|
+
* desactualizadas se usa la categoría "espera" de su campo: las dos categorías de un mismo campo entran o quedan afuera juntas.
|
|
28
|
+
*/
|
|
29
|
+
export function withinThreshold(problem, upTo) {
|
|
30
|
+
return PROBLEM_CATEGORIES.indexOf(problemCategory(problem, function () { return true; })) <= PROBLEM_CATEGORIES.indexOf(upTo);
|
|
31
|
+
}
|
|
32
|
+
/** Si la categoría queda dentro del umbral `upTo`. */
|
|
33
|
+
export function categoryWithin(category, upTo) {
|
|
34
|
+
return PROBLEM_CATEGORIES.indexOf(category) <= PROBLEM_CATEGORIES.indexOf(upTo);
|
|
35
|
+
}
|
|
36
|
+
/** Categoría de cada tipo de problema, salvo las dependencias desactualizadas (ver `DEPENDENCY_CATEGORY`). */
|
|
16
37
|
export const PROBLEM_CATEGORY = {
|
|
17
38
|
'uncommitted': 'uncommitted',
|
|
18
39
|
'unpushed': 'unpushed',
|
|
19
40
|
'no-upstream': 'unpushed',
|
|
20
41
|
'linked-dependency': 'altered-node-modules',
|
|
21
42
|
'copied-dependency': 'altered-node-modules',
|
|
22
|
-
'outdated-dependency': 'outdated-dependencies',
|
|
23
43
|
'version-not-bumped': 'version-not-bumped',
|
|
24
44
|
'unpublished-version': 'unpublished',
|
|
25
45
|
'not-published': 'unpublished',
|
|
26
46
|
};
|
|
47
|
+
/** Categoría de una dependencia desactualizada según el campo en que figura y si hay que esperarla. */
|
|
48
|
+
export const DEPENDENCY_CATEGORY = {
|
|
49
|
+
'dependencies': { waiting: 'waiting-dependencies', outdated: 'outdated-dependencies' },
|
|
50
|
+
'peerDependencies': { waiting: 'waiting-peer-dependencies', outdated: 'outdated-peer-dependencies' },
|
|
51
|
+
'optionalDependencies': { waiting: 'waiting-optional-dependencies', outdated: 'outdated-optional-dependencies' },
|
|
52
|
+
'devDependencies': { waiting: 'waiting-dev-dependencies', outdated: 'outdated-dev-dependencies' },
|
|
53
|
+
};
|
|
27
54
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* la categoría es `waiting-dependencies`.
|
|
55
|
+
* Si el problema llega a quien usa el paquete (y por lo tanto los repositorios que dependen de él entran en la lista de
|
|
56
|
+
* limpieza). No llegan las devDependencies desactualizadas ni node_modules alterado (es la instalación local, no el contenido).
|
|
31
57
|
*/
|
|
58
|
+
export const REACHES_DEPENDENTS = {
|
|
59
|
+
'uncommitted': true,
|
|
60
|
+
'unpushed': true,
|
|
61
|
+
'altered-node-modules': false,
|
|
62
|
+
'waiting-dependencies': true,
|
|
63
|
+
'outdated-dependencies': true,
|
|
64
|
+
'waiting-peer-dependencies': true,
|
|
65
|
+
'outdated-peer-dependencies': true,
|
|
66
|
+
'waiting-optional-dependencies': true,
|
|
67
|
+
'outdated-optional-dependencies': true,
|
|
68
|
+
'waiting-dev-dependencies': false,
|
|
69
|
+
'outdated-dev-dependencies': false,
|
|
70
|
+
'version-not-bumped': true,
|
|
71
|
+
'unpublished': true,
|
|
72
|
+
};
|
|
73
|
+
/** Gravedad de un campo de dependencias (menor es más grave), según el lugar de sus categorías en `PROBLEM_CATEGORIES`. */
|
|
74
|
+
export function fieldGravity(field) {
|
|
75
|
+
return PROBLEM_CATEGORIES.indexOf(DEPENDENCY_CATEGORY[field].outdated);
|
|
76
|
+
}
|
|
77
|
+
/** Categoría de un problema. Una dependencia desactualizada es `waiting-*` si hay que esperarla (`mustWait`). */
|
|
78
|
+
export function problemCategory(problem, mustWait) {
|
|
79
|
+
if (problem.kind === 'outdated-dependency') {
|
|
80
|
+
const categories = DEPENDENCY_CATEGORY[problem.field];
|
|
81
|
+
return mustWait(problem.dependency) ? categories.waiting : categories.outdated;
|
|
82
|
+
}
|
|
83
|
+
return PROBLEM_CATEGORY[problem.kind];
|
|
84
|
+
}
|
|
85
|
+
/** Categoría más grave entre los problemas; `null` si no hay problemas. */
|
|
32
86
|
export function mainCategory(problems, mustWait) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return 'waiting-dependencies';
|
|
39
|
-
}
|
|
40
|
-
return category;
|
|
41
|
-
}
|
|
87
|
+
let best = null;
|
|
88
|
+
for (const problem of problems) {
|
|
89
|
+
const index = PROBLEM_CATEGORIES.indexOf(problemCategory(problem, mustWait));
|
|
90
|
+
if (best === null || index < best)
|
|
91
|
+
best = index;
|
|
42
92
|
}
|
|
43
|
-
return null;
|
|
93
|
+
return best === null ? null : PROBLEM_CATEGORIES[best] ?? null;
|
|
44
94
|
}
|
|
45
95
|
//# sourceMappingURL=categories.js.map
|
package/dist/categories.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAIzC
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"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"}
|
package/dist/order.d.ts
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
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
|
-
/**
|
|
9
|
-
|
|
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[];
|
|
17
|
+
/**
|
|
18
|
+
* Carpetas de los repositorios revisados de los que depende por campos que quedaron fuera del umbral: no definen niveles,
|
|
19
|
+
* solo ordenan dentro de un mismo nivel (salvo que cierren un ciclo).
|
|
20
|
+
*/
|
|
21
|
+
tieDependsOn: string[];
|
|
12
22
|
}
|
|
13
23
|
/** `priority`: prioridad de cada paquete como dependencia débil (por omisión 0); ver `BussingOptions.dependencyPriority`. */
|
|
14
24
|
export declare function computeCleanupOrder(nodes: OrderNode[], priority?: ReadonlyMap<string, number>): CleanupStep[];
|
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
|
-
//
|
|
3
|
-
//
|
|
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
|
-
|
|
72
|
-
|
|
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 (
|
|
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,11 +150,67 @@ 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; })),
|
|
150
160
|
};
|
|
151
161
|
});
|
|
152
|
-
|
|
162
|
+
const byLevel = new Map();
|
|
163
|
+
for (const step of steps)
|
|
164
|
+
byLevel.set(step.level, [...(byLevel.get(step.level) ?? []), step]);
|
|
165
|
+
return [...byLevel.keys()].sort(function (a, b) { return a - b; }).flatMap(function (level) {
|
|
166
|
+
return orderWithinLevel(mustGet(byLevel, level), function (dir) { return mustGet(byDir, dir).tieDependsOn; }, priorityOf);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Ordena los pasos de un mismo nivel: primero los que no dependen (por `tieDependsOn`) de otro paso del nivel y, a igualdad,
|
|
171
|
+
* por nombre. Las dependencias se agregan de mayor a menor prioridad y se descartan las que cerrarían un ciclo.
|
|
172
|
+
*/
|
|
173
|
+
function orderWithinLevel(steps, tieDependsOn, priorityOf) {
|
|
174
|
+
const byDir = new Map(steps.map(function (step) { return [step.dir, step]; }));
|
|
175
|
+
const edges = new Map(steps.map(function (step) { return [step.dir, new Set()]; }));
|
|
176
|
+
const candidates = [];
|
|
177
|
+
for (const step of steps) {
|
|
178
|
+
for (const dep of tieDependsOn(step.dir))
|
|
179
|
+
if (byDir.has(dep) && dep !== step.dir)
|
|
180
|
+
candidates.push([step.dir, dep]);
|
|
181
|
+
}
|
|
182
|
+
candidates.sort(function ([dirA, depA], [dirB, depB]) {
|
|
183
|
+
return priorityOf(depB) - priorityOf(depA) || byName(mustGet(byDir, dirA), mustGet(byDir, dirB)) || byName(mustGet(byDir, depA), mustGet(byDir, depB));
|
|
184
|
+
});
|
|
185
|
+
const reachesDir = function (from, to) {
|
|
186
|
+
const visited = new Set();
|
|
187
|
+
const pending = [from];
|
|
188
|
+
while (pending.length > 0) {
|
|
189
|
+
const current = defined(pending.pop(), 'pendiente');
|
|
190
|
+
if (current === to)
|
|
191
|
+
return true;
|
|
192
|
+
if (visited.has(current))
|
|
193
|
+
continue;
|
|
194
|
+
visited.add(current);
|
|
195
|
+
pending.push(...mustGet(edges, current));
|
|
196
|
+
}
|
|
197
|
+
return false;
|
|
198
|
+
};
|
|
199
|
+
for (const [dir, dep] of candidates) {
|
|
200
|
+
if (!reachesDir(dep, dir))
|
|
201
|
+
mustGet(edges, dir).add(dep);
|
|
202
|
+
}
|
|
203
|
+
// Kahn: en cada paso, el de menor nombre entre los que ya no tienen dependencias pendientes
|
|
204
|
+
const result = [];
|
|
205
|
+
const done = new Set();
|
|
206
|
+
while (result.length < steps.length) {
|
|
207
|
+
const ready = steps.filter(function (step) {
|
|
208
|
+
return !done.has(step.dir) && [...mustGet(edges, step.dir)].every(function (dep) { return done.has(dep); });
|
|
209
|
+
}).sort(byName);
|
|
210
|
+
const next = defined(ready[0], 'paso sin dependencias pendientes');
|
|
211
|
+
done.add(next.dir);
|
|
212
|
+
result.push(next);
|
|
213
|
+
}
|
|
214
|
+
return result;
|
|
153
215
|
}
|
|
154
216
|
//# sourceMappingURL=order.js.map
|
package/dist/order.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.js","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"","sources":["../src/order.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -25,6 +25,11 @@ export interface BussingOptions {
|
|
|
25
25
|
roots: string[];
|
|
26
26
|
/** Nombres de subcarpetas que no se revisan. */
|
|
27
27
|
ignore?: string[];
|
|
28
|
+
/**
|
|
29
|
+
* Categoría menos grave que interesa (ver `PROBLEM_CATEGORIES`); los problemas de categorías menos graves no se informan
|
|
30
|
+
* ni se usan para el orden. Por omisión `DEFAULT_UP_TO` ("falta publicar", sin las devDependencies).
|
|
31
|
+
*/
|
|
32
|
+
upTo?: ProblemCategory;
|
|
28
33
|
/**
|
|
29
34
|
* Prioridad de cada paquete como dependencia débil (devDependency) al romper ciclos; por omisión 0.
|
|
30
35
|
* Las dependencias de mayor prioridad se respetan antes en el orden; las de menor prioridad son las primeras en postergarse.
|
|
@@ -82,8 +87,8 @@ export type Problem = {
|
|
|
82
87
|
export type ProblemKind = Problem['kind'];
|
|
83
88
|
/** Categorías de problemas, de la más grave a la menos grave (ver `PROBLEM_CATEGORIES` y `PROBLEM_CATEGORY`). */
|
|
84
89
|
export type ProblemCategory = 'uncommitted' | 'unpushed' | 'altered-node-modules'
|
|
85
|
-
/** Tiene dependencias desactualizadas y alguna de ellas
|
|
86
|
-
| 'waiting-dependencies' | 'outdated-dependencies' | 'version-not-bumped' | 'unpublished';
|
|
90
|
+
/** Tiene dependencias desactualizadas y alguna de ellas, con problemas propios, va antes en el orden (`waiting-*`). */
|
|
91
|
+
| '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
92
|
export type CheckName = 'repo' | 'git' | 'publication' | 'cross-dependencies' | 'installation' | 'order';
|
|
88
93
|
/** Situación que impidió completar un control o que conviene revisar, pero que no es un problema en sí. */
|
|
89
94
|
export interface Warning {
|
|
@@ -106,6 +111,11 @@ export interface CleanupStep {
|
|
|
106
111
|
level: number;
|
|
107
112
|
/** Categoría del problema propio más grave; `null` si está en la lista solo por sus dependencias. */
|
|
108
113
|
mainProblem: ProblemCategory | null;
|
|
114
|
+
/**
|
|
115
|
+
* Si está en la lista solo por sus dependencias (`mainProblem` es `null`): el campo más grave por el que depende de un
|
|
116
|
+
* repositorio con problemas que llegan a quien lo usa. `null` si tiene problemas propios.
|
|
117
|
+
*/
|
|
118
|
+
dependencyField: DependencyField | null;
|
|
109
119
|
/** Repositorios de la lista de limpieza de los que depende. */
|
|
110
120
|
dependsOn: string[];
|
|
111
121
|
/** 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.
|
|
3
|
+
"version": "0.1.1",
|
|
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
|
-
"
|
|
28
|
-
"test": "
|
|
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
|
-
"
|
|
31
|
+
"commendatore": "^0.1.0",
|
|
34
32
|
"guarantee-type": "^0.2.13",
|
|
35
33
|
"js-yaml": "^5.4.3",
|
|
36
34
|
"semver": "^7.8.5",
|
|
@@ -42,7 +40,7 @@
|
|
|
42
40
|
"@types/semver": "^7.8.0",
|
|
43
41
|
"c8": "^12.0.0",
|
|
44
42
|
"mocha": "^12.0.3",
|
|
45
|
-
"qa-control": "^0.12.
|
|
43
|
+
"qa-control": "^0.12.2",
|
|
46
44
|
"typescript": "^7.0.2"
|
|
47
45
|
},
|
|
48
46
|
"keywords": [
|