@prosopo/cli 3.8.34 → 3.8.36

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.
@@ -61,21 +61,21 @@ ViteCommonJSConfig: .
61
61
  ]
62
62
  }
63
63
  The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
64
- vite v8.1.5 building ssr environment for production...
64
+ vite v8.1.6 building ssr environment for production...
65
65
  Bundle build started
66
66
  
67
67
  ✓ 21 modules transformed.
68
68
  rendering chunks...
69
69
  computing gzip size...
70
70
  dist/cjs/commands/version.cjs 0.52 kB │ gzip: 0.29 kB
71
- dist/cjs/commands/validators.cjs 0.79 kB │ gzip: 0.37 kB
72
71
  dist/cjs/index.cjs 0.82 kB │ gzip: 0.29 kB
72
+ dist/cjs/commands/validators.cjs 0.83 kB │ gzip: 0.39 kB
73
73
  dist/cjs/commands/ensureIndexes.cjs 0.91 kB │ gzip: 0.46 kB
74
- dist/cjs/process.env.cjs 0.92 kB │ gzip: 0.36 kB
75
74
  dist/cjs/commands/storeCaptchasExternally.cjs 0.93 kB │ gzip: 0.45 kB
75
+ dist/cjs/process.env.cjs 0.99 kB │ gzip: 0.42 kB
76
76
  dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
77
77
  dist/cjs/commands/ensureExternalIndexes.cjs 1.07 kB │ gzip: 0.50 kB
78
- dist/cjs/files.cjs 1.21 kB │ gzip: 0.56 kB
78
+ dist/cjs/files.cjs 1.27 kB │ gzip: 0.58 kB
79
79
  dist/cjs/commands/index.cjs 1.30 kB │ gzip: 0.29 kB
80
80
  dist/cjs/commands/providerSetDataset.cjs 1.49 kB │ gzip: 0.65 kB
81
81
  dist/cjs/commands/updateSpamEmailDomains.cjs 1.58 kB │ gzip: 0.65 kB
@@ -97,4 +97,4 @@ dist/cjs/RateLimiter.cjs 7.05 kB │ gzip: 1.02 kB
97
97
   │ ╰─────── This `import.meta` will be replaced with an empty object (`{}`) automatically. If this is desired, you can suppress this warning by adding `transform.define: { 'import.meta': {} }`. If `import.meta` needs to be kept as-is, you need to set the output format to `esm`.
98
98
  ────╯
99
99
  
100
- ✓ built in 38ms
100
+ ✓ built in 56ms
@@ -1,13 +1,13 @@
1
1
  $ tsc --build --verbose
2
- 2:44:22 PM - Projects in this build:
2
+ 5:09:00 PM - Projects in this build:
3
3
  * ../../dev/config/tsconfig.json
4
4
  * ../util/tsconfig.json
5
5
  * ../locale/tsconfig.json
6
6
  * ../util-crypto/tsconfig.json
7
7
  * ../types/tsconfig.json
8
8
  * ../api/tsconfig.json
9
- * ../logger/tsconfig.json
10
9
  * ../common/tsconfig.json
10
+ * ../logger/tsconfig.json
11
11
  * ../dotenv/tsconfig.json
12
12
  * ../ipinfo/tsconfig.json
13
13
  * ../api-route/tsconfig.json
@@ -30,63 +30,63 @@ $ tsc --build --verbose
30
30
  * ../../dev/workspace/tsconfig.json
31
31
  * tsconfig.json
32
32
 
33
- 2:44:22 PM - 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'
33
+ 5:09:00 PM - 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'
34
34
 
35
- 2:44:22 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
35
+ 5:09:00 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
36
36
 
37
- 2:44:22 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/process.ts' is older than output '../locale/tsconfig.tsbuildinfo'
37
+ 5:09:00 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
38
38
 
39
- 2:44:22 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
39
+ 5:09:00 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
40
40
 
41
- 2:44:22 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
41
+ 5:09:00 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
42
42
 
43
- 2:44:22 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/tests/apiHarness.ts' is older than output '../api/tsconfig.tsbuildinfo'
43
+ 5:09:00 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
44
44
 
