Compare commits

...

252 Commits

Author SHA1 Message Date
github-actions[bot]
8a0af349b5 Changelog for Release server-2023-03-01 (#8949)
* Update Changelog

* Update CHANGELOG.md

* link to changelog in warning

---------

Co-authored-by: release[bot] <actions@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
Co-authored-by: chris48s <git@chris-shaw.dev>
2023-03-01 20:05:17 +00:00
chris48s
cd91caf484 remove migrate-token-pool.js (#8931)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-26 21:50:27 +00:00
dependabot[bot]
78f0e38d57 chore(deps): bump joi from 17.7.1 to 17.8.3 (#8942)
Bumps [joi](https://github.com/hapijs/joi) from 17.7.1 to 17.8.3.
- [Release notes](https://github.com/hapijs/joi/releases)
- [Commits](https://github.com/hapijs/joi/compare/v17.7.1...v17.8.3)

---
updated-dependencies:
- dependency-name: joi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-25 18:59:32 +00:00
chris48s
088fb17088 fix: for crates.io versions, use max_stable_version if it exists (#8687)
Co-authored-by: Zeeshan Lakhani <zeeshan.lakhani@gmail.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-25 18:18:30 +00:00
dependabot[bot]
fb463e0bb1 chore(deps-dev): bump babel-plugin-inline-react-svg from 2.0.1 to 2.0.2 (#8935)
Bumps [babel-plugin-inline-react-svg](https://github.com/kesne/babel-plugin-inline-react-svg) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/kesne/babel-plugin-inline-react-svg/releases)
- [Changelog](https://github.com/airbnb/babel-plugin-inline-react-svg/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kesne/babel-plugin-inline-react-svg/compare/v2.0.1...v2.0.2)

---
updated-dependencies:
- dependency-name: babel-plugin-inline-react-svg
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-25 12:01:23 -06:00
dependabot[bot]
c4ec53cac4 chore(deps-dev): bump @babel/register from 7.18.9 to 7.21.0 (#8936)
Bumps [@babel/register](https://github.com/babel/babel/tree/HEAD/packages/babel-register) from 7.18.9 to 7.21.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.21.0/packages/babel-register)

---
updated-dependencies:
- dependency-name: "@babel/register"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-25 11:21:02 -06:00
dependabot[bot]
3c4d325e88 chore(deps-dev): bump @babel/core from 7.20.12 to 7.21.0 (#8939)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.20.12 to 7.21.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.21.0/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-24 17:45:00 -06:00
dependabot[bot]
5705957cf0 chore(deps-dev): bump cypress from 12.5.1 to 12.6.0 (#8941)
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.5.1 to 12.6.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.5.1...v12.6.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-24 21:03:27 +00:00
dependabot[bot]
3659599968 chore(deps-dev): bump jsdoc from 4.0.1 to 4.0.2 (#8940)
Bumps [jsdoc](https://github.com/jsdoc/jsdoc) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/jsdoc/jsdoc/releases)
- [Changelog](https://github.com/jsdoc/jsdoc/blob/4.0.2/CHANGES.md)
- [Commits](https://github.com/jsdoc/jsdoc/compare/4.0.1...4.0.2)

---
updated-dependencies:
- dependency-name: jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-24 20:50:04 +00:00
dependabot[bot]
0fa54f5265 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8937)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.52.0 to 5.53.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.53.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-24 20:40:43 +00:00
chris48s
6bb495ce53 fix TypeError: console.warning is not a function (#8930) 2023-02-23 18:18:37 +00:00
chris48s
091ccfdbcd migrate token pooling to postgres (#8922)
* add ability to store token pool in Postgres DB

* update transitive ansi-regex dependencies
2023-02-23 17:18:39 +00:00
chris48s
ec8d739099 don't autofocus search (#8927) 2023-02-22 17:58:57 -06:00
Nicolas Jakob
303fb86200 Add [Vcpkg] version service (#8923)
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-02-20 19:44:47 +00:00
rroesch1
174b1915c5 fix: Set uid/gid in docker image to 0 (#8908)
* UIDs/GIDs in the docker image are messed up due to strange UIDs/GIDs in tarballs from the npm registry
* This change overrides the UID/GID of all files in `/usr/src/app`

fixes: badges/shields#8906

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-02-20 19:22:14 +00:00
dependabot[bot]
7f05d1aad9 chore(deps): bump simple-icons from 8.4.0 to 8.5.0 (#8909)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 8.4.0 to 8.5.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/8.4.0...8.5.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-19 19:07:17 +00:00
dependabot[bot]
daafaaa68a chore(deps): bump @sentry/node from 7.37.0 to 7.38.0 (#8924)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.37.0 to 7.38.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.37.0...7.38.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-19 19:01:25 +00:00
dependabot[bot]
673688e4a2 chore(deps-dev): bump lint-staged from 13.1.1 to 13.1.2 (#8917)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 13.1.1 to 13.1.2.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v13.1.1...v13.1.2)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-19 18:55:56 +00:00
dependabot[bot]
1f59785e20 chore(deps): bump ioredis from 5.3.0 to 5.3.1 (#8916)
Bumps [ioredis](https://github.com/luin/ioredis) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/luin/ioredis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/luin/ioredis/compare/v5.3.0...v5.3.1)

---
updated-dependencies:
- dependency-name: ioredis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-19 18:52:28 +00:00
chris48s
115d768b50 pin 'deploy docs' build to node 16 (#8925)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-19 18:07:51 +00:00
dependabot[bot]
7b7c961781 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8912)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.51.0 to 5.52.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.52.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-19 16:35:07 +00:00
dependabot[bot]
95f21f0534 chore(deps): bump fast-xml-parser from 4.1.1 to 4.1.2 (#8913)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.1.1 to 4.1.2.
- [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/compare/v4.1.1...v4.1.2)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-19 16:29:00 +00:00
dependabot[bot]
aeb1058c5b chore(deps-dev): bump eslint-plugin-jsdoc from 39.8.0 to 40.0.0 (#8914)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.8.0 to 40.0.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.8.0...v40.0.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-19 15:58:04 +00:00
dependabot[bot]
695c11c815 chore(deps-dev): bump jsdoc from 4.0.0 to 4.0.1 (#8915)
Bumps [jsdoc](https://github.com/jsdoc/jsdoc) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/jsdoc/jsdoc/releases)
- [Changelog](https://github.com/jsdoc/jsdoc/blob/4.0.1/CHANGES.md)
- [Commits](https://github.com/jsdoc/jsdoc/compare/4.0.0...4.0.1)

---
updated-dependencies:
- dependency-name: jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-19 15:48:29 +00:00
dependabot[bot]
f252967d7d chore(deps-dev): bump start-server-and-test from 1.15.3 to 1.15.4 (#8918)
Bumps [start-server-and-test](https://github.com/bahmutov/start-server-and-test) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/bahmutov/start-server-and-test/releases)
- [Commits](https://github.com/bahmutov/start-server-and-test/compare/v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: start-server-and-test
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-19 15:34:51 +00:00
dependabot[bot]
5ddf5399c1 chore(deps-dev): bump c8 from 7.12.0 to 7.13.0 (#8919)
Bumps [c8](https://github.com/bcoe/c8) from 7.12.0 to 7.13.0.
- [Release notes](https://github.com/bcoe/c8/releases)
- [Changelog](https://github.com/bcoe/c8/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bcoe/c8/compare/v7.12.0...v7.13.0)

---
updated-dependencies:
- dependency-name: c8
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-19 15:30:13 +00:00
dependabot[bot]
1e168b71ef chore(deps): bump joi from 17.7.0 to 17.7.1 (#8900)
Bumps [joi](https://github.com/hapijs/joi) from 17.7.0 to 17.7.1.
- [Release notes](https://github.com/hapijs/joi/releases)
- [Commits](https://github.com/hapijs/joi/compare/v17.7.0...v17.7.1)

---
updated-dependencies:
- dependency-name: joi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-12 20:08:39 +00:00
chris48s
c2fe2ffa2e documentation html fixes (#8887)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-12 18:47:16 +00:00
dependabot[bot]
e5be1d6a1c chore(deps-dev): bump lint-staged from 13.1.0 to 13.1.1 (#8904)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 13.1.0 to 13.1.1.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v13.1.0...v13.1.1)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-12 18:42:51 +00:00
dependabot[bot]
9cfc47bba9 chore(deps): bump pretty-bytes from 6.0.0 to 6.1.0 (#8897)
Bumps [pretty-bytes](https://github.com/sindresorhus/pretty-bytes) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/sindresorhus/pretty-bytes/releases)
- [Commits](https://github.com/sindresorhus/pretty-bytes/compare/v6.0.0...v6.1.0)

---
updated-dependencies:
- dependency-name: pretty-bytes
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-12 18:36:22 +00:00
dependabot[bot]
25d59e0809 chore(deps-dev): bump minimist from 1.2.7 to 1.2.8 (#8899)
Bumps [minimist](https://github.com/minimistjs/minimist) from 1.2.7 to 1.2.8.
- [Release notes](https://github.com/minimistjs/minimist/releases)
- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minimistjs/minimist/compare/v1.2.7...v1.2.8)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-10 15:20:47 +00:00
dependabot[bot]
6c0274336d chore(deps-dev): bump prettier from 2.8.3 to 2.8.4 (#8901)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.3 to 2.8.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.3...2.8.4)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-10 14:37:12 +00:00
dependabot[bot]
3b9aa61d31 chore(deps-dev): bump eslint-plugin-jsdoc from 39.7.5 to 39.8.0 (#8902)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.7.5 to 39.8.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.7.5...v39.8.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-10 14:28:22 +00:00
dependabot[bot]
4d9247cdda chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8898)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.50.0 to 5.51.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.51.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-10 14:18:51 +00:00
dependabot[bot]
4b4396254b chore(deps): bump @sideway/formula from 3.0.0 to 3.0.1 (#8895)
Bumps [@sideway/formula](https://github.com/sideway/formula) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/sideway/formula/releases)
- [Commits](https://github.com/sideway/formula/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: "@sideway/formula"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-10 14:13:18 +00:00
dependabot[bot]
25764ef120 chore(deps): bump @sentry/node from 7.36.0 to 7.37.0 (#8903)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.36.0 to 7.37.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.36.0...7.37.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-10 14:02:53 +00:00
chris48s
28f0a44111 bump scoutcamp to 18.1.2 (#8891) 2023-02-08 17:37:39 +00:00
chris48s
2e627b0218 expose port 443 in Dockerfile (#8889) 2023-02-08 17:00:55 +00:00
dependabot[bot]
a7368b8670 chore(deps-dev): bump deepmerge from 4.2.2 to 4.3.0 (#8882)
Bumps [deepmerge](https://github.com/TehShrike/deepmerge) from 4.2.2 to 4.3.0.
- [Release notes](https://github.com/TehShrike/deepmerge/releases)
- [Changelog](https://github.com/TehShrike/deepmerge/blob/master/changelog.md)
- [Commits](https://github.com/TehShrike/deepmerge/compare/v4.2.2...v4.3.0)

---
updated-dependencies:
- dependency-name: deepmerge
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-05 15:18:01 +00:00
dependabot[bot]
9d69da5e98 chore(deps): bump docker/build-push-action from 3 to 4 (#8869)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-05 15:13:19 +00:00
dependabot[bot]
2e05bbf789 chore(deps): bump fast-xml-parser from 4.0.15 to 4.1.1 (#8878)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.0.15 to 4.1.1.
- [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/compare/v4.0.15...v4.1.1)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-05 15:08:30 +00:00
dependabot[bot]
0e476d29b8 chore(deps): bump simple-icons from 8.3.0 to 8.4.0 (#8875)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 8.3.0 to 8.4.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/8.3.0...8.4.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-05 14:59:57 +00:00
dependabot[bot]
58cb398f40 chore(deps-dev): bump eslint-plugin-react from 7.32.1 to 7.32.2 (#8873)
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.32.1 to 7.32.2.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.32.1...v7.32.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-05 14:56:23 +00:00
dependabot[bot]
abf36e4843 chore(deps-dev): bump typescript from 4.9.4 to 4.9.5 (#8881)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.4 to 4.9.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.4...v4.9.5)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-04 22:02:04 +00:00
dependabot[bot]
085e1a50b5 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8874)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.49.0 to 5.50.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.50.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-04 21:46:15 +00:00
dependabot[bot]
6c37ffb2cf chore(deps): bump @renovatebot/ruby-semver from 2.1.4 to 2.1.8 (#8880)
Bumps [@renovatebot/ruby-semver](https://github.com/renovatebot/ruby-semver) from 2.1.4 to 2.1.8.
- [Release notes](https://github.com/renovatebot/ruby-semver/releases)
- [Changelog](https://github.com/renovatebot/ruby-semver/blob/main/.releaserc.json)
- [Commits](https://github.com/renovatebot/ruby-semver/compare/2.1.4...2.1.8)

---
updated-dependencies:
- dependency-name: "@renovatebot/ruby-semver"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-04 21:37:14 +00:00
dependabot[bot]
4e389fa1bf chore(deps-dev): bump cypress from 12.4.1 to 12.5.1 (#8883)
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.4.1 to 12.5.1.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.4.1...v12.5.1)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-04 21:32:36 +00:00
dependabot[bot]
34bc405f2e chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 (#8885)
Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-04 20:43:25 +00:00
dependabot[bot]
e325321546 chore(deps): bump @sentry/node from 7.34.0 to 7.36.0 (#8879)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.34.0 to 7.36.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.34.0...7.36.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-04 20:29:50 +00:00
dependabot[bot]
af2838514e chore(deps-dev): bump eslint-plugin-jsdoc from 39.6.9 to 39.7.5 (#8876)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.6.9 to 39.7.5.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.6.9...v39.7.5)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-04 20:17:43 +00:00
github-actions[bot]
292e4e1483 Changelog for Release server-2023-02-01 (#8871)
* Update Changelog

* Update CHANGELOG.md

---------

Co-authored-by: release[bot] <actions@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-02-01 19:39:12 +00:00
chris48s
ff14a116cc skip danger on repo ranger commits (#8866)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-29 20:48:36 +00:00
dependabot[bot]
86b4a592d7 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8860)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.48.0 to 5.49.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.49.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-29 08:35:07 +00:00
dependabot[bot]
25d1f41824 chore(deps-dev): bump cypress from 12.3.0 to 12.4.1 (#8863)
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.3.0 to 12.4.1.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.3.0...v12.4.1)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-01-29 08:28:35 +00:00
chris48s
7788f0510d Add ESLint checks for IcedFrisby exclusive/skipped tests (#8839)
* add and configure eslint-plugin-icedfrisby

* intentionally violate lint rules

* Revert "intentionally violate lint rules"

This reverts commit f427ece092.

---------

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-29 08:22:57 +00:00
dependabot[bot]
19f8d6cb99 chore(deps): bump ua-parser-js from 0.7.31 to 0.7.33 (#8861)
Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.31 to 0.7.33.
- [Release notes](https://github.com/faisalman/ua-parser-js/releases)
- [Changelog](https://github.com/faisalman/ua-parser-js/blob/master/changelog.md)
- [Commits](https://github.com/faisalman/ua-parser-js/compare/0.7.31...0.7.33)

---
updated-dependencies:
- dependency-name: ua-parser-js
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-01-29 07:37:49 +00:00
dependabot[bot]
26b490b4a6 chore(deps): bump ioredis from 5.2.5 to 5.3.0 (#8852)
Bumps [ioredis](https://github.com/luin/ioredis) from 5.2.5 to 5.3.0.
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/luin/ioredis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/luin/ioredis/compare/v5.2.5...v5.3.0)

---
updated-dependencies:
- dependency-name: ioredis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-01-29 07:31:31 +00:00
dependabot[bot]
c364ba26ae chore(deps-dev): bump rimraf from 4.1.1 to 4.1.2 (#8851)
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.1.1...v4.1.2)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-01-29 07:24:10 +00:00
dependabot[bot]
2726c77b15 chore(deps-dev): bump danger from 11.2.2 to 11.2.3 (#8856)
Bumps [danger](https://github.com/danger/danger-js) from 11.2.2 to 11.2.3.
- [Release notes](https://github.com/danger/danger-js/releases)
- [Changelog](https://github.com/danger/danger-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/danger/danger-js/compare/11.2.2...11.2.3)

---
updated-dependencies:
- dependency-name: danger
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-01-29 07:19:54 +00:00
dependabot[bot]
2da34547f1 chore(deps-dev): bump start-server-and-test from 1.15.2 to 1.15.3 (#8854)
Bumps [start-server-and-test](https://github.com/bahmutov/start-server-and-test) from 1.15.2 to 1.15.3.
- [Release notes](https://github.com/bahmutov/start-server-and-test/releases)
- [Commits](https://github.com/bahmutov/start-server-and-test/compare/v1.15.2...v1.15.3)

---
updated-dependencies:
- dependency-name: start-server-and-test
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-29 07:13:49 +00:00
dependabot[bot]
e03d597c2c chore(deps): bump fast-xml-parser from 4.0.13 to 4.0.15 (#8848)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.0.13 to 4.0.15.
- [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/compare/v4.0.13...v4.0.15)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-28 21:13:37 +00:00
dependabot[bot]
69d737cbdd chore(deps): bump @sentry/node from 7.31.1 to 7.34.0 (#8853)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.31.1 to 7.34.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.31.1...7.34.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-28 21:07:57 +00:00
dependabot[bot]
1428ce5809 chore(deps): bump @renovatebot/ruby-semver from 1.1.8 to 2.1.4 (#8858)
Bumps [@renovatebot/ruby-semver](https://github.com/renovatebot/ruby-semver) from 1.1.8 to 2.1.4.
- [Release notes](https://github.com/renovatebot/ruby-semver/releases)
- [Changelog](https://github.com/renovatebot/ruby-semver/blob/main/.releaserc.json)
- [Commits](https://github.com/renovatebot/ruby-semver/compare/1.1.8...2.1.4)

---
updated-dependencies:
- dependency-name: "@renovatebot/ruby-semver"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-28 20:56:23 +00:00
dependabot[bot]
b510e6ec40 chore(deps-dev): bump eslint-plugin-jsdoc from 39.6.7 to 39.6.9 (#8849)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.6.7 to 39.6.9.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.6.7...v39.6.9)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-28 20:39:19 +00:00
chris48s
5b3630cad4 build docker images with buildkit v0.9.1 (#8862) 2023-01-27 17:30:14 +00:00
chris48s
3c983c8ac0 replace [twitter] badge with static fallback (#8842)
* replace [twitter] badge with static fallback

* remove links[1]

* fix service test

* cache for longer

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-25 19:15:50 +00:00
chris48s
026e675dcf add a note about fine-grained PATs in the docs (#8823)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-23 19:46:19 +00:00
dependabot[bot]
b59e2bddf1 chore(deps): bump ioredis from 5.2.4 to 5.2.5 (#8834)
Bumps [ioredis](https://github.com/luin/ioredis) from 5.2.4 to 5.2.5.
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/luin/ioredis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/luin/ioredis/compare/v5.2.4...v5.2.5)

---
updated-dependencies:
- dependency-name: ioredis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-23 19:18:23 +00:00
dependabot[bot]
bcba591e8e chore(deps): bump config from 3.3.8 to 3.3.9 (#8830)
Bumps [config](https://github.com/node-config/node-config) from 3.3.8 to 3.3.9.
- [Release notes](https://github.com/node-config/node-config/releases)
- [Changelog](https://github.com/node-config/node-config/blob/master/History.md)
- [Commits](https://github.com/node-config/node-config/compare/v3.3.8...v3.3.9)

---
updated-dependencies:
- dependency-name: config
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 19:14:28 +00:00
dependabot[bot]
2683e47506 chore(deps): bump glob from 8.0.3 to 8.1.0 (#8832)
Bumps [glob](https://github.com/isaacs/node-glob) from 8.0.3 to 8.1.0.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v8.0.3...v8.1.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-22 12:57:47 -06:00
dependabot[bot]
d539e942fd chore(deps-dev): bump danger from 11.2.1 to 11.2.2 (#8835)
Bumps [danger](https://github.com/danger/danger-js) from 11.2.1 to 11.2.2.
- [Release notes](https://github.com/danger/danger-js/releases)
- [Changelog](https://github.com/danger/danger-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/danger/danger-js/compare/11.2.1...11.2.2)

---
updated-dependencies:
- dependency-name: danger
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-22 12:41:17 -06:00
dependabot[bot]
e7046e210d chore(deps-dev): bump eslint-plugin-import from 2.27.4 to 2.27.5 (#8828)
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.27.4 to 2.27.5.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.27.4...v2.27.5)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-22 00:40:39 +00:00
dependabot[bot]
b90d6aac72 chore(deps): bump @sentry/node from 7.30.0 to 7.31.1 (#8829)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.30.0 to 7.31.1.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.30.0...7.31.1)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-21 18:26:15 -06:00
dependabot[bot]
e0bb07c0fc chore(deps-dev): bump eslint-plugin-jsdoc from 39.6.4 to 39.6.7 (#8831)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.6.4 to 39.6.7.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.6.4...v39.6.7)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-21 12:45:30 -06:00
dependabot[bot]
ac5fdbb8e0 chore(deps): bump simple-icons from 8.2.0 to 8.3.0 (#8825)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 8.2.0 to 8.3.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/8.2.0...8.3.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-21 03:49:16 +00:00
dependabot[bot]
4287b5ba67 chore(deps-dev): bump prettier from 2.8.2 to 2.8.3 (#8824)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.2 to 2.8.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.2...2.8.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-20 21:41:21 -06:00
dependabot[bot]
9881ce5400 chore(deps-dev): bump eslint-plugin-react from 7.32.0 to 7.32.1 (#8833)
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.32.0 to 7.32.1.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.32.0...v7.32.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-21 00:03:46 +00:00
dependabot[bot]
2407081f0f chore(deps-dev): bump rimraf from 4.0.4 to 4.1.1 (#8836)
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.0.4 to 4.1.1.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.0.4...v4.1.1)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-20 17:54:50 -06:00
chris48s
e8c42e9ec1 migrate service tests to GH actions (#8421)
* run service tests with GHA

* rename GithubGist services to Gist

* completely delete circle ci config
2023-01-17 20:55:57 +00:00
chris48s
27a2deb7d2 remove danger-plugin-no-test-shortcuts (#8815)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-16 23:20:53 +00:00
Mher Zaqaryan
7136943d6d Add various [Polymart] badges (#8811)
* Add [polymart] badges (#7429)

* fix misspelling issue

* add required to all joi objects

* fix not found badge return a valid resource issue

* fix misspelling issue

* fix invalid resource issue

* remove default badge color

Co-authored-by: chris48s <chris48s@users.noreply.github.com>

* remove version default badge color

* change version label to the service name

* add renderVersionBadge() method for version rendering

* fix method name issue

* change version regex

* fix code style issue

* add renderVersionBadge from version and remove the manually added renderer

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-01-16 20:58:56 +00:00
chris48s
2fb9889742 update [githubpipenv] tests/examples (#8797)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-14 20:37:46 +00:00
dependabot[bot]
5edec9967f chore(deps): bump @renovatebot/ruby-semver from 1.1.7 to 1.1.8 (#8802)
Bumps [@renovatebot/ruby-semver](https://github.com/renovatebot/ruby-semver) from 1.1.7 to 1.1.8.
- [Release notes](https://github.com/renovatebot/ruby-semver/releases)
- [Changelog](https://github.com/renovatebot/ruby-semver/blob/main/.releaserc.json)
- [Commits](https://github.com/renovatebot/ruby-semver/compare/1.1.7...1.1.8)

---
updated-dependencies:
- dependency-name: "@renovatebot/ruby-semver"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-14 20:32:14 +00:00
dependabot[bot]
47d67b4b19 chore(deps-dev): bump nock from 13.2.9 to 13.3.0 (#8804)
Bumps [nock](https://github.com/nock/nock) from 13.2.9 to 13.3.0.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nock/nock/compare/v13.2.9...v13.3.0)

---
updated-dependencies:
- dependency-name: nock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-14 20:28:39 +00:00
dependabot[bot]
2afcdf4ebd chore(deps): bump fast-xml-parser from 4.0.12 to 4.0.13 (#8805)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.0.12 to 4.0.13.
- [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/compare/v4.0.12...v4.0.13)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-14 20:25:04 +00:00
dependabot[bot]
91d85368bf chore(deps-dev): bump eslint-plugin-react from 7.31.11 to 7.32.0 (#8798)
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.31.11 to 7.32.0.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.31.11...v7.32.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-14 19:20:08 +00:00
dependabot[bot]
1fe60b49e1 chore(deps-dev): bump eslint-plugin-import from 2.26.0 to 2.27.4 (#8807)
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.26.0 to 2.27.4.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.26.0...v2.27.4)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-14 19:12:38 +00:00
dependabot[bot]
d6c3459803 chore(deps-dev): bump rimraf from 3.0.2 to 4.0.4 (#8806)
Bumps [rimraf](https://github.com/isaacs/rimraf) from 3.0.2 to 4.0.4.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v3.0.2...v4.0.4)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-14 19:06:21 +00:00
dependabot[bot]
0d4fcfe880 chore(deps): bump @sentry/node from 7.29.0 to 7.30.0 (#8803)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.29.0 to 7.30.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.29.0...7.30.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-14 19:01:38 +00:00
chris48s
f67fe525c2 fix service test loader on windows, add tests (#8786)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-14 00:37:25 +00:00
dependabot[bot]
dad6ce554a chore(deps-dev): bump prettier from 2.8.1 to 2.8.2 (#8799)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.1 to 2.8.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.1...2.8.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-13 16:48:31 -06:00
Prashant Rawat
0c73b35915 Add docstrings for pipenv helpers (#8787)
* add docstrings for pipenv helpers

* update param description

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-01-10 20:49:52 +00:00
chris48s
f1d151e963 migrate danger CI job to GHA (#8477)
* migrate danger CI job to GHA

* constrain triggers

* prettier
2023-01-10 19:39:11 +00:00
James Chen-Smith
a0149a8f8f deprecate [apm] service (#8773)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-07 18:43:10 +00:00
dependabot[bot]
e843d4eac1 chore(deps): bump json5 from v2.2.1 to v2.2.3 (#8785)
Bumps [json5](https://github.com/json5/json5)
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-07 18:27:36 +00:00
dependabot[bot]
830b5d8a1f chore(deps-dev): bump @babel/core from 7.20.7 to 7.20.12 (#8779)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.20.7 to 7.20.12.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.12/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-07 18:18:30 +00:00
dependabot[bot]
8afb034a58 chore(deps-dev): bump cypress from 12.2.0 to 12.3.0 (#8778)
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.2.0 to 12.3.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.2.0...v12.3.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-07 18:11:01 +00:00
dependabot[bot]
2f915a7b45 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8781)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.47.1 to 5.48.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.48.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-06 21:24:46 +00:00
dependabot[bot]
7dbfd0d049 chore(deps): bump @sentry/node from 7.28.1 to 7.29.0 (#8780)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.28.1 to 7.29.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.28.1...7.29.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-06 21:21:08 +00:00
dependabot[bot]
493fdb76af chore(deps-dev): bump danger from 11.2.0 to 11.2.1 (#8775)
Bumps [danger](https://github.com/danger/danger-js) from 11.2.0 to 11.2.1.
- [Release notes](https://github.com/danger/danger-js/releases)
- [Changelog](https://github.com/danger/danger-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/danger/danger-js/compare/11.2.0...11.2.1)

---
updated-dependencies:
- dependency-name: danger
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-06 21:16:16 +00:00
dependabot[bot]
abb1bbf8d4 chore(deps): bump prom-client from 14.1.0 to 14.1.1 (#8777)
Bumps [prom-client](https://github.com/siimon/prom-client) from 14.1.0 to 14.1.1.
- [Release notes](https://github.com/siimon/prom-client/releases)
- [Changelog](https://github.com/siimon/prom-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/siimon/prom-client/compare/v14.1.0...v14.1.1)

---
updated-dependencies:
- dependency-name: prom-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-06 21:11:39 +00:00
dependabot[bot]
a4911dac33 chore(deps-dev): bump eslint-config-prettier from 8.5.0 to 8.6.0 (#8774)
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 8.5.0 to 8.6.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v8.5.0...v8.6.0)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-06 21:06:11 +00:00
Prashant Rawat
5e6583c530 Docstrings for php-version service (#8766)
* add docstrings for php-version service

* update docstring for resource-cache service

* update docstring param type
2023-01-06 21:01:59 +00:00
Paula Barszcz
bb1fda2aa7 deprecate lgtm; lgtm service tests should be passing (#8771) 2023-01-04 19:48:47 +00:00
github-actions[bot]
606ea0ad54 Changelog for Release server-2023-01-01 (#8765)
* Update Changelog

* Update CHANGELOG.md

Co-authored-by: release[bot] <actions@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2023-01-01 14:15:46 +00:00
chris48s
00e37a6888 migrate frontend tests to GHA (#8541)
* migrate frontend tests to GH actions

* constrain PR events
2022-12-31 20:08:24 +00:00
chris48s
c3d08f7f8b Send X-GitHub-Api-Version when calling [GitHub] v3 API (#8669)
* send X-GitHub-Api-Version when calling GitHub v3 API

* TODO: invesitgate

* read baseUrl from config.service.baseUri

* add workflow to check for new GH api releases on schedule

* format config/default.yml to match yaml.dump() format

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-31 15:56:04 +00:00
dependabot[bot]
8be87554d6 chore(deps): bump simple-icons from 8.1.0 to 8.2.0 (#8761)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 8.1.0 to 8.2.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/8.1.0...8.2.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-31 15:49:16 +00:00
dependabot[bot]
df4c6d14dd chore(deps): bump fast-json-patch from 3.0.0-1 to 3.1.1 (#8763)
Bumps [fast-json-patch](https://github.com/Starcounter-Jack/JSON-Patch) from 3.0.0-1 to 3.1.1.
- [Release notes](https://github.com/Starcounter-Jack/JSON-Patch/releases)
- [Commits](https://github.com/Starcounter-Jack/JSON-Patch/compare/3.0.0-1...3.1.1)

---
updated-dependencies:
- dependency-name: fast-json-patch
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-31 15:44:09 +00:00
dependabot[bot]
5830810451 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8762)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.47.0 to 5.47.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.47.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-31 15:37:47 +00:00
anatawa12
ac2ae0c180 add [VpmVersion] badge (#8755)
* feat: add vpm version badge

* chore: remove sort parameter

* chore: rename repositoryUrl -> repository_url

* fix: test data

* chore: add include_prereleases

* chore: versions requires at least one element

* chore: add example badge for include_prereleases

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2022-12-31 15:33:24 +00:00
Pierce Thompson
efd707eb65 Add [modrinth] game versions (#8673)
* Add a Modrinth game versions badge

* Require at least one game version

* Code style

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-31 15:24:31 +00:00
chris48s
f67251a9ca don't try to call .entries on null or undefined (#8757) 2022-12-29 16:54:11 +00:00
chris48s
00f35c67e8 fix debug logging of undefined query params (#8540) 2022-12-28 19:54:11 +00:00
dependabot[bot]
7a38cfe099 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8745)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.46.0 to 5.47.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.47.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-23 15:55:31 +00:00
dependabot[bot]
b32dc3e894 chore(deps): bump query-string from 8.0.3 to 8.1.0 (#8748)
Bumps [query-string](https://github.com/sindresorhus/query-string) from 8.0.3 to 8.1.0.
- [Release notes](https://github.com/sindresorhus/query-string/releases)
- [Commits](https://github.com/sindresorhus/query-string/compare/v8.0.3...v8.1.0)

---
updated-dependencies:
- dependency-name: query-string
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-23 15:44:07 +00:00
dependabot[bot]
e8798a437a chore(deps-dev): bump @babel/core from 7.20.5 to 7.20.7 (#8749)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.20.5 to 7.20.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.7/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-23 15:37:50 +00:00
dependabot[bot]
80ffafc422 chore(deps-dev): bump cypress from 12.1.0 to 12.2.0 (#8746)
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.1.0 to 12.2.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.1.0...v12.2.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-23 15:31:30 +00:00
dependabot[bot]
8808e0dd7b chore(deps): bump @sentry/node from 7.26.0 to 7.28.1 (#8747)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.26.0 to 7.28.1.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.26.0...7.28.1)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-23 15:25:30 +00:00
chris48s
146598f5f4 run close-bot on node 16 (#8740)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-22 21:36:57 +00:00
chris48s
41c53c73c2 allow all numeric branch names in [githubactionsworkflowstatus] (#8734) 2022-12-21 17:49:20 +00:00
chris48s
dd3e2df00a switch [GithubActionsWorkflowStatus] to SVG scraper (#8738) 2022-12-21 17:17:18 +00:00
dependabot[bot]
271547d2c6 chore(deps): bump query-string from 7.1.3 to 8.0.3 (#8728)
* chore(deps): bump query-string from 7.1.3 to 8.0.3

Bumps [query-string](https://github.com/sindresorhus/query-string) from 7.1.3 to 8.0.3.
- [Release notes](https://github.com/sindresorhus/query-string/releases)
- [Commits](https://github.com/sindresorhus/query-string/compare/v7.1.3...v8.0.3)

---
updated-dependencies:
- dependency-name: query-string
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

* update import

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chris48s <git@chris-shaw.dev>
2022-12-19 18:53:21 +00:00
dependabot[bot]
300871ac65 chore(deps-dev): bump mocha from 10.1.0 to 10.2.0 (#8731)
Bumps [mocha](https://github.com/mochajs/mocha) from 10.1.0 to 10.2.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.1.0...v10.2.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-19 18:43:38 +00:00
dependabot[bot]
af25802b68 chore(deps): bump @sentry/node from 7.24.2 to 7.26.0 (#8729)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.24.2 to 7.26.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.24.2...7.26.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-19 18:38:53 +00:00
dependabot[bot]
5caab6724f chore(deps): bump simple-icons from 8.0.0 to 8.1.0 (#8724)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 8.0.0 to 8.1.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/8.0.0...8.1.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-19 18:33:58 +00:00
dependabot[bot]
73b8e78143 chore(deps): bump camelcase from 7.0.0 to 7.0.1 (#8725)
Bumps [camelcase](https://github.com/sindresorhus/camelcase) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/sindresorhus/camelcase/releases)
- [Commits](https://github.com/sindresorhus/camelcase/compare/v7.0.0...v7.0.1)

---
updated-dependencies:
- dependency-name: camelcase
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-19 18:28:37 +00:00
dependabot[bot]
022fe54141 chore(deps-dev): bump sinon from 15.0.0 to 15.0.1 (#8730)
Bumps [sinon](https://github.com/sinonjs/sinon) from 15.0.0 to 15.0.1.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v15.0.0...v15.0.1)

---
updated-dependencies:
- dependency-name: sinon
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-19 18:22:28 +00:00
dependabot[bot]
06cdf34c3d chore(deps-dev): bump cypress from 12.0.2 to 12.1.0 (#8723)
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.0.2 to 12.1.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.0.2...v12.1.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-19 18:13:43 +00:00
chris48s
6049ef64c8 handle workflow runs that do not have a conclusion (#8717)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-15 22:41:33 +00:00
chris48s
a276770cdb add a clarifying comment to [pypi] getLicenses (#8718) 2022-12-15 22:36:46 +00:00
chris48s
61dd6c0443 switch from github workflows to github actions workflows; test [githubactionsworkflowstatus githubworkflowstatus] (#8475)
* switch from github workflows to github actions workflows

* update github actions workflow badge to use api

* add test case for missing branch param

* custom deprecation message
2022-12-15 18:36:17 +00:00
dependabot[bot]
2d254acd20 chore(deps-dev): bump snap-shot-it from 7.9.6 to 7.9.10 (#8711)
Bumps [snap-shot-it](https://github.com/bahmutov/snap-shot-it) from 7.9.6 to 7.9.10.
- [Release notes](https://github.com/bahmutov/snap-shot-it/releases)
- [Commits](https://github.com/bahmutov/snap-shot-it/compare/v7.9.6...v7.9.10)

---
updated-dependencies:
- dependency-name: snap-shot-it
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-12 09:54:15 +00:00
dependabot[bot]
2e18afc062 chore(deps): bump simple-icons from 7.21.0 to 8.0.0 (#8702)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 7.21.0 to 8.0.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/7.21.0...8.0.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-12 09:49:22 +00:00
dependabot[bot]
ddd25e0d47 chore(deps-dev): bump gatsby-plugin-page-creator from 4.24.0 to 4.25.0 (#8691)
Bumps [gatsby-plugin-page-creator](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-page-creator) from 4.24.0 to 4.25.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-page-creator/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-page-creator@4.25.0/packages/gatsby-plugin-page-creator)

---
updated-dependencies:
- dependency-name: gatsby-plugin-page-creator
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-12 09:44:26 +00:00
dependabot[bot]
7d2d930486 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8703)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.45.0 to 5.46.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.46.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-12 09:39:54 +00:00
dependabot[bot]
c26b90f4e7 chore(deps): bump express from 4.17.2 to 4.18.2 (#8707)
Bumps [express](https://github.com/expressjs/express) from 4.17.2 to 4.18.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.2...4.18.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 22:20:28 +00:00
dependabot[bot]
eef6057c78 chore(deps-dev): bump lint-staged from 13.0.4 to 13.1.0 (#8694)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 13.0.4 to 13.1.0.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v13.0.4...v13.1.0)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 22:15:12 +00:00
dependabot[bot]
a67dda19bc chore(deps-dev): bump typescript from 4.9.3 to 4.9.4 (#8698)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.3 to 4.9.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.3...v4.9.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 22:09:46 +00:00
dependabot[bot]
e1622e800c chore(deps-dev): bump gatsby-plugin-catch-links from 4.19.0 to 4.25.0 (#8696)
Bumps [gatsby-plugin-catch-links](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-catch-links) from 4.19.0 to 4.25.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-catch-links/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-catch-links@4.25.0/packages/gatsby-plugin-catch-links)

---
updated-dependencies:
- dependency-name: gatsby-plugin-catch-links
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 22:04:43 +00:00
dependabot[bot]
5e78eccf56 chore(deps-dev): bump start-server-and-test from 1.14.0 to 1.15.2 (#8704)
Bumps [start-server-and-test](https://github.com/bahmutov/start-server-and-test) from 1.14.0 to 1.15.2.
- [Release notes](https://github.com/bahmutov/start-server-and-test/releases)
- [Commits](https://github.com/bahmutov/start-server-and-test/compare/v1.14.0...v1.15.2)

---
updated-dependencies:
- dependency-name: start-server-and-test
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 22:00:12 +00:00
dependabot[bot]
7207df085d chore(deps): bump @sentry/node from 7.23.0 to 7.24.2 (#8692)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.23.0 to 7.24.2.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.23.0...7.24.2)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 21:55:25 +00:00
dependabot[bot]
367b83b0b6 chore(deps): bump chalk from 5.1.2 to 5.2.0 (#8699)
Bumps [chalk](https://github.com/chalk/chalk) from 5.1.2 to 5.2.0.
- [Release notes](https://github.com/chalk/chalk/releases)
- [Commits](https://github.com/chalk/chalk/compare/v5.1.2...v5.2.0)

---
updated-dependencies:
- dependency-name: chalk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 21:50:48 +00:00
dependabot[bot]
908cc8de93 chore(deps-dev): bump prettier from 2.8.0 to 2.8.1 (#8693)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.0...2.8.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 21:45:54 +00:00
dependabot[bot]
4d785cd459 chore(deps-dev): bump gatsby-plugin-typescript from 4.23.0 to 4.25.0 (#8700)
Bumps [gatsby-plugin-typescript](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-typescript) from 4.23.0 to 4.25.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-typescript/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-typescript@4.25.0/packages/gatsby-plugin-typescript)

---
updated-dependencies:
- dependency-name: gatsby-plugin-typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 21:41:15 +00:00
dependabot[bot]
8dcd0d1ffd chore(deps-dev): bump gatsby-plugin-react-helmet from 5.22.0 to 5.25.0 (#8697)
Bumps [gatsby-plugin-react-helmet](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-react-helmet) from 5.22.0 to 5.25.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-react-helmet/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-react-helmet@5.25.0/packages/gatsby-plugin-react-helmet)

---
updated-dependencies:
- dependency-name: gatsby-plugin-react-helmet
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 21:35:13 +00:00
dependabot[bot]
8754ac3798 chore(deps-dev): bump @typescript-eslint/parser from 5.42.0 to 5.46.0 (#8705)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.42.0 to 5.46.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.46.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 21:30:31 +00:00
dependabot[bot]
93016b04ff chore(deps-dev): bump cypress from 11.2.0 to 12.0.2 (#8701)
Bumps [cypress](https://github.com/cypress-io/cypress) from 11.2.0 to 12.0.2.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v11.2.0...v12.0.2)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-11 21:23:12 +00:00
dependabot[bot]
b6be37d277 chore(deps): bump dayjs from 1.11.6 to 1.11.7 (#8706)
Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.11.6 to 1.11.7.
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/v1.11.7/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.6...v1.11.7)

---
updated-dependencies:
- dependency-name: dayjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-10 13:07:10 +00:00
chris48s
4da9e7d58f fall back to classifiers if license text is really long (#8690) 2022-12-10 13:02:14 +00:00
chris48s
affae9c521 docs/issue template improvements for badge requests (#8668)
* docs/issue template improvements for badge requests

* split markdown over multiple line, switch to folded multi-line string

* quotes round 'for the badge'

* fix typo

* improve docs on auth strategies

* document logoColor param in logos.md
2022-12-07 19:43:12 +00:00
dependabot[bot]
73bbe80eaa chore(deps): bump query-string from 7.1.1 to 7.1.3 (#8685)
Bumps [query-string](https://github.com/sindresorhus/query-string) from 7.1.1 to 7.1.3.
- [Release notes](https://github.com/sindresorhus/query-string/releases)
- [Commits](https://github.com/sindresorhus/query-string/compare/v7.1.1...v7.1.3)

---
updated-dependencies:
- dependency-name: query-string
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-04 14:35:36 +00:00
dependabot[bot]
9cd16402db chore(deps): bump simple-icons from 7.20.0 to 7.21.0 (#8684)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 7.20.0 to 7.21.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/7.20.0...7.21.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 13:49:46 +00:00
dependabot[bot]
c49ee023dd chore(deps-dev): bump @babel/core from 7.20.2 to 7.20.5 (#8676)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.20.2 to 7.20.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.5/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 13:43:36 +00:00
dependabot[bot]
e2fcd1787b chore(deps-dev): bump sinon from 14.0.2 to 15.0.0 (#8680)
Bumps [sinon](https://github.com/sinonjs/sinon) from 14.0.2 to 15.0.0.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v14.0.2...v15.0.0)

---
updated-dependencies:
- dependency-name: sinon
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 13:37:53 +00:00
dependabot[bot]
c008dcfbb6 chore(deps-dev): bump eslint-plugin-sort-class-members (#8679)
Bumps [eslint-plugin-sort-class-members](https://github.com/bryanrsmith/eslint-plugin-sort-class-members) from 1.15.2 to 1.16.0.
- [Release notes](https://github.com/bryanrsmith/eslint-plugin-sort-class-members/releases)
- [Commits](https://github.com/bryanrsmith/eslint-plugin-sort-class-members/compare/v1.15.2...v1.16.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-sort-class-members
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 13:32:30 +00:00
dependabot[bot]
d769de309e chore(deps-dev): bump tsd from 0.24.1 to 0.25.0 (#8682)
Bumps [tsd](https://github.com/SamVerschueren/tsd) from 0.24.1 to 0.25.0.
- [Release notes](https://github.com/SamVerschueren/tsd/releases)
- [Commits](https://github.com/SamVerschueren/tsd/compare/v0.24.1...v0.25.0)

---
updated-dependencies:
- dependency-name: tsd
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 13:27:39 +00:00
dependabot[bot]
478c0545ac chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8678)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.44.0 to 5.45.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.45.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 13:21:59 +00:00
dependabot[bot]
ac1a4d4587 chore(deps-dev): bump @types/mocha from 10.0.0 to 10.0.1 (#8681)
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 10.0.0 to 10.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 13:17:08 +00:00
dependabot[bot]
882fb9d267 chore(deps-dev): bump @types/react-helmet from 6.1.5 to 6.1.6 (#8675)
Bumps [@types/react-helmet](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-helmet) from 6.1.5 to 6.1.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-helmet)

---
updated-dependencies:
- dependency-name: "@types/react-helmet"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 13:12:06 +00:00
dependabot[bot]
2cdd89e8a2 chore(deps): bump @sentry/node from 7.21.1 to 7.23.0 (#8674)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.21.1 to 7.23.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.21.1...7.23.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 13:03:33 +00:00
dependabot[bot]
eefb16a6ec chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 (#8672)
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2022-12-04 12:56:03 +00:00
chris48s
53c5cfa94d allow passing key to [stackexchange] (#8539)
* refactoring groundwork

* add stackapps_api_key setting

* add test for stackexchange auth

* clarify docs

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-04 10:53:59 +00:00
github-actions[bot]
438677b6f0 Changelog for Release server-2022-12-01 (#8670)
* Update Changelog

* Update CHANGELOG.md

Co-authored-by: release[bot] <actions@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2022-12-01 19:02:41 +00:00
Sébastien Règne
bcc39200ae fix: support logoColor to shield icons. (#8263)
* fix: support logoColor to shield icons.

* FIXUP: Use 'travis-ci' to 'travis'

* FIXUP: Update docs.

* docs tweak

Co-authored-by: chris48s <chris.shaw480@gmail.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-26 13:48:34 +00:00
dependabot[bot]
fe2b3dfff0 chore(deps-dev): bump eslint-plugin-jsdoc from 39.6.2 to 39.6.4 (#8652)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.6.2 to 39.6.4.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.6.2...v39.6.4)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-25 21:34:58 +00:00
dependabot[bot]
f1cc2f1906 chore(deps): bump simple-icons from 7.19.0 to 7.20.0 (#8647)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 7.19.0 to 7.20.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/7.19.0...7.20.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-25 21:28:42 +00:00
dependabot[bot]
ca6778983b chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8654)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.43.0 to 5.44.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.44.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-25 21:22:44 +00:00
dependabot[bot]
76c1ef912e chore(deps): bump fast-xml-parser from 4.0.11 to 4.0.12 (#8653)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.0.11 to 4.0.12.
- [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/compare/v4.0.11...v4.0.12)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-25 21:17:12 +00:00
dependabot[bot]
4496ab575d chore(deps-dev): bump concurrently from 7.5.0 to 7.6.0 (#8651)
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 7.5.0 to 7.6.0.
- [Release notes](https://github.com/open-cli-tools/concurrently/releases)
- [Commits](https://github.com/open-cli-tools/concurrently/compare/v7.5.0...v7.6.0)

---
updated-dependencies:
- dependency-name: concurrently
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-25 21:09:41 +00:00
dependabot[bot]
3e6d6f9380 chore(deps-dev): bump prettier from 2.7.1 to 2.8.0 (#8658)
Bumps [prettier](https://github.com/prettier/prettier) from 2.7.1 to 2.8.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.7.1...2.8.0)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-25 21:04:22 +00:00
dependabot[bot]
1d1600cd04 chore(deps-dev): bump lint-staged from 13.0.3 to 13.0.4 (#8655)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 13.0.3 to 13.0.4.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v13.0.3...v13.0.4)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-25 20:58:37 +00:00
dependabot[bot]
5618d52ab1 chore(deps): bump @sentry/node from 7.20.0 to 7.21.1 (#8648)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.20.0 to 7.21.1.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.20.0...7.21.1)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-25 20:49:37 +00:00
dependabot[bot]
7483739172 chore(deps-dev): bump eslint-plugin-react from 7.31.10 to 7.31.11 (#8659)
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.31.10 to 7.31.11.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.31.10...v7.31.11)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-25 20:13:57 +00:00
dependabot[bot]
d00bd3cfd4 chore(deps-dev): bump cypress from 11.1.0 to 11.2.0 (#8656)
Bumps [cypress](https://github.com/cypress-io/cypress) from 11.1.0 to 11.2.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v11.1.0...v11.2.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-25 13:44:49 -06:00
chris48s
c5476b4dd5 migrate e2e tests to GHA (#8562)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-24 18:15:19 +00:00
chris48s
1c1b03344a handle missing properties array in [VisualStudioMarketplaceVersion] (#8603)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-24 18:09:08 +00:00
chris48s
b95e60bace don't call external services in core tests (#8643)
* don't call external services in core tests

* remove duplicate test
2022-11-24 17:57:53 +00:00
Paula Barszcz
3efe143edc add a missing redirect to coveralls (#8644)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-22 16:34:30 +00:00
dependabot[bot]
93b8978e4a chore(deps): bump minimatch and recursive-readdir (#8646)
Bumps [minimatch](https://github.com/isaacs/minimatch) and [recursive-readdir](https://github.com/jergason/recursive-readdir). These dependencies needed to be updated together.

Updates `minimatch` from 3.0.4 to 3.1.2
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

Updates `recursive-readdir` from 2.2.2 to 2.2.3
- [Release notes](https://github.com/jergason/recursive-readdir/releases)
- [Changelog](https://github.com/jergason/recursive-readdir/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jergason/recursive-readdir/commits/v2.2.3)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
- dependency-name: recursive-readdir
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22 16:03:39 +00:00
dependabot[bot]
d6bc0feafa chore(deps): bump engine.io from 3.6.0 to 3.6.1 (#8645)
Bumps [engine.io](https://github.com/socketio/engine.io) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/socketio/engine.io/releases)
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io/compare/3.6.0...3.6.1)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22 15:52:07 +00:00
chris48s
c2d1cc2874 deprecate [wercker] service (#8642) 2022-11-19 15:39:21 +00:00
Alexandre Sanlim
a2751af0b1 Add [Coincap] Cryptocurrency badges (#8623)
* Add concap services

* Add concap services

* add tests

* Changes after review

* fix import

* fix format

* fix given

* pretty format fix

* changes to code review.

* fix lower label

* fix coincap rank test

* fix labels in static examples

Co-authored-by: chris48s <chris.shaw480@gmail.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2022-11-18 21:18:59 +00:00
dependabot[bot]
1baa84683a chore(deps-dev): bump node-mocks-http from 1.11.0 to 1.12.1 (#8639)
Bumps [node-mocks-http](https://github.com/howardabrams/node-mocks-http) from 1.11.0 to 1.12.1.
- [Release notes](https://github.com/howardabrams/node-mocks-http/releases)
- [Changelog](https://github.com/howardabrams/node-mocks-http/blob/master/HISTORY.md)
- [Commits](https://github.com/howardabrams/node-mocks-http/compare/v1.11.0...v1.12.1)

---
updated-dependencies:
- dependency-name: node-mocks-http
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-18 20:59:28 +00:00
dependabot[bot]
8e92da69bb chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8641)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.42.1 to 5.43.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.43.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-18 20:51:38 +00:00
dependabot[bot]
f851948178 chore(deps-dev): bump danger from 11.1.4 to 11.2.0 (#8634)
Bumps [danger](https://github.com/danger/danger-js) from 11.1.4 to 11.2.0.
- [Release notes](https://github.com/danger/danger-js/releases)
- [Changelog](https://github.com/danger/danger-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/danger/danger-js/compare/11.1.4...11.2.0)

---
updated-dependencies:
- dependency-name: danger
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-18 20:44:45 +00:00
dependabot[bot]
dd43621a48 chore(deps-dev): bump typescript from 4.8.4 to 4.9.3 (#8637)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.4 to 4.9.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.4...v4.9.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-18 20:37:28 +00:00
dependabot[bot]
7c27fb02f6 chore(deps): bump loader-utils from 1.4.1 to 1.4.2 (#8630)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-18 20:22:48 +00:00
dependabot[bot]
b6f1aad2f0 chore(deps-dev): bump mocha-junit-reporter from 2.1.1 to 2.2.0 (#8638)
Bumps [mocha-junit-reporter](https://github.com/michaelleeallen/mocha-junit-reporter) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/michaelleeallen/mocha-junit-reporter/releases)
- [Commits](https://github.com/michaelleeallen/mocha-junit-reporter/compare/v2.1.1...v2.2.0)

---
updated-dependencies:
- dependency-name: mocha-junit-reporter
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-18 20:08:58 +00:00
dependabot[bot]
3d8fa47010 chore(deps): bump actions/dependency-review-action from 2 to 3 (#8628)
Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 2 to 3.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2022-11-18 19:55:59 +00:00
dependabot[bot]
664f2c15d6 chore(deps): bump @sentry/node from 7.19.0 to 7.20.0 (#8640)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.19.0 to 7.20.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.19.0...7.20.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-18 19:50:30 +00:00
dependabot[bot]
dfa38a4bb7 chore(deps): bump got from 12.5.2 to 12.5.3 (#8636)
Bumps [got](https://github.com/sindresorhus/got) from 12.5.2 to 12.5.3.
- [Release notes](https://github.com/sindresorhus/got/releases)
- [Commits](https://github.com/sindresorhus/got/compare/v12.5.2...v12.5.3)

---
updated-dependencies:
- dependency-name: got
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-18 19:43:50 +00:00
dependabot[bot]
4560a229e8 chore(deps-dev): bump cypress from 11.0.1 to 11.1.0 (#8633)
Bumps [cypress](https://github.com/cypress-io/cypress) from 11.0.1 to 11.1.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v11.0.1...v11.1.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-18 19:28:47 +00:00
Pierce Thompson
2a590fce99 Add [modrinth] version (#8604)
* Add a Modrinth version badge

* Use a more lenient pattern when testing version

* Update version schema

Co-authored-by: chris48s <chris48s@users.noreply.github.com>

* Update route base

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2022-11-18 19:17:43 +00:00
kuanoni
755af712ae [factorio-mod-portal] services (#8625)
* add latest version service

* add game version service

* update game version service, includes version range

* add game version and latest version service tests

* add last updated service & tests

* add downloads service

* url changes

* add 'range' query to factorio versions

* renamed function to transform

* validate downloads via nonNegativeInteger

https://github.com/badges/shields/pull/8625#discussion_r1021557183

* change version route to /v

https://github.com/badges/shields/pull/8625#discussion_r1021558937

* factorio-version category to platform-support

https://github.com/badges/shields/pull/8625#discussion_r1021557896

* change downloads route to /dt

https://github.com/badges/shields/pull/8625#discussion_r1021559841

* version validator to isVPlusDottedVersionNClauses

https://github.com/badges/shields/pull/8625#discussion_r1021563736

* removed range query param from factorio-version

https://github.com/badges/shields/pull/8625#discussion_r1021568758
2022-11-16 20:36:19 +00:00
Paula Barszcz
6303ddc015 [Coveralls] for GitLab (#8584)
* Added GitLab to Coveralls badge + added redirect

* why does the old redirect accept slash in the user param

* rename test

* modify the old redirector test - but it still doesnt work

* tests are passing

* add missing redirector tests

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-14 11:08:10 +00:00
dependabot[bot]
5dd382bb7a chore(deps): bump @renovatebot/ruby-semver from 1.1.6 to 1.1.7 (#8619)
Bumps [@renovatebot/ruby-semver](https://github.com/renovatebot/ruby-semver) from 1.1.6 to 1.1.7.
- [Release notes](https://github.com/renovatebot/ruby-semver/releases)
- [Changelog](https://github.com/renovatebot/ruby-semver/blob/main/.releaserc.json)
- [Commits](https://github.com/renovatebot/ruby-semver/compare/1.1.6...1.1.7)

---
updated-dependencies:
- dependency-name: "@renovatebot/ruby-semver"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-13 20:43:19 +00:00
dependabot[bot]
de2464c56d chore(deps-dev): bump sinon from 14.0.1 to 14.0.2 (#8613)
Bumps [sinon](https://github.com/sinonjs/sinon) from 14.0.1 to 14.0.2.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v14.0.1...v14.0.2)

---
updated-dependencies:
- dependency-name: sinon
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-13 17:35:24 +00:00
dependabot[bot]
b5b6298e14 chore(deps-dev): bump chai and @types/chai (#8612)
Bumps [chai](https://github.com/chaijs/chai) and [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai). These dependencies needed to be updated together.

Updates `chai` from 4.3.6 to 4.3.7
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/4.x.x/History.md)
- [Commits](https://github.com/chaijs/chai/compare/v4.3.6...v4.3.7)

Updates `@types/chai` from 4.3.3 to 4.3.4
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

---
updated-dependencies:
- dependency-name: chai
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: "@types/chai"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-13 17:29:00 +00:00
dependabot[bot]
4fae08f82e chore(deps-dev): bump cypress from 10.11.0 to 11.0.1 (#8615)
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.11.0 to 11.0.1.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.11.0...v11.0.1)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-13 17:20:31 +00:00
dependabot[bot]
31faec2d6b chore(deps): bump @sentry/node from 7.17.4 to 7.19.0 (#8616)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.17.4 to 7.19.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.17.4...7.19.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-13 17:14:11 +00:00
dependabot[bot]
59336e2a64 chore(deps): bump socket.io-parser from 3.3.2 to 3.3.3 (#8607)
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/3.3.2...3.3.3)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-13 17:04:36 +00:00
dependabot[bot]
62adb3df4d chore(deps-dev): bump @babel/core from 7.19.6 to 7.20.2 (#8611)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.19.6 to 7.20.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.2/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-12 22:59:43 +00:00
dependabot[bot]
cb79fbd3c2 chore(deps): bump simple-icons from 7.18.0 to 7.19.0 (#8609)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 7.18.0 to 7.19.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/7.18.0...7.19.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-12 22:53:25 +00:00
dependabot[bot]
c423eb6c54 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8614)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.42.0 to 5.42.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.42.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-11 17:20:52 -06:00
chris48s
5305e11f79 Remove 'suggest badges' feature (#8311)
* remove 'suggest badges' feature

* remove allowedOrigin/ALLOWED_ORIGIN setting

* keep allowedOrigin for now

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-09 18:15:59 +00:00
Pierce Thompson
025a49b715 Add [modrinth] followers (#8601)
* Add Modrinth followers

* Update class names
2022-11-08 16:27:06 +00:00
dependabot[bot]
c214ad8de8 chore(deps): bump loader-utils from 1.4.0 to 1.4.1 (#8602)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.1/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-08 10:26:13 +00:00
Pierce Thompson
809853ada1 Update the [modrinth] API to v2 (#8600)
* Update the Modrinth API to v2

* Rename the modId pattern to projectId
2022-11-08 10:17:54 +00:00
dependabot[bot]
a95ad6c631 chore(deps): bump joi from 17.6.4 to 17.7.0 (#8596)
Bumps [joi](https://github.com/hapijs/joi) from 17.6.4 to 17.7.0.
- [Release notes](https://github.com/hapijs/joi/releases)
- [Commits](https://github.com/hapijs/joi/compare/v17.6.4...v17.7.0)

---
updated-dependencies:
- dependency-name: joi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-07 20:20:24 +00:00
dependabot[bot]
795c73294a chore(deps-dev): bump jsdoc from 3.6.11 to 4.0.0 (#8593)
Bumps [jsdoc](https://github.com/jsdoc/jsdoc) from 3.6.11 to 4.0.0.
- [Release notes](https://github.com/jsdoc/jsdoc/releases)
- [Changelog](https://github.com/jsdoc/jsdoc/blob/main/CHANGES.md)
- [Commits](https://github.com/jsdoc/jsdoc/compare/3.6.11...4.0.0)

---
updated-dependencies:
- dependency-name: jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-07 20:09:10 +00:00
dependabot[bot]
b72e49074c chore(deps-dev): bump @typescript-eslint/parser from 5.30.7 to 5.42.0 (#8590)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.30.7 to 5.42.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.42.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-07 20:03:21 +00:00
dependabot[bot]
5d0bda22a9 chore(deps): bump ioredis from 5.2.3 to 5.2.4 (#8589)
Bumps [ioredis](https://github.com/luin/ioredis) from 5.2.3 to 5.2.4.
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/luin/ioredis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/luin/ioredis/compare/v5.2.3...v5.2.4)

---
updated-dependencies:
- dependency-name: ioredis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-07 19:56:22 +00:00
dependabot[bot]
58d9a98054 chore(deps): bump @sentry/node from 7.17.2 to 7.17.4 (#8595)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.17.2 to 7.17.4.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.17.2...7.17.4)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-07 19:47:44 +00:00
dependabot[bot]
9bbc333af5 chore(deps-dev): bump eslint-plugin-jsdoc from 39.3.25 to 39.6.2 (#8591)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.3.25 to 39.6.2.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.3.25...v39.6.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-07 16:27:08 +00:00
dependabot[bot]
d4d0fd0f81 chore(deps): bump simple-icons from 7.17.0 to 7.18.0 (#8592)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 7.17.0 to 7.18.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/7.17.0...7.18.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-06 16:29:33 +00:00
dependabot[bot]
525794b9e6 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8594)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.41.0 to 5.42.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.42.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-05 16:49:42 +00:00
chris48s
b1fdcace0f bump actions/setup-node to v3 (#8542)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-04 21:22:28 +00:00
chris48s
c8a0a8660e tidy up [GitHubGist] routes (#8510)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-04 19:43:14 +00:00
chris48s
e223f45bce fix [flathub] version error handling (#8500)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-04 19:33:33 +00:00
chris48s
b3a9dd7119 fix [tas] private project test (#8514)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-11-03 20:46:16 +00:00
github-actions[bot]
55d711c39d Changelog for Release server-2022-11-01 (#8588)
* Update Changelog

Co-authored-by: release[bot] <actions@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2022-11-01 21:09:04 +00:00
Sebastian P
a190bb718f [Ansible] Add collection badge (#8578)
* Add ansible collection badge

* Ansible Collection: Remove unneccesary base class

* Ansible Collection: Fix test (label "collection" rather than "role")
2022-11-01 20:22:41 +00:00
dependabot[bot]
81c5c25d59 chore(deps-dev): bump cypress from 10.10.0 to 10.11.0 (#8572)
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.10.0 to 10.11.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.10.0...v10.11.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-31 14:48:00 +00:00
dependabot[bot]
d78f9f8233 chore(deps-dev): bump eslint-plugin-jsdoc from 39.3.14 to 39.3.25 (#8576)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.3.14 to 39.3.25.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.3.14...v39.3.25)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-29 19:06:04 +00:00
chris48s
3528e842d7 fix [githubpullrequestcheckstate] service tests (#8548)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-29 18:59:36 +00:00
dependabot[bot]
f413650fe4 chore(deps): bump joi from 17.6.3 to 17.6.4 (#8568)
Bumps [joi](https://github.com/hapijs/joi) from 17.6.3 to 17.6.4.
- [Release notes](https://github.com/hapijs/joi/releases)
- [Commits](https://github.com/hapijs/joi/compare/v17.6.3...v17.6.4)

---
updated-dependencies:
- dependency-name: joi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-29 18:51:16 +00:00
dependabot[bot]
d1b3145e48 chore(deps): bump @sentry/node from 7.16.0 to 7.17.2 (#8573)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.16.0 to 7.17.2.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.16.0...7.17.2)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-29 18:45:32 +00:00
dependabot[bot]
882f06824c chore(deps-dev): bump concurrently from 7.4.0 to 7.5.0 (#8571)
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/open-cli-tools/concurrently/releases)
- [Commits](https://github.com/open-cli-tools/concurrently/compare/v7.4.0...v7.5.0)

---
updated-dependencies:
- dependency-name: concurrently
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-29 18:35:53 +00:00
dependabot[bot]
42be044927 chore(deps): bump simple-icons from 7.16.0 to 7.17.0 (#8570)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 7.16.0 to 7.17.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/7.16.0...7.17.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-29 18:30:02 +00:00
dependabot[bot]
07a803228c chore(deps-dev): bump mocha-junit-reporter from 2.1.0 to 2.1.1 (#8575)
Bumps [mocha-junit-reporter](https://github.com/michaelleeallen/mocha-junit-reporter) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/michaelleeallen/mocha-junit-reporter/releases)
- [Commits](https://github.com/michaelleeallen/mocha-junit-reporter/compare/v2.1.0...v2.1.1)

---
updated-dependencies:
- dependency-name: mocha-junit-reporter
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-29 18:19:18 +00:00
dependabot[bot]
33b5a2d5f1 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8577)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.40.1 to 5.41.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.41.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-29 17:36:55 +00:00
chris48s
91a6b6d913 require array to have at least 1 item in [githublastcommit] (#8563)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-27 19:32:59 +00:00
OronW
252a0046d1 [VisualStudioMarketplace] Add support to prerelease extensions version (Issue #8207) (#8561)
* added pre-release version support to VScode marketplace service. Added pre-release example

* fixed missing 'version' property

* Updated flags property to support all versions in the response. Added comment to explain the flags property calculations

* added test for pre-release versions. Updated mock response structure to match new logic

* updated response schema. Fixed service bug

* Added logic for the case all versions are prerelease. Verify the prerelease key value is 'true'

* fixed bug in case all version are prerelease and the includePrereleases flag is false

* added test for response with prerelease only. Added test in case the prerelease key has false value

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-25 19:47:55 +00:00
guoxudong
d52ab7867a feat: add [GitlabLastCommit] service (#8508)
* feat: add gitlab last commit service

* fix

Signed-off-by: guoxudong <guoxudong.dev@gmail.com>

Signed-off-by: guoxudong <guoxudong.dev@gmail.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2022-10-25 20:40:46 +01:00
chris48s
ae98c7d10c fix [swagger] service tests (allow 0 items in array) (#8564)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-25 16:28:57 +00:00
chris48s
9294e5d0d2 fix codecov badge for non-default branch (#8565) 2022-10-24 18:55:08 +01:00
dependabot[bot]
64145d736c chore(deps): bump dayjs from 1.11.5 to 1.11.6 (#8559)
Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.11.5 to 1.11.6.
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/v1.11.6/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.5...v1.11.6)

---
updated-dependencies:
- dependency-name: dayjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 18:44:09 +00:00
dependabot[bot]
410bb4d2bd chore(deps-dev): bump react-modal from 3.15.1 to 3.16.1 (#8553)
Bumps [react-modal](https://github.com/reactjs/react-modal) from 3.15.1 to 3.16.1.
- [Release notes](https://github.com/reactjs/react-modal/releases)
- [Changelog](https://github.com/reactjs/react-modal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reactjs/react-modal/compare/v3.15.1...v3.16.1)

---
updated-dependencies:
- dependency-name: react-modal
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 18:35:51 +00:00
dependabot[bot]
f9f6ce52db chore(deps-dev): bump cypress-wait-for-stable-dom from 0.0.4 to 0.1.0 (#8554)
Bumps [cypress-wait-for-stable-dom](https://github.com/narinluangrath/cypress-wait-for-stable-dom) from 0.0.4 to 0.1.0.
- [Release notes](https://github.com/narinluangrath/cypress-wait-for-stable-dom/releases)
- [Commits](https://github.com/narinluangrath/cypress-wait-for-stable-dom/commits)

---
updated-dependencies:
- dependency-name: cypress-wait-for-stable-dom
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 18:29:33 +00:00
dependabot[bot]
1e21dc1ad0 chore(deps): bump simple-icons from 7.15.0 to 7.16.0 (#8558)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 7.15.0 to 7.16.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/7.15.0...7.16.0)

---
updated-dependencies:
- dependency-name: simple-icons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 18:20:11 +00:00
dependabot[bot]
33362d399c chore(deps-dev): bump @babel/core from 7.19.3 to 7.19.6 (#8556)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.19.3 to 7.19.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.6/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 18:14:24 +00:00
dependabot[bot]
ae6d073179 chore(deps-dev): bump eslint-plugin-jsdoc from 39.3.6 to 39.3.14 (#8555)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 39.3.6 to 39.3.14.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v39.3.6...v39.3.14)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 18:05:33 +00:00
dependabot[bot]
638d096921 chore(deps-dev): bump mocha and @types/mocha (#8557)
Bumps [mocha](https://github.com/mochajs/mocha) and [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha). These dependencies needed to be updated together.

Updates `mocha` from 9.2.2 to 10.1.0
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v9.2.2...v10.1.0)

Updates `@types/mocha` from 9.1.1 to 10.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 17:54:48 +00:00
dependabot[bot]
5e2e1656d1 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#8560)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.40.0 to 5.40.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.40.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 17:48:52 +00:00
dependabot[bot]
8a4fd194e7 chore(deps): bump @sentry/node from 7.15.0 to 7.16.0 (#8551)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.15.0 to 7.16.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.15.0...7.16.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 17:41:58 +00:00
dependabot[bot]
111a609e14 chore(deps-dev): bump simple-git-hooks from 2.8.0 to 2.8.1 (#8550)
Bumps [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/toplenboren/simple-git-hooks/releases)
- [Changelog](https://github.com/toplenboren/simple-git-hooks/blob/master/Changelog.md)
- [Commits](https://github.com/toplenboren/simple-git-hooks/commits)

---
updated-dependencies:
- dependency-name: simple-git-hooks
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-21 17:20:52 +00:00
chris48s
934f2443e4 fixes for integration test rate limit issues (#8538)
* constrain auto-close and enforce-dependency-review triggers

we don't need to run these on PR close or when we apply labels, for example

* skip workflows on push to dependabot branch

* use PAT if available else fall back to workflow token

* further constrain pull_request triggers

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-21 09:13:02 +01:00
chris48s
9e32586c71 remove failing [lgtm] test case (#8547)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-20 21:33:34 +00:00
Paula Barszcz
c0087cae67 Add [GitHubLastCommit] by committer badge (#8537)
* add github last commit by committer badge

* modify queryParam

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-10-20 19:08:48 +00:00
Paula Barszcz
a251357881 [GitHubReleaseDate] - published_at field (#8543)
* gh release date - published at

* example correction

* change published_at query param to display_date

* simplify the  statement
2022-10-20 19:52:44 +01:00
Ben Hutchison
eea9bbd447 Fix [Testspace] with new "untested" value in case_counts array (#8544) 2022-10-18 21:11:37 +01:00
197 changed files with 6795 additions and 5214 deletions

View File

@@ -1,203 +0,0 @@
version: 2
services_steps: &services_steps
steps:
- checkout
- run:
name: Install dependencies
command: |
npm ci
environment:
CYPRESS_INSTALL_BINARY: 0
- run:
name: Identify services tagged in the PR title
command: npm run test:services:pr:prepare
- run:
name: Run tests for tagged services
environment:
mocha_reporter: mocha-junit-reporter
MOCHA_FILE: junit/services/results.xml
command: RETRY_COUNT=3 npm run test:services:pr:run
- store_test_results:
path: junit
jobs:
danger:
docker:
- image: cimg/node:16.15
steps:
- checkout
- run:
name: Install dependencies
command: npm ci
environment:
CYPRESS_INSTALL_BINARY: 0
- run:
name: Danger
when: always
environment:
# https://github.com/gatsbyjs/gatsby/pull/11555
NODE_ENV: test
command: npm run danger ci
frontend:
docker:
- image: cimg/node:16.15
steps:
- checkout
- run:
name: Install dependencies
command: |
npm ci
environment:
CYPRESS_INSTALL_BINARY: 0
- run:
name: Prepare frontend tests
command: npm run defs && npm run features
- run:
name: Check types
command: npm run check-types:frontend
- run:
name: Frontend unit tests
environment:
mocha_reporter: mocha-junit-reporter
MOCHA_FILE: junit/frontend/results.xml
when: always
command: npm run test:frontend
- store_test_results:
path: junit
- run:
name: Frontend build completes successfully
when: always
command: npm run build
services:
docker:
- image: cimg/node:16.15
<<: *services_steps
services@node-17:
docker:
- image: cimg/node:17.9
environment:
NPM_CONFIG_ENGINE_STRICT: 'false'
<<: *services_steps
e2e:
docker:
- image: cypress/base:16.14.0
steps:
- checkout
- restore_cache:
name: Restore Cypress binary
keys:
- v2-cypress-dependencies-{{ checksum "package-lock.json" }}
- run:
name: Install dependencies
command: |
npm ci
- run:
name: Frontend build
command: GATSBY_BASE_URL=http://localhost:8080 npm run build
- run:
name: Run tests
environment:
CYPRESS_REPORTER: junit
MOCHA_FILE: junit/e2e/results.xml
command: npm run e2e-on-build
- store_test_results:
path: junit
- store_artifacts:
path: cypress/videos
- store_artifacts:
path: cypress/screenshots
- save_cache:
name: Cache Cypress binary
paths:
# https://docs.cypress.io/guides/getting-started/installing-cypress.html#Binary-cache
- ~/.cache/Cypress
key: v2-cypress-dependencies-{{ checksum "package-lock.json" }}
workflows:
version: 2
on-commit:
jobs:
- frontend:
filters:
branches:
ignore: gh-pages
- services:
filters:
branches:
ignore:
- master
- gh-pages
- services@node-17:
filters:
branches:
ignore:
- master
- gh-pages
- danger:
filters:
branches:
ignore:
- master
- gh-pages
- /dependabot\/.*/
- e2e:
filters:
branches:
ignore: gh-pages
# on-commit-with-cache:
# jobs:
# - npm-install:
# filters:
# branches:
# ignore: gh-pages
# - frontend:
# requires:
# - npm-install
# - services:
# requires:
# - npm-install
# filters:
# branches:
# ignore: master
# - services@node-latest:
# requires:
# - npm-install
# filters:
# branches:
# ignore: master
# - danger:
# requires:
# - npm-install
# filters:
# branches:
# ignore: /dependabot\/.*/

View File

@@ -24,6 +24,7 @@ plugins:
- chai-friendly
- jsdoc
- mocha
- icedfrisby
- no-extension-in-require
- sort-class-members
- import
@@ -113,9 +114,16 @@ overrides:
mocha: true
rules:
mocha/no-exclusive-tests: 'error'
mocha/no-skipped-tests: 'error'
mocha/no-mocha-arrows: 'error'
mocha/prefer-arrow-callback: 'error'
- files:
- 'services/**/*.tester.js'
rules:
icedfrisby/no-exclusive-tests: 'error'
icedfrisby/no-skipped-tests: 'error'
rules:
# Disable some rules from eslint:recommended.
no-empty: ['error', { 'allowEmptyCatch': true }]

View File

@@ -1,37 +0,0 @@
---
name: 💡 Badge Request
about: Ideas for new badges
labels: 'service-badge'
---
:clipboard: **Description**
<!--
A clear and concise description of the new badge.
- Which service is this badge for e.g: GitHub, Travis CI
- What sort of information should this badge show?
Provide an example in plain text e.g: "version | v1.01" or as a static badge
(static badge generator can be found at https://shields.io)
-->
:link: **Data**
<!--
Where can we get the data from?
- Is there a public API?
- Does the API require an API key?
- Link to the API documentation.
-->
:microphone: **Motivation**
<!--
Please explain why this feature should be implemented and how it would be used.
- What is the specific use case?
-->
<!-- Love Shields? Please consider donating $10 to sustain our activities:
👉 https://opencollective.com/shields -->

View File

@@ -0,0 +1,62 @@
name: '💡 Badge Request'
description: Ideas for new badges
labels: ['service-badge']
body:
- type: markdown
attributes:
value: >
## Ideas for new badges
This issue template is for suggesting new badges which
**fetch and display data from an upstream service**.
If your suggestion is for a static badge
(which shows the same information every time it is requested), it is
[already possible to make these](https://github.com/badges/shields/blob/master/doc/static-badges.md).
We don't add specific routes for badges which only show static information.
- type: textarea
id: description
attributes:
label: '📋 Description'
description: |
A clear and concise description of the new badge.
- Which service is this badge for e.g: GitHub, Travis CI
- What sort of information should this badge show?
Provide an example in plain text e.g: "version | v1.01" or as a static badge
(static badge generator can be found at https://shields.io/#your-badge )
validations:
required: true
- type: textarea
id: data
attributes:
label: '🔗 Data'
description: |
Where can we get the data from?
Please consider and cover details like:
- Is there a public API?
- Does the API require authentication or an API key?
If so, please review our documentation on [Badges Requiring Authentication](https://github.com/badges/shields/blob/master/doc/authentication.md)
- Link to the API documentation.
validations:
required: true
- type: textarea
id: motivation
attributes:
label: '🎤 Motivation'
description: |
Please explain why this feature should be implemented and how it would be used.
- What is the specific use case?
validations:
required: true
- type: markdown
attributes:
value: |
## :heart: Love Shields?
Please consider donating $10 to sustain our activities: [https://opencollective.com/shields](https://opencollective.com/shields)

View File

@@ -8,5 +8,5 @@ inputs:
description: 'The GITHUB_TOKEN secret'
required: true
runs:
using: 'node12'
using: 'node16'
main: 'index.js'

View File

@@ -0,0 +1,31 @@
name: 'Frontend tests'
description: 'Run frontend tests and check types'
runs:
using: 'composite'
steps:
- name: Prepare frontend tests
if: always()
run: npm run defs && npm run features
shell: bash
- name: Tests
if: always()
run: npm run test:frontend -- --reporter json --reporter-option 'output=reports/frontend-tests.json'
shell: bash
- name: Type Checks
if: always()
run: |
set -o pipefail
npm run check-types:frontend 2>&1 | tee reports/frontend-types.txt
shell: bash
- name: Write Markdown Summary
if: always()
run: |
node scripts/mocha2md.js 'Frontend Tests' reports/frontend-tests.json >> $GITHUB_STEP_SUMMARY
echo '# Frontend Types' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
cat reports/frontend-types.txt >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
shell: bash

View File

@@ -7,11 +7,19 @@ inputs:
runs:
using: 'composite'
steps:
- name: Migrate DB
if: always()
run: npm run migrate up
env:
POSTGRES_URL: postgresql://postgres:postgres@localhost:5432/ci_test
shell: bash
- name: Integration Tests
if: always()
run: npm run test:integration -- --reporter json --reporter-option 'output=reports/integration-tests.json'
env:
GH_TOKEN: '${{ inputs.github-token }}'
POSTGRES_URL: postgresql://postgres:postgres@localhost:5432/ci_test
shell: bash
- name: Write Markdown Summary

View File

@@ -0,0 +1,86 @@
name: 'Service tests'
description: 'Run tests for selected services'
inputs:
github-token:
description: 'The GITHUB_TOKEN secret'
required: true
librariesio-tokens:
description: 'The SERVICETESTS_LIBRARIESIO_TOKENS secret'
required: false
default: ''
obs-user:
description: 'The SERVICETESTS_OBS_USER secret'
required: false
default: ''
obs-pass:
description: 'The SERVICETESTS_OBS_PASS secret'
required: false
default: ''
sl-insight-user-uuid:
description: 'The SERVICETESTS_SL_INSIGHT_USER_UUID secret'
required: false
default: ''
sl-insight-api-token:
description: 'The SERVICETESTS_SL_INSIGHT_API_TOKEN secret'
required: false
default: ''
twitch-client-id:
description: 'The SERVICETESTS_TWITCH_CLIENT_ID secret'
required: false
default: ''
twitch-client-secret:
description: 'The SERVICETESTS_TWITCH_CLIENT_SECRET secret'
required: false
default: ''
wheelmap-token:
description: 'The SERVICETESTS_WHEELMAP_TOKEN secret'
required: false
default: ''
youtube-api-key:
description: 'The SERVICETESTS_YOUTUBE_API_KEY secret'
required: false
default: ''
runs:
using: 'composite'
steps:
- name: Derive list of service tests to run
# Note: In this step we are using an intermediate env var instead of
# passing github.event.pull_request.title as an argument
# to prevent a shell injection attack. Further reading:
# https://securitylab.github.com/research/github-actions-untrusted-input/#exploitability-and-impact
# https://securitylab.github.com/research/github-actions-untrusted-input/#remediation
if: always()
env:
TITLE: ${{ github.event.pull_request.title }}
run: npm run test:services:pr:prepare "$TITLE"
shell: bash
- name: Run service tests
if: always()
run: npm run test:services:pr:run -- --reporter json --reporter-option 'output=reports/service-tests.json'
shell: bash
env:
RETRY_COUNT: 3
GH_TOKEN: '${{ inputs.github-token }}'
LIBRARIESIO_TOKENS: '${{ inputs.librariesio-tokens }}'
OBS_USER: '${{ inputs.obs-user }}'
OBS_PASS: '${{ inputs.obs-pass }}'
SL_INSIGHT_USER_UUID: '${{ inputs.sl-insight-user-uuid }}'
SL_INSIGHT_API_TOKEN: '${{ inputs.sl-insight-api-token }}'
TWITCH_CLIENT_ID: '${{ inputs.twitch-client-id }}'
TWITCH_CLIENT_SECRET: '${{ inputs.twitch-client-secret }}'
WHEELMAP_TOKEN: '${{ inputs.wheelmap-token }}'
YOUTUBE_API_KEY: '${{ inputs.youtube-api-key }}'
- name: Write Markdown Summary
if: always()
run: |
if test -f 'reports/service-tests.json'; then
echo '# Services' >> $GITHUB_STEP_SUMMARY
sed -e 's/^/- /' pull-request-services.log >> $GITHUB_STEP_SUMMARY
node scripts/mocha2md.js Report reports/service-tests.json >> $GITHUB_STEP_SUMMARY
else
echo 'No services found. Nothing to do.' >> $GITHUB_STEP_SUMMARY
fi
shell: bash

View File

@@ -5,21 +5,32 @@ inputs:
description: 'Version Spec of the version to use. Examples: 12.x, 10.15.1, >=10.15.0.'
required: true
cypress:
description: 'Install Cypress binary: 0 or 1'
description: 'Install Cypress binary (boolean)'
type: boolean
# https://docs.cypress.io/guides/getting-started/installing-cypress.html#Skipping-installation
# We don't need to install the Cypress binary in jobs that aren't actually running Cypress.
required: false
default: 0
default: false
runs:
using: 'composite'
steps:
- name: Install Node JS ${{ inputs.node-version }}
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: ${{ inputs.node-version }}
- name: Install dependencies
if: ${{ inputs.cypress == 'false' }}
env:
CYPRESS_INSTALL_BINARY: ${{ inputs.cypress }}
run: npm ci
CYPRESS_INSTALL_BINARY: 0
run: |
echo "skipping cypress binary"
npm ci
shell: bash
- name: Install dependencies (including cypress binary)
if: ${{ inputs.cypress == 'true' }}
run: |
echo "installing cypress binary"
npm ci
shell: bash

View File

@@ -1,5 +1,7 @@
name: Auto close
on: pull_request_target
on:
pull_request_target:
types: [opened]
permissions:
pull-requests: write

View File

@@ -11,12 +11,14 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
version: v0.9.1
- name: Set Git Short SHA
run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV
- name: Build
uses: docker/build-push-action@v3
uses: docker/build-push-action@v4
with:
context: .
push: false

View File

@@ -35,6 +35,8 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
version: v0.9.1
- name: Login to DockerHub
uses: docker/login-action@v2
@@ -43,7 +45,7 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push snapshot release to DockerHub
uses: docker/build-push-action@v3
uses: docker/build-push-action@v4
with:
context: .
push: true

29
.github/workflows/danger.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: Danger
on:
pull_request_target:
types: [opened, edited, reopened, synchronize]
permissions:
checks: write
pull-requests: write
statuses: write
jobs:
danger:
runs-on: ubuntu-latest
if: github.actor != 'dependabot[bot]' && github.actor != 'repo-ranger[bot]'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node-version: 16
- name: Danger
run: npm run danger ci
env:
# https://github.com/gatsbyjs/gatsby/pull/11555
NODE_ENV: test
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'

View File

@@ -16,10 +16,13 @@ jobs:
with:
persist-credentials: false
- name: Setup
uses: ./.github/actions/setup
with:
node-version: 16
- name: Build
run: |
npm ci
npm run build-docs
run: npm run build-docs
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4

View File

@@ -1,5 +1,7 @@
name: 'Dependency Review'
on: [pull_request]
on:
pull_request:
types: [opened, edited, reopened, synchronize]
jobs:
enforce-dependency-review:
@@ -8,4 +10,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@v3
- name: 'Dependency Review'
uses: actions/dependency-review-action@v2
uses: actions/dependency-review-action@v3

View File

@@ -13,6 +13,8 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
version: v0.9.1
- name: Login to DockerHub
uses: docker/login-action@v2
@@ -24,7 +26,7 @@ jobs:
run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV
- name: Build and push
uses: docker/build-push-action@v3
uses: docker/build-push-action@v4
with:
context: .
push: true

52
.github/workflows/test-e2e.yml vendored Normal file
View File

@@ -0,0 +1,52 @@
name: E2E
on:
pull_request:
types: [opened, edited, reopened, synchronize]
push:
branches-ignore:
- 'gh-pages'
- 'dependabot/**'
jobs:
test-e2e:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Cache Cypress binary
id: cache-cypress
uses: actions/cache@v3
env:
cache-name: cache-cypress
with:
path: ~/.cache/Cypress
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
- name: Setup
uses: ./.github/actions/setup
with:
node-version: 16
cypress: true
- name: Frontend build
run: GATSBY_BASE_URL=http://localhost:8080 npm run build
- name: Run tests
env:
GH_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
run: npm run e2e-on-build
- name: Archive videos
if: always()
uses: actions/upload-artifact@v3
with:
name: videos
path: cypress/videos
- name: Archive screenshots
if: always()
uses: actions/upload-artifact@v3
with:
name: screenshots
path: cypress/screenshots

26
.github/workflows/test-frontend.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: Frontend
on:
pull_request:
types: [opened, edited, reopened, synchronize]
push:
branches-ignore:
- 'gh-pages'
- 'dependabot/**'
jobs:
test-frontend:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node-version: 16
- name: Frontend tests
uses: ./.github/actions/frontend-tests
- name: Frontend build
run: npm run build

View File

@@ -1,13 +1,17 @@
name: Integration@node 17
on:
pull_request:
types: [opened, edited, reopened, synchronize]
push:
branches-ignore:
- 'gh-pages'
- 'dependabot/**'
jobs:
test-integration-17:
runs-on: ubuntu-latest
env:
PAT_EXISTS: ${{ secrets.GH_PAT != '' }}
services:
redis:
@@ -19,6 +23,19 @@ jobs:
--health-retries 5
ports:
- 6379:6379
postgres:
image: postgres
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: ci_test
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout
@@ -31,7 +48,14 @@ jobs:
env:
NPM_CONFIG_ENGINE_STRICT: 'false'
- name: Integration Tests
- name: Integration Tests (with PAT)
if: ${{ env.PAT_EXISTS == 'true' }}
uses: ./.github/actions/integration-tests
with:
github-token: '${{ secrets.GH_PAT }}'
- name: Integration Tests (with workflow token)
if: ${{ env.PAT_EXISTS == 'false' }}
uses: ./.github/actions/integration-tests
with:
github-token: '${{ secrets.GITHUB_TOKEN }}'

View File

@@ -1,13 +1,17 @@
name: Integration
on:
pull_request:
types: [opened, edited, reopened, synchronize]
push:
branches-ignore:
- 'gh-pages'
- 'dependabot/**'
jobs:
test-integration:
runs-on: ubuntu-latest
env:
PAT_EXISTS: ${{ secrets.GH_PAT != '' }}
services:
redis:
@@ -19,6 +23,19 @@ jobs:
--health-retries 5
ports:
- 6379:6379
postgres:
image: postgres
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: ci_test
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout
@@ -29,7 +46,14 @@ jobs:
with:
node-version: 16
- name: Integration Tests
- name: Integration Tests (with PAT)
if: ${{ env.PAT_EXISTS == 'true' }}
uses: ./.github/actions/integration-tests
with:
github-token: '${{ secrets.GH_PAT }}'
- name: Integration Tests (with workflow token)
if: ${{ env.PAT_EXISTS == 'false' }}
uses: ./.github/actions/integration-tests
with:
github-token: '${{ secrets.GITHUB_TOKEN }}'

View File

@@ -1,9 +1,11 @@
name: Lint
on:
pull_request:
types: [opened, edited, reopened, synchronize]
push:
branches-ignore:
- 'gh-pages'
- 'dependabot/**'
jobs:
test-lint:

View File

@@ -1,9 +1,11 @@
name: Main@node 17
on:
pull_request:
types: [opened, edited, reopened, synchronize]
push:
branches-ignore:
- 'gh-pages'
- 'dependabot/**'
jobs:
test-main-17:

View File

@@ -1,9 +1,11 @@
name: Main
on:
pull_request:
types: [opened, edited, reopened, synchronize]
push:
branches-ignore:
- 'gh-pages'
- 'dependabot/**'
jobs:
test-main:

View File

@@ -1,9 +1,11 @@
name: Package CLI
on:
pull_request:
types: [opened, edited, reopened, synchronize]
push:
branches-ignore:
- 'gh-pages'
- 'dependabot/**'
# Smoke test (render a badge with the CLI) with only the package
# dependencies installed.

View File

@@ -1,9 +1,11 @@
name: Package Library
on:
pull_request:
types: [opened, edited, reopened, synchronize]
push:
branches-ignore:
- 'gh-pages'
- 'dependabot/**'
jobs:
test-package-lib:

40
.github/workflows/test-services-17.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
name: Services@node 17
on:
pull_request:
types: [opened, edited, reopened, synchronize]
jobs:
test-services-17:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node-version: 17
env:
NPM_CONFIG_ENGINE_STRICT: 'false'
- name: Service tests (triggered from local branch)
if: github.event.pull_request.head.repo.full_name == github.repository
uses: ./.github/actions/service-tests
with:
github-token: '${{ secrets.GH_PAT }}'
librariesio-tokens: '${{ secrets.SERVICETESTS_LIBRARIESIO_TOKENS }}'
obs-user: '${{ secrets.SERVICETESTS_OBS_USER }}'
obs-pass: '${{ secrets.SERVICETESTS_OBS_PASS }}'
sl-insight-user-uuid: '${{ secrets.SERVICETESTS_SL_INSIGHT_USER_UUID }}'
sl-insight-api-token: '${{ secrets.SERVICETESTS_SL_INSIGHT_API_TOKEN }}'
twitch-client-id: '${{ secrets.SERVICETESTS_TWITCH_CLIENT_ID }}'
twitch-client-secret: '${{ secrets.SERVICETESTS_TWITCH_CLIENT_SECRET }}'
wheelmap-token: '${{ secrets.SERVICETESTS_WHEELMAP_TOKEN }}'
youtube-api-key: '${{ secrets.SERVICETESTS_YOUTUBE_API_KEY }}'
- name: Service tests (triggered from fork)
if: github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/actions/service-tests
with:
github-token: '${{ secrets.GITHUB_TOKEN }}'

38
.github/workflows/test-services.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Services
on:
pull_request:
types: [opened, edited, reopened, synchronize]
jobs:
test-services:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node-version: 16
- name: Service tests (triggered from local branch)
if: github.event.pull_request.head.repo.full_name == github.repository
uses: ./.github/actions/service-tests
with:
github-token: '${{ secrets.GH_PAT }}'
librariesio-tokens: '${{ secrets.SERVICETESTS_LIBRARIESIO_TOKENS }}'
obs-user: '${{ secrets.SERVICETESTS_OBS_USER }}'
obs-pass: '${{ secrets.SERVICETESTS_OBS_PASS }}'
sl-insight-user-uuid: '${{ secrets.SERVICETESTS_SL_INSIGHT_USER_UUID }}'
sl-insight-api-token: '${{ secrets.SERVICETESTS_SL_INSIGHT_API_TOKEN }}'
twitch-client-id: '${{ secrets.SERVICETESTS_TWITCH_CLIENT_ID }}'
twitch-client-secret: '${{ secrets.SERVICETESTS_TWITCH_CLIENT_SECRET }}'
wheelmap-token: '${{ secrets.SERVICETESTS_WHEELMAP_TOKEN }}'
youtube-api-key: '${{ secrets.SERVICETESTS_YOUTUBE_API_KEY }}'
- name: Service tests (triggered from fork)
if: github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/actions/service-tests
with:
github-token: '${{ secrets.GITHUB_TOKEN }}'

33
.github/workflows/update-github-api.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: Update GitHub API Version
on:
schedule:
- cron: '0 7 * * 6'
# At 07:00 on Saturday
workflow_dispatch:
permissions:
pull-requests: write
contents: write
jobs:
update-github-api:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup
with:
node-version: 16
- name: Check for new GitHub API version
run: node scripts/update-github-api.js
- name: Create Pull Request if config has changed
uses: peter-evans/create-pull-request@v4
with:
token: '${{ secrets.GITHUB_TOKEN }}'
commit-message: Update GitHub API Version
title: Update [GitHub] API Version
branch-suffix: random

3
.gitignore vendored
View File

@@ -117,3 +117,6 @@ service-definitions.yml
# Flamebearer
flamegraph.html
# config file for node-pg-migrate
migrations-config.json

View File

@@ -4,6 +4,72 @@ Note: this changelog is for the shields.io server. The changelog for the badge-m
---
## server-2023-03-01
**Deprecation:** For users who need to maintain a Github Token pool, storage has been provided via the `RedisTokenPersistence` and `REDIS_URL` settings. As of this release, the `RedisTokenPersistence` backend is now deprecated and will be removed in a future release. If you are using this feature, you will need to migrate to using the `SQLTokenPersistence` backend for storage and provide a postgres connection string via the `POSTGRES_URL` setting. [#8922](https://github.com/badges/shields/issues/8922)
- fix: for crates.io versions, use max_stable_version if it exists [#8687](https://github.com/badges/shields/issues/8687)
- don't autofocus search [#8927](https://github.com/badges/shields/issues/8927)
- Add [Vcpkg] version service [#8923](https://github.com/badges/shields/issues/8923)
- fix: Set uid/gid in docker image to 0 [#8908](https://github.com/badges/shields/issues/8908)
- expose port 443 in Dockerfile [#8889](https://github.com/badges/shields/issues/8889)
- Dependency updates
## server-2023-02-01
- replace [twitter] badge with static fallback [#8842](https://github.com/badges/shields/issues/8842)
- Add various [Polymart] badges [#8811](https://github.com/badges/shields/issues/8811)
- update [githubpipenv] tests/examples [#8797](https://github.com/badges/shields/issues/8797)
- deprecate [apm] service [#8773](https://github.com/badges/shields/issues/8773)
- deprecate lgtm [#8771](https://github.com/badges/shields/issues/8771)
- Dependency updates
## server-2023-01-01
- Breaking change: Routes for GitHub workflows badge have changed. See https://github.com/badges/shields/issues/8671 for more details
- Behaviour change: In this release we fixed a long standing bug. GitHub badges were previously not reading the base URL from the `config.service.baseUri`.
This release fixes that bug, bringing the code into line with the documented behaviour. This should not cause a behaviour change for most users,
but users who had previously set a value in `config.service.baseUri` which was previously ignored could see this now have an effect.
Users who configure their instance using env vars rather than yaml should see no change.
- Send `X-GitHub-Api-Version` when calling [GitHub] v3 API [#8669](https://github.com/badges/shields/issues/8669)
- add [VpmVersion] badge [#8755](https://github.com/badges/shields/issues/8755)
- Add [modrinth] game versions [#8673](https://github.com/badges/shields/issues/8673)
- fix debug logging of undefined query params [#8540](https://github.com/badges/shields/issues/8540), [#8757](https://github.com/badges/shields/issues/8757)
- fall back to classifiers if [pypi] license text is really long [#8690](https://github.com/badges/shields/issues/8690)
- allow passing key to [stackexchange] [#8539](https://github.com/badges/shields/issues/8539)
- Dependency updates
## server-2022-12-01
- fix: support logoColor to shield icons. [#8263](https://github.com/badges/shields/issues/8263)
- handle missing properties array in [VisualStudioMarketplaceVersion] [#8603](https://github.com/badges/shields/issues/8603)
- deprecate [wercker] service [#8642](https://github.com/badges/shields/issues/8642)
- Add [Coincap] Cryptocurrency badges [#8623](https://github.com/badges/shields/issues/8623)
- Add [modrinth] version [#8604](https://github.com/badges/shields/issues/8604)
- [factorio-mod-portal] services [#8625](https://github.com/badges/shields/issues/8625)
- [Coveralls] for GitLab [#8584](https://github.com/badges/shields/issues/8584), [#8644](https://github.com/badges/shields/issues/8644)
- Remove 'suggest badges' feature [#8311](https://github.com/badges/shields/issues/8311)
- Add [modrinth] followers [#8601](https://github.com/badges/shields/issues/8601)
- Update the [modrinth] API to v2 [#8600](https://github.com/badges/shields/issues/8600)
- tidy up [GitHubGist] routes [#8510](https://github.com/badges/shields/issues/8510)
- fix [flathub] version error handling [#8500](https://github.com/badges/shields/issues/8500)
- Dependency updates
## server-2022-11-01
- [Ansible] Add collection badge [#8578](https://github.com/badges/shields/issues/8578)
- [VisualStudioMarketplace] Add support to prerelease extensions version (Issue #8207) [#8561](https://github.com/badges/shields/issues/8561)
- feat: add [GitlabLastCommit] service [#8508](https://github.com/badges/shields/issues/8508)
- fix [swagger] service tests (allow 0 items in array) [#8564](https://github.com/badges/shields/issues/8564)
- fix codecov badge for non-default branch [#8565](https://github.com/badges/shields/issues/8565)
- Add [GitHubLastCommit] by committer badge [#8537](https://github.com/badges/shields/issues/8537)
- [GitHubReleaseDate] - published_at field [#8543](https://github.com/badges/shields/issues/8543)
- Fix [Testspace] with new "untested" value in case_counts array [#8544](https://github.com/badges/shields/issues/8544)
- fix: Support WAITING status for GitHub deployments [#8521](https://github.com/badges/shields/issues/8521)
- [Whatpulse] badge for a user and for a team [#8466](https://github.com/badges/shields/issues/8466)
- deprecate [pkgreview] service [#8499](https://github.com/badges/shields/issues/8499)
- Dependency updates
## server-2022-10-08
- deprecate [criterion] service [#8501](https://github.com/badges/shields/issues/8501)

View File

@@ -30,8 +30,8 @@ LABEL fly.version=$version
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY --from=Builder /usr/src/app /usr/src/app
COPY --from=Builder --chown=0:0 /usr/src/app /usr/src/app
CMD node server
EXPOSE 80
EXPOSE 80 443

View File

@@ -19,9 +19,6 @@
<a href="https://coveralls.io/github/badges/shields">
<img src="https://img.shields.io/coveralls/github/badges/shields"
alt="coverage"></a>
<a href="https://lgtm.com/projects/g/badges/shields/alerts/">
<img src="https://img.shields.io/lgtm/alerts/g/badges/shields"
alt="Total alerts"/></a>
<a href="https://discord.gg/HjJCwm5">
<img src="https://img.shields.io/discord/308323056592486420?logo=discord"
alt="chat on Discord"></a>

View File

@@ -94,10 +94,12 @@ private:
obs_user: 'OBS_USER'
obs_pass: 'OBS_PASS'
redis_url: 'REDIS_URL'
postgres_url: 'POSTGRES_URL'
sentry_dsn: 'SENTRY_DSN'
sl_insight_userUuid: 'SL_INSIGHT_USER_UUID'
sl_insight_apiToken: 'SL_INSIGHT_API_TOKEN'
sonarqube_token: 'SONARQUBE_TOKEN'
stackapps_api_key: 'STACKAPPS_API_KEY'
teamcity_user: 'TEAMCITY_USER'
teamcity_pass: 'TEAMCITY_PASS'
twitch_client_id: 'TWITCH_CLIENT_ID'

View File

@@ -1,7 +1,6 @@
public:
bind:
address: '::'
metrics:
prometheus:
enabled: false
@@ -12,33 +11,26 @@ public:
intervalSeconds: 15
ssl:
isSecure: false
cors:
allowedOrigin: []
services:
github:
baseUri: 'https://api.github.com/'
baseUri: 'https://api.github.com'
debug:
enabled: false
intervalSeconds: 200
restApiVersion: '2022-11-28'
obs:
authorizedOrigins: 'https://api.opensuse.org'
weblate:
authorizedOrigins: 'https://hosted.weblate.org'
trace: false
cacheHeaders:
defaultCacheLengthSeconds: 120
handleInternalErrors: true
fetchLimit: '10MB'
userAgentBase: 'shields (self-hosted)'
requestTimeoutSeconds: 120
requestTimeoutMaxAgeSeconds: 30
requireCloudflare: false
private: {}

View File

@@ -14,24 +14,6 @@ export function badgeUrlFromPath({
longCache?: boolean
}): string
export function badgeUrlFromPattern({
baseUrl,
pattern,
namedParams,
queryParams,
style,
format,
longCache,
}: {
baseUrl?: string
pattern: string
namedParams: { [k: string]: string }
queryParams: { [k: string]: string | number | boolean }
style?: string
format?: string
longCache?: boolean
}): string
export function encodeField(s: string): string
export function staticBadgeUrl({

View File

@@ -1,7 +1,6 @@
// Avoid "Attempted import error: 'URL' is not exported from 'url'" in frontend.
import url from 'url'
import queryString from 'query-string'
import { compile } from 'path-to-regexp'
function badgeUrlFromPath({
baseUrl = '',
@@ -23,33 +22,6 @@ function badgeUrlFromPath({
return `${baseUrl}${path}${outExt}${suffix}`
}
function badgeUrlFromPattern({
baseUrl = '',
pattern,
namedParams,
queryParams,
style,
format = '',
longCache = false,
}) {
const toPath = compile(pattern, {
strict: true,
sensitive: true,
encode: encodeURIComponent,
})
const path = toPath(namedParams)
return badgeUrlFromPath({
baseUrl,
path,
queryParams,
style,
format,
longCache,
})
}
function encodeField(s) {
return encodeURIComponent(s.replace(/-/g, '--').replace(/_/g, '__'))
}
@@ -154,7 +126,6 @@ function rasterRedirectUrl({ rasterUrl }, badgeUrl) {
export {
badgeUrlFromPath,
badgeUrlFromPattern,
encodeField,
staticBadgeUrl,
queryStringStaticBadgeUrl,

View File

@@ -1,7 +1,6 @@
import { test, given } from 'sazerac'
import {
badgeUrlFromPath,
badgeUrlFromPattern,
encodeField,
staticBadgeUrl,
queryStringStaticBadgeUrl,
@@ -20,18 +19,6 @@ describe('Badge URL generation functions', function () {
)
})
test(badgeUrlFromPattern, () => {
given({
baseUrl: 'http://example.com',
pattern: '/npm/v/:packageName',
namedParams: { packageName: 'gh-badges' },
style: 'flat-square',
longCache: true,
}).expect(
'http://example.com/npm/v/gh-badges?cacheSeconds=2592000&style=flat-square'
)
})
test(encodeField, () => {
given('foo').expect('foo')
given('').expect('')

View File

@@ -221,8 +221,14 @@ class BaseService {
const logTrace = (...args) => trace.logTrace('fetch', ...args)
let logUrl = url
const logOptions = Object.assign({}, options)
if ('searchParams' in options) {
const params = new URLSearchParams(options.searchParams)
if ('searchParams' in options && options.searchParams != null) {
const params = new URLSearchParams(
Object.fromEntries(
Object.entries(options.searchParams).filter(
([k, v]) => v !== undefined
)
)
)
logUrl = `${url}?${params.toString()}`
delete logOptions.searchParams
}

View File

@@ -440,14 +440,21 @@ describe('BaseService', function () {
)
const url = 'some-url'
const options = { headers: { Cookie: 'some-cookie' } }
const options = {
headers: { Cookie: 'some-cookie' },
searchParams: { param1: 'foobar', param2: undefined },
}
await serviceInstance._request({ url, options })
expect(trace.logTrace).to.be.calledWithMatch(
'fetch',
sinon.match.string,
'Request',
`${url}\n${JSON.stringify(options, null, 2)}`
`${url}?param1=foobar\n${JSON.stringify(
{ headers: options.headers },
null,
2
)}`
)
expect(trace.logTrace).to.be.calledWithMatch(
'fetch',

View File

@@ -16,16 +16,15 @@ import toArray from './to-array.js'
//
// Logos are resolved in this manner:
//
// 1. When `?logo=` contains the name of one of the Shields logos, or contains
// base64-encoded SVG, that logo is used. In the case of a named logo, when
// a `&logoColor=` is specified, that color is used. Otherwise the default
// color is used. `logoColor` will not be applied to a custom
// (base64-encoded) logo; if a custom color is desired the logo should be
// recolored prior to making the request. The appearance of the logo can be
// customized using `logoWidth`, and in the case of the popout badge,
// `logoPosition`. When `?logo=` is specified, any logo-related parameters
// specified dynamically by the service, or by default in the service, are
// ignored.
// 1. When `?logo=` contains a named logo or the name of one of the Shields
// logos or contains base64-encoded SVG, that logo is used. When a
// `&logoColor=` is specified, that color is used (except for the
// base64-encoded logos). Otherwise the default color is used. If the color
// is specified for a multicolor Shield logo, the named logo will be used and
// colored. The appearance of the logo can be customized using `logoWidth`,
// and in the case of the popout badge, `logoPosition`. When `?logo=` is
// specified, any logo-related parameters specified dynamically by the
// service, or by default in the service, are ignored.
// 2. The second precedence is the dynamic logo returned by a service. This is
// used only by the Endpoint badge. The `logoColor` can be overridden by the
// query string.

View File

@@ -153,10 +153,18 @@ describe('coalesceBadge', function () {
).and.not.to.be.empty
})
it('applies the named logo with color', function () {
it('applies the named monochrome logo with color', function () {
expect(
coalesceBadge({}, { namedLogo: 'dependabot', logoColor: 'blue' }, {})
.logo
).to.equal(getShieldsIcon({ name: 'dependabot', color: 'blue' })).and.not
.to.be.empty
})
it('applies the named multicolored logo with color', function () {
expect(
coalesceBadge({}, { namedLogo: 'npm', logoColor: 'blue' }, {}).logo
).to.equal(getShieldsIcon({ name: 'npm', color: 'blue' })).and.not.to.be
).to.equal(getSimpleIcon({ name: 'npm', color: 'blue' })).and.not.to.be
.empty
})
@@ -166,15 +174,25 @@ describe('coalesceBadge', function () {
).to.equal(getShieldsIcon({ name: 'npm' })).and.not.be.empty
})
it('overrides the logo with a color', function () {
it('overrides the monochrome logo with a color', function () {
expect(
coalesceBadge(
{ logo: 'dependabot', logoColor: 'blue' },
{ namedLogo: 'appveyor' },
{}
).logo
).to.equal(getShieldsIcon({ name: 'dependabot', color: 'blue' })).and.not
.be.empty
})
it('overrides multicolored logo with a color', function () {
expect(
coalesceBadge(
{ logo: 'npm', logoColor: 'blue' },
{ namedLogo: 'appveyor' },
{}
).logo
).to.equal(getShieldsIcon({ name: 'npm', color: 'blue' })).and.not.be
.empty
).to.equal(getSimpleIcon({ name: 'npm', color: 'blue' })).and.not.be.empty
})
it("when the logo is overridden, it ignores the service's logo color, position, and width", function () {
@@ -192,15 +210,25 @@ describe('coalesceBadge', function () {
).to.equal(getShieldsIcon({ name: 'npm' })).and.not.be.empty
})
it("overrides the service logo's color", function () {
it("overrides the service monochome logo's color", function () {
expect(
coalesceBadge(
{ logoColor: 'blue' },
{ namedLogo: 'dependabot', logoColor: 'red' },
{}
).logo
).to.equal(getShieldsIcon({ name: 'dependabot', color: 'blue' })).and.not
.be.empty
})
it("overrides the service multicolored logo's color", function () {
expect(
coalesceBadge(
{ logoColor: 'blue' },
{ namedLogo: 'npm', logoColor: 'red' },
{}
).logo
).to.equal(getShieldsIcon({ name: 'npm', color: 'blue' })).and.not.be
.empty
).to.equal(getSimpleIcon({ name: 'npm', color: 'blue' })).and.not.be.empty
})
// https://github.com/badges/shields/issues/2998

View File

@@ -27,11 +27,13 @@ class InvalidService extends Error {
}
}
function getServicePaths(pattern) {
return glob.sync(toUnixPath(path.join(serviceDir, '**', pattern)))
}
async function loadServiceClasses(servicePaths) {
if (!servicePaths) {
servicePaths = glob.sync(
toUnixPath(path.join(serviceDir, '**', '*.service.js'))
)
servicePaths = getServicePaths('*.service.js')
}
const serviceClasses = []
@@ -102,15 +104,16 @@ async function collectDefinitions() {
async function loadTesters() {
return Promise.all(
glob
.sync(path.join(serviceDir, '**', '*.tester.js'))
.map(async path => await import(`file://${path}`))
getServicePaths('*.tester.js').map(
async path => await import(`file://${path}`)
)
)
}
export {
InvalidService,
loadServiceClasses,
getServicePaths,
checkNames,
collectDefinitions,
loadTesters,

View File

@@ -2,7 +2,11 @@ import path from 'path'
import { fileURLToPath } from 'url'
import chai from 'chai'
import chaiAsPromised from 'chai-as-promised'
import { loadServiceClasses, InvalidService } from './loader.js'
import {
loadServiceClasses,
getServicePaths,
InvalidService,
} from './loader.js'
chai.use(chaiAsPromised)
const { expect } = chai
@@ -65,3 +69,15 @@ describe('loadServiceClasses function', function () {
).to.eventually.have.length(5)
})
})
describe('getServicePaths', function () {
// these tests just make sure we discover a
// plausibly large number of .service and .tester files
it('finds a non-zero number of services in the project', function () {
expect(getServicePaths('*.service.js')).to.have.length.above(400)
})
it('finds a non-zero number of testers in the project', function () {
expect(getServicePaths('*.tester.js')).to.have.length.above(400)
})
})

View File

@@ -14,14 +14,16 @@ let resourceCache = Object.create(null)
/**
* Make a HTTP request using an in-memory cache
*
* @param {object} attrs Refer to individual attrs
* @param {string} attrs.url URL to request
* @param {number} attrs.ttl Number of milliseconds to keep cached value for
* @param {boolean} [attrs.json=true] True if we expect to parse the response as JSON
* @param {Function} [attrs.scraper=buffer => buffer] Function to extract value from the response
* @param {object} [attrs.options={}] Options to pass to got
* @param {Function} [attrs.requestFetcher=fetch] Custom fetch function
* @returns {*} Parsed response
* @async
* @param {object} attrs - Refer to individual attrs
* @param {string} attrs.url - URL to request
* @param {number} attrs.ttl - Number of milliseconds to keep cached value for
* @param {boolean} [attrs.json=true] - True if we expect to parse the response as JSON
* @param {Function} [attrs.scraper=buffer => buffer] - Function to extract value from the response
* @param {object} [attrs.options={}] - Options to pass to got
* @param {Function} [attrs.requestFetcher=fetch] - Custom fetch function
* @throws {InvalidResponse} - Error if unable to parse response
* @returns {Promise<*>} Promise that resolves to parsed response
*/
async function getCachedResource({
url,

View File

@@ -11,7 +11,6 @@ import originalJoi from 'joi'
import makeBadge from '../../badge-maker/lib/make-badge.js'
import GithubConstellation from '../../services/github/github-constellation.js'
import LibrariesIoConstellation from '../../services/librariesio/librariesio-constellation.js'
import { setRoutes } from '../../services/suggest.js'
import { loadServiceClasses } from '../base-service/loader.js'
import { makeSend } from '../base-service/legacy-result-sender.js'
import { handleRequest } from '../base-service/legacy-request-handler.js'
@@ -113,6 +112,9 @@ const publicConfigSchema = Joi.object({
redirectUrl: optionalUrl,
rasterUrl: optionalUrl,
cors: {
// This doesn't actually do anything
// TODO: maybe remove in future?
// https://github.com/badges/shields/pull/8311#discussion_r945337530
allowedOrigin: Joi.array().items(optionalUrl).required(),
},
services: Joi.object({
@@ -124,6 +126,7 @@ const publicConfigSchema = Joi.object({
enabled: Joi.boolean().required(),
intervalSeconds: Joi.number().integer().min(1).required(),
},
restApiVersion: Joi.date().raw().required(),
},
gitlab: defaultService,
jira: defaultService,
@@ -180,10 +183,12 @@ const privateConfigSchema = Joi.object({
obs_user: Joi.string(),
obs_pass: Joi.string(),
redis_url: Joi.string().uri({ scheme: ['redis', 'rediss'] }),
postgres_url: Joi.string().uri({ scheme: 'postgresql' }),
sentry_dsn: Joi.string(),
sl_insight_userUuid: Joi.string(),
sl_insight_apiToken: Joi.string(),
sonarqube_token: Joi.string(),
stackapps_api_key: Joi.string(),
teamcity_user: Joi.string(),
teamcity_pass: Joi.string(),
twitch_client_id: Joi.string(),
@@ -488,7 +493,6 @@ class Server {
const {
bind: { port, address: hostname },
ssl: { isSecure: secure, cert, key },
cors: { allowedOrigin },
requireCloudflare,
} = this.config.public
@@ -521,9 +525,6 @@ class Server {
}
}
const { apiProvider: githubApiProvider } = this.githubConstellation
setRoutes(allowedOrigin, githubApiProvider, camp)
// https://github.com/badges/shields/issues/3273
camp.handle((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*')

View File

@@ -60,12 +60,14 @@ describe('The server', function () {
})
it('should serve badges with custom maxAge', async function () {
const { headers } = await got(`${baseUrl}npm/l/express`)
expect(headers['cache-control']).to.equal('max-age=3600, s-maxage=3600')
const { headers } = await got(`${baseUrl}badge/foo-bar-blue`)
expect(headers['cache-control']).to.equal('max-age=86400, s-maxage=86400')
})
it('should return cors header for the request', async function () {
const { statusCode, headers } = await got(`${baseUrl}npm/v/express.svg`)
const { statusCode, headers } = await got(
`${baseUrl}badge/foo-bar-blue.svg`
)
expect(statusCode).to.equal(200)
expect(headers['access-control-allow-origin']).to.equal('*')
})
@@ -84,12 +86,15 @@ describe('The server', function () {
})
it('should redirect modern PNG badges as configured', async function () {
const { statusCode, headers } = await got(`${baseUrl}npm/v/express.png`, {
followRedirect: false,
})
const { statusCode, headers } = await got(
`${baseUrl}badge/foo-bar-blue.png`,
{
followRedirect: false,
}
)
expect(statusCode).to.equal(301)
expect(headers.location).to.equal(
'http://raster.example.test/npm/v/express.png'
'http://raster.example.test/badge/foo-bar-blue.png'
)
})
@@ -197,9 +202,12 @@ describe('The server', function () {
})
it('should return the 410 badge for obsolete formats', async function () {
const { statusCode, body } = await got(`${baseUrl}npm/v/express.jpg`, {
throwHttpErrors: false,
})
const { statusCode, body } = await got(
`${baseUrl}badge/foo-bar-blue.jpg`,
{
throwHttpErrors: false,
}
)
// TODO It would be nice if this were 404 or 410.
expect(statusCode).to.equal(200)
expect(body)
@@ -207,12 +215,6 @@ describe('The server', function () {
.and.to.include('410')
.and.to.include('jpg no longer available')
})
it('should return cors header for the request', async function () {
const { statusCode, headers } = await got(`${baseUrl}npm/v/express.svg`)
expect(statusCode).to.equal(200)
expect(headers['access-control-allow-origin']).to.equal('*')
})
})
context('`requireCloudflare` is enabled', function () {

View File

@@ -1,102 +0,0 @@
/**
* @module
*/
import { URL, format as urlFormat } from 'url'
function formatSlug(owner, repo, pullRequest) {
return `${owner}/${repo}#${pullRequest}`
}
function parseGithubPullRequestUrl(url, options = {}) {
const { verifyBaseUrl } = options
const parsed = new URL(url)
const components = parsed.pathname.substr(1).split('/')
if (components[2] !== 'pull' || components.length !== 4) {
throw Error(`Invalid GitHub pull request URL: ${url}`)
}
const [owner, repo, , pullRequest] = components
parsed.pathname = ''
const baseUrl = urlFormat(parsed, {
auth: false,
fragment: false,
search: false,
}).replace(/\/$/, '')
if (verifyBaseUrl && baseUrl !== verifyBaseUrl) {
throw Error(`Expected base URL to be ${verifyBaseUrl} but got ${baseUrl}`)
}
return {
baseUrl,
owner,
repo,
pullRequest: +pullRequest,
slug: formatSlug(owner, repo, pullRequest),
}
}
function parseGithubRepoSlug(slug) {
const components = slug.split('/')
if (components.length !== 2) {
throw Error(`Invalid GitHub repo slug: ${slug}`)
}
const [owner, repo] = components
return { owner, repo }
}
function _inferPullRequestFromTravisEnv(env) {
const { owner, repo } = parseGithubRepoSlug(env.TRAVIS_REPO_SLUG)
const pullRequest = +env.TRAVIS_PULL_REQUEST
return {
owner,
repo,
pullRequest,
slug: formatSlug(owner, repo, pullRequest),
}
}
function _inferPullRequestFromCircleEnv(env) {
return parseGithubPullRequestUrl(
env.CI_PULL_REQUEST || env.CIRCLE_PULL_REQUEST
)
}
/**
* When called inside a CI build, infer the details
* of a pull request from the environment variables.
*
* @param {object} [env=process.env] Environment variables
* @returns {module:core/service-test-runner/infer-pull-request~PullRequest}
* Pull Request
*/
function inferPullRequest(env = process.env) {
if (env.TRAVIS) {
return _inferPullRequestFromTravisEnv(env)
} else if (env.CIRCLECI) {
return _inferPullRequestFromCircleEnv(env)
} else if (env.CI) {
throw Error(
'Unsupported CI system. Unable to obtain pull request information from the environment.'
)
} else {
throw Error(
'Unable to obtain pull request information from the environment. Is this running in CI?'
)
}
}
/**
* Pull Request
*
* @typedef PullRequest
* @property {string} pr.baseUrl (returned for travis CI only)
* @property {string} owner
* @property {string} repo
* @property {string} pullRequest PR/issue number
* @property {string} slug owner/repo/#pullRequest
*/
export { parseGithubPullRequestUrl, parseGithubRepoSlug, inferPullRequest }

View File

@@ -1,48 +0,0 @@
import { test, given, forCases } from 'sazerac'
import {
parseGithubPullRequestUrl,
inferPullRequest,
} from './infer-pull-request.js'
describe('Pull request inference', function () {
test(parseGithubPullRequestUrl, () => {
forCases([
given('https://github.com/badges/shields/pull/1234'),
given('https://github.com/badges/shields/pull/1234', {
verifyBaseUrl: 'https://github.com',
}),
]).expect({
baseUrl: 'https://github.com',
owner: 'badges',
repo: 'shields',
pullRequest: 1234,
slug: 'badges/shields#1234',
})
given('https://github.com/badges/shields/pull/1234', {
verifyBaseUrl: 'https://example.com',
}).expectError(
'Expected base URL to be https://example.com but got https://github.com'
)
})
test(inferPullRequest, () => {
const expected = {
owner: 'badges',
repo: 'shields',
pullRequest: 1234,
slug: 'badges/shields#1234',
}
given({
CIRCLECI: '1',
CI_PULL_REQUEST: 'https://github.com/badges/shields/pull/1234',
}).expect(Object.assign({ baseUrl: 'https://github.com' }, expected))
given({
TRAVIS: '1',
TRAVIS_REPO_SLUG: 'badges/shields',
TRAVIS_PULL_REQUEST: '1234',
}).expect(expected)
})
})

View File

@@ -1,5 +1,5 @@
// Infer the current PR from the Travis environment, and look for bracketed,
// space-separated service names in the pull request title.
// Derive a list of service tests to run based on
// space-separated service names in the PR title.
//
// Output the list of services.
//
@@ -8,54 +8,26 @@
// Output:
// travis
// sonar
//
// Example:
//
// TRAVIS=1 TRAVIS_REPO_SLUG=badges/shields TRAVIS_PULL_REQUEST=1108 npm run test:services:pr:prepare
import got from 'got'
import { inferPullRequest } from './infer-pull-request.js'
import servicesForTitle from './services-for-title.js'
async function getTitle(owner, repo, pullRequest) {
const {
body: { title },
} = await got(
`https://api.github.com/repos/${owner}/${repo}/pulls/${pullRequest}`,
{
headers: {
'User-Agent': 'badges/shields',
Authorization: `token ${process.env.GITHUB_TOKEN}`,
},
responseType: 'json',
}
)
return title
let title
try {
if (process.argv.length < 3) {
throw new Error()
}
title = process.argv[2]
} catch (e) {
console.error('Error processing arguments')
process.exit(1)
}
async function main() {
const { owner, repo, pullRequest, slug } = inferPullRequest()
console.error(`PR: ${slug}`)
const title = await getTitle(owner, repo, pullRequest)
console.error(`Title: ${title}\n`)
const services = servicesForTitle(title)
if (services.length === 0) {
console.error('No services found. Nothing to do.')
} else {
console.error(
`Services: (${services.length} found) ${services.join(', ')}\n`
)
console.log(services.join('\n'))
}
console.error(`Title: ${title}\n`)
const services = servicesForTitle(title)
if (services.length === 0) {
console.error('No services found. Nothing to do.')
} else {
console.error(`Services: (${services.length} found) ${services.join(', ')}\n`)
console.log(services.join('\n'))
}
;(async () => {
try {
await main()
} catch (e) {
console.error(e)
process.exit(1)
}
})()

View File

@@ -84,7 +84,6 @@ describe('Redis token persistence', function () {
const toRemove = expected.pop()
await persistence.initialize()
await persistence.noteTokenRemoved(toRemove)
const savedTokens = await redis.smembers(key)

View File

@@ -0,0 +1,103 @@
import pg from 'pg'
import { expect } from 'chai'
import configModule from 'config'
import SqlTokenPersistence from './sql-token-persistence.js'
const config = configModule.util.toObject()
const postgresUrl = config?.private?.postgres_url
const tableName = 'token_persistence_integration_test'
describe('SQL token persistence', function () {
let pool
let persistence
before('Mock db connection and load app', async function () {
// Create a new pool with a connection limit of 1
pool = new pg.Pool({
connectionString: postgresUrl,
// Reuse the connection to make sure we always hit the same pg_temp schema
max: 1,
// Disable auto-disconnection of idle clients to make sure we always hit the same pg_temp schema
idleTimeoutMillis: 0,
})
persistence = new SqlTokenPersistence({
url: postgresUrl,
table: tableName,
})
})
after(async function () {
if (persistence) {
await persistence.stop()
persistence = undefined
}
})
beforeEach('Create temporary table', async function () {
await pool.query(
`CREATE TEMPORARY TABLE ${tableName} (LIKE github_user_tokens INCLUDING ALL);`
)
})
afterEach('Drop temporary table', async function () {
await pool.query(`DROP TABLE IF EXISTS pg_temp.${tableName};`)
})
context('when the key does not exist', function () {
it('does nothing', async function () {
const tokens = await persistence.initialize(pool)
expect(tokens).to.deep.equal([])
})
})
context('when the key exists', function () {
const initialTokens = ['a', 'b', 'c'].map(char => char.repeat(40))
beforeEach(async function () {
initialTokens.forEach(async token => {
await pool.query(
`INSERT INTO pg_temp.${tableName} (token) VALUES ($1::text);`,
[token]
)
})
})
it('loads the contents', async function () {
const tokens = await persistence.initialize(pool)
expect(tokens.sort()).to.deep.equal(initialTokens)
})
context('when tokens are added', function () {
it('saves the change', async function () {
const newToken = 'e'.repeat(40)
const expected = initialTokens.slice()
expected.push(newToken)
await persistence.initialize(pool)
await persistence.noteTokenAdded(newToken)
const result = await pool.query(
`SELECT token FROM pg_temp.${tableName};`
)
const savedTokens = result.rows.map(row => row.token)
expect(savedTokens.sort()).to.deep.equal(expected)
})
})
context('when tokens are removed', function () {
it('saves the change', async function () {
const expected = Array.from(initialTokens)
const toRemove = expected.pop()
await persistence.initialize(pool)
await persistence.noteTokenRemoved(toRemove)
const result = await pool.query(
`SELECT token FROM pg_temp.${tableName};`
)
const savedTokens = result.rows.map(row => row.token)
expect(savedTokens.sort()).to.deep.equal(expected)
})
})
})
})

View File

@@ -0,0 +1,55 @@
import pg from 'pg'
import log from '../server/log.js'
export default class SqlTokenPersistence {
constructor({ url, table }) {
this.url = url
this.table = table
this.noteTokenAdded = this.noteTokenAdded.bind(this)
this.noteTokenRemoved = this.noteTokenRemoved.bind(this)
}
async initialize(pool) {
if (pool) {
this.pool = pool
} else {
this.pool = new pg.Pool({ connectionString: this.url })
}
const result = await this.pool.query(`SELECT token FROM ${this.table};`)
return result.rows.map(row => row.token)
}
async stop() {
await this.pool.end()
}
async onTokenAdded(token) {
return await this.pool.query(
`INSERT INTO ${this.table} (token) VALUES ($1::text) ON CONFLICT (token) DO NOTHING;`,
[token]
)
}
async onTokenRemoved(token) {
return await this.pool.query(
`DELETE FROM ${this.table} WHERE token=$1::text;`,
[token]
)
}
async noteTokenAdded(token) {
try {
await this.onTokenAdded(token)
} catch (e) {
log.error(e)
}
}
async noteTokenRemoved(token) {
try {
await this.onTokenRemoved(token)
} catch (e) {
log.error(e)
}
}
}

View File

@@ -4,7 +4,7 @@ registerCommand()
describe('Main page', function () {
const backendUrl = Cypress.env('backend_url')
const SEARCH_INPUT = 'input[placeholder="search / project URL"]'
const SEARCH_INPUT = 'input[placeholder="search"]'
function expectBadgeExample(title, previewUrl, pattern) {
cy.contains('tr', `${title}:`).find('code').should('have.text', pattern)
@@ -36,35 +36,15 @@ describe('Main page', function () {
)
})
it('Suggest badges', function () {
const badgeUrl = `${backendUrl}/github/issues/badges/shields`
it('Customizate badges', function () {
visitAndWait('/')
cy.get(SEARCH_INPUT).type('https://github.com/badges/shields')
cy.contains('Suggest badges').click()
cy.get(SEARCH_INPUT).type('issues')
expectBadgeExample('GitHub issues', badgeUrl, badgeUrl)
})
it('Customization form is filled with suggested badge details', function () {
const badgeUrl = `${backendUrl}/github/issues/badges/shields`
visitAndWait('/')
cy.get(SEARCH_INPUT).type('https://github.com/badges/shields')
cy.contains('Suggest badges').click()
cy.contains(badgeUrl).click()
cy.get('input[name="user"]').should('have.value', 'badges')
cy.get('input[name="repo"]').should('have.value', 'shields')
})
it('Customizate suggested badge', function () {
const badgeUrl = `${backendUrl}/github/issues/badges/shields`
visitAndWait('/')
cy.get(SEARCH_INPUT).type('https://github.com/badges/shields')
cy.contains('Suggest badges').click()
cy.contains(badgeUrl).click()
cy.contains('/github/issues/:user/:repo').click()
cy.get('input[name="user"]').type('badges')
cy.get('input[name="repo"]').type('shields')
cy.get('table input[name="color"]').type('orange')
cy.get(`img[src='${backendUrl}/github/issues/badges/shields?color=orange']`)

View File

@@ -11,7 +11,6 @@
// DANGER_GITHUB_API_TOKEN=your-github-api-token npm run danger -- pr https://github.com/badges/shields/pull/2665
const { danger, fail, message, warn } = require('danger')
const { default: noTestShortcuts } = require('danger-plugin-no-test-shortcuts')
const { fileMatch } = danger.git
const documentation = fileMatch(
@@ -173,11 +172,3 @@ affectedServices.forEach(service => {
)
}
})
// Prevent merging exclusive services tests.
noTestShortcuts({
testFilePredicate: filePath => filePath.endsWith('.tester.js'),
patterns: {
only: ['only()'],
},
})

8
doc/authentication.md Normal file
View File

@@ -0,0 +1,8 @@
# Badges Requiring Authentication
There are two patterns for how shields.io can interact with APIs that require auth:
1. We can store one token at the service level which allows us to read public data for everyone's projects, or lift a rate limit. If you are looking for information on configuring credentials for a self-hosted instance see https://github.com/badges/shields/blob/master/doc/server-secrets.md
2. If every user needs to provide their own token, that has to be a token which can be passed to us as a query param in the badge URL. This means it must be possible to generate a key or token that can be exposed in a public github README public with no negative consequences. (i.e: that key or token only exposes public metrics).
If every user would need to supply their own token for some particular service and it is only possible to generate a key or token which allows access to sensitive data or allows write access to resources, we can't provide an integration for this service.

View File

@@ -20,8 +20,6 @@ The Shields codebase is divided into several parts:
1. `*.js` in the root of [`services`][services]
7. The services themselves (about 80% of the code)
1. `*.js` in the folders of [`services`][services]
8. The badge suggestion endpoint (Note: it's tested as if its a service.)
1. [`lib/suggest.js`][suggest]
[frontend]: https://github.com/badges/shields/tree/master/frontend
[badge-maker]: https://github.com/badges/shields/tree/master/badge-maker
@@ -29,7 +27,6 @@ The Shields codebase is divided into several parts:
[server]: https://github.com/badges/shields/tree/master/core/server
[token-pooling]: https://github.com/badges/shields/tree/master/core/token-pooling
[services]: https://github.com/badges/shields/tree/master/services
[suggest]: https://github.com/badges/shields/tree/master/lib/suggest.js
The tests are also divided into several parts:

View File

@@ -22,6 +22,18 @@ Any custom logo can be passed in a URL parameter by base64 encoding it. e.g:
![](https://img.shields.io/badge/play-station-blue.svg?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEiIHdpZHRoPSI2MDAiIGhlaWdodD0iNjAwIj48cGF0aCBkPSJNMTI5IDExMWMtNTUgNC05MyA2Ni05MyA3OEwwIDM5OGMtMiA3MCAzNiA5MiA2OSA5MWgxYzc5IDAgODctNTcgMTMwLTEyOGgyMDFjNDMgNzEgNTAgMTI4IDEyOSAxMjhoMWMzMyAxIDcxLTIxIDY5LTkxbC0zNi0yMDljMC0xMi00MC03OC05OC03OGgtMTBjLTYzIDAtOTIgMzUtOTIgNDJIMjM2YzAtNy0yOS00Mi05Mi00MmgtMTV6IiBmaWxsPSIjZmZmIi8+PC9zdmc+) - https://img.shields.io/badge/play-station-blue.svg?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEiIHdpZHRoPSI2MDAiIGhlaWdodD0iNjAwIj48cGF0aCBkPSJNMTI5IDExMWMtNTUgNC05MyA2Ni05MyA3OEwwIDM5OGMtMiA3MCAzNiA5MiA2OSA5MWgxYzc5IDAgODctNTcgMTMwLTEyOGgyMDFjNDMgNzEgNTAgMTI4IDEyOSAxMjhoMWMzMyAxIDcxLTIxIDY5LTkxbC0zNi0yMDljMC0xMi00MC03OC05OC03OGgtMTBjLTYzIDAtOTIgMzUtOTIgNDJIMjM2YzAtNy0yOS00Mi05Mi00MmgtMTV6IiBmaWxsPSIjZmZmIi8+PC9zdmc+
### logoColor parameter
The `logoColor` param can be used to set the color of the logo. Hex, rgb, rgba, hsl, hsla and css named colors can all be used. For SimpleIcons named logos (which are monochrome), the color will be applied to the SimpleIcons logo.
- ![](https://img.shields.io/badge/logo-javascript-blue?logo=javascript) - https://img.shields.io/badge/logo-javascript-blue?logo=javascript
- ![](https://img.shields.io/badge/logo-javascript-blue?logo=javascript&logoColor=f5f5f5) - https://img.shields.io/badge/logo-javascript-blue?logo=javascript&logoColor=f5f5f5
In the case where Shields hosts a custom multi-colored logo, if the `logoColor` param is passed, the corresponding SimpleIcons logo will be substituted and colored.
- ![](https://img.shields.io/badge/logo-gitlab-blue?logo=gitlab) - https://img.shields.io/badge/logo-gitlab-blue?logo=gitlab
- ![](https://img.shields.io/badge/logo-gitlab-blue?logo=gitlab&logoColor=white) - https://img.shields.io/badge/logo-gitlab-blue?logo=gitlab&logoColor=white
## Contributing Logos
Our preferred way to consume icons is via the SimpleIcons logo. As a first port of call, we encourage you to contribute logos to [the SimpleIcons project][simple-icons github]. Please review their [guidance](https://github.com/simple-icons/simple-icons/blob/develop/CONTRIBUTING.md) before contributing.

View File

@@ -153,15 +153,6 @@ Then copy the contents of the `build/` folder to your static hosting / CDN.
There are also a couple settings you should configure on the server.
If you want to use server suggestions, you should also set `ALLOWED_ORIGIN`:
```sh
ALLOWED_ORIGIN=http://my-custom-shields.s3.amazonaws.com,https://my-custom-shields.s3.amazonaws.com
```
This should be a comma-separated list of allowed origin headers. They should
not have paths or trailing slashes.
To help out users, you can make the Shields server redirect the server root.
Set the `REDIRECT_URI` environment variable:

View File

@@ -125,11 +125,17 @@ Because of GitHub rate limits, you will need to provide a token, or else badges
will stop working once you hit 60 requests per hour, the
[unauthenticated rate limit][github rate limit].
You can [create a personal access token][personal access tokens] through the
You can [create a personal access token][personal access tokens] (PATs) through the
GitHub website. When you create the token, you can choose to give read access
to your repositories. If you do that, your self-hosted Shields installation
will have access to your private repositories.
For most users we recommend using a classic PAT as opposed to a [fine-grained PAT][fine-grained pat].
It is possible to request a fairly large subset of the GitHub badge suite using a
fine-grained PAT for authentication but there are also some badges that won't work.
This is because some of our badges make use of GitHub's v4 GraphQL API and the
GraphQL API only supports authentication with a classic PAT.
When a `gh_token` is specified, it is used in place of the Shields token
rotation logic.
@@ -139,6 +145,7 @@ token, though it's not required.
[github rate limit]: https://developer.github.com/v3/#rate-limiting
[personal access tokens]: https://github.com/settings/tokens
[fine-grained pat]: https://github.blog/2022-10-18-introducing-fine-grained-personal-access-tokens-for-github/
- `GH_CLIENT_ID` (yml: `private.gh_client_id`)
- `GH_CLIENT_SECRET` (yml: `private.gh_client_secret`)
@@ -244,6 +251,17 @@ Create an account, sign in and obtain a uuid and token from your
to give your self-hosted Shields installation access to a
private SonarQube instance or private project on a public instance.
### StackApps (for StackExchange and StackOverflow)
- `STACKAPPS_API_KEY`: (yml: `private.stackapps_api_key`)
Anonymous requests to the stackexchange API are limited to 300 calls per day.
To increase your quota to 10,000 calls per day, create an account at
[StackApps](https://stackapps.com/) and
[register an OAuth app](https://stackapps.com/apps/oauth/register). Having registered
an OAuth app, you'll be granted a key which can be used to increase your request quota.
It is not necessary to performa full OAuth Flow to gain an access token.
### TeamCity
- `TEAMCITY_ORIGINS` (yml: `public.services.teamcity.authorizedOrigins`)

12
doc/static-badges.md Normal file
View File

@@ -0,0 +1,12 @@
# Static Badges
It is possible to use shields.io to make a wide variety of badges displaying static text and/or logos. For example:
- ![any text you like](https://img.shields.io/badge/any%20text-you%20like-blue) - https://img.shields.io/badge/any%20text-you%20like-blue
- ![just the message](https://img.shields.io/badge/just%20the%20message-8A2BE2) - https://img.shields.io/badge/just%20the%20message-8A2BE2
- !['for the badge' style](https://img.shields.io/badge/%27for%20the%20badge%27%20style-20B2AA?style=for-the-badge) - https://img.shields.io/badge/%27for%20the%20badge%27%20style-20B2AA?style=for-the-badge
- ![with a logo](https://img.shields.io/badge/with%20a%20logo-grey?style=for-the-badge&logo=javascript) - https://img.shields.io/badge/with%20a%20logo-grey?style=for-the-badge&logo=javascript
Full documentation of styles and parameters: https://shields.io/#styles
More documentation on logos: https://github.com/badges/shields/blob/master/doc/logos.md

View File

@@ -2,13 +2,11 @@ import React from 'react'
import styled from 'styled-components'
import {
badgeUrlFromPath,
badgeUrlFromPattern,
staticBadgeUrl,
} from '../../core/badge-urls/make-badge-url'
import { removeRegexpFromPattern } from '../lib/pattern-helpers'
import {
Example as ExampleData,
Suggestion,
RenderableExample,
} from '../lib/service-definitions'
import { Badge } from './common'
@@ -36,49 +34,34 @@ function Example({
baseUrl,
onClick,
exampleData,
isBadgeSuggestion,
}: {
baseUrl?: string
onClick: (example: RenderableExample, isSuggestion: boolean) => void
onClick: (example: RenderableExample) => void
exampleData: RenderableExample
isBadgeSuggestion: boolean
}): JSX.Element {
const handleClick = React.useCallback(
function (): void {
onClick(exampleData, isBadgeSuggestion)
onClick(exampleData)
},
[exampleData, isBadgeSuggestion, onClick]
[exampleData, onClick]
)
let exampleUrl, previewUrl
if (isBadgeSuggestion) {
const {
example: { pattern, namedParams, queryParams },
} = exampleData as Suggestion
exampleUrl = previewUrl = badgeUrlFromPattern({
baseUrl,
pattern,
namedParams,
queryParams,
})
} else {
const {
example: { pattern, queryParams },
preview: { label, message, color, style, namedLogo },
} = exampleData as ExampleData
previewUrl = staticBadgeUrl({
baseUrl,
label: label || '',
message,
color,
style,
namedLogo,
})
exampleUrl = badgeUrlFromPath({
path: removeRegexpFromPattern(pattern),
queryParams,
})
}
const {
example: { pattern, queryParams },
preview: { label, message, color, style, namedLogo },
} = exampleData as ExampleData
const previewUrl = staticBadgeUrl({
baseUrl,
label: label || '',
message,
color,
style,
namedLogo,
})
const exampleUrl = badgeUrlFromPath({
path: removeRegexpFromPattern(pattern),
queryParams,
})
const { title } = exampleData
return (
@@ -101,14 +84,12 @@ function Example({
export function BadgeExamples({
examples,
areBadgeSuggestions,
baseUrl,
onClick,
}: {
examples: RenderableExample[]
areBadgeSuggestions: boolean
baseUrl?: string
onClick: (exampleData: RenderableExample, isSuggestion: boolean) => void
onClick: (exampleData: RenderableExample) => void
}): JSX.Element {
return (
<ExampleTable>
@@ -117,7 +98,6 @@ export function BadgeExamples({
<Example
baseUrl={baseUrl}
exampleData={exampleData}
isBadgeSuggestion={areBadgeSuggestions}
key={`${exampleData.title} ${exampleData.example.pattern}`}
onClick={onClick}
/>

View File

@@ -18,8 +18,6 @@ export default function Customizer({
exampleNamedParams,
exampleQueryParams,
initialStyle,
isPrefilled,
link = '',
}: {
baseUrl: string
title: string
@@ -27,8 +25,6 @@ export default function Customizer({
exampleNamedParams: { [k: string]: string }
exampleQueryParams: { [k: string]: string }
initialStyle?: string
isPrefilled: boolean
link?: string
}): JSX.Element {
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/35572
// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/28884#issuecomment-471341041
@@ -75,7 +71,6 @@ export default function Customizer({
const builtBadgeUrl = generateBuiltBadgeUrl()
const markup = generateMarkup({
badgeUrl: builtBadgeUrl,
link,
title,
markupFormat,
})
@@ -93,7 +88,7 @@ export default function Customizer({
indicatorRef.current.trigger()
}
},
[generateBuiltBadgeUrl, link, title, setMessage, setMarkup]
[generateBuiltBadgeUrl, title, setMessage, setMarkup]
)
function renderMarkupAndLivePreview(): JSX.Element {
@@ -147,7 +142,6 @@ export default function Customizer({
<form action="">
<PathBuilder
exampleParams={exampleNamedParams}
isPrefilled={isPrefilled}
onChange={handlePathChange}
pattern={pattern}
/>

View File

@@ -112,7 +112,6 @@ export default function PathBuilder({
pattern,
exampleParams,
onChange,
isPrefilled,
}: {
pattern: string
exampleParams: { [k: string]: string }
@@ -123,22 +122,19 @@ export default function PathBuilder({
path: string
isComplete: boolean
}) => void
isPrefilled: boolean
}): JSX.Element {
const [tokens] = useState(() => parse(pattern))
const [namedParams, setNamedParams] = useState(() =>
isPrefilled
? exampleParams
: // `pathToRegexp.parse()` returns a mixed array of strings for literals
// and objects for parameters. Filter out the literals and work with the
// objects.
tokens
.filter(t => typeof t !== 'string')
.map(t => t as Key)
.reduce((accum, { name }) => {
accum[name] = ''
return accum
}, {} as { [k: string]: string })
// `pathToRegexp.parse()` returns a mixed array of strings for literals
// and objects for parameters. Filter out the literals and work with the
// objects.
tokens
.filter(t => typeof t !== 'string')
.map(t => t as Key)
.reduce((accum, { name }) => {
accum[name] = ''
return accum
}, {} as { [k: string]: string })
)
useEffect(() => {
@@ -195,11 +191,11 @@ export default function PathBuilder({
onChange={handleTokenChange}
value={value}
>
<option disabled={isPrefilled} key="empty" value="">
<option key="empty" value="">
{' '}
</option>
{options.map(option => (
<option disabled={isPrefilled} key={option} value={option}>
<option key={option} value={option}>
{option}
</option>
))}
@@ -208,7 +204,6 @@ export default function PathBuilder({
} else {
return (
<NamedParamInput
disabled={isPrefilled}
name={name}
onChange={handleTokenChange}
type="text"
@@ -239,11 +234,9 @@ export default function PathBuilder({
{optional ? <BuilderLabel>(optional)</BuilderLabel> : null}
</NamedParamLabelContainer>
{renderNamedParamInput(token)}
{!isPrefilled && (
<NamedParamCaption>
{namedParamIndex === 0 ? `e.g. ${exampleValue}` : exampleValue}
</NamedParamCaption>
)}
<NamedParamCaption>
{namedParamIndex === 0 ? `e.g. ${exampleValue}` : exampleValue}
</NamedParamCaption>
</PathBuilderColumn>
</React.Fragment>
)

View File

@@ -6,7 +6,7 @@ import React, {
} from 'react'
import styled from 'styled-components'
import humanizeString from 'humanize-string'
import { stringify as stringifyQueryString } from 'query-string'
import qs from 'query-string'
import { advertisedStyles } from '../../lib/supported-features'
import { noAutocorrect, StyledInput } from '../common'
import {
@@ -94,7 +94,7 @@ function getQueryString({
}
})
const queryString = stringifyQueryString(outQuery)
const queryString = qs.stringify(outQuery)
return { queryString, isComplete }
}

View File

@@ -14,7 +14,7 @@ import ServiceDefinitionSetHelper from '../lib/service-definitions/service-defin
import { getBaseUrl } from '../constants'
import Meta from './meta'
import Header from './header'
import SuggestionAndSearch from './suggestion-and-search'
import Search from './search'
import DonateBox from './donate'
import { MarkupModal } from './markup-modal'
import Usage from './usage'
@@ -49,8 +49,6 @@ export default function Main({
[k: string]: ServiceDefinition[]
}>()
const [selectedExample, setSelectedExample] = useState<RenderableExample>()
const [selectedExampleIsSuggestion, setSelectedExampleIsSuggestion] =
useState(false)
const searchTimeout = useRef(0)
const baseUrl = getBaseUrl()
@@ -92,14 +90,6 @@ export default function Main({
[setSearchIsInProgress, performSearch]
)
const exampleClicked = React.useCallback(
function (example: RenderableExample, isSuggestion: boolean): void {
setSelectedExample(example)
setSelectedExampleIsSuggestion(isSuggestion)
},
[setSelectedExample, setSelectedExampleIsSuggestion]
)
const dismissMarkupModal = React.useCallback(
function (): void {
setSelectedExample(undefined)
@@ -123,7 +113,6 @@ export default function Main({
<div>
<CategoryHeading category={category} />
<BadgeExamples
areBadgeSuggestions={false}
baseUrl={baseUrl}
examples={flattened}
onClick={setSelectedExample}
@@ -182,15 +171,10 @@ export default function Main({
<MarkupModal
baseUrl={baseUrl}
example={selectedExample}
isBadgeSuggestion={selectedExampleIsSuggestion}
onRequestClose={dismissMarkupModal}
/>
<section>
<SuggestionAndSearch
baseUrl={baseUrl}
onBadgeClick={exampleClicked}
queryChanged={searchQueryChanged}
/>
<Search queryChanged={searchQueryChanged} />
<DonateBox />
</section>
{renderMain()}

View File

@@ -11,12 +11,10 @@ const ContentContainer = styled(BaseFont)`
export function MarkupModal({
example,
isBadgeSuggestion,
baseUrl,
onRequestClose,
}: {
example: RenderableExample | undefined
isBadgeSuggestion: boolean
baseUrl: string
onRequestClose: () => void
}): JSX.Element {
@@ -29,11 +27,7 @@ export function MarkupModal({
>
{example !== undefined && (
<ContentContainer>
<MarkupModalContent
baseUrl={baseUrl}
example={example}
isBadgeSuggestion={isBadgeSuggestion}
/>
<MarkupModalContent baseUrl={baseUrl} example={example} />
</ContentContainer>
)}
</Modal>

View File

@@ -1,10 +1,6 @@
import React from 'react'
import styled from 'styled-components'
import {
Example,
Suggestion,
RenderableExample,
} from '../../lib/service-definitions'
import { Example, RenderableExample } from '../../lib/service-definitions'
import { H3 } from '../common'
import Customizer from '../customizer/customizer'
@@ -16,20 +12,12 @@ const Documentation = styled.div`
export function MarkupModalContent({
example,
isBadgeSuggestion,
baseUrl,
}: {
example: RenderableExample
isBadgeSuggestion: boolean
baseUrl: string
}): JSX.Element {
let documentation: { __html: string } | undefined
let link: string | undefined
if (isBadgeSuggestion) {
;({ link } = example as Suggestion)
} else {
;({ documentation } = example as Example)
}
const { documentation } = example as Example
const {
title,
@@ -48,8 +36,6 @@ export function MarkupModalContent({
exampleNamedParams={namedParams}
exampleQueryParams={queryParams}
initialStyle={initialStyle}
isPrefilled={isBadgeSuggestion}
link={link}
pattern={pattern}
title={title}
/>

View File

@@ -0,0 +1,36 @@
import React, { useRef, ChangeEvent } from 'react'
import debounce from 'lodash.debounce'
import { BlockInput } from './common'
export default function Search({
queryChanged,
}: {
queryChanged: (query: string) => void
}): JSX.Element {
const queryChangedDebounced = useRef(
debounce(queryChanged, 50, { leading: true })
)
const onQueryChanged = React.useCallback(
function ({
target: { value: query },
}: ChangeEvent<HTMLInputElement>): void {
queryChangedDebounced.current(query)
},
[queryChangedDebounced]
)
// TODO: Warning: A future version of React will block javascript: URLs as a security precaution
// how else to do this?
return (
<section>
<form action="javascript:void 0" autoComplete="off">
<BlockInput
autoComplete="off"
onChange={onQueryChanged}
placeholder="search"
/>
</form>
</section>
)
}

View File

@@ -1,133 +0,0 @@
import React, { useRef, useState, ChangeEvent } from 'react'
import fetchPonyfill from 'fetch-ponyfill'
import debounce from 'lodash.debounce'
import { RenderableExample } from '../lib/service-definitions'
import { BadgeExamples } from './badge-examples'
import { BlockInput } from './common'
interface SuggestionItem {
title: string
link: string
example: {
pattern: string
namedParams: { [k: string]: string }
queryParams?: { [k: string]: string }
}
preview:
| {
style?: string
}
| undefined
}
interface SuggestionResponse {
suggestions: SuggestionItem[]
}
export default function SuggestionAndSearch({
queryChanged,
onBadgeClick,
baseUrl,
}: {
queryChanged: (query: string) => void
onBadgeClick: (example: RenderableExample, isSuggestion: boolean) => void
baseUrl: string
}): JSX.Element {
const queryChangedDebounced = useRef(
debounce(queryChanged, 50, { leading: true })
)
const [isUrl, setIsUrl] = useState(false)
const [inProgress, setInProgress] = useState(false)
const [projectUrl, setProjectUrl] = useState<string>()
const [suggestions, setSuggestions] = useState<SuggestionItem[]>([])
const onQueryChanged = React.useCallback(
function ({
target: { value: query },
}: ChangeEvent<HTMLInputElement>): void {
const isUrl = query.startsWith('https://') || query.startsWith('http://')
setIsUrl(isUrl)
setProjectUrl(isUrl ? query : undefined)
queryChangedDebounced.current(query)
},
[setIsUrl, setProjectUrl, queryChangedDebounced]
)
const getSuggestions = React.useCallback(
async function (): Promise<void> {
if (!projectUrl) {
setSuggestions([])
return
}
setInProgress(true)
const fetch = window.fetch || fetchPonyfill
const res = await fetch(
`${baseUrl}/$suggest/v1?url=${encodeURIComponent(projectUrl)}`
)
let suggestions = [] as SuggestionItem[]
try {
const json = (await res.json()) as SuggestionResponse
// This doesn't validate the response. The default value here prevents
// a crash if the server returns {"err":"Disallowed"}.
suggestions = json.suggestions || []
} catch (e) {
suggestions = []
}
setInProgress(false)
setSuggestions(suggestions)
},
[setSuggestions, setInProgress, baseUrl, projectUrl]
)
function renderSuggestions(): JSX.Element | null {
if (suggestions.length === 0) {
return null
}
const transformed = suggestions.map(
({ title, link, example, preview }) => ({
title,
link,
example: {
...example,
queryParams: example.queryParams || {},
},
preview: preview || {},
isBadgeSuggestion: true,
})
)
return (
<BadgeExamples
areBadgeSuggestions
baseUrl={baseUrl}
examples={transformed}
onClick={onBadgeClick}
/>
)
}
// TODO: Warning: A future version of React will block javascript: URLs as a security precaution
// how else to do this?
return (
<section>
<form action="javascript:void 0" autoComplete="off">
<BlockInput
autoComplete="off"
autoFocus
onChange={onQueryChanged}
placeholder="search / project URL"
/>
<br />
<button disabled={inProgress} hidden={!isUrl} onClick={getSuggestions}>
Suggest badges
</button>
</form>
{renderSuggestions()}
</section>
)
}

View File

@@ -363,8 +363,9 @@ export default function Usage({ baseUrl }: { baseUrl: string }): JSX.Element {
documentation={
<span>
Set the color of the logo (hex, rgb, rgba, hsl, hsla and css
named colors supported). Supported for named logos but not for
custom logos.
named colors supported). Supported for named logos and Shields
logos but not for custom logos. For multicolor Shields logos,
the corresponding named logo will be used and colored.
</span>
}
key="logoColor"

View File

@@ -18,48 +18,30 @@ test(bareLink, () => {
})
test(html, () => {
given(
'https://img.shields.io/badge',
'https://example.com/example',
'Example'
).expect(
'<a href="https://example.com/example"><img alt="Example" src="https://img.shields.io/badge"></a>'
given('https://img.shields.io/badge', 'Example').expect(
'<img alt="Example" src="https://img.shields.io/badge">'
)
given('https://img.shields.io/badge', undefined, undefined).expect(
given('https://img.shields.io/badge', undefined).expect(
'<img src="https://img.shields.io/badge">'
)
})
test(markdown, () => {
given('https://img.shields.io/badge', undefined, 'Example').expect(
given('https://img.shields.io/badge', 'Example').expect(
'![Example](https://img.shields.io/badge)'
)
given(
'https://img.shields.io/badge',
'https://example.com/example',
'Example'
).expect(
'[![Example](https://img.shields.io/badge)](https://example.com/example)'
)
given('https://img.shields.io/badge', undefined, undefined).expect(
given('https://img.shields.io/badge', undefined).expect(
'![](https://img.shields.io/badge)'
)
})
test(reStructuredText, () => {
given('https://img.shields.io/badge', undefined, undefined).expect(
given('https://img.shields.io/badge', undefined).expect(
'.. image:: https://img.shields.io/badge'
)
given('https://img.shields.io/badge', undefined, 'Example').expect(
given('https://img.shields.io/badge', 'Example').expect(
'.. image:: https://img.shields.io/badge\n :alt: Example'
)
given(
'https://img.shields.io/badge',
'https://example.com/example',
'Example'
).expect(
'.. image:: https://img.shields.io/badge\n :alt: Example\n :target: https://example.com/example'
)
})
test(renderAsciiDocAttributes, () => {
@@ -70,33 +52,21 @@ test(renderAsciiDocAttributes, () => {
})
test(asciiDoc, () => {
given('https://img.shields.io/badge', undefined, undefined).expect(
given('https://img.shields.io/badge', undefined).expect(
'image:https://img.shields.io/badge[]'
)
given('https://img.shields.io/badge', undefined, 'Example').expect(
given('https://img.shields.io/badge', 'Example').expect(
'image:https://img.shields.io/badge[Example]'
)
given(
'https://img.shields.io/badge',
undefined,
'Example, with comma'
).expect('image:https://img.shields.io/badge["Example, with comma"]')
given(
'https://img.shields.io/badge',
'https://example.com/example',
'Example'
).expect(
'image:https://img.shields.io/badge["Example",link="https://example.com/example"]'
given('https://img.shields.io/badge', 'Example, with comma').expect(
'image:https://img.shields.io/badge["Example, with comma"]'
)
})
test(generateMarkup, () => {
given({
badgeUrl: 'https://img.shields.io/badge',
link: 'https://example.com/example',
title: 'Example',
markupFormat: 'markdown',
}).expect(
'[![Example](https://img.shields.io/badge)](https://example.com/example)'
)
}).expect('![Example](https://img.shields.io/badge)')
})

View File

@@ -2,42 +2,21 @@ export function bareLink(badgeUrl: string, link?: string, title = ''): string {
return badgeUrl
}
export function html(badgeUrl: string, link?: string, title?: string): string {
export function html(badgeUrl: string, title?: string): string {
// To be more robust, this should escape the title.
const alt = title ? ` alt="${title}"` : ''
const img = `<img${alt} src="${badgeUrl}">`
if (link) {
return `<a href="${link}">${img}</a>`
} else {
return img
}
return `<img${alt} src="${badgeUrl}">`
}
export function markdown(
badgeUrl: string,
link?: string,
title?: string
): string {
const withoutLink = `![${title || ''}](${badgeUrl})`
if (link) {
return `[${withoutLink}](${link})`
} else {
return withoutLink
}
export function markdown(badgeUrl: string, title?: string): string {
return `![${title || ''}](${badgeUrl})`
}
export function reStructuredText(
badgeUrl: string,
link?: string,
title?: string
): string {
export function reStructuredText(badgeUrl: string, title?: string): string {
let result = `.. image:: ${badgeUrl}`
if (title) {
result += `\n :alt: ${title}`
}
if (link) {
result += `\n :target: ${link}`
}
return result
}
@@ -91,13 +70,9 @@ export function renderAsciiDocAttributes(
}
}
export function asciiDoc(
badgeUrl: string,
link?: string,
title?: string
): string {
export function asciiDoc(badgeUrl: string, title?: string): string {
const positional = title ? [title] : []
const named = link ? { link } : ({} as { [k: string]: string })
const named = {} as { [k: string]: string }
const attrs = renderAsciiDocAttributes(positional, named)
return `image:${badgeUrl}${attrs}`
}
@@ -106,12 +81,10 @@ export type MarkupFormat = 'markdown' | 'rst' | 'asciidoc' | 'link' | 'html'
export function generateMarkup({
badgeUrl,
link,
title,
markupFormat,
}: {
badgeUrl: string
link?: string
title?: string
markupFormat: MarkupFormat
}): string {
@@ -122,5 +95,5 @@ export function generateMarkup({
link: bareLink,
html,
}[markupFormat]
return generatorFn(badgeUrl, link, title)
return generatorFn(badgeUrl, title)
}

View File

@@ -64,13 +64,4 @@ export function getDefinitionsForCategory(
return byCategory[category] || []
}
export interface Suggestion {
title: string
link: string
example: ExampleSignature
preview: {
style?: string
}
}
export type RenderableExample = Example | Suggestion
export type RenderableExample = Example

View File

@@ -106,9 +106,6 @@ export default function SponsorsPage(): JSX.Element {
<li>
<a href="https://github.com/">GitHub</a>
</li>
<li>
<a href="https://lgtm.com/">LGTM</a>
</li>
<li>
<a href="https://uptimerobot.com/">Uptime Robot</a>
</li>

View File

@@ -210,7 +210,9 @@ export default function EndpointPage(): JSX.Element {
<dt>logoColor</dt>
<dd>
Default: none. Same meaning as the query string. Can be overridden by
the query string. Only works for named logos.
the query string. Only works for named logos and Shields logos. If you
override the color of a multicolor Shield logo, the corresponding
named logo will be used and colored.
</dd>
<dt>logoWidth</dt>
<dd>
@@ -244,7 +246,6 @@ export default function EndpointPage(): JSX.Element {
exampleQueryParams={{
url: 'https://shields.redsparr0w.com/2473/monday',
}}
isPrefilled={false}
pattern="/endpoint"
title="Custom badge"
/>

View File

@@ -66,8 +66,12 @@ function getShieldsIcon({ name, color }) {
const { svg, base64, isMonochrome } = logos[name]
const svgColor = toSvgColor(color)
if (svgColor && isMonochrome) {
return svg2base64(svg.replace(/fill="(.+?)"/g, `fill="${svgColor}"`))
if (svgColor) {
if (isMonochrome) {
return svg2base64(svg.replace(/fill="(.+?)"/g, `fill="${svgColor}"`))
} else {
return undefined
}
} else {
return base64
}
@@ -85,7 +89,7 @@ function getSimpleIconStyle({ icon, style }) {
}
function getSimpleIcon({ name, color, style }) {
const key = name.replace(/ /g, '-')
const key = name === 'travis' ? 'travis-ci' : name.replace(/ /g, '-')
if (!(key in simpleIcons)) {
return undefined

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,14 @@
/* eslint-disable camelcase */
exports.shorthands = undefined
exports.up = pgm => {
pgm.createTable('github_user_tokens', {
id: 'id',
token: { type: 'varchar(1000)', notNull: true, unique: true },
})
}
exports.down = pgm => {
pgm.dropTable('github_user_tokens')
}

5661
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -24,29 +24,29 @@
"@fontsource/lato": "^4.5.10",
"@fontsource/lekton": "^4.5.11",
"@renovate/pep440": "^1.0.0",
"@renovatebot/ruby-semver": "^1.1.6",
"@sentry/node": "^7.15.0",
"@shields_io/camp": "^18.1.1",
"@renovatebot/ruby-semver": "^2.1.8",
"@sentry/node": "^7.38.0",
"@shields_io/camp": "^18.1.2",
"badge-maker": "file:badge-maker",
"bytes": "^3.1.2",
"camelcase": "^7.0.0",
"chalk": "^5.1.2",
"camelcase": "^7.0.1",
"chalk": "^5.2.0",
"check-node-version": "^4.2.1",
"cloudflare-middleware": "^1.0.4",
"config": "^3.3.8",
"config": "^3.3.9",
"cross-env": "^7.0.3",
"dayjs": "^1.11.5",
"dayjs": "^1.11.7",
"decamelize": "^3.2.0",
"emojic": "^1.1.17",
"escape-string-regexp": "^4.0.0",
"fast-xml-parser": "^4.0.11",
"glob": "^8.0.3",
"fast-xml-parser": "^4.1.2",
"glob": "^8.1.0",
"global-agent": "^3.0.0",
"got": "^12.5.2",
"got": "^12.5.3",
"graphql": "^15.6.1",
"graphql-tag": "^2.12.6",
"ioredis": "5.2.3",
"joi": "17.6.3",
"ioredis": "5.3.1",
"joi": "17.8.3",
"joi-extension-semver": "5.0.0",
"js-yaml": "^4.1.0",
"jsonpath": "~1.1.1",
@@ -54,15 +54,17 @@
"lodash.groupby": "^4.6.0",
"lodash.times": "^4.3.2",
"node-env-flag": "^0.1.0",
"node-pg-migrate": "^6.2.2",
"parse-link-header": "^2.0.0",
"path-to-regexp": "^6.2.1",
"pretty-bytes": "^6.0.0",
"pg": "^8.9.0",
"pretty-bytes": "^6.1.0",
"priorityqueuejs": "^2.0.0",
"prom-client": "^14.1.0",
"prom-client": "^14.1.1",
"qs": "^6.11.0",
"query-string": "^7.1.1",
"query-string": "^8.1.0",
"semver": "~7.3.8",
"simple-icons": "7.15.0",
"simple-icons": "8.5.0",
"webextension-store-meta": "^1.0.5",
"xmldom": "~0.6.0",
"xpath": "~0.0.32"
@@ -117,7 +119,8 @@
"e2e": "start-server-and-test start http://localhost:3000 test:e2e",
"e2e-on-build": "cross-env CYPRESS_baseUrl=http://localhost:8080 start-server-and-test start:server:e2e-on-build http://localhost:8080 test:e2e",
"badge": "cross-env NODE_CONFIG_ENV=test TRACE_SERVICES=true node scripts/badge-cli.js",
"build-docs": "rimraf api-docs/ && jsdoc --pedantic -c ./jsdoc.json . && echo 'contributing.shields.io' > api-docs/CNAME"
"build-docs": "rimraf api-docs/ && jsdoc --pedantic -c ./jsdoc.json . && echo 'contributing.shields.io' > api-docs/CNAME",
"migrate": "node scripts/write-migrations-config.js > migrations-config.json && node-pg-migrate --config-file=migrations-config.json"
},
"lint-staged": {
"**/*.@(js|ts|tsx)": [
@@ -142,104 +145,104 @@
]
},
"devDependencies": {
"@babel/core": "^7.19.3",
"@babel/core": "^7.21.0",
"@babel/polyfill": "^7.12.1",
"@babel/register": "7.18.9",
"@babel/register": "7.21.0",
"@istanbuljs/schema": "^0.1.3",
"@mapbox/react-click-to-select": "^2.2.1",
"@types/chai": "^4.3.3",
"@types/chai": "^4.3.4",
"@types/lodash.debounce": "^4.0.7",
"@types/lodash.groupby": "^4.6.7",
"@types/mocha": "^9.1.1",
"@types/mocha": "^10.0.1",
"@types/node": "^16.7.10",
"@types/react-helmet": "^6.1.5",
"@types/react-helmet": "^6.1.6",
"@types/react-modal": "^3.13.1",
"@types/react-select": "^4.0.17",
"@types/styled-components": "5.1.26",
"@typescript-eslint/eslint-plugin": "^5.40.0",
"@typescript-eslint/parser": "^5.30.7",
"babel-plugin-inline-react-svg": "^2.0.1",
"@typescript-eslint/eslint-plugin": "^5.53.0",
"@typescript-eslint/parser": "^5.46.0",
"babel-plugin-inline-react-svg": "^2.0.2",
"babel-preset-gatsby": "^2.22.0",
"c8": "^7.12.0",
"c8": "^7.13.0",
"caller": "^1.1.0",
"chai": "^4.3.6",
"chai": "^4.3.7",
"chai-as-promised": "^7.1.1",
"chai-datetime": "^1.8.0",
"chai-string": "^1.4.0",
"child-process-promise": "^2.2.1",
"clipboard-copy": "^4.0.1",
"concurrently": "^7.4.0",
"cypress": "^10.10.0",
"cypress-wait-for-stable-dom": "^0.0.4",
"danger": "^11.1.4",
"danger-plugin-no-test-shortcuts": "^2.0.0",
"deepmerge": "^4.2.2",
"concurrently": "^7.6.0",
"cypress": "^12.6.0",
"cypress-wait-for-stable-dom": "^0.1.0",
"danger": "^11.2.3",
"deepmerge": "^4.3.0",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.5.0",
"eslint-config-prettier": "^8.6.0",
"eslint-config-standard": "^16.0.3",
"eslint-config-standard-jsx": "^10.0.0",
"eslint-config-standard-react": "^11.0.1",
"eslint-plugin-chai-friendly": "^0.7.2",
"eslint-plugin-cypress": "^2.12.1",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsdoc": "^39.3.6",
"eslint-plugin-icedfrisby": "^0.1.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsdoc": "^40.0.0",
"eslint-plugin-mocha": "^10.1.0",
"eslint-plugin-no-extension-in-require": "^0.2.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.2.0",
"eslint-plugin-react": "^7.31.10",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-sort-class-members": "^1.15.2",
"eslint-plugin-sort-class-members": "^1.16.0",
"fetch-ponyfill": "^7.1.0",
"form-data": "^4.0.0",
"gatsby": "4.23.1",
"gatsby-plugin-catch-links": "^4.19.0",
"gatsby-plugin-page-creator": "^4.24.0",
"gatsby-plugin-react-helmet": "^5.22.0",
"gatsby-plugin-catch-links": "^4.25.0",
"gatsby-plugin-page-creator": "^4.25.0",
"gatsby-plugin-react-helmet": "^5.25.0",
"gatsby-plugin-remove-trailing-slashes": "^4.9.0",
"gatsby-plugin-styled-components": "^5.24.0",
"gatsby-plugin-typescript": "^4.22.0",
"gatsby-plugin-typescript": "^4.25.0",
"humanize-string": "^2.1.0",
"icedfrisby": "4.0.0",
"icedfrisby-nock": "^2.1.0",
"is-svg": "^4.3.2",
"js-yaml-loader": "^1.2.2",
"jsdoc": "^3.6.11",
"lint-staged": "^13.0.3",
"jsdoc": "^4.0.2",
"lint-staged": "^13.1.2",
"lodash.debounce": "^4.0.8",
"lodash.difference": "^4.5.0",
"minimist": "^1.2.7",
"mocha": "^9.2.2",
"minimist": "^1.2.8",
"mocha": "^10.2.0",
"mocha-env-reporter": "^4.0.0",
"mocha-junit-reporter": "^2.1.0",
"mocha-junit-reporter": "^2.2.0",
"mocha-yaml-loader": "^1.0.3",
"nock": "13.2.9",
"node-mocks-http": "^1.11.0",
"nock": "13.3.0",
"node-mocks-http": "^1.12.1",
"nodemon": "^2.0.20",
"npm-run-all": "^4.1.5",
"open-cli": "^7.1.0",
"portfinder": "^1.0.32",
"prettier": "2.7.1",
"prettier": "2.8.4",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-error-overlay": "^6.0.11",
"react-helmet": "^6.1.0",
"react-modal": "^3.15.1",
"react-modal": "^3.16.1",
"react-pose": "^4.0.10",
"react-select": "^4.3.1",
"read-all-stdin-sync": "^1.0.5",
"redis-server": "^1.2.2",
"rimraf": "^3.0.2",
"rimraf": "^4.1.2",
"sazerac": "^2.0.0",
"simple-git-hooks": "^2.8.0",
"sinon": "^14.0.1",
"simple-git-hooks": "^2.8.1",
"sinon": "^15.0.1",
"sinon-chai": "^3.7.0",
"snap-shot-it": "^7.9.6",
"start-server-and-test": "1.14.0",
"snap-shot-it": "^7.9.10",
"start-server-and-test": "1.15.4",
"styled-components": "^5.3.6",
"ts-mocha": "^10.0.0",
"tsd": "^0.24.1",
"typescript": "^4.8.4",
"tsd": "^0.25.0",
"typescript": "^4.9.5",
"url": "^0.11.0"
},
"engines": {

View File

@@ -22,6 +22,10 @@ if (data.stats.passes > 0) {
if (data.stats.failures > 0) {
process.stdout.write(`${data.stats.failures} failed\n\n`)
}
if (data.stats.pending > 0) {
process.stdout.write(`${data.stats.pending} pending\n\n`)
process.exit(2)
}
if (data.stats.failures > 0) {
for (const test of data.tests) {

View File

@@ -0,0 +1,19 @@
import fs from 'fs/promises'
import got from 'got'
import yaml from 'js-yaml'
const resp = await got('https://api.github.com/versions').json()
const latestDate = resp.sort()[resp.length - 1]
const config = yaml.load(await fs.readFile('./config/default.yml', 'utf8'))
if (latestDate === config.public.services.github.restApiVersion) {
console.log("We're already using the latest version. No change needed.")
process.exit(0)
}
config.public.services.github.restApiVersion = latestDate
await fs.writeFile(
'./config/default.yml',
yaml.dump(config, { forceQuotes: true })
)

View File

@@ -0,0 +1,11 @@
import configModule from 'config'
const config = configModule.util.toObject()
const postgresUrl = config?.private?.postgres_url
if (!postgresUrl) {
process.exit(1)
}
process.stdout.write(JSON.stringify({ url: postgresUrl }))
process.exit(0)

View File

@@ -42,6 +42,15 @@ if (fs.existsSync('.env')) {
process.exit(1)
}
if (config.private.redis_url != null) {
console.warn(
'RedisTokenPersistence is deprecated for token pooling and will be removed in a future release. Migrate to SqlTokenPersistence'
)
console.warn(
'See https://github.com/badges/shields/blob/master/CHANGELOG.md#server-2023-03-01 for more info'
)
}
const legacySecretsPath = path.join(
path.dirname(fileURLToPath(import.meta.url)),
'private',

View File

@@ -0,0 +1,46 @@
import Joi from 'joi'
import { BaseJsonService } from '../index.js'
const ansibleCollectionSchema = Joi.object({
name: Joi.string().required(),
namespace: Joi.object({
name: Joi.string().required(),
}),
}).required()
class AnsibleGalaxyCollectionName extends BaseJsonService {
static category = 'other'
static route = { base: 'ansible/collection', pattern: ':collectionId' }
static examples = [
{
title: 'Ansible Collection',
namedParams: { collectionId: '278' },
staticPreview: this.render({
name: 'community.general',
}),
},
]
static defaultBadgeData = { label: 'collection' }
static render({ name }) {
return { message: name, color: 'blue' }
}
async fetch({ collectionId }) {
const url = `https://galaxy.ansible.com/api/v2/collections/${collectionId}/`
return this._requestJson({
url,
schema: ansibleCollectionSchema,
})
}
async handle({ collectionId }) {
const json = await this.fetch({ collectionId })
const name = `${json.namespace.name}.${json.name}`
return this.constructor.render({ name })
}
}
export { AnsibleGalaxyCollectionName }

View File

@@ -0,0 +1,14 @@
import { ServiceTester } from '../tester.js'
export const t = new ServiceTester({
id: 'AnsibleCollection',
title: 'AnsibleCollection',
pathPrefix: '/ansible/collection',
})
t.create('collection name (valid)')
.get('/278.json')
.expectBadge({ label: 'collection', message: 'community.general' })
t.create('collection name (not found)')
.get('/000.json')
.expectBadge({ label: 'collection', message: 'not found' })

View File

@@ -1,117 +1,33 @@
import Joi from 'joi'
import { renderLicenseBadge } from '../licenses.js'
import { renderVersionBadge } from '../version.js'
import { renderDownloadsBadge } from '../downloads.js'
import { nonNegativeInteger } from '../validators.js'
import { BaseJsonService, InvalidResponse } from '../index.js'
import { deprecatedService } from '../index.js'
const keywords = ['atom']
const schema = Joi.object({
downloads: nonNegativeInteger,
releases: Joi.object({
latest: Joi.string().required(),
}),
metadata: Joi.object({
license: Joi.string().required(),
}),
const APMDownloads = deprecatedService({
category: 'downloads',
route: {
base: 'apm/dm',
pattern: ':various*',
},
label: 'downloads',
dateAdded: new Date('2023-01-04'),
})
class BaseAPMService extends BaseJsonService {
static defaultBadgeData = { label: 'apm' }
const APMVersion = deprecatedService({
category: 'version',
route: {
base: 'apm/v',
pattern: ':various*',
},
label: 'apm',
dateAdded: new Date('2023-01-04'),
})
async fetch({ packageName }) {
return this._requestJson({
schema,
url: `https://atom.io/api/packages/${packageName}`,
errorMessages: { 404: 'package not found' },
})
}
}
class APMDownloads extends BaseAPMService {
static category = 'downloads'
static route = { base: 'apm/dm', pattern: ':packageName' }
static examples = [
{
title: 'APM',
namedParams: { packageName: 'vim-mode' },
staticPreview: this.render({ downloads: '60043' }),
keywords,
},
]
static defaultBadgeData = { label: 'downloads' }
static render({ downloads }) {
return renderDownloadsBadge({ downloads, colorOverride: 'green' })
}
async handle({ packageName }) {
const json = await this.fetch({ packageName })
return this.constructor.render({ downloads: json.downloads })
}
}
class APMVersion extends BaseAPMService {
static category = 'version'
static route = { base: 'apm/v', pattern: ':packageName' }
static examples = [
{
title: 'APM',
namedParams: { packageName: 'vim-mode' },
staticPreview: this.render({ version: '0.6.0' }),
keywords,
},
]
static render({ version }) {
return renderVersionBadge({ version })
}
async handle({ packageName }) {
const json = await this.fetch({ packageName })
const version = json.releases.latest
if (!version)
throw new InvalidResponse({
underlyingError: new Error('version is invalid'),
})
return this.constructor.render({ version })
}
}
class APMLicense extends BaseAPMService {
static category = 'license'
static route = { base: 'apm/l', pattern: ':packageName' }
static examples = [
{
title: 'APM',
namedParams: { packageName: 'vim-mode' },
staticPreview: this.render({ license: 'MIT' }),
keywords,
},
]
static defaultBadgeData = { label: 'license' }
static render({ license }) {
return renderLicenseBadge({ license })
}
async handle({ packageName }) {
const json = await this.fetch({ packageName })
const license = json.metadata.license
if (!license)
throw new InvalidResponse({
underlyingError: new Error('licence is invalid'),
})
return this.constructor.render({ license })
}
}
const APMLicense = deprecatedService({
category: 'license',
route: {
base: 'apm/l',
pattern: ':various*',
},
label: 'license',
dateAdded: new Date('2023-01-04'),
})
export { APMDownloads, APMVersion, APMLicense }

View File

@@ -1,57 +1,19 @@
import { ServiceTester } from '../tester.js'
import { invalidJSON } from '../response-fixtures.js'
import { isMetric, isVPlusTripleDottedVersion } from '../test-validators.js'
export const t = new ServiceTester({
id: 'apm',
title: 'Atom Package Manager',
pathPrefix: '/apm',
})
t.create('Downloads')
.get('/dm/vim-mode.json')
.expectBadge({ label: 'downloads', message: isMetric })
.expectBadge({ label: 'downloads', message: 'no longer available' })
t.create('Version')
.get('/v/vim-mode.json')
.expectBadge({ label: 'apm', message: isVPlusTripleDottedVersion })
.expectBadge({ label: 'apm', message: 'no longer available' })
t.create('License')
.get('/l/vim-mode.json')
.expectBadge({ label: 'license', message: 'MIT' })
t.create('Downloads | Package not found')
.get('/dm/notapackage.json')
.expectBadge({ label: 'downloads', message: 'package not found' })
t.create('Version | Package not found')
.get('/v/notapackage.json')
.expectBadge({ label: 'apm', message: 'package not found' })
t.create('License | Package not found')
.get('/l/notapackage.json')
.expectBadge({ label: 'license', message: 'package not found' })
t.create('Invalid version')
.get('/dm/vim-mode.json')
.intercept(nock =>
nock('https://atom.io')
.get('/api/packages/vim-mode')
.reply(200, '{"releases":{}}')
)
.expectBadge({ label: 'downloads', message: 'invalid response data' })
t.create('Invalid License')
.get('/l/vim-mode.json')
.intercept(nock =>
nock('https://atom.io')
.get('/api/packages/vim-mode')
.reply(200, '{"metadata":{}}')
)
.expectBadge({ label: 'license', message: 'invalid response data' })
t.create('Unexpected response')
.get('/dm/vim-mode.json')
.intercept(nock =>
nock('https://atom.io').get('/api/packages/vim-mode').reply(invalidJSON)
)
.expectBadge({ label: 'downloads', message: 'unparseable json response' })
.expectBadge({ label: 'license', message: 'no longer available' })

View File

@@ -107,7 +107,7 @@ export default class Codecov extends BaseSvgScrapingService {
async legacyFetch({ vcsName, user, repo, branch, token }) {
// Codecov Docs: https://docs.codecov.io/reference#section-get-a-single-repository
const url = `https://codecov.io/api/${vcsName}/${user}/${repo}${
branch ? `/branches/${branch}` : ''
branch ? `/branch/${branch}` : ''
}`
const { buffer } = await this._request({
url,

View File

@@ -0,0 +1,22 @@
import { BaseJsonService } from '../index.js'
export default class BaseCoincapService extends BaseJsonService {
static category = 'other'
static defaultBadgeData = { label: 'coincap' }
// Doc this API. From https://docs.coincap.io/
// example: https://api.coincap.io/v2/assets/bitcoin
async fetch({ assetId, schema }) {
return this._requestJson({
schema,
url: `https://api.coincap.io/v2/assets/${assetId}`,
errorMessages: {
404: 'asset not found',
},
})
}
}
export { BaseCoincapService }

View File

@@ -0,0 +1,44 @@
import Joi from 'joi'
import { floorCount } from '../color-formatters.js'
import BaseCoincapService from './coincap-base.js'
const schema = Joi.object({
data: Joi.object({
changePercent24Hr: Joi.string()
.pattern(/[0-9]*\.[0-9]+/i)
.required(),
name: Joi.string().required(),
}).required(),
}).required()
export default class CoincapChangePercent24HrUsd extends BaseCoincapService {
static route = { base: 'coincap/change-percent-24hr', pattern: ':assetId' }
static examples = [
{
title: 'Coincap (Change Percent 24Hr)',
namedParams: { assetId: 'bitcoin' },
staticPreview: this.render({
asset: { name: 'bitcoin', changePercent24Hr: '2.0670573674501840"' },
}),
keywords: ['bitcoin', 'crypto', 'cryptocurrency'],
},
]
static percentFormat(changePercent24Hr) {
return `${parseInt(changePercent24Hr).toFixed(2)}%`
}
static render({ asset }) {
return {
label: `${asset.name}`.toLowerCase(),
message: this.percentFormat(asset.changePercent24Hr),
color: floorCount(asset.changePercent24Hr),
}
}
async handle({ assetId }) {
const { data: asset } = await this.fetch({ assetId, schema })
return this.constructor.render({ asset })
}
}

View File

@@ -0,0 +1,43 @@
import { isPercentage } from '../test-validators.js'
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
t.create('request for existing asset with positive')
.get('/bitcoin.json')
.intercept(nock =>
nock('https://api.coincap.io')
.get('/v2/assets/bitcoin')
.reply(200, {
data: { changePercent24Hr: '1.4767080598737783', name: 'Bitcoin' },
})
)
.expectBadge({
label: 'bitcoin',
message: '1.00%',
color: 'brightgreen',
})
t.create('request for existing asset with negative')
.get('/bitcoin.json')
.intercept(nock =>
nock('https://api.coincap.io')
.get('/v2/assets/bitcoin')
.reply(200, {
data: { changePercent24Hr: '-1.4767080598737783', name: 'Bitcoin' },
})
)
.expectBadge({
label: 'bitcoin',
message: '-1.00%',
color: 'red',
})
t.create('change percent 24hr').get('/bitcoin.json').expectBadge({
label: 'bitcoin',
message: isPercentage,
})
t.create('asset not found').get('/not-a-valid-asset.json').expectBadge({
label: 'coincap',
message: 'asset not found',
})

View File

@@ -0,0 +1,45 @@
import Joi from 'joi'
import BaseCoincapService from './coincap-base.js'
const schema = Joi.object({
data: Joi.object({
priceUsd: Joi.string()
.pattern(/[0-9]*\.[0-9]+/i)
.required(),
name: Joi.string().required(),
}).required(),
}).required()
export default class CoincapPriceUsd extends BaseCoincapService {
static route = { base: 'coincap/price-usd', pattern: ':assetId' }
static examples = [
{
title: 'Coincap (Price USD)',
namedParams: { assetId: 'bitcoin' },
staticPreview: this.render({
asset: { name: 'bitcoin', priceUsd: '19116.0479117336250772' },
}),
keywords: ['bitcoin', 'crypto', 'cryptocurrency'],
},
]
static priceFormat(price) {
return `$${parseFloat(price)
.toFixed(2)
.replace(/\d(?=(\d{3})+\.)/g, '$&,')}`
}
static render({ asset }) {
return {
label: `${asset.name}`.toLowerCase(),
message: this.priceFormat(asset.priceUsd),
color: 'blue',
}
}
async handle({ assetId }) {
const { data: asset } = await this.fetch({ assetId, schema })
return this.constructor.render({ asset })
}
}

View File

@@ -0,0 +1,16 @@
import { test, given } from 'sazerac'
import CoincapPriceUsd from './coincap-priceusd.service.js'
describe('PriceUsd Format', function () {
test(CoincapPriceUsd.priceFormat, () => {
given('3').expect('$3.00')
given('33').expect('$33.00')
given('332').expect('$332.00')
given('3324').expect('$3,324.00')
given('332432').expect('$332,432.00')
given('332432.2').expect('$332,432.20')
given('332432.25').expect('$332,432.25')
given('332432432').expect('$332,432,432.00')
given('332432432.3432432').expect('$332,432,432.34')
})
})

View File

@@ -0,0 +1,29 @@
import { isCurrency } from '../test-validators.js'
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
t.create('request for existing asset')
.get('/bitcoin.json')
.intercept(nock =>
nock('https://api.coincap.io')
.get('/v2/assets/bitcoin')
.reply(200, {
data: { priceUsd: '16417.7176754790740415', name: 'Bitcoin' },
})
)
.expectBadge({
label: 'bitcoin',
message: '$16,417.72',
color: 'blue',
})
t.create('price usd').get('/bitcoin.json').expectBadge({
label: 'bitcoin',
message: isCurrency,
color: 'blue',
})
t.create('asset not found').get('/not-a-valid-asset.json').expectBadge({
label: 'coincap',
message: 'asset not found',
})

View File

@@ -0,0 +1,37 @@
import Joi from 'joi'
import BaseCoincapService from './coincap-base.js'
const schema = Joi.object({
data: Joi.object({
rank: Joi.string()
.pattern(/^[0-9]+$/)
.required(),
name: Joi.string().required(),
}).required(),
}).required()
export default class CoincapRank extends BaseCoincapService {
static route = { base: 'coincap/rank', pattern: ':assetId' }
static examples = [
{
title: 'Coincap (Rank)',
namedParams: { assetId: 'bitcoin' },
staticPreview: this.render({ asset: { name: 'bitcoin', rank: '1' } }),
keywords: ['bitcoin', 'crypto', 'cryptocurrency'],
},
]
static render({ asset }) {
return {
label: `${asset.name}`.toLowerCase(),
message: asset.rank,
color: 'blue',
}
}
async handle({ assetId }) {
const { data: asset } = await this.fetch({ assetId, schema })
return this.constructor.render({ asset })
}
}

View File

@@ -0,0 +1,29 @@
import Joi from 'joi'
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
t.create('request for existing asset')
.get('/bitcoin.json')
.intercept(nock =>
nock('https://api.coincap.io')
.get('/v2/assets/bitcoin')
.reply(200, { data: { rank: '1', name: 'Bitcoin' } })
)
.expectBadge({
label: 'bitcoin',
message: '1',
color: 'blue',
})
t.create('rank')
.get('/bitcoin.json')
.expectBadge({
label: 'bitcoin',
message: Joi.number().integer().min(1).required(),
color: 'blue',
})
t.create('asset not found').get('/not-a-valid-asset.json').expectBadge({
label: 'coincap',
message: 'asset not found',
})

View File

@@ -2,14 +2,49 @@ import { redirector } from '../index.js'
export default [
redirector({
name: 'CoverallsGitHubRedirect',
name: 'CoverallsGitHubRedirectWithBranch',
category: 'coverage',
route: {
base: 'coveralls',
pattern: ':user((?!github|bitbucket).*)/:repo/:branch*',
pattern: ':user((?!github|bitbucket).*)/:repo/:branch+',
},
transformPath: ({ user, repo, branch }) =>
`/coveralls/github/${user}/${repo}${branch ? `/${branch}` : ''}`,
transformPath: ({ user, repo }) =>
`/coverallsCoverage/github/${user}/${repo}`,
transformQueryParams: ({ branch }) => ({ branch }),
dateAdded: new Date('2022-11-10'),
}),
redirector({
name: 'CoverallsGitHubRedirectWithoutBranch',
category: 'coverage',
route: {
base: 'coveralls',
pattern: ':user((?!github|bitbucket).*)/:repo',
},
transformPath: ({ user, repo }) =>
`/coverallsCoverage/github/${user}/${repo}`,
dateAdded: new Date('2021-02-23'),
}),
redirector({
name: 'CoverallsPreGitlabRedirectWithBranch',
category: 'coverage',
route: {
base: 'coveralls',
pattern: ':vcsType(github|bitbucket)/:user/:repo/:branch+',
},
transformPath: ({ vcsType, user, repo }) =>
`/coverallsCoverage/${vcsType}/${user}/${repo}`,
transformQueryParams: ({ branch }) => ({ branch }),
dateAdded: new Date('2022-11-10'),
}),
redirector({
name: 'CoverallsPreGitlabRedirectWithoutBranch',
category: 'coverage',
route: {
base: 'coveralls',
pattern: ':vcsType(github|bitbucket)/:user/:repo',
},
transformPath: ({ vcsType, user, repo }) =>
`/coverallsCoverage/${vcsType}/${user}/${repo}`,
dateAdded: new Date('2022-11-20'),
}),
]

View File

@@ -1,11 +1,41 @@
import { ServiceTester } from '../tester.js'
export const t = new ServiceTester({
id: 'CoverallsGitHubRedirect',
title: 'Coveralls GitHub Redirector',
id: 'CoverallsTestsRedirector',
title: 'CoverallsTestsRedirector',
pathPrefix: '/coveralls',
})
t.create('Coveralls VCS type missing')
.get('/lemurheavy/coveralls-ruby.svg')
.expectRedirect('/coveralls/github/lemurheavy/coveralls-ruby.svg')
.expectRedirect('/coverallsCoverage/github/lemurheavy/coveralls-ruby.svg')
t.create('Coveralls VCS type missing + specified branch')
.get('/jekyll/jekyll/master.svg')
.expectRedirect('/coverallsCoverage/github/jekyll/jekyll.svg?branch=master')
t.create(
'Redirect from before branch was a query param - github, with specified branch'
)
.get('/github/jekyll/jekyll/master.svg')
.expectRedirect('/coverallsCoverage/github/jekyll/jekyll.svg?branch=master')
t.create(
'Redirect from before branch was a query param - github, without specified branch'
)
.get('/github/badges/shields')
.expectRedirect('/coverallsCoverage/github/badges/shields.svg')
t.create(
'Redirect from before branch was a query param - bitbucket, with specified branch'
)
.get('/bitbucket/pyKLIP/pyklip/master.svg')
.expectRedirect(
'/coverallsCoverage/bitbucket/pyKLIP/pyklip.svg?branch=master'
)
t.create(
'Redirect from before branch was a query param - bitbucket, without specified branch'
)
.get('/bitbucket/pyKLIP/pyklip.svg')
.expectRedirect('/coverallsCoverage/bitbucket/pyKLIP/pyklip.svg')

View File

@@ -6,18 +6,22 @@ const schema = Joi.object({
covered_percent: Joi.number().min(0).max(100).required(),
}).required()
const queryParamSchema = Joi.object({
branch: Joi.string(),
}).required()
export default class Coveralls extends BaseJsonService {
static category = 'coverage'
static route = {
base: 'coveralls',
pattern: ':vcsType(github|bitbucket)/:user/:repo/:branch*',
base: 'coverallsCoverage',
pattern: ':vcsType(github|bitbucket|gitlab)/:user/:repo+',
queryParamSchema,
}
static examples = [
{
title: 'Coveralls',
namedParams: { vcsType: 'github', user: 'jekyll', repo: 'jekyll' },
pattern: ':vcsType(github|bitbucket)/:user/:repo',
staticPreview: this.render({ coverage: 86 }),
},
{
@@ -26,9 +30,8 @@ export default class Coveralls extends BaseJsonService {
vcsType: 'bitbucket',
user: 'pyKLIP',
repo: 'pyklip',
branch: 'master',
},
pattern: ':vcsType(github|bitbucket)/:user/:repo/:branch',
queryParams: { branch: 'master' },
staticPreview: this.render({ coverage: 96 }),
},
]
@@ -69,7 +72,7 @@ export default class Coveralls extends BaseJsonService {
})
}
async handle({ vcsType, user, repo, branch }) {
async handle({ vcsType, user, repo }, { branch }) {
const json = await this.fetch({ vcsType, user, repo, branch })
return this.constructor.render({ coverage: json.covered_percent })
}

Some files were not shown because too many files have changed in this diff Show More