rsp-client

A simple client for the Runtime Server Protocol (RSP) written in typescript.
Implements the API described here and here.
See the RSP repo for further details about RSP.
Installing
npm i rsp-client
Usage
Basic "short" usage example, for full list of available methods, see usage.
import { RSPClient, Protocol, ServerState } from "rsp-client";
const client = new RSPClient('localhost', 27511);
await client.connect();
const serverBeans = await client.findServerBeans('path/to/your/server/root');
const serverHandle = await client.createServerSync(serverBeans[0], 'myServer');
const handle = await client.createServerSync('path/to/server', 'server');
client.onServerAdded((handle) => {
console.log(`Server ${handle.id} created`);
});
await client.createServerAsync('path/to/server', 'server');
client.onServerOutputAppended((output) => {
console.log(output.text);
});
client.onServerStateChange((state) => {
console.log(`Server state code is ${state.state}`);
if (state.state === ServerState.STARTED) {
console.log('Server started');
} else if (state.state === ServerState.STOPPED) {
console.log('Server stopped');
}
});
const attributes = await client.getServerRequiredLaunchAttributes({id: handle.id, mode: 'run'});
const params: Protocol.LaunchParameters = {
mode: 'run',
params: {
id: handle.id,
serverType: handle.type.id,
attributes: attributes
}
};
await client.startServerAsync(params);
await client.stopServerAsync({ id: handle.id, force: false });
client.disconnect();
client.shutdownServer();
Running unit tests
Unit tests are located in test
. To run all unit tests:
npm run test
publish
To publish our module, run the command
npm publish
Build
npm run build