Vigia

jackspeak を 3.x から 4.x へアップグレード

jackspeak 3.4.3 と 4.2.3 の公開 API を、TypeScript の型から自動的に比較したものです。シグネチャの変更は破壊的変更の候補であり、確定ではありません。

概要

削除されたインポートパス0
削除されたエクスポート2
変更されたシグネチャ9
削除されたクラス/インターフェースのメンバー0
変更されたクラス/インターフェースのメンバー9
新たに非推奨0
要件の変更(engines、peer 依存関係)1
新しいエクスポート10

削除されたエクスポート

importexportkind変更前
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>

変更されたシグネチャ

export変更前変更後
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>; }

削除されたクラス/インターフェースのメンバー

検出されませんでした。

変更されたクラス/インターフェースのメンバー

member変更前変更後
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

新たに非推奨

検出されませんでした。

要件の変更(engines、peer 依存関係)

変更前変更後
engines.node—20 || >=22
新しいエクスポート (10)
importexportkind
jackspeakConfigValuetype
jackspeakConfigOptiontype
jackspeakValidOptionstype
jackspeakReadonlyArraystype
jackspeakParseArgsOptiontype
jackspeakConfigValueArraytype
jackspeakParseArgsDefaulttype
jackspeakParseArgsOptionstype
jackspeakConfigValuePrimitivetype
jackspeakisConfigOptionOfTypevariable

よくある質問

jackspeak を 3 から 4 にアップグレードする際の破壊的変更は?

jackspeak 3.4.3 と 4.2.3 の間で、Vigia は削除されたエクスポートを 2 件、変更されたシグネチャを 9 件、削除または変更されたクラス/インターフェースのメンバーを 9 件検出しました。

jackspeak 4 で非推奨になったものは?

jackspeak 4.2.3 では 0 件のエクスポートまたはメンバーが新たに非推奨になりました。

エージェント向け

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