@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.
Files changed (100) hide show
  1. package/README.md +488 -64
  2. package/dist/commands/diff.d.ts.map +1 -1
  3. package/dist/commands/diff.js +82 -18
  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 +6 -4
  7. package/dist/commands/lock.js.map +1 -1
  8. package/dist/commands/log.d.ts.map +1 -1
  9. package/dist/commands/log.js +7 -5
  10. package/dist/commands/log.js.map +1 -1
  11. package/dist/commands/pull.d.ts.map +1 -1
  12. package/dist/commands/pull.js +682 -42
  13. package/dist/commands/pull.js.map +1 -1
  14. package/dist/commands/reset.d.ts.map +1 -1
  15. package/dist/commands/reset.js +43 -11
  16. package/dist/commands/reset.js.map +1 -1
  17. package/dist/commands/revert.d.ts.map +1 -1
  18. package/dist/commands/revert.js +68 -14
  19. package/dist/commands/revert.js.map +1 -1
  20. package/dist/condition.d.ts.map +1 -1
  21. package/dist/condition.js +9 -6
  22. package/dist/condition.js.map +1 -1
  23. package/dist/config-writeback.d.ts.map +1 -1
  24. package/dist/config-writeback.js +17 -0
  25. package/dist/config-writeback.js.map +1 -1
  26. package/dist/config.d.ts +12 -0
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +346 -3
  29. package/dist/config.js.map +1 -1
  30. package/dist/diff.d.ts +19 -0
  31. package/dist/diff.d.ts.map +1 -1
  32. package/dist/diff.js +317 -12
  33. package/dist/diff.js.map +1 -1
  34. package/dist/extract.d.ts +4 -0
  35. package/dist/extract.d.ts.map +1 -0
  36. package/dist/extract.js +142 -0
  37. package/dist/extract.js.map +1 -0
  38. package/dist/filter.d.ts +3 -0
  39. package/dist/filter.d.ts.map +1 -0
  40. package/dist/filter.js +126 -0
  41. package/dist/filter.js.map +1 -0
  42. package/dist/history.d.ts +7 -1
  43. package/dist/history.d.ts.map +1 -1
  44. package/dist/history.js +89 -9
  45. package/dist/history.js.map +1 -1
  46. package/dist/paths.d.ts +4 -0
  47. package/dist/paths.d.ts.map +1 -1
  48. package/dist/paths.js +97 -0
  49. package/dist/paths.js.map +1 -1
  50. package/dist/processors/ini.d.ts +33 -0
  51. package/dist/processors/ini.d.ts.map +1 -0
  52. package/dist/processors/ini.js +500 -0
  53. package/dist/processors/ini.js.map +1 -0
  54. package/dist/processors/insert.d.ts.map +1 -1
  55. package/dist/processors/insert.js +338 -15
  56. package/dist/processors/insert.js.map +1 -1
  57. package/dist/processors/on.d.ts +4 -0
  58. package/dist/processors/on.d.ts.map +1 -0
  59. package/dist/processors/on.js +54 -0
  60. package/dist/processors/on.js.map +1 -0
  61. package/dist/ref.d.ts +21 -0
  62. package/dist/ref.d.ts.map +1 -0
  63. package/dist/ref.js +65 -0
  64. package/dist/ref.js.map +1 -0
  65. package/dist/sources/bitbucket.d.ts.map +1 -1
  66. package/dist/sources/bitbucket.js +51 -12
  67. package/dist/sources/bitbucket.js.map +1 -1
  68. package/dist/sources/git.d.ts.map +1 -1
  69. package/dist/sources/git.js +54 -6
  70. package/dist/sources/git.js.map +1 -1
  71. package/dist/sources/github.d.ts.map +1 -1
  72. package/dist/sources/github.js +188 -51
  73. package/dist/sources/github.js.map +1 -1
  74. package/dist/sources/gitlab.d.ts.map +1 -1
  75. package/dist/sources/gitlab.js +242 -44
  76. package/dist/sources/gitlab.js.map +1 -1
  77. package/dist/sources/index.d.ts +4 -2
  78. package/dist/sources/index.d.ts.map +1 -1
  79. package/dist/sources/index.js +220 -49
  80. package/dist/sources/index.js.map +1 -1
  81. package/dist/sources/local.d.ts +3 -0
  82. package/dist/sources/local.d.ts.map +1 -1
  83. package/dist/sources/local.js +44 -0
  84. package/dist/sources/local.js.map +1 -1
  85. package/dist/types.d.ts +38 -2
  86. package/dist/types.d.ts.map +1 -1
  87. package/dist/types.js.map +1 -1
  88. package/dist/variables-remote.d.ts +1 -1
  89. package/dist/variables-remote.d.ts.map +1 -1
  90. package/dist/variables-remote.js +4 -3
  91. package/dist/variables-remote.js.map +1 -1
  92. package/dist/variables.d.ts +1 -0
  93. package/dist/variables.d.ts.map +1 -1
  94. package/dist/variables.js +37 -2
  95. package/dist/variables.js.map +1 -1
  96. package/dist/writer.d.ts +17 -0
  97. package/dist/writer.d.ts.map +1 -1
  98. package/dist/writer.js +848 -20
  99. package/dist/writer.js.map +1 -1
  100. package/package.json +14 -10
