mirror of
https://github.com/oven-sh/bun
synced 2026-02-13 04:18:58 +00:00
* work so far * stuff * a * basics work * stuff * yoo * build lockfile * correct * f * a * install fixture havent tested * i made it worse * lol * be more reasonable * make the test easier to pass because bun install doesn't handle obscure lockfile edge cases :/ * a * works now * ok * a * a * cool * nah * fix stuff * l * a * idfk * LAME * prettier errors * does this fix tests? * Add more safety checks to Integrity * Add another check * More careful lifetime handling * Fix linux debugger issue * a * tmp dir and snapshot test --------- Co-authored-by: Jarred SUmner <jarred@jarredsumner.com>
55 lines
1.9 KiB
TypeScript
55 lines
1.9 KiB
TypeScript
import fs from "fs";
|
|
import { test, expect } from "bun:test";
|
|
import { bunEnv, bunExe } from "harness";
|
|
import { join } from "path";
|
|
import { mkdtempSync } from "js/node/fs/export-star-from";
|
|
import { tmpdir } from "os";
|
|
|
|
test("migrate from npm during `bun add`", async () => {
|
|
const testDir = mkdtempSync(join(tmpdir(), "migrate-"));
|
|
|
|
fs.writeFileSync(
|
|
join(testDir, "package.json"),
|
|
JSON.stringify({
|
|
name: "test3",
|
|
dependencies: {
|
|
"svelte": "*",
|
|
},
|
|
}),
|
|
);
|
|
fs.cpSync(join(import.meta.dir, "add-while-migrate-fixture.json"), join(testDir, "package-lock.json"));
|
|
|
|
Bun.spawnSync([bunExe(), "add", "lodash@4.17.21"], {
|
|
env: bunEnv,
|
|
cwd: testDir,
|
|
});
|
|
|
|
expect(fs.existsSync(join(testDir, "node_modules/lodash"))).toBeTrue();
|
|
|
|
const svelte_version = JSON.parse(fs.readFileSync(join(testDir, "node_modules/svelte/package.json"), "utf8")).version;
|
|
expect(svelte_version).toBe("4.0.0");
|
|
|
|
const lodash_version = JSON.parse(fs.readFileSync(join(testDir, "node_modules/lodash/package.json"), "utf8")).version;
|
|
expect(lodash_version).toBe("4.17.21");
|
|
});
|
|
|
|
// Currently this upgrades svelte :(
|
|
test.todo("migrate workspace from npm during `bun add`", async () => {
|
|
const testDir = join(tmpdir(), "migrate-" + Math.random().toString(36).slice(2));
|
|
|
|
fs.cpSync(join(import.meta.dir, "add-while-migrate-workspace"), testDir, { recursive: true });
|
|
|
|
Bun.spawnSync([bunExe(), "add", "lodash@4.17.21"], {
|
|
env: bunEnv,
|
|
cwd: join(testDir, "packages", "a"),
|
|
});
|
|
|
|
expect(fs.existsSync(join(testDir, "node_modules/lodash"))).toBeTrue();
|
|
|
|
const lodash_version = JSON.parse(fs.readFileSync(join(testDir, "node_modules/lodash/package.json"), "utf8")).version;
|
|
expect(lodash_version).toBe("4.17.21");
|
|
|
|
const svelte_version = JSON.parse(fs.readFileSync(join(testDir, "node_modules/svelte/package.json"), "utf8")).version;
|
|
expect(svelte_version).toBe("3.0.0");
|
|
});
|