@udondan/avanti 0.15.0 → 0.17.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 (87) hide show
  1. package/README.md +147 -2
  2. package/dist/binary.d.ts +2 -0
  3. package/dist/binary.d.ts.map +1 -0
  4. package/dist/binary.js +13 -0
  5. package/dist/binary.js.map +1 -0
  6. package/dist/cli.js +7 -1
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/diff.d.ts.map +1 -1
  9. package/dist/commands/diff.js +13 -7
  10. package/dist/commands/diff.js.map +1 -1
  11. package/dist/commands/pull.d.ts.map +1 -1
  12. package/dist/commands/pull.js +20 -12
  13. package/dist/commands/pull.js.map +1 -1
  14. package/dist/config-writeback.d.ts.map +1 -1
  15. package/dist/config-writeback.js +12 -4
  16. package/dist/config-writeback.js.map +1 -1
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +64 -6
  19. package/dist/config.js.map +1 -1
  20. package/dist/diff.d.ts +3 -1
  21. package/dist/diff.d.ts.map +1 -1
  22. package/dist/diff.js +35 -4
  23. package/dist/diff.js.map +1 -1
  24. package/dist/fetch.d.ts +1 -0
  25. package/dist/fetch.d.ts.map +1 -1
  26. package/dist/fetch.js +57 -1
  27. package/dist/fetch.js.map +1 -1
  28. package/dist/history.d.ts +2 -2
  29. package/dist/history.js +4 -4
  30. package/dist/history.js.map +1 -1
  31. package/dist/logger.d.ts +4 -0
  32. package/dist/logger.d.ts.map +1 -0
  33. package/dist/logger.js +17 -0
  34. package/dist/logger.js.map +1 -0
  35. package/dist/processors/toml.d.ts +4 -0
  36. package/dist/processors/toml.d.ts.map +1 -0
  37. package/dist/processors/toml.js +100 -0
  38. package/dist/processors/toml.js.map +1 -0
  39. package/dist/sha.d.ts +1 -1
  40. package/dist/sha.d.ts.map +1 -1
  41. package/dist/sha.js +8 -1
  42. package/dist/sha.js.map +1 -1
  43. package/dist/sources/bitbucket.d.ts +2 -2
  44. package/dist/sources/bitbucket.d.ts.map +1 -1
  45. package/dist/sources/bitbucket.js +26 -18
  46. package/dist/sources/bitbucket.js.map +1 -1
  47. package/dist/sources/exec.d.ts +1 -1
  48. package/dist/sources/exec.d.ts.map +1 -1
  49. package/dist/sources/exec.js +8 -3
  50. package/dist/sources/exec.js.map +1 -1
  51. package/dist/sources/git.d.ts +7 -1
  52. package/dist/sources/git.d.ts.map +1 -1
  53. package/dist/sources/git.js +53 -2
  54. package/dist/sources/git.js.map +1 -1
  55. package/dist/sources/github.d.ts +2 -2
  56. package/dist/sources/github.d.ts.map +1 -1
  57. package/dist/sources/github.js +52 -32
  58. package/dist/sources/github.js.map +1 -1
  59. package/dist/sources/gitlab.d.ts +2 -2
  60. package/dist/sources/gitlab.d.ts.map +1 -1
  61. package/dist/sources/gitlab.js +82 -46
  62. package/dist/sources/gitlab.js.map +1 -1
  63. package/dist/sources/http.d.ts +4 -4
  64. package/dist/sources/http.js +1 -1
  65. package/dist/sources/http.js.map +1 -1
  66. package/dist/sources/index.d.ts +8 -3
  67. package/dist/sources/index.d.ts.map +1 -1
  68. package/dist/sources/index.js +164 -20
  69. package/dist/sources/index.js.map +1 -1
  70. package/dist/sources/local.d.ts +1 -1
  71. package/dist/sources/local.d.ts.map +1 -1
  72. package/dist/sources/local.js +4 -2
  73. package/dist/sources/local.js.map +1 -1
  74. package/dist/sources/s3.d.ts +1 -1
  75. package/dist/sources/s3.d.ts.map +1 -1
  76. package/dist/sources/s3.js +25 -19
  77. package/dist/sources/s3.js.map +1 -1
  78. package/dist/sources/vault.d.ts +1 -1
  79. package/dist/sources/vault.d.ts.map +1 -1
  80. package/dist/sources/vault.js +15 -6
  81. package/dist/sources/vault.js.map +1 -1
  82. package/dist/types.d.ts +12 -0
  83. package/dist/types.d.ts.map +1 -1
  84. package/dist/writer.d.ts +1 -1
  85. package/dist/writer.js +1 -1
  86. package/dist/writer.js.map +1 -1
  87. package/package.json +2 -1
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeToml = mergeToml;
4
+ exports.formatToml = formatToml;
5
+ const smol_toml_1 = require("smol-toml");
6
+ function isPlainObject(v) {
7
+ return (v !== null &&
8
+ typeof v === 'object' &&
9
+ !Array.isArray(v) &&
10
+ !(v instanceof Date));
11
+ }
12
+ function valuesEqual(a, b) {
13
+ if (a === b)
14
+ return true;
15
+ if (typeof a === 'number' && typeof b === 'number') {
16
+ return isNaN(a) && isNaN(b);
17
+ }
18
+ if (a instanceof Date && b instanceof Date) {
19
+ return a.getTime() === b.getTime();
20
+ }
21
+ if (Array.isArray(a) && Array.isArray(b)) {
22
+ return a.length === b.length && a.every((v, i) => valuesEqual(v, b[i]));
23
+ }
24
+ if (isPlainObject(a) && isPlainObject(b)) {
25
+ const aKeys = Object.keys(a);
26
+ const bKeys = Object.keys(b);
27
+ return (aKeys.length === bKeys.length &&
28
+ aKeys.every((k) => Object.hasOwn(b, k) && valuesEqual(a[k], b[k])));
29
+ }
30
+ return false;
31
+ }
32
+ function mergeValues(path, a, b, opts) {
33
+ if (valuesEqual(a, b))
34
+ return a;
35
+ if (Array.isArray(a) && Array.isArray(b)) {
36
+ if (opts.arrays === 'concat')
37
+ return [...a, ...b];
38
+ }
39
+ else if (isPlainObject(a) && isPlainObject(b)) {
40
+ if (opts.objects === 'merge')
41
+ return deepMerge(a, b, opts, path);
42
+ }
43
+ const loc = path || '(root)';
44
+ if (opts.conflicts === 'abort') {
45
+ throw new Error(`TOML conflict at ${loc}`);
46
+ }
47
+ if (opts.conflicts === 'first_wins')
48
+ return a;
49
+ return b;
50
+ }
51
+ function deepMerge(a, b, opts, basePath) {
52
+ const result = { ...a };
53
+ for (const [key, bVal] of Object.entries(b)) {
54
+ const childPath = basePath ? `${basePath}.${key}` : key;
55
+ const newVal = Object.hasOwn(result, key)
56
+ ? mergeValues(childPath, result[key], bVal, opts)
57
+ : bVal;
58
+ // Use defineProperty to avoid prototype mutation for keys like __proto__
59
+ Object.defineProperty(result, key, {
60
+ value: newVal,
61
+ writable: true,
62
+ enumerable: true,
63
+ configurable: true,
64
+ });
65
+ }
66
+ return result;
67
+ }
68
+ function mergeToml(parts, opts = {}) {
69
+ const resolved = {
70
+ conflicts: opts.conflicts ?? 'last_wins',
71
+ arrays: opts.arrays ?? 'replace',
72
+ objects: opts.objects ?? 'merge',
73
+ };
74
+ if (parts.length === 0)
75
+ return '';
76
+ const parsed = parts.map((p, i) => {
77
+ try {
78
+ return (0, smol_toml_1.parse)(p);
79
+ }
80
+ catch (e) {
81
+ throw new Error(`[source ${i}]: invalid TOML: ${e.message}`, {
82
+ cause: e,
83
+ });
84
+ }
85
+ });
86
+ let result = parsed[0];
87
+ for (let i = 1; i < parsed.length; i++) {
88
+ result = deepMerge(result, parsed[i], resolved, '');
89
+ }
90
+ return (0, smol_toml_1.stringify)(result);
91
+ }
92
+ function formatToml(content) {
93
+ try {
94
+ return (0, smol_toml_1.stringify)((0, smol_toml_1.parse)(content));
95
+ }
96
+ catch (e) {
97
+ throw new Error(`invalid TOML: ${e.message}`, { cause: e });
98
+ }
99
+ }
100
+ //# sourceMappingURL=toml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toml.js","sourceRoot":"","sources":["../../src/processors/toml.ts"],"names":[],"mappings":";;AA8FA,8BA4BC;AAED,gCAMC;AAlID,yCAA6C;AAkB7C,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,CACL,CAAC,KAAK,IAAI;QACV,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CACrB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,CAAY,EAAE,CAAY;IAC7C,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC7B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAClB,IAAY,EACZ,CAAY,EACZ,CAAY,EACZ,IAAqB;IAErB,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,QAAQ,CAAC;IAC7B,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAChB,CAA4B,EAC5B,CAA4B,EAC5B,IAAqB,EACrB,QAAgB;IAEhB,MAAM,MAAM,GAA8B,EAAE,GAAG,CAAC,EAAE,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;YACvC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC;QACT,yEAAyE;QACzE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,SAAS,CACvB,KAAe,EACf,OAAyB,EAAE;IAE3B,MAAM,QAAQ,GAAoB;QAChC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,WAAW;QACxC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;QAChC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;KACjC,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,OAAO,IAAA,iBAAK,EAAC,CAAC,CAA8B,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,oBAAqB,CAAW,CAAC,OAAO,EAAE,EAAE;gBACtE,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,GAA8B,MAAM,CAAC,CAAC,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,IAAA,qBAAS,EAAC,MAAyC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,UAAU,CAAC,OAAe;IACxC,IAAI,CAAC;QACH,OAAO,IAAA,qBAAS,EAAC,IAAA,iBAAK,EAAC,OAAO,CAAoC,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iBAAkB,CAAW,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
package/dist/sha.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare function computeContentSha256(content: string): string;
1
+ export declare function computeContentSha256(content: string | Buffer): string;
2
2
  //# sourceMappingURL=sha.d.ts.map
