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

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

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

はじめに

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

AI によるマイグレーション支援

Claude Code を使用している場合、対話的にアップグレードを進めるマイグレーションスキルをインストールできます:

npx skills add markuplint/markuplint@migrate4-5

ユーザー向け

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 に変更。:closest() セレクタ非推奨。設定ファイル作成者、プリセット作成者
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 ルールのユーザー
parse-error (組み込み)組み込みチャネルが、致命的 ParserError に加えて HTML LS の非致命的なパースエラー (parse5 onParseError イベント) も surface できるように。デフォルトはオフseverity.parseError で parse5 の code 単位にオプトイン。severity.parseErrorPartial<Record<MLASTParseErrorCode, …>> 形式も受け付け、code ごとに severity を指定可能。新しい parserOptions.documentMode ('auto' | 'document' | 'fragment') で document/fragment 自動判定をオーバーライドできるので、<head> 始まりの SSR partial で document レベルのエラーを無効化したり、doctype を省略した完全な page で missing-doctype を opt-in したりできます。非致命的な HTML LS パースエラーも lint したいユーザー

開発者向け

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

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

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