From c646a2486d9d179c83279f2e80652121efdf0d0c Mon Sep 17 00:00:00 2001 From: Aidan Bleser Date: Wed, 7 May 2025 13:23:18 -0500 Subject: [PATCH 1/4] sh*t that doesn't matter that I spent too much time on --- src/lib/docs/map.ts | 2 +- src/lib/docs/registry/providers/jsrepo.md | 66 +++++++++++++---------- src/routes/+page.svelte | 28 ++++++++-- 3 files changed, 61 insertions(+), 35 deletions(-) diff --git a/src/lib/docs/map.ts b/src/lib/docs/map.ts index a261311..dc09b82 100644 --- a/src/lib/docs/map.ts +++ b/src/lib/docs/map.ts @@ -86,7 +86,7 @@ const tempMap: Record = { slug: 'providers', children: [ { - title: 'jsrepo', + title: 'jsrepo.com', slug: 'jsrepo', tag: 'New' }, diff --git a/src/lib/docs/registry/providers/jsrepo.md b/src/lib/docs/registry/providers/jsrepo.md index e0bd3ad..ffd7112 100644 --- a/src/lib/docs/registry/providers/jsrepo.md +++ b/src/lib/docs/registry/providers/jsrepo.md @@ -1,38 +1,16 @@ --- title: jsrepo.com -description: How to publish and serve your registry on jsrepo.com. -lastUpdated: 4-28-2025 +description: How to publish your registry to jsrepo.com. +lastUpdated: 5-7-2025 --- -[jsrepo.com](https://jsrepo.com) is the best way to host your registry. It has first class support for semantic versioning and private registries so that you can worry less about hosting and more about shipping. +[jsrepo.com](https://jsrepo.com) is the best way to host your registry. Here's a few of the key advantages over other providers: -## semver +- 🔒 First class support for private registries with the `jsrepo auth` command +- 🔄 [semver](https://semver.org/) support +- 💨 Improved performance -One of the greatest benefits of hosting your registry on **jsrepo.com** is first class support for [semver](https://semver.org/) (Semantic Versioning). - -While using a git provider with tags is a fine solution for basic versioning needs it's far less secure because tags are mutable. - -With **jsrepo.com** versions are immutable, meaning they will forever point to the same version of the code that you originally specified. - -Versions can be specified for a **jsrepo.com** registry with the same syntax you might see on npm or jsr: - -```sh -jsrepo init @ieedan/std@0.0.1 -``` - -**jsrepo** (like npm or jsr) will tag your releases. For instance the latest (non pre-release) version of a registry will be tagged with the `latest` tag. And the latest version of a pre-release will be tagged using it's pre-release label, for instance `1.0.0-next.1` would be tagged with `next`. - -You specify a tagged version with the same syntax: - -```sh -jsrepo init @ieedan/std@latest -``` - -## Private registries - -**jsrepo.com** also has first class support for private registries. It's easier than ever to share code with your entire team using **jsrepo.com**. - -Once you have invited your team to an organization on **jsrepo.com** they will be able to access any public or private registries in the scopes owned by that organization with their own PAT. +> jsrepo.com is forever free for public registries ## Publishing to jsrepo.com @@ -216,3 +194,33 @@ jobs: ``` Now you can use changesets with `jsrepo` just like with an npm package! + +## Advantages + +### semver + +One of the greatest benefits of hosting your registry on **jsrepo.com** is first class support for [semver](https://semver.org/) (Semantic Versioning). + +While using a git provider with tags is a fine solution for basic versioning needs it's far less secure because tags are mutable. + +With **jsrepo.com** versions are immutable, meaning they will forever point to the same version of the code that you originally specified. + +Versions can be specified for a **jsrepo.com** registry with the same syntax you might see on npm or jsr: + +```sh +jsrepo init @ieedan/std@0.0.1 +``` + +**jsrepo** (like npm or jsr) will tag your releases. For instance the latest (non pre-release) version of a registry will be tagged with the `latest` tag. And the latest version of a pre-release will be tagged using it's pre-release label, for instance `1.0.0-next.1` would be tagged with `next`. + +You specify a tagged version with the same syntax: + +```sh +jsrepo init @ieedan/std@latest +``` + +### Private registries + +**jsrepo.com** also has first class support for private registries. It's easier than ever to share code with your entire team using **jsrepo.com**. + +Once you have invited your team to an organization on **jsrepo.com** they will be able to access any public or private registries in the scopes owned by that organization with their own PAT. diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index d0c4b8a..e5dbbb8 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -4,6 +4,7 @@ import * as Icons from '$lib/components/icons'; import * as Terminal from '$lib/components/ui/terminal'; import { Window } from '$lib/components/ui/window'; + import { ArrowRight } from '@lucide/svelte'; @@ -17,11 +18,28 @@
-

