From 2a87fe4ca17c0aab6c897c976a41fcb118fae086 Mon Sep 17 00:00:00 2001 From: senzenn Date: Sat, 13 Jun 2026 20:58:30 +0530 Subject: [PATCH 1/2] fix(cli): allow convert command to work without package.json - Add @codama/nodes-from-anchor as a dependency of @codama/cli - Try direct import before falling back to the install flow This lets users run codama convert without needing a package.json. --- packages/cli/package.json | 1 + packages/cli/src/utils/nodes.ts | 11 +++++++++++ pnpm-lock.yaml | 3 +++ 3 files changed, 15 insertions(+) diff --git a/packages/cli/package.json b/packages/cli/package.json index e4877fd20..843192159 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -41,6 +41,7 @@ }, "dependencies": { "@codama/nodes": "workspace:*", + "@codama/nodes-from-anchor": "workspace:*", "@codama/visitors": "workspace:*", "@codama/visitors-core": "workspace:*", "commander": "^14.0.2", diff --git a/packages/cli/src/utils/nodes.ts b/packages/cli/src/utils/nodes.ts index e2c984c03..cf92764ae 100644 --- a/packages/cli/src/utils/nodes.ts +++ b/packages/cli/src/utils/nodes.ts @@ -12,6 +12,17 @@ export async function getRootNodeFromIdl(idl: unknown): Promise { return idl; } + // Try direct import first — works without a package.json. + try { + const rootNodeFromAnchor = await importModuleItem<(idl: unknown) => RootNode>({ + from: '@codama/nodes-from-anchor', + item: 'rootNodeFromAnchor', + }); + return rootNodeFromAnchor(idl); + } catch { + // Module not available via direct import. + } + const hasNodesFromAnchor = await installMissingDependencies( 'Anchor IDL detected. Additional dependencies are required to process Anchor IDLs.', ['@codama/nodes-from-anchor'], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68bd45862..5f6baddaf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,6 +59,9 @@ importers: '@codama/nodes': specifier: workspace:* version: link:../nodes + '@codama/nodes-from-anchor': + specifier: workspace:* + version: link:../nodes-from-anchor '@codama/visitors': specifier: workspace:* version: link:../visitors From db941f4f7c96c123c665c93c2799515d36ed877b Mon Sep 17 00:00:00 2001 From: senzenn Date: Sat, 13 Jun 2026 21:04:37 +0530 Subject: [PATCH 2/2] add changeset --- .changeset/fix-convert-package-json.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-convert-package-json.md diff --git a/.changeset/fix-convert-package-json.md b/.changeset/fix-convert-package-json.md new file mode 100644 index 000000000..d9f5ffbe1 --- /dev/null +++ b/.changeset/fix-convert-package-json.md @@ -0,0 +1,5 @@ +--- +"@codama/cli": patch +--- + +Allow convert command to work without package.json