Vigia

Upgrade von jackspeak 3.x auf 4.x

Vergleich der öffentlichen API von jackspeak 3.4.3 und 4.2.3, automatisch aus den TypeScript-Typen berechnet. Eine geänderte Signatur ist ein möglicher Breaking Change, keine Gewissheit.

Zusammenfassung

Entfernte Importpfade0
Entfernte Exporte2
Geänderte Signaturen9
Entfernte Member von Klassen oder Interfaces0
Geänderte Member von Klassen oder Interfaces9
Neu als veraltet markiert0
Geänderte Anforderungen (engines, Peer-Abhängigkeiten)1
Neue Exporte10

Entfernte Exporte

importexportkindVorher
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>

Geänderte Signaturen

exportVorherNachher
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>; }

Entfernte Member von Klassen oder Interfaces

Keine gefunden.

Geänderte Member von Klassen oder Interfaces

memberVorherNachher
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

Neu als veraltet markiert

Keine gefunden.

Geänderte Anforderungen (engines, Peer-Abhängigkeiten)

VorherNachher
engines.node—20 || >=22
Neue Exporte (10)
importexportkind
jackspeakConfigValuetype
jackspeakConfigOptiontype
jackspeakValidOptionstype
jackspeakReadonlyArraystype
jackspeakParseArgsOptiontype
jackspeakConfigValueArraytype
jackspeakParseArgsDefaulttype
jackspeakParseArgsOptionstype
jackspeakConfigValuePrimitivetype
jackspeakisConfigOptionOfTypevariable

Häufige Fragen

Welche Breaking Changes gibt es beim Upgrade von jackspeak 3 auf 4?

Zwischen jackspeak 3.4.3 und 4.2.3 hat Vigia 2 entfernte Exporte, 9 geänderte Signaturen und 9 entfernte oder geänderte Member von Klassen oder Interfaces gefunden.

Was wurde in jackspeak 4 als veraltet markiert?

0 Exporte oder Member sind in jackspeak 4.2.3 neu als veraltet markiert.

Für Agenten

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