* add and consistently use parseDate and renderDateBadge helpers
also move
- age
- formatDate
- formatRelativeDate
to date.js
* fix bug in wordpress last update badge
* validate in formatDate() and age()
it is going to be unlikely we'll invoke either of these
directly now, but lets calidate here too
* remove unusued imports
* reverse colours for galaxy toolshed
* use defaultLabel in renderVersionBadge without tag
As we refactor the codebase to use renderVersionBadge.
some badges need to show default label regardless of tag existance.
This is usefull for cases where the label is dynamic.
This change requires fixing test for npm, not sure how it worked before.
* Refactor AurVersion to use renderVersionBadge
part of #2026
* Refactor CondaVersion to use renderVersionBadge
part of #2026
* Refactor WordpressRequiresVersion to use renderVersionBadge
* add postfix option to renderVersionBadge
* add missing tests for renderVersionBadge
add defaultLabel without tag test
add postfix test
add test for all options together
* Refactor WordpressPluginTestedVersion to use renderVersionBadge
* add prefix override to renderVersionBadge
adds tests for all options with prefix as well
used for #2026 but also usefull for usage letting people override v prefix for versions all over the project once #2026 is done as requested for example in #10574
* Refactor RequiresPHPVersionForType to use renderVersionBadge
* update packages
* add plugin to strip autolinks in code blocks
* fix all the documentation for MDXv3
* remove check-docusaurus-versions
in docusaurus 3 this is now a hard error, not just a warning
* port upstream change to Curl component
fixes performing the 'execute' action when pressing enter
* you missed one
* remove examples from deprecatedService()
I'm not going to replace this with openApi
We have zero examples of deprecated services that declare examples
* remove examples from redirector()
* update test
* remove compatibility code for converting examples to openApi
* remove all the code for handling examples
* remove a few bits of redundant code
* improve docs for openApi property
* last one, I promise
* update terminology
- "regular update" to "cached resource"
- "interval" to "ttl"
- move file and update imports
* set a default TTL, don't explicitly pass params if we want the default
* add tests
* update docs
* Revert "send custom user agent when using got (#6256)"
This reverts commit fd7eddc7bb.
* Revert "Migrate request to got (part 1 of many) (#6160)"
This reverts commit 2359eb278b.
* install got as a prod dependency, allow npm 7
* install new packages
* migrate request to got
* update dynamic json test
This is a behavioural difference between request and got
request will send the request, then we'll get a
`400 Bad Request` back and re-throw at as invalid
got will pick up that the URL is invalid and throw
`RequestError: URI malformed` before attempting to send it
which we'll re-throw as inaccessible
* fix OPM service
* fix wordpress querystring
Got doesn't natively support assmebling a querystring
from nested objects because it uses node's URLSearchParams
internally. Use qs and pass qs a string.
Wordpress is the only service that needs this,
so we could build the string manually in this case
if we don't want to take qs as a prod dependency.
It is mostly hard-coded values anyway.
* fix wercker
got overwrites any ?foo=bar in the URL string if
searchParams is also passed whereas request appends
see https://github.com/sindresorhus/got#url
* fix keybase
* add tests for got wrapper
* bootstrap global agent in server start
* feat: added schema and API options for new badge
* fix: fixed platform test's for new schema and api options
* feat: added new badge for theme and plugin last updated
* test: added testing for new badge
* feat: added regex pattern for last update string
* fix: fixed mock test's that didn't match regex pattern
* refactor: changed to moment formatting
Changed to use the moment lib to validate and format last_update date strings from upstream API
* fix: fixed failing platform service tests
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
* feat: added wp required version badge for themes
Refactored to allow plugin and theme extensionType for WP Required Version. Also added required schema for themes, already present for plugins.
* test: added testing for the new badge
Added testing for the new theme badge
* refactor: convert static classes to static props
* fix: modules export
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* feat: added schema and api options
* feat: added new badge for required php version
* test: fixed existing testing and added new for new badge
Fixed existing testing to conform to new api options and schema. Also added testing for the new badge
* fix: changed to mocked test
Changed the Theme Not Set test to a mock as unable to find a live example (previously used 'generatepress' however this now has the data). Also split out query selector fields to allow updating in one place for themes and plugins
* fix: changed the style of the badge to better show the info
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* feat: updated to new WordPress API
Updated to the new WordPress API, and separated plugin and theme schemas for future expansion
* test: updated testing for new API
Updated some testing to work with the new API request
* feat: updated schema to require keys
Updated schema to require all the keys in the schema
* fix: remove duplicate requirement
The helper already includes required so we don't need to require it again
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
* fix: remove duplicate requirement
The helper already includes required so we don't need to require it again
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* set followRedirect: false by default in tests
* update tests implicitly relying on redirects
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
* Convert remaining tests to use expectRedirect() helper
* convert last few redirect tests to use svg not json
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
I find having these in a consistent order makes the services much faster to read.
This is the order I’ve generally been using:
1. Category
2. Route
3. Examples
4. Rendering
5. Other helpers (`fetch()`, `transform()`)
6. `handle()`
- Prefer inline transforms to take place in `handle()` rather than `render()`
- Avoid inversion of control by removing `BaseWordpress#handle()`, passing `extensionType` into `fetch()`, and removing one layer of subclassing
- Move “not found” checks into `fetch()`
- Cache wordpress versions instead of fetching on each request
- Start to convert aliases to redirects (there are more of these which could be tackled in a follow-on)
- Replace at least one route `format` with a `pattern` (ref #3329)
- Partially reorder: name, category, route, examples, defaultBadgeData, render, fetch, handle
Some of this is in line with our established patterns or makes it clearly easier to follow; some of it is arguably stylistic.
* Modernised JSON format and removed _shields_test style
* Added logoWidth and labelColor fields to JSON response
* Reinstated and updated comment
* Extended expectBadge to accept Joi schemas for all fields