git-truck 1.0.2 → 1.0.15-0
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/README.md +21 -3
- package/build/index.js +43 -23
- package/package.json +3 -2
- package/public/build/_shared/chunk-4LCJRRXI.js +233 -0
- package/public/build/_shared/chunk-6WSXAQ4H.js +1 -0
- package/public/build/{manifest-F28FADA1.js → manifest-03D68990.js} +1 -1
- package/public/build/{root-XW5NDZMC.js → root-RVNUJ3UD.js} +1 -1
- package/public/build/routes/$repo.$-FUAN2AFA.js +343 -0
- package/public/build/routes/{index-HEMPWSNO.js → index-QLBDLJWG.js} +1 -1
- package/public/build/_shared/chunk-6KG2XMTE.js +0 -1
- package/public/build/_shared/chunk-OFVESGNJ.js +0 -233
- package/public/build/routes/$repo.$-RMFPDYZL.js +0 -343
package/README.md
CHANGED
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
# Git Truck 🚛
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Git-Truck provides you with a truckload of visualizations for your git repository, and find out if your project has a good [truck factor](https://www.agileadvice.com/2005/05/15/agilemanagement/truck-factor/):
|
|
4
4
|
|
|
5
|
-
Git Truck gives an overview of your folder-structure, which users have contributed most to which files, and more.
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
### 1. The files in your system where you have a single contributor (i.e., truck-factor = 1)
|
|
7
|
+
|
|
8
|
+
<img width="1912" alt="image" src="https://user-images.githubusercontent.com/464519/167393939-8d683732-4583-44fe-99a3-36c818761bcb.png">
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### 2. How the various developers contribute to your codebase
|
|
12
|
+
|
|
13
|
+
<img width="1913" alt="image" src="https://user-images.githubusercontent.com/464519/167394548-ca66665a-a699-44d7-8a97-bc7309c72f8a.png">
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### 3. The parts of the system that are most often changed
|
|
18
|
+
|
|
19
|
+
<img width="1912" alt="image" src="https://user-images.githubusercontent.com/464519/167395118-6a4f50f4-5f37-4e0d-bcc8-144797b83e65.png">
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### 4. You can also merge multiple developer accounts
|
|
23
|
+
|
|
24
|
+
<img width="1907" alt="image" src="https://user-images.githubusercontent.com/464519/167394405-67bd5b5d-be50-444e-8a1f-68af083a6cba.png">
|
|
25
|
+
|
|
8
26
|
|
|
9
27
|
## [Prerequisites](#prerequisites)
|
|
10
28
|
|
package/build/index.js
CHANGED
|
@@ -1840,7 +1840,7 @@ function handleRequest(request, responseStatusCode, responseHeaders, remixContex
|
|
|
1840
1840
|
});
|
|
1841
1841
|
}
|
|
1842
1842
|
|
|
1843
|
-
// route:C:\Users\Tjoms\Documents\GitHub\git-
|
|
1843
|
+
// route:C:\Users\Tjoms\Documents\GitHub\git-truck\src\root.tsx
|
|
1844
1844
|
var root_exports = {};
|
|
1845
1845
|
__export(root_exports, {
|
|
1846
1846
|
CatchBoundary: () => CatchBoundary,
|
|
@@ -1866,13 +1866,34 @@ var styles_default = "/build/_assets/index-ISZFG75V.css";
|
|
|
1866
1866
|
// src/styles/Chart.css
|
|
1867
1867
|
var Chart_default = "/build/_assets/Chart-OOZGWRB3.css";
|
|
1868
1868
|
|
|
1869
|
-
// route:C:\Users\Tjoms\Documents\GitHub\git-
|
|
1869
|
+
// route:C:\Users\Tjoms\Documents\GitHub\git-truck\src\root.tsx
|
|
1870
1870
|
var import_react = require("react");
|
|
1871
1871
|
|
|
1872
1872
|
// src/components/util.tsx
|
|
1873
1873
|
init_react();
|
|
1874
1874
|
var import_material = require("@styled-icons/material");
|
|
1875
1875
|
var import_styled_components2 = __toESM(require_styled_components_cjs());
|
|
1876
|
+
var import_semver = require("semver");
|
|
1877
|
+
var branchCompare = (a, b) => {
|
|
1878
|
+
const defaultBranchNames = ["main", "master"];
|
|
1879
|
+
if (defaultBranchNames.includes(a))
|
|
1880
|
+
return -1;
|
|
1881
|
+
if (defaultBranchNames.includes(b))
|
|
1882
|
+
return 1;
|
|
1883
|
+
return a.toLowerCase().localeCompare(b.toLowerCase());
|
|
1884
|
+
};
|
|
1885
|
+
var semverCompare = (a, b) => {
|
|
1886
|
+
const validA = (0, import_semver.valid)((0, import_semver.clean)(a));
|
|
1887
|
+
const validB = (0, import_semver.valid)((0, import_semver.clean)(b));
|
|
1888
|
+
if (!validA || !validB) {
|
|
1889
|
+
if (validA)
|
|
1890
|
+
return 1;
|
|
1891
|
+
if (validB)
|
|
1892
|
+
return -1;
|
|
1893
|
+
return a.toLowerCase().localeCompare(b.toLowerCase());
|
|
1894
|
+
}
|
|
1895
|
+
return (0, import_semver.compare)(validA, validB);
|
|
1896
|
+
};
|
|
1876
1897
|
var titleBaseStyles = import_styled_components2.css`
|
|
1877
1898
|
font-weight: bold;
|
|
1878
1899
|
margin-bottom: 0;
|
|
@@ -2121,7 +2142,7 @@ var Actions = import_styled_components2.default.div`
|
|
|
2121
2142
|
display: flex;
|
|
2122
2143
|
`;
|
|
2123
2144
|
|
|
2124
|
-
// route:C:\Users\Tjoms\Documents\GitHub\git-
|
|
2145
|
+
// route:C:\Users\Tjoms\Documents\GitHub\git-truck\src\root.tsx
|
|
2125
2146
|
var meta = () => {
|
|
2126
2147
|
return { title: "Git Truck" };
|
|
2127
2148
|
};
|
|
@@ -2160,7 +2181,7 @@ var ErrorBoundary = ({ error: error2 }) => {
|
|
|
2160
2181
|
return /* @__PURE__ */ React.createElement("html", null, /* @__PURE__ */ React.createElement("head", null, /* @__PURE__ */ React.createElement("title", null, "Oops! An error wasn't handled"), /* @__PURE__ */ React.createElement(import_remix2.Meta, null), /* @__PURE__ */ React.createElement(import_remix2.Links, null)), /* @__PURE__ */ React.createElement("body", null, /* @__PURE__ */ React.createElement("h1", null, error2.message), /* @__PURE__ */ React.createElement(Code, null, error2.stack), /* @__PURE__ */ React.createElement(import_remix2.Scripts, null)));
|
|
2161
2182
|
};
|
|
2162
2183
|
|
|
2163
|
-
// route:C:\Users\Tjoms\Documents\GitHub\git-
|
|
2184
|
+
// route:C:\Users\Tjoms\Documents\GitHub\git-truck\src\routes\$repo.$.tsx
|
|
2164
2185
|
var repo_exports = {};
|
|
2165
2186
|
__export(repo_exports, {
|
|
2166
2187
|
ErrorBoundary: () => ErrorBoundary2,
|
|
@@ -2174,7 +2195,6 @@ var import_path8 = require("path");
|
|
|
2174
2195
|
var import_react18 = require("react");
|
|
2175
2196
|
var import_react_use6 = require("react-use");
|
|
2176
2197
|
var import_remix7 = __toESM(require_remix());
|
|
2177
|
-
var import_semver_compare2 = __toESM(require("semver-compare"));
|
|
2178
2198
|
var import_styled_components18 = __toESM(require_styled_components_cjs());
|
|
2179
2199
|
|
|
2180
2200
|
// src/analyzer/analyze.server.ts
|
|
@@ -2281,7 +2301,7 @@ var import_path2 = require("path");
|
|
|
2281
2301
|
|
|
2282
2302
|
// package.json
|
|
2283
2303
|
var name = "git-truck";
|
|
2284
|
-
var version = "1.0.
|
|
2304
|
+
var version = "1.0.15-0";
|
|
2285
2305
|
var private2 = false;
|
|
2286
2306
|
var description = "Visualizing a Git repository";
|
|
2287
2307
|
var license = "MIT";
|
|
@@ -2338,7 +2358,7 @@ var dependencies = {
|
|
|
2338
2358
|
"react-use": "^17.3.2",
|
|
2339
2359
|
"react-use-size": "^2.0.4",
|
|
2340
2360
|
remix: "^1.2.3",
|
|
2341
|
-
|
|
2361
|
+
semver: "^7.3.7",
|
|
2342
2362
|
"styled-components": "^5.3.3",
|
|
2343
2363
|
yargs: "^17.4.0"
|
|
2344
2364
|
};
|
|
@@ -2352,6 +2372,7 @@ var devDependencies = {
|
|
|
2352
2372
|
"@types/morgan": "^1.9.3",
|
|
2353
2373
|
"@types/react": "^17.0.40",
|
|
2354
2374
|
"@types/react-dom": "^17.0.9",
|
|
2375
|
+
"@types/semver": "^7.3.9",
|
|
2355
2376
|
"@types/semver-compare": "^1.0.1",
|
|
2356
2377
|
"@types/styled-components": "^5.1.24",
|
|
2357
2378
|
"@types/yargs": "^17.0.10",
|
|
@@ -2579,7 +2600,6 @@ async function getGitTruckInfo() {
|
|
|
2579
2600
|
init_react();
|
|
2580
2601
|
var import_path3 = require("path");
|
|
2581
2602
|
var import_fs2 = require("fs");
|
|
2582
|
-
var import_semver_compare = __toESM(require("semver-compare"));
|
|
2583
2603
|
var _GitCaller = class {
|
|
2584
2604
|
constructor(repo) {
|
|
2585
2605
|
this.useCache = true;
|
|
@@ -2736,10 +2756,11 @@ var _GitCaller = class {
|
|
|
2736
2756
|
gitRefs.Tags[path] = hash;
|
|
2737
2757
|
break;
|
|
2738
2758
|
default:
|
|
2739
|
-
|
|
2759
|
+
break;
|
|
2740
2760
|
}
|
|
2741
2761
|
}
|
|
2742
|
-
gitRefs.
|
|
2762
|
+
gitRefs.Branches = Object.fromEntries(Object.entries(gitRefs.Branches).sort(([a], [b]) => branchCompare(a, b)));
|
|
2763
|
+
gitRefs.Tags = Object.fromEntries(Object.entries(gitRefs.Tags).sort(([a], [b]) => semverCompare(a, b) * -1));
|
|
2743
2764
|
return gitRefs;
|
|
2744
2765
|
}
|
|
2745
2766
|
async gitLog() {
|
|
@@ -3270,7 +3291,7 @@ init_react();
|
|
|
3270
3291
|
|
|
3271
3292
|
// node_modules/yargs-parser/build/lib/index.js
|
|
3272
3293
|
init_react();
|
|
3273
|
-
var
|
|
3294
|
+
var import_util6 = require("util");
|
|
3274
3295
|
var import_path5 = require("path");
|
|
3275
3296
|
|
|
3276
3297
|
// node_modules/yargs-parser/build/lib/string-utils.js
|
|
@@ -4229,7 +4250,7 @@ var parser = new YargsParser({
|
|
|
4229
4250
|
env: () => {
|
|
4230
4251
|
return env;
|
|
4231
4252
|
},
|
|
4232
|
-
format:
|
|
4253
|
+
format: import_util6.format,
|
|
4233
4254
|
normalize: import_path5.normalize,
|
|
4234
4255
|
resolve: import_path5.resolve,
|
|
4235
4256
|
require: (path) => {
|
|
@@ -5634,10 +5655,10 @@ function sum_default(value) {
|
|
|
5634
5655
|
|
|
5635
5656
|
// node_modules/d3-hierarchy/src/hierarchy/sort.js
|
|
5636
5657
|
init_react();
|
|
5637
|
-
function sort_default(
|
|
5658
|
+
function sort_default(compare2) {
|
|
5638
5659
|
return this.eachBefore(function(node) {
|
|
5639
5660
|
if (node.children) {
|
|
5640
|
-
node.children.sort(
|
|
5661
|
+
node.children.sort(compare2);
|
|
5641
5662
|
}
|
|
5642
5663
|
});
|
|
5643
5664
|
}
|
|
@@ -6563,7 +6584,7 @@ function createPartitionedHiearchy(data, paddedSizeProps, chartType, path) {
|
|
|
6563
6584
|
}).sort((a, b) => b.value !== void 0 && a.value !== void 0 ? b.value - a.value : 0);
|
|
6564
6585
|
switch (chartType) {
|
|
6565
6586
|
case "TREE_MAP":
|
|
6566
|
-
const treeMapPartition = treemap_default().size([paddedSizeProps.width, paddedSizeProps.height]).paddingInner(2).paddingOuter(treemapPadding);
|
|
6587
|
+
const treeMapPartition = treemap_default().size([paddedSizeProps.width, paddedSizeProps.height]).paddingInner(2).paddingOuter(4).paddingTop(treemapPadding);
|
|
6567
6588
|
const tmPartition = treeMapPartition(hiearchy);
|
|
6568
6589
|
filterTree(tmPartition, (child) => {
|
|
6569
6590
|
const cast = child;
|
|
@@ -7143,7 +7164,7 @@ var AliasEntryRoot = import_styled_components17.default.div`
|
|
|
7143
7164
|
var CheckboxWrapper = import_styled_components17.default.div``;
|
|
7144
7165
|
var Checkbox2 = import_styled_components17.default.input.attrs({ type: "checkbox" })``;
|
|
7145
7166
|
|
|
7146
|
-
// route:C:\Users\Tjoms\Documents\GitHub\git-
|
|
7167
|
+
// route:C:\Users\Tjoms\Documents\GitHub\git-truck\src\routes\$repo.$.tsx
|
|
7147
7168
|
var invalidateCache = false;
|
|
7148
7169
|
var loader = async ({ params }) => {
|
|
7149
7170
|
if (!params["repo"] || !params["*"]) {
|
|
@@ -7271,7 +7292,7 @@ function Repo() {
|
|
|
7271
7292
|
isFullscreen
|
|
7272
7293
|
}, /* @__PURE__ */ React.createElement(SidePanel, null, /* @__PURE__ */ React.createElement(GlobalInfo, null), /* @__PURE__ */ React.createElement(Feedback, null), /* @__PURE__ */ React.createElement(Options, null), /* @__PURE__ */ React.createElement(SearchBar, null), /* @__PURE__ */ React.createElement(Spacer, null)), typeof document !== "undefined" ? /* @__PURE__ */ React.createElement(Main, {
|
|
7273
7294
|
fullscreenState: [isFullscreen, setIsFullscreen]
|
|
7274
|
-
}) : /* @__PURE__ */ React.createElement("div", null), /* @__PURE__ */ React.createElement(SidePanel, null, gitTruckInfo.latestVersion && (
|
|
7295
|
+
}) : /* @__PURE__ */ React.createElement("div", null), /* @__PURE__ */ React.createElement(SidePanel, null, gitTruckInfo.latestVersion && semverCompare(gitTruckInfo.latestVersion, gitTruckInfo.version) === 1 ? /* @__PURE__ */ React.createElement(UpdateNotifier, null) : null, analyzerData.hiddenFiles.length > 0 ? /* @__PURE__ */ React.createElement(HiddenFiles, null) : null, /* @__PURE__ */ React.createElement(Details, {
|
|
7275
7296
|
showUnionAuthorsModal
|
|
7276
7297
|
}), /* @__PURE__ */ React.createElement(Grower, null), /* @__PURE__ */ React.createElement(Legend, {
|
|
7277
7298
|
showUnionAuthorsModal
|
|
@@ -7313,7 +7334,7 @@ var Container = import_styled_components18.default.div`
|
|
|
7313
7334
|
}
|
|
7314
7335
|
`;
|
|
7315
7336
|
|
|
7316
|
-
// route:C:\Users\Tjoms\Documents\GitHub\git-
|
|
7337
|
+
// route:C:\Users\Tjoms\Documents\GitHub\git-truck\src\routes\index.tsx
|
|
7317
7338
|
var routes_exports = {};
|
|
7318
7339
|
__export(routes_exports, {
|
|
7319
7340
|
action: () => action2,
|
|
@@ -7360,7 +7381,7 @@ function AnalyzingIndicator() {
|
|
|
7360
7381
|
}), /* @__PURE__ */ React.createElement(LoadingText, null, "Analyzing...")));
|
|
7361
7382
|
}
|
|
7362
7383
|
|
|
7363
|
-
// route:C:\Users\Tjoms\Documents\GitHub\git-
|
|
7384
|
+
// route:C:\Users\Tjoms\Documents\GitHub\git-truck\src\routes\index.tsx
|
|
7364
7385
|
var import_path9 = require("path");
|
|
7365
7386
|
var import_react_use7 = require("react-use");
|
|
7366
7387
|
var import_react19 = require("react");
|
|
@@ -7491,7 +7512,7 @@ var AnalyzedTag = import_styled_components20.default.span`
|
|
|
7491
7512
|
|
|
7492
7513
|
// server-assets-manifest:@remix-run/dev/assets-manifest
|
|
7493
7514
|
init_react();
|
|
7494
|
-
var assets_manifest_default = { "version": "
|
|
7515
|
+
var assets_manifest_default = { "version": "03d68990", "entry": { "module": "/build/entry.client-CDN524WE.js", "imports": ["/build/_shared/chunk-Y7FU7OLJ.js", "/build/_shared/chunk-YDCVFN7Q.js"] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "module": "/build/root-RVNUJ3UD.js", "imports": ["/build/_shared/chunk-FSZBSYJE.js", "/build/_shared/chunk-4LCJRRXI.js"], "hasAction": false, "hasLoader": false, "hasCatchBoundary": true, "hasErrorBoundary": true }, "routes/$repo.$": { "id": "routes/$repo.$", "parentId": "root", "path": ":repo/*", "index": void 0, "caseSensitive": void 0, "module": "/build/routes/$repo.$-FUAN2AFA.js", "imports": ["/build/_shared/chunk-6WSXAQ4H.js"], "hasAction": true, "hasLoader": true, "hasCatchBoundary": false, "hasErrorBoundary": true }, "routes/index": { "id": "routes/index", "parentId": "root", "path": void 0, "index": true, "caseSensitive": void 0, "module": "/build/routes/index-QLBDLJWG.js", "imports": ["/build/_shared/chunk-6WSXAQ4H.js"], "hasAction": true, "hasLoader": true, "hasCatchBoundary": false, "hasErrorBoundary": false } }, "url": "/build/manifest-03D68990.js" };
|
|
7495
7516
|
|
|
7496
7517
|
// server-entry-module:@remix-run/dev/server-build
|
|
7497
7518
|
var entry = { module: entry_server_exports };
|
|
@@ -7529,7 +7550,6 @@ var import_express2 = __toESM(require("express"));
|
|
|
7529
7550
|
var import_morgan = __toESM(require("morgan"));
|
|
7530
7551
|
var import_open = __toESM(require("open"));
|
|
7531
7552
|
var import_path10 = require("path");
|
|
7532
|
-
var import_semver_compare3 = __toESM(require("semver-compare"));
|
|
7533
7553
|
var args = parseArgs();
|
|
7534
7554
|
(async () => {
|
|
7535
7555
|
const currentV = package_default.version;
|
|
@@ -7538,7 +7558,7 @@ var args = parseArgs();
|
|
|
7538
7558
|
const latestV = await latestVersion(package_default.name);
|
|
7539
7559
|
process.stdout.write("\x1B[2J\x1B[0;0H");
|
|
7540
7560
|
console.log();
|
|
7541
|
-
updateMessage = latestV && (
|
|
7561
|
+
updateMessage = latestV && semverCompare(latestV, currentV) === 1 ? ` [!] Update available: ${latestV}
|
|
7542
7562
|
|
|
7543
7563
|
To update, run:
|
|
7544
7564
|
|
|
@@ -7586,7 +7606,7 @@ for usage instructions.`);
|
|
|
7586
7606
|
const getPortLib = await import("get-port");
|
|
7587
7607
|
const getPort = getPortLib.default;
|
|
7588
7608
|
const port = await getPort({
|
|
7589
|
-
port: devServerPort ?? [...!userHasProvidedPort ? [
|
|
7609
|
+
port: devServerPort ?? [...!userHasProvidedPort ? [3e3] : [], ...getPortLib.portNumbers(minPort, minPort + 1e3)]
|
|
7590
7610
|
});
|
|
7591
7611
|
app.listen(port).once("listening", () => printOpen(port));
|
|
7592
7612
|
})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "git-truck",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15-0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Visualizing a Git repository",
|
|
6
6
|
"license": "MIT",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"react-use": "^17.3.2",
|
|
58
58
|
"react-use-size": "^2.0.4",
|
|
59
59
|
"remix": "^1.2.3",
|
|
60
|
-
"semver
|
|
60
|
+
"semver": "^7.3.7",
|
|
61
61
|
"styled-components": "^5.3.3",
|
|
62
62
|
"yargs": "^17.4.0"
|
|
63
63
|
},
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"@types/morgan": "^1.9.3",
|
|
72
72
|
"@types/react": "^17.0.40",
|
|
73
73
|
"@types/react-dom": "^17.0.9",
|
|
74
|
+
"@types/semver": "^7.3.9",
|
|
74
75
|
"@types/semver-compare": "^1.0.1",
|
|
75
76
|
"@types/styled-components": "^5.1.24",
|
|
76
77
|
"@types/yargs": "^17.0.10",
|