@rubic/catalog-fetcher
Version:
Rubic Catalog fetcher
829 lines (827 loc) • 34.2 kB
JSON
{
"$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"
}