nrepl / nrepl/nrepl

Start an nREPL using JVM Opts (Like socket REPL)

Open
#54 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement
Dominant language
Clojure
Stars
906
Forks
108
Avg merge
18h 29m
Merged PRs (30d)
20

Description

It's not possible to start the clj tools in jack-in with a main or additional -e options.

Starting the nREPL should be similar to starting a socket REPL. If it was a JVM opt it can be placed as the first parameter, always, as CLJ doesn't distinguish on order.

Using JVM opts in this way would also benefit production systems which wish to add nREPL. Currently it requires being able to evaluate code early, or altering the component/integrant/mount system in order to load nREPL in production (but not in dev, because leiningen does that!). This would also open up nREPL for easier use with general java software systems, such as Datomic.

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 tracing how jack-in handles main and additional -e options, then compare that path with socket REPL startup. Determine how JVM options could be accepted first without depending on evaluation order, and verify that the resulting nREPL startup works for production and general Java systems as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure, java
Domain
cli, devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.