qcobjects-cli 2.4.32 → 2.4.35

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 (41) hide show
  1. package/.dockerignore +2 -0
  2. package/.eslintignore +4 -0
  3. package/.eslintrc.cjs +6 -0
  4. package/README.md +1 -0
  5. package/VERSION +1 -1
  6. package/package.json +47 -24
  7. package/{backend → src/backend}/com.qcobjects.backend.microservice.static.js +26 -26
  8. package/{backend → src/backend}/org.qcobjects.backend.php.js +45 -38
  9. package/{com.qcobjects.cli.commands.jira.js → src/com.qcobjects.cli.commands.jira.js} +1 -1
  10. package/{com.qcobjects.cli.commands.js → src/com.qcobjects.cli.commands.js} +1 -1
  11. package/{com.qcobjects.cli.commands.version.js → src/com.qcobjects.cli.commands.version.js} +1 -1
  12. package/src/index.cjs +2 -0
  13. package/src/index.d.ts +2 -0
  14. package/src/index.mjs +2 -0
  15. package/src/index.ts +2 -0
  16. package/{org.qcobjects.enterprise.commands.js → src/org.qcobjects.enterprise.commands.js} +1 -1
  17. package/src/org.quickcorp.qcobjects.cli.js +483 -0
  18. package/src/org.quickcorp.qcobjects.defaultsettings.js +349 -0
  19. package/{qcobjects-cli.js → src/qcobjects-cli.js} +5 -3
  20. package/tsconfig.d.json +5 -0
  21. package/tsconfig.json +10 -0
  22. package/.eslintrc.json +0 -15
  23. package/org.quickcorp.qcobjects.cli.js +0 -586
  24. package/org.quickcorp.qcobjects.defaultsettings.js +0 -242
  25. /package/{com.qcobjects.cli.commands.jira.client_services.js → src/com.qcobjects.cli.commands.jira.client_services.js} +0 -0
  26. /package/{org.qcobjects.common.pipelog.js → src/org.qcobjects.common.pipelog.js} +0 -0
  27. /package/{org.quickcorp.qcobjects.api.client_services.js → src/org.quickcorp.qcobjects.api.client_services.js} +0 -0
  28. /package/{org.quickcorp.qcobjects.collab.server.js → src/org.quickcorp.qcobjects.collab.server.js} +0 -0
  29. /package/{org.quickcorp.qcobjects.main.file.js → src/org.quickcorp.qcobjects.main.file.js} +0 -0
  30. /package/{org.quickcorp.qcobjects.main.http.gae.server.js → src/org.quickcorp.qcobjects.main.http.gae.server.js} +0 -0
  31. /package/{org.quickcorp.qcobjects.main.http.server.js → src/org.quickcorp.qcobjects.main.http.server.js} +0 -0
  32. /package/{org.quickcorp.qcobjects.main.http2.server.js → src/org.quickcorp.qcobjects.main.http2.server.js} +0 -0
  33. /package/{qcobjects-collab.js → src/qcobjects-collab.js} +0 -0
  34. /package/{qcobjects-createcert.js → src/qcobjects-createcert.js} +0 -0
  35. /package/{qcobjects-gae-http-server.js → src/qcobjects-gae-http-server.js} +0 -0
  36. /package/{qcobjects-http-server.js → src/qcobjects-http-server.js} +0 -0
  37. /package/{qcobjects-http2-server.js → src/qcobjects-http2-server.js} +0 -0
  38. /package/{qcobjects-shell.js → src/qcobjects-shell.js} +0 -0
  39. /package/{templates → src/templates}/apps/spa-local.html +0 -0
  40. /package/{templates → src/templates}/apps/spa-local.js +0 -0
  41. /package/{templates → src/templates}/pwa/sw.js +0 -0
