binary-collections 2.0.13 → 2.0.14
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/binaries/binary-executor.cjs +307 -238
- package/binaries/clean-nodemodule.cjs +307 -238
- package/binaries/clean-nodemodules.cjs +307 -238
- package/binaries/composer.cjs +323 -0
- package/binaries/composer.cmd +2 -0
- package/binaries/composer.phar +0 -0
- package/binaries/dev.cjs +307 -238
- package/binaries/empty.cjs +307 -238
- package/binaries/git-reduce-size.cjs +307 -238
- package/binaries/javakill.cjs +307 -238
- package/binaries/kill-process.cjs +307 -238
- package/binaries/nodekill.cjs +307 -238
- package/binaries/prod.cjs +307 -238
- package/binaries/py.cjs +307 -238
- package/binaries/rmfind.cjs +307 -238
- package/binaries/rmx.cjs +307 -238
- package/binaries/submodule-token.cjs +307 -238
- package/binaries/test-cjs.cjs +307 -238
- package/binaries/test-esm.cjs +307 -238
- package/binaries/yarn-clean.cjs +307 -238
- package/binaries/yc.cjs +307 -238
- package/binaries/ycw.cjs +307 -238
- package/docs-src/binary-collections.md +1 -1
- package/docs-src/clean-github-actions-caches.md +1 -1
- package/docs-src/copy-move-file.md +1 -4
- package/docs-src/del-ps.md +1 -1
- package/docs-src/find-node-modules.md +1 -1
- package/docs-src/generate-test-ci.md +56 -0
- package/docs-src/get-latest-workflow-status.md +100 -0
- package/docs-src/git-diff.md +1 -1
- package/docs-src/git-fix.md +1 -1
- package/docs-src/git-purge.md +1 -1
- package/docs-src/kill-night-crows.md +1 -1
- package/docs-src/node-cache-cleaner.md +2 -2
- package/docs-src/node-package-packer.md +1 -1
- package/docs-src/opencode-cli.md +127 -0
- package/docs-src/package-resolutions-updater.md +1 -1
- package/docs-src/rmpath.md +1 -1
- package/docs-src/run-by-checksum.md +1 -1
- package/docs-src/submodule-remove.md +1 -1
- package/docs-src/upload-backend.md +29 -0
- package/docs-src/vscode-cli.md +84 -0
- package/docs-src/workflow-badge.md +120 -0
- package/lib/binary-collections/config.cjs +14 -2
- package/lib/binary-collections/config.d.cts +10 -0
- package/lib/binary-collections/config.mjs +2 -2
- package/lib/binary-collections/findScript.cjs +43 -21
- package/lib/binary-collections/findScript.mjs +2 -2
- package/lib/binary-collections/listScript.cjs +43 -21
- package/lib/binary-collections/listScript.mjs +2 -2
- package/lib/binary-collections.cjs +43 -21
- package/lib/binary-collections.mjs +6 -6
- package/lib/chunk-2SJKVOTN.mjs +146 -0
- package/lib/{chunk-2MN4VPV2.mjs → chunk-3F6EIHYG.mjs} +2 -2
- package/lib/chunk-546KAIYT.mjs +113 -0
- package/lib/chunk-56BVU63B.mjs +86 -0
- package/lib/chunk-5WAOOOGZ.mjs +77 -0
- package/lib/chunk-72XTQ3CK.mjs +45 -0
- package/lib/chunk-7N52Z4IJ.mjs +39 -0
- package/lib/chunk-7Q6YEUQF.mjs +246 -0
- package/lib/{chunk-NQXUYO67.mjs → chunk-AJ3OIYYP.mjs} +43 -21
- package/lib/chunk-AQZ7LMFS.mjs +100 -0
- package/lib/chunk-BDCMTOZI.mjs +246 -0
- package/lib/chunk-BEUM4LH4.mjs +184 -0
- package/lib/{chunk-TBWXE7ST.mjs → chunk-BO4TZS4Q.mjs} +5 -2
- package/lib/chunk-CM3IC5YC.mjs +226 -0
- package/lib/{chunk-FLYSZFLW.mjs → chunk-D42YBRZW.mjs} +1 -1
- package/lib/chunk-FR3DMHJC.mjs +146 -0
- package/lib/chunk-I3O5ZRYU.mjs +77 -0
- package/lib/chunk-J4M5EL5P.mjs +108 -0
- package/lib/chunk-JK3MG2KF.mjs +236 -0
- package/lib/chunk-JMUFQSPE.mjs +184 -0
- package/lib/chunk-JVMLKHD2.mjs +62 -0
- package/lib/chunk-KAT2JNLZ.mjs +146 -0
- package/lib/{chunk-CD3HF3LK.mjs → chunk-KRCPFWIF.mjs} +6 -3
- package/lib/chunk-LACQTD5V.mjs +225 -0
- package/lib/chunk-MCCMMZSM.mjs +60 -0
- package/lib/chunk-OA2RKEY3.mjs +162 -0
- package/lib/{chunk-X2B3X7D4.mjs → chunk-PAZH45HS.mjs} +7 -1
- package/lib/chunk-QZMGBDSA.mjs +32 -0
- package/lib/chunk-RKPIBGKE.mjs +61 -0
- package/lib/chunk-SARIXFHP.mjs +44 -0
- package/lib/chunk-SJYP66BO.mjs +62 -0
- package/lib/chunk-SWUAEY4H.mjs +44 -0
- package/lib/chunk-TP3O2JGW.mjs +88 -0
- package/lib/chunk-UAIF5VIA.mjs +89 -0
- package/lib/chunk-UDZBVKXH.mjs +94 -0
- package/lib/chunk-UEOWRYAN.mjs +32 -0
- package/lib/chunk-UHPFLJXH.mjs +227 -0
- package/lib/chunk-UYNBNLV5.mjs +113 -0
- package/lib/chunk-WOC4FZ6F.mjs +164 -0
- package/lib/chunk-X7UVQ6ZC.mjs +183 -0
- package/lib/{chunk-RDN6HF5Z.mjs → chunk-XI67TI46.mjs} +1 -1
- package/lib/chunk-XW5NZAKI.mjs +82 -0
- package/lib/chunk-YLV4QATP.mjs +86 -0
- package/lib/chunk-YWSLMAQ7.mjs +65 -0
- package/lib/chunk-ZB4IQ6VJ.mjs +46 -0
- package/lib/cross-env/index.mjs +3 -3
- package/lib/del-gradle.cjs +1 -1
- package/lib/del-gradle.mjs +22 -16
- package/lib/del-node-modules.cjs +1 -1
- package/lib/del-node-modules.mjs +148 -142
- package/lib/find-node-modules-cli.cjs +1 -1
- package/lib/find-node-modules-cli.mjs +10 -4
- package/lib/{git-diff-cli.cjs → git/git-diff-cli.cjs} +18 -6
- package/lib/{git-diff-cli.mjs → git/git-diff-cli.mjs} +7 -7
- package/lib/{git-diff.cjs → git/git-diff.cjs} +16 -4
- package/lib/{git-diff.js → git/git-diff.js} +3 -3
- package/lib/{git-diff.mjs → git/git-diff.mjs} +6 -6
- package/lib/{git-fix.cjs → git/git-fix.cjs} +134 -3
- package/lib/{git-fix.mjs → git/git-fix.mjs} +19 -14
- package/lib/{git-purge.cjs → git/git-purge.cjs} +1 -1
- package/lib/{git-purge.mjs → git/git-purge.mjs} +4 -4
- package/lib/git/user-config.cjs +131 -1
- package/lib/git/user-config.mjs +3 -1
- package/lib/{clean-github-actions-caches-cli.cjs → github-workflows/clean-github-actions-caches-cli.cjs} +38 -10
- package/lib/{clean-github-actions-caches-cli.mjs → github-workflows/clean-github-actions-caches-cli.mjs} +7 -6
- package/lib/{clean-github-actions-caches.cjs → github-workflows/clean-github-actions-caches.cjs} +38 -10
- package/lib/{clean-github-actions-caches.mjs → github-workflows/clean-github-actions-caches.mjs} +5 -4
- package/lib/github-workflows/generate-test-ci-step-cli.cjs +240 -0
- package/lib/github-workflows/generate-test-ci-step-cli.d.mts +2 -0
- package/lib/github-workflows/generate-test-ci-step-cli.mjs +132 -0
- package/lib/github-workflows/get-latest-workflow-status-cli.cjs +541 -0
- package/lib/github-workflows/get-latest-workflow-status-cli.d.mts +2 -0
- package/lib/github-workflows/get-latest-workflow-status-cli.mjs +61 -0
- package/lib/github-workflows/get-latest-workflow-status.cjs +56 -0
- package/lib/github-workflows/get-latest-workflow-status.d.mts +1 -0
- package/lib/github-workflows/get-latest-workflow-status.mjs +8 -0
- package/lib/github-workflows/utils.cjs +271 -0
- package/lib/github-workflows/utils.d.cts +76 -0
- package/lib/github-workflows/utils.mjs +8 -0
- package/lib/github-workflows/workflow-badge-cli.cjs +722 -0
- package/lib/github-workflows/workflow-badge-cli.d.mts +2 -0
- package/lib/github-workflows/workflow-badge-cli.mjs +98 -0
- package/lib/github-workflows/workflow-badge-generator.cjs +200 -0
- package/lib/github-workflows/workflow-badge-generator.d.mts +14 -0
- package/lib/github-workflows/workflow-badge-generator.mjs +8 -0
- package/lib/github-workflows/workflow-test-data.cjs +73 -0
- package/lib/github-workflows/workflow-test-data.d.cts +63 -0
- package/lib/github-workflows/workflow-test-data.mjs +6 -0
- package/lib/opencode/cli/auth-rotate.cjs +143 -0
- package/lib/opencode/cli/auth-rotate.d.ts +1 -0
- package/lib/opencode/cli/auth-rotate.js +70 -0
- package/lib/opencode/cli/auth-rotate.mjs +10 -0
- package/lib/opencode/cli/list-projects.cjs +184 -0
- package/lib/opencode/cli/list-projects.d.ts +1 -0
- package/lib/opencode/cli/list-projects.js +32 -0
- package/lib/opencode/cli/list-projects.mjs +11 -0
- package/lib/opencode/cli/list-sessions.cjs +215 -0
- package/lib/opencode/cli/list-sessions.d.ts +1 -0
- package/lib/opencode/cli/list-sessions.js +45 -0
- package/lib/opencode/cli/list-sessions.mjs +11 -0
- package/lib/opencode/database.cjs +349 -0
- package/lib/opencode/database.d.ts +91 -0
- package/lib/opencode/database.js +252 -0
- package/lib/opencode/database.mjs +28 -0
- package/lib/opencode/database.runner.cjs +145 -0
- package/lib/opencode/database.runner.d.ts +1 -0
- package/lib/opencode/database.runner.js +56 -0
- package/lib/opencode/database.runner.mjs +37 -0
- package/lib/opencode/opencode-zen.runner.cjs +48 -0
- package/lib/opencode/opencode-zen.runner.d.mts +1 -0
- package/lib/opencode/opencode-zen.runner.mjs +31 -0
- package/lib/opencode/sqlite.cjs +114 -0
- package/lib/opencode/sqlite.d.ts +18 -0
- package/lib/opencode/sqlite.js +82 -0
- package/lib/opencode/sqlite.mjs +10 -0
- package/lib/opencode/storage.cjs +124 -0
- package/lib/opencode/storage.d.ts +27 -0
- package/lib/opencode/storage.js +101 -0
- package/lib/opencode/storage.mjs +38 -0
- package/lib/opencode/storage.runner.cjs +50 -0
- package/lib/opencode/storage.runner.d.ts +1 -0
- package/lib/opencode/storage.runner.js +13 -0
- package/lib/opencode/storage.runner.mjs +29 -0
- package/lib/opencode/types.cjs +17 -0
- package/lib/opencode/types.d.ts +31 -0
- package/lib/opencode/types.js +2 -0
- package/lib/opencode/types.mjs +7 -0
- package/lib/opencode/utils/check-api.cjs +59 -0
- package/lib/opencode/utils/check-api.d.ts +12 -0
- package/lib/opencode/utils/check-api.js +46 -0
- package/lib/opencode/utils/check-api.mjs +8 -0
- package/lib/opencode-cli.cjs +473 -0
- package/lib/opencode-cli.d.ts +2 -0
- package/lib/opencode-cli.js +115 -0
- package/lib/opencode-cli.mjs +111 -0
- package/lib/package-resolutions-updater-cli.cjs +181 -154
- package/lib/package-resolutions-updater-cli.mjs +3 -2
- package/lib/package-resolutions-updater.cjs +181 -154
- package/lib/package-resolutions-updater.d.mts +12 -3
- package/lib/package-resolutions-updater.mjs +3 -2
- package/lib/print-directory-tree.cjs +131 -3
- package/lib/print-directory-tree.mjs +6 -3
- package/lib/rmpath-cli.cjs +131 -5
- package/lib/rmpath-cli.mjs +3 -1
- package/lib/rmpath.cjs +147 -11
- package/lib/rmpath.mjs +3 -1
- package/lib/run-by-checksum/hash.cjs +18 -2
- package/lib/run-by-checksum/hash.d.ts +4 -1
- package/lib/run-by-checksum/hash.js +38 -4
- package/lib/run-by-checksum/hash.mjs +1 -1
- package/lib/run-by-checksum/run.cjs +18 -2
- package/lib/run-by-checksum/run.mjs +2 -2
- package/lib/run-by-checksum-cli.cjs +18 -2
- package/lib/run-by-checksum-cli.mjs +2 -2
- package/lib/submodule-install.cjs +130 -4
- package/lib/submodule-install.mjs +5 -4
- package/lib/submodule-remove-cli.cjs +131 -5
- package/lib/submodule-remove-cli.mjs +3 -1
- package/lib/submodule-remove.cjs +146 -5
- package/lib/submodule-remove.mjs +3 -1
- package/lib/utils/findEnvFiles.cjs +3 -0
- package/lib/utils/findEnvFiles.d.cts +2 -2
- package/lib/utils/findEnvFiles.mjs +1 -1
- package/lib/vscode/project.cjs +0 -0
- package/lib/vscode/project.d.ts +0 -0
- package/lib/vscode/project.js +1 -0
- package/lib/vscode/project.mjs +7 -0
- package/lib/vscode/storage.cjs +138 -0
- package/lib/vscode/storage.d.ts +51 -0
- package/lib/vscode/storage.js +169 -0
- package/lib/vscode/storage.mjs +42 -0
- package/lib/vscode/storage.runner.cjs +125 -0
- package/lib/vscode/storage.runner.d.ts +1 -0
- package/lib/vscode/storage.runner.js +47 -0
- package/lib/vscode/storage.runner.mjs +60 -0
- package/lib/vscode-cli.cjs +155 -0
- package/lib/vscode-cli.d.ts +2 -0
- package/lib/vscode-cli.js +80 -0
- package/lib/vscode-cli.mjs +71 -0
- package/package.json +43 -21
- package/readme.md +41 -8
- package/releases/readme.md +1 -1
- package/src/github-workflows/generate-test-ci-step-cli.mjs +126 -0
- package/vendor/clue/ndjson-react/README.md +365 -0
- package/vendor/composer/pcre/README.md +189 -0
- package/vendor/composer/semver/README.md +99 -0
- package/vendor/composer/xdebug-handler/README.md +305 -0
- package/vendor/ergebnis/agent-detector/README.md +107 -0
- package/vendor/evenement/evenement/README.md +64 -0
- package/vendor/fidry/cpu-core-counter/README.md +138 -0
- package/vendor/friendsofphp/php-cs-fixer/README.md +97 -0
- package/vendor/psr/container/README.md +13 -0
- package/vendor/psr/event-dispatcher/README.md +6 -0
- package/vendor/psr/log/README.md +58 -0
- package/vendor/react/cache/README.md +367 -0
- package/vendor/react/child-process/README.md +619 -0
- package/vendor/react/dns/README.md +453 -0
- package/vendor/react/event-loop/README.md +930 -0
- package/vendor/react/promise/README.md +722 -0
- package/vendor/react/socket/README.md +1564 -0
- package/vendor/react/stream/README.md +1249 -0
- package/vendor/sebastian/diff/README.md +151 -0
- package/vendor/symfony/console/README.md +30 -0
- package/vendor/symfony/deprecation-contracts/README.md +26 -0
- package/vendor/symfony/event-dispatcher/README.md +25 -0
- package/vendor/symfony/event-dispatcher-contracts/README.md +9 -0
- package/vendor/symfony/filesystem/README.md +23 -0
- package/vendor/symfony/finder/README.md +24 -0
- package/vendor/symfony/options-resolver/README.md +25 -0
- package/vendor/symfony/polyfill-ctype/README.md +12 -0
- package/vendor/symfony/polyfill-intl-grapheme/README.md +32 -0
- package/vendor/symfony/polyfill-intl-normalizer/README.md +14 -0
- package/vendor/symfony/polyfill-mbstring/README.md +13 -0
- package/vendor/symfony/polyfill-php80/README.md +25 -0
- package/vendor/symfony/polyfill-php81/README.md +18 -0
- package/vendor/symfony/polyfill-php84/README.md +23 -0
- package/vendor/symfony/polyfill-php85/README.md +20 -0
- package/vendor/symfony/process/README.md +23 -0
- package/vendor/symfony/service-contracts/README.md +9 -0
- package/vendor/symfony/stopwatch/README.md +52 -0
- package/vendor/symfony/string/README.md +24 -0
- package/lib/del-gradle.js +0 -16
- package/lib/del-node-modules.js +0 -211
- package/lib/find-node-modules-cli.js +0 -4
- /package/lib/{clean-github-actions-caches-cli.d.cts → del-gradle.d.cts} +0 -0
- /package/lib/{del-gradle.d.ts → del-node-modules.d.cts} +0 -0
- /package/lib/{find-node-modules-cli.d.ts → find-node-modules-cli.d.cts} +0 -0
- /package/lib/{git-diff-cli.d.ts → git/git-diff-cli.d.ts} +0 -0
- /package/lib/{git-diff-cli.js → git/git-diff-cli.js} +0 -0
- /package/lib/{git-diff.d.ts → git/git-diff.d.ts} +0 -0
- /package/lib/{git-fix.d.cts → git/git-fix.d.cts} +0 -0
- /package/lib/{git-purge.d.cts → git/git-purge.d.cts} +0 -0
- /package/lib/{del-node-modules.d.ts → github-workflows/clean-github-actions-caches-cli.d.cts} +0 -0
- /package/lib/{clean-github-actions-caches.d.cts → github-workflows/clean-github-actions-caches.d.cts} +0 -0
|
@@ -0,0 +1,541 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __esm = (fn, res) => function __init() {
|
|
9
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
10
|
+
};
|
|
11
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
12
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
13
|
+
};
|
|
14
|
+
var __copyProps = (to, from, except, desc) => {
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from))
|
|
17
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
28
|
+
mod
|
|
29
|
+
));
|
|
30
|
+
|
|
31
|
+
// node_modules/tsup/assets/cjs_shims.js
|
|
32
|
+
var init_cjs_shims = __esm({
|
|
33
|
+
"node_modules/tsup/assets/cjs_shims.js"() {
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// src/utils/index.cjs
|
|
38
|
+
var require_utils = __commonJS({
|
|
39
|
+
"src/utils/index.cjs"(exports2, module2) {
|
|
40
|
+
init_cjs_shims();
|
|
41
|
+
var fs = require("fs");
|
|
42
|
+
var path = require("upath");
|
|
43
|
+
var minimistLib = require("minimist");
|
|
44
|
+
var argv = minimistLib(process.argv.slice(2));
|
|
45
|
+
var { exec } = require("child_process");
|
|
46
|
+
var { promisify } = require("util");
|
|
47
|
+
var execAsync = promisify(exec);
|
|
48
|
+
async function parseGitRemotes() {
|
|
49
|
+
try {
|
|
50
|
+
const { stdout } = await execAsync("git remote -v");
|
|
51
|
+
const lines = stdout.split("\n");
|
|
52
|
+
const remotes = {};
|
|
53
|
+
lines.forEach((line) => {
|
|
54
|
+
const [name, url] = line.split(" ");
|
|
55
|
+
if (name && url) {
|
|
56
|
+
const [repoUrl] = url.split(" ");
|
|
57
|
+
try {
|
|
58
|
+
const parsedUrl = new URL(repoUrl);
|
|
59
|
+
const pathParts = parsedUrl.pathname.split("/").filter(Boolean);
|
|
60
|
+
if (parsedUrl.hostname === "github.com" && pathParts.length === 2) {
|
|
61
|
+
let repoPath = pathParts.join("/");
|
|
62
|
+
if (repoPath.endsWith(".git")) {
|
|
63
|
+
repoPath = repoPath.slice(0, -4);
|
|
64
|
+
}
|
|
65
|
+
remotes[name] = repoPath;
|
|
66
|
+
}
|
|
67
|
+
} catch (e) {
|
|
68
|
+
console.error("URL Parsing Error:", e.message);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
return remotes;
|
|
73
|
+
} catch (error) {
|
|
74
|
+
console.error("Error:", error.message);
|
|
75
|
+
return {};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
module2.exports.parseGitRemotes = parseGitRemotes;
|
|
79
|
+
function getArgs2(opts) {
|
|
80
|
+
if (opts) {
|
|
81
|
+
return minimistLib(process.argv.slice(2), opts);
|
|
82
|
+
}
|
|
83
|
+
return argv;
|
|
84
|
+
}
|
|
85
|
+
module2.exports.getArgs = getArgs2;
|
|
86
|
+
function del(fullPath) {
|
|
87
|
+
try {
|
|
88
|
+
if (!fs.existsSync(fullPath)) return;
|
|
89
|
+
const stat = fs.lstatSync(fullPath);
|
|
90
|
+
if (stat.isSymbolicLink()) {
|
|
91
|
+
try {
|
|
92
|
+
fs.unlinkSync(fullPath);
|
|
93
|
+
console.log("deleted symlink", fullPath);
|
|
94
|
+
} catch (e) {
|
|
95
|
+
console.log("failed delete symlink", fullPath, e && e.message);
|
|
96
|
+
}
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (stat.isDirectory()) {
|
|
100
|
+
const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
|
|
101
|
+
for (let i = 0; i < subdir.length; i++) {
|
|
102
|
+
del(subdir[i]);
|
|
103
|
+
}
|
|
104
|
+
try {
|
|
105
|
+
fs.rmdirSync(fullPath);
|
|
106
|
+
console.log("deleted", fullPath);
|
|
107
|
+
} catch (_e) {
|
|
108
|
+
try {
|
|
109
|
+
fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
110
|
+
console.log("deleted", fullPath);
|
|
111
|
+
} catch (ee) {
|
|
112
|
+
console.log("failed delete", fullPath, ee && ee.message);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
fs.unlinkSync(fullPath);
|
|
119
|
+
console.log("deleted", fullPath);
|
|
120
|
+
} catch (_e) {
|
|
121
|
+
try {
|
|
122
|
+
fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
|
|
123
|
+
console.log("deleted", fullPath);
|
|
124
|
+
} catch (ee) {
|
|
125
|
+
console.log("failed delete", fullPath, ee && ee.message);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
} catch (err) {
|
|
129
|
+
console.log("failed delete", fullPath, err && err.message);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
module2.exports.del = del;
|
|
133
|
+
function delStream(globStream) {
|
|
134
|
+
globStream.stream().on("data", (result) => {
|
|
135
|
+
const fullPath = path.resolve(process.cwd(), result);
|
|
136
|
+
try {
|
|
137
|
+
if (fs.existsSync(fullPath)) {
|
|
138
|
+
const stat = fs.lstatSync(fullPath);
|
|
139
|
+
if (stat.isSymbolicLink()) {
|
|
140
|
+
try {
|
|
141
|
+
fs.unlinkSync(fullPath);
|
|
142
|
+
console.log("deleted symlink", fullPath);
|
|
143
|
+
} catch (e) {
|
|
144
|
+
console.log("failed delete symlink", fullPath, e && e.message);
|
|
145
|
+
}
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (stat.isDirectory()) {
|
|
149
|
+
const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
|
|
150
|
+
for (let i = 0; i < subdir.length; i++) {
|
|
151
|
+
del(subdir[i]);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
del(fullPath);
|
|
156
|
+
} catch (err) {
|
|
157
|
+
console.log("failed processing", fullPath, err && err.message);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
module2.exports.delStream = delStream;
|
|
162
|
+
function getFileTreeString(hashArray) {
|
|
163
|
+
const tree = {};
|
|
164
|
+
const hashMap = {};
|
|
165
|
+
for (const entry of hashArray) {
|
|
166
|
+
const [filePath, hash] = entry.split(" ");
|
|
167
|
+
hashMap[filePath] = hash;
|
|
168
|
+
const parts = filePath.split("/");
|
|
169
|
+
let current = tree;
|
|
170
|
+
for (let i = 0; i < parts.length; i++) {
|
|
171
|
+
const part = parts[i];
|
|
172
|
+
if (i === parts.length - 1) {
|
|
173
|
+
current[part] = null;
|
|
174
|
+
} else {
|
|
175
|
+
current[part] = current[part] || {};
|
|
176
|
+
current = current[part];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
function printNode(node, prefix = "", parentPath = "") {
|
|
181
|
+
const keys = Object.keys(node).sort();
|
|
182
|
+
let lines = [];
|
|
183
|
+
keys.forEach((key, idx) => {
|
|
184
|
+
const isLast = idx === keys.length - 1;
|
|
185
|
+
const branch = isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ";
|
|
186
|
+
const currentPath = parentPath ? parentPath + "/" + key : key;
|
|
187
|
+
if (node[key] === null) {
|
|
188
|
+
lines.push(prefix + branch + key + " [" + (hashMap[currentPath] || "") + "]");
|
|
189
|
+
} else {
|
|
190
|
+
lines.push(prefix + branch + key + "/");
|
|
191
|
+
lines = lines.concat(printNode(node[key], prefix + (isLast ? " " : "\u2502 "), currentPath));
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
return lines;
|
|
195
|
+
}
|
|
196
|
+
return printNode(tree, "", "").join("\n");
|
|
197
|
+
}
|
|
198
|
+
module2.exports.getFileTreeString = getFileTreeString;
|
|
199
|
+
var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
200
|
+
module2.exports.delay = delay;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
// src/utils/findEnvFiles.cjs
|
|
205
|
+
var require_findEnvFiles = __commonJS({
|
|
206
|
+
"src/utils/findEnvFiles.cjs"(exports2, module2) {
|
|
207
|
+
init_cjs_shims();
|
|
208
|
+
var fs = require("fs");
|
|
209
|
+
var path = require("path");
|
|
210
|
+
var glob = require("glob");
|
|
211
|
+
var DEFAULT_IGNORES = [
|
|
212
|
+
"**/node_modules/**",
|
|
213
|
+
"**/.git/**",
|
|
214
|
+
"**/.yarn/**",
|
|
215
|
+
"**/.pnpm/**",
|
|
216
|
+
"**/dist/**",
|
|
217
|
+
"**/build/**",
|
|
218
|
+
"**/coverage/**",
|
|
219
|
+
"**/vendor/**",
|
|
220
|
+
"**/tmp/**",
|
|
221
|
+
"**/.cache/**",
|
|
222
|
+
"**/assets/**",
|
|
223
|
+
"**/logs/**",
|
|
224
|
+
"**/output/**",
|
|
225
|
+
"**/public/**",
|
|
226
|
+
"**/static/**",
|
|
227
|
+
"**/temp/**",
|
|
228
|
+
"**/backup/**",
|
|
229
|
+
"**/backups/**",
|
|
230
|
+
"**/examples/**",
|
|
231
|
+
"**/docs/**",
|
|
232
|
+
"**/tests/**",
|
|
233
|
+
"**/__tests__/**",
|
|
234
|
+
"**/spec/**",
|
|
235
|
+
"**/__specs__/**",
|
|
236
|
+
"**/scripts/**",
|
|
237
|
+
"**/bin/**",
|
|
238
|
+
"**/hooks/**",
|
|
239
|
+
"**/config/**",
|
|
240
|
+
"**/configs/**",
|
|
241
|
+
"**/settings/**",
|
|
242
|
+
"**/.vscode/**",
|
|
243
|
+
"**/.idea/**"
|
|
244
|
+
];
|
|
245
|
+
function findEnvFiles(startDir = process.cwd(), filter) {
|
|
246
|
+
const found = /* @__PURE__ */ new Set();
|
|
247
|
+
function addFile(file) {
|
|
248
|
+
const normalized = path.normalize(file);
|
|
249
|
+
if (typeof filter === "function" && !filter(normalized)) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
found.add(normalized);
|
|
253
|
+
}
|
|
254
|
+
let current = path.resolve(startDir);
|
|
255
|
+
while (true) {
|
|
256
|
+
const envPath = path.join(current, ".env");
|
|
257
|
+
if (fs.existsSync(envPath)) {
|
|
258
|
+
addFile(envPath);
|
|
259
|
+
}
|
|
260
|
+
const parent = path.dirname(current);
|
|
261
|
+
if (parent === current) {
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
current = parent;
|
|
265
|
+
}
|
|
266
|
+
const files = glob.globSync("**/.env*", {
|
|
267
|
+
cwd: startDir,
|
|
268
|
+
absolute: true,
|
|
269
|
+
nodir: true,
|
|
270
|
+
ignore: DEFAULT_IGNORES
|
|
271
|
+
});
|
|
272
|
+
for (const file of files) {
|
|
273
|
+
addFile(file);
|
|
274
|
+
}
|
|
275
|
+
return [...found];
|
|
276
|
+
}
|
|
277
|
+
function findEnvWithToken(startDir = process.cwd(), tokenName = "GITHUB_TOKEN") {
|
|
278
|
+
const envFiles = findEnvFiles(startDir);
|
|
279
|
+
return envFiles.find((file) => {
|
|
280
|
+
try {
|
|
281
|
+
const content = fs.readFileSync(file, "utf-8");
|
|
282
|
+
if (tokenName instanceof RegExp) {
|
|
283
|
+
return tokenName.test(content);
|
|
284
|
+
}
|
|
285
|
+
const regex = new RegExp(`^\\s*${tokenName}\\s*=`, "m");
|
|
286
|
+
return regex.test(content);
|
|
287
|
+
} catch (err) {
|
|
288
|
+
console.warn(`Failed to read ${file}: ${err instanceof Error ? err.message : String(err)}`);
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
module2.exports = {
|
|
294
|
+
DEFAULT_IGNORES,
|
|
295
|
+
findEnvFiles,
|
|
296
|
+
findEnvWithToken,
|
|
297
|
+
default: findEnvFiles
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
// src/binary-collections/config.cjs
|
|
303
|
+
var require_config = __commonJS({
|
|
304
|
+
"src/binary-collections/config.cjs"(exports2, module2) {
|
|
305
|
+
init_cjs_shims();
|
|
306
|
+
var path = require("upath");
|
|
307
|
+
var minimistLib = require("minimist");
|
|
308
|
+
var { findEnvWithToken } = require_findEnvFiles();
|
|
309
|
+
var dotenv = require("dotenv");
|
|
310
|
+
var loadDotenv = (tokenKey = /ACCESS_TOKEN|GITHUB_TOKEN/) => dotenv.config({ path: findEnvWithToken(void 0, tokenKey), quiet: true, overwrite: true });
|
|
311
|
+
loadDotenv();
|
|
312
|
+
var cliArgv = minimistLib(process.argv.slice(2), {
|
|
313
|
+
string: ["token"]
|
|
314
|
+
});
|
|
315
|
+
var GITHUB_ACCESS_TOKEN = cliArgv.token || process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
316
|
+
function getTempDir() {
|
|
317
|
+
return process.env.TEMP_DIR || path.join(process.cwd(), "tmp");
|
|
318
|
+
}
|
|
319
|
+
function getTempPath(...segments) {
|
|
320
|
+
return path.join(getTempDir(), ...segments);
|
|
321
|
+
}
|
|
322
|
+
var TEMP_BASE_DIR = getTempDir();
|
|
323
|
+
module2.exports = {
|
|
324
|
+
getTempDir,
|
|
325
|
+
getTempPath,
|
|
326
|
+
TEMP_BASE_DIR,
|
|
327
|
+
GITHUB_ACCESS_TOKEN,
|
|
328
|
+
loadDotenv
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
|
|
333
|
+
// src/github-workflows/utils.cjs
|
|
334
|
+
var require_utils2 = __commonJS({
|
|
335
|
+
"src/github-workflows/utils.cjs"(exports2, module2) {
|
|
336
|
+
init_cjs_shims();
|
|
337
|
+
var axios = require("axios");
|
|
338
|
+
var { spawn } = require("cross-spawn");
|
|
339
|
+
var { GITHUB_ACCESS_TOKEN: TOKEN } = require_config();
|
|
340
|
+
if (!TOKEN) {
|
|
341
|
+
console.error("Missing env var: ACCESS_TOKEN or GITHUB_TOKEN");
|
|
342
|
+
process.exit(1);
|
|
343
|
+
}
|
|
344
|
+
var BASE = "https://api.github.com";
|
|
345
|
+
var HEADERS = {
|
|
346
|
+
Authorization: `Bearer ${TOKEN}`,
|
|
347
|
+
Accept: "application/vnd.github+json",
|
|
348
|
+
"X-GitHub-Api-Version": "2022-11-28"
|
|
349
|
+
};
|
|
350
|
+
async function request(url) {
|
|
351
|
+
try {
|
|
352
|
+
const res = await axios.get(url, { headers: HEADERS });
|
|
353
|
+
return res.data;
|
|
354
|
+
} catch (err) {
|
|
355
|
+
if (err == null ? void 0 : err.response) {
|
|
356
|
+
const statusText = err.response.statusText || "Request failed";
|
|
357
|
+
const responseText = typeof err.response.data === "string" ? err.response.data : JSON.stringify(err.response.data);
|
|
358
|
+
throw new Error(`${err.response.status} ${statusText}
|
|
359
|
+
${responseText}`);
|
|
360
|
+
}
|
|
361
|
+
throw err;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
function runGit(args) {
|
|
365
|
+
return new Promise((resolve, reject) => {
|
|
366
|
+
var _a, _b;
|
|
367
|
+
const child = spawn("git", args, {
|
|
368
|
+
cwd: process.cwd(),
|
|
369
|
+
stdio: ["ignore", "pipe", "pipe"]
|
|
370
|
+
});
|
|
371
|
+
let stdout = "";
|
|
372
|
+
let stderr = "";
|
|
373
|
+
(_a = child.stdout) == null ? void 0 : _a.on("data", (chunk) => {
|
|
374
|
+
stdout += chunk.toString();
|
|
375
|
+
});
|
|
376
|
+
(_b = child.stderr) == null ? void 0 : _b.on("data", (chunk) => {
|
|
377
|
+
stderr += chunk.toString();
|
|
378
|
+
});
|
|
379
|
+
child.on("error", reject);
|
|
380
|
+
child.on("close", (code) => {
|
|
381
|
+
if (code === 0) return resolve(stdout.trim());
|
|
382
|
+
reject(new Error(stderr.trim() || `git ${args.join(" ")} exited with code ${code}`));
|
|
383
|
+
});
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
function parseOwnerFromUrl(remoteUrl) {
|
|
387
|
+
const normalized = remoteUrl.trim().replace(/\.git$/i, "");
|
|
388
|
+
const match = normalized.match(/github\.com[:/](?<owner>[^/]+)\/(?<repo>[^/]+)$/i);
|
|
389
|
+
return (match == null ? void 0 : match.groups) || null;
|
|
390
|
+
}
|
|
391
|
+
function getOwnerFromRemoteUrl(remoteUrl) {
|
|
392
|
+
const parsed = parseOwnerFromUrl(remoteUrl);
|
|
393
|
+
return (parsed == null ? void 0 : parsed.owner) || null;
|
|
394
|
+
}
|
|
395
|
+
function getRepoFromRemoteUrl(remoteUrl) {
|
|
396
|
+
const parsed = parseOwnerFromUrl(remoteUrl);
|
|
397
|
+
return (parsed == null ? void 0 : parsed.repo) || null;
|
|
398
|
+
}
|
|
399
|
+
async function getCurrentOwner2() {
|
|
400
|
+
const commands = [
|
|
401
|
+
["config", "--local", "--get", "remote.origin.url"],
|
|
402
|
+
["remote", "get-url", "origin"]
|
|
403
|
+
];
|
|
404
|
+
for (const args of commands) {
|
|
405
|
+
try {
|
|
406
|
+
const remoteUrl = await runGit(args);
|
|
407
|
+
const owner = getOwnerFromRemoteUrl(remoteUrl);
|
|
408
|
+
if (owner) return owner;
|
|
409
|
+
} catch {
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
throw new Error("Unable to determine repository owner from git remote.origin.url");
|
|
413
|
+
}
|
|
414
|
+
async function getCurrentRepo2() {
|
|
415
|
+
const commands = [
|
|
416
|
+
["config", "--local", "--get", "remote.origin.url"],
|
|
417
|
+
["remote", "get-url", "origin"]
|
|
418
|
+
];
|
|
419
|
+
for (const args of commands) {
|
|
420
|
+
try {
|
|
421
|
+
const remoteUrl = await runGit(args);
|
|
422
|
+
const repo = getRepoFromRemoteUrl(remoteUrl);
|
|
423
|
+
if (repo) return repo;
|
|
424
|
+
} catch {
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
throw new Error("Unable to determine repository name from git remote.origin.url");
|
|
428
|
+
}
|
|
429
|
+
async function getOwnerRepo() {
|
|
430
|
+
const owner = await getCurrentOwner2();
|
|
431
|
+
const repo = await getCurrentRepo2();
|
|
432
|
+
return { owner, repo };
|
|
433
|
+
}
|
|
434
|
+
async function getLatestRun2(owner, repo, workflowId) {
|
|
435
|
+
var _a;
|
|
436
|
+
let url;
|
|
437
|
+
if (workflowId) {
|
|
438
|
+
url = `${BASE}/repos/${owner}/${repo}/actions/workflows/${encodeURIComponent(workflowId)}/runs?per_page=1`;
|
|
439
|
+
} else {
|
|
440
|
+
url = `${BASE}/repos/${owner}/${repo}/actions/runs?per_page=1`;
|
|
441
|
+
}
|
|
442
|
+
const data = await request(url);
|
|
443
|
+
return (_a = data.workflow_runs) == null ? void 0 : _a[0];
|
|
444
|
+
}
|
|
445
|
+
async function getJobs2(owner, repo, runId) {
|
|
446
|
+
const data = await request(`${BASE}/repos/${owner}/${repo}/actions/runs/${runId}/jobs`);
|
|
447
|
+
return data.jobs || [];
|
|
448
|
+
}
|
|
449
|
+
module2.exports = {
|
|
450
|
+
BASE,
|
|
451
|
+
HEADERS,
|
|
452
|
+
request,
|
|
453
|
+
runGit,
|
|
454
|
+
parseOwnerFromUrl,
|
|
455
|
+
getOwnerFromRemoteUrl,
|
|
456
|
+
getRepoFromRemoteUrl,
|
|
457
|
+
getCurrentOwner: getCurrentOwner2,
|
|
458
|
+
getCurrentRepo: getCurrentRepo2,
|
|
459
|
+
getOwnerRepo,
|
|
460
|
+
getLatestRun: getLatestRun2,
|
|
461
|
+
getJobs: getJobs2
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
});
|
|
465
|
+
|
|
466
|
+
// src/github-workflows/get-latest-workflow-status-cli.mjs
|
|
467
|
+
init_cjs_shims();
|
|
468
|
+
var import_utils = __toESM(require_utils(), 1);
|
|
469
|
+
var import_utils2 = __toESM(require_utils2(), 1);
|
|
470
|
+
|
|
471
|
+
// src/github-workflows/get-latest-workflow-status.mjs
|
|
472
|
+
init_cjs_shims();
|
|
473
|
+
function printReport(run, jobs) {
|
|
474
|
+
var _a;
|
|
475
|
+
console.log("\n==============================");
|
|
476
|
+
console.log("\u{1F680} Latest Workflow Run");
|
|
477
|
+
console.log("==============================");
|
|
478
|
+
console.log(`Name : ${run.name}`);
|
|
479
|
+
console.log(`Status : ${run.status}`);
|
|
480
|
+
console.log(`Conclusion: ${run.conclusion}`);
|
|
481
|
+
console.log(`Branch : ${run.head_branch}`);
|
|
482
|
+
console.log(`Run ID : ${run.id}`);
|
|
483
|
+
console.log(`URL : ${run.html_url}`);
|
|
484
|
+
console.log("\n==============================");
|
|
485
|
+
console.log("\u{1F9E9} Jobs & Steps");
|
|
486
|
+
console.log("==============================\n");
|
|
487
|
+
for (const job of jobs) {
|
|
488
|
+
console.log(`\u{1F9F1} Job: ${job.name}`);
|
|
489
|
+
console.log(` Status: ${job.status} | Conclusion: ${job.conclusion}`);
|
|
490
|
+
if (!((_a = job.steps) == null ? void 0 : _a.length)) {
|
|
491
|
+
console.log(" (no steps found)\n");
|
|
492
|
+
continue;
|
|
493
|
+
}
|
|
494
|
+
for (const step of job.steps) {
|
|
495
|
+
const icon = step.conclusion === "success" ? "\u2705" : step.conclusion === "failure" ? "\u274C" : step.conclusion === "skipped" ? "\u23ED\uFE0F" : "\u26AA";
|
|
496
|
+
console.log(` ${icon} ${step.name} -> ${step.conclusion} (${step.status})`);
|
|
497
|
+
}
|
|
498
|
+
console.log("");
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
// src/github-workflows/get-latest-workflow-status-cli.mjs
|
|
503
|
+
var HELP = `
|
|
504
|
+
Usage: get-latest-workflow-status [options]
|
|
505
|
+
|
|
506
|
+
Print the latest GitHub Actions workflow run with its jobs and steps.
|
|
507
|
+
|
|
508
|
+
Options:
|
|
509
|
+
--owner <owner> GitHub repository owner (default: auto-detect from git)
|
|
510
|
+
--repo <repo> GitHub repository name (default: auto-detect from git)
|
|
511
|
+
--workflow <name> Filter by workflow filename (e.g. "test.yml") or workflow ID
|
|
512
|
+
--token <token> GitHub access token (overrides env: ACCESS_TOKEN, GITHUB_TOKEN, GH_TOKEN)
|
|
513
|
+
-h, --help Show this help message
|
|
514
|
+
`;
|
|
515
|
+
async function main() {
|
|
516
|
+
const argv = (0, import_utils.getArgs)({
|
|
517
|
+
string: ["owner", "repo", "workflow"],
|
|
518
|
+
boolean: ["help"],
|
|
519
|
+
alias: { h: "help" }
|
|
520
|
+
});
|
|
521
|
+
if (argv.help) {
|
|
522
|
+
console.log(HELP);
|
|
523
|
+
process.exit(0);
|
|
524
|
+
}
|
|
525
|
+
try {
|
|
526
|
+
const owner = argv.owner || process.env.GH_OWNER || await (0, import_utils2.getCurrentOwner)();
|
|
527
|
+
const repo = argv.repo || process.env.GH_REPO || await (0, import_utils2.getCurrentRepo)();
|
|
528
|
+
const workflowId = argv.workflow;
|
|
529
|
+
const run = await (0, import_utils2.getLatestRun)(owner, repo, workflowId);
|
|
530
|
+
if (!run) {
|
|
531
|
+
console.log("No workflow runs found.");
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
534
|
+
const jobs = await (0, import_utils2.getJobs)(owner, repo, run.id);
|
|
535
|
+
printReport(run, jobs);
|
|
536
|
+
} catch (err) {
|
|
537
|
+
console.error("Error:", err.message);
|
|
538
|
+
process.exit(1);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
main();
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
printReport
|
|
5
|
+
} from "../chunk-7N52Z4IJ.mjs";
|
|
6
|
+
import {
|
|
7
|
+
require_utils as require_utils2
|
|
8
|
+
} from "../chunk-KAT2JNLZ.mjs";
|
|
9
|
+
import "../chunk-SARIXFHP.mjs";
|
|
10
|
+
import "../chunk-J4M5EL5P.mjs";
|
|
11
|
+
import {
|
|
12
|
+
require_utils
|
|
13
|
+
} from "../chunk-6RK5UCTP.mjs";
|
|
14
|
+
import {
|
|
15
|
+
__toESM,
|
|
16
|
+
init_esm_shims
|
|
17
|
+
} from "../chunk-QQ4A6DLD.mjs";
|
|
18
|
+
|
|
19
|
+
// src/github-workflows/get-latest-workflow-status-cli.mjs
|
|
20
|
+
init_esm_shims();
|
|
21
|
+
var import_utils = __toESM(require_utils(), 1);
|
|
22
|
+
var import_utils2 = __toESM(require_utils2(), 1);
|
|
23
|
+
var HELP = `
|
|
24
|
+
Usage: get-latest-workflow-status [options]
|
|
25
|
+
|
|
26
|
+
Print the latest GitHub Actions workflow run with its jobs and steps.
|
|
27
|
+
|
|
28
|
+
Options:
|
|
29
|
+
--owner <owner> GitHub repository owner (default: auto-detect from git)
|
|
30
|
+
--repo <repo> GitHub repository name (default: auto-detect from git)
|
|
31
|
+
--workflow <name> Filter by workflow filename (e.g. "test.yml") or workflow ID
|
|
32
|
+
--token <token> GitHub access token (overrides env: ACCESS_TOKEN, GITHUB_TOKEN, GH_TOKEN)
|
|
33
|
+
-h, --help Show this help message
|
|
34
|
+
`;
|
|
35
|
+
async function main() {
|
|
36
|
+
const argv = (0, import_utils.getArgs)({
|
|
37
|
+
string: ["owner", "repo", "workflow"],
|
|
38
|
+
boolean: ["help"],
|
|
39
|
+
alias: { h: "help" }
|
|
40
|
+
});
|
|
41
|
+
if (argv.help) {
|
|
42
|
+
console.log(HELP);
|
|
43
|
+
process.exit(0);
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
const owner = argv.owner || process.env.GH_OWNER || await (0, import_utils2.getCurrentOwner)();
|
|
47
|
+
const repo = argv.repo || process.env.GH_REPO || await (0, import_utils2.getCurrentRepo)();
|
|
48
|
+
const workflowId = argv.workflow;
|
|
49
|
+
const run = await (0, import_utils2.getLatestRun)(owner, repo, workflowId);
|
|
50
|
+
if (!run) {
|
|
51
|
+
console.log("No workflow runs found.");
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const jobs = await (0, import_utils2.getJobs)(owner, repo, run.id);
|
|
55
|
+
printReport(run, jobs);
|
|
56
|
+
} catch (err) {
|
|
57
|
+
console.error("Error:", err.message);
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
main();
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/github-workflows/get-latest-workflow-status.mjs
|
|
20
|
+
var get_latest_workflow_status_exports = {};
|
|
21
|
+
__export(get_latest_workflow_status_exports, {
|
|
22
|
+
printReport: () => printReport
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(get_latest_workflow_status_exports);
|
|
25
|
+
function printReport(run, jobs) {
|
|
26
|
+
var _a;
|
|
27
|
+
console.log("\n==============================");
|
|
28
|
+
console.log("\u{1F680} Latest Workflow Run");
|
|
29
|
+
console.log("==============================");
|
|
30
|
+
console.log(`Name : ${run.name}`);
|
|
31
|
+
console.log(`Status : ${run.status}`);
|
|
32
|
+
console.log(`Conclusion: ${run.conclusion}`);
|
|
33
|
+
console.log(`Branch : ${run.head_branch}`);
|
|
34
|
+
console.log(`Run ID : ${run.id}`);
|
|
35
|
+
console.log(`URL : ${run.html_url}`);
|
|
36
|
+
console.log("\n==============================");
|
|
37
|
+
console.log("\u{1F9E9} Jobs & Steps");
|
|
38
|
+
console.log("==============================\n");
|
|
39
|
+
for (const job of jobs) {
|
|
40
|
+
console.log(`\u{1F9F1} Job: ${job.name}`);
|
|
41
|
+
console.log(` Status: ${job.status} | Conclusion: ${job.conclusion}`);
|
|
42
|
+
if (!((_a = job.steps) == null ? void 0 : _a.length)) {
|
|
43
|
+
console.log(" (no steps found)\n");
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
for (const step of job.steps) {
|
|
47
|
+
const icon = step.conclusion === "success" ? "\u2705" : step.conclusion === "failure" ? "\u274C" : step.conclusion === "skipped" ? "\u23ED\uFE0F" : "\u26AA";
|
|
48
|
+
console.log(` ${icon} ${step.name} -> ${step.conclusion} (${step.status})`);
|
|
49
|
+
}
|
|
50
|
+
console.log("");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
printReport
|
|
56
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function printReport(run: any, jobs: any): void;
|