{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "RawConfig", "description": "全体の設定ファイル構造", "type": "object", "properties": { "build": { "anyOf": [ { "$ref": "#/$defs/RawBuild" }, { "type": "null" } ] }, "install": { "anyOf": [ { "$ref": "#/$defs/RawInstall" }, { "type": "null" } ] }, "package": { "anyOf": [ { "$ref": "#/$defs/RawPackage" }, { "type": "null" } ] }, "project": { "anyOf": [ { "$ref": "#/$defs/RawProject" }, { "type": "null" } ] }, "scripts": { "type": "array", "items": { "$ref": "#/$defs/RawScript" } } }, "required": [ "scripts" ], "$defs": { "RawBuild": { "description": "`build` セクション", "type": "object", "properties": { "embed_search_dirs": { "type": [ "array", "null" ], "items": { "type": "string" } }, "out_dir": { "type": [ "string", "null" ] } } }, "RawInstall": { "description": "`install` セクション", "type": "object", "properties": { "out_dir": { "type": [ "string", "null" ] } } }, "RawPackage": { "description": "`package` セクション", "type": "object", "properties": { "assets": { "type": "array", "items": { "$ref": "#/$defs/RawPackageAsset" } }, "file_name": { "type": [ "string", "null" ] }, "id": { "type": [ "string", "null" ] }, "information": { "type": [ "string", "null" ] }, "message": { "anyOf": [ { "$ref": "#/$defs/RawPackageMessage" }, { "type": "null" } ] }, "name": { "type": [ "string", "null" ] }, "out_dir": { "type": [ "string", "null" ] }, "script_sub_dir": { "type": [ "string", "null" ] }, "version": { "type": [ "string", "null" ] } } }, "RawPackageAsset": { "type": "object", "properties": { "dest": { "type": "string" }, "src": { "type": "string" } }, "required": [ "src", "dest" ] }, "RawPackageMessage": { "anyOf": [ { "type": "object", "properties": { "file": { "type": "string" } }, "required": [ "file" ] }, { "type": "object", "properties": { "text": { "type": "string" } }, "required": [ "text" ] } ] }, "RawProject": { "description": "`project` セクション", "type": "object", "properties": { "variables": { "type": [ "object", "null" ], "additionalProperties": { "type": "string" } } } }, "RawScript": { "description": "各出力スクリプト単位の設定", "type": "object", "properties": { "name": { "type": "string" }, "sources": { "type": "array", "items": { "$ref": "#/$defs/RawScriptSource" } } }, "required": [ "name", "sources" ] }, "RawScriptSource": { "description": "各スクリプトソースの設定", "type": "object", "properties": { "label": { "type": [ "string", "null" ] }, "path": { "type": "string" }, "variables": { "type": [ "object", "null" ], "additionalProperties": { "type": "string" } } }, "required": [ "path" ] } } }