メインコンテンツまでスキップ

v4 から v5 へのマイグレーション

Markuplint v5 の破壊的変更をまとめたガイドです。該当する項目を確認してください。

はじめに

Node.js を v22.0.0 以降にアップデートしてください。Markuplint v5 の全パッケージで必須です。

ユーザー向け

CLI ユーザー、設定ファイル作成者、CI/CD パイプラインに影響する変更です。

領域変更内容影響範囲
Node.js最小バージョンを v22.0.0 に引き上げ(旧: v18.18.0)。ポリフィル削除。TypeScript ターゲットを ES2022 に変更。全ユーザー
CLI--fix-dry-run フラグ追加。--allow-warnings のデフォルトが true に変更。--config がデフォルト設定ファイルとマージしなくなった。CLI ユーザー、CI/CD パイプライン
設定共通 ARIA バージョン用の ruleCommonSettings 追加。Named nodeRules による個別設定可能なチェック。配列値が連結から上書きに変更。Options が shallow merge に変更。設定ファイル作成者、プリセット作成者
ARIAARIA 1.3 がデフォルトに(旧: 1.2)。generic ロールが透過的に。<aside> の条件付きロールマッピング。image/img ロールが同義語に。wai-aria オプションのリネーム。全ユーザー
フレームワーク@markuplint/htmx-parser 削除(@markuplint/htmx-spec に移行)。@markuplint/alpine-parser/spec 削除(@markuplint/alpine-spec に移行)。directivePatterns システム追加。useIDLAttributeNamesacceptedAttrNames にリネーム。htmx / Alpine.js ユーザー、スペックパッケージ作成者

ルール

ルール変更内容影響範囲
invalid-attr属性値の { type: X } ラッパー廃止。非推奨の attrs オプション削除。オブジェクト形式を非推奨化。allowAttrs / disallowAttrs を使用する設定作成者
required-elementignoreOmittedElements のデフォルトが false から true に変更。ゴースト要素が要件を満たさなくなった。required-element を使用する設定作成者
deprecated-element非標準要素の検出が no-unsupported-features に移管。非標準要素の検出に依存する設定作成者
textlint@markuplint/rule-textlint パッケージを削除。textlint 単体で textlint-plugin-html を使用。textlint ルールのユーザー

開発者向け

カスタムルール作成者、パーサープラグイン開発者、Node.js API ユーザーに影響する変更です。

領域変更内容影響範囲
ルール修正関数カスタムルール向けの新しい自動修正 API。9つの組み込みルールが --fix に対応。カスタムルール作成者
APIレガシーの exec() 関数を削除。結果に FixSummary 追加。computeCursorOffset() をエクスポート。Node.js API ユーザー
ASTトークンプロパティのリネーム(startOffset から offset 等)。selfClosingSolidus 削除。MLMarkupLanguageParser 型の削除。パーサープラグイン開発者
ヒント

CLI や CI/CD でのみ Markuplint を使用している場合、「開発者向け」セクションはスキップできます。