Compare commits

..

211 Commits

Author SHA1 Message Date
Caleb Cartwright
c6e31d7f32 load and manage persisted tokens with scope support 2021-09-19 11:41:26 -05:00
Caleb Cartwright
3aadb79325 allow github service classes to define scope requirements 2021-09-19 11:40:21 -05:00
Caleb Cartwright
b8412fd80b support scoped and unscoped tokens in API Provider 2021-09-19 11:39:48 -05:00
Caleb Cartwright
345188e34b expose token pools internal counts of held tokens 2021-09-19 11:38:53 -05:00
Caleb Cartwright
a92dc72ff5 support including scopes on oauth authorization 2021-09-19 11:37:18 -05:00
dependabot[bot]
bf469f10df chore(deps-dev): bump typescript from 4.4.2 to 4.4.3 (#7035)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.4.2 to 4.4.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.4.2...v4.4.3)

---
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>
2021-09-18 16:36:35 +00:00
dependabot[bot]
994e752fd1 chore(deps): bump simple-icons from 5.13.0 to 5.14.0 (#7032)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.13.0 to 5.14.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.13.0...5.14.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>
2021-09-18 16:19:20 +00:00
dependabot[bot]
f6fd8eac4a chore(deps-dev): bump gatsby from 3.13.0 to 3.13.1 (#7031)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.13.0 to 3.13.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.13.0...gatsby@3.13.1)

---
updated-dependencies:
- dependency-name: gatsby
  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>
2021-09-18 10:57:11 -05:00
dependabot[bot]
c41d45100e chore(deps-dev): bump prettier from 2.4.0 to 2.4.1 (#7029)
Bumps [prettier](https://github.com/prettier/prettier) from 2.4.0 to 2.4.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.4.0...2.4.1)

---
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>
2021-09-17 23:54:08 +00:00
dependabot[bot]
e66b266800 chore(deps-dev): bump eslint-plugin-cypress from 2.11.3 to 2.12.1 (#7027)
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 2.11.3 to 2.12.1.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v2.11.3...v2.12.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-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>
2021-09-17 23:15:44 +00:00
dependabot[bot]
1ac7ccc231 chore(deps-dev): bump cypress from 8.3.1 to 8.4.0 (#7026)
Bumps [cypress](https://github.com/cypress-io/cypress) from 8.3.1 to 8.4.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v8.3.1...v8.4.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>
2021-09-17 18:01:15 -05:00
Caleb Cartwright
d728749886 fix: support gitlab token via env var (#7023) 2021-09-16 22:28:54 +00:00
Caleb Cartwright
354fb7db99 ensure docker image builds on PRs (#7019)
* ci: ensure docker image builds on PRs

* ci: intentionally make docker build fail to ensure github workflow fails

* ci: unset forced docker failure

* fix docker build step name

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-09-15 22:38:06 +00:00
Caleb Cartwright
961e13b229 Add API-based support for [GitLab] badges, add new GitLab Tag badge (#6988)
* Added GitLab Tag service

* Added prettyMessage for when repo has no tags

* Added pretty message for repo not found

* core: esm-ify gitlab tag service

* feat: support gitlab auth

* feat: support custom gitlab url on tag badges

* tests: add auth test for gitlab

* docs: fix gitlab config key references

* feat: support gitlab tag sorting options

* docs: add custom gitlab instance example for tags badge

* use v in gitlab route

* fix: gitlab tag examples

Co-authored-by: Ideotec <guille@ideotec.es>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-09-14 23:06:57 +00:00
Caleb Cartwright
6bb62e4c0b tests: fix dockerversion service test (#7014)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-09-14 22:46:31 +00:00
Caleb Cartwright
721d0142ff tests: fix spigetdownloadsize service test (#7018) 2021-09-14 22:30:14 +00:00
Seth Falco
13a53f123f [freecodecamp]: allow + symbol in username (#7016) 2021-09-13 18:21:26 -05:00
Pierre-Yves B
ca63f21113 Stop attempting to override Accept header in [GitHub] API provider (#7013) 2021-09-12 20:48:23 +01:00
chris48s
042ae1c45f update branch in [githublernajson] test (#7012)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-09-12 18:17:58 +00:00
dependabot[bot]
2f52b1617d chore(deps): bump fast-xml-parser from 3.19.0 to 3.20.0 (#7009)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 3.19.0 to 3.20.0.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/3.19.0...v3.20.0)

---
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>
2021-09-11 16:46:07 +00:00
dependabot[bot]
e91da33016 chore(deps): bump graphql from 15.5.2 to 15.5.3 (#7008)
Bumps [graphql](https://github.com/graphql/graphql-js) from 15.5.2 to 15.5.3.
- [Release notes](https://github.com/graphql/graphql-js/releases)
- [Commits](https://github.com/graphql/graphql-js/compare/v15.5.2...v15.5.3)

---
updated-dependencies:
- dependency-name: graphql
  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>
2021-09-11 16:33:50 +00:00
dependabot[bot]
a76df09c35 chore(deps-dev): bump eslint-plugin-jsdoc from 36.0.8 to 36.1.0 (#7007)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 36.0.8 to 36.1.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v36.0.8...v36.1.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>
2021-09-11 16:19:30 +00:00
dependabot[bot]
70874e2d5b chore(deps-dev): bump @babel/core from 7.15.4 to 7.15.5 (#7004)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.15.4 to 7.15.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.15.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>

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>
2021-09-11 15:59:59 +00:00
dependabot[bot]
68dbf71d42 chore(deps-dev): bump prettier from 2.3.2 to 2.4.0 (#7002)
Bumps [prettier](https://github.com/prettier/prettier) from 2.3.2 to 2.4.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.3.2...2.4.0)

---
updated-dependencies:
- dependency-name: prettier
  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>
2021-09-11 15:39:24 +00:00
dependabot[bot]
f4bddb9964 chore(deps-dev): bump c8 from 7.8.0 to 7.9.0 (#7001)
Bumps [c8](https://github.com/bcoe/c8) from 7.8.0 to 7.9.0.
- [Release notes](https://github.com/bcoe/c8/releases)
- [Changelog](https://github.com/bcoe/c8/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bcoe/c8/compare/v7.8.0...v7.9.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>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-09-11 04:23:39 +00:00
dependabot[bot]
cb52deec1c chore(deps-dev): bump @types/styled-components from 5.1.13 to 5.1.14 (#7006)
Bumps [@types/styled-components](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/styled-components) from 5.1.13 to 5.1.14.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/styled-components)

---
updated-dependencies:
- dependency-name: "@types/styled-components"
  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>
2021-09-10 23:09:33 -05:00
dependabot[bot]
047b14b52a chore(deps-dev): bump @typescript-eslint/eslint-plugin (#7000)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.30.0 to 4.31.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.31.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>
2021-09-11 03:48:17 +00:00
dependabot[bot]
dfb68efffb chore(deps): bump simple-icons from 5.12.0 to 5.13.0 (#7010)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.12.0 to 5.13.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.12.0...5.13.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>
2021-09-10 17:01:57 -05:00
J. Ryan Stinnett
8284545e22 Rename Riot to Element in Matrix badge help (#6996)
The Riot Matrix client was renamed to Element in July 2020 (https://element.io/blog/welcome-to-element/). This updates the Matrix badge help text to match.
2021-09-08 17:07:53 +00:00
Rohit Sah
8a1c69ead6 Fixed Reddit Negative Karma Issue (#6992) 2021-09-07 19:49:02 +01:00
Caleb Cartwright
1b871a97b4 refactor: update VS Marketplace Ratings badges for unrated extensions (#6986)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-09-04 17:33:01 +00:00
dependabot[bot]
0342a3d7c6 chore(deps-dev): bump gatsby-plugin-catch-links from 3.6.0 to 3.13.0 (#6984)
Bumps [gatsby-plugin-catch-links](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-catch-links) from 3.6.0 to 3.13.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@3.13.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>

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>
2021-09-04 17:21:48 +00:00
dependabot[bot]
77871a9f7b chore(deps): bump graphql from 15.5.1 to 15.5.2 (#6983)
Bumps [graphql](https://github.com/graphql/graphql-js) from 15.5.1 to 15.5.2.
- [Release notes](https://github.com/graphql/graphql-js/releases)
- [Commits](https://github.com/graphql/graphql-js/compare/v15.5.1...v15.5.2)

---
updated-dependencies:
- dependency-name: graphql
  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>
2021-09-04 17:10:03 +00:00
dependabot[bot]
15be262ba5 chore(deps-dev): bump gatsby-plugin-react-helmet from 4.6.0 to 4.13.0 (#6980)
Bumps [gatsby-plugin-react-helmet](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-react-helmet) from 4.6.0 to 4.13.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@4.13.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>

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>
2021-09-04 16:58:36 +00:00
dependabot[bot]
05fe731290 chore(deps-dev): bump mocha from 9.1.0 to 9.1.1 (#6981)
Bumps [mocha](https://github.com/mochajs/mocha) from 9.1.0 to 9.1.1.
- [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.1.0...v9.1.1)

---
updated-dependencies:
- dependency-name: mocha
  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>
2021-09-04 16:44:56 +00:00
dependabot[bot]
58310f7363 chore(deps-dev): bump babel-preset-gatsby from 1.12.0 to 1.13.0 (#6971)
Bumps [babel-preset-gatsby](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/babel-preset-gatsby) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/babel-preset-gatsby/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/babel-preset-gatsby@1.13.0/packages/babel-preset-gatsby)

---
updated-dependencies:
- dependency-name: babel-preset-gatsby
  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>
2021-09-04 05:58:44 +00:00
dependabot[bot]
570c2750e2 chore(deps-dev): bump @types/node from 16.7.2 to 16.7.10 (#6977)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.7.2 to 16.7.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  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>
2021-09-04 05:49:00 +00:00
dependabot[bot]
62af78c488 chore(deps-dev): bump @typescript-eslint/parser from 4.29.0 to 4.30.0 (#6978)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.29.0 to 4.30.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.30.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>

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>
2021-09-04 05:22:49 +00:00
dependabot[bot]
c48cd071fe chore(deps): bump @sentry/node from 6.11.0 to 6.12.0 (#6976)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 6.11.0 to 6.12.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/6.11.0...6.12.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>
2021-09-04 04:58:16 +00:00
dependabot[bot]
a9c9e7d679 chore(deps): bump ioredis from 4.27.8 to 4.27.9 (#6975)
Bumps [ioredis](https://github.com/luin/ioredis) from 4.27.8 to 4.27.9.
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/luin/ioredis/blob/master/Changelog.md)
- [Commits](https://github.com/luin/ioredis/compare/v4.27.8...v4.27.9)

---
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>
2021-09-04 04:36:45 +00:00
dependabot[bot]
4a47b9a364 chore(deps-dev): bump gatsby-plugin-remove-trailing-slashes (#6970)
Bumps [gatsby-plugin-remove-trailing-slashes](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-remove-trailing-slashes) from 3.6.0 to 3.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-remove-trailing-slashes/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-remove-trailing-slashes@3.13.0/packages/gatsby-plugin-remove-trailing-slashes)

---
updated-dependencies:
- dependency-name: gatsby-plugin-remove-trailing-slashes
  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>
2021-09-04 04:27:14 +00:00
dependabot[bot]
901dd7b9b6 chore(deps-dev): bump @babel/core from 7.15.0 to 7.15.4 (#6967)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.15.0 to 7.15.4.
- [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.15.4/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>

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>
2021-09-03 23:14:09 -05:00
dependabot[bot]
6dff73065a chore(deps-dev): bump open-cli from 7.0.0 to 7.0.1 (#6966)
Bumps [open-cli](https://github.com/sindresorhus/open-cli) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/sindresorhus/open-cli/releases)
- [Commits](https://github.com/sindresorhus/open-cli/compare/v7.0.0...v7.0.1)

---
updated-dependencies:
- dependency-name: open-cli
  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>
2021-09-04 04:03:41 +00:00
dependabot[bot]
a5f803ff2b chore(deps): bump simple-icons from 5.11.0 to 5.12.0 (#6972)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.11.0 to 5.12.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.11.0...5.12.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>
2021-09-03 21:59:11 +00:00
dependabot[bot]
9780da024e chore(deps-dev): bump gatsby-plugin-styled-components (#6985)
Bumps [gatsby-plugin-styled-components](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-styled-components) from 4.6.0 to 4.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-styled-components/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-styled-components@4.13.0/packages/gatsby-plugin-styled-components)

---
updated-dependencies:
- dependency-name: gatsby-plugin-styled-components
  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>
2021-09-03 21:37:49 +00:00
dependabot[bot]
12b5e8891f chore(deps-dev): bump gatsby-plugin-page-creator from 3.12.0 to 3.13.0 (#6969)
Bumps [gatsby-plugin-page-creator](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-page-creator) from 3.12.0 to 3.13.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@3.13.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>

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>
2021-09-03 21:19:05 +00:00
dependabot[bot]
5472c733a6 chore(deps-dev): bump gatsby from 3.12.1 to 3.13.0 (#6965)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.12.1 to 3.13.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.12.1...gatsby@3.13.0)

---
updated-dependencies:
- dependency-name: gatsby
  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>
2021-09-03 21:02:05 +00:00
dependabot[bot]
fcab8a52dc chore(deps-dev): bump cypress from 8.3.0 to 8.3.1 (#6973)
Bumps [cypress](https://github.com/cypress-io/cypress) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v8.3.0...v8.3.1)

---
updated-dependencies:
- dependency-name: cypress
  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>
2021-09-03 20:43:22 +00:00
dependabot[bot]
a111e9cba8 chore(deps-dev): bump start-server-and-test from 1.13.1 to 1.14.0 (#6968)
Bumps [start-server-and-test](https://github.com/bahmutov/start-server-and-test) from 1.13.1 to 1.14.0.
- [Release notes](https://github.com/bahmutov/start-server-and-test/releases)
- [Commits](https://github.com/bahmutov/start-server-and-test/compare/v1.13.1...v1.14.0)

---
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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-03 20:30:25 +00:00
github-actions[bot]
7a7cda6d4b Changelog for Release server-2021-09-01 (#6964)
* Update Changelog

Co-authored-by: release[bot] <actions@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2021-09-01 18:03:29 +01:00
Caleb Cartwright
76ca283775 refactor(GitHubCommitActivity): switch to v4/GraphQL API (#6959)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-29 17:59:36 +00:00
Seth Falco
b02471ff42 feat: add freecodecamp badge (#6958)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-28 16:55:11 +00:00
dependabot[bot]
7b9d1d340b chore(deps-dev): bump nock from 13.1.1 to 13.1.3 (#6949)
Bumps [nock](https://github.com/nock/nock) from 13.1.1 to 13.1.3.
- [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.1.1...v13.1.3)

---
updated-dependencies:
- dependency-name: nock
  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>
2021-08-28 16:13:50 +01:00
dependabot[bot]
48faded3f7 chore(deps-dev): bump eslint-plugin-import from 2.24.1 to 2.24.2 (#6952)
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.24.1 to 2.24.2.
- [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.24.1...v2.24.2)

---
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>

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>
2021-08-28 14:46:44 +00:00
dependabot[bot]
be3fa207b5 chore(deps-dev): bump gatsby from 3.12.0 to 3.12.1 (#6953)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.12.0 to 3.12.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.12.0...gatsby@3.12.1)

---
updated-dependencies:
- dependency-name: gatsby
  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>
2021-08-27 21:14:37 +00:00
dependabot[bot]
2624b0fb00 chore(deps-dev): bump typescript from 4.3.5 to 4.4.2 (#6951)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.3.5 to 4.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.5...v4.4.2)

---
updated-dependencies:
- dependency-name: typescript
  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>
2021-08-27 21:01:58 +00:00
dependabot[bot]
b0b986f31f chore(deps): bump simple-icons from 5.10.0 to 5.11.0 (#6945)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.10.0 to 5.11.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.10.0...5.11.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>
2021-08-27 20:53:21 +00:00
dependabot[bot]
61139bbccb chore(deps-dev): bump @types/styled-components from 5.1.12 to 5.1.13 (#6950)
Bumps [@types/styled-components](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/styled-components) from 5.1.12 to 5.1.13.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/styled-components)

---
updated-dependencies:
- dependency-name: "@types/styled-components"
  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>
2021-08-27 20:43:50 +00:00
dependabot[bot]
c5ee05c3fd chore(deps-dev): bump @types/node from 16.6.2 to 16.7.2 (#6948)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.6.2 to 16.7.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  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>
2021-08-27 20:34:20 +00:00
dependabot[bot]
c8fcee3bff chore(deps-dev): bump styled-components from 5.3.0 to 5.3.1 (#6954)
Bumps [styled-components](https://github.com/styled-components/styled-components) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/styled-components/styled-components/releases)
- [Changelog](https://github.com/styled-components/styled-components/blob/v5.3.1/CHANGELOG.md)
- [Commits](https://github.com/styled-components/styled-components/compare/v5.3.0...v5.3.1)

---
updated-dependencies:
- dependency-name: styled-components
  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>
2021-08-27 20:14:49 +00:00
dependabot[bot]
54844c0892 chore(deps-dev): bump eslint-plugin-jsdoc from 36.0.7 to 36.0.8 (#6955)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 36.0.7 to 36.0.8.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v36.0.7...v36.0.8)

---
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>
2021-08-27 20:07:06 +00:00
Su Yang
22995e4e35 use multi-stage build to reduce size (#6938)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-25 17:19:18 +00:00
chris48s
92772de68e use the right version of NPM in docker build (#6941) 2021-08-24 22:06:09 +00:00
Pierre-Yves B
1aea78a5d0 Fix [MyGet] version example and test (#6940) 2021-08-23 21:06:29 -05:00
Pierre-Yves B
6919b0a49c Tidy up server imports (#6937) 2021-08-22 17:30:10 +01:00
Pierre-Yves B
8fd54b1b8d Switch all shields.io links to https (#6935) 2021-08-22 17:20:59 +01:00
chris48s
779c1ffaad fix incorrect colorsForBackground detection (#6939)
* pass an actual color to colorsForBackground (closes #6936)

* improve test coverage for non-default font color
2021-08-22 16:59:25 +01:00
chris48s
e8c78d55b3 Migrate flat, flat-square, plastic and social to use XmlElement (#6883)
* start changelog entry for v4

* migrate Flat/FlatSquare/Plastic to use XmlElement

* move brightnessThreshold into colorsForBackground

* move old renderLogo function inline into social()

this is the only place it is now used

* use XmlElement in social()

* don't quote numbers if we don't need to

* remove intermediate calls to .render()

leave everything as XmlElement objects right till the end
then make one final call to .render()
which cascades aaall the way through the tree

* factor out code for assembling logo element

* use scale consts in social

* remove NullElement

now we've removed all the intermediate calls to render()
we can just use an empty string

* write leftlink so it doesn't look like a bool

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
2021-08-21 20:44:14 +01:00
dependabot[bot]
1c36dd2bd0 chore(deps-dev): bump eslint-plugin-import from 2.24.0 to 2.24.1 (#6932)
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.24.0 to 2.24.1.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.24.0...v2.24.1)

---
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>

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>
2021-08-20 14:46:28 +00:00
dependabot[bot]
45def37a0d chore(deps): bump ioredis from 4.27.7 to 4.27.8 (#6926)
Bumps [ioredis](https://github.com/luin/ioredis) from 4.27.7 to 4.27.8.
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/luin/ioredis/blob/master/Changelog.md)
- [Commits](https://github.com/luin/ioredis/compare/v4.27.7...v4.27.8)

---
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>
2021-08-20 14:31:44 +00:00
dependabot[bot]
8c3b20b5b8 chore(deps-dev): bump gatsby from 3.11.1 to 3.12.0 (#6925)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.11.1 to 3.12.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.11.1...gatsby@3.12.0)

---
updated-dependencies:
- dependency-name: gatsby
  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>
2021-08-20 14:19:55 +00:00
dependabot[bot]
dd63a0b71f chore(deps-dev): bump gatsby-plugin-page-creator from 3.11.0 to 3.12.0 (#6919)
Bumps [gatsby-plugin-page-creator](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-page-creator) from 3.11.0 to 3.12.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@3.12.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>

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>
2021-08-20 14:07:22 +00:00
dependabot[bot]
96a13b8749 chore(deps): bump @actions/core in /.github/actions/close-bot (#6923)
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  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>
2021-08-20 13:54:39 +00:00
dependabot[bot]
f28ba52562 chore(deps-dev): bump @types/node from 16.6.1 to 16.6.2 (#6921)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.6.1 to 16.6.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  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>
2021-08-20 13:45:07 +00:00
dependabot[bot]
9a78f0a0c2 chore(deps-dev): bump simple-git-hooks from 2.5.1 to 2.6.1 (#6927)
Bumps [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks) from 2.5.1 to 2.6.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/compare/2.5.1...2.6.1)

---
updated-dependencies:
- dependency-name: simple-git-hooks
  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>
2021-08-20 13:32:35 +00:00
dependabot[bot]
11bf09bf0f chore(deps): bump simple-icons from 5.9.0 to 5.10.0 (#6918)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.9.0 to 5.10.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.9.0...5.10.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>
2021-08-20 13:18:46 +00:00
dependabot[bot]
44a3e9abb6 chore(deps-dev): bump mocha from 9.0.3 to 9.1.0 (#6917)
Bumps [mocha](https://github.com/mochajs/mocha) from 9.0.3 to 9.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.0.3...v9.1.0)

---
updated-dependencies:
- dependency-name: mocha
  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>
2021-08-20 13:07:24 +00:00
dependabot[bot]
66dbcb5ca6 chore(deps-dev): bump cypress from 8.2.0 to 8.3.0 (#6915)
Bumps [cypress](https://github.com/cypress-io/cypress) from 8.2.0 to 8.3.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v8.2.0...v8.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-20 12:57:48 +00:00
chris48s
dabc907fc5 update [requires] test/example (#6913)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-19 17:21:59 +00:00
Pierre-Yves B
71bbcd527b Fix badge classes links in tutorial (#6911) 2021-08-19 18:04:00 +01:00
nixxquality
70947e1ff0 [TwitchExtensionVersion] New badge (#6900)
* Create Twitch Extension Version badge

* skip tests when there's no token

* use renderVersionBadge

* improve joi schema

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-19 16:13:29 +00:00
chris48s
48b7f70ef2 remove disableStrictSsl param from [jenkins] (#6887)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-18 19:40:41 +00:00
chris48s
96c27c2627 switch from husky to simple-git-hooks (#6904) 2021-08-18 19:33:20 +00:00
dependabot[bot]
17beba4ebf chore(deps-dev): bump @babel/register from 7.14.5 to 7.15.3 (#6898)
Bumps [@babel/register](https://github.com/babel/babel/tree/HEAD/packages/babel-register) from 7.14.5 to 7.15.3.
- [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.15.3/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>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-14 14:28:35 +00:00
dependabot[bot]
95f6611837 chore(deps): bump @sentry/node from 6.10.0 to 6.11.0 (#6897)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 6.10.0 to 6.11.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/6.10.0...6.11.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>
2021-08-14 14:20:03 +00:00
dependabot[bot]
eb7352e5ae chore(deps-dev): bump eslint-plugin-import from 2.23.4 to 2.24.0 (#6893)
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.23.4 to 2.24.0.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.23.4...v2.24.0)

---
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>

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>
2021-08-14 14:09:56 +00:00
dependabot[bot]
c81a1c6196 chore(deps-dev): bump @types/node from 16.4.13 to 16.6.1 (#6894)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.4.13 to 16.6.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  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>
2021-08-14 13:51:30 +00:00
dependabot[bot]
64c6533849 chore(deps-dev): bump gatsby from 3.11.0 to 3.11.1 (#6890)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.11.0 to 3.11.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.11.0...gatsby@3.11.1)

---
updated-dependencies:
- dependency-name: gatsby
  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>
2021-08-14 04:50:14 +00:00
dependabot[bot]
8468ddbb07 chore(deps-dev): bump concurrently from 6.2.0 to 6.2.1 (#6891)
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/open-cli-tools/concurrently/releases)
- [Commits](https://github.com/open-cli-tools/concurrently/compare/v6.2.0...v6.2.1)

---
updated-dependencies:
- dependency-name: concurrently
  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>
2021-08-14 04:39:47 +00:00
dependabot[bot]
169d51412a chore(deps-dev): bump eslint-plugin-jsdoc from 36.0.6 to 36.0.7 (#6892)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 36.0.6 to 36.0.7.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v36.0.6...v36.0.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>

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>
2021-08-14 04:28:04 +00:00
dependabot[bot]
51e70bae8d chore(deps): bump prom-client from 13.1.0 to 13.2.0 (#6888)
Bumps [prom-client](https://github.com/siimon/prom-client) from 13.1.0 to 13.2.0.
- [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/v13.1.0...v13.2.0)

---
updated-dependencies:
- dependency-name: prom-client
  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>
2021-08-14 04:18:30 +00:00
dependabot[bot]
8be2da17ed chore(deps): bump simple-icons from 5.8.1 to 5.9.0 (#6889)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.8.1 to 5.9.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.8.1...5.9.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>
2021-08-13 23:53:16 +00:00
chris48s
8e0788ccdc enforce strict SSL checking for [coverity] (#6886)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-12 19:04:11 +00:00
dependabot[bot]
36d80af111 chore(deps-dev): bump eslint from 7.31.0 to 7.32.0 (#6861)
Bumps [eslint](https://github.com/eslint/eslint) from 7.31.0 to 7.32.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.31.0...v7.32.0)

---
updated-dependencies:
- dependency-name: eslint
  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>
2021-08-12 13:10:15 +00:00
chris48s
5b583cc9ef fix failing [gitlab] test (#6885)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-11 22:11:29 +00:00
chris48s
1444b5624c update [bugzilla] not found test (#6884) 2021-08-11 17:03:37 -05:00
chris48s
45a9c90782 Revert "prefer release.name in [Github] release badge (#6879)" (#6880)
This reverts commit a4c93c56e7.
2021-08-10 07:48:27 -05:00
chris48s
a4c93c56e7 prefer release.name in [Github] release badge (#6879) 2021-08-09 14:59:29 +01:00
chris48s
f4781804f6 Update self hosting docs (#6877)
* update node version

* remove notes on redis
2021-08-08 21:11:09 +01:00
chris48s
21742a50b4 fix auto-close action (#6876) 2021-08-08 20:10:20 +01:00
chris48s
2cb52494c3 fix DockerHub snapshot build (#6878) 2021-08-08 20:02:10 +01:00
dependabot[bot]
fbef4a5d5d chore(deps-dev): bump @types/styled-components from 5.1.11 to 5.1.12 (#6873)
Bumps [@types/styled-components](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/styled-components) from 5.1.11 to 5.1.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/styled-components)

---
updated-dependencies:
- dependency-name: "@types/styled-components"
  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: chris48s <chris48s@users.noreply.github.com>
2021-08-07 20:12:02 +01:00
dependabot[bot]
64b747605c chore(deps-dev): bump lint-staged from 11.1.1 to 11.1.2 (#6872)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 11.1.1 to 11.1.2.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v11.1.1...v11.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: chris48s <chris48s@users.noreply.github.com>
2021-08-07 20:02:08 +01:00
dependabot[bot]
ea071535e3 chore(deps-dev): bump @types/node from 16.4.7 to 16.4.13 (#6871)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.4.7 to 16.4.13.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  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>
2021-08-06 23:41:59 -05:00
dependabot[bot]
3b5f915443 chore(deps-dev): bump @typescript-eslint/parser from 4.28.4 to 4.29.0 (#6874)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.28.4 to 4.29.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.29.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>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-06 23:06:21 -05:00
dependabot[bot]
8b17c7b175 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#6865)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.28.4 to 4.29.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.29.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>
2021-08-06 22:50:24 -05:00
dependabot[bot]
ec028c5158 chore(deps-dev): bump eslint-plugin-chai-friendly from 0.7.1 to 0.7.2 (#6864)
Bumps [eslint-plugin-chai-friendly](https://github.com/ihordiachenko/eslint-plugin-chai-friendly) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/ihordiachenko/eslint-plugin-chai-friendly/releases)
- [Commits](https://github.com/ihordiachenko/eslint-plugin-chai-friendly/compare/v0.7.1...v0.7.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-chai-friendly
  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>
2021-08-06 22:40:59 -05:00
dependabot[bot]
b901b2b216 chore(deps-dev): bump @babel/core from 7.14.8 to 7.15.0 (#6858)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.14.8 to 7.15.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.15.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>
2021-08-06 22:04:22 -05:00
dependabot[bot]
ff8f4432b3 chore(deps): bump ioredis from 4.27.6 to 4.27.7 (#6857)
Bumps [ioredis](https://github.com/luin/ioredis) from 4.27.6 to 4.27.7.
- [Release notes](https://github.com/luin/ioredis/releases)
- [Changelog](https://github.com/luin/ioredis/blob/master/Changelog.md)
- [Commits](https://github.com/luin/ioredis/compare/v4.27.6...v4.27.7)

---
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>
2021-08-06 21:32:09 -05:00
dependabot[bot]
ed07b61e7d chore(deps): bump joi from 17.4.1 to 17.4.2 (#6856)
Bumps [joi](https://github.com/sideway/joi) from 17.4.1 to 17.4.2.
- [Release notes](https://github.com/sideway/joi/releases)
- [Commits](https://github.com/sideway/joi/compare/v17.4.1...v17.4.2)

---
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>
2021-08-06 15:43:51 +01:00
dependabot[bot]
087a824a85 chore(deps-dev): bump gatsby from 3.10.2 to 3.11.0 (#6860)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.10.2 to 3.11.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.10.2...gatsby@3.11.0)

---
updated-dependencies:
- dependency-name: gatsby
  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: chris48s <chris48s@users.noreply.github.com>
2021-08-06 15:31:33 +01:00
dependabot[bot]
e18de8c8be chore(deps-dev): bump cypress from 8.1.0 to 8.2.0 (#6863)
Bumps [cypress](https://github.com/cypress-io/cypress) from 8.1.0 to 8.2.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v8.1.0...v8.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>

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>
2021-08-06 15:08:31 +01:00
dependabot[bot]
63fd51b428 chore(deps): bump simple-icons from 5.8.0 to 5.8.1 (#6867)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.8.0 to 5.8.1.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.8.0...5.8.1)

---
updated-dependencies:
- dependency-name: simple-icons
  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>
2021-08-06 14:53:54 +01:00
Paul Melnikow
37e83641ab Support optionalDependencies in [GithubPackageJson] (#6749)
Closes #6044

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-08-03 17:25:09 -05:00
github-actions[bot]
2e59a7a4cc Changelog for Release server-2021-08-01 (#6848)
* Update Changelog

Co-authored-by: release[bot] <actions@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2021-08-01 21:55:19 +01:00
chris48s
fcd402900e add github actions to build/push docker images (#6679) 2021-08-01 21:42:02 +01:00
dependabot[bot]
408e4065e1 chore(deps-dev): bump @types/node from 16.4.2 to 16.4.7 (#6845)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.4.2 to 16.4.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  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>
2021-07-31 20:30:10 +01:00
dependabot[bot]
6af81a70dd chore(deps-dev): bump cypress from 8.0.0 to 8.1.0 (#6846)
Bumps [cypress](https://github.com/cypress-io/cypress) from 8.0.0 to 8.1.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v8.0.0...v8.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>

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>
2021-07-31 20:20:32 +01:00
dependabot[bot]
95b16f2981 chore(deps-dev): bump gatsby from 3.10.1 to 3.10.2 (#6843)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.10.1 to 3.10.2.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.10.1...gatsby@3.10.2)

---
updated-dependencies:
- dependency-name: gatsby
  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>
2021-07-31 20:12:37 +01:00
dependabot[bot]
424e424171 chore(deps-dev): bump eslint-plugin-jsdoc from 36.0.2 to 36.0.6 (#6844)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 36.0.2 to 36.0.6.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v36.0.2...v36.0.6)

---
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>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-31 10:20:14 -05:00
dependabot[bot]
017f2e4f25 chore(deps-dev): bump c8 from 7.7.3 to 7.8.0 (#6841)
Bumps [c8](https://github.com/bcoe/c8) from 7.7.3 to 7.8.0.
- [Release notes](https://github.com/bcoe/c8/releases)
- [Changelog](https://github.com/bcoe/c8/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bcoe/c8/compare/v7.7.3...v7.8.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>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-30 17:48:18 -05:00
dependabot[bot]
e10c0c2c03 chore(deps): bump chalk from 4.1.1 to 4.1.2 (#6847)
Bumps [chalk](https://github.com/chalk/chalk) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/chalk/chalk/releases)
- [Commits](https://github.com/chalk/chalk/compare/v4.1.1...v4.1.2)

---
updated-dependencies:
- dependency-name: chalk
  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>
2021-07-30 17:30:09 -05:00
dependabot[bot]
8e926953ab chore(deps-dev): bump sinon from 11.1.1 to 11.1.2 (#6840)
Bumps [sinon](https://github.com/sinonjs/sinon) from 11.1.1 to 11.1.2.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/commits)

---
updated-dependencies:
- dependency-name: sinon
  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>
2021-07-30 21:12:21 +01:00
dependabot[bot]
a3df838d30 chore(deps-dev): bump start-server-and-test from 1.13.0 to 1.13.1 (#6838)
Bumps [start-server-and-test](https://github.com/bahmutov/start-server-and-test) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/bahmutov/start-server-and-test/releases)
- [Commits](https://github.com/bahmutov/start-server-and-test/compare/v1.13.0...v1.13.1)

---
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>
2021-07-30 20:58:56 +01:00
chris48s
f64580c243 update auto close action for dependabot native (#6834)
* allow bot to modify PRs

* remove auto-approve logic

* approve bot doesn't approve any more

* only run this workflow for PRs from dependabot

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-30 14:16:23 +00:00
dependabot[bot]
5cdb8102d8 chore(deps-dev): bump icedfrisby-nock from 2.0.0 to 2.1.0 (#6819)
* chore(deps-dev): bump icedfrisby-nock from 2.0.0 to 2.1.0

Bumps [icedfrisby-nock](https://github.com/paulmelnikow/icedfrisby-nock) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/paulmelnikow/icedfrisby-nock/releases)
- [Changelog](https://github.com/paulmelnikow/icedfrisby-nock/blob/main/CHANGELOG.md)
- [Commits](https://github.com/paulmelnikow/icedfrisby-nock/compare/2.0.0...2.1.0)

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

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

* fix: ensure network available during non-mocked service tests

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Caleb Cartwright <caleb.cartwright@outlook.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-29 21:13:40 +00:00
Caleb Cartwright
435678f14c use v5 API for [AUR] badges (#6836)
* refactor: use v5 API for AUR badges

* Update services/aur/aur.service.js

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

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2021-07-29 19:56:34 +00:00
dependabot[bot]
a08b523b4f chore(deps-dev): bump @types/node from 16.4.1 to 16.4.2 (#6830)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.4.1 to 16.4.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  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>
2021-07-27 02:31:56 +00:00
dependabot[bot]
d696d3a4fb chore(deps): bump global-agent from 2.2.0 to 3.0.0 (#6826)
Bumps [global-agent](https://github.com/gajus/global-agent) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/gajus/global-agent/releases)
- [Commits](https://github.com/gajus/global-agent/compare/v2.2.0...v3.0.0)

---
updated-dependencies:
- dependency-name: global-agent
  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>
2021-07-27 00:01:25 +00:00
dependabot[bot]
58dcd8b1d2 chore(deps-dev): bump mocha from 9.0.2 to 9.0.3 (#6824)
Bumps [mocha](https://github.com/mochajs/mocha) from 9.0.2 to 9.0.3.
- [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.0.2...v9.0.3)

---
updated-dependencies:
- dependency-name: mocha
  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>
2021-07-26 00:39:35 +00:00
dependabot[bot]
0acda7cc30 chore(deps): bump simple-icons from 5.7.0 to 5.8.0 (#6821)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.7.0 to 5.8.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.7.0...5.8.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>
2021-07-26 00:27:00 +00:00
dependabot[bot]
9c0a3a5af7 chore(deps-dev): bump lint-staged from 11.1.0 to 11.1.1 (#6828)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 11.1.0 to 11.1.1.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v11.1.0...v11.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>
2021-07-25 19:16:23 -05:00
dependabot[bot]
9e61513497 chore(deps-dev): bump eslint-plugin-jsdoc from 35.5.1 to 36.0.2 (#6818)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 35.5.1 to 36.0.2.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v35.5.1...v36.0.2)

---
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>
2021-07-25 15:38:28 -05:00
dependabot-preview[bot]
a74401b99a Upgrade to GitHub-native Dependabot (#6816)
* Upgrade to GitHub-native Dependabot

* remove explicit ignores, add comments

* run prettier

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
Co-authored-by: chris48s <chris.shaw480@gmail.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-25 20:10:41 +00:00
Caleb Cartwright
b7ec6c0cb3 tests: add live Sonar tests with >=6.6 API changes (#6817)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-25 16:32:38 +00:00
Seth Falco
bd6f4ee146 fix: authenticate weblate requests (#6790)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-25 15:53:41 +00:00
Seth Falco
1e72d5e905 chore: exclude services and tests from docs (#6791)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-25 14:39:23 +00:00
Rafał Maciejewski
96a7f36e08 [Sonar] Fix invalid fetch query to sonarqube >=6.6 (#6636)
* fix(sonar): fix invalid fetch query to sonarqube >=6.6

* fix(sonar): reverse comparison to preserve default behavior

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-25 01:30:47 +00:00
dependabot-preview[bot]
6bd739a1a8 Build(deps-dev): bump @types/mocha from 8.2.3 to 9.0.0 (#6798)
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 8.2.3 to 9.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-07-24 11:44:38 +00:00
Alwin John
13a9421f3f added a correct the path to the sponsers logo (#6813) 2021-07-24 11:28:27 +00:00
dependabot-preview[bot]
f859821876 Build(deps): bump @sentry/node from 6.9.0 to 6.10.0 (#6811)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 6.9.0 to 6.10.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/6.9.0...6.10.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 20:40:16 +00:00
dependabot-preview[bot]
f8ff38c791 Build(deps-dev): bump @babel/core from 7.14.6 to 7.14.8 (#6812)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.14.6 to 7.14.8.
- [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.14.8/packages/babel-core)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 20:29:34 +00:00
dependabot-preview[bot]
377bcb71ab Build(deps): bump simple-icons from 5.6.0 to 5.7.0 (#6799)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.6.0 to 5.7.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.6.0...5.7.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 20:18:28 +00:00
dependabot-preview[bot]
6d4418a52e Build(deps-dev): bump @types/node from 16.3.2 to 16.4.1 (#6795)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.3.2 to 16.4.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 20:07:31 +00:00
dependabot-preview[bot]
77d0783a76 Build(deps-dev): bump gatsby from 3.9.1 to 3.10.1 (#6804)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.9.1 to 3.10.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.9.1...gatsby@3.10.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 19:56:40 +00:00
dependabot-preview[bot]
7aecc423f8 Build(deps-dev): bump lint-staged from 11.0.1 to 11.1.0 (#6800)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 11.0.1 to 11.1.0.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v11.0.1...v11.1.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 19:45:40 +00:00
dependabot-preview[bot]
ad7c959987 Build(deps-dev): bump gatsby-plugin-page-creator from 3.9.0 to 3.10.0 (#6802)
Bumps [gatsby-plugin-page-creator](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-page-creator) from 3.9.0 to 3.10.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@3.10.0/packages/gatsby-plugin-page-creator)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 19:34:44 +00:00
dependabot-preview[bot]
cf3c166bc7 Build(deps-dev): bump cypress from 7.7.0 to 8.0.0 (#6810)
Bumps [cypress](https://github.com/cypress-io/cypress) from 7.7.0 to 8.0.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v7.7.0...v8.0.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 19:24:44 +00:00
dependabot-preview[bot]
f4dabf6408 Build(deps-dev): bump start-server-and-test from 1.12.6 to 1.13.0 (#6803)
Bumps [start-server-and-test](https://github.com/bahmutov/start-server-and-test) from 1.12.6 to 1.13.0.
- [Release notes](https://github.com/bahmutov/start-server-and-test/releases)
- [Commits](https://github.com/bahmutov/start-server-and-test/compare/v1.12.6...v1.13.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 19:11:43 +00:00
dependabot-preview[bot]
2fbfe4f8cf Build(deps-dev): bump eslint from 7.30.0 to 7.31.0 (#6794)
Bumps [eslint](https://github.com/eslint/eslint) from 7.30.0 to 7.31.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.30.0...v7.31.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-23 13:17:56 +00:00
dependabot-preview[bot]
2e9bbf696a Build(deps-dev): bump eslint-plugin-jsdoc from 35.4.3 to 35.5.1 (#6793)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 35.4.3 to 35.5.1.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v35.4.3...v35.5.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-07-23 12:24:28 +00:00
Caleb Cartwright
42ba150abd tests: fix scrutinizerbuild service test (#6785)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-20 02:54:38 +00:00
Caleb Cartwright
3cd5e771b6 tests: fix Docker Version test for user repo (#6783)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-20 01:41:51 +00:00
Caleb Cartwright
1e19b45063 tests: fix codacy service tests (#6781)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-19 21:56:03 +00:00
Caleb Cartwright
1a1e5451ec chore: switch to c8 for code coverage (#6778) 2021-07-18 22:17:41 -05:00
dependabot-preview[bot]
89392037e3 Build(deps): bump graphql from 15.5.0 to 15.5.1 (#6776)
Bumps [graphql](https://github.com/graphql/graphql-js) from 15.5.0 to 15.5.1.
- [Release notes](https://github.com/graphql/graphql-js/releases)
- [Commits](https://github.com/graphql/graphql-js/compare/v15.5.0...v15.5.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-17 21:59:40 -05:00
dependabot-preview[bot]
c1ed507217 Build(deps-dev): bump @types/node from 16.3.0 to 16.3.2 (#6777)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.3.0 to 16.3.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-17 19:51:06 +00:00
dependabot-preview[bot]
24fc1e164e Build(deps): bump joi from 17.4.0 to 17.4.1 (#6774)
Bumps [joi](https://github.com/sideway/joi) from 17.4.0 to 17.4.1.
- [Release notes](https://github.com/sideway/joi/releases)
- [Commits](https://github.com/sideway/joi/compare/v17.4.0...v17.4.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-17 05:15:26 +00:00
dependabot-preview[bot]
da3c5f782a Build(deps): bump simple-icons from 5.5.0 to 5.6.0 (#6775)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.5.0...5.6.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-17 05:06:49 +00:00
dependabot-preview[bot]
44179bf193 Build(deps-dev): bump gatsby from 3.9.0 to 3.9.1 (#6772)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.9.0 to 3.9.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.9.0...gatsby@3.9.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-17 04:55:24 +00:00
dependabot-preview[bot]
28f8403491 Build(deps-dev): bump lint-staged from 11.0.0 to 11.0.1 (#6768)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 11.0.0 to 11.0.1.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v11.0.0...v11.0.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-17 04:44:36 +00:00
dependabot-preview[bot]
739de0aa85 Build(deps-dev): bump nodemon from 2.0.11 to 2.0.12 (#6769)
Bumps [nodemon](https://github.com/remy/nodemon) from 2.0.11 to 2.0.12.
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v2.0.11...v2.0.12)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-17 04:37:12 +00:00
dependabot-preview[bot]
c64d6ee19f Build(deps): bump @sentry/node from 6.8.0 to 6.9.0 (#6767)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 6.8.0 to 6.9.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/6.8.0...6.9.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-17 04:26:39 +00:00
dependabot-preview[bot]
d476857327 Build(deps-dev): bump eslint-plugin-jsdoc from 35.4.2 to 35.4.3 (#6770)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 35.4.2 to 35.4.3.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v35.4.2...v35.4.3)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-07-16 12:41:17 +00:00
Chris
faa2bf973f Delegate discord logo to simple-icons, which matches the current branding (#6764)
* Update the discord logo color to match the current branding

https://discord.com/branding

* Update the SVG to match the press kit

* Delete discord.svg

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-15 02:01:55 +00:00
Seth Falco
75d5a13235 chore: refactor weblate code (#6765) 2021-07-13 19:57:47 -05:00
Pierre-Yves B
46e1797994 Fix [CodeClimateCoverage] test (#6759) 2021-07-11 19:24:46 +01:00
Pierre-Yves B
e6f2cfd376 Fix [JenkinsTests] test (#6758) 2021-07-11 19:14:13 +01:00
chris48s
8983c39f74 Re-apply 'Migrate request to got (part 1)' (#6755)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-11 13:28:14 +00:00
Pierre-Yves B
5f9e8deafc Fix UptimeRobot status endpoint (#6757) 2021-07-11 14:17:26 +01:00
Pierre-Yves B
30e46a69a7 Delete old deprecated badges (#6756) 2021-07-11 13:47:25 +01:00
dependabot-preview[bot]
660d832983 Build(deps-dev): bump nodemon from 2.0.9 to 2.0.11 (#6751)
Bumps [nodemon](https://github.com/remy/nodemon) from 2.0.9 to 2.0.11.
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v2.0.9...v2.0.11)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 15:53:49 +00:00
dependabot-preview[bot]
5aeb74a8a5 Build(deps-dev): bump @types/mocha from 8.2.2 to 8.2.3 (#6743)
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 8.2.2 to 8.2.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 15:43:09 +00:00
dependabot-preview[bot]
9c9fd41658 Build(deps-dev): bump @types/react-modal from 3.12.0 to 3.12.1 (#6733)
Bumps [@types/react-modal](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-modal) from 3.12.0 to 3.12.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-modal)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 15:35:23 +00:00
dependabot-preview[bot]
2ff8e0b3f4 Build(deps-dev): bump @types/chai from 4.2.19 to 4.2.21 (#6739)
Bumps [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) from 4.2.19 to 4.2.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 06:27:05 +00:00
dependabot-preview[bot]
bf6e2ff35d Build(deps-dev): bump @types/styled-components from 5.1.10 to 5.1.11 (#6738)
Bumps [@types/styled-components](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/styled-components) from 5.1.10 to 5.1.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/styled-components)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-07-10 06:01:48 +00:00
dependabot-preview[bot]
e12d691a09 Build(deps-dev): bump @types/react-select from 4.0.16 to 4.0.17 (#6732)
Bumps [@types/react-select](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-select) from 4.0.16 to 4.0.17.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-select)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 05:38:22 +00:00
dependabot-preview[bot]
7c8c7ac9e9 Build(deps-dev): bump @types/react-helmet from 6.1.1 to 6.1.2 (#6719)
Bumps [@types/react-helmet](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-helmet) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-helmet)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 05:20:05 +00:00
dependabot-preview[bot]
74545557d0 Build(deps): bump @fontsource/lekton from 4.4.5 to 4.5.0 (#6741)
Bumps [@fontsource/lekton](https://github.com/fontsource/fontsource/tree/HEAD/packages/lekton) from 4.4.5 to 4.5.0.
- [Release notes](https://github.com/fontsource/fontsource/releases)
- [Changelog](https://github.com/fontsource/fontsource/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/fontsource/commits/@fontsource/lekton@4.5.0/packages/lekton)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 04:58:37 +00:00
dependabot-preview[bot]
c2cec3c266 Build(deps-dev): bump nock from 13.1.0 to 13.1.1 (#6726)
Bumps [nock](https://github.com/nock/nock) from 13.1.0 to 13.1.1.
- [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.1.0...v13.1.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 04:26:55 +00:00
dependabot-preview[bot]
07168fe35b Build(deps-dev): bump @types/node from 15.14.0 to 16.3.0 (#6723)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 15.14.0 to 16.3.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 04:04:15 +00:00
Seth Falco
686aaf2843 fix: weblate badges to better fit repo guidelines [Weblate] (#6712)
* fix: weblate badges

* fix: use nouns for weblate badge routes

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-10 03:48:02 +00:00
Paul Melnikow
3cedd46287 Delegate related projects to awesome-badges list (#6746)
* Delegate related projects to awesome-badges list

* Reformat

* Tweak

* Move section

* No endorsement doesn't mean we disapprove

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
2021-07-09 22:31:29 -05:00
dependabot-preview[bot]
72c6f11f3a Build(deps): bump simple-icons from 5.4.0 to 5.5.0 (#6731)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.4.0...5.5.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-09 21:24:02 +00:00
dependabot-preview[bot]
935cf28b39 Build(deps): bump @fontsource/lato from 4.4.5 to 4.5.0 (#6729)
Bumps [@fontsource/lato](https://github.com/fontsource/fontsource/tree/HEAD/packages/lato) from 4.4.5 to 4.5.0.
- [Release notes](https://github.com/fontsource/fontsource/releases)
- [Changelog](https://github.com/fontsource/fontsource/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/fontsource/commits/@fontsource/lato@4.5.0/packages/lato)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-09 21:09:45 +00:00
dependabot-preview[bot]
53c643dc1a Build(deps-dev): bump gatsby-plugin-page-creator from 3.8.0 to 3.9.0 (#6724)
Bumps [gatsby-plugin-page-creator](https://github.com/gatsbyjs/gatsby/tree/HEAD/packages/gatsby-plugin-page-creator) from 3.8.0 to 3.9.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@3.9.0/packages/gatsby-plugin-page-creator)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-09 20:58:50 +00:00
dependabot-preview[bot]
5184dc7378 Build(deps-dev): bump gatsby from 3.8.1 to 3.9.0 (#6720)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.8.1 to 3.9.0.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.8.1...gatsby@3.9.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-09 20:48:50 +00:00
dependabot-preview[bot]
5dd1c1984c Build(deps-dev): bump start-server-and-test from 1.12.5 to 1.12.6 (#6728)
Bumps [start-server-and-test](https://github.com/bahmutov/start-server-and-test) from 1.12.5 to 1.12.6.
- [Release notes](https://github.com/bahmutov/start-server-and-test/releases)
- [Commits](https://github.com/bahmutov/start-server-and-test/compare/v1.12.5...v1.12.6)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-09 20:28:41 +00:00
Paul Melnikow
45d54ef1dd Replace opn-cli with open-cli (#6747)
Have confirmed that `npm run coverage:report:open` still works.

Related: #6332
2021-07-09 15:32:32 -04:00
Paul Melnikow
6d4ed3ce9d Verify that Node 14 is installed in development (#6748) 2021-07-09 14:33:45 -04:00
dependabot-preview[bot]
8a030e6fb9 Build(deps-dev): bump eslint from 7.29.0 to 7.30.0 (#6742)
Bumps [eslint](https://github.com/eslint/eslint) from 7.29.0 to 7.30.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.29.0...v7.30.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-09 14:58:04 +00:00
dependabot-preview[bot]
b485060df4 Build(deps-dev): bump cypress from 7.6.0 to 7.7.0 (#6725)
Bumps [cypress](https://github.com/cypress-io/cypress) from 7.6.0 to 7.7.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v7.6.0...v7.7.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-09 14:45:27 +00:00
dependabot-preview[bot]
ba0a46599f Build(deps-dev): bump mocha from 9.0.1 to 9.0.2 (#6722)
Bumps [mocha](https://github.com/mochajs/mocha) from 9.0.1 to 9.0.2.
- [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.0.1...v9.0.2)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-09 14:30:30 +00:00
dependabot-preview[bot]
435b14940d Build(deps-dev): bump eslint-plugin-jsdoc from 35.4.1 to 35.4.2 (#6721)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 35.4.1 to 35.4.2.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v35.4.1...v35.4.2)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-07-09 12:40:31 +00:00
Pierre-Yves B
23c0406bed Migrate from CommonJS to ESM (#6651) 2021-07-09 12:53:55 +01:00
Seth Falco
23678fe2f5 Add Wikiapiary Extension Badge [WikiapiaryInstalls] (#6678)
* feat: add wikiapiary extension badge

* fix: refactor wikiapiary badge

* fix: display correct message when not found

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

* fix: weird behavior with casing

* fix: test malformed api response

* chore: use options.qs for query parameters

* chore: rename file to match class name

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-07 20:40:15 +00:00
chris48s
90831e61ac deprecate [beerpay] (#6708)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 20:13:58 +00:00
chris48s
d4ce24b106 deprecate [microbadger] (#6709)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 19:59:32 +00:00
chris48s
42e883d728 fix [github] commit since tests (#6705)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 17:05:44 +00:00
dependabot-preview[bot]
7ec814c7ab Build(deps-dev): bump danger from 10.6.4 to 10.6.6 (#6694)
Bumps [danger](https://github.com/danger/danger-js) from 10.6.4 to 10.6.6.
- [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/10.6.4...10.6.6)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 16:09:39 +00:00
dependabot-preview[bot]
72b6fa3778 Build(deps-dev): bump nodemon from 2.0.7 to 2.0.9 (#6700)
Bumps [nodemon](https://github.com/remy/nodemon) from 2.0.7 to 2.0.9.
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v2.0.7...v2.0.9)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 15:52:16 +00:00
dependabot-preview[bot]
49434e3a13 Build(deps-dev): bump @types/node from 15.12.4 to 15.14.0 (#6698)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 15.12.4 to 15.14.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 15:39:37 +00:00
dependabot-preview[bot]
670ee76948 Build(deps): bump graphql-tag from 2.12.4 to 2.12.5 (#6693)
Bumps [graphql-tag](https://github.com/apollographql/graphql-tag) from 2.12.4 to 2.12.5.
- [Release notes](https://github.com/apollographql/graphql-tag/releases)
- [Changelog](https://github.com/apollographql/graphql-tag/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apollographql/graphql-tag/commits)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 15:17:14 +00:00
dependabot-preview[bot]
f8e65e7441 Build(deps-dev): bump gatsby from 3.8.0 to 3.8.1 (#6695)
Bumps [gatsby](https://github.com/gatsbyjs/gatsby) from 3.8.0 to 3.8.1.
- [Release notes](https://github.com/gatsbyjs/gatsby/releases)
- [Changelog](https://github.com/gatsbyjs/gatsby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.8.0...gatsby@3.8.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 14:59:35 +00:00
dependabot-preview[bot]
5d33a990d6 Build(deps-dev): bump prettier from 2.3.1 to 2.3.2 (#6697)
Bumps [prettier](https://github.com/prettier/prettier) from 2.3.1 to 2.3.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.3.1...2.3.2)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 14:41:48 +00:00
dependabot-preview[bot]
5f46e6fe92 Build(deps): bump simple-icons from 5.3.0 to 5.4.0 (#6690)
Bumps [simple-icons](https://github.com/simple-icons/simple-icons) from 5.3.0 to 5.4.0.
- [Release notes](https://github.com/simple-icons/simple-icons/releases)
- [Commits](https://github.com/simple-icons/simple-icons/compare/5.3.0...5.4.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 05:05:49 +00:00
dependabot-preview[bot]
ba61107c04 Build(deps-dev): bump typescript from 4.3.4 to 4.3.5 (#6691)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.3.4 to 4.3.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.4...v4.3.5)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 04:52:15 +00:00
dependabot-preview[bot]
f9a44ced8b Build(deps): bump @sentry/node from 6.7.2 to 6.8.0 (#6689)
Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 6.7.2 to 6.8.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/6.7.2...6.8.0)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-03 04:32:42 +00:00
dependabot-preview[bot]
afbc487faa Build(deps-dev): bump eslint-plugin-jsdoc from 35.4.0 to 35.4.1 (#6696)
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 35.4.0 to 35.4.1.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v35.4.0...v35.4.1)

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

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-07-02 13:10:33 +00:00
TZ | 天猪
d2b966ea42 [npmsioscore] Support npm score (#6630)
* feat: support npm rating

* chore: modify after review

* feat: mv to npms-io

* feat: support msg_type

* feat: change for last review

* Update services/npms-io/score.service.js

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>

* Update services/npms-io/score.service.js

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>

* Update services/npms-io/score.service.js

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>

* test: fix test for -score

* chore: rename

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-02 04:19:29 +00:00
Seth Falco
384c57eb47 Add [Weblate] badges (#6677)
* feat: add weblate badges

* fix: use color-formatter for translated-percentage

* fix: use metric formatter

* rm: removed units badge

* test: use createservicetester

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>

* fix: refactor weblate badges

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-07-02 02:58:00 +00:00
1185 changed files with 11949 additions and 15651 deletions

View File

@@ -236,7 +236,7 @@ jobs:
e2e:
docker:
- image: cypress/base:14
- image: cypress/base:14.16.0
steps:
- checkout

View File

@@ -1,38 +0,0 @@
version: 1
update_configs:
# shields.io dependencies
- package_manager: 'javascript'
directory: '/'
update_schedule: 'weekly'
automerged_updates:
- match:
dependency_name: 'chai*'
update_type: 'semver:minor'
- match:
dependency_name: 'cypress'
update_type: 'semver:minor'
- match:
dependency_name: 'eslint*'
update_type: 'semver:minor'
- match:
dependency_name: 'mocha*'
update_type: 'semver:minor'
- match:
dependency_name: 'sazerac'
update_type: 'semver:minor'
- match:
dependency_name: 'sinon*'
update_type: 'semver:minor'
- match:
dependency_name: 'snap-shot-it'
update_type: 'semver:minor'
# badge-maker package dependencies
- package_manager: 'javascript'
directory: '/badge-maker'
update_schedule: 'weekly'
# approve-bot package dependencies
- package_manager: 'javascript'
directory: '.github/actions/approve-bot'
update_schedule: 'weekly'

View File

@@ -2,6 +2,6 @@
/build
/coverage
/__snapshots__
/public
public
badge-maker/node_modules/
!.github/

View File

@@ -136,7 +136,6 @@ rules:
# Shields additions.
no-var: 'error'
prefer-const: 'error'
strict: 'error'
arrow-body-style: ['error', 'as-needed']
no-extension-in-require/main: 'error'
object-shorthand: ['error', 'properties']

View File

@@ -1,170 +0,0 @@
{
"name": "approve-bot",
"version": "0.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@actions/core": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.4.0.tgz",
"integrity": "sha512-CGx2ilGq5i7zSLgiiGUtBCxhRRxibJYU6Fim0Q1Wg2aQL2LTnF27zbqZOrxfvFQ55eSBW0L8uVStgtKMpa0Qlg=="
},
"@actions/github": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz",
"integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==",
"requires": {
"@actions/http-client": "^1.0.11",
"@octokit/core": "^3.4.0",
"@octokit/plugin-paginate-rest": "^2.13.3",
"@octokit/plugin-rest-endpoint-methods": "^5.1.1"
}
},
"@actions/http-client": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz",
"integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==",
"requires": {
"tunnel": "0.0.6"
}
},
"@octokit/auth-token": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz",
"integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==",
"requires": {
"@octokit/types": "^6.0.3"
}
},
"@octokit/core": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz",
"integrity": "sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==",
"requires": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.4.12",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.11",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz",
"integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==",
"requires": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.2.tgz",
"integrity": "sha512-WmsIR1OzOr/3IqfG9JIczI8gMJUMzzyx5j0XXQ4YihHtKlQc+u35VpVoOXhlKAlaBntvry1WpAzPl/a+s3n89Q==",
"requires": {
"@octokit/request": "^5.3.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz",
"integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw=="
},
"@octokit/plugin-paginate-rest": {
"version": "2.13.3",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz",
"integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==",
"requires": {
"@octokit/types": "^6.11.0"
}
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.1.1.tgz",
"integrity": "sha512-u4zy0rVA8darm/AYsIeWkRalhQR99qPL1D/EXHejV2yaECMdHfxXiTXtba8NMBSajOJe8+C9g+EqMKSvysx0dg==",
"requires": {
"@octokit/types": "^6.14.1",
"deprecation": "^2.3.1"
}
},
"@octokit/request": {
"version": "5.4.15",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz",
"integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.0.0",
"@octokit/types": "^6.7.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz",
"integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==",
"requires": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/types": {
"version": "6.14.2",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz",
"integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==",
"requires": {
"@octokit/openapi-types": "^7.0.0"
}
},
"before-after-hook": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz",
"integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw=="
},
"deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
},
"node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
},
"universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
}
}

View File

@@ -59,10 +59,4 @@ function isPointlessVersionBump(body) {
return allChangelogLinesAreVersionBump(changelogLines)
}
function shouldAutoMerge(body) {
return body.includes(
'If all status checks pass Dependabot will automatically merge this pull request'
)
}
module.exports = { isPointlessVersionBump, shouldAutoMerge }
module.exports = { isPointlessVersionBump }

View File

@@ -2,7 +2,7 @@
const core = require('@actions/core')
const github = require('@actions/github')
const { isPointlessVersionBump, shouldAutoMerge } = require('./helpers')
const { isPointlessVersionBump } = require('./helpers')
async function run() {
try {
@@ -27,24 +27,6 @@ async function run() {
state: 'closed',
})
core.debug(`Done.`)
} else if (shouldAutoMerge(pr.body)) {
core.debug(`Adding label to pull request #${pr.number}`)
await client.rest.issues.addLabels({
owner: github.context.repo.owner,
repo: github.context.repo.repo,
issue_number: pr.number,
labels: ['squash when passing'],
})
core.debug(`Creating approving review for pull request #${pr.number}`)
await client.rest.pulls.createReview({
owner: github.context.repo.owner,
repo: github.context.repo.repo,
pull_number: pr.number,
event: 'APPROVE',
})
core.debug(`Done.`)
}
}

358
.github/actions/close-bot/package-lock.json generated vendored Normal file
View File

@@ -0,0 +1,358 @@
{
"name": "close-bot",
"version": "0.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "close-bot",
"version": "0.0.0",
"license": "CC0",
"dependencies": {
"@actions/core": "^1.5.0",
"@actions/github": "^5.0.0"
}
},
"node_modules/@actions/core": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.5.0.tgz",
"integrity": "sha512-eDOLH1Nq9zh+PJlYLqEMkS/jLQxhksPNmUGNBHfa4G+tQmnIhzpctxmchETtVGyBOvXgOVVpYuE40+eS4cUnwQ=="
},
"node_modules/@actions/github": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz",
"integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==",
"dependencies": {
"@actions/http-client": "^1.0.11",
"@octokit/core": "^3.4.0",
"@octokit/plugin-paginate-rest": "^2.13.3",
"@octokit/plugin-rest-endpoint-methods": "^5.1.1"
}
},
"node_modules/@actions/http-client": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz",
"integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==",
"dependencies": {
"tunnel": "0.0.6"
}
},
"node_modules/@octokit/auth-token": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz",
"integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==",
"dependencies": {
"@octokit/types": "^6.0.3"
}
},
"node_modules/@octokit/core": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz",
"integrity": "sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==",
"dependencies": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.4.12",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/endpoint": {
"version": "6.0.11",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz",
"integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==",
"dependencies": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/graphql": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.2.tgz",
"integrity": "sha512-WmsIR1OzOr/3IqfG9JIczI8gMJUMzzyx5j0XXQ4YihHtKlQc+u35VpVoOXhlKAlaBntvry1WpAzPl/a+s3n89Q==",
"dependencies": {
"@octokit/request": "^5.3.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/openapi-types": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz",
"integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw=="
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "2.13.3",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz",
"integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==",
"dependencies": {
"@octokit/types": "^6.11.0"
},
"peerDependencies": {
"@octokit/core": ">=2"
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.1.1.tgz",
"integrity": "sha512-u4zy0rVA8darm/AYsIeWkRalhQR99qPL1D/EXHejV2yaECMdHfxXiTXtba8NMBSajOJe8+C9g+EqMKSvysx0dg==",
"dependencies": {
"@octokit/types": "^6.14.1",
"deprecation": "^2.3.1"
},
"peerDependencies": {
"@octokit/core": ">=3"
}
},
"node_modules/@octokit/request": {
"version": "5.4.15",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz",
"integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==",
"dependencies": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.0.0",
"@octokit/types": "^6.7.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/request-error": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz",
"integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==",
"dependencies": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"node_modules/@octokit/types": {
"version": "6.14.2",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz",
"integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==",
"dependencies": {
"@octokit/openapi-types": "^7.0.0"
}
},
"node_modules/before-after-hook": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz",
"integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw=="
},
"node_modules/deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"node_modules/is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"engines": {
"node": "4.x || >=6.0.0"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
"engines": {
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
}
},
"node_modules/universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
},
"dependencies": {
"@actions/core": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.5.0.tgz",
"integrity": "sha512-eDOLH1Nq9zh+PJlYLqEMkS/jLQxhksPNmUGNBHfa4G+tQmnIhzpctxmchETtVGyBOvXgOVVpYuE40+eS4cUnwQ=="
},
"@actions/github": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz",
"integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==",
"requires": {
"@actions/http-client": "^1.0.11",
"@octokit/core": "^3.4.0",
"@octokit/plugin-paginate-rest": "^2.13.3",
"@octokit/plugin-rest-endpoint-methods": "^5.1.1"
}
},
"@actions/http-client": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz",
"integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==",
"requires": {
"tunnel": "0.0.6"
}
},
"@octokit/auth-token": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz",
"integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==",
"requires": {
"@octokit/types": "^6.0.3"
}
},
"@octokit/core": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.4.0.tgz",
"integrity": "sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==",
"requires": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.4.12",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.11",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz",
"integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==",
"requires": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.2.tgz",
"integrity": "sha512-WmsIR1OzOr/3IqfG9JIczI8gMJUMzzyx5j0XXQ4YihHtKlQc+u35VpVoOXhlKAlaBntvry1WpAzPl/a+s3n89Q==",
"requires": {
"@octokit/request": "^5.3.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-7.0.0.tgz",
"integrity": "sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw=="
},
"@octokit/plugin-paginate-rest": {
"version": "2.13.3",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz",
"integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==",
"requires": {
"@octokit/types": "^6.11.0"
}
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.1.1.tgz",
"integrity": "sha512-u4zy0rVA8darm/AYsIeWkRalhQR99qPL1D/EXHejV2yaECMdHfxXiTXtba8NMBSajOJe8+C9g+EqMKSvysx0dg==",
"requires": {
"@octokit/types": "^6.14.1",
"deprecation": "^2.3.1"
}
},
"@octokit/request": {
"version": "5.4.15",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz",
"integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.0.0",
"@octokit/types": "^6.7.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.1",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz",
"integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==",
"requires": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/types": {
"version": "6.14.2",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.2.tgz",
"integrity": "sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==",
"requires": {
"@octokit/openapi-types": "^7.0.0"
}
},
"before-after-hook": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz",
"integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw=="
},
"deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
},
"node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
},
"universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
}
}

View File

@@ -1,5 +1,5 @@
{
"name": "approve-bot",
"name": "close-bot",
"version": "0.0.0",
"description": "",
"main": "index.js",
@@ -10,7 +10,7 @@
"author": "chris48s",
"license": "CC0",
"dependencies": {
"@actions/core": "^1.4.0",
"@actions/core": "^1.5.0",
"@actions/github": "^5.0.0"
}
}

28
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
version: 2
updates:
# shields.io dependencies
- package-ecosystem: npm
directory: '/'
schedule:
interval: weekly
day: friday
time: '12:00'
open-pull-requests-limit: 99
# badge-maker package dependencies
- package-ecosystem: npm
directory: '/badge-maker'
schedule:
interval: weekly
day: friday
time: '12:00'
open-pull-requests-limit: 99
# close-bot package dependencies
- package-ecosystem: npm
directory: '/.github/actions/close-bot'
schedule:
interval: weekly
day: friday
time: '12:00'
open-pull-requests-limit: 99

View File

@@ -1,16 +1,20 @@
name: Auto approve
on: pull_request
name: Auto close
on: pull_request_target
permissions:
pull-requests: write
jobs:
build:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install action dependencies
run: cd .github/actions/approve-bot && npm ci
run: cd .github/actions/close-bot && npm ci
- uses: ./.github/actions/approve-bot
- uses: ./.github/actions/close-bot
with:
github-token: '${{ secrets.GITHUB_TOKEN }}'

View File

@@ -0,0 +1,20 @@
name: Build Docker Image
on:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build
uses: docker/build-push-action@v2
with:
context: .
push: false
tags: shieldsio/shields:pr-validation

View File

@@ -1,11 +1,11 @@
name: Tag Release
name: Create Release
on:
pull_request:
types: [closed]
jobs:
tag-release:
create-release:
if: |
github.event_name == 'pull_request' &&
github.event.action == 'closed' &&
@@ -24,8 +24,24 @@ jobs:
with:
ref: 'master'
- name: Tag Release
- name: Tag release in GitHub
uses: tvdias/github-tagger@v0.0.2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
tag: server-${{ steps.date.outputs.date }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push snapshot release to DockerHub
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: shieldsio/shields:server-${{ steps.date.outputs.date }}

View File

@@ -0,0 +1,28 @@
name: Build and Publish Next Docker Image
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: shieldsio/shields:next

3
.gitignore vendored
View File

@@ -104,7 +104,8 @@ service-definitions.yml
!/config/local*.template.yml
# Gatsby
/.cache
/frontend/.cache
/frontend/public
/public
# Cypress

View File

@@ -3,4 +3,3 @@ require:
- '@babel/polyfill'
- '@babel/register'
- mocha-yaml-loader
- frontend/mocha-ignore-pngs

View File

@@ -22,6 +22,7 @@
"scripts",
"coverage",
"build",
".github"
".github",
"**/public/"
]
}

View File

@@ -2,10 +2,10 @@ package.json
package-lock.json
/__snapshots__
/.next
/.cache
.cache
/api-docs
/build
/public
public
/coverage
private/*.json
/.nyc_output

View File

@@ -4,6 +4,36 @@ Note: this changelog is for the shields.io server. The changelog for the badge-m
---
## server-2021-09-01
- use multi-stage build to reduce size of docker images [#6938](https://github.com/badges/shields/issues/6938)
- remove disableStrictSsl param from [jenkins] [#6887](https://github.com/badges/shields/issues/6887)
- refactor(GitHubCommitActivity): switch to v4/GraphQL API [#6959](https://github.com/badges/shields/issues/6959)
- feat: add freecodecamp badge [#6958](https://github.com/badges/shields/issues/6958)
- use the right version of NPM in docker build [#6941](https://github.com/badges/shields/issues/6941)
- [TwitchExtensionVersion] New badge [#6900](https://github.com/badges/shields/issues/6900)
- enforce strict SSL checking for [coverity] [#6886](https://github.com/badges/shields/issues/6886)
- Update self hosting docs [#6877](https://github.com/badges/shields/issues/6877)
- Support optionalDependencies in [GithubPackageJson] [#6749](https://github.com/badges/shields/issues/6749)
- Dependency updates
## server-2021-08-01
- use v5 API for [AUR] badges [#6836](https://github.com/badges/shields/issues/6836)
- [Sonar] Fix invalid fetch query to sonarqube >=6.6 [#6636](https://github.com/badges/shields/issues/6636)
- Delegate discord logo to simple-icons, which matches the current branding [#6764](https://github.com/badges/shields/issues/6764)
- Re-apply 'Migrate request to got (part 1)' [#6755](https://github.com/badges/shields/issues/6755)
- Delete old deprecated badges [#6756](https://github.com/badges/shields/issues/6756)
- Replace opn-cli with open-cli [#6747](https://github.com/badges/shields/issues/6747)
- Verify that Node 14 is installed in development [#6748](https://github.com/badges/shields/issues/6748)
- Migrate from CommonJS to ESM [#6651](https://github.com/badges/shields/issues/6651)
- Add Wikiapiary Extension Badge [WikiapiaryInstalls] [#6678](https://github.com/badges/shields/issues/6678)
- deprecate [beerpay] [#6708](https://github.com/badges/shields/issues/6708)
- deprecate [microbadger] [#6709](https://github.com/badges/shields/issues/6709)
- [npmsioscore] Support npm score [#6630](https://github.com/badges/shields/issues/6630)
- Add [Weblate] badges [#6677](https://github.com/badges/shields/issues/6677)
- Dependency updates
## server-2021-07-01
- improve [MavenCentral], [MavenMetadata], and [GradlePluginPortal] [#6628](https://github.com/badges/shields/issues/6628)

View File

@@ -1,4 +1,4 @@
FROM node:14-alpine
FROM node:14-alpine AS Builder
RUN mkdir -p /usr/src/app
RUN mkdir /usr/src/app/private
@@ -8,6 +8,7 @@ COPY package.json package-lock.json /usr/src/app/
# Without the badge-maker package.json and CLI script in place, `npm ci` will fail.
COPY badge-maker /usr/src/app/badge-maker/
RUN npm install -g "npm@>=7"
# We need dev deps to build the front end. We don't need Cypress, though.
RUN NODE_ENV=development CYPRESS_INSTALL_BINARY=0 npm ci
@@ -16,9 +17,14 @@ RUN npm run build
RUN npm prune --production
RUN npm cache clean --force
# Use multi-stage build to reduce size
FROM node:14-alpine
# Run the server using production configs.
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY --from=Builder /usr/src/app /usr/src/app
CMD node server
EXPOSE 80

View File

@@ -73,7 +73,7 @@ This repo hosts:
[Make your own badges!][custom badges]
(Quick example: `https://img.shields.io/badge/left-right-f39f37`)
[custom badges]: http://shields.io/#your-badge
[custom badges]: https://shields.io/#your-badge
### Quickstart
@@ -156,6 +156,21 @@ There is documentation about [hosting your own server][self-hosting].
[self-hosting]: https://github.com/badges/shields/blob/master/doc/self-hosting.md
## Related projects
[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
Status badges are used widely across open-source and private software projects.
Academics have studied the "signal" badges provide about software project
quality. There are many existing libraries for rendering these badges, and
alternatives to the hosted Shields badge service. [awesome-badges][] is a
curated collection of such resources.
[Contributions][contributing to awesome-badges] may be considered there.
(The presence of a project in that collection should not be interpreted as an endorsement nor promotion from the Shields project)
[awesome-badges]: https://github.com/badges/awesome-badges
[contributing to awesome-badges]: https://github.com/badges/awesome-badges/blob/main/CONTRIBUTING.md
## History
b.adge.me was the original website for this service. Heroku back then had a
@@ -207,14 +222,6 @@ Alumni:
- [espadrine](https://github.com/espadrine)
- [olivierlacan](https://github.com/olivierlacan)
## Related projects
- [poser PHP library][poser]
- [pybadges python library][pybadges]
[poser]: https://github.com/badges/poser
[pybadges]: https://github.com/google/pybadges
## License
All assets and code are under the [CC0 LICENSE](LICENSE) and in the public

View File

@@ -402,6 +402,126 @@ exports['The badge generator "flat" template badge generation should match snaps
`
exports['The badge generator "flat" template badge generation should match snapshots: black text when the label color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="90"
height="20"
role="img"
aria-label="cactus: grown"
>
<title>cactus: grown</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1" />
<stop offset="1" stop-opacity=".1" />
</linearGradient>
<clipPath id="r"><rect width="90" height="20" rx="3" fill="#fff" /></clipPath>
<g clip-path="url(#r)">
<rect width="45" height="20" fill="#f3f3f3" />
<rect x="45" width="45" height="20" fill="#000" />
<rect width="90" height="20" fill="url(#s)" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="110"
>
<text
aria-hidden="true"
x="235"
y="150"
fill="#ccc"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
cactus
</text>
<text x="235" y="140" transform="scale(.1)" fill="#333" textLength="350">
cactus
</text>
<text
aria-hidden="true"
x="665"
y="150"
fill="#010101"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
grown
</text>
<text x="665" y="140" transform="scale(.1)" fill="#fff" textLength="350">
grown
</text>
</g>
</svg>
`
exports['The badge generator "flat" template badge generation should match snapshots: black text when the message color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="90"
height="20"
role="img"
aria-label="cactus: grown"
>
<title>cactus: grown</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1" />
<stop offset="1" stop-opacity=".1" />
</linearGradient>
<clipPath id="r"><rect width="90" height="20" rx="3" fill="#fff" /></clipPath>
<g clip-path="url(#r)">
<rect width="45" height="20" fill="#000" />
<rect x="45" width="45" height="20" fill="#e2ffe1" />
<rect width="90" height="20" fill="url(#s)" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="110"
>
<text
aria-hidden="true"
x="235"
y="150"
fill="#010101"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
cactus
</text>
<text x="235" y="140" transform="scale(.1)" fill="#fff" textLength="350">
cactus
</text>
<text
aria-hidden="true"
x="665"
y="150"
fill="#ccc"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
grown
</text>
<text x="665" y="140" transform="scale(.1)" fill="#333" textLength="350">
grown
</text>
</g>
</svg>
`
exports['The badge generator "flat-square" template badge generation should match snapshots: message/label, no logo 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
@@ -609,6 +729,70 @@ exports['The badge generator "flat-square" template badge generation should matc
`
exports['The badge generator "flat-square" template badge generation should match snapshots: black text when the label color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="90"
height="20"
role="img"
aria-label="cactus: grown"
>
<title>cactus: grown</title>
<g shape-rendering="crispEdges">
<rect width="45" height="20" fill="#f3f3f3" />
<rect x="45" width="45" height="20" fill="#000" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="110"
>
<text x="235" y="140" transform="scale(.1)" fill="#333" textLength="350">
cactus
</text>
<text x="665" y="140" transform="scale(.1)" fill="#fff" textLength="350">
grown
</text>
</g>
</svg>
`
exports['The badge generator "flat-square" template badge generation should match snapshots: black text when the message color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="90"
height="20"
role="img"
aria-label="cactus: grown"
>
<title>cactus: grown</title>
<g shape-rendering="crispEdges">
<rect width="45" height="20" fill="#000" />
<rect x="45" width="45" height="20" fill="#e2ffe1" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="110"
>
<text x="235" y="140" transform="scale(.1)" fill="#fff" textLength="350">
cactus
</text>
<text x="665" y="140" transform="scale(.1)" fill="#333" textLength="350">
grown
</text>
</g>
</svg>
`
exports['The badge generator "plastic" template badge generation should match snapshots: message/label, no logo 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
@@ -965,6 +1149,130 @@ exports['The badge generator "plastic" template badge generation should match sn
`
exports['The badge generator "plastic" template badge generation should match snapshots: black text when the label color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="90"
height="18"
role="img"
aria-label="cactus: grown"
>
<title>cactus: grown</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#fff" stop-opacity=".7" />
<stop offset=".1" stop-color="#aaa" stop-opacity=".1" />
<stop offset=".9" stop-color="#000" stop-opacity=".3" />
<stop offset="1" stop-color="#000" stop-opacity=".5" />
</linearGradient>
<clipPath id="r"><rect width="90" height="18" rx="4" fill="#fff" /></clipPath>
<g clip-path="url(#r)">
<rect width="45" height="18" fill="#f3f3f3" />
<rect x="45" width="45" height="18" fill="#000" />
<rect width="90" height="18" fill="url(#s)" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="110"
>
<text
aria-hidden="true"
x="235"
y="140"
fill="#ccc"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
cactus
</text>
<text x="235" y="130" transform="scale(.1)" fill="#333" textLength="350">
cactus
</text>
<text
aria-hidden="true"
x="665"
y="140"
fill="#010101"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
grown
</text>
<text x="665" y="130" transform="scale(.1)" fill="#fff" textLength="350">
grown
</text>
</g>
</svg>
`
exports['The badge generator "plastic" template badge generation should match snapshots: black text when the message color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="90"
height="18"
role="img"
aria-label="cactus: grown"
>
<title>cactus: grown</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#fff" stop-opacity=".7" />
<stop offset=".1" stop-color="#aaa" stop-opacity=".1" />
<stop offset=".9" stop-color="#000" stop-opacity=".3" />
<stop offset="1" stop-color="#000" stop-opacity=".5" />
</linearGradient>
<clipPath id="r"><rect width="90" height="18" rx="4" fill="#fff" /></clipPath>
<g clip-path="url(#r)">
<rect width="45" height="18" fill="#000" />
<rect x="45" width="45" height="18" fill="#e2ffe1" />
<rect width="90" height="18" fill="url(#s)" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="110"
>
<text
aria-hidden="true"
x="235"
y="140"
fill="#010101"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
cactus
</text>
<text x="235" y="130" transform="scale(.1)" fill="#fff" textLength="350">
cactus
</text>
<text
aria-hidden="true"
x="665"
y="140"
fill="#ccc"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
grown
</text>
<text x="665" y="130" transform="scale(.1)" fill="#333" textLength="350">
grown
</text>
</g>
</svg>
`
exports['The badge generator "for-the-badge" template badge generation should match snapshots: message/label, no logo 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
@@ -1218,6 +1526,84 @@ exports['The badge generator "for-the-badge" template badge generation should ma
`
exports['The badge generator "for-the-badge" template badge generation should match snapshots: black text when the label color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="146.75"
height="28"
role="img"
aria-label="CACTUS: GROWN"
>
<title>CACTUS: GROWN</title>
<g shape-rendering="crispEdges">
<rect width="72.5" height="28" fill="#f3f3f3" />
<rect x="72.5" width="74.25" height="28" fill="#000" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="100"
>
<text transform="scale(.1)" x="362.5" y="175" textLength="485" fill="#333">
CACTUS
</text>
<text
transform="scale(.1)"
x="1096.25"
y="175"
textLength="502.5"
fill="#fff"
font-weight="bold"
>
GROWN
</text>
</g>
</svg>
`
exports['The badge generator "for-the-badge" template badge generation should match snapshots: black text when the message color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="146.75"
height="28"
role="img"
aria-label="CACTUS: GROWN"
>
<title>CACTUS: GROWN</title>
<g shape-rendering="crispEdges">
<rect width="72.5" height="28" fill="#000" />
<rect x="72.5" width="74.25" height="28" fill="#e2ffe1" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="100"
>
<text transform="scale(.1)" x="362.5" y="175" textLength="485" fill="#fff">
CACTUS
</text>
<text
transform="scale(.1)"
x="1096.25"
y="175"
textLength="502.5"
fill="#333"
font-weight="bold"
>
GROWN
</text>
</g>
</svg>
`
exports['The badge generator "social" template badge generation should match snapshots: message/label, no logo 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
@@ -1843,102 +2229,3 @@ exports['The badge generator badges with logos should always produce the same ba
</svg>
`
exports['The badge generator text colors should use black text when the label color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="90"
height="20"
role="img"
aria-label="cactus: grown"
>
<title>cactus: grown</title>
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1" />
<stop offset="1" stop-opacity=".1" />
</linearGradient>
<clipPath id="r"><rect width="90" height="20" rx="3" fill="#fff" /></clipPath>
<g clip-path="url(#r)">
<rect width="45" height="20" fill="#f3f3f3" />
<rect x="45" width="45" height="20" fill="#000" />
<rect width="90" height="20" fill="url(#s)" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="110"
>
<text
aria-hidden="true"
x="235"
y="150"
fill="#ccc"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
cactus
</text>
<text x="235" y="140" transform="scale(.1)" fill="#333" textLength="350">
cactus
</text>
<text
aria-hidden="true"
x="665"
y="150"
fill="#010101"
fill-opacity=".3"
transform="scale(.1)"
textLength="350"
>
grown
</text>
<text x="665" y="140" transform="scale(.1)" fill="#fff" textLength="350">
grown
</text>
</g>
</svg>
`
exports['The badge generator text colors should use black text when the message color is light 1'] = `
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="146.75"
height="28"
role="img"
aria-label="CACTUS: GROWN"
>
<title>CACTUS: GROWN</title>
<g shape-rendering="crispEdges">
<rect width="72.5" height="28" fill="#000" />
<rect x="72.5" width="74.25" height="28" fill="#e2ffe1" />
</g>
<g
fill="#fff"
text-anchor="middle"
font-family="Verdana,Geneva,DejaVu Sans,sans-serif"
text-rendering="geometricPrecision"
font-size="100"
>
<text transform="scale(.1)" x="362.5" y="175" textLength="485" fill="#fff">
CACTUS
</text>
<text
transform="scale(.1)"
x="1096.25"
y="175"
textLength="502.5"
fill="#333"
font-weight="bold"
>
GROWN
</text>
</g>
</svg>
`

View File

@@ -4,7 +4,7 @@
"keywords": ["badge", "github", "svg", "status"],
"website": "https://shields.io/",
"repository": "https://github.com/badges/shields",
"logo": "http://shields.io/favicon.png",
"logo": "https://shields.io/favicon.png",
"env": {
"CYPRESS_INSTALL_BINARY": {
"description": "Disable the cypress binary installation",
@@ -31,6 +31,10 @@
"TWITCH_CLIENT_SECRET": {
"description": "Configure the client secret to be used for the Twitch service.",
"required": false
},
"WEBLATE_API_KEY": {
"description": "Configure the API key to be used for the Weblate service.",
"required": false
}
},
"formation": {

View File

@@ -1,5 +1,9 @@
# Changelog
## 4.0.0 [WIP]
- Drop compatibility with Node 10
## 3.3.1
- Improve font measuring in for-the-badge and social styles

View File

@@ -2,23 +2,22 @@
const anafanafo = require('anafanafo')
const { brightness } = require('./color')
const { XmlElement, escapeXml } = require('./xml')
const { XmlElement, ElementList } = require('./xml')
// https://github.com/badges/shields/pull/1132
const FONT_SCALE_UP_FACTOR = 10
const FONT_SCALE_DOWN_VALUE = 'scale(.1)'
const FONT_FAMILY = 'Verdana,Geneva,DejaVu Sans,sans-serif'
const fontFamily = `font-family="${FONT_FAMILY}"`
const socialFontFamily =
'font-family="Helvetica Neue,Helvetica,Arial,sans-serif"'
const brightnessThreshold = 0.69
const WIDTH_FONT = '11px Verdana'
const SOCIAL_FONT_FAMILY = 'Helvetica Neue,Helvetica,Arial,sans-serif'
function capitalize(s) {
return `${s.charAt(0).toUpperCase()}${s.slice(1)}`
}
function colorsForBackground(color) {
const brightnessThreshold = 0.69
if (brightness(color) <= brightnessThreshold) {
return { textColor: '#fff', shadowColor: '#010101' }
} else {
@@ -53,127 +52,61 @@ function shouldWrapBodyWithLink({ links }) {
return hasLeftLink && !hasRightLink
}
function renderAriaAttributes({ accessibleText, links }) {
const { hasLink } = hasLinks({ links })
return hasLink ? '' : `role="img" aria-label="${escapeXml(accessibleText)}"`
}
function renderTitle({ accessibleText, links }) {
const { hasLink } = hasLinks({ links })
return hasLink ? '' : `<title>${escapeXml(accessibleText)}</title>`
}
function renderLogo({
logo,
badgeHeight,
horizPadding,
logoWidth = 14,
logoPadding = 0,
}) {
if (logo) {
const logoHeight = 14
const y = (badgeHeight - logoHeight) / 2
const x = horizPadding
return {
hasLogo: true,
totalLogoWidth: logoWidth + logoPadding,
renderedLogo: `<image x="${x}" y="${y}" width="${logoWidth}" height="${logoHeight}" xlink:href="${escapeXml(
logo
)}"/>`,
}
} else {
return { hasLogo: false, totalLogoWidth: 0, renderedLogo: '' }
}
}
function renderLink({
link,
height,
textLength,
horizPadding,
leftMargin,
renderedText,
}) {
const rectHeight = height
const rectWidth = textLength + horizPadding * 2
const rectX = leftMargin > 1 ? leftMargin + 1 : 0
return `<a target="_blank" xlink:href="${escapeXml(link)}">
<rect width="${rectWidth}" x="${rectX}" height="${rectHeight}" fill="rgba(0,0,0,0)" />
${renderedText}
</a>`
}
function renderText({
leftMargin,
horizPadding = 0,
content,
link,
height,
verticalMargin = 0,
shadow = false,
color,
}) {
if (!content.length) {
return { renderedText: '', width: 0 }
}
const textLength = preferredWidthOf(content, { font: '11px Verdana' })
const escapedContent = escapeXml(content)
const shadowMargin = 150 + verticalMargin
const textMargin = 140 + verticalMargin
const outTextLength = 10 * textLength
const x = 10 * (leftMargin + 0.5 * textLength + horizPadding)
let renderedText = ''
const { textColor, shadowColor } = colorsForBackground(color)
if (shadow) {
renderedText = `<text aria-hidden="true" x="${x}" y="${shadowMargin}" fill="${shadowColor}" fill-opacity=".3" transform="scale(.1)" textLength="${outTextLength}">${escapedContent}</text>`
}
renderedText += `<text x="${x}" y="${textMargin}" transform="scale(.1)" fill="${textColor}" textLength="${outTextLength}">${escapedContent}</text>`
return {
renderedText: link
? renderLink({
link,
height,
textLength,
horizPadding,
leftMargin,
renderedText,
})
: renderedText,
width: textLength,
}
function getLogoElement({ logo, horizPadding, badgeHeight, logoWidth }) {
const logoHeight = 14
if (!logo) return ''
return new XmlElement({
name: 'image',
attrs: {
x: horizPadding,
y: 0.5 * (badgeHeight - logoHeight),
width: logoWidth,
height: logoHeight,
'xlink:href': logo,
},
})
}
function renderBadge(
{ links, leftWidth, rightWidth, height, accessibleText },
main
content
) {
const width = leftWidth + rightWidth
const leftLink = escapeXml(links[0])
const leftLink = links[0]
const { hasLink } = hasLinks({ links })
return `
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="${width}" height="${height}" ${renderAriaAttributes(
{ links, accessibleText }
)}>
const title = hasLink
? ''
: new XmlElement({ name: 'title', content: [accessibleText] })
${renderTitle({ accessibleText, links })}
${
shouldWrapBodyWithLink({ links })
? `<a target="_blank" xlink:href="${leftLink}">${main}</a>`
: main
}
</svg>`
const body = shouldWrapBodyWithLink({ links })
? new XmlElement({
name: 'a',
content,
attrs: { target: '_blank', 'xlink:href': leftLink },
})
: new ElementList({ content })
const svgAttrs = {
xmlns: 'http://www.w3.org/2000/svg',
'xmlns:xlink': 'http://www.w3.org/1999/xlink',
width,
height,
}
if (!hasLink) {
svgAttrs.role = 'img'
svgAttrs['aria-label'] = accessibleText
}
const svg = new XmlElement({
name: 'svg',
content: [title, body],
attrs: svgAttrs,
})
return svg.render()
}
class Badge {
static get fontFamily() {
throw new Error('Not implemented')
}
static get height() {
throw new Error('Not implemented')
}
@@ -197,41 +130,25 @@ class Badge {
labelColor,
}) {
const horizPadding = 5
const { hasLogo, totalLogoWidth, renderedLogo } = renderLogo({
logo,
badgeHeight: this.constructor.height,
horizPadding,
logoWidth,
logoPadding,
})
const hasLogo = !!logo
const totalLogoWidth = logoWidth + logoPadding
const accessibleText = createAccessibleText({ label, message })
const hasLabel = label.length || labelColor
if (labelColor == null) {
labelColor = '#555'
}
const [leftLink, rightLink] = links
labelColor = hasLabel || hasLogo ? labelColor : color
labelColor = escapeXml(labelColor)
color = escapeXml(color)
const labelMargin = totalLogoWidth + 1
const { renderedText: renderedLabel, width: labelWidth } = renderText({
leftMargin: labelMargin,
horizPadding,
content: label,
link: !shouldWrapBodyWithLink({ links }) && leftLink,
height: this.constructor.height,
verticalMargin: this.constructor.verticalMargin,
shadow: this.constructor.shadow,
color: labelColor,
})
const labelWidth = label.length
? preferredWidthOf(label, { font: WIDTH_FONT })
: 0
const leftWidth = hasLabel
? labelWidth + 2 * horizPadding + totalLogoWidth
: 0
const messageWidth = preferredWidthOf(message, { font: WIDTH_FONT })
let messageMargin = leftWidth - (message.length ? 1 : 0)
if (!hasLabel) {
if (hasLogo) {
@@ -240,18 +157,6 @@ class Badge {
messageMargin = messageMargin + 1
}
}
const { renderedText: renderedMessage, width: messageWidth } = renderText({
leftMargin: messageMargin,
horizPadding,
content: message,
link: rightLink,
height: this.constructor.height,
verticalMargin: this.constructor.verticalMargin,
shadow: this.constructor.shadow,
color,
})
let rightWidth = messageWidth + 2 * horizPadding
if (hasLogo && !hasLabel) {
rightWidth += totalLogoWidth + horizPadding - 1
@@ -259,9 +164,12 @@ class Badge {
const width = leftWidth + rightWidth
const accessibleText = createAccessibleText({ label, message })
this.horizPadding = horizPadding
this.labelMargin = labelMargin
this.messageMargin = messageMargin
this.links = links
this.labelWidth = labelWidth
this.messageWidth = messageWidth
this.leftWidth = leftWidth
this.rightWidth = rightWidth
this.width = width
@@ -270,25 +178,174 @@ class Badge {
this.label = label
this.message = message
this.accessibleText = accessibleText
this.renderedLogo = renderedLogo
this.renderedLabel = renderedLabel
this.renderedMessage = renderedMessage
this.logoElement = getLogoElement({
logo,
horizPadding,
badgeHeight: this.constructor.height,
logoWidth,
})
this.foregroundGroupElement = this.getForegroundGroupElement()
}
static render(params) {
return new this(params).render()
}
getTextElement({ leftMargin, content, link, color, textWidth, linkWidth }) {
if (!content.length) return ''
const { textColor, shadowColor } = colorsForBackground(color)
const x =
FONT_SCALE_UP_FACTOR * (leftMargin + 0.5 * textWidth + this.horizPadding)
const text = new XmlElement({
name: 'text',
content: [content],
attrs: {
x,
y: 140 + this.constructor.verticalMargin,
transform: FONT_SCALE_DOWN_VALUE,
fill: textColor,
textLength: FONT_SCALE_UP_FACTOR * textWidth,
},
})
const shadowText = new XmlElement({
name: 'text',
content: [content],
attrs: {
'aria-hidden': 'true',
x,
y: 150 + this.constructor.verticalMargin,
fill: shadowColor,
'fill-opacity': '.3',
transform: FONT_SCALE_DOWN_VALUE,
textLength: FONT_SCALE_UP_FACTOR * textWidth,
},
})
const shadow = this.constructor.shadow ? shadowText : ''
if (!link) {
return new ElementList({ content: [shadow, text] })
}
const rect = new XmlElement({
name: 'rect',
attrs: {
width: linkWidth,
x: leftMargin > 1 ? leftMargin + 1 : 0,
height: this.constructor.height,
fill: 'rgba(0,0,0,0)',
},
})
return new XmlElement({
name: 'a',
content: [rect, shadow, text],
attrs: { target: '_blank', 'xlink:href': link },
})
}
getLabelElement() {
const leftLink = this.links[0]
return this.getTextElement({
leftMargin: this.labelMargin,
content: this.label,
link: !shouldWrapBodyWithLink({ links: this.links })
? leftLink
: undefined,
color: this.labelColor,
textWidth: this.labelWidth,
linkWidth: this.leftWidth,
})
}
getMessageElement() {
const rightLink = this.links[1]
return this.getTextElement({
leftMargin: this.messageMargin,
content: this.message,
link: rightLink,
color: this.color,
textWidth: this.messageWidth,
linkWidth: this.rightWidth,
})
}
getClipPathElement(rx) {
return new XmlElement({
name: 'clipPath',
content: [
new XmlElement({
name: 'rect',
attrs: {
width: this.width,
height: this.constructor.height,
rx,
fill: '#fff',
},
}),
],
attrs: { id: 'r' },
})
}
getBackgroundGroupElement({ withGradient, attrs }) {
const leftRect = new XmlElement({
name: 'rect',
attrs: {
width: this.leftWidth,
height: this.constructor.height,
fill: this.labelColor,
},
})
const rightRect = new XmlElement({
name: 'rect',
attrs: {
x: this.leftWidth,
width: this.rightWidth,
height: this.constructor.height,
fill: this.color,
},
})
const gradient = new XmlElement({
name: 'rect',
attrs: {
width: this.width,
height: this.constructor.height,
fill: 'url(#s)',
},
})
const content = withGradient
? [leftRect, rightRect, gradient]
: [leftRect, rightRect]
return new XmlElement({ name: 'g', content, attrs })
}
getForegroundGroupElement() {
return new XmlElement({
name: 'g',
content: [
this.logoElement,
this.getLabelElement(),
this.getMessageElement(),
],
attrs: {
fill: '#fff',
'text-anchor': 'middle',
'font-family': FONT_FAMILY,
'text-rendering': 'geometricPrecision',
'font-size': 110,
},
})
}
render() {
throw new Error('Not implemented')
}
}
class Plastic extends Badge {
static get fontFamily() {
return fontFamily
}
static get height() {
return 18
}
@@ -302,6 +359,36 @@ class Plastic extends Badge {
}
render() {
const gradient = new XmlElement({
name: 'linearGradient',
content: [
new XmlElement({
name: 'stop',
attrs: { offset: 0, 'stop-color': '#fff', 'stop-opacity': '.7' },
}),
new XmlElement({
name: 'stop',
attrs: { offset: '.1', 'stop-color': '#aaa', 'stop-opacity': '.1' },
}),
new XmlElement({
name: 'stop',
attrs: { offset: '.9', 'stop-color': '#000', 'stop-opacity': '.3' },
}),
new XmlElement({
name: 'stop',
attrs: { offset: 1, 'stop-color': '#000', 'stop-opacity': '.5' },
}),
],
attrs: { id: 's', x2: 0, y2: '100%' },
})
const clipPath = this.getClipPathElement(4)
const backgroundGroup = this.getBackgroundGroupElement({
withGradient: true,
attrs: { 'clip-path': 'url(#r)' },
})
return renderBadge(
{
links: this.links,
@@ -310,38 +397,12 @@ class Plastic extends Badge {
accessibleText: this.accessibleText,
height: this.constructor.height,
},
`
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#fff" stop-opacity=".7"/>
<stop offset=".1" stop-color="#aaa" stop-opacity=".1"/>
<stop offset=".9" stop-color="#000" stop-opacity=".3"/>
<stop offset="1" stop-color="#000" stop-opacity=".5"/>
</linearGradient>
<clipPath id="r">
<rect width="${this.width}" height="${this.constructor.height}" rx="4" fill="#fff"/>
</clipPath>
<g clip-path="url(#r)">
<rect width="${this.leftWidth}" height="${this.constructor.height}" fill="${this.labelColor}"/>
<rect x="${this.leftWidth}" width="${this.rightWidth}" height="${this.constructor.height}" fill="${this.color}"/>
<rect width="${this.width}" height="${this.constructor.height}" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" ${this.constructor.fontFamily} text-rendering="geometricPrecision" font-size="110">
${this.renderedLogo}
${this.renderedLabel}
${this.renderedMessage}
</g>`
[gradient, clipPath, backgroundGroup, this.foregroundGroupElement]
)
}
}
class Flat extends Badge {
static get fontFamily() {
return fontFamily
}
static get height() {
return 20
}
@@ -355,6 +416,28 @@ class Flat extends Badge {
}
render() {
const gradient = new XmlElement({
name: 'linearGradient',
content: [
new XmlElement({
name: 'stop',
attrs: { offset: 0, 'stop-color': '#bbb', 'stop-opacity': '.1' },
}),
new XmlElement({
name: 'stop',
attrs: { offset: 1, 'stop-opacity': '.1' },
}),
],
attrs: { id: 's', x2: 0, y2: '100%' },
})
const clipPath = this.getClipPathElement(3)
const backgroundGroup = this.getBackgroundGroupElement({
withGradient: true,
attrs: { 'clip-path': 'url(#r)' },
})
return renderBadge(
{
links: this.links,
@@ -363,36 +446,12 @@ class Flat extends Badge {
accessibleText: this.accessibleText,
height: this.constructor.height,
},
`
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<clipPath id="r">
<rect width="${this.width}" height="${this.constructor.height}" rx="3" fill="#fff"/>
</clipPath>
<g clip-path="url(#r)">
<rect width="${this.leftWidth}" height="${this.constructor.height}" fill="${this.labelColor}"/>
<rect x="${this.leftWidth}" width="${this.rightWidth}" height="${this.constructor.height}" fill="${this.color}"/>
<rect width="${this.width}" height="${this.constructor.height}" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" ${this.constructor.fontFamily} text-rendering="geometricPrecision" font-size="110">
${this.renderedLogo}
${this.renderedLabel}
${this.renderedMessage}
</g>`
[gradient, clipPath, backgroundGroup, this.foregroundGroupElement]
)
}
}
class FlatSquare extends Badge {
static get fontFamily() {
return fontFamily
}
static get height() {
return 20
}
@@ -406,6 +465,11 @@ class FlatSquare extends Badge {
}
render() {
const backgroundGroup = this.getBackgroundGroupElement({
withGradient: false,
attrs: { 'shape-rendering': 'crispEdges' },
})
return renderBadge(
{
links: this.links,
@@ -414,17 +478,7 @@ class FlatSquare extends Badge {
accessibleText: this.accessibleText,
height: this.constructor.height,
},
`
<g shape-rendering="crispEdges">
<rect width="${this.leftWidth}" height="${this.constructor.height}" fill="${this.labelColor}"/>
<rect x="${this.leftWidth}" width="${this.rightWidth}" height="${this.constructor.height}" fill="${this.color}"/>
</g>
<g fill="#fff" text-anchor="middle" ${this.constructor.fontFamily} text-rendering="geometricPrecision" font-size="110">
${this.renderedLogo}
${this.renderedLabel}
${this.renderedMessage}
</g>`
[backgroundGroup, this.foregroundGroupElement]
)
}
}
@@ -448,13 +502,7 @@ function social({
const labelHorizPadding = 5
const messageHorizPadding = 4
const horizGutter = 6
const { totalLogoWidth, renderedLogo } = renderLogo({
logo,
badgeHeight: externalHeight,
horizPadding: labelHorizPadding,
logoWidth,
logoPadding,
})
const totalLogoWidth = logoWidth + logoPadding
const hasMessage = message.length
const font = 'bold 11px Helvetica'
@@ -463,75 +511,235 @@ function social({
const labelRectWidth = labelTextWidth + totalLogoWidth + 2 * labelHorizPadding
const messageRectWidth = messageTextWidth + 2 * messageHorizPadding
let [leftLink, rightLink] = links
leftLink = escapeXml(leftLink)
rightLink = escapeXml(rightLink)
const [leftLink, rightLink] = links
const { hasLeftLink, hasRightLink, hasLink } = hasLinks({ links })
const accessibleText = createAccessibleText({ label, message })
function renderMessageBubble() {
function getMessageBubble() {
if (!hasMessage) return ''
const messageBubbleMainX = labelRectWidth + horizGutter + 0.5
const messageBubbleNotchX = labelRectWidth + horizGutter
return `
<rect x="${messageBubbleMainX}" y="0.5" width="${messageRectWidth}" height="${internalHeight}" rx="2" fill="#fafafa"/>
<rect x="${messageBubbleNotchX}" y="7.5" width="0.5" height="5" stroke="#fafafa"/>
<path d="M${messageBubbleMainX} 6.5 l-3 3v1 l3 3" stroke="d5d5d5" fill="#fafafa"/>
`
const content = [
new XmlElement({
name: 'rect',
attrs: {
x: messageBubbleMainX,
y: 0.5,
width: messageRectWidth,
height: internalHeight,
rx: 2,
fill: '#fafafa',
},
}),
new XmlElement({
name: 'rect',
attrs: {
x: messageBubbleNotchX,
y: 7.5,
width: 0.5,
height: 5,
stroke: '#fafafa',
},
}),
new XmlElement({
name: 'path',
attrs: {
d: `M${messageBubbleMainX} 6.5 l-3 3v1 l3 3`,
stroke: 'd5d5d5',
fill: '#fafafa',
},
}),
]
return new ElementList({ content })
}
function renderLabelText() {
function getLabelText() {
const labelTextX =
10 * (totalLogoWidth + labelTextWidth / 2 + labelHorizPadding)
const labelTextLength = 10 * labelTextWidth
const escapedLabel = escapeXml(label)
FONT_SCALE_UP_FACTOR *
(totalLogoWidth + labelTextWidth / 2 + labelHorizPadding)
const labelTextLength = FONT_SCALE_UP_FACTOR * labelTextWidth
const shouldWrapWithLink = hasLeftLink && !shouldWrapBodyWithLink({ links })
const rect = `<rect id="llink" stroke="#d5d5d5" fill="url(#a)" x=".5" y=".5" width="${labelRectWidth}" height="${internalHeight}" rx="2" />`
const shadow = `<text aria-hidden="true" x="${labelTextX}" y="150" fill="#fff" transform="scale(.1)" textLength="${labelTextLength}">${escapedLabel}</text>`
const text = `<text x="${labelTextX}" y="140" transform="scale(.1)" textLength="${labelTextLength}">${escapedLabel}</text>`
const rect = new XmlElement({
name: 'rect',
attrs: {
id: 'llink',
stroke: '#d5d5d5',
fill: 'url(#a)',
x: '.5',
y: '.5',
width: labelRectWidth,
height: internalHeight,
rx: 2,
},
})
const shadow = new XmlElement({
name: 'text',
content: [label],
attrs: {
'aria-hidden': 'true',
x: labelTextX,
y: 150,
fill: '#fff',
transform: FONT_SCALE_DOWN_VALUE,
textLength: labelTextLength,
},
})
const text = new XmlElement({
name: 'text',
content: [label],
attrs: {
x: labelTextX,
y: 140,
transform: FONT_SCALE_DOWN_VALUE,
textLength: labelTextLength,
},
})
return shouldWrapWithLink
? `
<a target="_blank" xlink:href="${leftLink}">
${shadow}
${text}
${rect}
</a>
`
: `
${rect}
${shadow}
${text}
`
? new XmlElement({
name: 'a',
content: [shadow, text, rect],
attrs: { target: '_blank', 'xlink:href': leftLink },
})
: new ElementList({ content: [rect, shadow, text] })
}
function renderMessageText() {
const messageTextX =
10 * (labelRectWidth + horizGutter + messageRectWidth / 2)
const messageTextLength = 10 * messageTextWidth
const escapedMessage = escapeXml(message)
function getMessageText() {
if (!hasMessage) return ''
const rect = `<rect width="${messageRectWidth + 1}" x="${
labelRectWidth + horizGutter
}" height="${internalHeight + 1}" fill="rgba(0,0,0,0)" />`
const shadow = `<text aria-hidden="true" x="${messageTextX}" y="150" fill="#fff" transform="scale(.1)" textLength="${messageTextLength}">${escapedMessage}</text>`
const text = `<text id="rlink" x="${messageTextX}" y="140" transform="scale(.1)" textLength="${messageTextLength}">${escapedMessage}</text>`
const messageTextX =
FONT_SCALE_UP_FACTOR *
(labelRectWidth + horizGutter + messageRectWidth / 2)
const messageTextLength = FONT_SCALE_UP_FACTOR * messageTextWidth
const rect = new XmlElement({
name: 'rect',
attrs: {
width: messageRectWidth + 1,
x: labelRectWidth + horizGutter,
height: internalHeight + 1,
fill: 'rgba(0,0,0,0)',
},
})
const shadow = new XmlElement({
name: 'text',
content: [message],
attrs: {
'aria-hidden': 'true',
x: messageTextX,
y: 150,
fill: '#fff',
transform: FONT_SCALE_DOWN_VALUE,
textLength: messageTextLength,
},
})
const text = new XmlElement({
name: 'text',
content: [message],
attrs: {
id: 'rlink',
x: messageTextX,
y: 140,
transform: FONT_SCALE_DOWN_VALUE,
textLength: messageTextLength,
},
})
return hasRightLink
? `
<a target="_blank" xlink:href="${rightLink}">
${rect}
${shadow}
${text}
</a>
`
: `
${shadow}
${text}
`
? new XmlElement({
name: 'a',
content: [rect, shadow, text],
attrs: { target: '_blank', 'xlink:href': rightLink },
})
: new ElementList({ content: [shadow, text] })
}
const style = new XmlElement({
name: 'style',
content: [
'a:hover #llink{fill:url(#b);stroke:#ccc}a:hover #rlink{fill:#4183c4}',
],
})
const gradients = new ElementList({
content: [
new XmlElement({
name: 'linearGradient',
content: [
new XmlElement({
name: 'stop',
attrs: {
offset: 0,
'stop-color': '#fcfcfc',
'stop-opacity': 0,
},
}),
new XmlElement({
name: 'stop',
attrs: { offset: 1, 'stop-opacity': '.1' },
}),
],
attrs: { id: 'a', x2: 0, y2: '100%' },
}),
new XmlElement({
name: 'linearGradient',
content: [
new XmlElement({
name: 'stop',
attrs: { offset: 0, 'stop-color': '#ccc', 'stop-opacity': '.1' },
}),
new XmlElement({
name: 'stop',
attrs: { offset: 1, 'stop-opacity': '.1' },
}),
],
attrs: { id: 'b', x2: 0, y2: '100%' },
}),
],
})
const labelRect = new XmlElement({
name: 'rect',
attrs: {
stroke: 'none',
fill: '#fcfcfc',
x: 0.5,
y: 0.5,
width: labelRectWidth,
height: internalHeight,
rx: 2,
},
})
const messageBubble = getMessageBubble()
const labelText = getLabelText()
const messageText = getMessageText()
const backgroundGroup = new XmlElement({
name: 'g',
content: [labelRect, messageBubble],
attrs: { stroke: '#d5d5d5' },
})
const foregroundGroup = new XmlElement({
name: 'g',
content: [labelText, messageText],
attrs: {
'aria-hidden': `${!hasLink}`,
fill: '#333',
'text-anchor': 'middle',
'font-family': SOCIAL_FONT_FAMILY,
'text-rendering': 'geometricPrecision',
'font-weight': 700,
'font-size': '110px',
'line-height': '14px',
},
})
const logoElement = getLogoElement({
logo,
horizPadding: labelHorizPadding,
badgeHeight: externalHeight,
logoWidth,
})
return renderBadge(
{
links,
@@ -540,26 +748,7 @@ function social({
accessibleText,
height: externalHeight,
},
`
<style>a:hover #llink{fill:url(#b);stroke:#ccc}a:hover #rlink{fill:#4183c4}</style>
<linearGradient id="a" x2="0" y2="100%">
<stop offset="0" stop-color="#fcfcfc" stop-opacity="0"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<linearGradient id="b" x2="0" y2="100%">
<stop offset="0" stop-color="#ccc" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<g stroke="#d5d5d5">
<rect stroke="none" fill="#fcfcfc" x="0.5" y="0.5" width="${labelRectWidth}" height="${internalHeight}" rx="2"/>
${hasMessage ? renderMessageBubble() : ''}
</g>
${renderedLogo}
<g aria-hidden="${!hasLink}" fill="#333" text-anchor="middle" ${socialFontFamily} text-rendering="geometricPrecision" font-weight="700" font-size="110px" line-height="14px">
${renderLabelText()}
${hasMessage ? renderMessageText() : ''}
</g>
`
[style, gradients, backgroundGroup, logoElement, foregroundGroup]
)
}
@@ -574,7 +763,6 @@ function forTheBadge({
}) {
const FONT_SIZE = 10
const BADGE_HEIGHT = 28
const LOGO_HEIGHT = 14
const TEXT_MARGIN = 12
const LOGO_MARGIN = 9
const LOGO_TEXT_GUTTER = 6
@@ -641,15 +829,11 @@ function forTheBadge({
}
}
const logoElement = new XmlElement({
name: 'image',
attrs: {
x: logoMinX,
y: 0.5 * (BADGE_HEIGHT - LOGO_HEIGHT),
width: logoWidth,
height: LOGO_HEIGHT,
'xlink:href': logo,
},
const logoElement = getLogoElement({
logo,
horizPadding: logoMinX,
badgeHeight: BADGE_HEIGHT,
logoWidth,
})
function getLabelElement() {
@@ -772,7 +956,7 @@ function forTheBadge({
const foregroundGroup = new XmlElement({
name: 'g',
content: [
logo ? logoElement : '',
logoElement,
hasLabel ? getLabelElement() : '',
getMessageElement(),
],
@@ -794,7 +978,7 @@ function forTheBadge({
accessibleText: createAccessibleText({ label, message }),
height: BADGE_HEIGHT,
},
[backgroundGroup.render(), foregroundGroup.render()].join('')
[backgroundGroup, foregroundGroup]
)
}

View File

@@ -210,6 +210,28 @@ describe('The badge generator', function () {
links: ['https://shields.io/', 'https://www.google.co.uk/'],
})
})
it('should match snapshots: black text when the label color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'flat',
color: '#000',
labelColor: '#f3f3f3',
})
})
it('should match snapshots: black text when the message color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'flat',
color: '#e2ffe1',
labelColor: '#000',
})
})
})
describe('"flat-square" template badge generation', function () {
@@ -280,6 +302,28 @@ describe('The badge generator', function () {
links: ['https://shields.io/', 'https://www.google.co.uk/'],
})
})
it('should match snapshots: black text when the label color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'flat-square',
color: '#000',
labelColor: '#f3f3f3',
})
})
it('should match snapshots: black text when the message color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'flat-square',
color: '#e2ffe1',
labelColor: '#000',
})
})
})
describe('"plastic" template badge generation', function () {
@@ -350,6 +394,28 @@ describe('The badge generator', function () {
links: ['https://shields.io/', 'https://www.google.co.uk/'],
})
})
it('should match snapshots: black text when the label color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'plastic',
color: '#000',
labelColor: '#f3f3f3',
})
})
it('should match snapshots: black text when the message color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'plastic',
color: '#e2ffe1',
labelColor: '#000',
})
})
})
describe('"for-the-badge" template badge generation', function () {
@@ -447,6 +513,28 @@ describe('The badge generator', function () {
links: ['https://shields.io/', 'https://www.google.co.uk/'],
})
})
it('should match snapshots: black text when the label color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'for-the-badge',
color: '#000',
labelColor: '#f3f3f3',
})
})
it('should match snapshots: black text when the message color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'for-the-badge',
color: '#e2ffe1',
labelColor: '#000',
})
})
})
describe('"social" template badge generation', function () {
@@ -556,28 +644,4 @@ describe('The badge generator', function () {
})
})
})
describe('text colors', function () {
it('should use black text when the label color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'flat',
color: '#000',
labelColor: '#f3f3f3',
})
})
it('should use black text when the message color is light', function () {
expectBadgeToMatchSnapshot({
label: 'cactus',
message: 'grown',
format: 'svg',
style: 'for-the-badge',
color: '#e2ffe1',
labelColor: '#000',
})
})
})
})

View File

@@ -58,7 +58,7 @@ class XmlElement {
if (this.content.length > 0) {
const content = this.content
.map(function (el) {
if (el instanceof XmlElement) {
if (typeof el.render === 'function') {
return el.render()
} else {
return escapeXml(el)
@@ -73,4 +73,24 @@ class XmlElement {
}
}
module.exports = { escapeXml, stripXmlWhitespace, XmlElement }
/**
* Convenience class. Sometimes it is useful to return an object that behaves
* like an XmlElement but renders multiple XML tags (not wrapped in a <g>).
*/
class ElementList {
constructor({ content = [] }) {
this.content = content
}
render() {
return this.content.reduce(
(acc, el) =>
typeof el.render === 'function'
? acc + el.render()
: acc + escapeXml(el),
''
)
}
}
module.exports = { escapeXml, stripXmlWhitespace, XmlElement, ElementList }

View File

@@ -21,7 +21,7 @@
"bugs": {
"url": "https://github.com/badges/shields/issues"
},
"homepage": "http://shields.io",
"homepage": "https://shields.io",
"bin": {
"badge": "lib/badge-cli.js"
},

View File

@@ -40,6 +40,8 @@ public:
debug:
enabled: 'GITHUB_DEBUG_ENABLED'
intervalSeconds: 'GITHUB_DEBUG_INTERVAL_SECONDS'
gitlab:
authorizedOrigins: 'GITLAB_ORIGINS'
jenkins:
authorizedOrigins: 'JENKINS_ORIGINS'
jira:
@@ -52,6 +54,8 @@ public:
authorizedOrigins: 'SONAR_ORIGINS'
teamcity:
authorizedOrigins: 'TEAMCITY_ORIGINS'
weblate:
authorizedOrigins: 'WEBLATE_ORIGINS'
trace: 'TRACE_SERVICES'
cacheHeaders:
@@ -75,6 +79,7 @@ private:
gh_client_id: 'GH_CLIENT_ID'
gh_client_secret: 'GH_CLIENT_SECRET'
gh_token: 'GH_TOKEN'
gitlab_token: 'GITLAB_TOKEN'
jenkins_user: 'JENKINS_USER'
jenkins_pass: 'JENKINS_PASS'
jira_user: 'JIRA_USER'
@@ -95,4 +100,5 @@ private:
wheelmap_token: 'WHEELMAP_TOKEN'
influx_username: 'INFLUX_USERNAME'
influx_password: 'INFLUX_PASSWORD'
weblate_api_key: 'WEBLATE_API_KEY'
youtube_api_key: 'YOUTUBE_API_KEY'

View File

@@ -22,6 +22,8 @@ public:
debug:
enabled: false
intervalSeconds: 200
weblate:
authorizedOrigins: 'https://hosted.weblate.org'
trace: false
cacheHeaders:

View File

@@ -3,6 +3,7 @@ private:
discord_bot_token: ...
gh_client_id: ...
gh_client_secret: ...
gitlab_token: ...
redis_url: ...
sentry_dsn: ...
shields_secret: ...
@@ -10,5 +11,6 @@ private:
sl_insight_apiToken: ...
twitch_client_id: ...
twitch_client_secret: ...
weblate_api_key: ...
wheelmap_token: ...
youtube_api_key: ...

View File

@@ -5,7 +5,9 @@ private:
# you can also set these values through environment variables, which may be
# preferable for self hosting.
gh_token: '...'
gitlab_token: '...'
twitch_client_id: '...'
twitch_client_secret: '...'
weblate_api_key: '...'
wheelmap_token: '...'
youtube_api_key: '...'

View File

@@ -1,8 +1,7 @@
'use strict'
const { URL } = require('url')
const queryString = require('query-string')
const { compile } = require('path-to-regexp')
// 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 = '',
@@ -147,13 +146,13 @@ function dynamicBadgeUrl({
function rasterRedirectUrl({ rasterUrl }, badgeUrl) {
// Ensure we're always using the `rasterUrl` by using just the path from
// the request URL.
const { pathname, search } = new URL(badgeUrl, 'https://bogus.test')
const result = new URL(pathname, rasterUrl)
const { pathname, search } = new url.URL(badgeUrl, 'https://bogus.test')
const result = new url.URL(pathname, rasterUrl)
result.search = search
return result
}
module.exports = {
export {
badgeUrlFromPath,
badgeUrlFromPattern,
encodeField,

View File

@@ -1,14 +1,12 @@
'use strict'
const { test, given } = require('sazerac')
const {
import { test, given } from 'sazerac'
import {
badgeUrlFromPath,
badgeUrlFromPattern,
encodeField,
staticBadgeUrl,
queryStringStaticBadgeUrl,
dynamicBadgeUrl,
} = require('./make-badge-url')
} from './make-badge-url.js'
describe('Badge URL generation functions', function () {
test(badgeUrlFromPath, () => {

View File

@@ -1,5 +1,3 @@
'use strict'
// Escapes `t` using the format specified in
// <https://github.com/espadrine/gh-badges/issues/12#issuecomment-31518129>
function escapeFormat(t) {
@@ -13,6 +11,4 @@ function escapeFormat(t) {
)
}
module.exports = {
escapeFormat,
}
export { escapeFormat }

View File

@@ -1,7 +1,5 @@
'use strict'
const { test, given } = require('sazerac')
const { escapeFormat } = require('./path-helpers')
import { test, given } from 'sazerac'
import { escapeFormat } from './path-helpers.js'
describe('Badge URL helper functions', function () {
test(escapeFormat, () => {

View File

@@ -1,7 +1,5 @@
'use strict'
const { URL } = require('url')
const { InvalidParameter } = require('./errors')
import { URL } from 'url'
import { InvalidParameter } from './errors.js'
class AuthHelper {
constructor(
@@ -207,4 +205,4 @@ class AuthHelper {
}
}
module.exports = { AuthHelper }
export { AuthHelper }

View File

@@ -1,9 +1,7 @@
'use strict'
const { expect } = require('chai')
const { test, given, forCases } = require('sazerac')
const { AuthHelper } = require('./auth-helper')
const { InvalidParameter } = require('./errors')
import { expect } from 'chai'
import { test, given, forCases } from 'sazerac'
import { AuthHelper } from './auth-helper.js'
import { InvalidParameter } from './errors.js'
describe('AuthHelper', function () {
describe('constructor checks', function () {

View File

@@ -2,12 +2,10 @@
* @module
*/
'use strict'
const { print } = require('graphql/language/printer')
const BaseService = require('./base')
const { InvalidResponse, ShieldsRuntimeError } = require('./errors')
const { parseJson } = require('./json')
import { print } from 'graphql/language/printer.js'
import BaseService from './base.js'
import { InvalidResponse, ShieldsRuntimeError } from './errors.js'
import { parseJson } from './json.js'
function defaultTransformErrors(errors) {
return new InvalidResponse({ prettyMessage: errors[0].message })
@@ -93,4 +91,4 @@ class BaseGraphqlService extends BaseService {
}
}
module.exports = BaseGraphqlService
export default BaseGraphqlService

View File

@@ -1,11 +1,9 @@
'use strict'
const Joi = require('joi')
const { expect } = require('chai')
const gql = require('graphql-tag')
const sinon = require('sinon')
const BaseGraphqlService = require('./base-graphql')
const { InvalidResponse } = require('./errors')
import Joi from 'joi'
import { expect } from 'chai'
import gql from 'graphql-tag'
import sinon from 'sinon'
import BaseGraphqlService from './base-graphql.js'
import { InvalidResponse } from './errors.js'
const dummySchema = Joi.object({
requiredString: Joi.string().required(),

View File

@@ -2,10 +2,8 @@
* @module
*/
'use strict'
const BaseService = require('./base')
const { parseJson } = require('./json')
import BaseService from './base.js'
import { parseJson } from './json.js'
/**
* Services which query a JSON endpoint should extend BaseJsonService
@@ -54,4 +52,4 @@ class BaseJsonService extends BaseService {
}
}
module.exports = BaseJsonService
export default BaseJsonService

View File

@@ -1,9 +1,7 @@
'use strict'
const Joi = require('joi')
const { expect } = require('chai')
const sinon = require('sinon')
const BaseJsonService = require('./base-json')
import Joi from 'joi'
import { expect } from 'chai'
import sinon from 'sinon'
import BaseJsonService from './base-json.js'
const dummySchema = Joi.object({
requiredString: Joi.string().required(),

View File

@@ -1,17 +1,15 @@
'use strict'
const makeBadge = require('../../badge-maker/lib/make-badge')
const BaseService = require('./base')
const {
import makeBadge from '../../badge-maker/lib/make-badge.js'
import BaseService from './base.js'
import {
serverHasBeenUpSinceResourceCached,
setCacheHeadersForStaticResource,
} = require('./cache-headers')
const { makeSend } = require('./legacy-result-sender')
const { MetricHelper } = require('./metric-helper')
const coalesceBadge = require('./coalesce-badge')
const { prepareRoute, namedParamsForMatch } = require('./route')
} from './cache-headers.js'
import { makeSend } from './legacy-result-sender.js'
import { MetricHelper } from './metric-helper.js'
import coalesceBadge from './coalesce-badge.js'
import { prepareRoute, namedParamsForMatch } from './route.js'
module.exports = class BaseStaticService extends BaseService {
export default class BaseStaticService extends BaseService {
static register({ camp, metricInstance }, serviceConfig) {
const { regex, captureNames } = prepareRoute(this.route)

View File

@@ -2,13 +2,11 @@
* @module
*/
'use strict'
// See available emoji at http://emoji.muan.co/
const emojic = require('emojic')
const BaseService = require('./base')
const trace = require('./trace')
const { InvalidResponse } = require('./errors')
import emojic from 'emojic'
import BaseService from './base.js'
import trace from './trace.js'
import { InvalidResponse } from './errors.js'
const defaultValueMatcher = />([^<>]+)<\/text><\/g>/
const leadingWhitespace = /(?:\r\n\s*|\r\s*|\n\s*)/g
@@ -90,4 +88,4 @@ class BaseSvgScrapingService extends BaseService {
}
}
module.exports = BaseSvgScrapingService
export default BaseSvgScrapingService

View File

@@ -1,10 +1,8 @@
'use strict'
const { expect } = require('chai')
const sinon = require('sinon')
const Joi = require('joi')
const makeBadge = require('../../badge-maker/lib/make-badge')
const BaseSvgScrapingService = require('./base-svg-scraping')
import { expect } from 'chai'
import sinon from 'sinon'
import Joi from 'joi'
import makeBadge from '../../badge-maker/lib/make-badge.js'
import BaseSvgScrapingService from './base-svg-scraping.js'
const schema = Joi.object({
message: Joi.string().required(),

View File

@@ -2,14 +2,12 @@
* @module
*/
'use strict'
// See available emoji at http://emoji.muan.co/
const emojic = require('emojic')
const fastXmlParser = require('fast-xml-parser')
const BaseService = require('./base')
const trace = require('./trace')
const { InvalidResponse } = require('./errors')
import emojic from 'emojic'
import fastXmlParser from 'fast-xml-parser'
import BaseService from './base.js'
import trace from './trace.js'
import { InvalidResponse } from './errors.js'
/**
* Services which query a XML endpoint should extend BaseXmlService
@@ -68,4 +66,4 @@ class BaseXmlService extends BaseService {
}
}
module.exports = BaseXmlService
export default BaseXmlService

View File

@@ -1,9 +1,7 @@
'use strict'
const Joi = require('joi')
const { expect } = require('chai')
const sinon = require('sinon')
const BaseXmlService = require('./base-xml')
import Joi from 'joi'
import { expect } from 'chai'
import sinon from 'sinon'
import BaseXmlService from './base-xml.js'
const dummySchema = Joi.object({
requiredString: Joi.string().required(),

View File

@@ -2,13 +2,11 @@
* @module
*/
'use strict'
const emojic = require('emojic')
const yaml = require('js-yaml')
const BaseService = require('./base')
const { InvalidResponse } = require('./errors')
const trace = require('./trace')
import emojic from 'emojic'
import yaml from 'js-yaml'
import BaseService from './base.js'
import { InvalidResponse } from './errors.js'
import trace from './trace.js'
/**
* Services which query a YAML endpoint should extend BaseYamlService
@@ -72,4 +70,4 @@ class BaseYamlService extends BaseService {
}
}
module.exports = BaseYamlService
export default BaseYamlService

View File

@@ -1,9 +1,7 @@
'use strict'
const Joi = require('joi')
const { expect } = require('chai')
const sinon = require('sinon')
const BaseYamlService = require('./base-yaml')
import Joi from 'joi'
import { expect } from 'chai'
import sinon from 'sinon'
import BaseYamlService from './base-yaml.js'
const dummySchema = Joi.object({
requiredString: Joi.string().required(),

View File

@@ -1,36 +1,36 @@
'use strict'
/**
* @module
*/
// See available emoji at http://emoji.muan.co/
const emojic = require('emojic')
const Joi = require('joi')
const log = require('../server/log')
const { AuthHelper } = require('./auth-helper')
const { MetricHelper, MetricNames } = require('./metric-helper')
const { assertValidCategory } = require('./categories')
const checkErrorResponse = require('./check-error-response')
const coalesceBadge = require('./coalesce-badge')
const {
import emojic from 'emojic'
import Joi from 'joi'
import log from '../server/log.js'
import { AuthHelper } from './auth-helper.js'
import { MetricHelper, MetricNames } from './metric-helper.js'
import { assertValidCategory } from './categories.js'
import checkErrorResponse from './check-error-response.js'
import coalesceBadge from './coalesce-badge.js'
import {
NotFound,
InvalidResponse,
Inaccessible,
ImproperlyConfigured,
InvalidParameter,
Deprecated,
} = require('./errors')
const { validateExample, transformExample } = require('./examples')
const {
} from './errors.js'
import { validateExample, transformExample } from './examples.js'
import { fetchFactory } from './got.js'
import {
makeFullUrl,
assertValidRoute,
prepareRoute,
namedParamsForMatch,
getQueryParamNames,
} = require('./route')
const { assertValidServiceDefinition } = require('./service-definitions')
const trace = require('./trace')
const validate = require('./validate')
} from './route.js'
import { assertValidServiceDefinition } from './service-definitions.js'
import trace from './trace.js'
import validate from './validate.js'
const defaultBadgeDataSchema = Joi.object({
label: Joi.string(),
@@ -432,6 +432,8 @@ class BaseService {
ServiceClass: this,
})
const fetcher = fetchFactory(fetchLimitBytes)
camp.route(
regex,
handleRequest(cacheHeaderConfig, {
@@ -442,7 +444,7 @@ class BaseService {
const namedParams = namedParamsForMatch(captureNames, match, this)
const serviceData = await this.invoke(
{
sendAndCacheRequest: request.asPromise,
sendAndCacheRequest: fetcher,
sendAndCacheRequestWithCallbacks: request,
githubApiProvider,
metricHelper,
@@ -565,4 +567,4 @@ class BaseService {
* An HTML string that is included in the badge popup.
*/
module.exports = BaseService
export default BaseService

View File

@@ -1,23 +1,22 @@
'use strict'
const Joi = require('joi')
const chai = require('chai')
const { expect } = chai
const sinon = require('sinon')
const prometheus = require('prom-client')
const PrometheusMetrics = require('../server/prometheus-metrics')
const trace = require('./trace')
const {
import Joi from 'joi'
import chai from 'chai'
import sinon from 'sinon'
import prometheus from 'prom-client'
import chaiAsPromised from 'chai-as-promised'
import PrometheusMetrics from '../server/prometheus-metrics.js'
import trace from './trace.js'
import {
NotFound,
Inaccessible,
InvalidResponse,
InvalidParameter,
Deprecated,
} = require('./errors')
const BaseService = require('./base')
const { MetricHelper, MetricNames } = require('./metric-helper')
require('../register-chai-plugins.spec')
chai.use(require('chai-as-promised'))
} from './errors.js'
import BaseService from './base.js'
import { MetricHelper, MetricNames } from './metric-helper.js'
import '../register-chai-plugins.spec.js'
const { expect } = chai
chai.use(chaiAsPromised)
const queryParamSchema = Joi.object({
queryParamA: Joi.string(),

View File

@@ -1,8 +1,6 @@
'use strict'
const assert = require('assert')
const Joi = require('joi')
const coalesce = require('./coalesce')
import assert from 'assert'
import Joi from 'joi'
import coalesce from './coalesce.js'
const serverStartTimeGMTString = new Date().toGMTString()
const serverStartTimestamp = Date.now()
@@ -104,7 +102,7 @@ function serverHasBeenUpSinceResourceCached(req) {
)
}
module.exports = {
export {
coalesceCacheLength,
setCacheHeaders,
setHeadersForCacheLength,

View File

@@ -1,19 +1,16 @@
'use strict'
const { test, given } = require('sazerac')
const chai = require('chai')
const { expect } = require('chai')
const sinon = require('sinon')
const httpMocks = require('node-mocks-http')
const {
import { test, given } from 'sazerac'
import chai, { expect } from 'chai'
import sinon from 'sinon'
import httpMocks from 'node-mocks-http'
import chaiDatetime from 'chai-datetime'
import {
coalesceCacheLength,
setHeadersForCacheLength,
setCacheHeaders,
setCacheHeadersForStaticResource,
serverHasBeenUpSinceResourceCached,
} = require('./cache-headers')
chai.use(require('chai-datetime'))
} from './cache-headers.js'
chai.use(chaiDatetime)
describe('Cache header functions', function () {
let res

View File

@@ -1,7 +1,5 @@
'use strict'
const Joi = require('joi')
const categories = require('../../services/categories')
import Joi from 'joi'
import categories from '../../services/categories.js'
const isRealCategory = Joi.equal(...categories.map(({ id }) => id)).required()
@@ -13,7 +11,4 @@ function assertValidCategory(category, message = undefined) {
Joi.assert(category, isValidCategory, message)
}
module.exports = {
isValidCategory,
assertValidCategory,
}
export { isValidCategory, assertValidCategory }

View File

@@ -1,12 +1,10 @@
'use strict'
const { NotFound, InvalidResponse, Inaccessible } = require('./errors')
import { NotFound, InvalidResponse, Inaccessible } from './errors.js'
const defaultErrorMessages = {
404: 'not found',
}
module.exports = function checkErrorResponse(errorMessages = {}) {
export default function checkErrorResponse(errorMessages = {}) {
return async function ({ buffer, res }) {
let error
errorMessages = { ...defaultErrorMessages, ...errorMessages }

View File

@@ -1,8 +1,6 @@
'use strict'
const { expect } = require('chai')
const { NotFound, InvalidResponse, Inaccessible } = require('./errors')
const checkErrorResponse = require('./check-error-response')
import { expect } from 'chai'
import { NotFound, InvalidResponse, Inaccessible } from './errors.js'
import checkErrorResponse from './check-error-response.js'
describe('async error handler', function () {
const buffer = Buffer.from('some stuff')

View File

@@ -1,12 +1,10 @@
'use strict'
const {
import {
decodeDataUrlFromQueryParam,
prepareNamedLogo,
} = require('../../lib/logos')
const { svg2base64 } = require('../../lib/svg-helpers')
const coalesce = require('./coalesce')
const toArray = require('./to-array')
} from '../../lib/logos.js'
import { svg2base64 } from '../../lib/svg-helpers.js'
import coalesce from './coalesce.js'
import toArray from './to-array.js'
// Translate modern badge data to the legacy schema understood by the badge
// maker. Allow the user to override the label, color, logo, etc. through the
@@ -34,7 +32,7 @@ const toArray = require('./to-array')
// 3. In the case of the `social` style only, the last precedence is the
// service's default logo. The `logoColor` can be overridden by the query
// string.
module.exports = function coalesceBadge(
export default function coalesceBadge(
overrides,
serviceData,
// These two parameters were kept separate to make tests clearer.

View File

@@ -1,8 +1,6 @@
'use strict'
const { expect } = require('chai')
const { getShieldsIcon, getSimpleIcon } = require('../../lib/logos')
const coalesceBadge = require('./coalesce-badge')
import { expect } from 'chai'
import { getShieldsIcon, getSimpleIcon } from '../../lib/logos.js'
import coalesceBadge from './coalesce-badge.js'
describe('coalesceBadge', function () {
describe('Label', function () {

View File

@@ -1,5 +1,3 @@
'use strict'
module.exports = function coalesce(...candidates) {
export default function coalesce(...candidates) {
return candidates.find(c => c !== undefined && c !== null)
}

View File

@@ -1,7 +1,5 @@
'use strict'
const { test, given } = require('sazerac')
const coalesce = require('./coalesce')
import { test, given } from 'sazerac'
import coalesce from './coalesce.js'
// Sticking with our one-line spread implementation, and defaulting to
// `undefined` instead of `null`, though h/t to

View File

@@ -1,11 +1,9 @@
'use strict'
const Joi = require('joi')
const camelcase = require('camelcase')
const BaseService = require('./base')
const { isValidCategory } = require('./categories')
const { Deprecated } = require('./errors')
const { isValidRoute } = require('./route')
import Joi from 'joi'
import camelcase from 'camelcase'
import BaseService from './base.js'
import { isValidCategory } from './categories.js'
import { Deprecated } from './errors.js'
import { isValidRoute } from './route.js'
const attrSchema = Joi.object({
route: isValidRoute,
@@ -44,4 +42,4 @@ function deprecatedService(attrs) {
}
}
module.exports = deprecatedService
export default deprecatedService

View File

@@ -1,7 +1,5 @@
'use strict'
const { expect } = require('chai')
const deprecatedService = require('./deprecated-service')
import { expect } from 'chai'
import deprecatedService from './deprecated-service.js'
describe('DeprecatedService', function () {
const route = {

View File

@@ -4,8 +4,6 @@
* @module
*/
'use strict'
/**
* Base error class
*
@@ -210,7 +208,7 @@ class Deprecated extends ShieldsRuntimeError {
* badge when we catch and render the exception (Optional)
*/
module.exports = {
export {
ShieldsRuntimeError,
NotFound,
ImproperlyConfigured,

View File

@@ -1,10 +1,8 @@
'use strict'
const Joi = require('joi')
const { pathToRegexp, compile } = require('path-to-regexp')
const categories = require('../../services/categories')
const coalesceBadge = require('./coalesce-badge')
const { makeFullUrl } = require('./route')
import Joi from 'joi'
import { pathToRegexp, compile } from 'path-to-regexp'
import categories from '../../services/categories.js'
import coalesceBadge from './coalesce-badge.js'
import { makeFullUrl } from './route.js'
const optionalObjectOfKeyValues = Joi.object().pattern(
/./,
@@ -155,7 +153,4 @@ function transformExample(inExample, index, ServiceClass) {
}
}
module.exports = {
validateExample,
transformExample,
}
export { validateExample, transformExample }

View File

@@ -1,8 +1,6 @@
'use strict'
const { expect } = require('chai')
const { test, given } = require('sazerac')
const { validateExample, transformExample } = require('./examples')
import { expect } from 'chai'
import { test, given } from 'sazerac'
import { validateExample, transformExample } from './examples.js'
describe('validateExample function', function () {
it('passes valid examples', function () {

96
core/base-service/got.js Normal file
View File

@@ -0,0 +1,96 @@
import got from 'got'
import { Inaccessible, InvalidResponse } from './errors.js'
const userAgent = 'Shields.io/2003a'
function requestOptions2GotOptions(options) {
const requestOptions = Object.assign({}, options)
const gotOptions = {}
const interchangableOptions = ['body', 'form', 'headers', 'method', 'url']
interchangableOptions.forEach(function (opt) {
if (opt in requestOptions) {
gotOptions[opt] = requestOptions[opt]
delete requestOptions[opt]
}
})
if ('qs' in requestOptions) {
gotOptions.searchParams = requestOptions.qs
delete requestOptions.qs
}
if ('gzip' in requestOptions) {
gotOptions.decompress = requestOptions.gzip
delete requestOptions.gzip
}
if ('strictSSL' in requestOptions) {
gotOptions.https = {
rejectUnauthorized: requestOptions.strictSSL,
}
delete requestOptions.strictSSL
}
if ('auth' in requestOptions) {
gotOptions.username = requestOptions.auth.user
gotOptions.password = requestOptions.auth.pass
delete requestOptions.auth
}
if (Object.keys(requestOptions).length > 0) {
throw new Error(`Found unrecognised options ${Object.keys(requestOptions)}`)
}
return gotOptions
}
async function sendRequest(gotWrapper, url, options) {
const gotOptions = requestOptions2GotOptions(options)
gotOptions.throwHttpErrors = false
gotOptions.retry = 0
gotOptions.headers = gotOptions.headers || {}
gotOptions.headers['User-Agent'] = userAgent
try {
const resp = await gotWrapper(url, gotOptions)
return { res: resp, buffer: resp.body }
} catch (err) {
if (err instanceof got.CancelError) {
throw new InvalidResponse({
underlyingError: new Error('Maximum response size exceeded'),
})
}
throw new Inaccessible({ underlyingError: err })
}
}
function fetchFactory(fetchLimitBytes) {
const gotWithLimit = got.extend({
handlers: [
(options, next) => {
const promiseOrStream = next(options)
promiseOrStream.on('downloadProgress', progress => {
if (
progress.transferred > fetchLimitBytes &&
// just accept the file if we've already finished downloading
// the entire file before we went over the limit
progress.percent !== 1
) {
/*
TODO: we should be able to pass cancel() a message
https://github.com/sindresorhus/got/blob/main/documentation/advanced-creation.md#examples
but by the time we catch it, err.message is just "Promise was canceled"
*/
promiseOrStream.cancel('Maximum response size exceeded')
}
})
return promiseOrStream
},
],
})
return sendRequest.bind(sendRequest, gotWithLimit)
}
export { requestOptions2GotOptions, fetchFactory }

View File

@@ -0,0 +1,102 @@
import { expect } from 'chai'
import nock from 'nock'
import { requestOptions2GotOptions, fetchFactory } from './got.js'
import { Inaccessible, InvalidResponse } from './errors.js'
describe('requestOptions2GotOptions function', function () {
it('translates valid options', function () {
expect(
requestOptions2GotOptions({
body: 'body',
form: 'form',
headers: 'headers',
method: 'method',
url: 'url',
qs: 'qs',
gzip: 'gzip',
strictSSL: 'strictSSL',
auth: { user: 'user', pass: 'pass' },
})
).to.deep.equal({
body: 'body',
form: 'form',
headers: 'headers',
method: 'method',
url: 'url',
searchParams: 'qs',
decompress: 'gzip',
https: { rejectUnauthorized: 'strictSSL' },
username: 'user',
password: 'pass',
})
})
it('throws if unrecognised options are found', function () {
expect(() =>
requestOptions2GotOptions({ body: 'body', foobar: 'foobar' })
).to.throw(Error, 'Found unrecognised options foobar')
})
})
describe('got wrapper', function () {
it('should not throw an error if the response <= fetchLimitBytes', async function () {
nock('https://www.google.com')
.get('/foo/bar')
.once()
.reply(200, 'x'.repeat(100))
const sendRequest = fetchFactory(100)
const { res } = await sendRequest('https://www.google.com/foo/bar')
expect(res.statusCode).to.equal(200)
})
it('should throw an InvalidResponse error if the response is > fetchLimitBytes', async function () {
nock('https://www.google.com')
.get('/foo/bar')
.once()
.reply(200, 'x'.repeat(101))
const sendRequest = fetchFactory(100)
return expect(
sendRequest('https://www.google.com/foo/bar')
).to.be.rejectedWith(InvalidResponse, 'Maximum response size exceeded')
})
it('should throw an Inaccessible error if the request throws a (non-HTTP) error', async function () {
nock('https://www.google.com').get('/foo/bar').replyWithError('oh no')
const sendRequest = fetchFactory(1024)
return expect(
sendRequest('https://www.google.com/foo/bar')
).to.be.rejectedWith(Inaccessible, 'oh no')
})
it('should throw an Inaccessible error if the host can not be accessed', async function () {
this.timeout(5000)
nock.disableNetConnect()
const sendRequest = fetchFactory(1024)
return expect(
sendRequest('https://www.google.com/foo/bar')
).to.be.rejectedWith(
Inaccessible,
'Nock: Disallowed net connect for "www.google.com:443/foo/bar"'
)
})
it('should pass a custom user agent header', async function () {
nock('https://www.google.com', {
reqheaders: {
'user-agent': function (agent) {
return agent.startsWith('Shields.io')
},
},
})
.get('/foo/bar')
.once()
.reply(200)
const sendRequest = fetchFactory(1024)
await sendRequest('https://www.google.com/foo/bar')
})
afterEach(function () {
nock.cleanAll()
nock.enableNetConnect()
})
})

View File

@@ -1,4 +1,3 @@
'use strict'
/**
* @module
*/
@@ -49,4 +48,4 @@ function mergeQueries(...queries) {
return merged
}
module.exports = { mergeQueries }
export { mergeQueries }

View File

@@ -1,11 +1,9 @@
'use strict'
import { expect } from 'chai'
import gql from 'graphql-tag'
import { print } from 'graphql/language/printer.js'
import { mergeQueries } from './graphql.js'
const { expect } = require('chai')
const gql = require('graphql-tag')
const { print } = require('graphql/language/printer')
const { mergeQueries } = require('./graphql')
require('../register-chai-plugins.spec')
import '../register-chai-plugins.spec.js'
describe('mergeQueries function', function () {
it('merges valid gql queries', function () {

View File

@@ -1,23 +1,21 @@
'use strict'
const BaseService = require('./base')
const BaseJsonService = require('./base-json')
const BaseGraphqlService = require('./base-graphql')
const BaseStaticService = require('./base-static')
const BaseSvgScrapingService = require('./base-svg-scraping')
const BaseXmlService = require('./base-xml')
const BaseYamlService = require('./base-yaml')
const deprecatedService = require('./deprecated-service')
const redirector = require('./redirector')
const {
import BaseService from './base.js'
import BaseJsonService from './base-json.js'
import BaseGraphqlService from './base-graphql.js'
import BaseStaticService from './base-static.js'
import BaseSvgScrapingService from './base-svg-scraping.js'
import BaseXmlService from './base-xml.js'
import BaseYamlService from './base-yaml.js'
import deprecatedService from './deprecated-service.js'
import redirector from './redirector.js'
import {
NotFound,
InvalidResponse,
Inaccessible,
InvalidParameter,
Deprecated,
} = require('./errors')
} from './errors.js'
module.exports = {
export {
BaseService,
BaseJsonService,
BaseGraphqlService,

View File

@@ -1,9 +1,7 @@
'use strict'
// See available emoji at http://emoji.muan.co/
const emojic = require('emojic')
const { InvalidResponse } = require('./errors')
const trace = require('./trace')
import emojic from 'emojic'
import { InvalidResponse } from './errors.js'
import trace from './trace.js'
function parseJson(buffer) {
const logTrace = (...args) => trace.logTrace('fetch', ...args)
@@ -23,6 +21,4 @@ function parseJson(buffer) {
return json
}
module.exports = {
parseJson,
}
export { parseJson }

View File

@@ -1,15 +1,9 @@
'use strict'
const request = require('request')
const makeBadge = require('../../badge-maker/lib/make-badge')
const { setCacheHeaders } = require('./cache-headers')
const {
Inaccessible,
InvalidResponse,
ShieldsRuntimeError,
} = require('./errors')
const { makeSend } = require('./legacy-result-sender')
const coalesceBadge = require('./coalesce-badge')
import request from 'request'
import makeBadge from '../../badge-maker/lib/make-badge.js'
import { setCacheHeaders } from './cache-headers.js'
import { Inaccessible, InvalidResponse, ShieldsRuntimeError } from './errors.js'
import { makeSend } from './legacy-result-sender.js'
import coalesceBadge from './coalesce-badge.js'
const userAgent = 'Shields.io/2003a'
@@ -206,8 +200,4 @@ function handleRequest(cacheHeaderConfig, handlerOptions) {
}
}
module.exports = {
handleRequest,
promisify,
userAgent,
}
export { handleRequest, promisify, userAgent }

View File

@@ -1,12 +1,10 @@
'use strict'
const { expect } = require('chai')
const nock = require('nock')
const portfinder = require('portfinder')
const Camp = require('@shields_io/camp')
const got = require('../got-test-client')
const coalesceBadge = require('./coalesce-badge')
const { handleRequest } = require('./legacy-request-handler')
import { expect } from 'chai'
import nock from 'nock'
import portfinder from 'portfinder'
import Camp from '@shields_io/camp'
import got from '../got-test-client.js'
import coalesceBadge from './coalesce-badge.js'
import { handleRequest } from './legacy-request-handler.js'
async function performTwoRequests(baseUrl, first, second) {
expect((await got(`${baseUrl}${first}`)).statusCode).to.equal(200)

View File

@@ -1,6 +1,4 @@
'use strict'
const stream = require('stream')
import stream from 'stream'
function streamFromString(str) {
const newStream = new stream.Readable()
@@ -32,6 +30,4 @@ function makeSend(format, askres, end) {
}
}
module.exports = {
makeSend,
}
export { makeSend }

View File

@@ -1,3 +1 @@
'use strict'
module.exports = []
export default []

View File

@@ -1,4 +1,2 @@
/* eslint-disable */
'use strict'
class BadService {}
class BadService {} // lgtm [js/unused-local-variable]

View File

@@ -1,3 +1 @@
'use strict'
module.exports = {}
export {}

View File

@@ -1,3 +1 @@
'use strict'
module.exports = undefined
export default undefined

View File

@@ -1,9 +1,10 @@
'use strict'
const BaseJsonService = require('../base-json')
import BaseJsonService from '../base-json.js'
class BadBaseService {}
class GoodService extends BaseJsonService {}
class GoodService extends BaseJsonService {
static category = 'build'
static route = { base: 'it/is', pattern: 'good' }
}
class BadService extends BadBaseService {}
module.exports = [GoodService, BadService]
export default [GoodService, BadService]

View File

@@ -1,5 +1,3 @@
'use strict'
class BadService {}
module.exports = BadService
export default BadService

View File

@@ -1,6 +1,4 @@
'use strict'
class BadBaseService {}
class BadService extends BadBaseService {}
module.exports = BadService
export default BadService

View File

@@ -1,6 +1,4 @@
'use strict'
const BaseJsonService = require('../base-json')
import BaseJsonService from '../base-json.js'
class GoodServiceOne extends BaseJsonService {
static category = 'build'
@@ -11,4 +9,4 @@ class GoodServiceTwo extends BaseJsonService {
static route = { base: 'good', pattern: 'two' }
}
module.exports = [GoodServiceOne, GoodServiceTwo]
export default [GoodServiceOne, GoodServiceTwo]

View File

@@ -1,10 +1,8 @@
'use strict'
const BaseJsonService = require('../base-json')
import BaseJsonService from '../base-json.js'
class GoodService extends BaseJsonService {
static category = 'build'
static route = { base: 'it/is', pattern: 'good' }
}
module.exports = GoodService
export default GoodService

View File

@@ -1,6 +1,4 @@
'use strict'
const BaseJsonService = require('../base-json')
import BaseJsonService from '../base-json.js'
class GoodServiceOne extends BaseJsonService {
static category = 'build'
@@ -11,4 +9,4 @@ class GoodServiceTwo extends BaseJsonService {
static route = { base: 'good', pattern: 'two' }
}
module.exports = { GoodServiceOne, GoodServiceTwo }
export { GoodServiceOne, GoodServiceTwo }

View File

@@ -1,13 +1,17 @@
'use strict'
import path from 'path'
import { fileURLToPath } from 'url'
import glob from 'glob'
import countBy from 'lodash.countby'
import categories from '../../services/categories.js'
import BaseService from './base.js'
import { assertValidServiceDefinitionExport } from './service-definitions.js'
const path = require('path')
const glob = require('glob')
const countBy = require('lodash.countby')
const categories = require('../../services/categories')
const BaseService = require('./base')
const { assertValidServiceDefinitionExport } = require('./service-definitions')
const serviceDir = path.join(__dirname, '..', '..', 'services')
const serviceDir = path.join(
path.dirname(fileURLToPath(import.meta.url)),
'..',
'..',
'services'
)
class InvalidService extends Error {
constructor(message) {
@@ -16,54 +20,38 @@ class InvalidService extends Error {
}
}
function loadServiceClasses(servicePaths) {
async function loadServiceClasses(servicePaths) {
if (!servicePaths) {
servicePaths = glob.sync(path.join(serviceDir, '**', '*.service.js'))
}
let serviceClasses = []
servicePaths.forEach(servicePath => {
const module = require(servicePath)
const serviceClasses = []
for await (const servicePath of servicePaths) {
const currentServiceClasses = Object.values(
await import(`file://${servicePath}`)
).flatMap(element =>
typeof element === 'object' ? Object.values(element) : element
)
const theseServiceClasses = []
if (
!module ||
(module.constructor === Array && module.length === 0) ||
(module.constructor === Object && Object.keys(module).length === 0)
) {
if (currentServiceClasses.length === 0) {
throw new InvalidService(
`Expected ${servicePath} to export a service or a collection of services`
)
} else if (module.prototype instanceof BaseService) {
theseServiceClasses.push(module)
} else if (module.constructor === Array || module.constructor === Object) {
for (const key in module) {
const serviceClass = module[key]
if (serviceClass.prototype instanceof BaseService) {
theseServiceClasses.push(serviceClass)
} else {
throw new InvalidService(
`Expected ${servicePath} to export a service or a collection of services; one of them was ${serviceClass}`
)
}
}
} else {
throw new InvalidService(
`Expected ${servicePath} to export a service or a collection of services; got ${module}`
)
}
// Decorate each service class with the directory that contains it.
theseServiceClasses.forEach(serviceClass => {
serviceClass.serviceFamily = servicePath
.replace(serviceDir, '')
.split(path.sep)[1]
currentServiceClasses.forEach(serviceClass => {
if (serviceClass && serviceClass.prototype instanceof BaseService) {
// Decorate each service class with the directory that contains it.
serviceClass.serviceFamily = servicePath
.replace(serviceDir, '')
.split(path.sep)[1]
serviceClass.validateDefinition()
return serviceClasses.push(serviceClass)
}
throw new InvalidService(
`Expected ${servicePath} to export a service or a collection of services; one of them was ${serviceClass}`
)
})
serviceClasses = serviceClasses.concat(theseServiceClasses)
})
serviceClasses.forEach(ServiceClass => ServiceClass.validateDefinition())
}
return serviceClasses
}
@@ -80,8 +68,8 @@ function assertNamesUnique(names, { message }) {
}
}
function checkNames() {
const services = loadServiceClasses()
async function checkNames() {
const services = await loadServiceClasses()
assertNamesUnique(
services.map(({ name }) => name),
{
@@ -90,8 +78,8 @@ function checkNames() {
)
}
function collectDefinitions() {
const services = loadServiceClasses()
async function collectDefinitions() {
const services = (await loadServiceClasses())
// flatMap.
.map(ServiceClass => ServiceClass.getDefinition())
.reduce((accum, these) => accum.concat(these), [])
@@ -103,13 +91,15 @@ function collectDefinitions() {
return result
}
function loadTesters() {
return glob
.sync(path.join(serviceDir, '**', '*.tester.js'))
.map(path => require(path))
async function loadTesters() {
return Promise.all(
glob
.sync(path.join(serviceDir, '**', '*.tester.js'))
.map(async path => await import(`file://${path}`))
)
}
module.exports = {
export {
InvalidService,
loadServiceClasses,
checkNames,

View File

@@ -1,59 +1,67 @@
'use strict'
import path from 'path'
import { fileURLToPath } from 'url'
import chai from 'chai'
import chaiAsPromised from 'chai-as-promised'
import { loadServiceClasses, InvalidService } from './loader.js'
chai.use(chaiAsPromised)
const { expect } = require('chai')
const { loadServiceClasses, InvalidService } = require('./loader')
const { expect } = chai
const fixturesDir = path.join(
path.dirname(fileURLToPath(import.meta.url)),
'loader-test-fixtures'
)
describe('loadServiceClasses function', function () {
it('throws if module exports empty', function () {
expect(() =>
loadServiceClasses(['./loader-test-fixtures/empty-undefined.fixture.js'])
).to.throw(InvalidService)
expect(() =>
loadServiceClasses(['./loader-test-fixtures/empty-array.fixture.js'])
).to.throw()
expect(() =>
loadServiceClasses(['./loader-test-fixtures/empty-object.fixture.js'])
).to.throw(InvalidService)
expect(() =>
loadServiceClasses(['./loader-test-fixtures/empty-no-export.fixture.js'])
).to.throw(InvalidService)
expect(() =>
it('throws if module exports empty', async function () {
await expect(
loadServiceClasses([path.join(fixturesDir, 'empty-undefined.fixture.js')])
).to.be.rejectedWith(InvalidService)
await expect(
loadServiceClasses([path.join(fixturesDir, 'empty-array.fixture.js')])
).to.be.rejectedWith(InvalidService)
await expect(
loadServiceClasses([path.join(fixturesDir, 'empty-object.fixture.js')])
).to.be.rejectedWith(InvalidService)
await expect(
loadServiceClasses([path.join(fixturesDir, 'empty-no-export.fixture.js')])
).to.be.rejectedWith(InvalidService)
await expect(
loadServiceClasses([
'./loader-test-fixtures/valid-array.fixture.js',
'./loader-test-fixtures/valid-class.fixture.js',
'./loader-test-fixtures/empty-array.fixture.js',
path.join(fixturesDir, 'valid-array.fixture.js'),
path.join(fixturesDir, 'valid-class.fixture.js'),
path.join(fixturesDir, 'empty-array.fixture.js'),
])
).to.throw(InvalidService)
).to.be.rejectedWith(InvalidService)
})
it('throws if module exports invalid', function () {
expect(() =>
loadServiceClasses(['./loader-test-fixtures/invalid-no-base.fixture.js'])
).to.throw(InvalidService)
expect(() =>
it('throws if module exports invalid', async function () {
await expect(
loadServiceClasses([path.join(fixturesDir, 'invalid-no-base.fixture.js')])
).to.be.rejectedWith(InvalidService)
await expect(
loadServiceClasses([
'./loader-test-fixtures/invalid-wrong-base.fixture.js',
path.join(fixturesDir, 'invalid-wrong-base.fixture.js'),
])
).to.throw(InvalidService)
expect(() =>
loadServiceClasses(['./loader-test-fixtures/invalid-mixed.fixture.js'])
).to.throw(InvalidService)
expect(() =>
).to.be.rejectedWith(InvalidService)
await expect(
loadServiceClasses([path.join(fixturesDir, 'invalid-mixed.fixture.js')])
).to.be.rejectedWith(InvalidService)
await expect(
loadServiceClasses([
'./loader-test-fixtures/valid-array.fixture.js',
'./loader-test-fixtures/valid-class.fixture.js',
'./loader-test-fixtures/invalid-no-base.fixture.js',
path.join(fixturesDir, 'valid-array.fixture.js'),
path.join(fixturesDir, 'valid-class.fixture.js'),
path.join(fixturesDir, 'invalid-no-base.fixture.js'),
])
).to.throw(InvalidService)
).to.be.rejectedWith(InvalidService)
})
it('registers services if module exports valid service classes', function () {
expect(
it('registers services if module exports valid service classes', async function () {
await expect(
loadServiceClasses([
'./loader-test-fixtures/valid-array.fixture.js',
'./loader-test-fixtures/valid-object.fixture.js',
'./loader-test-fixtures/valid-class.fixture.js',
path.join(fixturesDir, 'valid-array.fixture.js'),
path.join(fixturesDir, 'valid-object.fixture.js'),
path.join(fixturesDir, 'valid-class.fixture.js'),
])
).to.have.length(5)
).to.eventually.have.length(5)
})
})

View File

@@ -1,6 +1,4 @@
'use strict'
const { performance } = require('perf_hooks')
import { performance } from 'perf_hooks'
class MetricHelper {
constructor({ metricInstance }, { category, serviceFamily, name }) {
@@ -59,4 +57,4 @@ const MetricNames = Object.freeze({
SERVICE_RESPONSE_SIZE: Symbol('service-response-size'),
})
module.exports = { MetricHelper, MetricNames }
export { MetricHelper, MetricNames }

View File

@@ -1,18 +1,16 @@
'use strict'
const camelcase = require('camelcase')
const emojic = require('emojic')
const Joi = require('joi')
const queryString = require('query-string')
const BaseService = require('./base')
const {
import camelcase from 'camelcase'
import emojic from 'emojic'
import Joi from 'joi'
import queryString from 'query-string'
import BaseService from './base.js'
import {
serverHasBeenUpSinceResourceCached,
setCacheHeadersForStaticResource,
} = require('./cache-headers')
const { isValidCategory } = require('./categories')
const { MetricHelper } = require('./metric-helper')
const { isValidRoute, prepareRoute, namedParamsForMatch } = require('./route')
const trace = require('./trace')
} from './cache-headers.js'
import { isValidCategory } from './categories.js'
import { MetricHelper } from './metric-helper.js'
import { isValidRoute, prepareRoute, namedParamsForMatch } from './route.js'
import trace from './trace.js'
const attrSchema = Joi.object({
name: Joi.string().min(3),
@@ -32,7 +30,7 @@ const attrSchema = Joi.object({
overrideTransformedQueryParams: Joi.bool().optional(),
}).required()
module.exports = function redirector(attrs) {
export default function redirector(attrs) {
const {
name,
category,

View File

@@ -1,10 +1,8 @@
'use strict'
const Camp = require('@shields_io/camp')
const portfinder = require('portfinder')
const { expect } = require('chai')
const got = require('../got-test-client')
const redirector = require('./redirector')
import Camp from '@shields_io/camp'
import portfinder from 'portfinder'
import { expect } from 'chai'
import got from '../got-test-client.js'
import redirector from './redirector.js'
describe('Redirector', function () {
const route = {

View File

@@ -1,8 +1,6 @@
'use strict'
const escapeStringRegexp = require('escape-string-regexp')
const Joi = require('joi')
const { pathToRegexp } = require('path-to-regexp')
import escapeStringRegexp from 'escape-string-regexp'
import Joi from 'joi'
import { pathToRegexp } from 'path-to-regexp'
function makeFullUrl(base, partialUrl) {
return `/${[base, partialUrl].filter(Boolean).join('/')}`
@@ -74,7 +72,7 @@ function getQueryParamNames({ queryParamSchema }) {
}
}
module.exports = {
export {
makeFullUrl,
isValidRoute,
assertValidRoute,

View File

@@ -1,13 +1,11 @@
'use strict'
const { expect } = require('chai')
const Joi = require('joi')
const { test, given, forCases } = require('sazerac')
const {
import { expect } from 'chai'
import Joi from 'joi'
import { test, given, forCases } from 'sazerac'
import {
prepareRoute,
namedParamsForMatch,
getQueryParamNames,
} = require('./route')
} from './route.js'
describe('Route helpers', function () {
context('A `pattern` with a named param is declared', function () {

View File

@@ -1,6 +1,4 @@
'use strict'
const Joi = require('joi')
import Joi from 'joi'
// This should be kept in sync with the schema in
// `frontend/lib/service-definitions/index.ts`.
@@ -72,7 +70,7 @@ function assertValidServiceDefinitionExport(examples, message = undefined) {
Joi.assert(examples, serviceDefinitionExport, message)
}
module.exports = {
export {
serviceDefinition,
assertValidServiceDefinition,
serviceDefinitionExport,

View File

@@ -1,6 +1,4 @@
'use strict'
module.exports = function toArray(val) {
export default function toArray(val) {
if (val === undefined) {
return []
} else if (Object(val) instanceof Array) {

View File

@@ -1,7 +1,6 @@
'use strict'
const chalk = require('chalk')
const config = require('config').util.toObject()
import chalk from 'chalk'
import config from 'config'
const objectConfig = config.util.toObject()
// Config is loaded globally but it would be better to inject it. To do that,
// there needs to be one instance of the service created at registration time,
@@ -10,7 +9,7 @@ const config = require('config').util.toObject()
// thereby gaining access to the injected config.
const {
services: { trace: enableTraceLogging },
} = config.public
} = objectConfig.public
function _formatLabelForStage(stage, label) {
const colorFn = {
@@ -37,6 +36,6 @@ function logTrace(stage, symbol, label, content, { deep = false } = {}) {
}
}
module.exports = {
export default {
logTrace,
}

View File

@@ -1,8 +1,6 @@
'use strict'
const emojic = require('emojic')
const Joi = require('joi')
const trace = require('./trace')
import emojic from 'emojic'
import Joi from 'joi'
import trace from './trace.js'
function validate(
{
@@ -50,4 +48,4 @@ function validate(
}
}
module.exports = validate
export default validate

View File

@@ -1,11 +1,9 @@
'use strict'
const Joi = require('joi')
const { expect } = require('chai')
const sinon = require('sinon')
const trace = require('./trace')
const { InvalidParameter } = require('./errors')
const validate = require('./validate')
import Joi from 'joi'
import { expect } from 'chai'
import sinon from 'sinon'
import trace from './trace.js'
import { InvalidParameter } from './errors.js'
import validate from './validate.js'
describe('validate', function () {
const schema = Joi.object({

View File

@@ -1,6 +1,4 @@
'use strict'
const got = require('got')
import got from 'got'
// https://github.com/nock/nock/issues/1523
module.exports = got.extend({ retry: 0 })
export default got.extend({ retry: 0 })

View File

@@ -1,6 +1,5 @@
'use strict'
const { Inaccessible, InvalidResponse } = require('../base-service/errors')
import requestModule from 'request'
import { Inaccessible, InvalidResponse } from '../base-service/errors.js'
// Map from URL to { timestamp: last fetch time, data: data }.
let regularUpdateCache = Object.create(null)
@@ -11,8 +10,8 @@ let regularUpdateCache = Object.create(null)
//
// To use this from a service:
//
// const { promisify } = require('util')
// const { regularUpdate } = require('../../core/legacy/regular-update')
// import { promisify } from 'util'
// import { regularUpdate } from '../../core/legacy/regular-update.js'
//
// function getThing() {
// return promisify(regularUpdate)({
@@ -32,7 +31,7 @@ function regularUpdate(
json = true,
scraper = buffer => buffer,
options = {},
request = require('request'),
request = requestModule,
},
cb
) {
@@ -95,7 +94,4 @@ function clearRegularUpdateCache() {
regularUpdateCache = Object.create(null)
}
module.exports = {
regularUpdate,
clearRegularUpdateCache,
}
export { regularUpdate, clearRegularUpdateCache }

View File

@@ -1,6 +1,5 @@
'use strict'
const { use } = require('chai')
use(require('chai-string'))
use(require('sinon-chai'))
import { use } from 'chai'
import chaiString from 'chai-string'
import sinonChai from 'sinon-chai'
use(chaiString)
use(sinonChai)

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