Vigia

Обновление 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