@code-pushup/utils 0.126.2 → 0.126.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/package.json +2 -2
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/lib/wizard/index.d.ts +2 -0
- package/src/lib/wizard/index.js +2 -0
- package/src/lib/wizard/index.js.map +1 -0
- package/src/lib/wizard/types.d.ts +31 -0
- package/src/lib/wizard/types.js +2 -0
- package/src/lib/wizard/types.js.map +1 -0
- package/src/lib/wizard/virtual-fs.d.ts +2 -0
- package/src/lib/wizard/virtual-fs.js +87 -0
- package/src/lib/wizard/virtual-fs.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/utils",
|
|
3
|
-
"version": "0.126.
|
|
3
|
+
"version": "0.126.4",
|
|
4
4
|
"description": "Low-level utilities (helper functions, etc.) used by Code PushUp CLI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/utils#readme",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"node": ">=18.2.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@code-pushup/models": "0.126.
|
|
30
|
+
"@code-pushup/models": "0.126.4",
|
|
31
31
|
"ansis": "^3.3.0",
|
|
32
32
|
"build-md": "^0.4.2",
|
|
33
33
|
"bundle-require": "^5.1.0",
|
package/src/index.d.ts
CHANGED
|
@@ -45,4 +45,5 @@ export type { CamelCaseToKebabCase, ExcludeNullableProps, ExtractArray, ExtractA
|
|
|
45
45
|
export * from './lib/import-module.js';
|
|
46
46
|
export { detectMonorepoTool, isMonorepoTool, MONOREPO_TOOL_DETECTORS, MONOREPO_TOOLS, type MonorepoTool, } from './lib/monorepo.js';
|
|
47
47
|
export { answerArray, answerBoolean, answerNonEmptyArray, answerString, } from './lib/plugin-answers.js';
|
|
48
|
+
export { createTree, type FileChange, type FileSystemAdapter, type Tree, } from './lib/wizard/index.js';
|
|
48
49
|
export { hasCodePushUpDependency, hasDependency, hasScript, hasWorkspacesEnabled, listPackages, listWorkspaces, readPnpmWorkspacePatterns, readRootPackageJson, type WorkspacePackage, } from './lib/workspace-packages.js';
|
package/src/index.js
CHANGED
|
@@ -43,5 +43,6 @@ export { countOccurrences, distinct, factorOf, fromJsonLines, objectFromEntries,
|
|
|
43
43
|
export * from './lib/import-module.js';
|
|
44
44
|
export { detectMonorepoTool, isMonorepoTool, MONOREPO_TOOL_DETECTORS, MONOREPO_TOOLS, } from './lib/monorepo.js';
|
|
45
45
|
export { answerArray, answerBoolean, answerNonEmptyArray, answerString, } from './lib/plugin-answers.js';
|
|
46
|
+
export { createTree, } from './lib/wizard/index.js';
|
|
46
47
|
export { hasCodePushUpDependency, hasDependency, hasScript, hasWorkspacesEnabled, listPackages, listWorkspaces, readPnpmWorkspacePatterns, readRootPackageJson, } from './lib/workspace-packages.js';
|
|
47
48
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/wizard/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** A single file operation recorded by the virtual tree. */
|
|
2
|
+
export type FileChange = {
|
|
3
|
+
path: string;
|
|
4
|
+
type: 'CREATE' | 'UPDATE';
|
|
5
|
+
content: string;
|
|
6
|
+
};
|
|
7
|
+
/** Abstraction over `node:fs` used by the virtual tree for disk I/O. */
|
|
8
|
+
export type FileSystemAdapter = {
|
|
9
|
+
readFile: (path: string, encoding: 'utf8') => Promise<string>;
|
|
10
|
+
writeFile: (path: string, content: string) => Promise<void>;
|
|
11
|
+
exists: (path: string) => Promise<boolean>;
|
|
12
|
+
mkdir: (path: string, options: {
|
|
13
|
+
recursive: true;
|
|
14
|
+
}) => Promise<string | undefined>;
|
|
15
|
+
unlink: (path: string) => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
/** Virtual file system that buffers writes in memory until flushed to disk. */
|
|
18
|
+
export type Tree = {
|
|
19
|
+
root: string;
|
|
20
|
+
exists: (filePath: string) => Promise<boolean>;
|
|
21
|
+
read: (filePath: string) => Promise<string | null>;
|
|
22
|
+
write: (filePath: string, content: string) => Promise<void>;
|
|
23
|
+
listChanges: () => FileChange[];
|
|
24
|
+
flush: () => Promise<void>;
|
|
25
|
+
};
|
|
26
|
+
/** Internal pending-entry shape held by the virtual tree. */
|
|
27
|
+
export type PendingEntry = {
|
|
28
|
+
content: string;
|
|
29
|
+
type: 'CREATE' | 'UPDATE';
|
|
30
|
+
original: string | null;
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/wizard/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { mkdir, readFile, unlink, writeFile } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileExists } from '../file-system.js';
|
|
4
|
+
const DEFAULT_FS = {
|
|
5
|
+
readFile,
|
|
6
|
+
writeFile,
|
|
7
|
+
exists: fileExists,
|
|
8
|
+
mkdir,
|
|
9
|
+
unlink,
|
|
10
|
+
};
|
|
11
|
+
// eslint-disable-next-line max-lines-per-function
|
|
12
|
+
export function createTree(root, fs = DEFAULT_FS) {
|
|
13
|
+
const pending = new Map();
|
|
14
|
+
const resolve = (filePath) => path.resolve(root, filePath);
|
|
15
|
+
return {
|
|
16
|
+
root,
|
|
17
|
+
exists: async (filePath) => pending.has(filePath) || fs.exists(resolve(filePath)),
|
|
18
|
+
read: async (filePath) => {
|
|
19
|
+
const entry = pending.get(filePath);
|
|
20
|
+
if (entry) {
|
|
21
|
+
return entry.content;
|
|
22
|
+
}
|
|
23
|
+
const absolute = resolve(filePath);
|
|
24
|
+
if (!(await fs.exists(absolute))) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return fs.readFile(absolute, 'utf8');
|
|
28
|
+
},
|
|
29
|
+
write: async (filePath, content) => {
|
|
30
|
+
const entry = pending.get(filePath);
|
|
31
|
+
if (entry) {
|
|
32
|
+
if (entry.content !== content) {
|
|
33
|
+
pending.set(filePath, { ...entry, content });
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const absolute = resolve(filePath);
|
|
38
|
+
const existing = await fs.readFile(absolute, 'utf8').catch(() => null);
|
|
39
|
+
if (existing === content) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
pending.set(filePath, {
|
|
43
|
+
content,
|
|
44
|
+
type: existing == null ? 'CREATE' : 'UPDATE',
|
|
45
|
+
original: existing,
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
listChanges: () => [...pending.entries()].map(([filePath, { content, type }]) => ({
|
|
49
|
+
path: filePath,
|
|
50
|
+
type,
|
|
51
|
+
content,
|
|
52
|
+
})),
|
|
53
|
+
async flush() {
|
|
54
|
+
const written = new Set();
|
|
55
|
+
try {
|
|
56
|
+
await [...pending.entries()].reduce(async (acc, [filePath, { content }]) => {
|
|
57
|
+
await acc;
|
|
58
|
+
const absolutePath = resolve(filePath);
|
|
59
|
+
await fs.mkdir(path.dirname(absolutePath), { recursive: true });
|
|
60
|
+
await fs.writeFile(absolutePath, content);
|
|
61
|
+
written.add(filePath);
|
|
62
|
+
return null;
|
|
63
|
+
}, Promise.resolve(null));
|
|
64
|
+
pending.clear();
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
await rollback([...written], pending, fs, resolve);
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
async function rollback(written, pending, fs, resolve) {
|
|
74
|
+
await Promise.allSettled(written.map(async (filePath) => {
|
|
75
|
+
const entry = pending.get(filePath);
|
|
76
|
+
if (!entry) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const absolutePath = resolve(filePath);
|
|
80
|
+
if (entry.original == null) {
|
|
81
|
+
await fs.unlink(absolutePath);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
await fs.writeFile(absolutePath, entry.original);
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=virtual-fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-fs.js","sourceRoot":"","sources":["../../../../src/lib/wizard/virtual-fs.ts"],"names":[],"mappings":"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"}
|