package/dist/sha.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sha.d.ts","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"sha.d.ts","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAQrE"}
package/dist/sha.js CHANGED
@@ -36,6 +36,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.computeContentSha256 = computeContentSha256;
37
37
  const crypto = __importStar(require("crypto"));
38
38
  function computeContentSha256(content) {
39
- return crypto.createHash('sha256').update(content, 'utf8').digest('hex');
39
+ const hash = crypto.createHash('sha256');
40
+ if (typeof content === 'string') {
41
+ hash.update(content, 'utf8');
42
+ }
43
+ else {
44
+ hash.update(content);
45
+ }
46
+ return hash.digest('hex');
40
47
  }
41
48
  //# sourceMappingURL=sha.js.map
package/dist/sha.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sha.js","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oDAEC;AAJD,+CAAiC;AAEjC,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"sha.js","sourceRoot":"","sources":["../src/sha.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oDAQC;AAVD,+CAAiC;AAEjC,SAAgB,oBAAoB,CAAC,OAAwB;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export interface BitbucketResult {
2
- files: Map<string, string>;
2
+ files: Map<string, Buffer>;
3
3
  }
4
- export declare function fetchBitbucket(workspace: string, repo: string, file: string, ref: string | undefined): Promise<BitbucketResult>;
4
+ export declare function fetchBitbucket(workspace: string, repo: string, file: string, ref: string | undefined, host?: string): Promise<BitbucketResult>;
5
5
  //# sourceMappingURL=bitbucket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitbucket.d.ts","sourceRoot":"","sources":["../../src/sources/bitbucket.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAgID,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAAC,eAAe,CAAC,CAkC1B"}
