[GithubPackageJson] Get version from monorepo subfolder package.json (#7350)

* Add filename query params for subdirectory of monorepo

* Rename query param schema

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
This commit is contained in:
aaronweldy
2021-12-05 15:51:12 -05:00
committed by GitHub
parent 344954f028
commit b53ac49f4a
2 changed files with 33 additions and 7 deletions

View File

@@ -16,11 +16,16 @@ const versionSchema = Joi.object({
version: semver,
}).required()
const subfolderQueryParamSchema = Joi.object({
filename: Joi.string(),
}).required()
class GithubPackageJsonVersion extends ConditionalGithubAuthV3Service {
static category = 'version'
static route = {
base: 'github/package-json/v',
pattern: ':user/:repo/:branch*',
queryParamSchema: subfolderQueryParamSchema,
}
static examples = [
@@ -44,6 +49,20 @@ class GithubPackageJsonVersion extends ConditionalGithubAuthV3Service {
documentation,
keywords,
},
{
title: 'GitHub package.json version (subfolder of monorepo)',
pattern: ':user/:repo',
namedParams: {
user: 'metabolize',
repo: 'anafanafo',
},
queryParams: {
filename: 'packages/char-width-table-builder/package.json',
},
staticPreview: this.render({ version: '2.0.0' }),
documentation,
keywords,
},
]
static render({ version, branch }) {
@@ -54,29 +73,25 @@ class GithubPackageJsonVersion extends ConditionalGithubAuthV3Service {
})
}
async handle({ user, repo, branch }) {
async handle({ user, repo, branch }, { filename = 'package.json' }) {
const { version } = await fetchJsonFromRepo(this, {
schema: versionSchema,
user,
repo,
branch,
filename: 'package.json',
filename,
})
return this.constructor.render({ version, branch })
}
}
const dependencyQueryParamSchema = Joi.object({
filename: Joi.string(),
}).required()
class GithubPackageJsonDependencyVersion extends ConditionalGithubAuthV3Service {
static category = 'platform-support'
static route = {
base: 'github/package-json/dependency-version',
pattern:
':user/:repo/:kind(dev|peer|optional)?/:scope(@[^/]+)?/:packageName/:branch*',
queryParamSchema: dependencyQueryParamSchema,
queryParamSchema: subfolderQueryParamSchema,
}
static examples = [