Vigia

Atualizar jackspeak de 3.x para 4.x

Comparação da API pública de jackspeak 3.4.3 e 4.2.3, calculada automaticamente a partir dos tipos TypeScript. Uma assinatura alterada é uma possível mudança incompatível, não uma certeza.

Resumo

Caminhos de importação removidos0
Exports removidos2
Assinaturas alteradas9
Membros de classes ou interfaces removidos0
Membros de classes ou interfaces alterados9
Novas descontinuações0
Mudanças de requisitos (engines, dependências peer)1
Novos exports10

Exports removidos

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

Assinaturas alteradas

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

Membros de classes ou interfaces removidos

Nenhuma detectada.

Membros de classes ou interfaces alterados

memberAntesDepois
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

Novas descontinuações

Nenhuma detectada.

Mudanças de requisitos (engines, dependências peer)

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

Perguntas frequentes

Quais são as mudanças incompatíveis ao atualizar jackspeak de 3 para 4?

Entre jackspeak 3.4.3 e 4.2.3, o Vigia encontrou 2 exports removidos, 9 assinaturas alteradas e 9 membros de classes ou interfaces removidos ou alterados.

O que foi descontinuado em jackspeak 4?

0 exports ou membros foram marcados como descontinuados em jackspeak 4.2.3.

Para agentes

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