diff --git a/apps/build-docs/package.json b/apps/build-docs/package.json new file mode 100644 index 000000000..34390becb --- /dev/null +++ b/apps/build-docs/package.json @@ -0,0 +1,16 @@ +{ + "name": "build-docs", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "packageManager": "pnpm@10.19.0", + "devDependencies": { + "swagger-ui-dist": "5.30.1" + } +} diff --git a/apps/build-docs/src/context.ts b/apps/build-docs/src/context.ts new file mode 100644 index 000000000..07612ee74 --- /dev/null +++ b/apps/build-docs/src/context.ts @@ -0,0 +1,3 @@ +export default interface BuildContext { + baseDir: string; +} diff --git a/apps/build-docs/src/main.ts b/apps/build-docs/src/main.ts new file mode 100644 index 000000000..be936037f --- /dev/null +++ b/apps/build-docs/src/main.ts @@ -0,0 +1,9 @@ +import { join } from "path"; +import BuildContext from "./context"; +import buildSwagger from "./swagger"; + +const context: BuildContext = { + baseDir: join(__dirname, "../../../site") +}; + +buildSwagger(context); diff --git a/apps/build-docs/src/swagger.ts b/apps/build-docs/src/swagger.ts new file mode 100644 index 000000000..6b22611a9 --- /dev/null +++ b/apps/build-docs/src/swagger.ts @@ -0,0 +1,10 @@ +import { getAbsoluteFSPath } from "swagger-ui-dist"; +import BuildContext from "./context"; +import { cpSync, mkdirSync } from "fs"; +import { join } from "path"; + +export default function buildSwagger({ baseDir }: BuildContext) { + const absolutePath = getAbsoluteFSPath(); + const targetDir = join(baseDir, "api"); + cpSync(absolutePath, targetDir, { recursive: true }); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index df172fbba..9b99c0532 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -125,6 +125,12 @@ importers: specifier: 3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.9.1)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@20.0.8)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.9.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + apps/build-docs: + devDependencies: + swagger-ui-dist: + specifier: 5.30.1 + version: 5.30.1 + apps/client: dependencies: '@eslint/js': @@ -13028,6 +13034,9 @@ packages: swagger-ui-dist@5.21.0: resolution: {integrity: sha512-E0K3AB6HvQd8yQNSMR7eE5bk+323AUxjtCz/4ZNKiahOlPhPJxqn3UPIGs00cyY/dhrTDJ61L7C/a8u6zhGrZg==} + swagger-ui-dist@5.30.1: + resolution: {integrity: sha512-4mNAUM31sr52K3JcK9qiGbfsFKNh/dm3PkEe+F9FAM31YY/NoRYUgsR/L6d7LLFn6PgZXtBG2ygp8+7UnpUIPg==} + swagger-ui-express@5.0.1: resolution: {integrity: sha512-SrNU3RiBGTLLmFU8GIJdOdanJTl4TOmT27tt3bWWHppqYmAZ6IDuEuBvMU6nZq0zLEe6b/1rACXCgLZqO6ZfrA==} engines: {node: '>= v0.10.32'} @@ -15047,6 +15056,8 @@ snapshots: '@ckeditor/ckeditor5-core': 47.1.0 '@ckeditor/ckeditor5-utils': 47.1.0 ckeditor5: 47.1.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-code-block@47.1.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -15108,6 +15119,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.1.0 '@ckeditor/ckeditor5-watchdog': 47.1.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-dev-build-tools@43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)': dependencies: @@ -29528,6 +29541,10 @@ snapshots: dependencies: '@scarf/scarf': 1.4.0 + swagger-ui-dist@5.30.1: + dependencies: + '@scarf/scarf': 1.4.0 + swagger-ui-express@5.0.1(express@5.1.0): dependencies: express: 5.1.0