qcobjects-cli 2.6.2 → 2.7.0
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/CHANGELOG.md +4 -0
- package/VERSION +1 -1
- package/package.json +1 -1
- package/public/cjs/collab-server.js +10 -9
- package/public/cjs/collab-server.js.map +1 -1
- package/public/cjs/defaultsettings.js +1 -1
- package/public/cjs/defaultsettings.js.map +1 -1
- package/public/cjs/main-http-gae-server.js +2 -2
- package/public/cjs/main-http-gae-server.js.map +1 -1
- package/public/cjs/main-http-server.js +2 -2
- package/public/cjs/main-http-server.js.map +1 -1
- package/public/cjs/main-http2-server.js +2 -2
- package/public/cjs/main-http2-server.js.map +1 -1
- package/public/cjs/qcobjects-shell.js +2 -2
- package/public/cjs/qcobjects-shell.js.map +1 -1
- package/public/esm/collab-server.mjs +2 -1
- package/public/esm/collab-server.mjs.map +2 -2
- package/public/esm/defaultsettings.mjs +2 -2
- package/public/esm/defaultsettings.mjs.map +2 -2
- package/public/esm/main-http-gae-server.mjs +3 -3
- package/public/esm/main-http-gae-server.mjs.map +2 -2
- package/public/esm/main-http-server.mjs +3 -3
- package/public/esm/main-http-server.mjs.map +2 -2
- package/public/esm/main-http2-server.mjs +3 -3
- package/public/esm/main-http2-server.mjs.map +2 -2
- package/public/esm/qcobjects-shell.mjs +2 -2
- package/public/esm/qcobjects-shell.mjs.map +2 -2
- package/src/collab-server.ts +2 -1
- package/src/defaultsettings.ts +2 -2
- package/src/main-http-gae-server.ts +3 -3
- package/src/main-http-server.ts +3 -3
- package/src/main-http2-server.ts +3 -3
- package/src/qcobjects-shell.ts +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/collab-server.ts"],
|
|
4
|
-
"sourcesContent": ["\"use strict\";\n/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\nimport { CONFIG, Package, InheritClass, logger, global } from \"qcobjects\";\nimport os from \"os\";\nimport fs from \"fs\";\nimport net from \"node:net\";\nimport repl from \"node:repl\";\nimport vm from \"node:vm\";\nimport path from \"path\";\nimport { exec, execSync } from \"child_process\";\n\n\nconst welcometo = \"Welcome to \\n\";\nconst instructions = \"Type:\\n .exit to quit\\n .help for see a quick guide\\n And any other command to execute like pure javascript \\n All the QCObjects stuff is already loaded for you\";\nconst 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\\\" \";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nconsole.log(welcometo);\nconsole.log(logo);\n\nconst unixsocket_default = os.tmpdir() + \"/qcobjects-collab-socket\" + Date.now().toString();\nconst collab_port_default = 10300;\nconst collab_domain_default = \"0.0.0.0\";\n\nconst sandbox = {\n require: require,\n module: module,\n __dirname: \"./\",\n __filename: \"qcobjects-collab\"\n};\n\n\nexport class CollabServer extends InheritClass {\n protected_symbols: string[];\n replServer:any;\n commands: { loadcmd_json: { help: string; action(args: string): void; }; loadcmd_str: { help: string; action(args: string): void; }; save_json: { help: string; action(args: string): void; }; load_json: { help: string; action(args: string): void; }; cmd: { help: string; action(...args: string[]): void; }; };\n constructor() {\n super();\n this.protected_symbols = [\"clearInterval\",\n \"clearTimeout\",\n \"setInterval\",\n \"setTimeout\", \"queueMicrotask\",\n \"clearImmediate\", \"setImmediate\", \"_asyncLoad\",\n \"_fireAsyncLoad\", \"asyncLoad\", \"logger\",\n \"_Crypt\", \"CONFIG\", \"waitUntil\",\n \"_super_\", \"ComplexStorageCache\", \"TagElements\",\n \"onload\", \"InheritClass\", \"Component\",\n \"Controller\", \"View\", \"Service\",\n \"JSONService\", \"ConfigService\", \"VO\",\n \"serviceLoader\", \"componentLoader\", \"ComponentURI\",\n \"SourceJS\", \"SourceCSS\", \"ArrayList\",\n \"ArrayCollection\", \"Effect\", \"Timer\",\n \"Export\", \"Import\", \"Package\",\n \"Class\", \"New\", \"Tag\",\n \"Ready\", \"Contact\", \"FormField\",\n \"ButtonField\", \"InputField\", \"TextField\",\n \"EmailField\", \"GridComponent\", \"GridController\",\n \"GridView\", \"Move\", \"RotateX\",\n \"RotateY\", \"RotateZ\", \"Rotate\",\n \"Fade\", \"Radius\", \"CanvasTool\",\n \"BasicLayout\"\n ];\n const replServer = this.replServer;\n this.commands = {\n loadcmd_json: {\n help: `\n Executes a CMD Shell Command\n and loads the stdout to a variable after trying to convert the result\n to JSON format\n The first argument is the variable name followed by an equal sign \"=\".\n Example:\n > .loadcmd_json result = cat somefile.json\n\n The above command will save the content of somefile.json using cat into the variable global.result\n as JSON format\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var cmdArguments = commandArgs.slice(2).join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: string, stderr: any) => {\n try {\n _rplServer.context[_variableName] = JSON.parse(stdout);\n } catch (e) {\n logger.debug(\"It was not possible to parse the data.\");\n }\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n loadcmd_str: {\n help: `\n Executes a CMD Shell Command\n and loads the stdout to a variable.\n The first argument is the variable name followed by an equal sign \"=\".\n Example:\n > .loadcmd_str foo = ls *\n\n The above command will save the output of \"ls *\" into the variable global.foo as string\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var cmdArguments = commandArgs.slice(2).join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: any, stderr: any) => {\n _rplServer.context[_variableName] = stdout;\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n save_json: {\n help: `\n Serializes a variable using JSON.stringify\n and saves it in a file.\n The first argument is the variable name and the second argument is the name of the file.\n Example:\n > .save_json foo ./filename\n\n The above command will save the stringified content of foo into ./filename\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length >= 2) {\n var _variableName = commandArgs[0];\n var _filename = commandArgs[1].toString();\n logger.debug(`Saving variable ${_variableName} in ${_filename}...`);\n var data = JSON.stringify(_rplServer.context[_variableName]);\n fs.writeFile(_filename, data, (err: any) => {\n if (err) throw err;\n logger.debug(`The data of the file ${_filename} has been saved!`);\n _rplServer.displayPrompt();\n });\n\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n load_json: {\n help: `\n Loads a json from a file and saves it into a variable.\n The first argument is the variable name and the second argument is the name of the file.\n Example:\n > .load_json foo = ./filename\n\n The above command will load a json from ./filename and save it in global.foo as an object\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var _filename = commandArgs[2].toString();\n logger.debug(`Trying to read ${_variableName} from ${_filename}...`);\n fs.readFile(_filename, (err: any, data: { toString: () => string; }) => {\n if (err) throw err;\n try {\n _rplServer.context[_variableName] = JSON.parse(data.toString());\n logger.debug(`The data of the file ${_filename} has been loaded!`);\n } catch (e) {\n logger.debug(\"It was not possible to parse the data.\");\n }\n _rplServer.displayPrompt();\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n cmd: {\n help: \"Executes a CMD Shell Command\",\n action(...args: string[]) {\n const _rplServer = replServer;\n var cmdArguments = args.join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: any, stderr: any) => {\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n }\n }\n };\n\n }\n\n runScript(context: any) {\n const runScript = (code: any, logOutput = false) => {\n const options = { filename: sandbox.__filename };\n\n const backgroundRunScript = (code: any) => {\n var output = vm.runInContext(code, context, options);\n return output;\n };\n\n var output = backgroundRunScript(code);\n\n\n if (logOutput && typeof output !== \"undefined\") {\n console.log(output);\n }\n };\n\n }\n\n start() {\n\n var collabServer = this;\n global.require = require.bind(global);\n global.module = module;\n global.__dirname = \"./\";\n global.__filename = \"qcobjects-collab\";\n const globalContext = vm.createContext(global);\n\n\n globalContext.connections = 0;\n\n function unlink_socket() {\n try {\n logger.debug(\"Trying to delete the socket... \");\n fs.unlink(CONFIG.get(\"collab-unix-socket\", unixsocket_default), (err: any) => {\n if (err) {\n logger.debug(\"Unix Socket does not exist\");\n }\n logger.debug(\"Unix Socket was deleted before start\");\n });\n } catch (e) {\n // socket doesnt exists\n logger.debug(\"Unix Socket was not deleted\");\n }\n }\n\n unlink_socket();\n\n var _defineReplCommands = function (_cmdReplServer: { defineCommand: (arg0: string, arg1: any) => void; }, commands: { [x: string]: any; }) {\n for (var _command in commands) {\n _cmdReplServer.defineCommand(_command, commands[_command]);\n }\n };\n\n const replServer = repl.start({\n useColors: true,\n prompt: \"QCObjects Collab> \",\n terminal: true,\n useGlobal: false\n });\n\n this.replServer = replServer;\n\n this.replServer.context.global = globalContext;\n\n this.replServer.on(\"exit\", () => {\n unlink_socket();\n\n console.log(\"Thank you for using QCObjects Collab for Data Science!\");\n console.log(\"Have a nice day!\");\n process.exit();\n });\n _defineReplCommands(this.replServer, collabServer.commands);\n\n\n\n const unixsocket_server = net.createServer(function (unixsocket: any) {\n unixsocket.on(\"end\", () => {\n logger.debug(\"A Unix socket connection was ended\");\n });\n global.connections += 1;\n const unixReplServer = repl.start({\n prompt: \"QCObjects Collab> \"\n , input: unixsocket\n , output: unixsocket\n , terminal: true\n , useGlobal: false\n });\n unixReplServer.on(\"exit\", function () {\n unixsocket.end();\n });\n unixReplServer.context.global = global;\n _defineReplCommands(unixReplServer, collabServer.commands);\n }).listen(CONFIG.get(\"collab-unix-socket\", unixsocket_default));\n\n\n const http_server = net.createServer(function (httpsocket: any) {\n httpsocket.on(\"end\", () => {\n logger.debug(\"A http connection was ended\");\n });\n global.connections += 1;\n const httpReplServer = repl.start({\n prompt: \"QCObjects Collab> \"\n , input: httpsocket\n , output: httpsocket\n , terminal: true\n , useGlobal: false\n });\n httpReplServer.on(\"exit\", function () {\n httpsocket.end();\n });\n httpReplServer.context.global = global;\n _defineReplCommands(httpReplServer, collabServer.commands);\n }).listen(CONFIG.get(\"collab-port\", collab_port_default), CONFIG.get(\"collab-domain\", collab_domain_default));\n\n\n http_server.on(\"error\", function (e: { code: string; }) {\n if (e.code == \"EADDRINUSE\") {\n console.log(\"Collab HTTP Address in use, retrying...\");\n setTimeout(function () {\n http_server.close();\n http_server.listen(CONFIG.get(\"collab-port\", collab_port_default), CONFIG.get(\"collab-domain\", collab_domain_default));\n }, 1000);\n }\n });\n\n unixsocket_server.on(\"error\", function (e: { code: string; }) {\n if (e.code == \"EADDRINUSE\") {\n console.log(\"Collab Unix Socket Address in use, retrying...\");\n setTimeout(function () {\n unixsocket_server.close();\n unixsocket_server.listen(CONFIG.get(\"collab-unix-socket\", unixsocket_default));\n }, 1000);\n }\n });\n }\n\n\n}\n\n\n(() => {\n\n if (process.argv.length < 3) {\n console.log(instructions);\n\n const collabinstructions = `\nCollab for Data Science\n=======================\n\nQCObjects Collab is a tool that helps you to make data science math using JavaScript\n\nYou can use a TCP socket to connect yourself to the engine:\n\n> ssh user@${CONFIG.get(\"domain\", collab_domain_default)} nc ${CONFIG.get(\"collab-domain\", collab_domain_default)} ${CONFIG.get(\"collab-port\", collab_port_default)}\n\nYou can also use a Unix Socket to connect yourself to the engine:\n\n> ssh user@${CONFIG.get(\"domain\", collab_domain_default)} nc -U ${CONFIG.get(\"collab-unix-socket\", unixsocket_default)}\n\n(change \"user\" for whathever your username is!)\n\n`;\n console.log(collabinstructions);\n\n }\n\n\n Package(\"org.quickcorp.qcobjects.collab.server\", [\n CollabServer\n ]);\n\n})();\n\n"],
|
|
5
|
-
"mappings": ";;AAsBA,SAAS,QAAQ,SAAS,cAAc,
|
|
4
|
+
"sourcesContent": ["\"use strict\";\n/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\nimport { CONFIG, Package, InheritClass, logger } from \"qcobjects\";\nconst global = globalThis as any;\nimport os from \"os\";\nimport fs from \"fs\";\nimport net from \"node:net\";\nimport repl from \"node:repl\";\nimport vm from \"node:vm\";\nimport path from \"path\";\nimport { exec, execSync } from \"child_process\";\n\n\nconst welcometo = \"Welcome to \\n\";\nconst instructions = \"Type:\\n .exit to quit\\n .help for see a quick guide\\n And any other command to execute like pure javascript \\n All the QCObjects stuff is already loaded for you\";\nconst 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\\\" \";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nconsole.log(welcometo);\nconsole.log(logo);\n\nconst unixsocket_default = os.tmpdir() + \"/qcobjects-collab-socket\" + Date.now().toString();\nconst collab_port_default = 10300;\nconst collab_domain_default = \"0.0.0.0\";\n\nconst sandbox = {\n require: require,\n module: module,\n __dirname: \"./\",\n __filename: \"qcobjects-collab\"\n};\n\n\nexport class CollabServer extends InheritClass {\n protected_symbols: string[];\n replServer:any;\n commands: { loadcmd_json: { help: string; action(args: string): void; }; loadcmd_str: { help: string; action(args: string): void; }; save_json: { help: string; action(args: string): void; }; load_json: { help: string; action(args: string): void; }; cmd: { help: string; action(...args: string[]): void; }; };\n constructor() {\n super();\n this.protected_symbols = [\"clearInterval\",\n \"clearTimeout\",\n \"setInterval\",\n \"setTimeout\", \"queueMicrotask\",\n \"clearImmediate\", \"setImmediate\", \"_asyncLoad\",\n \"_fireAsyncLoad\", \"asyncLoad\", \"logger\",\n \"_Crypt\", \"CONFIG\", \"waitUntil\",\n \"_super_\", \"ComplexStorageCache\", \"TagElements\",\n \"onload\", \"InheritClass\", \"Component\",\n \"Controller\", \"View\", \"Service\",\n \"JSONService\", \"ConfigService\", \"VO\",\n \"serviceLoader\", \"componentLoader\", \"ComponentURI\",\n \"SourceJS\", \"SourceCSS\", \"ArrayList\",\n \"ArrayCollection\", \"Effect\", \"Timer\",\n \"Export\", \"Import\", \"Package\",\n \"Class\", \"New\", \"Tag\",\n \"Ready\", \"Contact\", \"FormField\",\n \"ButtonField\", \"InputField\", \"TextField\",\n \"EmailField\", \"GridComponent\", \"GridController\",\n \"GridView\", \"Move\", \"RotateX\",\n \"RotateY\", \"RotateZ\", \"Rotate\",\n \"Fade\", \"Radius\", \"CanvasTool\",\n \"BasicLayout\"\n ];\n const replServer = this.replServer;\n this.commands = {\n loadcmd_json: {\n help: `\n Executes a CMD Shell Command\n and loads the stdout to a variable after trying to convert the result\n to JSON format\n The first argument is the variable name followed by an equal sign \"=\".\n Example:\n > .loadcmd_json result = cat somefile.json\n\n The above command will save the content of somefile.json using cat into the variable global.result\n as JSON format\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var cmdArguments = commandArgs.slice(2).join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: string, stderr: any) => {\n try {\n _rplServer.context[_variableName] = JSON.parse(stdout);\n } catch (e) {\n logger.debug(\"It was not possible to parse the data.\");\n }\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n loadcmd_str: {\n help: `\n Executes a CMD Shell Command\n and loads the stdout to a variable.\n The first argument is the variable name followed by an equal sign \"=\".\n Example:\n > .loadcmd_str foo = ls *\n\n The above command will save the output of \"ls *\" into the variable global.foo as string\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var cmdArguments = commandArgs.slice(2).join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: any, stderr: any) => {\n _rplServer.context[_variableName] = stdout;\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n save_json: {\n help: `\n Serializes a variable using JSON.stringify\n and saves it in a file.\n The first argument is the variable name and the second argument is the name of the file.\n Example:\n > .save_json foo ./filename\n\n The above command will save the stringified content of foo into ./filename\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length >= 2) {\n var _variableName = commandArgs[0];\n var _filename = commandArgs[1].toString();\n logger.debug(`Saving variable ${_variableName} in ${_filename}...`);\n var data = JSON.stringify(_rplServer.context[_variableName]);\n fs.writeFile(_filename, data, (err: any) => {\n if (err) throw err;\n logger.debug(`The data of the file ${_filename} has been saved!`);\n _rplServer.displayPrompt();\n });\n\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n load_json: {\n help: `\n Loads a json from a file and saves it into a variable.\n The first argument is the variable name and the second argument is the name of the file.\n Example:\n > .load_json foo = ./filename\n\n The above command will load a json from ./filename and save it in global.foo as an object\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var _filename = commandArgs[2].toString();\n logger.debug(`Trying to read ${_variableName} from ${_filename}...`);\n fs.readFile(_filename, (err: any, data: { toString: () => string; }) => {\n if (err) throw err;\n try {\n _rplServer.context[_variableName] = JSON.parse(data.toString());\n logger.debug(`The data of the file ${_filename} has been loaded!`);\n } catch (e) {\n logger.debug(\"It was not possible to parse the data.\");\n }\n _rplServer.displayPrompt();\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n cmd: {\n help: \"Executes a CMD Shell Command\",\n action(...args: string[]) {\n const _rplServer = replServer;\n var cmdArguments = args.join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: any, stderr: any) => {\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n }\n }\n };\n\n }\n\n runScript(context: any) {\n const runScript = (code: any, logOutput = false) => {\n const options = { filename: sandbox.__filename };\n\n const backgroundRunScript = (code: any) => {\n var output = vm.runInContext(code, context, options);\n return output;\n };\n\n var output = backgroundRunScript(code);\n\n\n if (logOutput && typeof output !== \"undefined\") {\n console.log(output);\n }\n };\n\n }\n\n start() {\n\n var collabServer = this;\n global.require = require.bind(global);\n global.module = module;\n global.__dirname = \"./\";\n global.__filename = \"qcobjects-collab\";\n const globalContext = vm.createContext(global);\n\n\n globalContext.connections = 0;\n\n function unlink_socket() {\n try {\n logger.debug(\"Trying to delete the socket... \");\n fs.unlink(CONFIG.get(\"collab-unix-socket\", unixsocket_default), (err: any) => {\n if (err) {\n logger.debug(\"Unix Socket does not exist\");\n }\n logger.debug(\"Unix Socket was deleted before start\");\n });\n } catch (e) {\n // socket doesnt exists\n logger.debug(\"Unix Socket was not deleted\");\n }\n }\n\n unlink_socket();\n\n var _defineReplCommands = function (_cmdReplServer: { defineCommand: (arg0: string, arg1: any) => void; }, commands: { [x: string]: any; }) {\n for (var _command in commands) {\n _cmdReplServer.defineCommand(_command, commands[_command]);\n }\n };\n\n const replServer = repl.start({\n useColors: true,\n prompt: \"QCObjects Collab> \",\n terminal: true,\n useGlobal: false\n });\n\n this.replServer = replServer;\n\n this.replServer.context.global = globalContext;\n\n this.replServer.on(\"exit\", () => {\n unlink_socket();\n\n console.log(\"Thank you for using QCObjects Collab for Data Science!\");\n console.log(\"Have a nice day!\");\n process.exit();\n });\n _defineReplCommands(this.replServer, collabServer.commands);\n\n\n\n const unixsocket_server = net.createServer(function (unixsocket: any) {\n unixsocket.on(\"end\", () => {\n logger.debug(\"A Unix socket connection was ended\");\n });\n global.connections += 1;\n const unixReplServer = repl.start({\n prompt: \"QCObjects Collab> \"\n , input: unixsocket\n , output: unixsocket\n , terminal: true\n , useGlobal: false\n });\n unixReplServer.on(\"exit\", function () {\n unixsocket.end();\n });\n unixReplServer.context.global = global;\n _defineReplCommands(unixReplServer, collabServer.commands);\n }).listen(CONFIG.get(\"collab-unix-socket\", unixsocket_default));\n\n\n const http_server = net.createServer(function (httpsocket: any) {\n httpsocket.on(\"end\", () => {\n logger.debug(\"A http connection was ended\");\n });\n global.connections += 1;\n const httpReplServer = repl.start({\n prompt: \"QCObjects Collab> \"\n , input: httpsocket\n , output: httpsocket\n , terminal: true\n , useGlobal: false\n });\n httpReplServer.on(\"exit\", function () {\n httpsocket.end();\n });\n httpReplServer.context.global = global;\n _defineReplCommands(httpReplServer, collabServer.commands);\n }).listen(CONFIG.get(\"collab-port\", collab_port_default), CONFIG.get(\"collab-domain\", collab_domain_default));\n\n\n http_server.on(\"error\", function (e: { code: string; }) {\n if (e.code == \"EADDRINUSE\") {\n console.log(\"Collab HTTP Address in use, retrying...\");\n setTimeout(function () {\n http_server.close();\n http_server.listen(CONFIG.get(\"collab-port\", collab_port_default), CONFIG.get(\"collab-domain\", collab_domain_default));\n }, 1000);\n }\n });\n\n unixsocket_server.on(\"error\", function (e: { code: string; }) {\n if (e.code == \"EADDRINUSE\") {\n console.log(\"Collab Unix Socket Address in use, retrying...\");\n setTimeout(function () {\n unixsocket_server.close();\n unixsocket_server.listen(CONFIG.get(\"collab-unix-socket\", unixsocket_default));\n }, 1000);\n }\n });\n }\n\n\n}\n\n\n(() => {\n\n if (process.argv.length < 3) {\n console.log(instructions);\n\n const collabinstructions = `\nCollab for Data Science\n=======================\n\nQCObjects Collab is a tool that helps you to make data science math using JavaScript\n\nYou can use a TCP socket to connect yourself to the engine:\n\n> ssh user@${CONFIG.get(\"domain\", collab_domain_default)} nc ${CONFIG.get(\"collab-domain\", collab_domain_default)} ${CONFIG.get(\"collab-port\", collab_port_default)}\n\nYou can also use a Unix Socket to connect yourself to the engine:\n\n> ssh user@${CONFIG.get(\"domain\", collab_domain_default)} nc -U ${CONFIG.get(\"collab-unix-socket\", unixsocket_default)}\n\n(change \"user\" for whathever your username is!)\n\n`;\n console.log(collabinstructions);\n\n }\n\n\n Package(\"org.quickcorp.qcobjects.collab.server\", [\n CollabServer\n ]);\n\n})();\n\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["code", "output"]
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@ import "qcobjects";
|
|
|
4
4
|
import { readFileSync } from "node:fs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs";
|
|
7
|
-
import { CONFIG, global, logger, _Crypt, findPackageNodePath, Export, Processor } from "qcobjects";
|
|
7
|
+
import { CONFIG, global, logger, _Crypt, findPackageNodePath, Export, Processor, set } from "qcobjects";
|
|
8
8
|
const __get_version__ = /* @__PURE__ */ __name(() => {
|
|
9
9
|
const absolutePath = path.resolve(__dirname, "./");
|
|
10
10
|
const package_config_path = path.resolve(process.cwd(), "package.json");
|
|
@@ -150,7 +150,7 @@ const __load_default_settings__ = /* @__PURE__ */ __name(() => {
|
|
|
150
150
|
}
|
|
151
151
|
setDevMode(CONFIG.get("devmode", ""));
|
|
152
152
|
if (typeof CONFIG.get("backend") !== "undefined") {
|
|
153
|
-
|
|
153
|
+
set("backendAvailable", true);
|
|
154
154
|
}
|
|
155
155
|
if (typeof CONFIG.get("basePath") !== "undefined") {
|
|
156
156
|
logger.debug(`Changing the current directory: ${process.cwd()}`);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/defaultsettings.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n */\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\nimport \"qcobjects\";\nimport {readFileSync} from \"node:fs\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\nimport { CONFIG, global, logger, _Crypt, findPackageNodePath, Export, _DataStringify, Processor } from \"qcobjects\";\n\nexport const __get_version__ = () => {\n\n const absolutePath = path.resolve(__dirname, \"./\");\n const package_config_path = path.resolve(process.cwd(), \"package.json\");\n const qcobjects_pkg_config_path = `${findPackageNodePath(\"qcobjects/package.json\")}/qcobjects/package.json`;\n const qcobjects_sdk_pkg_config_path = `${findPackageNodePath(\"qcobjects-sdk/package.json\")}/qcobjects-sdk/package.json`;\n\n const readVersionFile = (filePath:string) => {\n try {\n return fs.readFileSync(filePath).toString();\n } catch (error:any) {\n logger.debug(`Error reading file at ${filePath}:`, error.message);\n return JSON.stringify({ version: \"0.0.0\" });\n }\n };\n\n\n const package_config_text = readVersionFile(package_config_path);\n const qcobjects_pkg_config_text = readVersionFile(qcobjects_pkg_config_path);\n const qcobjects_sdk_pkg_config_text = readVersionFile(qcobjects_sdk_pkg_config_path);\n const package_config = JSON.parse(package_config_text);\n const qcobjects_pkg_config = JSON.parse(qcobjects_pkg_config_text);\n const qcobjects_sdk_pkg_config = JSON.parse(qcobjects_sdk_pkg_config_text);\n\n return {\n \"qcobjects\": qcobjects_pkg_config.version,\n \"sdk\": qcobjects_sdk_pkg_config.version,\n \"cli\": package_config.version\n };\n};\n\nexport const __get_version_string__ = () => {\n const version = __get_version__();\n return \"QCObjects: v\" + version.qcobjects + \", SDK: v\" + version.sdk + \", CLI: v\" + version.cli;\n};\n\nexport const getProjectPath = () => {\n return CONFIG.get(\"projectPath\", `${process.cwd()}/`);\n};\n\nExport(__get_version__);\nExport(__get_version_string__);\nExport(getProjectPath);\n\n\nconst __load_default_settings__ = () => {\n // Temporary $ENV(VAR,default) override until qcobjects core ships it\n function ENV(_component: any, arg: string) {\n if (typeof process === \"undefined\") { return \"\"; }\n const commaIndex = arg.indexOf(\",\");\n if (commaIndex === -1) {\n return process.env[arg.trim()] ?? \"\";\n }\n const varName = arg.substring(0, commaIndex).trim();\n const defaultValue = arg.substring(commaIndex + 1).trim();\n return process.env[varName] ?? defaultValue;\n }\n Processor.setProcessor(ENV);\n\n CONFIG.set(\"domain\", \"$ENV(DOMAIN,localhost)\");\n CONFIG.set(\"certificate_provider\", \"$ENV(CERTIFICATE_PROVIDER,self_signed)\");\n CONFIG.set(\"devmode\", \"$ENV(DEVMODE,info)\");\n CONFIG.set(\"autodiscover\", true);\n CONFIG.set(\"autodiscover_commands\", true);\n CONFIG.set(\"autodiscover_handlers\", true);\n CONFIG.set(\"documentRoot\", \"$config(projectPath)public/\");\n CONFIG.set(\"documentRootFileIndex\", \"index.html\");\n CONFIG.set(\"cacheControl\", \"max-age=31536000\");\n CONFIG.set(\"relativeImportPath\", \"js/packages/\");\n CONFIG.set(\"serverPortHTTP\", \"8080\");\n CONFIG.set(\"serverPortHTTPS\", \"8443\");\n CONFIG.set(\"useLocalSDK\", true);\n CONFIG.set(\"useLegacyHTTP\", false);\n CONFIG.set(\"private-key-pem\", \"$config(domain)-privkey.pem\");\n CONFIG.set(\"private-cert-pem\", \"$config(domain)-cert.pem\");\n CONFIG.set(\"enableShellCommands\", true);\n CONFIG.set(\"OPENAI_API_KEY\", \"$ENV(OPENAI_API_KEY,)\");\n\n // Set backend configuration\n const backend = {\n db_engine: {\n name: \"$ENV(ENGINE_NAME,)\",\n databaseName: \"$ENV(DATABASE_NAME,)\"\n },\n auth: {\n enabled: true,\n defaultUser: \"$ENV(DEFAULT_USER,)\",\n defaultPasswd: \"$ENV(DEFAULT_PASSWORD,)\",\n microsoftapikey: \"$ENV(MICROSOFT_API_KEY,)\",\n googleapikey: \"$ENV(GOOGLE_API_KEY,)\"\n },\n routes: [\n ]\n };\n CONFIG.set(\"backend\", backend);\n\n // Set package configuration\n const packageConfig = {\n source: {\n backend: \"backend\",\n frontend: \"src\"\n },\n build: \"build\",\n dist: \"dist\"\n };\n CONFIG.set(\"package\", packageConfig);\n\n CONFIG.set(\"useConfigService\", false); // this is only true useful for client web side\n CONFIG.set(\"projectPath\", `${process.cwd()}/`);\n CONFIG.set(\"allowHTTP1\", true);\n CONFIG.set(\"useTemplate\", false);\n CONFIG.set(\"useLegacyHTTP\", false);\n\n const setDevMode = (devmode: string) => {\n if (typeof devmode !== \"undefined\") {\n switch (true) {\n case devmode == \"debug\":\n logger.debugEnabled = true;\n logger.warnEnabled = true;\n logger.infoEnabled = true;\n break;\n case devmode == \"warn\":\n logger.debugEnabled = false;\n logger.warnEnabled = true;\n logger.infoEnabled = true;\n break;\n case devmode == \"info\":\n logger.debugEnabled = false;\n logger.warnEnabled = false;\n logger.infoEnabled = true;\n break;\n\n default:\n logger.debugEnabled = false;\n logger.warnEnabled = false;\n logger.infoEnabled = false;\n break;\n }\n } else {\n logger.debugEnabled = false;\n logger.warnEnabled = false;\n logger.infoEnabled = false;\n }\n\n };\n\n try {\n\n const loadConfig = () => {\n const configPath = path.resolve(CONFIG.get(\"projectPath\"),\"config.json\");\n const configText = readFileSync(configPath).toString();\n const configJson = JSON.parse(configText);\n return configJson;\n };\n\n var _config = loadConfig();\n logger.debug(\"Loading settings from your config.json\");\n\n const _secretKey = (Object.hasOwn(_config, \"domain\")) ? (_config[\"domain\"]) : (\"_secret_\");\n\n if (Object.hasOwn(_config, \"__encoded__\")) {\n _config = JSON.parse(_Crypt.decrypt(_config.__encoded__, _secretKey));\n }\n for (var k in _config) {\n CONFIG.set(k, _config[k]);\n }\n\n setDevMode(CONFIG.get(\"devmode\", \"\"));\n\n if (typeof CONFIG.get(\"backend\") !== \"undefined\") {\n global.set(\"backendAvailable\", true);\n }\n\n if (typeof CONFIG.get(\"basePath\") !== \"undefined\") {\n logger.debug(`Changing the current directory: ${process.cwd()}`);\n try {\n process.chdir(CONFIG.get(\"basePath\"));\n logger.debug(`New directory: ${process.cwd()}`);\n } catch (err: any) {\n logger.warn(`It was impossible to change the current chdir: ${err}`);\n }\n }\n\n } catch (e:any) {\n logger.debug(e);\n logger.debug(\"Something went wrong trying to load config.json file in your project\");\n }\n\n (async function () {\n const projectPath = getProjectPath();\n const loadDefaultRoutes = async () => {\n return await new Promise<void>((resolve, reject) => {\n const sdkPath = path.resolve(findPackageNodePath(\"qcobjects-sdk\"), \"qcobjects-sdk\");\n const qcobjectsPath = path.resolve(findPackageNodePath(\"qcobjects\"), \"qcobjects\");\n let backend = CONFIG.get(\"backend\");\n if (typeof backend === \"undefined\") {\n backend = {};\n }\n if (typeof backend.routes === \"undefined\") {\n backend.routes = [];\n }\n backend.routes = backend.routes.concat([{\n \"name\": \"QCObjects.js\",\n \"description\": \"Redirection of QCObjects.js\",\n \"path\": \"^/QCObjects.js$\",\n \"microservice\": \"com.qcobjects.backend.microservice.static\",\n \"redirect_to\": path.resolve(qcobjectsPath, \"src\", \"QCObjects.js\"),\n \"responseHeaders\": {},\n \"cors\": {\n \"allow_origins\": \"*\"\n }\n },\n {\n \"name\": \"QCObjects-SDK.js\",\n \"description\": \"Redirection of QCObjects SDK\",\n \"path\": \"^/js/packages/QCObjects-SDK.js$\",\n \"microservice\": \"com.qcobjects.backend.microservice.static\",\n \"redirect_to\": path.resolve(sdkPath, \"src/QCObjects-SDK.js\"),\n \"responseHeaders\": {},\n \"cors\": {\n \"allow_origins\": \"*\"\n }\n },\n {\n \"name\": \"QCObjects-SDK Components\",\n \"description\": \"Redirection of QCObjects SDK\",\n \"path\": \"^/qcobjects-sdk/(.*)$\",\n \"microservice\": \"com.qcobjects.backend.microservice.static\",\n \"redirect_to\": path.resolve(sdkPath, \"$1\"),\n \"responseHeaders\": {},\n \"cors\": {\n \"allow_origins\": \"*\"\n }\n }\n\n ]);\n CONFIG.set(\"backend\", backend);\n resolve();\n });\n };\n await loadDefaultRoutes();\n })()\n .then(() => logger.info(\"Default routes loaded\"))\n .catch((e: any) => { logger.warn(`An error ocurred loading default settings: ${e}`); });\n\n (function () {\n /* Auto Discover dependencies (lib, handlers, commands) */\n const projectPath = CONFIG.get(\"projectPath\", `${process.cwd()}/`);\n logger.debug(`CONFIG.projectPath is set to ${projectPath}`);\n const findPath = (p: string) => {\n const packagePath = path.resolve(findPackageNodePath(p), p);\n return packagePath;\n };\n\n const getPackageJSON = (p: string) => {\n let _json;\n try {\n const packagePath = findPath(p);\n if (typeof packagePath !== \"undefined\") {\n _json = JSON.parse(fs.readFileSync(path.resolve(`${packagePath}`, \"./package.json\")).toString());\n } else {\n _json = {};\n }\n } catch (e: any) {\n logger.debug(`It was impossible to get the package.json from ${p}: ${e}`);\n _json = {};\n }\n return _json;\n };\n\n const hasKeyword = (() => {\n let keywords: { [key: string]: string[] } = {};\n return (p: string, keyword: string) => {\n if (typeof keywords === \"undefined\") {\n keywords = {};\n }\n try {\n console.log(\"getting keywords for: \", p);\n if (typeof keywords[p] === \"undefined\") {\n keywords[p] = getPackageJSON(p).keywords;\n }\n } catch (e) {\n throw Error(`Something went wrong when trying to get the keywords of ${p}`);\n }\n return typeof keywords[p] !== \"undefined\" && keywords[p].includes(keyword);\n };\n })();\n\n const setBackendValue = (name: string, value: any) => {\n const backend = CONFIG.get(\"backend\", {});\n if (typeof value !== \"undefined\") {\n backend[name] = value;\n }\n CONFIG.set(\"backend\", backend);\n };\n\n const dependencies = (() => {\n let deps: string[] = [];\n return () => {\n if (typeof deps === \"undefined\") {\n deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`, \"./package.json\")).toString()).dependencies);\n setBackendValue(\"dependencies\", deps);\n }\n return deps;\n };\n })();\n\n const devDependencies = (() => {\n let deps: string[] = [];\n return () => {\n if (typeof deps === \"undefined\") {\n deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`, \"./package.json\")).toString()).devDependencies);\n setBackendValue(\"devDependencies\", deps);\n }\n return deps;\n };\n })();\n\n const loadLibs = () => {\n let _ret_;\n if (CONFIG.get(\"autodiscover\", false) || CONFIG.get(\"autodiscover_libs\", false)) {\n const libs = dependencies().filter((p) => hasKeyword(p, \"qcobjects-lib\"));\n setBackendValue(\"libs\", libs);\n if (libs.length > 0) {\n logger.debug(`Plugin Libs found: ${libs.join(\",\")}`);\n _ret_ = Promise.all(libs.map(async (p) => { \n return await import(findPath(p)); \n })).then(() => logger.info(\"Libs loaded\"));\n } else {\n logger.debug(\"No Plugin Libs found.\");\n _ret_ = Promise.resolve();\n }\n } else {\n logger.debug(\"To load libs, set autodiscover_libs to true in your config.json\");\n _ret_ = Promise.resolve();\n }\n return _ret_;\n };\n const loadHandlers = () => {\n let _ret_;\n if (CONFIG.get(\"autodiscover\", false) || CONFIG.get(\"autodiscover_handlers\", false)) {\n const handlers = dependencies().filter((p) => hasKeyword(p, \"qcobjects-handler\"));\n setBackendValue(\"handlers\", handlers);\n if (handlers.length > 0) {\n logger.debug(`Plugin Handlers found: ${handlers.join(\",\")}`);\n _ret_ = Promise.all(handlers.map(async (p) => { \n return await import(findPath(p)); \n })).then(() => logger.info(\"Handlers loaded\"));\n } else {\n logger.debug(\"No Plugin Handlers found.\");\n _ret_ = Promise.resolve();\n }\n } else {\n logger.debug(\"To load handlers, set autodiscover_handlers to true in your config.json\");\n _ret_ = Promise.resolve();\n }\n return _ret_;\n };\n const loadCommands = () => {\n let _ret_;\n logger.debug(`Looking for custom commands as dependencies in: ${projectPath}/package.json`);\n if (CONFIG.get(\"autodiscover\", false) || CONFIG.get(\"autodiscover_commands\", false)) {\n const commands = dependencies().filter((p) => hasKeyword(p, \"qcobjects-command\"));\n setBackendValue(\"commands\", commands);\n if (commands.length > 0) {\n logger.debug(`Plugin Commands found: ${commands.join(\",\")}`);\n _ret_ = Promise.all(\n commands.map(async (p) => { \n try {\n return await import(findPath(p));\n } catch (error: any) {\n logger.error(`Failed to load command ${p}: ${error}`);\n throw error;\n }\n })\n ).then(() => logger.info(\"Commands loaded\"))\n .catch(error => {\n logger.error(\"Failed to load commands:\", error);\n throw error;\n });\n } else {\n logger.debug(\"No Plugin Commands found.\");\n _ret_ = Promise.resolve();\n }\n } else {\n logger.debug(\"To load commands, set autodiscover_commands to true in your config.json\");\n _ret_ = Promise.resolve();\n }\n return _ret_;\n };\n const loadDevCommands = () => {\n let _ret_;\n logger.debug(`Looking for custom commands as dev dependencies in: ${projectPath}/package.json`);\n if (CONFIG.get(\"autodiscover\", false) || CONFIG.get(\"autodiscover_commands\", false)) {\n const commands = devDependencies().filter((p) => hasKeyword(p, \"qcobjects-command\"));\n setBackendValue(\"devCommands\", commands);\n if (commands.length > 0) {\n logger.debug(`Dev Plugin Commands found: ${commands.join(\",\")}`);\n _ret_ = Promise.all(commands.map(async (p) => { \n return await import(findPath(p)); \n })).then(() => logger.info(\"Commands loaded\"));\n } else {\n logger.debug(\"No Plugin Commands found in dev dependencies.\");\n _ret_ = Promise.resolve();\n }\n } else {\n logger.debug(\"To load commands, set autodiscover_commands to true in your config.json\");\n _ret_ = Promise.resolve();\n }\n return _ret_;\n };\n\n if (CONFIG.get(\"autodiscover\", false) ||\n CONFIG.get(\"autodiscover_libs\", false) ||\n CONFIG.get(\"autodiscover_handlers\", false) ||\n CONFIG.get(\"autodiscover_commands\", false)\n ) {\n logger.info(\"Auto discover is enabled\");\n } else if (!CONFIG.get(\"autodiscover\", false)) {\n logger.info(\"Auto discover is disabled\");\n logger.debug(\"To load all dependencies, set autodiscover to true in your config.json\");\n } else {\n logger.info(\"Auto discover is disabled\");\n }\n\n try {\n logger.debug(\"Loading Libs...\");\n loadLibs().catch((e: any) => {\n logger.warn(`An error ocurred loading libs: ${e}`);\n });\n } catch (e: any) {\n throw Error(`Something went wrong trying to load libs: ${e.message}`);\n }\n try {\n logger.debug(\"Loading Handlers...\");\n loadHandlers().catch((e: any) => {\n logger.warn(`An error ocurred loading handlers: ${e}`);\n });\n } catch (e: any) {\n throw Error(`Something went wrong trying to load handler: ${e.message}`);\n }\n try {\n logger.debug(\"Loading Commands...\");\n loadCommands().catch((e: any) => {\n logger.warn(`An error ocurred loading commands: ${e}`);\n });\n } catch (e: any) {\n throw Error(`Something went wrong trying to load commands: ${e.message}`);\n }\n try {\n logger.debug(\"Loading Dev Commands...\");\n loadDevCommands().catch((e: any) => {\n logger.warn(`An error ocurred loading dev commands: ${e}`);\n });\n } catch (e: any) {\n throw Error(`Something went wrong trying to load Dev commands: ${e.message}`);\n }\n\n try {\n const commands = CONFIG.get(\"backend\", { commands: [] }).commands || [];\n const devCommands = CONFIG.get(\"backend\", { devCommands: [] }).devCommands || [];\n setBackendValue(\"plugins\", commands.concat(devCommands));\n } catch (e: any) {\n throw Error(`Something went wrong trying to load plugins list: ${e.message}`);\n }\n\n logger.info(\"Dependencies loaded\");\n\n process.once(\"SIGTERM\", () => {\n console.log(\"\\x1b[33m%s\\x1b[0m\", \"Bye bye!\");\n process.exit();\n });\n })();\n};\n\n(global as any).__load_default_settings__ = __load_default_settings__;\n(global as any).__load_default_settings__();\n\nconst cleanCache = () => {\n Object.keys(require.cache).forEach((key) => { delete require.cache[key]; });\n};\n\nconst __reset_settings__ = () => {\n cleanCache();\n (global as any).__load_default_settings__();\n};\n\n(global as any).__reset_settings__ = __reset_settings__;\n\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n */\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\nimport \"qcobjects\";\nimport {readFileSync} from \"node:fs\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\nimport { CONFIG, global, logger, _Crypt, findPackageNodePath, Export, _DataStringify, Processor, set } from \"qcobjects\";\n\nexport const __get_version__ = () => {\n\n const absolutePath = path.resolve(__dirname, \"./\");\n const package_config_path = path.resolve(process.cwd(), \"package.json\");\n const qcobjects_pkg_config_path = `${findPackageNodePath(\"qcobjects/package.json\")}/qcobjects/package.json`;\n const qcobjects_sdk_pkg_config_path = `${findPackageNodePath(\"qcobjects-sdk/package.json\")}/qcobjects-sdk/package.json`;\n\n const readVersionFile = (filePath:string) => {\n try {\n return fs.readFileSync(filePath).toString();\n } catch (error:any) {\n logger.debug(`Error reading file at ${filePath}:`, error.message);\n return JSON.stringify({ version: \"0.0.0\" });\n }\n };\n\n\n const package_config_text = readVersionFile(package_config_path);\n const qcobjects_pkg_config_text = readVersionFile(qcobjects_pkg_config_path);\n const qcobjects_sdk_pkg_config_text = readVersionFile(qcobjects_sdk_pkg_config_path);\n const package_config = JSON.parse(package_config_text);\n const qcobjects_pkg_config = JSON.parse(qcobjects_pkg_config_text);\n const qcobjects_sdk_pkg_config = JSON.parse(qcobjects_sdk_pkg_config_text);\n\n return {\n \"qcobjects\": qcobjects_pkg_config.version,\n \"sdk\": qcobjects_sdk_pkg_config.version,\n \"cli\": package_config.version\n };\n};\n\nexport const __get_version_string__ = () => {\n const version = __get_version__();\n return \"QCObjects: v\" + version.qcobjects + \", SDK: v\" + version.sdk + \", CLI: v\" + version.cli;\n};\n\nexport const getProjectPath = () => {\n return CONFIG.get(\"projectPath\", `${process.cwd()}/`);\n};\n\nExport(__get_version__);\nExport(__get_version_string__);\nExport(getProjectPath);\n\n\nconst __load_default_settings__ = () => {\n // Temporary $ENV(VAR,default) override until qcobjects core ships it\n function ENV(_component: any, arg: string) {\n if (typeof process === \"undefined\") { return \"\"; }\n const commaIndex = arg.indexOf(\",\");\n if (commaIndex === -1) {\n return process.env[arg.trim()] ?? \"\";\n }\n const varName = arg.substring(0, commaIndex).trim();\n const defaultValue = arg.substring(commaIndex + 1).trim();\n return process.env[varName] ?? defaultValue;\n }\n Processor.setProcessor(ENV);\n\n CONFIG.set(\"domain\", \"$ENV(DOMAIN,localhost)\");\n CONFIG.set(\"certificate_provider\", \"$ENV(CERTIFICATE_PROVIDER,self_signed)\");\n CONFIG.set(\"devmode\", \"$ENV(DEVMODE,info)\");\n CONFIG.set(\"autodiscover\", true);\n CONFIG.set(\"autodiscover_commands\", true);\n CONFIG.set(\"autodiscover_handlers\", true);\n CONFIG.set(\"documentRoot\", \"$config(projectPath)public/\");\n CONFIG.set(\"documentRootFileIndex\", \"index.html\");\n CONFIG.set(\"cacheControl\", \"max-age=31536000\");\n CONFIG.set(\"relativeImportPath\", \"js/packages/\");\n CONFIG.set(\"serverPortHTTP\", \"8080\");\n CONFIG.set(\"serverPortHTTPS\", \"8443\");\n CONFIG.set(\"useLocalSDK\", true);\n CONFIG.set(\"useLegacyHTTP\", false);\n CONFIG.set(\"private-key-pem\", \"$config(domain)-privkey.pem\");\n CONFIG.set(\"private-cert-pem\", \"$config(domain)-cert.pem\");\n CONFIG.set(\"enableShellCommands\", true);\n CONFIG.set(\"OPENAI_API_KEY\", \"$ENV(OPENAI_API_KEY,)\");\n\n // Set backend configuration\n const backend = {\n db_engine: {\n name: \"$ENV(ENGINE_NAME,)\",\n databaseName: \"$ENV(DATABASE_NAME,)\"\n },\n auth: {\n enabled: true,\n defaultUser: \"$ENV(DEFAULT_USER,)\",\n defaultPasswd: \"$ENV(DEFAULT_PASSWORD,)\",\n microsoftapikey: \"$ENV(MICROSOFT_API_KEY,)\",\n googleapikey: \"$ENV(GOOGLE_API_KEY,)\"\n },\n routes: [\n ]\n };\n CONFIG.set(\"backend\", backend);\n\n // Set package configuration\n const packageConfig = {\n source: {\n backend: \"backend\",\n frontend: \"src\"\n },\n build: \"build\",\n dist: \"dist\"\n };\n CONFIG.set(\"package\", packageConfig);\n\n CONFIG.set(\"useConfigService\", false); // this is only true useful for client web side\n CONFIG.set(\"projectPath\", `${process.cwd()}/`);\n CONFIG.set(\"allowHTTP1\", true);\n CONFIG.set(\"useTemplate\", false);\n CONFIG.set(\"useLegacyHTTP\", false);\n\n const setDevMode = (devmode: string) => {\n if (typeof devmode !== \"undefined\") {\n switch (true) {\n case devmode == \"debug\":\n logger.debugEnabled = true;\n logger.warnEnabled = true;\n logger.infoEnabled = true;\n break;\n case devmode == \"warn\":\n logger.debugEnabled = false;\n logger.warnEnabled = true;\n logger.infoEnabled = true;\n break;\n case devmode == \"info\":\n logger.debugEnabled = false;\n logger.warnEnabled = false;\n logger.infoEnabled = true;\n break;\n\n default:\n logger.debugEnabled = false;\n logger.warnEnabled = false;\n logger.infoEnabled = false;\n break;\n }\n } else {\n logger.debugEnabled = false;\n logger.warnEnabled = false;\n logger.infoEnabled = false;\n }\n\n };\n\n try {\n\n const loadConfig = () => {\n const configPath = path.resolve(CONFIG.get(\"projectPath\"),\"config.json\");\n const configText = readFileSync(configPath).toString();\n const configJson = JSON.parse(configText);\n return configJson;\n };\n\n var _config = loadConfig();\n logger.debug(\"Loading settings from your config.json\");\n\n const _secretKey = (Object.hasOwn(_config, \"domain\")) ? (_config[\"domain\"]) : (\"_secret_\");\n\n if (Object.hasOwn(_config, \"__encoded__\")) {\n _config = JSON.parse(_Crypt.decrypt(_config.__encoded__, _secretKey));\n }\n for (var k in _config) {\n CONFIG.set(k, _config[k]);\n }\n\n setDevMode(CONFIG.get(\"devmode\", \"\"));\n\n if (typeof CONFIG.get(\"backend\") !== \"undefined\") {\n set(\"backendAvailable\", true);\n }\n\n if (typeof CONFIG.get(\"basePath\") !== \"undefined\") {\n logger.debug(`Changing the current directory: ${process.cwd()}`);\n try {\n process.chdir(CONFIG.get(\"basePath\"));\n logger.debug(`New directory: ${process.cwd()}`);\n } catch (err: any) {\n logger.warn(`It was impossible to change the current chdir: ${err}`);\n }\n }\n\n } catch (e:any) {\n logger.debug(e);\n logger.debug(\"Something went wrong trying to load config.json file in your project\");\n }\n\n (async function () {\n const projectPath = getProjectPath();\n const loadDefaultRoutes = async () => {\n return await new Promise<void>((resolve, reject) => {\n const sdkPath = path.resolve(findPackageNodePath(\"qcobjects-sdk\"), \"qcobjects-sdk\");\n const qcobjectsPath = path.resolve(findPackageNodePath(\"qcobjects\"), \"qcobjects\");\n let backend = CONFIG.get(\"backend\");\n if (typeof backend === \"undefined\") {\n backend = {};\n }\n if (typeof backend.routes === \"undefined\") {\n backend.routes = [];\n }\n backend.routes = backend.routes.concat([{\n \"name\": \"QCObjects.js\",\n \"description\": \"Redirection of QCObjects.js\",\n \"path\": \"^/QCObjects.js$\",\n \"microservice\": \"com.qcobjects.backend.microservice.static\",\n \"redirect_to\": path.resolve(qcobjectsPath, \"src\", \"QCObjects.js\"),\n \"responseHeaders\": {},\n \"cors\": {\n \"allow_origins\": \"*\"\n }\n },\n {\n \"name\": \"QCObjects-SDK.js\",\n \"description\": \"Redirection of QCObjects SDK\",\n \"path\": \"^/js/packages/QCObjects-SDK.js$\",\n \"microservice\": \"com.qcobjects.backend.microservice.static\",\n \"redirect_to\": path.resolve(sdkPath, \"src/QCObjects-SDK.js\"),\n \"responseHeaders\": {},\n \"cors\": {\n \"allow_origins\": \"*\"\n }\n },\n {\n \"name\": \"QCObjects-SDK Components\",\n \"description\": \"Redirection of QCObjects SDK\",\n \"path\": \"^/qcobjects-sdk/(.*)$\",\n \"microservice\": \"com.qcobjects.backend.microservice.static\",\n \"redirect_to\": path.resolve(sdkPath, \"$1\"),\n \"responseHeaders\": {},\n \"cors\": {\n \"allow_origins\": \"*\"\n }\n }\n\n ]);\n CONFIG.set(\"backend\", backend);\n resolve();\n });\n };\n await loadDefaultRoutes();\n })()\n .then(() => logger.info(\"Default routes loaded\"))\n .catch((e: any) => { logger.warn(`An error ocurred loading default settings: ${e}`); });\n\n (function () {\n /* Auto Discover dependencies (lib, handlers, commands) */\n const projectPath = CONFIG.get(\"projectPath\", `${process.cwd()}/`);\n logger.debug(`CONFIG.projectPath is set to ${projectPath}`);\n const findPath = (p: string) => {\n const packagePath = path.resolve(findPackageNodePath(p), p);\n return packagePath;\n };\n\n const getPackageJSON = (p: string) => {\n let _json;\n try {\n const packagePath = findPath(p);\n if (typeof packagePath !== \"undefined\") {\n _json = JSON.parse(fs.readFileSync(path.resolve(`${packagePath}`, \"./package.json\")).toString());\n } else {\n _json = {};\n }\n } catch (e: any) {\n logger.debug(`It was impossible to get the package.json from ${p}: ${e}`);\n _json = {};\n }\n return _json;\n };\n\n const hasKeyword = (() => {\n let keywords: { [key: string]: string[] } = {};\n return (p: string, keyword: string) => {\n if (typeof keywords === \"undefined\") {\n keywords = {};\n }\n try {\n console.log(\"getting keywords for: \", p);\n if (typeof keywords[p] === \"undefined\") {\n keywords[p] = getPackageJSON(p).keywords;\n }\n } catch (e) {\n throw Error(`Something went wrong when trying to get the keywords of ${p}`);\n }\n return typeof keywords[p] !== \"undefined\" && keywords[p].includes(keyword);\n };\n })();\n\n const setBackendValue = (name: string, value: any) => {\n const backend = CONFIG.get(\"backend\", {});\n if (typeof value !== \"undefined\") {\n backend[name] = value;\n }\n CONFIG.set(\"backend\", backend);\n };\n\n const dependencies = (() => {\n let deps: string[] = [];\n return () => {\n if (typeof deps === \"undefined\") {\n deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`, \"./package.json\")).toString()).dependencies);\n setBackendValue(\"dependencies\", deps);\n }\n return deps;\n };\n })();\n\n const devDependencies = (() => {\n let deps: string[] = [];\n return () => {\n if (typeof deps === \"undefined\") {\n deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`, \"./package.json\")).toString()).devDependencies);\n setBackendValue(\"devDependencies\", deps);\n }\n return deps;\n };\n })();\n\n const loadLibs = () => {\n let _ret_;\n if (CONFIG.get(\"autodiscover\", false) || CONFIG.get(\"autodiscover_libs\", false)) {\n const libs = dependencies().filter((p) => hasKeyword(p, \"qcobjects-lib\"));\n setBackendValue(\"libs\", libs);\n if (libs.length > 0) {\n logger.debug(`Plugin Libs found: ${libs.join(\",\")}`);\n _ret_ = Promise.all(libs.map(async (p) => { \n return await import(findPath(p)); \n })).then(() => logger.info(\"Libs loaded\"));\n } else {\n logger.debug(\"No Plugin Libs found.\");\n _ret_ = Promise.resolve();\n }\n } else {\n logger.debug(\"To load libs, set autodiscover_libs to true in your config.json\");\n _ret_ = Promise.resolve();\n }\n return _ret_;\n };\n const loadHandlers = () => {\n let _ret_;\n if (CONFIG.get(\"autodiscover\", false) || CONFIG.get(\"autodiscover_handlers\", false)) {\n const handlers = dependencies().filter((p) => hasKeyword(p, \"qcobjects-handler\"));\n setBackendValue(\"handlers\", handlers);\n if (handlers.length > 0) {\n logger.debug(`Plugin Handlers found: ${handlers.join(\",\")}`);\n _ret_ = Promise.all(handlers.map(async (p) => { \n return await import(findPath(p)); \n })).then(() => logger.info(\"Handlers loaded\"));\n } else {\n logger.debug(\"No Plugin Handlers found.\");\n _ret_ = Promise.resolve();\n }\n } else {\n logger.debug(\"To load handlers, set autodiscover_handlers to true in your config.json\");\n _ret_ = Promise.resolve();\n }\n return _ret_;\n };\n const loadCommands = () => {\n let _ret_;\n logger.debug(`Looking for custom commands as dependencies in: ${projectPath}/package.json`);\n if (CONFIG.get(\"autodiscover\", false) || CONFIG.get(\"autodiscover_commands\", false)) {\n const commands = dependencies().filter((p) => hasKeyword(p, \"qcobjects-command\"));\n setBackendValue(\"commands\", commands);\n if (commands.length > 0) {\n logger.debug(`Plugin Commands found: ${commands.join(\",\")}`);\n _ret_ = Promise.all(\n commands.map(async (p) => { \n try {\n return await import(findPath(p));\n } catch (error: any) {\n logger.error(`Failed to load command ${p}: ${error}`);\n throw error;\n }\n })\n ).then(() => logger.info(\"Commands loaded\"))\n .catch(error => {\n logger.error(\"Failed to load commands:\", error);\n throw error;\n });\n } else {\n logger.debug(\"No Plugin Commands found.\");\n _ret_ = Promise.resolve();\n }\n } else {\n logger.debug(\"To load commands, set autodiscover_commands to true in your config.json\");\n _ret_ = Promise.resolve();\n }\n return _ret_;\n };\n const loadDevCommands = () => {\n let _ret_;\n logger.debug(`Looking for custom commands as dev dependencies in: ${projectPath}/package.json`);\n if (CONFIG.get(\"autodiscover\", false) || CONFIG.get(\"autodiscover_commands\", false)) {\n const commands = devDependencies().filter((p) => hasKeyword(p, \"qcobjects-command\"));\n setBackendValue(\"devCommands\", commands);\n if (commands.length > 0) {\n logger.debug(`Dev Plugin Commands found: ${commands.join(\",\")}`);\n _ret_ = Promise.all(commands.map(async (p) => { \n return await import(findPath(p)); \n })).then(() => logger.info(\"Commands loaded\"));\n } else {\n logger.debug(\"No Plugin Commands found in dev dependencies.\");\n _ret_ = Promise.resolve();\n }\n } else {\n logger.debug(\"To load commands, set autodiscover_commands to true in your config.json\");\n _ret_ = Promise.resolve();\n }\n return _ret_;\n };\n\n if (CONFIG.get(\"autodiscover\", false) ||\n CONFIG.get(\"autodiscover_libs\", false) ||\n CONFIG.get(\"autodiscover_handlers\", false) ||\n CONFIG.get(\"autodiscover_commands\", false)\n ) {\n logger.info(\"Auto discover is enabled\");\n } else if (!CONFIG.get(\"autodiscover\", false)) {\n logger.info(\"Auto discover is disabled\");\n logger.debug(\"To load all dependencies, set autodiscover to true in your config.json\");\n } else {\n logger.info(\"Auto discover is disabled\");\n }\n\n try {\n logger.debug(\"Loading Libs...\");\n loadLibs().catch((e: any) => {\n logger.warn(`An error ocurred loading libs: ${e}`);\n });\n } catch (e: any) {\n throw Error(`Something went wrong trying to load libs: ${e.message}`);\n }\n try {\n logger.debug(\"Loading Handlers...\");\n loadHandlers().catch((e: any) => {\n logger.warn(`An error ocurred loading handlers: ${e}`);\n });\n } catch (e: any) {\n throw Error(`Something went wrong trying to load handler: ${e.message}`);\n }\n try {\n logger.debug(\"Loading Commands...\");\n loadCommands().catch((e: any) => {\n logger.warn(`An error ocurred loading commands: ${e}`);\n });\n } catch (e: any) {\n throw Error(`Something went wrong trying to load commands: ${e.message}`);\n }\n try {\n logger.debug(\"Loading Dev Commands...\");\n loadDevCommands().catch((e: any) => {\n logger.warn(`An error ocurred loading dev commands: ${e}`);\n });\n } catch (e: any) {\n throw Error(`Something went wrong trying to load Dev commands: ${e.message}`);\n }\n\n try {\n const commands = CONFIG.get(\"backend\", { commands: [] }).commands || [];\n const devCommands = CONFIG.get(\"backend\", { devCommands: [] }).devCommands || [];\n setBackendValue(\"plugins\", commands.concat(devCommands));\n } catch (e: any) {\n throw Error(`Something went wrong trying to load plugins list: ${e.message}`);\n }\n\n logger.info(\"Dependencies loaded\");\n\n process.once(\"SIGTERM\", () => {\n console.log(\"\\x1b[33m%s\\x1b[0m\", \"Bye bye!\");\n process.exit();\n });\n })();\n};\n\n(global as any).__load_default_settings__ = __load_default_settings__;\n(global as any).__load_default_settings__();\n\nconst cleanCache = () => {\n Object.keys(require.cache).forEach((key) => { delete require.cache[key]; });\n};\n\nconst __reset_settings__ = () => {\n cleanCache();\n (global as any).__load_default_settings__();\n};\n\n(global as any).__reset_settings__ = __reset_settings__;\n\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["backend"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import { findPackageNodePath, Import, Package, InheritClass, CONFIG, logger, New,
|
|
3
|
+
import { findPackageNodePath, Import, Package, InheritClass, CONFIG, logger, New, get, ClassFactory, Export } from "qcobjects";
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs";
|
|
@@ -56,7 +56,7 @@ Y88b.Y8b88PY88b d88PY88b. .d88P888 d88P 888Y8b. Y88b. Y88b. X88 \r
|
|
|
56
56
|
});
|
|
57
57
|
server = oHTTPServer.server;
|
|
58
58
|
server?.on("error", (err) => console.error(err));
|
|
59
|
-
if (
|
|
59
|
+
if (get("backendAvailable")) {
|
|
60
60
|
logger.info("Loading backend interceptors...");
|
|
61
61
|
const interceptors = CONFIG.get("backend", {}).interceptors;
|
|
62
62
|
if (typeof interceptors !== "undefined") {
|
|
@@ -114,7 +114,7 @@ Y88b.Y8b88PY88b d88PY88b. .d88P888 d88P 888Y8b. Y88b. Y88b. X88 \r
|
|
|
114
114
|
}
|
|
115
115
|
this.request.pathname = this.request.pathname.substr(0, this.request.pathname.lastIndexOf("/"));
|
|
116
116
|
logger.debug(PipeLog.pipe(this.request));
|
|
117
|
-
if (
|
|
117
|
+
if (get("backendAvailable")) {
|
|
118
118
|
logger.info("Backend GAE Microservices Available");
|
|
119
119
|
const routes = CONFIG.get("backend").routes;
|
|
120
120
|
const selectedRoute = routes.filter((route) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/main-http-gae-server.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\nimport { findPackageNodePath, Import, Package, InheritClass, CONFIG, logger, New, global, ClassFactory, Export } from \"qcobjects\";\nimport os from \"node:os\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\nimport http from \"node:http\";\nimport mime from \"mime\";\nimport { URL } from \"url\";\n\nimport { FileDispatcher } from \"./main-file\";\nimport { PipeLog } from \"./common-pipelog\";\n\nexport class HTTPServer extends InheritClass {\n interceptorInstances: any[];\n server: any;\n request: any;\n response: any;\n constructor({\n request = null,\n response = \"\",\n server = null,\n scriptname = \"\",\n interceptorInstances = []\n }: {\n request: any, response: any, server?: any, scriptname: string, interceptorInstances: any[]\n }) {\n super({\n request,\n response,\n server,\n scriptname,\n interceptorInstances\n });\n\n const oHTTPServer = this;\n const welcometo = \"Welcome to \\n\";\n const instructions = \"QCObjects Legacy HTTPServer \\n\";\n 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\\\" \";\n console.log(welcometo);\n console.log(logo);\n console.log(instructions);\n logger.debug(this.showIPAddress());\n logger.info(\"Listening on HTTP PORT: \" + CONFIG.get(\"serverPortHTTP\").toString());\n logger.info(\"Go to: \\n\" + this.showPossibleURL());\n this.interceptorInstances = interceptorInstances;\n\n\n oHTTPServer.server = http.createServer((req: any, res: any) => {\n\n });\n\n server = oHTTPServer.server;\n\n server?.on(\"error\", (err: any) => console.error(err));\n\n if (global.get(\"backendAvailable\")) {\n logger.info(\"Loading backend interceptors...\");\n const interceptors = CONFIG.get(\"backend\", {}).interceptors;\n if (typeof interceptors !== \"undefined\") {\n logger.info(\"Backend Interceptors Available\");\n interceptors.map((interceptor: { microservice: string; }) => {\n ImportMicroservice(interceptor.microservice);\n var interceptorClassFactory = ClassFactory(interceptor.microservice + \".Interceptor\");\n var interceptorInstance = New(interceptorClassFactory, {\n domain: CONFIG.get(\"domain\"),\n basePath: CONFIG.get(\"basePath\"),\n projectPath: CONFIG.get(\"projectPath\"),\n interceptor: interceptor,\n server: server\n });\n oHTTPServer.interceptorInstances.push(interceptorInstance);\n });\n }\n }\n\n server.on(\"request\", (req: { url: any; headers: any; method: any; }, res: { destroyed: any; writeHeader: (arg0: number, arg1: { \"content-type\": string; }) => void; on: (arg0: string, arg1: () => void) => void; write: (arg0: string) => void; end: () => void; }) => {\n\n const request = Object.assign(New(HTTPServerRequest), URL.parse(req.url));\n request.headers = req.headers;\n this.request = request;\n this.request.method = req.method;\n this.request.path = req.url;\n server.setMaxListeners(9999999999);\n CONFIG.set(\"backendTimeout\", CONFIG.get(\"backendTimeout\") || 20000);\n var timeoutHandler = () => {\n // end the stream on timeout\n try {\n if (!res.destroyed) {\n logger.info(\"A timeout occurred...\" + CONFIG.get(\"backendTimeout\").toString());\n logger.info(\"Killing session...\");\n\n res.writeHeader(500, {\n \"content-type\": \"text/html\"\n });\n res.on(\"error\", () => { });\n res.write(\"<h1>500 - INTERNAL SERVER ERROR (TIMEOUT)</h1>\");\n res.end();\n } else {\n logger.debug(\"Session was normally finishing...\");\n }\n } catch (e: any) {\n logger.debug(\"An unhandled error occurred during timeout catching...\");\n logger.debug(e.message);\n }\n server.removeListener(\"timeout\", timeoutHandler);\n\n };\n if (!res.destroyed) {\n server.setTimeout(CONFIG.get(\"backendTimeout\"), timeoutHandler);\n }\n\n if (this.request.pathname.indexOf(\".\") < 0) {\n this.request.scriptname = CONFIG.get(\"documentRootFileIndex\");\n } else {\n this.request.scriptname = this.request.pathname.split(\"/\").reverse()[0];\n }\n this.request.pathname = this.request.pathname.substr(0, this.request.pathname.lastIndexOf(\"/\"));\n\n logger.debug(PipeLog.pipe(this.request));\n\n if (global.get(\"backendAvailable\")) {\n logger.info(\"Backend GAE Microservices Available\");\n const routes = CONFIG.get(\"backend\").routes;\n const selectedRoute = routes.filter((route: { path: string; }) => {\n const standardRoutePath = route.path.replace(/{(.*?)}/g, \"(?<$1>.*)\");\n return (new RegExp(standardRoutePath, \"g\")).test(request.path);\n });\n if (selectedRoute.length > 0) {\n selectedRoute.map((route: { path: string; microservice: string; }) => {\n const standardRoutePath = route.path.replace(/{(.*?)}/g, \"(?<$1>.*)\"); //allowing {param}\n const selectedRouteParams = {\n ...[...request.path.matchAll((new RegExp(standardRoutePath, \"g\")))][0][\"groups\"]\n };\n ImportMicroservice(route.microservice);\n var microServiceClassFactory = ClassFactory(route.microservice + \".Microservice\");\n this.response = New(microServiceClassFactory, {\n domain: CONFIG.get(\"domain\"),\n basePath: CONFIG.get(\"basePath\"),\n projectPath: CONFIG.get(\"projectPath\"),\n route: route,\n routeParams: selectedRouteParams,\n server: server,\n stream: res,\n req: req,\n request: request\n });\n });\n } else {\n this.response = New(HTTPServerResponse, {\n server: server,\n stream: res,\n request: this.request\n });\n }\n\n } else {\n // ...\n\n this.response = New(HTTPServerResponse, {\n server: server,\n stream: res,\n request: this.request\n });\n\n }\n\n });\n\n }\n\n showIPAddress() {\n var _ret_ = \"\";\n var ifaces = os.networkInterfaces();\n Object.keys(ifaces).forEach(function (iface) {\n ifaces[iface]?.forEach(function (ipGroup: any) {\n _ret_ += iface + \": \" + PipeLog.pipe(ipGroup) + \"\\n\";\n });\n });\n return _ret_;\n }\n\n showPossibleURL() {\n var _ret_ = \"\";\n var ifaces = os.networkInterfaces();\n Object.keys(ifaces).forEach(function (iface) {\n ifaces[iface]?.forEach((ipGroup: any) => {\n if (ipGroup[\"family\"].toLowerCase() == \"ipv4\") {\n _ret_ += \"http://\" + ipGroup[\"address\"] + \":\" + CONFIG.get(\"serverPortHTTP\").toString() + \"/\\n\";\n }\n });\n });\n return _ret_;\n }\n\n start() {\n var server = this.server;\n server.listen(process.env.PORT || CONFIG.get(\"serverPortHTTP\"));\n }\n}\n\n\n\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nconst ImportMicroservice = function (microservicePackage: string) {\n var _ret_;\n var standardPath = findPackageNodePath(microservicePackage) || findPackageNodePath(microservicePackage + \".js\");\n if (standardPath !== null) {\n _ret_ = Import(microservicePackage);\n } else {\n var nonStandardPath = findPackageNodePath(absolutePath + \"/backend/\" + microservicePackage) || findPackageNodePath(absolutePath + \"/backend/\" + microservicePackage + \".js\");\n if (nonStandardPath !== null) {\n _ret_ = Import(absolutePath + \"/backend/\" + microservicePackage);\n } else {\n _ret_ = Promise.resolve(async () => (await import(microservicePackage))());\n }\n }\n return _ret_;\n};\n\nclass BackendMicroservice extends InheritClass {\n domain: any;\n basePath: any;\n server: any;\n request: any;\n req: any;\n get: any;\n route: any;\n headers: any;\n body!: object;\n stream: any;\n\n constructor(o: any) {\n super(o);\n this.domain = CONFIG.get(\"domain\");\n this.basePath = CONFIG.get(\"basePath\");\n logger.debug(\"Executing GAE HTTP BackendMicroservice \");\n const microservice = this;\n const server = microservice.server;\n const request = microservice.request;\n this.cors();\n microservice.req.on(\"data\", (data: any) => {\n // data from POST, GET\n var requestMethod = request.method.toLowerCase();\n var supportedMethods: any = {\n \"post\": microservice.post.bind(this),\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice, data);\n }\n });\n\n // data from POST, GET\n var requestMethod = request.method.toLowerCase();\n var supportedMethods: any = {\n \"get\": microservice.get.bind(this),\n \"head\": microservice.head.bind(this),\n \"put\": microservice.put.bind(this),\n \"delete\": microservice.delete.bind(this),\n \"connect\": microservice.connect.bind(this),\n \"options\": microservice.options.bind(this),\n \"trace\": microservice.trace.bind(this),\n \"patch\": microservice.patch.bind(this)\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice);\n }\n\n\n }\n\n cors() {\n if (this.route.cors) {\n const {\n allow_origins,\n allow_credentials,\n allow_methods,\n allow_headers\n } = this.route.cors;\n var microservice = this;\n if (typeof microservice.headers !== \"object\") {\n microservice.headers = {};\n }\n if (typeof allow_origins !== \"undefined\") {\n // an example of allow_origins is ['https://example.com','http://www.example.com']\n if (allow_origins == \"*\" || (typeof microservice.request.headers.origin == \"undefined\") || [...allow_origins].indexOf(microservice.request.headers.origin) !== -1) {\n // for compatibility with all browsers allways return a wildcard when the origin is allowed\n microservice.headers[\"Access-Control-Allow-Origin\"] = \"*\";\n } else {\n logger.debug(\"Origin is not allowed: \" + microservice.request.headers.origin);\n logger.debug(\"Forcing to finish the response...\");\n this.body = {};\n try {\n this.done();\n } catch (e: any) { }\n }\n } else {\n microservice.headers[\"Access-Control-Allow-Origin\"] = \"*\";\n }\n if (typeof allow_credentials !== \"undefined\") {\n microservice.headers[\"Access-Control-Allow-Credentials\"] = allow_credentials.toString();\n } else {\n microservice.headers[\"Access-Control-Allow-Credentials\"] = \"true\";\n }\n if (typeof allow_methods !== \"undefined\") {\n microservice.headers[\"Access-Control-Allow-Methods\"] = [...allow_methods].join(\",\");\n } else {\n microservice.headers[\"Access-Control-Allow-Methods\"] = \"GET, OPTIONS, POST\";\n }\n if (typeof allow_headers !== \"undefined\") {\n microservice.headers[\"Access-Control-Allow-Headers\"] = [...allow_headers].join(\",\");\n } else {\n microservice.headers[\"Access-Control-Allow-Headers\"] = \"*\";\n }\n }\n }\n\n head(formData: any) {\n this.done();\n }\n post(formData: any) {\n this.done();\n }\n put(formData: any) {\n this.done();\n }\n delete(formData: any) {\n this.done();\n }\n connect(formData: any) {\n this.done();\n }\n options(formData: any) {\n this.done();\n }\n trace(formData: any) {\n this.done();\n }\n patch(formData: any) {\n this.done();\n }\n finishWithBody(stream: { write: (arg0: string) => void; end: () => void; }) {\n try {\n stream.write(JSON.stringify(this.body));\n stream.end();\n } catch (e: any) {\n logger.debug(\"Something wrong writing the response for microservice\" + e.toString());\n }\n }\n\n done() {\n var microservice = this;\n var stream = microservice.stream;\n try {\n stream.writeHead(200, microservice.headers);\n } catch (e: any) {\n logger.debug(\"Something went wront while sending headers in http...\");\n logger.debug(e.toString());\n }\n if (microservice.body != null) {\n microservice.finishWithBody.call(microservice, stream);\n }\n }\n\n}\n\nExport(BackendMicroservice);\n\nclass HTTPServerResponse extends InheritClass {\n body!: string;\n stream: any;\n headers: { \":status\": number; \"content-type\": string; };\n fileDispatcher: any;\n request: any;\n constructor(o: { stream: any; request: any; headers: any; fileDispatcher: any; }) {\n super(o);\n var self = this;\n self.body = \"\";\n self.request = o.request || {};\n self.stream = o.stream;\n self.headers = o.headers;\n self.fileDispatcher = o.fileDispatcher;\n\n // Initialize request properties if not set\n if (!self.request.scriptname || !self.request.pathname) {\n const defaultPath = \"/\";\n self.request.pathname = self.request.pathname || defaultPath;\n self.request.scriptname = self.request.scriptname || CONFIG.get(\"documentRootFileIndex\", \"index.html\");\n }\n\n // Ensure documentRoot is set\n if (!CONFIG.get(\"documentRoot\")) {\n CONFIG.set(\"documentRoot\", path.join(process.cwd(), \"public\"));\n }\n\n self._generateResponse();\n this.headers = {\n \":status\": 200,\n \"content-type\": \"text/html\"\n };\n }\n\n sendFile(stream: any, fileName: string) {\n // read and send file content in the stream\n\n try {\n console.log(\"trying to read \" + fileName);\n const fd = fs.openSync(fileName, \"r\");\n const stat = fs.fstatSync(fd);\n const headers = {\n \"content-length\": stat.size,\n \"last-modified\": stat.mtime.toUTCString(),\n \"content-type\": mime.getType(fileName),\n \"cache-control\": CONFIG.get(\"cacheControl\", \"max-age=31536000\")\n };\n logger.debug(\"closing file \" + fileName);\n fs.closeSync(fd);\n stream.setHeader(\"content-length\", headers[\"content-length\"]);\n stream.setHeader(\"last-modified\", headers[\"last-modified\"]);\n stream.setHeader(\"content-type\", headers[\"content-type\"]);\n stream.setHeader(\"cache-control\", headers[\"cache-control\"]);\n\n // This line opens the file as a readable stream\n var readStream = fs.createReadStream(fileName);\n\n // This will wait until we know the readable stream is actually valid before piping\n readStream.on(\"open\", function () {\n // This just pipes the read stream to the response object (which goes to the client)\n readStream.pipe(stream);\n });\n\n readStream.on(\"end\", function () {\n stream.end();\n });\n\n // This catches any errors that happen while creating the readable stream (usually invalid names)\n readStream.on(\"error\", function (err: any) {\n stream.end(err);\n });\n\n } catch (e: any) {\n if (e.errno == -2) {\n const headers = {\n \":status\": 404,\n \"content-type\": \"text/html\"\n };\n stream.write(\"<h1>404 - FILE NOT FOUND</h1>\");\n stream.on(\"close\", () => {\n console.log(\"closing file\", fileName);\n });\n stream.end();\n }\n }\n }\n\n _generateResponse() {\n var response = this;\n response.fileDispatcher = New(FileDispatcher, {\n scriptname: response.request.scriptname,\n pathname: response.request.pathname,\n done(headers: any, body: any, templateURI: any, isTemplate: any) {\n response.headers = headers;\n var stream = response.stream;\n if (isTemplate) {\n logger.debug(\"TEMPLATE\");\n response.body = body;\n // stream.respond(response.headers);\n stream.write(response.body);\n stream.end();\n } else if (headers[\":status\"] == 200) {\n response.sendFile(stream, templateURI);\n } else {\n logger.debug(\"NONE \");\n // stream.respond(response.headers);\n stream.end();\n }\n }\n });\n\n }\n\n}\n\nclass HTTPServerRequest extends InheritClass {\n\n constructor({\n scriptname = \"\",\n path = \"\",\n method = \"\",\n url = \"\",\n headers = null,\n flags = null,\n protocol = null,\n slashes = null,\n auth = null,\n host = null,\n port = null,\n hostname = null,\n hash = null,\n search = \"\",\n query = \"\",\n pathname = \"\",\n href = \"\"\n }) {\n super({\n scriptname,\n path,\n method,\n url,\n headers,\n flags,\n protocol,\n slashes,\n auth,\n host,\n port,\n hostname,\n hash,\n search,\n query,\n pathname,\n href\n });\n\n }\n}\n\n\n\nPackage(\"org.quickcorp.qcobjects.main.http.gae.server\", [\n BackendMicroservice, HTTPServer, HTTPServerRequest, HTTPServerResponse\n\n]);\n"],
|
|
5
|
-
"mappings": ";;AAsBA,SAAS,qBAAqB,QAAQ,SAAS,cAAc,QAAQ,QAAQ,KAAK,QAAQ,cAAc,cAAc;AACtH,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,SAAS,WAAW;AAEpB,SAAS,sBAAsB;AAC/B,SAAS,eAAe;AAEjB,MAAM,mBAAmB,aAAa;AAAA,EAjC7C,OAiC6C;AAAA;AAAA;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS;AAAA,IACT,aAAa;AAAA,IACb,uBAAuB,CAAC;AAAA,EAC1B,GAEG;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,UAAM,cAAc;AACpB,UAAM,YAAY;AAClB,UAAM,eAAe;AACrB,UAAM,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACb,YAAQ,IAAI,SAAS;AACrB,YAAQ,IAAI,IAAI;AAChB,YAAQ,IAAI,YAAY;AACxB,WAAO,MAAM,KAAK,cAAc,CAAC;AACjC,WAAO,KAAK,6BAA6B,OAAO,IAAI,gBAAgB,EAAE,SAAS,CAAC;AAChF,WAAO,KAAK,cAAc,KAAK,gBAAgB,CAAC;AAChD,SAAK,uBAAuB;AAG5B,gBAAY,SAAS,KAAK,aAAa,CAAC,KAAU,QAAa;AAAA,IAE/D,CAAC;AAED,aAAS,YAAY;AAErB,YAAQ,GAAG,SAAS,CAAC,QAAa,QAAQ,MAAM,GAAG,CAAC;AAEpD,QAAI,OAAO,IAAI,kBAAkB,GAAG;AAClC,aAAO,KAAK,iCAAiC;AAC7C,YAAM,eAAe,OAAO,IAAI,WAAW,CAAC,CAAC,EAAE;AAC/C,UAAI,OAAO,iBAAiB,aAAa;AACvC,eAAO,KAAK,gCAAgC;AAC5C,qBAAa,IAAI,CAAC,gBAA2C;AAC3D,6BAAmB,YAAY,YAAY;AAC3C,cAAI,0BAA0B,aAAa,YAAY,eAAe,cAAc;AACpF,cAAI,sBAAsB,IAAI,yBAAyB;AAAA,YACrD,QAAQ,OAAO,IAAI,QAAQ;AAAA,YAC3B,UAAU,OAAO,IAAI,UAAU;AAAA,YAC/B,aAAa,OAAO,IAAI,aAAa;AAAA,YACrC;AAAA,YACA;AAAA,UACF,CAAC;AACD,sBAAY,qBAAqB,KAAK,mBAAmB;AAAA,QAC3D,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO,GAAG,WAAW,CAAC,KAA+C,QAAmM;AAEtQ,YAAMA,WAAU,OAAO,OAAO,IAAI,iBAAiB,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;AACxE,MAAAA,SAAQ,UAAU,IAAI;AACtB,WAAK,UAAUA;AACf,WAAK,QAAQ,SAAS,IAAI;AAC1B,WAAK,QAAQ,OAAO,IAAI;AACxB,aAAO,gBAAgB,UAAU;AACjC,aAAO,IAAI,kBAAkB,OAAO,IAAI,gBAAgB,KAAK,GAAK;AAClE,UAAI,iBAAiB,6BAAM;AAEzB,YAAI;AACF,cAAI,CAAC,IAAI,WAAW;AAClB,mBAAO,KAAK,0BAA0B,OAAO,IAAI,gBAAgB,EAAE,SAAS,CAAC;AAC7E,mBAAO,KAAK,oBAAoB;AAEhC,gBAAI,YAAY,KAAK;AAAA,cACnB,gBAAgB;AAAA,YAClB,CAAC;AACD,gBAAI,GAAG,SAAS,MAAM;AAAA,YAAE,CAAC;AACzB,gBAAI,MAAM,gDAAgD;AAC1D,gBAAI,IAAI;AAAA,UACV,OAAO;AACL,mBAAO,MAAM,mCAAmC;AAAA,UAClD;AAAA,QACF,SAAS,GAAQ;AACf,iBAAO,MAAM,wDAAwD;AACrE,iBAAO,MAAM,EAAE,OAAO;AAAA,QACxB;AACA,eAAO,eAAe,WAAW,cAAc;AAAA,MAEjD,GAtBqB;AAuBrB,UAAI,CAAC,IAAI,WAAW;AAClB,eAAO,WAAW,OAAO,IAAI,gBAAgB,GAAG,cAAc;AAAA,MAChE;AAEA,UAAI,KAAK,QAAQ,SAAS,QAAQ,GAAG,IAAI,GAAG;AAC1C,aAAK,QAAQ,aAAa,OAAO,IAAI,uBAAuB;AAAA,MAC9D,OAAO;AACL,aAAK,QAAQ,aAAa,KAAK,QAAQ,SAAS,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC;AAAA,MACxE;AACA,WAAK,QAAQ,WAAW,KAAK,QAAQ,SAAS,OAAO,GAAG,KAAK,QAAQ,SAAS,YAAY,GAAG,CAAC;AAE9F,aAAO,MAAM,QAAQ,KAAK,KAAK,OAAO,CAAC;AAEvC,UAAI,OAAO,IAAI,kBAAkB,GAAG;AAClC,eAAO,KAAK,qCAAqC;AACjD,cAAM,SAAS,OAAO,IAAI,SAAS,EAAE;AACrC,cAAM,gBAAgB,OAAO,OAAO,CAAC,UAA6B;AAChE,gBAAM,oBAAoB,MAAM,KAAK,QAAQ,YAAY,WAAW;AACpE,iBAAQ,IAAI,OAAO,mBAAmB,GAAG,EAAG,KAAKA,SAAQ,IAAI;AAAA,QAC/D,CAAC;AACD,YAAI,cAAc,SAAS,GAAG;AAC5B,wBAAc,IAAI,CAAC,UAAmD;AACpE,kBAAM,oBAAoB,MAAM,KAAK,QAAQ,YAAY,WAAW;AACpE,kBAAM,sBAAsB;AAAA,cAC1B,GAAG,CAAC,GAAGA,SAAQ,KAAK,SAAU,IAAI,OAAO,mBAAmB,GAAG,CAAE,CAAC,EAAE,CAAC,EAAE,QAAQ;AAAA,YACjF;AACA,+BAAmB,MAAM,YAAY;AACrC,gBAAI,2BAA2B,aAAa,MAAM,eAAe,eAAe;AAChF,iBAAK,WAAW,IAAI,0BAA0B;AAAA,cAC5C,QAAQ,OAAO,IAAI,QAAQ;AAAA,cAC3B,UAAU,OAAO,IAAI,UAAU;AAAA,cAC/B,aAAa,OAAO,IAAI,aAAa;AAAA,cACrC;AAAA,cACA,aAAa;AAAA,cACb;AAAA,cACA,QAAQ;AAAA,cACR;AAAA,cACA,SAASA;AAAA,YACX,CAAC;AAAA,UACH,CAAC;AAAA,QACH,OAAO;AACL,eAAK,WAAW,IAAI,oBAAoB;AAAA,YACtC;AAAA,YACA,QAAQ;AAAA,YACR,SAAS,KAAK;AAAA,UAChB,CAAC;AAAA,QACH;AAAA,MAEF,OAAO;AAGL,aAAK,WAAW,IAAI,oBAAoB;AAAA,UACtC;AAAA,UACA,QAAQ;AAAA,UACR,SAAS,KAAK;AAAA,QAChB,CAAC;AAAA,MAEH;AAAA,IAEF,CAAC;AAAA,EAEH;AAAA,EAEA,gBAAgB;AACd,QAAI,QAAQ;AACZ,QAAI,SAAS,GAAG,kBAAkB;AAClC,WAAO,KAAK,MAAM,EAAE,QAAQ,SAAU,OAAO;AAC3C,aAAO,KAAK,GAAG,QAAQ,SAAU,SAAc;AAC7C,iBAAS,QAAQ,OAAO,QAAQ,KAAK,OAAO,IAAI;AAAA,MAClD,CAAC;AAAA,IACH,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,kBAAkB;AAChB,QAAI,QAAQ;AACZ,QAAI,SAAS,GAAG,kBAAkB;AAClC,WAAO,KAAK,MAAM,EAAE,QAAQ,SAAU,OAAO;AAC3C,aAAO,KAAK,GAAG,QAAQ,CAAC,YAAiB;AACvC,YAAI,QAAQ,QAAQ,EAAE,YAAY,KAAK,QAAQ;AAC7C,mBAAS,YAAY,QAAQ,SAAS,IAAI,MAAM,OAAO,IAAI,gBAAgB,EAAE,SAAS,IAAI;AAAA,QAC5F;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ;AACN,QAAI,SAAS,KAAK;AAClB,WAAO,OAAO,QAAQ,IAAI,QAAQ,OAAO,IAAI,gBAAgB,CAAC;AAAA,EAChE;AACF;AAIA,MAAM,eAAe,KAAK,QAAQ,WAAW,IAAI;AAEjD,MAAM,qBAAqB,gCAAU,qBAA6B;AAChE,MAAI;AACJ,MAAI,eAAe,oBAAoB,mBAAmB,KAAK,oBAAoB,sBAAsB,KAAK;AAC9G,MAAI,iBAAiB,MAAM;AACzB,YAAQ,OAAO,mBAAmB;AAAA,EACpC,OAAO;AACL,QAAI,kBAAkB,oBAAoB,eAAe,cAAc,mBAAmB,KAAK,oBAAoB,eAAe,cAAc,sBAAsB,KAAK;AAC3K,QAAI,oBAAoB,MAAM;AAC5B,cAAQ,OAAO,eAAe,cAAc,mBAAmB;AAAA,IACjE,OAAO;AACL,cAAQ,QAAQ,QAAQ,aAAa,MAAM,OAAO,sBAAsB,CAAC;AAAA,IAC3E;AAAA,EACF;AACA,SAAO;AACT,GAd2B;AAgB3B,MAAM,4BAA4B,aAAa;AAAA,EAjP/C,OAiP+C;AAAA;AAAA;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,GAAQ;AAClB,UAAM,CAAC;AACP,SAAK,SAAS,OAAO,IAAI,QAAQ;AACjC,SAAK,WAAW,OAAO,IAAI,UAAU;AACrC,WAAO,MAAM,yCAAyC;AACtD,UAAM,eAAe;AACrB,UAAM,SAAS,aAAa;AAC5B,UAAM,UAAU,aAAa;AAC7B,SAAK,KAAK;AACV,iBAAa,IAAI,GAAG,QAAQ,CAAC,SAAc;AAEzC,UAAIC,iBAAgB,QAAQ,OAAO,YAAY;AAC/C,UAAIC,oBAAwB;AAAA,QAC1B,QAAQ,aAAa,KAAK,KAAK,IAAI;AAAA,MACrC;AACA,UAAIA,kBAAiB,eAAe,KAAKA,mBAAkBD,cAAa,GAAG;AACzE,QAAAC,kBAAiBD,cAAa,EAAE,KAAK,cAAc,IAAI;AAAA,MACzD;AAAA,IACF,CAAC;AAGD,QAAI,gBAAgB,QAAQ,OAAO,YAAY;AAC/C,QAAI,mBAAwB;AAAA,MAC1B,OAAO,aAAa,IAAI,KAAK,IAAI;AAAA,MACjC,QAAQ,aAAa,KAAK,KAAK,IAAI;AAAA,MACnC,OAAO,aAAa,IAAI,KAAK,IAAI;AAAA,MACjC,UAAU,aAAa,OAAO,KAAK,IAAI;AAAA,MACvC,WAAW,aAAa,QAAQ,KAAK,IAAI;AAAA,MACzC,WAAW,aAAa,QAAQ,KAAK,IAAI;AAAA,MACzC,SAAS,aAAa,MAAM,KAAK,IAAI;AAAA,MACrC,SAAS,aAAa,MAAM,KAAK,IAAI;AAAA,IACvC;AACA,QAAI,iBAAiB,eAAe,KAAK,kBAAkB,aAAa,GAAG;AACzE,uBAAiB,aAAa,EAAE,KAAK,YAAY;AAAA,IACnD;AAAA,EAGF;AAAA,EAEA,OAAO;AACL,QAAI,KAAK,MAAM,MAAM;AACnB,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI,KAAK,MAAM;AACf,UAAI,eAAe;AACnB,UAAI,OAAO,aAAa,YAAY,UAAU;AAC5C,qBAAa,UAAU,CAAC;AAAA,MAC1B;AACA,UAAI,OAAO,kBAAkB,aAAa;AAExC,YAAI,iBAAiB,OAAQ,OAAO,aAAa,QAAQ,QAAQ,UAAU,eAAgB,CAAC,GAAG,aAAa,EAAE,QAAQ,aAAa,QAAQ,QAAQ,MAAM,MAAM,IAAI;AAEjK,uBAAa,QAAQ,6BAA6B,IAAI;AAAA,QACxD,OAAO;AACL,iBAAO,MAAM,4BAA4B,aAAa,QAAQ,QAAQ,MAAM;AAC5E,iBAAO,MAAM,mCAAmC;AAChD,eAAK,OAAO,CAAC;AACb,cAAI;AACF,iBAAK,KAAK;AAAA,UACZ,SAAS,GAAQ;AAAA,UAAE;AAAA,QACrB;AAAA,MACF,OAAO;AACL,qBAAa,QAAQ,6BAA6B,IAAI;AAAA,MACxD;AACA,UAAI,OAAO,sBAAsB,aAAa;AAC5C,qBAAa,QAAQ,kCAAkC,IAAI,kBAAkB,SAAS;AAAA,MACxF,OAAO;AACL,qBAAa,QAAQ,kCAAkC,IAAI;AAAA,MAC7D;AACA,UAAI,OAAO,kBAAkB,aAAa;AACxC,qBAAa,QAAQ,8BAA8B,IAAI,CAAC,GAAG,aAAa,EAAE,KAAK,GAAG;AAAA,MACpF,OAAO;AACL,qBAAa,QAAQ,8BAA8B,IAAI;AAAA,MACzD;AACA,UAAI,OAAO,kBAAkB,aAAa;AACxC,qBAAa,QAAQ,8BAA8B,IAAI,CAAC,GAAG,aAAa,EAAE,KAAK,GAAG;AAAA,MACpF,OAAO;AACL,qBAAa,QAAQ,8BAA8B,IAAI;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AAAA,EAEA,KAAK,UAAe;AAClB,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,KAAK,UAAe;AAClB,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,IAAI,UAAe;AACjB,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,OAAO,UAAe;AACpB,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,QAAQ,UAAe;AACrB,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,QAAQ,UAAe;AACrB,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,MAAM,UAAe;AACnB,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,MAAM,UAAe;AACnB,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,eAAe,QAA6D;AAC1E,QAAI;AACF,aAAO,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC;AACtC,aAAO,IAAI;AAAA,IACb,SAAS,GAAQ;AACf,aAAO,MAAM,0DAA0D,EAAE,SAAS,CAAC;AAAA,IACrF;AAAA,EACF;AAAA,EAEA,OAAO;AACL,QAAI,eAAe;AACnB,QAAI,SAAS,aAAa;AAC1B,QAAI;AACF,aAAO,UAAU,KAAK,aAAa,OAAO;AAAA,IAC5C,SAAS,GAAQ;AACf,aAAO,MAAM,uDAAuD;AACpE,aAAO,MAAM,EAAE,SAAS,CAAC;AAAA,IAC3B;AACA,QAAI,aAAa,QAAQ,MAAM;AAC7B,mBAAa,eAAe,KAAK,cAAc,MAAM;AAAA,IACvD;AAAA,EACF;AAEF;AAEA,OAAO,mBAAmB;AAE1B,MAAM,2BAA2B,aAAa;AAAA,EArY9C,OAqY8C;AAAA;AAAA;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,GAAsE;AAChF,UAAM,CAAC;AACP,QAAI,OAAO;AACX,SAAK,OAAO;AACZ,SAAK,UAAU,EAAE,WAAW,CAAC;AAC7B,SAAK,SAAS,EAAE;AAChB,SAAK,UAAU,EAAE;AACjB,SAAK,iBAAiB,EAAE;AAGxB,QAAI,CAAC,KAAK,QAAQ,cAAc,CAAC,KAAK,QAAQ,UAAU;AACtD,YAAM,cAAc;AACpB,WAAK,QAAQ,WAAW,KAAK,QAAQ,YAAY;AACjD,WAAK,QAAQ,aAAa,KAAK,QAAQ,cAAc,OAAO,IAAI,yBAAyB,YAAY;AAAA,IACvG;AAGA,QAAI,CAAC,OAAO,IAAI,cAAc,GAAG;AAC/B,aAAO,IAAI,gBAAgB,KAAK,KAAK,QAAQ,IAAI,GAAG,QAAQ,CAAC;AAAA,IAC/D;AAEA,SAAK,kBAAkB;AACvB,SAAK,UAAU;AAAA,MACb,WAAW;AAAA,MACX,gBAAgB;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,SAAS,QAAa,UAAkB;AAGtC,QAAI;AACF,cAAQ,IAAI,oBAAoB,QAAQ;AACxC,YAAM,KAAK,GAAG,SAAS,UAAU,GAAG;AACpC,YAAM,OAAO,GAAG,UAAU,EAAE;AAC5B,YAAM,UAAU;AAAA,QACd,kBAAkB,KAAK;AAAA,QACvB,iBAAiB,KAAK,MAAM,YAAY;AAAA,QACxC,gBAAgB,KAAK,QAAQ,QAAQ;AAAA,QACrC,iBAAiB,OAAO,IAAI,gBAAgB,kBAAkB;AAAA,MAChE;AACA,aAAO,MAAM,kBAAkB,QAAQ;AACvC,SAAG,UAAU,EAAE;AACf,aAAO,UAAU,kBAAkB,QAAQ,gBAAgB,CAAC;AAC5D,aAAO,UAAU,iBAAiB,QAAQ,eAAe,CAAC;AAC1D,aAAO,UAAU,gBAAgB,QAAQ,cAAc,CAAC;AACxD,aAAO,UAAU,iBAAiB,QAAQ,eAAe,CAAC;AAG1D,UAAI,aAAa,GAAG,iBAAiB,QAAQ;AAG7C,iBAAW,GAAG,QAAQ,WAAY;AAEhC,mBAAW,KAAK,MAAM;AAAA,MACxB,CAAC;AAED,iBAAW,GAAG,OAAO,WAAY;AAC/B,eAAO,IAAI;AAAA,MACb,CAAC;AAGD,iBAAW,GAAG,SAAS,SAAU,KAAU;AACzC,eAAO,IAAI,GAAG;AAAA,MAChB,CAAC;AAAA,IAEH,SAAS,GAAQ;AACf,UAAI,EAAE,SAAS,IAAI;AACjB,cAAM,UAAU;AAAA,UACd,WAAW;AAAA,UACX,gBAAgB;AAAA,QAClB;AACA,eAAO,MAAM,+BAA+B;AAC5C,eAAO,GAAG,SAAS,MAAM;AACvB,kBAAQ,IAAI,gBAAgB,QAAQ;AAAA,QACtC,CAAC;AACD,eAAO,IAAI;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EAEA,oBAAoB;AAClB,QAAI,WAAW;AACf,aAAS,iBAAiB,IAAI,gBAAgB;AAAA,MAC5C,YAAY,SAAS,QAAQ;AAAA,MAC7B,UAAU,SAAS,QAAQ;AAAA,MAC3B,KAAK,SAAc,MAAW,aAAkB,YAAiB;AAC/D,iBAAS,UAAU;AACnB,YAAI,SAAS,SAAS;AACtB,YAAI,YAAY;AACd,iBAAO,MAAM,UAAU;AACvB,mBAAS,OAAO;AAEhB,iBAAO,MAAM,SAAS,IAAI;AAC1B,iBAAO,IAAI;AAAA,QACb,WAAW,QAAQ,SAAS,KAAK,KAAK;AACpC,mBAAS,SAAS,QAAQ,WAAW;AAAA,QACvC,OAAO;AACL,iBAAO,MAAM,OAAO;AAEpB,iBAAO,IAAI;AAAA,QACb;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EAEH;AAEF;AAEA,MAAM,0BAA0B,aAAa;AAAA,EAxf7C,OAwf6C;AAAA;AAAA;AAAA,EAE3C,YAAY;AAAA,IACV,aAAa;AAAA,IACb,MAAAE,QAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,OAAO;AAAA,EACT,GAAG;AACD,UAAM;AAAA,MACJ;AAAA,MACA,MAAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EAEH;AACF;AAIA,QAAQ,gDAAgD;AAAA,EACtD;AAAA,EAAqB;AAAA,EAAY;AAAA,EAAmB;AAEtD,CAAC;",
|
|
4
|
+
"sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\nimport { findPackageNodePath, Import, Package, InheritClass, CONFIG, logger, New, get, ClassFactory, Export } from \"qcobjects\";\nimport os from \"node:os\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\nimport http from \"node:http\";\nimport mime from \"mime\";\nimport { URL } from \"url\";\n\nimport { FileDispatcher } from \"./main-file\";\nimport { PipeLog } from \"./common-pipelog\";\n\nexport class HTTPServer extends InheritClass {\n interceptorInstances: any[];\n server: any;\n request: any;\n response: any;\n constructor({\n request = null,\n response = \"\",\n server = null,\n scriptname = \"\",\n interceptorInstances = []\n }: {\n request: any, response: any, server?: any, scriptname: string, interceptorInstances: any[]\n }) {\n super({\n request,\n response,\n server,\n scriptname,\n interceptorInstances\n });\n\n const oHTTPServer = this;\n const welcometo = \"Welcome to \\n\";\n const instructions = \"QCObjects Legacy HTTPServer \\n\";\n 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\\\" \";\n console.log(welcometo);\n console.log(logo);\n console.log(instructions);\n logger.debug(this.showIPAddress());\n logger.info(\"Listening on HTTP PORT: \" + CONFIG.get(\"serverPortHTTP\").toString());\n logger.info(\"Go to: \\n\" + this.showPossibleURL());\n this.interceptorInstances = interceptorInstances;\n\n\n oHTTPServer.server = http.createServer((req: any, res: any) => {\n\n });\n\n server = oHTTPServer.server;\n\n server?.on(\"error\", (err: any) => console.error(err));\n\n if (get(\"backendAvailable\")) {\n logger.info(\"Loading backend interceptors...\");\n const interceptors = CONFIG.get(\"backend\", {}).interceptors;\n if (typeof interceptors !== \"undefined\") {\n logger.info(\"Backend Interceptors Available\");\n interceptors.map((interceptor: { microservice: string; }) => {\n ImportMicroservice(interceptor.microservice);\n var interceptorClassFactory = ClassFactory(interceptor.microservice + \".Interceptor\");\n var interceptorInstance = New(interceptorClassFactory, {\n domain: CONFIG.get(\"domain\"),\n basePath: CONFIG.get(\"basePath\"),\n projectPath: CONFIG.get(\"projectPath\"),\n interceptor: interceptor,\n server: server\n });\n oHTTPServer.interceptorInstances.push(interceptorInstance);\n });\n }\n }\n\n server.on(\"request\", (req: { url: any; headers: any; method: any; }, res: { destroyed: any; writeHeader: (arg0: number, arg1: { \"content-type\": string; }) => void; on: (arg0: string, arg1: () => void) => void; write: (arg0: string) => void; end: () => void; }) => {\n\n const request = Object.assign(New(HTTPServerRequest), URL.parse(req.url));\n request.headers = req.headers;\n this.request = request;\n this.request.method = req.method;\n this.request.path = req.url;\n server.setMaxListeners(9999999999);\n CONFIG.set(\"backendTimeout\", CONFIG.get(\"backendTimeout\") || 20000);\n var timeoutHandler = () => {\n // end the stream on timeout\n try {\n if (!res.destroyed) {\n logger.info(\"A timeout occurred...\" + CONFIG.get(\"backendTimeout\").toString());\n logger.info(\"Killing session...\");\n\n res.writeHeader(500, {\n \"content-type\": \"text/html\"\n });\n res.on(\"error\", () => { });\n res.write(\"<h1>500 - INTERNAL SERVER ERROR (TIMEOUT)</h1>\");\n res.end();\n } else {\n logger.debug(\"Session was normally finishing...\");\n }\n } catch (e: any) {\n logger.debug(\"An unhandled error occurred during timeout catching...\");\n logger.debug(e.message);\n }\n server.removeListener(\"timeout\", timeoutHandler);\n\n };\n if (!res.destroyed) {\n server.setTimeout(CONFIG.get(\"backendTimeout\"), timeoutHandler);\n }\n\n if (this.request.pathname.indexOf(\".\") < 0) {\n this.request.scriptname = CONFIG.get(\"documentRootFileIndex\");\n } else {\n this.request.scriptname = this.request.pathname.split(\"/\").reverse()[0];\n }\n this.request.pathname = this.request.pathname.substr(0, this.request.pathname.lastIndexOf(\"/\"));\n\n logger.debug(PipeLog.pipe(this.request));\n\n if (get(\"backendAvailable\")) {\n logger.info(\"Backend GAE Microservices Available\");\n const routes = CONFIG.get(\"backend\").routes;\n const selectedRoute = routes.filter((route: { path: string; }) => {\n const standardRoutePath = route.path.replace(/{(.*?)}/g, \"(?<$1>.*)\");\n return (new RegExp(standardRoutePath, \"g\")).test(request.path);\n });\n if (selectedRoute.length > 0) {\n selectedRoute.map((route: { path: string; microservice: string; }) => {\n const standardRoutePath = route.path.replace(/{(.*?)}/g, \"(?<$1>.*)\"); //allowing {param}\n const selectedRouteParams = {\n ...[...request.path.matchAll((new RegExp(standardRoutePath, \"g\")))][0][\"groups\"]\n };\n ImportMicroservice(route.microservice);\n var microServiceClassFactory = ClassFactory(route.microservice + \".Microservice\");\n this.response = New(microServiceClassFactory, {\n domain: CONFIG.get(\"domain\"),\n basePath: CONFIG.get(\"basePath\"),\n projectPath: CONFIG.get(\"projectPath\"),\n route: route,\n routeParams: selectedRouteParams,\n server: server,\n stream: res,\n req: req,\n request: request\n });\n });\n } else {\n this.response = New(HTTPServerResponse, {\n server: server,\n stream: res,\n request: this.request\n });\n }\n\n } else {\n // ...\n\n this.response = New(HTTPServerResponse, {\n server: server,\n stream: res,\n request: this.request\n });\n\n }\n\n });\n\n }\n\n showIPAddress() {\n var _ret_ = \"\";\n var ifaces = os.networkInterfaces();\n Object.keys(ifaces).forEach(function (iface) {\n ifaces[iface]?.forEach(function (ipGroup: any) {\n _ret_ += iface + \": \" + PipeLog.pipe(ipGroup) + \"\\n\";\n });\n });\n return _ret_;\n }\n\n showPossibleURL() {\n var _ret_ = \"\";\n var ifaces = os.networkInterfaces();\n Object.keys(ifaces).forEach(function (iface) {\n ifaces[iface]?.forEach((ipGroup: any) => {\n if (ipGroup[\"family\"].toLowerCase() == \"ipv4\") {\n _ret_ += \"http://\" + ipGroup[\"address\"] + \":\" + CONFIG.get(\"serverPortHTTP\").toString() + \"/\\n\";\n }\n });\n });\n return _ret_;\n }\n\n start() {\n var server = this.server;\n server.listen(process.env.PORT || CONFIG.get(\"serverPortHTTP\"));\n }\n}\n\n\n\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nconst ImportMicroservice = function (microservicePackage: string) {\n var _ret_;\n var standardPath = findPackageNodePath(microservicePackage) || findPackageNodePath(microservicePackage + \".js\");\n if (standardPath !== null) {\n _ret_ = Import(microservicePackage);\n } else {\n var nonStandardPath = findPackageNodePath(absolutePath + \"/backend/\" + microservicePackage) || findPackageNodePath(absolutePath + \"/backend/\" + microservicePackage + \".js\");\n if (nonStandardPath !== null) {\n _ret_ = Import(absolutePath + \"/backend/\" + microservicePackage);\n } else {\n _ret_ = Promise.resolve(async () => (await import(microservicePackage))());\n }\n }\n return _ret_;\n};\n\nclass BackendMicroservice extends InheritClass {\n domain: any;\n basePath: any;\n server: any;\n request: any;\n req: any;\n get: any;\n route: any;\n headers: any;\n body!: object;\n stream: any;\n\n constructor(o: any) {\n super(o);\n this.domain = CONFIG.get(\"domain\");\n this.basePath = CONFIG.get(\"basePath\");\n logger.debug(\"Executing GAE HTTP BackendMicroservice \");\n const microservice = this;\n const server = microservice.server;\n const request = microservice.request;\n this.cors();\n microservice.req.on(\"data\", (data: any) => {\n // data from POST, GET\n var requestMethod = request.method.toLowerCase();\n var supportedMethods: any = {\n \"post\": microservice.post.bind(this),\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice, data);\n }\n });\n\n // data from POST, GET\n var requestMethod = request.method.toLowerCase();\n var supportedMethods: any = {\n \"get\": microservice.get.bind(this),\n \"head\": microservice.head.bind(this),\n \"put\": microservice.put.bind(this),\n \"delete\": microservice.delete.bind(this),\n \"connect\": microservice.connect.bind(this),\n \"options\": microservice.options.bind(this),\n \"trace\": microservice.trace.bind(this),\n \"patch\": microservice.patch.bind(this)\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice);\n }\n\n\n }\n\n cors() {\n if (this.route.cors) {\n const {\n allow_origins,\n allow_credentials,\n allow_methods,\n allow_headers\n } = this.route.cors;\n var microservice = this;\n if (typeof microservice.headers !== \"object\") {\n microservice.headers = {};\n }\n if (typeof allow_origins !== \"undefined\") {\n // an example of allow_origins is ['https://example.com','http://www.example.com']\n if (allow_origins == \"*\" || (typeof microservice.request.headers.origin == \"undefined\") || [...allow_origins].indexOf(microservice.request.headers.origin) !== -1) {\n // for compatibility with all browsers allways return a wildcard when the origin is allowed\n microservice.headers[\"Access-Control-Allow-Origin\"] = \"*\";\n } else {\n logger.debug(\"Origin is not allowed: \" + microservice.request.headers.origin);\n logger.debug(\"Forcing to finish the response...\");\n this.body = {};\n try {\n this.done();\n } catch (e: any) { }\n }\n } else {\n microservice.headers[\"Access-Control-Allow-Origin\"] = \"*\";\n }\n if (typeof allow_credentials !== \"undefined\") {\n microservice.headers[\"Access-Control-Allow-Credentials\"] = allow_credentials.toString();\n } else {\n microservice.headers[\"Access-Control-Allow-Credentials\"] = \"true\";\n }\n if (typeof allow_methods !== \"undefined\") {\n microservice.headers[\"Access-Control-Allow-Methods\"] = [...allow_methods].join(\",\");\n } else {\n microservice.headers[\"Access-Control-Allow-Methods\"] = \"GET, OPTIONS, POST\";\n }\n if (typeof allow_headers !== \"undefined\") {\n microservice.headers[\"Access-Control-Allow-Headers\"] = [...allow_headers].join(\",\");\n } else {\n microservice.headers[\"Access-Control-Allow-Headers\"] = \"*\";\n }\n }\n }\n\n head(formData: any) {\n this.done();\n }\n post(formData: any) {\n this.done();\n }\n put(formData: any) {\n this.done();\n }\n delete(formData: any) {\n this.done();\n }\n connect(formData: any) {\n this.done();\n }\n options(formData: any) {\n this.done();\n }\n trace(formData: any) {\n this.done();\n }\n patch(formData: any) {\n this.done();\n }\n finishWithBody(stream: { write: (arg0: string) => void; end: () => void; }) {\n try {\n stream.write(JSON.stringify(this.body));\n stream.end();\n } catch (e: any) {\n logger.debug(\"Something wrong writing the response for microservice\" + e.toString());\n }\n }\n\n done() {\n var microservice = this;\n var stream = microservice.stream;\n try {\n stream.writeHead(200, microservice.headers);\n } catch (e: any) {\n logger.debug(\"Something went wront while sending headers in http...\");\n logger.debug(e.toString());\n }\n if (microservice.body != null) {\n microservice.finishWithBody.call(microservice, stream);\n }\n }\n\n}\n\nExport(BackendMicroservice);\n\nclass HTTPServerResponse extends InheritClass {\n body!: string;\n stream: any;\n headers: { \":status\": number; \"content-type\": string; };\n fileDispatcher: any;\n request: any;\n constructor(o: { stream: any; request: any; headers: any; fileDispatcher: any; }) {\n super(o);\n var self = this;\n self.body = \"\";\n self.request = o.request || {};\n self.stream = o.stream;\n self.headers = o.headers;\n self.fileDispatcher = o.fileDispatcher;\n\n // Initialize request properties if not set\n if (!self.request.scriptname || !self.request.pathname) {\n const defaultPath = \"/\";\n self.request.pathname = self.request.pathname || defaultPath;\n self.request.scriptname = self.request.scriptname || CONFIG.get(\"documentRootFileIndex\", \"index.html\");\n }\n\n // Ensure documentRoot is set\n if (!CONFIG.get(\"documentRoot\")) {\n CONFIG.set(\"documentRoot\", path.join(process.cwd(), \"public\"));\n }\n\n self._generateResponse();\n this.headers = {\n \":status\": 200,\n \"content-type\": \"text/html\"\n };\n }\n\n sendFile(stream: any, fileName: string) {\n // read and send file content in the stream\n\n try {\n console.log(\"trying to read \" + fileName);\n const fd = fs.openSync(fileName, \"r\");\n const stat = fs.fstatSync(fd);\n const headers = {\n \"content-length\": stat.size,\n \"last-modified\": stat.mtime.toUTCString(),\n \"content-type\": mime.getType(fileName),\n \"cache-control\": CONFIG.get(\"cacheControl\", \"max-age=31536000\")\n };\n logger.debug(\"closing file \" + fileName);\n fs.closeSync(fd);\n stream.setHeader(\"content-length\", headers[\"content-length\"]);\n stream.setHeader(\"last-modified\", headers[\"last-modified\"]);\n stream.setHeader(\"content-type\", headers[\"content-type\"]);\n stream.setHeader(\"cache-control\", headers[\"cache-control\"]);\n\n // This line opens the file as a readable stream\n var readStream = fs.createReadStream(fileName);\n\n // This will wait until we know the readable stream is actually valid before piping\n readStream.on(\"open\", function () {\n // This just pipes the read stream to the response object (which goes to the client)\n readStream.pipe(stream);\n });\n\n readStream.on(\"end\", function () {\n stream.end();\n });\n\n // This catches any errors that happen while creating the readable stream (usually invalid names)\n readStream.on(\"error\", function (err: any) {\n stream.end(err);\n });\n\n } catch (e: any) {\n if (e.errno == -2) {\n const headers = {\n \":status\": 404,\n \"content-type\": \"text/html\"\n };\n stream.write(\"<h1>404 - FILE NOT FOUND</h1>\");\n stream.on(\"close\", () => {\n console.log(\"closing file\", fileName);\n });\n stream.end();\n }\n }\n }\n\n _generateResponse() {\n var response = this;\n response.fileDispatcher = New(FileDispatcher, {\n scriptname: response.request.scriptname,\n pathname: response.request.pathname,\n done(headers: any, body: any, templateURI: any, isTemplate: any) {\n response.headers = headers;\n var stream = response.stream;\n if (isTemplate) {\n logger.debug(\"TEMPLATE\");\n response.body = body;\n // stream.respond(response.headers);\n stream.write(response.body);\n stream.end();\n } else if (headers[\":status\"] == 200) {\n response.sendFile(stream, templateURI);\n } else {\n logger.debug(\"NONE \");\n // stream.respond(response.headers);\n stream.end();\n }\n }\n });\n\n }\n\n}\n\nclass HTTPServerRequest extends InheritClass {\n\n constructor({\n scriptname = \"\",\n path = \"\",\n method = \"\",\n url = \"\",\n headers = null,\n flags = null,\n protocol = null,\n slashes = null,\n auth = null,\n host = null,\n port = null,\n hostname = null,\n hash = null,\n search = \"\",\n query = \"\",\n pathname = \"\",\n href = \"\"\n }) {\n super({\n scriptname,\n path,\n method,\n url,\n headers,\n flags,\n protocol,\n slashes,\n auth,\n host,\n port,\n hostname,\n hash,\n search,\n query,\n pathname,\n href\n });\n\n }\n}\n\n\n\nPackage(\"org.quickcorp.qcobjects.main.http.gae.server\", [\n BackendMicroservice, HTTPServer, HTTPServerRequest, HTTPServerResponse\n\n]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["request", "requestMethod", "supportedMethods", "path"]
|
|
7
7
|
}
|
|
@@ -2,7 +2,7 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { findPackageNodePath, Import, Package, InheritClass, CONFIG, logger, New,
|
|
5
|
+
import { findPackageNodePath, Import, Package, InheritClass, CONFIG, logger, New, get, ClassFactory, Export } from "qcobjects";
|
|
6
6
|
import fs from "fs";
|
|
7
7
|
import mime from "mime";
|
|
8
8
|
import http from "http";
|
|
@@ -400,7 +400,7 @@ Y88b.Y8b88PY88b d88PY88b. .d88P888 d88P 888Y8b. Y88b. Y88b. X88 \r
|
|
|
400
400
|
logger.debug("Legacy Server Instantiated.");
|
|
401
401
|
});
|
|
402
402
|
this.server.on("error", (err) => console.error(err));
|
|
403
|
-
if (
|
|
403
|
+
if (get("backendAvailable")) {
|
|
404
404
|
logger.info("Loading backend interceptors...");
|
|
405
405
|
const interceptors = CONFIG.get("backend", {}).interceptors;
|
|
406
406
|
if (typeof interceptors !== "undefined") {
|
|
@@ -457,7 +457,7 @@ Y88b.Y8b88PY88b d88PY88b. .d88P888 d88P 888Y8b. Y88b. Y88b. X88 \r
|
|
|
457
457
|
}
|
|
458
458
|
this.request.pathname = this.request.pathname.substr(0, this.request.pathname.lastIndexOf("/"));
|
|
459
459
|
logger.debug(PipeLog.pipe(this.request));
|
|
460
|
-
if (
|
|
460
|
+
if (get("backendAvailable")) {
|
|
461
461
|
logger.info("Backend Legacy Microservices Available...");
|
|
462
462
|
logger.info("Loading backend routes...");
|
|
463
463
|
const routes = CONFIG.get("backend", {}).routes;
|