@mpgd/target-config 0.5.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import type { AdPlacementEntry, AdPlacements, ProductCatalog, ProductCatalogEntry } from '@mpgd/catalog';
2
- import { type FeatureAvailabilityReason, type TargetCapabilityConfig, type TargetConfig, type TargetConfigMatrix, type TargetFeatureConfig, type TargetIntegrationConfig, type TargetPolicyRestrictions, type TargetReleaseConfig, type TargetRuntimeKind } from './runtime.js';
2
+ import { type FeatureAvailabilityReason, type TargetCapabilityConfig, type TargetConfig, type TargetConfigMatrix, type TargetFeatureConfig, type TargetIntegrationConfig, type TargetLocalizationConfig, type TargetPolicyRestrictions, type TargetReleaseConfig, type TargetRuntimeKind } from './runtime.js';
3
3
  export type EffectiveAvailabilityReason = FeatureAvailabilityReason | 'missing-platform-id';
4
4
  export interface EffectivePlatformTargetMetadata {
5
5
  readonly kind: string;
@@ -7,6 +7,7 @@ export interface EffectivePlatformTargetMetadata {
7
7
  readonly artifact?: string;
8
8
  readonly output?: string;
9
9
  readonly webDir?: string;
10
+ readonly integrations?: Partial<TargetIntegrationConfig>;
10
11
  }
11
12
  export interface EffectiveTargetConfigSources {
12
13
  readonly targetConfig: string;
@@ -53,6 +54,7 @@ export interface EffectiveStorageConfig {
53
54
  }
54
55
  export interface EffectiveLocalizationConfig {
55
56
  readonly enabled: boolean;
57
+ readonly fallbackLocale: TargetLocalizationConfig['fallbackLocale'];
56
58
  }
57
59
  export interface EffectiveTargetConfig {
58
60
  readonly version: string;
package/dist/effective.js CHANGED
@@ -4,6 +4,10 @@ export function createEffectiveTargetConfig(input) {
4
4
  const products = input.catalog.products.map((product) => createEffectiveProductConfig(input.target, input.config, product));
5
5
  const placements = input.adPlacements.placements.map((placement) => createEffectiveAdPlacementConfig(input.target, input.config, placement));
6
6
  const leaderboardEnabled = input.config.features.leaderboard;
7
+ const integrations = normalizeTargetIntegrationConfig({
8
+ ...input.config.integrations,
9
+ ...input.platformTarget?.integrations,
10
+ });
7
11
  return {
8
12
  version: effectiveTargetConfigVersion({
9
13
  targetConfig: input.targetConfigVersion,
@@ -15,7 +19,7 @@ export function createEffectiveTargetConfig(input) {
15
19
  release: input.config.release,
16
20
  features: input.config.features,
17
21
  capabilities: input.config.capabilities,
18
- integrations: normalizeTargetIntegrationConfig(input.config.integrations),
22
+ integrations,
19
23
  policy: input.config.policy,
20
24
  sources: {
21
25
  targetConfig: input.targetConfigVersion,
@@ -49,6 +53,7 @@ export function createEffectiveTargetConfig(input) {
49
53
  },
50
54
  localization: {
51
55
  enabled: input.config.capabilities.localization,
56
+ fallbackLocale: input.config.localization.fallbackLocale,
52
57
  },
53
58
  };
54
59
  }