diff --git a/apps/csk-marketing-site/package.json b/apps/csk-marketing-site/package.json
index cfca571d..99d4da29 100644
--- a/apps/csk-marketing-site/package.json
+++ b/apps/csk-marketing-site/package.json
@@ -1,6 +1,6 @@
{
"name": "@uniformdev/csk-marketing-site",
- "version": "7.0.2",
+ "version": "7.0.3",
"private": true,
"engines": {
"yarn": "please-use-npm",
@@ -37,14 +37,14 @@
"make-components-preview": "tsx ./src/scripts/make-preview-images.ts"
},
"dependencies": {
- "@uniformdev/assets": "^20.66.4",
- "@uniformdev/canvas": "^20.66.4",
- "@uniformdev/context": "^20.66.4",
+ "@uniformdev/assets": "^20.79.1",
+ "@uniformdev/canvas": "^20.79.1",
+ "@uniformdev/context": "^20.79.1",
"@uniformdev/csk-components": "*",
"@uniformdev/design-extensions-tools": "*",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-client": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-client": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
"next": "^16.2.6",
"next-themes": "^0.4.6",
"react": "^19.2.6",
@@ -58,7 +58,7 @@
"@types/node": "^25.9.1",
"@types/react": "^19.2.15",
"@types/react-dom": "^19.2.3",
- "@uniformdev/cli": "^20.66.4",
+ "@uniformdev/cli": "^20.79.1",
"@uniformdev/csk-cli": "*",
"cross-env": "^10.1.0",
"eslint": "^9.31.0",
diff --git a/apps/csk-marketing-site/src/app/uniform/[code]/page.tsx b/apps/csk-marketing-site/src/app/uniform/[code]/page.tsx
index 07f204d9..eb688eb2 100644
--- a/apps/csk-marketing-site/src/app/uniform/[code]/page.tsx
+++ b/apps/csk-marketing-site/src/app/uniform/[code]/page.tsx
@@ -1,4 +1,5 @@
-import { CANVAS_EDITOR_STATE } from '@uniformdev/canvas';
+import { Suspense } from 'react';
+import { CANVAS_PUBLISHED_STATE } from '@uniformdev/canvas';
import { emptyPlaceholderResolver } from '@uniformdev/csk-components/components/canvas/emptyPlaceholders';
import { compositionCache } from '@uniformdev/csk-components/utils/getSlotComponents';
import { DesignExtensionsProvider } from '@uniformdev/design-extensions-tools/components/providers/server';
@@ -8,6 +9,7 @@ import {
UniformComposition,
UniformPageParameters,
} from '@uniformdev/next-app-router';
+import { deserializeEvaluationResult } from '@uniformdev/next-app-router-shared';
import { componentResolver } from '@/components';
import getAllStaticGeneratedPages from '@/utils/getAllStaticGeneratedPages';
@@ -16,19 +18,38 @@ export const generateStaticParams = async () => {
return createUniformStaticParams({ paths });
};
-export default async function UniformPage({ params }: UniformPageParameters) {
+const Composition = ({ code }: { code: string }) => (
+
+);
+
+// Published pages are rendered once and cached as a whole.
+const PublishedComposition = async ({ code }: { code: string }) => {
'use cache';
+ return ;
+};
+
+export default async function UniformPage({ params }: UniformPageParameters) {
const { code } = await params;
- const result = await resolveRouteFromCode({ code });
+
+ const result = deserializeEvaluationResult({ input: code });
+
return (
-
-
+
+ {result.compositionState === CANVAS_PUBLISHED_STATE ? (
+
+ ) : (
+ // Draft and editor states are evaluated per request (cookies, headers),
+ // so they cannot be cached and must be streamed inside a Suspense boundary.
+
+
+
+ )}
);
}
diff --git a/apps/csk-storybook/package.json b/apps/csk-storybook/package.json
index 51c155e6..6ce1f056 100644
--- a/apps/csk-storybook/package.json
+++ b/apps/csk-storybook/package.json
@@ -1,6 +1,6 @@
{
"name": "@uniformdev/csk-storybook",
- "version": "7.0.2",
+ "version": "7.0.3",
"description": "CSK vNext Storybook is an interactive Storybook build showcasing components from the CSK vNext component starter kit. It provides detailed documentation, live previews, and testing capabilities for easy integration into your projects.",
"main": "index.js",
"scripts": {
@@ -22,8 +22,8 @@
"@tailwindcss/typography": "^0.5.19",
"@uniformdev/csk-components": "*",
"@uniformdev/design-extensions-tools": "*",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
"eslint-plugin-storybook": "^10.4.0",
"next": "^16.2.6",
"next-themes": "^0.4.6",
diff --git a/apps/csk/package.json b/apps/csk/package.json
index 63074844..52ada474 100644
--- a/apps/csk/package.json
+++ b/apps/csk/package.json
@@ -1,6 +1,6 @@
{
"name": "@uniformdev/component-starter-kit",
- "version": "7.0.2",
+ "version": "7.0.3",
"private": true,
"engines": {
"yarn": "please-use-npm",
@@ -36,14 +36,14 @@
"recipes": "csk-recipes init"
},
"dependencies": {
- "@uniformdev/assets": "^20.66.4",
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/assets": "^20.79.1",
+ "@uniformdev/canvas": "^20.79.1",
"@uniformdev/csk-cli": "*",
"@uniformdev/csk-components": "*",
"@uniformdev/design-extensions-tools": "*",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-client": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-client": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
"js-cookie": "^3.0.7",
"next": "^16.2.6",
"next-themes": "^0.4.6",
@@ -58,7 +58,7 @@
"@types/node": "^25.9.1",
"@types/react": "^19.2.15",
"@types/react-dom": "^19.2.3",
- "@uniformdev/cli": "^20.66.4",
+ "@uniformdev/cli": "^20.79.1",
"@uniformdev/csk-recipes": "*",
"cross-env": "^10.1.0",
"eslint": "^9.31.0",
diff --git a/apps/csk/src/app/uniform/[code]/page.tsx b/apps/csk/src/app/uniform/[code]/page.tsx
index 9bcc9fed..f1c65e23 100644
--- a/apps/csk/src/app/uniform/[code]/page.tsx
+++ b/apps/csk/src/app/uniform/[code]/page.tsx
@@ -1,3 +1,5 @@
+import { Suspense } from 'react';
+import { CANVAS_PUBLISHED_STATE } from '@uniformdev/canvas';
import { emptyPlaceholderResolver } from '@uniformdev/csk-components/components/canvas/emptyPlaceholders';
import { compositionCache } from '@uniformdev/csk-components/utils/getSlotComponents';
import { DesignExtensionsProvider } from '@uniformdev/design-extensions-tools/components/providers/server';
@@ -18,21 +20,38 @@ export const generateStaticParams = async () => {
});
};
-export default async function UniformPage({ params }: UniformPageParameters) {
+const Composition = ({ code }: { code: string }) => (
+
+);
+
+// Published pages are rendered once and cached as a whole.
+const PublishedComposition = async ({ code }: { code: string }) => {
'use cache';
+ return ;
+};
+
+export default async function UniformPage({ params }: UniformPageParameters) {
const { code } = await params;
const result = deserializeEvaluationResult({ input: code });
return (
-
+ {result.compositionState === CANVAS_PUBLISHED_STATE ? (
+
+ ) : (
+ // Draft and editor states are evaluated per request (cookies, headers),
+ // so they cannot be cached and must be streamed inside a Suspense boundary.
+
+
+
+ )}
);
}
diff --git a/package-lock.json b/package-lock.json
index 2394b185..66711fcb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "csk-packages",
- "version": "7.0.2",
+ "version": "7.0.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "csk-packages",
- "version": "7.0.2",
+ "version": "7.0.3",
"workspaces": [
"apps/*",
"packages/*"
@@ -27,16 +27,16 @@
},
"apps/csk": {
"name": "@uniformdev/component-starter-kit",
- "version": "7.0.2",
+ "version": "7.0.3",
"dependencies": {
- "@uniformdev/assets": "^20.66.4",
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/assets": "^20.79.1",
+ "@uniformdev/canvas": "^20.79.1",
"@uniformdev/csk-cli": "*",
"@uniformdev/csk-components": "*",
"@uniformdev/design-extensions-tools": "*",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-client": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-client": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
"js-cookie": "^3.0.7",
"next": "^16.2.6",
"next-themes": "^0.4.6",
@@ -51,7 +51,7 @@
"@types/node": "^25.9.1",
"@types/react": "^19.2.15",
"@types/react-dom": "^19.2.3",
- "@uniformdev/cli": "^20.66.4",
+ "@uniformdev/cli": "^20.79.1",
"@uniformdev/csk-recipes": "*",
"cross-env": "^10.1.0",
"eslint": "^9.31.0",
@@ -74,16 +74,16 @@
},
"apps/csk-marketing-site": {
"name": "@uniformdev/csk-marketing-site",
- "version": "7.0.2",
+ "version": "7.0.3",
"dependencies": {
- "@uniformdev/assets": "^20.66.4",
- "@uniformdev/canvas": "^20.66.4",
- "@uniformdev/context": "^20.66.4",
+ "@uniformdev/assets": "^20.79.1",
+ "@uniformdev/canvas": "^20.79.1",
+ "@uniformdev/context": "^20.79.1",
"@uniformdev/csk-components": "*",
"@uniformdev/design-extensions-tools": "*",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-client": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-client": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
"next": "^16.2.6",
"next-themes": "^0.4.6",
"react": "^19.2.6",
@@ -97,7 +97,7 @@
"@types/node": "^25.9.1",
"@types/react": "^19.2.15",
"@types/react-dom": "^19.2.3",
- "@uniformdev/cli": "^20.66.4",
+ "@uniformdev/cli": "^20.79.1",
"@uniformdev/csk-cli": "*",
"cross-env": "^10.1.0",
"eslint": "^9.31.0",
@@ -122,7 +122,7 @@
},
"apps/csk-storybook": {
"name": "@uniformdev/csk-storybook",
- "version": "7.0.2",
+ "version": "7.0.3",
"devDependencies": {
"@chromatic-com/storybook": "^5.2.1",
"@repo/eslint-config": "*",
@@ -135,8 +135,8 @@
"@tailwindcss/typography": "^0.5.19",
"@uniformdev/csk-components": "*",
"@uniformdev/design-extensions-tools": "*",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
"eslint-plugin-storybook": "^10.4.0",
"next": "^16.2.6",
"next-themes": "^0.4.6",
@@ -3072,16 +3072,6 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@graphql-typed-document-node/core": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz",
- "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
- }
- },
"node_modules/@humanfs/core": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz",
@@ -5227,15 +5217,22 @@
}
},
"node_modules/@posthog/core": {
- "version": "1.24.1",
- "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.24.1.tgz",
- "integrity": "sha512-e8AciAnc6MRFws89ux8lJKFAaI03yEon0ASDoUO7yS91FVqbUGXYekObUUR3LHplcg+pmyiJBI0jolY0SFbGRA==",
+ "version": "1.55.1",
+ "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.55.1.tgz",
+ "integrity": "sha512-S76bSbCHGVC8oQa1zyue6A6WzkNf1Ue4oRvfvBNLRnFM3UoWnpWnQ4T/4IzrIEtVCQYv1OI7gk8uL8/U6Tuu7w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "cross-spawn": "^7.0.6"
+ "@posthog/types": "^1.412.3"
}
},
+ "node_modules/@posthog/types": {
+ "version": "1.412.4",
+ "resolved": "https://registry.npmjs.org/@posthog/types/-/types-1.412.4.tgz",
+ "integrity": "sha512-Q7lV9O9TbLngjOYw1ucm3bS3tn48xb1B4ZQdDy8gv7yfKe99hCTeWYG4xZ36nJM80VxpTF9TriiJt5hngDOkBg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@puppeteer/browsers": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-3.0.4.tgz",
@@ -5825,6 +5822,13 @@
"integrity": "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==",
"license": "MIT"
},
+ "node_modules/@standard-schema/spec": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
+ "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@storybook/addon-docs": {
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-10.4.3.tgz",
@@ -7112,12 +7116,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/ms": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
- "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
- "license": "MIT"
- },
"node_modules/@types/node": {
"version": "25.9.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.3.tgz",
@@ -7163,6 +7161,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/retry": {
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz",
+ "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==",
+ "license": "MIT"
+ },
"node_modules/@types/semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz",
@@ -7448,37 +7452,64 @@
}
},
"node_modules/@uniformdev/assets": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/assets/-/assets-20.66.4.tgz",
- "integrity": "sha512-y/HNMjfZmJD9s9u5qu1yT0bU3jqj1kXMmdIdmlFC//aTUUBgGkk5os2WMJ/xV4+XC7/H1uOhKNZSxxUvZl9Jsw==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/assets/-/assets-20.79.1.tgz",
+ "integrity": "sha512-CI+o1VNkObuheZBXK3yOAjKDXhHKiX4l5leEo1znNiTnU/XdwxmdyFgLvyb/6kcI0YKqSwEhLcHmumrz7G3H0A==",
+ "license": "SEE LICENSE IN LICENSE.txt",
+ "dependencies": {
+ "@uniformdev/context": "20.79.1",
+ "@uniformdev/files": "20.79.1"
+ }
+ },
+ "node_modules/@uniformdev/automations-sdk": {
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/automations-sdk/-/automations-sdk-20.79.1.tgz",
+ "integrity": "sha512-A1r1T/lpP3v3h1dTWCqSQcAwndgIzyYAFci7CUsS0EzB3CjIRxfbBWczqQEX6LnkXD5WmutN/fEh8wyXbtisiA==",
+ "dev": true,
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/context": "20.66.4",
- "@uniformdev/files": "20.66.4"
+ "@standard-schema/spec": "^1.1.0",
+ "@uniformdev/context": "20.79.1",
+ "@uniformdev/webhooks": "20.79.1"
+ },
+ "peerDependencies": {
+ "ai": "^6.0.0",
+ "zod": "^4.3.0"
+ },
+ "peerDependenciesMeta": {
+ "ai": {
+ "optional": true
+ },
+ "zod": {
+ "optional": true
+ }
}
},
"node_modules/@uniformdev/canvas": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/canvas/-/canvas-20.66.4.tgz",
- "integrity": "sha512-ARRHlGZIUKFOJJzbf0SwrrR7oBaFdSrmYdEW+Ouuodj7Z23nSi/7gY5llPMZp/OmyfewEZ+7h4/PtETZ3jhAUQ==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/canvas/-/canvas-20.79.1.tgz",
+ "integrity": "sha512-fGGc4b0me+Pn6q8991866GOc6Wjt7S6YBFYSmwkaDZ6DG9qk/+i030DdyStraPK/+/IXJrjnjbJ8rQI82x9i8Q==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/assets": "20.66.4",
- "@uniformdev/context": "20.66.4",
- "@uniformdev/richtext": "20.66.4",
- "immer": "10.1.3"
+ "@uniformdev/assets": "20.79.1",
+ "@uniformdev/context": "20.79.1",
+ "@uniformdev/richtext": "20.79.1",
+ "immer": "10.2.0",
+ "p-limit": "6.2.0",
+ "p-retry": "6.2.1",
+ "p-throttle": "6.2.0"
}
},
"node_modules/@uniformdev/canvas-react": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/canvas-react/-/canvas-react-20.66.4.tgz",
- "integrity": "sha512-55bs8cpR1jbt0qFo5rC2N7OWvIYVJYlw6N3/SDQD4yroKzO5+boMAuKKvPUvr8WOovUZdr8UsaeGrANdEbmP6A==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/canvas-react/-/canvas-react-20.79.1.tgz",
+ "integrity": "sha512-/ObQQbW87feE2KJfZpzPPcfZ/YQGmJIIA6zHb5hpiCmLENKMSb7vbRMGDNvD73tpdfyfKolHAcM+L/XqlHw2rA==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/canvas": "20.66.4",
- "@uniformdev/context": "20.66.4",
- "@uniformdev/context-react": "20.66.4",
- "@uniformdev/richtext": "20.66.4"
+ "@uniformdev/canvas": "20.79.1",
+ "@uniformdev/context": "20.79.1",
+ "@uniformdev/context-react": "20.79.1",
+ "@uniformdev/richtext": "20.79.1"
},
"peerDependencies": {
"immer": ">= 10",
@@ -7487,931 +7518,574 @@
}
},
"node_modules/@uniformdev/cli": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/cli/-/cli-20.66.4.tgz",
- "integrity": "sha512-uFIBgG22NfnVBx5ajvF7nSB3OgYrPFESx2LFY2Ypx92At0IJrve0HYf3zeTx0+5AuG4riTWMfMv4e8eiN7bHpA==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/cli/-/cli-20.79.1.tgz",
+ "integrity": "sha512-TIIfqxNblCjaSj9pX12+CQXrFwMSEPhLfEwNJkWlWd7OloM2KfiRywvNZR8C50qxHCRN9bkjBC0biX80bRD2CA==",
"dev": true,
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@inquirer/prompts": "^7.10.1",
+ "@inquirer/prompts": "^8.5.2",
"@thi.ng/mime": "^2.2.23",
- "@uniformdev/assets": "20.66.4",
- "@uniformdev/canvas": "20.66.4",
- "@uniformdev/context": "20.66.4",
- "@uniformdev/files": "20.66.4",
- "@uniformdev/project-map": "20.66.4",
- "@uniformdev/redirect": "20.66.4",
- "@uniformdev/richtext": "20.66.4",
+ "@uniformdev/assets": "20.79.1",
+ "@uniformdev/automations-sdk": "20.79.1",
+ "@uniformdev/canvas": "20.79.1",
+ "@uniformdev/context": "20.79.1",
+ "@uniformdev/files": "20.79.1",
+ "@uniformdev/project-map": "20.79.1",
+ "@uniformdev/redirect": "20.79.1",
+ "@uniformdev/richtext": "20.79.1",
"call-bind": "^1.0.2",
"colorette": "2.0.20",
- "cosmiconfig": "9.0.0",
+ "cosmiconfig": "9.0.2",
"cosmiconfig-typescript-loader": "5.0.0",
- "diff": "^8.0.3",
- "dotenv": "^16.4.7",
- "esbuild": "0.25.0",
+ "diff": "^9.0.0",
+ "dotenv": "^17.4.2",
+ "esbuild": "0.28.1",
"execa": "5.1.1",
- "file-type": "^21.3.2",
+ "file-type": "^22.0.1",
"fs-jetpack": "5.1.0",
- "graphql": "16.9.0",
- "graphql-request": "6.1.0",
"image-size": "2.0.2",
- "isomorphic-git": "1.35.0",
- "js-yaml": "^4.1.0",
+ "isomorphic-git": "1.38.5",
+ "js-yaml": "^4.3.1",
"jsonwebtoken": "9.0.3",
"mitt": "^3.0.1",
"normalize-newline": "^4.1.0",
- "open": "10.2.0",
- "ora": "8.0.1",
+ "open": "11.0.0",
+ "ora": "9.4.0",
"p-queue": "7.3.4",
- "posthog-node": "5.28.5",
+ "posthog-node": "5.38.2",
"registry-auth-token": "^5.0.0",
"registry-url": "^6.0.0",
- "slugify": "1.6.6",
- "svix": "^1.71.0",
- "undici": "^7.24.0",
- "yargs": "^17.6.2",
- "zod": "4.3.6"
+ "slugify": "1.6.9",
+ "svix": "^1.96.0",
+ "undici": "^7.29.0",
+ "yargs": "^18.0.0",
+ "zod": "4.4.3"
},
"bin": {
"uniform": "cli.js"
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/ansi": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz",
- "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz",
+ "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
"engines": {
"node": ">=18"
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/checkbox": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz",
- "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/android-arm": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz",
+ "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.2",
- "@inquirer/core": "^10.3.2",
- "@inquirer/figures": "^1.0.15",
- "@inquirer/type": "^3.0.10",
- "yoctocolors-cjs": "^2.1.3"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/confirm": {
- "version": "5.1.21",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz",
- "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/android-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz",
+ "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.2",
- "@inquirer/type": "^3.0.10"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/core": {
- "version": "10.3.2",
- "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz",
- "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/android-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz",
+ "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.2",
- "@inquirer/figures": "^1.0.15",
- "@inquirer/type": "^3.0.10",
- "cli-width": "^4.1.0",
- "mute-stream": "^2.0.0",
- "signal-exit": "^4.1.0",
- "wrap-ansi": "^6.2.0",
- "yoctocolors-cjs": "^2.1.3"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/editor": {
- "version": "4.2.23",
- "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz",
- "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz",
+ "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.2",
- "@inquirer/external-editor": "^1.0.3",
- "@inquirer/type": "^3.0.10"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/expand": {
- "version": "4.0.23",
- "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz",
- "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/darwin-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz",
+ "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.2",
- "@inquirer/type": "^3.0.10",
- "yoctocolors-cjs": "^2.1.3"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/external-editor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz",
- "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "chardet": "^2.1.1",
- "iconv-lite": "^0.7.0"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/figures": {
- "version": "1.0.15",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz",
- "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz",
+ "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
"node": ">=18"
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/input": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz",
- "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/linux-arm": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz",
+ "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.2",
- "@inquirer/type": "^3.0.10"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/number": {
- "version": "3.0.23",
- "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz",
- "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/linux-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz",
+ "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.2",
- "@inquirer/type": "^3.0.10"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/password": {
- "version": "4.0.23",
- "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz",
- "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/linux-ia32": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz",
+ "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.2",
- "@inquirer/core": "^10.3.2",
- "@inquirer/type": "^3.0.10"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/prompts": {
- "version": "7.10.1",
- "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz",
- "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/linux-loong64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz",
+ "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==",
+ "cpu": [
+ "loong64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/checkbox": "^4.3.2",
- "@inquirer/confirm": "^5.1.21",
- "@inquirer/editor": "^4.2.23",
- "@inquirer/expand": "^4.0.23",
- "@inquirer/input": "^4.3.1",
- "@inquirer/number": "^3.0.23",
- "@inquirer/password": "^4.0.23",
- "@inquirer/rawlist": "^4.1.11",
- "@inquirer/search": "^3.2.2",
- "@inquirer/select": "^4.4.2"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/rawlist": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz",
- "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz",
+ "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==",
+ "cpu": [
+ "mips64el"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.2",
- "@inquirer/type": "^3.0.10",
- "yoctocolors-cjs": "^2.1.3"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/search": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz",
- "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz",
+ "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.2",
- "@inquirer/figures": "^1.0.15",
- "@inquirer/type": "^3.0.10",
- "yoctocolors-cjs": "^2.1.3"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/select": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz",
- "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz",
+ "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.2",
- "@inquirer/core": "^10.3.2",
- "@inquirer/figures": "^1.0.15",
- "@inquirer/type": "^3.0.10",
- "yoctocolors-cjs": "^2.1.3"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
}
},
- "node_modules/@uniformdev/cli/node_modules/@inquirer/type": {
- "version": "3.0.10",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz",
- "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/linux-s390x": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz",
+ "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@uniformdev/cli/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/chalk": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
- "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/cli-cursor": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz",
- "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "restore-cursor": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/cli-spinners": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
- "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/cliui/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@uniformdev/cli/node_modules/cliui/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/cliui/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/cliui/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
}
},
- "node_modules/@uniformdev/cli/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@uniformdev/cli/node_modules/cosmiconfig": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
- "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "env-paths": "^2.2.1",
- "import-fresh": "^3.3.0",
- "js-yaml": "^4.1.0",
- "parse-json": "^5.2.0"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/d-fischer"
- },
- "peerDependencies": {
- "typescript": ">=4.9.5"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@uniformdev/cli/node_modules/cosmiconfig-typescript-loader": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz",
- "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jiti": "^1.19.1"
- },
- "engines": {
- "node": ">=v16"
- },
- "peerDependencies": {
- "@types/node": "*",
- "cosmiconfig": ">=8.2",
- "typescript": ">=4"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/dotenv": {
- "version": "16.6.1",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
- "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://dotenvx.com"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/jiti": {
- "version": "1.21.7",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
- "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jiti": "bin/jiti.js"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/log-symbols": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz",
- "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/linux-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz",
+ "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "chalk": "^5.3.0",
- "is-unicode-supported": "^1.3.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
"node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@uniformdev/cli/node_modules/log-symbols/node_modules/is-unicode-supported": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz",
- "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/mute-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
- "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/open": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
- "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "default-browser": "^5.2.1",
- "define-lazy-prop": "^3.0.0",
- "is-inside-container": "^1.0.0",
- "wsl-utils": "^0.1.0"
- },
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
"node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@uniformdev/cli/node_modules/ora": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-8.0.1.tgz",
- "integrity": "sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz",
+ "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "chalk": "^5.3.0",
- "cli-cursor": "^4.0.0",
- "cli-spinners": "^2.9.2",
- "is-interactive": "^2.0.0",
- "is-unicode-supported": "^2.0.0",
- "log-symbols": "^6.0.0",
- "stdin-discarder": "^0.2.1",
- "string-width": "^7.0.0",
- "strip-ansi": "^7.1.0"
- },
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
"node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@uniformdev/cli/node_modules/restore-cursor": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz",
- "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "onetime": "^5.1.0",
- "signal-exit": "^3.0.2"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@uniformdev/cli/node_modules/restore-cursor/node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@uniformdev/cli/node_modules/stdin-discarder": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz",
- "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
"node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@uniformdev/cli/node_modules/string-width": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
- "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz",
+ "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "emoji-regex": "^10.3.0",
- "get-east-asian-width": "^1.0.0",
- "strip-ansi": "^7.1.0"
- },
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
"node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@uniformdev/cli/node_modules/undici": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/undici/-/undici-7.27.2.tgz",
- "integrity": "sha512-uZsKNuzQxDMUY6M3pIMvy5tvlGmtq8XJ2oLAkfRKGNu+1VQAIvLy2xIVG5ATZl5wDXl/tddByAWCizRbOme+TA==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz",
+ "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
"engines": {
- "node": ">=20.18.1"
+ "node": ">=18"
}
},
- "node_modules/@uniformdev/cli/node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/sunos-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz",
+ "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=18"
}
},
- "node_modules/@uniformdev/cli/node_modules/wrap-ansi/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@uniformdev/cli/node_modules/wrap-ansi/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/win32-arm64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz",
+ "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=18"
}
},
- "node_modules/@uniformdev/cli/node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/win32-ia32": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz",
+ "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">=18"
}
},
- "node_modules/@uniformdev/cli/node_modules/wsl-utils": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
- "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
+ "node_modules/@uniformdev/cli/node_modules/@esbuild/win32-x64": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz",
+ "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "is-wsl": "^3.1.0"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
"node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
- },
- "node_modules/@uniformdev/cli/node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ },
+ "node_modules/@uniformdev/cli/node_modules/cosmiconfig-typescript-loader": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz",
+ "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
+ "jiti": "^1.19.1"
},
"engines": {
- "node": ">=12"
+ "node": ">=v16"
+ },
+ "peerDependencies": {
+ "@types/node": "*",
+ "cosmiconfig": ">=8.2",
+ "typescript": ">=4"
}
},
- "node_modules/@uniformdev/cli/node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "node_modules/@uniformdev/cli/node_modules/esbuild": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz",
+ "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==",
"dev": true,
- "license": "ISC",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.28.1",
+ "@esbuild/android-arm": "0.28.1",
+ "@esbuild/android-arm64": "0.28.1",
+ "@esbuild/android-x64": "0.28.1",
+ "@esbuild/darwin-arm64": "0.28.1",
+ "@esbuild/darwin-x64": "0.28.1",
+ "@esbuild/freebsd-arm64": "0.28.1",
+ "@esbuild/freebsd-x64": "0.28.1",
+ "@esbuild/linux-arm": "0.28.1",
+ "@esbuild/linux-arm64": "0.28.1",
+ "@esbuild/linux-ia32": "0.28.1",
+ "@esbuild/linux-loong64": "0.28.1",
+ "@esbuild/linux-mips64el": "0.28.1",
+ "@esbuild/linux-ppc64": "0.28.1",
+ "@esbuild/linux-riscv64": "0.28.1",
+ "@esbuild/linux-s390x": "0.28.1",
+ "@esbuild/linux-x64": "0.28.1",
+ "@esbuild/netbsd-arm64": "0.28.1",
+ "@esbuild/netbsd-x64": "0.28.1",
+ "@esbuild/openbsd-arm64": "0.28.1",
+ "@esbuild/openbsd-x64": "0.28.1",
+ "@esbuild/openharmony-arm64": "0.28.1",
+ "@esbuild/sunos-x64": "0.28.1",
+ "@esbuild/win32-arm64": "0.28.1",
+ "@esbuild/win32-ia32": "0.28.1",
+ "@esbuild/win32-x64": "0.28.1"
}
},
- "node_modules/@uniformdev/cli/node_modules/yargs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@uniformdev/cli/node_modules/yargs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "node_modules/@uniformdev/cli/node_modules/jiti": {
+ "version": "1.21.7",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
+ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
+ "bin": {
+ "jiti": "bin/jiti.js"
}
},
- "node_modules/@uniformdev/cli/node_modules/yargs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "node_modules/@uniformdev/cli/node_modules/undici": {
+ "version": "7.29.1",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-7.29.1.tgz",
+ "integrity": "sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
"engines": {
- "node": ">=8"
+ "node": ">=20.18.1"
}
},
"node_modules/@uniformdev/component-starter-kit": {
@@ -8419,26 +8093,26 @@
"link": true
},
"node_modules/@uniformdev/context": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/context/-/context-20.66.4.tgz",
- "integrity": "sha512-1ceVhxkVCWxhrcFgU6t50R46Fz8FgfT0Lgnatv6TLd4j8Drup/2hEvC70FQsBOvNQjU7QNOolYcJwP3JzhCVdw==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/context/-/context-20.79.1.tgz",
+ "integrity": "sha512-XiMaicvQ3mae+1k+jSfVIPur616GievkwBJ65xWoLKITEugEfb1SIwuDs9/+Vd2WMhVCJHUyA49zwar5Jx26YA==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "dequal": "^2.0.2",
- "js-cookie": "3.0.7",
+ "dequal": "^2.0.3",
+ "js-cookie": "3.0.8",
"mitt": "^3.0.1",
"p-limit": "^3.1.0",
"rfdc": "^1.4.1"
}
},
"node_modules/@uniformdev/context-react": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/context-react/-/context-react-20.66.4.tgz",
- "integrity": "sha512-2RYAdGJUy/yQf2gbL2TuToVRNm4WCLu/ko0SiAtYRotuJh8aXpb5e3zkQmszMA9O3VMvM1uED7Z6IZ8YGj/paw==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/context-react/-/context-react-20.79.1.tgz",
+ "integrity": "sha512-phN64sdQlnTDOUCmlO+l15y84k/3YM7k7bTVNuZ/7FfZ5ugQ087wtW9v8ZuE3gbENm6p8i5krRhdPOczn6R84w==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/context": "20.66.4",
- "cookie": "1.0.1",
+ "@uniformdev/context": "20.79.1",
+ "cookie": "1.1.1",
"dequal": "2.0.3"
},
"peerDependencies": {
@@ -8446,15 +8120,6 @@
"react-dom": ">=16.13.1"
}
},
- "node_modules/@uniformdev/context/node_modules/js-cookie": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.7.tgz",
- "integrity": "sha512-z/wZZgDrkNV1eA0ULjM/F9/50Ya8fbzgKneSpoPsXSGd0KnpdtHfOZWK+GcwLk+EZbS4F9RBhU+K2RgzuDaItw==",
- "license": "MIT",
- "engines": {
- "node": ">=20"
- }
- },
"node_modules/@uniformdev/context/node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -8507,12 +8172,12 @@
"link": true
},
"node_modules/@uniformdev/files": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/files/-/files-20.66.4.tgz",
- "integrity": "sha512-psyOQkil4pJTIR8ln5VB+RdQYOtw5CbIMMJUM7lIV1ynibKIwrr0rON7Ev3G9918LmgQJcIUO/uZrX143mRMXg==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/files/-/files-20.79.1.tgz",
+ "integrity": "sha512-vl++eu2tLG0mk8rqC9otM3vUcdOXSvocWphknx5FYRQRnSpPOMm4BATFI9eMIZOEBDAZa086HWgynrtnenpi2g==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/context": "20.66.4"
+ "@uniformdev/context": "20.79.1"
}
},
"node_modules/@uniformdev/metascript": {
@@ -8578,21 +8243,21 @@
}
},
"node_modules/@uniformdev/next-app-router": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/next-app-router/-/next-app-router-20.66.4.tgz",
- "integrity": "sha512-bQ3V3tk0d9/2jcjpjzltF+zEMEG5RHBEJusxQZcfk+B20YQHmuYcS0jkX0ymajh0r9epC3zx1TaT+OwyBTA4kQ==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/next-app-router/-/next-app-router-20.79.1.tgz",
+ "integrity": "sha512-TnBFN0l6jiK2fziZYLp3aif9y0w5QOleOgk4ONH7Rgmw43oXRVn7uFBFWahLgFxQ9ZW6ebR3fAJOd/EcawFnqg==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/canvas-react": "20.66.4",
- "@uniformdev/next-app-router-client": "20.66.4",
- "@uniformdev/next-app-router-shared": "20.66.4",
- "@uniformdev/redirect": "20.66.4",
- "@uniformdev/richtext": "20.66.4",
- "@uniformdev/webhooks": "20.66.4",
- "@vercel/functions": "^2.2.2",
+ "@uniformdev/canvas-react": "20.79.1",
+ "@uniformdev/next-app-router-client": "20.79.1",
+ "@uniformdev/next-app-router-shared": "20.79.1",
+ "@uniformdev/redirect": "20.79.1",
+ "@uniformdev/richtext": "20.79.1",
+ "@uniformdev/webhooks": "20.79.1",
+ "@vercel/functions": "^3.7.2",
"encoding": "^0.1.13",
"server-only": "^0.0.1",
- "svix": "^1.5.0"
+ "svix": "^1.96.0"
},
"engines": {
"node": ">=20.9.0"
@@ -8604,16 +8269,16 @@
}
},
"node_modules/@uniformdev/next-app-router-client": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/next-app-router-client/-/next-app-router-client-20.66.4.tgz",
- "integrity": "sha512-yVY2E+5hq3AJONIic8+TXaGD8XyGjxAYzQASfM+vJifpn5pmWuMSBbnLVsNuob1Q+RPdi1TjVJuWCcbEN8/YFQ==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/next-app-router-client/-/next-app-router-client-20.79.1.tgz",
+ "integrity": "sha512-VO5poKD7DVDhMul2KO4CfMSk0bPPnQ1E1KxWpfRayFmFnsqwKNV8zhJpO42EsVYKQ0sAKwoXexXBlAd83fmGPQ==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/canvas": "20.66.4",
- "@uniformdev/canvas-react": "20.66.4",
- "@uniformdev/context": "20.66.4",
- "@uniformdev/next-app-router-shared": "20.66.4",
- "js-cookie": "3.0.7"
+ "@uniformdev/canvas": "20.79.1",
+ "@uniformdev/canvas-react": "20.79.1",
+ "@uniformdev/context": "20.79.1",
+ "@uniformdev/next-app-router-shared": "20.79.1",
+ "js-cookie": "3.0.8"
},
"engines": {
"node": ">=20.9.0"
@@ -8624,24 +8289,15 @@
"react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0"
}
},
- "node_modules/@uniformdev/next-app-router-client/node_modules/js-cookie": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.7.tgz",
- "integrity": "sha512-z/wZZgDrkNV1eA0ULjM/F9/50Ya8fbzgKneSpoPsXSGd0KnpdtHfOZWK+GcwLk+EZbS4F9RBhU+K2RgzuDaItw==",
- "license": "MIT",
- "engines": {
- "node": ">=20"
- }
- },
"node_modules/@uniformdev/next-app-router-shared": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/next-app-router-shared/-/next-app-router-shared-20.66.4.tgz",
- "integrity": "sha512-bxxSrcUvijwvSmKQEA6aBSBSUrO/T333xFc2rcFXcYirkauQIlA1HC9ckH2pkWxDuCINVQRWn4CHo31gnbMgDg==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/next-app-router-shared/-/next-app-router-shared-20.79.1.tgz",
+ "integrity": "sha512-9kEt1W/hCA67HKpiX0oNL4MlFqgOOHDa+0Dc9zjWBsrpiNuBXgVeGSa7Yi4z2fEZgS6sXJI6Fqo5C2DghdSkLw==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/canvas": "20.66.4",
- "@uniformdev/context": "20.66.4",
- "uuid": "9.0.1"
+ "@uniformdev/canvas": "20.79.1",
+ "@uniformdev/context": "20.79.1",
+ "uuid": "11.1.1"
},
"engines": {
"node": ">=20.9.0"
@@ -8653,23 +8309,23 @@
}
},
"node_modules/@uniformdev/project-map": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/project-map/-/project-map-20.66.4.tgz",
- "integrity": "sha512-uNPbJJiXENtjMh6WPr9eB6MgMoHZexNQ6e6UYq65XMe4hj6NOnFLpuFhB8TQvHBBcXTtXF+ewxBs1k6Q0hdExA==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/project-map/-/project-map-20.79.1.tgz",
+ "integrity": "sha512-zSYua+OWUfFCt6ZHeOfaGSkAs71nrOlMibTfa0up1vQvFM1+ou34AB5nE3ntdYpqso7KRwYIO/lUh+ZF1JSKyQ==",
"dev": true,
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/canvas": "20.66.4",
- "@uniformdev/context": "20.66.4"
+ "@uniformdev/canvas": "20.79.1",
+ "@uniformdev/context": "20.79.1"
}
},
"node_modules/@uniformdev/redirect": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/redirect/-/redirect-20.66.4.tgz",
- "integrity": "sha512-kr0y9uhJ8J2q6Dx8S54h8uqE9MEphKBW9kcZzmoVMiXbRGQ6Bi9eX3dUuOzqNoSkm2jYqbIFosbWgqvxRtFdIg==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/redirect/-/redirect-20.79.1.tgz",
+ "integrity": "sha512-lLpPNzvuunEvtQT6vtYJItWwbeMMmzazV0nq7QTx28ZxJ5zZ4xyx7wfl6r0VWbgSCiOp8HMpJ/qILL3PFWzh2Q==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "@uniformdev/context": "20.66.4",
+ "@uniformdev/context": "20.79.1",
"p-limit": "^3.1.0",
"rfdc": "^1.4.1"
}
@@ -8702,18 +8358,18 @@
}
},
"node_modules/@uniformdev/richtext": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/richtext/-/richtext-20.66.4.tgz",
- "integrity": "sha512-VGWrNnYIpOyRns2/htuG0uVV5sOS4Y2n07HWlhTJo6Mw0TdAVkGGqa/eh9LCiOpIO5vMgTIXxn3qubE5Lj25JA==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/richtext/-/richtext-20.79.1.tgz",
+ "integrity": "sha512-/h82PwT/jmVBFp8Pc+Inwew/zzhcN6gx/Kd2bux54ibbye9IEfcBvIsDjjTS2VBPHmCpwLv/m9vSndn/UahcIA==",
"license": "SEE LICENSE IN LICENSE.txt"
},
"node_modules/@uniformdev/webhooks": {
- "version": "20.66.4",
- "resolved": "https://registry.npmjs.org/@uniformdev/webhooks/-/webhooks-20.66.4.tgz",
- "integrity": "sha512-mfTLhE3sTQAsuNnIyBDs20T0/RYPhl9sKX5LNYHYGhwvbUtFJK2C0zaq2De2GMRedpFdjeknTpFAoFdHjBqGNA==",
+ "version": "20.79.1",
+ "resolved": "https://registry.npmjs.org/@uniformdev/webhooks/-/webhooks-20.79.1.tgz",
+ "integrity": "sha512-Ruqbb/L8e9QCygxNvR+pjA1sIfmSOQCFBxUFMNK+80fRzTS/zdF7feIVJ5nUfIHYBCCKUJaLyVIjXKLOgWq+VQ==",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
- "zod": "4.3.6"
+ "zod": "^4.4.3"
}
},
"node_modules/@unrs/resolver-binding-android-arm-eabi": {
@@ -9052,37 +8708,73 @@
"win32"
]
},
- "node_modules/@vercel/functions": {
- "version": "2.2.13",
- "resolved": "https://registry.npmjs.org/@vercel/functions/-/functions-2.2.13.tgz",
- "integrity": "sha512-14ArBSIIcOBx9nrEgaJb4Bw+en1gl6eSoJWh8qjifLl5G3E4dRXCFOT8HP+w66vb9Wqyd1lAQBrmRhRwOj9X9A==",
+ "node_modules/@vercel/cli-config": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/@vercel/cli-config/-/cli-config-0.2.7.tgz",
+ "integrity": "sha512-KeSN2HBp8puZrj7kVjSEneDi9yBqW4nAD9AnhGhdYjGNpHl7IkXZVb3HnNe0WWc5+20RlUtmAGWNPQ8qP5QBhQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "xdg-app-paths": "5",
+ "zod": "4.1.11"
+ }
+ },
+ "node_modules/@vercel/cli-config/node_modules/zod": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.11.tgz",
+ "integrity": "sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/@vercel/cli-exec": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@vercel/cli-exec/-/cli-exec-1.0.1.tgz",
+ "integrity": "sha512-g9XerViJ/paZujufXYcu5XYI2vU2rtB4sgdpjUHde5RnOkdmpu0ngH46LCFGHoPXO/C+qDPSczIHIRN+8Q2YKQ==",
"license": "Apache-2.0",
"dependencies": {
- "@vercel/oidc": "2.0.2"
+ "execa": "5.1.1"
},
"engines": {
"node": ">= 18"
+ }
+ },
+ "node_modules/@vercel/functions": {
+ "version": "3.9.8",
+ "resolved": "https://registry.npmjs.org/@vercel/functions/-/functions-3.9.8.tgz",
+ "integrity": "sha512-ISnh/3ACFkWZhtwvRz7H1uG+A/7nr6lY1H9bd7s1SQv9GU0aBpBraI5hnmylUumperdwL+9QGme2s4L06VRw9g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@vercel/oidc": "3.8.8"
+ },
+ "engines": {
+ "node": ">= 20"
},
"peerDependencies": {
- "@aws-sdk/credential-provider-web-identity": "*"
+ "@aws-sdk/credential-provider-web-identity": "*",
+ "ws": ">=8"
},
"peerDependenciesMeta": {
"@aws-sdk/credential-provider-web-identity": {
"optional": true
+ },
+ "ws": {
+ "optional": true
}
}
},
"node_modules/@vercel/oidc": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-2.0.2.tgz",
- "integrity": "sha512-59PBFx3T+k5hLTEWa3ggiMpGRz1OVvl9eN8SUai+A43IsqiOuAe7qPBf+cray/Fj6mkgnxm/D7IAtjc8zSHi7g==",
+ "version": "3.8.8",
+ "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.8.8.tgz",
+ "integrity": "sha512-aeq4/sgVh80zO6j2H+7FRfsG6NOXBrvzV1EEO8IdXPEJgwHIPakP+BFq3QmprsEQ18bIimds07kvaYhm2lehtg==",
"license": "Apache-2.0",
"dependencies": {
- "@types/ms": "2.1.0",
- "ms": "2.1.3"
+ "@vercel/cli-config": "0.2.7",
+ "@vercel/cli-exec": "1.0.1",
+ "jose": "^5.9.6"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
}
},
"node_modules/@vimeo/player": {
@@ -11086,12 +10778,16 @@
"license": "MIT"
},
"node_modules/cookie": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.1.tgz",
- "integrity": "sha512-Xd8lFX4LM9QEEwxQpF9J9NTUh8pmdJO0cyRJhFiDoLTk2eH8FXlRv2IFGYVadZpqI3j8fhNrSdKCeYPxiAhLXw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
+ "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
"license": "MIT",
"engines": {
"node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/cookies-next": {
@@ -11262,21 +10958,10 @@
"node": ">=20"
}
},
- "node_modules/cross-fetch": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz",
- "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "node-fetch": "^2.7.0"
- }
- },
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
@@ -11714,9 +11399,9 @@
"license": "BSD-3-Clause"
},
"node_modules/diff": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
- "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-9.0.0.tgz",
+ "integrity": "sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
@@ -13227,7 +12912,6 @@
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.3",
@@ -13251,7 +12935,6 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"mimic-fn": "^2.1.0"
@@ -13267,7 +12950,6 @@
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true,
"license": "ISC"
},
"node_modules/expect": {
@@ -13455,19 +13137,19 @@
}
},
"node_modules/file-type": {
- "version": "21.3.4",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.4.tgz",
- "integrity": "sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==",
+ "version": "22.1.1",
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-22.1.1.tgz",
+ "integrity": "sha512-sEB0oStmeLGtpmSAD88RDNuLsvhv4iC3u0lE25CUvfCULvj49xoQ3l3K525Vn+ZzsZ6DOLajQCV6RmhwwhqiJg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@tokenizer/inflate": "^0.4.1",
- "strtok3": "^10.3.4",
- "token-types": "^6.1.1",
- "uint8array-extras": "^1.4.0"
+ "strtok3": "^10.3.5",
+ "token-types": "^6.1.2",
+ "uint8array-extras": "^1.5.0"
},
"engines": {
- "node": ">=20"
+ "node": ">=22"
},
"funding": {
"url": "https://github.com/sindresorhus/file-type?sponsor=1"
@@ -14010,7 +13692,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@@ -14170,30 +13851,6 @@
"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
"license": "ISC"
},
- "node_modules/graphql": {
- "version": "16.9.0",
- "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz",
- "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
- }
- },
- "node_modules/graphql-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-6.1.0.tgz",
- "integrity": "sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@graphql-typed-document-node/core": "^3.2.0",
- "cross-fetch": "^3.1.5"
- },
- "peerDependencies": {
- "graphql": "14 - 16"
- }
- },
"node_modules/has-bigints": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
@@ -14488,7 +14145,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true,
"license": "Apache-2.0",
"engines": {
"node": ">=10.17.0"
@@ -14590,9 +14246,9 @@
"license": "MIT"
},
"node_modules/immer": {
- "version": "10.1.3",
- "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.3.tgz",
- "integrity": "sha512-tmjF/k8QDKydUlm3mZU+tjM6zeq9/fFpPqH9SzWmBnVVKsPBg/V66qsMwb3/Bo90cgUN+ghdVBess+hPsxUyRw==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz",
+ "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==",
"license": "MIT",
"funding": {
"type": "opencollective",
@@ -15041,6 +14697,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-network-error": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.2.tgz",
+ "integrity": "sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -15143,7 +14811,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -15287,13 +14954,12 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true,
"license": "ISC"
},
"node_modules/isomorphic-git": {
- "version": "1.35.0",
- "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.35.0.tgz",
- "integrity": "sha512-+pRiwWDld5yAjdTFFh9+668kkz4uzCZBs+mw+ZFxPAxJBX8KCqd/zAP7Zak0BK5BQ+dXVqEurR5DkEnqrLpHlQ==",
+ "version": "1.38.5",
+ "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.38.5.tgz",
+ "integrity": "sha512-4HBmx1UB+SdRaQh7+zN7lvFQxc4zl7s0oIM/1+5xveu6+QrOeFfx5QDeRNpqCzFHICISEdbK7GilsTsrgE006Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -15493,6 +15159,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/jose": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz",
+ "integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/panva"
+ }
+ },
"node_modules/joycon": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz",
@@ -15516,9 +15191,9 @@
"license": "MIT"
},
"node_modules/js-yaml": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
- "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz",
+ "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==",
"dev": true,
"funding": [
{
@@ -16488,7 +16163,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true,
"license": "MIT"
},
"node_modules/merge2": {
@@ -16586,7 +16260,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -16720,6 +16393,7 @@
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/mute-stream": {
@@ -16971,27 +16645,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/node-fetch": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
- "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
"node_modules/node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
@@ -17309,7 +16962,6 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"path-key": "^3.0.0"
@@ -17586,6 +17238,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/os-paths": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/os-paths/-/os-paths-4.4.0.tgz",
+ "integrity": "sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6.0"
+ }
+ },
"node_modules/own-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
@@ -17677,7 +17338,6 @@
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz",
"integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"yocto-queue": "^1.1.1"
@@ -17758,6 +17418,35 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/p-retry": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz",
+ "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/retry": "0.12.2",
+ "is-network-error": "^1.0.0",
+ "retry": "^0.13.1"
+ },
+ "engines": {
+ "node": ">=16.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-throttle": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-6.2.0.tgz",
+ "integrity": "sha512-NCKkOVj6PZa6NiTmfvGilDdf6vO1rFCD3KDnkHko8dTOtkpk4cSR/VTAhhLMG9aiQ7/A9HYgEDNmxzf6hxzR3g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/p-timeout": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz",
@@ -17927,7 +17616,6 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -18391,13 +18079,13 @@
"license": "MIT"
},
"node_modules/posthog-node": {
- "version": "5.28.5",
- "resolved": "https://registry.npmjs.org/posthog-node/-/posthog-node-5.28.5.tgz",
- "integrity": "sha512-+8H7rMPB48cwKhzZmq0EQXDFWjdT6yQrecq+f7c7m19HMzyvYtm54I7vNncEr9lrkzczc4kcePxwLD4qgt/YXg==",
+ "version": "5.38.2",
+ "resolved": "https://registry.npmjs.org/posthog-node/-/posthog-node-5.38.2.tgz",
+ "integrity": "sha512-eiKpU+vX4hVuHbO/EosvPHsmh2AVIdoVmWss/uUOs1t4b0ViCblw2o8OIFqHxKj3mYRnSOBlX0Dw3wBvcCaYpA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@posthog/core": "1.24.1"
+ "@posthog/core": "^1.35.3"
},
"engines": {
"node": "^20.20.0 || >=22.22.0"
@@ -19259,6 +18947,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/retry": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
"node_modules/reusify": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
@@ -19764,7 +19461,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
@@ -19777,7 +19473,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -19959,9 +19654,9 @@
}
},
"node_modules/slugify": {
- "version": "1.6.6",
- "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz",
- "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==",
+ "version": "1.6.9",
+ "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.9.tgz",
+ "integrity": "sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -20467,7 +20162,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -20620,9 +20314,9 @@
}
},
"node_modules/svix": {
- "version": "1.95.2",
- "resolved": "https://registry.npmjs.org/svix/-/svix-1.95.2.tgz",
- "integrity": "sha512-i2gDtqABKQritWlFOxQHr+Oa63PBQ3q1oUhwhNwJgH+Xi0NjgWz5o6nd+8EwgNFGrH6UOe3wjKZtbZmjVn9r8w==",
+ "version": "1.99.1",
+ "resolved": "https://registry.npmjs.org/svix/-/svix-1.99.1.tgz",
+ "integrity": "sha512-JfpvbAg5iT5NagDAfOq3e6Ci6NbOMbMm6C3DnfDBB60m2JDK+Z2hXPE9XNAmutb53DCdPoih1V70IbklZnX09A==",
"license": "MIT",
"dependencies": {
"standardwebhooks": "1.0.0"
@@ -20905,13 +20599,6 @@
"url": "https://github.com/sponsors/Borewit"
}
},
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/tree-kill": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
@@ -22500,17 +22187,16 @@
"license": "MIT"
},
"node_modules/uuid": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
- "deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).",
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.1.tgz",
+ "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"license": "MIT",
"bin": {
- "uuid": "dist/bin/uuid"
+ "uuid": "dist/esm/bin/uuid"
}
},
"node_modules/validate-npm-package-license": {
@@ -22581,13 +22267,6 @@
"dev": true,
"license": "Apache-2.0"
},
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
"node_modules/webpack": {
"version": "5.107.2",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.107.2.tgz",
@@ -22754,22 +22433,10 @@
"dev": true,
"license": "ISC"
},
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
"license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
@@ -22917,7 +22584,7 @@
"version": "8.21.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
"integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -22951,6 +22618,31 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/xdg-app-paths": {
+ "version": "5.5.1",
+ "resolved": "https://registry.npmjs.org/xdg-app-paths/-/xdg-app-paths-5.5.1.tgz",
+ "integrity": "sha512-hI3flOB4PLZIy5prbtTpirobtPE2ZtZ52szO+2mM9Efp6ErM398La+C1lIpNWDfNoQk+6Lsi6nMcCwVB7pxeMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "os-paths": "^4.0.1",
+ "xdg-portable": "^7.2.0"
+ },
+ "engines": {
+ "node": ">= 6.0"
+ }
+ },
+ "node_modules/xdg-portable": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/xdg-portable/-/xdg-portable-7.3.0.tgz",
+ "integrity": "sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==",
+ "license": "MIT",
+ "dependencies": {
+ "os-paths": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6.0"
+ }
+ },
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
@@ -23044,7 +22736,6 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz",
"integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=12.20"
@@ -23065,19 +22756,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/yoctocolors-cjs": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
- "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/youtube-video-element": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/youtube-video-element/-/youtube-video-element-1.9.0.tgz",
@@ -23088,9 +22766,9 @@
}
},
"node_modules/zod": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz",
- "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz",
+ "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
@@ -23111,7 +22789,7 @@
},
"packages/csk-cli": {
"name": "@uniformdev/csk-cli",
- "version": "7.0.2",
+ "version": "7.0.3",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
"@inquirer/prompts": "^8.4.3",
@@ -23127,7 +22805,7 @@
"@repo/eslint-config": "*",
"@repo/typescript-config": "*",
"@types/jest": "^30.0.0",
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/canvas": "^20.79.1",
"next": "^16.2.6",
"prettier": "3.8.3",
"react": "^19.2.6",
@@ -23139,7 +22817,7 @@
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
},
"peerDependencies": {
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/canvas": "^20.79.1",
"next": ">=16",
"prettier": ">=3",
"react": ">=19",
@@ -23148,7 +22826,7 @@
},
"packages/csk-components": {
"name": "@uniformdev/csk-components",
- "version": "7.0.2",
+ "version": "7.0.3",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
"@inquirer/prompts": "^8.4.3",
@@ -23172,12 +22850,12 @@
"@repo/typescript-config": "*",
"@types/js-cookie": "^3.0.6",
"@types/node": "^25.9.1",
- "@uniformdev/assets": "^20.66.4",
- "@uniformdev/canvas": "^20.66.4",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-client": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
- "@uniformdev/project-map": "^20.66.4",
+ "@uniformdev/assets": "^20.79.1",
+ "@uniformdev/canvas": "^20.79.1",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-client": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
+ "@uniformdev/project-map": "^20.79.1",
"next": "^16.2.6",
"next-themes": "^0.4.6",
"react": "^19.2.6",
@@ -23190,12 +22868,12 @@
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
},
"peerDependencies": {
- "@uniformdev/assets": "^20.66.4",
- "@uniformdev/canvas": "^20.66.4",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-client": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
- "@uniformdev/project-map": "^20.66.4",
+ "@uniformdev/assets": "^20.79.1",
+ "@uniformdev/canvas": "^20.79.1",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-client": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
+ "@uniformdev/project-map": "^20.79.1",
"next": ">=16",
"next-themes": ">=0.4.0",
"react": ">=19",
@@ -23205,7 +22883,7 @@
},
"packages/csk-recipes": {
"name": "@uniformdev/csk-recipes",
- "version": "7.0.2",
+ "version": "7.0.3",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
"@inquirer/prompts": "^8.4.3",
@@ -23225,7 +22903,7 @@
"@repo/typescript-config": "*",
"@types/jest": "^30.0.0",
"@types/unzipper": "^0.10.11",
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/canvas": "^20.79.1",
"next": "^16.2.6",
"react": "^19.2.6",
"react-dom": "^19.2.6",
@@ -23236,7 +22914,7 @@
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
},
"peerDependencies": {
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/canvas": "^20.79.1",
"next": ">=16",
"react": ">=19",
"react-dom": ">=19"
@@ -23244,7 +22922,7 @@
},
"packages/design-extensions-tools": {
"name": "@uniformdev/design-extensions-tools",
- "version": "7.0.2",
+ "version": "7.0.3",
"license": "SEE LICENSE IN LICENSE.txt",
"dependencies": {
"@inquirer/prompts": "^8.4.3",
@@ -23280,7 +22958,7 @@
},
"packages/eslint-config": {
"name": "@repo/eslint-config",
- "version": "7.0.2",
+ "version": "7.0.3",
"devDependencies": {
"@eslint/js": "^9.31.0",
"@next/eslint-plugin-next": "^16.2.6",
@@ -23301,12 +22979,12 @@
},
"packages/internal-scripts": {
"name": "@repo/internal-scripts",
- "version": "7.0.2",
+ "version": "7.0.3",
"license": "ISC"
},
"packages/typescript-config": {
"name": "@repo/typescript-config",
- "version": "7.0.2",
+ "version": "7.0.3",
"license": "MIT"
}
}
diff --git a/package.json b/package.json
index 8278fbd4..d5e16318 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "csk-packages",
- "version": "7.0.2",
+ "version": "7.0.3",
"private": true,
"scripts": {
"build": "turbo build",
diff --git a/packages/csk-cli/package.json b/packages/csk-cli/package.json
index d67ea78b..8252d158 100644
--- a/packages/csk-cli/package.json
+++ b/packages/csk-cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@uniformdev/csk-cli",
- "version": "7.0.2",
+ "version": "7.0.3",
"description": "Command-line interface (CLI) tool designed to streamline the development workflow within Uniform projects. It provides commands for pulling additional data and generating components based on Canvas data",
"license": "SEE LICENSE IN LICENSE.txt",
"engines": {
@@ -49,7 +49,7 @@
"@repo/eslint-config": "*",
"@repo/typescript-config": "*",
"@types/jest": "^30.0.0",
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/canvas": "^20.79.1",
"next": "^16.2.6",
"prettier": "3.8.3",
"react": "^19.2.6",
@@ -58,7 +58,7 @@
"typescript": "^6.0.3"
},
"peerDependencies": {
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/canvas": "^20.79.1",
"next": ">=16",
"prettier": ">=3",
"react": ">=19",
diff --git a/packages/csk-components/package.json b/packages/csk-components/package.json
index ec6d387e..1338c3f0 100644
--- a/packages/csk-components/package.json
+++ b/packages/csk-components/package.json
@@ -1,6 +1,6 @@
{
"name": "@uniformdev/csk-components",
- "version": "7.0.2",
+ "version": "7.0.3",
"description": "Components Starter Kit that provides a set of basic components for building websites within a Uniform project",
"license": "SEE LICENSE IN LICENSE.txt",
"engines": {
@@ -103,12 +103,12 @@
"@repo/typescript-config": "*",
"@types/js-cookie": "^3.0.6",
"@types/node": "^25.9.1",
- "@uniformdev/assets": "^20.66.4",
- "@uniformdev/canvas": "^20.66.4",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-client": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
- "@uniformdev/project-map": "^20.66.4",
+ "@uniformdev/assets": "^20.79.1",
+ "@uniformdev/canvas": "^20.79.1",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-client": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
+ "@uniformdev/project-map": "^20.79.1",
"next": "^16.2.6",
"next-themes": "^0.4.6",
"react": "^19.2.6",
@@ -118,12 +118,12 @@
"tsx": "^4.22.3"
},
"peerDependencies": {
- "@uniformdev/assets": "^20.66.4",
- "@uniformdev/canvas": "^20.66.4",
- "@uniformdev/next-app-router": "^20.66.4",
- "@uniformdev/next-app-router-client": "^20.66.4",
- "@uniformdev/next-app-router-shared": "^20.66.4",
- "@uniformdev/project-map": "^20.66.4",
+ "@uniformdev/assets": "^20.79.1",
+ "@uniformdev/canvas": "^20.79.1",
+ "@uniformdev/next-app-router": "^20.79.1",
+ "@uniformdev/next-app-router-client": "^20.79.1",
+ "@uniformdev/next-app-router-shared": "^20.79.1",
+ "@uniformdev/project-map": "^20.79.1",
"next": ">=16",
"next-themes": ">=0.4.0",
"react": ">=19",
diff --git a/packages/csk-components/src/components/canvas/Breadcrumbs/breadcrumbs.tsx b/packages/csk-components/src/components/canvas/Breadcrumbs/breadcrumbs.tsx
index 6b4114e0..4a583017 100644
--- a/packages/csk-components/src/components/canvas/Breadcrumbs/breadcrumbs.tsx
+++ b/packages/csk-components/src/components/canvas/Breadcrumbs/breadcrumbs.tsx
@@ -1,11 +1,10 @@
import { FC } from 'react';
-import { LinkParamValue, CanvasClient, flattenValues } from '@uniformdev/canvas';
-import { ProjectMapClient } from '@uniformdev/project-map';
+import { LinkParamValue } from '@uniformdev/canvas';
import BaseButton, { ButtonVariant } from '@/components/ui/Button';
import BaseText from '@/components/ui/Text';
import { resolveColor } from '@/utils/colorPalette';
-import { compositionCache } from '@/utils/getSlotComponents';
-import { formatUniformLink, resolveRouteToPath } from '@/utils/routing';
+import { canAutoGenerateBreadcrumbs, getAutoBreadcrumbs } from '@/utils/getBreadcrumbs';
+import { formatUniformLink } from '@/utils/routing';
import { cn } from '@/utils/styling';
import { withFlattenParameters } from '@/utils/withFlattenParameters';
import { BreadcrumbLink, BreadcrumbsParameters, BreadcrumbsProps } from '.';
@@ -14,66 +13,18 @@ import { getSeparator } from './helpers';
export const Breadcrumbs: FC<
BreadcrumbsProps & Omit & { links?: { title?: string; link?: LinkParamValue }[] }
> = async ({ separator, links, size, color, font, transform, autoGenerate, context }) => {
- // Matched route is 'composition' — this means we're in the composition pattern,
- // so we don't have access to the project map at this point.
- const isInPattern = !context?.type || context?.type !== 'page';
+ // Inside patterns and the playground the project map is not accessible,
+ // so breadcrumbs can only be auto-generated for real pages.
+ const isInPattern = !canAutoGenerateBreadcrumbs(context);
- const getManualBreadcrumbs = async (): Promise =>
+ const getManualBreadcrumbs = (): BreadcrumbLink[] =>
links?.filter(Boolean).reduce((acc, { title, link }) => {
if (!title) return acc;
return [...acc, { title, link: formatUniformLink(link) }];
}, []) || [];
- const getAutoBreadcrumbs = async (): Promise => {
- if (isInPattern) return [];
- const client = new ProjectMapClient({
- projectId: process.env.UNIFORM_PROJECT_ID,
- apiKey: process.env.UNIFORM_API_KEY,
- apiHost: process.env.UNIFORM_CLI_BASE_URL || 'https://uniform.app',
- });
-
- const { projectMapNodes } = compositionCache.getUniformComposition({ id: context?._id }) || {};
- if (!projectMapNodes || !projectMapNodes[0]) return [];
-
- const { nodes } = await client.getNodes({
- path: projectMapNodes[0].path,
- includeAncestors: true,
- depth: 0,
- });
-
- if (!nodes?.length) return [];
-
- return Promise.all(
- nodes.map(async node => {
- const isDynamic = node.pathSegment?.includes(':');
-
- const title =
- isDynamic && node.compositionId
- ? await new CanvasClient({
- projectId: process.env.UNIFORM_PROJECT_ID,
- apiKey: process.env.UNIFORM_API_KEY,
- apiHost: process.env.UNIFORM_CLI_BASE_URL || 'https://uniform.app',
- edgeApiHost: process.env.UNIFORM_CLI_BASE_EDGE_URL || 'https://uniform.global',
- })
- .getCompositionById({ compositionId: node.compositionId })
- .then(({ composition }) => {
- if (!composition) return node.name;
- const flattened = flattenValues(composition);
- return (flattened?.pageTitle as string) || node.name;
- })
- .catch(() => node.name)
- : node.name;
-
- const link =
- node.type === 'placeholder' ? undefined : resolveRouteToPath(node.path, context.pageState.routePath);
-
- return { title, link };
- })
- );
- };
-
- const itemToDisplay = autoGenerate ? await getAutoBreadcrumbs() : await getManualBreadcrumbs();
+ const itemToDisplay = autoGenerate ? await getAutoBreadcrumbs(context) : getManualBreadcrumbs();
if (isInPattern && autoGenerate) {
return (
diff --git a/packages/csk-components/src/components/canvas/serverOnly.ts b/packages/csk-components/src/components/canvas/serverOnly.ts
index cfc91146..24e8917a 100644
--- a/packages/csk-components/src/components/canvas/serverOnly.ts
+++ b/packages/csk-components/src/components/canvas/serverOnly.ts
@@ -6,7 +6,7 @@
* into client-side modules.
*
* Components:
- * - Breadcrumbs: relies on `compositionCache`
+ * - Breadcrumbs: relies on server-only Uniform clients (`getProjectMapClient`, `getRouteClient`) and `compositionCache`
* - Tabs: relies on `compositionCache` through `withSlotsDataValue` and `getSlotComponents`
*/
diff --git a/packages/csk-components/src/utils/getBreadcrumbs.ts b/packages/csk-components/src/utils/getBreadcrumbs.ts
new file mode 100644
index 00000000..b4fe774d
--- /dev/null
+++ b/packages/csk-components/src/utils/getBreadcrumbs.ts
@@ -0,0 +1,99 @@
+'server-only';
+
+import { LOCALE_DYNAMIC_INPUT_NAME } from '@uniformdev/canvas';
+import { getProjectMapClient, getRouteClient } from '@uniformdev/next-app-router';
+import { CompositionContext } from '@uniformdev/next-app-router-shared';
+import { getNodeLocalePath, ProjectMapNode, ROOT_NODE_PATH } from '@uniformdev/project-map';
+import type { BreadcrumbLink } from '@/components/canvas/Breadcrumbs';
+import { compositionCache } from '@/utils/getSlotComponents';
+import { resolveRouteToPath } from '@/utils/routing';
+
+type GetAutoBreadcrumbsOptions = {
+ /** Composition parameter used as a breadcrumb title. Falls back to the project map node name. */
+ titleParameter?: string;
+};
+
+/**
+ * Whether the composition is rendered as a real page resolved through the project map.
+ * Inside patterns and the playground `matchedRoute` is `'composition'`, so the project map is not accessible.
+ */
+export const canAutoGenerateBreadcrumbs = (context: CompositionContext | undefined): context is CompositionContext =>
+ context?.type === 'page' && !!context.matchedRoute?.startsWith('/');
+
+const getNodeName = (node: ProjectMapNode, locale: string | undefined) =>
+ (locale && node.locales?.[locale]?.name) || node.name;
+
+const getParameterValue = (parameters: Record | undefined, name: string) => {
+ const value = parameters?.[name]?.value;
+ return typeof value === 'string' && value ? value : undefined;
+};
+
+/**
+ * Builds breadcrumbs for the current page from the project map.
+ *
+ * The project map client is only used for the tree structure (ancestor chain, node names, localized paths).
+ * Titles come from the Route API with a `select` projection, which resolves locale, editions, dynamic inputs
+ * and data-bound parameters and returns only the requested parameter instead of the whole composition.
+ */
+export const getAutoBreadcrumbs = async (
+ context: CompositionContext,
+ { titleParameter = 'pageTitle' }: GetAutoBreadcrumbsOptions = {}
+): Promise => {
+ if (!canAutoGenerateBreadcrumbs(context)) return [];
+
+ const { state, matchedRoute, dynamicInputs, pageState } = context;
+ const locale = dynamicInputs?.[LOCALE_DYNAMIC_INPUT_NAME];
+
+ const { nodes } = await getProjectMapClient({ state }).getNodes({
+ path: matchedRoute,
+ includeAncestors: true,
+ depth: 0,
+ expanded: true,
+ });
+
+ if (!nodes?.length) return [];
+
+ const routeClient = getRouteClient({ state });
+
+ const getCompositionTitle = async (node: ProjectMapNode, path: string) => {
+ // The current composition is already loaded, no need to fetch it again
+ if (node.path === matchedRoute) {
+ const currentTitle = getParameterValue(
+ compositionCache.getUniformComposition({ id: context._id })?.parameters,
+ titleParameter
+ );
+ if (currentTitle) return currentTitle;
+ }
+
+ return routeClient
+ .get({
+ path,
+ state,
+ releaseId: pageState.releaseId,
+ withComponentIDs: false,
+ select: { fields: { only: [titleParameter] }, slots: { only: [] } },
+ })
+ .then(route =>
+ route.type === 'composition'
+ ? getParameterValue(route.compositionApiResponse.composition.parameters, titleParameter)
+ : undefined
+ )
+ .catch(() => undefined);
+ };
+
+ return Promise.all(
+ nodes
+ // The root placeholder node is not a page, skip it
+ .filter(node => !(node.path === ROOT_NODE_PATH && node.type === 'placeholder'))
+ .map(async node => {
+ const fallbackTitle = getNodeName(node, locale);
+
+ if (node.type === 'placeholder') return { title: fallbackTitle };
+
+ const link = resolveRouteToPath(getNodeLocalePath(node, locale), pageState.routePath);
+ const title = link ? await getCompositionTitle(node, link) : undefined;
+
+ return { title: title || fallbackTitle, link };
+ })
+ );
+};
diff --git a/packages/csk-recipes/package.json b/packages/csk-recipes/package.json
index 85569189..097a75e6 100644
--- a/packages/csk-recipes/package.json
+++ b/packages/csk-recipes/package.json
@@ -1,6 +1,6 @@
{
"name": "@uniformdev/csk-recipes",
- "version": "7.0.2",
+ "version": "7.0.3",
"description": "command-line interface (CLI) and utility functions to help you work with recipes in a CSK project. It simplifies project initialization by allowing you to choose templates and include specific recipes",
"license": "SEE LICENSE IN LICENSE.txt",
"engines": {
@@ -48,7 +48,7 @@
"@repo/typescript-config": "*",
"@types/jest": "^30.0.0",
"@types/unzipper": "^0.10.11",
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/canvas": "^20.79.1",
"next": "^16.2.6",
"react": "^19.2.6",
"react-dom": "^19.2.6",
@@ -56,7 +56,7 @@
"typescript": "^6.0.3"
},
"peerDependencies": {
- "@uniformdev/canvas": "^20.66.4",
+ "@uniformdev/canvas": "^20.79.1",
"next": ">=16",
"react": ">=19",
"react-dom": ">=19"
diff --git a/packages/design-extensions-tools/package.json b/packages/design-extensions-tools/package.json
index 01822b3b..0707c1d2 100644
--- a/packages/design-extensions-tools/package.json
+++ b/packages/design-extensions-tools/package.json
@@ -1,6 +1,6 @@
{
"name": "@uniformdev/design-extensions-tools",
- "version": "7.0.2",
+ "version": "7.0.3",
"description": "Command-line interface (CLI) tool and a set of utilities for working with design extension integrations",
"license": "SEE LICENSE IN LICENSE.txt",
"engines": {
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
index f0104dbe..a65e0dd4 100644
--- a/packages/eslint-config/package.json
+++ b/packages/eslint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@repo/eslint-config",
- "version": "7.0.2",
+ "version": "7.0.3",
"type": "module",
"private": true,
"exports": {
diff --git a/packages/internal-scripts/package.json b/packages/internal-scripts/package.json
index d3765991..f42be1c0 100644
--- a/packages/internal-scripts/package.json
+++ b/packages/internal-scripts/package.json
@@ -1,6 +1,6 @@
{
"name": "@repo/internal-scripts",
- "version": "7.0.2",
+ "version": "7.0.3",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json
index 8f01875c..c5973756 100644
--- a/packages/typescript-config/package.json
+++ b/packages/typescript-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@repo/typescript-config",
- "version": "7.0.2",
+ "version": "7.0.3",
"private": true,
"license": "MIT",
"publishConfig": {