renamed refPlaceholderResolver.ts to jsonSchemaRefPlaceholderResolver.ts

Signed-off-by: Thorsten Hake <mail@thorsten-hake.com>
This commit is contained in:
Thorsten Hake
2022-11-22 09:00:28 +01:00
parent 3765515225
commit 7ce59cbd3c
6 changed files with 17 additions and 17 deletions
+1 -1
View File
@@ -2,4 +2,4 @@
'@backstage/plugin-catalog-backend-module-openapi': patch
---
Enabled support of resolving `$refs` in all kind of yaml documents, not only OpenAPI. This implicitly adds `$ref` resolving support for AsyncAPI specs. Thus, the `openApiPlaceholderResolver` has been renamed to `refPlaceholderResolver`.
Enabled support of resolving `$refs` in all kind of yaml documents, not only OpenAPI. This implicitly adds `$ref` resolving support for AsyncAPI specs. Thus, the `openApiPlaceholderResolver` has been renamed to `jsonSchemaRefPlaceholderResolver`.
@@ -17,13 +17,13 @@ yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-openapi
### Adding the plugin to your `packages/backend`
#### **refPlaceholderResolver**
#### **jsonSchemaRefPlaceholderResolver**
The placeholder resolver can be added by importing `refPlaceholderResolver` in `src/plugins/catalog.ts` in your `backend` package and adding the following.
The placeholder resolver can be added by importing `jsonSchemaRefPlaceholderResolver` in `src/plugins/catalog.ts` in your `backend` package and adding the following.
```ts
builder.setPlaceholderResolver('openapi', refPlaceholderResolver);
builder.setPlaceholderResolver('asyncapi', refPlaceholderResolver);
builder.setPlaceholderResolver('openapi', jsonSchemaRefPlaceholderResolver);
builder.setPlaceholderResolver('asyncapi', jsonSchemaRefPlaceholderResolver);
```
This allows you to use the `$openapi` placeholder when referencing your OpenAPI specification and `$asyncapi` when referencing your AsyncAPI specifications. This will then resolve all `$ref` instances in your specification.
@@ -14,7 +14,7 @@ import { ScmIntegrations } from '@backstage/integration';
import { UrlReader } from '@backstage/backend-common';
// @public @deprecated (undocumented)
export const openApiPlaceholderResolver: typeof refPlaceholderResolver;
export const openApiPlaceholderResolver: typeof jsonSchemaRefPlaceholderResolver;
// @public @deprecated (undocumented)
export class OpenApiRefProcessor implements CatalogProcessor {
@@ -38,7 +38,7 @@ export class OpenApiRefProcessor implements CatalogProcessor {
}
// @public (undocumented)
export function refPlaceholderResolver(
export function jsonSchemaRefPlaceholderResolver(
params: PlaceholderResolverParams,
): Promise<JsonValue>;
@@ -13,12 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { refPlaceholderResolver } from './refPlaceholderResolver';
import { jsonSchemaRefPlaceholderResolver } from './jsonSchemaRefPlaceholderResolver';
export { OpenApiRefProcessor } from './OpenApiRefProcessor';
export { refPlaceholderResolver } from './refPlaceholderResolver';
export { jsonSchemaRefPlaceholderResolver } from './jsonSchemaRefPlaceholderResolver';
/**
* @public
* @deprecated replaced by refPlaceholderResolver
* @deprecated replaced by jsonSchemaRefPlaceholderResolver
*/
export const openApiPlaceholderResolver = refPlaceholderResolver;
export const openApiPlaceholderResolver = jsonSchemaRefPlaceholderResolver;
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { PlaceholderResolverParams } from '@backstage/plugin-catalog-backend';
import { refPlaceholderResolver } from './refPlaceholderResolver';
import { jsonSchemaRefPlaceholderResolver } from './jsonSchemaRefPlaceholderResolver';
import { bundleFileWithRefs } from './lib';
jest.mock('./lib', () => ({
@@ -23,7 +23,7 @@ jest.mock('./lib', () => ({
const bundled = '<bundled-specification>';
describe('refPlaceholderResolver', () => {
describe('jsonSchemaRefPlaceholderResolver', () => {
const mockResolveUrl = jest.fn();
mockResolveUrl.mockReturnValue('mockUrl');
@@ -50,13 +50,13 @@ describe('refPlaceholderResolver', () => {
it('should throw error if unable to bundle the OpenAPI specification', async () => {
(bundleFileWithRefs as any).mockRejectedValue(new Error('TEST'));
await expect(refPlaceholderResolver(params)).rejects.toThrow(
await expect(jsonSchemaRefPlaceholderResolver(params)).rejects.toThrow(
'Placeholder $openapi unable to bundle OpenAPI specification',
);
});
it('should bundle the OpenAPI specification', async () => {
const result = await refPlaceholderResolver(params);
const result = await jsonSchemaRefPlaceholderResolver(params);
expect(result).toEqual(bundled);
});
@@ -19,7 +19,7 @@ import { processingResult } from '@backstage/plugin-catalog-node';
import { bundleFileWithRefs } from './lib';
/** @public */
export async function refPlaceholderResolver(
export async function jsonSchemaRefPlaceholderResolver(
params: PlaceholderResolverParams,
): Promise<JsonValue> {
const { content, url } = await readTextLocation(params);
@@ -35,7 +35,7 @@ export async function refPlaceholderResolver(
);
} catch (error) {
throw new Error(
`Placeholder \$${params.key} unable to bundle OpenAPI specification at ${params.value}, ${error}`,
`Placeholder \$${params.key} unable to bundle the file at ${params.value}, ${error}`,
);
}
}