sanity-io/sanity

Absolute paths not working in Typegen config

Opened this issue · 2 comments

Describe the bug

Typegen doesn't accept absolute path for generates.

To Reproduce

Steps to reproduce the behavior:

  1. Create a sanity-typegen.json with an absolute path in generates
  2. Extract schema: sanity schema extract
  3. Run Typegen: sanity typegen generate

Typegen returns success, saying it has created a file at the given path, however it doesn't exist.
The path is interpreted as relative and created in the sanity directory, not the one actually defined.

Expected behavior

Types are written to the configured file.

Which versions of Sanity are you using?

3.60.0

@sanity/cli (global)             3.60.0 (up to date)
@sanity/asset-utils               2.0.6 (up to date)
@sanity/eslint-config-studio      4.0.0 (up to date)
@sanity/icons                     3.4.0 (up to date)
@sanity/language-filter           4.0.2 (up to date)
@sanity/locale-de-de             1.1.11 (up to date)
@sanity/orderable-document-list   1.2.2 (up to date)
@sanity/ui                        2.8.9 (up to date)
@sanity/util                     3.60.0 (up to date)
@sanity/vision                   3.60.0 (up to date)
sanity                           3.60.0 (up to date)

What operating system are you using?

Linux Mint 21.3 Virginia, Kernel 5.15.0-118

Which versions of Node.js / npm are you running?

node 20.18.0
pnpm 9.12.1
(npm 10.9.0 installed)

Thanks for reporting - this is indeed a bug, and it should work as you outline. I don't have a timeline on a fix atm, but we will keep this issue updated.

Having this same issue.

I'm working in a monorepo and want to write top level commands to generate types for each of the tenants, but cannot because the only way to get this to work is in the sanity-typegen.json file, which cannot handle multiple tenants.

Hope this can be worked on soon!