Vigia

jackspeak upgraden van 3.x naar 4.x

Vergelijking van de publieke API van jackspeak 3.4.3 en 4.2.3, automatisch berekend uit hun TypeScript-types. Een gewijzigde signatuur is een mogelijke brekende wijziging, geen zekerheid.

Samenvatting

Verwijderde importpaden0
Verwijderde exports2
Gewijzigde signaturen9
Verwijderde leden van klassen of interfaces0
Gewijzigde leden van klassen of interfaces9
Nieuw als verouderd gemarkeerd0
Gewijzigde vereisten (engines, peer-afhankelijkheden)1
Nieuwe exports10

Verwijderde exports

importexportkindVoor
jackspeakMultiTypetypeM extends true ? { multiple: true; delim?: string | undefined; } : M extends false ? { multiple?: false | undefined; delim?: undefined; } : { multiple?: boolean | undefined; delim?: string | undefined; }
jackspeakConfigOptionBasetype{ type: T; short?: string | undefined; default?: ValidValue<T, M> | undefined; description?: string | undefined; hint?: (T extends "boolean" ? undefined : string | undefined) | undefined; validate?: ((v: unknown) => v is ValidValue<T, M>) | undefined; validOptions?: (T extends "boolean" ? undefined : T extends "string" ? readonly string[] : T extends "number" ? readonly number[] : readonly string[] | readonly number[]) | undefined; } & MultiType<M>

Gewijzigde signaturen

