@udondan/avanti 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.0](https://github.com/udondan/avanti/compare/v0.4.0...v0.5.0) (2026-05-07)
4
+
5
+
6
+ ### Features
7
+
8
+ * **fetch:** add exponential backoff retry for all HTTP requests ([#27](https://github.com/udondan/avanti/issues/27)) ([2caf0f3](https://github.com/udondan/avanti/commit/2caf0f3dc368fd6a7cead8a2946dc4504693d6f1))
9
+ * **sources:** replace mandatory CLI tools with native HTTP for GitHub and GitLab ([#21](https://github.com/udondan/avanti/issues/21)) ([990b8ee](https://github.com/udondan/avanti/commit/990b8eedc60047d9743eb69358d0967852c8d9a2))
10
+
11
+
12
+ ### Performance Improvements
13
+
14
+ * parallelize directory file fetches for GitHub and GitLab ([#26](https://github.com/udondan/avanti/issues/26)) ([c11d2e2](https://github.com/udondan/avanti/commit/c11d2e25871eccf75398cf11eb6b315db7c7a16b))
15
+
3
16
  ## [0.4.0](https://github.com/udondan/avanti/compare/v0.3.2...v0.4.0) (2026-05-07)
4
17
 
5
18
 
package/README.md CHANGED
@@ -15,8 +15,8 @@ Assemble local files from any source via a declarative YAML spec.
15
15
  ## Requirements
16
16
 
17
17
  - Node.js 18+
18
- - `glab` CLI (for GitLab sources) — [install](https://gitlab.com/gitlab-org/cli)
19
- - `gh` CLI (for GitHub sources) [install](https://cli.github.com)
18
+
19
+ The `glab` and `gh` CLIs are **optional**. Public repositories are accessed directly over HTTPS without any tools installed. The CLIs are only used as a fallback for private repositories or private instances when no token is configured.
20
20
 
21
21
  ## Install
22
22
 
@@ -163,7 +163,7 @@ src:
163
163
  github:
164
164
  repo: owner/repo # GitHub owner/repo
165
165
  file: path/to/file.txt # file or directory in repo
166
- ref: main # branch or tag (optional)
166
+ ref: main # branch, tag, or $latest (optional)
167
167
  ```
168
168
 
169
169
  ### Directory Sources
@@ -289,7 +289,32 @@ replace:
289
289
 
290
290
  Referencing an undefined variable or a missing environment variable is an error.
291
291
 
292
- `$latest` is reserved for GitLab's "latest tag" resolution and cannot be used as a variable name.
292
+ `$latest` is a reserved keyword that resolves to the latest published version and cannot be used as a variable name. For GitLab it resolves to the latest tag sorted by semantic version. For GitHub it resolves to the tag of the latest release; if the repository has no releases, it falls back to the most recently created tag.
293
+
294
+ ### Authentication
295
+
296
+ Public repositories on github.com and gitlab.com work without any configuration. For private repositories or private instances, supply a token via environment variable:
297
+
298
+ | Platform | Environment variable | Header sent |
299
+ | -------- | ---------------------------------------- | ------------------------------- |
300
+ | GitHub | `GITHUB_TOKEN` | `Authorization: Bearer <token>` |
301
+ | GitLab | `GITLAB_TOKEN` or `GITLAB_PRIVATE_TOKEN` | `PRIVATE-TOKEN: <token>` |
302
+
303
+ If a request fails with a 401, 403, or 404 response and `gh` / `glab` is installed and authenticated, the tool falls back to the CLI automatically. This means existing CLI setups continue to work for private repos without any extra configuration.
304
+
305
+ ### Private Instances
306
+
307
+ **GitLab** — set `GITLAB_HOST` to override the default `gitlab.com`:
308
+
309
+ ```bash
310
+ GITLAB_HOST=gitlab.mycompany.com avanti pull
311
+ ```
312
+
313
+ **GitHub Enterprise Server** — set `GITHUB_HOST` to override the default `github.com` (API requests go to `https://{GITHUB_HOST}/api/v3`):
314
+
315
+ ```bash
316
+ GITHUB_HOST=github.mycompany.com avanti pull
317
+ ```
293
318
 
294
319
  ## Use Cases
295
320
 
@@ -0,0 +1,3 @@
1
+ /// <reference types="node" />
2
+ export declare function fetchWithRetry(url: string, options?: RequestInit): Promise<Response>;
3
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":";AA0BA,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAQnB"}
package/dist/fetch.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchWithRetry = void 0;
4
+ const MAX_RETRIES = 5;
5
+ const BASE_DELAY_MS = 1_000;
6
+ const MAX_DELAY_MS = 60_000;
7
+ function sleep(ms) {
8
+ return new Promise((resolve) => setTimeout(resolve, ms));
9
+ }
10
+ function retryDelayMs(attempt, headers) {
11
+ // Retry-After: seconds to wait (GitHub secondary rate limit, GitLab)
12
+ const retryAfter = headers.get('Retry-After');
13
+ if (retryAfter) {
14
+ const secs = parseInt(retryAfter, 10);
15
+ if (!isNaN(secs) && secs > 0)
16
+ return Math.min(secs * 1_000, MAX_DELAY_MS);
17
+ }
18
+ // X-RateLimit-Reset: Unix timestamp when the limit resets (GitHub primary rate limit)
19
+ const resetAt = headers.get('X-RateLimit-Reset');
20
+ if (resetAt) {
21
+ const waitMs = parseInt(resetAt, 10) * 1_000 - Date.now();
22
+ if (waitMs > 0)
23
+ return Math.min(waitMs, MAX_DELAY_MS);
24
+ }
25
+ return Math.min(BASE_DELAY_MS * 2 ** attempt, MAX_DELAY_MS);
26
+ }
27
+ async function fetchWithRetry(url, options = {}) {
28
+ for (let attempt = 0;; attempt++) {
29
+ const res = await fetch(url, options);
30
+ const shouldRetry = res.status === 429 || (res.status >= 500 && res.status <= 599);
31
+ if (!shouldRetry || attempt >= MAX_RETRIES)
32
+ return res;
33
+ await sleep(retryDelayMs(attempt, res.headers));
34
+ }
35
+ }
36
+ exports.fetchWithRetry = fetchWithRetry;
37
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,OAAgB;IACrD,qEAAqE;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5E,CAAC;IAED,sFAAsF;IACtF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1D,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9D,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,UAAuB,EAAE;IAEzB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,WAAW,GACf,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,WAAW;YAAE,OAAO,GAAG,CAAC;QACvD,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAXD,wCAWC"}
@@ -1,5 +1,5 @@
1
1
  export interface GitHubResult {
2
2
  files: Map<string, string>;
3
3
  }
4
- export declare function fetchGitHub(repo: string, file: string, ref: string | undefined): GitHubResult;
4
+ export declare function fetchGitHub(repo: string, file: string, ref: string | undefined): 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":"AAGA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AA0ED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,YAAY,CA0Bd"}
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;AAgOD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAAC,YAAY,CAAC,CA4BvB"}
@@ -26,22 +26,50 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.fetchGitHub = void 0;
27
27
  const child_process_1 = require("child_process");
28
28
  const path = __importStar(require("path"));
29
+ const fetch_1 = require("../fetch");
30
+ function getApiBase() {
31
+ const host = process.env.GITHUB_HOST;
32
+ return host ? `https://${host}/api/v3` : 'https://api.github.com';
33
+ }
34
+ function apiHeaders() {
35
+ const headers = {
36
+ Accept: 'application/vnd.github+json',
37
+ 'X-GitHub-Api-Version': '2022-11-28',
38
+ 'User-Agent': 'scync',
39
+ };
40
+ const token = process.env.GITHUB_TOKEN;
41
+ if (token)
42
+ headers.Authorization = `Bearer ${token}`;
43
+ return headers;
44
+ }
45
+ function shouldFallback(status) {
46
+ return status === 401 || status === 403 || status === 404;
47
+ }
48
+ function isGhAvailable() {
49
+ return !(0, child_process_1.spawnSync)('gh', ['--version'], { encoding: 'utf8' }).error;
50
+ }
29
51
  function ghRun(args) {
30
52
  const result = (0, child_process_1.spawnSync)('gh', args, { encoding: 'utf8' });
31
- if (result.error) {
32
- const msg = result.error.message ?? '';
33
- if (msg.includes('ENOENT')) {
34
- throw new Error('gh CLI not found. Install it from https://cli.github.com');
35
- }
36
- throw new Error(`gh error: ${msg}`);
37
- }
53
+ if (result.error)
54
+ throw new Error(`gh error: ${result.error.message}`);
38
55
  return {
39
56
  stdout: result.stdout ?? '',
40
57
  stderr: result.stderr ?? '',
41
58
  status: result.status,
42
59
  };
43
60
  }
44
- function detectPathType(repo, filePath, ref) {
61
+ async function detectPathType(repo, filePath, ref) {
62
+ const res = await (0, fetch_1.fetchWithRetry)(`${getApiBase()}/repos/${repo}/contents/${filePath}?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
63
+ if (res.ok) {
64
+ const data = await res.json();
65
+ return Array.isArray(data) ? 'directory' : 'file';
66
+ }
67
+ if (shouldFallback(res.status) && isGhAvailable()) {
68
+ return detectPathTypeViaCli(repo, filePath, ref);
69
+ }
70
+ throw new Error(`Failed to stat ${filePath} in ${repo}@${ref}: HTTP ${res.status}`);
71
+ }
72
+ function detectPathTypeViaCli(repo, filePath, ref) {
45
73
  const res = ghRun([
46
74
  'api',
47
75
  `repos/${repo}/contents/${filePath}?ref=${encodeURIComponent(ref)}`,
@@ -53,7 +81,18 @@ function detectPathType(repo, filePath, ref) {
53
81
  }
54
82
  return res.stdout.trim();
55
83
  }
56
- function fetchFile(repo, filePath, ref) {
84
+ async function fetchFile(repo, filePath, ref) {
85
+ const res = await (0, fetch_1.fetchWithRetry)(`${getApiBase()}/repos/${repo}/contents/${filePath}?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
86
+ if (!res.ok) {
87
+ if (shouldFallback(res.status) && isGhAvailable()) {
88
+ return fetchFileViaCli(repo, filePath, ref);
89
+ }
90
+ throw new Error(`Failed to fetch ${filePath} from ${repo}@${ref}: HTTP ${res.status}`);
91
+ }
92
+ const data = (await res.json());
93
+ return Buffer.from(data.content.replace(/\n/g, ''), 'base64').toString('utf8');
94
+ }
95
+ function fetchFileViaCli(repo, filePath, ref) {
57
96
  const res = ghRun([
58
97
  'api',
59
98
  `repos/${repo}/contents/${filePath}?ref=${encodeURIComponent(ref)}`,
@@ -66,7 +105,21 @@ function fetchFile(repo, filePath, ref) {
66
105
  const b64 = res.stdout.trim().replace(/\\n/g, '').replace(/\n/g, '');
67
106
  return Buffer.from(b64, 'base64').toString('utf8');
68
107
  }
69
- function listTree(repo, dirPath, ref) {
108
+ async function listTree(repo, dirPath, ref) {
109
+ const res = await (0, fetch_1.fetchWithRetry)(`${getApiBase()}/repos/${repo}/git/trees/${encodeURIComponent(ref)}?recursive=1`, { headers: apiHeaders() });
110
+ if (!res.ok) {
111
+ if (shouldFallback(res.status) && isGhAvailable()) {
112
+ return listTreeViaCli(repo, dirPath, ref);
113
+ }
114
+ throw new Error(`Failed to list tree ${dirPath} in ${repo}@${ref}: HTTP ${res.status}`);
115
+ }
116
+ const data = (await res.json());
117
+ const prefix = `${dirPath}/`;
118
+ return data.tree
119
+ .filter((item) => item.type === 'blob' && item.path.startsWith(prefix))
120
+ .map((item) => item.path);
121
+ }
122
+ function listTreeViaCli(repo, dirPath, ref) {
70
123
  const res = ghRun([
71
124
  'api',
72
125
  `repos/${repo}/git/trees/${encodeURIComponent(ref)}?recursive=1`,
@@ -78,24 +131,75 @@ function listTree(repo, dirPath, ref) {
78
131
  }
79
132
  return res.stdout.trim().split('\n').filter(Boolean);
80
133
  }
81
- function fetchGitHub(repo, file, ref) {
82
- const resolvedRef = ref ?? 'HEAD';
134
+ async function resolveRef(repo, ref) {
135
+ if (ref !== '$latest')
136
+ return ref ?? 'HEAD';
137
+ // Try latest release first
138
+ const relRes = await (0, fetch_1.fetchWithRetry)(`${getApiBase()}/repos/${repo}/releases/latest`, {
139
+ headers: apiHeaders(),
140
+ });
141
+ if (relRes.ok) {
142
+ const rel = (await relRes.json());
143
+ return rel.tag_name;
144
+ }
145
+ // No releases (404) — fall back to most recent tag
146
+ if (relRes.status === 404) {
147
+ const tagRes = await (0, fetch_1.fetchWithRetry)(`${getApiBase()}/repos/${repo}/tags?per_page=1`, { headers: apiHeaders() });
148
+ if (tagRes.ok) {
149
+ const tags = (await tagRes.json());
150
+ if (tags.length)
151
+ return tags[0].name;
152
+ throw new Error(`No releases or tags found for ${repo}`);
153
+ }
154
+ if (shouldFallback(tagRes.status) && isGhAvailable()) {
155
+ return resolveRefViaCli(repo);
156
+ }
157
+ throw new Error(`Failed to resolve $latest for ${repo}: HTTP ${tagRes.status}`);
158
+ }
159
+ if (shouldFallback(relRes.status) && isGhAvailable()) {
160
+ return resolveRefViaCli(repo);
161
+ }
162
+ throw new Error(`Failed to resolve $latest for ${repo}: HTTP ${relRes.status}`);
163
+ }
164
+ function resolveRefViaCli(repo) {
165
+ const res = ghRun([
166
+ 'api',
167
+ `repos/${repo}/releases/latest`,
168
+ '--jq',
169
+ '.tag_name',
170
+ ]);
171
+ if (res.status === 0 && res.stdout.trim())
172
+ return res.stdout.trim();
173
+ // Fall back to most recent tag
174
+ const tagRes = ghRun([
175
+ 'api',
176
+ `repos/${repo}/tags?per_page=1`,
177
+ '--jq',
178
+ '.[0].name',
179
+ ]);
180
+ if (tagRes.status !== 0 || !tagRes.stdout.trim()) {
181
+ throw new Error(`No releases or tags found for ${repo}`);
182
+ }
183
+ return tagRes.stdout.trim();
184
+ }
185
+ async function fetchGitHub(repo, file, ref) {
186
+ const resolvedRef = await resolveRef(repo, ref);
83
187
  const normalizedPath = file.replace(/\/$/, '');
84
188
  const isDirectory = file.endsWith('/') ||
85
- detectPathType(repo, normalizedPath, resolvedRef) === 'directory';
189
+ (await detectPathType(repo, normalizedPath, resolvedRef)) === 'directory';
86
190
  if (!isDirectory) {
87
- const content = fetchFile(repo, normalizedPath, resolvedRef);
191
+ const content = await fetchFile(repo, normalizedPath, resolvedRef);
88
192
  return { files: new Map([[path.basename(normalizedPath), content]]) };
89
193
  }
90
- const paths = listTree(repo, normalizedPath, resolvedRef);
194
+ const paths = await listTree(repo, normalizedPath, resolvedRef);
91
195
  if (!paths.length) {
92
196
  throw new Error(`Failed to fetch ${file} from ${repo}@${resolvedRef} (not a file or empty directory)`);
93
197
  }
94
- const files = new Map();
95
- for (const p of paths) {
96
- files.set(path.relative(normalizedPath, p), fetchFile(repo, p, resolvedRef));
97
- }
98
- return { files };
198
+ const entries = await Promise.all(paths.map(async (p) => [
199
+ path.relative(normalizedPath, p),
200
+ await fetchFile(repo, p, resolvedRef),
201
+ ]));
202
+ return { files: new Map(entries) };
99
203
  }
100
204
  exports.fetchGitHub = fetchGitHub;
101
205
  //# sourceMappingURL=github.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/sources/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/sources/github.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ export interface GitLabResult {
2
2
  /** Map of relative path → content */
3
3
  files: Map<string, string>;
4
4
  }
5
- export declare function fetchGitLab(project: string, file: string, ref: string | undefined): GitLabResult;
5
+ export declare function fetchGitLab(project: string, file: string, ref: string | undefined): Promise<GitLabResult>;
6
6
  //# sourceMappingURL=gitlab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/sources/gitlab.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAsKD,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,YAAY,CAkCd"}
1
+ {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/sources/gitlab.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAgTD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAAC,YAAY,CAAC,CAqCvB"}
@@ -28,31 +28,44 @@ const child_process_1 = require("child_process");
28
28
  const fs = __importStar(require("fs"));
29
29
  const os = __importStar(require("os"));
30
30
  const path = __importStar(require("path"));
31
+ const fetch_1 = require("../fetch");
32
+ function getHost() {
33
+ return process.env.GITLAB_HOST ?? 'gitlab.com';
34
+ }
35
+ function apiHeaders() {
36
+ const headers = { 'User-Agent': 'scync' };
37
+ const token = process.env.GITLAB_TOKEN ?? process.env.GITLAB_PRIVATE_TOKEN;
38
+ if (token)
39
+ headers['PRIVATE-TOKEN'] = token;
40
+ return headers;
41
+ }
42
+ function shouldFallback(status) {
43
+ return status === 401 || status === 403 || status === 404;
44
+ }
45
+ function isGlabAvailable() {
46
+ return !(0, child_process_1.spawnSync)('glab', ['--version'], { encoding: 'utf8' }).error;
47
+ }
31
48
  function glabRun(args) {
32
49
  const result = (0, child_process_1.spawnSync)('glab', args, { encoding: 'utf8' });
33
- if (result.error) {
34
- const msg = result.error.message ?? '';
35
- if (msg.includes('ENOENT')) {
36
- throw new Error('glab CLI not found. Install it from https://gitlab.com/gitlab-org/cli');
37
- }
38
- throw new Error(`glab error: ${msg}`);
39
- }
50
+ if (result.error)
51
+ throw new Error(`glab error: ${result.error.message}`);
40
52
  return {
41
53
  stdout: result.stdout ?? '',
42
54
  stderr: result.stderr ?? '',
43
55
  status: result.status,
44
56
  };
45
57
  }
46
- function resolveRef(project, ref) {
58
+ async function resolveRef(project, ref) {
47
59
  if (!ref || ref === '$latest') {
48
- const res = glabRun([
49
- 'api',
50
- `projects/${encodeURIComponent(project)}/repository/tags?order_by=version&sort=desc&per_page=1`,
51
- ]);
52
- if (res.status !== 0) {
53
- throw new Error(`Failed to resolve $latest for ${project}: ${res.stderr}`);
60
+ const host = getHost();
61
+ 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() });
62
+ if (!res.ok) {
63
+ if (shouldFallback(res.status) && isGlabAvailable()) {
64
+ return resolveRefViaCli(project);
65
+ }
66
+ throw new Error(`Failed to resolve $latest for ${project}: HTTP ${res.status}`);
54
67
  }
55
- const tags = JSON.parse(res.stdout);
68
+ const tags = (await res.json());
56
69
  if (!tags.length) {
57
70
  throw new Error(`No tags found for ${project} (needed to resolve $latest)`);
58
71
  }
@@ -60,7 +73,53 @@ function resolveRef(project, ref) {
60
73
  }
61
74
  return ref;
62
75
  }
63
- function fetchFile(project, filePath, ref) {
76
+ function resolveRefViaCli(project) {
77
+ const res = glabRun([
78
+ 'api',
79
+ `projects/${encodeURIComponent(project)}/repository/tags?order_by=version&sort=desc&per_page=1`,
80
+ ]);
81
+ if (res.status !== 0) {
82
+ throw new Error(`Failed to resolve $latest for ${project}: ${res.stderr}`);
83
+ }
84
+ const tags = JSON.parse(res.stdout);
85
+ if (!tags.length) {
86
+ throw new Error(`No tags found for ${project} (needed to resolve $latest)`);
87
+ }
88
+ return tags[0].name;
89
+ }
90
+ async function detectPathType(project, filePath, ref) {
91
+ const host = getHost();
92
+ const encodedPath = encodeURIComponent(filePath);
93
+ const res = await (0, fetch_1.fetchWithRetry)(`https://${host}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
94
+ if (res.ok)
95
+ return 'file';
96
+ if (shouldFallback(res.status) && isGlabAvailable()) {
97
+ return detectPathTypeViaCli(project, filePath, ref);
98
+ }
99
+ // Assume directory; downstream calls will surface the real error if wrong
100
+ return 'directory';
101
+ }
102
+ function detectPathTypeViaCli(project, filePath, ref) {
103
+ const encodedPath = encodeURIComponent(filePath);
104
+ const res = glabRun([
105
+ 'api',
106
+ `projects/${encodeURIComponent(project)}/repository/files/${encodedPath}?ref=${encodeURIComponent(ref)}`,
107
+ ]);
108
+ return res.status === 0 ? 'file' : 'directory';
109
+ }
110
+ async function fetchFile(project, filePath, ref) {
111
+ const host = getHost();
112
+ const encodedPath = encodeURIComponent(filePath);
113
+ const res = await (0, fetch_1.fetchWithRetry)(`https://${host}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}/raw?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
114
+ if (!res.ok) {
115
+ if (shouldFallback(res.status) && isGlabAvailable()) {
116
+ return fetchFileViaCli(project, filePath, ref);
117
+ }
118
+ throw new Error(`Failed to fetch ${filePath} from ${project}@${ref}: HTTP ${res.status}`);
119
+ }
120
+ return res.text();
121
+ }
122
+ function fetchFileViaCli(project, filePath, ref) {
64
123
  const encodedPath = encodeURIComponent(filePath);
65
124
  const res = glabRun([
66
125
  'api',
@@ -71,7 +130,28 @@ function fetchFile(project, filePath, ref) {
71
130
  }
72
131
  return res.stdout;
73
132
  }
74
- function listTree(project, dirPath, ref) {
133
+ async function listTree(project, dirPath, ref) {
134
+ const host = getHost();
135
+ const allPaths = [];
136
+ const perPage = 100;
137
+ let page = 1;
138
+ while (true) {
139
+ 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() });
140
+ if (!res.ok) {
141
+ if (shouldFallback(res.status) && isGlabAvailable()) {
142
+ return listTreeViaCli(project, dirPath, ref);
143
+ }
144
+ throw new Error(`Failed to list tree ${dirPath} in ${project}@${ref}: HTTP ${res.status}`);
145
+ }
146
+ const items = (await res.json());
147
+ allPaths.push(...items.filter((i) => i.type === 'blob').map((i) => i.path));
148
+ if (items.length < perPage)
149
+ break;
150
+ page++;
151
+ }
152
+ return allPaths;
153
+ }
154
+ function listTreeViaCli(project, dirPath, ref) {
75
155
  const allPaths = [];
76
156
  const perPage = 100;
77
157
  let page = 1;
@@ -102,36 +182,18 @@ function collectFiles(baseDir, dir, files) {
102
182
  }
103
183
  }
104
184
  }
105
- function detectPathType(project, filePath, ref) {
106
- const encodedPath = encodeURIComponent(filePath);
107
- const res = glabRun([
108
- 'api',
109
- `projects/${encodeURIComponent(project)}/repository/files/${encodedPath}?ref=${encodeURIComponent(ref)}`,
110
- ]);
111
- return res.status === 0 ? 'file' : 'directory';
112
- }
113
- // Downloads the directory as a tar.gz archive (one API call) and extracts it locally.
114
- // Returns null if the archive approach fails, so the caller can fall back.
115
- function fetchDirectoryViaArchive(project, dirPath, ref) {
116
- const encodedProject = encodeURIComponent(project);
117
- const result = (0, child_process_1.spawnSync)('glab', [
118
- 'api',
119
- `projects/${encodedProject}/repository/archive.tar.gz?sha=${encodeURIComponent(ref)}&path=${encodeURIComponent(dirPath)}`,
120
- ], { encoding: 'buffer' });
121
- if (result.error || result.status !== 0 || !result.stdout?.length)
122
- return null;
185
+ function extractArchive(buf, dirPath) {
123
186
  const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'scync-gl-'));
124
187
  try {
125
188
  const archivePath = path.join(tmpDir, 'archive.tar.gz');
126
189
  const extractDir = path.join(tmpDir, 'extracted');
127
- fs.writeFileSync(archivePath, result.stdout);
190
+ fs.writeFileSync(archivePath, buf);
128
191
  fs.mkdirSync(extractDir);
129
192
  const tarResult = (0, child_process_1.spawnSync)('tar', ['-xzf', archivePath, '-C', extractDir], {
130
193
  encoding: 'utf8',
131
194
  });
132
195
  if (tarResult.status !== 0)
133
196
  return null;
134
- // The archive root is a single dir with a dynamic name (project-ref-sha/)
135
197
  const rootEntries = fs.readdirSync(extractDir);
136
198
  if (rootEntries.length !== 1)
137
199
  return null;
@@ -146,28 +208,54 @@ function fetchDirectoryViaArchive(project, dirPath, ref) {
146
208
  fs.rmSync(tmpDir, { recursive: true, force: true });
147
209
  }
148
210
  }
149
- function fetchGitLab(project, file, ref) {
150
- const resolvedRef = resolveRef(project, ref);
211
+ async function fetchDirectoryViaArchive(project, dirPath, ref) {
212
+ const host = getHost();
213
+ const encodedProject = encodeURIComponent(project);
214
+ 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() });
215
+ if (!res.ok) {
216
+ if (shouldFallback(res.status) && isGlabAvailable()) {
217
+ return fetchDirectoryViaArchiveViaCli(project, dirPath, ref);
218
+ }
219
+ return null;
220
+ }
221
+ const buf = Buffer.from(await res.arrayBuffer());
222
+ if (!buf.length)
223
+ return null;
224
+ return extractArchive(buf, dirPath);
225
+ }
226
+ function fetchDirectoryViaArchiveViaCli(project, dirPath, ref) {
227
+ const encodedProject = encodeURIComponent(project);
228
+ const result = (0, child_process_1.spawnSync)('glab', [
229
+ 'api',
230
+ `projects/${encodedProject}/repository/archive.tar.gz?sha=${encodeURIComponent(ref)}&path=${encodeURIComponent(dirPath)}`,
231
+ ], { encoding: 'buffer' });
232
+ if (result.error || result.status !== 0 || !result.stdout?.length)
233
+ return null;
234
+ return extractArchive(result.stdout, dirPath);
235
+ }
236
+ async function fetchGitLab(project, file, ref) {
237
+ const resolvedRef = await resolveRef(project, ref);
151
238
  const normalizedPath = file.replace(/\/$/, '');
152
239
  const isDirectory = file.endsWith('/') ||
153
- detectPathType(project, normalizedPath, resolvedRef) === 'directory';
240
+ (await detectPathType(project, normalizedPath, resolvedRef)) ===
241
+ 'directory';
154
242
  if (!isDirectory) {
155
- const content = fetchFile(project, normalizedPath, resolvedRef);
243
+ const content = await fetchFile(project, normalizedPath, resolvedRef);
156
244
  return { files: new Map([[path.basename(normalizedPath), content]]) };
157
245
  }
158
246
  // Directory — archive approach first (one API call), then fall back to per-file fetches
159
- const archived = fetchDirectoryViaArchive(project, normalizedPath, resolvedRef);
247
+ const archived = await fetchDirectoryViaArchive(project, normalizedPath, resolvedRef);
160
248
  if (archived)
161
249
  return { files: archived };
162
- const paths = listTree(project, normalizedPath, resolvedRef);
250
+ const paths = await listTree(project, normalizedPath, resolvedRef);
163
251
  if (!paths.length) {
164
252
  throw new Error(`Failed to fetch ${file} from ${project}@${resolvedRef} (not a file or empty directory)`);
165
253
  }
166
- const files = new Map();
167
- for (const p of paths) {
168
- files.set(path.relative(normalizedPath, p), fetchFile(project, p, resolvedRef));
169
- }
170
- return { files };
254
+ const entries = await Promise.all(paths.map(async (p) => [
255
+ path.relative(normalizedPath, p),
256
+ await fetchFile(project, p, resolvedRef),
257
+ ]));
258
+ return { files: new Map(entries) };
171
259
  }
172
260
  exports.fetchGitLab = fetchGitLab;
173
261
  //# sourceMappingURL=gitlab.js.map
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/sources/http.ts"],"names":[],"mappings":"AAIA,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQpE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB5D"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/sources/http.ts"],"names":[],"mappings":"AAGA,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQpE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI5D"}
@@ -24,9 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.fetchHttp = exports.inferFilenameFromUrl = void 0;
27
- const https = __importStar(require("https"));
28
- const http = __importStar(require("http"));
29
27
  const path = __importStar(require("path"));
28
+ const fetch_1 = require("../fetch");
30
29
  function inferFilenameFromUrl(url) {
31
30
  try {
32
31
  const u = new URL(url);
@@ -39,28 +38,10 @@ function inferFilenameFromUrl(url) {
39
38
  }
40
39
  exports.inferFilenameFromUrl = inferFilenameFromUrl;
41
40
  async function fetchHttp(url) {
42
- return new Promise((resolve, reject) => {
43
- const mod = url.startsWith('https') ? https : http;
44
- mod
45
- .get(url, (res) => {
46
- if (res.statusCode &&
47
- res.statusCode >= 300 &&
48
- res.statusCode < 400 &&
49
- res.headers.location) {
50
- fetchHttp(res.headers.location).then(resolve).catch(reject);
51
- return;
52
- }
53
- if (res.statusCode && res.statusCode >= 400) {
54
- reject(new Error(`HTTP ${res.statusCode} fetching ${url}`));
55
- return;
56
- }
57
- const chunks = [];
58
- res.on('data', (chunk) => chunks.push(chunk));
59
- res.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
60
- res.on('error', reject);
61
- })
62
- .on('error', reject);
63
- });
41
+ const res = await (0, fetch_1.fetchWithRetry)(url);
42
+ if (!res.ok)
43
+ throw new Error(`HTTP ${res.status} fetching ${url}`);
44
+ return res.text();
64
45
  }
65
46
  exports.fetchHttp = fetchHttp;
66
47
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/sources/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAC7B,2CAA6B;AAE7B,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;AARD,oDAQC;AAEM,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,GAAG;aACA,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YAChB,IACE,GAAG,CAAC,UAAU;gBACd,GAAG,CAAC,UAAU,IAAI,GAAG;gBACrB,GAAG,CAAC,UAAU,GAAG,GAAG;gBACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,EACpB,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,UAAU,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAzBD,8BAyBC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/sources/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,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;AARD,oDAQC;AAEM,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAJD,8BAIC"}
@@ -49,14 +49,14 @@ async function fetchOneSrc(src, workingDir, vars) {
49
49
  return (0, exec_1.fetchExec)((0, variables_1.resolveVars)(src.exec, vars));
50
50
  }
51
51
  if ('gitlab' in src) {
52
- const result = (0, gitlab_1.fetchGitLab)((0, variables_1.resolveVars)(src.gitlab.project, vars), (0, variables_1.resolveVars)(src.gitlab.file, vars), src.gitlab.ref !== undefined
52
+ 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
53
53
  ? (0, variables_1.resolveVars)(src.gitlab.ref, vars)
54
54
  : undefined);
55
55
  const values = Array.from(result.files.values());
56
56
  return values.join('\n');
57
57
  }
58
58
  if ('github' in src) {
59
- const result = (0, github_1.fetchGitHub)((0, variables_1.resolveVars)(src.github.repo, vars), (0, variables_1.resolveVars)(src.github.file, vars), src.github.ref !== undefined
59
+ 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
60
60
  ? (0, variables_1.resolveVars)(src.github.ref, vars)
61
61
  : undefined);
62
62
  const values = Array.from(result.files.values());
@@ -113,13 +113,13 @@ async function fetchSource(entry, workingDir, vars = {}) {
113
113
  singleResult = { files: new Map([[filename, content]]) };
114
114
  }
115
115
  else if ('gitlab' in src) {
116
- const result = (0, gitlab_1.fetchGitLab)((0, variables_1.resolveVars)(src.gitlab.project, vars), (0, variables_1.resolveVars)(src.gitlab.file, vars), src.gitlab.ref !== undefined
116
+ 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
117
117
  ? (0, variables_1.resolveVars)(src.gitlab.ref, vars)
118
118
  : undefined);
119
119
  singleResult = { files: result.files };
120
120
  }
121
121
  else if ('github' in src) {
122
- const result = (0, github_1.fetchGitHub)((0, variables_1.resolveVars)(src.github.repo, vars), (0, variables_1.resolveVars)(src.github.file, vars), src.github.ref !== undefined
122
+ 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
123
123
  ? (0, variables_1.resolveVars)(src.github.ref, vars)
124
124
  : undefined);
125
125
  singleResult = { files: result.files };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,4CAA2C;AAC3C,iCAAyD;AACzD,mCAAqC;AACrC,iCAAmC;AACnC,qCAAuC;AACvC,qCAAuC;AACvC,6CAA2D;AAM3D,KAAK,UAAU,WAAW,CACxB,GAAY,EACZ,UAAkB,EAClB,IAAe;IAEf,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACtE,OAAO,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjB,OAAO,IAAA,uBAAW,EAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,OAAO,IAAA,gBAAS,EAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAA,oBAAW,EACxB,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EACrC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAA,oBAAW,EACxB,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,KAAgB,EAChB,UAAkB,EAClB,OAAkB,EAAE;IAEpB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAEtB,wEAAwE;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI;YACxB,CAAC,CAAC,IAAA,gBAAS,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,oDAAoD;IACpD,IAAI,YAAyB,CAAC;IAE9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACtE,MAAM,OAAO,GAAG,MAAM,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM;gBAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC7B,CAAC,CAAC,CAAC,IAAA,2BAAoB,EAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC;YACnD,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAChD,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAC9C,YAAY,GAAG;YACb,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SACzD,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAC9C,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;SAAM,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAA,oBAAW,EACxB,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EACrC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;QACF,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;SAAM,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAA,oBAAW,EACxB,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;QACF,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,YAAY,CAAC;IAErC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACxC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAA,iBAAU,EAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AA/ED,kCA+EC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,4CAA2C;AAC3C,iCAAyD;AACzD,mCAAqC;AACrC,iCAAmC;AACnC,qCAAuC;AACvC,qCAAuC;AACvC,6CAA2D;AAM3D,KAAK,UAAU,WAAW,CACxB,GAAY,EACZ,UAAkB,EAClB,IAAe;IAEf,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACtE,OAAO,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjB,OAAO,IAAA,uBAAW,EAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,OAAO,IAAA,gBAAS,EAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAW,EAC9B,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EACrC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAW,EAC9B,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,KAAgB,EAChB,UAAkB,EAClB,OAAkB,EAAE;IAEpB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAEtB,wEAAwE;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI;YACxB,CAAC,CAAC,IAAA,gBAAS,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,oDAAoD;IACpD,IAAI,YAAyB,CAAC;IAE9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACtE,MAAM,OAAO,GAAG,MAAM,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM;gBAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC7B,CAAC,CAAC,CAAC,IAAA,2BAAoB,EAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC;YACnD,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAChD,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAC9C,YAAY,GAAG;YACb,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAA,uBAAW,EAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SACzD,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAC9C,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;SAAM,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAW,EAC9B,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EACrC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;QACF,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;SAAM,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAW,EAC9B,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;YAC1B,CAAC,CAAC,IAAA,uBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;QACF,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,YAAY,CAAC;IAErC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACxC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAA,iBAAU,EAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AA/ED,kCA+EC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@udondan/avanti",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Assemble local files from any source via a declarative YAML spec",
5
5
  "bin": {
6
6
  "avanti": "dist/cli.js"