qcobjects-cli 2.5.141-beta → 2.5.144-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/rules/collaboration-features.mdc +25 -0
- package/.cursor/rules/development-guidelines.mdc +37 -0
- package/.cursor/rules/project-structure.mdc +36 -0
- package/.dockerignore +0 -0
- package/.github/FUNDING.yml +0 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- package/.github/ISSUE_TEMPLATE/custom.md +0 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- package/.github/ISSUE_TEMPLATE/issue-template.md +0 -0
- package/.github/workflows/ci.yml +26 -0
- package/.github/workflows/codeql-analysis.yml +0 -0
- package/.github/workflows/main-pr-source.yml +26 -0
- package/.github/workflows/npmpublish-beta.yml +20 -13
- package/.github/workflows/npmpublish-lts.yml +20 -13
- package/.github/workflows/npmpublish-main.yml +19 -12
- package/.github/workflows/open-pr-to-development.yml +70 -0
- package/.gitlab-ci.yml +0 -0
- package/.opencode/instructions/git-workflow.md +46 -0
- package/.pre-commit-config.yaml +9 -0
- package/AGENTS.md +59 -0
- package/CHANGELOG.md +0 -0
- package/README.md +75 -0
- package/VERSION +1 -1
- package/build-esbuild-esm.js +180 -0
- package/build-esbuild.js +182 -208
- package/deno.json +0 -0
- package/dev-requirements.txt +5 -0
- package/eslint.config.mjs +0 -0
- package/mod.ts +0 -0
- package/package.json +48 -47
- package/public/browser/api-client_services.js.map +1 -1
- package/public/browser/backend/backend-microservice-static.js +211 -219
- package/public/browser/backend/backend-microservice-static.js.map +2 -2
- package/public/browser/backend/backend-php.js +227 -231
- package/public/browser/backend/backend-php.js.map +3 -3
- package/public/browser/cli-commands-build-esbuild.js +326 -0
- package/public/browser/cli-commands-build-esbuild.js.map +7 -0
- package/public/browser/cli-commands-build-typescript.js +114 -0
- package/public/browser/cli-commands-build-typescript.js.map +7 -0
- package/public/browser/cli-commands-jira.js.map +1 -1
- package/public/browser/cli-commands-version.js.map +1 -1
- package/public/browser/cli-commands.js +4 -0
- package/public/browser/cli-commands.js.map +2 -2
- package/public/browser/cli-main.js.map +1 -1
- package/public/browser/client_services.js.map +1 -1
- package/public/browser/collab-server.js.map +1 -1
- package/public/browser/common-pipelog.js.map +1 -1
- package/public/browser/defaultsettings.js +68 -27
- package/public/browser/defaultsettings.js.map +3 -3
- package/public/browser/enterprise-commands.js.map +1 -1
- package/public/browser/main-file.js.map +1 -1
- package/public/browser/main-http-gae-server.js +3 -0
- package/public/browser/main-http-gae-server.js.map +2 -2
- package/public/browser/main-http-server.js +3 -0
- package/public/browser/main-http-server.js.map +2 -2
- package/public/browser/main-http2-server.js +3 -0
- package/public/browser/main-http2-server.js.map +2 -2
- package/public/browser/qcobjects-cli.js.map +1 -1
- package/public/browser/qcobjects-collab.js +16 -24
- package/public/browser/qcobjects-collab.js.map +2 -2
- package/public/browser/qcobjects-createcert.js +46 -54
- package/public/browser/qcobjects-createcert.js.map +2 -2
- package/public/browser/qcobjects-gae-http-server.js +16 -24
- package/public/browser/qcobjects-gae-http-server.js.map +2 -2
- package/public/browser/qcobjects-http-server.js +16 -24
- package/public/browser/qcobjects-http-server.js.map +2 -2
- package/public/browser/qcobjects-http2-server.js +21 -30
- package/public/browser/qcobjects-http2-server.js.map +2 -2
- package/public/browser/qcobjects-shell.js.map +1 -1
- package/public/browser/templates/apps/spa-local.html +0 -0
- package/public/browser/templates/apps/spa-local.js +0 -0
- package/public/browser/templates/pwa/sw.js +0 -0
- package/public/browser/types/global/index.d.js +0 -9
- package/public/browser/types/global/index.d.js.map +3 -3
- package/public/cjs/api-client_services.js +74 -0
- package/public/cjs/api-client_services.js.map +1 -0
- package/public/cjs/backend/backend-microservice-static.js +255 -0
- package/public/cjs/backend/backend-microservice-static.js.map +1 -0
- package/public/cjs/backend/backend-php.js +317 -0
- package/public/cjs/backend/backend-php.js.map +1 -0
- package/public/cjs/cli-commands-build-esbuild.js +341 -0
- package/public/cjs/cli-commands-build-esbuild.js.map +1 -0
- package/public/cjs/cli-commands-build-typescript.js +127 -0
- package/public/cjs/cli-commands-build-typescript.js.map +1 -0
- package/public/cjs/cli-commands-jira.js +115 -0
- package/public/cjs/cli-commands-jira.js.map +1 -0
- package/public/cjs/cli-commands-publish-static.js +108 -0
- package/public/cjs/cli-commands-publish-static.js.map +1 -0
- package/public/cjs/cli-commands-version.js +250 -0
- package/public/cjs/cli-commands-version.js.map +1 -0
- package/public/cjs/cli-commands.js +73 -0
- package/public/cjs/cli-commands.js.map +1 -0
- package/public/cjs/cli-main.js +487 -0
- package/public/cjs/cli-main.js.map +1 -0
- package/public/cjs/client_services.js +80 -0
- package/public/cjs/client_services.js.map +1 -0
- package/public/cjs/collab-server.js +404 -0
- package/public/cjs/collab-server.js.map +1 -0
- package/public/cjs/common-pipelog.js +57 -0
- package/public/cjs/common-pipelog.js.map +1 -0
- package/public/cjs/defaultsettings.js +496 -0
- package/public/cjs/defaultsettings.js.map +1 -0
- package/public/cjs/enterprise-commands.js +173 -0
- package/public/cjs/enterprise-commands.js.map +1 -0
- package/public/cjs/index.js +38 -0
- package/public/cjs/index.js.map +1 -0
- package/public/cjs/main-file.js +161 -0
- package/public/cjs/main-file.js.map +1 -0
- package/public/cjs/main-http-gae-server.js +498 -0
- package/public/cjs/main-http-gae-server.js.map +1 -0
- package/public/cjs/main-http-server.js +540 -0
- package/public/cjs/main-http-server.js.map +1 -0
- package/public/cjs/main-http2-server.js +398 -0
- package/public/cjs/main-http2-server.js.map +1 -0
- package/public/cjs/qcobjects-cli.js +105 -0
- package/public/cjs/qcobjects-cli.js.map +1 -0
- package/public/cjs/qcobjects-collab.js +51 -0
- package/public/cjs/qcobjects-collab.js.map +1 -0
- package/public/cjs/qcobjects-createcert.js +89 -0
- package/public/cjs/qcobjects-createcert.js.map +1 -0
- package/public/cjs/qcobjects-gae-http-server.js +51 -0
- package/public/cjs/qcobjects-gae-http-server.js.map +1 -0
- package/public/cjs/qcobjects-http-server.js +51 -0
- package/public/cjs/qcobjects-http-server.js.map +1 -0
- package/public/cjs/qcobjects-http2-server.js +54 -0
- package/public/cjs/qcobjects-http2-server.js.map +1 -0
- package/public/cjs/qcobjects-shell.js +145 -0
- package/public/cjs/qcobjects-shell.js.map +1 -0
- package/public/cjs/templates/apps/spa-local.html +0 -0
- package/public/cjs/templates/apps/spa-local.js +0 -0
- package/public/cjs/templates/pwa/sw.js +0 -0
- package/public/esm/api-client_services.mjs.map +1 -1
- package/public/esm/backend/backend-microservice-static.mjs +207 -216
- package/public/esm/backend/backend-microservice-static.mjs.map +2 -2
- package/public/esm/backend/backend-php.mjs +228 -232
- package/public/esm/backend/backend-php.mjs.map +2 -2
- package/public/esm/cli-commands-build-esbuild.mjs +295 -0
- package/public/esm/cli-commands-build-esbuild.mjs.map +7 -0
- package/public/esm/cli-commands-build-typescript.mjs +83 -0
- package/public/esm/cli-commands-build-typescript.mjs.map +7 -0
- package/public/esm/cli-commands-jira.mjs +1 -1
- package/public/esm/cli-commands-jira.mjs.map +1 -1
- package/public/esm/cli-commands-version.mjs.map +1 -1
- package/public/esm/cli-commands.mjs +7 -3
- package/public/esm/cli-commands.mjs.map +2 -2
- package/public/esm/cli-main.mjs +6 -6
- package/public/esm/cli-main.mjs.map +1 -1
- package/public/esm/client_services.mjs.map +1 -1
- package/public/esm/collab-server.mjs.map +1 -1
- package/public/esm/common-pipelog.mjs.map +1 -1
- package/public/esm/defaultsettings.mjs +68 -27
- package/public/esm/defaultsettings.mjs.map +3 -3
- package/public/esm/enterprise-commands.mjs.map +1 -1
- package/public/esm/index.mjs +1 -1
- package/public/esm/main-file.mjs.map +1 -1
- package/public/esm/main-http-gae-server.mjs +5 -2
- package/public/esm/main-http-gae-server.mjs.map +2 -2
- package/public/esm/main-http-server.mjs +5 -2
- package/public/esm/main-http-server.mjs.map +2 -2
- package/public/esm/main-http2-server.mjs +5 -2
- package/public/esm/main-http2-server.mjs.map +2 -2
- package/public/esm/qcobjects-cli.mjs +2 -2
- package/public/esm/qcobjects-cli.mjs.map +1 -1
- package/public/esm/qcobjects-collab.mjs +14 -23
- package/public/esm/qcobjects-collab.mjs.map +2 -2
- package/public/esm/qcobjects-createcert.mjs +43 -52
- package/public/esm/qcobjects-createcert.mjs.map +2 -2
- package/public/esm/qcobjects-gae-http-server.mjs +14 -23
- package/public/esm/qcobjects-gae-http-server.mjs.map +2 -2
- package/public/esm/qcobjects-http-server.mjs +14 -23
- package/public/esm/qcobjects-http-server.mjs.map +2 -2
- package/public/esm/qcobjects-http2-server.mjs +21 -31
- package/public/esm/qcobjects-http2-server.mjs.map +2 -2
- package/public/esm/qcobjects-shell.mjs +1 -1
- package/public/esm/qcobjects-shell.mjs.map +1 -1
- package/public/esm/templates/apps/spa-local.html +0 -0
- package/public/esm/templates/apps/spa-local.js +0 -0
- package/public/esm/templates/pwa/sw.js +0 -0
- package/public/esm/types/global/index.d.mjs +0 -9
- package/public/esm/types/global/index.d.mjs.map +3 -3
- package/public/types/index.d.ts +29 -3
- package/spec/support/jasmine.json +0 -0
- package/spec/testsSpec.ts +0 -0
- package/src/api-client_services.ts +1 -1
- package/src/backend/backend-microservice-static.ts +196 -196
- package/src/backend/backend-php.ts +240 -245
- package/src/cli-commands-build-esbuild.ts +375 -0
- package/src/cli-commands-build-typescript.ts +139 -0
- package/src/cli-commands-jira.ts +1 -1
- package/src/cli-commands-publish-static.ts +0 -0
- package/src/cli-commands-version.ts +1 -1
- package/src/cli-commands.ts +3 -1
- package/src/cli-main.ts +1 -1
- package/src/client_services.ts +1 -1
- package/src/collab-server.ts +1 -1
- package/src/common-pipelog.ts +1 -1
- package/src/defaultsettings.ts +65 -19
- package/src/enterprise-commands.ts +1 -1
- package/src/index.ts +0 -0
- package/src/main-file.ts +1 -1
- package/src/main-http-gae-server.ts +6 -1
- package/src/main-http-server.ts +6 -1
- package/src/main-http2-server.ts +6 -1
- package/src/qcobjects-cli.ts +1 -1
- package/src/qcobjects-collab.ts +1 -1
- package/src/qcobjects-createcert.ts +1 -1
- package/src/qcobjects-gae-http-server.ts +1 -1
- package/src/qcobjects-http-server.ts +1 -1
- package/src/qcobjects-http2-server.ts +4 -5
- package/src/qcobjects-shell.ts +1 -1
- package/src/templates/apps/spa-local.html +0 -0
- package/src/templates/apps/spa-local.js +0 -0
- package/src/templates/pwa/sw.js +0 -0
- package/src/types/global/index.d.ts +0 -0
- package/transpile.js +0 -0
- package/tsconfig.d.json +0 -0
- package/tsconfig.jasmine.json +0 -0
- package/tsconfig.json +3 -3
- package/public/cjs/api-client_services.cjs +0 -79
- package/public/cjs/api-client_services.cjs.map +0 -7
- package/public/cjs/backend/backend-microservice-static.cjs +0 -245
- package/public/cjs/backend/backend-microservice-static.cjs.map +0 -7
- package/public/cjs/backend/backend-php.cjs +0 -301
- package/public/cjs/backend/backend-php.cjs.map +0 -7
- package/public/cjs/cli-commands-jira.cjs +0 -112
- package/public/cjs/cli-commands-jira.cjs.map +0 -7
- package/public/cjs/cli-commands-publish-static.cjs +0 -109
- package/public/cjs/cli-commands-publish-static.cjs.map +0 -7
- package/public/cjs/cli-commands-version.cjs +0 -252
- package/public/cjs/cli-commands-version.cjs.map +0 -7
- package/public/cjs/cli-commands.cjs +0 -45
- package/public/cjs/cli-commands.cjs.map +0 -7
- package/public/cjs/cli-main.cjs +0 -417
- package/public/cjs/cli-main.cjs.map +0 -7
- package/public/cjs/client_services.cjs +0 -86
- package/public/cjs/client_services.cjs.map +0 -7
- package/public/cjs/collab-server.cjs +0 -444
- package/public/cjs/collab-server.cjs.map +0 -7
- package/public/cjs/common-pipelog.cjs +0 -50
- package/public/cjs/common-pipelog.cjs.map +0 -7
- package/public/cjs/defaultsettings.cjs +0 -432
- package/public/cjs/defaultsettings.cjs.map +0 -7
- package/public/cjs/enterprise-commands.cjs +0 -175
- package/public/cjs/enterprise-commands.cjs.map +0 -7
- package/public/cjs/index.cjs +0 -36
- package/public/cjs/index.cjs.map +0 -7
- package/public/cjs/main-file.cjs +0 -194
- package/public/cjs/main-file.cjs.map +0 -7
- package/public/cjs/main-http-gae-server.cjs +0 -519
- package/public/cjs/main-http-gae-server.cjs.map +0 -7
- package/public/cjs/main-http-server.cjs +0 -585
- package/public/cjs/main-http-server.cjs.map +0 -7
- package/public/cjs/main-http2-server.cjs +0 -428
- package/public/cjs/main-http2-server.cjs.map +0 -7
- package/public/cjs/qcobjects-cli.cjs +0 -92
- package/public/cjs/qcobjects-cli.cjs.map +0 -7
- package/public/cjs/qcobjects-collab.cjs +0 -43
- package/public/cjs/qcobjects-collab.cjs.map +0 -7
- package/public/cjs/qcobjects-createcert.cjs +0 -75
- package/public/cjs/qcobjects-createcert.cjs.map +0 -7
- package/public/cjs/qcobjects-gae-http-server.cjs +0 -43
- package/public/cjs/qcobjects-gae-http-server.cjs.map +0 -7
- package/public/cjs/qcobjects-http-server.cjs +0 -43
- package/public/cjs/qcobjects-http-server.cjs.map +0 -7
- package/public/cjs/qcobjects-http2-server.cjs +0 -49
- package/public/cjs/qcobjects-http2-server.cjs.map +0 -7
- package/public/cjs/qcobjects-shell.cjs +0 -185
- package/public/cjs/qcobjects-shell.cjs.map +0 -7
- package/public/cjs/types/global/index.d.cjs +0 -2
- package/public/cjs/types/global/index.d.cjs.map +0 -7
- package/public/types/index.d.ts.map +0 -1
- package/src/index.cts +0 -2
- package/src/index.mts +0 -2
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QCObjects CLI 2.5
|
|
3
|
+
* ________________
|
|
4
|
+
*
|
|
5
|
+
* Author: Jean Machuca <correojean@gmail.com>
|
|
6
|
+
*
|
|
7
|
+
* Cross Browser Javascript Framework for MVC Patterns
|
|
8
|
+
* QuickCorp/QCObjects is licensed under the
|
|
9
|
+
* GNU Lesser General Public License v3.0
|
|
10
|
+
* [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)
|
|
11
|
+
*
|
|
12
|
+
* Permissions of this copyleft license are conditioned on making available
|
|
13
|
+
* complete source code of licensed works and modifications under the same
|
|
14
|
+
* license or the GNU GPLv3. Copyright and license notices must be preserved.
|
|
15
|
+
* Contributors provide an express grant of patent rights. However, a larger
|
|
16
|
+
* work using the licensed work through interfaces provided by the licensed
|
|
17
|
+
* work may be distributed under different terms and without source code for
|
|
18
|
+
* the larger work.
|
|
19
|
+
*
|
|
20
|
+
* Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>
|
|
21
|
+
*
|
|
22
|
+
* Everyone is permitted to copy and distribute verbatim copies of this
|
|
23
|
+
* license document, but changing it is not allowed.
|
|
24
|
+
*/
|
|
25
|
+
/*eslint no-unused-vars: "off"*/
|
|
26
|
+
/*eslint no-redeclare: "off"*/
|
|
27
|
+
/*eslint no-empty: "off"*/
|
|
28
|
+
/*eslint strict: "off"*/
|
|
29
|
+
/*eslint no-mixed-operators: "off"*/
|
|
30
|
+
/*eslint no-undef: "off"*/
|
|
31
|
+
"use strict";
|
|
32
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
33
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
|
+
};
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CommandHandler = void 0;
|
|
37
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
38
|
+
const node_fs_1 = require("node:fs");
|
|
39
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
40
|
+
const glob_1 = __importDefault(require("glob"));
|
|
41
|
+
const esbuild_1 = __importDefault(require("esbuild"));
|
|
42
|
+
const esbuild_plugin_alias_1 = __importDefault(require("esbuild-plugin-alias"));
|
|
43
|
+
const qcobjects_1 = require("qcobjects");
|
|
44
|
+
const externalPackages = [
|
|
45
|
+
"node:fs", "node:path", "node:os", "node:util", "node:events",
|
|
46
|
+
"node:stream", "node:http", "node:https", "node:crypto", "node:zlib",
|
|
47
|
+
"node:buffer", "node:url", "node:querystring", "node:child_process",
|
|
48
|
+
"node:cluster", "node:dgram", "node:dns", "node:net", "node:readline",
|
|
49
|
+
"node:repl", "node:tls", "node:tty", "node:vm", "node:worker_threads"
|
|
50
|
+
];
|
|
51
|
+
// Function to detect and add the extension
|
|
52
|
+
const nameToExtension = (name, ext, settings) => {
|
|
53
|
+
function isPackage(name) {
|
|
54
|
+
return !name.startsWith(".") && !name.startsWith("/") && !name.includes("/");
|
|
55
|
+
}
|
|
56
|
+
const hasExtension = /\.[^/\\]+$/.test(name);
|
|
57
|
+
const isExternalPackage = name.startsWith("qcobjects") ||
|
|
58
|
+
name.startsWith("qcobjects-sdk") ||
|
|
59
|
+
name.startsWith("node:") ||
|
|
60
|
+
name.startsWith("fs") ||
|
|
61
|
+
name.startsWith("path") ||
|
|
62
|
+
name.startsWith("os") ||
|
|
63
|
+
name.startsWith("util") ||
|
|
64
|
+
name.startsWith("events") ||
|
|
65
|
+
name.startsWith("stream") ||
|
|
66
|
+
name.startsWith("http") ||
|
|
67
|
+
name.startsWith("https") ||
|
|
68
|
+
name.startsWith("crypto") ||
|
|
69
|
+
name.startsWith("zlib") ||
|
|
70
|
+
name.startsWith("buffer") ||
|
|
71
|
+
name.startsWith("url") ||
|
|
72
|
+
name.startsWith("querystring") ||
|
|
73
|
+
name.startsWith("child_process") ||
|
|
74
|
+
name.startsWith("cluster") ||
|
|
75
|
+
name.startsWith("dgram") ||
|
|
76
|
+
name.startsWith("dns") ||
|
|
77
|
+
name.startsWith("net") ||
|
|
78
|
+
name.startsWith("readline") ||
|
|
79
|
+
name.startsWith("repl") ||
|
|
80
|
+
name.startsWith("tls") ||
|
|
81
|
+
name.startsWith("tty") ||
|
|
82
|
+
name.startsWith("vm") ||
|
|
83
|
+
name.startsWith("worker_threads")
|
|
84
|
+
|| externalPackages.includes(name);
|
|
85
|
+
if (!hasExtension && !isPackage(name) && !isExternalPackage) {
|
|
86
|
+
name += ext;
|
|
87
|
+
}
|
|
88
|
+
return name;
|
|
89
|
+
};
|
|
90
|
+
// Function to add .cjs and .mjs extensions to import/export/require statements
|
|
91
|
+
const addExtensions = (filePath, toExt, settings) => {
|
|
92
|
+
const content = (0, node_fs_1.readFileSync)(filePath, "utf8");
|
|
93
|
+
const updatedContent = content
|
|
94
|
+
.replace(/(from\s+['"])(.*?)(['"])/g, (match, p1, p2, p3) => {
|
|
95
|
+
return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;
|
|
96
|
+
})
|
|
97
|
+
.replace(/(import\s+['"])(.*?)(['"])/g, (match, p1, p2, p3) => {
|
|
98
|
+
return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;
|
|
99
|
+
})
|
|
100
|
+
.replace(/(export\s+['"])(.*?)(['"])/g, (match, p1, p2, p3) => {
|
|
101
|
+
return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;
|
|
102
|
+
})
|
|
103
|
+
.replace(/(require\s*\(\s*['"])(.*?)(['"]\s*\))/g, (match, p1, p2, p3) => {
|
|
104
|
+
return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;
|
|
105
|
+
});
|
|
106
|
+
(0, node_fs_1.writeFileSync)(filePath, updatedContent, "utf8");
|
|
107
|
+
};
|
|
108
|
+
const copyDir = async (source, dest, exclude) => {
|
|
109
|
+
source = node_path_1.default.resolve(source);
|
|
110
|
+
dest = node_path_1.default.resolve(dest);
|
|
111
|
+
const dname = node_path_1.default.basename(source);
|
|
112
|
+
const dirExcluded = exclude.includes(dname);
|
|
113
|
+
const isDir = async (d) => {
|
|
114
|
+
try {
|
|
115
|
+
const stat = await promises_1.default.stat(d);
|
|
116
|
+
return stat.isDirectory();
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
const isFile = async (d) => {
|
|
123
|
+
try {
|
|
124
|
+
const stat = await promises_1.default.stat(d);
|
|
125
|
+
return stat.isFile();
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
if (await isDir(source) && !dirExcluded) {
|
|
132
|
+
await promises_1.default.mkdir(dest, { recursive: true });
|
|
133
|
+
const paths = await promises_1.default.readdir(source, { withFileTypes: true });
|
|
134
|
+
const dirs = paths.filter(d => d.isDirectory());
|
|
135
|
+
const files = paths.filter(f => f.isFile());
|
|
136
|
+
for (const f of files) {
|
|
137
|
+
const sourceFile = node_path_1.default.resolve(source, f.name);
|
|
138
|
+
const destFile = node_path_1.default.resolve(dest, f.name);
|
|
139
|
+
const fileExcluded = exclude.includes(f.name);
|
|
140
|
+
if (await isFile(sourceFile) && !fileExcluded) {
|
|
141
|
+
qcobjects_1.logger.debug(`[build:esbuild] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...`);
|
|
142
|
+
await promises_1.default.copyFile(sourceFile, destFile);
|
|
143
|
+
qcobjects_1.logger.debug(`[build:esbuild] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...DONE!`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
for (const d of dirs) {
|
|
147
|
+
const sourceDir = node_path_1.default.resolve(source, d.name);
|
|
148
|
+
const destDir = node_path_1.default.resolve(dest, d.name);
|
|
149
|
+
await copyDir(sourceDir, destDir, exclude);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
const ignorePlugin = {
|
|
154
|
+
name: "transform-qcobjects-imports",
|
|
155
|
+
setup(build) {
|
|
156
|
+
build.onResolve({ filter: /^(qcobjects|qcobjects-sdk)$/ }, (args) => {
|
|
157
|
+
if (args.kind === "dynamic-import") {
|
|
158
|
+
return {
|
|
159
|
+
path: args.path,
|
|
160
|
+
namespace: "qcobjects-transform"
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
return {
|
|
164
|
+
external: true,
|
|
165
|
+
path: args.path
|
|
166
|
+
};
|
|
167
|
+
});
|
|
168
|
+
build.onResolve({ filter: /.*/, namespace: "file" }, (args) => {
|
|
169
|
+
if (args.kind === "dynamic-import") {
|
|
170
|
+
return {
|
|
171
|
+
external: true,
|
|
172
|
+
path: args.path
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
return null;
|
|
176
|
+
});
|
|
177
|
+
build.onLoad({ filter: /.*/, namespace: "qcobjects-transform" }, (args) => {
|
|
178
|
+
return {
|
|
179
|
+
contents: `
|
|
180
|
+
module.exports = __toESM(require("${args.path}"), true);
|
|
181
|
+
`,
|
|
182
|
+
loader: "js"
|
|
183
|
+
};
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
class CommandHandler extends qcobjects_1.InheritClass {
|
|
188
|
+
choiceOption;
|
|
189
|
+
constructor({ switchCommander }) {
|
|
190
|
+
super({ switchCommander });
|
|
191
|
+
this.choiceOption = {
|
|
192
|
+
async build_esbuild() {
|
|
193
|
+
try {
|
|
194
|
+
qcobjects_1.logger.info("[build:esbuild] Starting esbuild process...");
|
|
195
|
+
// Get all TypeScript entry points
|
|
196
|
+
const entryPoints = glob_1.default.sync("src/**/*.ts");
|
|
197
|
+
// Copy templates
|
|
198
|
+
await copyDir("./src/templates", "./build/templates", []);
|
|
199
|
+
await copyDir("./src/templates", "./public/cjs/templates", []);
|
|
200
|
+
await copyDir("./src/templates", "./public/esm/templates", []);
|
|
201
|
+
await copyDir("./src/templates", "./public/browser/templates", []);
|
|
202
|
+
const baseSettings = {
|
|
203
|
+
entryPoints,
|
|
204
|
+
bundle: false,
|
|
205
|
+
outdir: "public/cjs",
|
|
206
|
+
format: "cjs",
|
|
207
|
+
target: ["node22"],
|
|
208
|
+
tsconfig: "tsconfig.json",
|
|
209
|
+
globalName: "global",
|
|
210
|
+
minify: false,
|
|
211
|
+
keepNames: true,
|
|
212
|
+
sourcemap: true,
|
|
213
|
+
splitting: false,
|
|
214
|
+
chunkNames: "chunks/[name]-[hash]",
|
|
215
|
+
plugins: [
|
|
216
|
+
ignorePlugin,
|
|
217
|
+
(0, esbuild_plugin_alias_1.default)({
|
|
218
|
+
"types": node_path_1.default.join(process.cwd(), "src/types/global/index.d.ts")
|
|
219
|
+
})
|
|
220
|
+
]
|
|
221
|
+
};
|
|
222
|
+
const cjsSettings = {
|
|
223
|
+
...baseSettings,
|
|
224
|
+
outdir: "public/cjs",
|
|
225
|
+
format: "cjs",
|
|
226
|
+
platform: "node",
|
|
227
|
+
outExtension: {
|
|
228
|
+
".js": ".cjs"
|
|
229
|
+
},
|
|
230
|
+
plugins: [
|
|
231
|
+
ignorePlugin,
|
|
232
|
+
{
|
|
233
|
+
name: "transform-dynamic-imports",
|
|
234
|
+
setup(build) {
|
|
235
|
+
build.onEnd(() => {
|
|
236
|
+
const files = glob_1.default.sync("public/cjs/**/*.cjs");
|
|
237
|
+
for (const file of files) {
|
|
238
|
+
let content = (0, node_fs_1.readFileSync)(file, "utf8");
|
|
239
|
+
content = content.replace(/await\s+import\(['"]([^'"]+)['"]\)/g, "__toESM(require(\"$1\"), true)");
|
|
240
|
+
(0, node_fs_1.writeFileSync)(file, content, "utf8");
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
name: "add-extensions",
|
|
247
|
+
setup(build) {
|
|
248
|
+
build.onEnd(() => {
|
|
249
|
+
entryPoints.forEach((entry) => {
|
|
250
|
+
const outputFilePath = node_path_1.default.join("./public/cjs", entry.replace("src/", "").replace(".ts", ".cjs"));
|
|
251
|
+
addExtensions(outputFilePath, ".cjs", cjsSettings);
|
|
252
|
+
});
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
]
|
|
257
|
+
};
|
|
258
|
+
const esmSettings = {
|
|
259
|
+
...baseSettings,
|
|
260
|
+
outdir: "public/esm",
|
|
261
|
+
format: "esm",
|
|
262
|
+
platform: "browser",
|
|
263
|
+
outExtension: {
|
|
264
|
+
".js": ".mjs"
|
|
265
|
+
},
|
|
266
|
+
plugins: [
|
|
267
|
+
{
|
|
268
|
+
name: "transform-requires",
|
|
269
|
+
setup(build) {
|
|
270
|
+
build.onEnd(() => {
|
|
271
|
+
const files = glob_1.default.sync("public/esm/**/*.mjs");
|
|
272
|
+
for (const file of files) {
|
|
273
|
+
let content = (0, node_fs_1.readFileSync)(file, "utf8");
|
|
274
|
+
// Transform require statements to dynamic imports
|
|
275
|
+
content = content.replace(/const\s+{([^}]+)}\s*=\s*require\(['"]([^'"]+)['"]\)/g, "import { $1 } from \"$2\"");
|
|
276
|
+
content = content.replace(/const\s+([^=]+)\s*=\s*require\(['"]([^'"]+)['"]\)/g, "import $1 from \"$2\"");
|
|
277
|
+
(0, node_fs_1.writeFileSync)(file, content, "utf8");
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
name: "add-extensions",
|
|
284
|
+
setup(build) {
|
|
285
|
+
build.onEnd(() => {
|
|
286
|
+
entryPoints.forEach((entry) => {
|
|
287
|
+
const outputFilePath = node_path_1.default.join("./public/esm", entry.replace("src/", "").replace(".ts", ".mjs"));
|
|
288
|
+
addExtensions(outputFilePath, ".mjs", esmSettings);
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
]
|
|
294
|
+
};
|
|
295
|
+
const browserSettings = {
|
|
296
|
+
...baseSettings,
|
|
297
|
+
outdir: "public/browser",
|
|
298
|
+
format: "iife",
|
|
299
|
+
platform: "browser",
|
|
300
|
+
outExtension: {
|
|
301
|
+
".js": ".js"
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
// Build all formats
|
|
305
|
+
await Promise.all([
|
|
306
|
+
esbuild_1.default.build(cjsSettings),
|
|
307
|
+
esbuild_1.default.build(esmSettings),
|
|
308
|
+
esbuild_1.default.build(browserSettings)
|
|
309
|
+
]);
|
|
310
|
+
qcobjects_1.logger.info("[build:esbuild] Build process completed successfully!");
|
|
311
|
+
}
|
|
312
|
+
catch (e) {
|
|
313
|
+
qcobjects_1.logger.error(`[build:esbuild] Build process failed: ${e.message}`);
|
|
314
|
+
process.exit(1);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
const commandHandler = this;
|
|
319
|
+
qcobjects_1.logger.debug("Loading command build:esbuild...");
|
|
320
|
+
// Register both commands
|
|
321
|
+
switchCommander.program.command("build:esbuild")
|
|
322
|
+
.allowExcessArguments(false)
|
|
323
|
+
.description("Builds the project using esbuild for CJS, ESM, and browser formats")
|
|
324
|
+
.action(function () {
|
|
325
|
+
commandHandler.choiceOption.build_esbuild.call(commandHandler);
|
|
326
|
+
});
|
|
327
|
+
// Add alias
|
|
328
|
+
switchCommander.program.command("build:esb")
|
|
329
|
+
.allowExcessArguments(false)
|
|
330
|
+
.description("Alias for build:esbuild - Builds the project using esbuild")
|
|
331
|
+
.action(function () {
|
|
332
|
+
commandHandler.choiceOption.build_esbuild.call(commandHandler);
|
|
333
|
+
});
|
|
334
|
+
qcobjects_1.logger.debug("Loading command build:esbuild... DONE.");
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
exports.CommandHandler = CommandHandler;
|
|
338
|
+
(0, qcobjects_1.Package)("com.qcobjects.cli.commands.build.esbuild", [
|
|
339
|
+
CommandHandler
|
|
340
|
+
]);
|
|
341
|
+
//# sourceMappingURL=cli-commands-build-esbuild.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-commands-build-esbuild.js","sourceRoot":"","sources":["../../src/cli-commands-build-esbuild.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QCObjects CLI 2.5
|
|
3
|
+
* ________________
|
|
4
|
+
*
|
|
5
|
+
* Author: Jean Machuca <correojean@gmail.com>
|
|
6
|
+
*
|
|
7
|
+
* Cross Browser Javascript Framework for MVC Patterns
|
|
8
|
+
* QuickCorp/QCObjects is licensed under the
|
|
9
|
+
* GNU Lesser General Public License v3.0
|
|
10
|
+
* [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)
|
|
11
|
+
*
|
|
12
|
+
* Permissions of this copyleft license are conditioned on making available
|
|
13
|
+
* complete source code of licensed works and modifications under the same
|
|
14
|
+
* license or the GNU GPLv3. Copyright and license notices must be preserved.
|
|
15
|
+
* Contributors provide an express grant of patent rights. However, a larger
|
|
16
|
+
* work using the licensed work through interfaces provided by the licensed
|
|
17
|
+
* work may be distributed under different terms and without source code for
|
|
18
|
+
* the larger work.
|
|
19
|
+
*
|
|
20
|
+
* Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>
|
|
21
|
+
*
|
|
22
|
+
* Everyone is permitted to copy and distribute verbatim copies of this
|
|
23
|
+
* license document, but changing it is not allowed.
|
|
24
|
+
*/
|
|
25
|
+
/*eslint no-unused-vars: "off"*/
|
|
26
|
+
/*eslint no-redeclare: "off"*/
|
|
27
|
+
/*eslint no-empty: "off"*/
|
|
28
|
+
/*eslint strict: "off"*/
|
|
29
|
+
/*eslint no-mixed-operators: "off"*/
|
|
30
|
+
/*eslint no-undef: "off"*/
|
|
31
|
+
"use strict";
|
|
32
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
33
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
|
+
};
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CommandHandler = void 0;
|
|
37
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
38
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
39
|
+
const qcobjects_1 = require("qcobjects");
|
|
40
|
+
class CommandHandler extends qcobjects_1.InheritClass {
|
|
41
|
+
choiceOption;
|
|
42
|
+
constructor({ switchCommander }) {
|
|
43
|
+
super({ switchCommander });
|
|
44
|
+
this.choiceOption = {
|
|
45
|
+
build_typescript(configFile) {
|
|
46
|
+
try {
|
|
47
|
+
qcobjects_1.logger.info(`[build:typescript] Building TypeScript with config file: ${configFile}...`);
|
|
48
|
+
// Resolve the path to the tsconfig file
|
|
49
|
+
const configPath = node_path_1.default.resolve(process.cwd(), configFile);
|
|
50
|
+
// Parse the tsconfig file
|
|
51
|
+
const parsedCommandLine = typescript_1.default.getParsedCommandLineOfConfigFile(configPath, {}, {
|
|
52
|
+
...typescript_1.default.sys,
|
|
53
|
+
onUnRecoverableConfigFileDiagnostic: diagnostic => {
|
|
54
|
+
qcobjects_1.logger.warn(typescript_1.default.formatDiagnostic(diagnostic, {
|
|
55
|
+
getCanonicalFileName: (fileName) => fileName,
|
|
56
|
+
getCurrentDirectory: typescript_1.default.sys.getCurrentDirectory,
|
|
57
|
+
getNewLine: () => typescript_1.default.sys.newLine,
|
|
58
|
+
}));
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
if (!parsedCommandLine) {
|
|
63
|
+
qcobjects_1.logger.warn('Failed to parse tsconfig file');
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
// Create a program with the parsed settings
|
|
67
|
+
const program = typescript_1.default.createProgram({
|
|
68
|
+
rootNames: parsedCommandLine.fileNames,
|
|
69
|
+
options: parsedCommandLine.options,
|
|
70
|
+
});
|
|
71
|
+
// Emit the compiled files
|
|
72
|
+
const emitResult = program.emit();
|
|
73
|
+
// Report any diagnostics (errors or warnings)
|
|
74
|
+
const allDiagnostics = typescript_1.default.getPreEmitDiagnostics(program).concat(emitResult.diagnostics);
|
|
75
|
+
allDiagnostics.forEach(diagnostic => {
|
|
76
|
+
if (diagnostic.file && diagnostic.start) {
|
|
77
|
+
const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
|
|
78
|
+
const message = typescript_1.default.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
|
|
79
|
+
qcobjects_1.logger.warn(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
qcobjects_1.logger.warn(typescript_1.default.flattenDiagnosticMessageText(diagnostic.messageText, '\n'));
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
// Check if any files were emitted
|
|
86
|
+
const emittedFiles = emitResult.emittedFiles || [];
|
|
87
|
+
if (emittedFiles.length > 0) {
|
|
88
|
+
qcobjects_1.logger.info('Emitted files:');
|
|
89
|
+
emittedFiles.forEach(file => qcobjects_1.logger.info(file));
|
|
90
|
+
}
|
|
91
|
+
// Exit with an appropriate code
|
|
92
|
+
const exitCode = emitResult.emitSkipped ? 1 : 0;
|
|
93
|
+
qcobjects_1.logger.info(`Process completed with code '${exitCode}'.`);
|
|
94
|
+
if (exitCode !== 0) {
|
|
95
|
+
process.exit(exitCode);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
qcobjects_1.logger.warn(`Something went wrong trying to build TypeScript: ${e.message}`);
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
const commandHandler = this;
|
|
105
|
+
qcobjects_1.logger.debug("Loading command build:typescript...");
|
|
106
|
+
// Register both commands
|
|
107
|
+
const buildCommand = switchCommander.program.command("build:typescript <configFile>")
|
|
108
|
+
.allowExcessArguments(false)
|
|
109
|
+
.description("Builds TypeScript files using the specified config file")
|
|
110
|
+
.action(function (configFile) {
|
|
111
|
+
commandHandler.choiceOption.build_typescript.call(commandHandler, configFile);
|
|
112
|
+
});
|
|
113
|
+
// Add alias
|
|
114
|
+
switchCommander.program.command("build:ts <configFile>")
|
|
115
|
+
.allowExcessArguments(false)
|
|
116
|
+
.description("Alias for build:typescript - Builds TypeScript files using the specified config file")
|
|
117
|
+
.action(function (configFile) {
|
|
118
|
+
commandHandler.choiceOption.build_typescript.call(commandHandler, configFile);
|
|
119
|
+
});
|
|
120
|
+
qcobjects_1.logger.debug("Loading command build:typescript... DONE.");
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.CommandHandler = CommandHandler;
|
|
124
|
+
(0, qcobjects_1.Package)("com.qcobjects.cli.commands.build.typescript", [
|
|
125
|
+
CommandHandler
|
|
126
|
+
]);
|
|
127
|
+
//# sourceMappingURL=cli-commands-build-typescript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-commands-build-typescript.js","sourceRoot":"","sources":["../../src/cli-commands-build-typescript.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QCObjects CLI 2.5
|
|
3
|
+
* ________________
|
|
4
|
+
*
|
|
5
|
+
* Author: Jean Machuca <correojean@gmail.com>
|
|
6
|
+
*
|
|
7
|
+
* Cross Browser Javascript Framework for MVC Patterns
|
|
8
|
+
* QuickCorp/QCObjects is licensed under the
|
|
9
|
+
* GNU Lesser General Public License v3.0
|
|
10
|
+
* [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)
|
|
11
|
+
*
|
|
12
|
+
* Permissions of this copyleft license are conditioned on making available
|
|
13
|
+
* complete source code of licensed works and modifications under the same
|
|
14
|
+
* license or the GNU GPLv3. Copyright and license notices must be preserved.
|
|
15
|
+
* Contributors provide an express grant of patent rights. However, a larger
|
|
16
|
+
* work using the licensed work through interfaces provided by the licensed
|
|
17
|
+
* work may be distributed under different terms and without source code for
|
|
18
|
+
* the larger work.
|
|
19
|
+
*
|
|
20
|
+
* Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>
|
|
21
|
+
*
|
|
22
|
+
* Everyone is permitted to copy and distribute verbatim copies of this
|
|
23
|
+
* license document, but changing it is not allowed.
|
|
24
|
+
*/
|
|
25
|
+
/*eslint no-unused-vars: "off"*/
|
|
26
|
+
/*eslint no-redeclare: "off"*/
|
|
27
|
+
/*eslint no-empty: "off"*/
|
|
28
|
+
/*eslint strict: "off"*/
|
|
29
|
+
/*eslint no-mixed-operators: "off"*/
|
|
30
|
+
/*eslint no-undef: "off"*/
|
|
31
|
+
"use strict";
|
|
32
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
33
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
|
+
};
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CommandHandler = void 0;
|
|
37
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
38
|
+
const client_services_1 = require("./client_services");
|
|
39
|
+
const qcobjects_1 = require("qcobjects");
|
|
40
|
+
const absolutePath = node_path_1.default.resolve(__dirname, "./");
|
|
41
|
+
class CommandHandler extends qcobjects_1.InheritClass {
|
|
42
|
+
choiceOption;
|
|
43
|
+
constructor({ switchCommander }) {
|
|
44
|
+
super({ switchCommander });
|
|
45
|
+
this.choiceOption = {
|
|
46
|
+
issues: function () {
|
|
47
|
+
this.getIssueList().then(function (response) {
|
|
48
|
+
console.log((0, qcobjects_1._DataStringify)(response));
|
|
49
|
+
}).catch((e) => {
|
|
50
|
+
console.log(e);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const commandHandler = this;
|
|
56
|
+
switchCommander.program.command("jira <subcommand>")
|
|
57
|
+
.option("-u, --from-user [username]", "User name")
|
|
58
|
+
.option("-fp,--from-project <projectName>", "Project name")
|
|
59
|
+
.option("-p, --pwd <password>", "Password")
|
|
60
|
+
.option("-f, --format <format>", "Format (json, table)")
|
|
61
|
+
.description(`Jira Integration:
|
|
62
|
+
Sub-Commands can be:
|
|
63
|
+
issues: To get the issues list from JIRA
|
|
64
|
+
`)
|
|
65
|
+
.action(function (subcommand, options) {
|
|
66
|
+
if (commandHandler.choiceOption.hasOwnProperty.call(commandHandler.choiceOption, subcommand)) {
|
|
67
|
+
commandHandler.choiceOption[subcommand].call(commandHandler, subcommand, options);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
console.error(`Sub-Command (jira ${subcommand}... ) is not available`);
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
getIssueList() {
|
|
76
|
+
return new Promise(function (resolve, reject) {
|
|
77
|
+
qcobjects_1.logger.info("I'm going to get the issue list from the jira cloud...");
|
|
78
|
+
const jira_config = qcobjects_1.CONFIG.get("jira", null);
|
|
79
|
+
if (jira_config !== null) {
|
|
80
|
+
const jira_username = jira_config.username;
|
|
81
|
+
const jira_password = jira_config.auth_token;
|
|
82
|
+
const jira_project = jira_config.project;
|
|
83
|
+
const jira_domain = jira_config.domain;
|
|
84
|
+
const jira_issue_fields = ["id", "key", "summary", "timetracking"];
|
|
85
|
+
const cloudClient = (0, qcobjects_1.New)(client_services_1.JiraCloud, {
|
|
86
|
+
domain: `${jira_domain}`,
|
|
87
|
+
username: `${jira_username}`,
|
|
88
|
+
password: `${jira_password}`,
|
|
89
|
+
apiMethod: "rest/api/latest/search",
|
|
90
|
+
data: {
|
|
91
|
+
"jql": `project = ${jira_project}`,
|
|
92
|
+
"startAt": 0,
|
|
93
|
+
"maxResults": 5000,
|
|
94
|
+
"fields": jira_issue_fields
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
try {
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
console.error("\u{1F926} Something went wrong \u{1F926} when trying to get jira issues from the cloud");
|
|
101
|
+
reject(e);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console.error("\u{1F926} Something went wrong \u{1F926} You need to set the jira config settings");
|
|
106
|
+
reject(new Error("\u{1F926} Something went wrong \u{1F926} You need to set the jira config settings"));
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.CommandHandler = CommandHandler;
|
|
112
|
+
(0, qcobjects_1.Package)("com.qcobjects.cli.commands.jira", [
|
|
113
|
+
CommandHandler
|
|
114
|
+
]);
|
|
115
|
+
//# sourceMappingURL=cli-commands-jira.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-commands-jira.js","sourceRoot":"","sources":["../../src/cli-commands-jira.ts"],"names":[],"mappings":"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"}
|