@forge/cli
14.1.0-next.1-experimental-13c2f8d14.1.0-next.21-experimental-554d417
out/installations/site-translation/bitbucket.js~
out/installations/site-translation/bitbucket.jsModified+10−2
Index: package/out/installations/site-translation/bitbucket.js
===================================================================
--- package/out/installations/site-translation/bitbucket.js
+++ package/out/installations/site-translation/bitbucket.js
@@ -41,9 +41,9 @@
});
return workspaceAriToHostname;
}
async getWorkspaceId(site) {
- const workspaceName = this.extractWorkspaceName(site);
+ const workspaceName = BitbucketTranslator.extractWorkspaceName(site);
const url = this.buildFetchUrl(workspaceName);
const res = await fetch(url);
if (!res.ok) {
throw new InvalidWorkspaceError(site);
@@ -87,9 +87,17 @@
buildFetchUrl(workspaceNameOrId) {
const urlObj = new url_1.URL(`${(0, exports.getBitbucketEndpoint)()}/2.0/workspaces/${workspaceNameOrId}`);
return urlObj.toString();
}
- extractWorkspaceName(workspaceURL) {
+ static normalizeWorkspaceInput(input) {
+ const trimmed = input.trim();
+ if (trimmed.toLowerCase().includes(BITBUCKET_URL.hostname)) {
+ return trimmed;
+ }
+ const slug = trimmed.replace(/^https?:\/\//i, '').replace(/(?:^\/+)|(?:\/+$)/g, '');
+ return `${BITBUCKET_URL.origin}/${slug}`;
+ }
+ static extractWorkspaceName(workspaceURL) {
if (workspaceURL.hostname !== BITBUCKET_URL.hostname) {
throw new InvalidWorkspaceError(workspaceURL);
}
const pathnames = workspaceURL.pathname.substring(1).split('/');