qcobjects-cli 2.4.32 → 2.4.34

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 (37) hide show
  1. package/.dockerignore +2 -0
  2. package/.eslintignore +7 -0
  3. package/.eslintrc.cjs +22 -0
  4. package/VERSION +1 -1
  5. package/package.json +45 -24
  6. package/{backend → src/backend}/com.qcobjects.backend.microservice.static.js +26 -26
  7. package/{backend → src/backend}/org.qcobjects.backend.php.js +45 -38
  8. package/{com.qcobjects.cli.commands.jira.js → src/com.qcobjects.cli.commands.jira.js} +1 -1
  9. package/{com.qcobjects.cli.commands.js → src/com.qcobjects.cli.commands.js} +1 -1
  10. package/{com.qcobjects.cli.commands.version.js → src/com.qcobjects.cli.commands.version.js} +1 -1
  11. package/src/index.cjs +2 -0
  12. package/src/index.d.ts +2 -0
  13. package/src/index.mjs +2 -0
  14. package/src/index.ts +2 -0
  15. package/{org.qcobjects.enterprise.commands.js → src/org.qcobjects.enterprise.commands.js} +1 -1
  16. package/{org.quickcorp.qcobjects.cli.js → src/org.quickcorp.qcobjects.cli.js} +265 -252
  17. package/src/org.quickcorp.qcobjects.defaultsettings.js +293 -0
  18. package/{qcobjects-cli.js → src/qcobjects-cli.js} +5 -3
  19. package/.eslintrc.json +0 -15
  20. package/org.quickcorp.qcobjects.defaultsettings.js +0 -242
  21. /package/{com.qcobjects.cli.commands.jira.client_services.js → src/com.qcobjects.cli.commands.jira.client_services.js} +0 -0
  22. /package/{org.qcobjects.common.pipelog.js → src/org.qcobjects.common.pipelog.js} +0 -0
  23. /package/{org.quickcorp.qcobjects.api.client_services.js → src/org.quickcorp.qcobjects.api.client_services.js} +0 -0
  24. /package/{org.quickcorp.qcobjects.collab.server.js → src/org.quickcorp.qcobjects.collab.server.js} +0 -0
  25. /package/{org.quickcorp.qcobjects.main.file.js → src/org.quickcorp.qcobjects.main.file.js} +0 -0
  26. /package/{org.quickcorp.qcobjects.main.http.gae.server.js → src/org.quickcorp.qcobjects.main.http.gae.server.js} +0 -0
  27. /package/{org.quickcorp.qcobjects.main.http.server.js → src/org.quickcorp.qcobjects.main.http.server.js} +0 -0
  28. /package/{org.quickcorp.qcobjects.main.http2.server.js → src/org.quickcorp.qcobjects.main.http2.server.js} +0 -0
  29. /package/{qcobjects-collab.js → src/qcobjects-collab.js} +0 -0
  30. /package/{qcobjects-createcert.js → src/qcobjects-createcert.js} +0 -0
  31. /package/{qcobjects-gae-http-server.js → src/qcobjects-gae-http-server.js} +0 -0
  32. /package/{qcobjects-http-server.js → src/qcobjects-http-server.js} +0 -0
  33. /package/{qcobjects-http2-server.js → src/qcobjects-http2-server.js} +0 -0
  34. /package/{qcobjects-shell.js → src/qcobjects-shell.js} +0 -0
  35. /package/{templates → src/templates}/apps/spa-local.html +0 -0
  36. /package/{templates → src/templates}/apps/spa-local.js +0 -0
  37. /package/{templates → src/templates}/pwa/sw.js +0 -0
