segmentio / typewriter

Type safety + intellisense for your Segment analytics
https://segment.com/docs/protocols/typewriter/
MIT License
228 stars 53 forks source link

Error: Cannot infer name for schema #312

Open alanfitzpatrick opened 1 year ago

alanfitzpatrick commented 1 year ago

Environment

$ node --version
v18.16.0
$ npm --version
9.5.1
$ tsc --version
Version 4.9.5

Steps

  1. Install typewriter
  2. Init Typewriter npx typewriter init
  3. Select a Tracking Plan with event names with a colon as the first special character e.g. something:something_something or something:something_something_something
  4. Summary should look like the following Configuration Summary:
    Name           Value         
    ────────────── ───────────── 
    Tracking Plans Something    
    Paths          src/analytics 
    Language       TypeScript    
    SDK            analytics-js  
  5. Run update npx typewriter --update

Expectation vs. Reality

Expected: The generated library

Reality Received the following error

Generating files... Error!
Error: Cannot infer name for schema something:something_something

Additional

alanfitzpatrick commented 1 year ago

Looking further into this the issue appears to be related to quicktype and how it is interpretting the event name, it looks like it is seeing everything before the colon as a protocol, this seems to be a similar issue here - https://github.com/glideapps/quicktype/issues/1113