binary-collections 2.0.9 → 2.0.11
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/.puppeterrc.cjs +25 -0
- package/binaries/binary-executor.cjs +178 -0
- package/{bin → binaries}/clean-nodemodule +0 -0
- package/binaries/clean-nodemodule.cjs +178 -0
- package/binaries/clean-nodemodule.cmd +4 -0
- package/{bin → binaries}/clean-nodemodules +0 -0
- package/binaries/clean-nodemodules.cjs +178 -0
- package/binaries/clean-nodemodules.cmd +5 -0
- package/{bin → binaries}/dev +0 -0
- package/binaries/dev.cjs +178 -0
- package/{bin → binaries}/empty +0 -0
- package/binaries/empty.cjs +178 -0
- package/{bin → binaries}/git-reduce-size +0 -0
- package/binaries/git-reduce-size.cjs +178 -0
- package/binaries/javakill.cjs +178 -0
- package/{bin → binaries}/javakill.cmd +0 -0
- package/binaries/kill-night-crows.bat +7 -0
- package/binaries/kill-night-crows.ps1 +172 -0
- package/{bin → binaries}/kill-process +0 -0
- package/binaries/kill-process.cjs +178 -0
- package/binaries/nodekill.cjs +178 -0
- package/{bin → binaries}/nodekill.ps1 +0 -0
- package/{bin → binaries}/prod +0 -0
- package/binaries/prod.cjs +178 -0
- package/binaries/py +111 -0
- package/binaries/py.cjs +178 -0
- package/binaries/py.cmd +49 -0
- package/{bin → binaries}/rmfind +0 -0
- package/binaries/rmfind.cjs +178 -0
- package/{bin → binaries}/rmx +0 -0
- package/binaries/rmx.cjs +178 -0
- package/{bin → binaries}/submodule-token +0 -0
- package/binaries/submodule-token.cjs +178 -0
- package/binaries/test-cjs +10 -0
- package/binaries/test-cjs.cjs +178 -0
- package/binaries/test-cjs.cmd +11 -0
- package/binaries/yarn-clean +32 -0
- package/binaries/yarn-clean.cjs +178 -0
- package/binaries/yarn-clean.cmd +30 -0
- package/binaries/yarn-clean.py +148 -0
- package/docs-src/clean-github-actions-caches.md +26 -0
- package/docs-src/free-chatgpt.md +26 -0
- package/lib/binary-collections-config.cjs +3 -2
- package/lib/binary-collections-config.mjs +2 -2
- package/lib/binary-collections.cjs +513 -105
- package/lib/binary-collections.mjs +178 -117
- package/lib/changelog.cjs +64 -16
- package/lib/changelog.mjs +177 -171
- package/lib/{chunk-VVEZVNIV.mjs → chunk-2CBJCW7E.mjs} +3 -3
- package/lib/chunk-34IQDTLZ.mjs +27 -0
- package/lib/chunk-3HFFECCI.mjs +27 -0
- package/lib/chunk-4UHL4WVN.mjs +136 -0
- package/lib/{chunk-4BYBVEYC.mjs → chunk-66PAU5PS.mjs} +5 -4
- package/lib/chunk-6HHJRKFB.mjs +59 -0
- package/lib/chunk-6S4NXESK.mjs +26 -0
- package/lib/chunk-7XTEJHOE.mjs +193 -0
- package/lib/{chunk-ZYAQRPUL.mjs → chunk-7YD7IPFF.mjs} +2 -2
- package/lib/{chunk-SH3L6HHV.mjs → chunk-A2JQXI5Z.mjs} +2 -2
- package/lib/{chunk-EGSSKVDH.mjs → chunk-A3VUZEJK.mjs} +1 -1
- package/lib/chunk-AJDD5DZM.mjs +109 -0
- package/lib/chunk-BZWVHODJ.mjs +62 -0
- package/lib/chunk-FCDQGYBF.mjs +136 -0
- package/lib/chunk-FKI7IEB5.mjs +172 -0
- package/lib/chunk-GEYA2USY.mjs +207 -0
- package/lib/chunk-GJTGHXRA.mjs +356 -0
- package/lib/{chunk-YV7DO3YV.mjs → chunk-HLGOWBEO.mjs} +1 -1
- package/lib/chunk-ID2WBTE2.mjs +80 -0
- package/lib/chunk-JXFOHKDM.mjs +239 -0
- package/lib/{chunk-YX5U7XDR.mjs → chunk-M3YIYRHT.mjs} +6 -5
- package/lib/chunk-N436BNBK.mjs +514 -0
- package/lib/chunk-NCXAP7AA.mjs +31 -0
- package/lib/chunk-PDN26I7O.mjs +188 -0
- package/lib/{chunk-JGR2NW6D.mjs → chunk-PDSXF5HY.mjs} +3 -3
- package/lib/{chunk-AASHBCRW.mjs → chunk-QQ4A6DLD.mjs} +8 -0
- package/lib/{chunk-ONIBBBQ3.mjs → chunk-RWLXRTYP.mjs} +4 -3
- package/lib/chunk-TOIVAQF7.mjs +136 -0
- package/lib/chunk-V5SKYJUB.mjs +136 -0
- package/lib/chunk-WSRETQCA.mjs +59 -0
- package/lib/chunk-XA3SNBPA.mjs +184 -0
- package/lib/chunk-XVBFFVCJ.mjs +209 -0
- package/lib/chunk-YYLIQQKF.mjs +31 -0
- package/lib/{chunk-APBWENF6.mjs → chunk-Z6JLYU2J.mjs} +63 -16
- package/lib/chunk-ZDMWBSYF.mjs +81 -0
- package/lib/clean-github-actions-caches.cjs +291 -148
- package/lib/clean-github-actions-caches.mjs +4 -3
- package/lib/del-gradle.cjs +63 -15
- package/lib/del-gradle.js +2 -1
- package/lib/del-gradle.mjs +2 -2
- package/lib/del-node-modules.cjs +143 -148
- package/lib/del-node-modules.js +210 -14
- package/lib/del-node-modules.mjs +149 -18
- package/lib/del-ps.cjs +90 -21
- package/lib/del-ps.js +3 -2
- package/lib/del-ps.mjs +7 -5
- package/lib/del-yarn-caches.cjs +87 -18
- package/lib/del-yarn-caches.js +38 -3
- package/lib/del-yarn-caches.mjs +6 -6
- package/lib/find-node-modules-cli.cjs +5 -4
- package/lib/find-node-modules-cli.js +2 -1
- package/lib/find-node-modules-cli.mjs +2 -2
- package/lib/find-node-modules.cjs +4 -3
- package/lib/{find-node-modules.d.ts → find-node-modules.d.cts} +1 -1
- package/lib/find-node-modules.mjs +2 -2
- package/lib/free-chatgpt.cjs +754 -0
- package/lib/free-chatgpt.js +51 -0
- package/lib/free-chatgpt.mjs +50 -0
- package/lib/git/gitattributes.cjs +2 -1
- package/lib/git/{gitattributes.d.ts → gitattributes.d.cts} +7 -2
- package/lib/git/gitattributes.mjs +2 -2
- package/lib/git/line-endings.cjs +298 -64
- package/lib/git/line-endings.mjs +4 -4
- package/lib/git/normalize.cjs +26 -36
- package/lib/git/normalize.mjs +2 -2
- package/lib/git/permissions.cjs +77 -11
- package/lib/git/permissions.mjs +3 -3
- package/lib/git/pull-strategy.cjs +76 -9
- package/lib/git/pull-strategy.mjs +3 -3
- package/lib/git/undo-commit-cli.cjs +110 -0
- package/lib/git/undo-commit-cli.d.ts +1 -0
- package/lib/git/undo-commit-cli.js +4 -0
- package/lib/git/undo-commit-cli.mjs +14 -0
- package/lib/git/undo-commit.cjs +81 -0
- package/lib/git/undo-commit.d.cts +1 -0
- package/lib/git/undo-commit.mjs +7 -0
- package/lib/git/undo-staged-cli.cjs +110 -0
- package/lib/git/undo-staged-cli.d.ts +1 -0
- package/lib/git/undo-staged-cli.js +4 -0
- package/lib/git/undo-staged-cli.mjs +14 -0
- package/lib/git/undo-staged.cjs +81 -0
- package/lib/git/undo-staged.d.cts +1 -0
- package/lib/git/undo-staged.mjs +7 -0
- package/lib/git/user-config.cjs +313 -83
- package/lib/git/user-config.mjs +4 -4
- package/lib/git/utils.cjs +40 -60
- package/lib/git/utils.mjs +2 -2
- package/lib/git-diff-cli.cjs +857 -0
- package/lib/git-diff-cli.js +16 -0
- package/lib/git-diff-cli.mjs +17 -0
- package/lib/git-diff.cjs +862 -58
- package/lib/git-diff.d.ts +38 -83
- package/lib/git-diff.js +152 -0
- package/lib/git-diff.mjs +23 -85
- package/lib/git-fix.cjs +733 -97
- package/lib/git-fix.mjs +10 -9
- package/lib/git-purge.cjs +64 -16
- package/lib/git-purge.d.cts +1 -0
- package/lib/git-purge.mjs +43 -37
- package/lib/index.cjs +7 -6
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -5
- package/lib/index.mjs +4 -4
- package/lib/kill-night-crows.cjs +87 -0
- package/lib/kill-night-crows.d.mts +1 -0
- package/lib/kill-night-crows.mjs +65 -0
- package/lib/npm-run-series.cjs +63 -16
- package/lib/npm-run-series.mjs +42 -36
- package/lib/package-resolutions-updater-cli.cjs +560 -0
- package/lib/package-resolutions-updater-cli.d.mts +1 -0
- package/lib/package-resolutions-updater-cli.mjs +124 -0
- package/lib/package-resolutions-updater.cjs +178 -158
- package/lib/package-resolutions-updater.d.mts +32 -1
- package/lib/package-resolutions-updater.mjs +17 -338
- package/lib/php-cs-fixer-staged.cjs +105 -0
- package/lib/php-cs-fixer-staged.d.cts +2 -0
- package/lib/php-cs-fixer-staged.mjs +117 -0
- package/lib/print-directory-tree.cjs +320 -207
- package/lib/print-directory-tree.mjs +3 -3
- package/lib/ps/connected-domain.cjs +25 -2
- package/lib/ps/connected-domain.d.ts +10 -2
- package/lib/ps/connected-domain.js +5 -2
- package/lib/ps/connected-domain.mjs +8 -4
- package/lib/ps/index.cjs +345 -322
- package/lib/ps/index.d.mjs +1 -1
- package/lib/ps/index.js +2 -1
- package/lib/ps/index.mjs +179 -182
- package/lib/ps/isWin.cjs +24 -1
- package/lib/ps/isWin.d.ts +1 -1
- package/lib/ps/isWin.js +3 -1
- package/lib/ps/isWin.mjs +8 -4
- package/lib/ps/table-parser.cjs +167 -159
- package/lib/ps/table-parser.d.ts +5 -0
- package/lib/ps/table-parser.js +10 -4
- package/lib/ps/table-parser.mjs +9 -5
- package/lib/remove-module.cjs +310 -0
- package/lib/remove-module.d.mts +1 -0
- package/lib/remove-module.mjs +111 -0
- package/lib/rmpath.cjs +322 -0
- package/lib/rmpath.d.mts +3 -0
- package/lib/rmpath.mjs +108 -0
- package/lib/submodule-install.cjs +311 -86
- package/lib/submodule-install.mjs +53 -5
- package/lib/submodule-remove-cli.cjs +107 -0
- package/lib/submodule-remove-cli.d.ts +1 -0
- package/lib/submodule-remove-cli.js +31 -0
- package/lib/submodule-remove-cli.mjs +28 -0
- package/lib/submodule-remove.cjs +46 -0
- package/lib/submodule-remove.d.cts +2 -0
- package/lib/submodule-remove.mjs +6 -0
- package/lib/utils/chatgpt.cjs +541 -0
- package/lib/utils/chatgpt.d.ts +31 -0
- package/lib/utils/chatgpt.js +708 -0
- package/lib/utils/chatgpt.mjs +8 -0
- package/lib/utils/findEnvFiles.cjs +107 -0
- package/lib/utils/findEnvFiles.d.ts +8 -0
- package/lib/utils/findEnvFiles.js +121 -0
- package/lib/utils/findEnvFiles.mjs +8 -0
- package/lib/utils/findWorkspaceRoot.cjs +70 -0
- package/lib/utils/findWorkspaceRoot.d.ts +9 -0
- package/lib/utils/findWorkspaceRoot.js +57 -0
- package/lib/utils/findWorkspaceRoot.mjs +40 -0
- package/lib/{utils.cjs → utils/index.cjs} +61 -14
- package/lib/{utils.mjs → utils/index.mjs} +2 -2
- package/lib/utils/isGithubTokenValid.cjs +64 -0
- package/lib/utils/isGithubTokenValid.d.ts +7 -0
- package/lib/utils/isGithubTokenValid.js +48 -0
- package/lib/utils/isGithubTokenValid.mjs +36 -0
- package/lib/yarn-reinstall.cjs +220 -38
- package/lib/yarn-reinstall.mjs +2 -2
- package/package.json +138 -104
- package/readme.md +48 -75
- package/releases/readme.md +36 -0
- package/requirements.txt +1 -0
- package/test/README.md +101 -0
- package/test/package.json +2 -1
- package/test-project/readme.md +26 -0
- package/tmp/test-repo/README.md +35 -0
- package/tmp/test-repo/package.json +1 -1
- package/tmp/typedoc/readme.md +320 -0
- package/bin/bash-dummy +0 -56
- package/bin/bash-dummy.cmd +0 -25
- package/bin/dir-tree.cmd +0 -7
- package/bin/git-diff +0 -4
- package/bin/git-diff.cmd +0 -7
- package/bin/git-fix +0 -36
- package/bin/git-fix.cmd +0 -7
- package/bin/rmpath +0 -70
- package/bin/submodule-install.txt +0 -118
- package/bin/submodule-remove +0 -46
- package/bin/submodule.txt +0 -172
- package/lib/binary-collections-config.d.mts +0 -18
- package/lib/binary-collections-config.js +0 -39
- package/lib/binary-collections.d.mts +0 -137
- package/lib/binary-collections.d.ts +0 -137
- package/lib/changelog.d.mts +0 -2
- package/lib/changelog.js +0 -226
- package/lib/chunk-DPKAJKFO.mjs +0 -171
- package/lib/chunk-G3THLIDT.mjs +0 -200
- package/lib/chunk-W3ENOM53.mjs +0 -18
- package/lib/clean-github-actions-caches.d.mts +0 -169
- package/lib/clean-github-actions-caches.d.ts +0 -169
- package/lib/del-gradle.d.mts +0 -2
- package/lib/del-node-modules.d.mts +0 -2
- package/lib/del-ps.d.mts +0 -2
- package/lib/del-yarn-caches.d.mts +0 -2
- package/lib/find-node-modules-cli.d.mts +0 -1
- package/lib/find-node-modules.d.mts +0 -13
- package/lib/find-node-modules.js +0 -53
- package/lib/git/gitattributes.d.mts +0 -35
- package/lib/git/gitattributes.js +0 -223
- package/lib/git/line-endings.d.mts +0 -83
- package/lib/git/line-endings.d.ts +0 -83
- package/lib/git/normalize.d.mts +0 -43
- package/lib/git/normalize.d.ts +0 -43
- package/lib/git/permissions.d.mts +0 -17
- package/lib/git/permissions.d.ts +0 -17
- package/lib/git/pull-strategy.d.mts +0 -15
- package/lib/git/pull-strategy.d.ts +0 -15
- package/lib/git/user-config.d.mts +0 -105
- package/lib/git/user-config.d.ts +0 -105
- package/lib/git/utils.d.mts +0 -69
- package/lib/git/utils.d.ts +0 -69
- package/lib/git-diff.d.mts +0 -84
- package/lib/git-fix.d.mts +0 -141
- package/lib/git-fix.d.ts +0 -141
- package/lib/git-purge.d.mts +0 -2
- package/lib/git-purge.js +0 -59
- package/lib/index.d.mts +0 -1
- package/lib/npm-run-series.d.mts +0 -1
- package/lib/npm-run-series.js +0 -86
- package/lib/package-resolutions-updater.d.ts +0 -352
- package/lib/print-directory-tree.d.mts +0 -234
- package/lib/print-directory-tree.d.ts +0 -234
- package/lib/ps/connected-domain.d.mts +0 -3
- package/lib/ps/index.d.d.mts +0 -26
- package/lib/ps/index.d.d.ts +0 -26
- package/lib/ps/index.d.mts +0 -26
- package/lib/ps/isWin.d.mts +0 -3
- package/lib/ps/table-parser.d.mts +0 -3
- package/lib/submodule-install.d.mts +0 -121
- package/lib/submodule-install.d.ts +0 -121
- package/lib/utils.d.mts +0 -40
- package/lib/utils.js +0 -181
- package/lib/yarn-reinstall.d.mts +0 -49
- package/lib/yarn-reinstall.d.ts +0 -49
- package/src/package-resolutions-updater.mjs +0 -350
- package/src/print-directory-tree.cjs +0 -234
- package/src/ps/index.js +0 -286
- package/src/yarn-reinstall.cjs +0 -49
- /package/{bin → binaries}/nodekill +0 -0
- /package/{bin → binaries}/nodekill.cmd +0 -0
- /package/lib/{binary-collections-config.d.ts → binary-collections-config.d.cts} +0 -0
- /package/lib/{changelog.d.ts → changelog.d.cts} +0 -0
- /package/lib/{git-purge.d.ts → free-chatgpt.d.ts} +0 -0
- /package/lib/{git-diff.d.cts → git-diff-cli.d.ts} +0 -0
- /package/lib/{npm-run-series.d.ts → npm-run-series.d.cts} +0 -0
- /package/lib/{utils.d.ts → utils/index.d.cts} +0 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
__esm,
|
|
4
|
+
init_esm_shims
|
|
5
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
6
|
+
|
|
7
|
+
// src/ps/connected-domain.js
|
|
8
|
+
function connected_domain_default(tdArray, indicator, hardlink) {
|
|
9
|
+
hardlink = hardlink || false;
|
|
10
|
+
if (!tdArray) {
|
|
11
|
+
throw new Error("tdArray must be provided");
|
|
12
|
+
}
|
|
13
|
+
if (!indicator) {
|
|
14
|
+
throw new Error("indicator must be provided");
|
|
15
|
+
}
|
|
16
|
+
tdArray = JSON.parse(JSON.stringify(tdArray));
|
|
17
|
+
var domains = {};
|
|
18
|
+
var domainUUID = 0;
|
|
19
|
+
var pointsHash = {};
|
|
20
|
+
tdArray.forEach(function(row, y) {
|
|
21
|
+
row.forEach(function(colItem, x) {
|
|
22
|
+
var identifier2 = indicator(colItem, x, y);
|
|
23
|
+
var neighbours = [];
|
|
24
|
+
if (tdArray[y - 1] && tdArray[y - 1][x] !== void 0) {
|
|
25
|
+
neighbours.push(pointsHash[x + "_" + (y - 1)]);
|
|
26
|
+
}
|
|
27
|
+
if (row[x - 1] !== void 0) {
|
|
28
|
+
neighbours.push(pointsHash[x - 1 + "_" + y]);
|
|
29
|
+
}
|
|
30
|
+
if (!hardlink) {
|
|
31
|
+
if (tdArray[y - 1] && tdArray[y - 1][x - 1] !== void 0) {
|
|
32
|
+
neighbours.push(pointsHash[x - 1 + "_" + (y - 1)]);
|
|
33
|
+
}
|
|
34
|
+
if (tdArray[y - 1] && tdArray[y - 1][x + 1] !== void 0) {
|
|
35
|
+
neighbours.push(pointsHash[x + 1 + "_" + (y - 1)]);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (neighbours.length) {
|
|
39
|
+
var matched = false;
|
|
40
|
+
neighbours.forEach(function(neighbour) {
|
|
41
|
+
if (neighbour.identifier == identifier2) {
|
|
42
|
+
if (!matched) {
|
|
43
|
+
addPointToDomain(colItem, x, y, neighbour.domainId);
|
|
44
|
+
matched = true;
|
|
45
|
+
} else {
|
|
46
|
+
var colItemPoint = pointsHash[x + "_" + y];
|
|
47
|
+
if (neighbour.domainId != colItemPoint.domainId) {
|
|
48
|
+
mergeDomains(neighbour.domainId, colItemPoint.domainId);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
if (!matched) {
|
|
54
|
+
addNewDomain(colItem, x, y, identifier2);
|
|
55
|
+
}
|
|
56
|
+
} else {
|
|
57
|
+
addNewDomain(colItem, x, y, identifier2);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var result = {
|
|
62
|
+
domains: [],
|
|
63
|
+
totalDomains: 0,
|
|
64
|
+
groupByIdentifier: {},
|
|
65
|
+
totalIdentifiers: 0
|
|
66
|
+
};
|
|
67
|
+
var domainId = null;
|
|
68
|
+
var identifier = null;
|
|
69
|
+
var domain = null;
|
|
70
|
+
for (domainId in domains) {
|
|
71
|
+
domain = domains[domainId];
|
|
72
|
+
domain.bounding = calculateBounding(domain.points);
|
|
73
|
+
identifier = domain.identifier;
|
|
74
|
+
result.domains.push(domain);
|
|
75
|
+
result.totalDomains++;
|
|
76
|
+
if (!(identifier in result.groupByIdentifier)) {
|
|
77
|
+
result.groupByIdentifier[identifier] = [];
|
|
78
|
+
result.totalIdentifiers++;
|
|
79
|
+
}
|
|
80
|
+
result.groupByIdentifier[identifier].push(domain);
|
|
81
|
+
}
|
|
82
|
+
function calculateBounding(points) {
|
|
83
|
+
var minX = null;
|
|
84
|
+
var minY = null;
|
|
85
|
+
var maxX = null;
|
|
86
|
+
var maxY = null;
|
|
87
|
+
points.forEach(function(point) {
|
|
88
|
+
if (minX === null || point.x < minX) {
|
|
89
|
+
minX = point.x;
|
|
90
|
+
}
|
|
91
|
+
if (minY === null || point.y < minY) {
|
|
92
|
+
minY = point.y;
|
|
93
|
+
}
|
|
94
|
+
if (maxX === null || point.x > maxX) {
|
|
95
|
+
maxX = point.x;
|
|
96
|
+
}
|
|
97
|
+
if (maxY === null || point.y > maxY) {
|
|
98
|
+
maxY = point.y;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
var w = maxX - minX;
|
|
102
|
+
var h = maxY - minY;
|
|
103
|
+
return {
|
|
104
|
+
x: minX,
|
|
105
|
+
y: minY,
|
|
106
|
+
w,
|
|
107
|
+
h
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function addNewDomain(point, x, y, identifier2) {
|
|
111
|
+
var newDomain = {
|
|
112
|
+
identifier: identifier2,
|
|
113
|
+
domainId: ++domainUUID,
|
|
114
|
+
bounding: {},
|
|
115
|
+
points: []
|
|
116
|
+
};
|
|
117
|
+
var newPoint = {
|
|
118
|
+
value: point,
|
|
119
|
+
x,
|
|
120
|
+
y,
|
|
121
|
+
identifier: identifier2,
|
|
122
|
+
domainId: newDomain.domainId
|
|
123
|
+
};
|
|
124
|
+
pointsHash[x + "_" + y] = {
|
|
125
|
+
value: point,
|
|
126
|
+
identifier: identifier2,
|
|
127
|
+
domainId: newDomain.domainId
|
|
128
|
+
};
|
|
129
|
+
newDomain.points.push(newPoint);
|
|
130
|
+
domains[newDomain.domainId] = newDomain;
|
|
131
|
+
}
|
|
132
|
+
function addPointToDomain(point, x, y, domainId2) {
|
|
133
|
+
var domain2 = domains[domainId2];
|
|
134
|
+
var newPoint = {
|
|
135
|
+
value: point,
|
|
136
|
+
x,
|
|
137
|
+
y,
|
|
138
|
+
identifier: domain2.identifier,
|
|
139
|
+
domainId: domainId2
|
|
140
|
+
};
|
|
141
|
+
pointsHash[x + "_" + y] = {
|
|
142
|
+
value: point,
|
|
143
|
+
identifier: domain2.identifier,
|
|
144
|
+
domainId: domainId2
|
|
145
|
+
};
|
|
146
|
+
domain2.points.push(newPoint);
|
|
147
|
+
}
|
|
148
|
+
function mergeDomains(domainAId, domainBId) {
|
|
149
|
+
var domainA = domains[domainAId];
|
|
150
|
+
var domainB = domains[domainBId];
|
|
151
|
+
if (domainA.identifier == domainB.identifier) {
|
|
152
|
+
domainB.domainId = domainA.domainId;
|
|
153
|
+
domainB.points.forEach(function(point) {
|
|
154
|
+
point.domainId = domainA.domainId;
|
|
155
|
+
pointsHash[point.x + "_" + point.y].domainId = domainA.domainId;
|
|
156
|
+
});
|
|
157
|
+
domainA.points = domainA.points.concat(domainB.points);
|
|
158
|
+
delete domains[domainBId];
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return result;
|
|
162
|
+
}
|
|
163
|
+
var init_connected_domain = __esm({
|
|
164
|
+
"src/ps/connected-domain.js"() {
|
|
165
|
+
init_esm_shims();
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
export {
|
|
170
|
+
connected_domain_default,
|
|
171
|
+
init_connected_domain
|
|
172
|
+
};
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
findEnvFiles
|
|
4
|
+
} from "./chunk-ID2WBTE2.mjs";
|
|
5
|
+
import {
|
|
6
|
+
require_utils
|
|
7
|
+
} from "./chunk-Z6JLYU2J.mjs";
|
|
8
|
+
import {
|
|
9
|
+
__toESM,
|
|
10
|
+
init_esm_shims
|
|
11
|
+
} from "./chunk-QQ4A6DLD.mjs";
|
|
12
|
+
|
|
13
|
+
// src/package-resolutions-updater.mjs
|
|
14
|
+
init_esm_shims();
|
|
15
|
+
var utils = __toESM(require_utils(), 1);
|
|
16
|
+
import * as dotenv from "dotenv";
|
|
17
|
+
import fs from "fs";
|
|
18
|
+
import https from "https";
|
|
19
|
+
import os from "os";
|
|
20
|
+
import path from "path";
|
|
21
|
+
var projectDir = process.cwd();
|
|
22
|
+
var envPath = path.join(projectDir, ".env");
|
|
23
|
+
var args = utils.getArgs();
|
|
24
|
+
if (!fs.existsSync(envPath)) {
|
|
25
|
+
const envFiles = findEnvFiles(projectDir, (file) => {
|
|
26
|
+
const content = fs.readFileSync(file, "utf-8");
|
|
27
|
+
return /GITHUB_TOKEN|ACCESS_TOKEN/.test(content);
|
|
28
|
+
});
|
|
29
|
+
if (envFiles.length > 0) {
|
|
30
|
+
envPath = envFiles[0];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (fs.existsSync(envPath)) {
|
|
34
|
+
dotenv.config({ path: envPath, quiet: true, override: true });
|
|
35
|
+
}
|
|
36
|
+
var ACCESS_TOKEN = process.env.GITHUB_TOKEN || process.env.ACCESS_TOKEN;
|
|
37
|
+
if (args.help || args.h) {
|
|
38
|
+
showHelp();
|
|
39
|
+
}
|
|
40
|
+
function showHelp() {
|
|
41
|
+
const helpText = `
|
|
42
|
+
GitHub Package Resolutions Updater
|
|
43
|
+
Usage:
|
|
44
|
+
node src/package-resolutions-updater.mjs [options]
|
|
45
|
+
Options:
|
|
46
|
+
--help, -h Show this help message
|
|
47
|
+
Description:
|
|
48
|
+
Updates the commit hashes in package.json's 'resolutions' field for GitHub tarball URLs to point to the latest commit SHA of the corresponding repository and branch.
|
|
49
|
+
Features:
|
|
50
|
+
- Parses GitHub URLs to extract repository owner, name, and branch.
|
|
51
|
+
- Fetches the latest commit SHA across all branches using GitHub's API.
|
|
52
|
+
- Replaces the old branch or commit in the URL with the latest SHA.
|
|
53
|
+
- Overwrites package.json with the updated URLs.
|
|
54
|
+
Requirements:
|
|
55
|
+
- GitHub Personal Access Token (GITHUB_TOKEN) via .env
|
|
56
|
+
- ESM support (type: "module" in package.json)
|
|
57
|
+
- Node.js v18+ recommended
|
|
58
|
+
Dependencies:
|
|
59
|
+
- ansi-colors \u2013 for styled terminal output
|
|
60
|
+
- dotenv \u2013 to load GitHub token from .env
|
|
61
|
+
Examples:
|
|
62
|
+
node src/package-resolutions-updater.mjs
|
|
63
|
+
node src/package-resolutions-updater.mjs --help
|
|
64
|
+
|
|
65
|
+
`;
|
|
66
|
+
console.log(helpText);
|
|
67
|
+
process.exit(0);
|
|
68
|
+
}
|
|
69
|
+
var GITHUB_USER_AGENTS = [
|
|
70
|
+
"octokit-rest.js/19.0.7",
|
|
71
|
+
"GitHub CLI/2.40.0",
|
|
72
|
+
"Mozilla/5.0 (compatible; GitHubCopilot/1.0)",
|
|
73
|
+
"PostmanRuntime/7.32.3",
|
|
74
|
+
"binary-collections-resolver/1.0 (+https://github.com/dimaslanjaka/bin)"
|
|
75
|
+
];
|
|
76
|
+
var userAgentDir = path.join(os.tmpdir(), "nodejs");
|
|
77
|
+
var userAgentFile = path.join(userAgentDir, "useragent.txt");
|
|
78
|
+
var selectedUserAgent;
|
|
79
|
+
try {
|
|
80
|
+
if (!fs.existsSync(userAgentDir)) fs.mkdirSync(userAgentDir, { recursive: true });
|
|
81
|
+
if (fs.existsSync(userAgentFile)) {
|
|
82
|
+
const fileAgent = fs.readFileSync(userAgentFile, "utf-8").trim();
|
|
83
|
+
if (GITHUB_USER_AGENTS.includes(fileAgent)) {
|
|
84
|
+
selectedUserAgent = fileAgent;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (!selectedUserAgent) {
|
|
88
|
+
selectedUserAgent = GITHUB_USER_AGENTS[Math.floor(Math.random() * GITHUB_USER_AGENTS.length)];
|
|
89
|
+
fs.writeFileSync(userAgentFile, selectedUserAgent, "utf-8");
|
|
90
|
+
}
|
|
91
|
+
} catch (_e) {
|
|
92
|
+
selectedUserAgent = GITHUB_USER_AGENTS[Math.floor(Math.random() * GITHUB_USER_AGENTS.length)];
|
|
93
|
+
}
|
|
94
|
+
function fetchJson(url) {
|
|
95
|
+
const headers = {
|
|
96
|
+
"User-Agent": selectedUserAgent,
|
|
97
|
+
Accept: "application/vnd.github.v3+json",
|
|
98
|
+
"X-GitHub-Api-Version": "2022-11-28",
|
|
99
|
+
...ACCESS_TOKEN ? { Authorization: `token ${ACCESS_TOKEN}` } : {}
|
|
100
|
+
};
|
|
101
|
+
return new Promise((resolve, reject) => {
|
|
102
|
+
https.get(url, { headers }, (res) => {
|
|
103
|
+
let data = "";
|
|
104
|
+
res.on("data", (chunk) => data += chunk);
|
|
105
|
+
res.on("end", () => {
|
|
106
|
+
try {
|
|
107
|
+
const json = JSON.parse(data);
|
|
108
|
+
if (res.statusCode < 200 || res.statusCode >= 300) {
|
|
109
|
+
return reject(
|
|
110
|
+
new Error(`GitHub API Error ${res.statusCode}: ${json.message || "Unknown error"}
|
|
111
|
+
URL: ${url}`)
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
resolve(json);
|
|
115
|
+
} catch {
|
|
116
|
+
reject(new Error(`Invalid JSON from: ${url}`));
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}).on("error", reject);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
async function getLatestCommit(owner, repo, branch = "main") {
|
|
123
|
+
var _a, _b, _c, _d;
|
|
124
|
+
const url = `https://api.github.com/repos/${owner}/${repo}/commits/${branch}`;
|
|
125
|
+
const json = await fetchJson(url);
|
|
126
|
+
const sha = json.sha;
|
|
127
|
+
const dateStr = ((_b = (_a = json.commit) == null ? void 0 : _a.committer) == null ? void 0 : _b.date) || ((_d = (_c = json.commit) == null ? void 0 : _c.author) == null ? void 0 : _d.date);
|
|
128
|
+
if (!sha || !dateStr) {
|
|
129
|
+
console.log(json);
|
|
130
|
+
throw new Error(`Missing SHA or date for ${owner}/${repo}@${branch}`);
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
owner,
|
|
134
|
+
repo,
|
|
135
|
+
branch,
|
|
136
|
+
sha,
|
|
137
|
+
date: new Date(dateStr).toISOString()
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
async function getLatestCommitAcrossBranches(owner, repo) {
|
|
141
|
+
const branches = await fetchJson(`https://api.github.com/repos/${owner}/${repo}/branches`);
|
|
142
|
+
const commits = await Promise.all(
|
|
143
|
+
branches.map(async ({ name, commit }) => {
|
|
144
|
+
var _a, _b, _c, _d;
|
|
145
|
+
const commitSha = commit == null ? void 0 : commit.sha;
|
|
146
|
+
if (!commitSha) {
|
|
147
|
+
console.warn(`No commit SHA for '${owner}/${repo}' branch: ${name}`);
|
|
148
|
+
return { branch: name, sha: "", date: /* @__PURE__ */ new Date(0) };
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
const commitData = await fetchJson(`https://api.github.com/repos/${owner}/${repo}/commits/${commitSha}`);
|
|
152
|
+
const dateStr = ((_b = (_a = commitData.commit) == null ? void 0 : _a.committer) == null ? void 0 : _b.date) || ((_d = (_c = commitData.commit) == null ? void 0 : _c.author) == null ? void 0 : _d.date);
|
|
153
|
+
const date = dateStr ? new Date(dateStr) : /* @__PURE__ */ new Date(0);
|
|
154
|
+
return { branch: name, sha: commitData.sha, date };
|
|
155
|
+
} catch (e) {
|
|
156
|
+
console.warn(`Failed to fetch commit for ${name}: ${e.message}`);
|
|
157
|
+
return { branch: name, sha: commitSha, date: /* @__PURE__ */ new Date(0) };
|
|
158
|
+
}
|
|
159
|
+
})
|
|
160
|
+
);
|
|
161
|
+
const latest = commits.reduce((a, b) => a.date > b.date ? a : b, { date: /* @__PURE__ */ new Date(0) });
|
|
162
|
+
return {
|
|
163
|
+
owner,
|
|
164
|
+
repo,
|
|
165
|
+
branch: latest.branch,
|
|
166
|
+
sha: latest.sha,
|
|
167
|
+
date: latest.date.toISOString()
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
function replaceRawWithLatestHash(url, latestHash) {
|
|
171
|
+
const match = url.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+)\/raw\/([^/]+)\/(.+)$/);
|
|
172
|
+
if (!match) throw new Error("Invalid GitHub raw URL");
|
|
173
|
+
const [, owner, repo, _oldHash, path2] = match;
|
|
174
|
+
return `https://github.com/${owner}/${repo}/raw/${latestHash}/${path2}`;
|
|
175
|
+
}
|
|
176
|
+
function parseGitHubUrl(url) {
|
|
177
|
+
const ghRepoRoot = /^https:\/\/github\.com\/([^/]+)\/([^/]+)\/?$/;
|
|
178
|
+
const ghTreeOrBlob = /^https:\/\/github\.com\/([^/]+)\/([^/]+)\/(tree|blob)\/([^/]+(?:\/[^/]+)*)/;
|
|
179
|
+
const ghRaw = /^https:\/\/raw\.githubusercontent\.com\/([^/]+)\/([^/]+)\/([^/]+)(\/.+)?$/;
|
|
180
|
+
const ghDotComRaw = /^https:\/\/github\.com\/([^/]+)\/([^/]+)\/raw\/([^/]+)\/.+$/;
|
|
181
|
+
let match;
|
|
182
|
+
if (match = url.match(ghRaw)) {
|
|
183
|
+
const [, owner, repo, branch] = match;
|
|
184
|
+
return { owner, repo, branch, url };
|
|
185
|
+
}
|
|
186
|
+
if (match = url.match(ghDotComRaw)) {
|
|
187
|
+
const [, owner, repo, branch] = match;
|
|
188
|
+
return { owner, repo, branch, url };
|
|
189
|
+
}
|
|
190
|
+
if (match = url.match(ghTreeOrBlob)) {
|
|
191
|
+
const [, owner, repo, , branchPath] = match;
|
|
192
|
+
return { owner, repo, branch: branchPath, url };
|
|
193
|
+
}
|
|
194
|
+
if (match = url.match(ghRepoRoot)) {
|
|
195
|
+
const [, owner, repo] = match;
|
|
196
|
+
return { owner, repo, url };
|
|
197
|
+
}
|
|
198
|
+
throw new Error(`Unsupported GitHub URL: ${url}`);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export {
|
|
202
|
+
fetchJson,
|
|
203
|
+
getLatestCommit,
|
|
204
|
+
getLatestCommitAcrossBranches,
|
|
205
|
+
replaceRawWithLatestHash,
|
|
206
|
+
parseGitHubUrl
|
|
207
|
+
};
|