@@ -0,0 +1,293 @@
1
+ /**
2
+ * QCObjects CLI 2.4.x
3
+ * ________________
4
+ *
5
+ * Author: Jean Machuca <correojean@gmail.com>
6
+ *
7
+ * Cross Browser Javascript Framework for MVC Patterns
8
+ * QuickCorp/QCObjects is licensed under the
9
+ * GNU Lesser General Public License v3.0
10
+ * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)
11
+ *
12
+ * Permissions of this copyleft license are conditioned on making available
13
+ * complete source code of licensed works and modifications under the same
14
+ * license or the GNU GPLv3. Copyright and license notices must be preserved.
15
+ * Contributors provide an express grant of patent rights. However, a larger
16
+ * work using the licensed work through interfaces provided by the licensed
17
+ * work may be distributed under different terms and without source code for
18
+ * the larger work.
19
+ *
20
+ * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>
21
+ *
22
+ * Everyone is permitted to copy and distribute verbatim copies of this
23
+ * license document, but changing it is not allowed.
24
+ */
25
+ /*eslint no-unused-vars: "off"*/
26
+ /*eslint no-redeclare: "off"*/
27
+ /*eslint no-empty: "off"*/
28
+ /*eslint strict: "off"*/
29
+ /*eslint no-mixed-operators: "off"*/
30
+ /*eslint no-undef: "off"*/
31
+ "use strict";
32
+
33
+ CONFIG.set("documentRootFileIndex", "index.html");
34
+ CONFIG.set("projectPath", `${process.cwd()}/`);
35
+ CONFIG.set("useConfigService", false); // this is only true useful for client web side
36
+ CONFIG.set("documentRoot", "./");
37
+ CONFIG.set("serverPortHTTP", 80);
38
+ CONFIG.set("serverPortHTTPS", 443);
39
+ CONFIG.set("private-key-pem", "localhost-privkey.pem");
40
+ CONFIG.set("private-cert-pem", "localhost-cert.pem");
41
+ CONFIG.set("allowHTTP1", true);
42
+ CONFIG.set("useTemplate", false);
43
+ CONFIG.set("domain", "localhost");
44
+
45
+ global.__get_version__ = function () {
46
+ const path = require("path");
47
+
48
+ const absolutePath = path.resolve(__dirname, "./");
49
+ const package_config = require(absolutePath + "/../package.json");
50
+ const qcobjects_pkg_config = require("qcobjects/package.json");
51
+ const qcobjects_sdk_pkg_config = require("qcobjects-sdk/package.json");
52
+ return {
53
+ "qcobjects": qcobjects_pkg_config.version,
54
+ "sdk": qcobjects_sdk_pkg_config.version,
55
+ "cli": package_config.version
56
+ };
57
+ };
58
+
59
+ global.__get_version_string__ = function () {
60
+ const version = global.__get_version__();
61
+ return "QCObjects: v" + version.qcobjects + ", SDK: v" + version.sdk + ", CLI: v" + version.cli;
62
+ };
63
+
64
+
65
+ let setDevMode = function (devmode) {
66
+ if (typeof devmode !== "undefined") {
67
+ switch (true) {
68
+ case devmode == "debug":
69
+ logger.debugEnabled = true;
70
+ logger.warnEnabled = true;
71
+ logger.infoEnabled = true;
72
+ break;
73
+ case devmode == "warn":
74
+ logger.debugEnabled = false;
75
+ logger.warnEnabled = true;
76
+ logger.infoEnabled = true;
77
+ break;
78
+ case devmode == "info":
79
+ logger.debugEnabled = false;
80
+ logger.warnEnabled = false;
81
+ logger.infoEnabled = true;
82
+ break;
83
+
84
+ default:
85
+ logger.debugEnabled = false;
86
+ logger.warnEnabled = false;
87
+ logger.infoEnabled = false;
88
+ break;
89
+ }
90
+ } else {
91
+ logger.debugEnabled = false;
92
+ logger.warnEnabled = false;
93
+ logger.infoEnabled = false;
94
+ }
95
+
96
+ };
97
+
98
+ try {
99
+ var _config = require(CONFIG.get("projectPath") + "config.json");
100
+ logger.debug("Loading settings from your config.json");
101
+
102
+ let _secretKey = (_config.hasOwnProperty.call(_config, "domain")) ? (_config["domain"]) : ("_secret_");
103
+
104
+ if (_config.hasOwnProperty.call(_config, "__encoded__")) {
105
+ _config = JSON.parse(_Crypt.decrypt(_config.__encoded__, _secretKey));
106
+ }
107
+ for (var k in _config) {
108
+ CONFIG.set(k, _config[k]);
109
+ }
110
+
111
+ setDevMode(CONFIG.get("devmode", ""));
112
+
113
+ if (typeof CONFIG.get("backend") !== "undefined") {
114
+ global.set("backendAvailable", true);
115
+
116
+ if (typeof CONFIG.get("basePath") !== "undefined") {
117
+ logger.debug(`Changing the current directory: ${process.cwd()}`);
118
+ try {
119
+ process.chdir(CONFIG.get("basePath"));
120
+ logger.debug(`New directory: ${process.cwd()}`);
121
+ } catch (err) {
122
+ logger.warn(`It was impossible to change the current chdir: ${err}`);
123
+ }
124
+ }
125
+ }
126
+ } catch (e) {
127
+ logger.debug(e);
128
+ logger.debug("Something went wrong trying to load config.json file in your project");
129
+ }
130
+
131
+ (async function () {
132
+ const path = require("path");
133
+ const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
134
+ const loadDefaultRoutes = async () => {
135
+ let backend = CONFIG.get("backend");
136
+ if (typeof backend === "undefined") {
137
+ backend = {};
138
+ }
139
+ if (typeof backend.routes === "undefined") {
140
+ backend.routes = [];
141
+ }
142
+ backend.routes = backend.routes.concat([{
143
+ "name": "QCObjects.js",
144
+ "description": "Redirection of QCObjects.js",
145
+ "path": "^/QCObjects.js$",
146
+ "microservice": "com.qcobjects.backend.microservice.static",
147
+ "redirect_to": "./node_modules/qcobjects/QCObjects.js",
148
+ "responseHeaders": {},
149
+ "cors": {
150
+ "allow_origins": "*"
151
+ }
152
+ },
153
+ {
154
+ "name": "QCObjects-SDK.js",
155
+ "description": "Redirection of QCObjects SDK",
156
+ "path": "^/js/packages/QCObjects-SDK.js$",
157
+ "microservice": "com.qcobjects.backend.microservice.static",
158
+ "redirect_to": "./node_modules/qcobjects-sdk/QCObjects-SDK.js",
159
+ "responseHeaders": {},
160
+ "cors": {
161
+ "allow_origins": "*"
162
+ }
163
+ },
164
+ {
165
+ "name": "QCObjects-SDK Components",
166
+ "description": "Redirection of QCObjects SDK",
167
+ "path": "^/qcobjects-sdk/(.*)$",
168
+ "microservice": "com.qcobjects.backend.microservice.static",
169
+ "redirect_to": "./node_modules/qcobjects-sdk/$1",
170
+ "responseHeaders": {},
171
+ "cors": {
172
+ "allow_origins": "*"
173
+ }
174
+ }
175
+
176
+ ]);
177
+ CONFIG.set("backend", backend);
178
+
179
+ return;
180
+ };
181
+ await loadDefaultRoutes();
182
+ })().then(() => logger.info("Default routes loaded"));
183
+
184
+ (function () {
185
+ /* Auto Discover dependencies (lib, handlers, commands) */
186
+ const path = require("path");
187
+ const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
188
+ logger.debug(`CONFIG.projectPath is set to ${projectPath}`);
189
+ const hasKeyword = (p, keyword) => {
190
+ if (typeof hasKeyword.keywords === "undefined"){
191
+ hasKeyword.keywords = {};
192
+ }
193
+ if (typeof hasKeyword.keywords[p] === "undefined"){
194
+ const {
195
+ keywords
196
+ } = require(`${findPackageNodePath(p)}/${p}/package.json`);
197
+ hasKeyword.keywords[p] = keywords;
198
+ }
199
+ return typeof hasKeyword.keywords[p] !== "undefined" && hasKeyword.keywords[p].includes(keyword);
200
+ };
201
+
202
+ const dependencies = () => {
203
+ if (typeof dependencies.deps === "undefined"){
204
+ dependencies.deps = Object.keys(require(`${projectPath}/package.json`).dependencies);
205
+ }
206
+ return dependencies.deps;
207
+ };
208
+
209
+ const loadLibs = () => {
210
+ let _ret_;
211
+ if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_libs", false)) {
212
+ const libs = dependencies().filter((p) => hasKeyword(p, "qcobjects-lib"));
213
+ if (libs.length>0){
214
+ logger.debug(`Plugin Libs found: ${libs}`);
215
+ _ret_ = Promise.all(libs.map((p) => {return Import(p);})).then(() => logger.info("Libs loaded"));
216
+ } else {
217
+ logger.debug("No Plugin Libs found.");
218
+ _ret_ = Promise.resolve();
219
+ }
220
+ } else {
221
+ logger.debug("To load libs, set autodiscover_libs to true in your config.json");
222
+ _ret_ = Promise.resolve();
223
+ }
224
+ return _ret_;
225
+ };
226
+ const loadHandlers = () => {
227
+ let _ret_;
228
+ if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_handlers", false)) {
229
+ const handlers = dependencies().filter((p) => hasKeyword(p, "qcobjects-handler"));
230
+ if (handlers.length>0){
231
+ logger.debug(`Plugin Handlers found: ${handlers}`);
232
+ _ret_ = Promise.all(handlers.map((p) => {return Import(p);})).then(() => logger.info("Handlers loaded"));
233
+ } else {
234
+ logger.debug("No Plugin Handlers found.");
235
+ _ret_ = Promise.resolve();
236
+ }
237
+ } else {
238
+ logger.debug("To load handlers, set autodiscover_handlers to true in your config.json");
239
+ _ret_ = Promise.resolve();
240
+ }
241
+ return _ret_;
242
+ };
243
+ const loadCommands = () => {
244
+ let _ret_;
245
+ logger.debug(`Looking for custom commands as dependencies in: ${projectPath}/package.json`);
246
+ if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_commands", false)) {
247
+ const commands = dependencies().filter((p) => hasKeyword(p, "qcobjects-command"));
248
+ if (commands.length>0){
249
+ logger.debug(`Plugin Commands found: ${commands}`);
250
+ _ret_ = Promise.all(commands.map((p) => {return Import(p);})).then(() => logger.info("Commands loaded"));
251
+ } else {
252
+ logger.debug("No Plugin Commands found.");
253
+ _ret_ = Promise.resolve();
254
+ }
255
+ } else {
256
+ logger.debug("To load commands, set autodiscover_commands to true in your config.json");
257
+ _ret_ = Promise.resolve();
258
+ }
259
+ return _ret_;
260
+ };
261
+ if (CONFIG.get("autodiscover", false) ||
262
+ CONFIG.get("autodiscover_libs", false) ||
263
+ CONFIG.get("autodiscover_handlers", false) ||
264
+ CONFIG.get("autodiscover_commands", false)
265
+ ) {
266
+ logger.info("Auto discover is enabled");
267
+ } else if (!CONFIG.get("autodiscover", false)) {
268
+ logger.info("Auto discover is disabled");
269
+ logger.debug("To load all dependencies, set autodiscover to true in your config.json");
270
+ } else {
271
+ logger.info("Auto discover is disabled");
272
+ }
273
+
274
+ try {
275
+ logger.debug("Loading Libs...");
276
+ loadLibs();
277
+ } catch (e) {
278
+ throw Error(`Something went wrong trying to load libs: ${e.message}`);
279
+ }
280
+ try {
281
+ logger.debug("Loading Handlers...");
282
+ loadHandlers();
283
+ } catch (e) {
284
+ throw Error(`Something went wrong trying to load handler: ${e.message}`);
285
+ }
286
+ try {
287
+ logger.debug("Loading Commands...");
288
+ loadCommands();
289
+ } catch (e) {
290
+ throw Error(`Something went wrong trying to load commands: ${e.message}`);
291
+ }
292
+ logger.info("Dependencies loaded");
293
+ })();
@@ -33,13 +33,11 @@
33
33
  const path = require("path");
