navy 4.1.2-rc.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/lib/cli/config/index.js +57 -241
  2. package/lib/cli/config/wrapper.js +12 -36
  3. package/lib/cli/develop.js +63 -167
  4. package/lib/cli/doctor/clean-compose-files.js +19 -73
  5. package/lib/cli/doctor/index.js +34 -154
  6. package/lib/cli/doctor/invalid-compose-config.js +20 -110
  7. package/lib/cli/doctor/invalid-state.js +22 -115
  8. package/lib/cli/doctor/util.js +26 -93
  9. package/lib/cli/external-ip.js +9 -39
  10. package/lib/cli/health.js +18 -67
  11. package/lib/cli/https.js +92 -0
  12. package/lib/cli/import.js +22 -59
  13. package/lib/cli/index.js +11 -17
  14. package/lib/cli/lan-ip.js +18 -60
  15. package/lib/cli/launch.js +46 -127
  16. package/lib/cli/live.js +37 -111
  17. package/lib/cli/local-ip.js +16 -53
  18. package/lib/cli/logs.js +7 -35
  19. package/lib/cli/open.js +11 -45
  20. package/lib/cli/program.js +145 -167
  21. package/lib/cli/ps.js +36 -105
  22. package/lib/cli/refresh-config.js +18 -62
  23. package/lib/cli/run.js +8 -39
  24. package/lib/cli/status.js +41 -201
  25. package/lib/cli/updates.js +68 -160
  26. package/lib/cli/util/get-or-initialise-navy.js +14 -57
  27. package/lib/cli/util/import.js +33 -83
  28. package/lib/cli/util/index.js +10 -12
  29. package/lib/cli/util/reconfigure.js +12 -102
  30. package/lib/cli/wait-for-healthy.js +53 -100
  31. package/lib/config-provider.js +25 -127
  32. package/lib/config-providers/filesystem/index.js +58 -235
  33. package/lib/config-providers/npm/__tests__/util.js +3 -6
  34. package/lib/config-providers/npm/index.js +60 -231
  35. package/lib/config-providers/npm/util.js +6 -9
  36. package/lib/config.js +39 -76
  37. package/lib/driver-logging.js +23 -28
  38. package/lib/driver.js +5 -7
  39. package/lib/drivers/docker-compose/client.js +64 -172
  40. package/lib/drivers/docker-compose/index.js +153 -464
  41. package/lib/errors.js +27 -61
  42. package/lib/http-proxy.js +72 -158
  43. package/lib/index.js +26 -29
  44. package/lib/middleware/add-service-proxy-config.js +76 -0
  45. package/lib/middleware/develop.js +9 -23
  46. package/lib/middleware/helpers.js +20 -25
  47. package/lib/middleware/port-override.js +15 -37
  48. package/lib/middleware/set-env-vars.js +14 -18
  49. package/lib/middleware/set-image.js +12 -18
  50. package/lib/middleware/set-logging-driver.js +14 -18
  51. package/lib/middleware/tag-override.js +11 -19
  52. package/lib/navy/default-middleware.js +13 -27
  53. package/lib/navy/index.js +438 -1761
  54. package/lib/navy/middleware.js +15 -100
  55. package/lib/navy/plugin-interface.js +28 -108
  56. package/lib/navy/state.js +58 -147
  57. package/lib/navy/util.js +2 -1
  58. package/lib/service.js +5 -3
  59. package/lib/util/__tests__/external-ip.js +20 -96
  60. package/lib/util/__tests__/registry-client.js +11 -24
  61. package/lib/util/__tests__/service-host.js +19 -116
  62. package/lib/util/docker-client.js +10 -13
  63. package/lib/util/exec-async.js +9 -27
  64. package/lib/util/external-ip.js +48 -126
  65. package/lib/util/fs.js +7 -6
  66. package/lib/util/get-lan-ip.js +15 -52
  67. package/lib/util/has-update.js +23 -73
  68. package/lib/util/https.js +213 -0
  69. package/lib/util/navyrc.js +12 -50
  70. package/lib/util/registry-client.js +41 -112
  71. package/lib/util/service-host.js +40 -129
  72. package/lib/util/table.js +11 -21
  73. package/package.json +14 -14
  74. package/LICENSE +0 -21
  75. package/lib/middleware/add-virtual-hosts.js +0 -147
@@ -1,49 +1,27 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
8
-
9
- var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
10
-
11
- var _keys = require('babel-runtime/core-js/object/keys');
12
-
13
- var _keys2 = _interopRequireDefault(_keys);
14
-
15
- var _extends2 = require('babel-runtime/helpers/extends');
16
-
17
- var _extends3 = _interopRequireDefault(_extends2);
18
-
19
- var _lodash = require('lodash');
20
-
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ var _lodash = require("lodash");
22
9
 
