@prosopo/client-example-server 2.7.56 → 2.7.90

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.90 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 187ms
@@ -1,11 +1,12 @@
1
1
 
2
- > @prosopo/client-example-server@2.7.56 build:tsc
2
+ > @prosopo/client-example-server@2.7.90 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 4:57:12 PM - Projects in this build:
5
+ 8:14:51 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
+ 8:14:51 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
+ 8:14:51 AM - 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
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
+ 8:14:51 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
+ 8:14:51 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
+ 8:14:51 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
+ 8:14:51 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
+ 8:14:51 AM - Project '../../packages/common/tsconfig.json' is up to date because newest input '../../packages/common/src/error.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
+ 8:14:51 AM - 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'
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
+ 8:14:51 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
+ 8:14:51 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
+ 8:14:51 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
+ 8:14:51 AM - Project '../../packages/server/tsconfig.json' is up to date because newest input '../../packages/server/src/index.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
+ 8:14:51 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
45
+
46
+ 8:14:51 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.90 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.90 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 255ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,338 @@
1
1
  # @prosopo/client-example-server
2
2
 
3
+ ## 2.7.90
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [a1d60db]
7
+ - Updated dependencies [2392aaf]
8
+ - Updated dependencies [97cf7bd]
9
+ - Updated dependencies [6ca1125]
10
+ - Updated dependencies [32a591b]
11
+ - @prosopo/types@4.3.0
12
+ - @prosopo/logger@1.0.2
13
+ - @prosopo/util@3.2.15
14
+ - @prosopo/common@3.1.38
15
+ - @prosopo/keyring@2.9.34
16
+ - @prosopo/server@2.10.12
17
+ - @prosopo/dotenv@3.0.43
18
+
19
+ ## 2.7.89
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [6c26669]
23
+ - Updated dependencies [f7f9ec5]
24
+ - @prosopo/types@4.2.1
25
+ - @prosopo/keyring@2.9.33
26
+ - @prosopo/server@2.10.11
27
+
28
+ ## 2.7.88
29
+ ### Patch Changes
30
+
31
+ - 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.
32
+ - Updated dependencies [0fd81af]
33
+ - @prosopo/common@3.1.37
34
+ - @prosopo/dotenv@3.0.42
35
+ - @prosopo/logger@1.0.1
36
+ - @prosopo/server@2.10.10
37
+ - @prosopo/keyring@2.9.32
38
+
39
+ ## 2.7.87
40
+ ### Patch Changes
41
+
42
+ - Updated dependencies [20cae63]
43
+ - Updated dependencies [4d9923e]
44
+ - @prosopo/types@4.2.0
45
+ - @prosopo/keyring@2.9.31
46
+ - @prosopo/server@2.10.9
47
+
48
+ ## 2.7.86
49
+ ### Patch Changes
50
+
51
+ - Updated dependencies [d351362]
52
+ - @prosopo/types@4.1.4
53
+ - @prosopo/keyring@2.9.30
54
+ - @prosopo/server@2.10.8
55
+
56
+ ## 2.7.85
57
+ ### Patch Changes
58
+
59
+ - Updated dependencies [6567ce0]
60
+ - Updated dependencies [e2711ae]
61
+ - Updated dependencies [5786629]
62
+ - @prosopo/util@3.2.14
63
+ - @prosopo/types@4.1.3
64
+ - @prosopo/keyring@2.9.29
65
+ - @prosopo/server@2.10.7
66
+ - @prosopo/common@3.1.36
67
+ - @prosopo/dotenv@3.0.41
68
+
69
+ ## 2.7.84
70
+ ### Patch Changes
71
+
72
+ - Updated dependencies [72a1218]
73
+ - @prosopo/util@3.2.13
74
+ - @prosopo/keyring@2.9.28
75
+ - @prosopo/server@2.10.6
76
+ - @prosopo/types@4.1.2
77
+
78
+ ## 2.7.83
79
+ ### Patch Changes
80
+
81
+ - Updated dependencies [91958da]
82
+ - @prosopo/types@4.1.1
83
+ - @prosopo/common@3.1.35
84
+ - @prosopo/server@2.10.5
85
+ - @prosopo/keyring@2.9.27
86
+ - @prosopo/dotenv@3.0.40
87
+
88
+ ## 2.7.82
89
+ ### Patch Changes
90
+
91
+ - Updated dependencies [6a741ce]
92
+ - @prosopo/types@4.1.0
93
+ - @prosopo/keyring@2.9.26
94
+ - @prosopo/server@2.10.4
95
+
96
+ ## 2.7.81
97
+ ### Patch Changes
98
+
99
+ - Updated dependencies [3c0be68]
100
+ - Updated dependencies [f9ea09d]
101
+ - Updated dependencies [4aae4e6]
102
+ - Updated dependencies [d865319]
103
+ - Updated dependencies [753304b]
104
+ - Updated dependencies [8bb7286]
105
+ - Updated dependencies [f9ea09d]
106
+ - Updated dependencies [4aae4e6]
107
+ - Updated dependencies [4993813]
108
+ - @prosopo/types@4.0.0
109
+ - @prosopo/util@3.2.12
110
+ - @prosopo/keyring@2.9.25
111
+ - @prosopo/common@3.1.34
112
+ - @prosopo/server@2.10.3
113
+ - @prosopo/dotenv@3.0.39
114
+
115
+ ## 2.7.80
116
+ ### Patch Changes
117
+
118
+ - Updated dependencies [819ed95]
119
+ - @prosopo/types@3.16.1
120
+ - @prosopo/keyring@2.9.24
121
+ - @prosopo/server@2.10.2
122
+
123
+ ## 2.7.79
124
+ ### Patch Changes
125
+
126
+ - Updated dependencies [f6a4402]
127
+ - Updated dependencies [99dfb44]
128
+ - @prosopo/types@3.16.0
129
+ - @prosopo/keyring@2.9.23
130
+ - @prosopo/server@2.10.1
131
+
132
+ ## 2.7.78
133
+ ### Patch Changes
134
+
135
+ - Updated dependencies [3e54c0a]
136
+ - @prosopo/server@2.10.0
137
+ - @prosopo/types@3.15.0
138
+ - @prosopo/keyring@2.9.22
139
+
140
+ ## 2.7.77
141
+ ### Patch Changes
142
+
143
+ - Updated dependencies [946a8ba]
144
+ - Updated dependencies [5614814]
145
+ - @prosopo/types@3.14.1
146
+ - @prosopo/common@3.1.33
147
+ - @prosopo/keyring@2.9.21
148
+ - @prosopo/server@2.9.73
149
+ - @prosopo/dotenv@3.0.38
150
+
151
+ ## 2.7.76
152
+ ### Patch Changes
153
+
154
+ - Updated dependencies [fc514dd]
155
+ - Updated dependencies [42650db]
156
+ - @prosopo/types@3.14.0
157
+ - @prosopo/common@3.1.32
158
+ - @prosopo/keyring@2.9.20
159
+ - @prosopo/server@2.9.72
160
+ - @prosopo/dotenv@3.0.37
161
+
162
+ ## 2.7.75
163
+ ### Patch Changes
164
+
165
+ - Updated dependencies [4a9c518]
166
+ - @prosopo/common@3.1.31
167
+ - @prosopo/dotenv@3.0.36
168
+ - @prosopo/keyring@2.9.19
169
+ - @prosopo/server@2.9.71
170
+
171
+ ## 2.7.74
172
+ ### Patch Changes
173
+
174
+ - Updated dependencies [a25dffa]
175
+ - @prosopo/util@3.2.11
176
+ - @prosopo/keyring@2.9.18
177
+ - @prosopo/server@2.9.70
178
+ - @prosopo/types@3.13.3
179
+
180
+ ## 2.7.73
181
+ ### Patch Changes
182
+
183
+ - Updated dependencies [346edd7]
184
+ - @prosopo/util@3.2.10
185
+ - @prosopo/keyring@2.9.17
186
+ - @prosopo/server@2.9.69
187
+ - @prosopo/types@3.13.2
188
+
189
+ ## 2.7.72
190
+ ### Patch Changes
191
+
192
+ - Updated dependencies [22bfee7]
193
+ - @prosopo/util@3.2.9
194
+ - @prosopo/keyring@2.9.16
195
+ - @prosopo/server@2.9.68
196
+ - @prosopo/types@3.13.1
197
+
198
+ ## 2.7.71
199
+ ### Patch Changes
200
+
201
+ - Updated dependencies [e0fb3d6]
202
+ - Updated dependencies [e6d9553]
203
+ - Updated dependencies [f3f23e3]
204
+ - @prosopo/util@3.2.8
205
+ - @prosopo/types@3.13.0
206
+ - @prosopo/keyring@2.9.15
207
+ - @prosopo/server@2.9.67
208
+
209
+ ## 2.7.70
210
+ ### Patch Changes
211
+
212
+ - 731f7fc: Fix client example server ports
213
+ - Updated dependencies [d5082a9]
214
+ - Updated dependencies [e1ea65f]
215
+ - Updated dependencies [c316257]
216
+ - @prosopo/types@3.12.3
217
+ - @prosopo/util@3.2.7
218
+ - @prosopo/server@2.9.66
219
+ - @prosopo/keyring@2.9.14
220
+
221
+ ## 2.7.69
222
+ ### Patch Changes
223
+
224
+ - Updated dependencies [adb89a6]
225
+ - @prosopo/server@2.9.65
226
+ - @prosopo/types@3.12.2
227
+ - @prosopo/util@3.2.6
228
+ - @prosopo/common@3.1.30
229
+ - @prosopo/keyring@2.9.13
230
+ - @prosopo/dotenv@3.0.35
231
+
232
+ ## 2.7.68
233
+ ### Patch Changes
234
+
235
+ - Updated dependencies [c5ee492]
236
+ - Updated dependencies [a90eb54]
237
+ - @prosopo/common@3.1.29
238
+ - @prosopo/types@3.12.1
239
+ - @prosopo/dotenv@3.0.34
240
+ - @prosopo/keyring@2.9.12
241
+ - @prosopo/server@2.9.64
242
+
243
+ ## 2.7.67
244
+ ### Patch Changes
245
+
246
+ - 759d4e6: Dynamic server secrets for client example server
247
+ - 676c5f2: Use HTTPS in developmentwq
248
+ - c1d738f: Update env for tests
249
+ - Updated dependencies [676c5f2]
250
+ - Updated dependencies [feaca02]
251
+ - @prosopo/keyring@2.9.11
252
+ - @prosopo/server@2.9.63
253
+ - @prosopo/types@3.12.0
254
+
255
+ ## 2.7.66
256
+ ### Patch Changes
257
+
258
+ - Updated dependencies [8148587]
259
+ - @prosopo/types@3.11.1
260
+ - @prosopo/keyring@2.9.10
261
+ - @prosopo/server@2.9.62
262
+
263
+ ## 2.7.65
264
+ ### Patch Changes
265
+
266
+ - Updated dependencies [7f6ffc5]
267
+ - @prosopo/types@3.11.0
268
+ - @prosopo/keyring@2.9.9
269
+ - @prosopo/server@2.9.61
270
+
271
+ ## 2.7.64
272
+ ### Patch Changes
273
+
274
+ - Updated dependencies [93fa086]
275
+ - @prosopo/types@3.10.2
276
+ - @prosopo/keyring@2.9.8
277
+ - @prosopo/server@2.9.60
278
+
279
+ ## 2.7.63
280
+ ### Patch Changes
281
+
282
+ - Updated dependencies [cde7550]
283
+ - @prosopo/types@3.10.1
284
+ - @prosopo/keyring@2.9.7
285
+ - @prosopo/server@2.9.59
286
+
287
+ ## 2.7.62
288
+ ### Patch Changes
289
+
290
+ - ced9f41: Fix incorrect projection
291
+ - Updated dependencies [ad6d622]
292
+ - @prosopo/types@3.10.0
293
+ - @prosopo/keyring@2.9.6
294
+ - @prosopo/server@2.9.58
295
+
296
+ ## 2.7.61
297
+ ### Patch Changes
298
+
299
+ - Updated dependencies [ff58a70]
300
+ - @prosopo/types@3.9.0
301
+ - @prosopo/keyring@2.9.5
302
+ - @prosopo/server@2.9.57
303
+
304
+ ## 2.7.60
305
+ ### Patch Changes
306
+
307
+ - Updated dependencies [d2431cd]
308
+ - @prosopo/types@3.8.4
309
+ - @prosopo/keyring@2.9.4
310
+ - @prosopo/server@2.9.56
311
+
312
+ ## 2.7.59
313
+ ### Patch Changes
314
+
315
+ - Updated dependencies [bd6995b]
316
+ - @prosopo/types@3.8.3
317
+ - @prosopo/keyring@2.9.3
318
+ - @prosopo/server@2.9.55
319
+
320
+ ## 2.7.58
321
+ ### Patch Changes
322
+
323
+ - Updated dependencies [9633e58]
324
+ - @prosopo/types@3.8.2
325
+ - @prosopo/keyring@2.9.2
326
+ - @prosopo/server@2.9.54
327
+
328
+ ## 2.7.57
329
+ ### Patch Changes
330
+
331
+ - Updated dependencies [f52a5c1]
332
+ - @prosopo/types@3.8.1
333
+ - @prosopo/keyring@2.9.1
334
+ - @prosopo/server@2.9.53
335
+
3
336
  ## 2.7.56
4
337
  ### Patch Changes
5
338
 
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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"}