dynamodb-dashboard
Version:
GUI Dashboard for local or remote DynamoDB
53 lines (48 loc) • 1.79 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
require("dotenv/config");
var _path = _interopRequireDefault(require("path"));
var _morgan = _interopRequireDefault(require("morgan"));
var _express = _interopRequireDefault(require("express"));
var _compression = _interopRequireDefault(require("compression"));
var _routes = _interopRequireDefault(require("../routes"));
var _aws = _interopRequireDefault(require("../config/aws"));
var _handler = _interopRequireDefault(require("../errors/handler"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
_aws["default"].initialize();
var _default = exports["default"] = function _default(_ref) {
var port = _ref.port,
host = _ref.host,
debug = _ref.debug,
prefix = _ref.prefix;
var root = "http://".concat(host, ":").concat(port);
var URL = "".concat(root, "/").concat(prefix);
var app = (0, _express["default"])();
app.use((0, _compression["default"])());
app.use(_express["default"].json());
if (debug) {
app.use((0, _morgan["default"])("dev"));
}
// eg: /dynamodb/api
var SPA = "/".concat(prefix, "/{*file}");
var ASSETS = "/".concat(prefix);
var API = "/".concat(prefix, "/api");
// api
app.use(API, _routes["default"]);
// assets
app.use(ASSETS, _express["default"]["static"](_path["default"].join(__dirname, "..", "public")));
// spa
app.get(SPA, function (_req, res) {
res.sendFile(_path["default"].resolve(__dirname, "..", "public", "index.html"));
});
app.get("*file", function (_req, res) {
res.redirect(ASSETS);
});
app.use(_handler["default"]);
app.listen(port, host, function () {
console.info("dynamodb-dashboard started at: ".concat(URL, "\n"));
});
};
;