@prosopo/client-bundle-example 2.10.12 → 2.10.19

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.
Files changed (45) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +13 -11
  2. package/.turbo/turbo-build$colon$tsc.log +14 -14
  3. package/.turbo/turbo-build.log +15 -12
  4. package/CHANGELOG.md +51 -0
  5. package/README.md +3 -1
  6. package/dist/_virtual/_rolldown/runtime.js +3 -0
  7. package/dist/cjs/index.cjs +39 -48
  8. package/dist/index.js +41 -47
  9. package/env.development +7 -0
  10. package/env.production +6 -0
  11. package/env.staging +2 -2
  12. package/package.json +13 -8
  13. package/src/assets/dummy.txt +0 -0
  14. package/src/frictionless-explicit-web3.html +249 -0
  15. package/src/frictionless-explicit.html +208 -0
  16. package/src/frictionless-implicit.html +218 -0
  17. package/src/image-explicit-web3.html +198 -0
  18. package/src/image-explicit.html +158 -0
  19. package/src/index.html +207 -0
  20. package/src/index.ts +76 -0
  21. package/src/invisible-frictionless-explicit.html +132 -0
  22. package/src/invisible-frictionless-implicit.html +204 -0
  23. package/src/invisible-image-explicit.html +161 -0
  24. package/src/invisible-image-implicit.html +203 -0
  25. package/src/invisible-pow-explicit.html +161 -0
  26. package/src/invisible-pow-implicit.html +106 -0
  27. package/src/invisible-puzzle-explicit.html +160 -0
  28. package/src/invisible-puzzle-implicit.html +106 -0
  29. package/src/plugins/explanation-injector.ts +294 -0
  30. package/src/plugins/form-filler-injector.ts +233 -0
  31. package/src/plugins/navigation-injector.ts +602 -0
  32. package/src/plugins/status-log-injector.ts +199 -0
  33. package/src/pow-explicit-web3.html +195 -0
  34. package/src/pow-explicit.html +158 -0
  35. package/src/pow-implicit.html +207 -0
  36. package/src/puzzle-explicit.html +158 -0
  37. package/src/puzzle-implicit.html +207 -0
  38. package/src/styles/captcha.css +78 -0
  39. package/src/styles/field.css +12 -0
  40. package/tsconfig.cjs.json +25 -0
  41. package/tsconfig.json +31 -0
  42. package/tsconfig.tsbuildinfo +1 -0
  43. package/tsconfig.types.json +9 -0
  44. package/vite.cjs.config.ts +1 -1
  45. package/vite.config.ts +37 -4
@@ -1,33 +1,35 @@
1
1
 
2
- > @prosopo/client-bundle-example@2.10.12 build:cjs
2
+ > @prosopo/client-bundle-example@2.10.19 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
6
6
  {
7
7
  tsConfigPaths: [
8
8
  '/home/runner/work/captcha/captcha/packages/dotenv/tsconfig.json',
9
- '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
9
+ '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
10
+ '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
10
11
  '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
11
12
  '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
12
- '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
13
13
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json'
14
14
  ]
15
15
  }
16
16
  {
17
17
  externals: [
18
18
  '@prosopo/dotenv',
19
- '@prosopo/common',
19
+ '@prosopo/logger',
20
+ '@prosopo/util',
20
21
  '@prosopo/locale',
21
22
  '@prosopo/types',
22
- '@prosopo/util',
23
23
  '@prosopo/util-crypto'
24
24
  ]
25
25
  }
26
- vite v6.4.1 building SSR bundle for production...
26
+ 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.
27
+ vite v8.1.5 building ssr environment for production...
27
28
  Bundle build started
28
- transforming...
29
- Build end
30
- ✓ 1 modules transformed.
29
+ 
30
+ ✓ 2 modules transformed.
31
31
  rendering chunks...
32
- dist/cjs/index.cjs 1.62 kB
33
- ✓ built in 146ms
32
+ computing gzip size...
33
+ dist/cjs/index.cjs 1.41 kB │ gzip: 0.64 kB
34
+
35
+ ✓ built in 58ms
@@ -1,32 +1,32 @@
1
1
 
2
- > @prosopo/client-bundle-example@2.10.12 build:tsc
2
+ > @prosopo/client-bundle-example@2.10.19 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 4:57:00 PM - Projects in this build:
5
+ 8:59:05 PM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
- * ../../packages/locale/tsconfig.json
8
7
  * ../../packages/util/tsconfig.json
8
+ * ../../packages/logger/tsconfig.json
9
+ * ../../packages/dotenv/tsconfig.json
10
+ * ../../packages/locale/tsconfig.json
9
11
  * ../../packages/util-crypto/tsconfig.json
