git-truck 0.0.0-96b60a0 → 0.0.0-98711d7
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/LICENSE +21 -21
- package/README.md +98 -98
- package/build/client/assets/RevisionSelect-Dw5tN_NP.js +1 -0
- package/build/client/assets/_index-BIma0bUL.js +1 -0
- package/build/client/assets/_repo._-BlycT55Z.js +21 -0
- package/build/client/assets/_repository-l0sNRNKZ.js +1 -0
- package/build/client/assets/buttons.esm-B8a_CsNS.js +5 -0
- package/build/client/assets/commit_icon-popPAmzP.png +0 -0
- package/build/client/assets/commits-l0sNRNKZ.js +1 -0
- package/build/client/assets/components-Bp0wjlbZ.js +168 -0
- package/build/client/assets/entry.client-B4dHlKBs.js +56 -0
- package/build/client/assets/manifest-3c22f23d.js +1 -0
- package/build/client/assets/progress-l0sNRNKZ.js +1 -0
- package/build/client/assets/root-COZ8IEUe.js +10 -0
- package/build/client/assets/root-CnkPf09y.css +1 -0
- package/build/client/assets/styling-CAxJvA60.js +1 -0
- package/build/client/favicon.ico +0 -0
- package/build/server/index.js +15074 -0
- package/cli.cjs +3055 -0
- package/package.json +157 -162
- package/build/index.js +0 -1414
- package/build/metafile.js.json +0 -1
- package/build/metafile.server.json +0 -1
- package/build/version.txt +0 -1
- package/cli.js +0 -1307
- package/public/build/_assets/animations-TUO2PXWS.css +0 -1
- package/public/build/_assets/tailwind-XJ4ZSCIT.css +0 -1
- package/public/build/_assets/truck-JLDVJULS.png +0 -0
- package/public/build/_assets/vars-COQCVZEU.css +0 -1
- package/public/build/_shared/buttons.esm-NERHWBM5.js +0 -10
- package/public/build/_shared/chunk-6XVEPPET.js +0 -293
- package/public/build/_shared/chunk-7BNS7C4V.js +0 -1
- package/public/build/_shared/chunk-CIXTANCC.js +0 -1
- package/public/build/_shared/chunk-Q3IECNXJ.js +0 -1
- package/public/build/entry.client-TMOY3KMM.js +0 -1
- package/public/build/manifest-662D05F8.js +0 -1
- package/public/build/root-XDAZZ7B7.js +0 -1
- package/public/build/routes/$repo.$-PK6TK4KK.js +0 -60
- package/public/build/routes/_index-XNP5IT3V.js +0 -1
- package/public/build/routes/authordist-LRF2J26H.js +0 -1
- package/public/build/routes/commitcount-D7WWQAYM.js +0 -1
- package/public/build/routes/commits-GGDWDC7W.js +0 -1
- package/public/build/routes/progress-SNLO56GK.js +0 -1
- /package/{public/build/_assets/truck-7F5JWBYT.gif → build/client/assets/truck-BgAoc4Gr.gif} +0 -0
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2022 git-truck
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 git-truck
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
# Git Truck 🚛 · [](https://github.com/git-truck/git-truck/blob/main/LICENSE) [](https://www.npmjs.com/git-truck)
|
|
2
|
-
|
|
3
|
-
Git-Truck is a tool that provides you with a truckload of visualizations for your git repository, and helps you find out if your project has a good [truck factor](https://en.wikipedia.org/wiki/Bus_factor).
|
|
4
|
-
|
|
5
|
-
| Git Truck can help you figure out: | |
|
|
6
|
-
|-|-|
|
|
7
|
-
| Where the files in your codebase that only have a single contributor are (i.e., truck-factor = 1) | <img width="1912" alt="image" src="https://github.com/git-truck/git-truck/assets/1959615/1cc20716-0927-4aba-8d7d-115626bc445f"> |
|
|
8
|
-
| How the various developers contribute to your codebase | <img width="1913" alt="image" src="https://github.com/git-truck/git-truck/assets/1959615/780852f3-28de-44d2-ab79-e4ef420c3736"> |
|
|
9
|
-
| Which parts of the system that are most often changed | <img width="1912" alt="image" src="https://github.com/git-truck/git-truck/assets/1959615/8ca5f0b9-798f-40cd-b64e-de2fee00a5c3"> |
|
|
10
|
-
|
|
11
|
-
## [What makes Git Truck different?](#what-makes-git-truck-different)
|
|
12
|
-
|
|
13
|
-
🔒 Private by design
|
|
14
|
-
|
|
15
|
-
🏝️ Works offline
|
|
16
|
-
|
|
17
|
-
🤷 Git provider agnostic - works with any git repository
|
|
18
|
-
|
|
19
|
-
😊 No tracking, no ads, no data mining, no analytics, no cloud, no servers
|
|
20
|
-
|
|
21
|
-
## [Prerequisites](#prerequisites)
|
|
22
|
-
|
|
23
|
-
> [!IMPORTANT]
|
|
24
|
-
> To use Git Truck, you will need to have the following programs installed:
|
|
25
|
-
> - [Node.js](https://nodejs.org/en/) 18.0.0 or newer and npm 10.0 or newer
|
|
26
|
-
> - [git](https://git-scm.com/downloads) 2.29 or newer
|
|
27
|
-
>
|
|
28
|
-
> Check your installed versions using `node --version`, `npm --version` and `git --version`.
|
|
29
|
-
|
|
30
|
-
> [!TIP]
|
|
31
|
-
> The latests versions of Node and git can be installed from the links above.
|
|
32
|
-
|
|
33
|
-
> [!Note]
|
|
34
|
-
> `npm` is automatically installed along with `node`.
|
|
35
|
-
|
|
36
|
-
## [Get started](#get-started)
|
|
37
|
-
|
|
38
|
-
1. Within a git repository, or a directory containing git repositories, run the command
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
npx -y git-truck
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
2. The application will now open in your default browser.
|
|
45
|
-
|
|
46
|
-

|
|
47
|
-
|
|
48
|
-
## [Feedback](#feedback)
|
|
49
|
-
|
|
50
|
-
Please open an issue [here](https://github.com/git-truck/git-truck/issues) where you describe your problem or feature request. For bug reports, please include git version, Node version, npm version, operating system, and an image of the problem would be great too!
|
|
51
|
-
|
|
52
|
-
If you have any suggestions about new features, or things that you think should be different, also feel free to open an issue.
|
|
53
|
-
|
|
54
|
-
## [Advanced use](#advanced-use)
|
|
55
|
-
|
|
56
|
-
Run `npx git-truck` in the root of a git repository, that you want to visualize:
|
|
57
|
-
|
|
58
|
-
```sh
|
|
59
|
-
npx git-truck [args]
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### [Arguments](#arguments)
|
|
63
|
-
|
|
64
|
-
| arg | description | default value |
|
|
65
|
-
| :------------------: | :-------------------------------------------------------------------: | :----------------: |
|
|
66
|
-
| `--path` | path to a folder or a git repository | current directory |
|
|
67
|
-
| `--log` | output log level. See [here](./src/analyzer/log.server.ts) for values | - |
|
|
68
|
-
| `--port` | port to use for the program | 3000 |
|
|
69
|
-
| `--invalidate-cache` | bypass analyzer cache manually | - |
|
|
70
|
-
| `--headless` | run the program without opening the browser | - |
|
|
71
|
-
|
|
72
|
-
> [!CAUTION]
|
|
73
|
-
> Using `--invalidate-cache` will cause the analyzer to run every time the client talks to the server. This can be very slow if working with large repositories.
|
|
74
|
-
|
|
75
|
-
### [Configuration](#configuration)
|
|
76
|
-
|
|
77
|
-
You can add a `truckconfig.json` file to the root of your project, where you can define the arguments you want.
|
|
78
|
-
Additionally you can define which git-aliases should be considered as the same person using `unionedAuthors`. If provided, the first name in the array is used as the name of the person.
|
|
79
|
-
You can also define files to ignore.
|
|
80
|
-
|
|
81
|
-
**Example:**
|
|
82
|
-
|
|
83
|
-
```json
|
|
84
|
-
{
|
|
85
|
-
"log": "debug",
|
|
86
|
-
"branch": "main",
|
|
87
|
-
"unionedAuthors": [
|
|
88
|
-
["Bob", "Bobby Bob"],
|
|
89
|
-
["Alice", "aliiii", "alice alice"]
|
|
90
|
-
],
|
|
91
|
-
"hiddenFiles": ["package-lock.json", "*.bin", "*.svg"],
|
|
92
|
-
"invalidateCache": true
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## Star History
|
|
97
|
-
|
|
98
|
-
[](https://star-history.com/#git-truck/git-truck&Date)
|
|
1
|
+
# Git Truck 🚛 · [](https://github.com/git-truck/git-truck/blob/main/LICENSE) [](https://www.npmjs.com/git-truck)
|
|
2
|
+
|
|
3
|
+
Git-Truck is a tool that provides you with a truckload of visualizations for your git repository, and helps you find out if your project has a good [truck factor](https://en.wikipedia.org/wiki/Bus_factor).
|
|
4
|
+
|
|
5
|
+
| Git Truck can help you figure out: | |
|
|
6
|
+
|-|-|
|
|
7
|
+
| Where the files in your codebase that only have a single contributor are (i.e., truck-factor = 1) | <img width="1912" alt="image" src="https://github.com/git-truck/git-truck/assets/1959615/1cc20716-0927-4aba-8d7d-115626bc445f"> |
|
|
8
|
+
| How the various developers contribute to your codebase | <img width="1913" alt="image" src="https://github.com/git-truck/git-truck/assets/1959615/780852f3-28de-44d2-ab79-e4ef420c3736"> |
|
|
9
|
+
| Which parts of the system that are most often changed | <img width="1912" alt="image" src="https://github.com/git-truck/git-truck/assets/1959615/8ca5f0b9-798f-40cd-b64e-de2fee00a5c3"> |
|
|
10
|
+
|
|
11
|
+
## [What makes Git Truck different?](#what-makes-git-truck-different)
|
|
12
|
+
|
|
13
|
+
🔒 Private by design
|
|
14
|
+
|
|
15
|
+
🏝️ Works offline
|
|
16
|
+
|
|
17
|
+
🤷 Git provider agnostic - works with any git repository
|
|
18
|
+
|
|
19
|
+
😊 No tracking, no ads, no data mining, no analytics, no cloud, no servers
|
|
20
|
+
|
|
21
|
+
## [Prerequisites](#prerequisites)
|
|
22
|
+
|
|
23
|
+
> [!IMPORTANT]
|
|
24
|
+
> To use Git Truck, you will need to have the following programs installed:
|
|
25
|
+
> - [Node.js](https://nodejs.org/en/) 18.0.0 or newer and npm 10.0 or newer
|
|
26
|
+
> - [git](https://git-scm.com/downloads) 2.29 or newer
|
|
27
|
+
>
|
|
28
|
+
> Check your installed versions using `node --version`, `npm --version` and `git --version`.
|
|
29
|
+
|
|
30
|
+
> [!TIP]
|
|
31
|
+
> The latests versions of Node and git can be installed from the links above.
|
|
32
|
+
|
|
33
|
+
> [!Note]
|
|
34
|
+
> `npm` is automatically installed along with `node`.
|
|
35
|
+
|
|
36
|
+
## [Get started](#get-started)
|
|
37
|
+
|
|
38
|
+
1. Within a git repository, or a directory containing git repositories, run the command
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npx -y git-truck
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
2. The application will now open in your default browser.
|
|
45
|
+
|
|
46
|
+

|
|
47
|
+
|
|
48
|
+
## [Feedback](#feedback)
|
|
49
|
+
|
|
50
|
+
Please open an issue [here](https://github.com/git-truck/git-truck/issues) where you describe your problem or feature request. For bug reports, please include git version, Node version, npm version, operating system, and an image of the problem would be great too!
|
|
51
|
+
|
|
52
|
+
If you have any suggestions about new features, or things that you think should be different, also feel free to open an issue.
|
|
53
|
+
|
|
54
|
+
## [Advanced use](#advanced-use)
|
|
55
|
+
|
|
56
|
+
Run `npx git-truck` in the root of a git repository, that you want to visualize:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
npx git-truck [args]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### [Arguments](#arguments)
|
|
63
|
+
|
|
64
|
+
| arg | description | default value |
|
|
65
|
+
| :------------------: | :-------------------------------------------------------------------: | :----------------: |
|
|
66
|
+
| `--path` | path to a folder or a git repository | current directory |
|
|
67
|
+
| `--log` | output log level. See [here](./src/analyzer/log.server.ts) for values | - |
|
|
68
|
+
| `--port` | port to use for the program | 3000 |
|
|
69
|
+
| `--invalidate-cache` | bypass analyzer cache manually | - |
|
|
70
|
+
| `--headless` | run the program without opening the browser | - |
|
|
71
|
+
|
|
72
|
+
> [!CAUTION]
|
|
73
|
+
> Using `--invalidate-cache` will cause the analyzer to run every time the client talks to the server. This can be very slow if working with large repositories.
|
|
74
|
+
|
|
75
|
+
### [Configuration](#configuration)
|
|
76
|
+
|
|
77
|
+
You can add a `truckconfig.json` file to the root of your project, where you can define the arguments you want.
|
|
78
|
+
Additionally you can define which git-aliases should be considered as the same person using `unionedAuthors`. If provided, the first name in the array is used as the name of the person.
|
|
79
|
+
You can also define files to ignore.
|
|
80
|
+
|
|
81
|
+
**Example:**
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"log": "debug",
|
|
86
|
+
"branch": "main",
|
|
87
|
+
"unionedAuthors": [
|
|
88
|
+
["Bob", "Bobby Bob"],
|
|
89
|
+
["Alice", "aliiii", "alice alice"]
|
|
90
|
+
],
|
|
91
|
+
"hiddenFiles": ["package-lock.json", "*.bin", "*.svg"],
|
|
92
|
+
"invalidateCache": true
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Star History
|
|
97
|
+
|
|
98
|
+
[](https://star-history.com/#git-truck/git-truck&Date)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as Ot,j as Z}from"./components-Bp0wjlbZ.js";import{g as At,h as Tt}from"./styling-CAxJvA60.js";var Ne={exports:{}};const xt="2.0.0",at=256,Ct=Number.MAX_SAFE_INTEGER||9007199254740991,Pt=16,jt=at-6,Dt=["major","premajor","minor","preminor","patch","prepatch","prerelease"];var ue={MAX_LENGTH:at,MAX_SAFE_COMPONENT_LENGTH:Pt,MAX_SAFE_BUILD_LENGTH:jt,MAX_SAFE_INTEGER:Ct,RELEASE_TYPES:Dt,SEMVER_SPEC_VERSION:xt,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Ee={};const _t=typeof process=="object"&&Ee&&Ee.NODE_DEBUG&&/\bsemver\b/i.test(Ee.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};var he=_t;(function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:s}=ue,i=he;t=e.exports={};const o=t.re=[],l=t.safeRe=[],a=t.src=[],c=t.t={};let u=0;const f="[a-zA-Z0-9-]",N=[["\\s",1],["\\d",s],[f,n]],g=M=>{for(const[C,X]of N)M=M.split(`${C}*`).join(`${C}{0,${X}}`).split(`${C}+`).join(`${C}{1,${X}}`);return M},d=(M,C,X)=>{const A=g(C),U=u++;i(M,U,C),c[M]=U,a[U]=C,o[U]=new RegExp(C,X?"g":void 0),l[U]=new RegExp(A,X?"g":void 0)};d("NUMERICIDENTIFIER","0|[1-9]\\d*"),d("NUMERICIDENTIFIERLOOSE","\\d+"),d("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${f}*`),d("MAINVERSION",`(${a[c.NUMERICIDENTIFIER]})\\.(${a[c.NUMERICIDENTIFIER]})\\.(${a[c.NUMERICIDENTIFIER]})`),d("MAINVERSIONLOOSE",`(${a[c.NUMERICIDENTIFIERLOOSE]})\\.(${a[c.NUMERICIDENTIFIERLOOSE]})\\.(${a[c.NUMERICIDENTIFIERLOOSE]})`),d("PRERELEASEIDENTIFIER",`(?:${a[c.NUMERICIDENTIFIER]}|${a[c.NONNUMERICIDENTIFIER]})`),d("PRERELEASEIDENTIFIERLOOSE",`(?:${a[c.NUMERICIDENTIFIERLOOSE]}|${a[c.NONNUMERICIDENTIFIER]})`),d("PRERELEASE",`(?:-(${a[c.PRERELEASEIDENTIFIER]}(?:\\.${a[c.PRERELEASEIDENTIFIER]})*))`),d("PRERELEASELOOSE",`(?:-?(${a[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${a[c.PRERELEASEIDENTIFIERLOOSE]})*))`),d("BUILDIDENTIFIER",`${f}+`),d("BUILD",`(?:\\+(${a[c.BUILDIDENTIFIER]}(?:\\.${a[c.BUILDIDENTIFIER]})*))`),d("FULLPLAIN",`v?${a[c.MAINVERSION]}${a[c.PRERELEASE]}?${a[c.BUILD]}?`),d("FULL",`^${a[c.FULLPLAIN]}$`),d("LOOSEPLAIN",`[v=\\s]*${a[c.MAINVERSIONLOOSE]}${a[c.PRERELEASELOOSE]}?${a[c.BUILD]}?`),d("LOOSE",`^${a[c.LOOSEPLAIN]}$`),d("GTLT","((?:<|>)?=?)"),d("XRANGEIDENTIFIERLOOSE",`${a[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),d("XRANGEIDENTIFIER",`${a[c.NUMERICIDENTIFIER]}|x|X|\\*`),d("XRANGEPLAIN",`[v=\\s]*(${a[c.XRANGEIDENTIFIER]})(?:\\.(${a[c.XRANGEIDENTIFIER]})(?:\\.(${a[c.XRANGEIDENTIFIER]})(?:${a[c.PRERELEASE]})?${a[c.BUILD]}?)?)?`),d("XRANGEPLAINLOOSE",`[v=\\s]*(${a[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[c.XRANGEIDENTIFIERLOOSE]})(?:${a[c.PRERELEASELOOSE]})?${a[c.BUILD]}?)?)?`),d("XRANGE",`^${a[c.GTLT]}\\s*${a[c.XRANGEPLAIN]}$`),d("XRANGELOOSE",`^${a[c.GTLT]}\\s*${a[c.XRANGEPLAINLOOSE]}$`),d("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),d("COERCERTL",a[c.COERCE],!0),d("LONETILDE","(?:~>?)"),d("TILDETRIM",`(\\s*)${a[c.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",d("TILDE",`^${a[c.LONETILDE]}${a[c.XRANGEPLAIN]}$`),d("TILDELOOSE",`^${a[c.LONETILDE]}${a[c.XRANGEPLAINLOOSE]}$`),d("LONECARET","(?:\\^)"),d("CARETTRIM",`(\\s*)${a[c.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",d("CARET",`^${a[c.LONECARET]}${a[c.XRANGEPLAIN]}$`),d("CARETLOOSE",`^${a[c.LONECARET]}${a[c.XRANGEPLAINLOOSE]}$`),d("COMPARATORLOOSE",`^${a[c.GTLT]}\\s*(${a[c.LOOSEPLAIN]})$|^$`),d("COMPARATOR",`^${a[c.GTLT]}\\s*(${a[c.FULLPLAIN]})$|^$`),d("COMPARATORTRIM",`(\\s*)${a[c.GTLT]}\\s*(${a[c.LOOSEPLAIN]}|${a[c.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",d("HYPHENRANGE",`^\\s*(${a[c.XRANGEPLAIN]})\\s+-\\s+(${a[c.XRANGEPLAIN]})\\s*$`),d("HYPHENRANGELOOSE",`^\\s*(${a[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${a[c.XRANGEPLAINLOOSE]})\\s*$`),d("STAR","(<|>)?=?\\s*\\*"),d("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),d("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(Ne,Ne.exports);var ne=Ne.exports;const Ft=Object.freeze({loose:!0}),Gt=Object.freeze({}),Mt=e=>e?typeof e!="object"?Ft:e:Gt;var Se=Mt;const je=/^[0-9]+$/,lt=(e,t)=>{const r=je.test(e),n=je.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e<t?-1:1},Xt=(e,t)=>lt(t,e);var ct={compareIdentifiers:lt,rcompareIdentifiers:Xt};const se=he,{MAX_LENGTH:De,MAX_SAFE_INTEGER:ie}=ue,{safeRe:_e,t:Fe}=ne,Ut=Se,{compareIdentifiers:H}=ct;let Vt=class _{constructor(t,r){if(r=Ut(r),t instanceof _){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>De)throw new TypeError(`version is longer than ${De} characters`);se("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;const n=t.trim().match(r.loose?_e[Fe.LOOSE]:_e[Fe.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>ie||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ie||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ie||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){const i=+s;if(i>=0&&i<ie)return i}return s}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(se("SemVer.compare",this.version,this.options,t),!(t instanceof _)){if(typeof t=="string"&&t===this.version)return 0;t=new _(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof _||(t=new _(t,this.options)),H(this.major,t.major)||H(this.minor,t.minor)||H(this.patch,t.patch)}comparePre(t){if(t instanceof _||(t=new _(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const n=this.prerelease[r],s=t.prerelease[r];if(se("prerelease compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return H(n,s)}while(++r)}compareBuild(t){t instanceof _||(t=new _(t,this.options));let r=0;do{const n=this.build[r],s=t.build[r];if(se("prerelease compare",r,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return-1;if(n===s)continue;return H(n,s)}while(++r)}inc(t,r,n){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const s=Number(n)?1:0;if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(r){let i=[r,s];n===!1&&(i=[r]),H(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var T=Vt;const Ge=T,kt=(e,t,r=!1)=>{if(e instanceof Ge)return e;try{return new Ge(e,t)}catch(n){if(!r)return null;throw n}};var W=kt;const qt=W,Ht=(e,t)=>{const r=qt(e,t);return r?r.version:null};var zt=Ht;const Bt=W,Yt=(e,t)=>{const r=Bt(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};var Wt=Yt;const Me=T,Kt=(e,t,r,n,s)=>{typeof r=="string"&&(s=n,n=r,r=void 0);try{return new Me(e instanceof Me?e.version:e,r).inc(t,n,s).version}catch{return null}};var Zt=Kt;const Xe=W,Jt=(e,t)=>{const r=Xe(e,null,!0),n=Xe(t,null,!0),s=r.compare(n);if(s===0)return null;const i=s>0,o=i?r:n,l=i?n:r,a=!!o.prerelease.length;if(!!l.prerelease.length&&!a)return!l.patch&&!l.minor?"major":o.patch?"patch":o.minor?"minor":"major";const u=a?"pre":"";return r.major!==n.major?u+"major":r.minor!==n.minor?u+"minor":r.patch!==n.patch?u+"patch":"prerelease"};var Qt=Jt;const er=T,tr=(e,t)=>new er(e,t).major;var rr=tr;const nr=T,sr=(e,t)=>new nr(e,t).minor;var ir=sr;const or=T,ar=(e,t)=>new or(e,t).patch;var lr=ar;const cr=W,ur=(e,t)=>{const r=cr(e,t);return r&&r.prerelease.length?r.prerelease:null};var hr=ur;const Ue=T,fr=(e,t,r)=>new Ue(e,r).compare(new Ue(t,r));var j=fr;const pr=j,mr=(e,t,r)=>pr(t,e,r);var Er=mr;const gr=j,vr=(e,t)=>gr(e,t,!0);var $r=vr;const Ve=T,dr=(e,t,r)=>{const n=new Ve(e,r),s=new Ve(t,r);return n.compare(s)||n.compareBuild(s)};var Le=dr;const Rr=Le,yr=(e,t)=>e.sort((r,n)=>Rr(r,n,t));var Ir=yr;const br=Le,Nr=(e,t)=>e.sort((r,n)=>br(n,r,t));var wr=Nr;const Sr=j,Lr=(e,t,r)=>Sr(e,t,r)>0;var fe=Lr;const Or=j,Ar=(e,t,r)=>Or(e,t,r)<0;var Oe=Ar;const Tr=j,xr=(e,t,r)=>Tr(e,t,r)===0;var ut=xr;const Cr=j,Pr=(e,t,r)=>Cr(e,t,r)!==0;var ht=Pr;const jr=j,Dr=(e,t,r)=>jr(e,t,r)>=0;var Ae=Dr;const _r=j,Fr=(e,t,r)=>_r(e,t,r)<=0;var Te=Fr;const Gr=ut,Mr=ht,Xr=fe,Ur=Ae,Vr=Oe,kr=Te,qr=(e,t,r,n)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return Gr(e,r,n);case"!=":return Mr(e,r,n);case">":return Xr(e,r,n);case">=":return Ur(e,r,n);case"<":return Vr(e,r,n);case"<=":return kr(e,r,n);default:throw new TypeError(`Invalid operator: ${t}`)}};var ft=qr;const Hr=T,zr=W,{safeRe:oe,t:ae}=ne,Br=(e,t)=>{if(e instanceof Hr)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(oe[ae.COERCE]);else{let n;for(;(n=oe[ae.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||n.index+n[0].length!==r.index+r[0].length)&&(r=n),oe[ae.COERCERTL].lastIndex=n.index+n[1].length+n[2].length;oe[ae.COERCERTL].lastIndex=-1}return r===null?null:zr(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)};var Yr=Br,ge,ke;function Wr(){return ke||(ke=1,ge=function(e){e.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}),ge}var Kr=b;b.Node=q;b.create=b;function b(e){var t=this;if(t instanceof b||(t=new b),t.tail=null,t.head=null,t.length=0,e&&typeof e.forEach=="function")e.forEach(function(s){t.push(s)});else if(arguments.length>0)for(var r=0,n=arguments.length;r<n;r++)t.push(arguments[r]);return t}b.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,r=e.prev;return t&&(t.prev=r),r&&(r.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=r),e.list.length--,e.next=null,e.prev=null,e.list=null,t};b.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}};b.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}};b.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)Jr(this,arguments[e]);return this.length};b.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)Qr(this,arguments[e]);return this.length};b.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}};b.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}};b.prototype.forEach=function(e,t){t=t||this;for(var r=this.head,n=0;r!==null;n++)e.call(t,r.value,n,this),r=r.next};b.prototype.forEachReverse=function(e,t){t=t||this;for(var r=this.tail,n=this.length-1;r!==null;n--)e.call(t,r.value,n,this),r=r.prev};b.prototype.get=function(e){for(var t=0,r=this.head;r!==null&&t<e;t++)r=r.next;if(t===e&&r!==null)return r.value};b.prototype.getReverse=function(e){for(var t=0,r=this.tail;r!==null&&t<e;t++)r=r.prev;if(t===e&&r!==null)return r.value};b.prototype.map=function(e,t){t=t||this;for(var r=new b,n=this.head;n!==null;)r.push(e.call(t,n.value,this)),n=n.next;return r};b.prototype.mapReverse=function(e,t){t=t||this;for(var r=new b,n=this.tail;n!==null;)r.push(e.call(t,n.value,this)),n=n.prev;return r};b.prototype.reduce=function(e,t){var r,n=this.head;if(arguments.length>1)r=t;else if(this.head)n=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var s=0;n!==null;s++)r=e(r,n.value,s),n=n.next;return r};b.prototype.reduceReverse=function(e,t){var r,n=this.tail;if(arguments.length>1)r=t;else if(this.tail)n=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var s=this.length-1;n!==null;s--)r=e(r,n.value,s),n=n.prev;return r};b.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;r!==null;t++)e[t]=r.value,r=r.next;return e};b.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;r!==null;t++)e[t]=r.value,r=r.prev;return e};b.prototype.slice=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var r=new b;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var n=0,s=this.head;s!==null&&n<e;n++)s=s.next;for(;s!==null&&n<t;n++,s=s.next)r.push(s.value);return r};b.prototype.sliceReverse=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var r=new b;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var n=this.length,s=this.tail;s!==null&&n>t;n--)s=s.prev;for(;s!==null&&n>e;n--,s=s.prev)r.push(s.value);return r};b.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var n=0,s=this.head;s!==null&&n<e;n++)s=s.next;for(var i=[],n=0;s&&n<t;n++)i.push(s.value),s=this.removeNode(s);s===null&&(s=this.tail),s!==this.head&&s!==this.tail&&(s=s.prev);for(var n=0;n<r.length;n++)s=Zr(this,s,r[n]);return i};b.prototype.reverse=function(){for(var e=this.head,t=this.tail,r=e;r!==null;r=r.prev){var n=r.prev;r.prev=r.next,r.next=n}return this.head=t,this.tail=e,this};function Zr(e,t,r){var n=t===e.head?new q(r,null,t,e):new q(r,t,t.next,e);return n.next===null&&(e.tail=n),n.prev===null&&(e.head=n),e.length++,n}function Jr(e,t){e.tail=new q(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function Qr(e,t){e.head=new q(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function q(e,t,r,n){if(!(this instanceof q))return new q(e,t,r,n);this.list=n,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}try{Wr()(b)}catch{}const en=Kr,V=Symbol("max"),G=Symbol("length"),z=Symbol("lengthCalculator"),te=Symbol("allowStale"),k=Symbol("maxAge"),F=Symbol("dispose"),qe=Symbol("noDisposeOnSet"),O=Symbol("lruList"),P=Symbol("cache"),pt=Symbol("updateAgeOnGet"),ve=()=>1;class tn{constructor(t){if(typeof t=="number"&&(t={max:t}),t||(t={}),t.max&&(typeof t.max!="number"||t.max<0))throw new TypeError("max must be a non-negative number");this[V]=t.max||1/0;const r=t.length||ve;if(this[z]=typeof r!="function"?ve:r,this[te]=t.stale||!1,t.maxAge&&typeof t.maxAge!="number")throw new TypeError("maxAge must be a number");this[k]=t.maxAge||0,this[F]=t.dispose,this[qe]=t.noDisposeOnSet||!1,this[pt]=t.updateAgeOnGet||!1,this.reset()}set max(t){if(typeof t!="number"||t<0)throw new TypeError("max must be a non-negative number");this[V]=t||1/0,J(this)}get max(){return this[V]}set allowStale(t){this[te]=!!t}get allowStale(){return this[te]}set maxAge(t){if(typeof t!="number")throw new TypeError("maxAge must be a non-negative number");this[k]=t,J(this)}get maxAge(){return this[k]}set lengthCalculator(t){typeof t!="function"&&(t=ve),t!==this[z]&&(this[z]=t,this[G]=0,this[O].forEach(r=>{r.length=this[z](r.value,r.key),this[G]+=r.length})),J(this)}get lengthCalculator(){return this[z]}get length(){return this[G]}get itemCount(){return this[O].length}rforEach(t,r){r=r||this;for(let n=this[O].tail;n!==null;){const s=n.prev;He(this,t,n,r),n=s}}forEach(t,r){r=r||this;for(let n=this[O].head;n!==null;){const s=n.next;He(this,t,n,r),n=s}}keys(){return this[O].toArray().map(t=>t.key)}values(){return this[O].toArray().map(t=>t.value)}reset(){this[F]&&this[O]&&this[O].length&&this[O].forEach(t=>this[F](t.key,t.value)),this[P]=new Map,this[O]=new en,this[G]=0}dump(){return this[O].map(t=>le(this,t)?!1:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[O]}set(t,r,n){if(n=n||this[k],n&&typeof n!="number")throw new TypeError("maxAge must be a number");const s=n?Date.now():0,i=this[z](r,t);if(this[P].has(t)){if(i>this[V])return Y(this,this[P].get(t)),!1;const a=this[P].get(t).value;return this[F]&&(this[qe]||this[F](t,a.value)),a.now=s,a.maxAge=n,a.value=r,this[G]+=i-a.length,a.length=i,this.get(t),J(this),!0}const o=new rn(t,r,i,s,n);return o.length>this[V]?(this[F]&&this[F](t,r),!1):(this[G]+=o.length,this[O].unshift(o),this[P].set(t,this[O].head),J(this),!0)}has(t){if(!this[P].has(t))return!1;const r=this[P].get(t).value;return!le(this,r)}get(t){return $e(this,t,!0)}peek(t){return $e(this,t,!1)}pop(){const t=this[O].tail;return t?(Y(this,t),t.value):null}del(t){Y(this,this[P].get(t))}load(t){this.reset();const r=Date.now();for(let n=t.length-1;n>=0;n--){const s=t[n],i=s.e||0;if(i===0)this.set(s.k,s.v);else{const o=i-r;o>0&&this.set(s.k,s.v,o)}}}prune(){this[P].forEach((t,r)=>$e(this,r,!1))}}const $e=(e,t,r)=>{const n=e[P].get(t);if(n){const s=n.value;if(le(e,s)){if(Y(e,n),!e[te])return}else r&&(e[pt]&&(n.value.now=Date.now()),e[O].unshiftNode(n));return s.value}},le=(e,t)=>{if(!t||!t.maxAge&&!e[k])return!1;const r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[k]&&r>e[k]},J=e=>{if(e[G]>e[V])for(let t=e[O].tail;e[G]>e[V]&&t!==null;){const r=t.prev;Y(e,t),t=r}},Y=(e,t)=>{if(t){const r=t.value;e[F]&&e[F](r.key,r.value),e[G]-=r.length,e[P].delete(r.key),e[O].removeNode(t)}};class rn{constructor(t,r,n,s,i){this.key=t,this.value=r,this.length=n,this.now=s,this.maxAge=i||0}}const He=(e,t,r,n)=>{let s=r.value;le(e,s)&&(Y(e,r),e[te]||(s=void 0)),s&&t.call(n,s.value,s.key,e)};var nn=tn,de,ze;function D(){if(ze)return de;ze=1;class e{constructor(h,R){if(R=n(R),h instanceof e)return h.loose===!!R.loose&&h.includePrerelease===!!R.includePrerelease?h:new e(h.raw,R);if(h instanceof s)return this.raw=h.value,this.set=[[h]],this.format(),this;if(this.options=R,this.loose=!!R.loose,this.includePrerelease=!!R.includePrerelease,this.raw=h.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(v=>this.parseRange(v.trim())).filter(v=>v.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const v=this.set[0];if(this.set=this.set.filter($=>!d($[0])),this.set.length===0)this.set=[v];else if(this.set.length>1){for(const $ of this.set)if($.length===1&&M($[0])){this.set=[$];break}}}this.format()}format(){return this.range=this.set.map(h=>h.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(h){const v=((this.options.includePrerelease&&N)|(this.options.loose&&g))+":"+h,$=r.get(v);if($)return $;const E=this.options.loose,y=E?l[a.HYPHENRANGELOOSE]:l[a.HYPHENRANGE];h=h.replace(y,St(this.options.includePrerelease)),i("hyphen replace",h),h=h.replace(l[a.COMPARATORTRIM],c),i("comparator trim",h),h=h.replace(l[a.TILDETRIM],u),i("tilde trim",h),h=h.replace(l[a.CARETTRIM],f),i("caret trim",h);let w=h.split(" ").map(L=>X(L,this.options)).join(" ").split(/\s+/).map(L=>wt(L,this.options));E&&(w=w.filter(L=>(i("loose invalid filter",L,this.options),!!L.match(l[a.COMPARATORLOOSE])))),i("range list",w);const I=new Map,S=w.map(L=>new s(L,this.options));for(const L of S){if(d(L))return[L];I.set(L.value,L)}I.size>1&&I.has("")&&I.delete("");const x=[...I.values()];return r.set(v,x),x}intersects(h,R){if(!(h instanceof e))throw new TypeError("a Range is required");return this.set.some(v=>C(v,R)&&h.set.some($=>C($,R)&&v.every(E=>$.every(y=>E.intersects(y,R)))))}test(h){if(!h)return!1;if(typeof h=="string")try{h=new o(h,this.options)}catch{return!1}for(let R=0;R<this.set.length;R++)if(Lt(this.set[R],h,this.options))return!0;return!1}}de=e;const t=nn,r=new t({max:1e3}),n=Se,s=pe(),i=he,o=T,{safeRe:l,t:a,comparatorTrimReplace:c,tildeTrimReplace:u,caretTrimReplace:f}=ne,{FLAG_INCLUDE_PRERELEASE:N,FLAG_LOOSE:g}=ue,d=p=>p.value==="<0.0.0-0",M=p=>p.value==="",C=(p,h)=>{let R=!0;const v=p.slice();let $=v.pop();for(;R&&v.length;)R=v.every(E=>$.intersects(E,h)),$=v.pop();return R},X=(p,h)=>(i("comp",p,h),p=Rt(p,h),i("caret",p),p=U(p,h),i("tildes",p),p=It(p,h),i("xrange",p),p=Nt(p,h),i("stars",p),p),A=p=>!p||p.toLowerCase()==="x"||p==="*",U=(p,h)=>p.trim().split(/\s+/).map(R=>dt(R,h)).join(" "),dt=(p,h)=>{const R=h.loose?l[a.TILDELOOSE]:l[a.TILDE];return p.replace(R,(v,$,E,y,w)=>{i("tilde",p,v,$,E,y,w);let I;return A($)?I="":A(E)?I=`>=${$}.0.0 <${+$+1}.0.0-0`:A(y)?I=`>=${$}.${E}.0 <${$}.${+E+1}.0-0`:w?(i("replaceTilde pr",w),I=`>=${$}.${E}.${y}-${w} <${$}.${+E+1}.0-0`):I=`>=${$}.${E}.${y} <${$}.${+E+1}.0-0`,i("tilde return",I),I})},Rt=(p,h)=>p.trim().split(/\s+/).map(R=>yt(R,h)).join(" "),yt=(p,h)=>{i("caret",p,h);const R=h.loose?l[a.CARETLOOSE]:l[a.CARET],v=h.includePrerelease?"-0":"";return p.replace(R,($,E,y,w,I)=>{i("caret",p,$,E,y,w,I);let S;return A(E)?S="":A(y)?S=`>=${E}.0.0${v} <${+E+1}.0.0-0`:A(w)?E==="0"?S=`>=${E}.${y}.0${v} <${E}.${+y+1}.0-0`:S=`>=${E}.${y}.0${v} <${+E+1}.0.0-0`:I?(i("replaceCaret pr",I),E==="0"?y==="0"?S=`>=${E}.${y}.${w}-${I} <${E}.${y}.${+w+1}-0`:S=`>=${E}.${y}.${w}-${I} <${E}.${+y+1}.0-0`:S=`>=${E}.${y}.${w}-${I} <${+E+1}.0.0-0`):(i("no pr"),E==="0"?y==="0"?S=`>=${E}.${y}.${w}${v} <${E}.${y}.${+w+1}-0`:S=`>=${E}.${y}.${w}${v} <${E}.${+y+1}.0-0`:S=`>=${E}.${y}.${w} <${+E+1}.0.0-0`),i("caret return",S),S})},It=(p,h)=>(i("replaceXRanges",p,h),p.split(/\s+/).map(R=>bt(R,h)).join(" ")),bt=(p,h)=>{p=p.trim();const R=h.loose?l[a.XRANGELOOSE]:l[a.XRANGE];return p.replace(R,(v,$,E,y,w,I)=>{i("xRange",p,v,$,E,y,w,I);const S=A(E),x=S||A(y),L=x||A(w),K=L;return $==="="&&K&&($=""),I=h.includePrerelease?"-0":"",S?$===">"||$==="<"?v="<0.0.0-0":v="*":$&&K?(x&&(y=0),w=0,$===">"?($=">=",x?(E=+E+1,y=0,w=0):(y=+y+1,w=0)):$==="<="&&($="<",x?E=+E+1:y=+y+1),$==="<"&&(I="-0"),v=`${$+E}.${y}.${w}${I}`):x?v=`>=${E}.0.0${I} <${+E+1}.0.0-0`:L&&(v=`>=${E}.${y}.0${I} <${E}.${+y+1}.0-0`),i("xRange return",v),v})},Nt=(p,h)=>(i("replaceStars",p,h),p.trim().replace(l[a.STAR],"")),wt=(p,h)=>(i("replaceGTE0",p,h),p.trim().replace(l[h.includePrerelease?a.GTE0PRE:a.GTE0],"")),St=p=>(h,R,v,$,E,y,w,I,S,x,L,K,ks)=>(A(v)?R="":A($)?R=`>=${v}.0.0${p?"-0":""}`:A(E)?R=`>=${v}.${$}.0${p?"-0":""}`:y?R=`>=${R}`:R=`>=${R}${p?"-0":""}`,A(S)?I="":A(x)?I=`<${+S+1}.0.0-0`:A(L)?I=`<${S}.${+x+1}.0-0`:K?I=`<=${S}.${x}.${L}-${K}`:p?I=`<${S}.${x}.${+L+1}-0`:I=`<=${I}`,`${R} ${I}`.trim()),Lt=(p,h,R)=>{for(let v=0;v<p.length;v++)if(!p[v].test(h))return!1;if(h.prerelease.length&&!R.includePrerelease){for(let v=0;v<p.length;v++)if(i(p[v].semver),p[v].semver!==s.ANY&&p[v].semver.prerelease.length>0){const $=p[v].semver;if($.major===h.major&&$.minor===h.minor&&$.patch===h.patch)return!0}return!1}return!0};return de}var Re,Be;function pe(){if(Be)return Re;Be=1;const e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(u,f){if(f=r(f),u instanceof t){if(u.loose===!!f.loose)return u;u=u.value}u=u.trim().split(/\s+/).join(" "),o("comparator",u,f),this.options=f,this.loose=!!f.loose,this.parse(u),this.semver===e?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}parse(u){const f=this.options.loose?n[s.COMPARATORLOOSE]:n[s.COMPARATOR],N=u.match(f);if(!N)throw new TypeError(`Invalid comparator: ${u}`);this.operator=N[1]!==void 0?N[1]:"",this.operator==="="&&(this.operator=""),N[2]?this.semver=new l(N[2],this.options.loose):this.semver=e}toString(){return this.value}test(u){if(o("Comparator.test",u,this.options.loose),this.semver===e||u===e)return!0;if(typeof u=="string")try{u=new l(u,this.options)}catch{return!1}return i(u,this.operator,this.semver,this.options)}intersects(u,f){if(!(u instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new a(u.value,f).test(this.value):u.operator===""?u.value===""?!0:new a(this.value,f).test(u.semver):(f=r(f),f.includePrerelease&&(this.value==="<0.0.0-0"||u.value==="<0.0.0-0")||!f.includePrerelease&&(this.value.startsWith("<0.0.0")||u.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&u.operator.startsWith(">")||this.operator.startsWith("<")&&u.operator.startsWith("<")||this.semver.version===u.semver.version&&this.operator.includes("=")&&u.operator.includes("=")||i(this.semver,"<",u.semver,f)&&this.operator.startsWith(">")&&u.operator.startsWith("<")||i(this.semver,">",u.semver,f)&&this.operator.startsWith("<")&&u.operator.startsWith(">")))}}Re=t;const r=Se,{safeRe:n,t:s}=ne,i=ft,o=he,l=T,a=D();return Re}const sn=D(),on=(e,t,r)=>{try{t=new sn(t,r)}catch{return!1}return t.test(e)};var me=on;const an=D(),ln=(e,t)=>new an(e,t).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));var cn=ln;const un=T,hn=D(),fn=(e,t,r)=>{let n=null,s=null,i=null;try{i=new hn(t,r)}catch{return null}return e.forEach(o=>{i.test(o)&&(!n||s.compare(o)===-1)&&(n=o,s=new un(n,r))}),n};var pn=fn;const mn=T,En=D(),gn=(e,t,r)=>{let n=null,s=null,i=null;try{i=new En(t,r)}catch{return null}return e.forEach(o=>{i.test(o)&&(!n||s.compare(o)===1)&&(n=o,s=new mn(n,r))}),n};var vn=gn;const ye=T,$n=D(),Ye=fe,dn=(e,t)=>{e=new $n(e,t);let r=new ye("0.0.0");if(e.test(r)||(r=new ye("0.0.0-0"),e.test(r)))return r;r=null;for(let n=0;n<e.set.length;++n){const s=e.set[n];let i=null;s.forEach(o=>{const l=new ye(o.semver.version);switch(o.operator){case">":l.prerelease.length===0?l.patch++:l.prerelease.push(0),l.raw=l.format();case"":case">=":(!i||Ye(l,i))&&(i=l);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),i&&(!r||Ye(r,i))&&(r=i)}return r&&e.test(r)?r:null};var Rn=dn;const yn=D(),In=(e,t)=>{try{return new yn(e,t).range||"*"}catch{return null}};var bn=In;const Nn=T,mt=pe(),{ANY:wn}=mt,Sn=D(),Ln=me,We=fe,Ke=Oe,On=Te,An=Ae,Tn=(e,t,r,n)=>{e=new Nn(e,n),t=new Sn(t,n);let s,i,o,l,a;switch(r){case">":s=We,i=On,o=Ke,l=">",a=">=";break;case"<":s=Ke,i=An,o=We,l="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ln(e,t,n))return!1;for(let c=0;c<t.set.length;++c){const u=t.set[c];let f=null,N=null;if(u.forEach(g=>{g.semver===wn&&(g=new mt(">=0.0.0")),f=f||g,N=N||g,s(g.semver,f.semver,n)?f=g:o(g.semver,N.semver,n)&&(N=g)}),f.operator===l||f.operator===a||(!N.operator||N.operator===l)&&i(e,N.semver))return!1;if(N.operator===a&&o(e,N.semver))return!1}return!0};var xe=Tn;const xn=xe,Cn=(e,t,r)=>xn(e,t,">",r);var Pn=Cn;const jn=xe,Dn=(e,t,r)=>jn(e,t,"<",r);var _n=Dn;const Ze=D(),Fn=(e,t,r)=>(e=new Ze(e,r),t=new Ze(t,r),e.intersects(t,r));var Gn=Fn;const Mn=me,Xn=j;var Un=(e,t,r)=>{const n=[];let s=null,i=null;const o=e.sort((u,f)=>Xn(u,f,r));for(const u of o)Mn(u,t,r)?(i=u,s||(s=u)):(i&&n.push([s,i]),i=null,s=null);s&&n.push([s,null]);const l=[];for(const[u,f]of n)u===f?l.push(u):!f&&u===o[0]?l.push("*"):f?u===o[0]?l.push(`<=${f}`):l.push(`${u} - ${f}`):l.push(`>=${u}`);const a=l.join(" || "),c=typeof t.raw=="string"?t.raw:String(t);return a.length<c.length?a:t};const Je=D(),Ce=pe(),{ANY:Ie}=Ce,Q=me,Pe=j,Vn=(e,t,r={})=>{if(e===t)return!0;e=new Je(e,r),t=new Je(t,r);let n=!1;e:for(const s of e.set){for(const i of t.set){const o=qn(s,i,r);if(n=n||o!==null,o)continue e}if(n)return!1}return!0},kn=[new Ce(">=0.0.0-0")],Qe=[new Ce(">=0.0.0")],qn=(e,t,r)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===Ie){if(t.length===1&&t[0].semver===Ie)return!0;r.includePrerelease?e=kn:e=Qe}if(t.length===1&&t[0].semver===Ie){if(r.includePrerelease)return!0;t=Qe}const n=new Set;let s,i;for(const g of e)g.operator===">"||g.operator===">="?s=et(s,g,r):g.operator==="<"||g.operator==="<="?i=tt(i,g,r):n.add(g.semver);if(n.size>1)return null;let o;if(s&&i){if(o=Pe(s.semver,i.semver,r),o>0)return null;if(o===0&&(s.operator!==">="||i.operator!=="<="))return null}for(const g of n){if(s&&!Q(g,String(s),r)||i&&!Q(g,String(i),r))return null;for(const d of t)if(!Q(g,String(d),r))return!1;return!0}let l,a,c,u,f=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1,N=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1;f&&f.prerelease.length===1&&i.operator==="<"&&f.prerelease[0]===0&&(f=!1);for(const g of t){if(u=u||g.operator===">"||g.operator===">=",c=c||g.operator==="<"||g.operator==="<=",s){if(N&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===N.major&&g.semver.minor===N.minor&&g.semver.patch===N.patch&&(N=!1),g.operator===">"||g.operator===">="){if(l=et(s,g,r),l===g&&l!==s)return!1}else if(s.operator===">="&&!Q(s.semver,String(g),r))return!1}if(i){if(f&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===f.major&&g.semver.minor===f.minor&&g.semver.patch===f.patch&&(f=!1),g.operator==="<"||g.operator==="<="){if(a=tt(i,g,r),a===g&&a!==i)return!1}else if(i.operator==="<="&&!Q(i.semver,String(g),r))return!1}if(!g.operator&&(i||s)&&o!==0)return!1}return!(s&&c&&!i&&o!==0||i&&u&&!s&&o!==0||N||f)},et=(e,t,r)=>{if(!e)return t;const n=Pe(e.semver,t.semver,r);return n>0?e:n<0||t.operator===">"&&e.operator===">="?t:e},tt=(e,t,r)=>{if(!e)return t;const n=Pe(e.semver,t.semver,r);return n<0?e:n>0||t.operator==="<"&&e.operator==="<="?t:e};var Hn=Vn;const be=ne,rt=ue,zn=T,nt=ct,Bn=W,Yn=zt,Wn=Wt,Kn=Zt,Zn=Qt,Jn=rr,Qn=ir,es=lr,ts=hr,rs=j,ns=Er,ss=$r,is=Le,os=Ir,as=wr,ls=fe,cs=Oe,us=ut,hs=ht,fs=Ae,ps=Te,ms=ft,Es=Yr,gs=pe(),vs=D(),$s=me,ds=cn,Rs=pn,ys=vn,Is=Rn,bs=bn,Ns=xe,ws=Pn,Ss=_n,Ls=Gn,Os=Un,As=Hn;var ee={parse:Bn,valid:Yn,clean:Wn,inc:Kn,diff:Zn,major:Jn,minor:Qn,patch:es,prerelease:ts,compare:rs,rcompare:ns,compareLoose:ss,compareBuild:is,sort:os,rsort:as,gt:ls,lt:cs,eq:us,neq:hs,gte:fs,lte:ps,cmp:ms,coerce:Es,Comparator:gs,Range:vs,satisfies:$s,toComparators:ds,maxSatisfying:Rs,minSatisfying:ys,minVersion:Is,validRange:bs,outside:Ns,gtr:ws,ltr:Ss,intersects:Ls,simplifyRange:Os,subset:As,SemVer:zn,re:be.re,src:be.src,tokens:be.t,SEMVER_SPEC_VERSION:rt.SEMVER_SPEC_VERSION,RELEASE_TYPES:rt.RELEASE_TYPES,compareIdentifiers:nt.compareIdentifiers,rcompareIdentifiers:nt.rcompareIdentifiers},Ts={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};const re=Ts,Et={};for(const e of Object.keys(re))Et[re[e]]=e;const m={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};var gt=m;for(const e of Object.keys(m)){if(!("channels"in m[e]))throw new Error("missing channels property: "+e);if(!("labels"in m[e]))throw new Error("missing channel labels property: "+e);if(m[e].labels.length!==m[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:r}=m[e];delete m[e].channels,delete m[e].labels,Object.defineProperty(m[e],"channels",{value:t}),Object.defineProperty(m[e],"labels",{value:r})}m.rgb.hsl=function(e){const t=e[0]/255,r=e[1]/255,n=e[2]/255,s=Math.min(t,r,n),i=Math.max(t,r,n),o=i-s;let l,a;i===s?l=0:t===i?l=(r-n)/o:r===i?l=2+(n-t)/o:n===i&&(l=4+(t-r)/o),l=Math.min(l*60,360),l<0&&(l+=360);const c=(s+i)/2;return i===s?a=0:c<=.5?a=o/(i+s):a=o/(2-i-s),[l,a*100,c*100]};m.rgb.hsv=function(e){let t,r,n,s,i;const o=e[0]/255,l=e[1]/255,a=e[2]/255,c=Math.max(o,l,a),u=c-Math.min(o,l,a),f=function(N){return(c-N)/6/u+1/2};return u===0?(s=0,i=0):(i=u/c,t=f(o),r=f(l),n=f(a),o===c?s=n-r:l===c?s=1/3+t-n:a===c&&(s=2/3+r-t),s<0?s+=1:s>1&&(s-=1)),[s*360,i*100,c*100]};m.rgb.hwb=function(e){const t=e[0],r=e[1];let n=e[2];const s=m.rgb.hsl(e)[0],i=1/255*Math.min(t,Math.min(r,n));return n=1-1/255*Math.max(t,Math.max(r,n)),[s,i*100,n*100]};m.rgb.cmyk=function(e){const t=e[0]/255,r=e[1]/255,n=e[2]/255,s=Math.min(1-t,1-r,1-n),i=(1-t-s)/(1-s)||0,o=(1-r-s)/(1-s)||0,l=(1-n-s)/(1-s)||0;return[i*100,o*100,l*100,s*100]};function xs(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}m.rgb.keyword=function(e){const t=Et[e];if(t)return t;let r=1/0,n;for(const s of Object.keys(re)){const i=re[s],o=xs(e,i);o<r&&(r=o,n=s)}return n};m.keyword.rgb=function(e){return re[e]};m.rgb.xyz=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;const s=t*.4124+r*.3576+n*.1805,i=t*.2126+r*.7152+n*.0722,o=t*.0193+r*.1192+n*.9505;return[s*100,i*100,o*100]};m.rgb.lab=function(e){const t=m.rgb.xyz(e);let r=t[0],n=t[1],s=t[2];r/=95.047,n/=100,s/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,s=s>.008856?s**(1/3):7.787*s+16/116;const i=116*n-16,o=500*(r-n),l=200*(n-s);return[i,o,l]};m.hsl.rgb=function(e){const t=e[0]/360,r=e[1]/100,n=e[2]/100;let s,i,o;if(r===0)return o=n*255,[o,o,o];n<.5?s=n*(1+r):s=n+r-n*r;const l=2*n-s,a=[0,0,0];for(let c=0;c<3;c++)i=t+1/3*-(c-1),i<0&&i++,i>1&&i--,6*i<1?o=l+(s-l)*6*i:2*i<1?o=s:3*i<2?o=l+(s-l)*(2/3-i)*6:o=l,a[c]=o*255;return a};m.hsl.hsv=function(e){const t=e[0];let r=e[1]/100,n=e[2]/100,s=r;const i=Math.max(n,.01);n*=2,r*=n<=1?n:2-n,s*=i<=1?i:2-i;const o=(n+r)/2,l=n===0?2*s/(i+s):2*r/(n+r);return[t,l*100,o*100]};m.hsv.rgb=function(e){const t=e[0]/60,r=e[1]/100;let n=e[2]/100;const s=Math.floor(t)%6,i=t-Math.floor(t),o=255*n*(1-r),l=255*n*(1-r*i),a=255*n*(1-r*(1-i));switch(n*=255,s){case 0:return[n,a,o];case 1:return[l,n,o];case 2:return[o,n,a];case 3:return[o,l,n];case 4:return[a,o,n];case 5:return[n,o,l]}};m.hsv.hsl=function(e){const t=e[0],r=e[1]/100,n=e[2]/100,s=Math.max(n,.01);let i,o;o=(2-r)*n;const l=(2-r)*s;return i=r*s,i/=l<=1?l:2-l,i=i||0,o/=2,[t,i*100,o*100]};m.hwb.rgb=function(e){const t=e[0]/360;let r=e[1]/100,n=e[2]/100;const s=r+n;let i;s>1&&(r/=s,n/=s);const o=Math.floor(6*t),l=1-n;i=6*t-o,o&1&&(i=1-i);const a=r+i*(l-r);let c,u,f;switch(o){default:case 6:case 0:c=l,u=a,f=r;break;case 1:c=a,u=l,f=r;break;case 2:c=r,u=l,f=a;break;case 3:c=r,u=a,f=l;break;case 4:c=a,u=r,f=l;break;case 5:c=l,u=r,f=a;break}return[c*255,u*255,f*255]};m.cmyk.rgb=function(e){const t=e[0]/100,r=e[1]/100,n=e[2]/100,s=e[3]/100,i=1-Math.min(1,t*(1-s)+s),o=1-Math.min(1,r*(1-s)+s),l=1-Math.min(1,n*(1-s)+s);return[i*255,o*255,l*255]};m.xyz.rgb=function(e){const t=e[0]/100,r=e[1]/100,n=e[2]/100;let s,i,o;return s=t*3.2406+r*-1.5372+n*-.4986,i=t*-.9689+r*1.8758+n*.0415,o=t*.0557+r*-.204+n*1.057,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=Math.min(Math.max(0,s),1),i=Math.min(Math.max(0,i),1),o=Math.min(Math.max(0,o),1),[s*255,i*255,o*255]};m.xyz.lab=function(e){let t=e[0],r=e[1],n=e[2];t/=95.047,r/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;const s=116*r-16,i=500*(t-r),o=200*(r-n);return[s,i,o]};m.lab.xyz=function(e){const t=e[0],r=e[1],n=e[2];let s,i,o;i=(t+16)/116,s=r/500+i,o=i-n/200;const l=i**3,a=s**3,c=o**3;return i=l>.008856?l:(i-16/116)/7.787,s=a>.008856?a:(s-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,s*=95.047,i*=100,o*=108.883,[s,i,o]};m.lab.lch=function(e){const t=e[0],r=e[1],n=e[2];let s;s=Math.atan2(n,r)*360/2/Math.PI,s<0&&(s+=360);const o=Math.sqrt(r*r+n*n);return[t,o,s]};m.lch.lab=function(e){const t=e[0],r=e[1],s=e[2]/360*2*Math.PI,i=r*Math.cos(s),o=r*Math.sin(s);return[t,i,o]};m.rgb.ansi16=function(e,t=null){const[r,n,s]=e;let i=t===null?m.rgb.hsv(e)[2]:t;if(i=Math.round(i/50),i===0)return 30;let o=30+(Math.round(s/255)<<2|Math.round(n/255)<<1|Math.round(r/255));return i===2&&(o+=60),o};m.hsv.ansi16=function(e){return m.rgb.ansi16(m.hsv.rgb(e),e[2])};m.rgb.ansi256=function(e){const t=e[0],r=e[1],n=e[2];return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)};m.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const r=(~~(e>50)+1)*.5,n=(t&1)*r*255,s=(t>>1&1)*r*255,i=(t>>2&1)*r*255;return[n,s,i]};m.ansi256.rgb=function(e){if(e>=232){const i=(e-232)*10+8;return[i,i,i]}e-=16;let t;const r=Math.floor(e/36)/5*255,n=Math.floor((t=e%36)/6)/5*255,s=t%6/5*255;return[r,n,s]};m.rgb.hex=function(e){const r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};m.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(l=>l+l).join(""));const n=parseInt(r,16),s=n>>16&255,i=n>>8&255,o=n&255;return[s,i,o]};m.rgb.hcg=function(e){const t=e[0]/255,r=e[1]/255,n=e[2]/255,s=Math.max(Math.max(t,r),n),i=Math.min(Math.min(t,r),n),o=s-i;let l,a;return o<1?l=i/(1-o):l=0,o<=0?a=0:s===t?a=(r-n)/o%6:s===r?a=2+(n-t)/o:a=4+(t-r)/o,a/=6,a%=1,[a*360,o*100,l*100]};m.hsl.hcg=function(e){const t=e[1]/100,r=e[2]/100,n=r<.5?2*t*r:2*t*(1-r);let s=0;return n<1&&(s=(r-.5*n)/(1-n)),[e[0],n*100,s*100]};m.hsv.hcg=function(e){const t=e[1]/100,r=e[2]/100,n=t*r;let s=0;return n<1&&(s=(r-n)/(1-n)),[e[0],n*100,s*100]};m.hcg.rgb=function(e){const t=e[0]/360,r=e[1]/100,n=e[2]/100;if(r===0)return[n*255,n*255,n*255];const s=[0,0,0],i=t%1*6,o=i%1,l=1-o;let a=0;switch(Math.floor(i)){case 0:s[0]=1,s[1]=o,s[2]=0;break;case 1:s[0]=l,s[1]=1,s[2]=0;break;case 2:s[0]=0,s[1]=1,s[2]=o;break;case 3:s[0]=0,s[1]=l,s[2]=1;break;case 4:s[0]=o,s[1]=0,s[2]=1;break;default:s[0]=1,s[1]=0,s[2]=l}return a=(1-r)*n,[(r*s[0]+a)*255,(r*s[1]+a)*255,(r*s[2]+a)*255]};m.hcg.hsv=function(e){const t=e[1]/100,r=e[2]/100,n=t+r*(1-t);let s=0;return n>0&&(s=t/n),[e[0],s*100,n*100]};m.hcg.hsl=function(e){const t=e[1]/100,n=e[2]/100*(1-t)+.5*t;let s=0;return n>0&&n<.5?s=t/(2*n):n>=.5&&n<1&&(s=t/(2*(1-n))),[e[0],s*100,n*100]};m.hcg.hwb=function(e){const t=e[1]/100,r=e[2]/100,n=t+r*(1-t);return[e[0],(n-t)*100,(1-n)*100]};m.hwb.hcg=function(e){const t=e[1]/100,n=1-e[2]/100,s=n-t;let i=0;return s<1&&(i=(n-s)/(1-s)),[e[0],s*100,i*100]};m.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};m.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};m.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};m.gray.hsl=function(e){return[0,0,e[0]]};m.gray.hsv=m.gray.hsl;m.gray.hwb=function(e){return[0,100,e[0]]};m.gray.cmyk=function(e){return[0,0,0,e[0]]};m.gray.lab=function(e){return[e[0],0,0]};m.gray.hex=function(e){const t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n};m.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};const ce=gt;function Cs(){const e={},t=Object.keys(ce);for(let r=t.length,n=0;n<r;n++)e[t[n]]={distance:-1,parent:null};return e}function Ps(e){const t=Cs(),r=[e];for(t[e].distance=0;r.length;){const n=r.pop(),s=Object.keys(ce[n]);for(let i=s.length,o=0;o<i;o++){const l=s[o],a=t[l];a.distance===-1&&(a.distance=t[n].distance+1,a.parent=n,r.unshift(l))}}return t}function js(e,t){return function(r){return t(e(r))}}function Ds(e,t){const r=[t[e].parent,e];let n=ce[t[e].parent][e],s=t[e].parent;for(;t[s].parent;)r.unshift(t[s].parent),n=js(ce[t[s].parent][s],n),s=t[s].parent;return n.conversion=r,n}var _s=function(e){const t=Ps(e),r={},n=Object.keys(t);for(let s=n.length,i=0;i<s;i++){const o=n[i];t[o].parent!==null&&(r[o]=Ds(o,t))}return r};const we=gt,Fs=_s,B={},Gs=Object.keys(we);function Ms(e){const t=function(...r){const n=r[0];return n==null?n:(n.length>1&&(r=n),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function Xs(e){const t=function(...r){const n=r[0];if(n==null)return n;n.length>1&&(r=n);const s=e(r);if(typeof s=="object")for(let i=s.length,o=0;o<i;o++)s[o]=Math.round(s[o]);return s};return"conversion"in e&&(t.conversion=e.conversion),t}Gs.forEach(e=>{B[e]={},Object.defineProperty(B[e],"channels",{value:we[e].channels}),Object.defineProperty(B[e],"labels",{value:we[e].labels});const t=Fs(e);Object.keys(t).forEach(n=>{const s=t[n];B[e][n]=Xs(s),B[e][n].raw=Ms(s)})});var Us=B;const vt=Ot(Us);function zs(e){return e?new Date(e*1e3).toLocaleString("en-gb",{day:"2-digit",month:"short",year:"numeric"}):"Invalid date"}function Bs(e){return new Date(e).toLocaleString("da-dk",{day:"2-digit",month:"2-digit",year:"2-digit"})}function Ys(e){return new Date(e).toLocaleString("da-dk",{hour:"2-digit",minute:"2-digit",day:"2-digit",month:"short",year:"2-digit"})}function Ws(e){const t=Date.now(),r=60*60*1e3,n=24*r,s=t-e*1e3;if(s<0)return"Unknown time ago";if(s>n){const o=Math.floor(s/n);return`${o} day${o>1?"s":""} ago`}const i=Math.floor(s/r);return i>1?`${i} hours ago`:i===1?"1 hour ago":"<1 hour ago"}const Ks=e=>e[e.length-1],Zs=e=>e.length<=1?[]:e.slice(0,e.length-1),Js=e=>e.length<=1?[]:e.slice(1);function Qs(e){return e.includes("\\")?"\\":"/"}const ei=(e,t)=>[e,encodeURIComponent(t)].join("/"),ti=(e,t)=>{const r=ee.valid(ee.clean(e)),n=ee.valid(ee.clean(t));return!r||!n?r?1:n?-1:e.toLowerCase().localeCompare(t.toLowerCase()):ee.compare(r,n)},st=new Map;function $t(e){const t=Vs(e);return Math.sqrt(Math.pow(t[0],2)*.241+Math.pow(t[1],2)*.691+Math.pow(t[2],2)*.068)}const it=new Map;function Vs(e){const t=it.get(e);if(t)return t;const r=vt.hex.rgb(e);return it.set(e,r),r}const ri=e=>{if(!/^#([0-9A-F]{3}){1,2}$/i.test(e))return"#000000";const t=st.get(e);if(t)return t;const n=$t(e)>186?"#000000":"#ffffff";return st.set(e,n),n},ot=new Map;function ni(e,t,r){const n=`${e}-${t}-${r}`,s=ot.get(n);if(s)return s;const i=`#${vt.hsl.hex([e,t,r])}`;return ot.set(n,i),i}function si(e){return $t(e)/255}const ii=(e=null)=>(e==null?void 0:e.type)==="tree",oi=(e=null)=>(e==null?void 0:e.type)==="blob";function ai({headGroups:e,analyzedHeads:t,disabled:r,className:n="",...s}){const i=Object.entries(e);return Z.jsxs("div",{className:"grid w-full grid-cols-[auto_1fr] place-items-center gap-2",children:[Z.jsx(At.Icon,{path:Tt,size:.75}),Z.jsx("select",{className:`input bg-inherit text-inherit ${n}`,...s,children:i.map(([o,l])=>Object.entries(l).length>0?Z.jsx("optgroup",{label:o,children:Object.entries(l).map(([a,c])=>{const u=t[c];return Z.jsx("option",{value:a,disabled:r,title:u?"Analyzed":"Not analyzed",children:a},a)})},o):null)})]})}export{ai as R,zs as a,ri as b,Ys as c,Bs as d,si as e,Qs as f,ei as g,ni as h,oi as i,Zs as j,ii as k,Ks as l,Js as m,Ws as n,ti as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as B,r as o,j as e,a as C,b as p,F as j,L as u,A as w}from"./components-Bp0wjlbZ.js";import{c as Q,a as m,b as E,I as g,m as N,C as k,d as I,e as b,f as D}from"./styling-CAxJvA60.js";import{g as F,R as y}from"./RevisionSelect-Dw5tN_NP.js";function h({className:s="",hideInitially:n=!0,loadingText:A}){const a=B();o.useEffect(()=>{a.state==="idle"&&a.load("/progress")},[a,a.state]);const c=o.useMemo(()=>{if(!a.data)return"Starting analyzation";const{progress:l,totalCommitCount:t,analyzationStatus:i}=a.data;return!i||i==="Starting"?"Starting analyzation":i==="GeneratingChart"?"Generating chart":"Analyzing commits: "+(l&&t?Math.round(l/t*100):0)+"% done"},[a.data]);return e.jsx("div",{className:Q("grid h-full w-full place-items-center",s),children:e.jsxs("div",{className:m("flex flex-col px-2 py-2",{"animate-hide-initially opacity-0":n}),children:[e.jsx("p",{className:"text-center text-3xl font-bold opacity-70",children:A??c}),e.jsx("img",{src:E,alt:"🚛",className:"w-full min-w-0 max-w-sm self-center"})]})})}const v="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAHuElEQVR4Xu2dsW8cVRCHL30sBEoqQKK1EI3/gasc6oBEQ41k5ILO3VV2eugiRRE9Tf6Ao3FL4QbRWCJCMjVVJEqj5CwB0nt3nt/N7s7sfCmdN2/nfb/5vOuN7TxY8AcChQk8KHx2jg6BBQIwBKUJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4OTwCMAOlCSBA6fg5PAIwA6UJIEDp+Dk8AjADpQkgQOn4ObybAJeXl7fgjEdguVy6ZRzvdPt35AYHAfYPY4gdEGA7VQQYYuoC7YkACBBoHMdvBQEQYPypC3RFBECAQOM4fisIMLEAR0dH46de8IpXV1fNU/cE6L20qCbM4F8EI8A4NiKAxhkBNG7hqhBAiwQBNG7hqhBAiwQBNG7hqhBAiwQBNG7hqhBAiwQBNG7hqqwC3Nz8bfrerdevfzG9ZQoHqNMQAmRJakefCKAFiQAat3BVCKBFggAat3BVCKBFggAat3BVCKBFggAat3BVCKBF4ibAarVqvlU4OzvTOqPKRGBoAXrNZH87hACmMYu7GAG0bBBA4xauCgG0SBBA4xauCgG0SBBA4xauCgG0SBBA4xauCgG0SNwE6P2EET8QowVjrbIK8NXzP03fC2Ttp7f+p5OP3GbOoye3ZhDAIw59DwTQ2CGAxi1cFQJokSCAxi1cFQJokSCAxi1cFQJokSCAxi1cFQJokSCAxi1clZcAv/5wbDrbZ9+tm+t7+/TWT/V2CAFMccddjABaNgigcQtXhQBaJAigcQtXhQBaJAigcQtXhQBaJAigcQtXhQBaJAigcQtXlUWAHrip3g4hQLhR1hpCAI0bAmjcwlUhgBYJAmjcwlUhgBYJAmjcwlUhgBYJAmjcwlUhgBYJAmjcwlVlF2Cqt0MIEG6UtYYQQOOGABq3cFUIoEWCABq3cFUIoEWCABq3cFUIoEWCABq3cFUIoEXiJgC/HVoLwKsKATSSCKBxC1eFAFokCKBxC1eFAFokCKBxC1eFAFokCKBxC1eFAFokCKBxC1eFAFokbgLwy3G1ALyqvAT46+a3ZksffPypV6vNfbyua/39QggwaKzjbY4AG9YIMN7MhboSAiBAqIEcuxkEQICxZy7U9RAAAUIN5NjNIAACjD1zoa5XTYDTw9+b/JfLpenFjmnxtsR5DTqtDwiw4Y8A087hZFdHAASYbPgiXBgBECDCHE7WAwIgwGTDF+HCCBBUgAjDUbmHi4uL5vHf//LH5set35PTW99j3vueIut1X379XvMSBwcHphc7psXKW6DKwxfh7AiwPQUEiDClA/aAAAgw4HjF3xoBECD+lA7YIQIgwIDjFX9rBBhJgNPT01vLOFxfX1uWm9eu1+3/wby30fGx7X9I7+3z4uFDc68eBd+8eWPaxvoWqLf5z88+b/7V4eFh8+MffvG9qU/rT6JN9gMxCLDJFQE2HBBgh+fcAUyfCHcu5g6wQcQd4G5UeATa7gyPQBs+bv8OwCMQj0D/VY5HIB6Bdj62eC7gEWjiR6BemLeLRfPt0JPOW5f1em29KzX3//bkpNnSo8ePmx8/Pz/vHcHaT3OfP54+Nb0ls8rxyatXLn1uuW4KzlZuQ0N7O/0IsFgsEGAzmkN/okGAOwLcAayjsHM9d4CdiBoLuANsoHAH4A7wPz34GkD5dNKv4WsAjSdfA9xxG/rZlDtA0TuA5qWpqvlsulqtTJsMLYCpmZiLZ8l58DvACFnOMpgRuFkvMUvOCDDSI5B12gKuR4CAobxtaZbBBGQ9S87cAbgD3Nc1BLgvqZHXzTKYkRne53Kz5DyHO0AvPOv33syZxX0GXF2TmvOcQ08djDqNE9Sl5owA/07MnFkM6QUCDEl3j71TB7PHuccuTc15zp/1Ugcz9hTvcb3UnBGAR6A9Zv9dKQLsS5B6CExFYM53gKmYct1EBBAgUVi06k8AAfyZsmMiAgiQKCxa9SeAAP5M2TERAQRIFBat+hNAAH+m7JiIAAIkCotW/QkggD9TdkxEAAEShUWr/gQQwJ8pOyYigACJwqJVfwII4M+UHRMRQIBEYdGqPwEE8GfKjokIIECisGjVnwAC+DNlx0QEECBRWLTqTwAB/JmyYyICCJAoLFr1J4AA/kzZMREBBEgUFq36E0AAf6bsmIgAAiQKi1b9CSCAP1N2TEQAARKFRav+BBDAnyk7JiKAAInColV/Agjgz5QdExFAgERh0ao/AQTwZ8qOiQggQKKwaNWfAAL4M2XHRAQQIFFYtOpPAAH8mbJjIgIIkCgsWvUngAD+TNkxEQEESBQWrfoTQAB/puyYiAACJAqLVv0JIIA/U3ZMRAABEoVFq/4EEMCfKTsmIoAAicKiVX8CCODPlB0TEUCARGHRqj8BBPBnyo6JCPwDAEEjDFGnv/IAAAAASUVORK5CYIIA";function G(){var t,i;const{baseDir:s,repos:n,parentDir:A,...a}=C(),c=p(),l=B();return c.state!=="idle"?e.jsx("div",{className:"grid h-screen place-items-center",children:e.jsx(h,{})}):e.jsxs("main",{className:"m-auto flex min-h-screen w-full max-w-2xl flex-col gap-2 p-2",children:[e.jsxs("div",{className:"card",children:[e.jsxs("h1",{className:"flex items-center text-4xl",children:[e.jsx("img",{src:v,alt:"Git Truck",className:"mr-2 inline-block h-12"}),"Git Truck"]}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsxs("p",{children:["Found ",n.length," folder",n.length===1?"":"s"]}),e.jsxs("div",{className:"hidden w-full gap-2",children:[e.jsxs(j,{method:"get",className:"flex grow gap-1",children:[!((t=l.data)!=null&&t.ok)&&((i=l.data)!=null&&i.message)?e.jsx("p",{className:"text-red-500",children:l.data.message}):null,e.jsx("input",{className:"input",name:"path",defaultValue:s,required:!0,onKeyUp:r=>{var d;r.key==="Enter"&&(r.preventDefault(),(d=r.currentTarget.form)==null||d.submit())}},s),e.jsx("button",{className:"btn btn--primary",children:"Browse"})]}),e.jsx(u,{className:"btn btn--primary",to:`/?${new URLSearchParams({path:A}).toString()}`,prefetch:"intent",children:e.jsx(g,{path:N,size:1,className:"inline-block"})})]})]})]}),n.length>0?e.jsxs(T,{children:[e.jsx("div",{className:"opacity-80",children:"Folder"}),e.jsx("div",{className:"opacity-80",children:"Status"}),e.jsx("div",{className:"col-span-2 opacity-80",children:"Actions"}),n.map((r,d)=>e.jsx(o.Suspense,{fallback:e.jsx(f,{repo:{...r,parentDirPath:s,status:"Loading"}}),children:e.jsx(w,{resolve:a[`_${r}`],children:x=>x!==null?e.jsx(f,{repo:x}):null})},n[d].name))]}):e.jsx("div",{className:"card w-full place-items-center",children:e.jsx(h,{loadingText:"This looks empty... Try another folder",hideInitially:!1})})]})}function T({children:s}){return s.length===0?e.jsx(e.Fragment,{children:e.jsxs("p",{children:["Try running ",e.jsx(k,{inline:!0,children:"git-truck"})," in another folder or provide another path as argument."]})}):e.jsx("div",{className:"card row-start-auto grid w-full grid-flow-row grid-cols-[1fr,1fr,1fr,auto] flex-wrap items-center gap-2",children:s})}function f({repo:s}){const n=s.status==="Success",A=s.status==="Error",[a,c]=o.useState(n?s.currentHead:null),l=a?F(s.name,a):null,t=s.status==="Error"&&s.errorMessage==="Not a git repository",i=s.status==="Success"&&a!==null?s.analyzedHeads[a]:!1;return e.jsxs(o.Fragment,{children:[e.jsxs("h2",{className:"card__title flex justify-start gap-2",title:s.path,children:[A?t?e.jsx(g,{path:b,size:1,className:"inline-block flex-shrink-0",title:"Folder"}):e.jsx(g,{path:D,size:1,className:"inline-block flex-shrink-0",title:"Error"}):e.jsx(g,{path:I,size:1,className:"inline-block flex-shrink-0",title:"Git repository"}),e.jsx("span",{className:"truncate text-left",children:s.name})]}),e.jsxs("div",{className:"flex place-items-center gap-1",children:[t?e.jsx("div",{}):e.jsx("div",{className:m("aspect-square h-2 rounded-full",{"bg-gradient-to-bl from-green-500 to-green-600":s.status==="Success"&&i,"bg-gradient-to-bl from-red-500 to-red-600":s.status==="Error","animate-pulse bg-gradient-to-bl from-yellow-500 to-yellow-600":s.status==="Loading","bg-gradient-to-bl from-gray-500 to-gray-400":s.status==="Success"&&!i})}),t?e.jsx("div",{className:"grow"}):e.jsx("span",{"data-testid":`status-${s.name}`,className:m("w-full min-w-max select-none rounded-full bg-transparent px-2 py-1.5 text-xs font-bold uppercase leading-none tracking-widest text-inherit transition-colors duration-200"),children:s.status==="Success"?i?"Analyzed":"Not analyzed":s.status})]}),e.jsx("div",{className:"flex place-items-center gap-1",children:n?e.jsx(y,{className:"input--hover-border","data-testid":`revision-select-${s.name}`,value:a??"",onChange:r=>c(r.target.value),headGroups:s.refs,analyzedHeads:s.analyzedHeads}):A&&!t?e.jsx("div",{className:"grow truncate",title:s.errorMessage,children:s.errorMessage??"Unknown error"}):e.jsx("div",{className:"grow"})}),t?e.jsx(u,{className:"btn btn--primary",to:`/?${new URLSearchParams({path:s.path}).toString()}`,prefetch:"intent",children:"Browse"}):e.jsx(u,{className:"btn btn--primary btn--outlined transition-colors",title:`View ${s.name}`,"aria-disabled":s.status==="Error"||s.status==="Loading",to:l??"",prefetch:"intent",children:"View"}),e.jsx("hr",{className:"col-span-full last:hidden"})]},s.name)}export{G as default};
|