@udondan/avanti 0.21.2 → 0.23.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.
Files changed (68) hide show
  1. package/README.md +314 -10
  2. package/dist/commands/diff.d.ts.map +1 -1
  3. package/dist/commands/diff.js +45 -12
  4. package/dist/commands/diff.js.map +1 -1
  5. package/dist/commands/lock.d.ts.map +1 -1
  6. package/dist/commands/lock.js +11 -4
  7. package/dist/commands/lock.js.map +1 -1
  8. package/dist/commands/pull.d.ts.map +1 -1
  9. package/dist/commands/pull.js +71 -16
  10. package/dist/commands/pull.js.map +1 -1
  11. package/dist/condition.js +2 -2
  12. package/dist/condition.js.map +1 -1
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +83 -9
  15. package/dist/config.js.map +1 -1
  16. package/dist/dependencies.d.ts +3 -0
  17. package/dist/dependencies.d.ts.map +1 -0
  18. package/dist/dependencies.js +161 -0
  19. package/dist/dependencies.js.map +1 -0
  20. package/dist/diff.d.ts +0 -4
  21. package/dist/diff.d.ts.map +1 -1
  22. package/dist/diff.js +0 -51
  23. package/dist/diff.js.map +1 -1
  24. package/dist/paths.d.ts +7 -0
  25. package/dist/paths.d.ts.map +1 -0
  26. package/dist/paths.js +141 -0
  27. package/dist/paths.js.map +1 -0
  28. package/dist/processors/json.d.ts.map +1 -1
  29. package/dist/processors/json.js +12 -0
  30. package/dist/processors/json.js.map +1 -1
  31. package/dist/processors/template.d.ts +4 -0
  32. package/dist/processors/template.d.ts.map +1 -0
  33. package/dist/processors/template.js +119 -0
  34. package/dist/processors/template.js.map +1 -0
  35. package/dist/processors/toml.d.ts.map +1 -1
  36. package/dist/processors/toml.js +11 -0
  37. package/dist/processors/toml.js.map +1 -1
  38. package/dist/processors/yaml.d.ts.map +1 -1
  39. package/dist/processors/yaml.js +14 -0
  40. package/dist/processors/yaml.js.map +1 -1
  41. package/dist/sources/github.d.ts.map +1 -1
  42. package/dist/sources/github.js +2 -4
  43. package/dist/sources/github.js.map +1 -1
  44. package/dist/sources/index.d.ts +1 -1
  45. package/dist/sources/index.d.ts.map +1 -1
  46. package/dist/sources/index.js +63 -6
  47. package/dist/sources/index.js.map +1 -1
  48. package/dist/sources/local.d.ts.map +1 -1
  49. package/dist/sources/local.js.map +1 -1
  50. package/dist/sources/vault.d.ts.map +1 -1
  51. package/dist/sources/vault.js +2 -1
  52. package/dist/sources/vault.js.map +1 -1
  53. package/dist/types.d.ts +10 -4
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/types.js +10 -0
  56. package/dist/types.js.map +1 -1
  57. package/dist/variables-remote.d.ts.map +1 -1
  58. package/dist/variables-remote.js +47 -2
  59. package/dist/variables-remote.js.map +1 -1
  60. package/dist/variables.d.ts +6 -0
  61. package/dist/variables.d.ts.map +1 -1
  62. package/dist/variables.js +189 -2
  63. package/dist/variables.js.map +1 -1
  64. package/dist/writer.d.ts +1 -0
  65. package/dist/writer.d.ts.map +1 -1
  66. package/dist/writer.js +42 -1
  67. package/dist/writer.js.map +1 -1
  68. package/package.json +11 -2
@@ -39,9 +39,10 @@ const path = __importStar(require("path"));
39
39
  const config_1 = require("../config");
40
40
  const condition_1 = require("../condition");
41
41
  const sources_1 = require("../sources");
42
- const diff_1 = require("../diff");
42
+ const paths_1 = require("../paths");
43
43
  const config_writeback_1 = require("../config-writeback");
