Feature request: optional middleware
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Finde heraus, wo die CLI-REP :middleware aus ihrer Konfiguration lädt (der deps.edn/.cljconf-Startpfad) und wo jedes Middleware-Symbol aufgelöst oder erforderlich gemacht wird. Erste Aufgabe: mit dem/den Maintainer festlegen, welche der beiden vorgeschlagenen Einstellungen verwendet wird (:missing-middleware vs. :middleware optional), da der Payload das offen lässt. Fertig bedeutet: eine nicht auflösbare Middleware kann ignoriert oder mit einer Warnung versehen werden, statt einen Fehler zu werfen, das Standardverhalten bleibt unverändert, verifiziert durch Ausführen der vorhandenen Testsuite des Projekts.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Being able to control what dependencies are available via aliases (defined in deps.edn) is a convenient way to influencer the behavior of tooling: "use this dependency, if it is available on the classpath, else fallback to this other behavior".
For a long time, my own "REPL starter" library uses the availability of certain nses to control which tooling it configures at startup.
Since I wanted that behavior for the CLI REPL—especially if I am going to replace my own custom "REPL starter" with it—I find myself writing conditional loaders for middleware. See my CLI REPL middleware for examples of this for Portal and rephrase.
If there was a way to specify to the CLI REPL that middleware was optional, I wouldn't need to do this: the CLI REPL could attempt to call requiring-resolve on the middleware symbol and if it fails, could either throw (effectively the current behavior) or warn/ignore (possible new behavior).
I don't have a preference for how this might work. I can imagine several solutions, so here are a couple:
- a new configuration setting:
:missing-middlewarewith values:throw(default),:warn(print tostderr), or:ignore - a new configuration setting:
:optional-middlewarelike:middlewareexcept that the optional items are ignored if they cannot be required/resolved
- Vorherrschende Sprache
- Clojure
- Sterne
- 20
- Forks
- 0
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus clojure/clojure-cli.repl
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
clojure/clojure-cli.repl#6 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
clojure/clojure-cli.repl#5 · 1 Reaktion ·
Alle Issues in clojure/clojure-cli.repl
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
clojure-emacs/cider-nrepl#1053 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
bhauman/clojure-mcp-light#34 ·
-
Podman documentation is out of dateEvtl. vergeben @troyvit hat das vor 5 Tagen übernommen. Offen.Needs Triage Priority:P3 Type:New Feature
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
metabase/metabase#83625 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug: MCP server rejects request bodies over 100kb (express.json default) with PayloadTooLargeErrorOffenIOP MCP needs triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag