https://github.com/swdotcom/swdc-tracker
send swdc events to snowplow
https://github.com/swdotcom/swdc-tracker
Last synced: 17 days ago
JSON representation
send swdc events to snowplow
- Host: GitHub
- URL: https://github.com/swdotcom/swdc-tracker
- Owner: swdotcom
- License: apache-2.0
- Created: 2020-06-10T02:13:31.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2025-11-19T02:27:35.000Z (7 months ago)
- Last Synced: 2025-12-13T22:28:05.010Z (6 months ago)
- Language: TypeScript
- Homepage:
- Size: 9.32 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# swdc-tracker
[](https://badge.fury.io/js/swdc-tracker)

Sends data to snowplow. Use this to track events in plugins written in js.
## Install
```
yarn add swdc-tracker
```
## Usage
extension.ts
```ts
import swdcTracker from 'swdc-tracker'
// initialize it once with the backend api host, namespace and appId
swdcTracker.initialize("https://api.software.com", "codetime-events", "codetime-vscode")
```
./Utils.ts
```ts
import swdcTracker from 'swdc-tracker'
export function openSomeFile() {
swdcTracker.trackEditorAction({
jwt: jwt,
entity: "editor",
type: "activate",
tz_offset_minutes: 420,
file_name: "your_file.js",
file_path: "/path/to/your_file.js",
file_syntax: "javascript",
file_line_count: 10,
file_character_count: 100,
project_name: "your_project_name",
project_directory: "/path/to/your/project",
plugin_id: 1,
plugin_version: "1.2.3"
})
...
}
```
# Test mode
swdc-tracker has test mode on by default. In order to send events to snowplow, set env `ENABLE_SWDC_TRACKER` to `"true"`
test mode will log the event's properties and contexts so you can easily debug payloads being sent to snowplow.
# Development
## Install Deps
```
yarn
```
## Build
```
yarn build
```