1
0

generate-clients.mjs 893 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env zx
  2. import 'zx/globals';
  3. import { createFromRoot } from 'codama';
  4. import { renderVisitor as renderJavaScriptVisitor } from '@codama/renderers-js';
  5. // import { renderVisitor as renderRustVisitor } from "@codama/renderers-rust";
  6. import { workingDirectory } from './utils.mjs';
  7. // Instanciate Codama.
  8. const codama = createFromRoot(
  9. require(path.join(workingDirectory, 'program', 'idl.json'))
  10. );
  11. // Render JavaScript.
  12. const jsClient = path.join(__dirname, '..', 'clients', 'js');
  13. codama.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. // codama.accept(
  21. // renderRustVisitor(path.join(rustClient, "src", "generated"), {
  22. // formatCode: true,
  23. // crateFolder: rustClient,
  24. // })
  25. // );