chore: updates after pr feedback
This commit is contained in:
@@ -23,8 +23,13 @@ export function getAppPluginMetas(): AppPluginMetas {
|
||||
return cloneDeep(apps);
|
||||
}
|
||||
|
||||
export function getAppPluginMeta(id: string): AppPluginConfig {
|
||||
return getAppPluginMetas()[id];
|
||||
export function getAppPluginMeta(id: string): AppPluginConfig | undefined {
|
||||
if (!apps[id]) {
|
||||
console.error(`Plugin meta missing for plugin with id: ${id}`);
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return cloneDeep(apps[id]);
|
||||
}
|
||||
|
||||
export function setAppPluginMetas(override: AppPluginMetas) {
|
||||
|
||||
@@ -449,8 +449,10 @@ describe('AddedComponentsRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedComponents: [] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedComponents: [] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
@@ -500,8 +502,10 @@ describe('AddedComponentsRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedComponents: [] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedComponents: [] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
@@ -528,8 +532,10 @@ describe('AddedComponentsRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedComponents: [componentConfig] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedComponents: [componentConfig] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
|
||||
@@ -641,8 +641,10 @@ describe('addedFunctionsRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedFunctions: [] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedFunctions: [] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
@@ -692,8 +694,10 @@ describe('addedFunctionsRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedFunctions: [] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedFunctions: [] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
@@ -720,8 +724,10 @@ describe('addedFunctionsRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedFunctions: [fnConfig] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedFunctions: [fnConfig] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
|
||||
@@ -623,8 +623,10 @@ describe('AddedLinksRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedLinks: [] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedLinks: [] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
@@ -676,8 +678,10 @@ describe('AddedLinksRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedLinks: [] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedLinks: [] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
@@ -705,8 +709,10 @@ describe('AddedLinksRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedLinks: [linkConfig] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedLinks: [linkConfig] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
|
||||
@@ -422,8 +422,10 @@ describe('ExposedComponentsRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, exposedComponents: [] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, exposedComponents: [] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
@@ -473,8 +475,10 @@ describe('ExposedComponentsRegistry', () => {
|
||||
};
|
||||
|
||||
// Make sure that the meta-info is empty
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, exposedComponents: [] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, exposedComponents: [] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
@@ -500,8 +504,10 @@ describe('ExposedComponentsRegistry', () => {
|
||||
component: () => React.createElement('div', null, 'Hello World1'),
|
||||
};
|
||||
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, exposedComponents: [componentConfig] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, exposedComponents: [componentConfig] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
registry.register({
|
||||
|
||||
@@ -511,7 +511,9 @@ describe('usePluginComponents()', () => {
|
||||
|
||||
// The `AddedComponentsRegistry` is validating if the link is registered in the plugin metadata.
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
const config = { ...meta, extensions: { ...meta.extensions, addedComponents: [componentConfig] } };
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedComponents: [componentConfig] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
wrapper = ({ children }: { children: React.ReactNode }) => (
|
||||
|
||||
@@ -332,8 +332,10 @@ describe('usePluginFunctions()', () => {
|
||||
};
|
||||
|
||||
// The `AddedFunctionsRegistry` is validating if the function is registered in the plugin metadata.
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedFunctions: [functionConfig] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedFunctions: [functionConfig] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
wrapper = ({ children }: { children: React.ReactNode }) => (
|
||||
|
||||
@@ -269,8 +269,10 @@ describe('usePluginLinks()', () => {
|
||||
};
|
||||
|
||||
// The `AddedLinksRegistry` is validating if the link is registered in the plugin metadata (config.apps).
|
||||
const plugin = getAppPluginMeta(pluginId);
|
||||
const config = { ...plugin, extensions: { ...plugin.extensions, addedLinks: [linkConfig] } };
|
||||
const meta = getAppPluginMeta(pluginId);
|
||||
expect(meta).toBeDefined();
|
||||
|
||||
const config = { ...meta!, extensions: { ...meta!.extensions, addedLinks: [linkConfig] } };
|
||||
setAppPluginMetas({ [pluginId]: config });
|
||||
|
||||
wrapper = ({ children }: { children: React.ReactNode }) => (
|
||||
|
||||
@@ -683,7 +683,8 @@ export const getExposedComponentPluginDependencies = (exposedComponentId: string
|
||||
// metadata field. (For example the plugins that expose components that the app depends on.)
|
||||
// Heads up! This is a recursive function.
|
||||
export const getAppPluginDependencies = (pluginId: string, visited: string[] = []): string[] => {
|
||||
if (!getAppPluginMeta(pluginId)) {
|
||||
const app = getAppPluginMeta(pluginId);
|
||||
if (!app) {
|
||||
return [];
|
||||
}
|
||||
|
||||
@@ -692,9 +693,7 @@ export const getAppPluginDependencies = (pluginId: string, visited: string[] = [
|
||||
return [];
|
||||
}
|
||||
|
||||
const pluginIdDependencies = getAppPluginMeta(pluginId).dependencies.extensions.exposedComponents.map(
|
||||
getAppPluginIdFromExposedComponentId
|
||||
);
|
||||
const pluginIdDependencies = app.dependencies.extensions.exposedComponents.map(getAppPluginIdFromExposedComponentId);
|
||||
|
||||
return (
|
||||
pluginIdDependencies
|
||||
|
||||
Reference in New Issue
Block a user