45
- 2:44:22 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
45
+ 5:09:00 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/errorCodes.ts' is older than output '../common/tsconfig.tsbuildinfo'
46
46
 
47
- 2:44:22 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
47
+ 5:09:00 PM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
48
48
 
49
- 2:44:22 PM - Project '../dotenv/tsconfig.json' is up to date because newest input '../dotenv/src/env.ts' is older than output '../dotenv/tsconfig.tsbuildinfo'
49
+ 5:09:00 PM - Project '../dotenv/tsconfig.json' is up to date because newest input '../dotenv/src/env.ts' is older than output '../dotenv/tsconfig.tsbuildinfo'
50
50
 
51
- 2:44:22 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/IpInfoService.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
51
+ 5:09:00 PM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/types.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
52
52
 
53
- 2:44:22 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
53
+ 5:09:00 PM - Project '../api-route/tsconfig.json' is up to date because newest input '../api-route/src/apiRoutes.ts' is older than output '../api-route/tsconfig.tsbuildinfo'
54
54
 
55
- 2:44:22 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/index.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
55
+ 5:09:00 PM - Project '../redis-client/tsconfig.json' is up to date because newest input '../redis-client/src/tests/redisIndex.integration.test.ts' is older than output '../redis-client/tsconfig.tsbuildinfo'
56
56
 
57
- 2:44:22 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
57
+ 5:09:00 PM - Project '../user-access-policy/tsconfig.json' is up to date because newest input '../user-access-policy/src/transformRule.ts' is older than output '../user-access-policy/tsconfig.tsbuildinfo'
58
58
 
59
- 2:44:22 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
59
+ 5:09:01 PM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/index.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
60
60
 
61
- 2:44:22 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/mongoGlobalSetup.ts' is older than output '../database/tsconfig.tsbuildinfo'
61
+ 5:09:01 PM - Project '../database/tsconfig.json' is up to date because newest input '../database/src/tests/unit/captchaLabel.unit.test.ts' is older than output '../database/tsconfig.tsbuildinfo'
62
62
 
63
- 2:44:22 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.test.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
63
+ 5:09:01 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/keyring/keyring.test.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
64
64
 
65
- 2:44:22 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/env.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
65
+ 5:09:01 PM - Project '../types-env/tsconfig.json' is up to date because newest input '../types-env/src/tests/typesEnv.test-d.ts' is older than output '../types-env/tsconfig.tsbuildinfo'
66
66
 
67
- 2:44:22 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/tests/env.maintenance.unit.test.ts' is older than output '../env/tsconfig.tsbuildinfo'
67
+ 5:09:01 PM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/errorSites.ts' is older than output '../env/tsconfig.tsbuildinfo'
68
68
 
69
- 2:44:22 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/apiExpressDefaultEndpointAdapter.unit.test.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
69
+ 5:09:01 PM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/apiExpressDefaultEndpointAdapter.unit.test.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
70
70
 
71
- 2:44:22 PM - Project '../puzzle-assets/tsconfig.json' is up to date because newest input '../puzzle-assets/src/background.ts' is older than output '../puzzle-assets/tsconfig.tsbuildinfo'
71
+ 5:09:01 PM - Project '../puzzle-assets/tsconfig.json' is up to date because newest input '../puzzle-assets/src/browser.ts' is older than output '../puzzle-assets/tsconfig.tsbuildinfo'
72
72
 
73
- 2:44:22 PM - Project '../audio-assets/tsconfig.json' is up to date because newest input '../audio-assets/src/distort.ts' is older than output '../audio-assets/tsconfig.tsbuildinfo'
73
+ 5:09:01 PM - Project '../audio-assets/tsconfig.json' is up to date because newest input '../audio-assets/src/distort.ts' is older than output '../audio-assets/tsconfig.tsbuildinfo'
74
74
 
75
- 2:44:22 PM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.test.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
75
+ 5:09:01 PM - Project '../captcha-severity/tsconfig.json' is up to date because newest input '../captcha-severity/src/index.ts' is older than output '../captcha-severity/tsconfig.tsbuildinfo'
76
76
 