1
+ {"version":3,"file":"bitbucket.d.ts","sourceRoot":"","sources":["../../src/sources/bitbucket.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AA8ID,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,CAwC1B"}
@@ -36,7 +36,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.fetchBitbucket = fetchBitbucket;
37
37
  const path = __importStar(require("path"));
38
38
  const fetch_1 = require("../fetch");
39
- const API_BASE = 'https://api.bitbucket.org/2.0';
39
+ const logger_1 = require("../logger");
40
+ function getApiBase(override) {
41
+ const host = override?.trim() ||
42
+ process.env.BITBUCKET_HOST?.trim() ||
43
+ 'api.bitbucket.org';
44
+ return `https://${host}/2.0`;
45
+ }
40
46
  function apiHeaders() {
41
47
  const headers = { 'User-Agent': 'avanti' };
42
48
  const token = process.env.BITBUCKET_TOKEN;
@@ -51,18 +57,18 @@ function apiHeaders() {
51
57
  }
52
58
  return headers;
53
59
  }
54
- async function resolveRef(workspace, repo, ref) {
60
+ async function resolveRef(workspace, repo, ref, host) {
55
61
  if (ref && ref !== '$latest')
56
62
  return ref;
57
63
  if (ref === '$latest') {
58
- const tagsRes = await (0, fetch_1.fetchWithRetry)(`${API_BASE}/repositories/${workspace}/${repo}/refs/tags?sort=-name&pagelen=1`, { headers: apiHeaders() });
64
+ const tagsRes = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repositories/${workspace}/${repo}/refs/tags?sort=-name&pagelen=1`, { headers: apiHeaders() });
59
65
  if (tagsRes.ok) {
60
66
  const data = (await tagsRes.json());
61
67
  if (data.values.length > 0)
62
68
  return data.values[0].name;
63
69
  }
64
70
  }
65
- const repoRes = await (0, fetch_1.fetchWithRetry)(`${API_BASE}/repositories/${workspace}/${repo}`, { headers: apiHeaders() });
71
+ const repoRes = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repositories/${workspace}/${repo}`, { headers: apiHeaders() });
66
72
  if (!repoRes.ok) {
67
73
  throw new Error(`Failed to resolve ref for ${workspace}/${repo}: HTTP ${repoRes.status}`);
68
74
  }
@@ -70,26 +76,28 @@ async function resolveRef(workspace, repo, ref) {
70
76
  return repoData.mainbranch?.name ?? 'main';
71
77
  }
72
78
  // Returns file content, or null if the path is a directory.
73
- async function fetchFileOrDetect(workspace, repo, filePath, ref) {
74
- const res = await (0, fetch_1.fetchWithRetry)(`${API_BASE}/repositories/${workspace}/${repo}/src/${encodeURIComponent(ref)}/${filePath}`, { headers: apiHeaders() });
79
+ async function fetchFileOrDetect(workspace, repo, filePath, ref, host) {
80
+ (0, logger_1.verbose)(`bitbucket: fetching ${workspace}/${repo}:${filePath}@${ref}`);
81
+ const res = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repositories/${workspace}/${repo}/src/${encodeURIComponent(ref)}/${filePath}`, { headers: apiHeaders() });
75
82
  if (!res.ok) {
76
83
  throw new Error(`Failed to fetch ${filePath} from ${workspace}/${repo}@${ref}: HTTP ${res.status}`);
77
84
  }
78
85
  const ct = res.headers.get('content-type') ?? '';
79
86
  if (ct.includes('application/json'))
80
87
  return null;
81
- return res.text();
88
+ return Buffer.from(await res.arrayBuffer());
82
89
  }
83
- async function fetchFile(workspace, repo, filePath, ref) {
84
- const res = await (0, fetch_1.fetchWithRetry)(`${API_BASE}/repositories/${workspace}/${repo}/src/${encodeURIComponent(ref)}/${filePath}`, { headers: apiHeaders() });
90
+ async function fetchFile(workspace, repo, filePath, ref, host) {
91
+ const res = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repositories/${workspace}/${repo}/src/${encodeURIComponent(ref)}/${filePath}`, { headers: apiHeaders() });
85
92
  if (!res.ok) {
86
93
  throw new Error(`Failed to fetch ${filePath} from ${workspace}/${repo}@${ref}: HTTP ${res.status}`);
87
94
  }
88
- return res.text();
95
+ return Buffer.from(await res.arrayBuffer());
89
96
  }
90
- async function listDir(workspace, repo, dirPath, ref) {
97
+ async function listDir(workspace, repo, dirPath, ref, host) {
98
+ (0, logger_1.verbose)(`bitbucket: listing directory ${workspace}/${repo}:${dirPath}@${ref}`);
91
99
  const files = [];
92
- let url = `${API_BASE}/repositories/${workspace}/${repo}/src/${encodeURIComponent(ref)}/${dirPath}/?pagelen=100`;
100
+ let url = `${getApiBase(host)}/repositories/${workspace}/${repo}/src/${encodeURIComponent(ref)}/${dirPath}/?pagelen=100`;
93
101
  while (url) {
94
102
  const res = await (0, fetch_1.fetchWithRetry)(url, { headers: apiHeaders() });
95
103
  if (!res.ok) {
@@ -101,7 +109,7 @@ async function listDir(workspace, repo, dirPath, ref) {
101
109
  files.push(item.path);
102
110
  }
103
111
  else if (item.type === 'commit_directory') {
104
- const sub = await listDir(workspace, repo, item.path, ref);
112
+ const sub = await listDir(workspace, repo, item.path, ref, host);
105
113
  files.push(...sub);
106
114
  }
107
115
  }
@@ -109,24 +117,24 @@ async function listDir(workspace, repo, dirPath, ref) {
109
117
  }
110
118
  return files;
111
119
  }
112
- async function fetchBitbucket(workspace, repo, file, ref) {
113
- const resolvedRef = await resolveRef(workspace, repo, ref);
120
+ async function fetchBitbucket(workspace, repo, file, ref, host) {
121
+ const resolvedRef = await resolveRef(workspace, repo, ref, host);
114
122
  const normalizedPath = file.replace(/\/$/, '');
115
123
  if (!file.endsWith('/')) {
116
- const content = await fetchFileOrDetect(workspace, repo, normalizedPath, resolvedRef);
124
+ const content = await fetchFileOrDetect(workspace, repo, normalizedPath, resolvedRef, host);
117
125
  if (content !== null) {
118
126
  return {
119
127
  files: new Map([[path.basename(normalizedPath), content]]),
120
128
  };
121
129
  }
122
130
  }
123
- const paths = await listDir(workspace, repo, normalizedPath, resolvedRef);
131
+ const paths = await listDir(workspace, repo, normalizedPath, resolvedRef, host);
124
132
  if (!paths.length) {
125
133
  throw new Error(`Failed to fetch ${file} from ${workspace}/${repo}@${resolvedRef} (not a file or empty directory)`);
126
134
  }
127
135
  const entries = await Promise.all(paths.map(async (p) => [
128
136
  path.relative(normalizedPath, p),
129
- await fetchFile(workspace, repo, p, resolvedRef),
137
+ await fetchFile(workspace, repo, p, resolvedRef, host),
130
138
  ]));
131
139
  return { files: new Map(entries) };
132
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bitbucket.js","sourceRoot":"","sources":["../../src/sources/bitbucket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitbucket.js","sourceRoot":"","sources":["../../src/sources/bitbucket.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function fetchExec(command: string): string;
1
+ export declare function fetchExec(command: string): Buffer;
2
2
  //# sourceMappingURL=exec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/sources/exec.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAajD"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/sources/exec.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiBjD"}
@@ -3,16 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchExec = fetchExec;
4
4
  const child_process_1 = require("child_process");
5
5
  const shell_1 = require("../shell");
6
+ const logger_1 = require("../logger");
6
7
  function fetchExec(command) {
8
+ (0, logger_1.verbose)(`exec: ${command}`);
7
9
  const { shell, args } = (0, shell_1.getShellArgs)(command);
8
- const result = (0, child_process_1.spawnSync)(shell, args, { encoding: 'utf8' });
10
+ const result = (0, child_process_1.spawnSync)(shell, args, {
11
+ encoding: 'buffer',
12
+ maxBuffer: 200 * 1024 * 1024,
13
+ });
9
14
  if (result.error) {
10
15
  throw new Error(`exec failed to spawn: ${result.error.message}`);
11
16
  }
12
17
  if (result.status !== 0) {
13
- const stderr = result.stderr?.trim() ?? '';
18
+ const stderr = result.stderr?.toString('utf8').trim() ?? '';
14
19
  throw new Error(`exec exited with code ${result.status}${stderr ? ': ' + stderr : ''}`);
15
20
  }
16
- return result.stdout;
21
+ return result.stdout ?? Buffer.alloc(0);
17
22
  }
18
23
  //# sourceMappingURL=exec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/sources/exec.ts"],"names":[],"mappings":";;AAGA,8BAaC;AAhBD,iDAA0C;AAC1C,oCAAwC;AAExC,SAAgB,SAAS,CAAC,OAAe;IACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/sources/exec.ts"],"names":[],"mappings":";;AAIA,8BAiBC;AArBD,iDAA0C;AAC1C,oCAAwC;AACxC,sCAAoC;AAEpC,SAAgB,SAAS,CAAC,OAAe;IACvC,IAAA,gBAAO,EAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IAC5B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,IAAI,EAAE;QACpC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;KAC7B,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,5 +1,11 @@
1
1
  export interface GitResult {
2
- files: Map<string, string>;
2
+ files: Map<string, Buffer>;
3
3
  }
4
+ export declare function isGitRemoteUrl(s: string): boolean;
5
+ export declare function parseGitRemoteSpec(spec: string): {
6
+ repo: string;
7
+ file: string;
8
+ ref: string | undefined;
9
+ };
4
10
  export declare function fetchGit(repo: string, file: string, ref?: string): GitResult;
5
11
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/sources/git.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAmCD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAkD5E"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/sources/git.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AA8CD,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAMjD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB,CAwBA;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAsE5E"}
@@ -33,11 +33,14 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.isGitRemoteUrl = isGitRemoteUrl;
37
+ exports.parseGitRemoteSpec = parseGitRemoteSpec;
36
38
  exports.fetchGit = fetchGit;
37
39
  const child_process_1 = require("child_process");
38
40
  const fs = __importStar(require("fs"));
39
41
  const os = __importStar(require("os"));
40
42
  const path = __importStar(require("path"));
43
+ const logger_1 = require("../logger");
41
44
  function run(cmd, args, opts = {}) {
42
45
  const result = (0, child_process_1.spawnSync)(cmd, args, { encoding: 'utf8', cwd: opts.cwd });
43
46
  if (result.error)
@@ -53,16 +56,55 @@ function looksLikeCommitHash(ref) {
53
56
  }
54
57
  function collectFiles(base, dir, files) {
55
58
  for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
59
+ if (entry.isSymbolicLink())
60
+ continue;
56
61
  const full = path.join(dir, entry.name);
57
62
  if (entry.isDirectory()) {
58
63
  collectFiles(base, full, files);
59
64
  }
60
65
  else if (entry.isFile()) {
61
- files.set(path.relative(base, full), fs.readFileSync(full, 'utf8'));
66
+ files.set(path.relative(base, full), fs.readFileSync(full));
62
67
  }
63
68
  }
64
69
  }
70
+ function redactGitUrl(url) {
71
+ return (url
72
+ // URL-style: scheme://user:pass@host/...
73
+ .replace(/(\/\/)[^@]*@/, '$1***@')
74
+ // SCP-style with password: user:pass@host:path (only when userinfo contains ':')
75
+ .replace(/^[^/:@\s]+:[^/:@\s]+@/, '***@'));
76
+ }
77
+ function isGitRemoteUrl(s) {
78
+ return (s.startsWith('git+ssh://') ||
79
+ s.startsWith('git://') ||
80
+ s.startsWith('ssh://'));
81
+ }
82
+ function parseGitRemoteSpec(spec) {
83
+ if (!isGitRemoteUrl(spec)) {
84
+ throw new Error(`Invalid git URL spec "${spec}". Supported schemes: git+ssh://, git://, ssh://`);
85
+ }
86
+ const schemeEnd = spec.indexOf('://') + 3;
87
+ const separatorIdx = spec.indexOf('//', schemeEnd);
88
+ if (separatorIdx === -1 || separatorIdx <= schemeEnd) {
89
+ throw new Error(`Invalid git URL spec "${spec}". Expected format: <remote-url>//<file-path>[@ref], e.g. git+ssh://git@host/org/repo.git//path/to/file.yml@main (supported schemes: git+ssh://, git://, ssh://)`);
90
+ }
91
+ const repo = spec.slice(0, separatorIdx);
92
+ const rest = spec.slice(separatorIdx + 2);
93
+ const atIdx = rest.lastIndexOf('@');
94
+ const file = atIdx === -1 ? rest : rest.slice(0, atIdx);
95
+ const ref = atIdx === -1 ? undefined : rest.slice(atIdx + 1);
96
+ if (!file) {
97
+ throw new Error(`Invalid git URL spec "${spec}". File path is required after //`);
98
+ }
99
+ return { repo, file, ref };
100
+ }
65
101
  function fetchGit(repo, file, ref) {
102
+ const normalized = path.normalize(file);
103
+ if (path.isAbsolute(file) ||
104
+ normalized === '..' ||
105
+ normalized.startsWith('..' + path.sep)) {
106
+ throw new Error(`Unsafe file path escapes repository root: ${file}`);
107
+ }
66
108
  const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'avanti-git-'));
67
109
  try {
68
110
  const repoDir = path.join(tmpDir, 'repo');
@@ -70,6 +112,7 @@ function fetchGit(repo, file, ref) {
70
112
  const args = ['clone', '--depth', '1'];
71
113
  if (ref)
72
114
  args.push('--branch', ref);
115
+ (0, logger_1.verbose)(`git ${args.join(' ')} ${redactGitUrl(repo)} <tmpdir>`);
73
116
  args.push(repo, repoDir);
74
117
  const res = run('git', args);
75
118
  if (res.status !== 0) {
@@ -77,10 +120,12 @@ function fetchGit(repo, file, ref) {
77
120
  }
78
121
  }
79
122
  else {
123
+ (0, logger_1.verbose)(`git clone ${redactGitUrl(repo)} <tmpdir>`);
80
124
  const cloneRes = run('git', ['clone', repo, repoDir]);
81
125
  if (cloneRes.status !== 0) {
82
126
  throw new Error(`git clone failed: ${cloneRes.stderr.trim()}`);
83
127
  }
128
+ (0, logger_1.verbose)(`git checkout ${ref}`);
84
129
  const checkoutRes = run('git', ['checkout', ref], { cwd: repoDir });
85
130
  if (checkoutRes.status !== 0) {
86
131
  throw new Error(`git checkout ${ref} failed: ${checkoutRes.stderr.trim()}`);
@@ -91,6 +136,12 @@ function fetchGit(repo, file, ref) {
91
136
  if (!fs.existsSync(fullPath)) {
92
137
  throw new Error(`Path not found in repository: ${file}`);
93
138
  }
139
+ const realRepoDir = fs.realpathSync(repoDir);
140
+ const realFullPath = fs.realpathSync(fullPath);
141
+ if (realFullPath !== realRepoDir &&
142
+ !realFullPath.startsWith(realRepoDir + path.sep)) {
143
+ throw new Error(`Unsafe file path escapes repository root via symlink: ${file}`);
144
+ }
94
145
  const files = new Map();
95
146
  const stat = fs.statSync(fullPath);
96
147
  if (stat.isDirectory() || file.endsWith('/')) {
@@ -100,7 +151,7 @@ function fetchGit(repo, file, ref) {
100
151
  }
101
152
  }
102
153
  else {
103
- files.set(path.basename(normalizedFile), fs.readFileSync(fullPath, 'utf8'));
154
+ files.set(path.basename(normalizedFile), fs.readFileSync(fullPath));
104
155
  }
105
156
  return { files };
106
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/sources/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/sources/git.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export interface GitHubResult {
2
- files: Map<string, string>;
2
+ files: Map<string, Buffer>;
3
3
  }
4
- export declare function fetchGitHub(repo: string, file: string, ref: string | undefined): Promise<GitHubResult>;
4
+ export declare function fetchGitHub(repo: string, file: string, ref: string | undefined, host?: string): Promise<GitHubResult>;
5
5
  //# sourceMappingURL=github.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/sources/github.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAkOD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAAC,YAAY,CAAC,CA6BvB"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/sources/github.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAgQD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CA4BvB"}