UNPKG

2.03 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
6
7var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
8
9var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
10
11var _knex = _interopRequireDefault(require("knex"));
12
13var _asyncExitHook = _interopRequireDefault(require("async-exit-hook"));
14
15var _checkSetup = require("@sharyn/check-setup");
16
17var _env = require("@sharyn/env");
18
19var _knexConfig = _interopRequireDefault(require("./knex-config"));
20
21// flow-disable-next-line
22// flow-disable-next-line
23var customConfig = {};
24
25if ((0, _checkSetup.hasFile)('src/_db/knex-config.js')) {
26 // eslint-disable-next-line import/no-unresolved, global-require, import/no-dynamic-require, flow-disable-next-line
27 customConfig = require("".concat(_checkSetup.appRoot, "/src/_db/knex-config"));
28}
29
30var knex = (0, _knex.default)((0, _assign.default)({}, _knexConfig.default, customConfig)); // This call is useful to test the connecion. In test this async call doesn't have time to resolve.
31
32if (!_env.IS_TEST_ENV) {
33 // eslint-disable-next-line no-console
34 knex.raw('').catch(function (err) {
35 return console.error(err);
36 });
37}
38
39(0, _asyncExitHook.default)(
40/*#__PURE__*/
41function () {
42 var _ref = (0, _asyncToGenerator2.default)(
43 /*#__PURE__*/
44 _regenerator.default.mark(function _callee(callback) {
45 return _regenerator.default.wrap(function _callee$(_context) {
46 while (1) {
47 switch (_context.prev = _context.next) {
48 case 0:
49 _context.next = 2;
50 return knex.destroy();
51
52 case 2:
53 callback();
54
55 case 3:
56 case "end":
57 return _context.stop();
58 }
59 }
60 }, _callee, this);
61 }));
62
63 return function (_x) {
64 return _ref.apply(this, arguments);
65 };
66}());
67module.exports = knex;
\No newline at end of file