Vigia

@sapphire/shapeshift を 5.x から 6.x へアップグレード

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

概要

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

削除されたエクスポート

検出されませんでした。

変更されたシグネチャ

export変更前変更後
@sapphire/shapeshift · Constructor(new (...args: readonly any[]) => T) | (abstract new (...args: readonly any[]) => T)(abstract new (...args: readonly any[]) => T) | (new (...args: readonly any[]) => T)
@sapphire/shapeshift · ValidatorErrorValidationError | CombinedPropertyError | CombinedError | UnknownEnumValueErrorCombinedError | CombinedPropertyError | UnknownEnumValueError | ValidationError
@sapphire/shapeshift · DateConstraintName"s.date().lessThan()" | "s.date().lessThanOrEqual()" | "s.date().greaterThan()" | "s.date().greaterThanOrEqual()" | "s.date().equal()" | "s.date().notEqual()" | "s.date().valid()" | "s.date().invalid()""s.date().equal()" | "s.date().greaterThan()" | "s.date().greaterThanOrEqual()" | "s.date().lessThan()" | "s.date().lessThanOrEqual()" | "s.date().notEqual()" | "s.date().invalid()" | "s.date().valid()"
@sapphire/shapeshift · ArrayConstraintName"s.array(T).unique()" | "s.array(T).lengthLessThan()" | "s.array(T).lengthLessThanOrEqual()" | "s.array(T).lengthGreaterThan()" | "s.array(T).lengthGreaterThanOrEqual()" | "s.array(T).lengthEqual()" | "s.array(T).lengthNotEqual()" | "s.array(T).lengthRange()" | "s.array(T).lengthRangeInclusive()" | "s.array(T).lengthRangeExclusive()""s.array(T).unique()" | "s.array(T).lengthEqual()" | "s.array(T).lengthGreaterThan()" | "s.array(T).lengthGreaterThanOrEqual()" | "s.array(T).lengthLessThan()" | "s.array(T).lengthLessThanOrEqual()" | "s.array(T).lengthNotEqual()" | "s.array(T).lengthRange()" | "s.array(T).lengthRangeExclusive()" | "s.array(T).lengthRangeInclusive()"
@sapphire/shapeshift · ExpandSmallerTuplesT extends [T[0], ...infer Tail] ? T | ExpandSmallerTuples<Tail> : []T extends [T[0], ...infer Tail] ? ExpandSmallerTuples<Tail> | T : []
@sapphire/shapeshift · BigIntConstraintName"s.bigint().lessThan()" | "s.bigint().lessThanOrEqual()" | "s.bigint().greaterThan()" | "s.bigint().greaterThanOrEqual()" | "s.bigint().equal()" | "s.bigint().notEqual()" | "s.bigint().divisibleBy()""s.bigint().divisibleBy()" | "s.bigint().equal()" | "s.bigint().greaterThan()" | "s.bigint().greaterThanOrEqual()" | "s.bigint().lessThan()" | "s.bigint().lessThanOrEqual()" | "s.bigint().notEqual()"
@sapphire/shapeshift · ConstraintErrorNames"s.array(T).unique()" | "s.array(T).lengthLessThan()" | "s.array(T).lengthLessThanOrEqual()" | "s.array(T).lengthGreaterThan()" | "s.array(T).lengthGreaterThanOrEqual()" | "s.array(T).lengthEqual()" | "s.array(T).lengthNotEqual()" | "s.array(T).lengthRange()" | "s.array(T).lengthRangeInclusive()" | "s.array(T).lengthRangeExclusive()" | "s.typedArray(T).byteLengthLessThan()" | "s.typedArray(T).byteLengthLessThanOrEqual()" | "s.typedArray(T).byteLengthGreaterThan()" | "s.typedArray(T).byteLengthGreaterThanOrEqual()" | "s.typedArray(T).byteLengthEqual()" | "s.typedArray(T).byteLengthNotEqual()" |…"s.array(T).unique()" | "s.array(T).lengthEqual()" | "s.array(T).lengthGreaterThan()" | "s.array(T).lengthGreaterThanOrEqual()" | "s.array(T).lengthLessThan()" | "s.array(T).lengthLessThanOrEqual()" | "s.array(T).lengthNotEqual()" | "s.array(T).lengthRange()" | "s.array(T).lengthRangeExclusive()" | "s.array(T).lengthRangeInclusive()" | "s.bigint().divisibleBy()" | "s.bigint().equal()" | "s.bigint().greaterThan()" | "s.bigint().greaterThanOrEqual()" | "s.bigint().lessThan()" | "s.bigint().lessThanOrEqual()" | "s.bigint().notEqual()" | "s.boolean().false()" | "s.boolean().true()" | "s.date().equ…
@sapphire/shapeshift · NumberConstraintName`s.number().lessThan(${string})` | `s.number().lessThanOrEqual(${string})` | `s.number().greaterThan(${string})` | `s.number().greaterThanOrEqual(${string})` | `s.number().equal(${string})` | `s.number().notEqual(${string})` | `s.number().divisibleBy(${string})` | `s.number().int(${string})` | `s.number().safeInt(${string})` | `s.number().finite(${string})``s.number().divisibleBy(${string})` | `s.number().equal(${string})` | `s.number().greaterThan(${string})` | `s.number().greaterThanOrEqual(${string})` | `s.number().lessThan(${string})` | `s.number().lessThanOrEqual(${string})` | `s.number().notEqual(${string})` | `s.number().finite(${string})` | `s.number().int(${string})` | `s.number().safeInt(${string})`
@sapphire/shapeshift · StringConstraintName"s.string().lengthLessThan()" | "s.string().lengthLessThanOrEqual()" | "s.string().lengthGreaterThan()" | "s.string().lengthGreaterThanOrEqual()" | "s.string().lengthEqual()" | "s.string().lengthNotEqual()" | "s.string().regex()" | "s.string().url()" | "s.string().uuid()" | "s.string().email()" | "s.string().ip()" | "s.string().ipv4()" | "s.string().ipv6()" | "s.string().date()" | "s.string().phone()""s.string().lengthEqual()" | "s.string().lengthGreaterThan()" | "s.string().lengthGreaterThanOrEqual()" | "s.string().lengthLessThan()" | "s.string().lengthLessThanOrEqual()" | "s.string().lengthNotEqual()" | "s.string().date()" | "s.string().email()" | "s.string().phone()" | "s.string().regex()" | "s.string().url()" | "s.string().uuid()" | "s.string().ip()" | "s.string().ipv4()" | "s.string().ipv6()"
@sapphire/shapeshift · TypedArrayConstraintName"s.typedArray(T).byteLengthLessThan()" | "s.typedArray(T).byteLengthLessThanOrEqual()" | "s.typedArray(T).byteLengthGreaterThan()" | "s.typedArray(T).byteLengthGreaterThanOrEqual()" | "s.typedArray(T).byteLengthEqual()" | "s.typedArray(T).byteLengthNotEqual()" | "s.typedArray(T).byteLengthRange()" | "s.typedArray(T).byteLengthRangeInclusive()" | "s.typedArray(T).byteLengthRangeExclusive()" | "s.typedArray(T).lengthLessThan()" | "s.typedArray(T).lengthLessThanOrEqual()" | "s.typedArray(T).lengthGreaterThan()" | "s.typedArray(T).lengthGreaterThanOrEqual()" | "s.typedArray(T).lengthEqual()" | "s.…"s.typedArray(T).byteLengthEqual()" | "s.typedArray(T).byteLengthGreaterThan()" | "s.typedArray(T).byteLengthGreaterThanOrEqual()" | "s.typedArray(T).byteLengthLessThan()" | "s.typedArray(T).byteLengthLessThanOrEqual()" | "s.typedArray(T).byteLengthNotEqual()" | "s.typedArray(T).byteLengthRange()" | "s.typedArray(T).byteLengthRangeExclusive()" | "s.typedArray(T).byteLengthRangeInclusive()" | "s.typedArray(T).lengthEqual()" | "s.typedArray(T).lengthGreaterThan()" | "s.typedArray(T).lengthGreaterThanOrEqual()" | "s.typedArray(T).lengthLessThan()" | "s.typedArray(T).lengthLessThanOrEqual()" | "s.…

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