Maintainable source registries

-

- jsrepo provides a rich set of features to make distributing and consuming code from source - registries maintainable. -

+
+ + 🚀 + | + Introducing jsrepo.com + + + + +
+

Maintainable source registries

+

+ jsrepo provides a rich set of features to make distributing and consuming code from + source registries maintainable. +

+
+
From 250440d7313010de7a1f3352df869a171469be2c Mon Sep 17 00:00:00 2001 From: Aidan Bleser Date: Wed, 7 May 2025 13:27:22 -0500 Subject: [PATCH 2/4] more --- src/lib/components/site/footer.svelte | 4 ++++ src/lib/components/ui/pm-command/pm-command.svelte | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/components/site/footer.svelte b/src/lib/components/site/footer.svelte index 1329fba..ced802f 100644 --- a/src/lib/components/site/footer.svelte +++ b/src/lib/components/site/footer.svelte @@ -22,6 +22,10 @@ title: 'Demos', href: '/demos' }, + { + title: 'jsrepo.com', + href: 'https://jsrepo.com' + }, { title: 'GitHub', href: 'https://github.com/jsrepojs/jsrepo' diff --git a/src/lib/components/ui/pm-command/pm-command.svelte b/src/lib/components/ui/pm-command/pm-command.svelte index 8267aec..97c1a23 100644 --- a/src/lib/components/ui/pm-command/pm-command.svelte +++ b/src/lib/components/ui/pm-command/pm-command.svelte @@ -32,7 +32,7 @@ }; let { - variant, + variant = 'default', class: className, command, agents = ['npm', 'pnpm', 'yarn', 'bun'], From 76fbb4cfd40889e0d623dcfd81a090b59f12ceb0 Mon Sep 17 00:00:00 2001 From: Aidan Bleser Date: Wed, 7 May 2025 13:31:32 -0500 Subject: [PATCH 3/4] more links --- src/lib/components/site/docs/nav-menu.svelte | 1 + src/lib/components/site/header.svelte | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/components/site/docs/nav-menu.svelte b/src/lib/components/site/docs/nav-menu.svelte index 92435ad..fd0c8c9 100644 --- a/src/lib/components/site/docs/nav-menu.svelte +++ b/src/lib/components/site/docs/nav-menu.svelte @@ -42,6 +42,7 @@ + {#if page.url.pathname.startsWith('/docs')} diff --git a/src/lib/components/site/header.svelte b/src/lib/components/site/header.svelte index 56e5eaa..1c90ef0 100644 --- a/src/lib/components/site/header.svelte +++ b/src/lib/components/site/header.svelte @@ -3,7 +3,7 @@ import NavMenu from './docs/nav-menu.svelte'; import StarButton from './star-button.svelte'; import { Button } from '$lib/components/ui/button'; - import { Menu, X } from '@lucide/svelte'; + import { ArrowUpRight, Menu, X } from '@lucide/svelte'; import { Dialog } from 'bits-ui'; import { active } from '$lib/actions/active.svelte'; import { commandContext } from '$lib/context'; @@ -56,6 +56,13 @@ > Demos + + jsrepo.com + +
From 902f67e8455e00679b8dc7d9e7e3195d0a4f3f9b Mon Sep 17 00:00:00 2001 From: Aidan Bleser Date: Wed, 7 May 2025 13:31:36 -0500 Subject: [PATCH 4/4] Update header.svelte --- src/lib/components/site/header.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/site/header.svelte b/src/lib/components/site/header.svelte index 1c90ef0..7a41a60 100644 --- a/src/lib/components/site/header.svelte +++ b/src/lib/components/site/header.svelte @@ -61,7 +61,7 @@ class="text-sm text-muted-foreground transition-all hover:text-foreground data-[active=true]:text-foreground" > jsrepo.com - +