- 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
39 lines
866 B
TypeScript
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';
|