npm package diff

Package: @forge/cli-shared

Versions: 6.6.1-next.8 - 6.6.1-next.9

File: package/out/service/supported-products-service.d.ts

Index: package/out/service/supported-products-service.d.ts
===================================================================
--- package/out/service/supported-products-service.d.ts
+++ package/out/service/supported-products-service.d.ts
@@ -1,29 +1,38 @@
 /// <reference types="node" />
 import { StatsigService } from './statsig-service';
 import { URL } from 'url';
 import { ProductDisplayName } from '../shared';
-declare const SUPPORTED_PRODUCTS_ALL: readonly ["Jira", "Confluence", "Compass", "Teamwork Graph", "Atlas", "Bitbucket"];
-export declare const TEST_ONLY_EXPORTS: {
-    SITED_PRODUCTS_ALL: readonly ["Jira", "Confluence", "Compass", "Teamwork Graph", "Atlas"];
-    SITED_PRODUCTS_ALWAYS_ENABLED: readonly ["Jira", "Confluence", "Compass"];
-    WORKSPACE_PRODUCTS_ALL: readonly ["Bitbucket"];
-    SUPPORTED_PRODUCTS_ALWAYS_ENABLED: readonly ["Jira", "Confluence", "Compass", "Bitbucket"];
+export declare type SupportedProduct = 'Jira' | 'Confluence' | 'Compass' | 'Teamwork Graph' | 'Atlas' | 'Bitbucket';
+declare type ProductType = 'sited' | 'workspace';
+export declare type ProductDefinition = {
+    name: SupportedProduct;
+    productType: ProductType;
+    special?: {
+        supportedByCrossProductApps?: boolean;
+        isEnabledByFeatureGate?: (statsigService: StatsigService) => Promise<boolean>;
+    };
 };
-export declare type SupportedProduct = (typeof SUPPORTED_PRODUCTS_ALL)[number] & ProductDisplayName;
+declare class SupportedProductEntry {
+    productName: SupportedProduct;
+    productType: ProductType;
+    supportedByCrossProductApps: boolean;
+    constructor(productName: SupportedProduct, productType: ProductType, supportedByCrossProductApps: boolean);
+}
+declare function resolveEnabledProducts(statsigService: StatsigService): Promise<SupportedProductEntry[]>;
 export declare class SupportedProductsService {
-    private readonly statsigService;
-    private featureGatedProductsCache;
-    constructor(statsigService: StatsigService);
-    private buildFeatureGatedProduct;
-    private getFeatureGatedProducts;
-    private getProductsEnabledByFeatureGate;
-    private ensureProductDisplayName;
-    getSupportedProducts(requiredProducts?: string[]): Promise<SupportedProduct[]>;
-    private getSupportedWorkspaceProducts;
-    validateSupportedProduct(productNameInput: string): Promise<SupportedProduct>;
-    isWorkspaceProduct(product: string): Promise<boolean>;
-    validateSite(site: string, product: ProductDisplayName | undefined): Promise<URL>;
+    private supportedProducts?;
+    constructor(supportedProducts?: SupportedProductEntry[] | undefined);
+    initializeWithSupportedProducts(statsigService: StatsigService): Promise<void>;
+    private getSupportedProductsNames;
+    getSupportedProducts(): SupportedProduct[];
+    getSupportedSecondaryProductsForXPA(requiredProducts: string[]): SupportedProduct[];
+    validateSupportedProduct(productNameInput: string): SupportedProduct;
+    isWorkspaceProduct(product: string): boolean;
+    validateSite(site: string, product: ProductDisplayName | undefined): URL;
 }
 export declare const isBitbucketProduct: (product: string) => boolean;
+export declare const TEST_ONLY_EXPORTS: {
+    resolveEnabledProducts: typeof resolveEnabledProducts;
+};
 export {};
 //# sourceMappingURL=supported-products-service.d.ts.map
\ No newline at end of file