@udondan/avanti 0.14.0 → 0.16.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 +119 -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/commands/diff.d.ts.map +1 -1
  7. package/dist/commands/diff.js +13 -7
  8. package/dist/commands/diff.js.map +1 -1
  9. package/dist/commands/pull.d.ts.map +1 -1
  10. package/dist/commands/pull.js +20 -12
  11. package/dist/commands/pull.js.map +1 -1
  12. package/dist/config-writeback.d.ts.map +1 -1
  13. package/dist/config-writeback.js +12 -4
  14. package/dist/config-writeback.js.map +1 -1
  15. package/dist/config.d.ts.map +1 -1
  16. package/dist/config.js +30 -3
  17. package/dist/config.js.map +1 -1
  18. package/dist/diff.d.ts +3 -1
  19. package/dist/diff.d.ts.map +1 -1
  20. package/dist/diff.js +38 -6
  21. package/dist/diff.js.map +1 -1
  22. package/dist/history.d.ts +2 -2
  23. package/dist/history.js +4 -4
  24. package/dist/history.js.map +1 -1
  25. package/dist/processors/post.d.ts.map +1 -1
  26. package/dist/processors/post.js +3 -1
  27. package/dist/processors/post.js.map +1 -1
  28. package/dist/processors/toml.d.ts +4 -0
  29. package/dist/processors/toml.d.ts.map +1 -0
  30. package/dist/processors/toml.js +100 -0
  31. package/dist/processors/toml.js.map +1 -0
  32. package/dist/sha.d.ts +1 -1
  33. package/dist/sha.d.ts.map +1 -1
  34. package/dist/sha.js +8 -1
  35. package/dist/sha.js.map +1 -1
  36. package/dist/shell.d.ts +6 -0
  37. package/dist/shell.d.ts.map +1 -0
  38. package/dist/shell.js +76 -0
  39. package/dist/shell.js.map +1 -0
  40. package/dist/sources/bitbucket.d.ts +2 -2
  41. package/dist/sources/bitbucket.d.ts.map +1 -1
  42. package/dist/sources/bitbucket.js +23 -18
  43. package/dist/sources/bitbucket.js.map +1 -1
  44. package/dist/sources/exec.d.ts +1 -1
  45. package/dist/sources/exec.d.ts.map +1 -1
  46. package/dist/sources/exec.js +8 -3
  47. package/dist/sources/exec.js.map +1 -1
  48. package/dist/sources/git.d.ts +1 -1
  49. package/dist/sources/git.d.ts.map +1 -1
  50. package/dist/sources/git.js +2 -2
  51. package/dist/sources/git.js.map +1 -1
  52. package/dist/sources/github.d.ts +2 -2
  53. package/dist/sources/github.d.ts.map +1 -1
  54. package/dist/sources/github.js +32 -24
  55. package/dist/sources/github.js.map +1 -1
  56. package/dist/sources/gitlab.d.ts +2 -2
  57. package/dist/sources/gitlab.d.ts.map +1 -1
  58. package/dist/sources/gitlab.js +55 -38
  59. package/dist/sources/gitlab.js.map +1 -1
  60. package/dist/sources/http.d.ts +4 -4
  61. package/dist/sources/http.js +1 -1
  62. package/dist/sources/http.js.map +1 -1
  63. package/dist/sources/index.d.ts +2 -2
  64. package/dist/sources/index.d.ts.map +1 -1
  65. package/dist/sources/index.js +125 -20
  66. package/dist/sources/index.js.map +1 -1
  67. package/dist/sources/local.d.ts +1 -1
  68. package/dist/sources/local.d.ts.map +1 -1
  69. package/dist/sources/local.js +4 -7
  70. package/dist/sources/local.js.map +1 -1
  71. package/dist/sources/s3.d.ts +1 -1
  72. package/dist/sources/s3.d.ts.map +1 -1
  73. package/dist/sources/s3.js +19 -19
  74. package/dist/sources/s3.js.map +1 -1
  75. package/dist/sources/vault.d.ts +1 -1
  76. package/dist/sources/vault.d.ts.map +1 -1
  77. package/dist/sources/vault.js +9 -6
  78. package/dist/sources/vault.js.map +1 -1
  79. package/dist/types.d.ts +12 -0
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/variables.d.ts.map +1 -1
  82. package/dist/variables.js +38 -27
  83. package/dist/variables.js.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
@@ -39,8 +39,8 @@ const fs = __importStar(require("fs"));
39
39
  const os = __importStar(require("os"));
40
40
  const path = __importStar(require("path"));
41
41
  const fetch_1 = require("../fetch");
