generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 105
Open
Labels
Description
Environment information
System:
OS: macOS 26.2
CPU: (10) arm64 Apple M4
Memory: 166.00 MB / 16.00 GB
Shell: /bin/zsh
Binaries:
Node: 22.18.0 - /Users/ktsierra/.nvm/versions/node/v22.18.0/bin/node
Yarn: 1.22.22 - /opt/homebrew/bin/yarn
npm: 10.9.3 - /Users/ktsierra/.nvm/versions/node/v22.18.0/bin/npm
pnpm: 10.28.1 - /Users/ktsierra/Library/pnpm/pnpm
NPM Packages:
@aws-amplify/ai-constructs: Not Found
@aws-amplify/auth-construct: Not Found
@aws-amplify/backend: 1.20.0
@aws-amplify/backend-ai: Not Found
@aws-amplify/backend-auth: Not Found
@aws-amplify/backend-cli: 1.8.2
@aws-amplify/backend-data: Not Found
@aws-amplify/backend-deployer: Not Found
@aws-amplify/backend-function: Not Found
@aws-amplify/backend-output-schemas: Not Found
@aws-amplify/backend-output-storage: Not Found
@aws-amplify/backend-secret: Not Found
@aws-amplify/backend-storage: Not Found
@aws-amplify/cli-core: Not Found
@aws-amplify/client-config: Not Found
@aws-amplify/data-construct: Not Found
@aws-amplify/data-schema: Not Found
@aws-amplify/deployed-backend-client: Not Found
@aws-amplify/form-generator: Not Found
@aws-amplify/model-generator: Not Found
@aws-amplify/platform-core: Not Found
@aws-amplify/plugin-types: Not Found
@aws-amplify/sandbox: Not Found
@aws-amplify/schema-generator: Not Found
@aws-cdk/toolkit-lib: Not Found
aws-amplify: 6.16.0
aws-cdk-lib: 2.236.0
typescript: 5.9.3
npm warn exec The following package was not found and will be installed: [email protected]
No AWS environment variables
No CDK environment variables
Describe the feature
support for zod v4 in amplify-backend packages, right now attempting to use zod v4 on an amplify project throws Amplify outputs could not be generated. [ZodError].
This can be done following zod migration to v4 in zod repo:
Bumping to v4 and keep using v3 to avoid issues with:
import * as z from "zod/v3"; // Zod 3
and in package.json:
{
"peerDependencies": {
"zod": "^3.25.0 || ^4.0.0" //or the pinned zod version
}
}
This will allow amplify packages to keep working using v3 zod from zod/v3 and users to use v4 from zod .
On pnpm why zod it's revealed:
dependencies:
zod 4.3.6
devDependencies:
@aws-amplify/backend 1.20.0
├─┬ @aws-amplify/backend-auth 1.9.1
│ ├─┬ @aws-amplify/auth-construct 1.11.0
│ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ └── zod 4.3.6 peer
│ │ ├─┬ @aws-amplify/backend-output-storage 1.3.3
│ │ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ │ └── zod 4.3.6 peer
│ │ │ └─┬ @aws-amplify/platform-core 1.10.4
│ │ │ └── zod 3.25.17
│ │ └─┬ @aws-amplify/platform-core 1.10.4
│ │ └── zod 3.25.17
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 4.3.6 peer
│ └─┬ @aws-amplify/backend-output-storage 1.3.3
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 4.3.6 peer
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/backend-data 1.6.3
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 4.3.6 peer
│ └─┬ @aws-amplify/backend-output-storage 1.3.3
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 4.3.6 peer
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/backend-function 1.16.0
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 4.3.6 peer
│ └─┬ @aws-amplify/backend-output-storage 1.3.3
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 4.3.6 peer
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ └── zod 4.3.6 peer
├─┬ @aws-amplify/backend-output-storage 1.3.3
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 4.3.6 peer
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/backend-secret 1.4.2
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/backend-storage 1.4.3
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 4.3.6 peer
│ └─┬ @aws-amplify/backend-output-storage 1.3.3
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 4.3.6 peer
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/client-config 1.10.0
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 3.25.17 peer
│ ├─┬ @aws-amplify/deployed-backend-client 1.8.1
│ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ └── zod 3.25.17 peer
│ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ └── zod 3.25.17
│ │ └── zod 3.25.17
│ ├─┬ @aws-amplify/model-generator 1.2.2
│ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ └── zod 3.25.17 peer
│ │ ├─┬ @aws-amplify/deployed-backend-client 1.8.1
│ │ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ │ └── zod 3.25.17 peer
│ │ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ │ └── zod 3.25.17
│ │ │ └── zod 3.25.17
│ │ └─┬ @aws-amplify/platform-core 1.10.4
│ │ └── zod 3.25.17
│ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ └── zod 3.25.17
│ └── zod 3.25.17
└─┬ @aws-amplify/platform-core 1.10.4
└── zod 3.25.17
@aws-amplify/backend-cli 1.8.2
├─┬ @aws-amplify/backend-deployer 2.1.5
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ └── zod 3.25.17 peer
├─┬ @aws-amplify/backend-secret 1.4.2
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/cli-core 2.2.3
│ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ └── zod 3.25.17
│ └── zod 3.25.17
├─┬ @aws-amplify/client-config 1.10.0
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 3.25.17 peer
│ ├─┬ @aws-amplify/deployed-backend-client 1.8.1
│ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ └── zod 3.25.17 peer
│ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ └── zod 3.25.17
│ │ └── zod 3.25.17
│ ├─┬ @aws-amplify/model-generator 1.2.2
│ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ └── zod 3.25.17 peer
│ │ ├─┬ @aws-amplify/deployed-backend-client 1.8.1
│ │ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ │ └── zod 3.25.17 peer
│ │ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ │ └── zod 3.25.17
│ │ │ └── zod 3.25.17
│ │ └─┬ @aws-amplify/platform-core 1.10.4
│ │ └── zod 3.25.17
│ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ └── zod 3.25.17
│ └── zod 3.25.17
├─┬ @aws-amplify/deployed-backend-client 1.8.1
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 3.25.17 peer
│ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ └── zod 3.25.17
│ └── zod 3.25.17
├─┬ @aws-amplify/model-generator 1.2.2
│ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ └── zod 3.25.17 peer
│ ├─┬ @aws-amplify/deployed-backend-client 1.8.1
│ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ └── zod 3.25.17 peer
│ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ └── zod 3.25.17
│ │ └── zod 3.25.17
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/sandbox 2.1.4
│ ├─┬ @aws-amplify/backend-deployer 2.1.5
│ │ └─┬ @aws-amplify/platform-core 1.10.4
│ │ └── zod 3.25.17
│ ├─┬ @aws-amplify/backend-secret 1.4.2
│ │ └─┬ @aws-amplify/platform-core 1.10.4
│ │ └── zod 3.25.17
│ ├─┬ @aws-amplify/cli-core 2.2.3
│ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ └── zod 3.25.17
│ │ └── zod 3.25.17
│ ├─┬ @aws-amplify/client-config 1.10.0
│ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ └── zod 3.25.17 peer
│ │ ├─┬ @aws-amplify/deployed-backend-client 1.8.1
│ │ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ │ └── zod 3.25.17 peer
│ │ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ │ └── zod 3.25.17
│ │ │ └── zod 3.25.17
│ │ ├─┬ @aws-amplify/model-generator 1.2.2
│ │ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ │ └── zod 3.25.17 peer
│ │ │ ├─┬ @aws-amplify/deployed-backend-client 1.8.1
│ │ │ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ │ │ └── zod 3.25.17 peer
│ │ │ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ │ │ └── zod 3.25.17
│ │ │ │ └── zod 3.25.17
│ │ │ └─┬ @aws-amplify/platform-core 1.10.4
│ │ │ └── zod 3.25.17
│ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ └── zod 3.25.17
│ │ └── zod 3.25.17
│ ├─┬ @aws-amplify/deployed-backend-client 1.8.1
│ │ ├─┬ @aws-amplify/backend-output-schemas 1.8.0
│ │ │ └── zod 3.25.17 peer
│ │ ├─┬ @aws-amplify/platform-core 1.10.4
│ │ │ └── zod 3.25.17
│ │ └── zod 3.25.17
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
├─┬ @aws-amplify/schema-generator 1.4.1
│ └─┬ @aws-amplify/platform-core 1.10.4
│ └── zod 3.25.17
└── zod 3.25.17
updating to v4 and using zod/v3 on packages it's not a breaking change afaik.
let me know if this is something desirable, i could submit a pr if needed.
Use case
Zod v3 is almost 5 years old, and Zod v4 is a nice improvement over it. This changes will allow users to use zod v4 in their apps while keeping v3 for core packages.