@udondan/avanti 0.13.0 → 0.15.0
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 +303 -265
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +116 -32
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/lock.js +19 -10
- package/dist/commands/lock.js.map +1 -1
- package/dist/commands/log.js +18 -9
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +142 -36
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/reset.js +18 -9
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/revert.js +18 -9
- package/dist/commands/revert.js.map +1 -1
- package/dist/config-writeback.d.ts.map +1 -1
- package/dist/config-writeback.js +44 -18
- package/dist/config-writeback.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +96 -62
- package/dist/config.js.map +1 -1
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +25 -15
- package/dist/diff.js.map +1 -1
- package/dist/fetch.d.ts +0 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +2 -2
- package/dist/fetch.js.map +1 -1
- package/dist/history.js +17 -7
- package/dist/history.js.map +1 -1
- package/dist/processors/json.js +2 -3
- package/dist/processors/json.js.map +1 -1
- package/dist/processors/post.d.ts.map +1 -1
- package/dist/processors/post.js +4 -3
- package/dist/processors/post.js.map +1 -1
- package/dist/processors/replace.js +1 -2
- package/dist/processors/replace.js.map +1 -1
- package/dist/processors/yaml.js +2 -3
- package/dist/processors/yaml.js.map +1 -1
- package/dist/prompt.js +18 -9
- package/dist/prompt.js.map +1 -1
- package/dist/sha.js +18 -9
- package/dist/sha.js.map +1 -1
- package/dist/shell.d.ts +6 -0
- package/dist/shell.d.ts.map +1 -0
- package/dist/shell.js +76 -0
- package/dist/shell.js.map +1 -0
- package/dist/sources/bitbucket.js +18 -9
- package/dist/sources/bitbucket.js.map +1 -1
- package/dist/sources/exec.d.ts.map +1 -1
- package/dist/sources/exec.js +4 -3
- package/dist/sources/exec.js.map +1 -1
- package/dist/sources/git.js +18 -9
- package/dist/sources/git.js.map +1 -1
- package/dist/sources/github.js +18 -9
- package/dist/sources/github.js.map +1 -1
- package/dist/sources/gitlab.js +18 -9
- package/dist/sources/gitlab.js.map +1 -1
- package/dist/sources/http.d.ts +3 -0
- package/dist/sources/http.d.ts.map +1 -1
- package/dist/sources/http.js +24 -12
- package/dist/sources/http.js.map +1 -1
- package/dist/sources/index.d.ts +4 -1
- package/dist/sources/index.d.ts.map +1 -1
- package/dist/sources/index.js +152 -31
- package/dist/sources/index.js.map +1 -1
- package/dist/sources/local.d.ts +2 -1
- package/dist/sources/local.d.ts.map +1 -1
- package/dist/sources/local.js +23 -15
- package/dist/sources/local.js.map +1 -1
- package/dist/sources/s3.js +18 -9
- package/dist/sources/s3.js.map +1 -1
- package/dist/sources/vault.js +18 -9
- package/dist/sources/vault.js.map +1 -1
- package/dist/types.d.ts +15 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/variables.d.ts.map +1 -1
- package/dist/variables.js +42 -31
- package/dist/variables.js.map +1 -1
- package/dist/writer.d.ts.map +1 -1
- package/dist/writer.js +37 -12
- package/dist/writer.js.map +1 -1
- package/package.json +10 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmFpC,wBAAgB,WAAW,IAAI,OAAO,CAoIrC"}
|
package/dist/commands/diff.js
CHANGED
|
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.diffCommand =
|
|
36
|
+
exports.diffCommand = diffCommand;
|
|
27
37
|
const commander_1 = require("commander");
|
|
28
38
|
const path = __importStar(require("path"));
|
|
29
39
|
const config_1 = require("../config");
|
|
@@ -32,6 +42,49 @@ const replace_1 = require("../processors/replace");
|
|
|
32
42
|
const post_1 = require("../processors/post");
|
|
33
43
|
const diff_1 = require("../diff");
|
|
34
44
|
const history_1 = require("../history");
|
|
45
|
+
async function runDiffLoop(config, workingDir, cache) {
|
|
46
|
+
const vars = config.variables ?? {};
|
|
47
|
+
const allDiffs = [];
|
|
48
|
+
let hasError = false;
|
|
49
|
+
let selfContent;
|
|
50
|
+
const hasSelf = config_1.SELF_KEY in config.files;
|
|
51
|
+
for (const [key, entry] of Object.entries(config.files)) {
|
|
52
|
+
const isSelf = key === config_1.SELF_KEY;
|
|
53
|
+
if (hasSelf && !isSelf)
|
|
54
|
+
continue;
|
|
55
|
+
try {
|
|
56
|
+
const result = await (0, sources_1.fetchSource)(entry, workingDir, vars, cache);
|
|
57
|
+
for (const rec of result.sourceRecords) {
|
|
58
|
+
if (!rec.matched) {
|
|
59
|
+
console.error(`⚠ SHA mismatch for ${rec.sourceLabel}\n` +
|
|
60
|
+
` expected: ${rec.expectedSha}\n` +
|
|
61
|
+
` got: ${rec.observedSha}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (isSelf && result.files.size !== 1) {
|
|
65
|
+
throw new Error(`$self must resolve to exactly one file, got ${result.files.size}. Use yaml: true or json: true to merge multiple sources into one.`);
|
|
66
|
+
}
|
|
67
|
+
for (const [relPath, rawContent] of result.files) {
|
|
68
|
+
let content = rawContent;
|
|
69
|
+
if (entry.replace?.length)
|
|
70
|
+
content = (0, replace_1.applyReplace)(content, entry.replace, vars);
|
|
71
|
+
if (entry.post)
|
|
72
|
+
content = (0, post_1.applyPost)(content, entry.post, vars);
|
|
73
|
+
if (isSelf) {
|
|
74
|
+
selfContent = content;
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const targetPath = (0, diff_1.resolveTargetPath)(entry, relPath, workingDir, vars);
|
|
78
|
+
allDiffs.push((0, diff_1.computeDiff)(targetPath, content));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
console.error(`Error processing ${JSON.stringify(entry.src)}: ${err.message}`);
|
|
83
|
+
hasError = true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return { allDiffs, hasError, selfContent };
|
|
87
|
+
}
|
|
35
88
|
function diffCommand() {
|
|
36
89
|
return new commander_1.Command('diff')
|
|
37
90
|
.description('Show diff between remote sources and local files, or between local files and a past pull')
|
|
@@ -54,32 +107,64 @@ function diffCommand() {
|
|
|
54
107
|
console.error(err.message);
|
|
55
108
|
process.exit(2);
|
|
56
109
|
}
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
110
|
+
const fetchCache = new Map();
|
|
111
|
+
const firstPass = await runDiffLoop(config, workingDir, fetchCache);
|
|
112
|
+
let { allDiffs, hasError } = firstPass;
|
|
113
|
+
if (hasError)
|
|
114
|
+
process.exit(2);
|
|
115
|
+
if (firstPass.selfContent !== undefined) {
|
|
116
|
+
let prevSelfContent;
|
|
117
|
+
let currentSelfContent = firstPass.selfContent;
|
|
118
|
+
let stableConfig;
|
|
119
|
+
while (stableConfig === undefined) {
|
|
120
|
+
let currentConfig;
|
|
121
|
+
try {
|
|
122
|
+
currentConfig = (0, config_1.parseConfigContent)(currentSelfContent);
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
console.error(`$self config is invalid: ${err.message}`);
|
|
126
|
+
process.exit(2);
|
|
127
|
+
}
|
|
128
|
+
if (!(config_1.SELF_KEY in currentConfig.files) ||
|
|
129
|
+
currentSelfContent === prevSelfContent) {
|
|
130
|
+
stableConfig = currentConfig;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
console.log('$self config resolved; re-evaluating with merged config...');
|
|
134
|
+
const next = await runDiffLoop(currentConfig, workingDir, fetchCache);
|
|
135
|
+
if (next.hasError) {
|
|
136
|
+
hasError = true;
|
|
137
|
+
break;
|
|
69
138
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
content = (0, replace_1.applyReplace)(content, entry.replace, vars);
|
|
74
|
-
if (entry.post)
|
|
75
|
-
content = (0, post_1.applyPost)(content, entry.post, vars);
|
|
76
|
-
const targetPath = (0, diff_1.resolveTargetPath)(entry, relPath, workingDir, vars);
|
|
77
|
-
allDiffs.push((0, diff_1.computeDiff)(targetPath, content));
|
|
139
|
+
if (next.selfContent === undefined) {
|
|
140
|
+
stableConfig = currentConfig;
|
|
141
|
+
break;
|
|
78
142
|
}
|
|
143
|
+
prevSelfContent = currentSelfContent;
|
|
144
|
+
currentSelfContent = next.selfContent;
|
|
79
145
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
146
|
+
if (stableConfig !== undefined) {
|
|
147
|
+
// Use Object.create(null) to preserve the null-prototype invariant
|
|
148
|
+
// established by parseConfigContent and avoid prototype pollution.
|
|
149
|
+
const filesWithoutSelf = Object.create(null);
|
|
150
|
+
for (const [k, v] of Object.entries(stableConfig.files)) {
|
|
151
|
+
if (k !== config_1.SELF_KEY)
|
|
152
|
+
filesWithoutSelf[k] = v;
|
|
153
|
+
}
|
|
154
|
+
if (Object.keys(filesWithoutSelf).length > 0) {
|
|
155
|
+
const second = await runDiffLoop({ ...stableConfig, files: filesWithoutSelf }, workingDir, fetchCache);
|
|
156
|
+
allDiffs = second.allDiffs;
|
|
157
|
+
hasError = second.hasError;
|
|
158
|
+
}
|
|
159
|
+
if (!(0, config_1.isRemoteConfigSpec)(configPath)) {
|
|
160
|
+
const existingIdx = allDiffs.findIndex((d) => d.targetPath === configPath);
|
|
161
|
+
if (existingIdx === -1) {
|
|
162
|
+
allDiffs.push((0, diff_1.computeDiff)(configPath, currentSelfContent));
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
allDiffs[existingIdx] = (0, diff_1.computeDiff)(configPath, currentSelfContent);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
83
168
|
}
|
|
84
169
|
}
|
|
85
170
|
(0, diff_1.printDiffs)(allDiffs);
|
|
@@ -89,7 +174,6 @@ function diffCommand() {
|
|
|
89
174
|
process.exit(hasChanges ? 1 : 0);
|
|
90
175
|
});
|
|
91
176
|
}
|
|
92
|
-
exports.diffCommand = diffCommand;
|
|
93
177
|
function diffAgainstHistory(pullId, configPath, workingDir) {
|
|
94
178
|
const history = new history_1.HistoryManager((0, config_1.normalizeConfigKey)(configPath), workingDir);
|
|
95
179
|
if (!history.hasHistory()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/lock.js
CHANGED
|
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.lockCommand =
|
|
36
|
+
exports.lockCommand = lockCommand;
|
|
27
37
|
const commander_1 = require("commander");
|
|
28
38
|
const path = __importStar(require("path"));
|
|
29
39
|
const config_1 = require("../config");
|
|
@@ -56,7 +66,7 @@ function lockCommand() {
|
|
|
56
66
|
const toPin = new Map(); // label → sha
|
|
57
67
|
let hasError = false;
|
|
58
68
|
let remoteSourceCount = 0;
|
|
59
|
-
for (const entry of config.files) {
|
|
69
|
+
for (const entry of Object.values(config.files)) {
|
|
60
70
|
try {
|
|
61
71
|
const result = await (0, sources_1.fetchSource)(entry, workingDir, vars);
|
|
62
72
|
remoteSourceCount += result.sourceRecords.length;
|
|
@@ -99,5 +109,4 @@ function lockCommand() {
|
|
|
99
109
|
process.exit(0);
|
|
100
110
|
});
|
|
101
111
|
}
|
|
102
|
-
exports.lockCommand = lockCommand;
|
|
103
112
|
//# sourceMappingURL=lock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/log.js
CHANGED
|
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.logCommand =
|
|
36
|
+
exports.logCommand = logCommand;
|
|
27
37
|
const commander_1 = require("commander");
|
|
28
38
|
const path = __importStar(require("path"));
|
|
29
39
|
const config_1 = require("../config");
|
|
@@ -47,7 +57,6 @@ function logCommand() {
|
|
|
47
57
|
}
|
|
48
58
|
});
|
|
49
59
|
}
|
|
50
|
-
exports.logCommand = logCommand;
|
|
51
60
|
function showPullHistory(history) {
|
|
52
61
|
const pulls = history.listPulls();
|
|
53
62
|
if (pulls.length === 0) {
|
package/dist/commands/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/commands/log.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoIpC,wBAAgB,WAAW,IAAI,OAAO,CAgYrC"}
|
package/dist/commands/pull.js
CHANGED
|
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.pullCommand =
|
|
36
|
+
exports.pullCommand = pullCommand;
|
|
27
37
|
const commander_1 = require("commander");
|
|
28
38
|
const path = __importStar(require("path"));
|
|
29
39
|
const config_1 = require("../config");
|
|
@@ -35,7 +45,7 @@ const writer_1 = require("../writer");
|
|
|
35
45
|
const history_1 = require("../history");
|
|
36
46
|
const prompt_1 = require("../prompt");
|
|
37
47
|
const config_writeback_1 = require("../config-writeback");
|
|
38
|
-
async function runFetchLoop(config, workingDir) {
|
|
48
|
+
async function runFetchLoop(config, workingDir, cache) {
|
|
39
49
|
const vars = config.variables ?? {};
|
|
40
50
|
const writeTargets = [];
|
|
41
51
|
const allDiffs = [];
|
|
@@ -43,9 +53,16 @@ async function runFetchLoop(config, workingDir) {
|
|
|
43
53
|
const seenShaErrorLabels = new Set();
|
|
44
54
|
const sourceRecordsByTarget = new Map();
|
|
45
55
|
let hasError = false;
|
|
46
|
-
|
|
56
|
+
let selfContent;
|
|
57
|
+
let selfMode;
|
|
58
|
+
let selfSourceRecords;
|
|
59
|
+
const hasSelf = config_1.SELF_KEY in config.files;
|
|
60
|
+
for (const [key, entry] of Object.entries(config.files)) {
|
|
61
|
+
const isSelf = key === config_1.SELF_KEY;
|
|
62
|
+
if (hasSelf && !isSelf)
|
|
63
|
+
continue;
|
|
47
64
|
try {
|
|
48
|
-
const result = await (0, sources_1.fetchSource)(entry, workingDir, vars);
|
|
65
|
+
const result = await (0, sources_1.fetchSource)(entry, workingDir, vars, cache);
|
|
49
66
|
for (const rec of result.sourceRecords) {
|
|
50
67
|
if (!rec.matched && !seenShaErrorLabels.has(rec.sourceLabel)) {
|
|
51
68
|
seenShaErrorLabels.add(rec.sourceLabel);
|
|
@@ -56,12 +73,22 @@ async function runFetchLoop(config, workingDir) {
|
|
|
56
73
|
});
|
|
57
74
|
}
|
|
58
75
|
}
|
|
76
|
+
if (isSelf && result.files.size !== 1) {
|
|
77
|
+
throw new Error(`$self must resolve to exactly one file, got ${result.files.size}. Use yaml: true or json: true to merge multiple sources into one.`);
|
|
78
|
+
}
|
|
59
79
|
for (const [relPath, rawContent] of result.files) {
|
|
60
80
|
let content = rawContent;
|
|
61
81
|
if (entry.replace?.length)
|
|
62
82
|
content = (0, replace_1.applyReplace)(content, entry.replace, vars);
|
|
63
83
|
if (entry.post)
|
|
64
84
|
content = (0, post_1.applyPost)(content, entry.post, vars);
|
|
85
|
+
if (isSelf) {
|
|
86
|
+
selfContent = content;
|
|
87
|
+
selfMode = entry.mode;
|
|
88
|
+
if (result.sourceRecords.length > 0)
|
|
89
|
+
selfSourceRecords = result.sourceRecords;
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
65
92
|
const targetPath = (0, diff_1.resolveTargetPath)(entry, relPath, workingDir, vars);
|
|
66
93
|
allDiffs.push((0, diff_1.computeDiff)(targetPath, content));
|
|
67
94
|
writeTargets.push({ targetPath, content, mode: entry.mode });
|
|
@@ -75,7 +102,16 @@ async function runFetchLoop(config, workingDir) {
|
|
|
75
102
|
hasError = true;
|
|
76
103
|
}
|
|
77
104
|
}
|
|
78
|
-
return {
|
|
105
|
+
return {
|
|
106
|
+
writeTargets,
|
|
107
|
+
allDiffs,
|
|
108
|
+
hasError,
|
|
109
|
+
shaErrors,
|
|
110
|
+
sourceRecordsByTarget,
|
|
111
|
+
selfContent,
|
|
112
|
+
selfMode,
|
|
113
|
+
selfSourceRecords,
|
|
114
|
+
};
|
|
79
115
|
}
|
|
80
116
|
function printShaErrors(errors) {
|
|
81
117
|
for (const e of errors) {
|
|
@@ -107,7 +143,8 @@ function pullCommand() {
|
|
|
107
143
|
const history = new history_1.HistoryManager((0, config_1.normalizeConfigKey)(configPath), workingDir);
|
|
108
144
|
const historyAvailable = history.ensureStorageDir();
|
|
109
145
|
const pullId = historyAvailable ? history.openPullSession() : null;
|
|
110
|
-
const
|
|
146
|
+
const fetchCache = new Map();
|
|
147
|
+
const firstPass = await runFetchLoop(config, workingDir, fetchCache);
|
|
111
148
|
let { writeTargets, allDiffs, sourceRecordsByTarget } = firstPass;
|
|
112
149
|
if (firstPass.hasError) {
|
|
113
150
|
console.error('Aborting due to errors.');
|
|
@@ -119,17 +156,68 @@ function pullCommand() {
|
|
|
119
156
|
console.error('\nRun `avanti pull --accept-changes` to review the diff and update SHA values.');
|
|
120
157
|
process.exit(2);
|
|
121
158
|
}
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
159
|
+
// $self stabilization loop: keep fetching $self until content converges,
|
|
160
|
+
// then fetch all non-$self file entries from the stable config.
|
|
161
|
+
if (firstPass.selfContent !== undefined) {
|
|
162
|
+
let prevSelfContent;
|
|
163
|
+
let currentSelfContent = firstPass.selfContent;
|
|
164
|
+
let currentSelfMode = firstPass.selfMode;
|
|
165
|
+
let currentSelfSourceRecords = firstPass.selfSourceRecords;
|
|
166
|
+
let stableConfig;
|
|
167
|
+
while (stableConfig === undefined) {
|
|
168
|
+
let currentConfig;
|
|
127
169
|
try {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
170
|
+
currentConfig = (0, config_1.parseConfigContent)(currentSelfContent);
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
console.error(`$self config is invalid: ${err.message}`);
|
|
174
|
+
process.exit(2);
|
|
175
|
+
}
|
|
176
|
+
// Stable when: merged config has no $self, or fetching $self produced
|
|
177
|
+
// the same content as the previous iteration (fixed point reached).
|
|
178
|
+
if (!(config_1.SELF_KEY in currentConfig.files) ||
|
|
179
|
+
currentSelfContent === prevSelfContent) {
|
|
180
|
+
stableConfig = currentConfig;
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
console.log('$self config resolved; re-evaluating with merged config...');
|
|
184
|
+
const next = await runFetchLoop(currentConfig, workingDir, fetchCache);
|
|
185
|
+
if (next.hasError) {
|
|
186
|
+
console.error('Aborting due to errors in $self re-evaluated config.');
|
|
187
|
+
process.exit(2);
|
|
188
|
+
}
|
|
189
|
+
if (next.shaErrors.length > 0 && !opts.acceptChanges) {
|
|
190
|
+
printShaErrors(next.shaErrors);
|
|
191
|
+
console.error('\nRun `avanti pull --accept-changes` to review the diff and update SHA values.');
|
|
192
|
+
process.exit(2);
|
|
193
|
+
}
|
|
194
|
+
const seenInLoop = new Set(firstPass.shaErrors.map((e) => e.sourceLabel));
|
|
195
|
+
for (const e of next.shaErrors) {
|
|
196
|
+
if (!seenInLoop.has(e.sourceLabel))
|
|
197
|
+
firstPass.shaErrors.push(e);
|
|
198
|
+
}
|
|
199
|
+
if (next.selfContent === undefined) {
|
|
200
|
+
stableConfig = currentConfig;
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
prevSelfContent = currentSelfContent;
|
|
204
|
+
currentSelfContent = next.selfContent;
|
|
205
|
+
currentSelfMode = next.selfMode;
|
|
206
|
+
currentSelfSourceRecords = next.selfSourceRecords;
|
|
207
|
+
}
|
|
208
|
+
if (stableConfig !== undefined) {
|
|
209
|
+
// Fetch all non-$self entries from the stable config.
|
|
210
|
+
// Use Object.create(null) to preserve the null-prototype invariant
|
|
211
|
+
// established by parseConfigContent and avoid prototype pollution.
|
|
212
|
+
const filesWithoutSelf = Object.create(null);
|
|
213
|
+
for (const [k, v] of Object.entries(stableConfig.files)) {
|
|
214
|
+
if (k !== config_1.SELF_KEY)
|
|
215
|
+
filesWithoutSelf[k] = v;
|
|
216
|
+
}
|
|
217
|
+
if (Object.keys(filesWithoutSelf).length > 0) {
|
|
218
|
+
const second = await runFetchLoop({ ...stableConfig, files: filesWithoutSelf }, workingDir, fetchCache);
|
|
131
219
|
if (second.hasError) {
|
|
132
|
-
console.error('Aborting due to errors
|
|
220
|
+
console.error('Aborting due to errors.');
|
|
133
221
|
process.exit(2);
|
|
134
222
|
}
|
|
135
223
|
if (second.shaErrors.length > 0 && !opts.acceptChanges) {
|
|
@@ -137,26 +225,45 @@ function pullCommand() {
|
|
|
137
225
|
console.error('\nRun `avanti pull --accept-changes` to review the diff and update SHA values.');
|
|
138
226
|
process.exit(2);
|
|
139
227
|
}
|
|
140
|
-
const configInSecond = second.writeTargets.findIndex((t) => t.targetPath === configPath);
|
|
141
|
-
if (configInSecond === -1) {
|
|
142
|
-
second.writeTargets.push(writeTargets[configIdx]);
|
|
143
|
-
second.allDiffs.push(allDiffs[configIdx]);
|
|
144
|
-
const firstPassRecords = sourceRecordsByTarget.get(configPath);
|
|
145
|
-
if (firstPassRecords) {
|
|
146
|
-
second.sourceRecordsByTarget.set(configPath, firstPassRecords);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
228
|
writeTargets = second.writeTargets;
|
|
150
229
|
allDiffs = second.allDiffs;
|
|
151
230
|
sourceRecordsByTarget = second.sourceRecordsByTarget;
|
|
152
|
-
const
|
|
231
|
+
const seenInSecond = new Set(firstPass.shaErrors.map((e) => e.sourceLabel));
|
|
153
232
|
for (const e of second.shaErrors) {
|
|
154
|
-
if (!
|
|
233
|
+
if (!seenInSecond.has(e.sourceLabel))
|
|
155
234
|
firstPass.shaErrors.push(e);
|
|
156
235
|
}
|
|
157
236
|
}
|
|
158
|
-
|
|
159
|
-
|
|
237
|
+
// For local configs, write the stable $self content back to disk.
|
|
238
|
+
// If the stable config also declares a file entry for configPath,
|
|
239
|
+
// replace it with the stabilized $self content so the on-disk config
|
|
240
|
+
// always matches what was actually used for this run.
|
|
241
|
+
if (!(0, config_1.isRemoteConfigSpec)(configPath)) {
|
|
242
|
+
const existingIdx = writeTargets.findIndex((t) => t.targetPath === configPath);
|
|
243
|
+
if (existingIdx === -1) {
|
|
244
|
+
writeTargets.push({
|
|
245
|
+
targetPath: configPath,
|
|
246
|
+
content: currentSelfContent,
|
|
247
|
+
mode: currentSelfMode,
|
|
248
|
+
});
|
|
249
|
+
allDiffs.push((0, diff_1.computeDiff)(configPath, currentSelfContent));
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
writeTargets[existingIdx] = {
|
|
253
|
+
...writeTargets[existingIdx],
|
|
254
|
+
content: currentSelfContent,
|
|
255
|
+
mode: currentSelfMode ?? writeTargets[existingIdx].mode,
|
|
256
|
+
};
|
|
257
|
+
allDiffs[existingIdx] = (0, diff_1.computeDiff)(configPath, currentSelfContent);
|
|
258
|
+
}
|
|
259
|
+
// Content comes from $self — attribute the config file write to the
|
|
260
|
+
// $self sources so history reflects the actual origin.
|
|
261
|
+
if (currentSelfSourceRecords !== undefined) {
|
|
262
|
+
sourceRecordsByTarget.set(configPath, currentSelfSourceRecords);
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
sourceRecordsByTarget.delete(configPath);
|
|
266
|
+
}
|
|
160
267
|
}
|
|
161
268
|
}
|
|
162
269
|
}
|
|
@@ -308,5 +415,4 @@ function pullCommand() {
|
|
|
308
415
|
}
|
|
309
416
|
});
|
|
310
417
|
}
|
|
311
|
-
exports.pullCommand = pullCommand;
|
|
312
418
|
//# sourceMappingURL=pull.js.map
|