@@ -17,6 +17,7 @@
|
||||
import { createMockDirectory } from '@backstage/backend-test-utils';
|
||||
import { collectConfigSchemas } from './collect';
|
||||
import path from 'path';
|
||||
import { dependencies } from 'webpack';
|
||||
|
||||
// cwd must be restored
|
||||
const origDir = process.cwd();
|
||||
@@ -68,6 +69,7 @@ describe('collectConfigSchemas', () => {
|
||||
{
|
||||
path: path.join('node_modules', 'a', 'package.json'),
|
||||
value: mockSchema,
|
||||
packageName: 'a',
|
||||
},
|
||||
]);
|
||||
});
|
||||
@@ -89,6 +91,7 @@ describe('collectConfigSchemas', () => {
|
||||
{
|
||||
path: path.join('root', 'package.json'),
|
||||
value: mockSchema,
|
||||
packageName: 'root',
|
||||
},
|
||||
]);
|
||||
});
|
||||
@@ -98,40 +101,29 @@ describe('collectConfigSchemas', () => {
|
||||
root: {
|
||||
'package.json': JSON.stringify({
|
||||
name: 'root',
|
||||
configSchema: mockSchema,
|
||||
dependencies: {},
|
||||
dependencies: {
|
||||
'@backstage/backend-common': '1',
|
||||
'@backstage/backend-defaults': '1',
|
||||
},
|
||||
configSchema: { ...mockSchema, title: 'root' },
|
||||
}),
|
||||
node_modules: {
|
||||
a: {
|
||||
},
|
||||
node_modules: {
|
||||
'@backstage': {
|
||||
'backend-common': {
|
||||
'package.json': JSON.stringify({
|
||||
name: 'a',
|
||||
dependencies: {
|
||||
b: '0.0.0',
|
||||
},
|
||||
name: '@backstage/backend-common',
|
||||
version: '1',
|
||||
configSchema: { ...mockSchema, title: 'backend-common' },
|
||||
}),
|
||||
},
|
||||
b: {
|
||||
'backend-defaults': {
|
||||
'package.json': JSON.stringify({
|
||||
name: 'a',
|
||||
dependencies: {
|
||||
b: '0.0.0',
|
||||
},
|
||||
name: '@backstage/backend-defaults',
|
||||
version: '1',
|
||||
configSchema: { ...mockSchema, title: 'backend-defaults' },
|
||||
}),
|
||||
},
|
||||
'@backstage': {
|
||||
'backend-common': {
|
||||
'package.json': JSON.stringify({
|
||||
name: '@backstage/backend-common',
|
||||
configSchema: { ...mockSchema, title: 'backend-common' },
|
||||
}),
|
||||
},
|
||||
'backend-defaults': {
|
||||
'package.json': JSON.stringify({
|
||||
name: '@backstage/backend-defaults',
|
||||
configSchema: { ...mockSchema, title: 'backend-defaults' },
|
||||
}),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -139,11 +131,22 @@ describe('collectConfigSchemas', () => {
|
||||
process.chdir(mockDir.path);
|
||||
|
||||
await expect(
|
||||
collectConfigSchemas([], [path.join('root', 'package.json')]),
|
||||
collectConfigSchemas(['root'], [path.join('root', 'package.json')]),
|
||||
).resolves.toEqual([
|
||||
{
|
||||
path: path.join('root', 'package.json'),
|
||||
value: mockSchema,
|
||||
value: { ...mockSchema, title: 'root' },
|
||||
packageName: 'root',
|
||||
},
|
||||
{
|
||||
path: path.join(
|
||||
'node_modules',
|
||||
'@backstage',
|
||||
'backend-defaults',
|
||||
'package.json',
|
||||
),
|
||||
value: { ...mockSchema, title: 'backend-defaults' },
|
||||
packageName: '@backstage/backend-defaults',
|
||||
},
|
||||
]);
|
||||
});
|
||||
@@ -214,18 +217,22 @@ describe('collectConfigSchemas', () => {
|
||||
{
|
||||
path: path.join('node_modules', 'b', 'package.json'),
|
||||
value: { ...mockSchema, title: 'b' },
|
||||
packageName: 'b',
|
||||
},
|
||||
{
|
||||
path: path.join('node_modules', 'c1', 'package.json'),
|
||||
value: { ...mockSchema, title: 'c1' },
|
||||
packageName: 'c1',
|
||||
},
|
||||
{
|
||||
path: path.join('node_modules', 'd1', 'package.json'),
|
||||
value: { ...mockSchema, title: 'd1' },
|
||||
packageName: 'd1',
|
||||
},
|
||||
{
|
||||
path: path.join('root', 'package.json'),
|
||||
value: { ...mockSchema, title: 'root' },
|
||||
packageName: 'root',
|
||||
},
|
||||
]),
|
||||
);
|
||||
@@ -268,10 +275,12 @@ describe('collectConfigSchemas', () => {
|
||||
{
|
||||
path: path.join('node_modules', 'a', 'package.json'),
|
||||
value: { ...mockSchema, title: 'inline' },
|
||||
packageName: 'a',
|
||||
},
|
||||
{
|
||||
path: path.join('node_modules', 'b', 'schema.json'),
|
||||
value: { ...mockSchema, title: 'external' },
|
||||
packageName: 'b',
|
||||
},
|
||||
{
|
||||
path: path.join('node_modules', 'c', 'schema.d.ts'),
|
||||
@@ -286,6 +295,7 @@ describe('collectConfigSchemas', () => {
|
||||
},
|
||||
required: ['tsKey'],
|
||||
},
|
||||
packageName: 'c',
|
||||
},
|
||||
]),
|
||||
);
|
||||
@@ -339,14 +349,17 @@ describe('collectConfigSchemas', () => {
|
||||
{
|
||||
path: path.join('node_modules', 'a', 'package.json'),
|
||||
value: mockSchema,
|
||||
packageName: 'a',
|
||||
},
|
||||
{
|
||||
path: path.join('node_modules', 'b', 'package.json'),
|
||||
value: { ...mockSchema, title: 'b' },
|
||||
packageName: 'b',
|
||||
},
|
||||
{
|
||||
path: path.join('node_modules', 'c', 'package.json'),
|
||||
value: { ...mockSchema, title: 'c1' },
|
||||
packageName: 'c',
|
||||
},
|
||||
{
|
||||
path: path.join(
|
||||
@@ -357,6 +370,7 @@ describe('collectConfigSchemas', () => {
|
||||
'package.json',
|
||||
),
|
||||
value: { ...mockSchema, title: 'c2' },
|
||||
packageName: 'c',
|
||||
},
|
||||
]),
|
||||
);
|
||||
|
||||
@@ -158,7 +158,6 @@ export async function collectConfigSchemas(
|
||||
.concat(tsSchemas)
|
||||
.filter(
|
||||
({ packageName }, _, original) =>
|
||||
true ||
|
||||
!(
|
||||
packageName === '@backstage/backend-common' &&
|
||||
original.some(
|
||||
|
||||
Reference in New Issue
Block a user