1
0
silverbullet/plugos/syscalls/esbuild.ts

35 lines
760 B
TypeScript
Raw Normal View History

import { sandboxCompile, sandboxCompileModule } from "../compile.ts";
import { SysCallMapping } from "../system.ts";
2022-10-13 13:16:18 +00:00
import { Manifest } from "../types.ts";
2022-04-25 17:46:08 +00:00
2022-10-13 13:16:18 +00:00
export function esbuildSyscalls(
imports: Manifest<any>[],
): SysCallMapping {
2022-04-25 17:46:08 +00:00
return {
"esbuild.compile": async (
_ctx,
2022-04-25 17:46:08 +00:00
filename: string,
2022-05-11 09:49:27 +00:00
code: string,
2022-05-13 15:05:52 +00:00
functionName?: string,
2022-04-25 17:46:08 +00:00
): Promise<string> => {
2022-05-13 15:05:52 +00:00
return await sandboxCompile(
filename,
code,
functionName,
{
debug: true,
2022-10-13 13:16:18 +00:00
imports,
},
2022-05-13 15:05:52 +00:00
);
},
"esbuild.compileModule": async (
_ctx,
moduleName: string,
2022-05-13 15:05:52 +00:00
): Promise<string> => {
return await sandboxCompileModule(moduleName, {
2022-10-13 13:16:18 +00:00
imports,
});
2022-04-25 17:46:08 +00:00
},
};
}