@prosopo/client-example-server 2.7.56 → 2.7.91

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/client-example-server@2.7.56 build:cjs
2
+ > @prosopo/client-example-server@2.7.91 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
@@ -25,8 +25,9 @@ ViteCommonJSConfig: .
25
25
  tsConfigPaths: [
26
26
  '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
27
27
  '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
28
- '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
28
+ '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
29
29
  '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
30
+ '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
30
31
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json',
31
32
  '/home/runner/work/captcha/captcha/packages/dotenv/tsconfig.json',
32
33
  '/home/runner/work/captcha/captcha/packages/server/tsconfig.json',
@@ -39,8 +40,9 @@ ViteCommonJSConfig: .
39
40
  externals: [
40
41
  '@prosopo/common',
41
42
  '@prosopo/locale',
42
- '@prosopo/types',
43
+ '@prosopo/logger',
43
44
  '@prosopo/util',
45
+ '@prosopo/types',
44
46
  '@prosopo/util-crypto',
45
47
  '@prosopo/dotenv',
46
48
  '@prosopo/server',
@@ -58,8 +60,8 @@ Build end
58
60
  rendering chunks...
59
61
  dist/cjs/utils/connection.cjs 0.43 kB
60
62
  dist/cjs/models/user.cjs 0.45 kB
61
- dist/cjs/routes/routes.cjs 0.71 kB
63
+ dist/cjs/routes/routes.cjs 0.80 kB
62
64
  dist/cjs/utils/database.cjs 1.61 kB
63
- dist/cjs/app.cjs 3.51 kB
64
- dist/cjs/controllers/auth.cjs 5.71 kB
65
- ✓ built in 280ms
65
+ dist/cjs/app.cjs 4.98 kB
66
+ dist/cjs/controllers/auth.cjs 8.12 kB
67
+ ✓ built in 224ms
@@ -1,11 +1,12 @@
1
1
 
2
- > @prosopo/client-example-server@2.7.56 build:tsc
2
+ > @prosopo/client-example-server@2.7.91 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 4:57:12 PM - Projects in this build:
5
+ 10:13:31 AM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../../packages/locale/tsconfig.json
8
8
  * ../../packages/util/tsconfig.json
9
+ * ../../packages/logger/tsconfig.json
9
10
  * ../../packages/util-crypto/tsconfig.json
10
11
  * ../../packages/types/tsconfig.json
11
12
  * ../../packages/common/tsconfig.json
@@ -16,29 +17,31 @@
16
17
  * ../../packages/server/tsconfig.json
17
18
  * tsconfig.json
18
19
 
19
- 4:57:12 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/dependencies.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
20
+ 10:13:31 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
20
21
 
21
- 4:57:12 PM - Project '../../packages/locale/tsconfig.json' is up to date because newest input '../../packages/locale/src/translationKey.ts' is older than output '../../packages/locale/tsconfig.tsbuildinfo'
22
+ 10:13:31 AM - Project '../../packages/locale/tsconfig.json' is up to date because newest input '../../packages/locale/src/util.ts' is older than output '../../packages/locale/tsconfig.tsbuildinfo'
22
23
 
23
- 4:57:12 PM - Project '../../packages/util/tsconfig.json' is up to date because newest input '../../packages/util/src/verifyRecency.ts' is older than output '../../packages/util/tsconfig.tsbuildinfo'
24
+ 10:13:31 AM - Project '../../packages/util/tsconfig.json' is up to date because newest input '../../packages/util/src/url.ts' is older than output '../../packages/util/tsconfig.tsbuildinfo'
24
25
 
25
- 4:57:13 PM - Project '../../packages/util-crypto/tsconfig.json' is up to date because newest input '../../packages/util-crypto/src/types.ts' is older than output '../../packages/util-crypto/tsconfig.tsbuildinfo'
26
+ 10:13:31 AM - Project '../../packages/logger/tsconfig.json' is up to date because newest input '../../packages/logger/src/index.ts' is older than output '../../packages/logger/tsconfig.tsbuildinfo'
26
27
 
27
- 4:57:13 PM - Project '../../packages/types/tsconfig.json' is up to date because newest input '../../packages/types/src/procaptcha/api.ts' is older than output '../../packages/types/tsconfig.tsbuildinfo'
28
+ 10:13:31 AM - Project '../../packages/util-crypto/tsconfig.json' is up to date because newest input '../../packages/util-crypto/src/types.ts' is older than output '../../packages/util-crypto/tsconfig.tsbuildinfo'
28
29
 
29
- 4:57:13 PM - Project '../../packages/common/tsconfig.json' is up to date because newest input '../../packages/common/src/logger.ts' is older than output '../../packages/common/tsconfig.tsbuildinfo'
30
+ 10:13:31 AM - Project '../../packages/types/tsconfig.json' is up to date because newest input '../../packages/types/src/procaptcha/api.ts' is older than output '../../packages/types/tsconfig.tsbuildinfo'
30
31
 
31
- 4:57:13 PM - Project '../../packages/dotenv/tsconfig.json' is up to date because newest input '../../packages/dotenv/src/env.ts' is older than output '../../packages/dotenv/tsconfig.tsbuildinfo'
32
+ 10:13:31 AM - Project '../../packages/common/tsconfig.json' is up to date because newest input '../../packages/common/src/index.ts' is older than output '../../packages/common/tsconfig.tsbuildinfo'
32
33
 
33
- 4:57:13 PM - Project '../../packages/api/tsconfig.json' is up to date because newest input '../../packages/api/src/index.ts' is older than output '../../packages/api/tsconfig.tsbuildinfo'
34
+ 10:13:31 AM - Project '../../packages/dotenv/tsconfig.json' is up to date because newest input '../../packages/dotenv/src/index.ts' is older than output '../../packages/dotenv/tsconfig.tsbuildinfo'
34
35
 
35
- 4:57:13 PM - Project '../../packages/keyring/tsconfig.json' is up to date because newest input '../../packages/keyring/src/index.ts' is older than output '../../packages/keyring/tsconfig.tsbuildinfo'
36
+ 10:13:31 AM - Project '../../packages/api/tsconfig.json' is up to date because newest input '../../packages/api/src/index.ts' is older than output '../../packages/api/tsconfig.tsbuildinfo'
36
37
 
37
- 4:57:13 PM - Project '../../packages/load-balancer/tsconfig.json' is up to date because newest input '../../packages/load-balancer/src/balancer.ts' is older than output '../../packages/load-balancer/tsconfig.tsbuildinfo'
38
+ 10:13:31 AM - Project '../../packages/keyring/tsconfig.json' is up to date because newest input '../../packages/keyring/src/index.ts' is older than output '../../packages/keyring/tsconfig.tsbuildinfo'
38
39
 
39
- 4:57:13 PM - Project '../../packages/server/tsconfig.json' is up to date because newest input '../../packages/server/src/config.ts' is older than output '../../packages/server/tsconfig.tsbuildinfo'
40
+ 10:13:31 AM - Project '../../packages/load-balancer/tsconfig.json' is up to date because newest input '../../packages/load-balancer/src/balancer.ts' is older than output '../../packages/load-balancer/tsconfig.tsbuildinfo'
40
41
 
41
- 4:57:13 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
42
+ 10:13:31 AM - Project '../../packages/server/tsconfig.json' is up to date because newest input '../../packages/server/src/config.ts' is older than output '../../packages/server/tsconfig.tsbuildinfo'
42
43
 
43
- 4:57:13 PM - Building project '/home/runner/work/captcha/captcha/demos/client-example-server/tsconfig.json'...
44
+ 10:13:31 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
45
+
46
+ 10:13:31 AM - Building project '/home/runner/work/captcha/captcha/demos/client-example-server/tsconfig.json'...
44
47
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/client-example-server@2.7.56 build
2
+ > @prosopo/client-example-server@2.7.91 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/client-example-server@2.7.56 build:cross-env
6
+ > @prosopo/client-example-server@2.7.91 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]
@@ -29,8 +29,9 @@ ViteEsmConfig: .
29
29
  tsConfigPaths: [
30
30
  '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
31
31
  '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
32
- '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
32
+ '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
33
33
  '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
34
+ '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
34
35
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json',
35
36
  '/home/runner/work/captcha/captcha/packages/dotenv/tsconfig.json',
36
37
  '/home/runner/work/captcha/captcha/packages/server/tsconfig.json',
@@ -43,8 +44,9 @@ ViteEsmConfig: .
43
44
  externals: [
44
45
  '@prosopo/common',
45
46
  '@prosopo/locale',
46
- '@prosopo/types',
47
+ '@prosopo/logger',
47
48
  '@prosopo/util',
49
+ '@prosopo/types',
48
50
  '@prosopo/util-crypto',
49
51
  '@prosopo/dotenv',
50
52
  '@prosopo/server',
@@ -62,7 +64,7 @@ rendering chunks...
62
64
  dist/utils/database.js 0.30 kB
63
65
  dist/utils/connection.js 0.41 kB
64
66
  dist/models/user.js 0.44 kB
65
- dist/routes/routes.js 0.70 kB
66
- dist/app.js 3.07 kB
67
- dist/controllers/auth.js 5.49 kB
68
- ✓ built in 253ms
67
+ dist/routes/routes.js 0.79 kB
68
+ dist/app.js 4.36 kB
69
+ dist/controllers/auth.js 7.52 kB
70
+ ✓ built in 202ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,346 @@
1
1
  # @prosopo/client-example-server
2
2
 
3
+ ## 2.7.91
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [b03dad1]
7
+ - @prosopo/types@4.3.1
8
+ - @prosopo/keyring@2.9.35
9
+ - @prosopo/server@2.10.13
10
+
11
+ ## 2.7.90
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [a1d60db]
15
+ - Updated dependencies [2392aaf]
16
+ - Updated dependencies [97cf7bd]
17
+ - Updated dependencies [6ca1125]
18
+ - Updated dependencies [32a591b]
19
+ - @prosopo/types@4.3.0
20
+ - @prosopo/logger@1.0.2
21
+ - @prosopo/util@3.2.15
22
+ - @prosopo/common@3.1.38
23
+ - @prosopo/keyring@2.9.34
24
+ - @prosopo/server@2.10.12
25
+ - @prosopo/dotenv@3.0.43
26
+
27
+ ## 2.7.89
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies [6c26669]
31
+ - Updated dependencies [f7f9ec5]
32
+ - @prosopo/types@4.2.1
33
+ - @prosopo/keyring@2.9.33
34
+ - @prosopo/server@2.10.11
35
+
36
+ ## 2.7.88
37
+ ### Patch Changes
38
+
39
+ - 0fd81af: Extract the logger into its own `@prosopo/logger` package, out of `@prosopo/common`. Consumers now import logger symbols from `@prosopo/logger`; `@prosopo/common` no longer re-exports them. Unused `@prosopo/common` dependencies pruned where the only usage was the logger.
40
+ - Updated dependencies [0fd81af]
41
+ - @prosopo/common@3.1.37
42
+ - @prosopo/dotenv@3.0.42
43
+ - @prosopo/logger@1.0.1
44
+ - @prosopo/server@2.10.10
45
+ - @prosopo/keyring@2.9.32
46
+
47
+ ## 2.7.87
48
+ ### Patch Changes
49
+
50
+ - Updated dependencies [20cae63]
51
+ - Updated dependencies [4d9923e]
52
+ - @prosopo/types@4.2.0
53
+ - @prosopo/keyring@2.9.31
54
+ - @prosopo/server@2.10.9
55
+
56
+ ## 2.7.86
57
+ ### Patch Changes
58
+
59
+ - Updated dependencies [d351362]
60
+ - @prosopo/types@4.1.4
61
+ - @prosopo/keyring@2.9.30
62
+ - @prosopo/server@2.10.8
63
+
64
+ ## 2.7.85
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [6567ce0]
68
+ - Updated dependencies [e2711ae]
69
+ - Updated dependencies [5786629]
70
+ - @prosopo/util@3.2.14
71
+ - @prosopo/types@4.1.3
72
+ - @prosopo/keyring@2.9.29
73
+ - @prosopo/server@2.10.7
74
+ - @prosopo/common@3.1.36
75
+ - @prosopo/dotenv@3.0.41
76
+
77
+ ## 2.7.84
78
+ ### Patch Changes
79
+
80
+ - Updated dependencies [72a1218]
81
+ - @prosopo/util@3.2.13
82
+ - @prosopo/keyring@2.9.28
83
+ - @prosopo/server@2.10.6
84
+ - @prosopo/types@4.1.2
85
+
86
+ ## 2.7.83
87
+ ### Patch Changes
88
+
89
+ - Updated dependencies [91958da]
90
+ - @prosopo/types@4.1.1
91
+ - @prosopo/common@3.1.35
92
+ - @prosopo/server@2.10.5
93
+ - @prosopo/keyring@2.9.27
94
+ - @prosopo/dotenv@3.0.40
95
+
96
+ ## 2.7.82
97
+ ### Patch Changes
98
+
99
+ - Updated dependencies [6a741ce]
100
+ - @prosopo/types@4.1.0
101
+ - @prosopo/keyring@2.9.26
102
+ - @prosopo/server@2.10.4
103
+
104
+ ## 2.7.81
105
+ ### Patch Changes
106
+
107
+ - Updated dependencies [3c0be68]
108
+ - Updated dependencies [f9ea09d]
109
+ - Updated dependencies [4aae4e6]
110
+ - Updated dependencies [d865319]
111
+ - Updated dependencies [753304b]
112
+ - Updated dependencies [8bb7286]
113
+ - Updated dependencies [f9ea09d]
114
+ - Updated dependencies [4aae4e6]
115
+ - Updated dependencies [4993813]
116
+ - @prosopo/types@4.0.0
117
+ - @prosopo/util@3.2.12
118
+ - @prosopo/keyring@2.9.25
119
+ - @prosopo/common@3.1.34
120
+ - @prosopo/server@2.10.3
121
+ - @prosopo/dotenv@3.0.39
122
+
123
+ ## 2.7.80
124
+ ### Patch Changes
125
+
126
+ - Updated dependencies [819ed95]
127
+ - @prosopo/types@3.16.1
128
+ - @prosopo/keyring@2.9.24
129
+ - @prosopo/server@2.10.2
130
+
131
+ ## 2.7.79
132
+ ### Patch Changes
133
+
134
+ - Updated dependencies [f6a4402]
135
+ - Updated dependencies [99dfb44]
136
+ - @prosopo/types@3.16.0
137
+ - @prosopo/keyring@2.9.23
138
+ - @prosopo/server@2.10.1
139
+
140
+ ## 2.7.78
141
+ ### Patch Changes
142
+
143
+ - Updated dependencies [3e54c0a]
144
+ - @prosopo/server@2.10.0
145
+ - @prosopo/types@3.15.0
146
+ - @prosopo/keyring@2.9.22
147
+
148
+ ## 2.7.77
149
+ ### Patch Changes
150
+
151
+ - Updated dependencies [946a8ba]
152
+ - Updated dependencies [5614814]
153
+ - @prosopo/types@3.14.1
154
+ - @prosopo/common@3.1.33
155
+ - @prosopo/keyring@2.9.21
156
+ - @prosopo/server@2.9.73
157
+ - @prosopo/dotenv@3.0.38
158
+
159
+ ## 2.7.76
160
+ ### Patch Changes
161
+
162
+ - Updated dependencies [fc514dd]
163
+ - Updated dependencies [42650db]
164
+ - @prosopo/types@3.14.0
165
+ - @prosopo/common@3.1.32
166
+ - @prosopo/keyring@2.9.20
167
+ - @prosopo/server@2.9.72
168
+ - @prosopo/dotenv@3.0.37
169
+
170
+ ## 2.7.75
171
+ ### Patch Changes
172
+
173
+ - Updated dependencies [4a9c518]
174
+ - @prosopo/common@3.1.31
175
+ - @prosopo/dotenv@3.0.36
176
+ - @prosopo/keyring@2.9.19
177
+ - @prosopo/server@2.9.71
178
+
179
+ ## 2.7.74
180
+ ### Patch Changes
181
+
182
+ - Updated dependencies [a25dffa]
183
+ - @prosopo/util@3.2.11
184
+ - @prosopo/keyring@2.9.18
185
+ - @prosopo/server@2.9.70
186
+ - @prosopo/types@3.13.3
187
+
188
+ ## 2.7.73
189
+ ### Patch Changes
190
+
191
+ - Updated dependencies [346edd7]
192
+ - @prosopo/util@3.2.10
193
+ - @prosopo/keyring@2.9.17
194
+ - @prosopo/server@2.9.69
195
+ - @prosopo/types@3.13.2
196
+
197
+ ## 2.7.72
198
+ ### Patch Changes
199
+
200
+ - Updated dependencies [22bfee7]
201
+ - @prosopo/util@3.2.9
202
+ - @prosopo/keyring@2.9.16
203
+ - @prosopo/server@2.9.68
204
+ - @prosopo/types@3.13.1
205
+
206
+ ## 2.7.71
207
+ ### Patch Changes
208
+
209
+ - Updated dependencies [e0fb3d6]
210
+ - Updated dependencies [e6d9553]
211
+ - Updated dependencies [f3f23e3]
212
+ - @prosopo/util@3.2.8
213
+ - @prosopo/types@3.13.0
214
+ - @prosopo/keyring@2.9.15
215
+ - @prosopo/server@2.9.67
216
+
217
+ ## 2.7.70
218
+ ### Patch Changes
219
+
220
+ - 731f7fc: Fix client example server ports
221
+ - Updated dependencies [d5082a9]
222
+ - Updated dependencies [e1ea65f]
223
+ - Updated dependencies [c316257]
224
+ - @prosopo/types@3.12.3
225
+ - @prosopo/util@3.2.7
226
+ - @prosopo/server@2.9.66
227
+ - @prosopo/keyring@2.9.14
228
+
229
+ ## 2.7.69
230
+ ### Patch Changes
231
+
232
+ - Updated dependencies [adb89a6]
233
+ - @prosopo/server@2.9.65
234
+ - @prosopo/types@3.12.2
235
+ - @prosopo/util@3.2.6
236
+ - @prosopo/common@3.1.30
237
+ - @prosopo/keyring@2.9.13
238
+ - @prosopo/dotenv@3.0.35
239
+
240
+ ## 2.7.68
241
+ ### Patch Changes
242
+
243
+ - Updated dependencies [c5ee492]
244
+ - Updated dependencies [a90eb54]
245
+ - @prosopo/common@3.1.29
246
+ - @prosopo/types@3.12.1
247
+ - @prosopo/dotenv@3.0.34
248
+ - @prosopo/keyring@2.9.12
249
+ - @prosopo/server@2.9.64
250
+
251
+ ## 2.7.67
252
+ ### Patch Changes
253
+
254
+ - 759d4e6: Dynamic server secrets for client example server
255
+ - 676c5f2: Use HTTPS in developmentwq
256
+ - c1d738f: Update env for tests
257
+ - Updated dependencies [676c5f2]
258
+ - Updated dependencies [feaca02]
259
+ - @prosopo/keyring@2.9.11
260
+ - @prosopo/server@2.9.63
261
+ - @prosopo/types@3.12.0
262
+
263
+ ## 2.7.66
264
+ ### Patch Changes
265
+
266
+ - Updated dependencies [8148587]
267
+ - @prosopo/types@3.11.1
268
+ - @prosopo/keyring@2.9.10
269
+ - @prosopo/server@2.9.62
270
+
271
+ ## 2.7.65
272
+ ### Patch Changes
273
+
274
+ - Updated dependencies [7f6ffc5]
275
+ - @prosopo/types@3.11.0
276
+ - @prosopo/keyring@2.9.9
277
+ - @prosopo/server@2.9.61
278
+
279
+ ## 2.7.64
280
+ ### Patch Changes
281
+
282
+ - Updated dependencies [93fa086]
283
+ - @prosopo/types@3.10.2
284
+ - @prosopo/keyring@2.9.8
285
+ - @prosopo/server@2.9.60
286
+
287
+ ## 2.7.63
288
+ ### Patch Changes
289
+
290
+ - Updated dependencies [cde7550]
291
+ - @prosopo/types@3.10.1
292
+ - @prosopo/keyring@2.9.7
293
+ - @prosopo/server@2.9.59
294
+
295
+ ## 2.7.62
296
+ ### Patch Changes
297
+
298
+ - ced9f41: Fix incorrect projection
299
+ - Updated dependencies [ad6d622]
300
+ - @prosopo/types@3.10.0
301
+ - @prosopo/keyring@2.9.6
302
+ - @prosopo/server@2.9.58
303
+
304
+ ## 2.7.61
305
+ ### Patch Changes
306
+
307
+ - Updated dependencies [ff58a70]
308
+ - @prosopo/types@3.9.0
309
+ - @prosopo/keyring@2.9.5
310
+ - @prosopo/server@2.9.57
311
+
312
+ ## 2.7.60
313
+ ### Patch Changes
314
+
315
+ - Updated dependencies [d2431cd]
316
+ - @prosopo/types@3.8.4
317
+ - @prosopo/keyring@2.9.4
318
+ - @prosopo/server@2.9.56
319
+
320
+ ## 2.7.59
321
+ ### Patch Changes
322
+
323
+ - Updated dependencies [bd6995b]
324
+ - @prosopo/types@3.8.3
325
+ - @prosopo/keyring@2.9.3
326
+ - @prosopo/server@2.9.55
327
+
328
+ ## 2.7.58
329
+ ### Patch Changes
330
+
331
+ - Updated dependencies [9633e58]
332
+ - @prosopo/types@3.8.2
333
+ - @prosopo/keyring@2.9.2
334
+ - @prosopo/server@2.9.54
335
+
336
+ ## 2.7.57
337
+ ### Patch Changes
338
+
339
+ - Updated dependencies [f52a5c1]
340
+ - @prosopo/types@3.8.1
341
+ - @prosopo/keyring@2.9.1
342
+ - @prosopo/server@2.9.53
343
+
3
344
  ## 2.7.56
4
345
  ### Patch Changes
5
346
 
package/dist/app.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare function getEnvFile(filename?: string, filepath?: string): string;
1
+ export {};
2
2
  //# sourceMappingURL=app.d.ts.map
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AA0BA,wBAAgB,UAAU,CAAC,QAAQ,SAAS,EAAE,QAAQ,SAAO,UAG5D"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":""}
package/dist/app.js CHANGED
@@ -1,6 +1,11 @@
1
+ import fs from "node:fs";
2
+ import http from "node:http";
3
+ import https from "node:https";
1
4
  import path from "node:path";
2
- import { getLogger, ProsopoEnvError } from "@prosopo/common";
5
+ import { fileURLToPath } from "node:url";
6
+ import { ProsopoEnvError } from "@prosopo/common";
3
7
  import { loadEnv } from "@prosopo/dotenv";
8
+ import { getLogger } from "@prosopo/logger";
4
9
  import { getServerConfig } from "@prosopo/server";
5
10
  import { at } from "@prosopo/util";
6
11
  import cors from "cors";
@@ -9,10 +14,6 @@ import getRoutes from "./routes/routes.js";
9
14
  import connectionFactory from "./utils/connection.js";
10
15
  import { memoryServerSetup } from "./utils/database.js";
11
16
  loadEnv();
12
- function getEnvFile(filename = ".env", filepath = "./") {
13
- const env = process.env.NODE_ENV || "development";
14
- return path.join(filepath, `${filename}.${env}`);
15
- }
16
17
  var ProsopoVerificationType = /* @__PURE__ */ ((ProsopoVerificationType2) => {
17
18
  ProsopoVerificationType2["api"] = "api";
18
19
  ProsopoVerificationType2["local"] = "local";
@@ -23,6 +24,7 @@ async function main() {
23
24
  loadEnv();
24
25
  const apiPrefix = process.env.NODE_ENV && process.env.NODE_ENV === "production" ? "" : `${process.env.NODE_ENV}-`;
25
26
  const verifyEndpoint = process.env.PROSOPO_VERIFY_ENDPOINT || `https://${apiPrefix}api.prosopo.io/siteverify`;
27
+ logger.info(() => ({ data: { verifyEndpoint } }));
26
28
  const verifyType = Object.keys(
27
29
  ProsopoVerificationType
28
30
  ).includes(process.env.PROSOPO_VERIFICATION_TYPE) ? process.env.PROSOPO_VERIFICATION_TYPE : "api";
@@ -46,8 +48,10 @@ async function main() {
46
48
  app.options("/*", (_, res) => {
47
49
  res.sendStatus(200);
48
50
  });
49
- if (!process.env.MONGO_URI && process.env.NODE_ENV !== "development") {
50
- throw new Error("Cannot run mongo memory in non-development environment");
51
+ if (!process.env.MONGO_URI && process.env.NODE_ENV !== "development" && process.env.NODE_ENV !== "test") {
52
+ throw new Error(
53
+ "Cannot run mongo memory when NODE_ENV is neither development nor test"
54
+ );
51
55
  }
52
56
  logger.info(() => ({ msg: process.env.MONGO_URI }));
53
57
  const uri = process.env.MONGO_URI || await memoryServerSetup();
@@ -65,7 +69,36 @@ async function main() {
65
69
  app.use(getRoutes(mongoose, config, verifyEndpoint, verifyType));
66
70
  const port = config.serverUrl ? Number.parseInt(at(config.serverUrl.split(":"), 2)) : 9228;
67
71
  logger.info(() => ({ msg: "Listening on port", data: { port } }));
68
- app.listen(port);
72
+ const isDev = process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test";
73
+ if (isDev) {
74
+ const __filename = fileURLToPath(import.meta.url);
75
+ const __dirname = path.dirname(__filename);
76
+ const certsDir = path.resolve(__dirname, "../../../certs");
77
+ const keyPath = path.join(certsDir, "server.key");
78
+ const certPath = path.join(certsDir, "server.crt");
79
+ if (fs.existsSync(keyPath) && fs.existsSync(certPath)) {
80
+ const httpsOptions = {
81
+ key: fs.readFileSync(keyPath),
82
+ cert: fs.readFileSync(certPath)
83
+ };
84
+ https.createServer(httpsOptions, app).listen(port, () => {
85
+ logger.info(() => ({ msg: `HTTPS server started on port ${port}` }));
86
+ });
87
+ } else {
88
+ logger.warn(() => ({
89
+ msg: "Certificates not found, starting HTTP server instead. Run ./setup_certs.sh to enable HTTPS in development."
90
+ }));
91
+ http.createServer(app).listen(port, () => {
92
+ logger.info(() => ({ msg: `HTTP server started on port ${port}` }));
93
+ });
94
+ }
95
+ } else {
96
+ http.createServer(app).listen(port, () => {
97
+ logger.info(() => ({
98
+ msg: `HTTP server started on port ${port} (TLS handled by reverse proxy)`
99
+ }));
100
+ });
101
+ }
69
102
  }
70
103
  main().then(() => {
71
104
  logger.info(() => ({ msg: "Server started" }));
@@ -73,6 +106,3 @@ main().then(() => {
73
106
  logger.error(() => ({ err }));
74
107
  process.exit();
75
108
  });
76
- export {
77
- getEnvFile
78
- };
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}