検出されませんでした。

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

member変更前変更後
Result.isErr(): this is { success: false; error: E; }(): this is { error: E; success: false; }
MapValidator.handle(value: unknown): Result<Map<K, V>, ValidationError | CombinedPropertyError>(value: unknown): Result<Map<K, V>, CombinedPropertyError | ValidationError>
SetValidator.handle(values: unknown): Result<Set<T>, ValidationError | CombinedError>(values: unknown): Result<Set<T>, CombinedError | ValidationError>
ArrayValidator.handle(values: unknown): Result<T, ValidationError | CombinedPropertyError>(values: unknown): Result<T, CombinedPropertyError | ValidationError>
TupleValidator.handle(values: unknown): Result<[...T], ValidationError | CombinedPropertyError>(values: unknown): Result<[...T], CombinedPropertyError | ValidationError>
UnionValidator.handle(value: unknown): Result<T, ValidationError | CombinedError>(value: unknown): Result<T, CombinedError | ValidationError>
ObjectValidator.extend<ET extends object>(schema: ObjectValidator<ET, UndefinedToOptional<ET>> | MappedObjectValidator<ET>, options?: ValidatorOptions | undefined): ObjectValidator<T & ET, UndefinedToOptional<T & ET>><ET extends object>(schema: MappedObjectValidator<ET> | ObjectValidator<ET, UndefinedToOptional<ET>>, options?: ValidatorOptions | undefined): ObjectValidator<ET & T, UndefinedToOptional<ET & T>>
ObjectValidator.handle(value: unknown): Result<I, ValidationError | CombinedPropertyError>(value: unknown): Result<I, CombinedPropertyError | ValidationError>
RecordValidator.handle(value: unknown): Result<Record<string, T>, ValidationError | CombinedPropertyError>(value: unknown): Result<Record<string, T>, CombinedPropertyError | ValidationError>
BooleanValidator.equal<R extends true | false>(value: R, options?: ValidatorOptions | undefined): BooleanValidator<R><R extends false | true>(value: R, options?: ValidatorOptions | undefined): BooleanValidator<R>
BooleanValidator.notEqual<R extends true | false>(value: R, options?: ValidatorOptions | undefined): BooleanValidator<R><R extends false | true>(value: R, options?: ValidatorOptions | undefined): BooleanValidator<R>
NativeEnumValidator.handle(value: unknown): Result<T[keyof T], ValidationError | UnknownEnumValueError>(value: unknown): Result<T[keyof T], UnknownEnumValueError | ValidationError>

