Is it possible to use child_process?

I'd like to execute a binary using a plugin. I'm using a reference implementation and they're using child_process.execFile to execute a binary. Looks like child_process does do the following import:

import { BaseEncodingOptions } from 'fs'; based on that I'd imagine it's not possible to use it?

Are there alternatives available? I'm also running into issues even just compiling it with webpack as I get child_process not found error.

ERROR in ./dist/index.js
    Module not found: Error: Can't resolve 'child_process' in './dist'
     @ ./dist/index.js 1:137178-137202

Yes it is possible and I use it in my plugin.

import { exec } from "child_process";

But for this I thin yoou have to add the following in settings.js

  "browser": {
    "child_process": false
  },

Yup arrived at that solution as well and can confirm it works. Good to know it’ll work outside my dev machine as well. Was able to create an MVP for the plug-in and will release soon.

Have you solved the problem of getting a running plug-in’s version number? Wondering if there’s some existing code out there for that. And also if there is some pattern to enforce a minimum version number - mainly to alert the user that they need to upgrade the plugin.

From the own plugin ?

Yeah for your own. I thought it would be as simple as reading the manifest using fs-extra but that doesn’t seem to be the case?

Yes simple reading the manifest is possible, or transfer the version during the build into a const var.
But whether a plugin needs an update or not, is already displayed and an own update check is not a good idea.
This should be included in the Joplin update check/notification which can also be deactivated/suppressed. This is a function that not everyone should implement again and again.