refyard 0.1.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 +68 -0
- package/bin/refyard.mjs +3 -0
- package/dist/build-info.json +12 -0
- package/dist/cli.mjs +35202 -0
- package/package.json +19 -0
- package/web/200.html +68 -0
- package/web/200.html.br +0 -0
- package/web/200.html.gz +0 -0
- package/web/_app/immutable/assets/0.BR25fKiu.css +2 -0
- package/web/_app/immutable/assets/0.BR25fKiu.css.br +0 -0
- package/web/_app/immutable/assets/0.BR25fKiu.css.gz +0 -0
- package/web/_app/immutable/assets/0.Bi1Rt_8R.css +2 -0
- package/web/_app/immutable/assets/0.Bi1Rt_8R.css.br +0 -0
- package/web/_app/immutable/assets/0.Bi1Rt_8R.css.gz +0 -0
- package/web/_app/immutable/assets/0.BnGguWko.css +2 -0
- package/web/_app/immutable/assets/0.BnGguWko.css.br +0 -0
- package/web/_app/immutable/assets/0.BnGguWko.css.gz +0 -0
- package/web/_app/immutable/assets/0.HjGL8PN4.css +2 -0
- package/web/_app/immutable/assets/0.HjGL8PN4.css.br +0 -0
- package/web/_app/immutable/assets/0.HjGL8PN4.css.gz +0 -0
- package/web/_app/immutable/chunks/B6IhHwpx.js +9 -0
- package/web/_app/immutable/chunks/B6IhHwpx.js.br +0 -0
- package/web/_app/immutable/chunks/B6IhHwpx.js.gz +0 -0
- package/web/_app/immutable/chunks/BHE-zqAh.js +3 -0
- package/web/_app/immutable/chunks/BHE-zqAh.js.br +0 -0
- package/web/_app/immutable/chunks/BHE-zqAh.js.gz +0 -0
- package/web/_app/immutable/chunks/BO3YXcks.js +9 -0
- package/web/_app/immutable/chunks/BO3YXcks.js.br +0 -0
- package/web/_app/immutable/chunks/BO3YXcks.js.gz +0 -0
- package/web/_app/immutable/chunks/BWSABaP6.js +1 -0
- package/web/_app/immutable/chunks/BWSABaP6.js.br +2 -0
- package/web/_app/immutable/chunks/BWSABaP6.js.gz +0 -0
- package/web/_app/immutable/chunks/Bjy-W4x2.js +81 -0
- package/web/_app/immutable/chunks/Bjy-W4x2.js.br +0 -0
- package/web/_app/immutable/chunks/Bjy-W4x2.js.gz +0 -0
- package/web/_app/immutable/chunks/C9brEZY-.js +1 -0
- package/web/_app/immutable/chunks/C9brEZY-.js.br +0 -0
- package/web/_app/immutable/chunks/C9brEZY-.js.gz +0 -0
- package/web/_app/immutable/chunks/CRo29nwv.js +1 -0
- package/web/_app/immutable/chunks/CRo29nwv.js.br +0 -0
- package/web/_app/immutable/chunks/CRo29nwv.js.gz +0 -0
- package/web/_app/immutable/chunks/D4ZE_w5G.js +1 -0
- package/web/_app/immutable/chunks/D4ZE_w5G.js.br +2 -0
- package/web/_app/immutable/chunks/D4ZE_w5G.js.gz +0 -0
- package/web/_app/immutable/chunks/D7u_fFb3.js +1 -0
- package/web/_app/immutable/chunks/D7u_fFb3.js.br +0 -0
- package/web/_app/immutable/chunks/D7u_fFb3.js.gz +0 -0
- package/web/_app/immutable/chunks/DCwknGt_.js +1 -0
- package/web/_app/immutable/chunks/DCwknGt_.js.br +0 -0
- package/web/_app/immutable/chunks/DCwknGt_.js.gz +0 -0
- package/web/_app/immutable/chunks/DREfnWsX.js +3 -0
- package/web/_app/immutable/chunks/DREfnWsX.js.br +0 -0
- package/web/_app/immutable/chunks/DREfnWsX.js.gz +0 -0
- package/web/_app/immutable/chunks/DVxI7FjX.js +1 -0
- package/web/_app/immutable/chunks/DVxI7FjX.js.br +0 -0
- package/web/_app/immutable/chunks/DVxI7FjX.js.gz +0 -0
- package/web/_app/immutable/chunks/hjSwzK9h.js +1 -0
- package/web/_app/immutable/chunks/hjSwzK9h.js.br +0 -0
- package/web/_app/immutable/chunks/hjSwzK9h.js.gz +0 -0
- package/web/_app/immutable/chunks/w7h4XsZJ.js +1 -0
- package/web/_app/immutable/chunks/w7h4XsZJ.js.br +0 -0
- package/web/_app/immutable/chunks/w7h4XsZJ.js.gz +0 -0
- package/web/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/web/_app/immutable/chunks/xihTtKlq.js.br +1 -0
- package/web/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
- package/web/_app/immutable/chunks/zP3xFRQe.js +1 -0
- package/web/_app/immutable/chunks/zP3xFRQe.js.br +0 -0
- package/web/_app/immutable/chunks/zP3xFRQe.js.gz +0 -0
- package/web/_app/immutable/entry/app.3dW0aZ0C.js +2 -0
- package/web/_app/immutable/entry/app.3dW0aZ0C.js.br +0 -0
- package/web/_app/immutable/entry/app.3dW0aZ0C.js.gz +0 -0
- package/web/_app/immutable/entry/app.9AAnS-yI.js +2 -0
- package/web/_app/immutable/entry/app.9AAnS-yI.js.br +0 -0
- package/web/_app/immutable/entry/app.9AAnS-yI.js.gz +0 -0
- package/web/_app/immutable/entry/app.ANGXLFom.js +2 -0
- package/web/_app/immutable/entry/app.ANGXLFom.js.br +0 -0
- package/web/_app/immutable/entry/app.ANGXLFom.js.gz +0 -0
- package/web/_app/immutable/entry/app.BKNmmlfE.js +2 -0
- package/web/_app/immutable/entry/app.BKNmmlfE.js.br +0 -0
- package/web/_app/immutable/entry/app.BKNmmlfE.js.gz +0 -0
- package/web/_app/immutable/entry/app.BpTzfcQ0.js +2 -0
- package/web/_app/immutable/entry/app.BpTzfcQ0.js.br +0 -0
- package/web/_app/immutable/entry/app.BpTzfcQ0.js.gz +0 -0
- package/web/_app/immutable/entry/app.DtLHzw3z.js +2 -0
- package/web/_app/immutable/entry/app.DtLHzw3z.js.br +0 -0
- package/web/_app/immutable/entry/app.DtLHzw3z.js.gz +0 -0
- package/web/_app/immutable/entry/app.JdGZOJP9.js +2 -0
- package/web/_app/immutable/entry/app.JdGZOJP9.js.br +0 -0
- package/web/_app/immutable/entry/app.JdGZOJP9.js.gz +0 -0
- package/web/_app/immutable/entry/app.Y2xfcThE.js +2 -0
- package/web/_app/immutable/entry/app.Y2xfcThE.js.br +0 -0
- package/web/_app/immutable/entry/app.Y2xfcThE.js.gz +0 -0
- package/web/_app/immutable/entry/start.1MYCJ1tF.js +1 -0
- package/web/_app/immutable/entry/start.1MYCJ1tF.js.br +0 -0
- package/web/_app/immutable/entry/start.1MYCJ1tF.js.gz +0 -0
- package/web/_app/immutable/entry/start.BVXsRwK_.js +1 -0
- package/web/_app/immutable/entry/start.BVXsRwK_.js.br +0 -0
- package/web/_app/immutable/entry/start.BVXsRwK_.js.gz +0 -0
- package/web/_app/immutable/entry/start.Ba5Uc8eb.js +1 -0
- package/web/_app/immutable/entry/start.Ba5Uc8eb.js.br +0 -0
- package/web/_app/immutable/entry/start.Ba5Uc8eb.js.gz +0 -0
- package/web/_app/immutable/entry/start.C4d7oVbO.js +1 -0
- package/web/_app/immutable/entry/start.C4d7oVbO.js.br +0 -0
- package/web/_app/immutable/entry/start.C4d7oVbO.js.gz +0 -0
- package/web/_app/immutable/entry/start.C9fvD1Aa.js +1 -0
- package/web/_app/immutable/entry/start.C9fvD1Aa.js.br +0 -0
- package/web/_app/immutable/entry/start.C9fvD1Aa.js.gz +0 -0
- package/web/_app/immutable/entry/start.CBdKJ8OJ.js +1 -0
- package/web/_app/immutable/entry/start.CBdKJ8OJ.js.br +0 -0
- package/web/_app/immutable/entry/start.CBdKJ8OJ.js.gz +0 -0
- package/web/_app/immutable/entry/start.CGqxdIky.js +1 -0
- package/web/_app/immutable/entry/start.CGqxdIky.js.br +1 -0
- package/web/_app/immutable/entry/start.CGqxdIky.js.gz +0 -0
- package/web/_app/immutable/entry/start.DCAnDkJ4.js +1 -0
- package/web/_app/immutable/entry/start.DCAnDkJ4.js.br +1 -0
- package/web/_app/immutable/entry/start.DCAnDkJ4.js.gz +0 -0
- package/web/_app/immutable/nodes/0.BCmcuSUd.js +1 -0
- package/web/_app/immutable/nodes/0.BCmcuSUd.js.br +0 -0
- package/web/_app/immutable/nodes/0.BCmcuSUd.js.gz +0 -0
- package/web/_app/immutable/nodes/0.BmeajISn.js +1 -0
- package/web/_app/immutable/nodes/0.BmeajISn.js.br +0 -0
- package/web/_app/immutable/nodes/0.BmeajISn.js.gz +0 -0
- package/web/_app/immutable/nodes/0.CEWfXkRu.js +1 -0
- package/web/_app/immutable/nodes/0.CEWfXkRu.js.br +0 -0
- package/web/_app/immutable/nodes/0.CEWfXkRu.js.gz +0 -0
- package/web/_app/immutable/nodes/0.CXcGyd5i.js +1 -0
- package/web/_app/immutable/nodes/0.CXcGyd5i.js.br +0 -0
- package/web/_app/immutable/nodes/0.CXcGyd5i.js.gz +0 -0
- package/web/_app/immutable/nodes/1.4qcY1DUg.js +1 -0
- package/web/_app/immutable/nodes/1.4qcY1DUg.js.br +0 -0
- package/web/_app/immutable/nodes/1.4qcY1DUg.js.gz +0 -0
- package/web/_app/immutable/nodes/1.B7Jv5SBo.js +1 -0
- package/web/_app/immutable/nodes/1.B7Jv5SBo.js.br +0 -0
- package/web/_app/immutable/nodes/1.B7Jv5SBo.js.gz +0 -0
- package/web/_app/immutable/nodes/1.BCMVGOd6.js +1 -0
- package/web/_app/immutable/nodes/1.BCMVGOd6.js.br +0 -0
- package/web/_app/immutable/nodes/1.BCMVGOd6.js.gz +0 -0
- package/web/_app/immutable/nodes/1.BDxkv2-K.js +1 -0
- package/web/_app/immutable/nodes/1.BDxkv2-K.js.br +0 -0
- package/web/_app/immutable/nodes/1.BDxkv2-K.js.gz +0 -0
- package/web/_app/immutable/nodes/1.BQCwMtd1.js +1 -0
- package/web/_app/immutable/nodes/1.BQCwMtd1.js.br +0 -0
- package/web/_app/immutable/nodes/1.BQCwMtd1.js.gz +0 -0
- package/web/_app/immutable/nodes/1.BxDYsu6O.js +1 -0
- package/web/_app/immutable/nodes/1.BxDYsu6O.js.br +0 -0
- package/web/_app/immutable/nodes/1.BxDYsu6O.js.gz +0 -0
- package/web/_app/immutable/nodes/1.C0St-5Zi.js +1 -0
- package/web/_app/immutable/nodes/1.C0St-5Zi.js.br +0 -0
- package/web/_app/immutable/nodes/1.C0St-5Zi.js.gz +0 -0
- package/web/_app/immutable/nodes/1.GyfleLtG.js +1 -0
- package/web/_app/immutable/nodes/1.GyfleLtG.js.br +0 -0
- package/web/_app/immutable/nodes/1.GyfleLtG.js.gz +0 -0
- package/web/_app/immutable/nodes/2.CuBCKUhI.js +85 -0
- package/web/_app/immutable/nodes/2.CuBCKUhI.js.br +0 -0
- package/web/_app/immutable/nodes/2.CuBCKUhI.js.gz +0 -0
- package/web/_app/immutable/nodes/2.DPbUW6ig.js +84 -0
- package/web/_app/immutable/nodes/2.DPbUW6ig.js.br +0 -0
- package/web/_app/immutable/nodes/2.DPbUW6ig.js.gz +0 -0
- package/web/_app/immutable/nodes/2.D_qyhBWp.js +84 -0
- package/web/_app/immutable/nodes/2.D_qyhBWp.js.br +0 -0
- package/web/_app/immutable/nodes/2.D_qyhBWp.js.gz +0 -0
- package/web/_app/immutable/nodes/2.DkQYWKMk.js +84 -0
- package/web/_app/immutable/nodes/2.DkQYWKMk.js.br +0 -0
- package/web/_app/immutable/nodes/2.DkQYWKMk.js.gz +0 -0
- package/web/_app/version.json +1 -0
- package/web/_app/version.json.br +0 -0
- package/web/_app/version.json.gz +0 -0
- package/web/backgrounds/aurora.svg +71 -0
- package/web/backgrounds/aurora.svg.br +0 -0
- package/web/backgrounds/aurora.svg.gz +0 -0
- package/web/backgrounds/mountain-mist.svg +101 -0
- package/web/backgrounds/mountain-mist.svg.br +0 -0
- package/web/backgrounds/mountain-mist.svg.gz +0 -0
- package/web/favicon.svg +93 -0
- package/web/favicon.svg.br +0 -0
- package/web/favicon.svg.gz +0 -0
- package/web/index.html +69 -0
- package/web/index.html.br +0 -0
- package/web/index.html.gz +0 -0
- package/web/manifest.webmanifest +17 -0
- package/web/refyard-app-icon.svg +103 -0
- package/web/refyard-app-icon.svg.br +0 -0
- package/web/refyard-app-icon.svg.gz +0 -0
- package/web/refyard-logo.svg +103 -0
- package/web/refyard-logo.svg.br +0 -0
- package/web/refyard-logo.svg.gz +0 -0
- package/web/refyard-mark.svg +93 -0
- package/web/refyard-mark.svg.br +0 -0
- package/web/refyard-mark.svg.gz +0 -0
- package/web/service-worker.js +1 -0
- package/web/service-worker.js.br +0 -0
- package/web/service-worker.js.gz +0 -0
- package/web/web-hidden/200.html +68 -0
- package/web/web-hidden/200.html.br +0 -0
- package/web/web-hidden/200.html.gz +0 -0
- package/web/web-hidden/_app/immutable/assets/0.BR25fKiu.css +2 -0
- package/web/web-hidden/_app/immutable/assets/0.BR25fKiu.css.br +0 -0
- package/web/web-hidden/_app/immutable/assets/0.BR25fKiu.css.gz +0 -0
- package/web/web-hidden/_app/immutable/chunks/B6IhHwpx.js +9 -0
- package/web/web-hidden/_app/immutable/chunks/B6IhHwpx.js.br +0 -0
- package/web/web-hidden/_app/immutable/chunks/B6IhHwpx.js.gz +0 -0
- package/web/web-hidden/_app/immutable/chunks/BHE-zqAh.js +3 -0
- package/web/web-hidden/_app/immutable/chunks/BHE-zqAh.js.br +0 -0
- package/web/web-hidden/_app/immutable/chunks/BHE-zqAh.js.gz +0 -0
- package/web/web-hidden/_app/immutable/chunks/BWSABaP6.js +1 -0
- package/web/web-hidden/_app/immutable/chunks/BWSABaP6.js.br +2 -0
- package/web/web-hidden/_app/immutable/chunks/BWSABaP6.js.gz +0 -0
- package/web/web-hidden/_app/immutable/chunks/Bjy-W4x2.js +81 -0
- package/web/web-hidden/_app/immutable/chunks/Bjy-W4x2.js.br +0 -0
- package/web/web-hidden/_app/immutable/chunks/Bjy-W4x2.js.gz +0 -0
- package/web/web-hidden/_app/immutable/chunks/DCwknGt_.js +1 -0
- package/web/web-hidden/_app/immutable/chunks/DCwknGt_.js.br +0 -0
- package/web/web-hidden/_app/immutable/chunks/DCwknGt_.js.gz +0 -0
- package/web/web-hidden/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/web/web-hidden/_app/immutable/chunks/xihTtKlq.js.br +1 -0
- package/web/web-hidden/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
- package/web/web-hidden/_app/immutable/entry/app.3dW0aZ0C.js +2 -0
- package/web/web-hidden/_app/immutable/entry/app.3dW0aZ0C.js.br +0 -0
- package/web/web-hidden/_app/immutable/entry/app.3dW0aZ0C.js.gz +0 -0
- package/web/web-hidden/_app/immutable/entry/start.1MYCJ1tF.js +1 -0
- package/web/web-hidden/_app/immutable/entry/start.1MYCJ1tF.js.br +0 -0
- package/web/web-hidden/_app/immutable/entry/start.1MYCJ1tF.js.gz +0 -0
- package/web/web-hidden/_app/immutable/nodes/0.CXcGyd5i.js +1 -0
- package/web/web-hidden/_app/immutable/nodes/0.CXcGyd5i.js.br +0 -0
- package/web/web-hidden/_app/immutable/nodes/0.CXcGyd5i.js.gz +0 -0
- package/web/web-hidden/_app/immutable/nodes/1.BDxkv2-K.js +1 -0
- package/web/web-hidden/_app/immutable/nodes/1.BDxkv2-K.js.br +0 -0
- package/web/web-hidden/_app/immutable/nodes/1.BDxkv2-K.js.gz +0 -0
- package/web/web-hidden/_app/immutable/nodes/2.DkQYWKMk.js +84 -0
- package/web/web-hidden/_app/immutable/nodes/2.DkQYWKMk.js.br +0 -0
- package/web/web-hidden/_app/immutable/nodes/2.DkQYWKMk.js.gz +0 -0
- package/web/web-hidden/_app/version.json +1 -0
- package/web/web-hidden/_app/version.json.br +0 -0
- package/web/web-hidden/_app/version.json.gz +0 -0
- package/web/web-hidden/backgrounds/aurora.svg +71 -0
- package/web/web-hidden/backgrounds/aurora.svg.br +0 -0
- package/web/web-hidden/backgrounds/aurora.svg.gz +0 -0
- package/web/web-hidden/backgrounds/mountain-mist.svg +101 -0
- package/web/web-hidden/backgrounds/mountain-mist.svg.br +0 -0
- package/web/web-hidden/backgrounds/mountain-mist.svg.gz +0 -0
- package/web/web-hidden/favicon.svg +93 -0
- package/web/web-hidden/favicon.svg.br +0 -0
- package/web/web-hidden/favicon.svg.gz +0 -0
- package/web/web-hidden/index.html +69 -0
- package/web/web-hidden/index.html.br +0 -0
- package/web/web-hidden/index.html.gz +0 -0
- package/web/web-hidden/manifest.webmanifest +17 -0
- package/web/web-hidden/refyard-app-icon.svg +103 -0
- package/web/web-hidden/refyard-app-icon.svg.br +0 -0
- package/web/web-hidden/refyard-app-icon.svg.gz +0 -0
- package/web/web-hidden/refyard-logo.svg +103 -0
- package/web/web-hidden/refyard-logo.svg.br +0 -0
- package/web/web-hidden/refyard-logo.svg.gz +0 -0
- package/web/web-hidden/refyard-mark.svg +93 -0
- package/web/web-hidden/refyard-mark.svg.br +0 -0
- package/web/web-hidden/refyard-mark.svg.gz +0 -0
- package/web/web-hidden/service-worker.js +1 -0
- package/web/web-hidden/service-worker.js.br +0 -0
- package/web/web-hidden/service-worker.js.gz +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# refyard
|
|
2
|
+
|
|
3
|
+
A browser workbench for a Git repository **on this machine**. It starts a local service that
|
|
4
|
+
serves a web UI and talks to the `git` you already have, against repositories you explicitly
|
|
5
|
+
approve. Nothing is uploaded, and there is no hosted component.
|
|
6
|
+
|
|
7
|
+
## Requirements
|
|
8
|
+
|
|
9
|
+
- **Node 22 or newer** (`engines`: `>=22 <27`). Development and releases run on 26.8.2. The
|
|
10
|
+
packaged CLI serves, pairs, reads, previews and stages correctly under 22.11.0, 22.23.2,
|
|
11
|
+
24.10.0, 25.2.1 and 26.8.2 — and under 20.19.0 as well, which the range leaves out only
|
|
12
|
+
because Node 20 is past end of life.
|
|
13
|
+
- **git 2.43 or newer** for the full operation set. Older Git still works for most of it:
|
|
14
|
+
`refyard doctor --json` reports `featureVersionSupported` and lists which probes your Git
|
|
15
|
+
supports, and the service then omits the operations it cannot run instead of failing later.
|
|
16
|
+
- macOS, Linux or Windows.
|
|
17
|
+
|
|
18
|
+
## Run it
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
# Open a repository in the browser (picks the default port, opens the page for you).
|
|
22
|
+
npx refyard open /path/to/repo
|
|
23
|
+
|
|
24
|
+
# Or start it without opening a browser and print a pairing URL yourself.
|
|
25
|
+
npx refyard serve --repo /path/to/repo --no-open --ticket-ttl 600
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The first run prints a **pairing URL** — open it to connect the page to the service. Each ticket is
|
|
29
|
+
single use; `serve` can print another (press `p` then Enter) and `--ticket-ttl` extends how long one
|
|
30
|
+
lives (60 seconds by default).
|
|
31
|
+
|
|
32
|
+
Installed globally, the command is just `refyard`:
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
npm install --global refyard
|
|
36
|
+
refyard open /path/to/repo
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Check the installation with:
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
refyard doctor --json # node, git, and one probe per Git feature the service gates on
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## How it behaves
|
|
46
|
+
|
|
47
|
+
- **Loopback only.** The service binds `127.0.0.1` and refuses foreign `Origin`/`Host` headers.
|
|
48
|
+
There is no flag that widens this.
|
|
49
|
+
- **Everything is authenticated**, reads included. Pairing exchanges a single-use ticket for an
|
|
50
|
+
in-memory bearer token that never touches disk.
|
|
51
|
+
- **It runs your `git`, as you.** Hooks, filters, credential helpers and your SSH configuration all
|
|
52
|
+
apply. Destructive operations (discard, worktree removal, stash drop/pop, branch delete) ask for
|
|
53
|
+
confirmation, back up what could be lost first, and refuse to run when a precondition cannot be
|
|
54
|
+
verified.
|
|
55
|
+
- **Repositories are approved explicitly.** The service can only reach directories you handed it.
|
|
56
|
+
- **Unknown is reported as unknown.** If Git's outcome cannot be determined, the operation is
|
|
57
|
+
reported as needing attention rather than as succeeded, and it is never retried automatically.
|
|
58
|
+
|
|
59
|
+
## What it does not do
|
|
60
|
+
|
|
61
|
+
No hosted or remote service, no built-in terminal, no plugin host, no credential storage. The
|
|
62
|
+
complete set of operations this build implements is whatever `GET /api/v1/capabilities` returns
|
|
63
|
+
from your installation — anything absent from that list is not implemented, not hidden.
|
|
64
|
+
|
|
65
|
+
## License
|
|
66
|
+
|
|
67
|
+
`UNLICENSED` — this package is proprietary. Publishing it here makes it **installable**, not
|
|
68
|
+
usable: no license is granted to use, copy, modify or redistribute it. See the package metadata.
|
package/bin/refyard.mjs
ADDED