Commit Graph
2246 Commits
Author SHA1 Message Date
Paul MelnikowandGitHub e3ad57d8fe Add tips for rewriting legacy services (#2429) 2018-12-03 00:27:12 -05:00
Pierre-Yves BandGitHub 0a6afb4478 Added tests for Sourcegraph service (#2439) 2018-12-02 17:41:01 +00:00
Paul MelnikowandGitHub 59fdd8a5b0 TokenPool: Add debug logging helper + return correct error (#2400)
Slice another sliver from #1205.
2018-12-02 11:28:21 -05:00
Tair AssimovandPaul Melnikow 88294563cc Deprecate dockbit service - discontinued (#2410)
Ref: #2344
2018-12-02 11:26:10 -05:00
Paul MelnikowandGitHub 2045489019 Service definition export format (#2397)
Three main goals:

1. In the front end:
      a. Show form fields and automatically assemble badge URLs (#701)
      c. Group together examples for the same service
      b. Show deprecated services
2. Make it easy to changing the schema of `examples`, thanks to 100% validation. One challenge with frameworks is that when there are typos things fail silently which is pretty unfriendly to developers. The validation should really help with that. (This caught one bug in AUR, though I fixed it in #2405 which landed first.)
3. Produce a service definition export for external tool builders. (#776)
4. Build toward harmony between the front-end data structure and the `examples` key in the service classes. I aliased `staticPreview` to `staticExample` which starts this process.

The old format:

- Lacked a consistent machine-readable representation of the fields.
- Flattened multiple examples for the same service were flattened.
- Excluded deprecated services.

The new format improves a few things, too:

- It cleans up the naming. Since this file evolved over time, the names were a bit muddled (i.e. what was an example vs a preview).
- It duplicated information (like `.svg`). (I can imagine dropping the `.svg` from our badge URLs someday, which would make the URLs easier to read and maintain.)
- For a human reading the YAML file, providing the static example as a deconstructed object is more readable.

Here are a couple snippets:

```yml
  - category: build
    name: AppVeyorCi
    isDeprecated: false
    route:
      format: '([^/]+/[^/]+)(?:/(.+))?'
      queryParams: []
    examples:
      - title: AppVeyor
        example: {path: /appveyor/ci/gruntjs/grunt, queryParams: {}}
        preview: {label: build, message: passing, color: brightgreen}
        keywords: []
      - title: AppVeyor branch
        example: {path: /appveyor/ci/gruntjs/grunt/master, queryParams: {}}
        preview: {label: build, message: passing, color: brightgreen}
        keywords: []
  - category: downloads
    name: AmoDownloads
    isDeprecated: false
    examples:
      - title: Mozilla Add-on
        example: {path: /amo/d/dustman, queryParams: {}}
        preview: {path: /amo/d/dustman, queryParams: {}}
        keywords: [amo, firefox]
```
2018-12-02 11:21:30 -05:00
Pierre-Yves BandGitHub 658086bc46 Tests for [Pub] service (#2436) 2018-12-02 10:08:21 +00:00
Paul MelnikowandGitHub 74aef34b77 Modernize [AzureDevops] examples (#2406) 2018-12-01 18:01:19 -05:00
chris48sandGitHub e20c7c8b14 show dynamic badge examples with a base (#2438)
this makes them a bit nicer to copy & paste
2018-12-01 21:55:18 +00:00
Paul MelnikowandGitHub 2ec2c00787 Fix [LibrariesioDependencies] for project names containing dots (#2434)
Close #2424
2018-12-01 16:05:54 -05:00
Paul MelnikowandGitHub 0aee712738 Fix crash in legacy service (#2437)
Bug in #2360
2018-12-01 15:10:32 -05:00
Paul MelnikowandGitHub 54a36e9474 Refactor cache-header handling and config, create NonMemoryCachingBaseService, rewrite [flip] (#2360)
There's a lot going on in this PR, though it's all interdependent, so the only way I can see to break it up into smaller pieces would be serially.

1. I completely refactored the functions for managing cache headers. These have been added to `services/cache-headers.js`, and in some ways set the stage for the rest of this PR.

    - There are ample higher-level test of the functionality via `request-handler`. Refactoring these tests was deferred. Cache headers were previously dealt with in three places:
        - `request-handler.js`, for the dynamic badges. This function now calls `setCacheHeaders`.
        - `base-static.js`, for the static badges. This method now calls the wordy `serverHasBeenUpSinceResourceCached` and `setCacheHeadersForStaticResource`.
        - The bitFlip badge in `server.js`. 👈 This is what set all this in motion. This badge has been refactored to a new-style service based on a new `NoncachingBaseService` which does not use the Shields in-memory cache that the dynamic badges user.
    - I'm open to clearer names for `NoncachingBaseService`, which is kind of terrible. Absent alternatives, I wrote a short essay of clarification in the docstring. 😝 

2. In the process of writing `NoncachingBaseService`, I discovered it takes several lines of code to instantiate and invoke a service. These would be duplicated in three or four places in production code, and in lots and lots of tests. I kept the line that goes from regex to namedParams (for reasons) and moved the rest into a static method called `invoke()`, which instantiates and invokes the service. This _replaced_ the instance method `invokeHandler`.
    - I gently reworked the unit tests to use `invoke` instead of `invokeHandler`– generally for the better.
    - I made a small change to `BaseStatic`. Now it invokes `handle()` async as the dynamic badges do. This way it could use `BaseService.invoke()`.

3. There was logic in `request-handler` for processing environment variables, validating them, and setting defaults. This could have been lifted whole-hog to `services/cache-headers.js`, though I didn't do that. Instead I moved it to `server-config.js`. Ideally `server-config` is the only module that should access `process.env`. This puts the defaults and config validation in one place, decouples the config schema from the entire rest of the application, and significantly simplifies our ability to test different configs, particularly on small units of code. (We were doing this well enough before in `request-handler.spec`, though it required mutating the environment, which was kludgy.) Some of the `request-handler` tests could be rewritten at a higher level, with lower-level data-driven tests directly against `cache-headers`.
2018-12-01 13:57:34 -05:00
Paul MelnikowandGitHub 17e57b4155 Add static examples to a few legacy services [travis david coveralls amo] (#2407)
It seems useful to accelerate #1961 even as the badge rewrites are still underway. This introduces a small amount of technical debt by hard-coding the static example, though continuing this work could allow us to eliminate the old ways of specifying examples. It seems like a decent tradeoff.
2018-12-01 13:52:49 -05:00
dependabot[bot]andPierre-Yves B 18b95cba5a Bump snap-shot-it from 6.2.5 to 6.2.7 (#2421)
Bumps [snap-shot-it](https://github.com/bahmutov/snap-shot-it) from 6.2.5 to 6.2.7.
- [Release notes](https://github.com/bahmutov/snap-shot-it/releases)
- [Commits](https://github.com/bahmutov/snap-shot-it/compare/v6.2.5...v6.2.7)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-01 14:50:09 +00:00
dependabot[bot]andPierre-Yves B 41b05b3320 Bump prettier from 1.15.2 to 1.15.3 (#2433)
Bumps [prettier](https://github.com/prettier/prettier) from 1.15.2 to 1.15.3.
- [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.15.2...1.15.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-01 14:40:30 +00:00
anatoly techtonikandPaul Melnikow 07063fd1be TUTORIAL.md: Service handles requests to external APIs (#2422) 2018-11-29 20:08:20 -05:00
Monica BuiandPaul Melnikow 3b3dd9fb1b Fix URL pattern for [StackExchange] Questions and Reputation per PR #2418 (#2430)
* Fix URL pattern for StackExchange Questions and Reputation per #2418

Url patterns have been changed back to their older legacy format.
Tests now run properly with this URL in addition to the examples
showing up on local.

* Make changes per review comments. Also change "q" to "t" parameter to match legacy url for questions
2018-11-29 19:07:31 -05:00
Paul MelnikowandGitHub bff4f83818 Rewrite [ElmPackage] (#2403)
Ref #1358
2018-11-29 17:38:49 -05:00
dependabot[bot]andchris48s 24c0b9c7e7 Bump danger from 6.1.5 to 6.1.8 (#2416)
Bumps [danger](https://github.com/danger/danger-js) from 6.1.5 to 6.1.8.
- [Release notes](https://github.com/danger/danger-js/releases)
- [Changelog](https://github.com/danger/danger-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/danger/danger-js/compare/6.1.5...6.1.8)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-29 22:29:31 +00:00
dependabot[bot]andchris48s 4da2fa3aa9 Bump fast-xml-parser from 3.12.8 to 3.12.9 (#2395)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 3.12.8 to 3.12.9.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-29 22:26:51 +00:00
Paul MelnikowandGitHub 8d19f78363 Rewrite + tweak [Beerpay] (#2404)
Ref #1358
2018-11-29 17:24:29 -05:00
anatoly techtonikandPaul Melnikow 1144dba14a TUTORIAL.md: Mention URL mapping upfront and clarify static meaning (#2425)
* TUTORIAL.md: Mention URL mapping upfront and clarify static meaning

* Be more specific that route is URL

* Explain async without reference to prior knowledge

* Use the same example URL to explain the directory layout

* Clean diff

* `route()` + `static`

- The route includes the base URL, so try to clarify that
- Add some more information about `static`
2018-11-29 14:46:42 -05:00
Monica BuiandPaul Melnikow 9713964812 Port [StackExchange] from legacy to BaseJsonService (#2418)
Per part of issue #2378, convert StackExchange service to the newer
BaseJson class. Refactor also to seperate StackExchange reputation and
questions tag info into new StackExchange subservice files
as the legacy class contained both which may be difficult to keep track
of in the future as the service continues to grow.
More tests have been added to make sure other StackExchange sites besides
StackOverflow will still work with the new badge setup.
2018-11-28 21:40:12 -05:00
Paul MelnikowandGitHub 43d99f96e6 Fix failing service tests for [bintray npmlicense github crates] (#2401)
Closes #2343 #2348 #2402

Ref: #2345 #1359
2018-11-28 18:54:04 -05:00
Paul MelnikowandGitHub 77ff19903d Test the notfound routes in server.js (#2398) 2018-11-27 16:36:20 -05:00
Paul MelnikowandGitHub c678ca2abd Tweak [AUR] and add static examples (#2405) 2018-11-27 16:34:02 -05:00
Monica BuiandPaul Melnikow 11493d6ab9 Add tests for [StackExchange] (#2414) 2018-11-27 15:55:05 -05:00
dependabot[bot]andPaul Melnikow 1cebdd4bb1 Bump sinon-chai from 3.2.0 to 3.3.0 (#2408)
Bumps [sinon-chai](https://github.com/domenic/sinon-chai) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/domenic/sinon-chai/releases)
- [Commits](https://github.com/domenic/sinon-chai/compare/v3.2.0...3.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-27 10:44:35 -05:00
dependabot[bot]andchris48s a524658e74 Bump lint-staged from 8.0.5 to 8.1.0 (#2384)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 8.0.5 to 8.1.0.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v8.0.5...v8.1.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-25 21:29:04 +00:00
dependabot[bot]andchris48s aed2320d5a Bump joi from 14.0.6 to 14.3.0 (#2393)
Bumps [joi](https://github.com/hapijs/joi) from 14.0.6 to 14.3.0.
- [Release notes](https://github.com/hapijs/joi/releases)
- [Changelog](https://github.com/hapijs/joi/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hapijs/joi/compare/v14.0.6...v14.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-25 21:20:47 +00:00
dependabot[bot]andchris48s 08546544c8 Bump husky from 1.1.4 to 1.2.0 (#2381)
Bumps [husky](https://github.com/typicode/husky) from 1.1.4 to 1.2.0.
- [Release notes](https://github.com/typicode/husky/releases)
- [Changelog](https://github.com/typicode/husky/blob/master/CHANGELOG.md)
- [Commits](https://github.com/typicode/husky/compare/v1.1.4...v1.2.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-25 21:14:10 +00:00
Marcin MielnickiandGitHub c72e366895 Run service tests on a given (remote) instance; test on [jetbrains] (#2195)
* Allow to run service tests for remote shields instance

* Allow to run service tests for remote shields instance - doc

* Load testedServerUrl from env variable

* Load 'skipIntercepted' flag from env variable
2018-11-25 15:51:57 +01:00
Pierre-Yves BandGitHub 72955abac7 Added tests for Package Control service (#2390) 2018-11-25 14:33:05 +00:00
Paul MelnikowandGitHub b600bde44e The last of the badge examples (#2389)
* Move PowerShell

* Move Choco + Resharper

* Move MyGet and Nuget
2018-11-25 09:14:54 -05:00
Pierre-Yves BandGitHub b9f89d63d8 Added tests for OSS Lifecycle service (#2386) 2018-11-24 19:33:21 +00:00
dependabot[bot]andPaul Melnikow abec14812c Bump react-dom from 16.6.1 to 16.6.3 (#2374)
Bumps [react-dom](https://github.com/facebook/react) from 16.6.1 to 16.6.3.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/compare/v16.6.1...v16.6.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-24 13:18:26 -05:00
dependabot[bot]andPierre-Yves B 1a75790078 Bump fast-xml-parser from 3.12.7 to 3.12.8 (#2385)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 3.12.7 to 3.12.8.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-24 09:40:42 +00:00
dependabot[bot]andPierre-Yves B a35d528395 Bump danger from 6.1.4 to 6.1.5 (#2380)
Bumps [danger](https://github.com/danger/danger-js) from 6.1.4 to 6.1.5.
- [Release notes](https://github.com/danger/danger-js/releases)
- [Changelog](https://github.com/danger/danger-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/danger/danger-js/compare/6.1.4...6.1.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-24 09:35:53 +00:00
dependabot[bot]andDanial bef82d092f Bump simple-icons from 1.9.13 to 1.9.14 (#2383)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 1.9.13 to 1.9.14.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 12:19:46 +13:00
Paul MelnikowandGitHub da0bf8c57c Remove unused chai-as-promised dependency (#2359) 2018-11-21 17:10:09 -05:00
Paul MelnikowandGitHub 5c577bf8b7 Circle: Remove obsolete check (#2371)
As discussed at #2314.
2018-11-21 17:07:54 -05:00
Paul MelnikowandGitHub 705d3dba9d Readme: Update badge label (#2372)
I think this better captures the meaning of this badge, especially from an outsider perspective.
2018-11-21 17:05:37 -05:00
Haythem TliliandPaul Melnikow f076b46da8 CircleCI token documentation (#2379) 2018-11-21 10:42:26 -06:00
Haythem TliliandPaul Melnikow ce0b492029 Fix CircleCI token example (#2373)
The CircleCI token example contains a redundant fragment `/circleci/circleci/:token`.
2018-11-20 15:35:44 -06:00
dependabot[bot]andPaul Melnikow 5a367efe11 Bump eslint-plugin-node from 7.0.1 to 8.0.0 (#2225)
* Bump eslint-plugin-node from 7.0.1 to 8.0.0

Bumps [eslint-plugin-node](https://github.com/mysticatea/eslint-plugin-node) from 7.0.1 to 8.0.0.
- [Release notes](https://github.com/mysticatea/eslint-plugin-node/releases)
- [Commits](https://github.com/mysticatea/eslint-plugin-node/compare/v7.0.1...v8.0.0)

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

* Update lockfile

* Temporarily ignore…
2018-11-19 16:15:47 -05:00
dependabot[bot]andPaul Melnikow 7fa8f9dbca Bump react from 16.5.2 to 16.6.3 (#2319)
* Bump react from 16.5.2 to 16.6.3

Bumps [react](https://github.com/facebook/react) from 16.5.2 to 16.6.3.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/compare/v16.5.2...v16.6.3)

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

* Bump react-dom from 16.5.2 to 16.6.1

Bumps [react-dom](https://github.com/facebook/react) from 16.5.2 to 16.6.1.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/compare/v16.5.2...v16.6.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-19 16:11:10 -05:00
dependabot[bot]andPaul Melnikow fcd33fec1e Bump @babel/core from 7.1.2 to 7.1.6 (#2318)
Bumps [@babel/core](https://github.com/babel/babel) from 7.1.2 to 7.1.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.1.2...v7.1.6)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-19 16:05:00 -05:00
dependabot[bot]andPaul Melnikow d9f132d865 Bump @babel/preset-env from 7.1.0 to 7.1.6 (#2315)
* Bump @babel/preset-env from 7.1.0 to 7.1.6

Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.1.0 to 7.1.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.1.0...v7.1.6)

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

* Update lockfile
2018-11-19 16:02:45 -05:00
Mehmet Seçkinandchris48s 6b0977be9d Add support for JaCoCo style line coverage (#2369)
JaCoCo uses "Line" as the type name for line coverage metric counter.
Added a condition to accept "Line" as a valid coverage stat label to
support JaCoCo style coverage reports.

See https://www.jacoco.org/jacoco/trunk/coverage/report.dtd for details
2018-11-19 20:47:36 +00:00
Paul MelnikowandGitHub ccfac2eab3 Move remaining badge examples into services/ [cpan] (#2349)
Except NuGet; leaving those for the last pass.
2018-11-19 15:25:34 -05:00
dependabot[bot]andchris48s c9057266ea Bump concurrently from 4.0.1 to 4.1.0 (#2365)
Bumps [concurrently](https://github.com/kimmobrunfeldt/concurrently) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/kimmobrunfeldt/concurrently/releases)
- [Commits](https://github.com/kimmobrunfeldt/concurrently/compare/v4.0.1...v4.1.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-19 19:35:23 +00:00