aboutsummaryrefslogtreecommitdiff
path: root/packages/bun-ecosystem/src/runner.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/bun-ecosystem/src/runner.ts')
-rw-r--r--packages/bun-ecosystem/src/runner.ts92
1 files changed, 0 insertions, 92 deletions
diff --git a/packages/bun-ecosystem/src/runner.ts b/packages/bun-ecosystem/src/runner.ts
deleted file mode 100644
index f95174808..000000000
--- a/packages/bun-ecosystem/src/runner.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-import type { Package } from "./packages";
-import { packages } from "./packages";
-import { existsSync, copyFileSync } from "node:fs";
-import { dirname, join } from "node:path";
-import { globby } from "globby";
-
-for (const pkg of packages) {
- try {
- await loadPackage(pkg, "tmp");
- } catch (error) {
- console.error(pkg.name, error);
- }
-}
-
-async function loadPackage(pkg: Package, cwd?: string): Promise<void> {
- await gitClone({
- cwd,
- repository: pkg.repository,
- name: pkg.name,
- });
- const dir = join(cwd ?? "", pkg.name, pkg.cwd ?? "");
- await spawn({
- cwd: dir,
- cmd: ["bun", "install"],
- });
- if (!pkg.tests || pkg.tests.style !== "jest") {
- return;
- }
- const files = await globby(pkg.tests.include, {
- cwd: dir,
- ignore: pkg.tests.exclude ?? [crypto.randomUUID()],
- onlyFiles: true,
- caseSensitiveMatch: false,
- });
- if (!files.length) {
- throw new Error("No tests found");
- }
- for (const file of files) {
- let path = file;
- if (!file.includes(".test.")) {
- const ext = path.lastIndexOf(".");
- path = file.substring(0, ext) + ".test" + file.substring(ext);
- copyFileSync(join(dir, file), join(dir, path));
- }
- await spawn({
- cwd: dir,
- cmd: ["bun", "test", path],
- });
- }
-}
-
-type GitCloneOptions = {
- repository: string;
- cwd?: string;
- name?: string;
-};
-
-async function gitClone(options: GitCloneOptions): Promise<void> {
- const name = options.name ?? dirname(options.repository);
- const cwd = options.cwd ?? process.cwd();
- const path = join(cwd, name);
- if (existsSync(path)) {
- await spawn({
- cwd: path,
- cmd: ["git", "pull"],
- });
- } else {
- const url = `${options.repository}`;
- await spawn({
- cwd,
- cmd: ["git", "clone", "--single-branch", "--depth", "1", url, name],
- });
- }
-}
-
-type SpawnOptions = {
- cwd: string;
- cmd: string[];
-};
-
-async function spawn({ cwd, cmd }: SpawnOptions) {
- const { exited } = await Bun.spawn({
- cwd,
- cmd,
- stdout: "inherit",
- stderr: "inherit",
- });
- const exitCode = await exited;
- if (exitCode !== 0) {
- throw new Error(`"${cmd.join(" ")}" exited with ${exitCode}`);
- }
-}