Comments (9)
Difficult to say without having a reproduction at hand.
Can you tell where the node-fetch package is installed, after you have run yarn
?
root/
├── node_modules/
│ └── node-fetch/ <-- Is it here
└── web/
└── node_modules/
└── node-fetch/ <-- Or is it here
Can you also tell me which Next.js version you are using?
Basically dependencies are bundled by a tool called nft which runs a static analysis on the actual code which dependencies are required.
Since it follows the Require.js algorithm it should be able to catch the dependencies in both cases.
You can also check the result by opening the Lambda Zip files in .next-tf/lambdas/__NEXT_PAGE_LAMBDA_XX.zip
which should contain node_modules/node-fetch
directory.
from terraform-aws-next-js.
so all the deps are in root/node_modules
and we're running yarn tf-next build --skipDownload
in /web
and we run terraform apply
in /web/.aws/deployment
.
When I remove web
from the root pkg.json
and have my modules
in web
it works correctly, I can try making a reproduction. Sorry for the vague issue report, will attempt to get it reproduced
from terraform-aws-next-js.
No problem, setup a repro here: https://github.com/ofhouse/repro-terraform-aws-next-js-93
Can confirm that the tracing of dependencies with --skipDownload
is broken in yarn workspace environment.
Running yarn
in the workspace root and after that npx tf-next build
in the web/
folder.
No node_modules
are bundled with the Lambda which should not be happening.
from terraform-aws-next-js.
Managed to bypass the issue for now by running yarn workspace <my-env> build
from the root rather than in the workspace itself. Good workaround for now 😅
EDIT: this does not fully fix the issue
from terraform-aws-next-js.
I guess we need to detect whether or not we're in a workspace here
from terraform-aws-next-js.
Yep, worked a bit with nft last week, and baseDir
must be the root of the workspace: https://github.com/dealmore/terraform-aws-next-js/blob/main/packages/runtime/src/index.ts#L1125
Will try to take a closer look into this today.
from terraform-aws-next-js.
Okay, created a potential fix for this issue in #107.
Needs some testing, but I think this should solve the issue.
from terraform-aws-next-js.
Was the bug for the missing node_modules folder ever fixed?
I can build the .next-tf folder fine with the command ./node_modules/.bin/tf-next build --skipDownload
but when I open the Lambda zips, they are missing the node_modules folder.
from terraform-aws-next-js.
@hugheba The location where (cwd) the tf-next build
is run from is important when running from a monorepo.
tf-next build
should always be executed from the path where the next.config.js
(or package.json
) of the Next.js app is located.
from terraform-aws-next-js.
Related Issues (20)
- Modify proxy to force a version change HOT 1
- Unable to attach policy to lambda, since the iam.tf is missing in all versions starting from 1.0.0-canary.2 HOT 1
- Error: Authentication Failed Returns Status Code 0
- What services does this library use internally to manage deployments? HOT 1
- Unable to use redirect inside getServerSideProps HOT 3
- [Bug] Error while using middleware from Next 12.2 HOT 1
- TimeoutError: Promise timed out after 300000 milliseconds HOT 1
- Question: how can I use this module if I am using Cloudflare for DNS management and WAF? HOT 2
- Dynamic Routes like [id].tsx doesn't be update in my github action
- Q: What permissinos are needed for deployment? HOT 1
- Next.js v13 support HOT 10
- One or more of the CNAMEs you provided are already associated with a different resource. HOT 1
- Cannot deploy - .next-tf/lambdas\__NEXT_PAGE_LAMBDA_0.zip: no such file or directory HOT 1
- Is there a localstack sample available? HOT 1
- Getting Error during creating resources with terraform
- Deployment not deletes old files from s3 HOT 1
- NextAuth CLIENT_FETCH_ERROR , NEXTAUTH_URL
- New deployments not possible due as AWS ACLs are disabled by default HOT 1
- Alternatives? HOT 2
- Lambda functions no longer support NodeJS `v14` . HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terraform-aws-next-js.