stdio jsonrpc server npm package (#5332)

- [x] figgure out how to build the packages (that it installs native
optional package automatically)
- [X] Make the gluecode
- [x] expose both the lowerlevel api that desktop uses (~~send objects
and receive objects~~, getting path of rpc-server is enough)
  - [X] and the higher level api needed for bots (jsonrpc client)
  - [X] typescript types
- [x] automatically pick the right binary from npm or allow getting it
from env var, or give out an error (throw error)
- [x] find out how to dev locally (use local built core in dc desktop) -
there is the question of how to link the typescript client and the task
to add a search in the cargo target folder for a debug build or a
different way, find out some good flow that we can use and document for
dc desktop + locally built core development
- [x] build the packages in ci
- [x] fix that deltachat-rpc-server is not executable

postponed:
- [ ] publish from ci
   - [ ] add key/token to deploy to npm 

Closes #4694

## Related prs
- https://github.com/deltachat-bot/echo/pull/69
- https://github.com/deltachat/deltachat-desktop/pull/3567

---------

Co-authored-by: link2xt <link2xt@testrun.org>
This commit is contained in:
Simon Laux
2024-05-11 20:54:11 +02:00
committed by GitHub
parent 14aaab05b0
commit c375c03d8e
18 changed files with 695 additions and 2 deletions

View File

@@ -0,0 +1,16 @@
{
"type": "module",
"name": "@deltachat/stdio-rpc-server",
"version": "1.137.4",
"license": "MPL-2.0",
"main": "index.js",
"types": "index.d.ts",
"scripts": {
"prepack": "node scripts/update_optional_dependencies_and_version.js"
},
"optionalDependencies": {
},
"peerDependencies": {
"@deltachat/jsonrpc-client": "*"
}
}