execa को 9.x से 10.x पर अपग्रेड करना
execa 9.6.1 और 10.2.1 के सार्वजनिक API की तुलना, उनके TypeScript टाइप से अपने-आप निकाली गई। बदला हुआ सिग्नेचर संभावित असंगत बदलाव है, निश्चितता नहीं।
सारांश
| हटाए गए इम्पोर्ट पाथ | 0 |
|---|---|
| हटाए गए एक्सपोर्ट | 2 |
| बदले गए सिग्नेचर | 8 |
| क्लास या इंटरफ़ेस के हटाए गए सदस्य | 0 |
| क्लास या इंटरफ़ेस के बदले गए सदस्य | 10 |
| नए डिप्रिकेटेड | 0 |
| आवश्यकताओं में बदलाव (engines, peer निर्भरताएँ) | 1 |
| नए एक्सपोर्ट | 0 |
हटाए गए एक्सपोर्ट
| import | export | kind | पहले |
|---|---|---|---|
execa | execaCommand | variable | <NewOptionsType extends Options = {}>(options: NewOptionsType): ExecaCommandMethod<{} & NewOptionsType> | (templateString_0: TemplateStringsArray, templateString_1?: string | undefined): ResultPromise<{}> | <NewOptionsType extends Options = {}>(command: string, options?: NewOptionsType | undefined): ResultPromise<{} & NewOptionsType> |
execa | execaCommandSync | variable | <NewOptionsType extends SyncOptions = {}>(options: NewOptionsType): ExecaCommandSyncMethod<{} & NewOptionsType> | (templateString_0: TemplateStringsArray, templateString_1?: string | undefined): SyncResult<{}> | <NewOptionsType extends SyncOptions = {}>(command: string, options?: NewOptionsType | undefined): SyncResult<{} & NewOptionsType> |
बदले गए सिग्नेचर
| export | पहले | बाद में |
|---|---|---|
execa · $ | <NewOptionsType extends CommonOptions = {}>(options: NewOptionsType): ExecaScriptMethod<{} & NewOptionsType> | (templateString_0: TemplateStringsArray, ...templateString: TemplateExpression[]): ResultPromise<{}> | <NewOptionsType extends Options = {}>(file: string | URL, arguments?: readonly string[] | undefined, options?: NewOptionsType | undefined): ResultPromise<StricterOptions<{} & NewOptionsType, Options>> | <NewOptionsType extends Options = {}>(file: string | URL, options?: NewOptionsType | undefined): ResultPromise<StricterOptions<{} & NewOptionsType, Options>> | <NewOptionsType extends Options = {}>(options: NewOptionsType): ExecaScriptMethod<MergeOptions<{}, NewOptionsType, CommonOptions>> | (templateString_0: TemplateStringsArray, ...templateString: TemplateExpression[]): Omit<ResultPromise<{}>, "stdin" | "stdio"> & { stdin: any; stdio: any[]; } | <NewOptionsType extends Options = {}>(file: string | URL, arguments?: readonly string[] | undefined, options?: NewOptionsType | undefined): ScriptSubprocess<MergeOptions<{}, NewOptionsType, CommonOptions>> | <NewOptionsType extends Options = {}>(file: string | URL, options?: NewOptionsType | undefined): Sc… |
execa · execa | <NewOptionsType extends Options = {}>(options: NewOptionsType): ExecaMethod<{} & NewOptionsType> | (templateString_0: TemplateStringsArray, ...templateString: TemplateExpression[]): ResultPromise<{}> | <NewOptionsType extends Options = {}>(file: string | URL, arguments?: readonly string[] | undefined, options?: NewOptionsType | undefined): ResultPromise<{} & NewOptionsType> | <NewOptionsType extends Options = {}>(file: string | URL, options?: NewOptionsType | undefined): ResultPromise<{} & NewOptionsType> | <NewOptionsType extends Options = {}>(options: NewOptionsType): ExecaMethod<MergeOptions<{}, NewOptionsType, Options>> | (templateString_0: TemplateStringsArray, ...templateString: TemplateExpression[]): ResultPromise<{}> | <NewOptionsType extends Options = {}>(file: string | URL, arguments?: readonly string[] | undefined, options?: NewOptionsType | undefined): ResultPromise<MergeOptions<{}, NewOptionsType, Options>> | <NewOptionsType extends Options = {}>(file: string | URL, options?: NewOptionsType | undefined): ResultPromise<MergeOptions<{}, NewOptionsType, Options>> |
execa · Options | { readonly preferLocal?: boolean | undefined; readonly localDir?: string | URL | undefined; readonly node?: boolean | undefined; readonly nodeOptions?: readonly string[] | undefined; readonly nodePath?: string | URL | undefined; readonly shell?: string | boolean | URL | undefined; readonly cwd?: string | URL | undefined; readonly env?: Readonly<Partial<Record<string, string>>> | undefined; readonly extendEnv?: boolean | undefined; readonly input?: any; readonly inputFile?: string | URL | undefined; readonly stdin?: any; readonly stdout?: any; readonly stderr?: any; readonly stdio?: StdioOption… | TextOptions<false> | BinaryOptions<false> |
execa · execaNode | <NewOptionsType extends Options = {}>(options: NewOptionsType): ExecaNodeMethod<{} & NewOptionsType> | (templateString_0: TemplateStringsArray, ...templateString: TemplateExpression[]): ResultPromise<{}> | <NewOptionsType extends Options = {}>(scriptPath: string | URL, arguments?: readonly string[] | undefined, options?: NewOptionsType | undefined): ResultPromise<{} & NewOptionsType> | <NewOptionsType extends Options = {}>(scriptPath: string | URL, options?: NewOptionsType | undefined): ResultPromise<{} & NewOptionsType> | <NewOptionsType extends Options = {}>(options: NewOptionsType): ExecaNodeMethod<MergeOptions<{}, NewOptionsType, Options>> | (templateString_0: TemplateStringsArray, ...templateString: TemplateExpression[]): ResultPromise<{ readonly node: true; }> | <NewOptionsType extends Options = {}>(scriptPath: string | URL, arguments?: readonly string[] | undefined, options?: NewOptionsType | undefined): ResultPromise<NodeOptions<MergeOptions<{}, NewOptionsType, Options>>> | <NewOptionsType extends Options = {}>(scriptPath: string | URL, options?: NewOptionsType | undefined): ResultPromise<NodeOptions<Mer… |
execa · execaSync | <NewOptionsType extends SyncOptions = {}>(options: NewOptionsType): ExecaSyncMethod<{} & NewOptionsType> | (templateString_0: TemplateStringsArray, ...templateString: TemplateExpression[]): SyncResult<{}> | <NewOptionsType extends SyncOptions = {}>(file: string | URL, arguments?: readonly string[] | undefined, options?: NewOptionsType | undefined): SyncResult<{} & NewOptionsType> | <NewOptionsType extends SyncOptions = {}>(file: string | URL, options?: NewOptionsType | undefined): SyncResult<{} & NewOptionsType> | <NewOptionsType extends SyncOptions = {}>(options: NewOptionsType): ExecaSyncMethod<MergeOptions<{}, NewOptionsType, SyncOptions>> | (templateString_0: TemplateStringsArray, ...templateString: TemplateExpression[]): SyncResult<{}> | <NewOptionsType extends SyncOptions = {}>(file: string | URL, arguments?: readonly string[] | undefined, options?: NewOptionsType | undefined): SyncResult<MergeOptions<{}, NewOptionsType, SyncOptions>> | <NewOptionsType extends SyncOptions = {}>(file: string | URL, options?: NewOptionsType | undefined): SyncResult<MergeOptions<{}, NewOptionsType, SyncOptions>> |
execa · Subprocess | Omit<ChildProcess, "pipe" | "stdout" | "stderr" | "all" | typeof asyncIterator | "pid" | "stdin" | "stdio" | "kill" | "iterable" | "readable" | "writable" | "duplex" | keyof IpcMethods<HasIpcOption<OptionsType["ipc"], "ipcInput" extends keyof OptionsType ? OptionsType[keyof OptionsType & "ipcInput"] : undefined, "gracefulCancel" extends keyof OptionsType ? OptionsType[keyof OptionsType & "gracefulCancel"] : undefined>, OptionsType["serialization"]>> & { pid?: number | undefined; stdin: any; stdout: any; stderr: any; all: AllStream<AllIgnored<OptionsType["all"], OptionsType>>; stdio: Subprocess… | SubprocessIpcMethods<OptionsType> & PipableSubprocess & SubprocessResultMethods<OptionsType> & { pid?: number | undefined; stdin: SubprocessStdioStream<"0", OptionsType>; stdout: SubprocessStdioStream<"1", OptionsType>; stderr: SubprocessStdioStream<"2", OptionsType>; stdio: [...{ -readonly [FdNumber in keyof StdioOptionNormalized<OptionsType["stdio"]>]: SubprocessStdioStream<FdNumber extends string ? FdNumber : string, OptionsType>; }, ...HasIpcOption<OptionsType["ipc"], "node" extends keyof OptionsType ? OptionsType[keyof OptionsType & "node"] : undefined, "ipcInput" extends keyof OptionsTyp… |
execa · SyncOptions | { readonly preferLocal?: boolean | undefined; readonly localDir?: string | URL | undefined; readonly node?: boolean | undefined; readonly nodeOptions?: readonly string[] | undefined; readonly nodePath?: string | URL | undefined; readonly shell?: string | boolean | URL | undefined; readonly cwd?: string | URL | undefined; readonly env?: Readonly<Partial<Record<string, string>>> | undefined; readonly extendEnv?: boolean | undefined; readonly input?: any; readonly inputFile?: string | URL | undefined; readonly stdin?: any; readonly stdout?: any; readonly stderr?: any; readonly stdio?: StdioOption… | TextOptions<true> | BinaryOptions<true> |
execa · ResultPromise | Omit<ChildProcess, "pipe" | "stdout" | "stderr" | "all" | typeof asyncIterator | "pid" | "stdin" | "stdio" | "kill" | "iterable" | "readable" | "writable" | "duplex" | keyof IpcMethods<HasIpcOption<OptionsType["ipc"], "ipcInput" extends keyof OptionsType ? OptionsType[keyof OptionsType & "ipcInput"] : undefined, "gracefulCancel" extends keyof OptionsType ? OptionsType[keyof OptionsType & "gracefulCancel"] : undefined>, OptionsType["serialization"]>> & { pid?: number | undefined; stdin: any; stdout: any; stderr: any; all: AllStream<AllIgnored<OptionsType["all"], OptionsType>>; stdio: Subprocess… | SubprocessIpcMethods<OptionsType> & PipableSubprocess & SubprocessResultMethods<OptionsType> & { pid?: number | undefined; stdin: SubprocessStdioStream<"0", OptionsType>; stdout: SubprocessStdioStream<"1", OptionsType>; stderr: SubprocessStdioStream<"2", OptionsType>; stdio: [...{ -readonly [FdNumber in keyof StdioOptionNormalized<OptionsType["stdio"]>]: SubprocessStdioStream<FdNumber extends string ? FdNumber : string, OptionsType>; }, ...HasIpcOption<OptionsType["ipc"], "node" extends keyof OptionsType ? OptionsType[keyof OptionsType & "node"] : undefined, "ipcInput" extends keyof OptionsTyp… |
क्लास या इंटरफ़ेस के हटाए गए सदस्य
कुछ नहीं मिला।
क्लास या इंटरफ़ेस के बदले गए सदस्य
| member | पहले | बाद में |
|---|---|---|
ExecaError.all | ResultAllProperty<OptionsType["all"], OptionsType> | ResultAll<OptionsType> |
ExecaError.stdio | MapResultStdio<StdioOptionNormalized<OptionsType["stdio"]>, OptionsType> | [...MapResultStdio<StdioOptionNormalized<OptionsType["stdio"]>, OptionsType>, ...OptionsType extends unknown ? HasIpcOption<StricterOptions<OptionsType, Options>["ipc"], "node" extends keyof StricterOptions<OptionsType, Options> ? StricterOptions<OptionsType, Options>["node"] : undefined, "ipcInput"… |
ExecaError.stderr | ResultStdioProperty<"2", "2", IgnoresResultOutput<"2", OptionsType>, OptionsType> | ResultStdio<"2", "2", "2", OptionsType> |
ExecaError.stdout | ResultStdioProperty<"1", "1", IgnoresResultOutput<"1", OptionsType>, OptionsType> | ResultStdio<"1", "1", "1", OptionsType> |
ExecaError.ipcOutput | ResultIpcAsync<FdSpecificOption<OptionsType["buffer"], "ipc">, HasIpcOption<StricterOptions<OptionsType, Options>["ipc"], "ipcInput" extends keyof StricterOptions<OptionsType, Options> ? StricterOptions<OptionsType, Options>["ipcInput"] : undefined, "gracefulCancel" extends keyof StricterOptions<Opt… | OptionsType extends unknown ? ResultIpcAsync<FdSpecificOption<OptionsType["buffer"], "ipc">, HasIpcOption<StricterOptions<OptionsType, Options>["ipc"], "node" extends keyof StricterOptions<OptionsType, Options> ? StricterOptions<OptionsType, Options>["node"] : undefined, "ipcInput" extends keyof Str… |
ExecaError.pipedFrom | Result<Options>[] | (Result<Options> | ExecaError<Options>)[] |
ExecaSyncError.all | ResultAllProperty<OptionsType["all"], OptionsType> | ResultAll<OptionsType> |
ExecaSyncError.stdio | MapResultStdio<StdioOptionNormalized<OptionsType["stdio"]>, OptionsType> | [...MapResultStdio<StdioOptionNormalized<OptionsType["stdio"]>, OptionsType>] |
ExecaSyncError.stderr | ResultStdioProperty<"2", "2", IgnoresResultOutput<"2", OptionsType>, OptionsType> | ResultStdio<"2", "2", "2", OptionsType> |
ExecaSyncError.stdout | ResultStdioProperty<"1", "1", IgnoresResultOutput<"1", OptionsType>, OptionsType> | ResultStdio<"1", "1", "1", OptionsType> |
नए डिप्रिकेटेड
कुछ नहीं मिला।
आवश्यकताओं में बदलाव (engines, peer निर्भरताएँ)
| पहले | बाद में | |
|---|---|---|
engines.node | ^18.19.0 || >=20.5.0 | >=22 |
अपने AI एजेंट को ये तथ्य दें
Vigia एक मुफ़्त MCP सर्वर है: आपका कोडिंग एजेंट कोड लिखने से पहले वर्ज़न, ब्रेकिंग बदलाव और कमज़ोरियाँ जाँचता है। न साइनअप, न API कुंजी।
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Cursor में जोड़ेंVS Code में जोड़ें★ GitHub पर स्टार दें
कोई भी दूसरा MCP क्लाइंट
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }एजेंट स्किल (SKILL.md): एजेंट को बताती है कि Vigia कब इस्तेमाल करना है · पुल रिक्वेस्ट के लिए GitHub Action
अक्सर पूछे जाने वाले प्रश्न
execa को 9 से 10 पर अपग्रेड करने पर कौन-से असंगत बदलाव हैं?
execa 9.6.1 और 10.2.1 के बीच Vigia को 2 हटाए गए एक्सपोर्ट, 8 बदले गए सिग्नेचर और 10 हटाए या बदले गए क्लास/इंटरफ़ेस सदस्य मिले।
execa 10 में क्या डिप्रिकेट हुआ?
execa 10.2.1 में 0 एक्सपोर्ट या सदस्य नए रूप से डिप्रिकेटेड चिह्नित हैं।
एजेंटों के लिए
GET https://vigia.coredls.cloud/v1/packages/npm/execa/upgrade?from=9.6.1&to=10.2.1