OpenPGP.js plugin for [a future version of] isomorphic-git
Note: no version of isomorphic-git has been released that uses this plugin yet.
It's a chicken and egg problem. Gotta write the plugin first, then modify isomorphic-git to use it.
// Node
const { pgp } = require('@isomorphic-git/openpgp-plugin')
const git = require('isomorphic-git')
git.plugins.set('pgp', pgp)
// Now you can use git.sign() and git.verify()
OpenPGP.js is unfortunately licensed under the LGPL-3.0 and thus cannot be included in a minified bundle with isomorphic-git which is an MIT/BSD style library, because that would violate the "dynamically linked" stipulation. If you are building a browser app, you should include this plugin as separate script.
I'm not a lawyer, but I suspect that code-splitting counts as "dynamically linked". Here I use a dynamic import statement to load the module.
// Browser
import { plugins } from 'isomorphic-git'
import('@isomorphic-git/openpgp-plugin').then(({ pgp }) => {
git.plugins.set('pgp', pgp)
// Now you can use git.sign() and git.verify()
})
npm test
In keeping with the OpenPGP.js license, this project is licensed under the GNU Lesser General Public License v3.0