安定性
Vize は v1 アルファ版に向けて進んでいます。アルファ コントラクトは、安定した v1 よりも意図的に狭くなっています。 規約: 初期採用者が使用できるようにする余地を残しつつ、サーフェスに名前を付けます。 内部構造と実験的な統合を迅速に変更します。プロジェクト全体はまだ完全には完成していません 本番環境に対応したツールチェーン。リリースの決定には、 実稼働準備チェックリスト。 非推奨期間、SemVer ルール、およびリリースラインのサポートについては、 サポートポリシー。
バージョニング契約
v1 が安定する前のプレリリースには重大な変更が含まれる可能性があります。 Vize は依然として重大な変更を次のように扱います リリースノート資料、特にパッケージのエントリポイント、CLI フラグ、設定フィールドに影響を与える場合 診断コード、または生成された出力。
v1 アルファ行では次のルールが使用されます。
| 表面 | アルファの期待値 |
|---|---|
| 公開されたパッケージ名 | 引き続き利用可能であるか、移行メモが同梱されている必要があります。 |
| 文書化された CLI コマンドとフラグ | サイレント動作の変更は避けるべきです |
| 文書化された構成フィールド | リリース ノートで変更が指示されない限り、名前と値の形状は安定したままにする必要があります。 |
| 診断コードはドキュメントにリストされています | 抑制と修正レポートが有用であり続けるように、認識可能な状態を維持する必要があります。 |
| 公開された Rust クレート API | 以下のクレートごとの階層と非推奨契約に従ってください。 |
| 未エクスポートの Rust クレート内部 | v1 が安定する前に移行サポートがなければ変更される可能性があります |
| 生成されたコードと仮想 TS 出力 | 正確性、互換性、パフォーマンス、または診断のために必要に応じて変更される可能性があります。 |
ランタイムサポート
パブリック npm ランタイム パッケージのデフォルトの Node.js フロアはノード 22 です。
oxlint-plugin-vize。 Oxlint プラグインは ^22 || >= 24 を宣言するため、ノード 22 およびノード 24 以降は
ノード 23 がテスト済みの互換性マトリックスの外にある間は許可されます。
リリース ワークフローでは、x64 と arm64 にわたる macOS、Linux、および Windows のネイティブ パッケージを構築します パッケージがサポートを宣言している場所。 CI 互換性ジョブは、宣言されたノード フロアと 現在のプロジェクトのノードのバージョン。
完全な新規インストールスモークマトリックス (.github/workflows/native-smoke.yml) は毎週実行されます。
すべての PR プッシュではなく、リズムとオンデマンドです。公開されたパッケージのインストール パスを実行します。
GitHub でホストされている linux-x64-gnu、linux-arm64-gnu、darwin-arm64、win32-x64-msvc 用のランナー。の
残りの darwin-x64 および win32-arm64-msvc ターゲットは、アーキテクチャ固有のホスト ランナー上に残ります。
マトリックスはノード 22 とノード 24 に対して実行されます。リリース タグはリリース ワークフローによってブロックされたままです。
tarball は、npm パッケージを公開する前にスモークをインストールします。ランタイムスモークチェック vize --version、
vize check、@vizejs/native、require と import の両方、および
インストールされた tarball からの @vizejs/vite-plugin vite build。
宣言された 2 つの Linux musl ターゲットは、ホストされた新規インストール ランナーによって現在実行されていません。
これらは、プラットフォームごとのビルド アーティファクトと @vizejs/native-* によってカバーされます。
コンテナ化された Alpine Smoke が一致するネイティブをステージングできるようになるまで、オプションの依存関係リゾルバー
タールボール:
| ターゲット | ホストランナーギャップ | 補償範囲 |
|---|---|---|
| Linux-x64-musl | GitHub でホストされている Alpine/musl VM はネイティブ ランナーとして利用できません。ビルド ジョブは musl tarball を生成します。マニュアル node:alpine スモーク。 |
|
| linux-arm64-musl | Arm64 でホストされるランナーは Ubuntu GNU であり、Alpine/musl ネイティブ ホストではありません。ビルド ジョブは arm64 musl tarball を生成します。マニュアルアルパインアーム64スモーク。 |
これらのギャップを埋めることは、#493 と並行して追跡されます。
ワークスペースでサポートされる最小の Rust バージョン (MSRV) は、以下の Cargo.toml で宣言されます。
[workspace.package].rust-version。 rust-toolchain.toml によって固定された開発ツールチェーン
同じバージョンかそれ以降のバージョンである可能性があります。 v1 が安定する前に、MSRV はプレリリースで前進する可能性があります。
変更があった場合には、リリース ノートでその旨が記載されます。下流のパッケージ担当者は次のことを読む必要があります
ツールチェーン ファイルから推測するのではなく、クレートの Cargo.toml から rust-version を取得します。
パッケージのサポート層
| 階層 | パッケージ | 契約 |
|---|---|---|
| アルファ版対応 | vize、@vizejs/native、@vizejs/vite-plugin |
リリースノートに裏付けられた重大な変更を伴う初期の実稼働トライアルを対象としています。 |
| 互換性プレビュー | @vizejs/unplugin、@vizejs/rspack-plugin、@vizejs/nuxt、@vizejs/musea-nuxt |
一般的なホスト設定で動作すると予想されますが、ホストとフレームワークの互換性は急速に変化する可能性があります。 |
| 実験的 | oxlint-plugin-vize、@vizejs/vite-plugin-musea、@vizejs/musea-mcp-server、@vizejs/wasm |
公開パッケージですが、API、コマンド、出力、ワークフローの形状はアルファ版中に変更される可能性があります。 |
| 孵化中 | @vizejs/fresco、@vizejs/fresco-native、エディタ拡張パッケージ |
開発とフィードバックには役立ちますが、まだ v1 アルファの運用対応ターゲットには含まれていません。 |
Rust クレートのサポート階層
このテーブルは、crates.io コンシューマの正規互換性契約です。すべての木枠をカバーします Cargo メタデータが公開を許可しているもの (リリースによって一時的に延期されたクレートを含む) 最初の crates.io リリースが準備されている間、パブリッシャーは、プライベートモジュールと実装 詳細は互換性の表面ではありません。
| 木箱 | 階層 | 対象読者 | パブリック エントリポイント | 削除/非推奨 |
|---|---|---|---|---|
vize_carton |
アルファ版対応 | Vize コンパイラとライブラリの作者 | vize_carton::{Allocator, Bump, FxHashMap} |
#[deprecated] の未成年者 1 人 |
vize_relief |
アルファ版対応 | AST とコンパイラ統合の著者 | vize_relief::{RootNode, CompilerOptions} |
#[deprecated] の未成年者 1 名 |
vize_armature |
アルファ版対応 | Vue テンプレートを解析するツール | vize_armature::{parse, Parser, Tokenizer} |
#[deprecated] の未成年者 1 人 |
vize_croquis |
互換性プレビュー | セマンティックおよびタイプ認識ツールの作成者 | vize_croquis::{Croquis, Drawer} |
#[deprecated] の未成年者 1 人 |
vize_croquis_cf |
実験的 | プロジェクト全体の分析実験をオプトインする | vize_croquis_cf::CrossFileAnalyzer |
最小値はありません。実用的な場合はメモを中断します。 |
vize_atelier_core |
アルファ版対応 | カスタム Vue コンパイラ バックエンドの作成者 | vize_atelier_core::{transform, generate} |
#[deprecated] の未成年者 1 人 |
vize_atelier_dom |
アルファ版対応 | VDOM コンパイラーとバンドラーの統合 | vize_atelier_dom::compile_template |
#[deprecated] の未成年者 1 名 |
vize_atelier_vapor |
実験的 | オプトイン Vapor コンパイラー統合 | vize_atelier_vapor::compile_vapor |
最小値はありません。実用的な場合はメモを中断します。 |
vize_atelier_ssr |
互換性プレビュー | SSR とフレームワーク統合の著者 | vize_atelier_ssr::compile_ssr |
#[deprecated] の未成年者 1 人 |
vize_atelier_sfc |
アルファ版対応 | SFC ツールとバンドラーの作者 | vize_atelier_sfc::{parse_sfc, compile_sfc} |
#[deprecated] の未成年者 1 人 |
vize_atelier_jsx |
互換性プレビュー | JSX/TSX コンパイラおよびツールの作成者 | vize_atelier_jsx::{compile_jsx, lower_source} |
#[deprecated] の未成年者 1 名 |
vize_musea |
実験的 | Musea のギャラリーとドキュメント ツール | vize_musea::{parse_art, transform_to_csf} |
最小値はありません。実用的な場合はメモを中断します。 |
vize_fresco |
孵化中 | TUI実験 | vize_fresco::{RenderTree, LayoutEngine} |
最小値なし |
vize_canon |
互換性プレビュー | 型チェッカーとエディターの統合 | vize_canon::{type_check_sfc, TypeChecker} |
#[deprecated] の未成年者 1 人 |
vize_patina |
互換性プレビュー | Linter と Oxlint の統合 | vize_patina::{lint, Linter} |
#[deprecated] の未成年者 1 名 |
各クレートは、その層を package.metadata.vize.stability に記録します。 CI はそれらの貨物を比較します
メタデータ値、このテーブル、および完全なリリース パブリッシャー クレート セットを追加、削除、または
パブリッシュ可能なクレートを再分類しても、サイレントにコントラクトを変更することはできません。
SemVer ゲートの解釈
cargo-semver-checks は、解決可能なレジストリを持つリリース発行者のクレートに対して実行されます
ベースライン。最初のパブリッシュを待機しているクレート、または最初のパブリッシュでブロックされているクレートは、パブリッシュが完了するとそのマトリックスに参加します。
ベースラインが利用可能です。それまでは、メタデータ/テーブル/リリースリストのチェックが引き続き適用されます。
| 階層 | CIの解釈 |
|---|---|
| アルファ版サポート / 互換性プレビュー | API ブレークは修正するか、サポート ポリシーの非推奨期間に従い、従来のブレーク マーカーを保持する必要があります。 |
| 実験的 | ゲートは偶発的なドリフトをキャッチします。意図的な中断では、非推奨ウィンドウなしで中断マーカーが使用される場合があります。 |
| 孵化中 | 同じ検出が適用されますが、API またはクレート全体がどのリリースでも置き換えまたは削除される可能性があります。 |
CI で認識されるブレーク マーカーは、従来の変更タイトルの ! または
BREAKING CHANGE: フッター。いずれかのマーカーでゲートを通過しても、非推奨は免除されません
アルファサポートまたは互換性プレビュークレートのウィンドウ。
アルファ版にとって十分に安定しているものとは何か
パッケージまたはコマンドは、次の場合にアルファ サポート層に移行できます。
- インストールおよび使用パスの文書化
- パッケージのビルド、インストール、サポートされるノード ランタイムの CI カバレッジ
- 公開されたエントリポイントのスモークカバレッジをリリースします
- リグレッションと互換性レポートの明確な所有者
- 既知のサポートされていない動作は関連ガイドに記載されています
まだ約束されていないこと
アルファ版は、すべての Vue コンパイラ エッジ ケース、すべてのパッケージとの完全な互換性を保証するものではありません マネージャーのレイアウト、すべてのエディター機能、またはすべてのフレームワーク統合。 Vize が同意しない場合 公式 Vue ツール。Vize ガイドでない限り、公式出力を互換性ベースラインとして扱います。 異なる動作を明示的に文書化します。リリースブロッキングコンパイラ、型チェック、ランタイム、 Vite ビルド サーフェスの名前は Vue パリティ行列。
セキュリティの処理については、リポジトリ SECURITY.md を参照してください。貢献と修正のワークフローについては、を参照してください。
CONTRIBUTING.md。