* deprecate ansible galaxy collection name
* deprecate ansible galaxy quality score
* deprecate ansible role name and legacy downloads, add new downloads
* add helper functions for generating Open API path/query params with defaults
* tweak Open API schema
- make description optional
- allow null example + allowEmptyValue (for boolean query params)
* convert examples --> openApi in amo
* convert examples --> openApi in ansible
* convert examples --> openApi in appveyor build/job
* add re-usable Open API query param for test-results badges
we can use these for all the 'test results' badges
* convert examples --> openApi in appveyor tests
* DRY up existing dynamic/endpoint param definitions
* DRY up queryParam
* allow enum param in serviceDefinition schema
* improve misleading param name
* check route and openApi are consistent on service load
* fix mistake in ansible role route
* documentation --> description
* add pathParams and queryParams helpers +docstrings
* give everything a search-friendly summary, check for duplicate summary
* prettier fixup
* Add ansible collection badge
* Ansible Collection: Remove unneccesary base class
* Ansible Collection: Fix test (label "collection" rather than "role")
* refactor: add render helper for downloads badges
* refactor: use new helper in some download badge classes
* doc renderer function
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
This moves a few helpers from `lib/` to `services/`:
build-status.js
build-status.spec.js
color-formatters.js
color-formatters.spec.js
contributor-count.js
licenses.js
licenses.spec.js
php-version.js
php-version.spec.js
text-formatters.js
text-formatters.spec.js
version.js
version.spec.js
And one from `lib/` to `core/`:
unhandled-rejection.spec.js
The diff is long, but the changes are straightforward.
Ref #2832
This will definitely save time, and ensure more uniformity.
It moves the `createServiceTester()` calls to a different place from where I'd like them, though I'm happy to have them checked by the linter.
Closes#2701
Fixes#2876 with @paulmelnikow's suggestion
Moved imports of `ServiceTester` and `createServiceTester` to a separate file so that dev dependencies are not imported by service classes.
Continue to implement #2698:
- Add `core/base-service/index.js` (but hold off on moving the things it imports)
- Add shortcuts in `services/index.js` for Base*Service, errors, and deprecatedService. This file will be streamlined later to avoid cluttering it with rarely used bits.
- Apply consistent ordering of imports and use of `module.exports` in testers.
- Remove some renaming of imports.
- Remove obsolete tests here and there.
Close#2334
To avoid merge conflicts, I've deferred removing the aliasing logic in `prepareExamples`. That whole function will be refactored momentarily, and there's also #2339 open.
The term “url” is overloaded in services, to refer to the Shields route and also the API URL. Calling the Shields URL a “route” is on the whole more descriptive, and makes it clearer and more obvious which one of these we’re talking about. It’s a small thing, though seems like an improvement.
We have a few functions called `buildUrl`. I’ve renamed them to `buildRoute` when they refer to routes, and left them as `buildUrl` when they refer to API URLs.
I included a minor style tweak and some formatting cleanup in `TUTORIAL.md`.