garminclimb 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,8 +6,7 @@ Garmin connect doesn't have the charts I want so I decided to make my own CLI to
6
6
 
7
7
  ```shell
8
8
  npm i -g garminclimb
9
- garminclimb login -u username -p password
10
- garminclimb download # download your data
9
+ garminclimb download -u username -p password # download your data
11
10
  garminclimb charts
12
11
  ```
13
12
 
@@ -21,230 +20,227 @@ ls
21
20
  # Develop locally or make your own charts
22
21
 
23
22
  ```shell
24
- npm i
23
+ npm i
25
24
  npm link
26
25
  npm run watch
27
26
  # change parse.ts in /src to edit charts
28
27
  # then all commaands will be locally linked to your code
29
- garminclimb login -u username -p password
30
- garminclimb download # download your data
28
+ garminclimb download -u username -p password # download your data
31
29
  garminclimb charts
32
30
  ```
33
31
 
34
-
35
32
  # Example Charts
36
33
 
37
-
38
34
  ```
39
35
  Max Grade Per Session Indoor Climbing
40
36
 
41
-
42
- 512A ┤ ┏━━━━━━━━━━┓ ┏━━━━━━━━━━┓
43
- 511D ┤ ┏━━━━━━━━━━┓ ┃ ┃ ┃ ┃
44
- │ ┃ ┃ ┃ ┃ ┃ ┃
45
- 511B ┤━━━━━━━━━━┓ ┃ ┃ ┃ ┃ ┃ ┗━
46
- 511A ┤ ┗━━━━━━━━━━┓ ┃ ┃ ┃ ┃ ┃
47
- 510D ┤ ┗━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━┓ ┃ ┗━━━━━━━━━━┛
48
- │ ┃ ┃
49
- 510B ┤ ┗━━━━━━━━━━┛
37
+
38
+ 512A ┤ ┏━━━━━━━━━━┓ ┏━━━━━━━━━━┓
39
+ 511D ┤ ┏━━━━━━━━━━┓ ┃ ┃ ┃ ┃
40
+ │ ┃ ┃ ┃ ┃ ┃ ┃
41
+ 511B ┤━━━━━━━━━━┓ ┃ ┃ ┃ ┃ ┃ ┗━
42
+ 511A ┤ ┗━━━━━━━━━━┓ ┃ ┃ ┃ ┃ ┃
43
+ 510D ┤ ┗━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━┓ ┃ ┗━━━━━━━━━━┛
44
+ │ ┃ ┃
45
+ 510B ┤ ┗━━━━━━━━━━┛
50
46
  └┬──────────┬──────────┬──────────┬──────────┬──────────┬─────────┬──────────┬──────────┬──────────┬──────────┬▶
51
- 2024-12-12 2024-12-18 2025-01-01 2025-01-09 2025-01-31 2025-02-062025-02-09 2025-02-12 2025-02-16 2025-02-25 2025-02-27
47
+ 2024-12-12 2024-12-18 2025-01-01 2025-01-09 2025-01-31 2025-02-062025-02-09 2025-02-12 2025-02-16 2025-02-25 2025-02-27
52
48
 
53
49
  Number of Sends per session
54
50
 
55
-
56
- 22┤ ┏━━━━━━━━━━┓
57
- │ ┃ ┃
58
- │ ┃ ┃
59
- │ ┃ ┃
60
- │ ┃ ┃
61
- 17┤ ┃ ┃ ┏━━━━━━━━━━┓
62
- │ ┃ ┃ ┃ ┃
63
- │ ┃ ┃ ┃ ┃
64
- │ ┃ ┃ ┃ ┃
65
- │ ┃ ┃ ┃ ┃
66
- 11┤ ┃ ┃ ┃ ┗━
67
- │ ┃ ┃ ┃
68
- 9┤━━━━━━━━━━┓ ┏━━━━━━━━━┓ ┃ ┃ ┃
69
- │ ┃ ┃ ┃ ┃ ┃ ┃
70
- │ ┃ ┃ ┃ ┃ ┃ ┃
71
- 6┤ ┗━━━━━━━━━━┓ ┃ ┃ ┃ ┗━━━━━━━━━━┛
72
- │ ┃ ┃ ┃ ┃
73
- 4┤ ┃ ┏━━━━━━━━━━┛ ┃ ┃
74
- 3┤ ┗━━━━━━━━━━┓ ┃ ┃ ┃
75
- 2┤ ┗━━━━━━━━━━┛ ┗━━━━━━━━━━┛
51
+
52
+ 22┤ ┏━━━━━━━━━━┓
53
+ │ ┃ ┃
54
+ │ ┃ ┃
55
+ │ ┃ ┃
56
+ │ ┃ ┃
57
+ 17┤ ┃ ┃ ┏━━━━━━━━━━┓
58
+ │ ┃ ┃ ┃ ┃
59
+ │ ┃ ┃ ┃ ┃
60
+ │ ┃ ┃ ┃ ┃
61
+ │ ┃ ┃ ┃ ┃
62
+ 11┤ ┃ ┃ ┃ ┗━
63
+ │ ┃ ┃ ┃
64
+ 9┤━━━━━━━━━━┓ ┏━━━━━━━━━┓ ┃ ┃ ┃
65
+ │ ┃ ┃ ┃ ┃ ┃ ┃
66
+ │ ┃ ┃ ┃ ┃ ┃ ┃
67
+ 6┤ ┗━━━━━━━━━━┓ ┃ ┃ ┃ ┗━━━━━━━━━━┛
68
+ │ ┃ ┃ ┃ ┃
69
+ 4┤ ┃ ┏━━━━━━━━━━┛ ┃ ┃
70
+ 3┤ ┗━━━━━━━━━━┓ ┃ ┃ ┃
71
+ 2┤ ┗━━━━━━━━━━┛ ┗━━━━━━━━━━┛
76
72
  └┬──────────┬──────────┬──────────┬──────────┬──────────┬─────────┬──────────┬──────────┬──────────┬──────────┬▶
77
- 2024-12-12 2024-12-18 2025-01-01 2025-01-09 2025-01-31 2025-02-062025-02-09 2025-02-12 2025-02-16 2025-02-25 2025-02-27
73
+ 2024-12-12 2024-12-18 2025-01-01 2025-01-09 2025-01-31 2025-02-062025-02-09 2025-02-12 2025-02-16 2025-02-25 2025-02-27
78
74
 
79
75
  Total Feet Per Session
80
76
 
81
- ▲ █
82
- 604┤ █
83
- │ █ █
84
- 509┤ █ █ █
85
- 436┤█ █ █ █
86
- 348┤█ █ █ █ █ █
87
- 312┤█ █ █ █ █ █ █
88
- 272┤█ █ █ █ █ █ █ █ █ █
89
- 208┤█ █ █ █ █ █ █ █ █ █
90
- │█ █ █ █ █ █ █ █ █ █ █
91
- 70┤█ █ █ █ █ █ █ █ █ █ █
77
+ ▲ █
78
+ 604┤ █
79
+ │ █ █
80
+ 509┤ █ █ █
81
+ 436┤█ █ █ █
82
+ 348┤█ █ █ █ █ █
83
+ 312┤█ █ █ █ █ █ █
84
+ 272┤█ █ █ █ █ █ █ █ █ █
85
+ 208┤█ █ █ █ █ █ █ █ █ █
86
+ │█ █ █ █ █ █ █ █ █ █ █
87
+ 70┤█ █ █ █ █ █ █ █ █ █ █
92
88
  └┬──────────┬──────────┬──────────┬──────────┬──────────┬─────────┬──────────┬──────────┬──────────┬──────────┬▶
93
- 2024-12-12 2024-12-18 2025-01-01 2025-01-09 2025-01-31 2025-02-062025-02-09 2025-02-12 2025-02-16 2025-02-25 2025-02-27
89
+ 2024-12-12 2024-12-18 2025-01-01 2025-01-09 2025-01-31 2025-02-062025-02-09 2025-02-12 2025-02-16 2025-02-25 2025-02-27
94
90
 
95
91
  Total Route Feet By Month
96
92
 
97
- ▲ █
98
- 2341┤ █
99
- │ █
100
- │ █
101
- │ █
102
- │ █
103
- │ █
104
- │ █
105
- │ █
106
- │ █
107
- │ █
108
- │ █
109
- │ █
110
- │ █
111
- │ █
112
- │ █
113
- │ █
114
- │ █
115
- │█ █
116
- 620┤█ █ █
117
- 480┤█ █ █
93
+ ▲ █
94
+ 2341┤ █
95
+ │ █
96
+ │ █
97
+ │ █
98
+ │ █
99
+ │ █
100
+ │ █
101
+ │ █
102
+ │ █
103
+ │ █
104
+ │ █
105
+ │ █
106
+ │ █
107
+ │ █
108
+ │ █
109
+ │ █
110
+ │ █
111
+ │█ █
112
+ 620┤█ █ █
113
+ 480┤█ █ █
118
114
  └┬─────────┬────────┬▶
119
- 2024-12 2025-01 2025-02
115
+ 2024-12 2025-01 2025-02
120
116
 
121
117
  Active Minutes Per Session
122
118
 
123
- ▲ █
124
- 28┤ █ █
125
- 27┤ █ █
126
- │ █ █ █
127
- 25┤ █ █ █
128
- │ █ █ █ █ █
129
- 23┤█ █ █ █ █ █
130
- 22┤█ █ █ █ █ █ █
131
- 21┤█ █ █ █ █ █ █
132
- │█ █ █ █ █ █ █ █ █
133
- 19┤█ █ █ █ █ █ █ █ █ █
134
- 18┤█ █ █ █ █ █ █ █ █ █
135
- │█ █ █ █ █ █ █ █ █ █
136
- │█ █ █ █ █ █ █ █ █ █
137
- │█ █ █ █ █ █ █ █ █ █
138
- │█ █ █ █ █ █ █ █ █ █
139
- │█ █ █ █ █ █ █ █ █ █
140
- │█ █ █ █ █ █ █ █ █ █
141
- │█ █ █ █ █ █ █ █ █ █
142
- │█ █ █ █ █ █ █ █ █ █ █
143
- 9┤█ █ █ █ █ █ █ █ █ █ █
119
+ ▲ █
120
+ 28┤ █ █
121
+ 27┤ █ █
122
+ │ █ █ █
123
+ 25┤ █ █ █
124
+ │ █ █ █ █ █
125
+ 23┤█ █ █ █ █ █
126
+ 22┤█ █ █ █ █ █ █
127
+ 21┤█ █ █ █ █ █ █
128
+ │█ █ █ █ █ █ █ █ █
129
+ 19┤█ █ █ █ █ █ █ █ █ █
130
+ 18┤█ █ █ █ █ █ █ █ █ █
131
+ │█ █ █ █ █ █ █ █ █ █
132
+ │█ █ █ █ █ █ █ █ █ █
133
+ │█ █ █ █ █ █ █ █ █ █
134
+ │█ █ █ █ █ █ █ █ █ █
135
+ │█ █ █ █ █ █ █ █ █ █
136
+ │█ █ █ █ █ █ █ █ █ █
137
+ │█ █ █ █ █ █ █ █ █ █
138
+ │█ █ █ █ █ █ █ █ █ █ █
139
+ 9┤█ █ █ █ █ █ █ █ █ █ █
144
140
  └┬──────────┬──────────┬──────────┬──────────┬──────────┬─────────┬──────────┬──────────┬──────────┬──────────┬▶
145
- 2024-12-12 2024-12-18 2025-01-01 2025-01-09 2025-01-31 2025-02-062025-02-09 2025-02-12 2025-02-16 2025-02-25 2025-02-27
141
+ 2024-12-12 2024-12-18 2025-01-01 2025-01-09 2025-01-31 2025-02-062025-02-09 2025-02-12 2025-02-16 2025-02-25 2025-02-27
146
142
 
147
143
 
148
144
 
149
145
  Bouldering===============================
150
146
  Max Grade Per Session Bouldering
151
147
 
152
-
153
- V7┤ ┏━━━━━━━━━━┓
154
- │ ┃ ┃
155
- │ ┃ ┃
156
- V6┤ ┏━━━━━━━━━┓ ┏━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━┛ ┃
157
- │ ┃ ┃ ┃ ┃ ┃ ┃
158
- │ ┃ ┃ ┃ ┃ ┃ ┃
159
- V5┤ ┃ ┗━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━
160
- │ ┃
161
- │ ┃
162
- V4┤━━━━━━━━━━┛
148
+
149
+ V7┤ ┏━━━━━━━━━━┓
150
+ │ ┃ ┃
151
+ │ ┃ ┃
152
+ V6┤ ┏━━━━━━━━━┓ ┏━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━┛ ┃
153
+ │ ┃ ┃ ┃ ┃ ┃ ┃
154
+ │ ┃ ┃ ┃ ┃ ┃ ┃
155
+ V5┤ ┃ ┗━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━
156
+ │ ┃
157
+ │ ┃
158
+ V4┤━━━━━━━━━━┛
163
159
  └┬──────────┬─────────┬──────────┬──────────┬─────────┬──────────┬──────────┬──────────┬─────────┬──────────┬──────────┬─────────┬──────────┬▶
164
- 2024-12-20 2024-12-282025-01-04 2025-01-08 2025-01-122025-01-19 2025-01-22 2025-01-29 2025-02-022025-02-14 2025-02-18 2025-02-232025-03-02 2025-03-05
160
+ 2024-12-20 2024-12-282025-01-04 2025-01-08 2025-01-122025-01-19 2025-01-22 2025-01-29 2025-02-022025-02-14 2025-02-18 2025-02-232025-03-02 2025-03-05
165
161
 
166
162
  Number of Climbs per session
167
163
 
168
- ▲ █
169
- 48┤ █
170
- │ █
171
- │ █ █
172
- 35┤ █ █ █ █
173
- 30┤ █ █ █ █ █ █ █ █
174
- 25┤ █ █ █ █ █ █ █ █ █ █
175
- 22┤ █ █ █ █ █ █ █ █ █ █ █ █ █
176
- 18┤ █ █ █ █ █ █ █ █ █ █ █ █ █
177
- │█ █ █ █ █ █ █ █ █ █ █ █ █ █
178
- 7┤█ █ █ █ █ █ █ █ █ █ █ █ █ █
164
+ ▲ █
165
+ 48┤ █
166
+ │ █
167
+ │ █ █
168
+ 35┤ █ █ █ █
169
+ 30┤ █ █ █ █ █ █ █ █
170
+ 25┤ █ █ █ █ █ █ █ █ █ █
171
+ 22┤ █ █ █ █ █ █ █ █ █ █ █ █ █
172
+ 18┤ █ █ █ █ █ █ █ █ █ █ █ █ █
173
+ │█ █ █ █ █ █ █ █ █ █ █ █ █ █
174
+ 7┤█ █ █ █ █ █ █ █ █ █ █ █ █ █
179
175
  └┬──────────┬─────────┬──────────┬──────────┬─────────┬──────────┬──────────┬──────────┬─────────┬──────────┬──────────┬─────────┬──────────┬▶
180
- 2024-12-20 2024-12-282025-01-04 2025-01-08 2025-01-122025-01-19 2025-01-22 2025-01-29 2025-02-022025-02-14 2025-02-18 2025-02-232025-03-02 2025-03-05
176
+ 2024-12-20 2024-12-282025-01-04 2025-01-08 2025-01-122025-01-19 2025-01-22 2025-01-29 2025-02-022025-02-14 2025-02-18 2025-02-232025-03-02 2025-03-05
181
177
 
182
178
  Active Minutes Bouldering Per Session
183
179
 
184
- ▲ █
185
- 30┤ █
186
- │ █
187
- │ █ █ █
188
- 22┤ █ █ █ █ █
189
- 18┤ █ █ █ █ █ █
190
- 17┤ █ █ █ █ █ █ █ █ █ █
191
- 13┤ █ █ █ █ █ █ █ █ █ █ █ █ █
192
- 10┤ █ █ █ █ █ █ █ █ █ █ █ █ █
193
- │█ █ █ █ █ █ █ █ █ █ █ █ █ █
194
- 6┤█ █ █ █ █ █ █ █ █ █ █ █ █ █
180
+ ▲ █
181
+ 30┤ █
182
+ │ █
183
+ │ █ █ █
184
+ 22┤ █ █ █ █ █
185
+ 18┤ █ █ █ █ █ █
186
+ 17┤ █ █ █ █ █ █ █ █ █ █
187
+ 13┤ █ █ █ █ █ █ █ █ █ █ █ █ █
188
+ 10┤ █ █ █ █ █ █ █ █ █ █ █ █ █
189
+ │█ █ █ █ █ █ █ █ █ █ █ █ █ █
190
+ 6┤█ █ █ █ █ █ █ █ █ █ █ █ █ █
195
191
  └┬──────────┬─────────┬──────────┬──────────┬─────────┬──────────┬──────────┬──────────┬─────────┬──────────┬──────────┬─────────┬──────────┬▶
196
- 2024-12-20 2024-12-282025-01-04 2025-01-08 2025-01-122025-01-19 2025-01-22 2025-01-29 2025-02-022025-02-14 2025-02-18 2025-02-232025-03-02 2025-03-05
192
+ 2024-12-20 2024-12-282025-01-04 2025-01-08 2025-01-122025-01-19 2025-01-22 2025-01-29 2025-02-022025-02-14 2025-02-18 2025-02-232025-03-02 2025-03-05
197
193
 
198
194
  Approx Boulder Feet By Month
199
195
 
200
- ▲ █
201
- 976┤ █ █
202
- 944┤ █ █
203
- │ █ █
204
- │ █ █
205
- │ █ █
206
- │ █ █
207
- │ █ █
208
- │ █ █
209
- │ █ █
210
- │ █ █ █
211
- 592┤ █ █ █
212
- │ █ █ █
213
- │ █ █ █
214
- │ █ █ █
215
- │ █ █ █
216
- │ █ █ █
217
- │ █ █ █
218
- │ █ █ █
219
- │█ █ █ █
220
- 256┤█ █ █ █
196
+ ▲ █
197
+ 976┤ █ █
198
+ 944┤ █ █
199
+ │ █ █
200
+ │ █ █
201
+ │ █ █
202
+ │ █ █
203
+ │ █ █
204
+ │ █ █
205
+ │ █ █
206
+ │ █ █ █
207
+ 592┤ █ █ █
208
+ │ █ █ █
209
+ │ █ █ █
210
+ │ █ █ █
211
+ │ █ █ █
212
+ │ █ █ █
213
+ │ █ █ █
214
+ │ █ █ █
215
+ │█ █ █ █
216
+ 256┤█ █ █ █
221
217
  └┬─────┬──────┬─────┬▶
222
- 2024-12 2025-02
218
+ 2024-12 2025-02
223
219
  2025-01 2025-03
224
220
 
225
221
  Total Feet By Month Combined
226
222
 
227
- ▲ █
228
- 3285┤ █
229
- │ █
230
- │ █
231
- │ █
232
- │ █
233
- │ █
234
- │ █
235
- │ █
236
- │ █
237
- │ █
238
- │ █
239
- │ █
240
- │ █
241
- │ █ █
242
- 1456┤ █ █
243
- │ █ █
244
- │ █ █
245
- │ █ █
246
- │█ █ █
247
- 876┤█ █ █
223
+ ▲ █
224
+ 3285┤ █
225
+ │ █
226
+ │ █
227
+ │ █
228
+ │ █
229
+ │ █
230
+ │ █
231
+ │ █
232
+ │ █
233
+ │ █
234
+ │ █
235
+ │ █
236
+ │ █
237
+ │ █ █
238
+ 1456┤ █ █
239
+ │ █ █
240
+ │ █ █
241
+ │ █ █
242
+ │█ █ █
243
+ 876┤█ █ █
248
244
  └┬─────────┬────────┬▶
249
- 2024-12 2025-01 2025-02
250
- ```
245
+ 2024-12 2025-01 2025-02
246
+ ```
package/bin/download.js CHANGED
@@ -42,23 +42,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
42
42
  });
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.download = exports.credentialsPath = void 0;
46
- const dotenv = __importStar(require("dotenv"));
47
- const path = require("path");
48
- const homeDir = require("os").homedir();
49
- exports.credentialsPath = path.join(homeDir, ".gc_credentials");
50
- dotenv.config({ path: exports.credentialsPath });
45
+ exports.download = void 0;
51
46
  const fs = __importStar(require("fs"));
52
47
  // @ts-ignore
53
48
  const garmin_connect_1 = require("garmin-connect");
54
49
  const _1 = require(".");
55
- const download = () => __awaiter(void 0, void 0, void 0, function* () {
50
+ const activity_1 = require("garmin-connect/dist/garmin/types/activity");
51
+ const download = (username, password) => __awaiter(void 0, void 0, void 0, function* () {
56
52
  const GCClient = new garmin_connect_1.GarminConnect({
57
- username: process.env.GARMIN_USERNAME || "",
58
- password: process.env.GARMIN_PASSWORD || "",
53
+ username,
54
+ password,
59
55
  });
60
- yield GCClient.login(process.env.GARMIN_USERNAME || "", process.env.GARMIN_PASSWORD || "");
61
- const activities = yield GCClient.getActivities();
56
+ yield GCClient.login(username, password);
57
+ const activities = yield GCClient.getActivities(0, 6000, activity_1.ActivityType.FitnessEquipment,
58
+ // @ts-ignore
59
+ "indoor_climbing");
62
60
  const indoorClimbingActivities = activities === null || activities === void 0 ? void 0 : activities.filter((activity) => { var _a; return ((_a = activity === null || activity === void 0 ? void 0 : activity.activityType) === null || _a === void 0 ? void 0 : _a.typeKey) === "indoor_climbing"; });
63
61
  if (!fs.existsSync(_1.garminDataFolder)) {
64
62
  fs.mkdirSync(_1.garminDataFolder);
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC3B,QAAA,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,uBAAe,EAAE,CAAC,CAAC;AAEzC,uCAAyB;AACzB,aAAa;AACb,mDAA+C;AAC/C,wBAAqC;AAC9B,MAAM,QAAQ,GAAG,GAAwB,EAAE;IAChD,MAAM,QAAQ,GAAG,IAAI,8BAAa,CAAC;QACjC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;QAC3C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;KAC5C,CAAC,CAAC;IAEH,MAAM,QAAQ,CAAC,KAAK,CAClB,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,EACjC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAClC,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;IAElD,MAAM,wBAAwB,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CACjD,CAAC,QAAQ,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,OAAO,MAAK,iBAAiB,CAAA,EAAA,CACpE,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAgB,CAAC,EAAE,CAAC;QACrC,EAAE,CAAC,SAAS,CAAC,mBAAgB,CAAC,CAAC;IACjC,CAAC;IACD,EAAE,CAAC,aAAa,CACd,GAAG,mBAAgB,gCAAgC,EACnD,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC,CAClD,CAAC;IAEF,MAAM,oBAAoB,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAC7C,CAAC,QAAQ,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,OAAO,MAAK,YAAY,CAAA,EAAA,CAC/D,CAAC;IAEF,EAAE,CAAC,aAAa,CACd,GAAG,mBAAgB,4BAA4B,EAC/C,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC,CAAA,CAAC;AAlCW,QAAA,QAAQ,YAkCnB"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,aAAa;AACb,mDAA+C;AAC/C,wBAAqC;AACrC,wEAGmD;AAC5C,MAAM,QAAQ,GAAG,CACtB,QAAgB,EAChB,QAAgB,EACD,EAAE;IACjB,MAAM,QAAQ,GAAG,IAAI,8BAAa,CAAC;QACjC,QAAQ;QACR,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,aAAa,CAC7C,CAAC,EACD,IAAI,EACJ,uBAAY,CAAC,gBAAgB;IAC7B,aAAa;IACb,iBAAiB,CAClB,CAAC;IAEF,MAAM,wBAAwB,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CACjD,CAAC,QAAQ,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,OAAO,MAAK,iBAAiB,CAAA,EAAA,CACpE,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAgB,CAAC,EAAE,CAAC;QACrC,EAAE,CAAC,SAAS,CAAC,mBAAgB,CAAC,CAAC;IACjC,CAAC;IACD,EAAE,CAAC,aAAa,CACd,GAAG,mBAAgB,gCAAgC,EACnD,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC,CAClD,CAAC;IAEF,MAAM,oBAAoB,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAC7C,CAAC,QAAQ,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,0CAAE,OAAO,MAAK,YAAY,CAAA,EAAA,CAC/D,CAAC;IAEF,EAAE,CAAC,aAAa,CACd,GAAG,mBAAgB,4BAA4B,EAC/C,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC,CAAA,CAAC;AAxCW,QAAA,QAAQ,YAwCnB"}
package/bin/index.js CHANGED
@@ -1,69 +1,28 @@
1
1
  #! /usr/bin/env node
2
2
  "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
3
  Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.garminDataFolder = exports.credentialsPath = void 0;
38
- const fs = __importStar(require("fs"));
4
+ exports.garminDataFolder = void 0;
39
5
  const commander_1 = require("commander");
40
6
  const os = require("os");
41
7
  const path = require("path");
42
8
  const homeDir = os.homedir();
43
- exports.credentialsPath = path.join(homeDir, ".gc_credentials");
44
9
  exports.garminDataFolder = path.join(homeDir, ".gc_data");
45
10
  const download_1 = require("./download");
46
11
  const parse_1 = require("./parse");
47
12
  commander_1.program
48
- .command("login")
13
+ .command("download")
14
+ .description("Download activities from Garmin Connect")
49
15
  .option("-u, --username <username>", "Garmin Connect username")
50
16
  .option("-p, --password <password>", "Garmin Connect password")
51
- .description("Set GARMIN_USERNAME and GARMIN_PASSWORD")
52
17
  .action((options) => {
53
18
  const GARMIN_USERNAME = options.username;
54
19
  const GARMIN_PASSWORD = options.password;
55
- const newEnv = `GARMIN_USERNAME=${GARMIN_USERNAME}\nGARMIN_PASSWORD=${GARMIN_PASSWORD}`;
56
- console.log("Setting credentials...");
57
- fs.writeFileSync(exports.credentialsPath, newEnv);
58
- console.log("Credentials set!");
20
+ (0, download_1.download)(GARMIN_USERNAME, GARMIN_PASSWORD);
59
21
  });
60
22
  commander_1.program
61
- .command("download")
62
- .description("Download activities from Garmin Connect")
23
+ .command("charts")
24
+ .description("Parse activities from Garmin Connect")
63
25
  .action(() => {
64
- (0, download_1.download)();
65
- });
66
- commander_1.program.command("charts").description("Parse activities from Garmin Connect").action(() => {
67
26
  console.log("Parsing activities...");
68
27
  (0, parse_1.parse)();
69
28
  });
package/bin/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAyB;AAEzB,yCAAoC;AACpC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAChB,QAAA,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACxD,QAAA,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC/D,yCAAsC;AACtC,mCAAgC;AAEhC,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,2BAA2B,EAAE,yBAAyB,CAAC;KAC9D,MAAM,CAAC,2BAA2B,EAAE,yBAAyB,CAAC;KAC9D,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,MAAM,GAAG,mBAAmB,eAAe,qBAAqB,eAAe,EAAE,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,EAAE,CAAC,aAAa,CAAC,uBAAe,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,mBAAQ,GAAE,CAAC;AACb,CAAC,CAAC,CAAC;AAEL,mBAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;IACxF,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,IAAA,aAAK,GAAE,CAAC;AACV,CAAC,CAAC,CAAC;AAGH,mBAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAEA,yCAAoC;AACpC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAChB,QAAA,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC/D,yCAAsC;AACtC,mCAAgC;AAEhC,mBAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,2BAA2B,EAAE,yBAAyB,CAAC;KAC9D,MAAM,CAAC,2BAA2B,EAAE,yBAAyB,CAAC;KAC9D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IACzC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IACzC,IAAA,mBAAQ,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEL,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,IAAA,aAAK,GAAE,CAAC;AACV,CAAC,CAAC,CAAC;AAEL,mBAAO,CAAC,KAAK,EAAE,CAAC"}
package/bin/parse.js CHANGED
@@ -49,6 +49,7 @@ exports.parse = void 0;
49
49
  const fs = __importStar(require("fs"));
50
50
  const simple_ascii_chart_1 = __importDefault(require("simple-ascii-chart"));
51
51
  const _1 = require(".");
52
+ const YEAR_WIDTH = 12 * 10;
52
53
  const YDS_GRADE_MAP = {
53
54
  _5_6: 0,
54
55
  _5_7: 1,
@@ -173,7 +174,7 @@ const parse = () => __awaiter(void 0, void 0, void 0, function* () {
173
174
  totalFeetByMonthYear[month],
174
175
  ]), "Total Route Feet By Month", {
175
176
  height: 20,
176
- width: 20,
177
+ width: YEAR_WIDTH,
177
178
  barChart: true,
178
179
  formatter: (value, { axis }) => axis === "y" ? value : Object.keys(totalFeetByMonthYear)[value],
179
180
  });
@@ -245,7 +246,7 @@ const parse = () => __awaiter(void 0, void 0, void 0, function* () {
245
246
  totalFeetByMonthYearBouldering[month],
246
247
  ]), "Approx Boulder Feet By Month", {
247
248
  height: 20,
248
- width: 20,
249
+ width: YEAR_WIDTH,
249
250
  barChart: true,
250
251
  formatter: (value, { axis }) => axis === "y"
251
252
  ? value
@@ -261,7 +262,7 @@ const parse = () => __awaiter(void 0, void 0, void 0, function* () {
261
262
  totalFeetByMonthYearCombined[month],
262
263
  ]), "Total Feet By Month Combined", {
263
264
  height: 20,
264
- width: 20,
265
+ width: YEAR_WIDTH,
265
266
  barChart: true,
266
267
  formatter: (value, { axis }) => axis === "y" ? value : Object.keys(totalFeetByMonthYearCombined)[value],
267
268
  });
package/bin/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,4EAAsC;AAGtC,wBAAqC;AAErC,MAAM,aAAa,GAAgB;IACjC,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAU,EAAE;;IAC/C,MAAM,KAAK,GACT,CAAA,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SACvB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,0CAC3C,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,0CACjB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,0CACpB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,KAAI,EAAE,CAAC;IAClC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEK,MAAM,KAAK,GAAG,GAAS,EAAE;IAC9B,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CACzC,EAAE,CAAC,YAAY,CAAC,GAAG,mBAAgB,gCAAgC,EAAE,MAAM,CAAC,CAC7E,CAAC;IAEF,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE;;QACxE,OAAA,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,0CAAG,CAAC,CAAC,0CAAE,SAAS,MAAK,cAAc;YACzD,CAAC,iCAAM,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,0CAAG,CAAC,CAAC,KAAE,KAAK,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,IACrE,CAAC,iCAAM,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,0CAAG,CAAC,CAAC,KAAE,KAAK,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,GAAE,CAAA;KAAA,CAC1E,CAAC;IAEF,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CACrC,EAAE,CAAC,YAAY,CAAC,GAAG,mBAAgB,4BAA4B,EAAE,MAAM,CAAC,CACzE,CAAC;IAEF,MAAM,sBAAsB,GAAG,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAC/C,OAAO,GACR,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE;;QACrB,OAAA,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,0CAAG,CAAC,CAAC,0CAAE,SAAS,MAAK,cAAc;YACzD,CAAC,iCAAM,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,0CAAG,CAAC,CAAC,KAAE,KAAK,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,IACrE,CAAC,iCAAM,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,0CAAG,CAAC,CAAC,KAAE,KAAK,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,GAAE,CAAA;KAAA,EAE1E,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,MAAK,CAAC,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IAE9E,MAAM,aAAa,GAAG,CAAC,IAAW,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,IAAA,4BAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,aAAa,CACX,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CACd,OAAO,GACR,GAAG,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE;;QAAC,OAAA;YAClC,KAAK;YACL,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,0CAAE,QAAQ,CAAC;SAChD,CAAA;KAAA,CAAC,EACJ,uCAAuC,EACvC;QACE,KAAK,EAAE,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,IAAG,EAAE;QACtC,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE;;YAC1C,OAAA,IAAI,KAAK,GAAG;gBACV,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE;gBAC3B,CAAC,CAAC,MAAA,MAAA,kBAAkB,CAAC,KAAK,CAAC,0CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;SAAA;KACtD,CACF,CAAC;IAEF,aAAa,CACX,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,GAAG,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE,CAAC;QACrD,KAAK;QACL,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa;KACrB,CAAC,EACF,6BAA6B,EAC7B;QACE,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,IAAG,EAAE;QACtC,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE,eAC1C,OAAA,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAA,kBAAkB,CAAC,KAAK,CAAC,0CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,EAAA;KACzE,CACF,CAAC;IAEF,aAAa,CACX,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,GAAG,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE,CAAC;QACrD,KAAK;QACL,YAAY,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAC;KACjC,CAAC,EACF,wBAAwB,EACxB;QACE,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,IAAG,EAAE;QACtC,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE,eAC1C,OAAA,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAA,kBAAkB,CAAC,KAAK,CAAC,0CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,EAAA;KACzE,CACF,CAAC;IAEF,MAAM,oBAAoB,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,CACrD,CAAC,GAAQ,EAAE,KAAU,EAAE,EAAE;;QACvB,MAAM,KAAK,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;YACrB,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,aAAa,CACX,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9D,KAAK;QACL,oBAAoB,CAAC,KAAK,CAAC;KAC5B,CAAC,EACF,2BAA2B,EAC3B;QACE,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE,CAC1C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC;KAClE,CACF,CAAC;IAEF,aAAa,CACX,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,GAAG,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE,CAAC;QACrD,KAAK;QACL,IAAI,CAAC,KAAK,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,IAAG,EAAE,CAAC;KACjC,CAAC,EACF,4BAA4B,EAC5B;QACE,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,IAAG,EAAE;QACtC,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE,eAC1C,OAAA,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,MAAA,kBAAkB,CAAC,KAAK,CAAC,0CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,EAAA;KACzE,CACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,aAAa,CACX,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,GAAG,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE;;QAAC,OAAA;YACzD,KAAK;YACL,QAAQ,CAAC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,0CAAE,QAAQ,0CAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SAC7D,CAAA;KAAA,CAAC,EACF,kCAAkC,EAClC;QACE,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,CAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,IAAG,EAAE;QAC1C,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE;;YAC1C,OAAA,IAAI,KAAK,GAAG;gBACV,CAAC,CAAC,IAAI,KAAK,EAAE;gBACb,CAAC,CAAC,MAAA,MAAA,sBAAsB,CAAC,KAAK,CAAC,0CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;SAAA;KAC1D,CACF,CAAC;IAEF,aAAa,CACX,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,GAAG,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE,CAAC;QACzD,KAAK;QACL,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU;KAClB,CAAC,EACF,8BAA8B,EAC9B;QACE,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,IAAG,EAAE;QAC1C,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE;;YAC1C,OAAA,IAAI,KAAK,GAAG;gBACV,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,MAAA,MAAA,sBAAsB,CAAC,KAAK,CAAC,0CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;SAAA;KAC1D,CACF,CAAC;IAEF,aAAa,CACX,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,GAAG,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE,CAAC;QACzD,KAAK;QACL,IAAI,CAAC,KAAK,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,IAAG,EAAE,CAAC;KACjC,CAAC,EACF,uCAAuC,EACvC;QACE,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,IAAG,EAAE;QAC1C,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE;;YAC1C,OAAA,IAAI,KAAK,GAAG;gBACV,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,MAAA,MAAA,sBAAsB,CAAC,KAAK,CAAC,0CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;SAAA;KAC1D,CACF,CAAC;IAEF,0BAA0B;IAC1B,MAAM,8BAA8B,GAAG,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,CACnE,CAAC,GAAQ,EAAE,KAAU,EAAE,EAAE;;QACvB,MAAM,KAAK,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;YACrB,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,IAAG,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,aAAa,CACX,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,KAAK,EAAE,EAAE,CAAC;QACxE,KAAK;QACL,8BAA8B,CAAC,KAAK,CAAC;KACtC,CAAC,EACF,8BAA8B,EAC9B;QACE,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE,CAC1C,IAAI,KAAK,GAAG;YACV,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC;KACzD,CACF,CAAC;IAEF,MAAM,4BAA4B,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAC3E,CAAC,GAAQ,EAAE,GAAW,EAAE,EAAE;QACxB,GAAG,CAAC,GAAG,CAAC;YACN,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IACF,aAAa,CACX,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,KAAK,EAAE,EAAE,CAAC;QACtE,KAAK;QACL,4BAA4B,CAAC,KAAK,CAAC;KACpC,CAAC,EACF,8BAA8B,EAC9B;QACE,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE,CAC1C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,KAAK,CAAC;KAC1E,CACF,CAAC;AACJ,CAAC,CAAA,CAAC;AA5NW,QAAA,KAAK,SA4NhB"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "garminclimb",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/src/download.ts CHANGED
@@ -1,26 +1,29 @@
1
- import * as dotenv from "dotenv";
2
-
3
- const path = require("path");
4
- const homeDir = require("os").homedir();
5
- export const credentialsPath = path.join(homeDir, ".gc_credentials");
6
- dotenv.config({ path: credentialsPath });
7
-
8
1
  import * as fs from "fs";
9
2
  // @ts-ignore
10
3
  import { GarminConnect } from "garmin-connect";
11
4
  import { garminDataFolder } from ".";
12
- export const download = async (): Promise<void> => {
5
+ import {
6
+ ActivitySubType,
7
+ ActivityType,
8
+ } from "garmin-connect/dist/garmin/types/activity";
9
+ export const download = async (
10
+ username: string,
11
+ password: string
12
+ ): Promise<void> => {
13
13
  const GCClient = new GarminConnect({
14
- username: process.env.GARMIN_USERNAME || "",
15
- password: process.env.GARMIN_PASSWORD || "",
14
+ username,
15
+ password,
16
16
  });
17
17
 
18
- await GCClient.login(
19
- process.env.GARMIN_USERNAME || "",
20
- process.env.GARMIN_PASSWORD || ""
18
+ await GCClient.login(username, password);
19
+
20
+ const activities = await GCClient.getActivities(
21
+ 0,
22
+ 6000,
23
+ ActivityType.FitnessEquipment,
24
+ // @ts-ignore
25
+ "indoor_climbing"
21
26
  );
22
-
23
- const activities = await GCClient.getActivities();
24
27
 
25
28
  const indoorClimbingActivities = activities?.filter(
26
29
  (activity) => activity?.activityType?.typeKey === "indoor_climbing"
package/src/index.ts CHANGED
@@ -1,41 +1,30 @@
1
1
  #! /usr/bin/env node
2
2
 
3
- import * as fs from "fs";
4
-
5
3
  import { program } from "commander";
6
4
  const os = require("os");
7
5
  const path = require("path");
8
6
  const homeDir = os.homedir();
9
- export const credentialsPath = path.join(homeDir, ".gc_credentials");
10
7
  export const garminDataFolder = path.join(homeDir, ".gc_data");
11
8
  import { download } from "./download";
12
9
  import { parse } from "./parse";
13
10
 
14
11
  program
15
- .command("login")
12
+ .command("download")
13
+ .description("Download activities from Garmin Connect")
16
14
  .option("-u, --username <username>", "Garmin Connect username")
17
15
  .option("-p, --password <password>", "Garmin Connect password")
18
- .description("Set GARMIN_USERNAME and GARMIN_PASSWORD")
19
16
  .action((options) => {
20
17
  const GARMIN_USERNAME = options.username;
21
18
  const GARMIN_PASSWORD = options.password;
22
- const newEnv = `GARMIN_USERNAME=${GARMIN_USERNAME}\nGARMIN_PASSWORD=${GARMIN_PASSWORD}`;
23
- console.log("Setting credentials...");
24
- fs.writeFileSync(credentialsPath, newEnv);
25
- console.log("Credentials set!");
19
+ download(GARMIN_USERNAME, GARMIN_PASSWORD);
26
20
  });
27
21
 
28
22
  program
29
- .command("download")
30
- .description("Download activities from Garmin Connect")
23
+ .command("charts")
24
+ .description("Parse activities from Garmin Connect")
31
25
  .action(() => {
32
- download();
26
+ console.log("Parsing activities...");
27
+ parse();
33
28
  });
34
29
 
35
- program.command("charts").description("Parse activities from Garmin Connect").action(() => {
36
- console.log("Parsing activities...");
37
- parse();
38
- });
39
-
40
-
41
30
  program.parse();
package/src/parse.ts CHANGED
@@ -4,6 +4,8 @@ import plot from "simple-ascii-chart";
4
4
  type YDSGradeMap = { [key: string]: number };
5
5
  import { garminDataFolder } from ".";
6
6
 
7
+ const YEAR_WIDTH = 12 * 10;
8
+
7
9
  const YDS_GRADE_MAP: YDSGradeMap = {
8
10
  _5_6: 0,
9
11
  _5_7: 1,
@@ -166,7 +168,7 @@ export const parse = async () => {
166
168
  "Total Route Feet By Month",
167
169
  {
168
170
  height: 20,
169
- width: 20,
171
+ width: YEAR_WIDTH,
170
172
  barChart: true,
171
173
  formatter: (value: number, { axis }: any) =>
172
174
  axis === "y" ? value : Object.keys(totalFeetByMonthYear)[value],
@@ -259,7 +261,7 @@ export const parse = async () => {
259
261
  "Approx Boulder Feet By Month",
260
262
  {
261
263
  height: 20,
262
- width: 20,
264
+ width: YEAR_WIDTH,
263
265
  barChart: true,
264
266
  formatter: (value: number, { axis }: any) =>
265
267
  axis === "y"
@@ -284,7 +286,7 @@ export const parse = async () => {
284
286
  "Total Feet By Month Combined",
285
287
  {
286
288
  height: 20,
287
- width: 20,
289
+ width: YEAR_WIDTH,
288
290
  barChart: true,
289
291
  formatter: (value: number, { axis }: any) =>
290
292
  axis === "y" ? value : Object.keys(totalFeetByMonthYearCombined)[value],
package/tsconfig.json CHANGED
@@ -1,21 +1,15 @@
1
1
  {
2
- "compilerOptions": {
3
- "rootDir": "src",
4
- "outDir": "bin",
5
- "strict": true,
6
- "target": "es6",
7
- "module": "commonjs",
8
- "sourceMap": true,
9
- "esModuleInterop": true,
10
- "moduleResolution": "node",
11
-
12
- },
13
- "include": [
14
- "src/**/*"
15
- ],
16
- "exclude": [
17
- "node_modules/",
18
- "**/*.spec.ts",
19
- "**/*.js",
20
- ]
21
- }
2
+ "compilerOptions": {
3
+ "rootDir": "src",
4
+ "outDir": "bin",
5
+ "strict": true,
6
+ "target": "es6",
7
+ "module": "commonjs",
8
+ "sourceMap": true,
9
+ "esModuleInterop": true,
10
+ "moduleResolution": "node",
11
+ "skipLibCheck": true
12
+ },
13
+ "include": ["src/**/*"],
14
+ "exclude": ["node_modules/", "**/*.spec.ts", "**/*.js"]
15
+ }
@@ -0,0 +1 @@
1
+ {"root":["./src/download.ts","./src/index.ts","./src/parse.ts"],"errors":true,"version":"5.8.2"}