aws-amplify / amplify-category-api

The AWS Amplify CLI is a toolchain for simplifying serverless web and mobile development. This plugin provides functionality for the API category, allowing for the creation and management of GraphQL and REST based backends for your amplify project.
https://docs.amplify.aws/
Apache License 2.0
88 stars 76 forks source link

npm run build works at the CLI but fails when deploying in AWS-Amplify #2863

Closed DeniseJames closed 5 days ago

DeniseJames commented 6 days ago

Environment information

C:\Users\Denise\Documents\amplify-social-room>npx ampx info
System:
  OS: Windows 10 10.0.19045
  CPU: (8) x64 Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
  Memory: 1.38 GB / 7.95 GB
Binaries:
  Node: 18.18.0 - C:\Program Files\nodejs\node.EXE
  Yarn: 1.22.22 - ~\AppData\Roaming\npm\yarn.CMD
  npm: 10.8.2 - C:\Program Files\nodejs\npm.CMD
  pnpm: undefined - undefined
NPM Packages:
  @aws-amplify/auth-construct: 1.3.0
  @aws-amplify/backend: 1.2.1
  @aws-amplify/backend-auth: 1.1.3
  @aws-amplify/backend-cli: 1.2.5
  @aws-amplify/backend-data: 1.1.3
  @aws-amplify/backend-deployer: 1.1.0
  @aws-amplify/backend-function: 1.4.0
  @aws-amplify/backend-output-schemas: 1.2.0
  @aws-amplify/backend-output-storage: 1.1.1
  @aws-amplify/backend-secret: 1.1.1
  @aws-amplify/backend-storage: 1.1.2
  @aws-amplify/cli-core: 1.1.2
  @aws-amplify/client-config: 1.3.0
  @aws-amplify/deployed-backend-client: 1.4.0
  @aws-amplify/form-generator: 1.0.1
  @aws-amplify/model-generator: 1.0.5
  @aws-amplify/platform-core: 1.1.0
  @aws-amplify/plugin-types: 1.2.1
  @aws-amplify/sandbox: 1.2.1
  @aws-amplify/schema-generator: 1.2.1
  aws-amplify: 6.6.0
  aws-cdk: 2.157.0
  aws-cdk-lib: 2.157.0
  typescript: 5.6.2
AWS environment variables:
  AWS_NODEJS_CONNECTION_REUSE_ENABLED = 1
  AWS_SDK_LOAD_CONFIG = 1
  AWS_STS_REGIONAL_ENDPOINTS = regional
No CDK environment variables

Data packages

>npm list @aws-amplify/data-construct @aws-amplify/graphql-schema-generator
amplify-vite-react-template@0.0.0 C:\Users\Denise\Documents\amplify-social-room
├─┬ @aws-amplify/backend-cli@1.2.5
│ └─┬ @aws-amplify/schema-generator@1.2.1
│   └── @aws-amplify/graphql-schema-generator@0.9.4
└─┬ @aws-amplify/backend@1.2.1
  └─┬ @aws-amplify/backend-data@1.1.3
    └── @aws-amplify/data-construct@1.10.

Description

'npm run build' runs sucessfully at CLI but fails on AWS Amplify with this error:

172

Completed Backend Build

173

2024-09-11T14:27:11.016Z [INFO]: ## Starting Frontend Build

174

Starting phase: build

175

2024-09-11T14:27:11.017Z [INFO]: # Executing command: npm run build

176

2024-09-11T14:27:11.277Z [INFO]: > amplify-vite-react-template@0.0.0 build

177

tsc && vite build

178

2024-09-11T14:27:14.807Z [INFO]: src/components/Contact/ContactComponent.tsx(5,23): error TS2307: Cannot find module '../../aws-exports.js' or its corresponding type declarations.

179

2024-09-11T14:27:14.885Z [ERROR]: !!! Build failed

180

2024-09-11T14:27:14.885Z [ERROR]: !!! Error: Command failed with exit code 2

181

2024-09-11T14:27:14.885Z [INFO]: # Starting environment caching...

182

2024-09-11T14:27:14.886Z [INFO]: # Uploading environment cache artifact...

183

2024-09-11T14:27:14.950Z [INFO]: # Uploaded environment cache artifact

184

2024-09-11T14:27:14.950Z [INFO]: # Environment caching completed

  1. This may be reproduced by using this github https://github.com/DeniseJames/amplify-social-room to upload and deploy on AWS Amplify. Unless files in the .gitignore are causing an issue this should be able to run successfully at CLI. I use visual studio code.
  2. Using C:\Users\Denise\Documents\amplify-social-room>npm -v 10.8.2

C:\Users\Denise\Documents\amplify-social-room>node -v v18.18.0

AnilMaktala commented 5 days ago

Hey @DeniseJames, Thanks for bringing this up. Have you recently upgraded the @aws-amplify library version? The latest Amplify Gen2 version generates an amplify_outputs.json file. Could you please check your src folder and let us know which file it contains?

DeniseJames commented 5 days ago

@AnilMaktala Thisis my amplify_outputs.json file. My APIs are on east-2, not sure why amplify_outputs chooses east-1:

{ "auth": { "user_pool_id": "us-east-1_se74eImRp", "aws_region": "us-east-1", "user_pool_client_id": "u2j5p2cgq2gqs3ph18m341lhm", "identity_pool_id": "us-east-1:3eb538d4-e4bd-43d8-a5e1-48f7a4698eea", "mfa_methods": [], "standard_required_attributes": [ "email" ], "username_attributes": [ "email" ], "user_verification_types": [ "email" ], "mfa_configuration": "NONE", "password_policy": { "min_length": 8, "require_lowercase": true, "require_numbers": true, "require_symbols": true, "require_uppercase": true }, "unauthenticated_identities_enabled": true }, "data": { "url": "https://s6vxgd7lzbb4to2yptbthleppq.appsync-api.us-east-1.amazonaws.com/graphql", "aws_region": "us-east-1", "api_key": "", "default_authorization_type": "API_KEY", "authorization_types": [ "AMAZON_COGNITO_USER_POOLS", "AWS_IAM" ], "model_introspection": { "version": 1, "models": { "Todo": { "name": "Todo", "fields": { "id": { "name": "id", "isArray": false, "type": "ID", "isRequired": true, "attributes": [] }, "content": { "name": "content", "isArray": false, "type": "String", "isRequired": false, "attributes": [] }, "createdAt": { "name": "createdAt", "isArray": false, "type": "AWSDateTime", "isRequired": false, "attributes": [], "isReadOnly": true }, "updatedAt": { "name": "updatedAt", "isArray": false, "type": "AWSDateTime", "isRequired": false, "attributes": [], "isReadOnly": true } }, "syncable": true, "pluralName": "Todos", "attributes": [ { "type": "model", "properties": {} }, { "type": "auth", "properties": { "rules": [ { "allow": "public", "provider": "apiKey", "operations": [ "create", "update", "delete", "read" ] } ] } } ], "primaryKeyInfo": { "isCustomPrimaryKey": false, "primaryKeyFieldName": "id", "sortKeyFieldNames": [] } } }, "enums": {}, "nonModels": {} } }, "version": "1.1" }

DeniseJames commented 5 days ago

@AnilMaktala I solved the discrepancy by removing aws-exports.js from .gitignore The app deployed

github-actions[bot] commented 5 days ago

This issue is now closed. Comments on closed issues are hard for our team to see. If you need more assistance, please open a new issue that references this one.