qcobjects-cli 2.4.66 → 2.5.103-beta
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.
- package/.github/workflows/npmpublish-beta.yml +4 -4
- package/.github/workflows/npmpublish-lts.yml +4 -4
- package/.github/workflows/npmpublish-main.yml +4 -4
- package/VERSION +1 -1
- package/build-esbuild.js +69 -0
- package/eslint.config.mjs +88 -0
- package/package.json +74 -46
- package/public/browser/backend/com.qcobjects.backend.microservice.static.js +318 -0
- package/public/browser/backend/com.qcobjects.backend.microservice.static.js.map +7 -0
- package/public/browser/backend/org.qcobjects.backend.php.js +290 -0
- package/public/browser/backend/org.qcobjects.backend.php.js.map +7 -0
- package/public/browser/com.qcobjects.cli.commands.jira.client_services.js +72 -0
- package/public/browser/com.qcobjects.cli.commands.jira.client_services.js.map +7 -0
- package/public/browser/com.qcobjects.cli.commands.jira.js +117 -0
- package/public/browser/com.qcobjects.cli.commands.jira.js.map +7 -0
- package/public/browser/com.qcobjects.cli.commands.js +30 -0
- package/public/browser/com.qcobjects.cli.commands.js.map +7 -0
- package/public/browser/com.qcobjects.cli.commands.version.js +241 -0
- package/public/browser/com.qcobjects.cli.commands.version.js.map +7 -0
- package/public/browser/index.js +97 -0
- package/public/browser/index.js.map +7 -0
- package/public/browser/org.qcobjects.common.pipelog.js +43 -0
- package/public/browser/org.qcobjects.common.pipelog.js.map +7 -0
- package/public/browser/org.qcobjects.enterprise.commands.js +169 -0
- package/public/browser/org.qcobjects.enterprise.commands.js.map +7 -0
- package/public/browser/org.quickcorp.qcobjects.api.client_services.js +72 -0
- package/public/browser/org.quickcorp.qcobjects.api.client_services.js.map +7 -0
- package/public/browser/org.quickcorp.qcobjects.cli.js +3185 -0
- package/public/browser/org.quickcorp.qcobjects.cli.js.map +7 -0
- package/public/browser/org.quickcorp.qcobjects.collab.server.js +422 -0
- package/public/browser/org.quickcorp.qcobjects.collab.server.js.map +7 -0
- package/public/browser/org.quickcorp.qcobjects.defaultsettings.js +383 -0
- package/public/browser/org.quickcorp.qcobjects.defaultsettings.js.map +7 -0
- package/public/browser/org.quickcorp.qcobjects.main.file.js +248 -0
- package/public/browser/org.quickcorp.qcobjects.main.file.js.map +7 -0
- package/public/browser/org.quickcorp.qcobjects.main.http.gae.server.js +538 -0
- package/public/browser/org.quickcorp.qcobjects.main.http.gae.server.js.map +7 -0
- package/public/browser/org.quickcorp.qcobjects.main.http.server.js +600 -0
- package/public/browser/org.quickcorp.qcobjects.main.http.server.js.map +7 -0
- package/public/browser/org.quickcorp.qcobjects.main.http2.server.js +465 -0
- package/public/browser/org.quickcorp.qcobjects.main.http2.server.js.map +7 -0
- package/public/browser/qcobjects-cli.js +89 -0
- package/public/browser/qcobjects-cli.js.map +7 -0
- package/public/browser/qcobjects-collab.js +41 -0
- package/public/browser/qcobjects-collab.js.map +7 -0
- package/public/browser/qcobjects-createcert.js +67 -0
- package/public/browser/qcobjects-createcert.js.map +7 -0
- package/public/browser/qcobjects-gae-http-server.js +41 -0
- package/public/browser/qcobjects-gae-http-server.js.map +7 -0
- package/public/browser/qcobjects-http-server.js +41 -0
- package/public/browser/qcobjects-http-server.js.map +7 -0
- package/public/browser/qcobjects-http2-server.js +44 -0
- package/public/browser/qcobjects-http2-server.js.map +7 -0
- package/public/browser/qcobjects-shell.js +50 -0
- package/public/browser/qcobjects-shell.js.map +7 -0
- package/public/browser/types/global/index.d.js +15 -0
- package/public/browser/types/global/index.d.js.map +7 -0
- package/public/cjs/backend/com.qcobjects.backend.microservice.static.cjs +305 -0
- package/public/cjs/backend/com.qcobjects.backend.microservice.static.cjs.map +7 -0
- package/public/cjs/backend/org.qcobjects.backend.php.cjs +273 -0
- package/public/cjs/backend/org.qcobjects.backend.php.cjs.map +7 -0
- package/public/cjs/com.qcobjects.cli.commands.cjs +13 -0
- package/public/cjs/com.qcobjects.cli.commands.cjs.map +7 -0
- package/public/cjs/com.qcobjects.cli.commands.jira.cjs +100 -0
- package/public/cjs/com.qcobjects.cli.commands.jira.cjs.map +7 -0
- package/public/cjs/com.qcobjects.cli.commands.jira.client_services.cjs +55 -0
- package/public/cjs/com.qcobjects.cli.commands.jira.client_services.cjs.map +7 -0
- package/public/cjs/com.qcobjects.cli.commands.version.cjs +224 -0
- package/public/cjs/com.qcobjects.cli.commands.version.cjs.map +7 -0
- package/public/cjs/index.cjs +89 -0
- package/public/cjs/index.cjs.map +7 -0
- package/public/cjs/org.qcobjects.common.pipelog.cjs +26 -0
- package/public/cjs/org.qcobjects.common.pipelog.cjs.map +7 -0
- package/public/cjs/org.qcobjects.enterprise.commands.cjs +152 -0
- package/public/cjs/org.qcobjects.enterprise.commands.cjs.map +7 -0
- package/public/cjs/org.quickcorp.qcobjects.api.client_services.cjs +55 -0
- package/public/cjs/org.quickcorp.qcobjects.api.client_services.cjs.map +7 -0
- package/public/cjs/org.quickcorp.qcobjects.cli.cjs +3172 -0
- package/public/cjs/org.quickcorp.qcobjects.cli.cjs.map +7 -0
- package/public/cjs/org.quickcorp.qcobjects.collab.server.cjs +405 -0
- package/public/cjs/org.quickcorp.qcobjects.collab.server.cjs.map +7 -0
- package/public/cjs/org.quickcorp.qcobjects.defaultsettings.cjs +366 -0
- package/public/cjs/org.quickcorp.qcobjects.defaultsettings.cjs.map +7 -0
- package/public/cjs/org.quickcorp.qcobjects.main.file.cjs +235 -0
- package/public/cjs/org.quickcorp.qcobjects.main.file.cjs.map +7 -0
- package/public/cjs/org.quickcorp.qcobjects.main.http.gae.server.cjs +525 -0
- package/public/cjs/org.quickcorp.qcobjects.main.http.gae.server.cjs.map +7 -0
- package/public/cjs/org.quickcorp.qcobjects.main.http.server.cjs +587 -0
- package/public/cjs/org.quickcorp.qcobjects.main.http.server.cjs.map +7 -0
- package/public/cjs/org.quickcorp.qcobjects.main.http2.server.cjs +452 -0
- package/public/cjs/org.quickcorp.qcobjects.main.http2.server.cjs.map +7 -0
- package/public/cjs/qcobjects-cli.cjs +81 -0
- package/public/cjs/qcobjects-cli.cjs.map +7 -0
- package/public/cjs/qcobjects-collab.cjs +24 -0
- package/public/cjs/qcobjects-collab.cjs.map +7 -0
- package/public/cjs/qcobjects-createcert.cjs +50 -0
- package/public/cjs/qcobjects-createcert.cjs.map +7 -0
- package/public/cjs/qcobjects-gae-http-server.cjs +24 -0
- package/public/cjs/qcobjects-gae-http-server.cjs.map +7 -0
- package/public/cjs/qcobjects-http-server.cjs +24 -0
- package/public/cjs/qcobjects-http-server.cjs.map +7 -0
- package/public/cjs/qcobjects-http2-server.cjs +27 -0
- package/public/cjs/qcobjects-http2-server.cjs.map +7 -0
- package/public/cjs/qcobjects-shell.cjs +34 -0
- package/public/cjs/qcobjects-shell.cjs.map +7 -0
- package/public/cjs/types/global/index.d.cjs +2 -0
- package/public/cjs/types/global/index.d.cjs.map +7 -0
- package/public/esm/backend/com.qcobjects.backend.microservice.static.mjs +315 -0
- package/public/esm/backend/com.qcobjects.backend.microservice.static.mjs.map +7 -0
- package/public/esm/backend/org.qcobjects.backend.php.mjs +287 -0
- package/public/esm/backend/org.qcobjects.backend.php.mjs.map +7 -0
- package/public/esm/com.qcobjects.cli.commands.jira.client_services.mjs +69 -0
- package/public/esm/com.qcobjects.cli.commands.jira.client_services.mjs.map +7 -0
- package/public/esm/com.qcobjects.cli.commands.jira.mjs +114 -0
- package/public/esm/com.qcobjects.cli.commands.jira.mjs.map +7 -0
- package/public/esm/com.qcobjects.cli.commands.mjs +27 -0
- package/public/esm/com.qcobjects.cli.commands.mjs.map +7 -0
- package/public/esm/com.qcobjects.cli.commands.version.mjs +238 -0
- package/public/esm/com.qcobjects.cli.commands.version.mjs.map +7 -0
- package/public/esm/index.mjs +78 -0
- package/public/esm/index.mjs.map +7 -0
- package/public/esm/org.qcobjects.common.pipelog.mjs +40 -0
- package/public/esm/org.qcobjects.common.pipelog.mjs.map +7 -0
- package/public/esm/org.qcobjects.enterprise.commands.mjs +166 -0
- package/public/esm/org.qcobjects.enterprise.commands.mjs.map +7 -0
- package/public/esm/org.quickcorp.qcobjects.api.client_services.mjs +69 -0
- package/public/esm/org.quickcorp.qcobjects.api.client_services.mjs.map +7 -0
- package/public/esm/org.quickcorp.qcobjects.cli.mjs +3182 -0
- package/public/esm/org.quickcorp.qcobjects.cli.mjs.map +7 -0
- package/public/esm/org.quickcorp.qcobjects.collab.server.mjs +419 -0
- package/public/esm/org.quickcorp.qcobjects.collab.server.mjs.map +7 -0
- package/public/esm/org.quickcorp.qcobjects.defaultsettings.mjs +380 -0
- package/public/esm/org.quickcorp.qcobjects.defaultsettings.mjs.map +7 -0
- package/public/esm/org.quickcorp.qcobjects.main.file.mjs +245 -0
- package/public/esm/org.quickcorp.qcobjects.main.file.mjs.map +7 -0
- package/public/esm/org.quickcorp.qcobjects.main.http.gae.server.mjs +535 -0
- package/public/esm/org.quickcorp.qcobjects.main.http.gae.server.mjs.map +7 -0
- package/public/esm/org.quickcorp.qcobjects.main.http.server.mjs +597 -0
- package/public/esm/org.quickcorp.qcobjects.main.http.server.mjs.map +7 -0
- package/public/esm/org.quickcorp.qcobjects.main.http2.server.mjs +462 -0
- package/public/esm/org.quickcorp.qcobjects.main.http2.server.mjs.map +7 -0
- package/public/esm/qcobjects-cli.mjs +68 -0
- package/public/esm/qcobjects-cli.mjs.map +7 -0
- package/public/esm/qcobjects-collab.mjs +38 -0
- package/public/esm/qcobjects-collab.mjs.map +7 -0
- package/public/esm/qcobjects-createcert.mjs +64 -0
- package/public/esm/qcobjects-createcert.mjs.map +7 -0
- package/public/esm/qcobjects-gae-http-server.mjs +38 -0
- package/public/esm/qcobjects-gae-http-server.mjs.map +7 -0
- package/public/esm/qcobjects-http-server.mjs +38 -0
- package/public/esm/qcobjects-http-server.mjs.map +7 -0
- package/public/esm/qcobjects-http2-server.mjs +41 -0
- package/public/esm/qcobjects-http2-server.mjs.map +7 -0
- package/public/esm/qcobjects-shell.mjs +26 -0
- package/public/esm/qcobjects-shell.mjs.map +7 -0
- package/public/esm/types/global/index.d.mjs +12 -0
- package/public/esm/types/global/index.d.mjs.map +7 -0
- package/public/index.d.ts +35 -0
- package/spec/support/jasmine.json +7 -4
- package/src/backend/{com.qcobjects.backend.microservice.static.js → com.qcobjects.backend.microservice.static.ts} +42 -28
- package/src/backend/org.qcobjects.backend.php.ts +348 -0
- package/src/{com.qcobjects.cli.commands.jira.client_services.js → com.qcobjects.cli.commands.jira.client_services.ts} +49 -33
- package/src/com.qcobjects.cli.commands.jira.ts +147 -0
- package/src/com.qcobjects.cli.commands.version.ts +293 -0
- package/src/{index.mjs → index.cts} +1 -1
- package/src/index.mts +2 -0
- package/src/index.ts +1 -1
- package/src/{org.qcobjects.common.pipelog.js → org.qcobjects.common.pipelog.ts} +4 -4
- package/src/org.qcobjects.enterprise.commands.ts +195 -0
- package/src/{org.quickcorp.qcobjects.api.client_services.js → org.quickcorp.qcobjects.api.client_services.ts} +49 -32
- package/src/org.quickcorp.qcobjects.cli.ts +533 -0
- package/src/org.quickcorp.qcobjects.collab.server.ts +420 -0
- package/src/{org.quickcorp.qcobjects.defaultsettings.js → org.quickcorp.qcobjects.defaultsettings.ts} +118 -95
- package/src/org.quickcorp.qcobjects.main.file.ts +180 -0
- package/src/org.quickcorp.qcobjects.main.http.gae.server.ts +507 -0
- package/src/org.quickcorp.qcobjects.main.http.server.ts +551 -0
- package/src/org.quickcorp.qcobjects.main.http2.server.ts +419 -0
- package/src/{qcobjects-cli.js → qcobjects-cli.ts} +7 -8
- package/src/{qcobjects-collab.js → qcobjects-collab.ts} +4 -4
- package/src/{qcobjects-createcert.js → qcobjects-createcert.ts} +5 -3
- package/src/{qcobjects-gae-http-server.js → qcobjects-gae-http-server.ts} +4 -4
- package/src/{qcobjects-http-server.js → qcobjects-http-server.ts} +4 -4
- package/src/{qcobjects-http2-server.js → qcobjects-http2-server.ts} +6 -8
- package/src/{qcobjects-shell.js → qcobjects-shell.ts} +11 -14
- package/src/types/global/index.d.ts +2 -0
- package/tsconfig.d.json +45 -3
- package/tsconfig.jasmine.json +39 -0
- package/tsconfig.json +50 -7
- package/.eslintignore +0 -5
- package/.eslintrc.cjs +0 -6
- package/src/backend/org.qcobjects.backend.php.js +0 -334
- package/src/com.qcobjects.cli.commands.jira.js +0 -144
- package/src/com.qcobjects.cli.commands.version.js +0 -285
- package/src/index.cjs +0 -2
- package/src/index.d.ts +0 -2
- package/src/org.qcobjects.enterprise.commands.js +0 -194
- package/src/org.quickcorp.qcobjects.cli.js +0 -523
- package/src/org.quickcorp.qcobjects.collab.server.js +0 -415
- package/src/org.quickcorp.qcobjects.main.file.js +0 -159
- package/src/org.quickcorp.qcobjects.main.http.gae.server.js +0 -495
- package/src/org.quickcorp.qcobjects.main.http.server.js +0 -529
- package/src/org.quickcorp.qcobjects.main.http2.server.js +0 -392
- /package/spec/{testsSpec.js → testsSpec.ts} +0 -0
- /package/src/{com.qcobjects.cli.commands.js → com.qcobjects.cli.commands.ts} +0 -0
|
@@ -30,6 +30,8 @@
|
|
|
30
30
|
/*eslint no-undef: "off"*/
|
|
31
31
|
"use strict";
|
|
32
32
|
|
|
33
|
+
const {CONFIG, global, logger, _Crypt, findPackageNodePath} = require ("qcobjects");
|
|
34
|
+
|
|
33
35
|
(function (){
|
|
34
36
|
|
|
35
37
|
const __load_default_settings__ = () => {
|
|
@@ -65,7 +67,7 @@
|
|
|
65
67
|
};
|
|
66
68
|
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
const setDevMode = function (devmode:string) {
|
|
69
71
|
if (typeof devmode !== "undefined") {
|
|
70
72
|
switch (true) {
|
|
71
73
|
case devmode == "debug":
|
|
@@ -102,7 +104,7 @@
|
|
|
102
104
|
var _config = require(CONFIG.get("projectPath") + "config.json");
|
|
103
105
|
logger.debug("Loading settings from your config.json");
|
|
104
106
|
|
|
105
|
-
|
|
107
|
+
const _secretKey = (_config.hasOwnProperty.call(_config, "domain")) ? (_config["domain"]) : ("_secret_");
|
|
106
108
|
|
|
107
109
|
if (_config.hasOwnProperty.call(_config, "__encoded__")) {
|
|
108
110
|
_config = JSON.parse(_Crypt.decrypt(_config.__encoded__, _secretKey));
|
|
@@ -121,7 +123,7 @@
|
|
|
121
123
|
try {
|
|
122
124
|
process.chdir(CONFIG.get("basePath"));
|
|
123
125
|
logger.debug(`New directory: ${process.cwd()}`);
|
|
124
|
-
} catch (err) {
|
|
126
|
+
} catch (err:any) {
|
|
125
127
|
logger.warn(`It was impossible to change the current chdir: ${err}`);
|
|
126
128
|
}
|
|
127
129
|
}
|
|
@@ -135,55 +137,59 @@
|
|
|
135
137
|
const path = require("path");
|
|
136
138
|
const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
|
|
137
139
|
const loadDefaultRoutes = async () => {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
backend
|
|
143
|
-
|
|
144
|
-
if (typeof backend.routes === "undefined") {
|
|
145
|
-
backend.routes = [];
|
|
146
|
-
}
|
|
147
|
-
backend.routes = backend.routes.concat([{
|
|
148
|
-
"name": "QCObjects.js",
|
|
149
|
-
"description": "Redirection of QCObjects.js",
|
|
150
|
-
"path": "^/QCObjects.js$",
|
|
151
|
-
"microservice": "com.qcobjects.backend.microservice.static",
|
|
152
|
-
"redirect_to": path.resolve(qcobjectsPath,"src","QCObjects.js"),
|
|
153
|
-
"responseHeaders": {},
|
|
154
|
-
"cors": {
|
|
155
|
-
"allow_origins": "*"
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
"name": "QCObjects-SDK.js",
|
|
160
|
-
"description": "Redirection of QCObjects SDK",
|
|
161
|
-
"path": "^/js/packages/QCObjects-SDK.js$",
|
|
162
|
-
"microservice": "com.qcobjects.backend.microservice.static",
|
|
163
|
-
"redirect_to": path.resolve(sdkPath, "src/QCObjects-SDK.js"),
|
|
164
|
-
"responseHeaders": {},
|
|
165
|
-
"cors": {
|
|
166
|
-
"allow_origins": "*"
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
"name": "QCObjects-SDK Components",
|
|
171
|
-
"description": "Redirection of QCObjects SDK",
|
|
172
|
-
"path": "^/qcobjects-sdk/(.*)$",
|
|
173
|
-
"microservice": "com.qcobjects.backend.microservice.static",
|
|
174
|
-
"redirect_to": path.resolve(sdkPath, "$1"),
|
|
175
|
-
"responseHeaders": {},
|
|
176
|
-
"cors": {
|
|
177
|
-
"allow_origins": "*"
|
|
178
|
-
}
|
|
140
|
+
return await new Promise<void> ((resolve, reject) => {
|
|
141
|
+
const sdkPath = path.resolve(findPackageNodePath("qcobjects-sdk"), "qcobjects-sdk");
|
|
142
|
+
const qcobjectsPath = path.resolve(findPackageNodePath("qcobjects"), "qcobjects");
|
|
143
|
+
let backend = CONFIG.get("backend");
|
|
144
|
+
if (typeof backend === "undefined") {
|
|
145
|
+
backend = {};
|
|
179
146
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
147
|
+
if (typeof backend.routes === "undefined") {
|
|
148
|
+
backend.routes = [];
|
|
149
|
+
}
|
|
150
|
+
backend.routes = backend.routes.concat([{
|
|
151
|
+
"name": "QCObjects.js",
|
|
152
|
+
"description": "Redirection of QCObjects.js",
|
|
153
|
+
"path": "^/QCObjects.js$",
|
|
154
|
+
"microservice": "com.qcobjects.backend.microservice.static",
|
|
155
|
+
"redirect_to": path.resolve(qcobjectsPath,"src","QCObjects.js"),
|
|
156
|
+
"responseHeaders": {},
|
|
157
|
+
"cors": {
|
|
158
|
+
"allow_origins": "*"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"name": "QCObjects-SDK.js",
|
|
163
|
+
"description": "Redirection of QCObjects SDK",
|
|
164
|
+
"path": "^/js/packages/QCObjects-SDK.js$",
|
|
165
|
+
"microservice": "com.qcobjects.backend.microservice.static",
|
|
166
|
+
"redirect_to": path.resolve(sdkPath, "src/QCObjects-SDK.js"),
|
|
167
|
+
"responseHeaders": {},
|
|
168
|
+
"cors": {
|
|
169
|
+
"allow_origins": "*"
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "QCObjects-SDK Components",
|
|
174
|
+
"description": "Redirection of QCObjects SDK",
|
|
175
|
+
"path": "^/qcobjects-sdk/(.*)$",
|
|
176
|
+
"microservice": "com.qcobjects.backend.microservice.static",
|
|
177
|
+
"redirect_to": path.resolve(sdkPath, "$1"),
|
|
178
|
+
"responseHeaders": {},
|
|
179
|
+
"cors": {
|
|
180
|
+
"allow_origins": "*"
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
]);
|
|
185
|
+
CONFIG.set("backend", backend);
|
|
186
|
+
resolve();
|
|
187
|
+
});
|
|
184
188
|
};
|
|
185
189
|
await loadDefaultRoutes();
|
|
186
|
-
})()
|
|
190
|
+
})()
|
|
191
|
+
.then(() => logger.info("Default routes loaded"))
|
|
192
|
+
.catch((e:any) => {logger.warn(`An error ocurred loading default settings: ${e}`);});
|
|
187
193
|
|
|
188
194
|
(function () {
|
|
189
195
|
/* Auto Discover dependencies (lib, handlers, commands) */
|
|
@@ -191,15 +197,15 @@
|
|
|
191
197
|
const fs = require ("fs");
|
|
192
198
|
const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
|
|
193
199
|
logger.debug(`CONFIG.projectPath is set to ${projectPath}`);
|
|
194
|
-
const findPath = (p) => {
|
|
200
|
+
const findPath = (p:string) => {
|
|
195
201
|
const packagePath = path.resolve(findPackageNodePath(p), p);
|
|
196
202
|
return packagePath;
|
|
197
203
|
};
|
|
198
204
|
|
|
199
|
-
const getPackageJSON = (p) => {
|
|
205
|
+
const getPackageJSON = (p:string) => {
|
|
200
206
|
let _json;
|
|
201
207
|
try {
|
|
202
|
-
|
|
208
|
+
const packagePath = findPath(p);
|
|
203
209
|
if (typeof packagePath !== "undefined"){
|
|
204
210
|
_json = JSON.parse(fs.readFileSync(path.resolve(`${packagePath}`,"./package.json")).toString());
|
|
205
211
|
} else {
|
|
@@ -207,26 +213,29 @@
|
|
|
207
213
|
}
|
|
208
214
|
} catch (e){
|
|
209
215
|
logger.debug(`It was impossible to get the package.json from ${p}: ${e}`);
|
|
210
|
-
_json = {}
|
|
216
|
+
_json = {};
|
|
211
217
|
}
|
|
212
218
|
return _json;
|
|
213
219
|
};
|
|
214
220
|
|
|
215
|
-
const hasKeyword = (
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
221
|
+
const hasKeyword = (() => {
|
|
222
|
+
let keywords: { [key: string]: string[] } = {};
|
|
223
|
+
return (p:string, keyword:string) => {
|
|
224
|
+
if (typeof keywords === "undefined"){
|
|
225
|
+
keywords = {};
|
|
226
|
+
}
|
|
227
|
+
try {
|
|
228
|
+
if (typeof keywords[p] === "undefined"){
|
|
229
|
+
keywords[p] = getPackageJSON(p).keywords;
|
|
230
|
+
}
|
|
231
|
+
} catch (e){
|
|
232
|
+
throw Error (`Something went wrong when trying to get the keywords of ${p}`);
|
|
233
|
+
}
|
|
234
|
+
return typeof keywords[p] !== "undefined" && keywords[p].includes(keyword);
|
|
235
|
+
};
|
|
236
|
+
})();
|
|
228
237
|
|
|
229
|
-
const setBackendValue = (name, value) => {
|
|
238
|
+
const setBackendValue = (name:string, value:any) => {
|
|
230
239
|
const backend = CONFIG.get("backend", {});
|
|
231
240
|
if (typeof value !== "undefined"){
|
|
232
241
|
backend[name] = value;
|
|
@@ -234,21 +243,27 @@
|
|
|
234
243
|
CONFIG.set("backend",backend);
|
|
235
244
|
};
|
|
236
245
|
|
|
237
|
-
const dependencies = () => {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
246
|
+
const dependencies = (() => {
|
|
247
|
+
let deps: string[] = [];
|
|
248
|
+
return () => {
|
|
249
|
+
if (typeof deps === "undefined"){
|
|
250
|
+
deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`,"./package.json")).toString()).dependencies);
|
|
251
|
+
setBackendValue("dependencies", deps);
|
|
252
|
+
}
|
|
253
|
+
return deps;
|
|
254
|
+
};
|
|
255
|
+
})();
|
|
244
256
|
|
|
245
|
-
const devDependencies = ()
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
257
|
+
const devDependencies = (()=> {
|
|
258
|
+
let deps: string[] = [];
|
|
259
|
+
return () => {
|
|
260
|
+
if (typeof deps === "undefined"){
|
|
261
|
+
deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`,"./package.json")).toString()).devDependencies);
|
|
262
|
+
setBackendValue("devDependencies", deps);
|
|
263
|
+
}
|
|
264
|
+
return deps;
|
|
265
|
+
};
|
|
266
|
+
})();
|
|
252
267
|
|
|
253
268
|
const loadLibs = () => {
|
|
254
269
|
let _ret_;
|
|
@@ -256,7 +271,7 @@
|
|
|
256
271
|
const libs = dependencies().filter((p) => hasKeyword(p, "qcobjects-lib"));
|
|
257
272
|
setBackendValue("libs", libs);
|
|
258
273
|
if (libs.length>0){
|
|
259
|
-
logger.debug(`Plugin Libs found: ${libs}`);
|
|
274
|
+
logger.debug(`Plugin Libs found: ${libs.join(",")}`);
|
|
260
275
|
_ret_ = Promise.all(libs.map((p) => {return require(findPath(p));})).then(() => logger.info("Libs loaded"));
|
|
261
276
|
} else {
|
|
262
277
|
logger.debug("No Plugin Libs found.");
|
|
@@ -274,7 +289,7 @@
|
|
|
274
289
|
const handlers = dependencies().filter((p) => hasKeyword(p, "qcobjects-handler"));
|
|
275
290
|
setBackendValue("handlers", handlers);
|
|
276
291
|
if (handlers.length>0){
|
|
277
|
-
logger.debug(`Plugin Handlers found: ${handlers}`);
|
|
292
|
+
logger.debug(`Plugin Handlers found: ${handlers.join(",")}`);
|
|
278
293
|
_ret_ = Promise.all(handlers.map((p) => {return require(findPath(p));})).then(() => logger.info("Handlers loaded"));
|
|
279
294
|
} else {
|
|
280
295
|
logger.debug("No Plugin Handlers found.");
|
|
@@ -293,7 +308,7 @@
|
|
|
293
308
|
const commands = dependencies().filter((p) => hasKeyword(p, "qcobjects-command"));
|
|
294
309
|
setBackendValue("commands", commands);
|
|
295
310
|
if (commands.length>0){
|
|
296
|
-
logger.debug(`Plugin Commands found: ${commands}`);
|
|
311
|
+
logger.debug(`Plugin Commands found: ${commands.join(",")}`);
|
|
297
312
|
_ret_ = Promise.all(commands.map((p) => {return require(findPath(p));})).then(() => logger.info("Commands loaded"));
|
|
298
313
|
} else {
|
|
299
314
|
logger.debug("No Plugin Commands found.");
|
|
@@ -312,7 +327,7 @@
|
|
|
312
327
|
const commands = devDependencies().filter((p) => hasKeyword(p, "qcobjects-command"));
|
|
313
328
|
setBackendValue("devCommands", commands);
|
|
314
329
|
if (commands.length>0){
|
|
315
|
-
logger.debug(`Dev Plugin Commands found: ${commands}`);
|
|
330
|
+
logger.debug(`Dev Plugin Commands found: ${commands.join(",")}`);
|
|
316
331
|
_ret_ = Promise.all(commands.map((p) => {return require(findPath(p));})).then(() => logger.info("Commands loaded"));
|
|
317
332
|
} else {
|
|
318
333
|
logger.debug("No Plugin Commands found in dev dependencies.");
|
|
@@ -340,26 +355,34 @@
|
|
|
340
355
|
|
|
341
356
|
try {
|
|
342
357
|
logger.debug("Loading Libs...");
|
|
343
|
-
loadLibs()
|
|
344
|
-
|
|
358
|
+
loadLibs().catch ((e:any) => {
|
|
359
|
+
logger.warn(`An error ocurred loading libs: ${e}`);
|
|
360
|
+
});
|
|
361
|
+
} catch (e:any) {
|
|
345
362
|
throw Error(`Something went wrong trying to load libs: ${e.message}`);
|
|
346
363
|
}
|
|
347
364
|
try {
|
|
348
365
|
logger.debug("Loading Handlers...");
|
|
349
|
-
loadHandlers()
|
|
350
|
-
|
|
366
|
+
loadHandlers().catch ((e:any) => {
|
|
367
|
+
logger.warn(`An error ocurred loading handlers: ${e}`);
|
|
368
|
+
});
|
|
369
|
+
} catch (e:any) {
|
|
351
370
|
throw Error(`Something went wrong trying to load handler: ${e.message}`);
|
|
352
371
|
}
|
|
353
372
|
try {
|
|
354
373
|
logger.debug("Loading Commands...");
|
|
355
|
-
loadCommands()
|
|
356
|
-
|
|
374
|
+
loadCommands().catch((e:any)=>{
|
|
375
|
+
logger.warn(`An error ocurred loading commands: ${e}`);
|
|
376
|
+
});
|
|
377
|
+
} catch (e:any) {
|
|
357
378
|
throw Error(`Something went wrong trying to load commands: ${e.message}`);
|
|
358
379
|
}
|
|
359
380
|
try {
|
|
360
381
|
logger.debug("Loading Dev Commands...");
|
|
361
|
-
loadDevCommands()
|
|
362
|
-
|
|
382
|
+
loadDevCommands().catch((e:any)=>{
|
|
383
|
+
logger.warn(`An error ocurred loading dev commands: ${e}`);
|
|
384
|
+
});
|
|
385
|
+
} catch (e:any) {
|
|
363
386
|
throw Error(`Something went wrong trying to load Dev commands: ${e.message}`);
|
|
364
387
|
}
|
|
365
388
|
|
|
@@ -367,7 +390,7 @@
|
|
|
367
390
|
const commands = CONFIG.get("backend", {commands:[]}).commands || [];
|
|
368
391
|
const devCommands = CONFIG.get("backend", {devCommands:[]}).devCommands || [];
|
|
369
392
|
setBackendValue("plugins", commands.concat(devCommands));
|
|
370
|
-
} catch (e) {
|
|
393
|
+
} catch (e:any) {
|
|
371
394
|
throw Error(`Something went wrong trying to load plugins list: ${e.message}`);
|
|
372
395
|
}
|
|
373
396
|
|
|
@@ -385,7 +408,7 @@
|
|
|
385
408
|
|
|
386
409
|
const cleanCache = () => {
|
|
387
410
|
Object.keys(require.cache).forEach( (key) => { delete require.cache[key]; });
|
|
388
|
-
}
|
|
411
|
+
};
|
|
389
412
|
|
|
390
413
|
const __reset_settings__ = () => {
|
|
391
414
|
cleanCache();
|
|
@@ -0,0 +1,180 @@
|
|
|
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
|
+
const path = require("path");
|
|
33
|
+
const fs = require("fs");
|
|
34
|
+
const mime = require("mime");
|
|
35
|
+
|
|
36
|
+
const {InheritClass, CONFIG, logger, New, Component, Package} = require("qcobjects");
|
|
37
|
+
|
|
38
|
+
const absolutePath = path.resolve(__dirname, "./");
|
|
39
|
+
|
|
40
|
+
class FileDispatcher extends InheritClass {
|
|
41
|
+
constructor({
|
|
42
|
+
name = CONFIG.get("documentRootFileIndex"),
|
|
43
|
+
template = "",
|
|
44
|
+
templateURI = CONFIG.get("documentRootFileIndex"),
|
|
45
|
+
headers = {},
|
|
46
|
+
body = "",
|
|
47
|
+
filename = "",
|
|
48
|
+
done
|
|
49
|
+
}:{
|
|
50
|
+
name:string, template:string, templateURI:string, headers:any, body:string, filename:string,
|
|
51
|
+
done:(headers:any, body:any, templateURI?:string,isTemplate?:boolean) => any
|
|
52
|
+
}) {
|
|
53
|
+
super({
|
|
54
|
+
name,
|
|
55
|
+
template,
|
|
56
|
+
templateURI,
|
|
57
|
+
headers,
|
|
58
|
+
body,
|
|
59
|
+
filename,
|
|
60
|
+
done
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
var o = this;
|
|
64
|
+
|
|
65
|
+
var scriptname = o.scriptname;
|
|
66
|
+
this.filename = scriptname;
|
|
67
|
+
var pathname = (o.pathname !== "") ? (o.pathname + "/") : ("");
|
|
68
|
+
var appTemplateInstance = this;
|
|
69
|
+
if (typeof appTemplateInstance.headers === "undefined"){
|
|
70
|
+
appTemplateInstance.headers = {
|
|
71
|
+
":status": 500,
|
|
72
|
+
"content-type": "text/html"
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
appTemplateInstance.done = o.done.bind(appTemplateInstance);
|
|
77
|
+
appTemplateInstance.templateURI = CONFIG.get("documentRoot") + pathname + scriptname;
|
|
78
|
+
appTemplateInstance.templateURI = appTemplateInstance.templateURI.replace("//", "/");
|
|
79
|
+
|
|
80
|
+
if (appTemplateInstance.isTemplate()) {
|
|
81
|
+
fs.readFile(appTemplateInstance.templateURI, function (err:any, data:any) {
|
|
82
|
+
logger.debug("reading data from " + appTemplateInstance.templateURI);
|
|
83
|
+
if (typeof data !== "undefined") {
|
|
84
|
+
appTemplateInstance.template = data.toString();
|
|
85
|
+
appTemplateInstance._done();
|
|
86
|
+
} else {
|
|
87
|
+
appTemplateInstance.headers = {
|
|
88
|
+
":status": 404,
|
|
89
|
+
"content-type": "text/html"
|
|
90
|
+
};
|
|
91
|
+
appTemplateInstance.done(
|
|
92
|
+
appTemplateInstance.headers,
|
|
93
|
+
"FILE NOT FOUND", "notfound.html", false);
|
|
94
|
+
logger.debug("file not found");
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
} else {
|
|
98
|
+
appTemplateInstance.headers[":status"] = 200;
|
|
99
|
+
appTemplateInstance.headers["content-type"] = mime.getType(appTemplateInstance.templateURI);
|
|
100
|
+
appTemplateInstance.done(
|
|
101
|
+
appTemplateInstance.headers,
|
|
102
|
+
"", appTemplateInstance.templateURI, false);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
logger.info("FileDispatcher initialized");
|
|
106
|
+
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
file_extension() {
|
|
110
|
+
return this.filename.substr(this.filename.indexOf("."));
|
|
111
|
+
}
|
|
112
|
+
isTemplate() {
|
|
113
|
+
return CONFIG.get("useTemplate") && (this.file_extension() == ".html" || this.file_extension() == ".tpl.html");
|
|
114
|
+
}
|
|
115
|
+
_done() {
|
|
116
|
+
var appTemplateInstance = this;
|
|
117
|
+
const source = appTemplateInstance.template;
|
|
118
|
+
if (appTemplateInstance.isTemplate()) {
|
|
119
|
+
|
|
120
|
+
(New(Component, {
|
|
121
|
+
name: "static_source",
|
|
122
|
+
template: source,
|
|
123
|
+
cached: false,
|
|
124
|
+
tplsource: "inline",
|
|
125
|
+
data: {
|
|
126
|
+
title: "QCObjects"
|
|
127
|
+
},
|
|
128
|
+
done({
|
|
129
|
+
request,
|
|
130
|
+
component
|
|
131
|
+
}:{request:any, component:any}) {
|
|
132
|
+
appTemplateInstance.body = component.parsedAssignmentText;
|
|
133
|
+
return Promise.resolve({
|
|
134
|
+
request,
|
|
135
|
+
component
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}));
|
|
139
|
+
|
|
140
|
+
} else {
|
|
141
|
+
appTemplateInstance.body = source;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if ([".png",
|
|
145
|
+
".jpg",
|
|
146
|
+
".jpeg",
|
|
147
|
+
".json",
|
|
148
|
+
".html",
|
|
149
|
+
".tpl.html",
|
|
150
|
+
".css",
|
|
151
|
+
".js",
|
|
152
|
+
".svg"
|
|
153
|
+
].includes(appTemplateInstance.file_extension())) {
|
|
154
|
+
appTemplateInstance.headers["content-type"] = mime.getType(appTemplateInstance.templateURI);
|
|
155
|
+
appTemplateInstance.headers["cache-control"] = CONFIG.get("cacheControl", "max-age=31536000");
|
|
156
|
+
appTemplateInstance.done(
|
|
157
|
+
appTemplateInstance.headers,
|
|
158
|
+
appTemplateInstance.body,
|
|
159
|
+
appTemplateInstance.templateURI,
|
|
160
|
+
appTemplateInstance.isTemplate());
|
|
161
|
+
} else {
|
|
162
|
+
appTemplateInstance.done({
|
|
163
|
+
":status": 403,
|
|
164
|
+
"content-type": "text/plain"
|
|
165
|
+
},
|
|
166
|
+
"FORBIDDEN", "notfound.html", false);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
done(headers:any, body:any, templateURI = "", isTemplate = false) {}
|
|
170
|
+
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
Package("org.quickcorp.qcobjects.main.file", [
|
|
175
|
+
FileDispatcher
|
|
176
|
+
]);
|
|
177
|
+
|
|
178
|
+
exports = {
|
|
179
|
+
FileDispatcher
|
|
180
|
+
};
|