Coder Social home page Coder Social logo

addwiki - monorepo

Addwiki is a collection of PHP libraries, packages and applications created for interacting with MediaWiki, Wikibase, Wikimedia and more.

To dive in take a look at the docs site.

If you want to submit code patches to any of the repositories, then this is the place to look!

Packages

All packages exist in the /packages directory. Every package also exists in its own read only git repository, can be used separately and is installable via composer.

Most popular:

Behind the scenes:

WIP CLI:

Other WIP:

Using the monorepo

monorepo-builder

This mono repo uses https://github.com/symplify/monorepo-builder

This provides convenience scripts for a few things...

Merge all composer.json files together with:

composer merge

Bump the cross package dependency with:

vendor/bin/monorepo-builder bump-interdependency "<version here>"

Validate your synchronization:

composer validate-monorepo

Keep your package aliases up to date (not yet working)

vendor/bin/monorepo-builder package-alias

Testing & CI

Github Actions exist to split out packages as well as run tests on them.

Commands exist in each of the packages to run individual tests.

You can also run all tests from the main monorepo.

Run lint on all packages:

composer lint

Run phpunit unit tests on a single package:

vendor/bin/phpunit packages/mediawiki-api-base/tests/unit

Integration tests are facilitated by docker-composer-ci.yml files which are currently kept in sync manually. The setup in the monorepo should work for all packages. Run it before running integration tests.

docker-compose -f docker-compose-ci.yml up -d --build

Wait for the wiki to be accessible, then run the tests:

composer phpunit-integration

addwiki's Projects

addwiki icon addwiki

Monorepo containing all addwiki libraries, packages and applications

addwiki-cli icon addwiki-cli

PHP CLI tool making use of the addwiki libraries and services, [READ-ONLY] split from https://github.com/addwiki/addwiki

mediawiki-api icon mediawiki-api

Library with services for interacting with the Mediawiki API, [READ-ONLY] split from https://github.com/addwiki/addwiki

mediawiki-api-base icon mediawiki-api-base

Basic Library, using Guzzle, for interacting with the Mediawiki API, [READ-ONLY] split from https://github.com/addwiki/addwiki

mediawiki-commands icon mediawiki-commands

MediaWiki focused CLI commands, for use with addwiki-cli, [READ-ONLY] split from https://github.com/addwiki/addwiki

mediawiki-datamodel icon mediawiki-datamodel

Library with classes representing the MediaWiki datamodel, [READ-ONLY] split from https://github.com/addwiki/addwiki

mediawiki-db icon mediawiki-db

[READ-ONLY] WIP library for interacting with a MediaWiki database

mediawiki-flow-api icon mediawiki-flow-api

Library for interacting with the Flow extension, [READ-ONLY] split from https://github.com/addwiki/addwiki

mediawiki-sitematrix-api icon mediawiki-sitematrix-api

Library for interacting with the SiteMatrix extension, [READ-ONLY] split from https://github.com/addwiki/addwiki

readthedocs icon readthedocs

[ARCHIVED] Repo controlling the main readthedocs site

wikibase-api icon wikibase-api

Library with services for interacting with the Wikibase API, [READ-ONLY] split from https://github.com/addwiki/addwiki

wikibase-commands icon wikibase-commands

Wikibase focused CLI commands, for use with addwiki-cli, [READ-ONLY] split from https://github.com/addwiki/addwiki

wikibase-datamodel icon wikibase-datamodel

Library with services for interacting with the Wikibase DataModel, [READ-ONLY] split from https://github.com/addwiki/addwiki

wikibase-query icon wikibase-query

Library with services for interacting with the Wikibase Query Service, [READ-ONLY] split from https://github.com/addwiki/addwiki

wikimedia icon wikimedia

Convenience library for using addwiki code with Wikimedia projects, [READ-ONLY] split from https://github.com/addwiki/addwiki

wikimedia-commands icon wikimedia-commands

Wikimedia focused CLI commands, for use with addwiki-cli, [READ-ONLY] split from https://github.com/addwiki/addwiki

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.