@udondan/avanti 0.23.0 → 0.24.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 (52) hide show
  1. package/README.md +129 -16
  2. package/dist/commands/diff.d.ts.map +1 -1
  3. package/dist/commands/diff.js +8 -4
  4. package/dist/commands/diff.js.map +1 -1
  5. package/dist/commands/log.d.ts.map +1 -1
  6. package/dist/commands/log.js +66 -40
  7. package/dist/commands/log.js.map +1 -1
  8. package/dist/commands/pull.d.ts.map +1 -1
  9. package/dist/commands/pull.js +30 -6
  10. package/dist/commands/pull.js.map +1 -1
  11. package/dist/config-writeback.d.ts.map +1 -1
  12. package/dist/config-writeback.js +16 -4
  13. package/dist/config-writeback.js.map +1 -1
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +152 -7
  16. package/dist/config.js.map +1 -1
  17. package/dist/diff.d.ts +6 -1
  18. package/dist/diff.d.ts.map +1 -1
  19. package/dist/diff.js +101 -24
  20. package/dist/diff.js.map +1 -1
  21. package/dist/history.d.ts +1 -0
  22. package/dist/history.d.ts.map +1 -1
  23. package/dist/history.js +32 -0
  24. package/dist/history.js.map +1 -1
  25. package/dist/paths.d.ts.map +1 -1
  26. package/dist/paths.js +18 -8
  27. package/dist/paths.js.map +1 -1
  28. package/dist/sources/github.d.ts +1 -0
  29. package/dist/sources/github.d.ts.map +1 -1
  30. package/dist/sources/github.js +100 -0
  31. package/dist/sources/github.js.map +1 -1
  32. package/dist/sources/gitlab.d.ts +1 -0
  33. package/dist/sources/gitlab.d.ts.map +1 -1
  34. package/dist/sources/gitlab.js +161 -0
  35. package/dist/sources/gitlab.js.map +1 -1
  36. package/dist/sources/index.d.ts.map +1 -1
  37. package/dist/sources/index.js +40 -14
  38. package/dist/sources/index.js.map +1 -1
  39. package/dist/types.d.ts +33 -4
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/types.js.map +1 -1
  42. package/dist/variables-remote.d.ts.map +1 -1
  43. package/dist/variables-remote.js +86 -6
  44. package/dist/variables-remote.js.map +1 -1
  45. package/dist/variables.d.ts.map +1 -1
  46. package/dist/variables.js +96 -10
  47. package/dist/variables.js.map +1 -1
  48. package/dist/writer.d.ts +1 -0
  49. package/dist/writer.d.ts.map +1 -1
  50. package/dist/writer.js +122 -7
  51. package/dist/writer.js.map +1 -1
  52. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA+Ma,QAAA,sBAAsB,GAAqB;IACtD,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,UAAU;IACV,KAAK;IACL,UAAU;IACV,KAAK;CACN,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAuPa,QAAA,sBAAsB,GAAqB;IACtD,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,UAAU;IACV,KAAK;IACL,UAAU;IACV,KAAK;CACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"variables-remote.d.ts","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAe,UAAU,EAAe,MAAM,WAAW,CAAC;AAGjE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CAqEpB"}
1
+ {"version":3,"file":"variables-remote.d.ts","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAET,YAAY,EAEb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAe,UAAU,EAAe,MAAM,WAAW,CAAC;AAuEjE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CAwGpB"}
@@ -37,6 +37,56 @@ exports.resolveVariableSpec = resolveVariableSpec;
37
37
  const variables_1 = require("./variables");
38
38
  const sources_1 = require("./sources");
39
39
  const binary_1 = require("./binary");
