UNPKG

qcobjects-cli

Version:

qcobjects cli command line tool

8 lines (7 loc) 4.72 kB
{ "version": 3, "sources": ["../../src/qcobjects-createcert.ts"], "sourcesContent": ["#!/usr/bin/env node\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 path from \"node:path\";\nimport os from \"node:os\";\nimport \"./defaultsettings\";\nimport { InheritClass, CONFIG } from \"qcobjects\";\n\n(async () => {\n \"use strict\";\n const absolutePath = path.resolve(__dirname, \"./\");\n const templatePath = path.resolve(__dirname, \"./templates/apps/\") + \"/\";\n const isWindows = () => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return os.platform().toLowerCase().startsWith(\"win\");\n };\n const isMac = () => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return os.platform().toLowerCase().startsWith(\"darwin\");\n };\n\n const { execSync } = await import(\"node:child_process\");\n\n class Main extends InheritClass {\n constructor() {\n super();\n this.start();\n }\n\n start() {\n const certificate_provider = CONFIG.get(\"certificate_provider\", \"self_signed\");\n let stdout;\n switch (certificate_provider) {\n case \"self_signed\":\n // stderr is sent to stderr of parent process\n // you can set options.stdio if you want it to go elsewhere\n if (isWindows()) {\n stdout = execSync(\"openssl req -x509 -newkey rsa:2048 -nodes -sha256 -subj \\\"/CN=\" + CONFIG.get(\"domain\") + \"\\\" -keyout \" + CONFIG.get(\"private-key-pem\") + \" -out \" + CONFIG.get(\"private-cert-pem\"));\n } else {\n stdout = execSync(\"openssl req -x509 -newkey rsa:2048 -nodes -sha256 -subj '/CN=\" + CONFIG.get(\"domain\") + \"' -keyout \" + CONFIG.get(\"private-key-pem\") + \" -out \" + CONFIG.get(\"private-cert-pem\"));\n }\n break;\n case \"letsencrypt\":\n if (isWindows()) {\n throw Error(\"Letsencrypt certificate is not supported in Windows\");\n } else {\n var prehook_posthook = \"--pre-hook \\\"service qcobjects stop\\\" --post-hook=\\\"service qcobjects start\\\"\";\n stdout = execSync(`certbot -n -d ${CONFIG.get(\"domain\")} certonly --standalone ${prehook_posthook}`);\n }\n break;\n default:\n break;\n }\n\n }\n }\n\n const __main__ = new Main();\n})().catch(e => console.error(e));"], "mappings": ";;;AA+BA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,OAAO;AACP,SAAS,cAAc,cAAc;AAAA,CAEpC,YAAY;AACX;AACA,QAAM,eAAe,KAAK,QAAQ,WAAW,IAAI;AACjD,QAAM,eAAe,KAAK,QAAQ,WAAW,mBAAmB,IAAI;AACpE,QAAM,YAAY,6BAAM;AAEtB,WAAO,GAAG,SAAS,EAAE,YAAY,EAAE,WAAW,KAAK;AAAA,EACrD,GAHkB;AAIlB,QAAM,QAAQ,6BAAM;AAElB,WAAO,GAAG,SAAS,EAAE,YAAY,EAAE,WAAW,QAAQ;AAAA,EACxD,GAHc;AAKd,QAAM,EAAE,SAAS,IAAI,MAAM,OAAO,oBAAoB;AAAA,EAEtD,MAAM,aAAa,aAAa;AAAA,IAnDlC,OAmDkC;AAAA;AAAA;AAAA,IAC9B,cAAc;AACZ,YAAM;AACN,WAAK,MAAM;AAAA,IACb;AAAA,IAEA,QAAQ;AACN,YAAM,uBAAuB,OAAO,IAAI,wBAAwB,aAAa;AAC7E,UAAI;AACJ,cAAQ,sBAAsB;AAAA,QAC5B,KAAK;AAGH,cAAI,UAAU,GAAG;AACf,qBAAS,SAAS,kEAAmE,OAAO,IAAI,QAAQ,IAAI,gBAAiB,OAAO,IAAI,iBAAiB,IAAI,WAAW,OAAO,IAAI,kBAAkB,CAAC;AAAA,UACxM,OAAO;AACL,qBAAS,SAAS,kEAAkE,OAAO,IAAI,QAAQ,IAAI,gBAAgB,OAAO,IAAI,iBAAiB,IAAI,WAAW,OAAO,IAAI,kBAAkB,CAAC;AAAA,UACtM;AACA;AAAA,QACF,KAAK;AACH,cAAI,UAAU,GAAG;AACf,kBAAM,MAAM,qDAAqD;AAAA,UACnE,OAAO;AACL,gBAAI,mBAAmB;AACvB,qBAAS,SAAS,iBAAiB,OAAO,IAAI,QAAQ,CAAC,0BAA0B,gBAAgB,EAAE;AAAA,UACrG;AACA;AAAA,QACF;AACE;AAAA,MACJ;AAAA,IAEF;AAAA,EACF;AAEA,QAAM,WAAW,IAAI,KAAK;AAC5B,GAAG,EAAE,MAAM,OAAK,QAAQ,MAAM,CAAC,CAAC;", "names": [] }