bigbuffet-rw/packages/pl-api
marcin mikołajczak e53be89a85 bump pl-api release
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-11-14 14:39:29 +01:00
..
lib pl-fe: backups, polls reducers 2024-11-06 13:06:41 +01:00
.eslintignore Add pl-api to workspace 2024-08-28 13:43:23 +02:00
.eslintrc.json pl-api:: Fix eslint config 2024-10-03 10:38:32 +02:00
.gitignore pl-api: Update docs, build docs as part of CI 2024-10-29 20:12:14 +01:00
index.html Add pl-api to workspace 2024-08-28 13:43:23 +02:00
package.json bump pl-api release 2024-11-14 14:39:29 +01:00
README.md Update readmes 2024-10-30 10:09:04 +01:00
tsconfig-build.json Add pl-api to workspace 2024-08-28 13:43:23 +02:00
tsconfig.json Add pl-api to workspace 2024-08-28 13:43:23 +02:00
typedoc.config.mjs pl-api: works on docs 2024-10-29 22:26:53 +01:00
vite.config.ts externalize pl-api deps 2024-10-16 18:46:14 +02:00
yarn.lock pl-api: Start implemenitng grouped notifications with fallback to v1 2024-11-01 23:19:18 +01:00

pl-api

GitHub License NPM Version NPM Downloads

A JavaScript library for interacting with Mastodon API-compatible servers, focused on support for projects extending the official Mastodon API.

pl-api attempts to abstract out the implementation details when supporting different backends, implementing the same features in different ways. It uses Valibot to ensure type safety and normalize API responses.

Example:

import { PlApiClient, type CreateApplicationParams } from 'pl-api';

const { ACCESS_TOKEN } = process.env;

const client = new PlApiClient('https://mastodon.example/', ACCESS_TOKEN, {
  fetchInstance: true,
  onInstanceFetchSuccess: () => console.log('Instance fetched'),
});

await client.statuses.createStatus({
  status: 'Hello, world!',
  language: 'en',
});

Some sort of documentation is available on https://pl.mkljczk.pl/pl-api-docs

This project should be considered unstable before the 1.0.0 release. I will not provide any changelog or information on breaking changes until then.

Projects using pl-api

pl-fe is a web client for Mastodon-compatible servers forked from Soapbox. It uses pl-api for API interactions.

License

pl-api utilizes code from Soapbox and bases off official Mastodon documentation.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.