10
12
  * ../../packages/types/tsconfig.json
11
- * ../../packages/common/tsconfig.json
12
- * ../../packages/dotenv/tsconfig.json
13
13
  * tsconfig.json
14
14
 
15
- 4:57:00 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'
15
+ 8:59:05 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'
16
16
 
17
- 4:57:00 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'
17
+ 8:59:05 PM - 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'
18
18
 
19
- 4:57:00 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'
19
+ 8:59:05 PM - 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'
20
20
 
21
- 4:57:00 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'
21
+ 8:59:05 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'
22
22
 
23
- 4:57:00 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'
23
+ 8:59:05 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'
24
24
 
25
- 4:57:00 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'
25
+ 8:59:05 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
26
 
27
- 4:57:00 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'
27
+ 8:59:05 PM - Project '../../packages/types/tsconfig.json' is up to date because newest input '../../packages/types/src/provider/api.ts' is older than output '../../packages/types/tsconfig.tsbuildinfo'
28
28
 
29
- 4:57:00 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
29
+ 8:59:05 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
30
30
 
31
- 4:57:00 PM - Building project '/home/runner/work/captcha/captcha/demos/client-bundle-example/tsconfig.json'...
31
+ 8:59:05 PM - Building project '/home/runner/work/captcha/captcha/demos/client-bundle-example/tsconfig.json'...
32
32
 
@@ -1,37 +1,40 @@
1
1
 
2
- > @prosopo/client-bundle-example@2.10.12 build
2
+ > @prosopo/client-bundle-example@2.10.19 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/client-bundle-example@2.10.12 build:cross-env
6
+ > @prosopo/client-bundle-example@2.10.19 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
10
10
  {
11
11
  tsConfigPaths: [
12
12
  '/home/runner/work/captcha/captcha/packages/dotenv/tsconfig.json',
13
- '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
13
+ '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
14
+ '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
14
15
  '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json',
15
16
  '/home/runner/work/captcha/captcha/packages/types/tsconfig.json',
16
- '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
17
17
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json'
18
18
  ]
19
19
  }
20
20
  {
21
21
  externals: [
22
22
  '@prosopo/dotenv',
23
- '@prosopo/common',
23
+ '@prosopo/logger',
24
+ '@prosopo/util',
24
25
  '@prosopo/locale',
25
26
  '@prosopo/types',
26
- '@prosopo/util',
27
27
  '@prosopo/util-crypto'
28
28
  ]
29
29
  }
30
- vite v6.4.1 building SSR bundle for production...
30
+ 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.
31
+ vite v8.1.5 building ssr environment for production...
31
32
  Bundle build started
32
- transforming...
33
- Build end
34
- ✓ 1 modules transformed.
33
+ 
34
+ ✓ 2 modules transformed.
35
35
  rendering chunks...
36
- dist/index.js 1.61 kB
37
- ✓ built in 141ms
36
+ computing gzip size...
37
+ dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
38
+ dist/index.js 1.47 kB │ gzip: 0.68 kB
39
+
40
+ ✓ built in 59ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  # @prosopo/client-bundle-example
2
2
 
3
+ ## 2.10.19
4
+ ### Patch Changes
5
+
6
+ - e14fce6: chore(deps): bump vite to 6.4.3 and mongoose to 8.24.1, and adjust types for the mongoose 8.24 Document/ObjectId changes
7
+
8
+ ## 2.10.18
9
+ ### Patch Changes
10
+
11
+ - 5d87beb: chore(client-bundle-example): register invisible-puzzle explicit/implicit pages as Vite build entries so they are emitted in `dist` and reachable from the demo navigation.
12
+
13
+ ## 2.10.17
14
+ ### Patch Changes
15
+
16
+ - 273926d: Fix `/captcha/{type}` endpoints looping with "No session found" when the
17
+ Redis session cache and Mongo diverge: on a session lookup miss the cache
18
+ entry is now invalidated, so the next `/frictionless` falls through and
19
+ creates a fresh session instead of resurrecting the dead one.
20
+
21
+ Add invisible-mode support to the puzzle captcha widget: the
22
+ execute-event handler now drives the full phase transition
23
+ (`start` → `setChallengeData` → `dragging`), and the puzzle overlay is
24
+ rendered in invisible mode so the user can still solve the (inherently
25
+ interactive) drag challenge — only the checkbox UI is hidden.
26
+
27
+ Add `invisible-puzzle-implicit.html` / `invisible-puzzle-explicit.html`
28
+ demo pages, and surface both standard and invisible puzzle entries in
29
+ the client-bundle-example navbar.
30
+ - 5335647: Remove the obsolete `captchaType` render option from the client-bundle-example
31
+ demos; captcha type is now server-driven per site key, so the prop was a no-op.
32
+
33
+ ## 2.10.16
34
+ ### Patch Changes
35
+
36
+ - dbcd098: Fix bug with chrome on ios
37
+
38
+ ## 2.10.15
39
+ ### Patch Changes
40
+
41
+ - f5c8725: Fix bug with chrome on ios
42
+
43
+ ## 2.10.14
44
+ ### Patch Changes
45
+
46
+ - 676c5f2: Use HTTPS in developmentwq
47
+ - c1d738f: Update env for tests
48
+
49
+ ## 2.10.13
50
+ ### Patch Changes
51
+
52
+ - 8148587: Clustering
53
+
3
54
  ## 2.10.12
