@prosopo/procaptcha-pow 2.12.7 → 2.13.0
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 +5 -5
- package/.turbo/turbo-build$colon$tsc.log +19 -19
- package/.turbo/turbo-build.log +6 -6
- package/CHANGELOG.md +43 -0
- package/dist/cjs/components/procaptchaPoW.cjs +22 -0
- package/dist/cjs/components/procaptchaWidget.cjs +143 -0
- package/dist/cjs/index.cjs +5 -2
- package/dist/components/procaptchaPoW.d.ts +7 -0
- package/dist/components/procaptchaPoW.d.ts.map +1 -0
- package/dist/components/procaptchaPoW.js +21 -0
- package/dist/components/procaptchaPoW.js.map +1 -0
- package/dist/components/procaptchaWidget.d.ts +7 -0
- package/dist/components/procaptchaWidget.d.ts.map +1 -0
- package/dist/components/procaptchaWidget.js +143 -0
- package/dist/components/procaptchaWidget.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -2
- package/dist/tests/domHarness.d.ts +20 -0
- package/dist/tests/domHarness.d.ts.map +1 -0
- package/dist/tests/domHarness.js +56 -0
- package/dist/tests/domHarness.js.map +1 -0
- package/dist/tests/procaptchaPoW.unit.test.js +46 -30
- package/dist/tests/procaptchaPoW.unit.test.js.map +1 -1
- package/dist/tests/procaptchaPow.test-d.js +5 -5
- package/dist/tests/procaptchaPow.test-d.js.map +1 -1
- package/dist/tests/procaptchaWidget.unit.test.js +79 -137
- package/dist/tests/procaptchaWidget.unit.test.js.map +1 -1
- package/package.json +9 -13
- package/src/components/procaptchaPoW.ts +53 -0
- package/src/components/procaptchaWidget.ts +281 -0
- package/src/index.ts +2 -2
- package/src/tests/domHarness.ts +122 -0
- package/src/tests/procaptchaPoW.unit.test.ts +59 -36
- package/src/tests/procaptchaPow.test-d.ts +15 -9
- package/src/tests/procaptchaWidget.unit.test.ts +105 -171
- package/tsconfig.cjs.json +1 -2
- package/tsconfig.json +1 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/components/ProcaptchaPoW.cjs +0 -7
- package/dist/cjs/components/ProcaptchaWidget.cjs +0 -130
- package/dist/components/ProcaptchaPoW.d.ts +0 -3
- package/dist/components/ProcaptchaPoW.d.ts.map +0 -1
- package/dist/components/ProcaptchaPoW.js +0 -7
- package/dist/components/ProcaptchaPoW.js.map +0 -1
- package/dist/components/ProcaptchaWidget.d.ts +0 -4
- package/dist/components/ProcaptchaWidget.d.ts.map +0 -1
- package/dist/components/ProcaptchaWidget.js +0 -131
- package/dist/components/ProcaptchaWidget.js.map +0 -1
- package/src/components/ProcaptchaPoW.tsx +0 -39
- package/src/components/ProcaptchaWidget.tsx +0 -231
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procaptchaWidget.unit.test.js","sourceRoot":"","sources":["../../src/tests/procaptchaWidget.unit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"procaptchaWidget.unit.test.js","sourceRoot":"","sources":["../../src/tests/procaptchaWidget.unit.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/procaptcha-pow",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"author": "PROSOPO LIMITED <info@prosopo.io>",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,28 +33,24 @@
|
|
|
33
33
|
"browserslist": ["> 0.5%, last 2 versions, not dead"],
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@polkadot/util": "14.0.3",
|
|
36
|
-
"@prosopo/api": "4.3.
|
|
37
|
-
"@prosopo/common": "3.1.
|
|
38
|
-
"@prosopo/fingerprint": "2.7.
|
|
39
|
-
"@prosopo/locale": "3.
|
|
40
|
-
"@prosopo/procaptcha-common": "2.
|
|
41
|
-
"@prosopo/types": "5.9.
|
|
36
|
+
"@prosopo/api": "4.3.2",
|
|
37
|
+
"@prosopo/common": "3.1.58",
|
|
38
|
+
"@prosopo/fingerprint": "2.7.51",
|
|
39
|
+
"@prosopo/locale": "3.5.0",
|
|
40
|
+
"@prosopo/procaptcha-common": "2.16.0",
|
|
41
|
+
"@prosopo/types": "5.9.2",
|
|
42
42
|
"@prosopo/util": "3.3.10",
|
|
43
43
|
"@prosopo/util-crypto": "13.5.32",
|
|
44
|
-
"@prosopo/widget-skeleton": "2.8.7"
|
|
45
|
-
"react": "19.3.0"
|
|
44
|
+
"@prosopo/widget-skeleton": "2.8.7"
|
|
46
45
|
},
|
|
47
46
|
"devDependencies": {
|
|
48
|
-
"@
|
|
49
|
-
"@emotion/styled": "11.14.1",
|
|
50
|
-
"@prosopo/config": "3.3.17",
|
|
47
|
+
"@prosopo/config": "3.4.0",
|
|
51
48
|
"@types/node": "22.10.2",
|
|
52
49
|
"@vitest/coverage-v8": "4.1.11",
|
|
53
50
|
"concurrently": "9.0.1",
|
|
54
51
|
"del-cli": "6.0.0",
|
|
55
52
|
"jsdom": "26.1.0",
|
|
56
53
|
"npm-run-all": "4.1.5",
|
|
57
|
-
"react-dom": "19.3.0",
|
|
58
54
|
"tslib": "2.7.0",
|
|
59
55
|
"tsx": "4.20.3",
|
|
60
56
|
"typescript": "5.6.2",
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Copyright 2021-2026 Prosopo (UK) Ltd.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
import type { ProcaptchaProps } from "@prosopo/types";
|
|
16
|
+
import type { ProcaptchaPowHandle } from "./procaptchaWidget.js";
|
|
17
|
+
|
|
18
|
+
export type { ProcaptchaPowHandle };
|
|
19
|
+
|
|
20
|
+
export type ProcaptchaPowMountFn = (
|
|
21
|
+
container: HTMLElement,
|
|
22
|
+
props: ProcaptchaProps,
|
|
23
|
+
) => ProcaptchaPowHandle;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Dynamic import so the PoW widget lands in its own chunk, replacing the
|
|
27
|
+
* `lazy()` + `<Suspense>` pair that used to provide the split.
|
|
28
|
+
*/
|
|
29
|
+
export const loadProcaptchaPow = async (): Promise<ProcaptchaPowMountFn> =>
|
|
30
|
+
(await import("./procaptchaWidget.js")).mountProcaptchaPowWidget;
|
|
31
|
+
|
|
32
|
+
export const mountProcaptchaPow = (
|
|
33
|
+
container: HTMLElement,
|
|
34
|
+
props: ProcaptchaProps,
|
|
35
|
+
): ProcaptchaPowHandle => {
|
|
36
|
+
let destroyed = false;
|
|
37
|
+
let inner: ProcaptchaPowHandle | undefined;
|
|
38
|
+
|
|
39
|
+
void loadProcaptchaPow().then((mount: ProcaptchaPowMountFn) => {
|
|
40
|
+
if (destroyed) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
inner = mount(container, props);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
return {
|
|
47
|
+
destroy: () => {
|
|
48
|
+
destroyed = true;
|
|
49
|
+
inner?.destroy();
|
|
50
|
+
inner = undefined;
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
};
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
// Copyright 2021-2026 Prosopo (UK) Ltd.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
import { createTranslator, loadI18next } from "@prosopo/locale";
|
|
16
|
+
import {
|
|
17
|
+
type CheckboxProps,
|
|
18
|
+
type Component,
|
|
19
|
+
type HoneypotComponent,
|
|
20
|
+
type ProcaptchaStateHandle,
|
|
21
|
+
Teardown,
|
|
22
|
+
buildUpdateState,
|
|
23
|
+
createElement,
|
|
24
|
+
createProcaptchaState,
|
|
25
|
+
createRenderScheduler,
|
|
26
|
+
isEventTrusted,
|
|
27
|
+
mountCheckbox,
|
|
28
|
+
mountHoneypot,
|
|
29
|
+
} from "@prosopo/procaptcha-common";
|
|
30
|
+
import {
|
|
31
|
+
ModeEnum,
|
|
32
|
+
type ProcaptchaProps,
|
|
33
|
+
type ProcaptchaState,
|
|
34
|
+
} from "@prosopo/types";
|
|
35
|
+
import { darkTheme, lightTheme } from "@prosopo/widget-skeleton";
|
|
36
|
+
import { Manager } from "../services/Manager.js";
|
|
37
|
+
|
|
38
|
+
// Define the same event name as in the bundle for consistency
|
|
39
|
+
const PROCAPTCHA_EXECUTE_EVENT = "procaptcha:execute";
|
|
40
|
+
|
|
41
|
+
export interface ProcaptchaPowHandle {
|
|
42
|
+
destroy(): void;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export const mountProcaptchaPowWidget = (
|
|
46
|
+
container: HTMLElement,
|
|
47
|
+
props: ProcaptchaProps,
|
|
48
|
+
): ProcaptchaPowHandle => {
|
|
49
|
+
const teardown = new Teardown();
|
|
50
|
+
const config = props.config;
|
|
51
|
+
const i18n = props.i18n;
|
|
52
|
+
const frictionlessState = props.frictionlessState; // Set up Session ID and Provider if they exist
|
|
53
|
+
const callbacks = props.callbacks || {};
|
|
54
|
+
const translator = createTranslator(i18n);
|
|
55
|
+
const isInvisible = ModeEnum.invisible === config.mode;
|
|
56
|
+
|
|
57
|
+
const store: ProcaptchaStateHandle = createProcaptchaState();
|
|
58
|
+
let loading = false;
|
|
59
|
+
let lastError: ProcaptchaState["error"] = store.state.error;
|
|
60
|
+
// Coordinates of the last `manager.start(x, y)` invocation from this widget
|
|
61
|
+
// instance — either the checkbox click, or a `startCoords` handoff from a
|
|
62
|
+
// prior `onSessionInvalidated` cycle.
|
|
63
|
+
let lastCoords: { x: number; y: number } | null = null;
|
|
64
|
+
// One-shot guard: a widget instance only escalates a single NO_SESSION_FOUND
|
|
65
|
+
// to `onSessionInvalidated`. If the retry also fails, we fall through to
|
|
66
|
+
// the pre-existing `frictionlessState.restart()` path instead of looping.
|
|
67
|
+
let sessionInvalidatedFired = false;
|
|
68
|
+
// A bound button can be clicked again while the first run is still going,
|
|
69
|
+
// and in invisible mode there is no spinner standing in the way of it.
|
|
70
|
+
let executeRunning = false;
|
|
71
|
+
|
|
72
|
+
let honeypot: HoneypotComponent | undefined;
|
|
73
|
+
let checkbox: Component<CheckboxProps> | undefined;
|
|
74
|
+
|
|
75
|
+
// get the state update mechanism
|
|
76
|
+
const updateState = buildUpdateState(store.state, store.update);
|
|
77
|
+
|
|
78
|
+
const manager = Manager(
|
|
79
|
+
config,
|
|
80
|
+
store.state,
|
|
81
|
+
updateState,
|
|
82
|
+
callbacks,
|
|
83
|
+
frictionlessState,
|
|
84
|
+
props.onEscalate,
|
|
85
|
+
() => honeypot?.getValue(),
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
const root = createElement("div");
|
|
89
|
+
container.appendChild(root);
|
|
90
|
+
|
|
91
|
+
if (frictionlessState?.hp) {
|
|
92
|
+
// Invisible mode renders no checkbox, but we still render the honeypot
|
|
93
|
+
// so bots that scan the DOM for inputs find a tempting target.
|
|
94
|
+
honeypot = mountHoneypot(root, { encodedQuestion: frictionlessState.hp });
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const runErrorEffect = () => {
|
|
98
|
+
if (store.state.error === lastError) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
lastError = store.state.error;
|
|
102
|
+
if (!store.state.error) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
loading = false;
|
|
106
|
+
if ("CAPTCHA.NO_SESSION_FOUND" !== store.state.error.key) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (props.onSessionInvalidated && !sessionInvalidatedFired) {
|
|
110
|
+
// Preserve the checkbox coords across the retry so the resumed
|
|
111
|
+
// submit still carries the real entry-point telemetry. The
|
|
112
|
+
// frictionless wrapper mints a fresh session and re-mounts this
|
|
113
|
+
// widget with matching `autoStart` + `startCoords`.
|
|
114
|
+
sessionInvalidatedFired = true;
|
|
115
|
+
props.onSessionInvalidated(lastCoords?.x, lastCoords?.y);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (frictionlessState) {
|
|
119
|
+
// Fallback for widgets not mounted under a recovery-aware parent,
|
|
120
|
+
// or a second NO_SESSION_FOUND after we've already retried once.
|
|
121
|
+
const timer = setTimeout(() => {
|
|
122
|
+
frictionlessState.restart();
|
|
123
|
+
}, 100);
|
|
124
|
+
teardown.add(() => clearTimeout(timer));
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
const render = () => {
|
|
129
|
+
runErrorEffect();
|
|
130
|
+
checkbox?.update(checkboxProps());
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
const scheduler = createRenderScheduler(render);
|
|
134
|
+
|
|
135
|
+
const checkboxProps = (): CheckboxProps => ({
|
|
136
|
+
checked: store.state.isHuman,
|
|
137
|
+
theme: "light" === config.theme ? lightTheme : darkTheme,
|
|
138
|
+
labelText: translator.isReady() ? translator.t("WIDGET.I_AM_HUMAN") : "",
|
|
139
|
+
error: store.state.error?.message,
|
|
140
|
+
loadingText: translator.t("WIDGET.CHECKING", {
|
|
141
|
+
defaultValue: "Checking that you are human",
|
|
142
|
+
}),
|
|
143
|
+
loading,
|
|
144
|
+
onChange: async (
|
|
145
|
+
event: MouseEvent | KeyboardEvent | TouchEvent,
|
|
146
|
+
): Promise<void> => {
|
|
147
|
+
if (loading) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
loading = true;
|
|
151
|
+
scheduler.schedule();
|
|
152
|
+
|
|
153
|
+
// Capture click coordinates. Untrusted events are left at (0, 0) so a
|
|
154
|
+
// synthesised click can't seed the solution salt.
|
|
155
|
+
let x = 0;
|
|
156
|
+
let y = 0;
|
|
157
|
+
if (!isEventTrusted(event)) {
|
|
158
|
+
// Don't capture coordinates for non-trusted events
|
|
159
|
+
} else if ("touches" in event && event.touches.length > 0) {
|
|
160
|
+
const touch = event.touches[0];
|
|
161
|
+
if (touch) {
|
|
162
|
+
x = touch.clientX;
|
|
163
|
+
y = touch.clientY;
|
|
164
|
+
}
|
|
165
|
+
} else if ("clientX" in event && "clientY" in event) {
|
|
166
|
+
x = event.clientX;
|
|
167
|
+
y = event.clientY;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
lastCoords = { x, y };
|
|
171
|
+
try {
|
|
172
|
+
await manager.start(x, y);
|
|
173
|
+
} catch (error) {
|
|
174
|
+
// Nothing awaits this handler, so a rejection here would surface as
|
|
175
|
+
// an unhandled rejection and the spinner would never clear.
|
|
176
|
+
console.error("Error starting PoW verification:", error);
|
|
177
|
+
}
|
|
178
|
+
loading = false;
|
|
179
|
+
scheduler.schedule();
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
if (!isInvisible) {
|
|
184
|
+
checkbox = mountCheckbox(root, checkboxProps());
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
teardown.add(scheduler.cancel);
|
|
188
|
+
teardown.add(store.subscribe(scheduler.schedule));
|
|
189
|
+
teardown.add(translator.subscribe(scheduler.schedule));
|
|
190
|
+
|
|
191
|
+
// A bare execute() reaches every invisible widget via document. A targeted
|
|
192
|
+
// execute() is dispatched on this widget's container and works in either
|
|
193
|
+
// mode, which is what lets a bound button drive a visible widget.
|
|
194
|
+
const handleExecute = () => {
|
|
195
|
+
if (executeRunning) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
executeRunning = true;
|
|
199
|
+
if (!isInvisible) {
|
|
200
|
+
loading = true;
|
|
201
|
+
scheduler.schedule();
|
|
202
|
+
}
|
|
203
|
+
const logError = (error: unknown) => {
|
|
204
|
+
console.error("Error starting PoW verification:", error);
|
|
205
|
+
};
|
|
206
|
+
const done = () => {
|
|
207
|
+
executeRunning = false;
|
|
208
|
+
if (!isInvisible) {
|
|
209
|
+
loading = false;
|
|
210
|
+
scheduler.schedule();
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
try {
|
|
214
|
+
void manager.start().catch(logError).finally(done);
|
|
215
|
+
} catch (error) {
|
|
216
|
+
logError(error);
|
|
217
|
+
done();
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
if (props.container) {
|
|
222
|
+
teardown.addEventListener(
|
|
223
|
+
props.container,
|
|
224
|
+
PROCAPTCHA_EXECUTE_EVENT,
|
|
225
|
+
handleExecute,
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
if (isInvisible) {
|
|
229
|
+
teardown.addEventListener(
|
|
230
|
+
document,
|
|
231
|
+
PROCAPTCHA_EXECUTE_EVENT,
|
|
232
|
+
handleExecute,
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
if (config.language) {
|
|
237
|
+
if (i18n) {
|
|
238
|
+
if (i18n.language !== config.language) {
|
|
239
|
+
void i18n.changeLanguage(config.language);
|
|
240
|
+
}
|
|
241
|
+
} else {
|
|
242
|
+
// Direct consumers don't go through WidgetFactory, so pass the language
|
|
243
|
+
// into loadI18next — first init boots with the right language (skipping
|
|
244
|
+
// browser detection), and subsequent calls reconcile via changeLanguage
|
|
245
|
+
// inside loadI18next.
|
|
246
|
+
void loadI18next(false, config.language);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
if (props.autoStart) {
|
|
251
|
+
loading = true;
|
|
252
|
+
const coords = props.startCoords;
|
|
253
|
+
lastCoords = coords ?? null;
|
|
254
|
+
scheduler.schedule();
|
|
255
|
+
manager
|
|
256
|
+
.start(coords?.x ?? 0, coords?.y ?? 0)
|
|
257
|
+
// The manager handles its own failures, but anything it doesn't (a
|
|
258
|
+
// reset that throws, say) would otherwise escape as an unhandled
|
|
259
|
+
// rejection and leave the widget stuck showing a spinner.
|
|
260
|
+
.catch((error: unknown) => {
|
|
261
|
+
console.error("Error starting PoW verification:", error);
|
|
262
|
+
})
|
|
263
|
+
.finally(() => {
|
|
264
|
+
loading = false;
|
|
265
|
+
scheduler.schedule();
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
render();
|
|
270
|
+
|
|
271
|
+
return {
|
|
272
|
+
destroy: () => {
|
|
273
|
+
teardown.run();
|
|
274
|
+
checkbox?.destroy();
|
|
275
|
+
honeypot?.destroy();
|
|
276
|
+
root.parentNode?.removeChild(root);
|
|
277
|
+
},
|
|
278
|
+
};
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
export default mountProcaptchaPowWidget;
|
package/src/index.ts
CHANGED
|
@@ -11,5 +11,5 @@
|
|
|
11
11
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
|
-
export * from "./components/
|
|
15
|
-
export * from "./components/
|
|
14
|
+
export * from "./components/procaptchaWidget.js";
|
|
15
|
+
export * from "./components/procaptchaPoW.js";
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// Copyright 2021-2026 Prosopo (UK) Ltd.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* A minimal mount/unmount harness. The suite deliberately drives real DOM
|
|
17
|
+
* events rather than calling handlers directly, because every interactive
|
|
18
|
+
* element in this package drops untrusted events — behaviour that only shows
|
|
19
|
+
* up when a real event carries the flag.
|
|
20
|
+
*/
|
|
21
|
+
export interface Mounted {
|
|
22
|
+
container: HTMLDivElement;
|
|
23
|
+
unmount: () => void;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const mount = (): Mounted => {
|
|
27
|
+
const container = document.createElement("div");
|
|
28
|
+
document.body.appendChild(container);
|
|
29
|
+
return {
|
|
30
|
+
container,
|
|
31
|
+
unmount: () => {
|
|
32
|
+
container.remove();
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
interface FireOptions {
|
|
38
|
+
trusted?: boolean;
|
|
39
|
+
clientX?: number;
|
|
40
|
+
clientY?: number;
|
|
41
|
+
touches?: { clientX: number; clientY: number }[];
|
|
42
|
+
key?: string;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* jsdom marks everything it dispatches untrusted, and exposes `isTrusted` as a
|
|
47
|
+
* non-configurable accessor onto its internal implementation object, so the
|
|
48
|
+
* flag has to be set there rather than shadowed on the event. Anything the
|
|
49
|
+
* components filter on untrusted events is untestable otherwise.
|
|
50
|
+
*/
|
|
51
|
+
const setTrusted = (event: Event, trusted: boolean): void => {
|
|
52
|
+
for (const symbol of Object.getOwnPropertySymbols(event)) {
|
|
53
|
+
const impl: unknown = Reflect.get(event, symbol);
|
|
54
|
+
if (impl && typeof impl === "object" && "isTrusted" in impl) {
|
|
55
|
+
// A plain assignment would not survive: dispatchEvent stamps
|
|
56
|
+
// isTrusted back to false on the way in, so the flag is pinned with
|
|
57
|
+
// an accessor that swallows the write.
|
|
58
|
+
Object.defineProperty(impl, "isTrusted", {
|
|
59
|
+
configurable: true,
|
|
60
|
+
get: () => trusted,
|
|
61
|
+
set: () => undefined,
|
|
62
|
+
});
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
throw new Error("could not reach the jsdom event implementation");
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const build = (type: string, options: FireOptions): Event => {
|
|
70
|
+
if (undefined !== options.key) {
|
|
71
|
+
return new KeyboardEvent(type, {
|
|
72
|
+
bubbles: true,
|
|
73
|
+
cancelable: true,
|
|
74
|
+
key: options.key,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return new MouseEvent(type, {
|
|
78
|
+
bubbles: true,
|
|
79
|
+
cancelable: true,
|
|
80
|
+
clientX: options.clientX ?? 0,
|
|
81
|
+
clientY: options.clientY ?? 0,
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Dispatches a real event at the element. Touch points are plain objects:
|
|
87
|
+
* jsdom has no Touch constructor.
|
|
88
|
+
*/
|
|
89
|
+
export const fire = (
|
|
90
|
+
element: Element,
|
|
91
|
+
type: string,
|
|
92
|
+
options: FireOptions = {},
|
|
93
|
+
): void => {
|
|
94
|
+
fireAndReturn(element, type, options);
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
/** Like `fire`, but hands back the event so a test can inspect what the
|
|
98
|
+
* handler did to it — whether it prevented the default form submission, say. */
|
|
99
|
+
export const fireAndReturn = (
|
|
100
|
+
element: Element,
|
|
101
|
+
type: string,
|
|
102
|
+
options: FireOptions = {},
|
|
103
|
+
): Event => {
|
|
104
|
+
const event = build(type, options);
|
|
105
|
+
setTrusted(event, options.trusted ?? true);
|
|
106
|
+
if (options.touches) {
|
|
107
|
+
Object.defineProperty(event, "touches", { value: options.touches });
|
|
108
|
+
}
|
|
109
|
+
element.dispatchEvent(event);
|
|
110
|
+
return event;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Renders coalesce onto the microtask queue, so a state change is not visible
|
|
115
|
+
* in the DOM until it has drained.
|
|
116
|
+
*/
|
|
117
|
+
export const settle = async (): Promise<void> => {
|
|
118
|
+
// A macrotask turn, so a pending dynamic import resolves too — draining the
|
|
119
|
+
// microtask queue alone is not enough for the code-split boundaries.
|
|
120
|
+
await new Promise<void>((resolve: () => void) => setTimeout(resolve, 0));
|
|
121
|
+
await Promise.resolve();
|
|
122
|
+
};
|