Vigia

@growthbook/growthbook을(를) 1.x에서 2.x로 업그레이드하기

@growthbook/growthbook 1.8.0과 2.0.0의 공개 API를 TypeScript 타입에서 자동으로 비교한 결과입니다. 시그니처 변경은 호환성이 깨질 가능성이 있다는 뜻이며 확정은 아닙니다.

요약

삭제된 import 경로0
삭제된 export0
변경된 시그니처8
삭제된 클래스·인터페이스 멤버0
변경된 클래스·인터페이스 멤버1
새로 지원 중단됨0
요구 사항 변경 (engines, peer 의존성)0
새 export26

삭제된 export

감지되지 않았습니다.

변경된 시그니처

export이전이후
@growthbook/growthbook · Context{ enabled?: boolean | undefined; attributes?: Attributes | undefined; url?: string | undefined; features?: Record<string, FeatureDefinition<any>> | undefined; experiments?: AutoExperiment<AutoExperimentVariation>[] | undefined; forcedVariations?: Record<string, number> | undefined; forcedFeatureValues?: Map<string, any> | undefined; attributeOverrides?: Attributes | undefined; blockedChangeIds?: string[] | undefined; disableVisualExperiments?: boolean | undefined; disableJsInjection?: boolean | undefined; jsInjectionNonce?: string | undefined; disableUrlRedirectExperiments?: boolean | undefine…{ enabled?: boolean | undefined; attributes?: Attributes | undefined; remoteGroupIds?: string[] | undefined; url?: string | undefined; features?: Record<string, FeatureDefinition<any>> | undefined; experiments?: AutoExperiment<AutoExperimentVariation>[] | undefined; forcedVariations?: Record<string, number> | undefined; forcedFeatureValues?: Map<string, any> | undefined; attributeOverrides?: Attributes | undefined; blockedChangeIds?: string[] | undefined; disableVisualExperiments?: boolean | undefined; disableJsInjection?: boolean | undefined; jsInjectionNonce?: string | undefined; disableUrlR…
@growthbook/growthbook · Options{ enabled?: boolean | undefined; attributes?: Attributes | undefined; url?: string | undefined; features?: Record<string, FeatureDefinition<any>> | undefined; experiments?: AutoExperiment<AutoExperimentVariation>[] | undefined; forcedVariations?: Record<string, number> | undefined; forcedFeatureValues?: Map<string, any> | undefined; attributeOverrides?: Attributes | undefined; blockedChangeIds?: string[] | undefined; disableVisualExperiments?: boolean | undefined; disableJsInjection?: boolean | undefined; jsInjectionNonce?: string | undefined; disableUrlRedirectExperiments?: boolean | undefine…{ enabled?: boolean | undefined; attributes?: Attributes | undefined; remoteGroupIds?: string[] | undefined; url?: string | undefined; features?: Record<string, FeatureDefinition<any>> | undefined; experiments?: AutoExperiment<AutoExperimentVariation>[] | undefined; forcedVariations?: Record<string, number> | undefined; forcedFeatureValues?: Map<string, any> | undefined; attributeOverrides?: Attributes | undefined; blockedChangeIds?: string[] | undefined; disableVisualExperiments?: boolean | undefined; disableJsInjection?: boolean | undefined; jsInjectionNonce?: string | undefined; disableUrlR…
@growthbook/growthbook · UserContext{ enabled?: boolean | undefined; qaMode?: boolean | undefined; enableDevMode?: boolean | undefined; attributes?: Attributes | undefined; url?: string | undefined; blockedChangeIds?: string[] | undefined; stickyBucketAssignmentDocs?: Record<string, StickyAssignmentsDocument> | undefined; saveStickyBucketAssignmentDoc?: ((doc: StickyAssignmentsDocument) => Promise<unknown>) | undefined; forcedVariations?: Record<string, number> | undefined; forcedFeatureValues?: Map<string, any> | undefined; attributeOverrides?: Attributes | undefined; trackingCallback?: TrackingCallback | undefined; onFeatureUs…{ enabled?: boolean | undefined; qaMode?: boolean | undefined; enableDevMode?: boolean | undefined; attributes?: Attributes | undefined; remoteGroupIds?: string[] | undefined; url?: string | undefined; blockedChangeIds?: string[] | undefined; stickyBucketAssignmentDocs?: Record<string, StickyAssignmentsDocument> | undefined; saveStickyBucketAssignmentDoc?: ((doc: StickyAssignmentsDocument) => Promise<unknown>) | undefined; forcedVariations?: Record<string, number> | undefined; forcedFeatureValues?: Map<string, any> | undefined; attributeOverrides?: Attributes | undefined; trackingCallback?: Tr…
@growthbook/growthbook · evalCondition(obj: TestedObj, condition: ConditionInterface, savedGroups?: SavedGroupsPayload | undefined, visited?: Set<string> | undefined): boolean(obj: TestedObj, condition: ConditionInterface, options?: EvalConditionOptions | undefined): boolean
@growthbook/growthbook · AutoExperimentExperiment<T> & { changeId?: string | undefined; manual?: boolean | undefined; }Experiment<T> & { changeId?: string | undefined; manual?: boolean | undefined; metadata?: PayloadMetadata | undefined; contextualBanditRef?: string | undefined; }
@growthbook/growthbook · GrowthBookPayload{ features?: FeatureDefinitions | undefined; dateUpdated?: string | undefined; encryptedFeatures?: string | undefined; experiments?: AutoExperiment<AutoExperimentVariation>[] | undefined; encryptedExperiments?: string | undefined; savedGroups?: SavedGroupsPayload | undefined; encryptedSavedGroups?: string | undefined; contextualBandits?: ContextualBanditDefinitions | undefined; encryptedContextualBandits?: string | undefined; }{ features?: FeatureDefinitions | undefined; dateUpdated?: string | undefined; encryptedFeatures?: string | undefined; experiments?: AutoExperiment<AutoExperimentVariation>[] | undefined; encryptedExperiments?: string | undefined; savedGroups?: SavedGroupsPayload | undefined; encryptedSavedGroups?: string | undefined; contextualBandits?: ContextualBanditDefinitions | undefined; encryptedContextualBandits?: string | undefined; interleavings?: InterleavingDefinitions | undefined; encryptedInterleavings?: string | undefined; }
@growthbook/growthbook · FeatureApiResponse{ features?: FeatureDefinitions | undefined; dateUpdated?: string | undefined; encryptedFeatures?: string | undefined; experiments?: AutoExperiment<AutoExperimentVariation>[] | undefined; encryptedExperiments?: string | undefined; savedGroups?: SavedGroupsPayload | undefined; encryptedSavedGroups?: string | undefined; contextualBandits?: ContextualBanditDefinitions | undefined; encryptedContextualBandits?: string | undefined; }{ features?: FeatureDefinitions | undefined; dateUpdated?: string | undefined; encryptedFeatures?: string | undefined; experiments?: AutoExperiment<AutoExperimentVariation>[] | undefined; encryptedExperiments?: string | undefined; savedGroups?: SavedGroupsPayload | undefined; encryptedSavedGroups?: string | undefined; contextualBandits?: ContextualBanditDefinitions | undefined; encryptedContextualBandits?: string | undefined; interleavings?: InterleavingDefinitions | undefined; encryptedInterleavings?: string | undefined; }
@growthbook/growthbook · SavedGroupPayloadEntry{ type: "list"; attributeKey: string; values: (string | number)[]; } | { type: "condition"; condition: ConditionInterface; }{ type: "list"; attributeKey: string; values: (string | number)[]; } | { type: "condition"; condition: ConditionInterface; } | { type: "remote"; attributeKey: string; valuesFrom?: string | undefined; }

삭제된 클래스·인터페이스 멤버

감지되지 않았습니다.

변경된 클래스·인터페이스 멤버

member이전이후
GrowthBook.getAttributes(): { [x: string]: any; }(): Attributes

새로 지원 중단됨

감지되지 않았습니다.

요구 사항 변경 (engines, peer 의존성)

감지되지 않았습니다.

새 export (26)
importexportkind
@growthbook/growthbookredisResolverfunction
@growthbook/growthbookPayloadFilterstype
@growthbook/growthbookRedisSetClienttype
@growthbook/growthbookpruneConditionfunction
@growthbook/growthbookPayloadMetadatatype
@growthbook/growthbookRemoteSavedGrouptype
@growthbook/growthbookSavedGroupResolvertype
@growthbook/growthbookEvalConditionOptionstype
@growthbook/growthbookReducePayloadOptionstype
@growthbook/growthbookTypeMismatchCallbacktype
@growthbook/growthbookgetRemoteSavedGroupsfunction
@growthbook/growthbookConditionTypeMismatchtype
@growthbook/growthbookresolveRemoteGroupIdsfunction
@growthbook/growthbookInterleavingDefinitiontype
@growthbook/growthbookInterleavingDefinitionstype
@growthbook/growthbookREMOTE_GROUP_IDS_ATTRIBUTEvariable
@growthbook/growthbook/pluginsinterleavefunction
@growthbook/growthbook/pluginsInterleavedItemtype
@growthbook/growthbook/pluginsInterleaveConfigtype
@growthbook/growthbook/pluginsInterleaveResulttype
@growthbook/growthbook/pluginsinterleavePluginfunction
@growthbook/growthbook/pluginsInterleaveOptionstype
@growthbook/growthbook/pluginsInterleaveExposuretype
@growthbook/growthbook/pluginsInterleavePluginOptionstype
@growthbook/growthbook/pluginsInterleaveTrackingPropstype
@growthbook/growthbook/pluginsEVENT_INTERLEAVE_EXPOSUREvariable

이 데이터를 AI 에이전트에 제공하세요

Vigia는 무료 MCP 서버입니다. 코딩 에이전트가 코드를 작성하기 전에 버전, 호환성을 깨는 변경, 취약점을 확인합니다. 가입도 API 키도 필요 없습니다.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Cursor에 추가VS Code에 추가★ GitHub에서 스타 누르기

그 밖의 MCP 클라이언트
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

에이전트 스킬(SKILL.md): 에이전트에게 Vigia를 언제 쓸지 알려 줍니다 · 풀 리퀘스트용 GitHub Action

자주 묻는 질문

@growthbook/growthbook을(를) 1에서 2(으)로 업그레이드할 때 호환성이 깨지는 변경은 무엇인가요?

@growthbook/growthbook 1.8.0과 2.0.0 사이에서 Vigia는 삭제된 export 0개, 변경된 시그니처 8개, 삭제되거나 변경된 클래스·인터페이스 멤버 1개를 찾았습니다.

@growthbook/growthbook 2에서 지원 중단된 것은 무엇인가요?

@growthbook/growthbook 2.0.0에서 export 또는 멤버 0개가 새로 지원 중단으로 표시되었습니다.

에이전트용

GET https://vigia.coredls.cloud/v1/packages/npm/@growthbook/growthbook/upgrade?from=1.8.0&to=2.0.0