@eclipse-che/che-e2e 7.111.0-next-e4e9400 → 7.111.0-next-e4fff42
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/utils/StringUtil.js +11 -15
- package/dist/utils/StringUtil.js.map +1 -1
- package/package.json +1 -1
- package/utils/StringUtil.ts +12 -15
package/dist/utils/StringUtil.js
CHANGED
|
@@ -35,22 +35,18 @@ let StringUtil = class StringUtil {
|
|
|
35
35
|
*/
|
|
36
36
|
static getProjectNameFromGitUrl(url) {
|
|
37
37
|
Logger_1.Logger.debug(`Original URL: ${url}`);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
url = url
|
|
43
|
-
.replace(/\/-?\/tree\/[^/]+$/, '') // gitLab, GitHub
|
|
44
|
-
.replace(/\/src\/[^/]+.*$/, ''); // bitbucket
|
|
45
|
-
// take the last segment of the path and strip ".git"
|
|
46
|
-
const projectName = (url.split('/').filter(Boolean).pop() || '').replace(/\.git$/, '');
|
|
47
|
-
Logger_1.Logger.debug(`Extracted project name: ${projectName}`);
|
|
48
|
-
return projectName;
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
Logger_1.Logger.error(`Failed to extract project name from URL ${url}: ${err}`);
|
|
52
|
-
return '';
|
|
38
|
+
// remove query and hash fragments
|
|
39
|
+
url = url.split('?')[0].split('#')[0];
|
|
40
|
+
// remove branch/tree fragments for GitHub, GitLab, Bitbucket
|
|
41
|
+
if (url.includes('/tree/') || url.includes('/-/tree/') || url.includes('/src/')) {
|
|
42
|
+
url = url.split('/').slice(0, -2).join('/');
|
|
53
43
|
}
|
|
44
|
+
const projectName = url
|
|
45
|
+
.split(/[\/.]/)
|
|
46
|
+
.filter((e) => !['git', ''].includes(e))
|
|
47
|
+
.reverse()[0];
|
|
48
|
+
Logger_1.Logger.debug(`Extracted project name: ${projectName}`);
|
|
49
|
+
return projectName;
|
|
54
50
|
}
|
|
55
51
|
static sanitizeTitle(arg) {
|
|
56
52
|
Logger_1.Logger.trace();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../utils/StringUtil.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;AAExE,qCAAkC;AAClC,yCAAuC;AAGhC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACtB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAW;QAC1C,eAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QAErC,
|
|
1
|
+
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../utils/StringUtil.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;AAExE,qCAAkC;AAClC,yCAAuC;AAGhC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACtB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAW;QAC1C,eAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QAErC,kCAAkC;QAClC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,6DAA6D;QAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAChF,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5C;QAED,MAAM,WAAW,GAAW,GAAG;aAC7B,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACxD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAEf,eAAM,CAAC,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;QACvD,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAW;QAC/B,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,GAAG;aACR,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACpB,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IAEH,MAAM,CAAC,0BAA0B,CAAC,OAAe;QAChD,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAc,EAAE,IAAY,EAAE,UAAkB;QACxE,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,KAAK,GAAW,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,GAAG,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,WAAmB,EAAE,IAAY,EAAE,UAAkB;QAC/E,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,KAAK,GAAW,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,GAAG,CAAC,CAAC;QACzD,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;CACD,CAAA;AArFY,UAAU;IADtB,IAAA,sBAAU,GAAE;GACA,UAAU,CAqFtB;AArFY,gCAAU"}
|
package/package.json
CHANGED
package/utils/StringUtil.ts
CHANGED
|
@@ -30,24 +30,21 @@ export class StringUtil {
|
|
|
30
30
|
static getProjectNameFromGitUrl(url: string): string {
|
|
31
31
|
Logger.debug(`Original URL: ${url}`);
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
url = url.split('?')[0].split('#')[0];
|
|
33
|
+
// remove query and hash fragments
|
|
34
|
+
url = url.split('?')[0].split('#')[0];
|
|
36
35
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
// remove branch/tree fragments for GitHub, GitLab, Bitbucket
|
|
37
|
+
if (url.includes('/tree/') || url.includes('/-/tree/') || url.includes('/src/')) {
|
|
38
|
+
url = url.split('/').slice(0, -2).join('/');
|
|
39
|
+
}
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
const projectName: string = url
|
|
42
|
+
.split(/[\/.]/)
|
|
43
|
+
.filter((e: string): boolean => !['git', ''].includes(e))
|
|
44
|
+
.reverse()[0];
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
} catch (err) {
|
|
48
|
-
Logger.error(`Failed to extract project name from URL ${url}: ${err}`);
|
|
49
|
-
return '';
|
|
50
|
-
}
|
|
46
|
+
Logger.debug(`Extracted project name: ${projectName}`);
|
|
47
|
+
return projectName;
|
|
51
48
|
}
|
|
52
49
|
|
|
53
50
|
static sanitizeTitle(arg: string): string {
|