23
10
  function getPortConfig(serviceName, state) {
24
11
  return state.services[serviceName] ? state.services[serviceName]._ports || {} : {};
25
12
  }
26
13
 
27
- exports.default = function (config, state) {
28
- return (0, _extends3.default)({}, config, {
29
- services: (0, _lodash.mapValues)(config.services, function (service, serviceName) {
30
- var portConfig = getPortConfig(serviceName, state);
31
- var hasPortConfig = !!portConfig;
32
- var internalPorts = (0, _keys2.default)(portConfig).filter(function (internal) {
33
- return !!portConfig[internal];
34
- });
35
-
36
- var inheritedPorts = service.ports ? service.ports.filter(function (port) {
37
- return internalPorts.indexOf(port) === -1;
38
- }) : [];
39
-
40
- return (0, _extends3.default)({}, service, {
41
- ports: hasPortConfig ? [].concat((0, _toConsumableArray3.default)(inheritedPorts), (0, _toConsumableArray3.default)(internalPorts.map(function (internal) {
42
- return portConfig[internal] + ':' + internal;
43
- }))) : service.ports
44
- });
45
- })
46
- });
47
- };
14
+ var _default = (config, state) => ({ ...config,
15
+ services: (0, _lodash.mapValues)(config.services, (service, serviceName) => {
16
+ const portConfig = getPortConfig(serviceName, state);
17
+ const hasPortConfig = !!portConfig;
18
+ const internalPorts = Object.keys(portConfig).filter(internal => !!portConfig[internal]);
19
+ const inheritedPorts = service.ports ? service.ports.filter(port => internalPorts.indexOf(port) === -1) : [];
20
+ return { ...service,
21
+ ports: hasPortConfig ? [...inheritedPorts, ...internalPorts.map(internal => `${portConfig[internal]}:${internal}`)] : service.ports
22
+ };
23
+ })
24
+ });
48
25
 
26
+ exports.default = _default;
49
27
  module.exports = exports.default;
@@ -1,26 +1,22 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
+ var _lodash = require("lodash");
8
9
 
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _lodash = require('lodash');
12
-
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
- exports.default = function (config, state) {
16
- return (0, _extends3.default)({}, config, {
17
- services: (0, _lodash.mapValues)(config.services, function (serviceConfig, serviceName) {
18
- var serviceState = state.services[serviceName] || {};
19
- return (0, _extends3.default)({}, serviceConfig, {
20
- environment: (0, _extends3.default)({}, serviceConfig.environment, serviceState.environment)
21
- });
22
- })
23
- });
24
- };
10
+ var _default = (config, state) => ({ ...config,
11
+ services: (0, _lodash.mapValues)(config.services, (serviceConfig, serviceName) => {
12
+ const serviceState = state.services[serviceName] || {};
13
+ return { ...serviceConfig,
14
+ environment: { ...serviceConfig.environment,
15
+ ...serviceState.environment
16
+ }
17
+ };
18
+ })
19
+ });
25
20
 
21
+ exports.default = _default;
26
22
  module.exports = exports.default;
@@ -1,26 +1,20 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
+ var _lodash = require("lodash");
8
9
 
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _lodash = require('lodash');
12
-
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
- exports.default = function (config, state) {
16
- return (0, _extends3.default)({}, config, {
17
- services: (0, _lodash.mapValues)(config.services, function (serviceConfig, serviceName) {
18
- var serviceState = state.services[serviceName] || {};
19
- return (0, _extends3.default)({}, serviceConfig, {
20
- image: serviceState.image || serviceConfig.image
21
- });
22
- })
23
- });
24
- };
10
+ var _default = (config, state) => ({ ...config,
11
+ services: (0, _lodash.mapValues)(config.services, (serviceConfig, serviceName) => {
12
+ const serviceState = state.services[serviceName] || {};
13
+ return { ...serviceConfig,
14
+ image: serviceState.image || serviceConfig.image
15
+ };
16
+ })
17
+ });
25
18
 
19
+ exports.default = _default;
26
20
  module.exports = exports.default;
