diff --git a/core/providers/node/node.go b/core/providers/node/node.go index b420d3324..1773466ff 100644 --- a/core/providers/node/node.go +++ b/core/providers/node/node.go @@ -251,7 +251,7 @@ func (p *NodeProvider) InstallNodeDeps(ctx *generate.GenerateContext, install *g if ctx.App.HasMatch("node_modules") { ctx.Logger.LogWarn("node_modules directory found in project root, this is likely a mistake") - ctx.Logger.LogWarn("It is recommended to add node_modules to the .gitignore file") + ctx.Logger.LogWarn("It is recommended to add node_modules to the .gitignore and/or .dockerignore file") } if p.usesCorepack() { diff --git a/core/providers/node/package_manager.go b/core/providers/node/package_manager.go index 8059b04e2..c55811eec 100644 --- a/core/providers/node/package_manager.go +++ b/core/providers/node/package_manager.go @@ -63,7 +63,9 @@ func (p PackageManager) installDependencies(ctx *generate.GenerateContext, works // If there are any pre/post install scripts, we need the entire app to be copied // This is to handle things like patch-package if hasPreInstall || hasPostInstall || hasPrepare || usesLocalFile { - install.AddInput(ctx.NewLocalLayer()) + layer := ctx.NewLocalLayer() + layer.Filter.Exclude = append(layer.Filter.Exclude, "node_modules") + install.AddInput(layer) // Use all secrets for the install step if there are any pre/post install scripts install.UseSecrets([]string{"*"}) diff --git a/core/providers/python/python.go b/core/providers/python/python.go index 12b2c1c2e..e44903d26 100644 --- a/core/providers/python/python.go +++ b/core/providers/python/python.go @@ -48,6 +48,11 @@ func (p *PythonProvider) Plan(ctx *generate.GenerateContext) error { install.Secrets = []string{} install.UseSecretsWithPrefixes([]string{"PYTHON", "PIP", "PIPX", "UV", "PDM", "POETRY"}) + if ctx.App.HasMatch(".venv") { + ctx.Logger.LogWarn(".venv directory found in project root, this is likely a mistake") + ctx.Logger.LogWarn("It is recommended to add .venv to the .gitignore and/or .dockerignore file") + } + build := ctx.NewCommandStep("build") installOutputs := []string{} @@ -368,7 +373,9 @@ func (p *PythonProvider) GetPythonEnvVars(ctx *generate.GenerateContext) map[str func (p *PythonProvider) copyInstallFiles(ctx *generate.GenerateContext, install *generate.CommandStepBuilder) { if p.installNeedsAllFiles(ctx) { - install.AddInput(ctx.NewLocalLayer()) + layer := ctx.NewLocalLayer() + layer.Filter.Exclude = append(layer.Filter.Exclude, ".venv") + install.AddInput(layer) return }