purescript / purescript/spago

[RFE] support `--no-build` in `spago run` as well

Open
#1,303 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PureScript
Stars
831
Forks
137
PR merge metrics
No merged PRs in 30d

Description

spago bundle-app has a handy option that skips a bulid: --no-build. It would be great if this option was supported in spago run as well.

Usecase: when running purescript-written backend on a machine with which sources were shared via NFS, spago's attempt to rebuild sources slows down start up time considerably. I found via bpftrace that it's possible to "run" manually by executing node .spago/run.js.

Measuring running time for the code with its main replaced to main = pure unit shows:

Case Command Time
Uncached spago run 50.266 sec
Cached spago run 2.397 sec
Uncached node .spago/run.js 11.393 sec
Cached node .spago/run.js 0.434 sec

That's up to ≈78% improvement.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing how spago bundle-app --no-build and spago run handle their command options and build steps. Use the reported node .spago/run.js behavior as the no-build target; done means spago run --no-build skips rebuilding and runs the generated entry point.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js
Domain
build-system, cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.