@@ -1,26 +1,22 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
+ var _lodash = require("lodash");
8
9
 
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _lodash = require('lodash');
12
-
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
- exports.default = function (config, state) {
16
- return (0, _extends3.default)({}, config, {
17
- services: (0, _lodash.mapValues)(config.services, function (serviceConfig, serviceName) {
18
- var serviceState = state.services[serviceName] || {};
19
- return (0, _extends3.default)({}, serviceConfig, {
20
- logging: (0, _extends3.default)({}, serviceConfig.logging, serviceState.logging)
21
- });
22
- })
23
- });
24
- };
10
+ var _default = (config, state) => ({ ...config,
11
+ services: (0, _lodash.mapValues)(config.services, (serviceConfig, serviceName) => {
12
+ const serviceState = state.services[serviceName] || {};
13
+ return { ...serviceConfig,
14
+ logging: { ...serviceConfig.logging,
15
+ ...serviceState.logging
16
+ }
17
+ };
18
+ })
19
+ });
25
20
 
21
+ exports.default = _default;
26
22
  module.exports = exports.default;
@@ -1,38 +1,30 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
 
7
- var _keys = require('babel-runtime/core-js/object/keys');
8
-
9
- var _keys2 = _interopRequireDefault(_keys);
10
-
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
-
13
- exports.default = function (config, state) {
14
- var newConfig = config;
15
-
16
- (0, _keys2.default)(state.services || {}).forEach(function (serviceName) {
17
- var serviceConfig = newConfig.services[serviceName];
18
- var serviceState = state.services[serviceName];
8
+ var _default = (config, state) => {
9
+ const newConfig = config;
10
+ Object.keys(state.services || {}).forEach(function (serviceName) {
11
+ const serviceConfig = newConfig.services[serviceName];
12
+ const serviceState = state.services[serviceName];
19
13
 
20
14
  if (serviceState._tag && serviceConfig) {
21
- var image = serviceConfig.image;
15
+ let image = serviceConfig.image; // strip existing tag off if it exists
22
16
 
23
- // strip existing tag off if it exists
24
17
  if (image.indexOf(':') !== -1) {
25
18
  image = image.substring(0, image.indexOf(':'));
26
- }
19
+ } // add new tag
27
20
 
28
- // add new tag
29
- image += ':' + serviceState._tag;
30
21
 
22
+ image += ':' + serviceState._tag;
31
23
  serviceConfig.image = image;
32
24
  }
33
25
  });
34
-
35
26
  return newConfig;
36
27
  };
37
28
 
29
+ exports.default = _default;
38
30
  module.exports = exports.default;
@@ -1,41 +1,27 @@
1
- 'use strict';
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2
4
 
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
8
+ exports.default = void 0;
6
9
 
7
- var _develop = require('../middleware/develop');
8
-
9
- var _develop2 = _interopRequireDefault(_develop);
10
-
11
- var _tagOverride = require('../middleware/tag-override');
12
-
13
- var _tagOverride2 = _interopRequireDefault(_tagOverride);
14
-
15
- var _portOverride = require('../middleware/port-override');
16
-
17
- var _portOverride2 = _interopRequireDefault(_portOverride);
18
-
19
- var _addVirtualHosts = require('../middleware/add-virtual-hosts');
20
-
21
- var _addVirtualHosts2 = _interopRequireDefault(_addVirtualHosts);
22
-
23
- var _setEnvVars = require('../middleware/set-env-vars');
10
+ var _develop = _interopRequireDefault(require("../middleware/develop"));
24
11
 
25
- var _setEnvVars2 = _interopRequireDefault(_setEnvVars);
12
+ var _tagOverride = _interopRequireDefault(require("../middleware/tag-override"));
26
13
 
27
- var _setLoggingDriver = require('../middleware/set-logging-driver');
14
+ var _portOverride = _interopRequireDefault(require("../middleware/port-override"));
28
15
 
29
- var _setLoggingDriver2 = _interopRequireDefault(_setLoggingDriver);
16
+ var _addServiceProxyConfig = _interopRequireDefault(require("../middleware/add-service-proxy-config"));
30
17
 
31
- var _setImage = require('../middleware/set-image');
18
+ var _setEnvVars = _interopRequireDefault(require("../middleware/set-env-vars"));
32
19
 
33
- var _setImage2 = _interopRequireDefault(_setImage);
20
+ var _setLoggingDriver = _interopRequireDefault(require("../middleware/set-logging-driver"));
34
21
 
35
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ var _setImage = _interopRequireDefault(require("../middleware/set-image"));
36
23
 
37
- exports.default = function (navy) {
38
- return [_develop2.default, _tagOverride2.default, _portOverride2.default, _setEnvVars2.default, _setLoggingDriver2.default, _setImage2.default, (0, _addVirtualHosts2.default)(navy)];
39
- };
24
+ var _default = navy => [_develop.default, _tagOverride.default, _portOverride.default, _setEnvVars.default, _setLoggingDriver.default, _setImage.default, (0, _addServiceProxyConfig.default)(navy)];
40
25
 
26
+ exports.default = _default;
41
27
  module.exports = exports.default;