Skip to content

Commit

Permalink
small improvements to node and python providers
Browse files Browse the repository at this point in the history
  • Loading branch information
coffee-cup committed Jan 24, 2025
1 parent 121d63d commit 9356f13
Show file tree
Hide file tree
Showing 9 changed files with 116 additions and 893 deletions.
9 changes: 3 additions & 6 deletions core/providers/node/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,13 @@ func (p *NodeProvider) start(ctx *generate.GenerateContext, packageJson *Package
packageManager := p.getPackageManager(ctx.App)

if start := p.getScripts(packageJson, "start"); start != "" {
ctx.Start.Command = packageManager.RunCmd(start)
ctx.Start.Command = packageManager.RunCmd("start")
} else if main := packageJson.Main; main != nil {
ctx.Start.Command = packageManager.RunScriptCommand(*main)
} else if files, err := ctx.App.FindFiles("{index.js,index.ts}"); err == nil && len(files) > 0 {
ctx.Start.Command = packageManager.RunScriptCommand(files[0])
}

if packageManager == PackageManagerNpm {
ctx.Start.Command = "npm run start"
}

ctx.Start.Paths = append(ctx.Start.Paths, ".")

return nil
Expand Down Expand Up @@ -105,7 +101,8 @@ func (p *NodeProvider) Install(ctx *generate.GenerateContext, packages *generate
corepackStep.AddCommands([]plan.Command{
plan.NewCopyCommand("package.json"),
plan.NewExecCommand("npm install -g corepack"),
plan.NewExecCommand("corepack enable && corepack prepare --activate"),
plan.NewExecCommand("corepack enable"),
plan.NewExecCommand("corepack prepare --activate"),
})
corepackStepName = corepackStep.DisplayName
}
Expand Down
2 changes: 2 additions & 0 deletions core/providers/node/package_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ func (p PackageManager) InstallPackages(ctx *generate.GenerateContext, packages
packages.Version(npm, "6", "package-lock.json")
} else if strings.Contains(lockfile, "\"lockfileVersion\": 2") {
packages.Version(npm, "8", "package-lock.json")
} else if strings.Contains(lockfile, "\"lockfileVersion\": 3") {
packages.Version(npm, "9", "package-lock.json")
}
}

Expand Down
14 changes: 2 additions & 12 deletions core/providers/python/python.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (

"github.com/railwayapp/railpack-go/core/generate"
"github.com/railwayapp/railpack-go/core/plan"
"github.com/stretchr/objx"
)

const (
Expand Down Expand Up @@ -54,16 +53,6 @@ func (p *PythonProvider) start(ctx *generate.GenerateContext) error {
startCommand = "python main.py"
}

pyproject := map[string]interface{}{}
if err := ctx.App.ReadTOML("pyproject.toml", &pyproject); err == nil {
proj := objx.New(pyproject)

name := proj.Get("project.name")
if name.IsStr() {
startCommand = "python -m " + name.Str()
}
}

if startCommand != "" {
ctx.Start.Command = startCommand
}
Expand Down Expand Up @@ -102,7 +91,8 @@ func (p *PythonProvider) install(ctx *generate.GenerateContext) error {
plan.NewExecCommand("pipx install pdm"),
plan.NewCopyCommand("pyproject.toml"),
plan.NewCopyCommand("pdm.lock"),
plan.NewExecCommand("pdm install --prod"),
plan.NewExecCommand("pdm install --check --prod --no-editable"),
plan.NewPathCommand("/app/.venv/bin"),
})
} else if hasPyproject && hasUv {
install.AddCommands([]plan.Command{
Expand Down
4 changes: 1 addition & 3 deletions examples/node-corepack/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@
"node": "20"
},
"dependencies": {
"dayjs": "^1.11.13",
"playwright": "^1.49.1",
"puppeteer": "^24.1.0"
"dayjs": "^1.11.13"
},
"devDependencies": {
"@types/node": "^22.10.5",
Expand Down
Loading

0 comments on commit 9356f13

Please sign in to comment.