For AI agents: the complete documentation index is available at /annealer/ja/llms.txt, the full documentation bundle is available at /annealer/ja/llms-full.txt, and this page is available as Markdown at /annealer/ja/api/profile.md.
  • 日本語
  • プロファイルリファレンス

    プロファイルは、属性順、レイアウト規則、スタイルシートのオプションを定める YAML ファイルです。組み込みプロファイルは crates/annealer/profiles/ にあります。

    # yaml-language-server: $schema=https://github.com/logue/annealer/raw/refs/heads/main/crates/annealer/schema/profile.schema.json
    schemaVersion: 1
    name: my-profile
    description: 独自の属性順
    
    normalize:
      directiveShorthand: true
    
    layout:
      closingBracketNewline: true
      oneAttributePerLine: true
      selfClosing:
        void: always
      contentNewline: {}
    
    groups:
      - name: global
        match: [id]
      - name: class
        match: [class]
      - name: other
        fallback: true
      - name: events
        match: [on*]
    
    stylesheet:
      declarationOrder: smacss
      vendorPrefix: start
    エディター支援

    JSON Schema(draft-07)は crates/annealer/schema/profile.schema.json にあります。上のモードラインと YAML 拡張機能を使えば、VS Code でプロファイルの検証と補完ができます。

    プロファイルのどこでも未知のキーはエラーになるため、タイプミスが見過ごされることはありません。

    トップレベル

    キー型必須説明
    schemaVersion1○プロファイル形式のバージョン
    name文字列○プロファイル名
    description文字列人間向けの概要
    normalizeオブジェクト属性名の書き換え
    layoutオブジェクト開始タグのレイアウト規則
    groups配列○出力順に並べた属性グループ
    stylesheetオブジェクトスタイルシートの整形。省略するとスタイルシートには手を加えません。
    classOrder文字列 | オブジェクト静的な class 属性のクラス順。省略するとクラスは元の順のままです。

    normalize

    分類の前に適用する書き換えです。

    キー型既定説明
    directiveShorthand真偽値falsev-bind:foo → :foo、v-on:click → @click
    hyphenateComponentProps真偽値falseコンポーネントタグ上の camelCase の属性名 → kebab-case。SVG/MathML のネイティブ要素は除きます。

    layout

    詳しくはレイアウトを参照してください。

    キー型既定説明
    closingBracketNewline真偽値false複数行の開始タグの閉じ括弧を独立した行に置く
    oneAttributePerLine真偽値false複数行の開始タグで 1 行に 1 属性
    selfClosing.voidalways | never | preservepreserve空要素: <br /> または <br>
    selfClosing.normalalways | never | preservepreserve空の非空要素(<div />)。Vue テンプレートのみ
    selfClosing.componentalways | never | preservepreserve空のコンポーネント(<MyComp />)。Vue テンプレートのみ
    contentNewlineオブジェクト無効複数行の要素のコンテンツを独立した行に置く。{} で既定値のまま有効
    contentNewline.ignore文字列の配列pre、textarea、インライン要素中身も含めて手を加えない要素。要素名は大文字小文字を区別せず、コンポーネント名は完全一致
    contentNewline.allowEmptyLines真偽値falseコンテンツの前後の空行を残す

    groups

    グループは出力順に並べます。フォールバックのグループはちょうど 1 つで、グループ名は一意でなければなりません。

    キー型既定説明
    name文字列–一意なグループ名。必須
    match文字列の配列–パターン: 完全一致の名前、または * で終わるプレフィックス。fallback: true 以外では必須
    sortsource | alphabetical | listedsourceグループ内の順序: 書かれた順、キー順、match の順
    fallback真偽値falseどのパターンにも一致しない属性を受け取る
    spreadSafe真偽値falseこのグループの属性は v-bind="object" のスプレッドをまたいで移動できる。コンパイル時ディレクティブ専用

    パターンは正規化して小文字にしたキーと照合します。foo/:foo/v-bind:foo は foo、@click は v-on:click、#name は v-slot:name になり、修飾子は除去されます。完全一致はどのプレフィックスよりも優先され、長いプレフィックスは短いものより優先されます。属性順を参照してください。

    stylesheet

    詳しくはスタイルシートを参照してください。

    キー型既定説明
    declarationOrdersmacss | concentric | alphabetical–プロパティの順序。指定しなければ宣言を並べ替えません。
    declarationOrderGroupBynon-declaration | non-declaration-and-empty-linenon-declaration-and-empty-line宣言を、個別にソートする区間にどう分けるか。既定では空行で区間を区切る。non-declaration は空行をまたいでソートし、空行はその位置に残る
    vendorPrefixalongside | startalongsidestart にすると、ベンダープレフィックス付きの宣言を各区間の先頭にアルファベット順で置く
    styleAttribute真偽値false静的な style 属性内の宣言も並べ替える

    変わるのは宣言の順序だけで、空白や引用符などの整形はフォーマッターに任せます。そのため malva の整形オプションは受け付けません。

    classOrder

    静的な class 属性内のクラスの並び順です(クラス順を参照)。組み込みのクラス順の名前(tailwind)か、インラインで書いたクラス順プロファイルを指定します。CLI の --class-order と JavaScript の classOrder オプションはこれより優先されます。

    classOrder: tailwind

    クラス順プロファイル

    クラス順プロファイルは独立した YAML ファイルで、--class-order や classOrder で渡すか、プロファイルの classOrder の下にインラインで書きます。JSON Schema は crates/annealer/schema/class-order.schema.json、組み込みのものは crates/annealer/class-orders/tailwind.yaml です。

    キー型既定説明
    schemaVersion1–必須。形式のバージョン
    name文字列–必須。クラス順の名前
    description文字列–人間向けの概要
    unknownstart | endstartどのルールにも一致しないクラスの置き場所(元の順を保つ)
    removeDuplicates真偽値false重複したクラスを、最初のものを残して削除する
    important文字列–照合の前にユーティリティの先頭か末尾から取り除く印(!)
    arbitraryProperties真偽値false[property:value] 形式のクラスを、property を設定するクラスとして扱う
    variantsオブジェクト–separator(例: :)と order(バリアントのパターンを順位の低い順に)。リストの項目は同じ順位になる
    propertyOrder文字列の配列–必須。CSS プロパティの出力順
    valuesパターンのリストのマップ–パターン内の {name} 用の値セット。number は組み込み
    rules配列–必須。match(パターン)、properties(propertyOrder のもの)、任意の count(異なる場合の宣言数)

    どのパターンにも一致しないバリアントを持つクラスは未知のクラスです。ルールに書けるのは propertyOrder にあるプロパティだけで、それ以外はエラーになります。