Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Project initializer for Fedify
@fedify/init: Project initializer for Fedify
This package provides the project initialization functionality for Fedify, an ActivityPub server framework. It scaffolds new Fedify project directories with support for various web frameworks, package managers, key-value stores, and message queues.
This package powers the fedify init command in the @fedify/cli toolchain,
and can also be used as a standalone library.
Supported options
The initializer supports the following project configurations:
- Web frameworks: Bare-bones, Hono, Nitro, Next.js, Elysia, Express
- Package managers: Deno, pnpm, Bun, Yarn, npm
- Key-value stores: In-Memory, Deno KV, Redis, PostgreSQL
- Message queues: In-Process, Deno KV, Redis, PostgreSQL, AMQP
Installation
deno add jsr:@fedify/init # Deno npm add @fedify/init # npm pnpm add @fedify/init # pnpm yarn add @fedify/init # Yarn bun add @fedify/init # Bun
API
The package exports the following:
runInit: The main initialization action handler.initCommand: The CLI command definition forinit.
import { initCommand, runInit } from "@fedify/init";
Test
The test-init task is useful for contributors working on @fedify/init,
especially when adding support for a new framework/library or modifying the
scaffolding logic. It tests the project initialization by running
fedify init across all combinations of supported options on temporary
directories, verifying that the generated projects are valid.
To run the test using Deno:
deno task test-init
Or using pnpm:
pnpm test-init
You can also filter specific options to test a subset of combinations:
deno task test-init -w hono -p deno
Use --no-dry-run to test with actual file creation and dependency
installation, or --no-hyd-run to only log outputs without creating files.
Add Package
deno add jsr:@fedify/init
Import symbol
import * as init from "@fedify/init";
Import directly with a jsr specifier
import * as init from "jsr:@fedify/init";