@devbie/newbie-cli 1.14.0 → 1.14.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-source-drift.js","sourceRoot":"","sources":["../../src/assemble/module-source-drift.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"module-source-drift.js","sourceRoot":"","sources":["../../src/assemble/module-source-drift.ts"],"names":[],"mappings":";;;;;AAgDA,8CA2BC;AA3ED,gEAAkC;AAElC,yDAAoD;AAEpD,8CAA0D;AAC1D,yCAA2D;AAC3D,wCAA0E;AAC1E,8CAAuD;AAqBvD,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,kBAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAcM,KAAK,UAAU,iBAAiB,CAAC,MAIvC;IACC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAClD,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAA,+BAAoB,EAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAsB;YAC/B,GAAG;YACH,aAAa,EAAE,GAAG,2BAAW,IAAI,GAAG,EAAE;YACtC,YAAY,EAAE,GAAG,4BAAoB,IAAI,GAAG,EAAE;YAC9C,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,IAAI,MAAM,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,MAAM,IAAA,+BAAuB,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,IAAA,yBAAiB,EAAC,WAAW,CAAC,CAAC,CAAC;YAC5G,IAAI,MAAM,CAAC,KAAK;gBAAE,SAAS;YAC3B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACxB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -2,7 +2,7 @@ export interface DependencyDecls {
|
|
|
2
2
|
dependencies?: Record<string, string>;
|
|
3
3
|
devDependencies?: Record<string, string>;
|
|
4
4
|
}
|
|
5
|
-
export declare function planDependencyRemovals(
|
|
5
|
+
export declare function planDependencyRemovals(removedDeclarations: DependencyDecls[], enabledDeclarations: DependencyDecls[]): {
|
|
6
6
|
dependencies: string[];
|
|
7
7
|
devDependencies: string[];
|
|
8
8
|
};
|
|
@@ -14,7 +14,7 @@ export interface DependencyConflict {
|
|
|
14
14
|
name: string;
|
|
15
15
|
ranges: string[];
|
|
16
16
|
}
|
|
17
|
-
export declare function planDependencyInstalls(
|
|
17
|
+
export declare function planDependencyInstalls(enabledDeclarations: DependencyDecls[], installed: DependencyDecls): {
|
|
18
18
|
dependencies: string[];
|
|
19
19
|
devDependencies: string[];
|
|
20
20
|
conflicts: DependencyConflict[];
|
|
@@ -3,16 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.planDependencyRemovals = planDependencyRemovals;
|
|
4
4
|
exports.buildInstallSpecs = buildInstallSpecs;
|
|
5
5
|
exports.planDependencyInstalls = planDependencyInstalls;
|
|
6
|
-
function planDependencyRemovals(
|
|
6
|
+
function planDependencyRemovals(removedDeclarations, enabledDeclarations) {
|
|
7
7
|
const keptDependencies = new Set();
|
|
8
8
|
const keptDevDependencies = new Set();
|
|
9
|
-
for (const decl of
|
|
9
|
+
for (const decl of enabledDeclarations) {
|
|
10
10
|
Object.keys(decl.dependencies ?? {}).forEach((name) => keptDependencies.add(name));
|
|
11
11
|
Object.keys(decl.devDependencies ?? {}).forEach((name) => keptDevDependencies.add(name));
|
|
12
12
|
}
|
|
13
13
|
const removedDependencies = new Set();
|
|
14
14
|
const removedDevDependencies = new Set();
|
|
15
|
-
for (const decl of
|
|
15
|
+
for (const decl of removedDeclarations) {
|
|
16
16
|
for (const name of Object.keys(decl.dependencies ?? {})) {
|
|
17
17
|
if (!keptDependencies.has(name))
|
|
18
18
|
removedDependencies.add(name);
|
|
@@ -40,10 +40,10 @@ function buildInstallSpecs(decls) {
|
|
|
40
40
|
}
|
|
41
41
|
return { dependencies, devDependencies };
|
|
42
42
|
}
|
|
43
|
-
function planDependencyInstalls(
|
|
43
|
+
function planDependencyInstalls(enabledDeclarations, installed) {
|
|
44
44
|
const mergeDecls = (pick, otherKind) => {
|
|
45
45
|
const ranges = new Map();
|
|
46
|
-
for (const decl of
|
|
46
|
+
for (const decl of enabledDeclarations) {
|
|
47
47
|
for (const [name, range] of Object.entries(pick(decl) ?? {})) {
|
|
48
48
|
if (!ranges.has(name))
|
|
49
49
|
ranges.set(name, new Set());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-plan.js","sourceRoot":"","sources":["../../src/core/dependency-plan.ts"],"names":[],"mappings":";;AAWA,wDA4BC;AAGD,8CAiBC;AAmBD,wDA0CC;AA7GD,SAAgB,sBAAsB,CACpC,
|
|
1
|
+
{"version":3,"file":"dependency-plan.js","sourceRoot":"","sources":["../../src/core/dependency-plan.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/sink.js
CHANGED
|
@@ -75,9 +75,33 @@ function createSink(cwd, dryRun, options = {}) {
|
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
77
|
const target = resolve(toRelative);
|
|
78
|
-
|
|
79
|
-
await promises_1.default.mkdir(
|
|
80
|
-
|
|
78
|
+
const parent = node_path_1.default.dirname(target);
|
|
79
|
+
await promises_1.default.mkdir(parent, { recursive: true });
|
|
80
|
+
const stamp = `${process.pid}-${Date.now()}`;
|
|
81
|
+
const temp = node_path_1.default.join(parent, `.${node_path_1.default.basename(target)}.tmp-${stamp}`);
|
|
82
|
+
const backup = node_path_1.default.join(parent, `.${node_path_1.default.basename(target)}.bak-${stamp}`);
|
|
83
|
+
await promises_1.default.rm(temp, { recursive: true, force: true });
|
|
84
|
+
try {
|
|
85
|
+
await promises_1.default.cp(fromAbsolute, temp, { recursive: true });
|
|
86
|
+
const hadTarget = await promises_1.default.stat(target).then(() => true, () => false);
|
|
87
|
+
if (hadTarget) {
|
|
88
|
+
await promises_1.default.rename(target, backup);
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
await promises_1.default.rename(temp, target);
|
|
92
|
+
}
|
|
93
|
+
catch (swapError) {
|
|
94
|
+
if (hadTarget) {
|
|
95
|
+
await promises_1.default.rename(backup, target);
|
|
96
|
+
}
|
|
97
|
+
throw swapError;
|
|
98
|
+
}
|
|
99
|
+
await promises_1.default.rm(backup, { recursive: true, force: true });
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
await promises_1.default.rm(temp, { recursive: true, force: true }).catch(() => { });
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
81
105
|
},
|
|
82
106
|
async run(command, args, label) {
|
|
83
107
|
if (check) {
|
package/dist/lib/sink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/lib/sink.ts"],"names":[],"mappings":";;;;;AA0CA,
|
|
1
|
+
{"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/lib/sink.ts"],"names":[],"mappings":"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"}
|