From c9f4885c7231068c92dcdc7bd2a963a657a50e8d Mon Sep 17 00:00:00 2001
From: Jesse Wierzbinski
Date: Sat, 24 Aug 2024 14:58:50 +0200
Subject: [PATCH] refactor: :truck: Rename Lysand to Versia
---
LICENSE | 2 +-
README.md | 36 +++++++++---------
client/LICENSE | 2 +-
client/README.md | 34 ++++++++---------
client/index.ts | 6 +--
client/jsr.jsonc | 2 +-
client/package.json | 10 ++---
client/types.ts | 4 +-
client/types/account.ts | 4 +-
client/types/instance.ts | 2 +-
client/types/{lysand.ts => versia.ts} | 2 +-
client/{lysand => versia}/base.ts | 0
client/{lysand/lysand.ts => versia/client.ts} | 30 +++++++--------
client/{lysand => versia}/constants.ts | 2 +-
federation/LICENSE | 2 +-
federation/README.md | 38 +++++++++----------
federation/cryptography/index.ts | 6 +--
federation/http.test.ts | 2 +-
federation/jsr.jsonc | 2 +-
federation/package.json | 10 ++---
federation/requester/constants.ts | 2 +-
.../schemas/extensions/custom_emojis.ts | 4 +-
federation/schemas/extensions/polls.ts | 8 ++--
federation/schemas/extensions/reactions.ts | 4 +-
federation/schemas/extensions/vanity.ts | 4 +-
federation/validator.ts | 4 +-
package.json | 2 +-
27 files changed, 112 insertions(+), 112 deletions(-)
rename client/types/{lysand.ts => versia.ts} (98%)
rename client/{lysand => versia}/base.ts (100%)
rename client/{lysand/lysand.ts => versia/client.ts} (99%)
rename client/{lysand => versia}/constants.ts (74%)
diff --git a/LICENSE b/LICENSE
index 32797b2..72a2f9f 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2024 Lysand
+Copyright (c) 2024 Versia
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index c589f4a..c1287cc 100644
--- a/README.md
+++ b/README.md
@@ -2,18 +2,18 @@
-Lysand API
+Versia API
-Set of NPM packages written in TypeScript to interact with Lysand-compatible services.
+Set of NPM packages written in TypeScript to interact with Versia-compatible services.
## Packages
-- **`@lysand-org/federation`**: Federation types, validators and cryptography for Lysand server implementations.
-- **`@lysand-org/client`**: Client for the reference Lysand Server implementation.
+- **`@versia/federation`**: Federation types, validators and cryptography for Versia server implementations.
+- **`@versia/client`**: Client for the reference Versia Server implementation.
## Efficiency
-The built output of each package is not even `200 KB` in size, making it a lightweight and efficient solution for your Lysand needs. Installing the package adds around `5 MB` to your `node_modules` folder, but this does not affect the final bundle size.
+The built output of each package is not even `200 KB` in size, making it a lightweight and efficient solution for your Versia needs. Installing the package adds around `5 MB` to your `node_modules` folder, but this does not affect the final bundle size.
Compilation (bundling/minifying) time is a few seconds, almost all of which is spent on type-checking. The actual compilation time is less than a tenth of a second.
@@ -21,11 +21,11 @@ Compilation (bundling/minifying) time is a few seconds, almost all of which is s
### Federation
-Please see the [**`@lysand-org/federation` README**](federation/README.md) for more information.
+Please see the [**`@versia/federation` README**](federation/README.md) for more information.
### Client
-Please see the [**`@lysand-org/client` README**](client/README.md) for more information.
+Please see the [**`@versia/client` README**](client/README.md) for more information.
## Getting Started
@@ -76,18 +76,18 @@ We strongly recommend using JSR over NPM for all your packages that are availabl
```bash
# NPM version
-deno add npm:@lysand-org/federation npm:@lysand-org/client # For Deno
-npm install @lysand-org/federation @lysand-org/client # For NPM
-yarn add @lysand-org/federation @lysand-org/client # For Yarn
-pnpm add @lysand-org/federation @lysand-org/client # For PNPM
-bun add @lysand-org/federation @lysand-org/client # For Bun
+deno add npm:@versia/federation npm:@versia/client # For Deno
+npm install @versia/federation @versia/client # For NPM
+yarn add @versia/federation @versia/client # For Yarn
+pnpm add @versia/federation @versia/client # For PNPM
+bun add @versia/federation @versia/client # For Bun
# JSR version
-deno add @lysand-org/federation @lysand-org/client # For Deno
-npx jsr add @lysand-org/federation @lysand-org/client # For JSR
-yarn dlx jsr add @lysand-org/federation @lysand-org/client # For Yarn
-pnpm dlx jsr add @lysand-org/federation @lysand-org/client # For PNPM
-bunx jsr add @lysand-org/federation @lysand-org/client # For Bun
+deno add @versia/federation @versia/client # For Deno
+npx jsr add @versia/federation @versia/client # For JSR
+yarn dlx jsr add @versia/federation @versia/client # For Yarn
+pnpm dlx jsr add @versia/federation @versia/client # For PNPM
+bunx jsr add @versia/federation @versia/client # For Bun
```
#### From Source
@@ -114,4 +114,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
### People
-- [**April John**](https://github.com/cutestnekoaqua): Creator and maintainer of the Lysand Server ActivityPub bridge.
\ No newline at end of file
+- [**April John**](https://github.com/cutestnekoaqua): Creator and maintainer of the Versia Server ActivityPub bridge.
\ No newline at end of file
diff --git a/client/LICENSE b/client/LICENSE
index 32797b2..72a2f9f 100644
--- a/client/LICENSE
+++ b/client/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2024 Lysand
+Copyright (c) 2024 Versia
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/client/README.md b/client/README.md
index 2b7b535..2c9888e 100644
--- a/client/README.md
+++ b/client/README.md
@@ -2,13 +2,13 @@
-@lysand-org/client
+@versia/client
-TypeScript client API for Lysand and Mastodon servers.
+TypeScript client API for Versia and Mastodon servers.
## Efficiency
-The built output of the package is not even `32 KB` in size, making it a lightweight and efficient solution for your Lysand needs. Installing the package adds around `5 MB` to your `node_modules` folder, but this does not affect the final bundle size.
+The built output of the package is not even `32 KB` in size, making it a lightweight and efficient solution for your Versia needs. Installing the package adds around `5 MB` to your `node_modules` folder, but this does not affect the final bundle size.
Compilation (bundling/minifying) time is a few seconds, almost all of which is spent on type-checking. The actual compilation time is less than a tenth of a second.
@@ -19,12 +19,12 @@ This application may be used in the same was as [`megalodon`](https://github.com
Initialize the client with the following code:
```typescript
-import { LysandClient } from "@lysand-org/client";
+import { Client } from "@versia/client";
-const baseUrl = new URL("https://social.lysand.org");
+const baseUrl = new URL("https://versia.social");
const accessToken = "...";
-const client = new LysandClient(baseUrl, accessToken);
+const client = new Client(baseUrl, accessToken);
```
The client can then be used to interact with the server:
@@ -98,18 +98,18 @@ We strongly recommend using JSR over NPM for all your packages that are availabl
```bash
# NPM version
-deno add npm:@lysand-org/client # For Deno
-npm install @lysand-org/client # For NPM
-yarn add @lysand-org/client # For Yarn
-pnpm add @lysand-org/client # For PNPM
-bun add @lysand-org/client # For Bun
+deno add npm:@versia/client # For Deno
+npm install @versia/client # For NPM
+yarn add @versia/client # For Yarn
+pnpm add @versia/client # For PNPM
+bun add @versia/client # For Bun
# JSR version
-deno add @lysand-org/client # For Deno
-npx jsr add @lysand-org/client # For JSR
-yarn dlx jsr add @lysand-org/client # For Yarn
-pnpm dlx jsr add @lysand-org/client # For PNPM
-bunx jsr add @lysand-org/client # For Bun
+deno add @versia/client # For Deno
+npx jsr add @versia/client # For JSR
+yarn dlx jsr add @versia/client # For Yarn
+pnpm dlx jsr add @versia/client # For PNPM
+bunx jsr add @versia/client # For Bun
```
#### From Source
@@ -138,4 +138,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
### People
-- [**April John**](https://github.com/cutestnekoaqua): Creator and maintainer of the Lysand Server ActivityPub bridge.
+- [**April John**](https://github.com/cutestnekoaqua): Creator and maintainer of the Versia Server ActivityPub bridge.
diff --git a/client/index.ts b/client/index.ts
index 6ed934d..a376c5a 100644
--- a/client/index.ts
+++ b/client/index.ts
@@ -1,5 +1,5 @@
-import { type Output, ResponseError } from "./lysand/base";
-import { LysandClient } from "./lysand/lysand";
import type { Token } from "./types/token";
+import { type Output, ResponseError } from "./versia/base";
+import { Client } from "./versia/client";
-export { LysandClient, ResponseError, type Output, type Token };
+export { Client, ResponseError, type Output, type Token };
diff --git a/client/jsr.jsonc b/client/jsr.jsonc
index 9aa740d..d2935cd 100644
--- a/client/jsr.jsonc
+++ b/client/jsr.jsonc
@@ -1,6 +1,6 @@
{
"$schema": "https://jsr.io/schema/config-file.v1.json",
- "name": "@lysand-org/client",
+ "name": "@versia/client",
"version": "0.0.0",
"exports": {
".": "./index.ts",
diff --git a/client/package.json b/client/package.json
index a9dc296..cb70c0d 100644
--- a/client/package.json
+++ b/client/package.json
@@ -1,6 +1,6 @@
{
- "name": "@lysand-org/client",
- "displayName": "Lysand Client",
+ "name": "@versia/client",
+ "displayName": "Versia Client",
"version": "0.0.0",
"author": {
"email": "jesse.wierzbinski@lysand.org",
@@ -31,7 +31,7 @@
"url": "https://cpluspatch.com"
}
],
- "description": "Client for Mastodon and Lysand API",
+ "description": "Client for Mastodon and Versia API",
"categories": ["Other"],
"type": "module",
"engines": {
@@ -53,8 +53,8 @@
"type": "opencollective",
"url": "https://opencollective.com/lysand"
},
- "homepage": "https://lysand.org",
- "keywords": ["lysand", "mastodon", "api", "typescript", "rest"],
+ "homepage": "https://versia.pub",
+ "keywords": ["versia", "mastodon", "api", "typescript", "rest"],
"packageManager": "bun@1.1.8",
"dependencies": {
"@badgateway/oauth2-client": "^2.3.0"
diff --git a/client/types.ts b/client/types.ts
index a15c068..f251856 100644
--- a/client/types.ts
+++ b/client/types.ts
@@ -25,7 +25,6 @@ import type {
InstanceRule,
} from "./types/instance";
import type { List, RepliesPolicy } from "./types/list";
-import { type LysandRole, RolePermission } from "./types/lysand";
import type { Marker } from "./types/marker";
import type { Mention } from "./types/mention";
import type { Notification, NotificationType } from "./types/notification";
@@ -45,6 +44,7 @@ import type { StatusSource } from "./types/status_source";
import type { Tag } from "./types/tag";
import type { Token } from "./types/token";
import type { URLs } from "./types/urls";
+import { RolePermission, type VersiaRole } from "./types/versia";
export type {
Account,
@@ -75,7 +75,7 @@ export type {
Instance,
InstanceRule,
List,
- LysandRole,
+ VersiaRole,
Marker,
Mention,
Meta,
diff --git a/client/types/account.ts b/client/types/account.ts
index ad309b3..52511bd 100644
--- a/client/types/account.ts
+++ b/client/types/account.ts
@@ -1,8 +1,8 @@
import type { Emoji } from "./emoji";
import type { Field } from "./field";
-import type { LysandRole } from "./lysand";
import type { Role } from "./role";
import type { Source } from "./source";
+import type { VersiaRole } from "./versia";
export type Account = {
id: string;
@@ -32,6 +32,6 @@ export type Account = {
bot: boolean | null;
source?: Source;
role?: Role;
- roles: LysandRole[];
+ roles: VersiaRole[];
mute_expires_at?: string;
};
diff --git a/client/types/instance.ts b/client/types/instance.ts
index 34995cd..00f568c 100644
--- a/client/types/instance.ts
+++ b/client/types/instance.ts
@@ -4,7 +4,7 @@ export type Instance = {
domain: string;
title: string;
version: string;
- lysand_version: string;
+ versia_version: string;
source_url: string;
description: string;
usage: {
diff --git a/client/types/lysand.ts b/client/types/versia.ts
similarity index 98%
rename from client/types/lysand.ts
rename to client/types/versia.ts
index 1439137..39cca0e 100644
--- a/client/types/lysand.ts
+++ b/client/types/versia.ts
@@ -1,4 +1,4 @@
-export type LysandRole = {
+export type VersiaRole = {
id: string;
name: string;
permissions: RolePermission[];
diff --git a/client/lysand/base.ts b/client/versia/base.ts
similarity index 100%
rename from client/lysand/base.ts
rename to client/versia/base.ts
diff --git a/client/lysand/lysand.ts b/client/versia/client.ts
similarity index 99%
rename from client/lysand/lysand.ts
rename to client/versia/client.ts
index 9046ac5..2ae3c80 100644
--- a/client/lysand/lysand.ts
+++ b/client/versia/client.ts
@@ -15,7 +15,6 @@ import type {
FeaturedTag,
Instance,
List,
- LysandRole,
Marker,
Notification,
Poll,
@@ -28,6 +27,7 @@ import type {
StatusVisibility,
Tag,
Token,
+ VersiaRole,
} from "../types";
import { BaseClient, type Output } from "./base";
import { DEFAULT_SCOPE, NO_REDIRECT } from "./constants";
@@ -39,17 +39,17 @@ type StatusContentType =
| "text/x.misskeymarkdown";
/**
- * LysandClient is a client for interacting with the Lysand API.
+ * Client is a client for interacting with the Versia API.
*
* @extends BaseClient
* @example
- * const client = new LysandClient(new URL("https://example.com"));
+ * const client = new Client(new URL("https://example.com"));
*
* const { data } = await client.getInstance();
*
* console.log(data);
*/
-export class LysandClient extends BaseClient {
+export class Client extends BaseClient {
/**
* POST /api/v1/follow_requests/:id/authorize
*
@@ -106,7 +106,7 @@ export class LysandClient extends BaseClient {
/**
* POST /api/v1/roles/:roleId
*
- * Lysand API only.
+ * Versia API only.
* @param roleId ID of the role to add to the requesting account.
*/
public addRole(
@@ -549,7 +549,7 @@ export class LysandClient extends BaseClient {
/**
* GET /api/v1/accounts/id
*
- * Lysand API only.
+ * Versia API only.
* @param username The username.
* @return An account.
*/
@@ -1164,7 +1164,7 @@ export class LysandClient extends BaseClient {
/**
* GET /api/v1/instance/privacy_policy
*
- * Lysand API only.
+ * Versia API only.
* @returns
*/
public getInstancePrivacyPolicy(
@@ -1179,7 +1179,7 @@ export class LysandClient extends BaseClient {
/**
* GET /api/v1/instance/tos
*
- * Lysand API only.
+ * Versia API only.
* @returns
*/
public getInstanceTermsOfService(
@@ -1575,18 +1575,18 @@ export class LysandClient extends BaseClient {
public getRole(
id: string,
extra?: RequestInit,
- ): Promise