From 9e688772cc29f24c88df3571a0aaffb0383d3560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Mon, 17 Jul 2017 16:03:49 +0300 Subject: [PATCH] MXS-1300: Make the MaxCtrl core a Node.js module The core is now a module that is loaded by the command line client. This allows the core library to be reused for testing. --- maxctrl/maxctrl.js | 2 +- maxctrl/{ => maxctrl_core}/common.js | 0 maxctrl/{ => maxctrl_core}/core.js | 2 -- maxctrl/{ => maxctrl_core}/lib/alter.js | 0 maxctrl/{ => maxctrl_core}/lib/call.js | 0 maxctrl/{ => maxctrl_core}/lib/clear.js | 0 maxctrl/{ => maxctrl_core}/lib/create.js | 0 maxctrl/{ => maxctrl_core}/lib/destroy.js | 0 maxctrl/{ => maxctrl_core}/lib/disable.js | 0 maxctrl/{ => maxctrl_core}/lib/enable.js | 0 maxctrl/{ => maxctrl_core}/lib/link.js | 0 maxctrl/{ => maxctrl_core}/lib/list.js | 0 maxctrl/{ => maxctrl_core}/lib/rotate.js | 0 maxctrl/{ => maxctrl_core}/lib/set.js | 0 maxctrl/{ => maxctrl_core}/lib/show.js | 0 maxctrl/{ => maxctrl_core}/lib/start.js | 0 maxctrl/{ => maxctrl_core}/lib/stop.js | 0 maxctrl/{ => maxctrl_core}/lib/unlink.js | 0 maxctrl/maxctrl_core/package.json | 20 ++++++++++++++++++++ maxctrl/package.json | 7 +------ maxctrl/test/diagnostics.js | 2 +- maxctrl/test/states.js | 6 ++---- 22 files changed, 25 insertions(+), 14 deletions(-) rename maxctrl/{ => maxctrl_core}/common.js (100%) rename maxctrl/{ => maxctrl_core}/core.js (99%) rename maxctrl/{ => maxctrl_core}/lib/alter.js (100%) rename maxctrl/{ => maxctrl_core}/lib/call.js (100%) rename maxctrl/{ => maxctrl_core}/lib/clear.js (100%) rename maxctrl/{ => maxctrl_core}/lib/create.js (100%) rename maxctrl/{ => maxctrl_core}/lib/destroy.js (100%) rename maxctrl/{ => maxctrl_core}/lib/disable.js (100%) rename maxctrl/{ => maxctrl_core}/lib/enable.js (100%) rename maxctrl/{ => maxctrl_core}/lib/link.js (100%) rename maxctrl/{ => maxctrl_core}/lib/list.js (100%) rename maxctrl/{ => maxctrl_core}/lib/rotate.js (100%) rename maxctrl/{ => maxctrl_core}/lib/set.js (100%) rename maxctrl/{ => maxctrl_core}/lib/show.js (100%) rename maxctrl/{ => maxctrl_core}/lib/start.js (100%) rename maxctrl/{ => maxctrl_core}/lib/stop.js (100%) rename maxctrl/{ => maxctrl_core}/lib/unlink.js (100%) create mode 100644 maxctrl/maxctrl_core/package.json diff --git a/maxctrl/maxctrl.js b/maxctrl/maxctrl.js index 7733117c0..fa8361e43 100644 --- a/maxctrl/maxctrl.js +++ b/maxctrl/maxctrl.js @@ -13,7 +13,7 @@ 'use strict'; -var maxctrl = require('./core.js') +var maxctrl = require('maxctrl-core') // Mangle the arguments if we are being called from the command line if (process.argv[0] == process.execPath) { diff --git a/maxctrl/common.js b/maxctrl/maxctrl_core/common.js similarity index 100% rename from maxctrl/common.js rename to maxctrl/maxctrl_core/common.js diff --git a/maxctrl/core.js b/maxctrl/maxctrl_core/core.js similarity index 99% rename from maxctrl/core.js rename to maxctrl/maxctrl_core/core.js index bc12ce49c..c3f871428 100644 --- a/maxctrl/core.js +++ b/maxctrl/maxctrl_core/core.js @@ -16,8 +16,6 @@ var program = require('yargs'); const maxctrl_version = '1.0.0'; -require('./common.js')() - program .version(maxctrl_version) .group(['u', 'p', 'h', 's', 't', 'q', 'tsv'], 'Global Options:') diff --git a/maxctrl/lib/alter.js b/maxctrl/maxctrl_core/lib/alter.js similarity index 100% rename from maxctrl/lib/alter.js rename to maxctrl/maxctrl_core/lib/alter.js diff --git a/maxctrl/lib/call.js b/maxctrl/maxctrl_core/lib/call.js similarity index 100% rename from maxctrl/lib/call.js rename to maxctrl/maxctrl_core/lib/call.js diff --git a/maxctrl/lib/clear.js b/maxctrl/maxctrl_core/lib/clear.js similarity index 100% rename from maxctrl/lib/clear.js rename to maxctrl/maxctrl_core/lib/clear.js diff --git a/maxctrl/lib/create.js b/maxctrl/maxctrl_core/lib/create.js similarity index 100% rename from maxctrl/lib/create.js rename to maxctrl/maxctrl_core/lib/create.js diff --git a/maxctrl/lib/destroy.js b/maxctrl/maxctrl_core/lib/destroy.js similarity index 100% rename from maxctrl/lib/destroy.js rename to maxctrl/maxctrl_core/lib/destroy.js diff --git a/maxctrl/lib/disable.js b/maxctrl/maxctrl_core/lib/disable.js similarity index 100% rename from maxctrl/lib/disable.js rename to maxctrl/maxctrl_core/lib/disable.js diff --git a/maxctrl/lib/enable.js b/maxctrl/maxctrl_core/lib/enable.js similarity index 100% rename from maxctrl/lib/enable.js rename to maxctrl/maxctrl_core/lib/enable.js diff --git a/maxctrl/lib/link.js b/maxctrl/maxctrl_core/lib/link.js similarity index 100% rename from maxctrl/lib/link.js rename to maxctrl/maxctrl_core/lib/link.js diff --git a/maxctrl/lib/list.js b/maxctrl/maxctrl_core/lib/list.js similarity index 100% rename from maxctrl/lib/list.js rename to maxctrl/maxctrl_core/lib/list.js diff --git a/maxctrl/lib/rotate.js b/maxctrl/maxctrl_core/lib/rotate.js similarity index 100% rename from maxctrl/lib/rotate.js rename to maxctrl/maxctrl_core/lib/rotate.js diff --git a/maxctrl/lib/set.js b/maxctrl/maxctrl_core/lib/set.js similarity index 100% rename from maxctrl/lib/set.js rename to maxctrl/maxctrl_core/lib/set.js diff --git a/maxctrl/lib/show.js b/maxctrl/maxctrl_core/lib/show.js similarity index 100% rename from maxctrl/lib/show.js rename to maxctrl/maxctrl_core/lib/show.js diff --git a/maxctrl/lib/start.js b/maxctrl/maxctrl_core/lib/start.js similarity index 100% rename from maxctrl/lib/start.js rename to maxctrl/maxctrl_core/lib/start.js diff --git a/maxctrl/lib/stop.js b/maxctrl/maxctrl_core/lib/stop.js similarity index 100% rename from maxctrl/lib/stop.js rename to maxctrl/maxctrl_core/lib/stop.js diff --git a/maxctrl/lib/unlink.js b/maxctrl/maxctrl_core/lib/unlink.js similarity index 100% rename from maxctrl/lib/unlink.js rename to maxctrl/maxctrl_core/lib/unlink.js diff --git a/maxctrl/maxctrl_core/package.json b/maxctrl/maxctrl_core/package.json new file mode 100644 index 000000000..60dc5eddf --- /dev/null +++ b/maxctrl/maxctrl_core/package.json @@ -0,0 +1,20 @@ +{ + "name": "maxctrl-core", + "version": "1.0.0", + "description": "MaxScale Administrative Client Core Library", + "repository": "https://github.com/mariadb-corporation/MaxScale", + "main": "core.js", + "keywords": [ + "maxscale" + ], + "author": "MariaDB Corporation Ab", + "license": "SEE LICENSE IN ../../LICENSE.TXT", + "dependencies": { + "cli-table": "^0.3.1", + "lodash": "^4.17.4", + "lodash-getpath": "^0.2.4", + "request": "^2.81.0", + "request-promise-native": "^1.0.3", + "yargs": "^8.0.2" + } +} diff --git a/maxctrl/package.json b/maxctrl/package.json index bf8b3a1c0..6dbae0ee0 100644 --- a/maxctrl/package.json +++ b/maxctrl/package.json @@ -16,12 +16,7 @@ "author": "MariaDB Corporation Ab", "license": "SEE LICENSE IN ../../LICENSE.TXT", "dependencies": { - "cli-table": "^0.3.1", - "lodash": "^4.17.4", - "lodash-getpath": "^0.2.4", - "request": "^2.81.0", - "request-promise-native": "^1.0.3", - "yargs": "^8.0.2" + "maxscale-core": "file:./maxctrl_core" }, "devDependencies": { "chai": "^3.5.0", diff --git a/maxctrl/test/diagnostics.js b/maxctrl/test/diagnostics.js index 21cbf65d2..52360476c 100644 --- a/maxctrl/test/diagnostics.js +++ b/maxctrl/test/diagnostics.js @@ -3,7 +3,7 @@ require('../test_utils.js')() describe("Diagnostic commands", function() { before(startMaxScale) - var ctrl = require('../core.js') + var ctrl = require('maxctrl-core') var tests = [ 'list servers', 'list services', diff --git a/maxctrl/test/states.js b/maxctrl/test/states.js index bcd2a5e8b..7e925faaa 100644 --- a/maxctrl/test/states.js +++ b/maxctrl/test/states.js @@ -8,10 +8,8 @@ describe("Server states", function() { }) }) - var ctrl = require('../core.js') - var opts = { - extra_args: [ '--quiet'] - } + var ctrl = require('maxctrl-core') + var opts = { extra_args: [ '--quiet'] } it('set correct state', function() { return ctrl.execute('set server server2 master'.split(' '), opts)