chore(vendor): import pi 1.3.0

Imported as a linear vendor commit so forge rebases do not replay the upstream root tree.

git-subtree-dir: third_party/pi

git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
This commit is contained in:
alexion committed 2026-10-15 17:58:48 -04:00
1 parent 719370c8f7
commit 6081e3e325
1743 files changed
+205459 -131704

No files matched your search

@@ -9,13 +9,28 @@ const state = vi.hoisted(() => {
});
return {
originalGetBuiltinModule,
jitiModuleLoads: 0,
virtualModulesLoads: 0,
createJiti: vi.fn((_id: unknown, _options: unknown) => ({
import: vi.fn(async () => () => {}),
})),
};
});
vi.mock("jiti/static", () => ({ createJiti: state.createJiti }));
vi.mock("jiti/static", () => {
state.jitiModuleLoads++;
return { createJiti: state.createJiti };
});
vi.mock("../../../src/core/extensions/virtual-modules.ts", () => {
state.virtualModulesLoads++;
return {
VIRTUAL_MODULES: {
typebox: {},
"@earendil-works/pi-coding-agent": {},
},
};
});
import { loadExtensions } from "../../../src/core/extensions/loader.ts";
@@ -32,10 +47,16 @@ afterAll(() => {
});
describe("Node SEA extension loading", () => {
it("uses bundled virtual modules instead of filesystem aliases", async () => {
// Regression test for #8237 and #9540.
it("loads jiti and bundled virtual modules only when importing an extension", async () => {
expect(state.jitiModuleLoads).toBe(0);
expect(state.virtualModulesLoads).toBe(0);
const result = await loadExtensions(["/extension.ts"], "/");
expect(result.errors).toEqual([]);
expect(state.jitiModuleLoads).toBe(1);
expect(state.virtualModulesLoads).toBe(1);
expect(result.extensions).toHaveLength(1);
expect(state.createJiti).toHaveBeenCalledOnce();