qcobjects-cli 2.5.158 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  2. package/.github/ISSUE_TEMPLATE/custom.md +0 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  4. package/.github/ISSUE_TEMPLATE/issue-template.md +0 -0
  5. package/.github/workflows/npmpublish.yml +2 -0
  6. package/CHANGELOG.md +9 -0
  7. package/LICENSE.txt +21 -0
  8. package/README.md +6 -1
  9. package/VERSION +1 -1
  10. package/package.json +12 -12
  11. package/public/browser/templates/pwa/sw.js +2 -11
  12. package/public/cjs/api-client_services.js +3 -12
  13. package/public/cjs/api-client_services.js.map +1 -1
  14. package/public/cjs/backend/backend-microservice-static.js +3 -12
  15. package/public/cjs/backend/backend-microservice-static.js.map +1 -1
  16. package/public/cjs/backend/backend-php.js +3 -12
  17. package/public/cjs/backend/backend-php.js.map +1 -1
  18. package/public/cjs/cli-commands-build-esbuild.js +3 -12
  19. package/public/cjs/cli-commands-build-esbuild.js.map +1 -1
  20. package/public/cjs/cli-commands-build-typescript.js +3 -12
  21. package/public/cjs/cli-commands-build-typescript.js.map +1 -1
  22. package/public/cjs/cli-commands-jira.js +3 -12
  23. package/public/cjs/cli-commands-jira.js.map +1 -1
  24. package/public/cjs/cli-commands-publish-static.js +3 -12
  25. package/public/cjs/cli-commands-publish-static.js.map +1 -1
  26. package/public/cjs/cli-commands-version.js +3 -12
  27. package/public/cjs/cli-commands-version.js.map +1 -1
  28. package/public/cjs/cli-commands.js +3 -12
  29. package/public/cjs/cli-commands.js.map +1 -1
  30. package/public/cjs/cli-main.js +45 -49
  31. package/public/cjs/cli-main.js.map +1 -1
  32. package/public/cjs/client_services.js +3 -12
  33. package/public/cjs/client_services.js.map +1 -1
  34. package/public/cjs/collab-server.js +3 -12
  35. package/public/cjs/collab-server.js.map +1 -1
  36. package/public/cjs/common-pipelog.js +3 -12
  37. package/public/cjs/common-pipelog.js.map +1 -1
  38. package/public/cjs/defaultsettings.js +3 -12
  39. package/public/cjs/defaultsettings.js.map +1 -1
  40. package/public/cjs/enterprise-commands.js +3 -12
  41. package/public/cjs/enterprise-commands.js.map +1 -1
  42. package/public/cjs/main-file.js +3 -12
  43. package/public/cjs/main-file.js.map +1 -1
  44. package/public/cjs/main-http-gae-server.js +3 -12
  45. package/public/cjs/main-http-gae-server.js.map +1 -1
  46. package/public/cjs/main-http-server.js +3 -12
  47. package/public/cjs/main-http-server.js.map +1 -1
  48. package/public/cjs/main-http2-server.js +3 -12
  49. package/public/cjs/main-http2-server.js.map +1 -1
  50. package/public/cjs/qcobjects-cli.js +3 -12
  51. package/public/cjs/qcobjects-cli.js.map +1 -1
  52. package/public/cjs/qcobjects-collab.js +3 -12
  53. package/public/cjs/qcobjects-collab.js.map +1 -1
  54. package/public/cjs/qcobjects-createcert.js +3 -12
  55. package/public/cjs/qcobjects-createcert.js.map +1 -1
  56. package/public/cjs/qcobjects-gae-http-server.js +3 -12
  57. package/public/cjs/qcobjects-gae-http-server.js.map +1 -1
  58. package/public/cjs/qcobjects-http-server.js +3 -12
  59. package/public/cjs/qcobjects-http-server.js.map +1 -1
  60. package/public/cjs/qcobjects-http2-server.js +3 -12
  61. package/public/cjs/qcobjects-http2-server.js.map +1 -1
  62. package/public/cjs/qcobjects-shell.js +3 -12
  63. package/public/cjs/qcobjects-shell.js.map +1 -1
  64. package/public/cjs/templates/pwa/sw.js +2 -11
  65. package/public/esm/api-client_services.mjs.map +2 -2
  66. package/public/esm/backend/backend-microservice-static.mjs.map +2 -2
  67. package/public/esm/backend/backend-php.mjs +5 -1
  68. package/public/esm/backend/backend-php.mjs.map +2 -2
  69. package/public/esm/cli-commands-build-esbuild.mjs.map +2 -2
  70. package/public/esm/cli-commands-build-typescript.mjs.map +2 -2
  71. package/public/esm/cli-commands-jira.mjs.map +2 -2
  72. package/public/esm/cli-commands-publish-static.mjs.map +2 -2
  73. package/public/esm/cli-commands-version.mjs +3 -3
  74. package/public/esm/cli-commands-version.mjs.map +2 -2
  75. package/public/esm/cli-commands.mjs.map +2 -2
  76. package/public/esm/cli-main.mjs +39 -32
  77. package/public/esm/cli-main.mjs.map +2 -2
  78. package/public/esm/client_services.mjs.map +2 -2
  79. package/public/esm/collab-server.mjs.map +2 -2
  80. package/public/esm/common-pipelog.mjs.map +2 -2
  81. package/public/esm/defaultsettings.mjs +25 -11
  82. package/public/esm/defaultsettings.mjs.map +2 -2
  83. package/public/esm/enterprise-commands.mjs.map +2 -2
  84. package/public/esm/main-file.mjs +2 -2
  85. package/public/esm/main-file.mjs.map +2 -2
  86. package/public/esm/main-http-gae-server.mjs.map +2 -2
  87. package/public/esm/main-http-server.mjs.map +2 -2
  88. package/public/esm/main-http2-server.mjs.map +2 -2
  89. package/public/esm/qcobjects-cli.mjs.map +2 -2
  90. package/public/esm/qcobjects-collab.mjs.map +2 -2
  91. package/public/esm/qcobjects-createcert.mjs.map +2 -2
  92. package/public/esm/qcobjects-gae-http-server.mjs.map +2 -2
  93. package/public/esm/qcobjects-http-server.mjs.map +2 -2
  94. package/public/esm/qcobjects-http2-server.mjs.map +2 -2
  95. package/public/esm/qcobjects-shell.mjs +5 -1
  96. package/public/esm/qcobjects-shell.mjs.map +2 -2
  97. package/public/esm/templates/pwa/sw.js +2 -11
  98. package/public/types/index.d.ts +9 -25
  99. package/src/api-client_services.ts +3 -12
  100. package/src/backend/backend-microservice-static.ts +3 -12
  101. package/src/backend/backend-php.ts +3 -12
  102. package/src/cli-commands-build-esbuild.ts +3 -12
  103. package/src/cli-commands-build-typescript.ts +3 -12
  104. package/src/cli-commands-jira.ts +3 -12
  105. package/src/cli-commands-publish-static.ts +3 -12
  106. package/src/cli-commands-version.ts +3 -12
  107. package/src/cli-commands.ts +3 -12
  108. package/src/cli-main.ts +18 -21
  109. package/src/client_services.ts +3 -12
  110. package/src/collab-server.ts +3 -12
  111. package/src/common-pipelog.ts +3 -12
  112. package/src/defaultsettings.ts +3 -12
  113. package/src/enterprise-commands.ts +3 -12
  114. package/src/main-file.ts +3 -12
  115. package/src/main-http-gae-server.ts +3 -12
  116. package/src/main-http-server.ts +3 -12
  117. package/src/main-http2-server.ts +3 -12
  118. package/src/qcobjects-cli.ts +3 -12
  119. package/src/qcobjects-collab.ts +3 -12
  120. package/src/qcobjects-createcert.ts +3 -12
  121. package/src/qcobjects-gae-http-server.ts +3 -12
  122. package/src/qcobjects-http-server.ts +3 -12
  123. package/src/qcobjects-http2-server.ts +3 -12
  124. package/src/qcobjects-shell.ts +3 -12
  125. package/src/templates/pwa/sw.js +2 -11
  126. package/bin/qcobjects-cli.js +0 -39
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli-commands.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\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\";\n\n// plugin commands here\n\nexport * as versionCommand from \"./cli-commands-version\";\nexport * as jiraCommand from \"./cli-commands-jira\";\nexport * as publishStatic from \"./cli-commands-publish-static\";\nexport * as buildTypescript from \"./cli-commands-build-typescript\";\nexport * as buildEsbuild from \"./cli-commands-build-esbuild\";"],
5
- "mappings": "AAkCA,YAAY,oBAAoB;AAChC,YAAY,iBAAiB;AAC7B,YAAY,mBAAmB;AAC/B,YAAY,qBAAqB;AACjC,YAAY,kBAAkB;",
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\";\n\n// plugin commands here\n\nexport * as versionCommand from \"./cli-commands-version\";\nexport * as jiraCommand from \"./cli-commands-jira\";\nexport * as publishStatic from \"./cli-commands-publish-static\";\nexport * as buildTypescript from \"./cli-commands-build-typescript\";\nexport * as buildEsbuild from \"./cli-commands-build-esbuild\";"],
5
+ "mappings": "AAyBA,YAAY,oBAAoB;AAChC,YAAY,iBAAiB;AAC7B,YAAY,mBAAmB;AAC/B,YAAY,qBAAqB;AACjC,YAAY,kBAAkB;",
6
6
  "names": []
