valid-importmap
<script type="importmap"> 要素の本文を、HTML Living Standard § Parse an import map string に従って検証します。type 属性は ASCII 大文字小文字を区別せずに照合します(ユーザーエージェントの MIME タイプ判定に整合)。
旧script-contentルールから、type="speculationrules"を担うvalid-speculation-rulesとともに分割されました。
インポートマップに対して以下を違反として報告します。
- 要素本文が空、または空白のみ
- 本文が JSON としてパースできない
- トップレベル値が JSON オブジェクトではない
- トップレベルに
imports/scopes/integrity以外のキーが存在する importsまたはscopesが JSON オブジェクトではない- 識別子マップ(
importsまたはscopes内の値)に空のキーが存在する - 識別子マップのアドレス(値側)が文字列ではない
- 識別子マップのアドレスが URL-like 識別子ではない(
/,./,../で始まらず、絶対 URL でもない) - 識別子のキーが
/で終わっているのに、アドレスが/で終わっていない integrityが JSON オブジェクトではないintegrityのキーが URL-like 識別子ではないintegrityの値が文字列ではない
❌ このルールに適合しない誤ったコードの例
<script type="importmap"></script>
<script type="importmap">
{
"forbidden": {}
}
</script>
<script type="importmap">
{
"imports": {
"dir/": "/path/to/dir"
}
}
</script>
✅ このルールに適合する正しいコードの例
<script type="importmap">
{
"imports": {
"app": "/path/to/app.js",
"dir/": "/path/to/dir/"
},
"scopes": {
"/scope/": {
"x": "./y.js"
}
}
}
</script>
Interface
{
"valid-importmap": boolean
}
<script type="importmap"> 要素の本文を、インポートマップの仕様に基づき検証します。
Default Severity
error