API clients: Add generator (#104093)

* Add API client generator

* Extract config entry template

* Fix index file

* Fix message and file pattern

* Fix generate-rtk template

* Match generated-api

* Format

* Split helpers

* Cleanup

* Remove unused helpers

* Simplify group name handling

* Run generate-apis

* Prettier

* Format + lint

* improve lint/format

* Optional filterEndpoints

* Format

* Update readme

* More updates

* Move the helpers out

* Switch to TS

* Cleanup types

* Add support for Enterprise

* Add comments

* Refactor endpoint handling and update README

* Simplify checks

* Do not register reducers and middleware for enterprise

* More docs updates

* Remove redundant sections

* Format gitignored files

* Add limitations

* Simplify types

* Simplify path logic

* Do not format OSS paths for enterprise

* dedupe

* format

* Simplify instructions

* Update lockfile

* Add comments

* Remove custom types
This commit is contained in:
Alex Khomenko
2025-04-25 09:42:37 +03:00
committed by GitHub
parent 7ed17cacbf
commit 618ffd0275
13 changed files with 1136 additions and 158 deletions
+3 -1
View File
@@ -64,7 +64,8 @@
"plugin:build:commit": "nx run-many -t build:commit --projects='tag:scope:plugin'",
"plugin:build:dev": "nx run-many -t dev --projects='tag:scope:plugin' --maxParallel=100",
"process-specs": "node --experimental-strip-types scripts/process-specs.ts",
"generate-apis": "yarn process-specs && rtk-query-codegen-openapi ./scripts/generate-rtk-apis.ts"
"generate-apis": "yarn process-specs && rtk-query-codegen-openapi ./scripts/generate-rtk-apis.ts",
"generate:api-client": "NODE_OPTIONS='--experimental-strip-types' plop --plopfile public/app/api/generator/plopfile.ts"
},
"grafana": {
"whatsNewUrl": "https://grafana.com/docs/grafana/next/whatsnew/whats-new-in-v%[1]s-%[2]s/",
@@ -216,6 +217,7 @@
"nx": "20.7.1",
"openapi-types": "^12.1.3",
"pdf-parse": "^1.1.1",
"plop": "^4.0.1",
"postcss": "8.5.1",
"postcss-loader": "8.1.1",
"postcss-reporter": "7.1.0",