77
- 2:44:22 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/captcha.unit.test.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
77
+ 5:09:01 PM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/errorSites.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
78
78
 
79
- 2:44:22 PM - Project '../icon-order-assets/tsconfig.json' is up to date because newest input '../icon-order-assets/src/background.ts' is older than output '../icon-order-assets/tsconfig.tsbuildinfo'
79
+ 5:09:01 PM - Project '../icon-order-assets/tsconfig.json' is up to date because newest input '../icon-order-assets/src/compose.ts' is older than output '../icon-order-assets/tsconfig.tsbuildinfo'
80
80
 
81
- 2:44:22 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
81
+ 5:09:01 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/developmentProviderUrl.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
82
82
 
83
- 2:44:22 PM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/index.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
83
+ 5:09:01 PM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/base64.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
84
84
 
85
- 2:44:22 PM - Project '../provider/tsconfig.json' is up to date because newest input '../provider/src/util.ts' is older than output '../provider/tsconfig.tsbuildinfo'
85
+ 5:09:01 PM - Project '../provider/tsconfig.json' is up to date because newest input '../provider/src/util.ts' is older than output '../provider/tsconfig.tsbuildinfo'
86
86
 
87
- 2:44:22 PM - Project '../../dev/workspace/tsconfig.json' is up to date because newest input '../../dev/workspace/src/projectInfo.ts' is older than output '../../dev/workspace/tsconfig.tsbuildinfo'
87
+ 5:09:01 PM - Project '../../dev/workspace/tsconfig.json' is up to date because newest input '../../dev/workspace/src/projectInfo.ts' is older than output '../../dev/workspace/tsconfig.tsbuildinfo'
88
88
 
89
- 2:44:22 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
89
+ 5:09:01 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
90
90
 
91
- 2:44:22 PM - Building project '/home/runner/work/captcha/captcha/packages/cli/tsconfig.json'...
91
+ 5:09:01 PM - Building project '/home/runner/work/captcha/captcha/packages/cli/tsconfig.json'...
92
92
 
@@ -62,7 +62,7 @@ ViteEsmConfig: .
62
62
  ]
63
63
  }
64
64
  The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
65
- vite v8.1.5 building ssr environment for production...
65
+ vite v8.1.6 building ssr environment for production...
66
66
  Bundle build started
67
67
  
68
68
  ✓ 21 modules transformed.
@@ -71,12 +71,12 @@ computing gzip size...
71
71
  dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
72
72
  dist/index.js 0.45 kB │ gzip: 0.21 kB
73
73
  dist/commands/version.js 0.47 kB │ gzip: 0.28 kB
74
- dist/commands/validators.js 0.70 kB │ gzip: 0.35 kB
75
- dist/process.env.js 0.84 kB │ gzip: 0.34 kB
74
+ dist/commands/validators.js 0.74 kB │ gzip: 0.37 kB
76
75
  dist/commands/ensureIndexes.js 0.84 kB │ gzip: 0.45 kB
77
76
  dist/commands/storeCaptchasExternally.js 0.86 kB │ gzip: 0.44 kB
78
- dist/files.js 0.99 kB │ gzip: 0.48 kB
77
+ dist/process.env.js 0.90 kB │ gzip: 0.40 kB
79
78
  dist/commands/ensureExternalIndexes.js 1.01 kB │ gzip: 0.49 kB
79
+ dist/files.js 1.04 kB │ gzip: 0.50 kB
80
80
  dist/commands/index.js 1.12 kB │ gzip: 0.29 kB
81
81
  dist/commands/providerSetDataset.js 1.31 kB │ gzip: 0.60 kB
82
82
  dist/cli.js 1.34 kB │ gzip: 0.55 kB
@@ -90,4 +90,4 @@ dist/commands/siteKeyRegister.js 4.10 kB │ gzip: 1.26 kB
90
90
  dist/prosopo.config.js 4.49 kB │ gzip: 1.48 kB
