@prosopo/cli 3.9.0 → 3.9.1
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/.turbo/turbo-build$colon$cjs.log +1 -1
- package/.turbo/turbo-build$colon$tsc.log +33 -33
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +9 -0
- package/Dockerfile +8 -5
- package/dist/bundle/prosopo-native-puzzle.node +0 -0
- package/dist/bundle/provider.cli.bundle.js +1 -1
- package/package.json +1 -1
|
@@ -94,6 +94,7 @@ dist/cjs/commands/siteKeyRegister.cjs 4.22 kB │ gzip: 1.26 kB
|
|
|
94
94
|
dist/cjs/prosopo.config.cjs 4.63 kB │ gzip: 1.47 kB
|
|
95
95
|
dist/cjs/RateLimiter.cjs 7.05 kB │ gzip: 1.02 kB
|
|
96
96
|
|
|
97
|
+
[32m✓ built in 98ms[39m
|
|
97
98
|
[33m[33m[EMPTY_IMPORT_META] [0m`import.meta` may not be a valid syntax with the `cjs` output format.
|
|
98
99
|
[38;5;246m╭[0m[38;5;246m─[0m[38;5;246m[[0m src/prosopo.config.ts:56:21 [38;5;246m][0m
|
|
99
100
|
[38;5;246m│[0m
|
|
@@ -102,4 +103,3 @@ dist/cjs/RateLimiter.cjs 7.05 kB │ gzip: 1.02 kB
|
|
|
102
103
|
[38;5;240m │[0m ╰─────── 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`.
|
|
103
104
|
[38;5;246m────╯[0m
|
|
104
105
|
[39m
|
|
105
|
-
[32m✓ built in 65ms[39m
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
$ tsc --build --verbose
|
|
2
|
-
|
|
2
|
+
9:13:57 AM - Projects in this build:
|
|
3
3
|
* ../../dev/config/tsconfig.json
|
|
4
4
|
* ../util/tsconfig.json
|
|
5
5
|
* ../locale/tsconfig.json
|
|
@@ -32,67 +32,67 @@ $ tsc --build --verbose
|
|
|
32
32
|
* ../../dev/workspace/tsconfig.json
|
|
33
33
|
* tsconfig.json
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
9:13:57 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'
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
9:13:57 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
9:13:57 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translations.ts' is older than output '../locale/tsconfig.tsbuildinfo'
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
9:13:57 AM - 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'
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
9:13:57 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/types.test-d.ts' is older than output '../types/tsconfig.tsbuildinfo'
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
9:13:57 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
9:13:57 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/errorCodes.ts' is older than output '../common/tsconfig.tsbuildinfo'
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
9:13:57 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/tests/loggerBrowser.unit.test.ts' is older than output '../logger/tsconfig.tsbuildinfo'
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
9:13:57 AM - Project '../dotenv/tsconfig.json' is up to date because newest input '../dotenv/src/env.ts' is older than output '../dotenv/tsconfig.tsbuildinfo'
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
9:13:57 AM - Project '../ipinfo/tsconfig.json' is up to date because newest input '../ipinfo/src/index.ts' is older than output '../ipinfo/tsconfig.tsbuildinfo'
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
9:13:57 AM - 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'
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
9:13:57 AM - 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'
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
9:13:57 AM - 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'
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
9:13:57 AM - Project '../types-database/tsconfig.json' is up to date because newest input '../types-database/src/types/captcha.ts' is older than output '../types-database/tsconfig.tsbuildinfo'
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
9:13:57 AM - 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'
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
9:13:57 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/pair/decode.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
9:13:57 AM - 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'
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
9:13:58 AM - Project '../env/tsconfig.json' is up to date because newest input '../env/src/env.ts' is older than output '../env/tsconfig.tsbuildinfo'
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
9:13:58 AM - Project '../api-express-router/tsconfig.json' is up to date because newest input '../api-express-router/src/tests/unit/testDoubles.ts' is older than output '../api-express-router/tsconfig.tsbuildinfo'
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
9:13:58 AM - 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'
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
9:13:58 AM - 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'
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
9:13:58 AM - 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'
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
9:13:58 AM - Project '../datasets/tsconfig.json' is up to date because newest input '../datasets/src/tests/mocks/data/captchas.ts' is older than output '../datasets/tsconfig.tsbuildinfo'
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
9:13:58 AM - 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'
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
9:13:58 AM - 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'
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
9:13:58 AM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
9:13:58 AM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/index.test.ts' is older than output '../fingerprint/tsconfig.tsbuildinfo'
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
9:13:58 AM - Project '../web-bot-auth/tsconfig.json' is up to date because newest input '../web-bot-auth/src/verify.ts' is older than output '../web-bot-auth/tsconfig.tsbuildinfo'
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
9:13:58 AM - Project '../provider/tsconfig.json' is up to date because newest input '../provider/src/utils/devicePlatform.ts' is older than output '../provider/tsconfig.tsbuildinfo'
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
9:13:58 AM - 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'
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
9:13:58 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
9:13:58 AM - Building project '/home/runner/work/captcha/captcha/packages/cli/tsconfig.json'...
|
|
98
98
|
|
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @prosopo/cli
|
|
2
2
|
|
|
3
|
+
## 3.9.1
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- 0d94ae6: Pin Node to 24.22.1 in every Docker image and CI workflow, the first 24.x release with the fix for CVE-2026-111497 (an out-of-bounds write in the bundled Brotli decoder that can lead to remote code execution).
|
|
7
|
+
|
|
8
|
+
Before this, everything asked for plain `24`, which does not guarantee a patched build. Docker reuses a cached base image, and `setup-node` uses whatever 24.x a runner already has cached.
|
|
9
|
+
|
|
10
|
+
The provider image needed more than a tag bump. Its runtime, `gcr.io/distroless/nodejs24-debian12`, is stuck on Node 24.14.0 and will not get the fix. It now runs on `nodejs24-debian13`, pinned by digest because distroless publishes no Node version tags. The builder moves to `node:24.22.1-trixie-slim` so both stages still use the same Debian release and glibc. Sharp and the native ja4, merkle and puzzle addons were checked loading on the new runtime.
|
|
11
|
+
|
|
3
12
|
## 3.9.0
|
|
4
13
|
### Minor Changes
|
|
5
14
|
|
package/Dockerfile
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
# fetch happens in the builder; the runtime image is distroless and contains
|
|
3
3
|
# only the Node runtime, this bundle and its one dependency.
|
|
4
4
|
#
|
|
5
|
-
# The builder is
|
|
5
|
+
# The builder is a slim image rather than `node:24` for the same reason the
|
|
6
6
|
# runtime is distroless: `node:24` is 1.63 GB of build toolchain that a
|
|
7
7
|
# pre-bundled JS file and a single prebuilt-binary dependency never touch.
|
|
8
|
-
FROM node:24-slim AS builder
|
|
8
|
+
FROM node:24.22.1-trixie-slim AS builder
|
|
9
9
|
|
|
10
10
|
WORKDIR /build
|
|
11
11
|
|
|
@@ -54,8 +54,11 @@ RUN echo '#!/nodejs/bin/node' | cat - provider.cli.bundle.js > temp && \
|
|
|
54
54
|
npm i --include=optional --os=linux --cpu=x64 --no-fund --no-audit && \
|
|
55
55
|
npm cache clean --force
|
|
56
56
|
|
|
57
|
-
# `nodejs24-
|
|
58
|
-
# native addons were resolved against is the same one that loads
|
|
57
|
+
# `nodejs24-debian13` matches the builder's Debian release (trixie), so the
|
|
58
|
+
# glibc the native addons were resolved against is the same one that loads
|
|
59
|
+
# them. Debian 12 is not an option: its distroless image stopped at Node
|
|
60
|
+
# 24.14.0, before the CVE-2026-111497 Brotli fix in 24.22.1. Distroless
|
|
61
|
+
# publishes no Node version tags, so the digest is what pins 24.22.1. All
|
|
59
62
|
# four (@img/sharp, native-ja4, native-merkle, native-puzzle) are
|
|
60
63
|
# linux-x64-gnu; an Alpine/musl runtime would break every one.
|
|
61
64
|
#
|
|
@@ -70,7 +73,7 @@ RUN echo '#!/nodejs/bin/node' | cat - provider.cli.bundle.js > temp && \
|
|
|
70
73
|
# CLI commands must name node explicitly (see above), and container
|
|
71
74
|
# healthchecks cannot use curl — they run `node -e "fetch(...)"` instead. Every
|
|
72
75
|
# call site in this repo and in the ansible playbooks has been moved over.
|
|
73
|
-
FROM gcr.io/distroless/nodejs24-
|
|
76
|
+
FROM gcr.io/distroless/nodejs24-debian13:nonroot@sha256:78f07ef1b5ea71ad7c055df15d0dd8997f2d288f9158623c4d4ae3d765b7d50d
|
|
74
77
|
|
|
75
78
|
WORKDIR /usr/src/app
|
|
76
79
|
|
|
Binary file
|
|
@@ -1793,7 +1793,7 @@ function hn(e, t, n) {
|
|
|
1793
1793
|
}
|
|
1794
1794
|
//#endregion
|
|
1795
1795
|
//#region ../util/dist/version.js
|
|
1796
|
-
var gn = (typeof process < "u" ? "3.9.
|
|
1796
|
+
var gn = (typeof process < "u" ? "3.9.1" : void 0) || "dev", _n = Array(256), vn = Array(256 * 256);
|
|
1797
1797
|
for (let e = 0; e < 256; e++) _n[e] = e.toString(16).padStart(2, "0");
|
|
1798
1798
|
for (let e = 0; e < 256; e++) {
|
|
1799
1799
|
let t = e << 8;
|