Merge pull request #3900 from backstage/blam/move-scaffolder-to-integrations

Deprecate Scaffolder config, prefer integrations config instead
This commit is contained in:
Ben Lambert
2021-01-21 08:50:32 +01:00
committed by GitHub
36 changed files with 899 additions and 954 deletions
@@ -34,6 +34,7 @@ export default async function createPlugin({
const cookiecutterTemplater = new CookieCutter();
const craTemplater = new CreateReactAppTemplater();
const templaters = new Templaters();
templaters.register('cookiecutter', cookiecutterTemplater);
templaters.register('cra', craTemplater);
@@ -18,6 +18,7 @@ export default async function createPlugin({
const cookiecutterTemplater = new CookieCutter();
const craTemplater = new CreateReactAppTemplater();
const templaters = new Templaters();
templaters.register('cookiecutter', cookiecutterTemplater);
templaters.register('cra', craTemplater);
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import gitUrlParse from 'git-url-parse';
import parseGitUrl from 'git-url-parse';
import { GithubAppConfig, GitHubIntegrationConfig } from './config';
import { createAppAuth } from '@octokit/auth-app';
import { Octokit, RestEndpointMethodTypes } from '@octokit/rest';
@@ -221,7 +221,7 @@ export class GithubCredentialsProvider {
* const { token, headers } = await getCredentials({url: 'github.com/backstage/foobar'})
*/
async getCredentials(opts: { url: string }): Promise<GithubCredentials> {
const parsed = gitUrlParse(opts.url);
const parsed = parseGitUrl(opts.url);
const owner = parsed.owner || parsed.name;
const repo = parsed.owner ? parsed.name : undefined;
@@ -31,11 +31,14 @@ describe('readGitLabIntegrationConfig', () => {
buildConfig({
host: 'a.com',
token: 't',
baseUrl: 'https://baseurl.for.me/gitlab',
}),
);
expect(output).toEqual({
host: 'a.com',
token: 't',
baseUrl: 'https://baseurl.for.me/gitlab',
});
});
@@ -44,6 +47,7 @@ describe('readGitLabIntegrationConfig', () => {
expect(output).toEqual({
host: 'gitlab.com',
apiBaseUrl: 'https://gitlab.com/api/v4',
baseUrl: 'https://gitlab.com',
});
});
@@ -54,6 +58,7 @@ describe('readGitLabIntegrationConfig', () => {
expect(output).toEqual({
host: 'gitlab.com',
baseUrl: 'https://gitlab.com',
apiBaseUrl: 'https://gitlab.com/api/v4',
});
});
@@ -89,6 +94,7 @@ describe('readGitLabIntegrationConfigs', () => {
expect(output).toContainEqual({
host: 'a.com',
token: 't',
baseUrl: 'https://a.com',
});
});
+11 -1
View File
@@ -46,6 +46,14 @@ export type GitLabIntegrationConfig = {
* If no token is specified, anonymous access is used.
*/
token?: string;
/**
* The baseUrl of this provider, e.g "https://gitlab.com",
* which is passed into the gitlab client.
*
* If no baseUrl is provided, it will default to https://${host}
*/
baseUrl?: string;
};
/**
@@ -59,6 +67,7 @@ export function readGitLabIntegrationConfig(
const host = config.getOptionalString('host') ?? GITLAB_HOST;
let apiBaseUrl = config.getOptionalString('apiBaseUrl');
const token = config.getOptionalString('token');
const baseUrl = config.getOptionalString('baseUrl') ?? `https://${host}`;
if (!isValidHost(host)) {
throw new Error(
@@ -71,7 +80,8 @@ export function readGitLabIntegrationConfig(
} else if (host === GITLAB_HOST) {
apiBaseUrl = GITLAB_API_BASE_URL;
}
return { host, token, apiBaseUrl };
return { host, token, apiBaseUrl, baseUrl };
}
/**