57 Commits

Author SHA1 Message Date
Jordi Boggiano
be9cdc2276 [Packagist] Update default domain for repo metadata (#10920)
* Update default packagist domain for repo metadata

* prettier

---------

Co-authored-by: chris48s <git@chris-shaw.dev>
2025-03-05 07:32:22 +00:00
chris48s
fb816ecf93 Upgrade to Chai 5.x (#10732)
* remove chai-string plugin

* upgrade chai and sinon-chai

* update chai imports

* migrate badge-maker tests to ESM
2024-12-11 19:28:45 +00:00
Pierre-Yves Bigourdan
559c38f966 Remove failing [Packagist] tests (#10512) 2024-09-07 18:01:16 +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
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
700566ff26 add description to interval enums (#9854) 2023-12-30 17:38:48 +00:00
chris48s
188c34d7c2 migrate some services from examples to openApi (#9716) 2023-12-23 18:12:18 +00:00
Kurt McKee
9874db7841 Fix several typos (#9658) 2023-10-13 15:40:57 +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
c2fe2ffa2e documentation html fixes (#8887)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-02-12 18:47:16 +00:00
Paula Barszcz
93fa955dde [Packagist] dependency version (#8371)
* happy path is done: packagist depenency version is returned for dependencyVendor and dependencyRepo

* changes in error handling in packagist dependency version service

* Move to packagist-base common parts of packagist-php and packagist-dep-ver

* the label now shows the name of the dependency

* add comments,slightly modify if statement

* fix unit tests in  services/packagist/packagist-php-version.spec.js

* add unit tests for services/packagist/packagist-dependency-version.js

* service tests for packagist-dependency-version.service.js are in progress

* Add additional service tests for packagist-dependency-version.tester.js

* remove toLowerCase()

* resolve from lgtm: 1 for Wrong use of 'this' for static method

* DRY determining the name of the dependency (depVen/depRepo)

* url change in strategy is in progress

* basic examples of packagist/dependency-v work with new url; packagist/php-v redirects to the new url

* service tests should be green

* unit tests for packagist should be fixed

* add toLowerCase()

* part of suggestions from the PR is implemented

* updated tests for packagist dependency version

* fix packagist dependency version spec

* add missing unit tests

* Update services/packagist/packagist-dependency-version.spec.js

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

* Update services/packagist/packagist-dependency-version.spec.js

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

Co-authored-by: chris48s <chris48s@users.noreply.github.com>
2022-09-14 21:12:09 +01:00
chris48s
f45d25c2cc two fixes for [packagist] schemas (#7782)
* never check for 'require' key in [packagist] /v badge

always use `schema`
closes #7779

* accept str '__unset' for 'require' key in [packagist] /php-v badge

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-03-28 17:46:17 +00:00
chris48s
dcc7e28fd0 [packagist] api v2 support (#7681)
* Update Packagist service to use v2 api

Packagist deprecated the original `packagist.org/p/username/package` endpoint in favor of v2 `packagist.org/p2/username/package` endpoint. Because of this, new packages aren't being found using v1.

This PR updates the Packagist service to use the new endpoint.

* Adjust validation schema

Some packages don't return the same data structure as others with the new api endpoints. This changes the validation schema to account for the potential differences.

* Fix typo

* Throw NotFound when license not found

* Expand response and find the correct release

* Address issues raised by reviewer

Address issues raised by @chris48s in #6508, which this PR is base on.
Includes:

* Remove getDefaultBranch() from base class for it is no longer used.
* Change try-catch statement syntax to align code style.
* Rename findRelease() to findLatestRelease() for clarity.

* remove unusued param

* throw if no version found

* require version key

* use a single consistent method for identifying the latest (tagged) release

* don't throw in render()

* rename method (this is not really 'transform' in our usual parlance)

* Improve BasePackagistService testing

* Change BasePackagistService.decompressResponse to static
  method BasePackagistService.expandPackageVersions.
* Fix expandPackageVersions implementation.
* Add unit test for the function.

* Extend BasePackagistService.findLatestRelease

* extend BasePackagistService.findLatestRelease to also handle
  PackagistVersion.
* remove PackagistVersion.transform.

* Improve BasePackagistService.findLatestRelease

* Update findLatestRelease to throw NotFound itself.
* Update PackagistLicense and PackagistVersion and remove the
  NotFound throwing logics.

* Revert unneeded change

* Corrected packagist php version spec

* The test was on a false assumption that '__unset' might appear
  inside an array leaf while the composer's MetadataMinifier::minify
  never does thing recursively. The '__unset' should be value of the
  top level key.

Co-authored-by: Geoff Selby <geoff@geoffcodesthings.com>
Co-authored-by: Koala Yeung <koalay@gmail.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-03-05 01:36:31 +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
dependabot-preview[bot]
ee83590942 Build(deps-dev): bump @typescript-eslint/eslint-plugin from 2.34.0 to 4.19.0, run [GitHub GitlabCoverage F-Droid Wordpress VisualStudioAppCenter Ore Packagist] (#6319)
* Build(deps-dev): bump @typescript-eslint/eslint-plugin

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 2.34.0 to 4.19.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.19.0/packages/eslint-plugin)

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

* chore: update eslint camelcase rule

* chore: eslint camelcase updates for wordpress

* chore: fix eslint camelcase for misc other services

* chore: fix eslint camelcase issue in github and gitlab

* chore: run prettier

* chore: account for JSX globals

* deps: bump typescript-eslint-parser to v4

* chore: frontend lint changes

* chore: update eslint config to only run @typescript-eslint/explicit-module-boundary-types on ts files

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Caleb Cartwright <caleb.cartwright@outlook.com>
2021-03-28 08:26:01 -05:00
Caleb Cartwright
740947ba06 tests: fix PackagistVersion service test (#5703) 2020-10-14 22:03:36 +00:00
Thakur Karthik
0c28fe7144 Refactor osslifecycle,packagecontrol,packagist,plgreview,poeditor service files (#5634) 2020-09-30 21:18:49 -05: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
Ben Ramsey
8082eeb47b fix(packagist): use default branch as indicated by Packagist (#5474)
Instead of assuming dev-master for the default branch, check the package
data from Packagist to see which branch is set as the default, and use
it.

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2020-09-06 14:08:12 +00:00
dependabot-preview[bot]
fc6390d62e Build(deps-dev): bump eslint-plugin-jsdoc from 24.0.6 to 25.4.1 (#5085)
* Build(deps-dev): bump eslint-plugin-jsdoc from 24.0.6 to 25.4.1

Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 24.0.6 to 25.4.1.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v24.0.6...v25.4.1)

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

* fix errors identified by new linting rules

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: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2020-05-17 15:00:21 +00:00
chris48s
13d75e0607 upgrade to prettier 2 (#5051)
* arrowParens: avoid
* remove trailingComma setting
2020-05-05 21:07:43 +01:00
Dan Untenzu
2b363096bb Streamline Packagist Badge Titles (#5041)
Streamline Packagist Badge titles in frontend.
Always add the general topic/category to each badge title.

Closes #5039

Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
2020-05-03 20:10:29 +00:00
Dan Untenzu
d9c483abbe Add badge for Packagist stars (favers) (#5040)
Add a badge to show stars given to a PHP package on Packagist.

Closes #4912

Co-authored-by: Pierre-Yves B <PyvesDev@gmail.com>
2020-05-03 21:49:04 +02:00
dependabot-preview[bot]
478d14300c Build(deps-dev): bump eslint-plugin-import from 2.20.1 to 2.20.2 (#4859)
* Build(deps-dev): bump eslint-plugin-import from 2.20.1 to 2.20.2

Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.20.1 to 2.20.2.
- [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.20.1...v2.20.2)

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

* Fixes

* refactor: combine imports

* refactor: combine imports

* refactor: combine imports

* refactor: update import ordering

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>
Co-authored-by: Paul Melnikow <email@paulmelnikow.com>
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
Co-authored-by: Caleb Cartwright <caleb.cartwright@outlook.com>
2020-04-16 18:39:13 -05:00
François Hodierne
0d8a2d5ca0 Update to eslint 6.8.0 [appveyor githubissuedetail packagist] (#4489)
* update to eslint 6.8.0 and related packages

* Fixes for no-prototype-builtins

* Updates for explicit-function-return-type

* Add ignores for no-explicit-any

* update to eslint 6.8.0 and related packages

* Fixes for no-prototype-builtins

* Updates for explicit-function-return-type

* Add ignores for no-explicit-any

* package: activate eslint-config-standard

* apply updated eslint configuration

* lint: apply eslint feedback after rebase

* Update lockfile

* Update lockfile

* Restore missing deps

* Update lockfile

* Re-add eslint-plugin-node

* Add eslint-plugin-standard and eslint-plugin-react-hooks

* Clean lint

Co-authored-by: Paul Melnikow <github@paulmelnikow.com>
2020-02-29 11:06:36 -06:00
chris48s
347e0a81f3 set followRedirect: false by default in tests (#4491)
* set followRedirect: false by default in tests

* update tests implicitly relying on redirects

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2020-01-07 21:13:48 +00:00
chris48s
1a98b6bc31 Convert vpre routes to include_prereleases param in [bower chocolatey clojars packagist powershellgallery pub resharper] (#4436)
* Convert vpre routes to include_prereleases param
* add .expectRedirect() helper
* test redirects on SVG endpoint
2019-12-23 20:47:35 +00:00
Greg Bowler
578a1438bf [Packagist] user/repo must be lowercase (#4367)
* Packagist user/repo must be lowercase

An issue has developed recently where the package name and repo name of the packagist packages have an added requirement of being lowercase. This has broken the Shields.io badge for some of my projects where their repo name has capital letters, and the badges have been automatically added by a script.

* Prettier

* Lowercase user and repo in getPackageName function instead

* Lowercase user/repo in fetch function
2019-11-30 10:21:25 -05:00
Caleb Cartwright
1427611e0c fix: packagist license type error (#4271) 2019-11-03 17:46:56 +00:00
piekar294
dcb2793399 #2435 [packagist] composer metadata api (#4231)
* #2435 | packagist-license uses 'Composer metadata' API

* #2435 | packagist-php-version uses 'Composer metadata' API

* #2435 | packagist-version uses 'Composer metadata' API

* #2435 | packagist-downloads uses JSON API

* #2435 | small refactor

* #2435 | extract package name creation to method

* #2435 | document base fetch method

* #2435 | added documentation about cached data

* #2435 | fix packagist license badge
2019-10-30 18:49:07 -05:00
Honza Hommer
22d713c29b Support custom [Packagist] server (#3986)
* feat(packagist): add custom server query param

* chore(docs): packagist docs tweak

* feat(packagist): custom server downloads badge

* test(packagist): fix custom server tests
2019-09-13 14:38:45 -05:00
Pierre-Yves B
777a5ff23c Cover missing PHP version requirement in [PackagistPhpVersion] (#3768) 2019-07-24 22:18:13 +01:00
Pierre-Yves B
345c26f72d Handle packages with no released versions in [PackagistVersion] (#3746) 2019-07-20 17:52:53 +01: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
1dd8d1329c Unify order of another handful of services (#3356)
Ref #3353
2019-04-24 15:03:23 -04:00
Caleb Cartwright
b03b644451 Fix [packagist] badges (#3239)
* fix(packagist): updated schema and version svc to resolve #3238

* refactor(packagist): multiple changes relative to #3238
2019-03-31 09:45:13 -05:00
James Cahill
f0e037e040 refactor [Packagist] service (#3004) 2019-03-27 17:59:41 -04: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
Paul Melnikow
24bc7bcfc3 Combine some badge examples using drop-downs, tweak some titles (#3037)
This updates several badges to take advantage of the change from #2882.
2019-02-18 23:04:25 -05: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
eef3d36f52 Convert remaining preview URLs (#2887)
Close #1961
2019-01-29 21:13:15 -06:00
Paul Melnikow
47e8cc3de3 Refactor route functions in BaseService (#2860)
The route helper functions are fairly well isolated from the rest of BaseService, with a few convenient entry points. They are easier to test in isolation.

The way the code was written before, `pathToRegexp` was invoked once for every request, which seems inefficient.

`route` was validated when it was used, though it seems more helpful to validate it up front.

This breaks out `_makeFullUrl`, `_regex`, `_regexFromPath` into new helper functions `makeFullUrl`, `assertValidRoute`, `prepareRoute`, and `namedParamsForMatch`.

It adds validation to route, and updates the services without patterns to include one, in order to pass the new validation rules.
2019-01-26 02:38:12 -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
Paul Melnikow
18b98a30e3 Reorganize server and service test runner (#2781)
Ref #2698
2019-01-16 16:30:18 -05:00
Paul Melnikow
b36a9040f3 Add warning banners to legacy services (#2546) 2018-12-18 20:52:17 +00:00
Paul Melnikow
88c8b0ee3e More example urls and static examples [apm waffle] (#2478) 2018-12-11 16:31:01 -05:00
Paul Melnikow
ccfac2eab3 Move remaining badge examples into services/ [cpan] (#2349)
Except NuGet; leaving those for the last pass.
2018-11-19 15:25:34 -05:00