A code generator CLI for faster and type-safe Snowplow tracking code
This package is responsible for our CLI tools, which will be used directly by our users.
Useful scripts:
| Script | Description |
| ------------------- | -------------------------------------------------------- |
| start | Run cli for development |
| debug | Debug using node.js example: npm run debug -- generate |
| build:production | Builds project for deployment |
| build | Builds project for local development |
| fix-version | Fix version |
| lint:fix | Fix for any lint issues |
| lint | Check for any lint issues |
| prebuild:production | Remove dist folder |
| test | Runs test |
Add a .env file in the packages/cli folder with the following content:
``bash`
export SNOWPLOW_CONSOLE_API_KEY_ID=YOUR_KEY_ID_HERE
export SNOWPLOW_CONSOLE_API_KEY=YOUR_KEY_HERE
export SNOWPLOW_CONSOLE_ORG_ID=YOUR_ORG_ID_HERE
export SNOWPLOW_CONSOLE_API_URL=https://next.console.snowplowanalytics.com/api/msc
If you are testing against production locally, make sure to set it up correctly:
`bash`
export SNOWPLOW_CONSOLE_API_URL=https://console.snowplowanalytics.com/api/msc
Then use:
`bash`
npm run snowtype -- init
to initialize the project.
Edit file snowtype.config.ts adding data products or event specifications.
Then run:
`bash`
npm run snowtype generate
This will run the app and generate output code using ts-node.
Alternatively, you can directly use the JavaScript file by running:
`bash`
npm run build
node dist/index.js
Notes:
- To see the type in the generated code (visible under the snowtype output folder), you need to install a related tracker, for instance:
`bash``
npm i -D @snowplow/browser-tracker -w @snowplow/snowtype