qcobjects-cli 2.3.33 → 2.3.44
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/.gitlab-ci.yml +15 -0
- package/VERSION +1 -1
- package/org.quickcorp.qcobjects.cli.js +198 -92
- package/org.quickcorp.qcobjects.defaultsettings.js +62 -1
- package/org.quickcorp.qcobjects.main.http.gae.server.js +14 -7
- package/org.quickcorp.qcobjects.main.http.server.js +6 -3
- package/package.json +11 -9
- package/qcobjects-shell.js +1 -1
package/.gitlab-ci.yml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
image: node:latest
|
|
2
|
+
|
|
3
|
+
stages:
|
|
4
|
+
- deploy
|
|
5
|
+
|
|
6
|
+
deploy:
|
|
7
|
+
stage: deploy
|
|
8
|
+
rules:
|
|
9
|
+
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_NAME =~ /^v\d+\.\d+\.\d+.*$/
|
|
10
|
+
changes:
|
|
11
|
+
- package.json
|
|
12
|
+
script:
|
|
13
|
+
- echo "registry=https://registry.npmjs.org/:_authToken=${NPM_TOKEN}">.npmrc
|
|
14
|
+
- npm ci
|
|
15
|
+
- npm publish
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.3.
|
|
1
|
+
2.3.44
|
|
@@ -180,11 +180,13 @@ Package("org.quickcorp.qcobjects.cli",[
|
|
|
180
180
|
var _dirnames = function (pathname){
|
|
181
181
|
fs.readdir(pathname,{withFileTypes:true},function (err,files){
|
|
182
182
|
var _pathnames = [];
|
|
183
|
-
|
|
183
|
+
if (typeof files !== "undefined"){
|
|
184
|
+
files.filter((f)=>{return f.isDirectory();}).map((d)=>{
|
|
184
185
|
_pathnames.push(pathname+"/"+d.name);
|
|
185
186
|
callback(pathname+"/"+d.name);
|
|
186
187
|
_dirnames(pathname+"/"+d.name);
|
|
187
188
|
});
|
|
189
|
+
}
|
|
188
190
|
_main_pathnames = _main_pathnames.concat(_pathnames);
|
|
189
191
|
});
|
|
190
192
|
return _main_pathnames;
|
|
@@ -227,6 +229,7 @@ Package("org.quickcorp.qcobjects.cli",[
|
|
|
227
229
|
|
|
228
230
|
},
|
|
229
231
|
create:function (_appName, options){
|
|
232
|
+
const version = global.__get_version__();
|
|
230
233
|
let switchCommander = this;
|
|
231
234
|
let appName = (typeof _appName ==="undefined" || _appName === true)?("MyAppName"):(_appName);
|
|
232
235
|
|
|
@@ -244,119 +247,222 @@ Package("org.quickcorp.qcobjects.cli",[
|
|
|
244
247
|
rl.close();
|
|
245
248
|
let giturl = answer;
|
|
246
249
|
|
|
247
|
-
let createAppCommandCustom =
|
|
248
|
-
{
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
"
|
|
256
|
-
"
|
|
257
|
-
"
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
}
|
|
303
|
-
"
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
"
|
|
312
|
-
"qcobjects": "
|
|
313
|
-
"
|
|
314
|
-
|
|
315
|
-
|
|
250
|
+
let createAppCommandCustom = `
|
|
251
|
+
{
|
|
252
|
+
"name": "${appName.toLowerCase()}",
|
|
253
|
+
"version": "0.0.1",
|
|
254
|
+
"repository": {
|
|
255
|
+
"type": "git",
|
|
256
|
+
"url": "${giturl}"
|
|
257
|
+
},
|
|
258
|
+
"description": "This is a custom NPM template app from ${options.createCustom} generated with QCObjects.",
|
|
259
|
+
"main": "js/init.js",
|
|
260
|
+
"license": "LGPL-3.0-or-later",
|
|
261
|
+
"scripts": {
|
|
262
|
+
"test": "(npx eslint *.js js/*.js js/packages/*.js --fix) && (npx jasmine)",
|
|
263
|
+
"sync": "git add . && git commit -am ",
|
|
264
|
+
"preversion": "npm i --upgrade && npm test",
|
|
265
|
+
"postversion": "git push && git push --tags",
|
|
266
|
+
"coverage": "nyc --reporter=lcov --reporter=text-summary npm run test",
|
|
267
|
+
"start": "node app.js",
|
|
268
|
+
"build": "exit 0"
|
|
269
|
+
},
|
|
270
|
+
"dependencies": {
|
|
271
|
+
"${options.createCustom}": "latest",
|
|
272
|
+
"qcobjects": "^${version.qcobjects}",
|
|
273
|
+
"qcobjects-sdk": "^${version.sdk}"
|
|
274
|
+
},
|
|
275
|
+
"devDependencies": {
|
|
276
|
+
"eslint": "^8.2.0",
|
|
277
|
+
"eslint-config-qcobjects": "latest",
|
|
278
|
+
"jasmine": "latest",
|
|
279
|
+
"qcobjects-cli": "^${version.cli}",
|
|
280
|
+
"grunt": "^1.4.1",
|
|
281
|
+
"grunt-contrib-jasmine": "^2.0.2",
|
|
282
|
+
"nyc": "^15.1.0"
|
|
283
|
+
}
|
|
284
|
+
}`;
|
|
285
|
+
|
|
286
|
+
let createAppCommandPWA = `
|
|
287
|
+
{
|
|
288
|
+
"name": "${appName.toLowerCase()}",
|
|
289
|
+
"version": "0.0.1",
|
|
290
|
+
"repository": {
|
|
291
|
+
"type": "git",
|
|
292
|
+
"url": "${giturl}"
|
|
293
|
+
},
|
|
294
|
+
"description": "Awesome PWA application that will help you achieve your dreams.",
|
|
295
|
+
"main": "js/init.js",
|
|
296
|
+
"license": "LGPL-3.0-or-later",
|
|
297
|
+
"scripts": {
|
|
298
|
+
"test": "(npx eslint *.js js/*.js js/packages/*.js --fix) && (npx jasmine)",
|
|
299
|
+
"sync": "git add . && git commit -am ",
|
|
300
|
+
"preversion": "npm i --upgrade && npm test",
|
|
301
|
+
"postversion": "git push && git push --tags",
|
|
302
|
+
"coverage": "nyc --reporter=lcov --reporter=text-summary npm run test",
|
|
303
|
+
"start": "node app.js",
|
|
304
|
+
"build": "exit 0"
|
|
305
|
+
},
|
|
306
|
+
"dependencies": {
|
|
307
|
+
"qcobjectsnewapp": "latest",
|
|
308
|
+
"qcobjects": "^${version.qcobjects}",
|
|
309
|
+
"qcobjects-sdk": "^${version.sdk}"
|
|
310
|
+
},
|
|
311
|
+
"devDependencies": {
|
|
312
|
+
"eslint": "^8.2.0",
|
|
313
|
+
"eslint-config-qcobjects": "latest",
|
|
314
|
+
"jasmine": "latest",
|
|
315
|
+
"qcobjects-cli": "^${version.cli}",
|
|
316
|
+
"grunt": "^1.4.1",
|
|
317
|
+
"grunt-contrib-jasmine": "^2.0.2",
|
|
318
|
+
"nyc": "^15.1.0"
|
|
319
|
+
}
|
|
320
|
+
}`;
|
|
321
|
+
|
|
322
|
+
let createAppCommandAMP = `echo
|
|
323
|
+
{
|
|
324
|
+
"name": "${appName.toLowerCase()}",
|
|
325
|
+
"version": "0.0.1",
|
|
326
|
+
"repository": {
|
|
327
|
+
"type": "git",
|
|
328
|
+
"url": "${giturl}"
|
|
329
|
+
},
|
|
330
|
+
"description": "Awesome AMP application that will help you achieve your dreams.",
|
|
331
|
+
"main": "js/init.js",
|
|
332
|
+
"license": "LGPL-3.0-or-later",
|
|
333
|
+
"scripts": {
|
|
334
|
+
"test": "(npx eslint *.js js/*.js js/packages/*.js --fix) && (npx jasmine)",
|
|
335
|
+
"sync": "git add . && git commit -am ",
|
|
336
|
+
"preversion": "npm i --upgrade && npm test",
|
|
337
|
+
"postversion": "git push && git push --tags",
|
|
338
|
+
"coverage": "nyc --reporter=lcov --reporter=text-summary npm run test",
|
|
339
|
+
"start": "node app.js",
|
|
340
|
+
"build": "exit 0"
|
|
341
|
+
},
|
|
342
|
+
"dependencies": {
|
|
343
|
+
"qcobjects-ecommerce-amp": "latest",
|
|
344
|
+
"qcobjects": "^${version.qcobjects}",
|
|
345
|
+
"qcobjects-sdk": "^${version.sdk}"
|
|
346
|
+
},
|
|
347
|
+
"devDependencies": {
|
|
348
|
+
"eslint": "^8.2.0",
|
|
349
|
+
"eslint-config-qcobjects": "latest",
|
|
350
|
+
"jasmine": "latest",
|
|
351
|
+
"qcobjects-cli": "^${version.cli}",
|
|
352
|
+
"grunt": "^1.4.1",
|
|
353
|
+
"grunt-contrib-jasmine": "^2.0.2",
|
|
354
|
+
"nyc": "^15.1.0"
|
|
355
|
+
}
|
|
356
|
+
}`;
|
|
357
|
+
|
|
358
|
+
let createAppCommandPHP = `
|
|
359
|
+
{
|
|
360
|
+
"name": "${appName.toLowerCase()}",
|
|
361
|
+
"version": "0.0.1",
|
|
362
|
+
"repository": {
|
|
363
|
+
"type": "git",
|
|
364
|
+
"url": "${giturl}"
|
|
365
|
+
},
|
|
366
|
+
"description": "Awesome PHP application that will help you achieve your dreams.",
|
|
367
|
+
"main": "js/init.js",
|
|
368
|
+
"license": "LGPL-3.0-or-later",
|
|
369
|
+
"scripts": {
|
|
370
|
+
"test": "(npx eslint *.js js/*.js js/packages/*.js --fix) && (npx jasmine)",
|
|
371
|
+
"sync": "git add . && git commit -am ",
|
|
372
|
+
"preversion": "npm i --upgrade && npm test",
|
|
373
|
+
"postversion": "git push && git push --tags",
|
|
374
|
+
"coverage": "nyc --reporter=lcov --reporter=text-summary npm run test",
|
|
375
|
+
"start": "node app.js",
|
|
376
|
+
"build": "exit 0"
|
|
377
|
+
},
|
|
378
|
+
"dependencies": {
|
|
379
|
+
"qcobjectsnewphp": "latest",
|
|
380
|
+
"qcobjects": "^${version.qcobjects}",
|
|
381
|
+
"qcobjects-sdk": "^${version.sdk}"
|
|
382
|
+
},
|
|
383
|
+
"devDependencies": {
|
|
384
|
+
"eslint": "^8.2.0",
|
|
385
|
+
"eslint-config-qcobjects": "latest",
|
|
386
|
+
"jasmine": "latest",
|
|
387
|
+
"qcobjects-cli": "^${version.cli}",
|
|
388
|
+
"grunt": "^1.4.1",
|
|
389
|
+
"grunt-contrib-jasmine": "^2.0.2",
|
|
390
|
+
"nyc": "^15.1.0"
|
|
391
|
+
}
|
|
392
|
+
}`;
|
|
316
393
|
|
|
317
394
|
let createAppCommand;
|
|
318
395
|
let appTemplateName;
|
|
396
|
+
let _package_json_content;
|
|
319
397
|
|
|
320
398
|
if (options.createAmp){
|
|
321
399
|
appTemplateName = "qcobjects-ecommerce-amp";
|
|
322
|
-
|
|
400
|
+
_package_json_content = createAppCommandAMP;
|
|
323
401
|
} else if (options.createPwa){
|
|
324
402
|
appTemplateName = "qcobjectsnewapp";
|
|
325
|
-
|
|
403
|
+
_package_json_content = createAppCommandPWA;
|
|
326
404
|
} else if (options.createPhp){
|
|
327
405
|
appTemplateName = "qcobjectsnewphp";
|
|
328
|
-
|
|
406
|
+
_package_json_content = createAppCommandPHP;
|
|
329
407
|
} else if (options.createCustom){
|
|
330
408
|
appTemplateName = options.createCustom;
|
|
331
|
-
|
|
409
|
+
_package_json_content = createAppCommandCustom;
|
|
332
410
|
} else {
|
|
333
411
|
appTemplateName = "qcobjectsnewapp";
|
|
334
|
-
|
|
412
|
+
_package_json_content = createAppCommandPWA;
|
|
335
413
|
}
|
|
336
414
|
CONFIG.set("qcobjectsnewapp_path",CONFIG.get("node_modules_path")+"/"+appTemplateName);
|
|
337
|
-
if (!process.platform.toLowerCase().startsWith("win")){
|
|
338
|
-
|
|
339
|
-
}
|
|
415
|
+
/* if (!process.platform.toLowerCase().startsWith("win")){
|
|
416
|
+
_package_json_content = _package_json_content.replace(/(")/g, String.fromCharCode(92)+"\"");
|
|
417
|
+
}*/
|
|
418
|
+
createAppCommand = "npm init -y";
|
|
419
|
+
let _package_json_file = path.resolve(CONFIG.get("projectPath"),"./package.json");
|
|
420
|
+
logger.debug("_package_json_file: "+_package_json_file);
|
|
340
421
|
logger.debug(createAppCommand);
|
|
422
|
+
|
|
341
423
|
exec(createAppCommand, (err, stdout, stderr) => {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
424
|
+
if (err) {
|
|
425
|
+
logger.warn(err);
|
|
426
|
+
process.exit(1);
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
fs.writeFile(_package_json_file, _package_json_content, err => {
|
|
430
|
+
if (err) {
|
|
431
|
+
logger.warn(err);
|
|
432
|
+
process.exit(1);
|
|
433
|
+
return;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
exec("npm cache verify && npm i --save-dev --legacy-peer-deps", (err, stdout, stderr) => {
|
|
437
|
+
if (err) {
|
|
438
|
+
logger.warn(err);
|
|
439
|
+
process.exit(1);
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
Promise.resolve(switchCommander.copyTemplate())
|
|
444
|
+
.then(()=>{
|
|
445
|
+
logger.info("Good! Your application is getting done. You can play with QCObjects now!");
|
|
446
|
+
logger.info("In about five seconds your server will start...");
|
|
447
|
+
exec("qcobjects-createcert",(err,stdout,stderr)=>{
|
|
448
|
+
logger.info("Test certificates generated");
|
|
449
|
+
|
|
450
|
+
exec("npm uninstall "+appTemplateName+" --save && npm cache verify",(err,stdout,stderr)=>{
|
|
451
|
+
switchCommander.generateServiceWorker(appName);
|
|
452
|
+
});
|
|
453
|
+
|
|
454
|
+
}).stdout.on("data", function(data) {
|
|
455
|
+
console.log(data);
|
|
350
456
|
});
|
|
351
|
-
}).stdout.on("data", function(data) {
|
|
352
|
-
console.log(data);
|
|
353
457
|
});
|
|
458
|
+
}).stdout.on("data", function(data) {
|
|
459
|
+
console.log(data);
|
|
354
460
|
});
|
|
355
|
-
|
|
356
|
-
console.log(data);
|
|
461
|
+
|
|
357
462
|
});
|
|
463
|
+
|
|
358
464
|
}).stdout.on("data", function(data) {
|
|
359
|
-
console.log(
|
|
465
|
+
console.log("App generation started...");
|
|
360
466
|
});
|
|
361
467
|
|
|
362
468
|
});
|
|
@@ -375,7 +481,7 @@ Package("org.quickcorp.qcobjects.cli",[
|
|
|
375
481
|
if (process.argv.length>1){
|
|
376
482
|
|
|
377
483
|
switchCommander.program
|
|
378
|
-
.version(global.
|
|
484
|
+
.version(global.__get_version_string__());
|
|
379
485
|
switchCommander.program
|
|
380
486
|
.command("create <appname>")
|
|
381
487
|
.description("Creates an app with <appname>")
|
|
@@ -49,7 +49,16 @@ global.__get_version__ = function (){
|
|
|
49
49
|
const package_config = require(absolutePath+"/package.json");
|
|
50
50
|
const qcobjects_pkg_config = require("qcobjects/package.json");
|
|
51
51
|
const qcobjects_sdk_pkg_config = require("qcobjects-sdk/package.json");
|
|
52
|
-
return
|
|
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;
|
|
53
62
|
};
|
|
54
63
|
|
|
55
64
|
|
|
@@ -118,3 +127,55 @@ try {
|
|
|
118
127
|
logger.debug(e);
|
|
119
128
|
logger.debug("Something went wrong trying to load config.json file in your project");
|
|
120
129
|
}
|
|
130
|
+
|
|
131
|
+
(async function (){
|
|
132
|
+
/* Auto Discover dependencies (lib, handlers, commands) */
|
|
133
|
+
const path = require("path");
|
|
134
|
+
const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
|
|
135
|
+
const loadLibs = async () => {
|
|
136
|
+
let _ret_;
|
|
137
|
+
if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_libs",false)){
|
|
138
|
+
_ret_ = Promise.all(Object.keys(require(`${projectPath}/package.json`).dependencies).filter((p)=>require(`${findPackageNodePath(p)}/${p}/package.json`).keywords.includes("qcobjects-lib")).map((p)=>Import(p))).then(()=>logger.info("Libs loaded"));
|
|
139
|
+
} else {
|
|
140
|
+
_ret_ = Promise.resolve();
|
|
141
|
+
logger.debug("To load libs, set autodiscover_libs to true in your config.json");
|
|
142
|
+
}
|
|
143
|
+
return _ret_;
|
|
144
|
+
};
|
|
145
|
+
const loadHandlers = async () => {
|
|
146
|
+
let _ret_;
|
|
147
|
+
if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_handlers",false)){
|
|
148
|
+
_ret_ = Promise.all(Object.keys(require(`${projectPath}/package.json`).dependencies).filter((p)=>require(`${findPackageNodePath(p)}/${p}/package.json`).keywords.includes("qcobjects-handler")).map((p)=>Import(p))).then(()=>logger.info("Handlers loaded"));
|
|
149
|
+
} else {
|
|
150
|
+
_ret_ = Promise.resolve();
|
|
151
|
+
logger.debug("To load handlers, set autodiscover_handlers to true in your config.json");
|
|
152
|
+
}
|
|
153
|
+
return _ret_;
|
|
154
|
+
};
|
|
155
|
+
const loadCommands = async () => {
|
|
156
|
+
let _ret_;
|
|
157
|
+
if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_commands",false)){
|
|
158
|
+
_ret_ = Promise.all(Object.keys(require(`${projectPath}/package.json`).dependencies).filter((p)=>require(`${findPackageNodePath(p)}/${p}/package.json`).keywords.includes("qcobjects-command")).map((p)=>Import(p))).then(()=>logger.info("Commands loaded"));
|
|
159
|
+
} else {
|
|
160
|
+
_ret_ = Promise.resolve();
|
|
161
|
+
logger.debug("To load commands, set autodiscover_commands to true in your config.json");
|
|
162
|
+
}
|
|
163
|
+
return _ret_;
|
|
164
|
+
};
|
|
165
|
+
if (CONFIG.get("autodiscover", false)
|
|
166
|
+
|| CONFIG.get("autodiscover_libs",false)
|
|
167
|
+
|| CONFIG.get("autodiscover_handlers",false)
|
|
168
|
+
|| CONFIG.get("autodiscover_commands",false)
|
|
169
|
+
){
|
|
170
|
+
logger.info("Auto discover is enabled");
|
|
171
|
+
} else if (!CONFIG.get("autodiscover", false)) {
|
|
172
|
+
logger.info("Auto discover is disabled");
|
|
173
|
+
logger.debug("To load all dependencies, set autodiscover to true in your config.json");
|
|
174
|
+
} else {
|
|
175
|
+
logger.info("Auto discover is disabled");
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
await loadLibs();
|
|
179
|
+
await loadHandlers();
|
|
180
|
+
await loadCommands();
|
|
181
|
+
})().then (()=>logger.info("Dependencies loaded"));
|
|
@@ -101,7 +101,7 @@ Package("org.quickcorp.qcobjects.main.http.gae.server",[
|
|
|
101
101
|
let server = microservice.server;
|
|
102
102
|
let request = microservice.request;
|
|
103
103
|
this.cors();
|
|
104
|
-
|
|
104
|
+
microservice.req.on("data", (data) => {
|
|
105
105
|
// data from POST, GET
|
|
106
106
|
var requestMethod = request.method.toLowerCase();
|
|
107
107
|
var supportedMethods = {"post":microservice.post,
|
|
@@ -146,8 +146,12 @@ Package("org.quickcorp.qcobjects.main.http.gae.server",[
|
|
|
146
146
|
done: function(){
|
|
147
147
|
var microservice = this;
|
|
148
148
|
var stream = microservice.stream;
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
try {
|
|
150
|
+
stream.writeHead(200, microservice.headers);
|
|
151
|
+
} catch (e){
|
|
152
|
+
logger.debug("Something went wront while sending headers in http...");
|
|
153
|
+
logger.debug(e.toString());
|
|
154
|
+
}
|
|
151
155
|
if (microservice.body != null){
|
|
152
156
|
microservice.finishWithBody.call(microservice,stream);
|
|
153
157
|
}
|
|
@@ -191,7 +195,7 @@ Package("org.quickcorp.qcobjects.main.http.gae.server",[
|
|
|
191
195
|
"content-type": mime.getType(fileName),
|
|
192
196
|
"cache-control": CONFIG.get("cacheControl", "max-age=31536000")
|
|
193
197
|
};
|
|
194
|
-
|
|
198
|
+
logger.debug("closing file " + fileName);
|
|
195
199
|
fs.closeSync(fd);
|
|
196
200
|
stream.setHeader("content-length", headers["content-length"]);
|
|
197
201
|
stream.setHeader("last-modified", headers["last-modified"]);
|
|
@@ -318,7 +322,7 @@ Package("org.quickcorp.qcobjects.main.http.gae.server",[
|
|
|
318
322
|
_new_:function (){
|
|
319
323
|
let oHTTPServer = this;
|
|
320
324
|
const welcometo = "Welcome to \n";
|
|
321
|
-
const instructions = "QCObjects
|
|
325
|
+
const instructions = "QCObjects Legacy HTTPServer \n";
|
|
322
326
|
const logo = " .d88888b. .d8888b. .d88888b. 888 d8b 888 \r\nd88P\" \"Y88bd88P Y88bd88P\" \"Y88b888 Y8P 888 \r\n888 888888 888888 888888 888 \r\n888 888888 888 88888888b. 8888 .d88b. .d8888b888888.d8888b \r\n888 888888 888 888888 \"88b \"888d8P Y8bd88P\" 888 88K \r\n888 Y8b 888888 888888 888888 888 88888888888888 888 \"Y8888b. \r\nY88b.Y8b88PY88b d88PY88b. .d88P888 d88P 888Y8b. Y88b. Y88b. X88 \r\n \"Y888888\" \"Y8888P\" \"Y88888P\" 88888P\" 888 \"Y8888 \"Y8888P \"Y888 88888P' \r\n Y8b 888 \r\n d88P \r\n 888P\" ";
|
|
323
327
|
console.log(welcometo);
|
|
324
328
|
console.log(logo);
|
|
@@ -329,9 +333,11 @@ Package("org.quickcorp.qcobjects.main.http.gae.server",[
|
|
|
329
333
|
|
|
330
334
|
const http = require("http");
|
|
331
335
|
|
|
332
|
-
|
|
336
|
+
oHTTPServer.server = http.createServer((req, res) => {
|
|
333
337
|
|
|
334
|
-
|
|
338
|
+
});
|
|
339
|
+
|
|
340
|
+
var server = oHTTPServer.server;
|
|
335
341
|
|
|
336
342
|
server.on("error", (err) => console.error(err));
|
|
337
343
|
|
|
@@ -398,6 +404,7 @@ Package("org.quickcorp.qcobjects.main.http.gae.server",[
|
|
|
398
404
|
routeParams:selectedRouteParams,
|
|
399
405
|
server:server,
|
|
400
406
|
stream:res,
|
|
407
|
+
req:req,
|
|
401
408
|
request:request
|
|
402
409
|
});
|
|
403
410
|
});
|
|
@@ -101,7 +101,7 @@ Package("org.quickcorp.qcobjects.main.http.server",[
|
|
|
101
101
|
let server = microservice.server;
|
|
102
102
|
let request = microservice.request;
|
|
103
103
|
this.cors();
|
|
104
|
-
|
|
104
|
+
microservice.req.on("data", (data) => {
|
|
105
105
|
// data from POST, GET
|
|
106
106
|
var requestMethod = request.method.toLowerCase();
|
|
107
107
|
var supportedMethods = {"post":microservice.post,
|
|
@@ -333,9 +333,11 @@ Package("org.quickcorp.qcobjects.main.http.server",[
|
|
|
333
333
|
|
|
334
334
|
const http = require("http");
|
|
335
335
|
|
|
336
|
-
|
|
336
|
+
oHTTPServer.server = http.createServer((req, res) => {
|
|
337
337
|
|
|
338
|
-
|
|
338
|
+
});
|
|
339
|
+
|
|
340
|
+
var server = oHTTPServer.server;
|
|
339
341
|
|
|
340
342
|
server.on("error", (err) => console.error(err));
|
|
341
343
|
|
|
@@ -402,6 +404,7 @@ Package("org.quickcorp.qcobjects.main.http.server",[
|
|
|
402
404
|
routeParams:selectedRouteParams,
|
|
403
405
|
server:server,
|
|
404
406
|
stream:res,
|
|
407
|
+
req:req,
|
|
405
408
|
request:request
|
|
406
409
|
});
|
|
407
410
|
});
|
package/package.json
CHANGED
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qcobjects-cli",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.44",
|
|
4
4
|
"description": "qcobjects cli command line tool",
|
|
5
5
|
"main": "qcobjects-cli.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"sync": "git add . && git commit -am ",
|
|
8
8
|
"test": "npx eslint **/*.js --fix && $(npm bin)/jasmine",
|
|
9
9
|
"preversion": "npm i --upgrade && npm test",
|
|
10
|
-
"postversion": "git push && git push --tags
|
|
10
|
+
"postversion": "git push && git push --tags"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"commander": "^2.20.3",
|
|
14
14
|
"mime": "^2.4.7",
|
|
15
|
-
"qcobjects": "
|
|
15
|
+
"qcobjects": "^2.3.66-lts",
|
|
16
16
|
"qcobjects-sdk": "latest",
|
|
17
|
-
"yaml": "^1.
|
|
17
|
+
"yaml": "^1.10.2"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"eslint": "^8.2.0",
|
|
21
|
+
"eslint-config-qcobjects": "^0.0.13",
|
|
22
|
+
"jasmine": "^3.7.0",
|
|
23
|
+
"qcobjects": "^2.3.66-lts",
|
|
24
|
+
"qcobjects-cli": "latest"
|
|
18
25
|
},
|
|
19
26
|
"repository": {
|
|
20
27
|
"type": "file",
|
|
@@ -54,10 +61,5 @@
|
|
|
54
61
|
"qcobjects-gae-server": "./qcobjects-gae-http-server.js",
|
|
55
62
|
"qcobjects-http-server": "./qcobjects-http-server.js",
|
|
56
63
|
"qcobjects-collab": "./qcobjects-collab.js"
|
|
57
|
-
},
|
|
58
|
-
"devDependencies": {
|
|
59
|
-
"eslint": "^6.8.0",
|
|
60
|
-
"eslint-config-qcobjects": "0.0.6",
|
|
61
|
-
"jasmine": "^3.7.0"
|
|
62
64
|
}
|
|
63
65
|
}
|
package/qcobjects-shell.js
CHANGED
|
@@ -85,7 +85,7 @@ readline.emitKeypressEvents(process.stdin);
|
|
|
85
85
|
if (process.stdin.isTTY)
|
|
86
86
|
process.stdin.setRawMode(true);
|
|
87
87
|
|
|
88
|
-
let qcobjects_version = global.
|
|
88
|
+
let qcobjects_version = global.__get_version_string__();
|
|
89
89
|
|
|
90
90
|
const rl = readline.createInterface({
|
|
91
91
|
input: process.stdin,
|