66 Commits

Author SHA1 Message Date
Danny Yang
94909ab29d Mark Stubs-only packages with [PypiTypes] badge (#10864)
* add python typing badge

* prettier

* Update services/pypi/pypi-typing.service.js

Co-authored-by: jNullj <15849761+jNullj@users.noreply.github.com>

* address comments

* rename

* fix test

* check Typing :: Stubs Only

* change test package to typeshed

---------

Co-authored-by: jNullj <15849761+jNullj@users.noreply.github.com>
2025-02-02 17:12:45 +00:00
Danny Yang
bf91e268d6 Add [PypiTypes] badge (#10774)
* add python typing badge

* prettier

* Update services/pypi/pypi-typing.service.js

Co-authored-by: jNullj <15849761+jNullj@users.noreply.github.com>

* address comments

* rename

* fix test

---------

Co-authored-by: jNullj <15849761+jNullj@users.noreply.github.com>
2024-12-31 16:33:36 +00:00
chris48s
81dfc92f86 update [pypi] license test example (#10399) 2024-07-23 03:03:51 +00:00
chris48s
2857d9bf5c fix [pypi] status badge when package has no 'Development Status' classifier (#10107) 2024-05-06 18:58:12 +00:00
Leo Q
e8671be7f2 support setting pypiBaseUrl by environment variables and queryParameters; affects [pypi] (#10044)
* support setting pypiBaseUrl by environment variables

* Add support for pypiBaseUrl configuration

* Update Pypi services to include pypiBaseUrl parameter

* change package name example to a more well-known package

* Update custom-environment-variables.yml

* Update Pypi services to include pypiBaseUrl parameter

* fix openapi mismatch

* Update doc/server-secrets.md

---------

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2024-04-21 16:33:42 +00:00
dependabot[bot]
d8e3452fd2 chore(deps-dev): bump eslint-plugin-mocha from 10.4.1 to 10.4.2 (#10085)
* chore(deps-dev): bump eslint-plugin-mocha from 10.4.1 to 10.4.2

Bumps [eslint-plugin-mocha](https://github.com/lo1tuma/eslint-plugin-mocha) from 10.4.1 to 10.4.2.
- [Release notes](https://github.com/lo1tuma/eslint-plugin-mocha/releases)
- [Changelog](https://github.com/lo1tuma/eslint-plugin-mocha/blob/10.4.2/CHANGELOG.md)
- [Commits](https://github.com/lo1tuma/eslint-plugin-mocha/compare/10.4.1...10.4.2)

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

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

* fix mocha/prefer-arrow-callback errors

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chris48s <git@chris-shaw.dev>
2024-04-17 19:16:10 +00:00
jNullj
b0c649655e Add 0BSD license to licenseTypes and [PypiLicense] (#10092)
Part of issue #10058
2024-04-17 15:36:14 +00:00
chris48s
bd3a11b4b6 upgrade to docusaurus 3 (#9820)
* update packages

* add plugin to strip autolinks in code blocks

* fix all the documentation for MDXv3

* remove check-docusaurus-versions

in docusaurus 3 this is now a hard error, not just a warning

* port upstream change to Curl component

fixes performing the 'execute' action when pressing enter
2024-03-23 19:54:57 +00:00
chris48s
09c83d9d46 migrate some services from examples to openApi (#9857) 2024-01-01 10:32:36 +00:00
chris48s
57820b2eb9 cache some badges for longer (#9785) 2023-12-06 18:42:06 +00:00
Kurt McKee
9874db7841 Fix several typos (#9658) 2023-10-13 15:40:57 +00:00
chris48s
1ee176e034 cache [pypi] downloads for longer (#9522) 2023-08-29 18:32:58 +00:00
chris48s
692829f91c migrate examples to openApi part 6; affects [opencollective opm ossf powershell pub pypi reddit repology] (#9462)
* migrate some services from examples to openApi

* improve and de-dupe service titles
2023-08-19 04:33:27 +00:00
dependabot[bot]
b9d96755ec chore(deps-dev): bump prettier from 2.8.8 to 3.0.0 (#9357)
* chore(deps-dev): bump prettier from 2.8.8 to 3.0.0

Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.0.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.8.8...3.0.0)

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

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

* reformat all the things (prettier 3)

* update tests to await calls to prettier.format()

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chris48s <git@chris-shaw.dev>
2023-07-10 09:27:51 +00:00
chris48s
a5f91a40e5 fix a load of spacing issues in frontend content (#9281) 2023-06-18 09:05:42 +01:00
chris48s
14892e3943 Implement a pattern for dealing with upstream APIs which are slow on the first hit; affects [endpoint] (#9233)
* allow serviceData to override cacheSeconds with a longer value

* prevent [endpoint] json cacheSeconds property exceeding service default

* allow ShieldsRuntimeError to specify a cacheSeconds property

By default error responses use the cacheLength of
the service class throwing the error.

This allows error to tell the handling layer the maxAge
that should be set on the error badge response.

* add customExceptions param

This

1. allows us to specify custom properties to pass to the exception
   constructor if we throw any of the standard got errors
   e.g: `ETIMEDOUT`, `ECONNRESET`, etc
2. uses a custom `cacheSeconds` property (if set on the exception)
   to set the response maxAge

* customExceptions --> systemErrors

* errorMessages --> httpErrors
2023-06-13 21:08:43 +01:00
chris48s
26bf69cfe7 misc minor fixes to [githubsize node pypi] (#8946)
* fix some params incorrectly marked as optional

all of these are really required

* make '@' part of the param (not route) for scoped packages

* minor HTML tweaks to sonar help

---------

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-03-01 20:24:41 +00:00
chris48s
a276770cdb add a clarifying comment to [pypi] getLicenses (#8718) 2022-12-15 22:36:46 +00:00
chris48s
4da9e7d58f fall back to classifiers if license text is really long (#8690) 2022-12-10 13:02:14 +00:00
Érico Andrei
fbb2ff3619 [pypi] Add Framework Version Badges support (#8261)
* [pypi] Add Framework Version Badges support
* Fix redirect from Django versions
* Fix staticPreview
* Refactor service to remove duplication
* Rename to Versions from Framework Classifiers
* Refactor render and handle to thrown an exception

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-08-01 20:17:12 +01:00
Érico Andrei
efa705d925 Update PyPI api according to https://warehouse.pypa.io/api-reference/json.html (#8251) 2022-07-28 20:04:30 +00:00
chris48s
eb0ee6a9a1 fix [pypi] badges when package has null license (#7761)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-03-25 18:44:47 +00:00
chris48s
9186f0d262 improve python version formatting (#7682) 2022-03-06 20:25:29 +00:00
Caleb Cartwright
8fcde9de85 refactor: use renderDownloadsBadge helper in remaining classes (#7211)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-10-31 16:10:05 +00:00
Pierre-Yves B
23c0406bed Migrate from CommonJS to ESM (#6651) 2021-07-09 12:53:55 +01:00
Pierre-Yves B
bf8c86fafc Narrow down [PyPi] regex expressions (#6184) 2021-02-14 19:31:53 +00:00
chris48s
88bff9d37d improve [pypi] license parsing from classifiers (#6018)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-01-08 21:34:46 +00:00
Samuel FORESTIER
d3a7afdec0 [PyPI] Fixes Python versions order by using proper Semver comparison (#6000)
* [PyPI] Fixes Python versions order by using proper Semver comparison

* [PyPI] Adds a proper specification file for Python versions service

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2021-01-02 18:17:09 +00:00
Thakur Karthik
5931b86c85 Reactor powershellgallery pub puppetforge pypi services (#5635)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2020-10-02 02:04:03 +00:00
chris48s
504015c0ba migrate hapi/joi to joi (#5624)
* update joi + joi-extension-semver

* @hapi/joi --> joi

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2020-09-30 17:51:02 +00:00
dependabot-preview[bot]
60d92cd5d6 Build(deps-dev): bump prettier from 2.0.5 to 2.1.1; test [pypi] (#5466)
* Build(deps-dev): bump prettier from 2.0.5 to 2.1.1

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

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

* update code formatting for new prettier version

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: chris48s <chris.shaw480@gmail.com>
Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2020-08-30 16:08:50 +01:00
chris48s
13d75e0607 upgrade to prettier 2 (#5051)
* arrowParens: avoid
* remove trailingComma setting
2020-05-05 21:07:43 +01:00
Paul Melnikow
e8d49f2504 Add dependency badge for Pipenv applications [GithubPipenv] (#4096)
I recently published https://github.com/metabolize/rq-dashboard-on-heroku and want to add badges to show the locked version of Python and rq-dashboard, the main dependency it’s wrapping.

This is along the lines of #2259, which was for package.json-based applications, and also included some discussion of a Python application that used `requirements.txt`. It’s useful for showing the pinned version of any dependency in a Python application that uses a lockfile.

In the future, as an alternative to reading Pipfile.lock, I could see expanding this to read Pipfile. However for my purposes I prefer to show the locked dependency, since that’s the version that a user of my package would actually get if they ran it on Heroku.
2019-10-02 15:24:14 -04:00
Pierre-Yves B
102db63d46 Split [pypi] tests (#3704)
* Split [pypi] tests

* Changed filenames to match previous class names
2019-07-13 10:45:58 -05:00
dependabot-preview[bot]
294aa1e1df Build(deps-dev): bump eslint-plugin-import from 2.17.3 to 2.18.0; autofixes (#3671)
* Build(deps-dev): bump eslint-plugin-import from 2.17.3 to 2.18.0

Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.17.3 to 2.18.0.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.17.3...v2.18.0)

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

* Autofixes
2019-07-08 12:13:46 -04:00
chris48s
8621fe42d7 Upgrade Joi (#3505)
* upgrade joi
* find & replace ALL THE THINGS
* update related deps
2019-06-02 21:59:55 +01:00
Paul Melnikow
7afb26ef14 Add some aliases for license colors; refactor; test colors for [PypiLicense] (#3431)
This covers some of the license strings used by the PyPI badges like **BSD** which currently shows up in lightgrey.
2019-05-07 23:32:15 -04:00
Paul Melnikow
1cdcaabd38 Unify order of properties and methods in services (#3353)
I find having these in a consistent order makes the services much faster to read.

This is the order I’ve generally been using:

1. Category
2. Route
3. Examples
4. Rendering
5. Other helpers (`fetch()`, `transform()`)
6. `handle()`
2019-04-23 21:36:04 -04:00
Paul Melnikow
766d55e001 [pypi] Improve formatting of trove-based licenses (#3265)
Currently the trove-based license classifiers generate different formatting than the legacy license classifiers. This brings them into alignment.
2019-04-04 04:22:47 -07:00
Pierre-Yves B
1f29c22d3d Migrated most service tests to use new expectBadge (#3122) 2019-02-28 21:43:23 +00:00
Paul Melnikow
fafb22efee Move "good" badge helpers from lib/ to services/ (#3101)
This moves a few helpers from `lib/` to `services/`:

build-status.js
build-status.spec.js
color-formatters.js
color-formatters.spec.js
contributor-count.js
licenses.js
licenses.spec.js
php-version.js
php-version.spec.js
text-formatters.js
text-formatters.spec.js
version.js
version.spec.js

And one from `lib/` to `core/`:

unhandled-rejection.spec.js

The diff is long, but the changes are straightforward.

Ref #2832
2019-02-27 20:47:46 -05:00
Ville Skyttä
4611ba155f Fall back to grabbing version from "X :: Only" PyPI classifiers (#3014)
If e.g. `3 :: Only` alone is specified in PyPI classifiers, use the `3` from it. But keep ignoring `* :: Only` when it occurs with other specified versions.
2019-02-19 09:49:53 -05:00
Paul Melnikow
d9d8a3b227 Drop-downs for multiple choice in patterns (#2882)
You can see it in effect on the PyPI downloads and the David badges.
2019-02-18 11:15:58 -05:00
Pierre-Yves B
bc96f0e25f Example keywords validation (#2956)
This pull request closes #2551: making sure that the keywords don't already appear in the example's title.

I also added validation that checks that they are at least two characters long, as this is enforced by the homepage when type your search.
2019-02-13 13:14:12 -04:00
Caleb Cartwright
855c9cd261 Remove dev dep imports in production code (#2937)
Fixes #2876 with @paulmelnikow's suggestion 

Moved imports of `ServiceTester` and `createServiceTester` to a separate file so that dev dependencies are not imported by service classes.
2019-02-05 21:51:55 -05:00
Paul Melnikow
226fa67a02 Create shortcut for BaseService-related imports (#2809)
Continue to implement #2698:

- Add `core/base-service/index.js` (but hold off on moving the things it imports)
- Add shortcuts in `services/index.js` for Base*Service, errors, and deprecatedService. This file will be streamlined later to avoid cluttering it with rarely used bits.
- Apply consistent ordering of imports and use of `module.exports` in testers.
- Remove some renaming of imports.
- Remove obsolete tests here and there.
2019-01-21 15:41:24 -05:00
Paul Melnikow
8dc8afeb55 Avoid func declarations using function keyword (#2813)
We had only a few function expressions declared with the function keyword; almost everything is using function declarations.

This came up after this discussion: https://github.com/badges/shields/pull/2803#discussion_r249011621 though is actually not related ot that example.

What’s being removed is a third option, which is assigning to a variable a function expression using the `function` keyword. There’s still room for the programmer to choose between arrow function expressions and function declarations.
2019-01-21 15:33:43 -05:00
James Cahill
4725a8dc13 Refactor the rest of [PyPI] to use static previews (#2752)
* Refactor the rest of [PyPI] to use static previews

* v1.0.0 -> 1.0.0 to match what's passed to render function
2019-01-12 23:13:45 -05:00
Jan Keromnes
3ab2862922 Fix a few typos (#2697)
* Fix typos (using 'codespell -w')

* Properly capitalize Git and GitHub in TUTORIAL.md
2019-01-08 12:08:50 -05:00
Paul Melnikow
89113eee17 Migrate deprecated staticExample -> staticPreview (#2650) 2019-01-06 17:30:25 -05:00