42
- function getHost() {
43
- return process.env.GITLAB_HOST ?? 'gitlab.com';
42
+ function getHost(override) {
43
+ return override?.trim() || process.env.GITLAB_HOST?.trim() || 'gitlab.com';
44
44
  }
45
45
  function apiHeaders() {
46
46
  const headers = { 'User-Agent': 'avanti' };
@@ -55,6 +55,10 @@ function shouldFallback(status) {
55
55
  function isGlabAvailable() {
56
56
  return !(0, child_process_1.spawnSync)('glab', ['--version'], { encoding: 'utf8' }).error;
57
57
  }
58
+ function hostnameArgs(host) {
59
+ const resolved = host?.trim() || process.env.GITLAB_HOST?.trim() || '';
60
+ return resolved ? ['--hostname', resolved] : [];
61
+ }
58
62
  function glabRun(args) {
59
63
  const result = (0, child_process_1.spawnSync)('glab', args, { encoding: 'utf8' });
60
64
  if (result.error)
@@ -65,15 +69,27 @@ function glabRun(args) {
65
69
  status: result.status,
66
70
  };
67
71
  }
68
- async function resolveRef(project, ref) {
72
+ function glabRunBinary(args) {
73
+ const result = (0, child_process_1.spawnSync)('glab', args, {
74
+ encoding: 'buffer',
75
+ maxBuffer: 200 * 1024 * 1024,
76
+ });
77
+ if (result.error)
78
+ throw new Error(`glab error: ${result.error.message}`);
79
+ return {
80
+ stdout: result.stdout ?? Buffer.alloc(0),
81
+ stderr: result.stderr?.toString('utf8') ?? '',
82
+ status: result.status,
83
+ };
84
+ }
85
+ async function resolveRef(project, ref, host) {
69
86
  if (ref === undefined || ref === '')
70
87
  return 'HEAD';
71
88
  if (ref === '$latest') {
72
- const host = getHost();
73
- const res = await (0, fetch_1.fetchWithRetry)(`https://${host}/api/v4/projects/${encodeURIComponent(project)}/repository/tags?order_by=version&sort=desc&per_page=1`, { headers: apiHeaders() });
89
+ const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/tags?order_by=version&sort=desc&per_page=1`, { headers: apiHeaders() });
74
90
  if (!res.ok) {
75
91
  if (shouldFallback(res.status) && isGlabAvailable()) {
76
- return resolveRefViaCli(project);
92
+ return resolveRefViaCli(project, host);
77
93
  }
78
94
  throw new Error(`Failed to resolve $latest for ${project}: HTTP ${res.status}`);
79
95
  }
@@ -85,9 +101,10 @@ async function resolveRef(project, ref) {
85
101
  }
86
102
  return ref;
87
103
  }
88
- function resolveRefViaCli(project) {
104
+ function resolveRefViaCli(project, host) {
89
105
  const res = glabRun([
90
106
  'api',
107
+ ...hostnameArgs(host),
91
108
  `projects/${encodeURIComponent(project)}/repository/tags?order_by=version&sort=desc&per_page=1`,
92
109
  ]);
93
110
  if (res.status !== 0) {
@@ -99,42 +116,42 @@ function resolveRefViaCli(project) {
99
116
  }
100
117
  return tags[0].name;
101
118
  }
102
- async function detectPathType(project, filePath, ref) {
103
- const host = getHost();
119
+ async function detectPathType(project, filePath, ref, host) {
104
120
  const encodedPath = encodeURIComponent(filePath);
105
- const res = await (0, fetch_1.fetchWithRetry)(`https://${host}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
121
+ const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
106
122
  if (res.ok)
107
123
  return 'file';
108
124
  if (shouldFallback(res.status) && isGlabAvailable()) {
109
- return detectPathTypeViaCli(project, filePath, ref);
125
+ return detectPathTypeViaCli(project, filePath, ref, host);
110
126
  }
111
127
  // Assume directory; downstream calls will surface the real error if wrong
112
128
  return 'directory';
113
129
  }
114
- function detectPathTypeViaCli(project, filePath, ref) {
130
+ function detectPathTypeViaCli(project, filePath, ref, host) {
115
131
  const encodedPath = encodeURIComponent(filePath);
116
132
  const res = glabRun([
117
133
  'api',
134
+ ...hostnameArgs(host),
118
135
  `projects/${encodeURIComponent(project)}/repository/files/${encodedPath}?ref=${encodeURIComponent(ref)}`,
119
136
  ]);
120
137
  return res.status === 0 ? 'file' : 'directory';
121
138
  }
122
- async function fetchFile(project, filePath, ref) {
123
- const host = getHost();
139
+ async function fetchFile(project, filePath, ref, host) {
124
140
  const encodedPath = encodeURIComponent(filePath);
125
- const res = await (0, fetch_1.fetchWithRetry)(`https://${host}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}/raw?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
141
+ const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}/raw?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
126
142
  if (!res.ok) {
127
143
  if (shouldFallback(res.status) && isGlabAvailable()) {
128
- return fetchFileViaCli(project, filePath, ref);
144
+ return fetchFileViaCli(project, filePath, ref, host);
129
145
  }
130
146
  throw new Error(`Failed to fetch ${filePath} from ${project}@${ref}: HTTP ${res.status}`);
131
147
  }
132
- return res.text();
148
+ return Buffer.from(await res.arrayBuffer());
133
149
  }
134
- function fetchFileViaCli(project, filePath, ref) {
150
+ function fetchFileViaCli(project, filePath, ref, host) {
135
151
  const encodedPath = encodeURIComponent(filePath);
136
- const res = glabRun([
152
+ const res = glabRunBinary([
137
153
  'api',
154
+ ...hostnameArgs(host),
138
155
  `projects/${encodeURIComponent(project)}/repository/files/${encodedPath}/raw?ref=${encodeURIComponent(ref)}`,
139
156
  ]);
140
157
  if (res.status !== 0) {
@@ -142,16 +159,15 @@ function fetchFileViaCli(project, filePath, ref) {
142
159
  }
143
160
  return res.stdout;
144
161
  }
145
- async function listTree(project, dirPath, ref) {
146
- const host = getHost();
162
+ async function listTree(project, dirPath, ref, host) {
147
163
  const allPaths = [];
148
164
  const perPage = 100;
149
165
  let page = 1;
150
166
  while (true) {
151
- const res = await (0, fetch_1.fetchWithRetry)(`https://${host}/api/v4/projects/${encodeURIComponent(project)}/repository/tree?path=${encodeURIComponent(dirPath)}&ref=${encodeURIComponent(ref)}&recursive=true&per_page=${perPage}&page=${page}`, { headers: apiHeaders() });
167
+ const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/tree?path=${encodeURIComponent(dirPath)}&ref=${encodeURIComponent(ref)}&recursive=true&per_page=${perPage}&page=${page}`, { headers: apiHeaders() });
152
168
  if (!res.ok) {
153
169
  if (shouldFallback(res.status) && isGlabAvailable()) {
154
- return listTreeViaCli(project, dirPath, ref);
170
+ return listTreeViaCli(project, dirPath, ref, host);
155
171
  }
156
172
  throw new Error(`Failed to list tree ${dirPath} in ${project}@${ref}: HTTP ${res.status}`);
157
173
  }
@@ -163,13 +179,14 @@ async function listTree(project, dirPath, ref) {
163
179
  }
164
180
  return allPaths;
165
181
  }
166
- function listTreeViaCli(project, dirPath, ref) {
182
+ function listTreeViaCli(project, dirPath, ref, host) {
167
183
  const allPaths = [];
168
184
  const perPage = 100;
169
185
  let page = 1;
170
186
  while (true) {
171
187
  const res = glabRun([
172
188
  'api',
189
+ ...hostnameArgs(host),
173
190
  `projects/${encodeURIComponent(project)}/repository/tree?path=${encodeURIComponent(dirPath)}&ref=${encodeURIComponent(ref)}&recursive=true&per_page=${perPage}&page=${page}`,
174
191
  ]);
175
192
  if (res.status !== 0) {
@@ -190,7 +207,7 @@ function collectFiles(baseDir, dir, files) {
190
207
  collectFiles(baseDir, full, files);
191
208
  }
192
209
  else if (entry.isFile()) {
193
- files.set(path.relative(baseDir, full), fs.readFileSync(full, 'utf8'));
210
+ files.set(path.relative(baseDir, full), fs.readFileSync(full));
194
211
  }
195
212
  }
196
213
  }
@@ -220,13 +237,12 @@ function extractArchive(buf, dirPath) {
220
237
  fs.rmSync(tmpDir, { recursive: true, force: true });
221
238
  }
222
239
  }
223
- async function fetchDirectoryViaArchive(project, dirPath, ref) {
224
- const host = getHost();
240
+ async function fetchDirectoryViaArchive(project, dirPath, ref, host) {
225
241
  const encodedProject = encodeURIComponent(project);
226
- const res = await (0, fetch_1.fetchWithRetry)(`https://${host}/api/v4/projects/${encodedProject}/repository/archive.tar.gz?sha=${encodeURIComponent(ref)}&path=${encodeURIComponent(dirPath)}`, { headers: apiHeaders() });
242
+ const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodedProject}/repository/archive.tar.gz?sha=${encodeURIComponent(ref)}&path=${encodeURIComponent(dirPath)}`, { headers: apiHeaders() });
227
243
  if (!res.ok) {
228
244
  if (shouldFallback(res.status) && isGlabAvailable()) {
229
- return fetchDirectoryViaArchiveViaCli(project, dirPath, ref);
245
+ return fetchDirectoryViaArchiveViaCli(project, dirPath, ref, host);
230
246
  }
231
247
  return null;
232
248
  }
@@ -235,37 +251,38 @@ async function fetchDirectoryViaArchive(project, dirPath, ref) {
235
251
  return null;
236
252
  return extractArchive(buf, dirPath);
237
253
  }
238
- function fetchDirectoryViaArchiveViaCli(project, dirPath, ref) {
254
+ function fetchDirectoryViaArchiveViaCli(project, dirPath, ref, host) {
239
255
  const encodedProject = encodeURIComponent(project);
240
256
  const result = (0, child_process_1.spawnSync)('glab', [
241
257
  'api',
258
+ ...hostnameArgs(host),
242
259
  `projects/${encodedProject}/repository/archive.tar.gz?sha=${encodeURIComponent(ref)}&path=${encodeURIComponent(dirPath)}`,
243
- ], { encoding: 'buffer' });
260
+ ], { encoding: 'buffer', maxBuffer: 200 * 1024 * 1024 });
244
261
  if (result.error || result.status !== 0 || !result.stdout?.length)
245
262
  return null;
246
263
  return extractArchive(result.stdout, dirPath);
247
264
  }
248
- async function fetchGitLab(project, file, ref) {
249
- const resolvedRef = await resolveRef(project, ref);
265
+ async function fetchGitLab(project, file, ref, host) {
266
+ const resolvedRef = await resolveRef(project, ref, host);
250
267
  const normalizedPath = file.replace(/\/$/, '');
251
268
  const isDirectory = file.endsWith('/') ||
252
- (await detectPathType(project, normalizedPath, resolvedRef)) ===
269
+ (await detectPathType(project, normalizedPath, resolvedRef, host)) ===
253
270
  'directory';
254
271
  if (!isDirectory) {
255
- const content = await fetchFile(project, normalizedPath, resolvedRef);
272
+ const content = await fetchFile(project, normalizedPath, resolvedRef, host);
256
273
  return { files: new Map([[path.basename(normalizedPath), content]]) };
257
274
  }
258
275
  // Directory — archive approach first (one API call), then fall back to per-file fetches
259
- const archived = await fetchDirectoryViaArchive(project, normalizedPath, resolvedRef);
276
+ const archived = await fetchDirectoryViaArchive(project, normalizedPath, resolvedRef, host);
260
277
  if (archived)
261
278
  return { files: archived };
262
- const paths = await listTree(project, normalizedPath, resolvedRef);
279
+ const paths = await listTree(project, normalizedPath, resolvedRef, host);
263
280
  if (!paths.length) {
264
281
  throw new Error(`Failed to fetch ${file} from ${project}@${resolvedRef} (not a file or empty directory)`);
265
282
  }
266
283
  const entries = await Promise.all(paths.map(async (p) => [
267
284
  path.relative(normalizedPath, p),
268
- await fetchFile(project, p, resolvedRef),
285
+ await fetchFile(project, p, resolvedRef, host),
269
286
  ]));
270
287
  return { files: new Map(entries) };
271
288
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/sources/gitlab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/sources/gitlab.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyVA,kCA2CC;AApYD,iDAA0C;AAC1C,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,oCAA0C;AAO1C,SAAS,OAAO,CAAC,QAAiB;IAChC,OAAO,QAAQ,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC;AAC7E,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,OAAO,GAA2B,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC3E,IAAI,KAAK;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;AAC5D,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CAAC,IAAA,yBAAS,EAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;AACvE,CAAC;AAED,SAAS,YAAY,CAAC,IAAa;IACjC,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAK7B,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAc;IAKnC,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,MAAM,EAAE,IAAI,EAAE;QACrC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;KAC7B,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,OAAe,EACf,GAAuB,EACvB,IAAa;IAEb,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC;IACnD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAC9B,WAAW,OAAO,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,wDAAwD,EAC/H,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAC1B,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,eAAe,EAAE,EAAE,CAAC;gBACpD,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,iCAAiC,OAAO,UAAU,GAAG,CAAC,MAAM,EAAE,CAC/D,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,qBAAqB,OAAO,8BAA8B,CAC3D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,IAAa;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC;QAClB,KAAK;QACL,GAAG,YAAY,CAAC,IAAI,CAAC;QACrB,YAAY,kBAAkB,CAAC,OAAO,CAAC,wDAAwD;KAChG,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAA4B,CAAC;IAC/D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,8BAA8B,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAe,EACf,QAAgB,EAChB,GAAW,EACX,IAAa;IAEb,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAC9B,WAAW,OAAO,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,WAAW,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE,EACxI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAC1B,CAAC;IACF,IAAI,GAAG,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,eAAe,EAAE,EAAE,CAAC;QACpD,OAAO,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IACD,0EAA0E;IAC1E,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAe,EACf,QAAgB,EAChB,GAAW,EACX,IAAa;IAEb,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC;QAClB,KAAK;QACL,GAAG,YAAY,CAAC,IAAI,CAAC;QACrB,YAAY,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,WAAW,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE;KACzG,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,OAAe,EACf,QAAgB,EAChB,GAAW,EACX,IAAa;IAEb,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAC9B,WAAW,OAAO,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,WAAW,YAAY,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAC5I,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAC1B,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,eAAe,EAAE,EAAE,CAAC;YACpD,OAAO,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,SAAS,OAAO,IAAI,GAAG,UAAU,GAAG,CAAC,MAAM,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CACtB,OAAe,EACf,QAAgB,EAChB,GAAW,EACX,IAAa;IAEb,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,aAAa,CAAC;QACxB,KAAK;QACL,GAAG,YAAY,CAAC,IAAI,CAAC;QACrB,YAAY,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,WAAW,YAAY,kBAAkB,CAAC,GAAG,CAAC,EAAE;KAC7G,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,SAAS,OAAO,IAAI,GAAG,KAAK,GAAG,CAAC,MAAM,EAAE,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,OAAe,EACf,OAAe,EACf,GAAW,EACX,IAAa;IAEb,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAC9B,WAAW,OAAO,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,yBAAyB,kBAAkB,CAAC,OAAO,CAAC,QAAQ,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,OAAO,SAAS,IAAI,EAAE,EAC5M,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAC1B,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,eAAe,EAAE,EAAE,CAAC;gBACpD,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,OAAO,OAAO,IAAI,GAAG,UAAU,GAAG,CAAC,MAAM,EAAE,CAC1E,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0C,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO;YAAE,MAAM;QAClC,IAAI,EAAE,CAAC;IACT,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CACrB,OAAe,EACf,OAAe,EACf,GAAW,EACX,IAAa;IAEb,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,OAAO,CAAC;YAClB,KAAK;YACL,GAAG,YAAY,CAAC,IAAI,CAAC;YACrB,YAAY,kBAAkB,CAAC,OAAO,CAAC,yBAAyB,kBAAkB,CAAC,OAAO,CAAC,QAAQ,kBAAkB,CAAC,GAAG,CAAC,4BAA4B,OAAO,SAAS,IAAI,EAAE;SAC7K,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,OAAO,OAAO,IAAI,GAAG,KAAK,GAAG,CAAC,MAAM,EAAE,CACrE,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAGjC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO;YAAE,MAAM;QAClC,IAAI,EAAE,CAAC;IACT,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,OAAe,EACf,GAAW,EACX,KAA0B;IAE1B,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,GAAW,EACX,OAAe;IAEf,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAClD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACnC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEzB,MAAM,SAAS,GAAG,IAAA,yBAAS,EACzB,KAAK,EACL,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,EACvC;YACE,QAAQ,EAAE,MAAM;SACjB,CACF,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,OAAe,EACf,OAAe,EACf,GAAW,EACX,IAAa;IAEb,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAC9B,WAAW,OAAO,CAAC,IAAI,CAAC,oBAAoB,cAAc,kCAAkC,kBAAkB,CAAC,GAAG,CAAC,SAAS,kBAAkB,CAAC,OAAO,CAAC,EAAE,EACzJ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAC1B,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,eAAe,EAAE,EAAE,CAAC;YACpD,OAAO,8BAA8B,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,8BAA8B,CACrC,OAAe,EACf,OAAe,EACf,GAAW,EACX,IAAa;IAEb,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAA,yBAAS,EACtB,MAAM,EACN;QACE,KAAK;QACL,GAAG,YAAY,CAAC,IAAI,CAAC;QACrB,YAAY,cAAc,kCAAkC,kBAAkB,CAAC,GAAG,CAAC,SAAS,kBAAkB,CAAC,OAAO,CAAC,EAAE;KAC1H,EACD,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,CACrD,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM;QAC/D,OAAO,IAAI,CAAC;IACd,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,IAAY,EACZ,GAAuB,EACvB,IAAa;IAEb,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAClB,CAAC,MAAM,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAChE,WAAW,CAAC;IAEhB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5E,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,wFAAwF;IACxF,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,OAAO,EACP,cAAc,EACd,WAAW,EACX,IAAI,CACL,CAAC;IACF,IAAI,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,SAAS,OAAO,IAAI,WAAW,kCAAkC,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CACP,KAAK,EAAE,CAAC,EAAE,EAAE,CACV;QACE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC;KACtC,CACb,CACF,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;AACrC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export declare function inferFilenameFromUrl(url: string): string | undefined;
2
- export declare function fetchHttp(url: string): Promise<string>;
3
- export declare function fetchHttp(url: string, optional: false): Promise<string>;
4
- export declare function fetchHttp(url: string, optional: true): Promise<string | null>;
5
- export declare function fetchHttp(url: string, optional: boolean): Promise<string | null>;
2
+ export declare function fetchHttp(url: string): Promise<Buffer>;
3
+ export declare function fetchHttp(url: string, optional: false): Promise<Buffer>;
4
+ export declare function fetchHttp(url: string, optional: true): Promise<Buffer | null>;
5
+ export declare function fetchHttp(url: string, optional: boolean): Promise<Buffer | null>;
6
6
  //# sourceMappingURL=http.d.ts.map
@@ -54,6 +54,6 @@ async function fetchHttp(url, optional = false) {
54
54
  return null;
55
55
  throw new Error(`HTTP ${res.status} fetching ${url}`);
56
56
  }
57
- return res.text();
57
+ return Buffer.from(await res.arrayBuffer());
58
58
  }
59
59
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/sources/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oDAQC;AAYD,8BAUC;AAjCD,2CAA6B;AAC7B,oCAA0C;AAE1C,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,IAAI,SAAS,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAYM,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,QAAQ,GAAG,KAAK;IAEhB,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/sources/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oDAQC;AAYD,8BAUC;AAjCD,2CAA6B;AAC7B,oCAA0C;AAE1C,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,IAAI,SAAS,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAYM,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,QAAQ,GAAG,KAAK;IAEhB,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC"}
@@ -6,11 +6,11 @@ export interface SourceFetchRecord {
6
6
  matched: boolean;
7
7
  }
8
8
  export interface FetchResult {
9
- files: Map<string, string>;
9
+ files: Map<string, Buffer>;
10
10
  sourceRecords: SourceFetchRecord[];
11
11
  }
12
12
  export type FetchCache = Map<string, {
13
- files: Map<string, string>;
13
+ files: Map<string, Buffer>;
14
14
  }>;
15
15
  export declare function fetchSource(entry: FileEntry, workingDir: string, vars?: Variables, cache?: FetchCache): Promise<FetchResult>;
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EAIT,SAAS,EACV,MAAM,UAAU,CAAC;AAyFlB,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC;AAyQrE,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,SAAc,EACpB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CA6GtB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EAKT,SAAS,EACV,MAAM,UAAU,CAAC;AA+GlB,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC;AAmTrE,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,SAAc,EACpB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CAkKtB"}
@@ -48,8 +48,11 @@ const s3_1 = require("./s3");
48
48
  const vault_1 = require("./vault");
49
49
  const json_1 = require("../processors/json");
50
50
  const yaml_1 = require("../processors/yaml");
51
+ const toml_1 = require("../processors/toml");
52
+ const binary_1 = require("../binary");
51
53
  const JSON_EXTENSIONS = new Set(['.json', '.jsonc']);
52
54
  const YAML_EXTENSIONS = new Set(['.yaml', '.yml']);
55
+ const TOML_EXTENSIONS = new Set(['.toml']);
53
56
  function srcFilename(src) {
54
57
  if (typeof src === 'string') {
55
58
  if (src.startsWith('http://') || src.startsWith('https://')) {
@@ -104,6 +107,12 @@ function hasYamlExtension(src) {
104
107
  return false;
105
108
  return YAML_EXTENSIONS.has(path.extname(name).toLowerCase());
106
109
  }
110
+ function hasTomlExtension(src) {
111
+ const name = srcFilename(src);
112
+ if (!name)
113
+ return false;
114
+ return TOML_EXTENSIONS.has(path.extname(name).toLowerCase());
115
+ }
107
116
  function resolveJsonOptions(entry, srcs) {
108
117
  const { json } = entry;
109
118
  if (json === false)
@@ -130,6 +139,19 @@ function resolveYamlOptions(entry, srcs) {
130
139
  return {};
131
140
  return null;
132
141
  }
142
+ function resolveTomlOptions(entry, srcs) {
143
+ const { toml } = entry;
144
+ if (toml === false)
145
+ return null;
146
+ if (toml === true)
147
+ return {};
148
+ if (toml !== undefined && typeof toml === 'object')
149
+ return toml;
150
+ // Auto-detect: all sources have a TOML file extension
151
+ if (srcs.length > 0 && srcs.every(hasTomlExtension))
152
+ return {};
153
+ return null;
154
+ }
133
155
  // labelForSrc returns the source label used in SourceFetchRecord. Structured
134
156
  // sources (github:, gitlab:, etc.) keep variable references unresolved so the
135
157
  // label matches the literal YAML values that applyUpdatedShas reads for SHA
@@ -140,15 +162,18 @@ function labelForSrc(src, vars) {
140
162
  return (0, variables_1.resolveVars)(src, vars);
141
163
  if ('github' in src) {
142
164
  const ref = src.github.ref ? `@${src.github.ref}` : '';
143
- return `github:${src.github.repo}:${src.github.file}${ref}`;
165
+ const host = src.github.host ? `[${src.github.host}]` : '';
166
+ return `github${host}:${src.github.repo}:${src.github.file}${ref}`;
144
167
  }
145
168
  if ('gitlab' in src) {
146
169
  const ref = src.gitlab.ref ? `@${src.gitlab.ref}` : '';
147
- return `gitlab:${src.gitlab.project}:${src.gitlab.file}${ref}`;
170
+ const host = src.gitlab.host ? `[${src.gitlab.host}]` : '';
171
+ return `gitlab${host}:${src.gitlab.project}:${src.gitlab.file}${ref}`;
148
172
  }
149
173
  if ('bitbucket' in src) {
150
174
  const ref = src.bitbucket.ref ? `@${src.bitbucket.ref}` : '';
151
- return `bitbucket:${src.bitbucket.workspace}/${src.bitbucket.repo}:${src.bitbucket.file}${ref}`;
175
+ const host = src.bitbucket.host ? `[${src.bitbucket.host}]` : '';
176
+ return `bitbucket${host}:${src.bitbucket.workspace}/${src.bitbucket.repo}:${src.bitbucket.file}${ref}`;
152
177
  }
153
178
  if ('git' in src) {
154
179
  const ref = src.git.ref ? `@${src.git.ref}` : '';
@@ -180,17 +205,29 @@ function cacheKeyForSrc(src, vars) {
180
205
  return (0, variables_1.resolveVars)(src, vars);
181
206
  if ('github' in src) {
182
207
  const ref = src.github.ref ? `@${(0, variables_1.resolveVars)(src.github.ref, vars)}` : '';
183
- return `github:${(0, variables_1.resolveVars)(src.github.repo, vars)}:${(0, variables_1.resolveVars)(src.github.file, vars)}${ref}`;
208
+ const resolvedHost = src.github.host
209
+ ? (0, variables_1.resolveVars)(src.github.host, vars).trim()
210
+ : '';
211
+ const host = resolvedHost ? `[${resolvedHost}]` : '';
212
+ return `github${host}:${(0, variables_1.resolveVars)(src.github.repo, vars)}:${(0, variables_1.resolveVars)(src.github.file, vars)}${ref}`;
184
213
  }
185
214
  if ('gitlab' in src) {
186
215
  const ref = src.gitlab.ref ? `@${(0, variables_1.resolveVars)(src.gitlab.ref, vars)}` : '';
187
- return `gitlab:${(0, variables_1.resolveVars)(src.gitlab.project, vars)}:${(0, variables_1.resolveVars)(src.gitlab.file, vars)}${ref}`;
216
+ const resolvedHost = src.gitlab.host
217
+ ? (0, variables_1.resolveVars)(src.gitlab.host, vars).trim()
218
+ : '';
219
+ const host = resolvedHost ? `[${resolvedHost}]` : '';
220
+ return `gitlab${host}:${(0, variables_1.resolveVars)(src.gitlab.project, vars)}:${(0, variables_1.resolveVars)(src.gitlab.file, vars)}${ref}`;
188
221
  }
189
222
  if ('bitbucket' in src) {
190
223
  const ref = src.bitbucket.ref
191
224
  ? `@${(0, variables_1.resolveVars)(src.bitbucket.ref, vars)}`
192
225
  : '';
193
- return `bitbucket:${(0, variables_1.resolveVars)(src.bitbucket.workspace, vars)}/${(0, variables_1.resolveVars)(src.bitbucket.repo, vars)}:${(0, variables_1.resolveVars)(src.bitbucket.file, vars)}${ref}`;
226
+ const resolvedHost = src.bitbucket.host
227
+ ? (0, variables_1.resolveVars)(src.bitbucket.host, vars).trim()
228
+ : '';
229
+ const host = resolvedHost ? `[${resolvedHost}]` : '';
230
+ return `bitbucket${host}:${(0, variables_1.resolveVars)(src.bitbucket.workspace, vars)}/${(0, variables_1.resolveVars)(src.bitbucket.repo, vars)}:${(0, variables_1.resolveVars)(src.bitbucket.file, vars)}${ref}`;
194
231
  }
195
232
  if ('git' in src) {
196
233
  const ref = src.git.ref ? `@${(0, variables_1.resolveVars)(src.git.ref, vars)}` : '';
@@ -269,7 +306,7 @@ function computeFilesSha(files) {
269
306
  for (const [k, v] of sorted) {
270
307
  hash.update(k.replace(/\\/g, '/'), 'utf8');
271
308
  hash.update('\0', 'utf8');
272
- hash.update(v, 'utf8');
309
+ hash.update(v);
273
310
  hash.update('\0', 'utf8');
274
311
  }
275
312
  return hash.digest('hex');
@@ -285,7 +322,11 @@ async function _fetchOneSrcRaw(src, workingDir, vars) {
285
322
  return { files: (0, local_1.fetchLocal)(resolved, workingDir).files };
286
323
  }
287
324
  if ('raw' in src) {
288
- return { files: new Map([['output', (0, variables_1.resolveVars)(src.raw, vars)]]) };
325
+ return {
326
+ files: new Map([
327
+ ['output', Buffer.from((0, variables_1.resolveVars)(src.raw, vars), 'utf8')],
328
+ ]),
329
+ };
289
330
  }
290
331
  if ('path' in src) {
291
332
  const resolved = (0, variables_1.resolveVars)(src.path, vars);
@@ -319,18 +360,24 @@ async function _fetchOneSrcRaw(src, workingDir, vars) {
319
360
  else if ('gitlab' in src) {
320
361
  const result = await (0, gitlab_1.fetchGitLab)((0, variables_1.resolveVars)(src.gitlab.project, vars), (0, variables_1.resolveVars)(src.gitlab.file, vars), src.gitlab.ref !== undefined
321
362
  ? (0, variables_1.resolveVars)(src.gitlab.ref, vars)
363
+ : undefined, src.gitlab.host !== undefined
364
+ ? (0, variables_1.resolveVars)(src.gitlab.host, vars)
322
365
  : undefined);
323
366
  files = result.files;
324
367
  }
325
368
  else if ('github' in src) {
326
369
  const result = await (0, github_1.fetchGitHub)((0, variables_1.resolveVars)(src.github.repo, vars), (0, variables_1.resolveVars)(src.github.file, vars), src.github.ref !== undefined
327
370
  ? (0, variables_1.resolveVars)(src.github.ref, vars)
371
+ : undefined, src.github.host !== undefined
372
+ ? (0, variables_1.resolveVars)(src.github.host, vars)
328
373
  : undefined);
329
374
  files = result.files;
330
375
  }
331
376
  else if ('bitbucket' in src) {
332
377
  const result = await (0, bitbucket_1.fetchBitbucket)((0, variables_1.resolveVars)(src.bitbucket.workspace, vars), (0, variables_1.resolveVars)(src.bitbucket.repo, vars), (0, variables_1.resolveVars)(src.bitbucket.file, vars), src.bitbucket.ref !== undefined
333
378
  ? (0, variables_1.resolveVars)(src.bitbucket.ref, vars)
379
+ : undefined, src.bitbucket.host !== undefined
380
+ ? (0, variables_1.resolveVars)(src.bitbucket.host, vars)
334
381
  : undefined);
335
382
  files = result.files;
336
383
  }
@@ -376,6 +423,17 @@ async function fetchOneSrc(src, workingDir, vars, cache) {
376
423
  // always reflect the caller's config iteration, not the first fetch.
377
424
  return { files, record: buildRecord(src, files, vars) };
378
425
  }
426
+ // Asserts that all buffers in the map are text (not binary). Throws with a
427
+ // helpful message if any are binary, since merging/concatenating binary files
428
+ // is not supported.
429
+ function assertTextFiles(files, context) {
430
+ for (const [name, buf] of files) {
431
+ if ((0, binary_1.isBinary)(buf)) {
432
+ throw new Error(`Binary file "${name}" cannot be used in a multi-source merge (${context}). ` +
433
+ `Use a single src entry for binary files.`);
434
+ }
435
+ }
436
+ }
379
437
  async function fetchSource(entry, workingDir, vars = {}, cache) {
380
438
  const { src } = entry;
381
439
  // List src → fetch each, then merge as JSON or concatenate with newline
@@ -387,7 +445,10 @@ async function fetchSource(entry, workingDir, vars = {}, cache) {
387
445
  const { files, record, skipped } = await fetchOneSrc(src[i], workingDir, vars, cache);
388
446
  if (skipped)
389
447
  continue;
390
- parts.push(Array.from(files.values()).join('\n'));
448
+ assertTextFiles(files, `source ${i}`);
449
+ parts.push(Array.from(files.values())
450
+ .map((b) => b.toString('utf8'))
451
+ .join('\n'));
391
452
  if (record !== null)
392
453
  sourceRecords.push(record);
393
454
  }
@@ -401,6 +462,9 @@ async function fetchSource(entry, workingDir, vars = {}, cache) {
401
462
  const filename = path.basename(entry.target);
402
463
  const jsonOpts = resolveJsonOptions(entry, src);
403
464
  const yamlOpts = jsonOpts === null ? resolveYamlOptions(entry, src) : null;
465
+ const tomlOpts = jsonOpts === null && yamlOpts === null
466
+ ? resolveTomlOptions(entry, src)
467
+ : null;
404
468
  let content;
405
469
  if (jsonOpts !== null) {
406
470
  content = (0, json_1.mergeJson)(parts, jsonOpts);
@@ -408,10 +472,16 @@ async function fetchSource(entry, workingDir, vars = {}, cache) {
408
472
  else if (yamlOpts !== null) {
409
473
  content = (0, yaml_1.mergeYaml)(parts, yamlOpts);
410
474
  }
475
+ else if (tomlOpts !== null) {
476
+ content = (0, toml_1.mergeToml)(parts, tomlOpts);
477
+ }
411
478
  else {
412
479
  content = parts.join('\n');
413
480
  }
414
- return { files: new Map([[filename, content]]), sourceRecords };
481
+ return {
482
+ files: new Map([[filename, Buffer.from(content, 'utf8')]]),
483
+ sourceRecords,
484
+ };
415
485
  }
416
486
  // Single src — delegate dispatch to fetchOneSrc, then apply post-processing
417
487
  const { files: singleFiles, record: singleRecord, skipped, } = await fetchOneSrc(src, workingDir, vars, cache);
@@ -429,7 +499,10 @@ async function fetchSource(entry, workingDir, vars = {}, cache) {
429
499
  if (singleResult.files.size > 1 && isSingleFileTarget) {
430
500
  let dirJsonOpts = resolveJsonOptions(entry, [src]);
431
501
  let dirYamlOpts = dirJsonOpts === null ? resolveYamlOptions(entry, [src]) : null;
432
- if (dirJsonOpts === null && dirYamlOpts === null) {
502
+ let dirTomlOpts = dirJsonOpts === null && dirYamlOpts === null
503
+ ? resolveTomlOptions(entry, [src])
504
+ : null;
505
+ if (dirJsonOpts === null && dirYamlOpts === null && dirTomlOpts === null) {
433
506
  const keys = Array.from(singleResult.files.keys());
434
507
  if (entry.json !== false &&
435
508
  keys.every((k) => JSON_EXTENSIONS.has(path.extname(k).toLowerCase()))) {
@@ -439,30 +512,62 @@ async function fetchSource(entry, workingDir, vars = {}, cache) {
439
512
  keys.every((k) => YAML_EXTENSIONS.has(path.extname(k).toLowerCase()))) {
440
513
  dirYamlOpts = {};
441
514
  }
515
+ else if (entry.toml !== false &&
516
+ keys.every((k) => TOML_EXTENSIONS.has(path.extname(k).toLowerCase()))) {
517
+ dirTomlOpts = {};
518
+ }
442
519
  }
443
- if (dirJsonOpts !== null || dirYamlOpts !== null) {
520
+ if (dirJsonOpts !== null || dirYamlOpts !== null || dirTomlOpts !== null) {
521
+ assertTextFiles(singleResult.files, 'directory merge');
444
522
  const sortedValues = Array.from(singleResult.files.entries())
445
523
  .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
446
- .map(([, v]) => v);
524
+ .map(([, v]) => v.toString('utf8'));
447
525
  const filename = path.basename(entry.target);
448
- const merged = dirJsonOpts !== null
449
- ? (0, json_1.mergeJson)(sortedValues, dirJsonOpts)
450
- : (0, yaml_1.mergeYaml)(sortedValues, dirYamlOpts);
451
- return { files: new Map([[filename, merged]]), sourceRecords };
526
+ let merged;
527
+ if (dirJsonOpts !== null) {
528
+ merged = (0, json_1.mergeJson)(sortedValues, dirJsonOpts);
529
+ }
530
+ else if (dirYamlOpts !== null) {
531
+ merged = (0, yaml_1.mergeYaml)(sortedValues, dirYamlOpts);
532
+ }
533
+ else {
534
+ merged = (0, toml_1.mergeToml)(sortedValues, dirTomlOpts);
535
+ }
536
+ return {
537
+ files: new Map([[filename, Buffer.from(merged, 'utf8')]]),
538
+ sourceRecords,
539
+ };
452
540
  }
453
541
  return { ...singleResult, sourceRecords };
454
542
  }
455
543
  const singleJsonOpts = resolveJsonOptions(entry, [src]);
456
544
  const singleYamlOpts = singleJsonOpts === null ? resolveYamlOptions(entry, [src]) : null;
457
- if (singleJsonOpts === null && singleYamlOpts === null)
545
+ const singleTomlOpts = singleJsonOpts === null && singleYamlOpts === null
546
+ ? resolveTomlOptions(entry, [src])
547
+ : null;
548
+ if (singleJsonOpts === null &&
549
+ singleYamlOpts === null &&
550
+ singleTomlOpts === null)
458
551
  return { ...singleResult, sourceRecords };
459
552
  const formatted = new Map();
460
553
  for (const [k, v] of singleResult.files) {
554
+ if ((0, binary_1.isBinary)(v)) {
555
+ const fmtName = singleJsonOpts !== null
556
+ ? 'json'
557
+ : singleYamlOpts !== null
558
+ ? 'yaml'
559
+ : 'toml';
560
+ throw new Error(`Binary file "${k}" cannot be formatted as ${fmtName}. Remove the format option or use a text source.`);
561
+ }
562
+ const text = v.toString('utf8');
461
563
  if (singleJsonOpts !== null) {
462
- formatted.set(k, (0, json_1.formatJson)(v));
564
+ formatted.set(k, Buffer.from((0, json_1.formatJson)(text), 'utf8'));
565
+ }
566
+ else if (singleYamlOpts !== null) {
567
+ formatted.set(k, Buffer.from((0, yaml_1.formatYaml)(text), 'utf8'));
463
568
  }
464
569
  else {
465
- formatted.set(k, (0, yaml_1.formatYaml)(v));
570
+ formatted.set(k, Buffer.from((0, toml_1.formatToml)(text), 'utf8'));
466
571
  }
467
572
  }
468
573
  return { files: formatted, sourceRecords };