WP Composer: sõltumatu Composer-repo WordPressi pluginate ja teemade jaoks (WPackagisti alternatiiv)
WPackagist oli üle kümne aasta sisuliselt vaikimisi lahendus, kui soovisid WordPressi pluginaid ja teemasid Composeriga (PHP sõltuvushaldur) paigaldada. 2026. aasta märtsis ostis WPackagisti WP Engine – erakapitaliga seotud hostinguettevõte. Nii keskse infrastruktuuri koondumine ühe korporatsiooni kontrolli alla on arendajate töövoo jaoks reaalne risk: otsused kättesaadavuse, hinnastuse ja suuna kohta võivad liikuda kinnistesse koosolekuruumidesse, mitte avalikku arutellu.
Selle taustal tekkis WP Composer: sõltumatu, kogukonna rahastatud ja täielikult avatud lähtekoodiga Composer repository WordPressi pluginate ja teemade jaoks, mida ehitab ja hooldab Roots. Eesmärk on pakkuda läbipaistvat alternatiivi ning hoida WordPressi Composer-põhise tarneahela üks olulisemaid osi avatuna.
Miks see arendajale päriselt oluline on
WPackagisti lõi algselt Outlandish ning teenus püsis aastaid kasutuskõlblik tänu nende hooldusele. Hilisemas faasis oli näha aga järjest rohkem hooletusse jätmise märke: aeglased uuendused, piiratud maintenance ja sisuliselt puuduv kogukonna kaasatus. Omandamine WP Engine’i poolt võimendas neid muresid veelgi – eriti olukorras, kus pole üheselt selge, kas teenus toimib jätkuvalt samal määral avatud lähtekoodiga põhimõtete järgi (näiteks WPackagisti GitHubi repo ei peegelda enam live-saiti).
Kui arendaja töövoo vundamendiks olev tööriist (siin: WordPressi pluginate/teemade Composer-indeks) on ühe ettevõtte käes, siis kaob kogukonnal sisuline hääl. Lisaks on see tarneahela risk: kes kontrollib indeksit ja metadata’t, mõjutab seda, mida ja kui usaldusväärselt saab CI-s, deploy’s ja lokaalarenduses üldse installida.
WP Composer positsioneerib end läbipaistva ja sõltumatu alternatiivina. Kui tahad detailset võrdlust selle kohta, kuidas WP Composer ja WPackagist erinevad jõudluse, metadata ja käitumise poolest, siis Roots hoiab ülevaadet siin: WP Composer vs WPackagist.
Mida WP Composer täpselt pakub
WP Composer on Composer repository, kust saab installida iga tasuta plugina ja teema WordPress.org kataloogist. Suur arendajakogemuse (DX) võit on puhas pakettnime standard: pluginad on wp-plugin/<em> ja teemad wp-theme/</em>. See tähendab, et kaob ära WPackagisti ajalooline eesliide wpackagist-plugin ja wpackagist-theme.
{
"repositories": [
{
"name": "wp-composer",
"type": "composer",
"url": "https://repo.wp-composer.com",
"only": ["wp-plugin/*", "wp-theme/*"]
}
],
"require": {
"wp-plugin/woocommerce": "^10.0",
"wp-theme/twentytwentyfive": "^1.0"
}
}
Roots soovitab WP Composeri kasutada ka koos nende WordPress core pakettidega: roots/wordpress, roots/wordpress-full ja roots/wordpress-no-content. Tüüpilises Bedrocki projektis tähendab see, et WordPressi core tuleb paketist roots/wordpress ja pluginad/teemad tulevad WP Composerist.
Migratsioon WPackagistilt WP Composerile
Üleminek ei ole suur refaktor – sisuliselt vahetad repository URL-i ja uuendad pakettnimed. Kui tahad seda käsitsi teha, siis töötab see loogika kolme sammuna.
1) Eemalda vanad WPackagisti paketid
composer remove wpackagist-plugin/woocommerce wpackagist-theme/twentytwentyfive
2) Vaheta repository seadistus
composer config --unset repositories.wpackagist && composer config repositories.wp-composer composer https://repo.wp-composer.com
3) Lisa paketid uue nimetamisega tagasi
composer require wp-plugin/woocommerce wp-theme/twentytwentyfive
Kui sul on suurem composer.json (või mitu projekti) ja tahad automaatset muudatust, siis olemas on migratsiooniskript, mis uuendab composer.json-i sinu eest: migrate-from-wpackagist.sh.
curl -sO https://raw.githubusercontent.com/roots/wp-composer/main/scripts/migrate-from-wpackagist.sh && bash migrate-from-wpackagist.sh
Kui kasutasid Roots’i GitHub Actionit pluginate uuenduste jälgimiseks, siis ka see on WP Composeri jaoks ümber nimetatud ja toetab täies mahus uut wp-plugin/<em> ja wp-theme/</em> nimeformaati: WP Composer Changelog Action.
Jõudlus: miks WP Composer on dependency resolve’is kiirem
Composer v2 tõi kaasa metadata-url protokolli, mis võimaldab Composeril küsida ainult nende pakettide metadata’t, mida parasjagu vaja on. WP Composer toetab seda protokolli. WPackagist kasutab seevastu vanemat provider-includes lähenemist, mille puhul peab Composer enne sõltuvuste lahendamist alla laadima suured indeksifailid, mis sisaldavad tuhandeid pakette.
Composer resolve ajad (cold resolve, ilma cache’ita)
Allolevad numbrid on cold resolve’i kohta (cache puudub) ja väiksem on parem. Mõõtmised tehti ühest asukohast Composer 2.7+ abil; tulemused võivad piirkonniti ja võrgutingimuste tõttu erineda. Benchmark-skriptid on avalikud: https://github.com/roots/wp-composer/tree/main/benchmarks.
- 10 pluginat: WP Composer 0.7s, WPackagist 12.3s (kiirendus 17x)
- 20 pluginat: WP Composer 1.1s, WPackagist 19.0s (kiirendus 17x)
Metadata ja cache’i käitumine
- Composer v2
metadata-url: WP Composer Yes, WPackagist No - CDN caching: WP Composer
public, max-age=300, WPackagistno-cache, private - Per-package failid: WP Composeris immutable, content-addressed ja cache’itakse määramata ajaks; WPackagistis ei ole need content-addressed
Täielikult avatud lähtekoodiga (ja fork’itav)
WP Composeri kogu stack – rakenduse kood, dokumentatsioon ja deploy konfiguratsioon – on GitHubis avalik: https://github.com/roots/wp-composer. Panustamine on oodatud ning kuna kõik on avalik, saab igaüks soovi korral forgi teha ja oma instantsi käima panna.
Kogukonna rahastus: sõltumatus ei teki iseenesest
WP Composerit rahastab kogukond GitHub Sponsors’i kaudu: https://github.com/sponsors/roots. See tugi läheb otse infrastruktuuri, arenduse ja hoolduse alla – nii WP Composeri kui ka laiemalt Roots’i ökosüsteemi jaoks. Kui su WordPressi tarneahel sõltub Composerist, on just selline rahastusmudel üks praktilisemaid viise hoida kriitiline tööriist neutraalsena ja vabalt kättesaadavana.
Arutelu WP Composeri teemal käib Roots Discourse’is: https://discourse.roots.io/t/-/30235.
Viited / Allikad
- Introducing WP Composer as a WPackagist Replacement
- WP Composer
- WP Composer vs WPackagist
- roots/wp-composer
- Benchmark scripts (WP Composer)
- Migration script: migrate-from-wpackagist.sh
- WP Composer Changelog Action
- roots/wordpress (WP Composer docs)
- Bedrock
- WPackagist GitHub repository
- GitHub Sponsors (Roots)
- Discuss this post on Roots Discourse
Kadri Sepp
Startup-treener ja tehnoloogiakogukonna ehitaja. Häkatonide korraldamine ja mentorlus on minu kirg. Olen Eesti startup-ökosüsteemi saadik.
Kõik postitused