package/dist/paths.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  import { FileEntry, Variables } from './types';
2
+ export declare function expandTilde(p: string): string;
2
3
  export declare function resolveTargetPath(entry: {
3
4
  target?: string;
4
5
  }, relPath: string, workingDir: string, vars?: Variables): string;
5
6
  export declare function buildEntryPreVars(entry: FileEntry, isSelf: boolean, workingDir: string, vars: Variables): Variables;
6
7
  export declare function expandBraces(pattern: string, limit?: number): string[];
8
+ export declare function resolveFollowSymlink(targetPath: string, entry: {
9
+ followSymlink?: boolean;
10
+ }, workingDir: string): string;
7
11
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG/C,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,SAA4C,GACjD,MAAM,CA4CR;AAMD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,GACd,SAAS,CAmBX;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,MAAM,EAAE,CA+BnE"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG/C,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,SAA4C,GACjD,MAAM,CA4CR;AAMD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,GACd,SAAS,CAmBX;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,MAAM,EAAE,CA+BnE;AA8BD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,EAClC,UAAU,EAAE,MAAM,GACjB,MAAM,CAqFR"}
package/dist/paths.js CHANGED
@@ -33,12 +33,22 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.expandTilde = expandTilde;
36
37
  exports.resolveTargetPath = resolveTargetPath;
37
38
  exports.buildEntryPreVars = buildEntryPreVars;
38
39
  exports.expandBraces = expandBraces;
40
+ exports.resolveFollowSymlink = resolveFollowSymlink;
41
+ const fs = __importStar(require("fs"));
39
42
  const os = __importStar(require("os"));
40
43
  const path = __importStar(require("path"));
41
44
  const variables_1 = require("./variables");
45
+ function expandTilde(p) {
46
+ if (p === '~')
47
+ return os.homedir();
48
+ if (p.startsWith('~/'))
49
+ return path.join(os.homedir(), p.slice(2));
50
+ return p;
51
+ }
42
52
  function resolveTargetPath(entry, relPath, workingDir, vars = Object.create(null)) {
43
53
  let resolved;
44
54
  const target = entry.target ? (0, variables_1.resolveVars)(entry.target, vars) : undefined;
@@ -148,4 +158,91 @@ function assertWithinWorkingDir(resolvedPath, workingDir) {
148
158
  throw new Error(`Target path "${resolvedPath}" escapes working directory "${workingDir}".`);
149
159
  }
150
160
  }
