From 8b3ff4482de476d9528f701befc557d2ff964eab Mon Sep 17 00:00:00 2001 From: Rohid Date: Mon, 19 Aug 2024 15:33:43 +0600 Subject: [PATCH] extract project name from BitBucket and Travis CI --- src/utils/index.ts | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index 1ff6cf9..24fde52 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -6,24 +6,39 @@ export const generateProjectFromDevSites = (siteUrl: string): string | null => { const url = new URL(siteUrl); // Github + // Example URL: https://github.com/wakatime/browser-wakatime?tab=readme-ov-file#development-instructions const githubHosts = ['github.com', 'github.dev']; for (const host of githubHosts) { if (url.host === host) { - // input: https://github.com/wakatime/browser-wakatime?tab=readme-ov-file#development-instructions - // output: browser-wakatime return url.pathname.split('/')[2] || null; } } // Gitlab + // Example URL: https://gitlab.com/wakatime/browser-wakatime?tab=readme-ov-file#development-instructions const gitlabHosts = ['gitlab.com']; for (const host of gitlabHosts) { if (url.host === host) { - // input: https://gitlab.com/wakatime/browser-wakatime?tab=readme-ov-file#development-instructions - // output: browser-wakatime return url.pathname.split('/')[2] || null; } } + // BitBucket + // Example URL: https://bitbucket.org/rohidul209/my-test-repo/src + const bitbucketHosts = ['bitbucket.org']; + for (const host of bitbucketHosts) { + if (url.host === host) { + return url.pathname.split('/')[2] || null; + } + } + + // Travis CI + // Example URL: https://app.travis-ci.com/github/iam-rohid/ai-expense-tracker/no-build?serverType=git + const travisHosts = ['app.travis-ci.com']; + for (const host of travisHosts) { + if (url.host === host) { + return url.pathname.split('/')[3] || null; + } + } return null; };