1 - Add FediDiscover package skeleton

This commit is contained in:
myrmidex 2026-04-23 17:41:24 +02:00
parent 1fe6ae5cff
commit 9929a837fe
8 changed files with 123 additions and 4 deletions

View file

@ -5,11 +5,21 @@
"description": "A federated search engine for the small web.",
"keywords": ["search", "fediverse", "small-web"],
"license": "AGPL-3.0-or-later",
"repositories": [
{
"type": "path",
"url": "packages/Lvl0/FediDiscover",
"options": {
"symlink": true
}
}
],
"require": {
"php": "^8.3",
"laravel/framework": "^13.0",
"laravel/tinker": "^3.0",
"livewire/livewire": "^4.2"
"livewire/livewire": "^4.2",
"lvl0/fedi-discover": "@dev"
},
"require-dev": {
"fakerphp/faker": "^1.23",

50
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "1a356947f8d436038d5f1960a1fe8a0b",
"content-hash": "0e933496f4f0755c45123c8da46808ec",
"packages": [
{
"name": "brick/math",
@ -2100,6 +2100,48 @@
],
"time": "2026-04-02T20:48:35+00:00"
},
{
"name": "lvl0/fedi-discover",
"version": "dev-main",
"dist": {
"type": "path",
"url": "packages/Lvl0/FediDiscover",
"reference": "028e27d660387b51f5b181c37484f8b5a1868cad"
},
"require": {
"illuminate/support": "^13.0",
"php": "^8.3"
},
"require-dev": {
"orchestra/testbench": "^11.0"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Lvl0\\FediDiscover\\FediDiscoverServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"Lvl0\\FediDiscover\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Lvl0\\FediDiscover\\Tests\\": "tests/"
}
},
"license": [
"AGPL-3.0-or-later"
],
"description": "Fediverse polling library — discovers URLs from Mastodon and Lemmy posts.",
"transport-options": {
"symlink": true,
"relative": true
}
},
{
"name": "monolog/monolog",
"version": "3.10.0",
@ -8218,12 +8260,14 @@
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {},
"stability-flags": {
"lvl0/fedi-discover": 20
},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": "^8.3"
},
"platform-dev": {},
"plugin-api-version": "2.6.0"
"plugin-api-version": "2.9.0"
}

View file

@ -6,6 +6,8 @@
# DB: 5433 (postgresql)
# Redis: 6380
name: trove
services:
app:
build:

View file

@ -0,0 +1,32 @@
{
"name": "lvl0/fedi-discover",
"description": "Fediverse polling library — discovers URLs from Mastodon and Lemmy posts.",
"license": "AGPL-3.0-or-later",
"type": "library",
"require": {
"php": "^8.3",
"illuminate/support": "^13.0"
},
"require-dev": {
"orchestra/testbench": "^11.0"
},
"autoload": {
"psr-4": {
"Lvl0\\FediDiscover\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Lvl0\\FediDiscover\\Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"providers": [
"Lvl0\\FediDiscover\\FediDiscoverServiceProvider"
]
}
},
"minimum-stability": "stable",
"prefer-stable": true
}

View file

@ -0,0 +1,7 @@
<?php
declare(strict_types=1);
return [
// Instance list, polling intervals, and HTTP client config land here.
];

View file

@ -0,0 +1,24 @@
<?php
declare(strict_types=1);
namespace Lvl0\FediDiscover;
use Illuminate\Support\ServiceProvider;
class FediDiscoverServiceProvider extends ServiceProvider
{
public function register(): void
{
$this->mergeConfigFrom(__DIR__.'/../config/fedi-discover.php', 'fedi-discover');
}
public function boot(): void
{
if ($this->app->runningInConsole()) {
$this->publishes([
__DIR__.'/../config/fedi-discover.php' => config_path('fedi-discover.php'),
], 'fedi-discover-config');
}
}
}