I created the joplin-plugin-cli project for generating and packaging plugins

In short, since I need to implement a full backup plug-in, I created a cli to support the development of the joplin plug-in itself. Here are some introductions.

npm

Introduction

A cli for joplin plugins, supports creating and packaging plugins, uses esbuild for the core, it's very fast.

Use

npm i -g joplin-plugin-cli ## install
jpl generate --name test-plugin # Generate the project
cd test-plugin
yarn build # build

FAQ

Motivation

Why not use the official plugin template project?

The front-end packaging tools have changed a lot lately, mainly due to the performance revolution caused by esbuild and swc (that's not an overstatement). vue authors abandoned webpack and built a new cross-framework tool called vite based on esbuild and rollup, so I also prefer to build faster tools based on esbuild.

The official plugin template project takes about 3.87s to build using webpack, while this cli takes only 0.17s based on esbuild.
diff

How to migrate existing plugins?

  1. install dependencies

    yarn add -D joplin-plugin-api joplin-plugin-cli
    
  2. Remove the dist/prepare/update command from package.json and add the dev/build command

    {
      "scripts": {
        "build": "jpl build",
        "dev": "jpl build -w"
      }
    }
    
  3. Run the build command

    yarn build
    

Reference

5 Likes

If you encounter any problems when using it, or have any good suggestions, please let me know in github issues