learning_ai_common_plat/packages/config/src/index.ts
saravanakumardb1 a0dafcd693 feat(config): overhaul product manifest schema + 51 tests
- Redesigned schema to match real-world product.json files across ecosystem
- Changed 'id' → 'productId' (matches all existing files)
- Support bundleId as string OR per-platform object
- Added backendPort, tagline, primarySurface, appStore, bundleIds fields
- Added legacy identity fields (licensePrefix, configDirName, envVarPrefix, etc.)
- Added duplicate container name validation via superRefine
- Fixed loadProductManifestSync: require() → readFileSync (ESM-safe)
- Added BundleIdSchema and AppStoreSchema exports
- Added 'mac' platform option
- 51 new tests covering all schemas, validation, file loading, real-world manifests
2026-03-19 19:43:46 -07:00

39 lines
866 B
TypeScript

export { baseEnvSchema, type BaseEnv } from './base-schema.js';
export { loadConfig } from './loader.js';
export {
loadProductIdentity,
getProductId,
_resetProductIdentity,
type ProductIdentity,
} from './product-identity.js';
export {
resolveSecrets,
resolveKeyVaultSecrets,
LYSNR_SECRETS,
type SecretMapping,
type SecretsProviderType,
} from './keyvault.js';
export {
ProductManifestSchema,
PlatformSchema,
ThemeSchema,
ContainerDefSchema,
FeatureFlagSchema,
PortConfigSchema,
BundleIdSchema,
AppStoreSchema,
ExtendedProductManifestSchema,
DEFAULT_THEME,
loadProductManifest,
loadProductManifestSync,
resolveTheme,
validateProductManifest,
safeValidateProductManifest,
type ProductManifest,
type Platform,
type Theme,
type ContainerDef,
type FeatureFlag,
type PortConfig,
} from './product-manifest.js';