91
91
  dist/RateLimiter.js 6.52 kB │ gzip: 1.02 kB
92
92
 
93
- ✓ built in 41ms
93
+ ✓ built in 63ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,69 @@
1
1
  # @prosopo/cli
2
2
 
3
+ ## 3.8.36
4
+ ### Patch Changes
5
+
6
+ - 46b97b7: Roll up the open Dependabot updates: express 5 (with `@types/express` 5), dotenv 18, undici 8, geolib 4, vitest 5, vite 8.1.6 everywhere, 17 minor and patch bumps (Babel, mongoose, i18next, ip-address, turbo and others), `@angular/router` in the Angular demo, and a GitHub Actions bump.
7
+
8
+ The whole vitest family moves to 5.0.4, including `@vitest/coverage-v8`, because `@vitest/browser-playwright` 5 only works with vitest 5. The `@types/express-serve-static-core` override moves to 5.1.3 to match `@types/express` 5.
9
+
10
+ `@prosopo/dotenv` now loads env files with `quiet: true`. Since dotenv 17, every load prints an "injected env" line to stderr unless told not to.
11
+ - d2148c8: Errors now carry a fixed code and a site instead of a translation key.
12
+
13
+ Every error is a `ProsopoError` with a `code` from one list in
14
+ `@prosopo/common` (`ERROR_CODES`) and an `errorSite` such as `PROV-12`, which
15
+ names the one place it was thrown. Together they make the `errorId`, e.g.
16
+ `SITE_KEY_INVALID:PROV-31`, which the widget shows after the message so a
17
+ screenshot is enough to find the throw.
18
+
19
+ What a client sees:
20
+
21
+ - A public error (bad site key, blocked network, and so on) sends its code,
22
+ English message, data and errorId.
23
+ - Anything else sends only `BACKEND_ERROR:<site>` (or `FRONTEND_ERROR:<site>`
24
+ from the widget) and a status. Internal details never leave the server.
25
+
26
+ The provider no longer translates errors. The widget looks up
27
+ `ERRORS.<CODE>` in its catalogue and falls back to the English message. The
28
+ old error classes (`ProsopoApiError`, `ProsopoEnvError` and the rest), the
29
+ `key`/`messageEn` fields and `localiseErrorMessage` are gone.
30
+
31
+ Other changes in behaviour:
32
+
33
+ - An error with no specific code is a hidden 500.
34
+ - Errors no longer log themselves when they are created. The server logs each
35
+ unhandled one once: 5xx as errors, 4xx at debug.
36
+ - An invalid PoW signature is a 401 instead of a 500.
37
+ - `stringifyBigInts` returns a copy instead of changing its input, so frozen
38
+ error context can be logged.
39
+ - The provider's last hand-written error replies now use the same error body.
40
+ These were the missing-header 401s, the access-policy block, autoBan, the
41
+ metrics 401/403 and the rate limiter. The rate limiter answers with a new
42
+ public `RATE_LIMITED` (429) code.
43
+ - Updated dependencies [46b97b7]
44
+ - Updated dependencies [d2148c8]
45
+ - Updated dependencies [2bcf2fe]
46
+ - Updated dependencies [22f0721]
47
+ - Updated dependencies [860948c]
48
+ - @prosopo/api@4.7.4
49
+ - @prosopo/common@3.3.0
50
+ - @prosopo/dotenv@3.0.62
51
+ - @prosopo/env@3.6.78
52
+ - @prosopo/keyring@2.10.9
53
+ - @prosopo/locale@3.12.0
54
+ - @prosopo/logger@2.1.5
55
+ - @prosopo/provider@5.20.0
56
+ - @prosopo/types@5.17.0
57
+ - @prosopo/util@3.3.16
58
+ - @prosopo/workspace@3.2.4
59
+
60
+ ## 3.8.35
61
+ ### Patch Changes
62
+
63
+ - Updated dependencies [5421e87]
64
+ - Updated dependencies [a00fb86]
65
+ - @prosopo/provider@5.19.4
66
+
3
67
  ## 3.8.34
4
68
  ### Patch Changes
5
69