Upgrading re-reselect from 5.x to 6.x
Comparison of the public API of re-reselect 5.1.1 and 6.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.
Summary
| Removed import paths | 0 |
|---|---|
| Removed exports | 11 |
| Changed signatures | 4 |
| Removed class or interface members | 0 |
| Changed class or interface members | 3 |
| Newly deprecated | 0 |
| Requirement changes (engines, peer dependencies) | 1 |
| New exports | 3 |
Removed exports
| import | export | kind | Before |
|---|---|---|---|
re-reselect | Selector | type | (state: S) => R |
re-reselect | OutputSelector | type | Selector<S, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } |
re-reselect | ParametricSelector | type | (state: S, props: P, ...args: any[]) => R |
re-reselect | ParametricKeySelector | type | (state: S, props: P, ...args: any[]) => any |
re-reselect | CreateSelectorInstance | type | { [x: string]: any; [x: number]: any; [x: symbol]: any; } |
re-reselect | OutputParametricSelector | type | ParametricSelector<S, P, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } |
re-reselect | OptionalParametricSelector | type | (state: S, props?: P | undefined, ...args: any[]) => R |
re-reselect | ParametricKeySelectorCreator | type | (selectorInputs: { inputSelectors: D; resultFunc: C; keySelector: ParametricKeySelector<S, P>; }) => ParametricKeySelector<S, P> |
re-reselect | OutputParametricCachedSelector | type | (options: ParametricKeySelector<S, P> | ParametricOptions<S, P, C, D>) => ParametricSelector<S, P, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } & { getMatchingSelector: (state: S, props: P, ...args: any[]) => OutputParametricSelector<S, P, R, C, D>; removeMatchingSelector: (state: S, props: P, ...args: any[]) => void; clearCache: () => void; cache: ICacheObject; keySelector: ParametricKeySelector<S, P>; } |
re-reselect | OutputOptionalParametricSelector | type | OptionalParametricSelector<S, P, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } |
re-reselect | OutputOptionalParametricCachedSelector | type | (options: ParametricKeySelector<S, P> | ParametricOptions<S, P, C, D>) => OptionalParametricSelector<S, P, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } & { getMatchingSelector: (state: S, props?: P | undefined, ...args: any[]) => OutputOptionalParametricSelector<S, P, R, C, D>; removeMatchingSelector: (state: S, props?: P | undefined, ...args: any[]) => void; clearCache: () => void; cache: ICacheObject; keySelector: ParametricKeySelector<S, P>; } |
Changed signatures
| export | Before | After |
|---|---|---|
re-reselect · KeySelectorCreator | (selectorInputs: { inputSelectors: D; resultFunc: C; keySelector: KeySelector<S>; }) => KeySelector<S> | (selectorInputs: { inputSelectors: InputSelectors; resultFunc: Combiner<InputSelectors, Result>; keySelector?: TypedKeySelector<InputSelectors> | undefined; }) => TypedKeySelector<InputSelectors> |
re-reselect · OutputCachedSelector | (options: KeySelector<S> | Options<S, C, D>) => Selector<S, R> & { resultFunc: C; dependencies: D; recomputations: () => number; resetRecomputations: () => number; } & { getMatchingSelector: (state: S, ...args: any[]) => OutputSelector<S, R, C, D>; removeMatchingSelector: (state: S, ...args: any[]) => void; clearCache: () => void; cache: ICacheObject; keySelector: KeySelector<S>; } | any |
re-reselect · createCachedSelector | <S, R1, T>(selector: Selector<S, R1>, combiner: (res: R1) => T, createSelectorOptions?: any): OutputCachedSelector<S, T, (res: R1) => T, [Selector<S, R1>]> | <S, P, R1, T>(selector: ParametricSelector<S, P, R1>, combiner: (res: R1) => T, createSelectorOptions?: any): OutputParametricCachedSelector<S, P, T, (res: R1) => T, [ParametricSelector<S, P, R1>]> | <S, R1, R2, T>(selector1: Selector<S, R1>, selector2: Selector<S, R2>, combiner: (res1: R1, res2: R2) => T, createSelectorOptions?: any): OutputCachedSelector<S, T, (res1: R1, res2: R2) => T, [Selector<S, R1>, Selector<S, R2>]> | <S, P, R1, R… | <InputSelectors extends SelectorArray<any>, Result>(...createSelectorArgs: [...inputSelectors: InputSelectors, combiner: Combiner<InputSelectors, Result>]): (polymorphicOptions: PolymorphicCachedOptions<InputSelectors, Result>) => any | <InputSelectors extends SelectorArray<any>, Result>(...createSelectorArgs: [...inputSelectors: InputSelectors, combiner: Combiner<InputSelectors, Result>, createSelectorOptions: CreateSelectorOptions]): (polymorphicOptions: PolymorphicCachedOptions<InputSelectors, Result>) => any | <InputSelectors extends SelectorArray<any>, Result>(inputSelectors: [...InputSel… |
re-reselect · createStructuredCachedSelector | <T extends { [key: string]: (state: any, ...args: any[]) => any; }, S = $Values<{ [K in keyof T]: Parameters<T[K]>[0]; }>, P = Exclude<$Values<{ [K in keyof T]: Parameters<T[K]>[1]; }>, undefined>, R = { [K in keyof T]: ReturnType<T[K]>; }>(selectors: T): StructuredIsParametric<T> extends false ? OutputCachedSelector<S, R, (...args: $Values<R>[]) => R, Selector<S, $Values<R>>[]> : StructuredHasRequiredProps<T> extends true ? OutputParametricCachedSelector<S, P, R, (...args: $Values<R>[]) => R, ParametricSelector<S, P, $Values<R>>[]> : OutputOptionalParametricCachedSelector<S, P, R, (...args: $… | <InputSelectorsObject extends SelectorsObject<any>>(selectors: InputSelectorsObject): StructuredCachedSelector<InputSelectorsObject> |
Removed class or interface members
None detected.
Changed class or interface members
| member | Before | After |
|---|---|---|
LruObjectCache.isValidCacheKey | (key: ObjectCacheKey): boolean | (cacheKey: ObjectCacheKey): boolean |
FifoObjectCache.isValidCacheKey | (key: ObjectCacheKey): boolean | (cacheKey: ObjectCacheKey): boolean |
FlatObjectCache.isValidCacheKey | (key: ObjectCacheKey): boolean | (cacheKey: ObjectCacheKey): boolean |
Newly deprecated
None detected.
Requirement changes (engines, peer dependencies)
| Before | After | |
|---|---|---|
peerDependencies.reselect | ^5.0.0 | ^5.1.0 |
New exports (3)
| import | export | kind |
|---|---|---|
re-reselect | TypedKeySelector | type |
re-reselect | CreateCachedSelector | interface |
re-reselect | CreateCachedSelectorOptions | type |
Give your AI agent these facts
Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Add to CursorAdd to VS Code★ Star on GitHub
Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests
Frequently asked questions
What are the breaking changes when upgrading re-reselect from 5 to 6?
Between re-reselect 5.1.1 and 6.0.0, Vigia found 11 removed exports, 4 changed signatures and 3 removed or changed class or interface members.
What became deprecated in re-reselect 6?
0 exports or members are newly marked as deprecated in re-reselect 6.0.0.
For agents
GET https://vigia.coredls.cloud/v1/packages/npm/re-reselect/upgrade?from=5.1.1&to=6.0.0