UNPKG

@rubic/catalog-fetcher

Version:
829 lines (827 loc) 34.2 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "definitions": { "RubicCatalog.Board": { "additionalProperties": false, "description": "ja: ボード定義 (catalog.jsonの一部)\nen: Board definition", "properties": { "author": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ja: 作者名\nen: Author name" }, "class": { "description": "ja: ボードクラス名 (Rubic内部実装と合わせる)\n※ワークスペースのボード指定に使用されるIDであり、公開後の変更禁止。\nen: Name of board class (Must be accorded with Rubic implementation)\n(*) DO NOT CHANGE THIS FIELD AFTER PUBLICATION.", "type": "string" }, "description": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ja: 説明文\nen: Description" }, "disabled": { "description": "ja: 無効化して表示対象から除外するかどうか\nen: Is disabled (Disabled board is excluded from list)", "type": "boolean" }, "icon": { "description": "ja: アイコン画像(Rubic相対パス or URL)\nen: Icon image (Relative path in Rubic or URL)", "type": "string" }, "name": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ja: ボード名称\nen: Name of board" }, "preview": { "description": "ja: プレビュー版か否か(省略時=false)\nen: Set true if preview version (default: false)", "type": "boolean" }, "repositories": { "description": "リポジトリ一覧\nこの配列の順番が原則としてカタログ上の表示順序となる。", "items": { "$ref": "#/definitions/RubicCatalog.RepositorySummary" }, "type": "array" }, "topics": { "description": "ja: トピック一覧\nen: List of topics", "items": { "$ref": "#/definitions/RubicCatalog.Topic" }, "type": "array" }, "website": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ja: WEBサイト URL\nen: URL of website for this board" } }, "required": [ "author", "class", "description", "name", "repositories", "topics" ], "type": "object" }, "RubicCatalog.BoardV1": { "additionalProperties": false, "description": "ja: ボード定義v1 (catalog.jsonの一部)\nen: Board definition (v1)", "properties": { "author": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ja: 作者名\nen: Author name" }, "class": { "description": "ja: ボードクラス名 (Rubic内部実装と合わせる)\n※ワークスペースのボード指定に使用されるIDであり、公開後の変更禁止。\nen: Name of board class (Must be accorded with Rubic implementation)\n(*) DO NOT CHANGE THIS FIELD AFTER PUBLICATION.", "type": "string" }, "description": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ja: 説明文\nen: Description" }, "disabled": { "description": "ja: 無効化して表示対象から除外するかどうか\nen: Is disabled (Disabled board is excluded from list)", "type": "boolean" }, "icon": { "description": "ja: アイコン画像(Rubic相対パス or URL)\nen: Icon image (Relative path in Rubic or URL)", "type": "string" }, "name": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ja: ボード名称\nen: Name of board" }, "preview": { "description": "ja: プレビュー版か否か(省略時=false)\nen: Set true if preview version (default: false)", "type": "boolean" }, "repositories": { "description": "リポジトリ一覧\nこの配列の順番が原則としてカタログ上の表示順序となる。", "items": { "$ref": "#/definitions/RubicCatalog.RepositorySummaryV1" }, "type": "array" }, "rubicVersion": { "description": "ja: 対応するRubicのバージョンの範囲 (これを満たさないボードは非表示)\nen: Range of version of Rubic which supports this board", "type": "string" }, "topics": { "description": "ja: トピック一覧\nen: List of topics", "items": { "$ref": "#/definitions/RubicCatalog.Topic" }, "type": "array" }, "website": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ja: WEBサイト URL\nen: URL of website for this board" } }, "required": [ "author", "class", "description", "name", "repositories", "topics" ], "type": "object" }, "RubicCatalog.LocalizedString": { "additionalProperties": false, "description": "ja: 多言語対応文字列 (英語は必須)\nen: Multiligual string (English is always required. Other languages are optional)", "properties": { "de": { "type": "string" }, "en": { "type": "string" }, "es": { "type": "string" }, "fr": { "type": "string" }, "it": { "type": "string" }, "ja": { "type": "string" }, "ko": { "type": "string" }, "ru": { "type": "string" }, "zh-cn": { "type": "string" }, "zh-tw": { "type": "string" } }, "required": [ "en" ], "type": "object" }, "RubicCatalog.ReleaseDetail": { "additionalProperties": false, "description": "リリース詳細定義 (release.jsonの中身そのもの)", "properties": { "boardData": { "description": "ボード固有情報" }, "description": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "リリースの説明文 (存在しない場合、Summaryのdescriptionから引用)" }, "name": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "リリースの名称 (存在しない場合、Summaryのnameから引用)" }, "variations": { "description": "バリエーション一覧", "items": { "$ref": "#/definitions/RubicCatalog.Variation" }, "type": "array" } }, "required": [ "variations" ], "type": "object" }, "RubicCatalog.ReleaseDetailV1": { "additionalProperties": false, "description": "リリース詳細定義v1 (release.jsonの中身そのもの)", "properties": { "boardData": { "description": "ボード固有情報" }, "description": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "リリースの説明文 (存在しない場合、Summaryのdescriptionから引用)" }, "name": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "リリースの名称 (存在しない場合、Summaryのnameから引用)" }, "rubicVersion": { "description": "ja: 対応するRubicのバージョンの範囲 (これを満たさないリリースは選択不可)\nen: Range of version of Rubic which supports this release", "type": "string" }, "variations": { "description": "バリエーション一覧", "items": { "$ref": "#/definitions/RubicCatalog.VariationV1" }, "type": "array" } }, "required": [ "variations" ], "type": "object" }, "RubicCatalog.ReleaseSummary": { "additionalProperties": false, "description": "リリース概要定義 (catalog.jsonの一部)", "properties": { "author": { "description": "作者名 (GitHubのauthorのログインID)", "type": "string" }, "cache": { "$ref": "#/definitions/RubicCatalog.ReleaseDetail", "description": "zipに格納された release.json のキャッシュ" }, "description": { "description": "リリースの説明 (GitHubリリース説明、英語のみ)", "type": "string" }, "name": { "description": "リリースの名称 (GitHubリリース名、英語のみ)", "type": "string" }, "preview": { "description": "プレビュー版か否か(省略時=false)", "type": "boolean" }, "published_at": { "description": "公開日 (GitHubのリリース情報 published_at より。ただし値は Date.now() フォーマット)", "type": "number" }, "tag": { "description": "リリースのタグ名\n※ワークスペースのファーム指定に使用されるIDであり、公開後の変更禁止。", "type": "string" }, "updated_at": { "description": "更新日 (assetのupdated_atより)", "type": "number" }, "url": { "description": "zip assetのURL", "type": "string" } }, "required": [ "author", "cache", "description", "name", "published_at", "tag", "updated_at", "url" ], "type": "object" }, "RubicCatalog.ReleaseSummaryV1": { "additionalProperties": false, "description": "リリース概要定義v1 (catalog.jsonの一部)", "properties": { "author": { "description": "作者名 (GitHubのauthorのログインID)", "type": "string" }, "cache": { "$ref": "#/definitions/RubicCatalog.ReleaseDetailV1", "description": "zipに格納された release.json のキャッシュ" }, "description": { "description": "リリースの説明 (GitHubリリース説明、英語のみ)", "type": "string" }, "name": { "description": "リリースの名称 (GitHubリリース名、英語のみ)", "type": "string" }, "preview": { "description": "プレビュー版か否か(省略時=false)", "type": "boolean" }, "published_at": { "description": "公開日 (GitHubのリリース情報 published_at より。ただし値は Date.now() フォーマット)", "type": "number" }, "tag": { "description": "リリースのタグ名\n※ワークスペースのファーム指定に使用されるIDであり、公開後の変更禁止。", "type": "string" }, "updated_at": { "description": "更新日 (assetのupdated_atより)", "type": "number" }, "url": { "description": "zip assetのURL", "type": "string" } }, "required": [ "author", "cache", "description", "name", "published_at", "tag", "updated_at", "url" ], "type": "object" }, "RubicCatalog.RepositoryDetail": { "additionalProperties": false, "description": "リポジトリ詳細定義 (rubic-repository.json)", "properties": { "boardData": { "description": "ボード固有情報" }, "description": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "説明" }, "name": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "名前" }, "preview": { "description": "プレビュー版か否か(省略時=false)", "type": "boolean" }, "releases": { "description": "リリース一覧", "items": { "$ref": "#/definitions/RubicCatalog.ReleaseSummary" }, "type": "array" } }, "required": [ "description", "name" ], "type": "object" }, "RubicCatalog.RepositoryDetailV1": { "additionalProperties": false, "description": "リポジトリ詳細定義v1 (rubic-repository.json)", "properties": { "boardData": { "description": "ボード固有情報" }, "description": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "説明" }, "name": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "名前" }, "preview": { "description": "プレビュー版か否か(省略時=false)", "type": "boolean" }, "releases": { "description": "リリース一覧", "items": { "$ref": "#/definitions/RubicCatalog.ReleaseSummaryV1" }, "type": "array" }, "rubicVersion": { "description": "ja: 対応するRubicのバージョンの範囲 (これを満たさないリポジトリは選択不可)\nen: Range of version of Rubic which supports this repository", "type": "string" } }, "required": [ "description", "name" ], "type": "object" }, "RubicCatalog.RepositorySummary": { "additionalProperties": false, "description": "リポジトリ概要情報 (catalog.jsonの一部)", "properties": { "branch": { "description": "ブランチ名(省略時=master)", "type": "string" }, "cache": { "$ref": "#/definitions/RubicCatalog.RepositoryDetail", "description": "詳細情報(rubic-repository.jsonの中身)" }, "custom": { "description": "カスタムリポジトリか否か(省略時=false)", "type": "boolean" }, "disabled": { "description": "無効化されているか否か(省略時=false)", "type": "boolean" }, "host": { "description": "ホスティングサイト", "enum": [ "github" ], "type": "string" }, "official": { "description": "ボードベンダーの公式ファームか否か(省略時=false)", "type": "boolean" }, "owner": { "description": "所有者", "type": "string" }, "repo": { "description": "リポジトリ名", "type": "string" }, "uuid": { "description": "UUID\n※ワークスペースのファーム指定に使用されるIDであり、公開後の変更禁止。", "type": "string" } }, "required": [ "host", "owner", "repo", "uuid" ], "type": "object" }, "RubicCatalog.RepositorySummaryV1": { "additionalProperties": false, "description": "リポジトリ概要情報v1 (catalog.jsonの一部)", "properties": { "branch": { "description": "ブランチ名(省略時=master)", "type": "string" }, "cache": { "$ref": "#/definitions/RubicCatalog.RepositoryDetailV1", "description": "詳細情報(rubic-repository.jsonの中身)" }, "custom": { "description": "カスタムリポジトリか否か(省略時=false)", "type": "boolean" }, "disabled": { "description": "無効化されているか否か(省略時=false)", "type": "boolean" }, "host": { "description": "ホスティングサイト", "enum": [ "github" ], "type": "string" }, "official": { "description": "ボードベンダーの公式ファームか否か(省略時=false)", "type": "boolean" }, "owner": { "description": "所有者", "type": "string" }, "repo": { "description": "リポジトリ名", "type": "string" }, "rubicVersion": { "description": "ja: 対応するRubicのバージョンの範囲 (これを満たさないリポジトリは非表示)\nen: Range of version of Rubic which supports this repository", "type": "string" }, "uuid": { "description": "UUID\n※ワークスペースのファーム指定に使用されるIDであり、公開後の変更禁止。", "type": "string" } }, "required": [ "host", "owner", "repo", "uuid" ], "type": "object" }, "RubicCatalog.Runtime.Common": { "additionalProperties": false, "description": "ランタイム共通定義", "properties": { "library": { "description": "ライブラリデータのアーカイブファイル名", "type": "string" }, "name": { "description": "ランタイムの名前", "type": "string" }, "template": { "description": "テンプレートデータのアーカイブファイル名", "type": "string" } }, "required": [ "name" ], "type": "object" }, "RubicCatalog.Runtime.Duktape": { "additionalProperties": false, "description": "JavaScript(ES5)ランタイム(name=duktape)", "properties": { "library": { "description": "ライブラリデータのアーカイブファイル名", "type": "string" }, "name": { "description": "ランタイムの名前", "type": "string" }, "template": { "description": "テンプレートデータのアーカイブファイル名", "type": "string" }, "version": { "description": "バージョン(x.x.x)", "type": "string" } }, "required": [ "name", "version" ], "type": "object" }, "RubicCatalog.Runtime.Lua": { "additionalProperties": false, "description": "Luaランタイム(name=lua)", "properties": { "library": { "description": "ライブラリデータのアーカイブファイル名", "type": "string" }, "name": { "description": "ランタイムの名前", "type": "string" }, "template": { "description": "テンプレートデータのアーカイブファイル名", "type": "string" }, "version": { "description": "バージョン(x.x.x)", "type": "string" } }, "required": [ "name", "version" ], "type": "object" }, "RubicCatalog.Runtime.Mruby": { "additionalProperties": false, "description": "Rubyランタイム(name=mruby)", "properties": { "library": { "description": "ライブラリデータのアーカイブファイル名", "type": "string" }, "mrbgems": { "description": "mrbgemの一覧", "items": { "$ref": "#/definitions/RubicCatalog.Runtime.MrubyGem" }, "type": "array" }, "name": { "description": "ランタイムの名前", "type": "string" }, "template": { "description": "テンプレートデータのアーカイブファイル名", "type": "string" }, "version": { "description": "バージョン(x.x.x)", "type": "string" } }, "required": [ "name", "version" ], "type": "object" }, "RubicCatalog.Runtime.MrubyGem": { "additionalProperties": false, "description": "mruby用gem定義", "properties": { "description": { "description": "説明文(英語のみ)", "type": "string" }, "name": { "description": "mrbgemの名称", "type": "string" } }, "required": [ "description", "name" ], "type": "object" }, "RubicCatalog.Topic": { "additionalProperties": false, "description": "ja: トピック定義\nen: Topic definition", "properties": { "color": { "description": "ja: 色\nen: Color of topic", "enum": [ "blue", "gray", "green", "lightblue", "orange", "red" ], "type": "string" }, "name": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ja: トピックの名前\nen: Name of topic" } }, "required": [ "color", "name" ], "type": "object" }, "RubicCatalog.Variation": { "additionalProperties": false, "description": "バリエーション定義 (release.jsonの一部)", "properties": { "boardData": { "description": "ボード固有情報" }, "description": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "バリエーションの説明文" }, "document": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ドキュメントのコンテンツ(Markdown)" }, "firmwareId": { "description": "ファームウェアの識別ID", "type": "string" }, "name": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "バリエーションの名前" }, "path": { "description": "アーカイブ(zip)内のパス\n※ワークスペースのファーム指定に使用されるIDであり、公開後の変更禁止。", "type": "string" }, "preview": { "description": "プレビュー版か否か(省略時=false)", "type": "boolean" }, "runtimes": { "description": "ランタイムの一覧", "items": { "anyOf": [ { "$ref": "#/definitions/RubicCatalog.Runtime.Common" }, { "$ref": "#/definitions/RubicCatalog.Runtime.Mruby" }, { "$ref": "#/definitions/RubicCatalog.Runtime.Duktape" }, { "$ref": "#/definitions/RubicCatalog.Runtime.Lua" } ] }, "type": "array" } }, "required": [ "description", "name", "path", "runtimes" ], "type": "object" }, "RubicCatalog.VariationV1": { "additionalProperties": false, "description": "バリエーション定義 (release.jsonの一部)", "properties": { "boardData": { "description": "ボード固有情報" }, "description": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "バリエーションの説明文" }, "document": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "ドキュメントのコンテンツ(Markdown)" }, "firmwareId": { "description": "ファームウェアの識別ID", "type": "string" }, "name": { "$ref": "#/definitions/RubicCatalog.LocalizedString", "description": "バリエーションの名前" }, "path": { "description": "アーカイブ(zip)内のパス\n※ワークスペースのファーム指定に使用されるIDであり、公開後の変更禁止。", "type": "string" }, "preview": { "description": "プレビュー版か否か(省略時=false)", "type": "boolean" }, "rubicVersion": { "description": "ja: 対応するRubicのバージョンの範囲 (これを満たさないバリエーションは選択不可)\nen: Range of version of Rubic which supports this variation", "type": "string" }, "runtimes": { "description": "ランタイムの一覧", "items": { "anyOf": [ { "$ref": "#/definitions/RubicCatalog.Runtime.Common" }, { "$ref": "#/definitions/RubicCatalog.Runtime.Mruby" }, { "$ref": "#/definitions/RubicCatalog.Runtime.Duktape" }, { "$ref": "#/definitions/RubicCatalog.Runtime.Lua" } ] }, "type": "array" } }, "required": [ "description", "name", "path", "runtimes" ], "type": "object" } }, "description": "ja: カタログ情報ルート (公式カタログサイトのcatalog.jsonそのもの)\nen: Root structure of catalog information", "properties": { "boards": { "description": "ja: ボード一覧 (この配列の順番が原則としてカタログ上の表示順序となる)\nen: List of board definitions (The order of this array will be used as the order of catalog list)", "items": { "$ref": "#/definitions/RubicCatalog.Board" }, "type": "array" }, "boardsV1": { "description": "ja: ボードv1一覧 (この配列の順番が原則としてカタログ上の表示順序となる)\nen: List of board v1 definitions (The order of this array will be used as the order of catalog list)", "items": { "$ref": "#/definitions/RubicCatalog.BoardV1" }, "type": "array" }, "lastModified": { "description": "ja: このJSONの最終更新時刻 (Date.now()の値)\nen: Timestamp of last modified (by Date.now() value)", "type": "number" }, "rubicVersion": { "description": "ja: 対応するRubicのバージョンの範囲 (これを満たさないRubic利用者はカタログ更新不可)\nen: Range of version of Rubic which supports this catalog", "type": "string" } }, "required": [ "boards", "lastModified", "rubicVersion" ], "type": "object" }