44
44
  const variables_remote_1 = require("../variables-remote");
45
+ const variables_1 = require("../variables");
45
46
  function lockCommand() {
46
47
  return new commander_1.Command('lock')
47
48
  .description('Compute and pin SHA values for all remote sources in the config')
@@ -73,16 +74,22 @@ function lockCommand() {
73
74
  console.error(err instanceof Error ? err.message : String(err));
74
75
  process.exit(2);
75
76
  }
77
+ if (configPath !== undefined) {
78
+ vars['self'] = configPath;
79
+ }
80
+ Object.assign(vars, (0, variables_1.buildDateVars)());
76
81
  const toPin = new Map(); // label → sha
77
82
  let hasError = false;
78
83
  let remoteSourceCount = 0;
79
84
  for (const [key, entry] of Object.entries(config.files)) {
80
85
  try {
81
- if (!(0, condition_1.evaluateConditions)(entry['if'], entry.ifAny, () => key === config_1.SELF_KEY
86
+ const isSelf = key === config_1.SELF_KEY;
87
+ const preVars = (0, paths_1.buildEntryPreVars)(entry, isSelf, workingDir, vars);
88
+ if (!(0, condition_1.evaluateConditions)(entry['if'], entry.ifAny, () => isSelf
82
89
  ? configPath
83
- : (0, diff_1.resolveTargetPath)(entry, '', workingDir, vars), workingDir, vars))
90
+ : (0, paths_1.resolveTargetPath)(entry, '', workingDir, vars), workingDir, preVars))
84
91
  continue;
85
- const result = await (0, sources_1.fetchSource)(entry, workingDir, vars, undefined, key === config_1.SELF_KEY ? () => configPath : undefined);
92
+ const result = await (0, sources_1.fetchSource)(entry, workingDir, preVars, undefined, isSelf ? () => configPath : undefined);
86
93
  remoteSourceCount += result.sourceRecords.length;
87
94
  for (const rec of result.sourceRecords) {
88
95
  if (!opts.force && rec.expectedSha !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/commands/lock.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;AAuRpC,wBAAgB,WAAW,IAAI,OAAO,CAubrC"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0VpC,wBAAgB,WAAW,IAAI,OAAO,CA2brC"}
@@ -40,17 +40,20 @@ const path = __importStar(require("path"));
40
40
  const config_1 = require("../config");
41
41
  const condition_1 = require("../condition");
42
42
  const sources_1 = require("../sources");
43
+ const dependencies_1 = require("../dependencies");
43
44
  const replace_1 = require("../processors/replace");
44
45
  const post_1 = require("../processors/post");
45
46
  const insert_1 = require("../processors/insert");
46
47
  const binary_1 = require("../binary");
47
48
  const diff_1 = require("../diff");
48
49
  const writer_1 = require("../writer");
50
+ const paths_1 = require("../paths");
49
51
  const history_1 = require("../history");
50
52
  const prompt_1 = require("../prompt");
51
53
  const config_writeback_1 = require("../config-writeback");
52
54
  const variables_remote_1 = require("../variables-remote");
53
- async function runFetchLoop(config, workingDir, cache, configPath, history) {
55
+ const variables_1 = require("../variables");
56
+ async function runFetchLoop(config, workingDir, dateVars, cache, configPath, history) {
54
57
  let vars;
55
58
  try {
56
59
  vars = await (0, variables_remote_1.resolveVariableSpec)(config.variables ?? {}, workingDir, cache);
@@ -68,6 +71,10 @@ async function runFetchLoop(config, workingDir, cache, configPath, history) {
68
71
  insertedFragments: new Map(),
69
72
  };
70
73
  }
74
+ if (configPath !== undefined) {
75
+ vars['self'] = configPath;
76
+ }
77
+ Object.assign(vars, dateVars);
71
78
  const writeTargets = [];
72
79
  const allDiffs = [];
73
80
  const shaErrors = [];
@@ -75,6 +82,7 @@ async function runFetchLoop(config, workingDir, cache, configPath, history) {
75
82
  const sourceRecordsByTarget = new Map();
76
83
  const skippedPaths = new Set();
77
84
  const insertedFragments = new Map();
85
+ const pendingWrites = new Map();
78
86
  let hasUnresolvableSkippedPath = false;
79
87
  let hasError = false;
80
88
  let selfContent;
@@ -86,7 +94,7 @@ async function runFetchLoop(config, workingDir, cache, configPath, history) {
86
94
  try {
87
95
  hasSelf = (0, condition_1.evaluateConditions)(selfEntry['if'], selfEntry.ifAny, () => configPath !== undefined
88
96
  ? configPath
89
- : (0, diff_1.resolveTargetPath)(selfEntry, '', workingDir, vars), workingDir, vars);
97
+ : (0, paths_1.resolveTargetPath)(selfEntry, '', workingDir, vars), workingDir, vars);
90
98
  }
91
99
  catch (err) {
92
100
  console.error(`Error processing ${config_1.SELF_KEY}: ${err instanceof Error ? err.message : String(err)}`);
@@ -109,15 +117,37 @@ async function runFetchLoop(config, workingDir, cache, configPath, history) {
109
117
  skippedPaths.add(configPath);
110
118
  }
111
119
  }
112
- for (const [key, entry] of Object.entries(config.files)) {
120
+ const nonSelfEntries = Object.entries(config.files).filter(([k]) => k !== config_1.SELF_KEY);
121
+ let sortedEntries;
122
+ try {
123
+ sortedEntries = (0, dependencies_1.sortByDependencies)(nonSelfEntries, workingDir, vars);
124
+ }
125
+ catch (err) {
126
+ console.error(err instanceof Error ? err.message : String(err));
127
+ return {
128
+ writeTargets: [],
129
+ allDiffs: [],
130
+ hasError: true,
131
+ shaErrors: [],
132
+ sourceRecordsByTarget: new Map(),
133
+ skippedPaths: new Set(),
134
+ hasUnresolvableSkippedPath: false,
135
+ insertedFragments: new Map(),
136
+ };
137
+ }
138
+ const entriesToProcess = hasSelf
139
+ ? [[config_1.SELF_KEY, config.files[config_1.SELF_KEY]], ...sortedEntries]
140
+ : sortedEntries;
141
+ for (const [key, entry] of entriesToProcess) {
113
142
  const isSelf = key === config_1.SELF_KEY;
114
143
  if (hasSelf !== isSelf)
115
144
  continue;
116
145
  try {
146
+ const preVars = (0, paths_1.buildEntryPreVars)(entry, isSelf, workingDir, vars);
117
147
  if (!isSelf &&
118
- !(0, condition_1.evaluateConditions)(entry['if'], entry.ifAny, () => (0, diff_1.resolveTargetPath)(entry, '', workingDir, vars), workingDir, vars)) {
148
+ !(0, condition_1.evaluateConditions)(entry['if'], entry.ifAny, () => (0, paths_1.resolveTargetPath)(entry, '', workingDir, vars), workingDir, preVars)) {
119
149
  try {
120
- skippedPaths.add((0, diff_1.resolveTargetPath)(entry, '', workingDir, vars));
150
+ skippedPaths.add((0, paths_1.resolveTargetPath)(entry, '', workingDir, vars));
121
151
  }
122
152
  catch {
123
153
  console.warn(`Warning: skipped entry has an unresolvable target path — stale cleanup disabled for this run.`);
@@ -125,10 +155,10 @@ async function runFetchLoop(config, workingDir, cache, configPath, history) {
125
155
  }
126
156
  continue;
127
157
  }
128
- const result = await (0, sources_1.fetchSource)(entry, workingDir, vars, cache, isSelf && configPath !== undefined ? () => configPath : undefined);
158
+ const result = await (0, sources_1.fetchSource)(entry, workingDir, preVars, cache, isSelf && configPath !== undefined ? () => configPath : undefined, pendingWrites);
129
159
  if (result.allSkipped && !isSelf) {
130
160
  try {
131
- skippedPaths.add((0, diff_1.resolveTargetPath)(entry, '', workingDir, vars));
161
+ skippedPaths.add((0, paths_1.resolveTargetPath)(entry, '', workingDir, vars));
132
162
  }
133
163
  catch {
134
164
  console.warn(`Warning: skipped entry has an unresolvable target path — stale cleanup disabled for this run.`);
@@ -149,18 +179,33 @@ async function runFetchLoop(config, workingDir, cache, configPath, history) {
149
179
  if (isSelf && result.files.size !== 1) {
150
180
  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.`);
151
181
  }
182
+ const applyTemplate = entry.template !== undefined
183
+ ? (await Promise.resolve().then(() => __importStar(require('../processors/template')))).applyTemplate
184
+ : undefined;
152
185
  for (const [relPath, rawContent] of result.files) {
186
+ // Compute the target path early so per-file vars ($path, $filename,
187
+ // $basename, $ext, $dirname, $basedir) are available in processors.
188
+ // For $self the path resolution would fail (config path is absolute),
189
+ // so we skip it and fall back to the base vars.
190
+ const targetPath = isSelf
191
+ ? undefined
192
+ : (0, paths_1.resolveTargetPath)(entry, relPath, workingDir, vars);
193
+ const entryVars = targetPath !== undefined
194
+ ? Object.assign(Object.create(null), vars, (0, variables_1.buildFileVars)(targetPath))
195
+ : vars;
153
196
  let content = rawContent;
154
197
  if (!(0, binary_1.isBinary)(content)) {
155
198
  // Processors only operate on text; binary files are passed through unchanged.
156
199
  const rawText = content.toString('utf8');
157
200
  let text = rawText;
201
+ if (applyTemplate !== undefined) {
202
+ text = await applyTemplate(text, entry.template, entryVars, relPath || undefined);
203
+ }
158
204
  if (entry.replace?.length)
159
- text = (0, replace_1.applyReplace)(text, entry.replace, vars);
205
+ text = (0, replace_1.applyReplace)(text, entry.replace, entryVars);
160
206
  if (entry.post)
161
- text = (0, post_1.applyPost)(text, entry.post, vars);
207
+ text = (0, post_1.applyPost)(text, entry.post, entryVars);
162
208
  if (entry.strategy === 'insert' && !isSelf) {
163
- const targetPath = (0, diff_1.resolveTargetPath)(entry, relPath, workingDir, vars);
164
209
  const lastInserted = history?.getInsertedFragment(targetPath) ?? null;
165
210
  if (lastInserted !== null &&
166
211
  rawText === lastInserted.raw &&
@@ -185,9 +230,18 @@ async function runFetchLoop(config, workingDir, cache, configPath, history) {
185
230
  selfSourceRecords = result.sourceRecords;
186
231
  continue;
187
232
  }
188
- const targetPath = (0, diff_1.resolveTargetPath)(entry, relPath, workingDir, vars);
189
- allDiffs.push((0, diff_1.computeDiff)(targetPath, content));
190
- writeTargets.push({ targetPath, content, mode: entry.mode });
233
+ const diff = (0, diff_1.computeDiff)(targetPath, content);
234
+ allDiffs.push(diff);
235
+ const backupPath = entry.backup && diff.hasChanges && !diff.isNew
236
+ ? (0, variables_1.resolveBackupPath)(entry.backup, targetPath, workingDir, vars, config.backup_roots ?? [])
237
+ : undefined;
238
+ writeTargets.push({
239
+ targetPath: targetPath,
240
+ content,
241
+ mode: entry.mode,
242
+ backupPath,
243
+ });
244
+ pendingWrites.set(targetPath, content);
191
245
  if (result.sourceRecords.length > 0) {
192
246
  sourceRecordsByTarget.set(targetPath, result.sourceRecords);
193
247
  }
@@ -244,7 +298,8 @@ function pullCommand() {
244
298
  const historyAvailable = history.ensureStorageDir();
245
299
  const pullId = historyAvailable ? history.openPullSession() : null;
246
300
  const fetchCache = new Map();
247
- const firstPass = await runFetchLoop(config, workingDir, fetchCache, configPath, history);
301
+ const dateVars = (0, variables_1.buildDateVars)();
302
+ const firstPass = await runFetchLoop(config, workingDir, dateVars, fetchCache, configPath, history);
248
303
  let { writeTargets, allDiffs, sourceRecordsByTarget } = firstPass;
249
304
  let insertedFragments = firstPass.insertedFragments;
250
305
  let skippedPaths = firstPass.skippedPaths;
@@ -284,7 +339,7 @@ function pullCommand() {
284
339
  break;
285
340
  }
286
341
  console.log('$self config resolved; re-evaluating with merged config...');
287
- const next = await runFetchLoop(currentConfig, workingDir, fetchCache, configPath, history);
342
+ const next = await runFetchLoop(currentConfig, workingDir, dateVars, fetchCache, configPath, history);
288
343
  if (next.hasError) {
289
344
  console.error('Aborting due to errors in $self re-evaluated config.');
290
345
  process.exit(2);
@@ -318,7 +373,7 @@ function pullCommand() {
318
373
  filesWithoutSelf[k] = v;
319
374
  }
320
375
  if (Object.keys(filesWithoutSelf).length > 0) {
321
- const second = await runFetchLoop({ ...stableConfig, files: filesWithoutSelf }, workingDir, fetchCache, configPath, history);
376
+ const second = await runFetchLoop({ ...stableConfig, files: filesWithoutSelf }, workingDir, dateVars, fetchCache, configPath, history);
322
377
  if (second.hasError) {
323
378
  console.error('Aborting due to errors.');
324
379
  process.exit(2);
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
package/dist/condition.js CHANGED
@@ -60,8 +60,8 @@ function evaluateCondition(cond, getTargetPath, workingDir, vars) {
60
60
  result =
61
61
  (0, child_process_1.spawnSync)(shell, args, { cwd: workingDir, stdio: 'ignore' }).status === 0;
62
62
  }
63
- if (result && cond.target_exists === true) {
64
- result = (0, fs_1.existsSync)(getTargetPath());
63
+ if (result && cond.target_exists !== undefined) {
64
+ result = (0, fs_1.existsSync)(getTargetPath()) === cond.target_exists;
65
65
  }
66
66
  return cond.not === true ? !result : result;
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"condition.js","sourceRoot":"","sources":["../src/condition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"condition.js","sourceRoot":"","sources":["../src/condition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAyBZ,GAAG,EACJ,MAAM,SAAS,CAAC;AAOjB,eAAO,MAAM,QAAQ,UAAU,CAAC;AAShC,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcvD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB3D;AAsGD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAwGhE;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAChB,OAAO,CAAC,YAAY,CAAC,CAQvB;AA0FD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,SAAS,CAgC7E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EA2BZ,GAAG,EACJ,MAAM,SAAS,CAAC;AAQjB,eAAO,MAAM,QAAQ,UAAU,CAAC;AAShC,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcvD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB3D;AAsGD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAqKhE;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAChB,OAAO,CAAC,YAAY,CAAC,CAQvB;AA2GD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,SAAS,CAgC7E"}
package/dist/config.js CHANGED
@@ -43,7 +43,9 @@ exports.parseVia = parseVia;
43
43
  const fs = __importStar(require("fs"));
44
44
  const path = __importStar(require("path"));
45
45
  const yaml = __importStar(require("js-yaml"));
46
+ const types_1 = require("./types");
46
47
  const variables_1 = require("./variables");
48
+ const paths_1 = require("./paths");
47
49
  const http_1 = require("./sources/http");
48
50
  const github_1 = require("./sources/github");
49
51
  const gitlab_1 = require("./sources/gitlab");
@@ -185,6 +187,7 @@ function parseConfigContent(content) {
185
187
  const variables = parseVariables(obj['variables']);
186
188
  const filesRaw = obj['files'];
187
189
  const files = Object.create(null);
190
+ const fileOrigins = Object.create(null);
188
191
  for (const [target, entry] of Object.entries(filesRaw)) {
189
192
  if (!entry || typeof entry !== 'object' || Array.isArray(entry)) {
190
193
  throw new Error(`files["${target}"]: must be an object`);
@@ -204,6 +207,8 @@ function parseConfigContent(content) {
204
207
  fileEntry.ifAny = fileConds.ifAny;
205
208
  if (typeof e['mode'] === 'string')
206
209
  fileEntry.mode = e['mode'];
210
+ if (typeof e['backup'] === 'string')
211
+ fileEntry.backup = e['backup'];
207
212
  if (typeof e['post'] === 'string')
208
213
  fileEntry.post = e['post'];
209
214
  if (e['strategy'] !== undefined) {
@@ -245,9 +250,54 @@ function parseConfigContent(content) {
245
250
  fileEntry.toml = parseTomlMergeOptions(rawToml, `files["${target}"]`);
246
251
  }
247
252
  }
248
- files[target] = fileEntry;
253
+ if (e['template'] !== undefined) {
254
+ const rawTemplate = e['template'];
255
+ if (rawTemplate === true) {
256
+ fileEntry.template = true;
257
+ }
258
+ else {
259
+ if (typeof rawTemplate !== 'string' ||
260
+ !types_1.VALID_TEMPLATE_ENGINES.includes(rawTemplate)) {
261
+ throw new Error(`files["${target}"].template: must be true or one of ${types_1.VALID_TEMPLATE_ENGINES.join(', ')}`);
262
+ }
263
+ fileEntry.template = rawTemplate;
264
+ }
265
+ }
266
+ let expandedTargets;
267
+ try {
268
+ expandedTargets = (0, paths_1.expandBraces)(target);
269
+ }
270
+ catch (err) {
271
+ throw new Error(`files["${target}"]: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
272
+ }
273
+ for (const expandedTarget of expandedTargets) {
274
+ if (expandedTarget in files) {
275
+ const parts = [];
276
+ if (expandedTarget !== target) {
277
+ parts.push(`expanded from "${target}"`);
278
+ }
279
+ const existingOrigin = fileOrigins[expandedTarget];
280
+ if (existingOrigin !== undefined && existingOrigin !== target) {
281
+ parts.push(`existing entry expanded from "${existingOrigin}"`);
282
+ }
283
+ const suffix = parts.length > 0 ? ` (${parts.join('; ')})` : '';
284
+ throw new Error(`files["${expandedTarget}"]: duplicate target${suffix}`);
285
+ }
286
+ files[expandedTarget] = { ...fileEntry, target: expandedTarget };
287
+ if (expandedTarget !== target) {
288
+ fileOrigins[expandedTarget] = target;
289
+ }
290
+ }
291
+ }
292
+ let backup_roots;
293
+ if (obj['backup_roots'] !== undefined) {
294
+ if (!Array.isArray(obj['backup_roots']) ||
295
+ !obj['backup_roots'].every((r) => typeof r === 'string')) {
296
+ throw new Error('"backup_roots" must be a list of strings');
297
+ }
298
+ backup_roots = obj['backup_roots'];
249
299
  }
250
- return { variables, files };
300
+ return { variables, backup_roots, files };
251
301
  }
252
302
  async function loadConfig(configPath, via) {
253
303
  try {
@@ -321,6 +371,19 @@ function parseVariableEntry(obj, varName) {
321
371
  entry.toml = parseTomlMergeOptions(rawToml, loc);
322
372
  }
323
373
  }
374
+ if (obj['template'] !== undefined) {
375
+ const rawTemplate = obj['template'];
376
+ if (rawTemplate === true) {
377
+ entry.template = true;
378
+ }
379
+ else {
380
+ if (typeof rawTemplate !== 'string' ||
381
+ !types_1.VALID_TEMPLATE_ENGINES.includes(rawTemplate)) {
382
+ throw new Error(`${loc}.template: must be true or one of ${types_1.VALID_TEMPLATE_ENGINES.join(', ')}`);
383
+ }
384
+ entry.template = rawTemplate;
385
+ }
386
+ }
324
387
  return entry;
325
388
  }
326
389
  function parseSha(value, loc) {
@@ -411,10 +474,10 @@ function parseCondition(raw, loc) {
411
474
  cond.exec = obj['exec'];
412
475
  }
413
476
  if (obj['target_exists'] !== undefined) {
414
- if (obj['target_exists'] !== true) {
415
- throw new Error(`${loc}.target_exists: must be true`);
477
+ if (typeof obj['target_exists'] !== 'boolean') {
478
+ throw new Error(`${loc}.target_exists: must be a boolean`);
416
479
  }
417
- cond.target_exists = true;
480
+ cond.target_exists = obj['target_exists'];
418
481
  }
419
482
  if (obj['not'] !== undefined) {
420
483
  if (typeof obj['not'] !== 'boolean') {
@@ -749,7 +812,7 @@ function parseSingleSrc(raw, loc) {
749
812
  }
750
813
  throw new Error(`${loc}: unknown source type. Must be a string or map with exec/gitlab/github/bitbucket/git/aws_s3/vault/http/url/path/raw/aws_secrets_manager/aws_systems_manager_parameter`);
751
814
  }
752
- function parseMergeOptions(raw, loc, kind, conflictValues, arrayValues, objectValues) {
815
+ function parseMergeOptions(raw, loc, kind, conflictValues, arrayValues, objectValues, extraKnownKeys = []) {
753
816
  if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
754
817
  throw new Error(`${loc}: "${kind}" must be an object`);
755
818
  }
@@ -773,10 +836,21 @@ function parseMergeOptions(raw, loc, kind, conflictValues, arrayValues, objectVa
773
836
  }
774
837
  opts.objects = obj['objects'];
775
838
  }
839
+ const knownKeys = new Set([
840
+ 'conflicts',
841
+ 'arrays',
842
+ 'objects',
843
+ ...extraKnownKeys,
844
+ ]);
845
+ for (const key of Object.keys(obj)) {
846
+ if (!knownKeys.has(key)) {
847
+ throw new Error(`${loc}.${kind}.${key}: unknown option`);
848
+ }
849
+ }
776
850
  return opts;
777
851
  }
778
852
  function parseJsonMergeOptions(raw, loc) {
779
- const opts = parseMergeOptions(raw, loc, 'json', ['abort', 'first_wins', 'last_wins'], ['replace', 'concat'], ['replace', 'merge']);
853
+ const opts = parseMergeOptions(raw, loc, 'json', ['abort', 'first_wins', 'last_wins'], ['replace', 'concat', 'dedupe'], ['replace', 'merge'], ['indent', 'trailing_commas', 'sort_keys', 'minify', 'strip_comments']);
780
854
  const r = raw;
781
855
  if ('indent' in r) {
782
856
  const v = r['indent'];
@@ -806,10 +880,10 @@ function parseJsonMergeOptions(raw, loc) {
806
880
  return opts;
807
881
  }
808
882
  function parseYamlMergeOptions(raw, loc) {
809
- return parseMergeOptions(raw, loc, 'yaml', ['abort', 'first_wins', 'last_wins'], ['replace', 'concat'], ['replace', 'merge']);
883
+ return parseMergeOptions(raw, loc, 'yaml', ['abort', 'first_wins', 'last_wins'], ['replace', 'concat', 'dedupe'], ['replace', 'merge']);
810
884
  }
811
885
  function parseTomlMergeOptions(raw, loc) {
812
- return parseMergeOptions(raw, loc, 'toml', ['abort', 'first_wins', 'last_wins'], ['replace', 'concat'], ['replace', 'merge']);
886
+ return parseMergeOptions(raw, loc, 'toml', ['abort', 'first_wins', 'last_wins'], ['replace', 'concat', 'dedupe'], ['replace', 'merge']);
813
887
  }
814
888
  function parseReplaceRule(r, target, j) {
815
889
  if (!r || typeof r !== 'object' || Array.isArray(r)) {