40
+ // Recursively resolve $var references in all string leaves of a JsonValue.
41
+ // `seen` tracks the current DFS path for cycle detection; it is backtracked
42
+ // after each object/array so shared (non-circular) references are not flagged.
43
+ function deepResolveVars(value, vars, path = '', seen = new WeakSet()) {
44
+ if (typeof value === 'string')
45
+ return (0, variables_1.resolveVars)(value, vars);
46
+ // Reject non-JSON-compatible primitives that can reach here from programmatic
47
+ // callers who bypass TypeScript (e.g. via `as any`).
48
+ if (typeof value === 'undefined' ||
49
+ typeof value === 'bigint' ||
50
+ typeof value === 'symbol' ||
51
+ typeof value === 'function') {
52
+ const at = path ? ` at ${path}` : '';
53
+ throw new Error(`Variable value has unsupported type "${typeof value}"${at} — only string, number, boolean, null, array, and plain object are allowed`);
54
+ }
55
+ if (Array.isArray(value)) {
56
+ if (seen.has(value)) {
57
+ const at = path ? ` at ${path}` : '';
58
+ throw new Error(`Variable value contains a circular reference${at}`);
59
+ }
60
+ seen.add(value);
61
+ const result = value.map((v, i) => deepResolveVars(v, vars, `${path}[${i}]`, seen));
62
+ seen.delete(value);
63
+ return result;
64
+ }
65
+ if (typeof value === 'object' && value !== null) {
66
+ if (seen.has(value)) {
67
+ const at = path ? ` at ${path}` : '';
68
+ throw new Error(`Variable value contains a circular reference${at}`);
69
+ }
70
+ const proto = Object.getPrototypeOf(value);
71
+ if (proto !== Object.prototype && proto !== null) {
72
+ const typeName = value.constructor?.name ??
73
+ 'unknown';
74
+ const at = path ? ` at ${path}` : '';
75
+ throw new Error(`Variable value contains a non-plain object (${typeName})${at} — only plain objects and arrays are supported as variable values. If loading from YAML, quote timestamps and other auto-typed values.`);
76
+ }
77
+ seen.add(value);
78
+ const out = Object.create(null);
79
+ for (const [k, v] of Object.entries(value)) {
80
+ const keyPart = /[.[\]"']/.test(k)
81
+ ? `["${k.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"]`
82
+ : `.${k}`;
83
+ out[k] = deepResolveVars(v, vars, `${path}${keyPart}`, seen);
84
+ }
85
+ seen.delete(value);
86
+ return out;
87
+ }
88
+ return value;
89
+ }
40
90
  async function resolveVariableSpec(spec, workingDir, cache) {
41
91
  const resolved = Object.create(null);
42
92
  let applyTemplate;
@@ -50,13 +100,43 @@ async function resolveVariableSpec(spec, workingDir, cache) {
50
100
  throw new Error(`variables.${name}: ${msg}`, { cause: err });
51
101
  }
52
102
  }
103
+ else if (value === null) {
104
+ throw new Error(`variables.${name}: value must not be null`);
105
+ }
106
+ else if (typeof value === 'undefined' ||
107
+ typeof value === 'bigint' ||
108
+ typeof value === 'symbol' ||
109
+ typeof value === 'function') {
110
+ throw new Error(`variables.${name}: unsupported value type "${typeof value}" — value must be a string, number, boolean, list, or plain object`);
111
+ }
112
+ else if (typeof value !== 'object' ||
113
+ Array.isArray(value) ||
114
+ // Use `in` for TypeScript narrowing; Object.hasOwn guards against
115
+ // inherited `src` properties from programmatic callers.
116
+ !('src' in value) ||
117
+ !Object.hasOwn(value, 'src')) {
118
+ // Non-string, non-VariableEntry value (number, boolean, list, or plain
119
+ // object) — resolve $vars in any string leaves.
120
+ try {
121
+ // deepResolveVars returns JsonValue (handles nested nulls), but null
122
+ // is rejected above so the cast to VariableValue is sound.
123
+ // TS can't narrow VariableEntry away via Object.hasOwn; the cast is
124
+ // safe — only values without an own `src` reach this branch.
125
+ resolved[name] = deepResolveVars(value, resolved);
126
+ }
127
+ catch (err) {
128
+ const msg = err instanceof Error ? err.message : String(err);
129
+ throw new Error(`variables.${name}: ${msg}`, { cause: err });
130
+ }
131
+ }
53
132
  else {
133
+ const entry = value;
54
134
  const synthetic = {
55
- src: value.src,
135
+ src: entry.src,
56
136
  target: name,
57
- json: value.json,
58
- yaml: value.yaml,
59
- toml: value.toml,
137
+ json: entry.json,
138
+ yaml: entry.yaml,
139
+ toml: entry.toml,
60
140
  };
61
141
  let result;
62
142
  try {
@@ -79,10 +159,10 @@ async function resolveVariableSpec(spec, workingDir, cache) {
79
159
  throw new Error(`variables.${name}: source resolved to binary content, which cannot be used as a variable value`);
80
160
  }
81
161
  let text = buf.toString('utf8');
82
- if (value.template !== undefined) {
162
+ if (entry.template !== undefined) {
83
163
  applyTemplate ??= (await Promise.resolve().then(() => __importStar(require('./processors/template')))).applyTemplate;
84
164
  try {
85
- text = await applyTemplate(text, value.template, resolved, srcPath || undefined);
165
+ text = await applyTemplate(text, entry.template, resolved, srcPath || undefined);
86
166
  }
87
167
  catch (err) {
88
168
  const msg = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"variables-remote.js","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variables-remote.js","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,aAAa,aAAsB,CAAC;AAGjD,eAAO,MAAM,kBAAkB,aAW7B,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CAMtE;AAOD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAmBlE;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAmB3E;AAGD,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAa3D;AAGD,wBAAgB,aAAa,CAAC,GAAG,GAAE,IAAiB,GAAG,SAAS,CAc/D;AAYD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2B5D;AA6BD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI,CAkBN;AASD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,CAmCR"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG7D,eAAO,MAAM,aAAa,aAAsB,CAAC;AAGjD,eAAO,MAAM,kBAAkB,aAW7B,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CAMtE;AAqGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA4BlE;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA4B3E;AAGD,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAa3D;AAGD,wBAAgB,aAAa,CAAC,GAAG,GAAE,IAAiB,GAAG,SAAS,CAc/D;AAYD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2B5D;AA6BD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI,CAkBN;AASD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,CAmCR"}
package/dist/variables.js CHANGED
@@ -67,12 +67,90 @@ function validateVariables(vars) {
67
67
  }
68
68
  }
69
69
  }
70
- // Single-pass regex: $$ → literal $, then $env:NAME, then $name.
71
- // Ordering within the alternation matters: $$ must come first so it is
72
- // consumed before the $name branch can match the second $.
73
- const TOKEN = /\$\$|\$env:([A-Za-z_][A-Za-z0-9_]*)|\$([A-Za-z_][A-Za-z0-9_]*)/g;
70
+ // Single-pass regex: $$ → literal $, then $env:NAME, then ${expr} (braced),
71
+ // then $name (unbraced). Ordering within the alternation matters: $$ must
72
+ // come first so it is consumed before any other branch matches the second $.
73
+ const TOKEN = /\$\$|\$env:([A-Za-z_][A-Za-z0-9_]*)|\$\{([^}]*)\}|\$([A-Za-z_][A-Za-z0-9_]*)/g;
74
+ // Strict grammar: name ( '.' propKey | '[' integer ']' )*
75
+ // Each segment must be explicitly separated — missing dots (arr[0]key) and
76
+ // consecutive dots (a..b) are rejected rather than silently accepted.
77
+ const PATH_GRAMMAR = /^([A-Za-z_][A-Za-z0-9_]*)((?:\.[A-Za-z_][A-Za-z0-9_]*|\[\d+\])*)$/;
78
+ const PATH_SEG = /\.([A-Za-z_][A-Za-z0-9_]*)|\[(\d+)\]/g;
79
+ // Parse an expression like "servers[1].host" into a variable name + segments.
80
+ function parsePath(expr) {
81
+ const m = PATH_GRAMMAR.exec(expr.trim());
82
+ if (!m) {
83
+ throw new Error(`Invalid path expression "\${${expr}}"`);
84
+ }
85
+ const name = m[1];
86
+ const segments = [];
87
+ PATH_SEG.lastIndex = 0;
88
+ let seg;
89
+ while ((seg = PATH_SEG.exec(m[2])) !== null) {
90
+ if (seg[1] !== undefined) {
91
+ segments.push({ type: 'prop', key: seg[1] });
92
+ }
93
+ else {
94
+ segments.push({ type: 'index', index: Number(seg[2]) });
95
+ }
96
+ }
97
+ return { name, segments };
98
+ }
99
+ // Walk a JsonValue tree following the parsed segments, returning the leaf.
100
+ function walkPath(root, segments, expr) {
101
+ let current = root;
102
+ for (const seg of segments) {
103
+ if (seg.type === 'prop') {
104
+ if (typeof current !== 'object' ||
105
+ current === null ||
106
+ Array.isArray(current)) {
107
+ throw new Error(`Cannot access property "${seg.key}" on non-object in "\${${expr}}"`);
108
+ }
109
+ if (!Object.hasOwn(current, seg.key)) {
110
+ throw new Error(`Property "${seg.key}" not found in "\${${expr}}"`);
111
+ }
112
+ current = current[seg.key];
113
+ }
114
+ else {
115
+ if (!Array.isArray(current)) {
116
+ throw new Error(`Cannot use index [${seg.index}] on non-array in "\${${expr}}"`);
117
+ }
118
+ if (seg.index >= current.length) {
119
+ throw new Error(`Index [${seg.index}] out of bounds (length ${current.length}) in "\${${expr}}"`);
120
+ }
121
+ current = current[seg.index];
122
+ }
123
+ }
124
+ return current;
125
+ }
126
+ // Evaluate a braced path expression like "servers[1].host" against vars.
127
+ // Returns null to signal reserved-var passthrough (caller should return the
128
+ // original match token unchanged). Primitive leaf values are coerced to
129
+ // string; objects/arrays are JSON-serialised.
130
+ function evaluatePath(vars, expr) {
131
+ const { name, segments } = parsePath(expr.trim());
132
+ if (exports.RESERVED_VARS.has(name))
133
+ return null;
134
+ if (!Object.hasOwn(vars, name))
135
+ throw new Error(`Undefined variable: \${${expr}}`);
136
+ const leaf = walkPath(vars[name], segments, expr);
137
+ if (leaf === null)
138
+ return 'null';
139
+ if (typeof leaf !== 'object')
140
+ return String(leaf);
141
+ return JSON.stringify(leaf);
142
+ }
143
+ // Stringify a variable value for unbraced $name substitution.
144
+ // Strings pass through; complex types are JSON-serialised.
145
+ function stringifyValue(v) {
146
+ if (v === null)
147
+ return 'null';
148
+ if (typeof v !== 'object')
149
+ return String(v);
150
+ return JSON.stringify(v);
151
+ }
74
152
  function resolveVars(value, vars) {
75
- return value.replace(TOKEN, (match, envName, varName) => {
153
+ return value.replace(TOKEN, (match, envName, bracedExpr, varName) => {
76
154
  if (match === '$$')
77
155
  return '$';
78
156
  if (envName !== undefined) {
@@ -82,12 +160,16 @@ function resolveVars(value, vars) {
82
160
  }
83
161
  return val;
84
162
  }
163
+ if (bracedExpr !== undefined) {
164
+ const result = evaluatePath(vars, bracedExpr);
165
+ return result !== null ? result : match;
166
+ }
85
167
  if (exports.RESERVED_VARS.has(varName))
86
168
  return match;
87
- if (!(varName in vars)) {
169
+ if (!Object.hasOwn(vars, varName)) {
88
170
  throw new Error(`Undefined variable: $${varName}`);
89
171
  }
90
- return vars[varName];
172
+ return stringifyValue(vars[varName]);
91
173
  });
92
174
  }
93
175
  // Single-quote escaping for shell injection prevention.
@@ -104,7 +186,7 @@ function shellQuote(val) {
104
186
  // On Unix the resolved script is passed to sh -c; on Windows it is
105
187
  // Base64-encoded and passed to PowerShell via -EncodedCommand.
106
188
  function resolveVarsShellSafe(value, vars) {
107
- return value.replace(TOKEN, (match, envName, varName) => {
189
+ return value.replace(TOKEN, (match, envName, bracedExpr, varName) => {
108
190
  if (match === '$$')
109
191
  return '$';
110
192
  if (envName !== undefined) {
@@ -114,12 +196,16 @@ function resolveVarsShellSafe(value, vars) {
114
196
  }
115
197
  return shellQuote(val);
116
198
  }
199
+ if (bracedExpr !== undefined) {
200
+ const result = evaluatePath(vars, bracedExpr);
201
+ return result !== null ? shellQuote(result) : match;
202
+ }
117
203
  if (exports.RESERVED_VARS.has(varName))
118
204
  return match;
119
- if (!(varName in vars)) {
205
+ if (!Object.hasOwn(vars, varName)) {
120
206
  throw new Error(`Undefined variable: $${varName}`);
121
207
  }
122
- return shellQuote(vars[varName]);
208
+ return shellQuote(stringifyValue(vars[varName]));
123
209
  });
124
210
  }
125
211
  // Build the per-file path variables for a resolved absolute target path.
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,8CAMC;AAqGD,kCA4BC;AAgBD,oDA4BC;AAGD,sCAaC;AAGD,sCAcC;AAYD,oDA2BC;AA6BD,0DAsBC;AASD,8CAyCC;AAtXD,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAG7B,qFAAqF;AACxE,QAAA,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEjD,mFAAmF;AACtE,QAAA,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACxC,GAAG,qBAAa;IAChB,MAAM;IACN,MAAM;IACN,UAAU;IACV,UAAU;IACV,KAAK;IACL,SAAS;IACT,SAAS;IACT,MAAM;IACN,UAAU;CACX,CAAC,CAAC;AAEH,SAAgB,iBAAiB,CAAC,IAA8B;IAC9D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,0BAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,kCAAkC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,MAAM,KAAK,GACT,+EAA+E,CAAC;AAMlF,0DAA0D;AAC1D,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,YAAY,GAChB,mEAAmE,CAAC;AACtE,MAAM,QAAQ,GAAG,uCAAuC,CAAC;AAEzD,8EAA8E;AAC9E,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,IAAI,GAA2B,CAAC;IAChC,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,2EAA2E;AAC3E,SAAS,QAAQ,CACf,IAAe,EACf,QAAuB,EACvB,IAAY;IAEZ,IAAI,OAAO,GAAc,IAAI,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,IACE,OAAO,OAAO,KAAK,QAAQ;gBAC3B,OAAO,KAAK,IAAI;gBAChB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EACtB,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,2BAA2B,GAAG,CAAC,GAAG,0BAA0B,IAAI,IAAI,CACrE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,GAAG,sBAAsB,IAAI,IAAI,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,CAAC,KAAK,yBAAyB,IAAI,IAAI,CAChE,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,UAAU,GAAG,CAAC,KAAK,2BAA2B,OAAO,CAAC,MAAM,YAAY,IAAI,IAAI,CACjF,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yEAAyE;AACzE,4EAA4E;AAC5E,wEAAwE;AACxE,8CAA8C;AAC9C,SAAS,YAAY,CAAC,IAAe,EAAE,IAAY;IACjD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,IAAI,qBAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,8DAA8D;AAC9D,2DAA2D;AAC3D,SAAS,cAAc,CAAC,CAAY;IAClC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,WAAW,CAAC,KAAa,EAAE,IAAe;IACxD,OAAO,KAAK,CAAC,OAAO,CAClB,KAAK,EACL,CACE,KAAK,EACL,OAA2B,EAC3B,UAA8B,EAC9B,OAA2B,EAC3B,EAAE;QACF,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC;QAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1C,CAAC;QACD,IAAI,qBAAa,CAAC,GAAG,CAAC,OAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAC,OAAQ,CAAC,CAAC,CAAC;IACxC,CAAC,CACF,CAAC;AACJ,CAAC;AAED,wDAAwD;AACxD,2DAA2D;AAC3D,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC;AAChD,CAAC;AAED,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,mEAAmE;AACnE,+DAA+D;AAC/D,SAAgB,oBAAoB,CAAC,KAAa,EAAE,IAAe;IACjE,OAAO,KAAK,CAAC,OAAO,CAClB,KAAK,EACL,CACE,KAAK,EACL,OAA2B,EAC3B,UAA8B,EAC9B,OAA2B,EAC3B,EAAE;QACF,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC;QAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,CAAC;QACD,IAAI,qBAAa,CAAC,GAAG,CAAC,OAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CACF,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAgB,aAAa,CAAC,UAAkB;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAc,EAAE;QACrD,IAAI,EAAE,UAAU;QAChB,QAAQ;QACR,QAAQ;QACR,GAAG;QACH,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,qEAAqE;AACrE,SAAgB,aAAa,CAAC,MAAY,IAAI,IAAI,EAAE;IAClD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,WAAW,EAAE;QACjB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;KACnB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,MAAM,QAAQ,GAAG;QACf,IAAI;QACJ,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;KACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,qEAAqE;AACrE,mFAAmF;AACnF,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,+DAA+D;AAC/D,uEAAuE;AACvE,uEAAuE;AACvE,kEAAkE;AAClE,2EAA2E;AAC3E,SAAgB,oBAAoB,CAAC,OAAe;IAClD,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,kEAAkE,MAAM,CAAC,MAAM,MAAM,OAAO,GAAG,CAChG,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,2BAA2B;IAC3D,IAAI,KAAK,GAAG,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,oBAAoB,iBAAiB,yBAAyB,CAC5F,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;YAAE,OAAO,SAAS,CAAC;IAC5E,CAAC;IAED,MAAM,IAAI,KAAK,CACb,4CAA4C,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,mBAAmB,OAAO,GAAG,CACtI,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,0EAA0E;AAC1E,qEAAqE;AACrE,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,kDAAkD,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,gEAAgE;AAChE,0EAA0E;AAC1E,SAAS,aAAa,CAAC,CAAS;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,0EAA0E;AAC1E,gDAAgD;AAChD,mEAAmE;AACnE,SAAgB,uBAAuB,CACrC,UAAkB,EAClB,UAAkB,EAClB,WAAqB;IAErB,MAAM,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;IAC5D,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAEjD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5C,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO;IAC3D,CAAC;IAED,MAAM,IAAI,KAAK,CACb,gBAAgB,UAAU,sCAAsC;QAC9D,uCAAuC,CAC1C,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,oBAAoB;AACpB,iFAAiF;AACjF,yBAAyB;AACzB,kDAAkD;AAClD,mCAAmC;AACnC,8CAA8C;AAC9C,SAAgB,iBAAiB,CAC/B,OAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,IAAe,EACf,WAAqB;IAErB,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAc,EAChC,IAAI,EACJ,QAAQ,CACT,CAAC;IAEF,IAAI,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE5C,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,sEAAsE;QACtE,0EAA0E;QAC1E,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,oDAAoD,QAAQ,GAAG,CAChE,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAE3D,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,gBAAgB,SAAS,wCAAwC,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/dist/writer.d.ts CHANGED
@@ -3,6 +3,7 @@ export interface WriteTarget {
3
3
  content: Buffer;
4
4
  mode?: string;
5
5
  backupPath?: string;
6
+ writeInPlace?: boolean;
6
7
  }
7
8
  export declare function atomicWrite(targets: WriteTarget[], deletions?: string[]): void;
8
9
  //# sourceMappingURL=writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,GAAE,MAAM,EAAO,GACvB,IAAI,CA2GN"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,GAAE,MAAM,EAAO,GACvB,IAAI,CA0PN"}
package/dist/writer.js CHANGED
@@ -40,19 +40,53 @@ const path = __importStar(require("path"));
40
40
  function atomicWrite(targets, deletions = []) {
41
41
  // Stage each file as a sibling temp file on the same filesystem as the
42
42
  // destination so that renameSync (rename(2)) is atomic on POSIX.
43
+ const mvTargets = targets.filter((t) => !t.writeInPlace);
44
+ const inPlaceTargets = targets.filter((t) => t.writeInPlace);
43
45
  const staged = [];
44
46
  const backupTemps = [];
45
47
  try {
46
- // Phase 1: write all temp files. No backups yet — if any write fails we
47
- // don't want orphaned backup files for targets whose destinations haven't
48
- // changed yet.
49
- for (const t of targets) {
48
+ // Phase 1 (mv targets): write all temp files. Backups are deferred to
49
+ // Phase 2 so that a staging failure here never creates an orphaned backup
50
+ // for a destination that hasn't been modified yet.
51
+ // In-place targets skip this phase (no temp file); their backups are still
52
+ // created in Phase 2. If Phase 4 fails after open (which truncates the
53
+ // file), the destination may be empty or partially written — the backup
54
+ // captures the pre-write content and can be used for recovery.
55
+ for (const t of mvTargets) {
50
56
  const dir = path.dirname(t.targetPath);
51
57
  if (!fs.existsSync(dir)) {
52
58
  fs.mkdirSync(dir, { recursive: true });
53
59
  }
54
- const tmpFile = path.join(dir, '.' + path.basename(t.targetPath) + '.avanti-tmp');
55
- fs.writeFileSync(tmpFile, t.content);
60
+ const tmpFile = path.join(dir, '.' +
61
+ path.basename(t.targetPath) +
62
+ '.' +
63
+ crypto.randomBytes(8).toString('hex') +
64
+ '.avanti-tmp');
65
+ // O_CREAT|O_EXCL rejects any pre-existing entry at this path (including
66
+ // symlinks — POSIX guarantees EEXIST when O_EXCL is set and the path
67
+ // resolves to a symlink). O_NOFOLLOW is belt-and-suspenders on POSIX.
68
+ // The random suffix makes pre-creation attacks impractical regardless.
69
+ const oNoFollow = fs.constants['O_NOFOLLOW'] ?? 0;
70
+ const tmpFd = fs.openSync(tmpFile, fs.constants.O_WRONLY |
71
+ fs.constants.O_CREAT |
72
+ fs.constants.O_EXCL |
73
+ oNoFollow, 0o666);
74
+ // Register for cleanup before the write so a writeSync failure (e.g.
75
+ // ENOSPC) doesn't leave an orphan .avanti-tmp in the target directory.
76
+ const stagingEntry = {
77
+ tmp: tmpFile,
78
+ dest: t.targetPath,
79
+ };
80
+ staged.push(stagingEntry);
81
+ try {
82
+ let written = 0;
83
+ while (written < t.content.length) {
84
+ written += fs.writeSync(tmpFd, t.content, written, t.content.length - written);
85
+ }
86
+ }
87
+ finally {
88
+ fs.closeSync(tmpFd);
89
+ }
56
90
  // Resolve the effective mode: explicit config value wins; otherwise
57
91
  // preserve the existing file's full permission bits (0o7777) so rename(2)
58
92
  // doesn't silently reset them to the umask default. New files get the
@@ -69,7 +103,7 @@ function atomicWrite(targets, deletions = []) {
69
103
  // file doesn't exist yet — leave the temp file's umask permissions
70
104
  }
71
105
  }
72
- staged.push({ tmp: tmpFile, dest: t.targetPath, effectiveMode });
106
+ stagingEntry.effectiveMode = effectiveMode;
73
107
  }
74
108
  // Phase 2: all staging succeeded — now create backups.
75
109
  // Phase 2a: copy each source file to a uniquely-named temp in the backup
@@ -106,6 +140,87 @@ function atomicWrite(targets, deletions = []) {
106
140
  fs.chmodSync(s.dest, s.effectiveMode);
107
141
  }
108
142
  }
143
+ // Phase 4: in-place writes — preserve inode, not atomic
144
+ for (const t of inPlaceTargets) {
145
+ const dir = path.dirname(t.targetPath);
146
+ if (!fs.existsSync(dir)) {
147
+ fs.mkdirSync(dir, { recursive: true });
148
+ }
149
+ const existingEntry = fs.lstatSync(t.targetPath, {
150
+ throwIfNoEntry: false,
151
+ });
152
+ // Fast-path rejection of non-regular, non-symlink entries (FIFOs,
153
+ // sockets, devices): opening a FIFO with O_WRONLY blocks until a reader
154
+ // connects; device/socket writes have unpredictable side effects. Not
155
+ // relied on for correctness — the fstat check on the opened fd (below,
156
+ // POSIX path) closes the TOCTOU window if the path is replaced after
157
+ // this check.
158
+ if (existingEntry &&
159
+ !existingEntry.isFile() &&
160
+ !existingEntry.isSymbolicLink()) {
161
+ throw new Error(`writeInPlace: ${t.targetPath} is not a regular file; refusing to write`);
162
+ }
163
+ let effectiveMode;
164
+ if (t.mode) {
165
+ effectiveMode = parseInt(t.mode, 8);
166
+ }
167
+ else if (existingEntry?.isFile()) {
168
+ effectiveMode = existingEntry.mode & 0o7777;
169
+ }
170
+ // Refuse to follow a symlink — unlike renameSync, which replaces the
171
+ // symlink itself, writeFileSync would write through it to the target.
172
+ // On POSIX: open with O_NOFOLLOW so the kernel rejects symlinks
173
+ // atomically (no TOCTOU window); ELOOP means the path is a symlink.
174
+ // O_NONBLOCK prevents blocking at open(2) if the lstatSync pre-check
175
+ // lost a TOCTOU race and the path became a FIFO with no reader.
176
+ // fstatSync on the opened fd then closes the remaining TOCTOU window by
177
+ // validating the type after open, before any write.
178
+ // On Windows: O_NOFOLLOW is not available; fall back to an lstat check
179
+ // (best-effort — a narrow TOCTOU race remains).
180
+ const oNoFollow = fs.constants['O_NOFOLLOW'] ?? 0;
181
+ const oNonBlock = fs.constants['O_NONBLOCK'] ?? 0;
182
+ if (oNoFollow !== 0) {
183
+ let fd;
184
+ try {
185
+ fd = fs.openSync(t.targetPath, fs.constants.O_WRONLY |
186
+ fs.constants.O_CREAT |
187
+ fs.constants.O_TRUNC |
188
+ oNoFollow |
189
+ oNonBlock, effectiveMode ?? 0o666);
190
+ }
191
+ catch (err) {
192
+ if (err.code === 'ELOOP') {
193
+ throw new Error(`writeInPlace: ${t.targetPath} is a symlink; refusing to follow`, { cause: err });
194
+ }
195
+ throw err;
196
+ }
197
+ try {
198
+ // fstat validates the type on the opened fd, catching any non-regular
199
+ // file that slipped past the lstatSync pre-check via a TOCTOU race.
200
+ if (!fs.fstatSync(fd).isFile()) {
201
+ throw new Error(`writeInPlace: ${t.targetPath} is not a regular file; refusing to write`);
202
+ }
203
+ let written = 0;
204
+ while (written < t.content.length) {
205
+ written += fs.writeSync(fd, t.content, written, t.content.length - written);
206
+ }
207
+ }
208
+ finally {
209
+ fs.closeSync(fd);
210
+ }
211
+ }
212
+ else {
213
+ if (existingEntry?.isSymbolicLink()) {
214
+ throw new Error(`writeInPlace: ${t.targetPath} is a symlink; refusing to follow`);
215
+ }
216
+ fs.writeFileSync(t.targetPath, t.content, {
217
+ mode: effectiveMode ?? 0o666,
218
+ });
219
+ }
220
+ if (effectiveMode !== undefined) {
221
+ fs.chmodSync(t.targetPath, effectiveMode);
222
+ }
223
+ }
109
224
  }
110
225
  finally {
111
226
  for (const tmp of backupTemps) {
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@udondan/avanti",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "description": "Assemble local files from any source via a declarative YAML spec",
5
5
  "bin": {
6
6
  "avanti": "dist/cli.js"
@@ -41,7 +41,7 @@
41
41
  "url": "https://github.com/udondan/avanti.git"
42
42
  },
43
43
  "dependencies": {
44
- "@aws-sdk/client-s3": "3.1048.0",
44
+ "@aws-sdk/client-s3": "3.1049.0",
45
45
  "@aws-sdk/client-secrets-manager": "3.1048.0",
46
46
  "@aws-sdk/client-ssm": "3.1048.0",
47
47
  "chalk": "5.6.2",
@@ -64,14 +64,14 @@
64
64
  "@types/ejs": "3.1.5",
65
65
  "@types/js-yaml": "4.0.9",
66
66
  "@types/mustache": "4.2.6",
67
- "@types/node": "25.8.0",
67
+ "@types/node": "25.9.0",
68
68
  "@types/nunjucks": "3.2.6",
69
69
  "eslint": "10.4.0",
70
70
  "eslint-config-prettier": "10.1.8",
71
71
  "prettier": "3.8.3",
72
- "tsx": "4.22.1",
72
+ "tsx": "4.22.2",
73
73
  "typescript": "6.0.3",
74
- "typescript-eslint": "8.59.3",
74
+ "typescript-eslint": "8.59.4",
75
75
  "vitest": "4.1.6"
76
76
  }
77
77
  }