import { rmSync } from "node:fs";
import execa from "execa";
import { join } from "node:path";
const __dirname = import.meta.dirname;

(async () => {
    rmSync(join(__dirname, "/../packages/backend/built"), {
        recursive: true,
        force: true,
    });
    rmSync(join(__dirname, "/../packages/backend/node_modules"), {
        recursive: true,
        force: true,
    });

    rmSync(join(__dirname, "/../packages/backend/native-utils/built"), {
        recursive: true,
        force: true,
    });
    rmSync(join(__dirname, "/../packages/backend/native-utils/node_modules"), {
        recursive: true,
        force: true,
    });

    rmSync(join(__dirname, "/../packages/calckey-js/built"), {
        recursive: true,
        force: true,
    });
    rmSync(join(__dirname, "/../packages/calckey-js/node_modules"), {
        recursive: true,
        force: true,
    });

    rmSync(join(__dirname, "/../built"), { recursive: true, force: true });
    rmSync(join(__dirname, "/../node_modules"), {
        recursive: true,
        force: true,
    });

    execa("pnpm", ["store", "prune"], {
        cwd: join(__dirname, "/../"),
        stdio: "inherit",
    });

    execa("cargo", ["clean"], {
        cwd: join(__dirname, "/../packages/backend/native-utils"),
        stdio: "inherit",
    });
})();