161
+ // When followSymlink is true and targetPath is a symlink, resolves it to the
162
+ // real file and verifies the real file is inside the working directory.
163
+ // Returns targetPath unchanged when followSymlink is false/undefined, when the
164
+ // path doesn't exist yet, or when the path is not a symlink.
165
+ function resolveFollowSymlink(targetPath, entry, workingDir) {
166
+ if (!entry.followSymlink)
167
+ return targetPath;
168
+ const stat = fs.lstatSync(targetPath, { throwIfNoEntry: false });
169
+ if (!stat?.isSymbolicLink())
170
+ return targetPath;
171
+ // Normalize workingDir to its canonical path so the prefix check is stable
172
+ // on platforms where the working directory is itself reached via a symlink
173
+ // (e.g. macOS /var/folders → /private/var/folders).
174
+ const realWorkingDir = fs.realpathSync(workingDir);
175
+ // Fast path: realpathSync resolves the entire chain atomically. It throws
176
+ // ENOENT when any component is missing (dangling symlink chain), in which
177
+ // case we fall through to manual resolution below.
178
+ try {
179
+ const resolved = fs.realpathSync(targetPath);
180
+ if (fs.lstatSync(resolved).isDirectory()) {
181
+ throw new Error(`followSymlink: "${targetPath}" resolves to a directory; refusing to write`);
182
+ }
183
+ try {
184
+ assertWithinWorkingDir(resolved, realWorkingDir);
185
+ }
186
+ catch {
187
+ throw new Error(`followSymlink: "${targetPath}" resolves to "${resolved}" which escapes the working directory`);
188
+ }
189
+ return resolved;
190
+ }
191
+ catch (err) {
192
+ const code = err.code;
193
+ if (code === 'ELOOP') {
194
+ throw new Error(`followSymlink: "${targetPath}" contains a circular symlink`, { cause: err });
195
+ }
196
+ if (code !== 'ENOENT')
197
+ throw err;
198
+ }
199
+ // Dangling symlink chain — follow links manually until we reach the
200
+ // non-existent endpoint (or detect a cycle).
201
+ let current = targetPath;
202
+ const seen = new Set();
203
+ for (;;) {
204
+ if (seen.has(normalizePath(current))) {
205
+ throw new Error(`followSymlink: "${targetPath}" contains a circular symlink`);
206
+ }
207
+ seen.add(normalizePath(current));
208
+ const st = fs.lstatSync(current, { throwIfNoEntry: false });
209
+ if (!st)
210
+ break; // non-existent endpoint
211
+ if (!st.isSymbolicLink())
212
+ break; // regular file/dir — stop here
213
+ const linkTarget = fs.readlinkSync(current);
214
+ current = path.resolve(path.dirname(current), linkTarget);
215
+ }
216
+ // Canonicalize the deepest existing ancestor directory to catch intermediate
217
+ // symlinked dirs that redirect writes outside the working directory even when
218
+ // the raw string path appears inside it (e.g. workingDir/out -> /etc).
219
+ let dir = path.dirname(current);
220
+ for (;;) {
221
+ if (fs.lstatSync(dir, { throwIfNoEntry: false })) {
222
+ const realDir = fs.realpathSync(dir);
223
+ try {
224
+ assertWithinWorkingDir(realDir, realWorkingDir);
225
+ }
226
+ catch {
227
+ throw new Error(`followSymlink: "${targetPath}" escapes the working directory via a symlinked intermediate directory`);
228
+ }
229
+ // Rewrite current using the canonical ancestor so that the final prefix
230
+ // check compares apples-to-apples. Without this, macOS /var/… paths
231
+ // fail the /private/var/… prefix check even when the path is valid.
232
+ current = path.join(realDir, path.relative(dir, current));
233
+ break;
234
+ }
235
+ const parent = path.dirname(dir);
236
+ if (parent === dir)
237
+ break; // reached filesystem root
238
+ dir = parent;
239
+ }
240
+ try {
241
+ assertWithinWorkingDir(current, realWorkingDir);
242
+ }
243
+ catch {
244
+ throw new Error(`followSymlink: "${targetPath}" escapes the working directory`);
245
+ }
246
+ return current;
247
+ }
151
248
  //# sourceMappingURL=paths.js.map
package/dist/paths.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { IniMergeOptions } from '../types';
2
+ export interface IniComment {
3
+ kind: 'comment';
4
+ raw: string;
5
+ }
6
+ export interface IniBlank {
7
+ kind: 'blank';
8
+ }
9
+ export interface IniKeyValue {
10
+ kind: 'kv';
11
+ key: string;
12
+ isArray: boolean;
13
+ value: IniScalar | IniScalar[];
14
+ sep: string;
15
+ inlineComment?: string;
16
+ }
17
+ export interface IniSection {
18
+ kind: 'section';
19
+ name: string;
20
+ subName?: string;
21
+ headerComment?: string;
22
+ items: (IniComment | IniBlank | IniKeyValue)[];
23
+ }
24
+ export type IniItem = IniComment | IniBlank | IniKeyValue | IniSection;
25
+ export type IniScalar = string | number | boolean;
26
+ export interface IniDocument {
27
+ items: IniItem[];
28
+ }
29
+ export declare function parseIniDoc(text: string): IniDocument;
30
+ export declare function stringifyIniDoc(doc: IniDocument): string;
31
+ export declare function mergeIni(parts: string[], opts?: IniMergeOptions): string;
32
+ export declare function formatIni(content: string): string;
33
+ //# sourceMappingURL=ini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ini.d.ts","sourceRoot":"","sources":["../../src/processors/ini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC;CAChD;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AACvE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAsDD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAuJrD;AAiCD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CA4BxD;AAmRD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,eAAoB,GAAG,MAAM,CAyB5E;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMjD"}