Commit Graph
194 Commits
Author SHA1 Message Date
Paul MelnikowandGitHub 3eac8ebbfb Rework GitHub acceptor and move to its own module (#2021)
Continue to merge the work from #1205.
2018-11-09 15:14:01 -05:00
Paul MelnikowandGitHub 02ec19fd22 BaseService terminology: Rename url to route (#2278)
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`.
2018-11-09 15:11:03 -05:00
Paul MelnikowandGitHub c4af2cac53 Convert a bunch of URL formats to patterns (#2293)
Follow-on to #2279
2018-11-09 14:03:00 -05:00
Paul MelnikowandGitHub 291f35d4ad Reduce duplication in badge regex/url patterns (#2279)
This reduces duplication in badge regex/url patterns, and reduces the need to understand regexes in order to create badges.

Ref: #2050
2018-11-08 15:05:44 -05:00
Paul MelnikowandGitHub 611e58e43e Make a few github tests more reliable (#2292)
The version test is failing because the shields repo version is not a dotted version.
2018-11-08 14:48:44 -05:00
dependabot[bot]andPaul Melnikow e240409033 Bump prettier from 1.14.3 to 1.15.1 (#2289)
* Bump prettier from 1.14.3 to 1.15.1

Bumps [prettier](https://github.com/prettier/prettier) from 1.14.3 to 1.15.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/1.14.3...1.15.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Run prettier
2018-11-08 14:39:00 -05:00
chris48sandGitHub 9c658a1345 fix [hexpm] validation (#2282)
closes #2272
2018-11-06 22:28:27 +00:00
chris48sandGitHub 6199b1a878 add not found tests back in for [depfu hexpm requires] (#2281)
* add not found tests back in for [depfu hexpm requires]
* update the docs
2018-11-06 22:24:50 +00:00
chris48sandGitHub 33d5f8f772 round [wordpress] rating (#2283)
closes #2280
2018-11-06 22:20:38 +00:00
Paul MelnikowandGitHub 5019d81642 Add vso keyword to azure badges (#2274) 2018-11-06 16:17:49 -05:00
chris48sandGitHub b19d6d0072 refactor [bitbucket] service (#2261)
* refactor [bitbucket] service
2018-11-06 20:27:55 +00:00
Paul MelnikowandGitHub 3bb392dfae Remove some duplicated URL generation code (#2240)
I went down a rabbit hole while trying to untangle the bug in the dockbit and bitrise examples https://github.com/badges/shields/pull/2234#pullrequestreview-169997546.

The URL generation code is spaghetti-like, with functions, many of which I wrote, with opaque names, doing similar but not identical things, and making slightly incompatible assumptions about the way query strings are handled.

I got a bit lost and need to take a step back.

Meanwhile, this is a small piece of work I did that’s worth keeping. It doesn’t scratch the surface of the tangle, but it does remove a bit of duplication.

It also makes a minor stylistic ES6 change in the handling of default arguments.

Ref: #2027
2018-11-05 16:55:49 -05:00
Paul MelnikowandGitHub e983f7bf3b Rewrite vso, rename to [AzureDevops], validate SVG [readthedocs] (#2252)
1. Add validation to BaseSvgScrapingService and update readthedocs accordingly.
2. Rewrite vso and add more tests. Rename it internally to azure-devops. URLs are still `/vso` for now. Should we make a way to let a service register multiple URL patterns?
3. Handle shared code using a functional pattern instead of inheritance. This comes from a discussion https://github.com/badges/shields/pull/2031#issuecomment-417893819. I like the functional approach because it's more direct, nimble, and easy to reason about; plus it allows services to grow from a family of one to two more easily.
2018-11-05 16:52:53 -05:00
Paul MelnikowandGitHub d55e1c15a6 Enforce using async-await [f-droid] (#2241)
Close #2028
2018-11-04 00:33:47 -04:00
Paul MelnikowandGitHub 83ac6ff1b3 Enforce use of template literals (#2242)
This is consistent with what we're pretty much already doing, and saves us from making the request during code review.

These were all autofixed and most of them seem easier to read. Some in the legacy services should be rewritten in more legible forms during refactor (ie using intermediate variables, or using request’s qs option). There are some in helper functions and elsewhere that should get rewritten separately. I don't want to change them in this PR because the changes will get lost in this diff, though we could identify them here and fix them before or just after.
2018-11-02 17:11:44 -04:00
Paul MelnikowandGitHub 8feb75d97d Move more badge examples into services/ (#2247)
Continuing the work from #2234, this creates additional, empty LegacyServices to hold the badge examples for conda and cocoapods. It's an approach we could take to finish emptying out all-badge-examples while the refactoring continues.

On the website badge, even the first URL path component is variable. I didn't think it could be moved, but it can!
2018-11-01 19:39:28 -04:00
Paul MelnikowandGitHub cdb4cb36a4 Improve static example validation message (#2246) 2018-11-01 19:36:25 -04:00
Paul MelnikowandGitHub 275805e90c Add BaseSvgScrapingService and rewrite [ReadTheDocs]; also affects [codacy vso] (#2229)
Based on discussion in #2031, this adds an abstract service for SVG badges. I started with Readthedocs and the other services can be done as a follow-on.

I called it **BaseSvgScrapingService** rather than **BaseSvgService** to clarify that it's for badges from svg source data – not svg badges, which is all the badges.

Since I don't expect the svg parsing function to be used anywhere else once the services are refactored, I moved it into the class. I added a default value for `valueMatcher`, which works on Shields-style badges and seems to be used more than once.

The tests are based on XmlBaseService. I added one for valueMatcher, and also moved the SVG parsing badge here. Testing on codacy + vso should ensure the old `fetchFromSvg` is still working.
2018-11-01 15:09:00 -04:00
Paul MelnikowandGitHub 07b282fa1f Enforce property shorthand (#2243)
I had to track down the right lint rule for this. We have no-useless-rename for destructuring and import/export. The one for object literals is object-shorthand.
2018-11-01 13:46:23 -04:00
Paul MelnikowandGitHub b7ecbd0a0d Move build badge examples into services/ (#2234)
all-badge-examples is a common cause of merge conflicts. It’s difficult to adjust the badge categorization in that file – or to understand the diff – because it requires moving a block from one point to another. It’s much easier to edit a badge’s category in one place.

This starts the process of breaking up what’s left of that file, following up on the work from #1931. New-style services can only be in one category, which means legacy service examples have to be split along category lines. I split out separate legacy service classes where I could do so easily, leaving behind the ones which require more work, for one reason or another.
2018-10-31 17:32:35 -04:00
Paul MelnikowandGitHub 973eeb0ea7 Make bintray test more reliable (#2239)
See https://circleci.com/gh/badges/shields/19875
2018-10-31 17:28:17 -04:00
piekar294andPierre-Yves B d7a52f3228 Make shippable preview bagde static (#2230) 2018-10-30 18:17:28 +00:00
Tagan Hoyleandchris48s b6c851a377 Refactor [Requires]IO (#2220) 2018-10-28 16:19:39 +00:00
Paul Melnikowandchris48s e66d92f835 Add some error messages for the developer when .service.js is malformed (#1894)
Add some error messages for the developer when .service.js is malformed

When loading `.service.js` files which don’t contain services, such as when the export is forgotten, print helpful error messages. This will only occur during development; the unit tests will catch these problems well before code reaches the server.
2018-10-28 15:58:38 +00:00
chris48sandGitHub 87524976c9 upgrade to Joi 14; affects [elm-package jetbrains npmversion pypi vaadin-directory dynamic-xml] (#2221)
* upgrade to Joi 14
    Joi 14 throws an exception on regexes which use the `g` flag
    see https://github.com/hapijs/joi/issues/1615
    semver-regex uses the `g` flag
    https://github.com/sindresorhus/semver-regex/blob/master/index.js
    so in order to upgrade Joi, I've swapped out semver-regex
    We'll use joi-extension-semver for semver validation now

* use isVPlusDottedVersionNClauses in jetbrains tests
    some of these projects use version numbers like
    v1.7 or
    v3.0.0.141
2018-10-28 15:56:19 +00:00
Paul MelnikowandGitHub 6e51178e73 Make more consistent use of async/await (#2219)
In #2028 I suggested that we update as much of the code as possible to make consistent use of async await. This snags a bunch of the utility code and attempts to do that.
2018-10-28 11:34:47 -04:00
Tagan HoyleandPierre-Yves B 60592b8547 Refactor [Wordpress] Service (#2152) 2018-10-27 11:59:43 +01:00
Thomas DémoulinsandPierre-Yves B 979a34b831 #2082 Rename VSTS into Azure DevOps + update its documentation (#2206) 2018-10-27 09:54:31 +01:00
Tagan HoyleandPierre-Yves B 6e8c71b01b Refactor [Swagger] Service (#2215) 2018-10-27 09:30:26 +01:00
chris48sandGitHub b866089c64 allow badge maxAge to be set by category; affects [discord] (#2205)
* allow badge maxAge to be set by category
* override default cache length for [discord]
* update maxAge docs
2018-10-26 20:08:02 +01:00
Pierre-Yves BandGitHub 99ec8fa239 [eclipse-marketplace] License badge (#2212) 2018-10-25 20:53:34 +01:00
chris48sandGitHub 744ef16009 refactor [depfu] service (#2204) 2018-10-23 18:24:14 +01:00
Pierre-Yves BandGitHub efb40fe4c0 Static Code Climate examples (#2201) 2018-10-23 18:12:29 +01:00
chris48sandGitHub 8ee2701836 refactor [hexpm] service (#2203) 2018-10-23 18:06:57 +01:00
chris48sandGitHub aeceb283d8 switch [powershellgallery] to use temp url (#2189) 2018-10-23 18:03:50 +01:00
Lentil Sunandchris48s 88f10f8079 Fix: colorB override not working for Github Stars (#2171) 2018-10-21 14:33:12 +01:00
piekar294andchris48s 6c09bc0998 add tests for [cookbook] service (#2197) 2018-10-21 14:21:09 +01:00
Przemo NowaczykandMarcin Mielnicki 95f1b50194 test "static" gitter service behaviour (#2199) 2018-10-20 21:32:40 +02:00
Przemo NowaczykandMarcin Mielnicki 6f589a789a [ctan] refactor service (#2194)
* refactor ctan service

* fix service title

* prettier

* add single license test

* move example code to service
2018-10-20 14:51:25 +02:00
Ted JaneczkoandPierre-Yves B a6fe16c5d1 Add support for private [npm] packages (#2187) 2018-10-20 08:06:36 +01:00
chris48sandGitHub 32b123671c refactor [ansible] role service (#2158) 2018-10-19 19:23:41 +01:00
Przemo NowaczykandMarcin Mielnicki 999a24320e [ctan] add tests (#2191)
* add ctan tests

* prettier
2018-10-19 11:35:19 +02:00
Jowita Mielnickaandchris48s 204680ec0a lightgrey color in build-unknown scrutinizer (#2172) 2018-10-15 21:50:30 +01:00
Jowita Mielnickaandchris48s 9b6ba776f0 [bintray] test (#2175) 2018-10-14 20:55:04 +01:00
Jowita Mielnickaandchris48s 584fc99f54 [beerpay] test (#2174) 2018-10-14 19:49:26 +01:00
Jowita Mielnickaandchris48s fb6e91c3b2 standardize label on [cpan] license badge (#2173) 2018-10-14 19:31:47 +01:00
Jowita Mielnickaandchris48s 89ff0687af standardize label on [bower] license badge (#2168) 2018-10-14 19:28:54 +01:00
PyvesandGitHub 16dc2ec3a9 [Jenkins] coverage badges rewrite (#2154) 2018-10-11 21:42:47 +01:00
Tagan HoyleandDanial 74b6c4a700 Add [Steam] Service (#2140)
* Add Steam Service
2018-10-11 09:04:17 +13:00
chris48sandGitHub a74db34853 Allow [GitHub] tag badge to sort by date (#2157)
* add test for tag-pre
* support /releases-pre (but also allow /all for BC)
* allow GH tags to be sorted by date instead of semver
* fix license badge
2018-10-08 18:29:02 +01:00