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.
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.
How to migrate existing plugins?
-
install dependencies
yarn add -D joplin-plugin-api joplin-plugin-cli
-
Remove the
dist/prepare/update
command from package.json and add thedev/build
command{ "scripts": { "build": "jpl build", "dev": "jpl build -w" } }
-
Run the build command
yarn build