Official Joplin plugin repository is now ready! If you are developing a plugin please read on

Following this discussion, it was eventually decided to leverage npmjs package repository to publish Joplin plugins. Then a script is used to fetch these plugins and move them to the official plugin repository:

This repository will then be used to load the list of plugins in the main app, and install and update them directly.

If you are a plugin developer, please consider running yo joplin --update from the root of your repository, and let me know if you notice any issue. Once that's done, you should be able to run npm publish, which will put the package on npmjs. There's some additional info about it here. If you have any question about it or if the update doesn't work please let me know.

4 Likes

When i run only yo joplin --update the files where updatet with the verison from the first install?
I have previously had to run npm update generator-joplin

But now my plugin is published as joplin-plugin.copytags.

Which repo is it? I'll try to update it too and see what the issue might be. It shouldn't update with the file from the first install but the new ones.

The following repo:

I've updated the generator so that it merges files better when updating, and I've also fixed the updating instructions as indeed it should be npm install -g generator-joplin && yo joplin --update.

I've tried it on your repo and it seems to work fine, except that when you'll run npm run dist, it will tell you that a few things need to be fixed manually. In particular:

  • The name in package.json should start with "joplin-plugin-". This is so the tool that builds the plugin repository can find your plugin.

  • You should remove the "postinstall" script from package.json. Not critical, but since there's now a "prepare" script, the "postinstall" one is not needed.

Also note that it will now create the files in "/publish".

3 Likes

The changes (name and so on) for the joplin plugin repo are only not pushed.

Thanks for the work.

Thanks that's perfect, the plugin has been picked up by the script now and is in the repo. @ambrt, your plugin is in as well!

1 Like

The new webpack.config.js seems to remove or not consider additional javascript files. In my case it does not copy webview.js to the /dist folder and the created jpl package.

Do I have to add it as content_scripts to the manifest.json?

Here's the repo where I tested it: https://github.com/benji300/joplin-note-tabs/tree/plugin-repo

There's a bug with the way webview file are handled, but it will be fixed in the next release. See here for more info: Missing scripts in JPL plugin file · Issue #4323 · laurent22/joplin · GitHub

Sorry... I missed that :see_no_evil: Once it is fixed, I will publish the note-tabs plugin to the repo.
Thanks.

@benji300, that should be fixed in the latest generator version. If you update npm install -g generator-joplin && yo joplin --update and compile again, it should package it like before, without requiring to add the files as content scripts.

It works with the latest generator version.

Sorry for the question but I'm not familiar with npm... do I have to create an account to publish a package? Because I'm getting the following error message during npm publish on the root folder of my plugin:

Right, you'll need to have an npm account first, and then use npm login to login. After that, npm publish should work as expected and publish the package to your account.

1 Like

Done. Thanks :+1:

When i install 'Create and go to #tags and @notebooks', show error 'Could not install plugin: Missing manifest file at: /Users/xxxx/.config/joplin-desktop/tmp/79df6961c9716dae138e1618e62f8a3a_joplin.plugin.ambrt.goToItem/manifest.json'

I see the same error.
Installing from .jpl doesn't work too.

The plugin appears to be incorrectly packaged. What's the GitHub repo?

This is my latest that also doesn't pack manifest into .jpl

You will need to update the plugin framework because the one you use packages the files in the old way. You can run npm install -g generator-joplin && yo joplin --update and after doing so it will display a few warnings telling you how to update package.json.

I was going to create a pull request but couldn't as you have a file in there named �F@@��@8@ which git cannot process.

Can you try 1.6.8-or-up branch? (name is misleading it can go 1.6.7). This file shouldn't be in that branch.