@context-forge/core 0.13.0 → 0.13.1
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/dist/guides/gitExec.d.ts +2 -0
- package/dist/guides/gitExec.d.ts.map +1 -1
- package/dist/guides/gitExec.js +33 -2
- package/dist/guides/gitExec.js.map +1 -1
- package/dist/guides/strategies/TarballStrategy.d.ts +4 -1
- package/dist/guides/strategies/TarballStrategy.d.ts.map +1 -1
- package/dist/guides/strategies/TarballStrategy.js +38 -30
- package/dist/guides/strategies/TarballStrategy.js.map +1 -1
- package/package.json +1 -1
package/dist/guides/gitExec.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export interface GitExecResult {
|
|
|
2
2
|
stdout: string;
|
|
3
3
|
stderr: string;
|
|
4
4
|
}
|
|
5
|
+
/** Append remediation guidance when a message looks like a network/DNS failure. */
|
|
6
|
+
export declare function withNetworkErrorHint(message: string): string;
|
|
5
7
|
/**
|
|
6
8
|
* Execute a git command safely using execFile (no shell injection).
|
|
7
9
|
* @param args - arguments to pass to git (e.g., ['clone', url, dir])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitExec.d.ts","sourceRoot":"","sources":["../../src/guides/gitExec.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"gitExec.d.ts","sourceRoot":"","sources":["../../src/guides/gitExec.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAyBD,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAU5D;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkB3E;AAED,mDAAmD;AACnD,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAOvD;AAED,2DAA2D;AAC3D,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO7D"}
|
package/dist/guides/gitExec.js
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
// Safe shell execution wrapper for git commands
|
|
2
2
|
import { execFile } from 'child_process';
|
|
3
|
+
// Guide install/update must never block on interactive input — the remote is always
|
|
4
|
+
// expected to be publicly accessible. Without this, a credential helper (e.g. Git
|
|
5
|
+
// Credential Manager) can silently pop a browser sign-in and hang the CLI forever.
|
|
6
|
+
const GIT_NONINTERACTIVE_ENV = { GIT_TERMINAL_PROMPT: '0', GCM_INTERACTIVE: 'never' };
|
|
7
|
+
/** Strip embedded credentials (user:token@host) from URL-like args before they reach error messages/logs. */
|
|
8
|
+
function redactCredentials(args) {
|
|
9
|
+
return args.map((arg) => arg.replace(/^(\w+:\/\/)[^/@\s]+@/, '$1')).join(' ');
|
|
10
|
+
}
|
|
11
|
+
// Substrings git/curl/Node emit for DNS, proxy, and connectivity failures.
|
|
12
|
+
const NETWORK_ERROR_PATTERNS = [
|
|
13
|
+
/could not resolve host/i,
|
|
14
|
+
/could not connect to/i,
|
|
15
|
+
/connection timed out/i,
|
|
16
|
+
/network is unreachable/i,
|
|
17
|
+
/ssl certificate problem/i,
|
|
18
|
+
/failed to connect/i,
|
|
19
|
+
/enotfound/i,
|
|
20
|
+
/econnrefused/i,
|
|
21
|
+
/etimedout/i,
|
|
22
|
+
];
|
|
23
|
+
/** Append remediation guidance when a message looks like a network/DNS failure. */
|
|
24
|
+
export function withNetworkErrorHint(message) {
|
|
25
|
+
if (!NETWORK_ERROR_PATTERNS.some((pattern) => pattern.test(message))) {
|
|
26
|
+
return message;
|
|
27
|
+
}
|
|
28
|
+
return (`${message}\n` +
|
|
29
|
+
' This looks like a network/DNS problem reaching the remote. Check your VPN/proxy ' +
|
|
30
|
+
'connection, or install offline by pointing guide.source at a local path or mirror ' +
|
|
31
|
+
'(cf config set guide.source <path>).');
|
|
32
|
+
}
|
|
3
33
|
/**
|
|
4
34
|
* Execute a git command safely using execFile (no shell injection).
|
|
5
35
|
* @param args - arguments to pass to git (e.g., ['clone', url, dir])
|
|
@@ -7,9 +37,10 @@ import { execFile } from 'child_process';
|
|
|
7
37
|
*/
|
|
8
38
|
export function gitExec(args, cwd) {
|
|
9
39
|
return new Promise((resolve, reject) => {
|
|
10
|
-
execFile('git', args, { cwd }, (error, stdout, stderr) => {
|
|
40
|
+
execFile('git', args, { cwd, env: { ...process.env, ...GIT_NONINTERACTIVE_ENV } }, (error, stdout, stderr) => {
|
|
11
41
|
if (error) {
|
|
12
|
-
|
|
42
|
+
const detail = stderr.trim() || error.message;
|
|
43
|
+
reject(new Error(withNetworkErrorHint(`git ${redactCredentials(args)} failed in ${cwd}: ${detail}`)));
|
|
13
44
|
return;
|
|
14
45
|
}
|
|
15
46
|
resolve({ stdout: stdout.trim(), stderr: stderr.trim() });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitExec.js","sourceRoot":"","sources":["../../src/guides/gitExec.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,GAAW;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,
|
|
1
|
+
{"version":3,"file":"gitExec.js","sourceRoot":"","sources":["../../src/guides/gitExec.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC,oFAAoF;AACpF,kFAAkF;AAClF,mFAAmF;AACnF,MAAM,sBAAsB,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAEtF,6GAA6G;AAC7G,SAAS,iBAAiB,CAAC,IAAc;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChF,CAAC;AAED,2EAA2E;AAC3E,MAAM,sBAAsB,GAAG;IAC7B,yBAAyB;IACzB,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;IACzB,0BAA0B;IAC1B,oBAAoB;IACpB,YAAY;IACZ,eAAe;IACf,YAAY;CACb,CAAC;AAEF,mFAAmF;AACnF,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,CACL,GAAG,OAAO,IAAI;QACd,oFAAoF;QACpF,oFAAoF;QACpF,sCAAsC,CACvC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,GAAW;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CACN,KAAK,EACL,IAAI,EACJ,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,sBAAsB,EAAE,EAAE,EAC3D,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;gBAC9C,MAAM,CACJ,IAAI,KAAK,CAAC,oBAAoB,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC,CAC9F,CAAC;gBACF,OAAO;YACT,CAAC;YACD,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -11,7 +11,10 @@ export declare class TarballStrategy implements InstallStrategy {
|
|
|
11
11
|
detect(_projectPath: string, targetDir: string): Promise<DetectionResult | null>;
|
|
12
12
|
install(_projectPath: string, source: string, targetDir: string): Promise<InstallResult>;
|
|
13
13
|
update(_projectPath: string, targetDir: string): Promise<UpdateResult>;
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Fetch latest tag from remote using git ls-remote. Real failures (network,
|
|
16
|
+
* auth, invalid remote) propagate — only a genuinely tag-less remote yields null.
|
|
17
|
+
*/
|
|
15
18
|
private fetchLatestTag;
|
|
16
19
|
/** Download tarball from GitHub API and extract to targetDir */
|
|
17
20
|
private downloadAndExtract;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TarballStrategy.d.ts","sourceRoot":"","sources":["../../../src/guides/strategies/TarballStrategy.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIjG;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMpF;AAED,qBAAa,eAAgB,YAAW,eAAe;IAC/C,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAYhF,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAaxF,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA4B5E
|
|
1
|
+
{"version":3,"file":"TarballStrategy.d.ts","sourceRoot":"","sources":["../../../src/guides/strategies/TarballStrategy.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIjG;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMpF;AAED,qBAAa,eAAgB,YAAW,eAAe;IAC/C,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAYhF,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAaxF,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA4B5E;;;OAGG;YACW,cAAc;IA4B5B,gEAAgE;YAClD,kBAAkB;CAyCjC"}
|
|
@@ -6,7 +6,7 @@ import { Readable } from 'stream';
|
|
|
6
6
|
import { pipeline } from 'stream/promises';
|
|
7
7
|
import { extract } from 'tar';
|
|
8
8
|
import { VERSION_MARKER_FILE, DEFAULT_SOURCE_GIT } from '../types.js';
|
|
9
|
-
import { gitExec } from '../gitExec.js';
|
|
9
|
+
import { gitExec, withNetworkErrorHint } from '../gitExec.js';
|
|
10
10
|
/**
|
|
11
11
|
* Parse owner/repo from a GitHub source URL.
|
|
12
12
|
* Supports: https://github.com/{owner}/{repo}.git and https://github.com/{owner}/{repo}
|
|
@@ -65,43 +65,51 @@ export class TarballStrategy {
|
|
|
65
65
|
writeFileSync(join(targetDir, VERSION_MARKER_FILE), latestTag, 'utf-8');
|
|
66
66
|
return { success: true, previousVersion, newVersion: latestTag, method: 'manual' };
|
|
67
67
|
}
|
|
68
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Fetch latest tag from remote using git ls-remote. Real failures (network,
|
|
70
|
+
* auth, invalid remote) propagate — only a genuinely tag-less remote yields null.
|
|
71
|
+
*/
|
|
69
72
|
async fetchLatestTag(source) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
tags.push(match[1]);
|
|
78
|
-
}
|
|
79
|
-
if (tags.length === 0)
|
|
80
|
-
return null;
|
|
81
|
-
// Sort descending
|
|
82
|
-
tags.sort((a, b) => {
|
|
83
|
-
const pa = a.replace(/^v/, '').split('.').map(Number);
|
|
84
|
-
const pb = b.replace(/^v/, '').split('.').map(Number);
|
|
85
|
-
for (let i = 0; i < 3; i++) {
|
|
86
|
-
if (pa[i] !== pb[i])
|
|
87
|
-
return pb[i] - pa[i];
|
|
88
|
-
}
|
|
89
|
-
return 0;
|
|
90
|
-
});
|
|
91
|
-
return tags[0];
|
|
73
|
+
const { stdout } = await gitExec(['ls-remote', '--tags', '--sort=-v:refname', source], process.cwd());
|
|
74
|
+
const tagPattern = /refs\/tags\/(v?\d+\.\d+\.\d+)$/;
|
|
75
|
+
const tags = [];
|
|
76
|
+
for (const line of stdout.split('\n')) {
|
|
77
|
+
const match = tagPattern.exec(line.trim());
|
|
78
|
+
if (match)
|
|
79
|
+
tags.push(match[1]);
|
|
92
80
|
}
|
|
93
|
-
|
|
81
|
+
if (tags.length === 0)
|
|
94
82
|
return null;
|
|
95
|
-
|
|
83
|
+
// Sort descending
|
|
84
|
+
tags.sort((a, b) => {
|
|
85
|
+
const pa = a.replace(/^v/, '').split('.').map(Number);
|
|
86
|
+
const pb = b.replace(/^v/, '').split('.').map(Number);
|
|
87
|
+
for (let i = 0; i < 3; i++) {
|
|
88
|
+
if (pa[i] !== pb[i])
|
|
89
|
+
return pb[i] - pa[i];
|
|
90
|
+
}
|
|
91
|
+
return 0;
|
|
92
|
+
});
|
|
93
|
+
return tags[0];
|
|
96
94
|
}
|
|
97
95
|
/** Download tarball from GitHub API and extract to targetDir */
|
|
98
96
|
async downloadAndExtract(source, tag, targetDir) {
|
|
99
97
|
const { owner, repo } = parseGitHubOwnerRepo(source);
|
|
100
98
|
const url = `https://api.github.com/repos/${owner}/${repo}/tarball/${tag}`;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
let response;
|
|
100
|
+
try {
|
|
101
|
+
response = await fetch(url, {
|
|
102
|
+
headers: { Accept: 'application/vnd.github+json' },
|
|
103
|
+
redirect: 'follow',
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
// Node's fetch throws TypeError('fetch failed') with the real DNS/connection
|
|
108
|
+
// reason on err.cause.message — surface that, not the generic wrapper text.
|
|
109
|
+
const cause = err instanceof Error && err.cause instanceof Error ? err.cause.message : undefined;
|
|
110
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
111
|
+
throw new Error(withNetworkErrorHint(cause ? `${message}: ${cause}` : message));
|
|
112
|
+
}
|
|
105
113
|
if (!response.ok) {
|
|
106
114
|
throw new Error(`Failed to download tarball: ${response.status} ${response.statusText}`);
|
|
107
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TarballStrategy.js","sourceRoot":"","sources":["../../../src/guides/strategies/TarballStrategy.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAE9B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"TarballStrategy.js","sourceRoot":"","sources":["../../../src/guides/strategies/TarballStrategy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED