typewriter icon indicating copy to clipboard operation
typewriter copied to clipboard

Error when running init

Open cideM opened this issue 2 years ago • 5 comments

Environment

$ node --version
v18.16.1
$ npm --version
9.5.1
$ tsc --version
Version 5.1.6

No previous typewriter installation, ran rm -rf node_modules and rg --hidden typewriter. Doing the steps outlined in https://segment.com/docs/protocols/apis-and-extensions/typewriter/#browser-quickstart

Steps

  1. Install analytics.jsusing NPM method, so npm install @segment/analytics-next
$ rg segment/analytics
package.json
20:    "@segment/analytics-next": "^1.53.3",
  1. Once you’ve got analytics.js installed, add Typewriter as a developer dependency in your project: npm install --save-dev typewriter
$ rg typewriter
package.json
47:    "typewriter": "^9.1.0",
  1. If you are a snippet user that uses TypeScript, you should also install the npm library as a dev dependency to get the typescript types. I am not a snippet user, so skipping this
  2. Run npx typewriter init to [...]
  • Ready
  • Copy working token
  • n would not like to store
  • select tracking plan
  • choose analytics as directory
  • language Typescript
  • As SDK choose Web (analytics.js)
  • n for fine tuning
Configuration Summary:
Name           Value
────────────── ─────────────────────────────────────
Tracking Plans *******************
Paths          analytics
Language       TypeScript
SDK            analytics-js
  • y save
? Save these settings? Yes
    TypeError: Cannot read properties of undefined (reading 'method')
$ ls analytics
ls: cannot access 'analytics': No such file or directory
$ uname -a
Darwin *************.local 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun  8 22:22:20 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T6000 arm64 arm Darwin

Expectation vs. reality

Expected there to be

  • no error
  • an analytics/ folder

Actual

  • got a typewriter.yml config file but no folder and an error

cideM avatar Aug 11 '23 12:08 cideM

I also tried these steps on a NixOS system but I get the same error

cideM avatar Aug 15 '23 13:08 cideM

It seems that init simply no longer creates a client. Either the documentation or the code needs to be updated. I don't see anything about generating a client in the command

The error appears to come from the initCommand call

cideM avatar Aug 15 '23 17:08 cideM

Having the same issue. Can someone from Segment look into this? It's been over a month now.

EDIT: I just ran the command again and this time it worked. The only difference now was that since I'm using pnpm in my project I did pnpm dlx typewriter init instead of npx typewriter init and that worked. Maybe that was necessary!

Jorundur avatar Sep 21 '23 15:09 Jorundur

This is still an issue, regardless of whether you use npx or you install the required packages manually.

cideM avatar Jun 07 '24 13:06 cideM