新たに非推奨

検出されませんでした。

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

検出されませんでした。

これらのバージョン間の changelog

パッケージ作者が公開したテキストをそのまま表示しています。

6.0.0
## 🏠 Refactor

- **errors:** Update import paths and types ([058d979](https://github.com/sapphiredev/shapeshift/commit/058d979f410339dd396f5ccdd9001364430f14f0))

## 🐛 Bug Fixes

- Correct validator return types and resolve lint errors ([48fe811](https://github.com/sapphiredev/shapeshift/commit/48fe811f0a48724ed6311fbb859ba77b536fdc1a))

## 🚀 Features

- Publish an ESM-only package ([b97e51b](https://github.com/sapphiredev/shapeshift/commit/b97e51b589e9fe63c9c88de17e7d6a4844524aa2))
  - 💥 **BREAKING CHANGE:** remove CommonJS and browser global entry points; consumers must use ESM.

## 🪞 Styling

- **docs:** Improve documentation formatting and clarity ([98bd46c](https://github.com/sapphiredev/shapeshift/commit/98bd46c7708de07b8bd99d8b24459ceeec121a4b))

このデータを 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

よくある質問

@sapphire/shapeshift を 5 から 6 にアップグレードする際の破壊的変更は?

@sapphire/shapeshift 5.0.0 と 6.0.0 の間で、Vigia は削除されたエクスポートを 0 件、変更されたシグネチャを 10 件、削除または変更されたクラス/インターフェースのメンバーを 12 件検出しました。

@sapphire/shapeshift 6 で非推奨になったものは?

@sapphire/shapeshift 6.0.0 では 0 件のエクスポートまたはメンバーが新たに非推奨になりました。

エージェント向け

GET https://vigia.coredls.cloud/v1/packages/npm/@sapphire/shapeshift/upgrade?from=5.0.0&to=6.0.0