@@ -0,0 +1,349 @@
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 fs = require ("fs");
188
+ const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
189
+ logger.debug(`CONFIG.projectPath is set to ${projectPath}`);
190
+ const findPath = (p) => {
191
+ const packagePath = path.resolve(findPackageNodePath(p), p);
192
+ return packagePath;
193
+ };
194
+
195
+ const getPackageJSON = (p) => {
196
+ let _json;
197
+ try {
198
+ let packagePath = findPath(p);
199
+ if (typeof packagePath !== "undefined"){
200
+ _json = JSON.parse(fs.readFileSync(path.resolve(`${packagePath}`,"./package.json")).toString());
201
+ } else {
202
+ _json = {};
203
+ }
204
+ } catch (e){
205
+ logger.debug(`It was impossible to get the package.json from ${p}: ${e}`);
206
+ _json = {}
207
+ }
208
+ return _json;
209
+ };
210
+
211
+ const hasKeyword = (p, keyword) => {
212
+ if (typeof hasKeyword.keywords === "undefined"){
213
+ hasKeyword.keywords = {};
214
+ }
215
+ try {
216
+ if (typeof hasKeyword.keywords[p] === "undefined"){
217
+ hasKeyword.keywords[p] = getPackageJSON(p).keywords;
218
+ }
219
+ } catch (e){
220
+ throw Error (`Something went wrong when trying to get the keywords of ${p}`);
221
+ }
222
+ return typeof hasKeyword.keywords[p] !== "undefined" && hasKeyword.keywords[p].includes(keyword);
223
+ };
224
+
225
+ const dependencies = () => {
226
+ if (typeof dependencies.deps === "undefined"){
227
+ dependencies.deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`,"./package.json")).toString()).dependencies);
228
+ }
229
+ return dependencies.deps;
230
+ };
231
+
232
+ const devDependencies = () => {
233
+ if (typeof devDependencies.deps === "undefined"){
234
+ devDependencies.deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`,"./package.json")).toString()).devDependencies);
235
+ }
236
+ return devDependencies.deps;
237
+ };
238
+
239
+ const loadLibs = () => {
240
+ let _ret_;
241
+ if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_libs", false)) {
242
+ const libs = dependencies().filter((p) => hasKeyword(p, "qcobjects-lib"));
243
+ if (libs.length>0){
244
+ logger.debug(`Plugin Libs found: ${libs}`);
245
+ _ret_ = Promise.all(libs.map((p) => {return require(findPath(p));})).then(() => logger.info("Libs loaded"));
246
+ } else {
247
+ logger.debug("No Plugin Libs found.");
248
+ _ret_ = Promise.resolve();
249
+ }
250
+ } else {
251
+ logger.debug("To load libs, set autodiscover_libs to true in your config.json");
252
+ _ret_ = Promise.resolve();
253
+ }
254
+ return _ret_;
255
+ };
256
+ const loadHandlers = () => {
257
+ let _ret_;
258
+ if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_handlers", false)) {
259
+ const handlers = dependencies().filter((p) => hasKeyword(p, "qcobjects-handler"));
260
+ if (handlers.length>0){
261
+ logger.debug(`Plugin Handlers found: ${handlers}`);
262
+ _ret_ = Promise.all(handlers.map((p) => {return require(findPath(p));})).then(() => logger.info("Handlers loaded"));
263
+ } else {
264
+ logger.debug("No Plugin Handlers found.");
265
+ _ret_ = Promise.resolve();
266
+ }
267
+ } else {
268
+ logger.debug("To load handlers, set autodiscover_handlers to true in your config.json");
269
+ _ret_ = Promise.resolve();
270
+ }
271
+ return _ret_;
272
+ };
273
+ const loadCommands = () => {
274
+ let _ret_;
275
+ logger.debug(`Looking for custom commands as dependencies in: ${projectPath}/package.json`);
276
+ if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_commands", false)) {
277
+ const commands = dependencies().filter((p) => hasKeyword(p, "qcobjects-command"));
278
+ if (commands.length>0){
279
+ logger.debug(`Plugin Commands found: ${commands}`);
280
+ _ret_ = Promise.all(commands.map((p) => {return require(findPath(p));})).then(() => logger.info("Commands loaded"));
281
+ } else {
282
+ logger.debug("No Plugin Commands found.");
283
+ _ret_ = Promise.resolve();
284
+ }
285
+ } else {
286
+ logger.debug("To load commands, set autodiscover_commands to true in your config.json");
287
+ _ret_ = Promise.resolve();
288
+ }
289
+ return _ret_;
290
+ };
291
+ const loadDevCommands = () => {
292
+ let _ret_;
293
+ logger.debug(`Looking for custom commands as dev dependencies in: ${projectPath}/package.json`);
294
+ if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_commands", false)) {
295
+ const commands = devDependencies().filter((p) => hasKeyword(p, "qcobjects-command"));
296
+ if (commands.length>0){
297
+ logger.debug(`Dev Plugin Commands found: ${commands}`);
298
+ _ret_ = Promise.all(commands.map((p) => {return require(findPath(p));})).then(() => logger.info("Commands loaded"));
299
+ } else {
300
+ logger.debug("No Plugin Commands found in dev dependencies.");
301
+ _ret_ = Promise.resolve();
302
+ }
303
+ } else {
304
+ logger.debug("To load commands, set autodiscover_commands to true in your config.json");
305
+ _ret_ = Promise.resolve();
306
+ }
307
+ return _ret_;
308
+ };
309
+
310
+ if (CONFIG.get("autodiscover", false) ||
311
+ CONFIG.get("autodiscover_libs", false) ||
312
+ CONFIG.get("autodiscover_handlers", false) ||
313
+ CONFIG.get("autodiscover_commands", false)
314
+ ) {
315
+ logger.info("Auto discover is enabled");
316
+ } else if (!CONFIG.get("autodiscover", false)) {
317
+ logger.info("Auto discover is disabled");
318
+ logger.debug("To load all dependencies, set autodiscover to true in your config.json");
319
+ } else {
320
+ logger.info("Auto discover is disabled");
321
+ }
322
+
323
+ try {
324
+ logger.debug("Loading Libs...");
325
+ loadLibs();
326
+ } catch (e) {
327
+ throw Error(`Something went wrong trying to load libs: ${e.message}`);
328
+ }
329
+ try {
330
+ logger.debug("Loading Handlers...");
331
+ loadHandlers();
332
+ } catch (e) {
333
+ throw Error(`Something went wrong trying to load handler: ${e.message}`);
334
+ }
335
+ try {
336
+ logger.debug("Loading Commands...");
337
+ loadCommands();
338
+ } catch (e) {
339
+ throw Error(`Something went wrong trying to load commands: ${e.message}`);
340
+ }
341
+ try {
342
+ logger.debug("Loading Dev Commands...");
343
+ loadDevCommands();
344
+ } catch (e) {
345
+ throw Error(`Something went wrong trying to load Dev commands: ${e.message}`);
346
+ }
347
+
348
+ logger.info("Dependencies loaded");
349
+ })();
@@ -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");
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": "qcobjects-tsconfig/tsconfig.d.json",
3
+ "include": ["src/**/*.ts"],
4
+ "exclude": ["src/**/*.spec.js", "src/*.js"]
5
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "qcobjects-tsconfig/tsconfig.json",
3
+ "compilerOptions": {
4
+ "rootDir": "src", /* Specify the root folder within your source files. */
5
+ "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
6
+ "outDir": "build", /* Specify an output folder for all emitted files. */
7
+ },
8
+ "include": ["src/**/*.ts"],
9
+ "exclude": ["src/**/*.spec.js", "src/*.js"]
10
+ }
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
- }