34
34
  const absolutePath = path.resolve( __dirname, "./" );
35
35
  const templatePath = path.resolve( __dirname, "./templates/apps/" )+"/";
36
- const package_config = require(absolutePath+"/package.json");
36
+ const package_config = require(absolutePath+"/../package.json");
37
37
 
38
38
 
39
39
  require("qcobjects");
40
40
 
41
- require(absolutePath+"/org.quickcorp.qcobjects.defaultsettings.js");
42
-
43
41
  logger.debugEnabled = false;
44
42
  const welcometo = "Welcome to \n";
45
43
  const instructions = `
@@ -59,6 +57,10 @@ if (process.argv.length<3 || process.argv[2] === "create"){
59
57
  console.log(logo);
60
58
  console.log(instructions);
61
59
  }
60
+ logger.debugEnabled = false;
61
+ logger.warnEnabled = false;
62
+ logger.infoEnabled = false;
63
+
62
64
  require(absolutePath+"/org.quickcorp.qcobjects.defaultsettings.js");
63
65
 
64
66
  require(absolutePath+"/org.quickcorp.qcobjects.cli");
package/.eslintrc.json DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "env": {
3
- "browser": true,
4
- "es6": true,
5
- "node": true
6
- },
7
- "parserOptions": {
8
- "ecmaVersion": 2018,
9
- "sourceType": "module"
10
- },
11
- "rules": {
12
- "semi": ["error", "always"],
13
- "quotes": ["error", "double"]
14
- }
15
- }
@@ -1,242 +0,0 @@
1
- /**
2
- * QCObjects CLI 2.4.x
3
- * ________________
4
- *
5
- * Author: Jean Machuca <correojean@gmail.com>
6
- *
7
- * Cross Browser Javascript Framework for MVC Patterns
8
- * QuickCorp/QCObjects is licensed under the
9
- * GNU Lesser General Public License v3.0
10
- * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)
11
- *
12
- * Permissions of this copyleft license are conditioned on making available
13
- * complete source code of licensed works and modifications under the same
14
- * license or the GNU GPLv3. Copyright and license notices must be preserved.
15
- * Contributors provide an express grant of patent rights. However, a larger
16
- * work using the licensed work through interfaces provided by the licensed
17
- * work may be distributed under different terms and without source code for
18
- * the larger work.
19
- *
20
- * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>
21
- *
22
- * Everyone is permitted to copy and distribute verbatim copies of this
23
- * license document, but changing it is not allowed.
24
- */
25
- /*eslint no-unused-vars: "off"*/
26
- /*eslint no-redeclare: "off"*/
27
- /*eslint no-empty: "off"*/
28
- /*eslint strict: "off"*/
29
- /*eslint no-mixed-operators: "off"*/
30
- /*eslint no-undef: "off"*/
31
- "use strict";
32
-
33
- CONFIG.set("documentRootFileIndex","index.html");
34
- CONFIG.set("projectPath",`${process.cwd()}/`);
35
- CONFIG.set("useConfigService",false); // this is only true useful for client web side
36
- CONFIG.set("documentRoot","./");
37
- CONFIG.set("serverPortHTTP",80);
38
- CONFIG.set("serverPortHTTPS",443);
39
- CONFIG.set("private-key-pem","localhost-privkey.pem");
40
- CONFIG.set("private-cert-pem","localhost-cert.pem");
41
- CONFIG.set("allowHTTP1",true);
42
- CONFIG.set("useTemplate",false);
43
- CONFIG.set("domain","localhost");
44
-
45
- global.__get_version__ = function (){
46
- const path = require("path");
47
-
48
- const absolutePath = path.resolve( __dirname, "./" );
49
- const package_config = require(absolutePath+"/package.json");
50
- const qcobjects_pkg_config = require("qcobjects/package.json");
51
- const qcobjects_sdk_pkg_config = require("qcobjects-sdk/package.json");
52
- return {
53
- "qcobjects":qcobjects_pkg_config.version,
54
- "sdk":qcobjects_sdk_pkg_config.version,
55
- "cli":package_config.version
56
- };
57
- };
58
-
59
- global.__get_version_string__ = function (){
60
- const version = global.__get_version__();
61
- return "QCObjects: v"+version.qcobjects+", SDK: v"+version.sdk+", CLI: v"+version.cli;
62
- };
63
-
64
-
65
- let setDevMode = function (devmode){
66
- if (typeof devmode !== "undefined"){
67
- switch (true) {
68
- case devmode=="debug":
69
- logger.debugEnabled = true;
70
- logger.warnEnabled = true;
71
- logger.infoEnabled = true;
72
- break;
73
- case devmode=="warn":
74
- logger.debugEnabled = false;
75
- logger.warnEnabled = true;
76
- logger.infoEnabled = true;
77
- break;
78
- case devmode=="info":
79
- logger.debugEnabled = false;
80
- logger.warnEnabled = false;
81
- logger.infoEnabled = true;
82
- break;
83
-
84
- default:
85
- logger.debugEnabled = false;
86
- logger.warnEnabled = false;
87
- logger.infoEnabled = false;
88
- break;
89
- }
90
- } else {
91
- logger.debugEnabled = false;
92
- logger.warnEnabled = false;
93
- logger.infoEnabled = false;
94
- }
95
-
96
- };
97
-
98
- try {
99
- var _config = require(CONFIG.get("projectPath")+"config.json");
100
- logger.debug("Loading settings from your config.json");
101
-
102
- let _secretKey = (_config.hasOwnProperty.call(_config,"domain"))?(_config["domain"]):("_secret_");
103
-
104
- if (_config.hasOwnProperty.call(_config,"__encoded__")) {
105
- _config = JSON.parse(_Crypt.decrypt(_config.__encoded__, _secretKey));
106
- }
107
- for (var k in _config){
108
- CONFIG.set(k,_config[k]);
109
- }
110
-
111
- setDevMode(CONFIG.get("devmode",""));
112
-
113
- if (typeof CONFIG.get("backend") !== "undefined"){
114
- global.set("backendAvailable",true);
115
-
116
- if (typeof CONFIG.get("basePath") !== "undefined"){
117
- logger.debug(`Changing the current directory: ${process.cwd()}`);
118
- try {
119
- process.chdir(CONFIG.get("basePath"));
120
- logger.debug(`New directory: ${process.cwd()}`);
121
- } catch (err) {
122
- logger.warn(`It was impossible to change the current chdir: ${err}`);
123
- }
124
- }
125
- }
126
- }catch (e){
127
- logger.debug(e);
128
- logger.debug("Something went wrong trying to load config.json file in your project");
129
- }
130
-
131
- (async function (){
132
- const path = require("path");
133
- const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
134
- const loadDefaultRoutes = async () => {
135
- let backend = CONFIG.get("backend");
136
- if (typeof backend === "undefined"){
137
- backend = {};
138
- }
139
- if (typeof backend.routes === "undefined"){
140
- backend.routes = [];
141
- }
142
- backend.routes = backend.routes.concat([
143
- {
144
- "name":"QCObjects.js",
145
- "description":"Redirection of QCObjects.js",
146
- "path":"^/QCObjects.js$",
147
- "microservice":"com.qcobjects.backend.microservice.static",
148
- "redirect_to": "./node_modules/qcobjects/QCObjects.js",
149
- "responseHeaders":{
150
- },
151
- "cors":{
152
- "allow_origins":"*"
153
- }
154
- },
155
- {
156
- "name":"QCObjects-SDK.js",
157
- "description":"Redirection of QCObjects SDK",
158
- "path":"^/js/packages/QCObjects-SDK.js$",
159
- "microservice":"com.qcobjects.backend.microservice.static",
160
- "redirect_to": "./node_modules/qcobjects-sdk/QCObjects-SDK.js",
161
- "responseHeaders":{
162
- },
163
- "cors":{
164
- "allow_origins":"*"
165
- }
166
- },
167
- {
168
- "name":"QCObjects-SDK Components",
169
- "description":"Redirection of QCObjects SDK",
170
- "path":"^/qcobjects-sdk/(.*)$",
171
- "microservice":"com.qcobjects.backend.microservice.static",
172
- "redirect_to": "./node_modules/qcobjects-sdk/$1",
173
- "responseHeaders":{},
174
- "cors":{
175
- "allow_origins":"*"
176
- }
177
- }
178
-
179
- ]);
180
- CONFIG.set("backend", backend);
181
-
182
- return;
183
- };
184
- await loadDefaultRoutes();
185
- })().then (()=>logger.info("Default routes loaded"));
186
-
187
- (async function (){
188
- /* Auto Discover dependencies (lib, handlers, commands) */
189
- const path = require("path");
190
- const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
191
- const hasKeyword = (p,keyword) => {
192
- const {keywords} = require(`${findPackageNodePath(p)}/${p}/package.json`);
193
- return typeof keywords !== "undefined" && keywords.includes(keyword);
194
- };
195
-
196
- const loadLibs = async () => {
197
- let _ret_;
198
- if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_libs",false)){
199
- _ret_ = Promise.all(Object.keys(require(`${projectPath}/package.json`).dependencies).filter((p)=>hasKeyword(p,"qcobjects-lib")).map((p)=>Import(p))).then(()=>logger.info("Libs loaded"));
200
- } else {
201
- _ret_ = Promise.resolve();
202
- logger.debug("To load libs, set autodiscover_libs to true in your config.json");
203
- }
204
- return _ret_;
205
- };
206
- const loadHandlers = async () => {
207
- let _ret_;
208
- if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_handlers",false)){
209
- _ret_ = Promise.all(Object.keys(require(`${projectPath}/package.json`).dependencies).filter((p)=>hasKeyword(p,"qcobjects-handler")).map((p)=>Import(p))).then(()=>logger.info("Handlers loaded"));
210
- } else {
211
- _ret_ = Promise.resolve();
212
- logger.debug("To load handlers, set autodiscover_handlers to true in your config.json");
213
- }
214
- return _ret_;
215
- };
216
- const loadCommands = async () => {
217
- let _ret_;
218
- if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_commands",false)){
219
- _ret_ = Promise.all(Object.keys(require(`${projectPath}/package.json`).dependencies).filter((p)=>hasKeyword(p,"qcobjects-command")).map((p)=>Import(p))).then(()=>logger.info("Commands loaded"));
220
- } else {
221
- _ret_ = Promise.resolve();
222
- logger.debug("To load commands, set autodiscover_commands to true in your config.json");
223
- }
224
- return _ret_;
225
- };
226
- if (CONFIG.get("autodiscover", false)
227
- || CONFIG.get("autodiscover_libs",false)
228
- || CONFIG.get("autodiscover_handlers",false)
229
- || CONFIG.get("autodiscover_commands",false)
230
- ){
231
- logger.info("Auto discover is enabled");
232
- } else if (!CONFIG.get("autodiscover", false)) {
233
- logger.info("Auto discover is disabled");
234
- logger.debug("To load all dependencies, set autodiscover to true in your config.json");
235
- } else {
236
- logger.info("Auto discover is disabled");
237
- }
238
-
239
- await loadLibs();
240
- await loadHandlers();
241
- await loadCommands();
242
- })().then (()=>logger.info("Dependencies loaded"));
File without changes
File without changes
File without changes