I’m attempting to deploy a NextJs app with Amplify...
# help
d
I’m attempting to deploy a NextJs app with Amplify. I run
npx sst deploy
and I get
Copy code
Error: Invalid UserPoolId format.
at new CognitoUserPool
This app works locally however, I can login, sign up etc… Any ideas where I should be looking to make this work?
t
Can you share the full error log?
d
Copy code
UnhandledPromiseRejectionWarning: Error: Invalid UserPoolId format.
    at new CognitoUserPool (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:203241:13)
    at AuthClass.exports.modules.84433.AuthClass.configure (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:5358:29)
    at /Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:9467:18
    at Array.map (<anonymous>)
    at AmplifyClass.exports.modules.39397.AmplifyClass.configure (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:9466:26)
    at Module.56539 (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/481.js:169:15)
    at __webpack_require__ (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/_error.js:291:43)
    at Module.13412 (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/_error.js:45:22)
    at __webpack_require__ (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/_error.js:291:43)
    at /Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/_error.js:311:101
(node:74071) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see <https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode>). (rejection id: 1)
(node:74071) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:74071) UnhandledPromiseRejectionWarning: Error: Invalid UserPoolId format.
    at new CognitoUserPool (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:203241:13)
    at AuthClass.exports.modules.84433.AuthClass.configure (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:5358:29)
    at /Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:9467:18
    at Array.map (<anonymous>)
    at AmplifyClass.exports.modules.39397.AmplifyClass.configure (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:9466:26)
    at Module.56539 (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/481.js:169:15)
    at __webpack_require__ (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/_error.js:291:43)
    at Module.13412 (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/_error.js:45:22)
    at __webpack_require__ (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/_error.js:291:43)
    at /Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/_error.js:311:101
(node:74071) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see <https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode>). (rejection id: 2)

> Build error occurred
Error: Invalid UserPoolId format.
    at new CognitoUserPool (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:203241:13)
    at AuthClass.exports.modules.84433.AuthClass.configure (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:5358:29)
    at /Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:9467:18
    at Array.map (<anonymous>)
    at AmplifyClass.exports.modules.39397.AmplifyClass.configure (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/561.js:9466:26)
    at Module.56539 (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/chunks/481.js:169:15)
    at __webpack_require__ (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/profile.js:580:43)
    at Module.58176 (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/profile.js:346:22)
    at __webpack_require__ (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/profile.js:580:43)
    at /Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/frontend/.next/serverless/pages/profile.js:600:105 {
  type: 'Error'
}

Error: There was a problem building the "Site" NextjsSite.
    at NextjsSite.runNextjsBuild (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/node_modules/@serverless-stack/resources/src/NextjsSite.ts:688:13)
    at new NextjsSite (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/node_modules/@serverless-stack/resources/src/NextjsSite.ts:108:16)
    at new IdeasStack (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/stacks/IdeasStack.js:54:17)
    at Object.main (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/stacks/index.js:9:3)
    at Object.<anonymous> (/Users/devinfitzsimons/Backup/serverless-stack/hallofabandonedideas/.build/run.js:93:16)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)

There was an error synthesizing your app.
t
ok it looks like something is trying to read the value of UserPoolId at build time. This value isn't available at build time - only at runtime once everything is deployed. @Frank has seen this issue a few times and can probably help you better
d
I had a bunch of issues setting up the ENV variables so maybe that was the issueapp so
f
Hey @Devin, yeah only environment values that are constant can be used at build time. If you referenced values only has placeholder values at build time, ie.
Copy code
environment: {
  NEXT_PUBLIC_USER_POOL_ID: userPool.userPoolId
}
A work around for this is to store the user pool id to an SSM parameter, and fetch the value using AWS SDK in ur SST app, so you are assigning a constant value to
NEXT_PUBLIC_USER_POOL_ID
.
Let me know if that makes sense
d
Okay I’ll try this out. I have to do actual work for a while but thanks in advance!