Upgrading mutative from 1.x to 2.x
Comparison of the public API of mutative 1.3.0 and 2.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 | 0 |
| Changed signatures | 3 |
| Removed class or interface members | 0 |
| Changed class or interface members | 0 |
| Newly deprecated | 0 |
| Requirement changes (engines, peer dependencies) | 0 |
| New exports | 0 |
Removed exports
None detected.
Changed signatures
| export | Before | After |
|---|---|---|
mutative · apply | <T extends object, F extends boolean = false, A extends ApplyOptions<F> = ApplyOptions<F>>(state: T, patches: Patches, applyOptions?: A | undefined): ApplyResult<T, F, A> | <T extends object, F extends boolean = false, _A extends ApplyOptions<boolean> | undefined = ApplyImmutableOptions<F>>(state: T, patches: Patches, applyOptions?: undefined): ApplyState<T, F, undefined> | <T extends object, F extends boolean = false, A extends ApplyOptions<boolean> | undefined = ApplyImmutableOptions<F>>(state: T, patches: Patches, applyOptions: A): ApplyResult<T, F, A> | <T extends object, F extends boolean = false, A extends ApplyOptions<boolean> | undefined = ApplyImmutableOptions<F>>(state: T, patches: Patches, applyOptions?: A | undefined): ApplyResult<T, F, A | undefined>… |
mutative · create | <T extends unknown, F extends boolean = false, O extends PatchesOptions = false, R extends void | Promise<void> | T | Promise<T> = void>(base: T, mutate: (draft: Draft<T>) => R, options?: ExternalOptions<O, F> | undefined): CreateResult<T, O, F, R> | <T extends unknown, F extends boolean = false, O extends PatchesOptions = false, R extends void | Promise<void> = void>(base: T, mutate: (draft: T) => R, options?: ExternalOptions<O, F> | undefined): CreateResult<T, O, F, R> | <T extends unknown, P extends any[] = [], F extends boolean = false, O extends PatchesOptions = false, R extends void | Pr… | <T = never, F extends boolean = false, O extends PatchesOptions = false>(base: [T][T extends any ? 0 : never], mutate: [T] extends [never] ? never : (draft: Draft<[T][T extends any ? 0 : never]>) => ([[T][T extends any ? 0 : never]] extends [string | number | bigint | boolean | symbol | null | undefined] ? true : false) extends true ? Promise<void | [T][T extends any ? 0 : never] | Draft<[T][T extends any ? 0 : never]>> & { readonly __mutativeAsyncContext: never; } : void | (Promise<void | [T][T extends any ? 0 : never] | Draft<[T][T extends any ? 0 : never]>> & { readonly __mutativeAsyncConte… |
mutative · makeCreator | <_F extends boolean = false, _O extends PatchesOptions = false>(options?: ExternalOptions<_O, _F> | undefined): { <T extends unknown, F extends boolean = _F, O extends PatchesOptions = _O, R extends void | Promise<void> | T | Promise<T> = void>(base: T, mutate: (draft: Draft<T>) => R, options?: ExternalOptions<O, F> | undefined): CreateResult<T, O, F, R>; <T extends unknown, F extends boolean = _F, O extends PatchesOptions = _O, R extends void | Promise<void> = void>(base: T, mutate: (draft: T) => R, options?: ExternalOptions<O, F> | undefined): CreateResult<T, O, F, R>; <T extends unknown, P … | <_F extends boolean = false, _O extends PatchesOptions = false>(options?: ExternalOptions<_O, _F> | undefined): { <T = never, F extends boolean = _F, O extends PatchesOptions = _O>(base: ExplicitState<T>, mutate: ExplicitRecipe<T, [], ExplicitSyncReturn<T>>, options?: ExternalOptions<O, F> | undefined): Result<ExplicitState<T>, O, F>; <T = never, F extends boolean = _F, O extends PatchesOptions = _O>(base: ExplicitState<T>, mutate: ExplicitRecipe<T, [], Promise<ExplicitReturn<T>>>, options?: ExternalOptions<O, F> | undefined): Promise<Result<ExplicitState<T>, O, F>>; <T = never, F extends bool… |
Removed class or interface members
None detected.
Changed class or interface members
None detected.
Newly deprecated
None detected.
Requirement changes (engines, peer dependencies)
None detected.
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 mutative from 1 to 2?
Between mutative 1.3.0 and 2.0.0, Vigia found 0 removed exports, 3 changed signatures and 0 removed or changed class or interface members.
What became deprecated in mutative 2?
0 exports or members are newly marked as deprecated in mutative 2.0.0.
For agents
GET https://vigia.coredls.cloud/v1/packages/npm/mutative/upgrade?from=1.3.0&to=2.0.0