workspace-tools 0.38.3 → 0.38.4
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/lib/git/getRepositoryName.js +6 -6
- package/lib/git/getRepositoryName.js.map +1 -1
- package/lib/git/git.d.ts +10 -2
- package/lib/git/git.js +15 -3
- package/lib/git/git.js.map +1 -1
- package/package.json +2 -2
|
@@ -26,11 +26,11 @@ function getRepositoryName(url) {
|
|
|
26
26
|
// https://dev.azure.com/foo/bar/_git/_optimized/some-repo
|
|
27
27
|
// https://user@dev.azure.com/foo/bar/_git/some-repo
|
|
28
28
|
// git@ssh.dev.azure.com:v3/foo/bar/some-repo
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
if (!isVSO &&
|
|
29
|
+
const parsedUrl = (0, git_url_parse_1.default)(url.replace("/_optimized/", "/").replace("/DefaultCollection/", "/"));
|
|
30
|
+
// `host` is set in `parse-url` but not documented... https://github.com/IonicaBizau/parse-url/blob/c830d48647f33c054745a916cf7c4c58722f4b25/src/index.js#L28
|
|
31
|
+
const host = parsedUrl.host || "";
|
|
32
|
+
const isVSO = host.endsWith(".visualstudio.com");
|
|
33
|
+
if (!isVSO && host !== "dev.azure.com" && host !== "ssh.dev.azure.com") {
|
|
34
34
|
return parsedUrl.full_name;
|
|
35
35
|
}
|
|
36
36
|
// As of writing, ADO and VSO SSH URLs are parsed completely wrong
|
|
@@ -43,7 +43,7 @@ function getRepositoryName(url) {
|
|
|
43
43
|
let organization = parsedUrl.organization;
|
|
44
44
|
if (!organization && isVSO) {
|
|
45
45
|
// organization is missing or wrong for VSO
|
|
46
|
-
organization =
|
|
46
|
+
organization = host.match(/([^.@]+)\.visualstudio\.com$/)?.[1];
|
|
47
47
|
}
|
|
48
48
|
return `${organization}/${parsedUrl.owner}/${parsedUrl.name}`;
|
|
49
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRepositoryName.js","sourceRoot":"","sources":["../../src/git/getRepositoryName.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwC;AAExC;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,IAAI;QACF,4FAA4F;QAC5F,sFAAsF;QACtF,kDAAkD;QAClD,oEAAoE;QACpE,+EAA+E;QAC/E,+EAA+E;QAC/E,mDAAmD;QACnD,+CAA+C;QAC/C,0DAA0D;QAC1D,oDAAoD;QACpD,6CAA6C;QAC7C,
|
|
1
|
+
{"version":3,"file":"getRepositoryName.js","sourceRoot":"","sources":["../../src/git/getRepositoryName.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwC;AAExC;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,IAAI;QACF,4FAA4F;QAC5F,sFAAsF;QACtF,kDAAkD;QAClD,oEAAoE;QACpE,+EAA+E;QAC/E,+EAA+E;QAC/E,mDAAmD;QACnD,+CAA+C;QAC/C,0DAA0D;QAC1D,oDAAoD;QACpD,6CAA6C;QAC7C,MAAM,SAAS,GAAG,IAAA,uBAAW,EAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAC;QAEpG,6JAA6J;QAC7J,MAAM,IAAI,GAAY,SAAiB,CAAC,IAAI,IAAI,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,mBAAmB,EAAE;YACtE,OAAO,SAAS,CAAC,SAAS,CAAC;SAC5B;QAED,kEAAkE;QAClE,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CACxC,yEAAyE,CAC1E,CAAC;QACF,IAAI,QAAQ,EAAE;YACZ,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;SAC1D;QAED,oFAAoF;QACpF,8CAA8C;QAC9C,IAAI,YAAY,GAAuB,SAAS,CAAC,YAAY,CAAC;QAC9D,IAAI,CAAC,YAAY,IAAI,KAAK,EAAE;YAC1B,2CAA2C;YAC3C,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAChE;QACD,OAAO,GAAG,YAAY,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;KAC/D;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAzCD,8CAyCC"}
|
package/lib/git/git.d.ts
CHANGED
|
@@ -22,11 +22,19 @@ export declare function addGitObserver(observer: GitObserver): () => void;
|
|
|
22
22
|
/** Clear all git observers */
|
|
23
23
|
export declare function clearGitObservers(): void;
|
|
24
24
|
/**
|
|
25
|
-
* Runs git command - use this for read-only commands
|
|
25
|
+
* Runs git command - use this for read-only commands.
|
|
26
|
+
* `gitFailFast` is recommended for commands that make changes to the filesystem.
|
|
27
|
+
*
|
|
28
|
+
* The caller is responsible for validating the input.
|
|
29
|
+
* `shell` will always be set to false.
|
|
26
30
|
*/
|
|
27
31
|
export declare function git(args: string[], options?: SpawnSyncOptions): GitProcessOutput;
|
|
28
32
|
/**
|
|
29
|
-
* Runs git command
|
|
33
|
+
* Runs git command and throws an error if it fails.
|
|
34
|
+
* Use this for commands that make changes to the filesystem.
|
|
35
|
+
*
|
|
36
|
+
* The caller is responsible for validating the input.
|
|
37
|
+
* `shell` will always be set to false.
|
|
30
38
|
*/
|
|
31
39
|
export declare function gitFailFast(args: string[], options?: SpawnSyncOptions & {
|
|
32
40
|
noExitCode?: boolean;
|
package/lib/git/git.js
CHANGED
|
@@ -48,11 +48,19 @@ function removeGitObserver(observer) {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
* Runs git command - use this for read-only commands
|
|
51
|
+
* Runs git command - use this for read-only commands.
|
|
52
|
+
* `gitFailFast` is recommended for commands that make changes to the filesystem.
|
|
53
|
+
*
|
|
54
|
+
* The caller is responsible for validating the input.
|
|
55
|
+
* `shell` will always be set to false.
|
|
52
56
|
*/
|
|
53
57
|
function git(args, options) {
|
|
54
58
|
isDebug && console.log(`git ${args.join(" ")}`);
|
|
55
|
-
|
|
59
|
+
if (args.some((arg) => arg.startsWith("--upload-pack"))) {
|
|
60
|
+
// This is a security issue and not needed for any expected usage of this library.
|
|
61
|
+
throw new GitError("git command contains --upload-pack, which is not allowed: " + args.join(" "));
|
|
62
|
+
}
|
|
63
|
+
const results = (0, child_process_1.spawnSync)("git", args, { maxBuffer: defaultMaxBuffer, ...options, shell: false });
|
|
56
64
|
const output = {
|
|
57
65
|
...results,
|
|
58
66
|
// these may be undefined if stdio: inherit is set
|
|
@@ -77,7 +85,11 @@ function git(args, options) {
|
|
|
77
85
|
}
|
|
78
86
|
exports.git = git;
|
|
79
87
|
/**
|
|
80
|
-
* Runs git command
|
|
88
|
+
* Runs git command and throws an error if it fails.
|
|
89
|
+
* Use this for commands that make changes to the filesystem.
|
|
90
|
+
*
|
|
91
|
+
* The caller is responsible for validating the input.
|
|
92
|
+
* `shell` will always be set to false.
|
|
81
93
|
*/
|
|
82
94
|
function gitFailFast(args, options) {
|
|
83
95
|
const gitResult = git(args, options);
|
package/lib/git/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/git/git.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,qBAAqB;AACrB,EAAE;;;AAGF,iDAA4D;AAE5D,MAAa,QAAS,SAAQ,KAAK;IAEjC,YAAY,OAAe,EAAE,aAAuB;QAClD,IAAI,aAAa,YAAY,KAAK,EAAE;YAClC,KAAK,CAAC,GAAG,OAAO,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;SAC/C;aAAM;YACL,KAAK,CAAC,OAAO,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AAVD,4BAUC;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/G,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;AAUxC,MAAM,SAAS,GAAkB,EAAE,CAAC;AACpC,IAAI,SAAkB,CAAC;AAEvB;;;GAGG;AACH,SAAgB,cAAc,CAAC,QAAqB;IAClD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAHD,wCAGC;AAED,8BAA8B;AAC9B,SAAgB,iBAAiB;IAC/B,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAFD,8CAEC;AAED,4BAA4B;AAC5B,SAAS,iBAAiB,CAAC,QAAqB;IAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;QACd,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAC5B;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/git/git.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "workspace-tools",
|
|
3
|
-
"version": "0.38.
|
|
3
|
+
"version": "0.38.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@yarnpkg/lockfile": "^1.1.0",
|
|
23
23
|
"fast-glob": "^3.3.1",
|
|
24
|
-
"git-url-parse": "^
|
|
24
|
+
"git-url-parse": "^16.0.0",
|
|
25
25
|
"globby": "^11.0.0",
|
|
26
26
|
"jju": "^1.4.0",
|
|
27
27
|
"js-yaml": "^4.1.0",
|