[RFC] Using a package manager for plugins

Offen
#6 7 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
20/100
Issue-Typ
Feature
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
javascript
Bereich
tooling

Rechercherichtung

Das Issue nennt keine Dateien, Tests oder Einstiegspunkte, die untersucht werden sollen. Kläre zuerst die Anforderungen an Plugin-Erkennung, Download, Versionierung, Aktualisierung und den GitHub-Fallback und ordne diese Anforderungen dann dem bestehenden Plugin-Installationsablauf zu. Als abgeschlossen gilt die Arbeit, wenn ein abgestimmtes Paketmanager-Design und ein Implementierungsplan mit testbarem Verhalten vorliegen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

question

While it's still early days for plugins in Noteplan, it might make sense to keep all the "blessed" plugins in this Github repo, but longer term, that'll start to get untenable. Specially when it comes to releases.

Using a package manager like NPM might make a lot of sense. Using registry.npm.org URLs it's fairly straightforward to search, get details and download packages that can go directly to the Plugins folder.

Here are the benefits to this approach:

  1. Third party packages can all follow a naming convention (e.g. noteplan-plugin-commandName) and publish them on NPM and they will become easily discoverable for users.
  2. NPM packages have versioning built-in and it will become easy for different plug-ins to be updated independently and for Noteplan to periodically check for updates easily by package name.
  3. Since NPM allows for an independent .npmignore file it'll become easy to ignore built files for GitHub and ignore source files for the NPM package. This way Noteplan doesn't have to download any unnecessary files.
  4. It should still be valid to use a Github URL to manually download plugins that aren't on NPM. (without all the extra feature though)

Possible downsides:

  1. Churn - NPM can be an additive feature so that the churn can be kept to a minimum.
  2. it slightly increases the barrier to entry, but it's really just an npm publish command for a plug-in author. For advanced plugins this would be a total win.
Vorherrschende Sprache
JavaScript
Sterne
204
Forks
82
Ø Merge
22 Std. 27 Min.
Gemergte PRs (30 T.)
3

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus NotePlan/plugins

Alle Issues in NotePlan/plugins

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.