Use local flag instead of static config

Signed-off-by: Musaab Elfaqih <musaabe@spotify.com>
This commit is contained in:
Musaab Elfaqih
2025-04-24 17:35:32 +02:00
parent 679207e918
commit 86c5c6a72c
2 changed files with 5 additions and 6 deletions
@@ -33,14 +33,14 @@ export function resolveAppNodeSpecs(options: {
builtinExtensions?: Extension<any, any>[];
parameters?: Array<ExtensionParameters>;
forbidden?: Set<string>;
ignoreStaleExtensionConfig?: boolean;
allowUnknownExtensionConfig?: boolean;
}): AppNodeSpec[] {
const {
builtinExtensions = [],
parameters = [],
forbidden = new Set(),
features = [],
ignoreStaleExtensionConfig = false,
allowUnknownExtensionConfig = false,
} = options;
const plugins = features.filter(OpaqueFrontendPlugin.isType);
@@ -204,7 +204,7 @@ export function resolveAppNodeSpecs(options: {
existing.params.disabled = Boolean(overrideParam.disabled);
}
order.set(extensionId, existing);
} else if (!ignoreStaleExtensionConfig) {
} else if (!allowUnknownExtensionConfig) {
throw new Error(`Extension ${extensionId} does not exist`);
}
}
@@ -208,6 +208,7 @@ export function createSpecializedApp(options?: {
extensionFactoryMiddleware?:
| ExtensionFactoryMiddleware
| ExtensionFactoryMiddleware[];
flags?: Record<string, boolean>;
}): { apis: ApiHolder; tree: AppTree } {
const config = options?.config ?? new ConfigReader({}, 'empty-config');
const features = deduplicateFeatures(options?.features ?? []);
@@ -221,9 +222,7 @@ export function createSpecializedApp(options?: {
],
parameters: readAppExtensionsConfig(config),
forbidden: new Set(['root']),
ignoreStaleExtensionConfig: config.getOptionalBoolean(
'app.ignoreStaleExtensionConfig',
),
allowUnknownExtensionConfig: options?.flags?.allowUnknownExtensionConfig,
}),
);