serverless-offline-redis-server
Version:
Launch a local Redis server locally using Serverless Offline.
35 lines (24 loc) • 771 B
JavaScript
;
const RedisServer = require('redis-server');
class ServerlessOfflineRedisServer {
constructor(serverless) {
const config = (serverless.service.custom || {}).redis || {};
this.serverless = serverless;
this.server = new RedisServer(config);
this.hooks = {
'before:offline:start:init': this.openServer.bind(this),
'before:offline:start:end': this.closeServer.bind(this),
};
}
openServer() {
return this.server.open().then(() => {
this.serverless.cli.log(`Redis server opened on port ${this.server.config.port}`);
});
}
closeServer() {
return this.server.close().then(() => {
this.serverless.cli.log('Redis server closed');
});
}
}
module.exports = ServerlessOfflineRedisServer;