7
7
  }
@@ -57,7 +57,7 @@ class SwitchCommander extends InheritClass {
57
57
  process.exit(1);
58
58
  return;
59
59
  }
60
- exec(`npm i --save-dev ${appTemplateName}`, () => {
60
+ exec(`npm i --save-dev --legacy-peer-deps ${appTemplateName}`, () => {
61
61
  (async () => {
62
62
  const _package_json_template_file = JSON.parse(fs.readFileSync(_package_json_template_fname, "utf8"));
63
63
  _package_json_template_file.name = appName;
@@ -67,47 +67,54 @@ class SwitchCommander extends InheritClass {
67
67
  logger.info("Good! App Templates was installed!");
68
68
  console.log(`Starting to copy files from app template ${appTemplateName} to your project...`);
69
69
  switchCommander.copyTemplate(path.resolve(findPackageNodePath(appTemplateName), appTemplateName), path.resolve(CONFIG.get("projectPath"), "./")).then(() => {
70
- exec("npm uninstall " + appTemplateName + " --save && npm cache verify", (err2) => {
70
+ exec("npm uninstall " + appTemplateName + " --save", (err2) => {
71
71
  if (err2) {
72
72
  throw Error(err2.message);
73
73
  process.exit(1);
74
74
  return;
75
75
  }
76
- execSync("npm install --save-dev qcobjects-cli ");
76
+ exec("npm cache verify", () => {
77
+ });
78
+ execSync("npm install --save-dev --legacy-peer-deps qcobjects-cli ");
77
79
  });
78
- exec("npm cache verify && npm i ", (err2) => {
79
- if (err2) {
80
- throw Error(err2.message);
81
- process.exit(1);
82
- return;
83
- }
84
- logger.info("Good! Your application is done. You can play with QCObjects now!");
85
- logger.info("I will create the SSL certificates now. It may take some time...");
86
- exec("qcobjects-createcert", () => {
87
- logger.info("Test certificates generated");
88
- const githubService = New(Service);
89
- githubService.url = "https://raw.githubusercontent.com/QuickCorp/QCObjects/main/.gitignore";
90
- githubService.headers = {
91
- Accept: "application/vnd.github+json",
92
- "X-GitHub-Api-Version": "2022-11-28",
93
- "User-Agent": "qcobjects-cli"
94
- };
95
- githubService.done = () => {
96
- };
97
- serviceLoader(githubService).then(({ service }) => {
98
- fs.writeFileSync(path.resolve(CONFIG.get("projectPath"), "./.gitignore"), service.template);
99
- try {
100
- execSync("git init");
101
- logger.debug("Git initialized.");
102
- } catch (e) {
103
- logger.debug("Could not initialize git.");
104
- }
80
+ exec("npm cache verify", () => {
81
+ exec("npm i --legacy-peer-deps ", (err2) => {
82
+ if (err2) {
83
+ throw Error(err2.message);
84
+ process.exit(1);
85
+ return;
86
+ }
87
+ logger.info("Good! Your application is done. You can play with QCObjects now!");
88
+ logger.info("I will create the SSL certificates now. It may take some time...");
89
+ exec("qcobjects-createcert", () => {
90
+ logger.info("Test certificates generated");
91
+ const githubService = New(Service);
92
+ githubService.url = "https://raw.githubusercontent.com/QCObjects/QCObjects/main/.gitignore";
93
+ githubService.headers = {
94
+ Accept: "application/vnd.github+json",
95
+ "X-GitHub-Api-Version": "2022-11-28",
96
+ "User-Agent": "qcobjects-cli"
97
+ };
98
+ githubService.done = () => {
99
+ };
100
+ githubService.fail = () => {
101
+ logger.debug("Could not fetch .gitignore from GitHub, skipping.");
102
+ };
103
+ serviceLoader(githubService).then(({ service }) => {
104
+ fs.writeFileSync(path.resolve(CONFIG.get("projectPath"), "./.gitignore"), service.template);
105
+ try {
106
+ execSync("git init");
107
+ logger.debug("Git initialized.");
108
+ } catch (e) {
109
+ logger.debug("Could not initialize git.");
110
+ }
111
+ });
112
+ }).stdout?.on("data", function(data) {
113
+ console.log(data);
105
114
  });
106
115
  }).stdout?.on("data", function(data) {
107
116
  console.log(data);
108
117
  });
109
- }).stdout?.on("data", function(data) {
110
- console.log(data);
111
118
  });
112
119
  }).catch((e) => {
113
120
  console.log(e);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli-main.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\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\";\n\nexport * as EnterpriseCommands from \"./enterprise-commands\";\nimport { Component, CONFIG, findPackageNodePath, InheritClass, logger, New, Service, serviceLoader, global, Package, Export } from \"qcobjects\";\nimport { QCObjectsEnterprise } from \"./enterprise-commands\";\nexport * as QuickCorpServices from \"./api-client_services\";\nimport { QuickCorpCloud } from \"./api-client_services\";\nexport * as customCommands from \"./cli-commands\";\nimport { __get_version__, __get_version_string__ } from \"./defaultsettings\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\nimport { exec, execSync } from \"node:child_process\";\nimport commander from \"commander\";\n\nconst templatePwaPath = path.resolve(__dirname, \"./templates/pwa/\") + \"/\";\n\nexport const getPluginCommandsList = () => {\n return global.ClassesList?.filter((c: { packageName: string; }) => c.packageName.startsWith(\"com.qcobjects.cli.commands.\"))\n .filter((p: { classFactory: { name: string; }; }) => p.classFactory.name.endsWith(\"CommandHandler\"));\n};\n\n\nexport class SwitchCommander extends InheritClass {\n\n choiceOption = {\n generateSw: (_appName: boolean, options: { dir: any; }) => {\n const dirPrefix = options.dir;\n const switchCommander = this;\n const appName = (typeof _appName === \"undefined\" || _appName === true) ? (\"MyAppName\") : (_appName);\n switchCommander.generateServiceWorker(appName, dirPrefix)\n .catch((e: any) => { logger.warn(`An error ocurred while creating service worker: ${e}`); });\n\n },\n create: (_appName: boolean, options: { createAmp: any; createPwa: any; createPhp: any; createCustom: any; }) => {\n const version = __get_version__();\n const switchCommander = this;\n const appName = (typeof _appName === \"undefined\" || _appName === true) ? (\"MyAppName\") : (_appName);\n\n\n let appTemplateName;\n\n if (options.createAmp) {\n appTemplateName = \"qcobjects-ecommerce-amp\";\n } else if (options.createPwa) {\n appTemplateName = \"qcobjectsnewapp\";\n } else if (options.createPhp) {\n appTemplateName = \"qcobjectsnewphp\";\n } else if (options.createCustom) {\n appTemplateName = options.createCustom;\n } else {\n appTemplateName = \"qcobjectsnewapp\";\n }\n CONFIG.set(\"qcobjectsnewapp_path\", CONFIG.get(\"node_modules_path\") + \"/\" + appTemplateName);\n\n const _package_json_template_fname = path.resolve(CONFIG.get(\"qcobjectsnewapp_path\", \"qcobjectsnewapp\"), \"./package.json\");\n\n /* if (!process.platform.toLowerCase().startsWith(\"win\")){\n _package_json_content = _package_json_content.replace(/(\")/g, String.fromCharCode(92)+\"\\\"\");\n }*/\n\n const createAppCommand = \"npm init -y\";\n const _package_json_file = path.resolve(CONFIG.get(\"projectPath\"), \"./package.json\");\n logger.debug(\"_package_json_file: \" + _package_json_file);\n logger.debug(createAppCommand);\n\n exec(createAppCommand, (err) => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n exec(`npm i --save-dev ${appTemplateName}`, () => {\n\n (async () => {\n const _package_json_template_file = await import(_package_json_template_fname);\n _package_json_template_file.name = appName;\n _package_json_template_file.version = \"1.0.0\";\n _package_json_template_file.repository = {};\n fs.writeFileSync(_package_json_file, JSON.stringify(_package_json_template_file, null, 4));\n logger.info(\"Good! App Templates was installed!\");\n\n console.log(`Starting to copy files from app template ${appTemplateName} to your project...`);\n\n switchCommander.copyTemplate(path.resolve(findPackageNodePath(appTemplateName), appTemplateName), path.resolve(CONFIG.get(\"projectPath\"), \"./\"))\n .then(() => {\n\n exec(\"npm uninstall \" + appTemplateName + \" --save && npm cache verify\", err => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n /*\n switchCommander.generateServiceWorker(appName)\n .then(()=>{\n execSync(\"npm install --save-dev qcobjects-cli \");\n });\n */\n execSync(\"npm install --save-dev qcobjects-cli \");\n });\n\n exec(\"npm cache verify && npm i \", (err) => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n logger.info(\"Good! Your application is done. You can play with QCObjects now!\");\n\n logger.info(\"I will create the SSL certificates now. It may take some time...\");\n exec(\"qcobjects-createcert\", () => {\n logger.info(\"Test certificates generated\");\n\n const githubService = New(Service);\n githubService.url = \"https://raw.githubusercontent.com/QuickCorp/QCObjects/main/.gitignore\";\n githubService.headers = {\n Accept: \"application/vnd.github+json\",\n \"X-GitHub-Api-Version\": \"2022-11-28\",\n \"User-Agent\": \"qcobjects-cli\"\n };\n githubService.done = () => { };\n serviceLoader(githubService)\n .then(({ service }: { service: any }) => {\n fs.writeFileSync(path.resolve(CONFIG.get(\"projectPath\"), \"./.gitignore\"), service.template);\n try {\n execSync(\"git init\");\n logger.debug(\"Git initialized.\");\n } catch (e) {\n logger.debug(\"Could not initialize git.\");\n }\n });\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n })\n .catch((e: any) => {\n console.log(e);\n });\n\n })().catch(e => console.error(e));\n\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n }).stdout?.on(\"data\", function () {\n console.log(\"App generation started...\");\n });\n\n },\n publish(_appName: any, _options: any) {\n logger.debug(\"publish is not yet implemented\");\n },\n upgradeToEnterprise(_appName: any, _options: any) {\n const switchCommander = this;\n void QCObjectsEnterprise.upgrade(switchCommander);\n }\n };\n program: any;\n\n constructor() {\n super();\n this.program = commander;\n }\n\n async shellCommands(_shell_commands: any[]) {\n const results: any[] = [];\n for (const shell_command of _shell_commands) {\n const result = await new Promise((resolve, reject) => {\n logger.debug(shell_command);\n const child = exec(shell_command, (err: any, stdout: unknown, stderr: any) => {\n if (!err) {\n resolve(stdout);\n } else {\n logger.debug(`[FAILED]: ${shell_command}`);\n logger.debug(`${stderr}`);\n reject(stderr as Error);\n }\n });\n child.stdout?.on(\"data\", function (data: any) {\n logger.info(data);\n });\n });\n results.push(result);\n }\n return results;\n }\n\n fileListRecursive(dir: string): string | string[] {\n var instance = this;\n return (fs.statSync(dir).isDirectory())\n ? (Array.prototype.concat(...fs.readdirSync(dir).map((f: any) => instance.fileListRecursive(path.join(dir, f))))\n .filter((f) => {\n return !f.startsWith(\".git\")\n && f.lastIndexOf(\".DS_Store\") == -1;\n })\n )\n : (dir);\n }\n\n register(email: any, phonenumber: any) {\n return new Promise(function (resolve, reject) {\n logger.info(\"I'm going to register your profile on the cloud...\");\n const cloudClient = New(QuickCorpCloud, {\n apiMethod: \"register\",\n data: { email: email, phonenumber: phonenumber }\n });\n // logger.debugEnabled = true;\n try {\n } catch (e) {\n console.log(\"\\u{1F926} Something went wrong \\u{1F926} when trying to register you in the cloud\");\n reject(e as Error);\n }\n\n });\n }\n\n generateServiceWorker(appName: any, dirPrefix = \"./\") {\n const writeContent = (component: any) => {\n const parsedText = component.parsedAssignmentText;\n logger.debug(\"Starting to write the sw file...\");\n fs.writeFile(`${dirPrefix}/sw.js`, parsedText, (err) => {\n if (err) {\n throw Error(err as never);\n }\n logger.info(\"Service Worker Generated\");\n console.log(\"\");\n console.log(\"Now simply put:\");\n console.log(\"CONFIG.set('serviceWorkerURI','/sw.js');\");\n console.log(\" In your init.js file \");\n console.log(\"\");\n console.log(\"To start your app in a local server \");\n console.log(\"Execute the command: \");\n console.log(\"> qcobjects launch <appname>\");\n console.log(\"\");\n });\n\n };\n\n\n class ServiceWorkerComponent extends Component {\n cached = false;\n templateURI = \"sw.js\";\n basePath = templatePwaPath;\n name = \"sw\";\n tplsource = \"default\";\n template = \"\";\n data: any;\n\n constructor({ name, data }: { name: string, data: any }) {\n super({ name, data });\n this.data = data;\n }\n\n done({ request, component }: { request: any, component: any }) {\n super.done({ request, component });\n writeContent(component);\n }\n }\n\n return new Promise(() => {\n var filelist = [\"/\"].concat(this.fileListRecursive(`${dirPrefix}`));\n if (typeof dirPrefix !== \"undefined\" && dirPrefix !== \"./\" && dirPrefix !== \".\") {\n filelist = filelist.map(f => f.replace(new RegExp(`${dirPrefix}/`), \"\"));\n }\n filelist = filelist.filter(function (fl) { return fl !== \"sw.js\" && (!fl.startsWith(\"node_modules/\")); });\n filelist = filelist.filter(fname => !fname.endsWith(\".pem\"));\n filelist = filelist.filter(fname => !fname.endsWith(\".sh\"));\n filelist = filelist.filter(fname => !(new RegExp(\"^package(.*).json$\")).test(fname));\n filelist = filelist.filter(fname => !fname.startsWith(\".\"));\n var fileListString = \"\\n\\t\\\"\" + filelist.join(\"\\\",\\n\\t\\\"\") + \"\\\"\";\n const component = new ServiceWorkerComponent({\n name: \"sw\",\n data: {\n appName: appName,\n appVersion: \"1.0.0\",\n filelist: fileListString\n }\n });\n\n setTimeout(() => {\n component.done({ request: null, component });\n }, 1000);\n\n\n });\n }\n\n copyTemplate(source: any, dest: any) {\n return new Promise<void>((resolve, reject) => {\n\n const copyDir = (source: any, dest: any, exclude: string[]) => {\n source = path.resolve(source);\n dest = path.resolve(dest);\n const dname = path.basename(source);\n const dirExcluded = (exclude.includes(dname));\n\n const isDir = (d: any) => {\n return (fs.existsSync(d) && fs.statSync(d).isDirectory()) ? (true) : (false);\n };\n\n const isFile = (d: any) => {\n return (fs.existsSync(d) && fs.statSync(d).isFile()) ? (true) : (false);\n };\n\n if (isDir(source) && !dirExcluded) {\n fs.mkdirSync(dest, { recursive: true });\n const paths = fs.readdirSync(source, { withFileTypes: true });\n const dirs = paths.filter((d: { isDirectory: () => any; }) => d.isDirectory());\n const files = paths.filter((f: { isFile: () => any; }) => f.isFile());\n ((paths, dirs, files, exclude) => {\n files.map((f: { name: any; }) => {\n const sourceFile = path.resolve(source, f.name);\n const destFile = path.resolve(dest, f.name);\n const fileExcluded = exclude.includes(f.name);\n if (isFile(sourceFile) && !fileExcluded) {\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude.join(\",\")}...`);\n fs.copyFileSync(sourceFile, destFile);\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude.join(\",\")}...DONE!`);\n }\n });\n dirs.map((d: { name: any; }) => {\n const sourceDir = path.resolve(source, d.name);\n const destDir = path.resolve(dest, d.name);\n copyDir(sourceDir, destDir, exclude);\n });\n })(paths, dirs, files, exclude);\n }\n\n };\n\n try {\n const exclude = [\n \"package.json\",\n \"node_modules\",\n \".DS_Store\"\n ];\n logger.info(`[create] Copying files from ${source} to ${dest} excluding ${exclude.join(\",\")}...`);\n copyDir(source, dest, (typeof exclude !== \"undefined\") ? (exclude) : ([]));\n resolve();\n } catch (e: any) {\n logger.warn(`Something went wrong trying to publish static files: ${e.message}`);\n reject(e as Error);\n }\n\n });\n\n }\n\n initCommand() {\n const switchCommander = this;\n if (process.argv.length > 1) {\n logger.debug(\"Installing Commands...\");\n\n switchCommander.program\n .version(__get_version_string__());\n switchCommander.program\n .command(\"create <appname>\")\n .description(\"Creates an app with <appname>\")\n .option(\"--pwa, --create-pwa\", \"Creates the progressive web app assets\")\n .option(\"--amp, --create-amp\", \"Creates the accelerated mobile pages assets\")\n .option(\"--php, --create-php\", \"Creates the PWA PHP assets\")\n .option(\"--custom, --create-custom <templateappname>\", \"Creates an App from any NPM package template\")\n .option(\"--tests, --create-tests\", \"Creates the test suite\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.create.call(switchCommander, args, options);\n });\n\n\n try {\n logger.debug(\"Loading Plugin Commands...\");\n const importPluginCommands = (switchCommander: any) => {\n return getPluginCommandsList()?.map((pluginCommand: { packageName: any; classFactory: any; plugin: any; }) => {\n try {\n logger.debug(`Loading plugin ${pluginCommand.packageName}`);\n const classFactory = pluginCommand.classFactory;\n pluginCommand.plugin = new classFactory({ switchCommander: switchCommander });\n } catch (e) {\n throw Error(`Something went wrong loading ${pluginCommand.packageName}`);\n }\n return pluginCommand;\n });\n };\n importPluginCommands(switchCommander);\n } catch (e: any) {\n throw Error(`Something went wrong loading plugins: ${e.message}`);\n }\n\n switchCommander.program.command(\"publish <appname>\")\n .description(\"Publishes an app with <appname>\")\n .option(\"--pwa, --create-pwa\", \"Publishes the progressive web app assets\")\n .option(\"--amp, --create-amp\", \"Publishes the accelerated mobile pages assets\")\n .option(\"--php, --create-php\", \"Creates the PWA PHP assets\")\n .option(\"--custom, --create-custom\", \"Creates an App from any NPM package template\")\n .option(\"--tests, --create-tests\", \"Publishes the test suite\")\n .action((args: any, options: any) => {\n switchCommander.choiceOption.publish.bind(switchCommander)(args, options);\n });\n\n switchCommander.program.command(\"upgrade-to-enterprise\")\n .description(\"Upgrades to QCObjects Enterprise Edition\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.upgradeToEnterprise.call(switchCommander, args, options);\n });\n switchCommander.program.command(\"generate-sw <appname>\")\n .option(\"-d, --dir <dirPrefix> \", \"creates the service worker in a specific dir <dirPrefix>\")\n .description(\"Generates the service worker <appname>\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.generateSw.call(switchCommander, args, options);\n });\n switchCommander.program.command(\"launch <appname>\")\n .description(\"Launches the application\")\n .action(function () {\n logger.info(\"Launching...\");\n setTimeout(() => {\n logger.info(\"Go to the browser and open https://localhost \");\n logger.info(\"Press Ctrl-C to stop serving \");\n exec(\"qcobjects-server\", () => {\n })\n .stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n }, 5000);\n // setTimeout(()=>{\n // execSync(\"open -a \\\"google chrome\\\" https://localhost\");\n // },6000);\n\n });\n\n switchCommander.program.on(\"--help\", function () {\n console.log(\"\");\n console.log(\"Use:\");\n console.log(\" $ qcobjects-cli [command] --help\");\n console.log(\" For detailed information of a command \");\n console.log(\"\");\n process.exit(0);\n });\n\n switchCommander.program.on(\"command:*\", function () {\n console.error(\"Invalid command: %s\\nSee --help for a list of available commands.\", switchCommander.program.args.join(\" \"));\n process.exit(1);\n });\n switchCommander.program.parse(process.argv);\n } else {\n console.log(\"\");\n console.log(\"Use:\");\n console.log(\" $ qcobjects-cli [command] --help\");\n console.log(\" For detailed information of a command \");\n console.log(\"\");\n process.exit(0);\n\n }\n\n }\n\n}\n\n\n\n\n CONFIG.set(\"node_modules_path\", \"./node_modules/\");\n CONFIG.set(\"qcobjectsnewapp_path\", CONFIG.get(\"node_modules_path\") + \"/qcobjectsnewapp\");\n\n\n Package(\"org.quickcorp.qcobjects.cli\", [\n\n SwitchCommander\n ]);\n Export(SwitchCommander);\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\";\n\nexport * as EnterpriseCommands from \"./enterprise-commands\";\nimport { Component, CONFIG, findPackageNodePath, InheritClass, logger, New, Service, serviceLoader, global, Package, Export } from \"qcobjects\";\nimport { QCObjectsEnterprise } from \"./enterprise-commands\";\nexport * as QuickCorpServices from \"./api-client_services\";\nimport { QuickCorpCloud } from \"./api-client_services\";\nexport * as customCommands from \"./cli-commands\";\nimport { __get_version__, __get_version_string__ } from \"./defaultsettings\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\nimport { exec, execSync } from \"node:child_process\";\nimport commander from \"commander\";\n\nconst templatePwaPath = path.resolve(__dirname, \"./templates/pwa/\") + \"/\";\n\nexport const getPluginCommandsList = () => {\n return global.ClassesList?.filter((c: { packageName: string; }) => c.packageName.startsWith(\"com.qcobjects.cli.commands.\"))\n .filter((p: { classFactory: { name: string; }; }) => p.classFactory.name.endsWith(\"CommandHandler\"));\n};\n\n\nexport class SwitchCommander extends InheritClass {\n\n choiceOption = {\n generateSw: (_appName: boolean, options: { dir: any; }) => {\n const dirPrefix = options.dir;\n const switchCommander = this;\n const appName = (typeof _appName === \"undefined\" || _appName === true) ? (\"MyAppName\") : (_appName);\n switchCommander.generateServiceWorker(appName, dirPrefix)\n .catch((e: any) => { logger.warn(`An error ocurred while creating service worker: ${e}`); });\n\n },\n create: (_appName: boolean, options: { createAmp: any; createPwa: any; createPhp: any; createCustom: any; }) => {\n const version = __get_version__();\n const switchCommander = this;\n const appName = (typeof _appName === \"undefined\" || _appName === true) ? (\"MyAppName\") : (_appName);\n\n\n let appTemplateName;\n\n if (options.createAmp) {\n appTemplateName = \"qcobjects-ecommerce-amp\";\n } else if (options.createPwa) {\n appTemplateName = \"qcobjectsnewapp\";\n } else if (options.createPhp) {\n appTemplateName = \"qcobjectsnewphp\";\n } else if (options.createCustom) {\n appTemplateName = options.createCustom;\n } else {\n appTemplateName = \"qcobjectsnewapp\";\n }\n CONFIG.set(\"qcobjectsnewapp_path\", CONFIG.get(\"node_modules_path\") + \"/\" + appTemplateName);\n\n const _package_json_template_fname = path.resolve(CONFIG.get(\"qcobjectsnewapp_path\", \"qcobjectsnewapp\"), \"./package.json\");\n\n /* if (!process.platform.toLowerCase().startsWith(\"win\")){\n _package_json_content = _package_json_content.replace(/(\")/g, String.fromCharCode(92)+\"\\\"\");\n }*/\n\n const createAppCommand = \"npm init -y\";\n const _package_json_file = path.resolve(CONFIG.get(\"projectPath\"), \"./package.json\");\n logger.debug(\"_package_json_file: \" + _package_json_file);\n logger.debug(createAppCommand);\n\n exec(createAppCommand, (err) => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n exec(`npm i --save-dev --legacy-peer-deps ${appTemplateName}`, () => {\n\n (async () => {\n const _package_json_template_file = await import(_package_json_template_fname);\n _package_json_template_file.name = appName;\n _package_json_template_file.version = \"1.0.0\";\n _package_json_template_file.repository = {};\n fs.writeFileSync(_package_json_file, JSON.stringify(_package_json_template_file, null, 4));\n logger.info(\"Good! App Templates was installed!\");\n\n console.log(`Starting to copy files from app template ${appTemplateName} to your project...`);\n\n switchCommander.copyTemplate(path.resolve(findPackageNodePath(appTemplateName), appTemplateName), path.resolve(CONFIG.get(\"projectPath\"), \"./\"))\n .then(() => {\n\n exec(\"npm uninstall \" + appTemplateName + \" --save\", err => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n exec(\"npm cache verify\", () => {\n // non-fatal \u2014 cache verify failures are ignored\n });\n\n /*\n switchCommander.generateServiceWorker(appName)\n .then(()=>{\n execSync(\"npm install --save-dev qcobjects-cli \");\n });\n */\n execSync(\"npm install --save-dev --legacy-peer-deps qcobjects-cli \");\n });\n\n exec(\"npm cache verify\", () => {\n exec(\"npm i --legacy-peer-deps \", (err) => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n logger.info(\"Good! Your application is done. You can play with QCObjects now!\");\n\n logger.info(\"I will create the SSL certificates now. It may take some time...\");\n exec(\"qcobjects-createcert\", () => {\n logger.info(\"Test certificates generated\");\n\n const githubService = New(Service);\n githubService.url = \"https://raw.githubusercontent.com/QCObjects/QCObjects/main/.gitignore\";\n githubService.headers = {\n Accept: \"application/vnd.github+json\",\n \"X-GitHub-Api-Version\": \"2022-11-28\",\n \"User-Agent\": \"qcobjects-cli\"\n };\n githubService.done = () => { };\n githubService.fail = () => {\n logger.debug(\"Could not fetch .gitignore from GitHub, skipping.\");\n };\n serviceLoader(githubService)\n .then(({ service }: { service: any }) => {\n fs.writeFileSync(path.resolve(CONFIG.get(\"projectPath\"), \"./.gitignore\"), service.template);\n try {\n execSync(\"git init\");\n logger.debug(\"Git initialized.\");\n } catch (e) {\n logger.debug(\"Could not initialize git.\");\n }\n });\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n });\n\n })\n .catch((e: any) => {\n console.log(e);\n });\n\n })().catch(e => console.error(e));\n\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n }).stdout?.on(\"data\", function () {\n console.log(\"App generation started...\");\n });\n\n },\n publish(_appName: any, _options: any) {\n logger.debug(\"publish is not yet implemented\");\n },\n upgradeToEnterprise(_appName: any, _options: any) {\n const switchCommander = this;\n void QCObjectsEnterprise.upgrade(switchCommander);\n }\n };\n program: any;\n\n constructor() {\n super();\n this.program = commander;\n }\n\n async shellCommands(_shell_commands: any[]) {\n const results: any[] = [];\n for (const shell_command of _shell_commands) {\n const result = await new Promise((resolve, reject) => {\n logger.debug(shell_command);\n const child = exec(shell_command, (err: any, stdout: unknown, stderr: any) => {\n if (!err) {\n resolve(stdout);\n } else {\n logger.debug(`[FAILED]: ${shell_command}`);\n logger.debug(`${stderr}`);\n reject(stderr as Error);\n }\n });\n child.stdout?.on(\"data\", function (data: any) {\n logger.info(data);\n });\n });\n results.push(result);\n }\n return results;\n }\n\n fileListRecursive(dir: string): string | string[] {\n var instance = this;\n return (fs.statSync(dir).isDirectory())\n ? (Array.prototype.concat(...fs.readdirSync(dir).map((f: any) => instance.fileListRecursive(path.join(dir, f))))\n .filter((f) => {\n return !f.startsWith(\".git\")\n && f.lastIndexOf(\".DS_Store\") == -1;\n })\n )\n : (dir);\n }\n\n register(email: any, phonenumber: any) {\n return new Promise(function (resolve, reject) {\n logger.info(\"I'm going to register your profile on the cloud...\");\n const cloudClient = New(QuickCorpCloud, {\n apiMethod: \"register\",\n data: { email: email, phonenumber: phonenumber }\n });\n // logger.debugEnabled = true;\n try {\n } catch (e) {\n console.log(\"\\u{1F926} Something went wrong \\u{1F926} when trying to register you in the cloud\");\n reject(e as Error);\n }\n\n });\n }\n\n generateServiceWorker(appName: any, dirPrefix = \"./\") {\n const writeContent = (component: any) => {\n const parsedText = component.parsedAssignmentText;\n logger.debug(\"Starting to write the sw file...\");\n fs.writeFile(`${dirPrefix}/sw.js`, parsedText, (err) => {\n if (err) {\n throw Error(err as never);\n }\n logger.info(\"Service Worker Generated\");\n console.log(\"\");\n console.log(\"Now simply put:\");\n console.log(\"CONFIG.set('serviceWorkerURI','/sw.js');\");\n console.log(\" In your init.js file \");\n console.log(\"\");\n console.log(\"To start your app in a local server \");\n console.log(\"Execute the command: \");\n console.log(\"> qcobjects launch <appname>\");\n console.log(\"\");\n });\n\n };\n\n\n class ServiceWorkerComponent extends Component {\n cached = false;\n templateURI = \"sw.js\";\n basePath = templatePwaPath;\n name = \"sw\";\n tplsource = \"default\";\n template = \"\";\n data: any;\n\n constructor({ name, data }: { name: string, data: any }) {\n super({ name, data });\n this.data = data;\n }\n\n done({ request, component }: { request: any, component: any }) {\n super.done({ request, component });\n writeContent(component);\n }\n }\n\n return new Promise(() => {\n var filelist = [\"/\"].concat(this.fileListRecursive(`${dirPrefix}`));\n if (typeof dirPrefix !== \"undefined\" && dirPrefix !== \"./\" && dirPrefix !== \".\") {\n filelist = filelist.map(f => f.replace(new RegExp(`${dirPrefix}/`), \"\"));\n }\n filelist = filelist.filter(function (fl) { return fl !== \"sw.js\" && (!fl.startsWith(\"node_modules/\")); });\n filelist = filelist.filter(fname => !fname.endsWith(\".pem\"));\n filelist = filelist.filter(fname => !fname.endsWith(\".sh\"));\n filelist = filelist.filter(fname => !(new RegExp(\"^package(.*).json$\")).test(fname));\n filelist = filelist.filter(fname => !fname.startsWith(\".\"));\n var fileListString = \"\\n\\t\\\"\" + filelist.join(\"\\\",\\n\\t\\\"\") + \"\\\"\";\n const component = new ServiceWorkerComponent({\n name: \"sw\",\n data: {\n appName: appName,\n appVersion: \"1.0.0\",\n filelist: fileListString\n }\n });\n\n setTimeout(() => {\n component.done({ request: null, component });\n }, 1000);\n\n\n });\n }\n\n copyTemplate(source: any, dest: any) {\n return new Promise<void>((resolve, reject) => {\n\n const copyDir = (source: any, dest: any, exclude: string[]) => {\n source = path.resolve(source);\n dest = path.resolve(dest);\n const dname = path.basename(source);\n const dirExcluded = (exclude.includes(dname));\n\n const isDir = (d: any) => {\n return (fs.existsSync(d) && fs.statSync(d).isDirectory()) ? (true) : (false);\n };\n\n const isFile = (d: any) => {\n return (fs.existsSync(d) && fs.statSync(d).isFile()) ? (true) : (false);\n };\n\n if (isDir(source) && !dirExcluded) {\n fs.mkdirSync(dest, { recursive: true });\n const paths = fs.readdirSync(source, { withFileTypes: true });\n const dirs = paths.filter((d: { isDirectory: () => any; }) => d.isDirectory());\n const files = paths.filter((f: { isFile: () => any; }) => f.isFile());\n ((paths, dirs, files, exclude) => {\n files.map((f: { name: any; }) => {\n const sourceFile = path.resolve(source, f.name);\n const destFile = path.resolve(dest, f.name);\n const fileExcluded = exclude.includes(f.name);\n if (isFile(sourceFile) && !fileExcluded) {\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude.join(\",\")}...`);\n fs.copyFileSync(sourceFile, destFile);\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude.join(\",\")}...DONE!`);\n }\n });\n dirs.map((d: { name: any; }) => {\n const sourceDir = path.resolve(source, d.name);\n const destDir = path.resolve(dest, d.name);\n copyDir(sourceDir, destDir, exclude);\n });\n })(paths, dirs, files, exclude);\n }\n\n };\n\n try {\n const exclude = [\n \"package.json\",\n \"node_modules\",\n \".DS_Store\"\n ];\n logger.info(`[create] Copying files from ${source} to ${dest} excluding ${exclude.join(\",\")}...`);\n copyDir(source, dest, (typeof exclude !== \"undefined\") ? (exclude) : ([]));\n resolve();\n } catch (e: any) {\n logger.warn(`Something went wrong trying to publish static files: ${e.message}`);\n reject(e as Error);\n }\n\n });\n\n }\n\n initCommand() {\n const switchCommander = this;\n if (process.argv.length > 1) {\n logger.debug(\"Installing Commands...\");\n\n switchCommander.program\n .version(__get_version_string__());\n switchCommander.program\n .command(\"create <appname>\")\n .description(\"Creates an app with <appname>\")\n .option(\"--pwa, --create-pwa\", \"Creates the progressive web app assets\")\n .option(\"--amp, --create-amp\", \"Creates the accelerated mobile pages assets\")\n .option(\"--php, --create-php\", \"Creates the PWA PHP assets\")\n .option(\"--custom, --create-custom <templateappname>\", \"Creates an App from any NPM package template\")\n .option(\"--tests, --create-tests\", \"Creates the test suite\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.create.call(switchCommander, args, options);\n });\n\n\n try {\n logger.debug(\"Loading Plugin Commands...\");\n const importPluginCommands = (switchCommander: any) => {\n return getPluginCommandsList()?.map((pluginCommand: { packageName: any; classFactory: any; plugin: any; }) => {\n try {\n logger.debug(`Loading plugin ${pluginCommand.packageName}`);\n const classFactory = pluginCommand.classFactory;\n pluginCommand.plugin = new classFactory({ switchCommander: switchCommander });\n } catch (e) {\n throw Error(`Something went wrong loading ${pluginCommand.packageName}`);\n }\n return pluginCommand;\n });\n };\n importPluginCommands(switchCommander);\n } catch (e: any) {\n throw Error(`Something went wrong loading plugins: ${e.message}`);\n }\n\n switchCommander.program.command(\"publish <appname>\")\n .description(\"Publishes an app with <appname>\")\n .option(\"--pwa, --create-pwa\", \"Publishes the progressive web app assets\")\n .option(\"--amp, --create-amp\", \"Publishes the accelerated mobile pages assets\")\n .option(\"--php, --create-php\", \"Creates the PWA PHP assets\")\n .option(\"--custom, --create-custom\", \"Creates an App from any NPM package template\")\n .option(\"--tests, --create-tests\", \"Publishes the test suite\")\n .action((args: any, options: any) => {\n switchCommander.choiceOption.publish.bind(switchCommander)(args, options);\n });\n\n switchCommander.program.command(\"upgrade-to-enterprise\")\n .description(\"Upgrades to QCObjects Enterprise Edition\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.upgradeToEnterprise.call(switchCommander, args, options);\n });\n switchCommander.program.command(\"generate-sw <appname>\")\n .option(\"-d, --dir <dirPrefix> \", \"creates the service worker in a specific dir <dirPrefix>\")\n .description(\"Generates the service worker <appname>\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.generateSw.call(switchCommander, args, options);\n });\n switchCommander.program.command(\"launch <appname>\")\n .description(\"Launches the application\")\n .action(function () {\n logger.info(\"Launching...\");\n setTimeout(() => {\n logger.info(\"Go to the browser and open https://localhost \");\n logger.info(\"Press Ctrl-C to stop serving \");\n exec(\"qcobjects-server\", () => {\n })\n .stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n }, 5000);\n // setTimeout(()=>{\n // execSync(\"open -a \\\"google chrome\\\" https://localhost\");\n // },6000);\n\n });\n\n switchCommander.program.on(\"--help\", function () {\n console.log(\"\");\n console.log(\"Use:\");\n console.log(\" $ qcobjects-cli [command] --help\");\n console.log(\" For detailed information of a command \");\n console.log(\"\");\n process.exit(0);\n });\n\n switchCommander.program.on(\"command:*\", function () {\n console.error(\"Invalid command: %s\\nSee --help for a list of available commands.\", switchCommander.program.args.join(\" \"));\n process.exit(1);\n });\n switchCommander.program.parse(process.argv);\n } else {\n console.log(\"\");\n console.log(\"Use:\");\n console.log(\" $ qcobjects-cli [command] --help\");\n console.log(\" For detailed information of a command \");\n console.log(\"\");\n process.exit(0);\n\n }\n\n }\n\n}\n\n\n\n\n CONFIG.set(\"node_modules_path\", \"./node_modules/\");\n CONFIG.set(\"qcobjectsnewapp_path\", CONFIG.get(\"node_modules_path\") + \"/qcobjectsnewapp\");\n\n\n Package(\"org.quickcorp.qcobjects.cli\", [\n\n SwitchCommander\n ]);\n Export(SwitchCommander);\n"],
5
+ "mappings": "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",
6
6
  "names": ["err", "source", "dest", "paths", "dirs", "files", "exclude", "switchCommander"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/client_services.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\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\";\n\nimport { Package, Service, logger } from \"qcobjects\";\n\nexport class JiraCloud extends Service {\n domain: string;\n basePath: string;\n username_password: string;\n username: any;\n password: any;\n headers: any;\n url: any;\n apiMethod: any;\n data: any;\n constructor({\n name = \"jira_cloud\",\n external = true,\n useHTTP2 = true,\n cached = false,\n method = \"POST\",\n headers = {\n \"accept\": \"application/json\",\n \"content-type\": \"application/json\"\n },\n basePath = \"\",\n url = \"\",\n withCredentials = false\n }) {\n super({\n name,\n external,\n useHTTP2,\n cached,\n method,\n headers,\n basePath,\n url,\n withCredentials\n });\n var o = this;\n this.domain = `${o.domain}`;\n this.basePath = `https://${this.domain}/`;\n this.username_password = `${o.username}:${o.password}`;\n this.headers[\"authorization\"] = `Basic ${Buffer.from(this.username_password).toString(\"base64\")}`;\n this.url = this.basePath + o.apiMethod;\n this.data = o.data;\n\n }\n\n done(service: any, standardResponse: any) {\n // service loaded\n logger.debug(standardResponse);\n }\n\n fail(e: any) {\n logger.debug(e);\n }\n\n}\n\nPackage(\"com.qcobjects.cli.commands.jira.client_services\", [\n JiraCloud\n]);\n"],
5
- "mappings": ";;AAgCA,SAAS,SAAS,SAAS,cAAc;AAElC,MAAM,kBAAkB,QAAQ;AAAA,EAlCvC,OAkCuC;AAAA;AAAA;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,MACR,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB;AAAA,IACA,WAAW;AAAA,IACX,MAAM;AAAA,IACN,kBAAkB;AAAA,EACpB,GAAG;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AACD,QAAI,IAAI;AACR,SAAK,SAAS,GAAG,EAAE,MAAM;AACzB,SAAK,WAAW,WAAW,KAAK,MAAM;AACtC,SAAK,oBAAoB,GAAG,EAAE,QAAQ,IAAI,EAAE,QAAQ;AACpD,SAAK,QAAQ,eAAe,IAAI,SAAS,OAAO,KAAK,KAAK,iBAAiB,EAAE,SAAS,QAAQ,CAAC;AAC/F,SAAK,MAAM,KAAK,WAAW,EAAE;AAC7B,SAAK,OAAO,EAAE;AAAA,EAEhB;AAAA,EAEA,KAAK,SAAc,kBAAuB;AAExC,WAAO,MAAM,gBAAgB;AAAA,EAC/B;AAAA,EAEA,KAAK,GAAQ;AACX,WAAO,MAAM,CAAC;AAAA,EAChB;AAEF;AAEA,QAAQ,mDAAmD;AAAA,EACzD;AACF,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\";\n\nimport { Package, Service, logger } from \"qcobjects\";\n\nexport class JiraCloud extends Service {\n domain: string;\n basePath: string;\n username_password: string;\n username: any;\n password: any;\n headers: any;\n url: any;\n apiMethod: any;\n data: any;\n constructor({\n name = \"jira_cloud\",\n external = true,\n useHTTP2 = true,\n cached = false,\n method = \"POST\",\n headers = {\n \"accept\": \"application/json\",\n \"content-type\": \"application/json\"\n },\n basePath = \"\",\n url = \"\",\n withCredentials = false\n }) {\n super({\n name,\n external,\n useHTTP2,\n cached,\n method,\n headers,\n basePath,\n url,\n withCredentials\n });\n var o = this;\n this.domain = `${o.domain}`;\n this.basePath = `https://${this.domain}/`;\n this.username_password = `${o.username}:${o.password}`;\n this.headers[\"authorization\"] = `Basic ${Buffer.from(this.username_password).toString(\"base64\")}`;\n this.url = this.basePath + o.apiMethod;\n this.data = o.data;\n\n }\n\n done(service: any, standardResponse: any) {\n // service loaded\n logger.debug(standardResponse);\n }\n\n fail(e: any) {\n logger.debug(e);\n }\n\n}\n\nPackage(\"com.qcobjects.cli.commands.jira.client_services\", [\n JiraCloud\n]);\n"],
5
+ "mappings": ";;AAuBA,SAAS,SAAS,SAAS,cAAc;AAElC,MAAM,kBAAkB,QAAQ;AAAA,EAzBvC,OAyBuC;AAAA;AAAA;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,MACR,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB;AAAA,IACA,WAAW;AAAA,IACX,MAAM;AAAA,IACN,kBAAkB;AAAA,EACpB,GAAG;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AACD,QAAI,IAAI;AACR,SAAK,SAAS,GAAG,EAAE,MAAM;AACzB,SAAK,WAAW,WAAW,KAAK,MAAM;AACtC,SAAK,oBAAoB,GAAG,EAAE,QAAQ,IAAI,EAAE,QAAQ;AACpD,SAAK,QAAQ,eAAe,IAAI,SAAS,OAAO,KAAK,KAAK,iBAAiB,EAAE,SAAS,QAAQ,CAAC;AAC/F,SAAK,MAAM,KAAK,WAAW,EAAE;AAC7B,SAAK,OAAO,EAAE;AAAA,EAEhB;AAAA,EAEA,KAAK,SAAc,kBAAuB;AAExC,WAAO,MAAM,gBAAgB;AAAA,EAC/B;AAAA,EAEA,KAAK,GAAQ;AACX,WAAO,MAAM,CAAC;AAAA,EAChB;AAEF;AAEA,QAAQ,mDAAmD;AAAA,EACzD;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/collab-server.ts"],
4
- "sourcesContent": ["\"use strict\";\n/**\n * QCObjects CLI 2.5\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\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": "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",
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": "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",
6
6
  "names": ["code", "output"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/common-pipelog.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\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\";\n\nimport {Package, InheritClass} from \"qcobjects\";\n\nexport class PipeLog extends InheritClass {\n\n static pipe(o:any) {\n var _o = [];\n for (var k in o) {\n if (typeof o[k] !== \"undefined\" &&\n o[k] !== null &&\n typeof o[k] !== \"function\") {\n try {\n _o.push(\"\" + k + \"=\" + o[k].toString());\n } catch (e) {\n // error logging, do nothing\n }\n }\n }\n return _o.join(\" \");\n }\n\n}\n\n\nPackage(\"org.qcobjects.common.pipelog\", [\n PipeLog\n]);"],
5
- "mappings": ";;AAgCA,SAAQ,SAAS,oBAAmB;AAE7B,MAAM,gBAAgB,aAAa;AAAA,EAlC1C,OAkC0C;AAAA;AAAA;AAAA,EAEtC,OAAO,KAAK,GAAO;AACf,QAAI,KAAK,CAAC;AACV,aAAS,KAAK,GAAG;AACb,UAAI,OAAO,EAAE,CAAC,MAAM,eAChB,EAAE,CAAC,MAAM,QACT,OAAO,EAAE,CAAC,MAAM,YAAY;AAC5B,YAAI;AACA,aAAG,KAAK,KAAK,IAAI,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC;AAAA,QAC1C,SAAS,GAAG;AAAA,QAEZ;AAAA,MACJ;AAAA,IACJ;AACA,WAAO,GAAG,KAAK,GAAG;AAAA,EACtB;AAEJ;AAGA,QAAQ,gCAAgC;AAAA,EACpC;AACJ,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\";\n\nimport {Package, InheritClass} from \"qcobjects\";\n\nexport class PipeLog extends InheritClass {\n\n static pipe(o:any) {\n var _o = [];\n for (var k in o) {\n if (typeof o[k] !== \"undefined\" &&\n o[k] !== null &&\n typeof o[k] !== \"function\") {\n try {\n _o.push(\"\" + k + \"=\" + o[k].toString());\n } catch (e) {\n // error logging, do nothing\n }\n }\n }\n return _o.join(\" \");\n }\n\n}\n\n\nPackage(\"org.qcobjects.common.pipelog\", [\n PipeLog\n]);"],
5
+ "mappings": ";;AAuBA,SAAQ,SAAS,oBAAmB;AAE7B,MAAM,gBAAgB,aAAa;AAAA,EAzB1C,OAyB0C;AAAA;AAAA;AAAA,EAEtC,OAAO,KAAK,GAAO;AACf,QAAI,KAAK,CAAC;AACV,aAAS,KAAK,GAAG;AACb,UAAI,OAAO,EAAE,CAAC,MAAM,eAChB,EAAE,CAAC,MAAM,QACT,OAAO,EAAE,CAAC,MAAM,YAAY;AAC5B,YAAI;AACA,aAAG,KAAK,KAAK,IAAI,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC;AAAA,QAC1C,SAAS,GAAG;AAAA,QAEZ;AAAA,MACJ;AAAA,IACJ;AACA,WAAO,GAAG,KAAK,GAAG;AAAA,EACtB;AAEJ;AAGA,QAAQ,gCAAgC;AAAA,EACpC;AACJ,CAAC;",
6
6
  "names": []
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 } from "qcobjects";
7
+ import { CONFIG, global, logger, _Crypt, findPackageNodePath, Export, Processor } 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");
@@ -41,9 +41,23 @@ Export(__get_version__);
41
41
  Export(__get_version_string__);
42
42
  Export(getProjectPath);
43
43
  const __load_default_settings__ = /* @__PURE__ */ __name(() => {
44
- CONFIG.set("domain", "$ENV(DOMAIN)");
45
- CONFIG.set("certificate_provider", "$ENV(CERTIFICATE_PROVIDER)");
46
- CONFIG.set("devmode", "$ENV(DEVMODE)");
44
+ function ENV(_component, arg) {
45
+ if (typeof process === "undefined") {
46
+ return "";
47
+ }
48
+ const commaIndex = arg.indexOf(",");
49
+ if (commaIndex === -1) {
50
+ return process.env[arg.trim()] ?? "";
51
+ }
52
+ const varName = arg.substring(0, commaIndex).trim();
53
+ const defaultValue = arg.substring(commaIndex + 1).trim();
54
+ return process.env[varName] ?? defaultValue;
55
+ }
56
+ __name(ENV, "ENV");
57
+ Processor.setProcessor(ENV);
58
+ CONFIG.set("domain", "$ENV(DOMAIN,localhost)");
59
+ CONFIG.set("certificate_provider", "$ENV(CERTIFICATE_PROVIDER,self_signed)");
60
+ CONFIG.set("devmode", "$ENV(DEVMODE,info)");
47
61
  CONFIG.set("autodiscover", true);
48
62
  CONFIG.set("autodiscover_commands", true);
49
63
  CONFIG.set("autodiscover_handlers", true);
@@ -58,18 +72,18 @@ const __load_default_settings__ = /* @__PURE__ */ __name(() => {
58
72
  CONFIG.set("private-key-pem", "$config(domain)-privkey.pem");
59
73
  CONFIG.set("private-cert-pem", "$config(domain)-cert.pem");
60
74
  CONFIG.set("enableShellCommands", true);
61
- CONFIG.set("OPENAI_API_KEY", "$ENV(OPENAI_API_KEY)");
75
+ CONFIG.set("OPENAI_API_KEY", "$ENV(OPENAI_API_KEY,)");
62
76
  const backend = {
63
77
  db_engine: {
64
- name: "$ENV(ENGINE_NAME)",
65
- databaseName: "$ENV(DATABASE_NAME)"
78
+ name: "$ENV(ENGINE_NAME,)",
79
+ databaseName: "$ENV(DATABASE_NAME,)"
66
80
  },
67
81
  auth: {
68
82
  enabled: true,
69
- defaultUser: "$ENV(DEFAULT_USER)",
70
- defaultPasswd: "$ENV(DEFAULT_PASSWORD)",
71
- microsoftapikey: "$ENV(MICROSOFT_API_KEY)",
72
- googleapikey: "$ENV(GOOGLE_API_KEY)"
83
+ defaultUser: "$ENV(DEFAULT_USER,)",
84
+ defaultPasswd: "$ENV(DEFAULT_PASSWORD,)",
85
+ microsoftapikey: "$ENV(MICROSOFT_API_KEY,)",
86
+ googleapikey: "$ENV(GOOGLE_API_KEY,)"
73
87
  },
74
88
  routes: []
75
89
  };