generate-clients.mjs 851 B

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