@udondan/avanti 0.24.0 → 0.26.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 +488 -64
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +82 -18
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/lock.d.ts.map +1 -1
- package/dist/commands/lock.js +6 -4
- package/dist/commands/lock.js.map +1 -1
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +7 -5
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +682 -42
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +43 -11
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/revert.d.ts.map +1 -1
- package/dist/commands/revert.js +68 -14
- package/dist/commands/revert.js.map +1 -1
- package/dist/condition.d.ts.map +1 -1
- package/dist/condition.js +9 -6
- package/dist/condition.js.map +1 -1
- package/dist/config-writeback.d.ts.map +1 -1
- package/dist/config-writeback.js +17 -0
- package/dist/config-writeback.js.map +1 -1
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +346 -3
- package/dist/config.js.map +1 -1
- package/dist/diff.d.ts +19 -0
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +317 -12
- package/dist/diff.js.map +1 -1
- package/dist/extract.d.ts +4 -0
- package/dist/extract.d.ts.map +1 -0
- package/dist/extract.js +142 -0
- package/dist/extract.js.map +1 -0
- package/dist/filter.d.ts +3 -0
- package/dist/filter.d.ts.map +1 -0
- package/dist/filter.js +126 -0
- package/dist/filter.js.map +1 -0
- package/dist/history.d.ts +7 -1
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +89 -9
- package/dist/history.js.map +1 -1
- package/dist/paths.d.ts +4 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +97 -0
- package/dist/paths.js.map +1 -1
- package/dist/processors/ini.d.ts +33 -0
- package/dist/processors/ini.d.ts.map +1 -0
- package/dist/processors/ini.js +500 -0
- package/dist/processors/ini.js.map +1 -0
- package/dist/processors/insert.d.ts.map +1 -1
- package/dist/processors/insert.js +338 -15
- package/dist/processors/insert.js.map +1 -1
- package/dist/processors/on.d.ts +4 -0
- package/dist/processors/on.d.ts.map +1 -0
- package/dist/processors/on.js +54 -0
- package/dist/processors/on.js.map +1 -0
- package/dist/ref.d.ts +21 -0
- package/dist/ref.d.ts.map +1 -0
- package/dist/ref.js +65 -0
- package/dist/ref.js.map +1 -0
- package/dist/sources/bitbucket.d.ts.map +1 -1
- package/dist/sources/bitbucket.js +51 -12
- package/dist/sources/bitbucket.js.map +1 -1
- package/dist/sources/git.d.ts.map +1 -1
- package/dist/sources/git.js +54 -6
- package/dist/sources/git.js.map +1 -1
- package/dist/sources/github.d.ts.map +1 -1
- package/dist/sources/github.js +188 -51
- package/dist/sources/github.js.map +1 -1
- package/dist/sources/gitlab.d.ts.map +1 -1
- package/dist/sources/gitlab.js +242 -44
- package/dist/sources/gitlab.js.map +1 -1
- package/dist/sources/index.d.ts +4 -2
- package/dist/sources/index.d.ts.map +1 -1
- package/dist/sources/index.js +220 -49
- package/dist/sources/index.js.map +1 -1
- package/dist/sources/local.d.ts +3 -0
- package/dist/sources/local.d.ts.map +1 -1
- package/dist/sources/local.js +44 -0
- package/dist/sources/local.js.map +1 -1
- package/dist/types.d.ts +38 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/variables-remote.d.ts +1 -1
- package/dist/variables-remote.d.ts.map +1 -1
- package/dist/variables-remote.js +4 -3
- package/dist/variables-remote.js.map +1 -1
- package/dist/variables.d.ts +1 -0
- package/dist/variables.d.ts.map +1 -1
- package/dist/variables.js +37 -2
- package/dist/variables.js.map +1 -1
- package/dist/writer.d.ts +17 -0
- package/dist/writer.d.ts.map +1 -1
- package/dist/writer.js +848 -20
- package/dist/writer.js.map +1 -1
- package/package.json +14 -10
|
@@ -41,6 +41,7 @@ const smol_toml_1 = require("smol-toml");
|
|
|
41
41
|
const json_1 = require("./json");
|
|
42
42
|
const yaml_2 = require("./yaml");
|
|
43
43
|
const toml_1 = require("./toml");
|
|
44
|
+
const ini_1 = require("./ini");
|
|
44
45
|
const sources_1 = require("../sources");
|
|
45
46
|
// ── Utilities ────────────────────────────────────────────────────────────────
|
|
46
47
|
function isPlainObject(v) {
|
|
@@ -69,25 +70,31 @@ function sortedStringify(v) {
|
|
|
69
70
|
function deepEqual(a, b) {
|
|
70
71
|
return sortedStringify(a) === sortedStringify(b);
|
|
71
72
|
}
|
|
72
|
-
function deepRemoveFromJsonObj(existing, oldContrib) {
|
|
73
|
+
function deepRemoveFromJsonObj(existing, oldContrib, newContrib = null) {
|
|
73
74
|
for (const key of Object.keys(oldContrib)) {
|
|
74
75
|
if (!Object.hasOwn(existing, key))
|
|
75
76
|
continue;
|
|
76
77
|
const oldVal = oldContrib[key];
|
|
77
78
|
const curVal = existing[key];
|
|
79
|
+
const newVal = newContrib != null && Object.hasOwn(newContrib, key)
|
|
80
|
+
? newContrib[key]
|
|
81
|
+
: undefined;
|
|
78
82
|
if (isPlainObject(oldVal) && isPlainObject(curVal)) {
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
const nestedNew = isPlainObject(newVal) ? newVal : null;
|
|
84
|
+
deepRemoveFromJsonObj(curVal, oldVal, nestedNew);
|
|
85
|
+
if (Object.keys(curVal).length === 0 && newVal === undefined) {
|
|
81
86
|
delete existing[key];
|
|
82
87
|
}
|
|
83
88
|
}
|
|
84
89
|
else if (Array.isArray(oldVal) && Array.isArray(curVal)) {
|
|
85
90
|
removeArrayContribution(curVal, oldVal);
|
|
86
|
-
if (curVal.length === 0) {
|
|
91
|
+
if (curVal.length === 0 && newVal === undefined) {
|
|
87
92
|
delete existing[key];
|
|
88
93
|
}
|
|
89
94
|
}
|
|
90
95
|
else {
|
|
96
|
+
if (newVal !== undefined)
|
|
97
|
+
continue;
|
|
91
98
|
if (deepEqual(curVal, oldVal)) {
|
|
92
99
|
delete existing[key];
|
|
93
100
|
}
|
|
@@ -108,7 +115,7 @@ function yamlNodeToJs(node) {
|
|
|
108
115
|
}
|
|
109
116
|
return node;
|
|
110
117
|
}
|
|
111
|
-
function deepRemoveFromYamlMap(base, oldContrib) {
|
|
118
|
+
function deepRemoveFromYamlMap(base, oldContrib, newContrib = null) {
|
|
112
119
|
if (!(0, yaml_1.isMap)(base))
|
|
113
120
|
return;
|
|
114
121
|
for (const key of Object.keys(oldContrib)) {
|
|
@@ -118,45 +125,58 @@ function deepRemoveFromYamlMap(base, oldContrib) {
|
|
|
118
125
|
const pair = base.items[pairIdx];
|
|
119
126
|
const oldVal = oldContrib[key];
|
|
120
127
|
const pairVal = pair.value;
|
|
128
|
+
const newVal = newContrib != null && Object.hasOwn(newContrib, key)
|
|
129
|
+
? newContrib[key]
|
|
130
|
+
: undefined;
|
|
121
131
|
if (isPlainObject(oldVal) && (0, yaml_1.isMap)(pairVal)) {
|
|
122
|
-
|
|
123
|
-
|
|
132
|
+
const nestedNew = isPlainObject(newVal) ? newVal : null;
|
|
133
|
+
deepRemoveFromYamlMap(pairVal, oldVal, nestedNew);
|
|
134
|
+
if (pairVal.items.length === 0 &&
|
|
135
|
+
newVal === undefined) {
|
|
124
136
|
base.items.splice(pairIdx, 1);
|
|
125
137
|
}
|
|
126
138
|
}
|
|
127
139
|
else if (Array.isArray(oldVal) && (0, yaml_1.isSeq)(pairVal)) {
|
|
128
140
|
const seqItems = pairVal.items;
|
|
129
141
|
removeArrayContribution(seqItems, oldVal, (item) => yamlNodeToJs(item));
|
|
130
|
-
if (seqItems.length === 0) {
|
|
142
|
+
if (seqItems.length === 0 && newVal === undefined) {
|
|
131
143
|
base.items.splice(pairIdx, 1);
|
|
132
144
|
}
|
|
133
145
|
}
|
|
134
146
|
else {
|
|
147
|
+
if (newVal !== undefined)
|
|
148
|
+
continue;
|
|
135
149
|
if (deepEqual(yamlNodeToJs(pairVal), oldVal)) {
|
|
136
150
|
base.items.splice(pairIdx, 1);
|
|
137
151
|
}
|
|
138
152
|
}
|
|
139
153
|
}
|
|
140
154
|
}
|
|
141
|
-
function deepRemoveFromTomlObj(existing, oldContrib) {
|
|
155
|
+
function deepRemoveFromTomlObj(existing, oldContrib, newContrib = null) {
|
|
142
156
|
for (const key of Object.keys(oldContrib)) {
|
|
143
157
|
if (!Object.hasOwn(existing, key))
|
|
144
158
|
continue;
|
|
145
159
|
const oldVal = oldContrib[key];
|
|
146
160
|
const curVal = existing[key];
|
|
161
|
+
const newVal = newContrib != null && Object.hasOwn(newContrib, key)
|
|
162
|
+
? newContrib[key]
|
|
163
|
+
: undefined;
|
|
147
164
|
if (isPlainObject(oldVal) && isPlainObject(curVal)) {
|
|
148
|
-
|
|
149
|
-
|
|
165
|
+
const nestedNew = isPlainObject(newVal) ? newVal : null;
|
|
166
|
+
deepRemoveFromTomlObj(curVal, oldVal, nestedNew);
|
|
167
|
+
if (Object.keys(curVal).length === 0 && newVal === undefined) {
|
|
150
168
|
delete existing[key];
|
|
151
169
|
}
|
|
152
170
|
}
|
|
153
171
|
else if (Array.isArray(oldVal) && Array.isArray(curVal)) {
|
|
154
172
|
removeArrayContribution(curVal, oldVal);
|
|
155
|
-
if (curVal.length === 0) {
|
|
173
|
+
if (curVal.length === 0 && newVal === undefined) {
|
|
156
174
|
delete existing[key];
|
|
157
175
|
}
|
|
158
176
|
}
|
|
159
177
|
else {
|
|
178
|
+
if (newVal !== undefined)
|
|
179
|
+
continue;
|
|
160
180
|
if (deepEqual(curVal, oldVal)) {
|
|
161
181
|
delete existing[key];
|
|
162
182
|
}
|
|
@@ -175,6 +195,203 @@ function removeArrayContribution(existing, oldItems, toJs = (x) => x) {
|
|
|
175
195
|
}
|
|
176
196
|
}
|
|
177
197
|
}
|
|
198
|
+
// Remove contiguous comment/blank nodes immediately preceding `idx` in `items`.
|
|
199
|
+
// Stops when it reaches a kv or section boundary, preventing unrelated comments
|
|
200
|
+
// from being stripped. Call this after splicing a kv node to avoid leaving
|
|
201
|
+
// orphaned comments that would appear to annotate the next key.
|
|
202
|
+
function splicePrecedingCommentBlanks(items, idx) {
|
|
203
|
+
let k = idx - 1;
|
|
204
|
+
while (k >= 0 && (items[k].kind === 'comment' || items[k].kind === 'blank')) {
|
|
205
|
+
items.splice(k, 1);
|
|
206
|
+
k--;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
function deepRemoveFromIniSectionItems(items, oldContrib, newContrib) {
|
|
210
|
+
for (const key of Object.keys(oldContrib)) {
|
|
211
|
+
const oldVal = oldContrib[key];
|
|
212
|
+
const newVal = newContrib != null && Object.hasOwn(newContrib, key)
|
|
213
|
+
? newContrib[key]
|
|
214
|
+
: undefined;
|
|
215
|
+
if (Array.isArray(oldVal)) {
|
|
216
|
+
const iniKey = key.startsWith(INI_ARRAY_PREFIX)
|
|
217
|
+
? key.slice(INI_ARRAY_PREFIX.length)
|
|
218
|
+
: key;
|
|
219
|
+
let node;
|
|
220
|
+
for (let j = items.length - 1; j >= 0; j--) {
|
|
221
|
+
const it = items[j];
|
|
222
|
+
if (it.kind === 'kv' && it.key === iniKey && it.isArray) {
|
|
223
|
+
node = it;
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (!node)
|
|
228
|
+
continue;
|
|
229
|
+
const curArr = node.value;
|
|
230
|
+
removeArrayContribution(curArr, oldVal);
|
|
231
|
+
// Remove the array node when it becomes empty and newVal is not an array
|
|
232
|
+
// (key removed or type changed to scalar).
|
|
233
|
+
if (curArr.length === 0 && !Array.isArray(newVal)) {
|
|
234
|
+
const idx = items.indexOf(node);
|
|
235
|
+
if (idx !== -1) {
|
|
236
|
+
items.splice(idx, 1);
|
|
237
|
+
splicePrecedingCommentBlanks(items, idx);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
let node;
|
|
243
|
+
for (let j = items.length - 1; j >= 0; j--) {
|
|
244
|
+
const it = items[j];
|
|
245
|
+
if (it.kind === 'kv' && it.key === key && !it.isArray) {
|
|
246
|
+
node = it;
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
if (!node)
|
|
251
|
+
continue;
|
|
252
|
+
// Skip only when newVal is the same scalar type; if it changed to an
|
|
253
|
+
// array, remove the old scalar node so mergeIni can insert the new shape.
|
|
254
|
+
if (newVal !== undefined && !Array.isArray(newVal))
|
|
255
|
+
continue;
|
|
256
|
+
if (deepEqual(node.value, oldVal)) {
|
|
257
|
+
const idx = items.indexOf(node);
|
|
258
|
+
if (idx !== -1) {
|
|
259
|
+
items.splice(idx, 1);
|
|
260
|
+
splicePrecedingCommentBlanks(items, idx);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
function deepRemoveFromIniDoc(doc, oldContrib, newContrib) {
|
|
267
|
+
for (const key of Object.keys(oldContrib)) {
|
|
268
|
+
const oldVal = oldContrib[key];
|
|
269
|
+
const newVal = newContrib != null && Object.hasOwn(newContrib, key)
|
|
270
|
+
? newContrib[key]
|
|
271
|
+
: undefined;
|
|
272
|
+
if (isPlainObject(oldVal)) {
|
|
273
|
+
const sectionName = key.startsWith(INI_SECTION_PREFIX)
|
|
274
|
+
? key.slice(INI_SECTION_PREFIX.length)
|
|
275
|
+
: key;
|
|
276
|
+
const subsectionMatch = /^(.+?)\s+"([^"]*)"$/.exec(sectionName);
|
|
277
|
+
let section;
|
|
278
|
+
for (let j = doc.items.length - 1; j >= 0; j--) {
|
|
279
|
+
const it = doc.items[j];
|
|
280
|
+
if (it.kind !== 'section')
|
|
281
|
+
continue;
|
|
282
|
+
if (subsectionMatch) {
|
|
283
|
+
if (it.name === subsectionMatch[1] &&
|
|
284
|
+
it.subName === subsectionMatch[2]) {
|
|
285
|
+
section = it;
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
else if (it.name === sectionName && it.subName === undefined) {
|
|
290
|
+
section = it;
|
|
291
|
+
break;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
if (!section)
|
|
295
|
+
continue;
|
|
296
|
+
const nestedNew = isPlainObject(newVal) ? newVal : null;
|
|
297
|
+
deepRemoveFromIniSectionItems(section.items, oldVal, nestedNew);
|
|
298
|
+
// Remove the section when it's empty and newVal is not also a section
|
|
299
|
+
// (key removed or type changed to scalar/array).
|
|
300
|
+
if (section.items.filter((it) => it.kind === 'kv').length === 0 &&
|
|
301
|
+
!isPlainObject(newVal)) {
|
|
302
|
+
const idx = doc.items.indexOf(section);
|
|
303
|
+
if (idx !== -1) {
|
|
304
|
+
doc.items.splice(idx, 1);
|
|
305
|
+
// Do not strip preceding comment/blank nodes at the doc level —
|
|
306
|
+
// they may be file-level separators unrelated to this section.
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
else if (Array.isArray(oldVal)) {
|
|
311
|
+
const iniKey = key.startsWith(INI_ARRAY_PREFIX)
|
|
312
|
+
? key.slice(INI_ARRAY_PREFIX.length)
|
|
313
|
+
: key;
|
|
314
|
+
let node;
|
|
315
|
+
for (let j = doc.items.length - 1; j >= 0; j--) {
|
|
316
|
+
const it = doc.items[j];
|
|
317
|
+
if (it.kind === 'kv' && it.key === iniKey && it.isArray) {
|
|
318
|
+
node = it;
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
if (!node)
|
|
323
|
+
continue;
|
|
324
|
+
const curArr = node.value;
|
|
325
|
+
removeArrayContribution(curArr, oldVal);
|
|
326
|
+
// Remove the array node when it becomes empty and newVal is not an array
|
|
327
|
+
// (key removed or type changed to scalar/section).
|
|
328
|
+
if (curArr.length === 0 && !Array.isArray(newVal)) {
|
|
329
|
+
const idx = doc.items.indexOf(node);
|
|
330
|
+
if (idx !== -1) {
|
|
331
|
+
doc.items.splice(idx, 1);
|
|
332
|
+
// Do not strip preceding comment/blank nodes at the doc level.
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
let node;
|
|
338
|
+
for (let j = doc.items.length - 1; j >= 0; j--) {
|
|
339
|
+
const it = doc.items[j];
|
|
340
|
+
if (it.kind === 'kv' && it.key === key && !it.isArray) {
|
|
341
|
+
node = it;
|
|
342
|
+
break;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
if (!node)
|
|
346
|
+
continue;
|
|
347
|
+
// Skip only when newVal is the same scalar type; remove the old node
|
|
348
|
+
// when type changes to array or section so the merge can re-add it.
|
|
349
|
+
if (newVal !== undefined &&
|
|
350
|
+
!Array.isArray(newVal) &&
|
|
351
|
+
!isPlainObject(newVal))
|
|
352
|
+
continue;
|
|
353
|
+
if (deepEqual(node.value, oldVal)) {
|
|
354
|
+
const idx = doc.items.indexOf(node);
|
|
355
|
+
if (idx !== -1) {
|
|
356
|
+
doc.items.splice(idx, 1);
|
|
357
|
+
// Do not strip preceding comment/blank nodes at the doc level.
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
// Sentinel prefix for section keys in the JS representation so that a global
|
|
364
|
+
// key named "db" and a section named [db] never collide in the same object.
|
|
365
|
+
// Real INI keys cannot contain null bytes, making this unambiguous.
|
|
366
|
+
const INI_SECTION_PREFIX = '\0s:';
|
|
367
|
+
// Sentinel prefix for array KV keys (key[] = val) so they never collide with
|
|
368
|
+
// a scalar KV of the same name (key = val) in the same JS object.
|
|
369
|
+
const INI_ARRAY_PREFIX = '\0a:';
|
|
370
|
+
function iniDocToJs(doc) {
|
|
371
|
+
const result = Object.create(null);
|
|
372
|
+
for (const item of doc.items) {
|
|
373
|
+
if (item.kind === 'kv') {
|
|
374
|
+
const jsKey = item.isArray ? INI_ARRAY_PREFIX + item.key : item.key;
|
|
375
|
+
result[jsKey] = item.value;
|
|
376
|
+
}
|
|
377
|
+
else if (item.kind === 'section') {
|
|
378
|
+
const sectionKey = item.subName !== undefined
|
|
379
|
+
? `${item.name} "${item.subName}"`
|
|
380
|
+
: item.name;
|
|
381
|
+
const obj = Object.create(null);
|
|
382
|
+
for (const child of item.items) {
|
|
383
|
+
if (child.kind === 'kv') {
|
|
384
|
+
const jsKey = child.isArray
|
|
385
|
+
? INI_ARRAY_PREFIX + child.key
|
|
386
|
+
: child.key;
|
|
387
|
+
obj[jsKey] = child.value;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
result[INI_SECTION_PREFIX + sectionKey] = obj;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
return result;
|
|
394
|
+
}
|
|
178
395
|
// ── Structured insert helpers ─────────────────────────────────────────────────
|
|
179
396
|
function applyJsonInsert(existingContent, processedText, lastProcessed, opts) {
|
|
180
397
|
let cleanedJson;
|
|
@@ -189,7 +406,25 @@ function applyJsonInsert(existingContent, processedText, lastProcessed, opts) {
|
|
|
189
406
|
try {
|
|
190
407
|
const oldContrib = (0, comment_json_1.parse)(lastProcessed);
|
|
191
408
|
if (isPlainObject(existingParsed) && isPlainObject(oldContrib)) {
|
|
192
|
-
|
|
409
|
+
// Order-preservation only works under last_wins; with first_wins the
|
|
410
|
+
// stale key would persist, and with abort mergeJson would throw on
|
|
411
|
+
// the un-removed key.
|
|
412
|
+
const rawConflicts = opts['conflicts'];
|
|
413
|
+
const effectiveConflicts = rawConflicts === 'abort' || rawConflicts === 'first_wins'
|
|
414
|
+
? rawConflicts
|
|
415
|
+
: 'last_wins';
|
|
416
|
+
let newContrib = null;
|
|
417
|
+
if (effectiveConflicts === 'last_wins') {
|
|
418
|
+
try {
|
|
419
|
+
const p = (0, comment_json_1.parse)(processedText);
|
|
420
|
+
if (isPlainObject(p))
|
|
421
|
+
newContrib = p;
|
|
422
|
+
}
|
|
423
|
+
catch {
|
|
424
|
+
// unparseable processedText → null (old behaviour)
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
deepRemoveFromJsonObj(existingParsed, oldContrib, newContrib);
|
|
193
428
|
}
|
|
194
429
|
}
|
|
195
430
|
catch {
|
|
@@ -214,7 +449,28 @@ function applyYamlInsert(existingContent, processedText, lastProcessed, opts) {
|
|
|
214
449
|
if (lpDoc.errors.length === 0) {
|
|
215
450
|
const oldContrib = lpDoc.toJSON();
|
|
216
451
|
if (isPlainObject(oldContrib)) {
|
|
217
|
-
|
|
452
|
+
// Order-preservation only works under last_wins; with first_wins the
|
|
453
|
+
// stale key would persist, and with abort mergeYaml would throw on
|
|
454
|
+
// the un-removed key.
|
|
455
|
+
const rawConflicts = opts['conflicts'];
|
|
456
|
+
const effectiveConflicts = rawConflicts === 'abort' || rawConflicts === 'first_wins'
|
|
457
|
+
? rawConflicts
|
|
458
|
+
: 'last_wins';
|
|
459
|
+
let newContrib = null;
|
|
460
|
+
if (effectiveConflicts === 'last_wins') {
|
|
461
|
+
try {
|
|
462
|
+
const ptDoc = (0, yaml_1.parseDocument)(processedText);
|
|
463
|
+
if (ptDoc.errors.length === 0) {
|
|
464
|
+
const p = ptDoc.toJSON();
|
|
465
|
+
if (isPlainObject(p))
|
|
466
|
+
newContrib = p;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
catch {
|
|
470
|
+
// unparseable processedText → null (old behaviour)
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
deepRemoveFromYamlMap(doc.contents, oldContrib, newContrib);
|
|
218
474
|
}
|
|
219
475
|
}
|
|
220
476
|
}
|
|
@@ -237,7 +493,25 @@ function applyTomlInsert(existingContent, processedText, lastProcessed, opts) {
|
|
|
237
493
|
}
|
|
238
494
|
try {
|
|
239
495
|
const oldContrib = (0, smol_toml_1.parse)(lastProcessed);
|
|
240
|
-
|
|
496
|
+
// Order-preservation only works under last_wins; with first_wins the
|
|
497
|
+
// stale key would persist, and with abort mergeToml would throw on
|
|
498
|
+
// the un-removed key.
|
|
499
|
+
const rawConflicts = opts['conflicts'];
|
|
500
|
+
const effectiveConflicts = rawConflicts === 'abort' || rawConflicts === 'first_wins'
|
|
501
|
+
? rawConflicts
|
|
502
|
+
: 'last_wins';
|
|
503
|
+
let newContrib = null;
|
|
504
|
+
if (effectiveConflicts === 'last_wins') {
|
|
505
|
+
try {
|
|
506
|
+
const p = (0, smol_toml_1.parse)(processedText);
|
|
507
|
+
if (isPlainObject(p))
|
|
508
|
+
newContrib = p;
|
|
509
|
+
}
|
|
510
|
+
catch {
|
|
511
|
+
// unparseable processedText → null (old behaviour)
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
deepRemoveFromTomlObj(existingParsed, oldContrib, newContrib);
|
|
241
515
|
}
|
|
242
516
|
catch {
|
|
243
517
|
// Corrupted history fragment — skip key removal, fall through to merge
|
|
@@ -249,6 +523,49 @@ function applyTomlInsert(existingContent, processedText, lastProcessed, opts) {
|
|
|
249
523
|
}
|
|
250
524
|
return (0, toml_1.mergeToml)([cleanedToml, processedText], opts);
|
|
251
525
|
}
|
|
526
|
+
function applyIniInsert(existingContent, processedText, lastProcessed, opts) {
|
|
527
|
+
let cleanedIni;
|
|
528
|
+
if (lastProcessed !== null) {
|
|
529
|
+
let existingDoc;
|
|
530
|
+
try {
|
|
531
|
+
existingDoc = (0, ini_1.parseIniDoc)(existingContent);
|
|
532
|
+
}
|
|
533
|
+
catch (err) {
|
|
534
|
+
throw new Error(`insert mode: existing file is not valid INI: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
535
|
+
}
|
|
536
|
+
try {
|
|
537
|
+
const oldDoc = (0, ini_1.parseIniDoc)(lastProcessed);
|
|
538
|
+
const oldContrib = iniDocToJs(oldDoc);
|
|
539
|
+
// Order-preservation only works under last_wins; with first_wins the
|
|
540
|
+
// stale key would persist, and with abort mergeIni would throw on
|
|
541
|
+
// the un-removed key.
|
|
542
|
+
const rawConflicts = opts['conflicts'];
|
|
543
|
+
const effectiveConflicts = rawConflicts === 'abort' || rawConflicts === 'first_wins'
|
|
544
|
+
? rawConflicts
|
|
545
|
+
: 'last_wins';
|
|
546
|
+
let newContrib = null;
|
|
547
|
+
if (effectiveConflicts === 'last_wins') {
|
|
548
|
+
try {
|
|
549
|
+
const p = iniDocToJs((0, ini_1.parseIniDoc)(processedText));
|
|
550
|
+
if (isPlainObject(p))
|
|
551
|
+
newContrib = p;
|
|
552
|
+
}
|
|
553
|
+
catch {
|
|
554
|
+
// unparseable processedText → null (old behaviour)
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
deepRemoveFromIniDoc(existingDoc, oldContrib, newContrib);
|
|
558
|
+
}
|
|
559
|
+
catch {
|
|
560
|
+
// Corrupted history fragment — skip key removal, fall through to merge
|
|
561
|
+
}
|
|
562
|
+
cleanedIni = (0, ini_1.stringifyIniDoc)(existingDoc);
|
|
563
|
+
}
|
|
564
|
+
else {
|
|
565
|
+
cleanedIni = existingContent;
|
|
566
|
+
}
|
|
567
|
+
return (0, ini_1.mergeIni)([cleanedIni, processedText], opts);
|
|
568
|
+
}
|
|
252
569
|
// ── Public API ────────────────────────────────────────────────────────────────
|
|
253
570
|
function applyInsertMode(entry, processedText, lastProcessed, targetPath) {
|
|
254
571
|
if (!fs.existsSync(targetPath)) {
|
|
@@ -261,6 +578,9 @@ function applyInsertMode(entry, processedText, lastProcessed, targetPath) {
|
|
|
261
578
|
const tomlOpts = jsonOpts === null && yamlOpts === null
|
|
262
579
|
? (0, sources_1.resolveTomlOptions)(entry, srcs)
|
|
263
580
|
: null;
|
|
581
|
+
const iniOpts = jsonOpts === null && yamlOpts === null && tomlOpts === null
|
|
582
|
+
? (0, sources_1.resolveIniOptions)(entry, srcs)
|
|
583
|
+
: null;
|
|
264
584
|
if (jsonOpts !== null) {
|
|
265
585
|
return applyJsonInsert(existingContent, processedText, lastProcessed, jsonOpts);
|
|
266
586
|
}
|
|
@@ -270,6 +590,9 @@ function applyInsertMode(entry, processedText, lastProcessed, targetPath) {
|
|
|
270
590
|
if (tomlOpts !== null) {
|
|
271
591
|
return applyTomlInsert(existingContent, processedText, lastProcessed, tomlOpts);
|
|
272
592
|
}
|
|
593
|
+
if (iniOpts !== null) {
|
|
594
|
+
return applyIniInsert(existingContent, processedText, lastProcessed, iniOpts);
|
|
595
|
+
}
|
|
273
596
|
// Plain text: find old fragment in file and replace; otherwise append
|
|
274
597
|
if (lastProcessed !== null &&
|
|
275
598
|
lastProcessed.length > 0 &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../src/processors/insert.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../src/processors/insert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on.d.ts","sourceRoot":"","sources":["../../src/processors/on.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAIrC,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,SAAc,GACnB,MAAM,CAsBR;AAGD,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACpC,IAAI,CAuBN"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyWriteHook = applyWriteHook;
|
|
4
|
+
exports.runHook = runHook;
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const variables_1 = require("../variables");
|
|
7
|
+
const shell_1 = require("../shell");
|
|
8
|
+
function applyWriteHook(content, script, vars = {}) {
|
|
9
|
+
const resolvedScript = (0, variables_1.resolveVarsShellSafe)(script, vars);
|
|
10
|
+
const { shell, args } = (0, shell_1.getShellArgs)(resolvedScript);
|
|
11
|
+
const result = (0, child_process_1.spawnSync)(shell, args, {
|
|
12
|
+
input: content,
|
|
13
|
+
encoding: 'utf8',
|
|
14
|
+
});
|
|
15
|
+
// Skip EPIPE: child exited before reading all stdin — not a true spawn failure.
|
|
16
|
+
if (result.error &&
|
|
17
|
+
result.error.code !== 'EPIPE') {
|
|
18
|
+
throw new Error(`on.write script failed to spawn: ${result.error.message}`);
|
|
19
|
+
}
|
|
20
|
+
if (result.status !== 0 || result.signal) {
|
|
21
|
+
const stderr = result.stderr?.trim() ?? '';
|
|
22
|
+
const detail = result.signal
|
|
23
|
+
? `killed by signal ${result.signal}`
|
|
24
|
+
: `exited with code ${result.status ?? 'null'}`;
|
|
25
|
+
throw new Error(`on.write script ${detail}${stderr ? ': ' + stderr : ''}`);
|
|
26
|
+
}
|
|
27
|
+
return result.stdout;
|
|
28
|
+
}
|
|
29
|
+
// Side-effect hooks: scripts are passed verbatim; $AVANTI_TARGET/$AVANTI_IS_NEW are env vars.
|
|
30
|
+
function runHook(script, extraEnv = {}) {
|
|
31
|
+
let resolvedScript = script;
|
|
32
|
+
if (shell_1.isWindows && Object.keys(extraEnv).length > 0) {
|
|
33
|
+
const prelude = Object.keys(extraEnv)
|
|
34
|
+
.map((k) => `$${k} = $env:${k};`)
|
|
35
|
+
.join('');
|
|
36
|
+
// Inner & { } keeps param() as the first statement of its own scope.
|
|
37
|
+
resolvedScript = prelude + '& {' + script + '}';
|
|
38
|
+
}
|
|
39
|
+
const { shell, args } = (0, shell_1.getShellArgs)(resolvedScript);
|
|
40
|
+
const result = (0, child_process_1.spawnSync)(shell, args, {
|
|
41
|
+
env: { ...process.env, ...extraEnv },
|
|
42
|
+
stdio: 'inherit',
|
|
43
|
+
});
|
|
44
|
+
if (result.error) {
|
|
45
|
+
throw new Error(`hook script failed to spawn: ${result.error.message}`);
|
|
46
|
+
}
|
|
47
|
+
if (result.status !== 0 || result.signal) {
|
|
48
|
+
const detail = result.signal
|
|
49
|
+
? `killed by signal ${result.signal}`
|
|
50
|
+
: `exited with code ${result.status ?? 'null'}`;
|
|
51
|
+
throw new Error(`hook script ${detail}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=on.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on.js","sourceRoot":"","sources":["../../src/processors/on.ts"],"names":[],"mappings":";;AAKA,wCA0BC;AAGD,0BA0BC;AA5DD,iDAA0C;AAE1C,4CAAoD;AACpD,oCAAmD;AAEnD,SAAgB,cAAc,CAC5B,OAAe,EACf,MAAc,EACd,OAAkB,EAAE;IAEpB,MAAM,cAAc,GAAG,IAAA,gCAAoB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,IAAI,EAAE;QACpC,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,gFAAgF;IAChF,IACE,MAAM,CAAC,KAAK;QACX,MAAM,CAAC,KAA+B,CAAC,IAAI,KAAK,OAAO,EACxD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;YAC1B,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,EAAE;YACrC,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,8FAA8F;AAC9F,SAAgB,OAAO,CACrB,MAAc,EACd,WAAmC,EAAE;IAErC,IAAI,cAAc,GAAG,MAAM,CAAC;IAC5B,IAAI,iBAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;aAChC,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,qEAAqE;QACrE,cAAc,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC;IAClD,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,IAAI,EAAE;QACpC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE;QACpC,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;YAC1B,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,EAAE;YACrC,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
package/dist/ref.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Matches stable semver tags: vX.Y.Z or X.Y.Z (exactly three components). */
|
|
2
|
+
export declare const SEMVER_PATTERN: RegExp;
|
|
3
|
+
/** Return the tag with the highest semver among the given list, or null if the list is empty or contains no semver tags. */
|
|
4
|
+
export declare function maxSemverTag(tags: string[]): string | null;
|
|
5
|
+
export declare function isLatestSentinel(ref: string | undefined): boolean;
|
|
6
|
+
export declare function isRecentSentinel(ref: string | undefined): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Parse a regex pattern from a ref string of the form `/pattern/` or `/pattern/flags`.
|
|
9
|
+
* Returns the compiled RegExp, or null if the ref does not match that form.
|
|
10
|
+
* Throws if the pattern body or flags are syntactically invalid.
|
|
11
|
+
*
|
|
12
|
+
* Supported subset (intentional differences from JS regex literal syntax):
|
|
13
|
+
* - The pattern body must be non-empty: `//` is not recognised and returns null
|
|
14
|
+
* (treated as a literal ref, since an empty pattern is not useful for tag matching).
|
|
15
|
+
* - The closing `/` is the last `/` in the string, so inner unescaped slashes are
|
|
16
|
+
* absorbed into the pattern body (e.g. `/foo/bar/` → pattern `foo/bar`).
|
|
17
|
+
* - Stateful flags `g` and `y` are silently stripped because callers use `.test()`.
|
|
18
|
+
* - Any other unrecognised flags cause `new RegExp()` to throw a descriptive error.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseRefPattern(ref: string): RegExp | null;
|
|
21
|
+
//# sourceMappingURL=ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,cAAc,QAAsB,CAAC;AAQlD,4HAA4H;AAC5H,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAU1D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEjE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY1D"}
|