4
55
  ### Patch Changes
5
56
 
package/README.md CHANGED
@@ -9,6 +9,8 @@ This project is a _minimal_ example demonstrating how to include the Prosopo Pro
9
9
  Run these commands from the root of the [captcha](https://github.com/prosopo/captcha) repo:
10
10
 
11
11
  ```bash
12
+ ./setup-certs.sh && \
13
+ ./install_cert.sh && \
12
14
  cp dev/scripts/env.development dev/scripts/.env.development && \
13
15
  cp dev/scripts/env.development packages/procaptcha-bundle/.env.development && \
14
16
  docker compose --file ./docker/docker-compose.development.yml up -d && \
@@ -22,5 +24,5 @@ NODE_ENV=development npm run start:all
22
24
 
23
25
  ### 2. Visit the App
24
26
 
25
- The app is now running in development mode. Open [http://localhost:9232](http://localhost:9232) to view it in the
27
+ The app is now running in development mode. Open [https://localhost:9232](http://localhost:9232) to view it in the
26
28
  browser.
@@ -0,0 +1,3 @@
1
+ import "node:module";
2
+ //#endregion
3
+ export {};
@@ -1,50 +1,41 @@
1
- "use strict";
1
+ //#region src/index.ts
2
2
  (() => {
3
- function whenDOMReady(fn) {
4
- if (document.readyState !== "loading") fn();
5
- else document.addEventListener("DOMContentLoaded", fn);
6
- }
7
- whenDOMReady(() => {
8
- const wrappers = Array.from(
9
- document.querySelectorAll(".mui-textfield--float-label")
10
- );
11
- for (const wrapper of wrappers) {
12
- const input = wrapper.querySelector("input, textarea, select");
13
- const label = wrapper.querySelector("label");
14
- if (!input || !label) return;
15
- if (!input.getAttribute("aria-label") && label.textContent) {
16
- input.setAttribute("aria-label", label.textContent.trim());
17
- }
18
- const update = () => {
19
- const isChecked = input.type === "checkbox" || input.type === "radio";
20
- const hasValue = isChecked ? input.checked : input.value && input.value.trim() !== "";
21
- if (document.activeElement === input || hasValue) {
22
- wrapper.classList.add("label-hidden");
23
- } else {
24
- wrapper.classList.remove("label-hidden");
25
- }
26
- };
27
- for (const evt of [
28
- "focus",
29
- "input",
30
- "blur",
31
- "change",
32
- "keyup",
33
- "paste"
34
- ]) {
35
- input.addEventListener(evt, update, { passive: true });
36
- }
37
- update();
38
- }
39
- const maxChecks = 12;
40
- let checks = 0;
41
- const iv = setInterval(() => {
42
- checks++;
43
- for (const w of wrappers) {
44
- const input = w.querySelector("input,textarea,select");
45
- if (input) input.dispatchEvent(new Event("input", { bubbles: true }));
46
- }
47
- if (checks >= maxChecks) clearInterval(iv);
48
- }, 250);
49
- });
3
+ function whenDOMReady(fn) {
4
+ if (document.readyState !== "loading") fn();
5
+ else document.addEventListener("DOMContentLoaded", fn);
6
+ }
7
+ whenDOMReady(() => {
8
+ const wrappers = Array.from(document.querySelectorAll(".mui-textfield--float-label"));
9
+ for (const wrapper of wrappers) {
10
+ const input = wrapper.querySelector("input, textarea, select");
11
+ const label = wrapper.querySelector("label");
12
+ if (!input || !label) return;
13
+ if (!input.getAttribute("aria-label") && label.textContent) input.setAttribute("aria-label", label.textContent.trim());
14
+ const update = () => {
15
+ const hasValue = input.type === "checkbox" || input.type === "radio" ? input.checked : input.value && input.value.trim() !== "";
16
+ if (document.activeElement === input || hasValue) wrapper.classList.add("label-hidden");
17
+ else wrapper.classList.remove("label-hidden");
18
+ };
19
+ for (const evt of [
20
+ "focus",
21
+ "input",
22
+ "blur",
23
+ "change",
24
+ "keyup",
25
+ "paste"
26
+ ]) input.addEventListener(evt, update, { passive: true });
27
+ update();
28
+ }
29
+ const maxChecks = 12;
30
+ let checks = 0;
31
+ const iv = setInterval(() => {
32
+ checks++;
33
+ for (const w of wrappers) {
34
+ const input = w.querySelector("input,textarea,select");
35
+ if (input) input.dispatchEvent(new Event("input", { bubbles: true }));
36
+ }
37
+ if (checks >= maxChecks) clearInterval(iv);
38
+ }, 250);
39
+ });
50
40
  })();
41
+ //#endregion
package/dist/index.js CHANGED
@@ -1,49 +1,43 @@
1
+ import "./_virtual/_rolldown/runtime.js";
2
+ //#region src/index.ts
1
3
  (() => {
2
- function whenDOMReady(fn) {
3
- if (document.readyState !== "loading") fn();
4
- else document.addEventListener("DOMContentLoaded", fn);
5
- }
6
- whenDOMReady(() => {
7
- const wrappers = Array.from(
8
- document.querySelectorAll(".mui-textfield--float-label")
9
- );
10
- for (const wrapper of wrappers) {
11
- const input = wrapper.querySelector("input, textarea, select");
12
- const label = wrapper.querySelector("label");
13
- if (!input || !label) return;
14
- if (!input.getAttribute("aria-label") && label.textContent) {
15
- input.setAttribute("aria-label", label.textContent.trim());
16
- }
17
- const update = () => {
18
- const isChecked = input.type === "checkbox" || input.type === "radio";
19
- const hasValue = isChecked ? input.checked : input.value && input.value.trim() !== "";
20
- if (document.activeElement === input || hasValue) {
21
- wrapper.classList.add("label-hidden");
22
- } else {
23
- wrapper.classList.remove("label-hidden");
24
- }
25
- };
26
- for (const evt of [
27
- "focus",
28
- "input",
29
- "blur",
30
- "change",
31
- "keyup",
32
- "paste"
33
- ]) {
34
- input.addEventListener(evt, update, { passive: true });
35
- }
36
- update();
37
- }
38
- const maxChecks = 12;
39
- let checks = 0;
40
- const iv = setInterval(() => {
41
- checks++;
42
- for (const w of wrappers) {
43
- const input = w.querySelector("input,textarea,select");
44
- if (input) input.dispatchEvent(new Event("input", { bubbles: true }));
45
- }
46
- if (checks >= maxChecks) clearInterval(iv);
47
- }, 250);
48
- });
4
+ function whenDOMReady(fn) {
5
+ if (document.readyState !== "loading") fn();
6
+ else document.addEventListener("DOMContentLoaded", fn);
7
+ }
8
+ whenDOMReady(() => {
9
+ const wrappers = Array.from(document.querySelectorAll(".mui-textfield--float-label"));
10
+ for (const wrapper of wrappers) {
11
+ const input = wrapper.querySelector("input, textarea, select");
12
+ const label = wrapper.querySelector("label");
13
+ if (!input || !label) return;
14
+ if (!input.getAttribute("aria-label") && label.textContent) input.setAttribute("aria-label", label.textContent.trim());
15
+ const update = () => {
16
+ const hasValue = input.type === "checkbox" || input.type === "radio" ? input.checked : input.value && input.value.trim() !== "";
17
+ if (document.activeElement === input || hasValue) wrapper.classList.add("label-hidden");
18
+ else wrapper.classList.remove("label-hidden");
19
+ };
20
+ for (const evt of [
21
+ "focus",
22
+ "input",
23
+ "blur",
24
+ "change",
25
+ "keyup",
26
+ "paste"
27
+ ]) input.addEventListener(evt, update, { passive: true });
28
+ update();
29
+ }
30
+ const maxChecks = 12;
31
+ let checks = 0;
32
+ const iv = setInterval(() => {
33
+ checks++;
34
+ for (const w of wrappers) {
35
+ const input = w.querySelector("input,textarea,select");
36
+ if (input) input.dispatchEvent(new Event("input", { bubbles: true }));
37
+ }
38
+ if (checks >= maxChecks) clearInterval(iv);
39
+ }, 250);
40
+ });
49
41
  })();
42
+ //#endregion
43
+ export {};
@@ -0,0 +1,7 @@
1
+ PROSOPO_SITE_KEY=5DszzmqThZQCcPoJGZdyeL82FQWfrPAAbXLq1o3t6hTo2xAf
2
+ PROSOPO_SITE_KEY_FRICTIONLESS=5GCP69mhanZqJqnTvaaGvJCJZWSahz6xE2c7bTGETqSB5KDK
3
+ PROSOPO_SITE_KEY_POW=5Esjpa4ogV3CnkueyiXet7LL5z5mhvEyi5XJnDGbD2kjzD8W
4
+ PROSOPO_SITE_KEY_IMAGE=5DszzmqThZQCcPoJGZdyeL82FQWfrPAAbXLq1o3t6hTo2xAf
5
+ PROSOPO_SITE_KEY_PUZZLE=5CQ3QeyY82R8h8VWFKTic3FMB3WsbSJExZgbaUqfVJtAFPnb
6
+ PROSOPO_SERVER_URL=https://localhost:9228
7
+ VITE_BUNDLE_URL=https://localhost:9269/procaptcha.bundle.js
package/env.production ADDED
@@ -0,0 +1,6 @@
1
+ PROSOPO_SITE_KEY=5E7QGuzYgLJMH6qXQiCw62AUuLxPXRs1E6jitV4w8zTjDcKr
2
+ PROSOPO_SITE_KEY_FRICTIONLESS=5CcNvLUdiXFpzKDMjThGLSK9rhWHA1H4EF3zrgkpkjAdqmuP
3
+ PROSOPO_SITE_KEY_POW=5EoDBDkJscwosTHhHgGf4hqoU5s3WLwAjh8yTCQh72YYjVEt
4
+ PROSOPO_SITE_KEY_IMAGE=5E7QGuzYgLJMH6qXQiCw62AUuLxPXRs1E6jitV4w8zTjDcKr
5
+ PROSOPO_SERVER_URL=https://localhost:9228
6
+ VITE_BUNDLE_URL=https://js.prosopo.io/js/procaptcha.bundle.js
package/env.staging CHANGED
@@ -1,6 +1,6 @@
1
1
  PROSOPO_SITE_KEY=5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw
2
- PROSOPO_SERVER_URL=http://localhost:9228
3
- VITE_BUNDLE_URL=http://staging-js.prosopo.io/js/procaptcha.bundle.js
2
+ PROSOPO_SERVER_URL=https://localhost:9228
3
+ VITE_BUNDLE_URL=https://staging-js.prosopo.io/js/procaptcha.bundle.js
4
4
  PROSOPO_SITE_KEY_POW=5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw
5
5
  PROSOPO_SITE_KEY_IMAGE=5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw
6
6
  PROSOPO_SITE_KEY_FRICTIONLESS=5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw
package/package.json CHANGED
@@ -24,15 +24,15 @@
24
24
  "typecheck": "tsc --project tsconfig.types.json",
25
25
  "start": "NODE_ENV=${NODE_ENV:-development}; vite serve ./src --port 9232 --config vite.config.ts --mode=$NODE_ENV"
26
26
  },
27
- "version": "2.10.12",
27
+ "version": "2.10.19",
28
28
  "devDependencies": {
29
29
  "@emotion/cache": "11.11.0",
30
- "@prosopo/config": "3.3.0",
31
- "@prosopo/dotenv": "3.0.33",
32
- "@prosopo/locale": "3.1.28",
33
- "@prosopo/types": "3.8.0",
30
+ "@prosopo/config": "3.3.5",
31
+ "@prosopo/dotenv": "3.0.50",
32
+ "@prosopo/locale": "3.2.8",
33
+ "@prosopo/types": "4.10.0",
34
34
  "@types/node": "22.5.5",
35
- "@vitest/coverage-v8": "3.2.4",
35
+ "@vitest/coverage-v8": "4.1.10",
36
36
  "concurrently": "9.0.1",
37
37
  "del-cli": "6.0.0",
38
38
  "npm-run-all": "4.1.5",
@@ -41,7 +41,12 @@
41
41
  "tslib": "2.7.0",
42
42
  "tsx": "4.20.3",
43
43
  "typescript": "5.6.2",
44
- "vite": "6.4.1",
45
- "vitest": "3.2.4"
44
+ "vite": "8.1.5",
45
+ "vitest": "4.1.10"
46
+ },
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "git+https://github.com/prosopo/captcha.git",
50
+ "directory": "demos/client-bundle-example"
46
51
  }
47
52
  }
File without changes