Unverified Commit 768f523c authored by Hong Minhee's avatar Hong Minhee
Browse files

Use tsdown instead of dnt

parent 26348fc2
Loading
Loading
Loading
Loading
+23 −22
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ jobs:
    - run: deno task test --coverage=.cov --junit-path=.test-report.xml
      env:
        RUST_BACKTRACE: ${{ runner.debug }}
        LOG: ${{ runner.debug && 'always' || '' }}
      working-directory: ${{ github.workspace }}/fedify/
    - uses: dorny/test-reporter@v2
      if: success() || failure()
@@ -46,7 +47,7 @@ jobs:
      continue-on-error: true
    - run: "true"

  test-dnt:
  test-node:
    strategy:
      matrix:
        os: [macos-latest, ubuntu-latest, windows-latest]
@@ -60,15 +61,11 @@ jobs:
    - uses: actions/setup-node@v4
      with:
        node-version: lts/*
    - uses: oven-sh/setup-bun@v1
    - uses: pnpm/action-setup@v4
      with:
        bun-version: latest
    - run: deno task cache
        version: 10
    - run: deno task test:node
      working-directory: ${{ github.workspace }}/fedify/
    - run: deno task dnt
      working-directory: ${{ github.workspace }}/fedify/
    - run: bun test_runner.js
      working-directory: ${{ github.workspace }}/fedify/npm/

  lint:
    runs-on: ubuntu-latest
@@ -92,19 +89,24 @@ jobs:
    - uses: actions/setup-node@v4
      with:
        node-version: lts/*
    - uses: pnpm/action-setup@v4
      with:
        version: 10
    - run: '[[ "$(jq -r .version deno.json)" = "$(jq -r .version package.json)" ]]'
      working-directory: ${{ github.workspace }}/fedify/
    - run: deno task publish --dry-run
      working-directory: ${{ github.workspace }}/fedify/
    - run: deno task dnt
    - run: deno task npm
      working-directory: ${{ github.workspace }}/fedify/
    - run: npm publish --dry-run fedify-fedify-*.tgz
      working-directory: ${{ github.workspace }}/fedify/
    - run: npm publish --dry-run
      working-directory: ${{ github.workspace }}/fedify/npm/
      env:
        DNT_SKIP_TEST: "true"
    - run: deno task publish-dry-run
      working-directory: ${{ github.workspace }}/cli/

  publish:
    needs: [test, test-dnt, lint, release-test]
    needs: [test, test-node, lint, release-test]
    runs-on: ubuntu-latest
    permissions:
      id-token: write
@@ -117,6 +119,9 @@ jobs:
    - uses: actions/setup-node@v4
      with:
        node-version: lts/*
    - uses: pnpm/action-setup@v4
      with:
        version: 10
    - if: github.ref_type == 'branch'
      run: |
        jq \
@@ -136,12 +141,8 @@ jobs:
    # in deno.json:
    - run: rm vocab/.gitignore
      working-directory: ${{ github.workspace }}/fedify/
    - run: 'deno task dnt "$(jq -r .version deno.json)"'
    - run: deno task npm
      working-directory: ${{ github.workspace }}/fedify/
      env:
        DNT_SKIP_TEST: "true"
    - run: npm pack
      working-directory: ${{ github.workspace }}/fedify/npm/
    - run: deno task pack
      working-directory: ${{ github.workspace }}/cli/
    - run: 'deno task npm "$(jq -r .version deno.json)"'
@@ -161,7 +162,7 @@ jobs:
      with:
        name: dist
        path: |
          fedify/npm/*.tgz
          fedify/fedify-fedify-*.tgz
          cli/fedify-cli-*
    - if: github.event_name == 'push' && github.ref_type == 'tag'
      uses: softprops/action-gh-release@v1
@@ -169,7 +170,7 @@ jobs:
        body_path: ${{ steps.extract-changelog.outputs.output-file }}
        name: Fedify ${{ github.ref_name }}
        files: |
          fedify/npm/*.tgz
          fedify/fedify-fedify-*.tgz
          cli/fedify-cli-*
        generate_release_notes: false
    - if: |
@@ -189,13 +190,13 @@ jobs:
        set -ex
        npm config set //registry.npmjs.org/:_authToken "$NPM_AUTH_TOKEN"
        if [[ "$GITHUB_REF_TYPE" = "tag" ]]; then
          npm publish --provenance --access public *.tgz
          npm publish --provenance --access public fedify-fedify-*.tgz
        else
          npm publish --provenance --access public --tag dev *.tgz
          npm publish --provenance --access public --tag dev fedify-fedify-*.tgz
        fi
      env:
        NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
      working-directory: ${{ github.workspace }}/fedify/npm/
      working-directory: ${{ github.workspace }}/fedify/
    - if: github.event_name == 'push' && github.ref_type == 'tag'
      run: |
        set -ex

README.md

deleted100644 → 0
+1 −124
Original line number Diff line number Diff line
<!-- deno-fmt-ignore-file -->

![](./logo.svg)
Fedify: an ActivityPub server framework
=======================================

[![JSR][JSR badge]][JSR]
[![npm][npm badge]][npm]
[![GitHub Actions][GitHub Actions badge]][GitHub Actions]
[![Matrix][Matrix badge]][Matrix]
[![Discord][Discord badge]][Discord]
[![Follow @fedify@hollo.social][@fedify@hollo.social badge]][@fedify@hollo.social]

> [!NOTE]
> Looking for a quick demo?  Here it is: [Fedify Demo] on Deno Playground.

Fedify is a TypeScript library for building federated server apps
powered by [ActivityPub] and other standards, so-called [fediverse].[^1]
It aims to eliminate the complexity and redundant boilerplate code when
building a federated server app, so that you can focus on your business logic
and user experience.

Currently, Fedify provides the following features out of the box:

 -  Type-safe objects for [Activity Vocabulary] (including some vendor-specific
    extensions)
 -  [WebFinger] client and server
 -  [HTTP Signatures] & [HTTP Message Signatures]
 -  [Object Integrity Proofs][FEP-8b32] & [Linked Data Signatures]
 -  Middlewares for handling webhooks
 -  [NodeInfo] protocol
 -  Special touch for interoperability with Mastodon and few other popular
    fediverse software
 -  Integration with various web frameworks
 -  CLI toolchain for testing and debugging

If you want to know more about the project, please take a look at the following
resources:

 -  [Installation](https://fedify.dev/install)
 -  Tutorials:
    [Learning the basics](https://fedify.dev/tutorial/basics) &
    [Creating a microblog](https://fedify.dev/tutorial/microblog)
 -  [API reference][JSR]
 -  [Examples](https://github.com/fedify-dev/fedify/tree/main/examples)

If you have any questions, suggestions, or feedback, please feel free to
join our [Matrix chat space][Matrix] or [Discord server][Discord] or
[GitHub Discussions].  Or tag [#Fedify] in the fediverse!

[^1]: You may already know some of the networks in the fediverse, such as
      [Mastodon], [Lemmy], [Pixelfed], [PeerTube], and so on.

[JSR]: https://jsr.io/@fedify/fedify
[JSR badge]: https://jsr.io/badges/@fedify/fedify
[npm]: https://www.npmjs.com/package/@fedify/fedify
[npm badge]: https://img.shields.io/npm/v/@fedify/fedify?logo=npm
[GitHub Actions]: https://github.com/fedify-dev/fedify/actions/workflows/build.yaml
[GitHub Actions badge]: https://github.com/fedify-dev/fedify/actions/workflows/build.yaml/badge.svg
[Matrix]: https://matrix.to/#/#fedify:matrix.org
[Matrix badge]: https://img.shields.io/matrix/fedify%3Amatrix.org?logo=matrix
[Discord]: https://discord.gg/bhtwpzURwd
[Discord badge]: https://img.shields.io/discord/1295652627505217647?logo=discord&cacheSeconds=60
[@fedify@hollo.social badge]: https://fedi-badge.deno.dev/@fedify@hollo.social/followers.svg
[@fedify@hollo.social]: https://hollo.social/@fedify
[Fedify Demo]: https://dash.deno.com/playground/fedify-demo
[ActivityPub]: https://www.w3.org/TR/activitypub/
[fediverse]: https://en.wikipedia.org/wiki/Fediverse
[Activity Vocabulary]: https://www.w3.org/TR/activitystreams-vocabulary/
[WebFinger]: https://datatracker.ietf.org/doc/html/rfc7033
[HTTP Signatures]: https://tools.ietf.org/html/draft-cavage-http-signatures-12
[HTTP Message Signatures]: https://www.rfc-editor.org/rfc/rfc9421
[FEP-8b32]: https://w3id.org/fep/8b32
[Linked Data Signatures]: https://web.archive.org/web/20170923124140/https://w3c-dvcg.github.io/ld-signatures/
[NodeInfo]: https://nodeinfo.diaspora.software/
[GitHub Discussions]: https://github.com/fedify-dev/fedify/discussions
[#Fedify]: https://mastodon.social/tags/fedify
[Mastodon]: https://joinmastodon.org/
[Lemmy]: https://join-lemmy.org/
[Pixelfed]: https://pixelfed.org/
[PeerTube]: https://joinpeertube.org/


Sponsors
--------

This project exists thanks to all the people who contribute, donate, and sponsor
it.  We are grateful for their support.  We would like to thank the following
financial contributors:[^2]

[^2]: Those lists are automatically updated every hour.

<!-- cSpell: disable -->
<!-- DO NOT EDIT(h3): this section is automatically generated by the script -->

### Corporate sponsors

- [<img src="https://images.opencollective.com/ghost/avatar/128.png" width="64" height="64"> Ghost](https://ghost.org)

### Supporters

- [Daniel Supernault](https://pixelfed.org/)
- [tkgka](https://opencollective.com/tkgka)
- [Blaine](https://opencollective.com/blaine)
- [Erick González Aguilar](https://opencollective.com/erick-gonzalez-aguilar)

### Backers

Robin Riley, yamanoku, Encyclia, taye, okin, Andy Piper, box464, Evan Prodromou, Rafael Goulart, malte

### One-time donations

Robin Riley, Markus P, Nils Bergmann, Rameez

<!-- /DO NOT EDIT -->
<!-- cSpell: enable -->

### Become a sponsor

We welcome financial contributions to help us maintain and improve this project.
If you would like to become a financial contributor, please visit our
[Open Collective].

[Open Collective]: https://opencollective.com/fedify

README.md

0 → 120000
+1 −124
Original line number Diff line number Diff line
fedify/README.md
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
import { getFileSink } from "@logtape/file";
import {
  configure,
  getConsoleSink,
  getFileSink,
  type LogRecord,
  type Sink,
} from "@logtape/logtape";
+2 −1
Original line number Diff line number Diff line
import { Command, CompletionsCommand, HelpCommand } from "@cliffy/command";
import { configure, getConsoleSink, getFileSink } from "@logtape/logtape";
import { getFileSink } from "@logtape/file";
import { configure, getConsoleSink } from "@logtape/logtape";
import { AsyncLocalStorage } from "node:async_hooks";
import { DEFAULT_CACHE_DIR, setCacheDir } from "./cache.ts";
import metadata from "./deno.json" with { type: "json" };
Loading