generate-clients.mjs 899 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env zx
  2. import "zx/globals";
  3. import { createFromRoot } from "kinobi";
  4. import { renderVisitor as renderJavaScriptVisitor } from "@kinobi-so/renderers-js";
  5. // import { renderVisitor as renderRustVisitor } from "@kinobi-so/renderers-rust";
  6. import { workingDirectory } from "./utils.mjs";
  7. // Instanciate Kinobi.
  8. const kinobi = createFromRoot(
  9. require(path.join(workingDirectory, "program", "idl.json"))
  10. );
  11. // Render JavaScript.
  12. const jsClient = path.join(__dirname, "..", "clients", "js");
  13. kinobi.accept(
  14. renderJavaScriptVisitor(path.join(jsClient, "src", "generated"), {
  15. prettier: require(path.join(jsClient, ".prettierrc.json")),
  16. })
  17. );
  18. // Render Rust.
  19. // const rustClient = path.join(__dirname, "..", "clients", "rust");
  20. // kinobi.accept(
  21. // renderRustVisitor(path.join(rustClient, "src", "generated"), {
  22. // formatCode: true,
  23. // crateFolder: rustClient,
  24. // })
  25. // );