Оновлення query-string з 9.x до 10.x
Порівняння публічного API query-string 9.5.1 і 10.0.0, обчислене автоматично за їхніми типами TypeScript. Змінена сигнатура — можлива несумісна зміна, а не гарантія.
Підсумок
| Видалені шляхи імпорту | 0 |
|---|---|
| Видалені експорти | 0 |
| Змінені сигнатури | 12 |
| Видалені члени класів або інтерфейсів | 0 |
| Змінені члени класів або інтерфейсів | 0 |
| Нові застарівання | 0 |
| Зміни вимог (engines, peer-залежності) | 1 |
| Нові експорти | 0 |
Видалені експорти
Не виявлено.
Змінені сигнатури
| export | Було | Стало |
|---|---|---|
query-string · ParsedUrl | { readonly url: string; readonly query: ParsedQuery<string>; readonly fragmentIdentifier?: string | undefined; } | { readonly url: string; readonly query: ParsedQuery<T>; readonly fragmentIdentifier?: string | undefined; } |
query-string · UrlObject | { readonly url: string; readonly query?: StringifiableRecord | undefined; readonly fragmentIdentifier?: string | undefined; } | { readonly url: string; readonly query?: Record<string, any> | undefined; readonly fragmentIdentifier?: string | undefined; } |
query-string · ParseOptions | { readonly decode?: boolean | undefined; readonly arrayFormat?: "bracket" | "index" | "comma" | "separator" | "bracket-separator" | "colon-list-separator" | "none" | undefined; readonly arrayFormatSeparator?: string | undefined; readonly sort?: false | ((itemLeft: string, itemRight: string) => number) | undefined; readonly parseNumbers?: boolean | undefined; readonly parseBooleans?: boolean | undefined; readonly parseFragmentIdentifier?: boolean | undefined; readonly types?: Record<string, "string" | "number" | "boolean" | "string[]" | "number[]" | ((value: string) => unknown)> | undefined; } | { readonly decode?: boolean | undefined; readonly arrayFormat?: "bracket" | "index" | "comma" | "separator" | "bracket-separator" | "colon-list-separator" | "none" | undefined; readonly arrayFormatSeparator?: string | undefined; readonly sort?: boolean | ((itemLeft: string, itemRight: string) => number) | undefined; readonly parseNumbers?: boolean | undefined; readonly parseBooleans?: boolean | undefined; readonly parseFragmentIdentifier?: boolean | undefined; readonly types?: Record<string, "string" | "number" | "boolean" | "string[]" | "number[]" | ((value: string) => unknown)> | undefined; … |
query-string · StringifyOptions | { readonly strict?: boolean | undefined; readonly encode?: boolean | undefined; readonly arrayFormat?: "bracket" | "index" | "comma" | "separator" | "bracket-separator" | "colon-list-separator" | "none" | undefined; readonly arrayFormatSeparator?: string | undefined; readonly sort?: false | ((itemLeft: string, itemRight: string) => number) | undefined; readonly skipNull?: boolean | undefined; readonly skipEmptyString?: boolean | undefined; readonly replacer?: ((key: string, value: unknown) => unknown) | undefined; } | { readonly strict?: boolean | undefined; readonly encode?: boolean | undefined; readonly arrayFormat?: "bracket" | "index" | "comma" | "separator" | "bracket-separator" | "colon-list-separator" | "none" | undefined; readonly arrayFormatSeparator?: string | undefined; readonly sort?: boolean | ((itemLeft: string, itemRight: string) => number) | undefined; readonly skipNull?: boolean | undefined; readonly skipEmptyString?: boolean | undefined; readonly replacer?: ((key: string, value: unknown) => unknown) | undefined; } |
query-string/base · pick | (url: string, keys: readonly string[], options?: (ParseOptions & StringifyOptions) | undefined): string | (url: string, filter: (key: string, value: string | number | boolean) => boolean, options?: ({ parseBooleans: true; parseNumbers: true; } & ParseOptions & StringifyOptions) | undefined): string | (url: string, filter: (key: string, value: string | boolean) => boolean, options?: ({ parseBooleans: true; } & ParseOptions & StringifyOptions) | undefined): string | (url: string, filter: (key: string, value: string | number) => boolean, options?: ({ parseNumbers: true; } & ParseOptions & Stringi… | (url: string, keys: readonly string[], options?: (ParseOptions & StringifyOptions) | undefined): string | <Options extends ParseOptions & StringifyOptions>(url: string, filter: (key: string, value: ParsedValue<Options> | (ParsedValue<Options> | null)[] | null) => boolean, options?: KnownOptions<Options> | undefined): string |
query-string/base · parse | (query: string, options: { parseBooleans: true; parseNumbers: true; } & ParseOptions): ParsedQuery<string | number | boolean> | (query: string, options: { parseBooleans: true; } & ParseOptions): ParsedQuery<string | boolean> | (query: string, options: { parseNumbers: true; } & ParseOptions): ParsedQuery<string | number> | (query: string, options?: ParseOptions | undefined): ParsedQuery<string> | <Options extends ParseOptions>(query: string, options?: KnownOptions<Options> | undefined): ParsedQuery<ParsedValue<Options>> |
query-string/base · exclude | (url: string, keys: readonly string[], options?: (ParseOptions & StringifyOptions) | undefined): string | (url: string, filter: (key: string, value: string | number | boolean) => boolean, options?: ({ parseBooleans: true; parseNumbers: true; } & ParseOptions & StringifyOptions) | undefined): string | (url: string, filter: (key: string, value: string | boolean) => boolean, options?: ({ parseBooleans: true; } & ParseOptions & StringifyOptions) | undefined): string | (url: string, filter: (key: string, value: string | number) => boolean, options?: ({ parseNumbers: true; } & ParseOptions & Stringi… | (url: string, keys: readonly string[], options?: (ParseOptions & StringifyOptions) | undefined): string | <Options extends ParseOptions & StringifyOptions>(url: string, filter: (key: string, value: ParsedValue<Options> | (ParsedValue<Options> | null)[] | null) => boolean, options?: KnownOptions<Options> | undefined): string |
query-string/base · parseUrl | (url: string, options?: ParseOptions | undefined): ParsedUrl | <Options extends ParseOptions>(url: string, options?: KnownOptions<Options> | undefined): ParsedUrl<ParsedValue<Options>> |
query-string/base · ParsedUrl | { readonly url: string; readonly query: ParsedQuery<string>; readonly fragmentIdentifier?: string | undefined; } | { readonly url: string; readonly query: ParsedQuery<T>; readonly fragmentIdentifier?: string | undefined; } |
query-string/base · UrlObject | { readonly url: string; readonly query?: StringifiableRecord | undefined; readonly fragmentIdentifier?: string | undefined; } | { readonly url: string; readonly query?: Record<string, any> | undefined; readonly fragmentIdentifier?: string | undefined; } |
query-string/base · ParseOptions | { readonly decode?: boolean | undefined; readonly arrayFormat?: "bracket" | "index" | "comma" | "separator" | "bracket-separator" | "colon-list-separator" | "none" | undefined; readonly arrayFormatSeparator?: string | undefined; readonly sort?: false | ((itemLeft: string, itemRight: string) => number) | undefined; readonly parseNumbers?: boolean | undefined; readonly parseBooleans?: boolean | undefined; readonly parseFragmentIdentifier?: boolean | undefined; readonly types?: Record<string, "string" | "number" | "boolean" | "string[]" | "number[]" | ((value: string) => unknown)> | undefined; } | { readonly decode?: boolean | undefined; readonly arrayFormat?: "bracket" | "index" | "comma" | "separator" | "bracket-separator" | "colon-list-separator" | "none" | undefined; readonly arrayFormatSeparator?: string | undefined; readonly sort?: boolean | ((itemLeft: string, itemRight: string) => number) | undefined; readonly parseNumbers?: boolean | undefined; readonly parseBooleans?: boolean | undefined; readonly parseFragmentIdentifier?: boolean | undefined; readonly types?: Record<string, "string" | "number" | "boolean" | "string[]" | "number[]" | ((value: string) => unknown)> | undefined; … |
query-string/base · StringifyOptions | { readonly strict?: boolean | undefined; readonly encode?: boolean | undefined; readonly arrayFormat?: "bracket" | "index" | "comma" | "separator" | "bracket-separator" | "colon-list-separator" | "none" | undefined; readonly arrayFormatSeparator?: string | undefined; readonly sort?: false | ((itemLeft: string, itemRight: string) => number) | undefined; readonly skipNull?: boolean | undefined; readonly skipEmptyString?: boolean | undefined; readonly replacer?: ((key: string, value: unknown) => unknown) | undefined; } | { readonly strict?: boolean | undefined; readonly encode?: boolean | undefined; readonly arrayFormat?: "bracket" | "index" | "comma" | "separator" | "bracket-separator" | "colon-list-separator" | "none" | undefined; readonly arrayFormatSeparator?: string | undefined; readonly sort?: boolean | ((itemLeft: string, itemRight: string) => number) | undefined; readonly skipNull?: boolean | undefined; readonly skipEmptyString?: boolean | undefined; readonly replacer?: ((key: string, value: unknown) => unknown) | undefined; } |
Видалені члени класів або інтерфейсів
Не виявлено.
Змінені члени класів або інтерфейсів
Не виявлено.
Нові застарівання
Не виявлено.
Зміни вимог (engines, peer-залежності)
| Було | Стало | |
|---|---|---|
engines.node | >=18 | >=22 |
Передайте ці дані своєму ШІ-агенту
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 для pull request
Поширені запитання
Які несумісні зміни під час оновлення query-string з 9 до 10?
Між query-string 9.5.1 і 10.0.0 Vigia знайшла видалених експортів: 0, змінених сигнатур: 12, видалених або змінених членів класів та інтерфейсів: 0.
Що застаріло в query-string 10?
У query-string 10.0.0 новими застарілими позначено експортів або членів: 0.
Для агентів
GET https://vigia.coredls.cloud/v1/packages/npm/query-string/upgrade?from=9.5.1&to=10.0.0