-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: packages being installed without lock file #152
Comments
As discussed, the only things I would look into at the moment are:
unless one of the above is a simple and viable solution with little drawbacks, I would accept the current situation as a good enough compromise, with only these downsides:
Both of the above limitations are acceptable in this project in my opinion |
I could find documented attempts to workaround this limitation consisting of pre-building/publishing shared dependencies:
|
The discussion about having dedicated package lockfiles in Yarn seems a lang debated one, instead:
...and a few yarn plugins have been put together to workaround it:
Turborepo implemented a very promising experimental https://turbo.build/repo/docs/reference/command-line-reference#turbo-prune---scopetarget |
Given the limited scope of the project we are keeping the current deploy strategy untouched for now. Leaving the the issue open since still relevant. |
Given that:
gcloud
builds in isolation from the specificpackages/package-name
folder since it is ONLY able to deploy from the same folder where the function entry point lives...
gcloud
is building the packages out of the monorepo context (since the root folder in the package itself), and npm dependencies are re-built from scratch without a lock file (since it lives in the root monorepo folder which is not available ingcloud
environment).In order to work around this limitation, we are considering the following options:
Get rid of npm workspaces and go for separate packages
Pros
gcloud
way, since each package has 0 externals dependencies (1 lock file for package)Cons
Expose a root entry point
Root monorepo would expose an index file exporting the 3 packages entry points.
Pros
Cons
gcloud
instance would import the dependency tree of all other packages (since we only have 1 entry point file)Challenges
slack-bot
should be reviewed to not run side effects (initialization) on importembeddings-creation
andcrawler
do not expose a plain function, therefore we should find a proper way to re-expose them from the root entry point fileThe text was updated successfully, but these errors were encountered: