@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.
@@ -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
- try {
39
- // remove query and hash fragments
40
- url = url.split('?')[0].split('#')[0];
41
- // remove branch/tree path fragments for major providers
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,IAAI;YACH,kCAAkC;YAClC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtC,wDAAwD;YACxD,GAAG,GAAG,GAAG;iBACP,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,iBAAiB;iBACnD,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY;YAE9C,qDAAqD;YACrD,MAAM,WAAW,GAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAE/F,eAAM,CAAC,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;YACvD,OAAO,WAAW,CAAC;SACnB;QAAC,OAAO,GAAG,EAAE;YACb,eAAM,CAAC,KAAK,CAAC,2CAA2C,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,CAAC;SACV;IACF,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;AAxFY,UAAU;IADtB,IAAA,sBAAU,GAAE;GACA,UAAU,CAwFtB;AAxFY,gCAAU"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-che/che-e2e",
3
- "version": "7.111.0-next-e4e9400",
3
+ "version": "7.111.0-next-e4fff42",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -30,24 +30,21 @@ export class StringUtil {
30
30
  static getProjectNameFromGitUrl(url: string): string {
31
31
  Logger.debug(`Original URL: ${url}`);
32
32
 
33
- try {
34
- // remove query and hash fragments
35
- url = url.split('?')[0].split('#')[0];
33
+ // remove query and hash fragments
34
+ url = url.split('?')[0].split('#')[0];
36
35
 
37
- // remove branch/tree path fragments for major providers
38
- url = url
39
- .replace(/\/-?\/tree\/[^/]+$/, '') // gitLab, GitHub
40
- .replace(/\/src\/[^/]+.*$/, ''); // bitbucket
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
- // take the last segment of the path and strip ".git"
43
- const projectName: string = (url.split('/').filter(Boolean).pop() || '').replace(/\.git$/, '');
41
+ const projectName: string = url
42
+ .split(/[\/.]/)
43
+ .filter((e: string): boolean => !['git', ''].includes(e))
44
+ .reverse()[0];
44
45
 
45
- Logger.debug(`Extracted project name: ${projectName}`);
46
- return projectName;
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 {