binary-collections 2.0.13 → 2.0.15
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/.opencode/plugins/opencode-request-logger/README.md +44 -0
- package/.venv/Lib/site-packages/pyarrow/tests/data/orc/README.md +22 -0
- 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/install-opencode-plugins.md +86 -0
- 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 +155 -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-types.cjs +17 -0
- package/lib/binary-collections/config-types.d.ts +12 -0
- package/lib/binary-collections/config-types.js +2 -0
- package/lib/binary-collections/config-types.mjs +7 -0
- package/lib/binary-collections/config.cjs +28 -8
- package/lib/binary-collections/config.d.cts +26 -8
- package/lib/binary-collections/config.mjs +2 -2
- package/lib/binary-collections/findScript.cjs +49 -25
- package/lib/binary-collections/findScript.mjs +2 -2
- package/lib/binary-collections/listScript.cjs +49 -25
- package/lib/binary-collections/listScript.mjs +2 -2
- package/lib/binary-collections.cjs +49 -25
- package/lib/binary-collections.mjs +6 -6
- package/lib/changelog.cjs +142 -4
- package/lib/changelog.mjs +9 -5
- package/lib/chunk-3T6AMFI3.mjs +52 -0
- package/lib/{chunk-2MN4VPV2.mjs → chunk-3ZF2QMDK.mjs} +4 -4
- package/lib/chunk-56BVU63B.mjs +86 -0
- package/lib/chunk-7N52Z4IJ.mjs +39 -0
- package/lib/chunk-B77D3SR4.mjs +28 -0
- package/lib/chunk-BPED62FN.mjs +115 -0
- package/lib/{chunk-RDN6HF5Z.mjs → chunk-DHFRWM2W.mjs} +1 -1
- package/lib/chunk-DPEE3FBB.mjs +146 -0
- package/lib/{chunk-MGPYPKIE.mjs → chunk-H7AE4IO3.mjs} +5 -1
- package/lib/{chunk-H44UWUFY.mjs → chunk-J4M5EL5P.mjs} +3 -0
- package/lib/chunk-KCJYREA2.mjs +67 -0
- package/lib/chunk-LACQTD5V.mjs +225 -0
- package/lib/{chunk-TBWXE7ST.mjs → chunk-NHD4HLSU.mjs} +24 -31
- package/lib/{chunk-RDGDLSPD.mjs → chunk-OWNVMKAA.mjs} +6 -5
- package/lib/chunk-SKVF4TMD.mjs +59 -0
- package/lib/{chunk-BZWVHODJ.mjs → chunk-TDUUOAQD.mjs} +5 -5
- package/lib/chunk-TP3O2JGW.mjs +88 -0
- package/lib/{chunk-FLYSZFLW.mjs → chunk-UAEKSLAX.mjs} +1 -1
- package/lib/chunk-UDZBVKXH.mjs +94 -0
- package/lib/chunk-UEOWRYAN.mjs +32 -0
- package/lib/chunk-V6PTSDW5.mjs +82 -0
- package/lib/{chunk-NQXUYO67.mjs → chunk-WNUEY6VJ.mjs} +49 -25
- package/lib/chunk-X7UVQ6ZC.mjs +183 -0
- package/lib/chunk-XW5NZAKI.mjs +82 -0
- package/lib/{chunk-LVSPEFU2.mjs → chunk-Z53IUBUN.mjs} +6 -5
- package/lib/{chunk-CD3HF3LK.mjs → chunk-Z7RM46Q4.mjs} +5 -11
- package/lib/chunk-ZB4IQ6VJ.mjs +46 -0
- 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} +32 -12
- package/lib/{git-diff-cli.mjs → git/git-diff-cli.mjs} +7 -7
- package/lib/{git-diff.cjs → git/git-diff.cjs} +30 -10
- 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} +142 -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 +139 -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} +46 -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} +46 -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 +549 -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 +279 -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 +730 -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/node-cache-cleaner-cli.mjs +3 -3
- package/lib/opencode/cli/auth-rotate.cjs +458 -0
- package/lib/opencode/cli/auth-rotate.d.ts +3 -0
- package/lib/opencode/cli/auth-rotate.js +65 -0
- package/lib/opencode/cli/auth-rotate.mjs +14 -0
- package/lib/opencode/cli/auth-rotate.runner.cjs +454 -0
- package/lib/opencode/cli/auth-rotate.runner.d.ts +1 -0
- package/lib/opencode/cli/auth-rotate.runner.js +8 -0
- package/lib/opencode/cli/auth-rotate.runner.mjs +21 -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/install-opencode-plugins-cli.cjs +82 -0
- package/lib/opencode/install-opencode-plugins-cli.d.ts +1 -0
- package/lib/opencode/install-opencode-plugins-cli.js +78 -0
- package/lib/opencode/install-opencode-plugins-cli.mjs +65 -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 +373 -0
- package/lib/opencode/utils/check-api.d.ts +16 -0
- package/lib/opencode/utils/check-api.js +132 -0
- package/lib/opencode/utils/check-api.mjs +12 -0
- package/lib/opencode/utils/check-api.runner.cjs +0 -0
- package/lib/opencode/utils/check-api.runner.d.ts +0 -0
- package/lib/opencode/utils/check-api.runner.js +1 -0
- package/lib/opencode/utils/check-api.runner.mjs +7 -0
- package/lib/opencode-cli.cjs +796 -0
- package/lib/opencode-cli.d.ts +2 -0
- package/lib/opencode-cli.js +116 -0
- package/lib/opencode-cli.mjs +116 -0
- package/lib/package-resolutions-updater-cli.cjs +189 -154
- package/lib/package-resolutions-updater-cli.mjs +3 -2
- package/lib/package-resolutions-updater.cjs +189 -154
- package/lib/package-resolutions-updater.d.mts +12 -3
- package/lib/package-resolutions-updater.mjs +3 -2
- package/lib/print-directory-tree.cjs +139 -3
- package/lib/print-directory-tree.mjs +6 -3
- package/lib/print-tarball-tree-cli.cjs +305 -0
- package/lib/print-tarball-tree-cli.d.mts +2 -0
- package/lib/print-tarball-tree-cli.mjs +54 -0
- package/lib/print-tarball-tree.cjs +43 -216
- package/lib/print-tarball-tree.d.mts +4 -1
- package/lib/print-tarball-tree.mjs +12 -66
- package/lib/rmpath-cli.cjs +139 -5
- package/lib/rmpath-cli.mjs +3 -1
- package/lib/rmpath.cjs +155 -11
- package/lib/rmpath.mjs +3 -1
- package/lib/run-by-checksum/hash.cjs +50 -56
- package/lib/run-by-checksum/hash.d.cts +24 -0
- package/lib/run-by-checksum/hash.mjs +3 -7
- package/lib/run-by-checksum/run.cjs +95 -42
- package/lib/run-by-checksum/run.js +3 -3
- package/lib/run-by-checksum/run.mjs +2 -2
- package/lib/run-by-checksum-cli.cjs +96 -58
- package/lib/run-by-checksum-cli.mjs +2 -2
- package/lib/submodule-install.cjs +138 -4
- package/lib/submodule-install.mjs +5 -4
- package/lib/submodule-remove-cli.cjs +139 -5
- package/lib/submodule-remove-cli.mjs +3 -1
- package/lib/submodule-remove.cjs +154 -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/utils/isDebug.cjs +13 -0
- package/lib/utils/isDebug.d.cts +9 -0
- package/lib/utils/isDebug.mjs +6 -0
- 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 +50 -26
- package/readme.md +104 -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/chunk-WSHVPGNM.mjs +0 -44
- package/lib/chunk-X2B3X7D4.mjs +0 -35
- 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/run-by-checksum/hash.d.ts +0 -14
- package/lib/run-by-checksum/hash.js +0 -85
- package/readme.html +0 -784
- /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
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
require_fetchResponse
|
|
4
4
|
} from "./chunk-KLKAIFKI.mjs";
|
|
5
5
|
import {
|
|
6
|
-
|
|
7
|
-
} from "./chunk-
|
|
6
|
+
require_config
|
|
7
|
+
} from "./chunk-3T6AMFI3.mjs";
|
|
8
8
|
import {
|
|
9
9
|
require_utils
|
|
10
10
|
} from "./chunk-6RK5UCTP.mjs";
|
|
@@ -15,30 +15,14 @@ import {
|
|
|
15
15
|
|
|
16
16
|
// src/package-resolutions-updater.mjs
|
|
17
17
|
init_esm_shims();
|
|
18
|
-
var
|
|
18
|
+
var import_config = __toESM(require_config(), 1);
|
|
19
19
|
var import_fetchResponse = __toESM(require_fetchResponse(), 1);
|
|
20
|
-
var
|
|
21
|
-
import * as dotenv from "dotenv";
|
|
20
|
+
var utils = __toESM(require_utils(), 1);
|
|
22
21
|
import fs from "fs";
|
|
22
|
+
import { parseGitHubUrl } from "git-command-helper";
|
|
23
23
|
import os from "os";
|
|
24
24
|
import path from "upath";
|
|
25
|
-
import { parseGitHubUrl } from "git-command-helper";
|
|
26
|
-
var projectDir = process.cwd();
|
|
27
|
-
var envPath = path.join(projectDir, ".env");
|
|
28
25
|
var args = utils.getArgs();
|
|
29
|
-
if (!fs.existsSync(envPath)) {
|
|
30
|
-
const envFiles = (0, import_findEnvFiles.findEnvFiles)(projectDir, (file) => {
|
|
31
|
-
const content = fs.readFileSync(file, "utf-8");
|
|
32
|
-
return /GITHUB_TOKEN|ACCESS_TOKEN/.test(content);
|
|
33
|
-
});
|
|
34
|
-
if (envFiles.length > 0) {
|
|
35
|
-
envPath = envFiles[0];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (fs.existsSync(envPath)) {
|
|
39
|
-
dotenv.config({ path: envPath, quiet: true, override: true });
|
|
40
|
-
}
|
|
41
|
-
var ACCESS_TOKEN = process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN;
|
|
42
26
|
if (args.help || args.h) {
|
|
43
27
|
showHelp();
|
|
44
28
|
}
|
|
@@ -62,7 +46,6 @@ Requirements:
|
|
|
62
46
|
- Node.js v18+ recommended
|
|
63
47
|
Dependencies:
|
|
64
48
|
- ansi-colors \u2013 for styled terminal output
|
|
65
|
-
- dotenv \u2013 to load GitHub token from .env
|
|
66
49
|
Examples:
|
|
67
50
|
node src/package-resolutions-updater.mjs
|
|
68
51
|
node src/package-resolutions-updater.mjs --help
|
|
@@ -103,7 +86,7 @@ async function fetchJson(url) {
|
|
|
103
86
|
"User-Agent": selectedUserAgent,
|
|
104
87
|
Accept: "application/vnd.github.v3+json",
|
|
105
88
|
"X-GitHub-Api-Version": "2022-11-28",
|
|
106
|
-
...
|
|
89
|
+
...import_config.GITHUB_ACCESS_TOKEN ? { Authorization: `token ${import_config.GITHUB_ACCESS_TOKEN}` } : {}
|
|
107
90
|
},
|
|
108
91
|
responseType: "json"
|
|
109
92
|
});
|
|
@@ -181,15 +164,25 @@ function replaceRawWithLatestHash(url, latestHash) {
|
|
|
181
164
|
}
|
|
182
165
|
async function resolvePackageResolutionUpdates(resolutions, specialPackageOverrides = []) {
|
|
183
166
|
const updates = [];
|
|
184
|
-
for (const [currentPkgName,
|
|
167
|
+
for (const [currentPkgName, version] of Object.entries(resolutions || {})) {
|
|
168
|
+
const isUrl = typeof version === "string" && (version.startsWith("http://") || version.startsWith("https://"));
|
|
169
|
+
if (!isUrl) {
|
|
170
|
+
updates.push({
|
|
171
|
+
skipped: true,
|
|
172
|
+
currentPkgName,
|
|
173
|
+
url: version,
|
|
174
|
+
error: new Error("Version is not a URL, skipping")
|
|
175
|
+
});
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
185
178
|
let repo;
|
|
186
179
|
try {
|
|
187
|
-
repo = parseGitHubUrl(
|
|
180
|
+
repo = parseGitHubUrl(version);
|
|
188
181
|
} catch (error) {
|
|
189
182
|
updates.push({
|
|
190
183
|
skipped: true,
|
|
191
184
|
currentPkgName,
|
|
192
|
-
url,
|
|
185
|
+
url: version,
|
|
193
186
|
error
|
|
194
187
|
});
|
|
195
188
|
continue;
|
|
@@ -197,25 +190,25 @@ async function resolvePackageResolutionUpdates(resolutions, specialPackageOverri
|
|
|
197
190
|
try {
|
|
198
191
|
const override = specialPackageOverrides.find((p) => p.pkg === currentPkgName);
|
|
199
192
|
const latest = override ? await getLatestCommit(override.owner, override.repo, override.branch) : await getLatestCommitAcrossBranches(repo.owner, repo.repo);
|
|
200
|
-
const new_url = replaceRawWithLatestHash(
|
|
193
|
+
const new_url = replaceRawWithLatestHash(version, latest.sha);
|
|
201
194
|
const response = await (0, import_fetchResponse.default)(new_url);
|
|
202
195
|
if (response.status < 200 || response.status >= 300) {
|
|
203
196
|
updates.push({
|
|
204
197
|
failed: true,
|
|
205
198
|
currentPkgName,
|
|
206
|
-
url,
|
|
199
|
+
url: version,
|
|
207
200
|
new_url,
|
|
208
201
|
repo,
|
|
209
202
|
latest,
|
|
210
203
|
error: new Error(`New URL not accessible (status ${response.status}).
|
|
211
|
-
original: ${
|
|
204
|
+
original: ${version}
|
|
212
205
|
new: ${new_url}`)
|
|
213
206
|
});
|
|
214
207
|
continue;
|
|
215
208
|
}
|
|
216
209
|
updates.push({
|
|
217
210
|
currentPkgName,
|
|
218
|
-
url,
|
|
211
|
+
url: version,
|
|
219
212
|
new_url,
|
|
220
213
|
repo,
|
|
221
214
|
latest
|
|
@@ -224,7 +217,7 @@ new: ${new_url}`)
|
|
|
224
217
|
updates.push({
|
|
225
218
|
failed: true,
|
|
226
219
|
currentPkgName,
|
|
227
|
-
url,
|
|
220
|
+
url: version,
|
|
228
221
|
repo,
|
|
229
222
|
error
|
|
230
223
|
});
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
+
require_config
|
|
4
|
+
} from "./chunk-3T6AMFI3.mjs";
|
|
5
|
+
import {
|
|
6
|
+
__toESM,
|
|
3
7
|
init_esm_shims
|
|
4
8
|
} from "./chunk-QQ4A6DLD.mjs";
|
|
5
9
|
|
|
6
10
|
// src/rmpath.mjs
|
|
7
11
|
init_esm_shims();
|
|
8
|
-
|
|
12
|
+
var import_config = __toESM(require_config(), 1);
|
|
9
13
|
import fs from "fs-extra";
|
|
10
14
|
import * as glob from "glob";
|
|
11
15
|
import path from "upath";
|
|
12
16
|
import { fileURLToPath } from "url";
|
|
13
17
|
var __filename = fileURLToPath(import.meta.url);
|
|
14
18
|
var __dirname = path.dirname(__filename);
|
|
15
|
-
|
|
16
|
-
if (fs.existsSync(dotenvPath)) {
|
|
17
|
-
dotenv.config({ path: dotenvPath, override: true, quiet: true });
|
|
18
|
-
}
|
|
19
|
+
(0, import_config.loadDotenv)();
|
|
19
20
|
var deletePatterns = [];
|
|
20
21
|
function resolveDeletePatterns(targetPath) {
|
|
21
22
|
if (fs.existsSync(targetPath) && fs.lstatSync(targetPath).isFile()) {
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
init_esm_shims
|
|
4
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
5
|
+
|
|
6
|
+
// src/print-tarball-tree.mjs
|
|
7
|
+
init_esm_shims();
|
|
8
|
+
import fs from "fs";
|
|
9
|
+
import * as zlib from "zlib";
|
|
10
|
+
import { pipeline } from "stream/promises";
|
|
11
|
+
import tar from "tar-stream";
|
|
12
|
+
function addToTree(tree, parts) {
|
|
13
|
+
let node = tree;
|
|
14
|
+
for (const part of parts) {
|
|
15
|
+
if (!node[part]) node[part] = {};
|
|
16
|
+
node = node[part];
|
|
17
|
+
}
|
|
18
|
+
return tree;
|
|
19
|
+
}
|
|
20
|
+
function formatTree(node, prefix = "") {
|
|
21
|
+
const lines = [];
|
|
22
|
+
const entries = Object.keys(node).sort();
|
|
23
|
+
entries.forEach(function(key, index) {
|
|
24
|
+
const isLast = index === entries.length - 1;
|
|
25
|
+
const child = node[key];
|
|
26
|
+
const line = prefix + (isLast ? "\u2514\u2500\u2500 " : "\u251C\u2500\u2500 ") + key;
|
|
27
|
+
const newPrefix = prefix + (isLast ? " " : "\u2502 ");
|
|
28
|
+
lines.push(line);
|
|
29
|
+
lines.push(...formatTree(child, newPrefix));
|
|
30
|
+
});
|
|
31
|
+
return lines;
|
|
32
|
+
}
|
|
33
|
+
function printTree(node, prefix = "", logger = console.log) {
|
|
34
|
+
for (const line of formatTree(node, prefix)) {
|
|
35
|
+
logger(line);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async function printTgzTree(filePath, options = {}) {
|
|
39
|
+
const logger = options.logger || console.log;
|
|
40
|
+
const extract = tar.extract();
|
|
41
|
+
const tree = {};
|
|
42
|
+
extract.on("entry", function(header, stream, next) {
|
|
43
|
+
const parts = header.name.split("/").filter(Boolean);
|
|
44
|
+
if (parts.length) addToTree(tree, parts);
|
|
45
|
+
stream.once("end", next);
|
|
46
|
+
stream.once("error", next);
|
|
47
|
+
stream.resume();
|
|
48
|
+
});
|
|
49
|
+
await pipeline(fs.createReadStream(filePath), zlib.createGunzip(), extract);
|
|
50
|
+
printTree(tree, "", logger);
|
|
51
|
+
return tree;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export {
|
|
55
|
+
addToTree,
|
|
56
|
+
formatTree,
|
|
57
|
+
printTree,
|
|
58
|
+
printTgzTree
|
|
59
|
+
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
require_config
|
|
4
|
+
} from "./chunk-3T6AMFI3.mjs";
|
|
2
5
|
import {
|
|
3
6
|
__commonJS,
|
|
4
7
|
__require,
|
|
@@ -12,11 +15,8 @@ var require_submodule_remove = __commonJS({
|
|
|
12
15
|
var { spawnAsync } = __require("cross-spawn");
|
|
13
16
|
var path = __require("upath");
|
|
14
17
|
var fs = __require("fs-extra");
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
if (fs.existsSync(envPath)) {
|
|
18
|
-
dotenv.config({ path: envPath, override: true, quiet: true });
|
|
19
|
-
}
|
|
18
|
+
var { loadDotenv } = require_config();
|
|
19
|
+
loadDotenv();
|
|
20
20
|
async function removeSubmodule(submodulePath) {
|
|
21
21
|
try {
|
|
22
22
|
await spawnAsync("git", ["submodule", "deinit", "-f", submodulePath], { stdio: "inherit" });
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
__commonJS,
|
|
4
|
+
init_esm_shims
|
|
5
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
6
|
+
|
|
7
|
+
// src/github-workflows/workflow-test-data.cjs
|
|
8
|
+
var require_workflow_test_data = __commonJS({
|
|
9
|
+
"src/github-workflows/workflow-test-data.cjs"(exports, module) {
|
|
10
|
+
init_esm_shims();
|
|
11
|
+
var workflow = {
|
|
12
|
+
name: "Node.js Package Test",
|
|
13
|
+
concurrency: {
|
|
14
|
+
group: "test-${{ github.event_name }}",
|
|
15
|
+
"cancel-in-progress": true
|
|
16
|
+
},
|
|
17
|
+
on: {
|
|
18
|
+
workflow_dispatch: {},
|
|
19
|
+
push: {
|
|
20
|
+
paths: ["**/test*/**", "**/test*", "**/src/**"]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
env: {
|
|
24
|
+
CI_NODE_VERSION: "24.16.0",
|
|
25
|
+
CI_PYTHON_VERSION: "3.11",
|
|
26
|
+
ACCESS_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}",
|
|
27
|
+
GH_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}"
|
|
28
|
+
},
|
|
29
|
+
jobs: {
|
|
30
|
+
ci: {
|
|
31
|
+
name: "\u{1F528} Build, Pack & Test",
|
|
32
|
+
"runs-on": "ubuntu-latest",
|
|
33
|
+
steps: [
|
|
34
|
+
{
|
|
35
|
+
name: "\u2B07\uFE0F Checkout workflow repository",
|
|
36
|
+
uses: "actions/checkout@v6"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "\u2B07\uFE0F Setup CI Environment",
|
|
40
|
+
uses: "./.github/actions/setup-environments",
|
|
41
|
+
with: {
|
|
42
|
+
"node-version": "${{ env.CI_NODE_VERSION }}",
|
|
43
|
+
"python-version": "${{ env.CI_PYTHON_VERSION }}",
|
|
44
|
+
token: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}",
|
|
45
|
+
"prefix-cache-key": "${{ runner.os }}-test-"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "\u{1F4E6} Install dependencies",
|
|
50
|
+
run: `touch yarn.lock && corepack yarn install`
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "\u{1F528} Build project",
|
|
54
|
+
run: "corepack yarn build"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: "\u{1F4E6} Pack project",
|
|
58
|
+
run: "corepack yarn pack"
|
|
59
|
+
},
|
|
60
|
+
// {
|
|
61
|
+
// name: '🧪 Run committed composite tests action',
|
|
62
|
+
// uses: './.github/actions/run-tests',
|
|
63
|
+
// env: {
|
|
64
|
+
// ACCESS_TOKEN: '${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}',
|
|
65
|
+
// GH_TOKEN: '${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}'
|
|
66
|
+
// }
|
|
67
|
+
// },
|
|
68
|
+
{
|
|
69
|
+
name: "\u{1F9F9} Clean GitHub Actions Cache",
|
|
70
|
+
// if: 'always()',
|
|
71
|
+
"continue-on-error": true,
|
|
72
|
+
env: {
|
|
73
|
+
GH_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}"
|
|
74
|
+
},
|
|
75
|
+
shell: "bash",
|
|
76
|
+
run: `npx --legacy-peer-deps -y binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz clean-github-actions-caches --repo "\${{ github.repository }}" --sha "\${{ github.sha }}"`
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
module.exports = workflow;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
export {
|
|
87
|
+
require_workflow_test_data
|
|
88
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
init_esm_shims
|
|
4
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
5
|
+
|
|
6
|
+
// src/vscode/storage.ts
|
|
7
|
+
init_esm_shims();
|
|
8
|
+
import * as path from "upath";
|
|
9
|
+
import * as os from "os";
|
|
10
|
+
import * as process from "process";
|
|
11
|
+
import fs from "fs-extra";
|
|
12
|
+
function getAppDataDir() {
|
|
13
|
+
if (process.env.VSCODE_APP_DATA) return process.env.VSCODE_APP_DATA;
|
|
14
|
+
const platform2 = os.platform();
|
|
15
|
+
if (platform2 === "win32") return path.join(process.env.APPDATA || path.join(os.homedir(), "AppData/Roaming"), "Code");
|
|
16
|
+
if (platform2 === "darwin") return path.join(os.homedir(), "Library/Application Support/Code");
|
|
17
|
+
return path.join(os.homedir(), ".config/Code");
|
|
18
|
+
}
|
|
19
|
+
function getCacheDir() {
|
|
20
|
+
const platform2 = os.platform();
|
|
21
|
+
if (platform2 === "win32")
|
|
22
|
+
return path.join(process.env.APPDATA || path.join(os.homedir(), "AppData/Roaming"), "Code/Cache");
|
|
23
|
+
if (platform2 === "darwin") return path.join(os.homedir(), "Library/Caches/Code");
|
|
24
|
+
return path.join(os.homedir(), ".cache/Code");
|
|
25
|
+
}
|
|
26
|
+
var APP_DATA_DIR = getAppDataDir();
|
|
27
|
+
var USER_DIR = path.join(APP_DATA_DIR, "User");
|
|
28
|
+
var SETTINGS_PATH = path.join(USER_DIR, "settings.json");
|
|
29
|
+
var KEYBINDINGS_PATH = path.join(USER_DIR, "keybindings.json");
|
|
30
|
+
var SNIPPETS_DIR = path.join(USER_DIR, "snippets");
|
|
31
|
+
var WORKSPACE_STORAGE_DIR = path.join(USER_DIR, "workspaceStorage");
|
|
32
|
+
var GLOBAL_STORAGE_DIR = path.join(USER_DIR, "globalStorage");
|
|
33
|
+
var HISTORY_DIR = path.join(USER_DIR, "History");
|
|
34
|
+
var SYNC_DIR = path.join(USER_DIR, "sync");
|
|
35
|
+
var EXTENSIONS_DIR = path.join(os.homedir(), ".vscode/extensions");
|
|
36
|
+
var CACHE_DIR = getCacheDir();
|
|
37
|
+
var CACHED_DATA_DIR = path.join(CACHE_DIR, "CachedData");
|
|
38
|
+
var CACHED_EXTENSIONS_DIR = path.join(CACHE_DIR, "CachedExtensions");
|
|
39
|
+
var CACHED_VSIXS_DIR = path.join(CACHE_DIR, "CachedExtensionVSIXs");
|
|
40
|
+
var LOGS_DIR = path.join(APP_DATA_DIR, "logs");
|
|
41
|
+
var DATABASE_PATH = path.join(APP_DATA_DIR, "state.vscdb");
|
|
42
|
+
var MACHINE_ID_PATH = path.join(APP_DATA_DIR, "machineid");
|
|
43
|
+
function fileUriToPath(uri) {
|
|
44
|
+
if (!uri.startsWith("file:///")) return uri;
|
|
45
|
+
return decodeURIComponent(uri.slice(8));
|
|
46
|
+
}
|
|
47
|
+
async function listWorkspaceProjects() {
|
|
48
|
+
const entries = [];
|
|
49
|
+
let dirEntries;
|
|
50
|
+
try {
|
|
51
|
+
dirEntries = await fs.readdir(WORKSPACE_STORAGE_DIR);
|
|
52
|
+
} catch {
|
|
53
|
+
return entries;
|
|
54
|
+
}
|
|
55
|
+
for (const storageId of dirEntries) {
|
|
56
|
+
const wsPath = path.join(WORKSPACE_STORAGE_DIR, storageId, "workspace.json");
|
|
57
|
+
try {
|
|
58
|
+
const content = await fs.readFile(wsPath, "utf8");
|
|
59
|
+
const data = JSON.parse(content);
|
|
60
|
+
if (typeof data.folder === "string" && data.folder.length > 0) {
|
|
61
|
+
const storagePath = path.join(WORKSPACE_STORAGE_DIR, storageId);
|
|
62
|
+
const entry = { folder: fileUriToPath(data.folder), storageId, storagePath };
|
|
63
|
+
const copilotMemoryDir = path.join(storagePath, "GitHub.copilot-chat", "memory-tool", "memories");
|
|
64
|
+
if (await fs.pathExists(copilotMemoryDir)) {
|
|
65
|
+
entry.copilotMemoryDir = copilotMemoryDir;
|
|
66
|
+
}
|
|
67
|
+
entries.push(entry);
|
|
68
|
+
}
|
|
69
|
+
} catch {
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return entries;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export {
|
|
76
|
+
APP_DATA_DIR,
|
|
77
|
+
USER_DIR,
|
|
78
|
+
SETTINGS_PATH,
|
|
79
|
+
KEYBINDINGS_PATH,
|
|
80
|
+
SNIPPETS_DIR,
|
|
81
|
+
WORKSPACE_STORAGE_DIR,
|
|
82
|
+
GLOBAL_STORAGE_DIR,
|
|
83
|
+
HISTORY_DIR,
|
|
84
|
+
SYNC_DIR,
|
|
85
|
+
EXTENSIONS_DIR,
|
|
86
|
+
CACHE_DIR,
|
|
87
|
+
CACHED_DATA_DIR,
|
|
88
|
+
CACHED_EXTENSIONS_DIR,
|
|
89
|
+
CACHED_VSIXS_DIR,
|
|
90
|
+
LOGS_DIR,
|
|
91
|
+
DATABASE_PATH,
|
|
92
|
+
MACHINE_ID_PATH,
|
|
93
|
+
listWorkspaceProjects
|
|
94
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
loadProjects
|
|
4
|
+
} from "./chunk-LACQTD5V.mjs";
|
|
5
|
+
import {
|
|
6
|
+
init_esm_shims
|
|
7
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
8
|
+
|
|
9
|
+
// src/opencode/cli/list-projects.ts
|
|
10
|
+
init_esm_shims();
|
|
11
|
+
async function handleListProjects() {
|
|
12
|
+
const projects = await loadProjects();
|
|
13
|
+
console.log(`Projects (${projects.length}):
|
|
14
|
+
`);
|
|
15
|
+
const rows = projects.map((p) => ({
|
|
16
|
+
id: p.id.slice(0, 8),
|
|
17
|
+
name: p.name || "-",
|
|
18
|
+
worktree: p.worktree
|
|
19
|
+
}));
|
|
20
|
+
const idWidth = Math.max(...rows.map((r) => r.id.length), 2);
|
|
21
|
+
const nameWidth = Math.max(...rows.map((r) => r.name.length), 4);
|
|
22
|
+
const sep = "\u2500".repeat(idWidth + nameWidth + 15);
|
|
23
|
+
console.log(` ${"ID".padEnd(idWidth)} ${"Name".padEnd(nameWidth)} Worktree`);
|
|
24
|
+
console.log(` ${sep}`);
|
|
25
|
+
for (const r of rows) {
|
|
26
|
+
console.log(` ${r.id.padEnd(idWidth)} ${r.name.padEnd(nameWidth)} ${r.worktree}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
handleListProjects
|
|
32
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
__commonJS,
|
|
4
|
+
__require,
|
|
5
|
+
init_esm_shims
|
|
6
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
7
|
+
|
|
8
|
+
// src/run-by-checksum/hash.cjs
|
|
9
|
+
var require_hash = __commonJS({
|
|
10
|
+
"src/run-by-checksum/hash.cjs"(exports, module) {
|
|
11
|
+
init_esm_shims();
|
|
12
|
+
var fs = __require("fs-extra");
|
|
13
|
+
var glob = __require("glob");
|
|
14
|
+
var path = __require("upath");
|
|
15
|
+
var CryptoJS = __require("crypto-js");
|
|
16
|
+
var globSync = typeof glob.sync === "function" ? glob.sync : glob.globSync;
|
|
17
|
+
function getAllFiles({ patterns = [], ignore = [], cwd } = {}) {
|
|
18
|
+
const files = /* @__PURE__ */ new Set();
|
|
19
|
+
const root = path.resolve(cwd || process.cwd());
|
|
20
|
+
for (const pattern of patterns) {
|
|
21
|
+
const matched = globSync(pattern, {
|
|
22
|
+
cwd: root,
|
|
23
|
+
nodir: true,
|
|
24
|
+
ignore,
|
|
25
|
+
absolute: false
|
|
26
|
+
});
|
|
27
|
+
for (const f of matched) {
|
|
28
|
+
files.add(path.normalize(path.resolve(root, f)));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return Array.from(files).sort();
|
|
32
|
+
}
|
|
33
|
+
function isBinaryFile(filePath, bytesToCheck = 8e3) {
|
|
34
|
+
const size = Math.max(0, Number(bytesToCheck) || 0);
|
|
35
|
+
if (size === 0) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
const fd = fs.openSync(filePath, "r");
|
|
39
|
+
try {
|
|
40
|
+
const buffer = Buffer.allocUnsafe(size);
|
|
41
|
+
const bytesRead = fs.readSync(fd, buffer, 0, size, 0);
|
|
42
|
+
for (let i = 0; i < bytesRead; i++) {
|
|
43
|
+
if (buffer[i] === 0) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
} finally {
|
|
49
|
+
fs.closeSync(fd);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function hashFile(file) {
|
|
53
|
+
if (!isBinaryFile(file)) {
|
|
54
|
+
const content = fs.readFileSync(file, "utf8");
|
|
55
|
+
const normalized = content.replace(/\s+/g, " ").trim();
|
|
56
|
+
return CryptoJS.SHA256(normalized).toString(CryptoJS.enc.Hex);
|
|
57
|
+
}
|
|
58
|
+
const stats = fs.statSync(file);
|
|
59
|
+
const binHash = CryptoJS.algo.SHA256.create();
|
|
60
|
+
binHash.update(file);
|
|
61
|
+
binHash.update(String(stats.size));
|
|
62
|
+
return binHash.finalize().toString(CryptoJS.enc.Hex);
|
|
63
|
+
}
|
|
64
|
+
function buildChecksum(files = []) {
|
|
65
|
+
const hash = CryptoJS.algo.SHA256.create();
|
|
66
|
+
for (const file of files) {
|
|
67
|
+
hash.update(file);
|
|
68
|
+
hash.update(hashFile(file));
|
|
69
|
+
}
|
|
70
|
+
return hash.finalize().toString(CryptoJS.enc.Hex);
|
|
71
|
+
}
|
|
72
|
+
function sha256(data, trim = 128) {
|
|
73
|
+
const hash = CryptoJS.SHA256(String(data)).toString(CryptoJS.enc.Hex);
|
|
74
|
+
return trim ? hash.substring(0, trim) : hash;
|
|
75
|
+
}
|
|
76
|
+
module.exports = { getAllFiles, buildChecksum, sha256 };
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
export {
|
|
81
|
+
require_hash
|
|
82
|
+
};
|