@vltpkg/git 0.0.0-9 → 1.0.0-rc.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/esm/make-error.d.ts +1 -3
- package/dist/esm/make-error.d.ts.map +1 -1
- package/dist/esm/make-error.js +7 -8
- package/dist/esm/make-error.js.map +1 -1
- package/dist/esm/spawn.js +2 -2
- package/dist/esm/spawn.js.map +1 -1
- package/dist/esm/which.d.ts +3 -1
- package/dist/esm/which.d.ts.map +1 -1
- package/package.json +18 -17
package/dist/esm/make-error.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import type { SpawnResultStderr, SpawnResultString } from '@vltpkg/promise-spawn';
|
|
2
|
-
export declare const makeError: (result: SpawnResultStderr & SpawnResultString) =>
|
|
3
|
-
shouldRetry: (n: number) => boolean;
|
|
4
|
-
};
|
|
2
|
+
export declare const makeError: (result: SpawnResultStderr & SpawnResultString) => [null | ((n: number) => boolean), Error];
|
|
5
3
|
//# sourceMappingURL=make-error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-error.d.ts","sourceRoot":"","sources":["../../src/make-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,uBAAuB,CAAA;AAoB9B,eAAO,MAAM,SAAS,WACZ,iBAAiB,GAAG,iBAAiB,KAC5C,
|
|
1
|
+
{"version":3,"file":"make-error.d.ts","sourceRoot":"","sources":["../../src/make-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,uBAAuB,CAAA;AAoB9B,eAAO,MAAM,SAAS,WACZ,iBAAiB,GAAG,iBAAiB,KAC5C,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,EAAE,KAAK,CAQgB,CAAA"}
|
package/dist/esm/make-error.js
CHANGED
|
@@ -11,12 +11,11 @@ const connectionErrorRe = new RegExp([
|
|
|
11
11
|
].join('|'));
|
|
12
12
|
const missingPathspecRe = /pathspec .* did not match any file\(s\) known to git/;
|
|
13
13
|
export const makeError = (result) => connectionErrorRe.test(result.stderr) ?
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
});
|
|
14
|
+
[
|
|
15
|
+
(n) => n < 3,
|
|
16
|
+
error('A git connection error occurred', result),
|
|
17
|
+
]
|
|
18
|
+
: missingPathspecRe.test(result.stderr) ?
|
|
19
|
+
[null, error('The git reference could not be found', result)]
|
|
20
|
+
: [null, error('An unknown git error occurred', result)];
|
|
22
21
|
//# sourceMappingURL=make-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-error.js","sourceRoot":"","sources":["../../src/make-error.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE3C,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC;IACE,qCAAqC;IACrC,qCAAqC;IACrC,sBAAsB;IACtB,qBAAqB;IACrB,mCAAmC;IACnC,0BAA0B;IAC1B,mBAAmB;IACnB,uCAAuC;CACxC,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAA;AAED,MAAM,iBAAiB,GACrB,sDAAsD,CAAA;AAExD,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAA6C,
|
|
1
|
+
{"version":3,"file":"make-error.js","sourceRoot":"","sources":["../../src/make-error.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE3C,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC;IACE,qCAAqC;IACrC,qCAAqC;IACrC,sBAAsB;IACtB,qBAAqB;IACrB,mCAAmC;IACnC,0BAA0B;IAC1B,mBAAmB;IACnB,uCAAuC;CACxC,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAA;AAED,MAAM,iBAAiB,GACrB,sDAAsD,CAAA;AAExD,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAA6C,EACH,EAAE,CAC5C,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC;QACE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;QACpB,KAAK,CAAC,iCAAiC,EAAE,MAAM,CAAC;KACjD;IACH,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC,IAAI,EAAE,KAAK,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC,CAAA","sourcesContent":["import type {\n SpawnResultStderr,\n SpawnResultString,\n} from '@vltpkg/promise-spawn'\n\nimport { error } from '@vltpkg/error-cause'\n\nconst connectionErrorRe = new RegExp(\n [\n 'remote error: Internal Server Error',\n 'The remote end hung up unexpectedly',\n 'Connection timed out',\n 'Operation timed out',\n 'Failed to connect to .* Timed out',\n 'Connection reset by peer',\n 'SSL_ERROR_SYSCALL',\n 'The requested URL returned error: 503',\n ].join('|'),\n)\n\nconst missingPathspecRe =\n /pathspec .* did not match any file\\(s\\) known to git/\n\nexport const makeError = (\n result: SpawnResultStderr & SpawnResultString,\n): [null | ((n: number) => boolean), Error] =>\n connectionErrorRe.test(result.stderr) ?\n [\n (n: number) => n < 3,\n error('A git connection error occurred', result),\n ]\n : missingPathspecRe.test(result.stderr) ?\n [null, error('The git reference could not be found', result)]\n : [null, error('An unknown git error occurred', result)]\n"]}
|
package/dist/esm/spawn.js
CHANGED
|
@@ -23,8 +23,8 @@ export const spawn = async (gitArgs, opts = {}) => {
|
|
|
23
23
|
return promiseRetry(async (retryFn, num) => {
|
|
24
24
|
const result = await promiseSpawn(gitPath, args, makeOpts(opts));
|
|
25
25
|
if (result.status || result.signal) {
|
|
26
|
-
const gitError = makeError(result);
|
|
27
|
-
if (!
|
|
26
|
+
const [shouldRetry, gitError] = makeError(result);
|
|
27
|
+
if (!shouldRetry?.(num)) {
|
|
28
28
|
throw gitError;
|
|
29
29
|
}
|
|
30
30
|
retryFn(gitError);
|
package/dist/esm/spawn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/spawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAKpD,OAAO,YAAY,MAAM,eAAe,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EACxB,OAAiB,EACjB,OAAmB,EAAE,EACuC,EAAE;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IAE3B,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;QAC7B,MAAM,OAAO,CAAA;IACf,CAAC;IAED,gEAAgE;IAChE,MAAM,IAAI,GACR,CACG,IAAmC,CAAC,YAAY;QACjD,OAAO,CAAC,CAAC,CAAC,KAAK,sBAAsB,CACtC,CAAC,CAAC;QACD,OAAO;QACT,CAAC,CAAC,CAAC,sBAAsB,EAAE,GAAG,OAAO,CAAC,CAAA;IACxC,oBAAoB;IAEpB,MAAM,SAAS,GAAgB;QAC7B,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QACvC,UAAU,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,KAAK;QACnD,UAAU,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,IAAI;KACnD,CAAA;IACD,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/spawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAKpD,OAAO,YAAY,MAAM,eAAe,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EACxB,OAAiB,EACjB,OAAmB,EAAE,EACuC,EAAE;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IAE3B,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;QAC7B,MAAM,OAAO,CAAA;IACf,CAAC;IAED,gEAAgE;IAChE,MAAM,IAAI,GACR,CACG,IAAmC,CAAC,YAAY;QACjD,OAAO,CAAC,CAAC,CAAC,KAAK,sBAAsB,CACtC,CAAC,CAAC;QACD,OAAO;QACT,CAAC,CAAC,CAAC,sBAAsB,EAAE,GAAG,OAAO,CAAC,CAAA;IACxC,oBAAoB;IAEpB,MAAM,SAAS,GAAgB;QAC7B,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QACvC,UAAU,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,KAAK;QACnD,UAAU,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,IAAI;KACnD,CAAA;IACD,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;YACjD,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,QAAQ,CAAA;YAChB,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,SAAS,CAAC,CAAA;AACf,CAAC,CAAA","sourcesContent":["import { promiseSpawn } from '@vltpkg/promise-spawn'\nimport type {\n SpawnResultStderrString,\n SpawnResultStdoutString,\n} from '@vltpkg/promise-spawn'\nimport promiseRetry from 'promise-retry'\nimport type { WrapOptions } from 'retry'\nimport type { GitOptions } from './index.ts'\nimport { makeError } from './make-error.ts'\nimport { opts as makeOpts } from './opts.ts'\nimport { which } from './which.ts'\n\nexport const spawn = async (\n gitArgs: string[],\n opts: GitOptions = {},\n): Promise<SpawnResultStderrString & SpawnResultStdoutString> => {\n const gitPath = which(opts)\n\n if (gitPath instanceof Error) {\n throw gitPath\n }\n\n /* c8 ignore start - undocumented option, only here for tests */\n const args =\n (\n (opts as { allowReplace?: boolean }).allowReplace ||\n gitArgs[0] === '--no-replace-objects'\n ) ?\n gitArgs\n : ['--no-replace-objects', ...gitArgs]\n /* c8 ignore stop */\n\n const retryOpts: WrapOptions = {\n retries: opts['fetch-retries'] || 3,\n factor: opts['fetch-retry-factor'] || 2,\n maxTimeout: opts['fetch-retry-maxtimeout'] || 60000,\n minTimeout: opts['fetch-retry-mintimeout'] || 1000,\n }\n return promiseRetry(async (retryFn, num) => {\n const result = await promiseSpawn(gitPath, args, makeOpts(opts))\n if (result.status || result.signal) {\n const [shouldRetry, gitError] = makeError(result)\n if (!shouldRetry?.(num)) {\n throw gitError\n }\n retryFn(gitError)\n }\n return result\n }, retryOpts)\n}\n"]}
|
package/dist/esm/which.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { GitOptions } from './index.ts';
|
|
2
|
-
export declare const which: (opts?: GitOptions) => string |
|
|
2
|
+
export declare const which: (opts?: GitOptions) => string | (Error & {
|
|
3
|
+
cause: import("@vltpkg/error-cause").ErrorCauseOptions;
|
|
4
|
+
});
|
|
3
5
|
//# sourceMappingURL=which.d.ts.map
|
package/dist/esm/which.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"which.d.ts","sourceRoot":"","sources":["../../src/which.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI5C,eAAO,MAAM,KAAK,UAAU,UAAU,
|
|
1
|
+
{"version":3,"file":"which.d.ts","sourceRoot":"","sources":["../../src/which.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI5C,eAAO,MAAM,KAAK,UAAU,UAAU;;EAyBrC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vltpkg/git",
|
|
3
3
|
"description": "a util for spawning git from npm CLI contexts",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "1.0.0-rc.1",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/vltpkg/vltpkg.git",
|
|
8
8
|
"directory": "src/git"
|
|
9
9
|
},
|
|
10
|
+
"author": "vlt technology inc. <support@vlt.sh> (http://vlt.sh)",
|
|
10
11
|
"tshy": {
|
|
11
12
|
"selfLink": false,
|
|
12
13
|
"liveDev": true,
|
|
@@ -20,30 +21,29 @@
|
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
23
|
"@types/promise-retry": "^1.1.6",
|
|
23
|
-
"lru-cache": "^11.0
|
|
24
|
+
"lru-cache": "^11.1.0",
|
|
24
25
|
"promise-retry": "^2.0.1",
|
|
25
26
|
"retry": "^0.13.1",
|
|
26
|
-
"@vltpkg/error-cause": "
|
|
27
|
-
"@vltpkg/git-scp-url": "
|
|
28
|
-
"@vltpkg/pick-manifest": "
|
|
29
|
-
"@vltpkg/semver": "
|
|
30
|
-
"@vltpkg/
|
|
31
|
-
"@vltpkg/
|
|
32
|
-
"@vltpkg/which": "
|
|
27
|
+
"@vltpkg/error-cause": "1.0.0-rc.1",
|
|
28
|
+
"@vltpkg/git-scp-url": "1.0.0-rc.1",
|
|
29
|
+
"@vltpkg/pick-manifest": "1.0.0-rc.1",
|
|
30
|
+
"@vltpkg/semver": "1.0.0-rc.1",
|
|
31
|
+
"@vltpkg/promise-spawn": "1.0.0-rc.1",
|
|
32
|
+
"@vltpkg/spec": "1.0.0-rc.1",
|
|
33
|
+
"@vltpkg/which": "1.0.0-rc.1"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
|
-
"@eslint/js": "^9.
|
|
36
|
-
"@types/
|
|
37
|
-
"@types/node": "^22.13.1",
|
|
36
|
+
"@eslint/js": "^9.34.0",
|
|
37
|
+
"@types/node": "^22.17.2",
|
|
38
38
|
"@types/retry": "^0.12.5",
|
|
39
|
-
"eslint": "^9.
|
|
40
|
-
"prettier": "^3.
|
|
39
|
+
"eslint": "^9.34.0",
|
|
40
|
+
"prettier": "^3.6.2",
|
|
41
41
|
"tap": "^21.1.0",
|
|
42
42
|
"tshy": "^3.0.2",
|
|
43
|
-
"typedoc": "0.27.
|
|
43
|
+
"typedoc": "~0.27.9",
|
|
44
44
|
"typescript": "5.7.3",
|
|
45
|
-
"typescript-eslint": "^8.
|
|
46
|
-
"@vltpkg/types": "
|
|
45
|
+
"typescript-eslint": "^8.40.0",
|
|
46
|
+
"@vltpkg/types": "1.0.0-rc.1"
|
|
47
47
|
},
|
|
48
48
|
"license": "ISC",
|
|
49
49
|
"engines": {
|
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
"snap": "tap",
|
|
76
76
|
"test": "tap",
|
|
77
77
|
"posttest": "tsc --noEmit",
|
|
78
|
+
"tshy": "tshy",
|
|
78
79
|
"typecheck": "tsc --noEmit"
|
|
79
80
|
}
|
|
80
81
|
}
|