From bce557cc2dc767628bed6aac87301a1be7c5431b Mon Sep 17 00:00:00 2001 From: rxliuli Date: Tue, 4 Nov 2025 05:03:50 +0800 Subject: init commit --- src/utils/features/runtime.ts | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/utils/features/runtime.ts (limited to 'src/utils/features/runtime.ts') diff --git a/src/utils/features/runtime.ts b/src/utils/features/runtime.ts new file mode 100644 index 0000000..ebb83ad --- /dev/null +++ b/src/utils/features/runtime.ts @@ -0,0 +1,44 @@ +import { + buildFeatureConfig, + buildRuntimeFeatureKitConfig, + ENVIRONMENT, + loadFeatureKit, + type OnyxFeatures, +} from '@amp/web-apps-featurekit'; +import type { LoggerFactory } from '@amp/web-apps-logger'; +import { BUILD } from '~/config/build'; + +export async function setupRuntimeFeatures( + logger: LoggerFactory, +): Promise { + // load featureKit only for internal builds + if (import.meta.env.APP_SCOPE === 'internal' || import.meta.env.DEV) { + const features = await import('./consts'); + + // Build FeatureKit Config with overrides + const config = buildRuntimeFeatureKitConfig(features, { + [features.__FF_SHOW_RADAR]: buildFeatureConfig({ + [ENVIRONMENT.DEV]: true, + }), + [features.__FF_ARYA]: { + ...buildFeatureConfig({ [ENVIRONMENT.DEV]: false }), + itfe: ['y9ttlj15'], + }, + }); + // Load runtime featureKit + return loadFeatureKit( + 'com.apple.apps', + ENVIRONMENT.DEV, + config, + logger, + { + enableToolbar: true, + radarConfig: { + component: 'ASE Web', + app: 'App Store', + build: BUILD, + }, + }, + ); + } +} -- cgit v1.2.3