Skip to content
This repository has been archived by the owner on Jul 15, 2024. It is now read-only.

address issues with delete-branch cmd #60

Merged
merged 4 commits into from
Jan 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "3.2.1",
"version": "3.2.2",
"license": "MIT",
"name": "@mollie/crowdin-cli",
"author": {
Expand Down
22 changes: 18 additions & 4 deletions src/delete-branch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,37 @@ import {
listFiles,
listTasks,
} from "./lib/crowdin";
import { getCrowdinBranchName } from "./utils/get-crowdin-branch-name";
import log from "./utils/logging";

export interface DeleteBranchOptions {
branchName: string;
deleteTasks?: boolean;
}

export default async ({ branchName, deleteTasks }: DeleteBranchOptions) => {
export default async ({
branchName: gitBranchName,
deleteTasks,
}: DeleteBranchOptions) => {
log.info("Deleting branch from Crowdin");
const branchName = getCrowdinBranchName(gitBranchName);
let branches = null;

const branches = await listBranches(branchName);
try {
branches = await listBranches(branchName);
} catch (error) {
return log.error("Error while fetching branches from Crowdin");
}

if (branches.data.length === 0) {
if (branches?.data.length === 0) {
return log.error(`Couldn’t find a branch with the name: "${branchName}"`);
}

const branchId = branches.data[0].data.id;
const branchId = branches?.data[0].data.id;

if (!branchId) {
return log.error(`Error determining the ID for branch: "${branchName}"`);
}

try {
if (deleteTasks) {
Expand Down
4 changes: 4 additions & 0 deletions src/utils/get-crowdin-branch-name.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export function getCrowdinBranchName(gitBranchName: string) {
// Replace all slashes with dashes
return gitBranchName.replace(/\//g, "-");
}
11 changes: 11 additions & 0 deletions tests/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import upload from "../src/upload";
import deleteBranch from "../src/delete-branch";
import preTranslate from "../src/pre-translate";
import createTasks from "../src/create-tasks";
import { getCrowdinBranchName } from "../src/utils/get-crowdin-branch-name";
import { sync } from "mkdirp";

jest.mock("@crowdin/crowdin-api-client", () => ({
Expand Down Expand Up @@ -333,3 +334,13 @@ describe("Handlers", () => {
expect(file).toMatchSnapshot();
});
});

describe("Utils", () => {
test("getCrowdinBranchName()", () => {
expect(getCrowdinBranchName("main")).toBe("main");
expect(getCrowdinBranchName("branch-name")).toBe("branch-name");
expect(getCrowdinBranchName("feature/branch-name")).toBe(
"feature-branch-name"
);
});
});
Loading