exportVoorNa
jackspeak · ConfigSet{ [longOption: string]: ConfigOptionBase<ConfigType, boolean>; }{ [longOption: string]: ConfigOption<ConfigType, boolean, readonly number[] | readonly string[] | undefined>; }
jackspeak · UsageFieldTextRow | { type: "config"; name: string; value: ConfigOptionBase<ConfigType, boolean>; }TextRow | { type: "config"; name: string; value: ConfigOption<ConfigType, boolean, readonly number[] | readonly string[] | undefined>; }
jackspeak · ValidValue[T, M] extends ["number", true] ? number[] : [T, M] extends ["string", true] ? string[] : [T, M] extends ["boolean", true] ? boolean[] : [T, M] extends ["number", false] ? number : [T, M] extends ["string", false] ? string : [T, M] extends ["boolean", false] ? boolean : [T, M] extends ["string", boolean] ? string | string[] : [T, M] extends ["boolean", boolean] ? boolean | boolean[] : [T, M] extends ["number", boolean] ? number | number[] : [T, M] extends [ConfigType, false] ? string | number | boolean : [T, M] extends [ConfigType, true] ? number[] | string[] | boolean[] : string | number | bo…[T, M] extends ["number", true] ? number[] : [T, M] extends ["string", true] ? string[] : [T, M] extends ["boolean", true] ? boolean[] : [T, M] extends ["number", false] ? number : [T, M] extends ["string", false] ? string : [T, M] extends ["boolean", false] ? boolean : [T, M] extends ["string", boolean] ? string | string[] : [T, M] extends ["boolean", boolean] ? boolean | boolean[] : [T, M] extends ["number", boolean] ? number | number[] : [T, M] extends [ConfigType, false] ? ConfigValuePrimitive : [T, M] extends [ConfigType, true] ? ConfigValueArray : ConfigValue
jackspeak · isConfigType(t: string): t is ConfigType(t: unknown): t is ConfigType
jackspeak · ConfigMetaSet{ [longOption: string]: ConfigOptionMeta<T, M, (T extends "boolean" ? never : T extends "string" ? readonly string[] : T extends "number" ? readonly number[] : readonly string[] | readonly number[]) | undefined>; }{ [longOption: string]: ConfigOptionMeta<T, M, ConfigOption<T, M, ValidOptions<T> | undefined>>; }
jackspeak · OptionsResults{ [k in keyof T]?: (T[k]["validOptions"] extends readonly string[] | readonly number[] ? T[k] extends ConfigOptionBase<"string" | "number", false> ? T[k]["validOptions"][number] : T[k] extends ConfigOptionBase<"string" | "number", true> ? T[k]["validOptions"][number][] : never : T[k] extends ConfigOptionBase<"string", false> ? string : T[k] extends ConfigOptionBase<"string", true> ? string[] : T[k] extends ConfigOptionBase<"number", false> ? number : T[k] extends ConfigOptionBase<"number", true> ? number[] : T[k] extends ConfigOptionBase<"boolean", false> ? boolean : T[k] extends ConfigOptionB…{ [K in keyof T]: (T[K]["validOptions"] extends ReadonlyArrays ? T[K] extends ConfigOption<"string" | "number", false, readonly number[] | readonly string[] | undefined> ? T[K]["validOptions"][number] : T[K] extends ConfigOption<"string" | "number", true, readonly number[] | readonly string[] | undefined> ? T[K]["validOptions"][number][] : never : T[K] extends ConfigOption<"string", false, readonly string[] | undefined> ? string : T[K] extends ConfigOption<"string", true, readonly string[] | undefined> ? string[] : T[K] extends ConfigOption<"number", false, readonly number[] | undefined> ? num…
jackspeak · isConfigOption<T extends ConfigType, M extends boolean>(o: any, type: T, multi: M): o is ConfigOptionBase<T, M><T extends ConfigType, M extends boolean>(o: unknown, type: T, multi: M): o is ConfigOption<T, M, ValidOptions<T> | undefined>
jackspeak · ConfigOptionMeta{ default?: (ValidValue<T, M> & (O extends number[] | string[] ? M extends false ? O[number] : O[number][] : unknown)) | undefined; validOptions?: O | undefined; description?: string | undefined; validate?: ((v: unknown) => v is ValidValue<T, M>) | ((v: unknown) => boolean) | undefined; short?: string | undefined; type?: T | undefined; hint?: (T extends "boolean" ? never : string) | undefined; delim?: (M extends true ? string : never) | undefined; } & (M extends false ? { multiple?: false | undefined; } : M extends true ? { multiple: true; } : { multiple?: boolean | undefined; })Pick<Partial<O>, "type"> & Omit<O, "type">
jackspeak · ConfigSetFromMetaSet{ [longOption in keyof S]: ConfigOptionBase<T, M>; }S & { [longOption in keyof S]: ConfigOption<T, M, ValidOptions<T> | undefined>; }

Verwijderde leden van klassen of interfaces

Niets gevonden.

Gewijzigde leden van klassen of interfaces

memberVoorNa
Jack.num<F extends ConfigMetaSet<"number", false>>(fields: F): Jack<C & ConfigSetFromMetaSet<"number", false, F>><F extends ConfigMetaSet<"number", false>>(fields: F): Jack<C & F & { [longOption in keyof F]: ConfigOption<"number", false, readonly number[] | undefined>; }>
Jack.opt<F extends ConfigMetaSet<"string", false>>(fields: F): Jack<C & ConfigSetFromMetaSet<"string", false, F>><F extends ConfigMetaSet<"string", false>>(fields: F): Jack<C & F & { [longOption in keyof F]: ConfigOption<"string", false, readonly string[] | undefined>; }>
Jack.flag<F extends ConfigMetaSet<"boolean", false>>(fields: F): Jack<C & ConfigSetFromMetaSet<"boolean", false, F>><F extends ConfigMetaSet<"boolean", false>>(fields: F): Jack<C & F & { [longOption in keyof F]: ConfigOption<"boolean", false, undefined>; }>
Jack.toJSON(): { [k: string]: { hint?: string | undefined; default?: string | number | boolean | number[] | string[] | boolean[] | undefined; validOptions?: readonly string[] | readonly number[] | undefined; validate?: ((v: unknown) => v is string | number | boolean | number[] | string[] | boolean[]) | undefin…(): { [k: string]: { hint?: string | undefined; default?: ConfigValue | undefined; validOptions?: readonly number[] | readonly string[] | undefined; validate?: ((v: unknown) => boolean) | ((v: unknown) => v is ConfigValue) | undefined; description?: string | undefined; short?: string | undefined; de…
Jack.numList<F extends ConfigMetaSet<"number">>(fields: F): Jack<C & ConfigSetFromMetaSet<"number", true, F>><F extends ConfigMetaSet<"number", true>>(fields: F): Jack<C & F & { [longOption in keyof F]: ConfigOption<"number", true, readonly number[] | undefined>; }>
Jack.optList<F extends ConfigMetaSet<"string">>(fields: F): Jack<C & ConfigSetFromMetaSet<"string", true, F>><F extends ConfigMetaSet<"string", true>>(fields: F): Jack<C & F & { [longOption in keyof F]: ConfigOption<"string", true, readonly string[] | undefined>; }>
Jack.flagList<F extends ConfigMetaSet<"boolean">>(fields: F): Jack<C & ConfigSetFromMetaSet<"boolean", true, F>><F extends ConfigMetaSet<"boolean", true>>(fields: F): Jack<C & F & { [longOption in keyof F]: ConfigOption<"boolean", true, undefined>; }>
Jack.setConfigValues(values: OptionsResults<C>, source?: string | undefined): Jack<C>(values: Partial<OptionsResults<C>>, source?: string | undefined): Jack<C>
JackOptions.env{ [k: string]: string | undefined; } | undefinedRecord<string, string | undefined> | undefined

Nieuw als verouderd gemarkeerd

Niets gevonden.

Gewijzigde vereisten (engines, peer-afhankelijkheden)

VoorNa
engines.node—20 || >=22
Nieuwe exports (10)
importexportkind
jackspeakConfigValuetype
jackspeakConfigOptiontype
jackspeakValidOptionstype
jackspeakReadonlyArraystype
jackspeakParseArgsOptiontype
jackspeakConfigValueArraytype
jackspeakParseArgsDefaulttype
jackspeakParseArgsOptionstype
jackspeakConfigValuePrimitivetype
jackspeakisConfigOptionOfTypevariable

Geef je AI-agent deze feiten

Vigia is een gratis MCP-server: je coding-agent controleert versies, breaking changes en kwetsbaarheden voordat hij code schrijft. Geen account, geen API-sleutel.

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

Toevoegen aan CursorToevoegen aan VS Code★ Ster op GitHub

Elke andere MCP-client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Agent-skill (SKILL.md): vertelt de agent wanneer hij Vigia moet gebruiken · GitHub Action voor pull requests

Veelgestelde vragen

Wat zijn de brekende wijzigingen bij het upgraden van jackspeak van 3 naar 4?

Tussen jackspeak 3.4.3 en 4.2.3 vond Vigia 2 verwijderde exports, 9 gewijzigde signaturen en 9 verwijderde of gewijzigde leden van klassen of interfaces.

Wat is verouderd in jackspeak 4?

0 exports of leden zijn in jackspeak 4.2.3 nieuw als verouderd gemarkeerd.

Voor agents

GET https://vigia.coredls.cloud/v1/packages/npm/jackspeak/upgrade?from=3.4.3&to=4.2.3