{"id":15046222,"url":"https://github.com/qertis/openapi-jsonrpc-jsdoc","last_synced_at":"2025-07-21T15:05:46.585Z","repository":{"id":57315204,"uuid":"221448452","full_name":"qertis/openapi-jsonrpc-jsdoc","owner":"qertis","description":"Generator OpenAPI (Swagger, Postman) JSON-RPC by JSDOC","archived":false,"fork":false,"pushed_at":"2025-05-25T11:16:12.000Z","size":31,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-25T20:47:41.420Z","etag":null,"topics":["gotois","jsdoc","json-rpc","json-rpc-api","json-rpc2","openapi"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/openapi-jsonrpc-jsdoc","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qertis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-13T11:56:34.000Z","updated_at":"2025-06-11T14:21:07.000Z","dependencies_parsed_at":"2024-10-11T04:40:39.080Z","dependency_job_id":null,"html_url":"https://github.com/qertis/openapi-jsonrpc-jsdoc","commit_stats":{"total_commits":16,"total_committers":2,"mean_commits":8.0,"dds":0.3125,"last_synced_commit":"a8fa96a379203161701807c8764586b4dc9d9f05"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/qertis/openapi-jsonrpc-jsdoc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qertis%2Fopenapi-jsonrpc-jsdoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qertis%2Fopenapi-jsonrpc-jsdoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qertis%2Fopenapi-jsonrpc-jsdoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qertis%2Fopenapi-jsonrpc-jsdoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qertis","download_url":"https://codeload.github.com/qertis/openapi-jsonrpc-jsdoc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qertis%2Fopenapi-jsonrpc-jsdoc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266324464,"owners_count":23911226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gotois","jsdoc","json-rpc","json-rpc-api","json-rpc2","openapi"],"created_at":"2024-09-24T20:52:52.597Z","updated_at":"2025-07-21T15:05:46.573Z","avatar_url":"https://github.com/qertis.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openapi-jsonrpc-jsdoc\n\n## Install\n\n```fish\nnpm i openapi-jsonrpc-jsdoc --save-dev\n```\n\n## Examples\n\n### Create JSON-RPC Method\n\n```js\n// api/api-v1.js\n/**\n * @description Название API\n * @param {object} parameters - params\n * @param {string} parameters.id - id\n * @example\n * {\n *    \"@context\": \"https://www.w3.org/ns/activitystreams\",\n *    \"type\": \"Note\"\n * }\n */\nmodule.exports = (parameters) =\u003e {\n    return parameters.id;\n}\n```\n\n### Run package\n\n```js\n// index.js\nconst fs = require('fs');\nconst openapiJSONRpcJSDoc = require('openapi-jsonrpc-jsdoc');\nopenapiJSONRpcJSDoc({\n    api: '/',\n    servers: [\n        {\n            url: '0.0.0.0:8080',\n         },\n    ],\n    packageUrl: './package.json',\n    files: './api/*.js',\n}).then(data =\u003e {\n  fs.writeFileSync('openapi.json', JSON.stringify(data, null, 2));  \n});\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eSee Swagger result\u003c/summary\u003e\n\n```json\n{\n  \"x-send-defaults\": true,\n  \"openapi\": \"3.0.0\",\n  \"x-api-id\": \"json-rpc-example\",\n  \"x-headers\": [],\n  \"x-explorer-enabled\": true,\n  \"x-proxy-enabled\": true,\n  \"x-samples-enabled\": true,\n  \"x-samples-languages\": [\n    \"curl\",\n    \"node\",\n    \"javascript\"\n  ],\n  \"info\": {\n    \"version\": \"1.0.4\",\n    \"title\": \"openapi-jsonrpc-jsdoc\",\n    \"description\": \"OpenAPI generator\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"http://0.0.0.0:9000\"\n    }\n  ],\n  \"paths\": {\n    \"/api/v1\": {\n      \"post\": {\n        \"operationId\": \"v1.js\",\n        \"deprecated\": false,\n        \"summary\": \"/v1\",\n        \"description\": \"Название API\",\n        \"tags\": [\n          \"JSONRPC\"\n        ],\n        \"parameters\": [],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"unexpected error\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Error\"\n                }\n              }\n            }\n          }\n        },\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"method\",\n                  \"id\",\n                  \"jsonrpc\",\n                  \"params\"\n                ],\n                \"properties\": {\n                  \"method\": {\n                    \"type\": \"string\",\n                    \"default\": \"v1\",\n                    \"description\": \"API method v1\"\n                  },\n                  \"id\": {\n                    \"type\": \"integer\",\n                    \"default\": 1,\n                    \"format\": \"int32\",\n                    \"description\": \"Request ID\"\n                  },\n                  \"jsonrpc\": {\n                    \"type\": \"string\",\n                    \"default\": \"2.0\",\n                    \"description\": \"JSON-RPC Version (2.0)\"\n                  },\n                  \"params\": {\n                    \"title\": \"Parameters\",\n                    \"type\": \"object\",\n                    \"default\": {\n                      \"@context\": \"https://www.w3.org/ns/activitystreams\",\n                      \"type\": \"Note\"\n                    },\n                    \"required\": [\n                      \"method\",\n                      \"id\",\n                      \"jsonrpc\",\n                      \"id\"\n                    ],\n                    \"properties\": {\n                      \"id\": {\n                        \"type\": \"string\",\n                        \"description\": \"id\"\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/api/v2\": {\n      \"post\": {\n        \"operationId\": \"v2.js\",\n        \"deprecated\": true,\n        \"summary\": \"/v2\",\n        \"description\": \"Название API 2\",\n        \"tags\": [\n          \"JSONRPC\"\n        ],\n        \"parameters\": [],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OK\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\"\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"description\": \"unexpected error\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/Error\"\n                }\n              }\n            }\n          }\n        },\n        \"requestBody\": {\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\n                  \"method\",\n                  \"id\",\n                  \"jsonrpc\"\n                ],\n                \"properties\": {\n                  \"method\": {\n                    \"type\": \"string\",\n                    \"default\": \"v2\",\n                    \"description\": \"API method v2\"\n                  },\n                  \"id\": {\n                    \"type\": \"integer\",\n                    \"default\": 1,\n                    \"format\": \"int32\",\n                    \"description\": \"Request ID\"\n                  },\n                  \"jsonrpc\": {\n                    \"type\": \"string\",\n                    \"default\": \"2.0\",\n                    \"description\": \"JSON-RPC Version (2.0)\"\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"securitySchemes\": {\n      \"BasicAuth\": {\n        \"type\": \"http\",\n        \"scheme\": \"digest\"\n      }\n    },\n    \"schemas\": {\n      \"Error\": {\n        \"required\": [\n          \"error\",\n          \"id\",\n          \"jsonrpc\"\n        ],\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"format\": \"int32\"\n          },\n          \"error\": {\n            \"type\": \"object\"\n          },\n          \"jsonrpc\": {\n            \"type\": \"string\"\n          }\n        }\n      }\n    }\n  },\n  \"security\": [\n    {\n      \"BasicAuth\": []\n    }\n  ],\n  \"tags\": []\n}\n```\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqertis%2Fopenapi-jsonrpc-jsdoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqertis%2Fopenapi-jsonrpc-jsdoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqertis%2Fopenapi-jsonrpc-jsdoc/lists"}