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.", "description": "A federated search engine for the small web.",
"keywords": ["search", "fediverse", "small-web"], "keywords": ["search", "fediverse", "small-web"],
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"repositories": [
{
"type": "path",
"url": "packages/Lvl0/FediDiscover",
"options": {
"symlink": true
}
}
],
"require": { "require": {
"php": "^8.3", "php": "^8.3",
"laravel/framework": "^13.0", "laravel/framework": "^13.0",
"laravel/tinker": "^3.0", "laravel/tinker": "^3.0",
"livewire/livewire": "^4.2" "livewire/livewire": "^4.2",
"lvl0/fedi-discover": "@dev"
}, },
"require-dev": { "require-dev": {
"fakerphp/faker": "^1.23", "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", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "1a356947f8d436038d5f1960a1fe8a0b", "content-hash": "0e933496f4f0755c45123c8da46808ec",
"packages": [ "packages": [
{ {
"name": "brick/math", "name": "brick/math",
@ -2100,6 +2100,48 @@
], ],
"time": "2026-04-02T20:48:35+00:00" "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", "name": "monolog/monolog",
"version": "3.10.0", "version": "3.10.0",
@ -8218,12 +8260,14 @@
], ],
"aliases": [], "aliases": [],
"minimum-stability": "stable", "minimum-stability": "stable",
"stability-flags": {}, "stability-flags": {
"lvl0/fedi-discover": 20
},
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": "^8.3" "php": "^8.3"
}, },
"platform-dev": {}, "platform-dev": {},
"plugin-api-version": "2.6.0" "plugin-api-version": "2.9.0"
} }

View file

@ -6,6 +6,8 @@
# DB: 5433 (postgresql) # DB: 5433 (postgresql)
# Redis: 6380 # Redis: 6380
name: trove
services: services:
app: app:
build: 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');
}
}
}