From 2128309f4d4fa7b5755e74c21efe3a75357ef215 Mon Sep 17 00:00:00 2001 From: Northword Date: Thu, 17 Oct 2024 13:29:39 +0800 Subject: [PATCH 1/3] fix(deps): make gitee sdk optional --- package.json | 9 ++++++++ pnpm-lock.yaml | 12 ++++++++++ src/core/releaser/gitee.ts | 45 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) diff --git a/package.json b/package.json index 36432eb..91c3c61 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,14 @@ "lib": "dist", "doc": "docs" }, + "peerDependencies": { + "@gitee/typescript-sdk-v5": "^5.4.85" + }, + "peerDependenciesMeta": { + "@gitee/typescript-sdk-v5": { + "optional": true + } + }, "dependencies": { "@commander-js/extra-typings": "^12.1.0", "@inquirer/prompts": "^6.0.0", @@ -76,6 +84,7 @@ "hookable": "^5.5.3", "mime": "^4.0.4", "octokit": "^4.0.2", + "ofetch": "^1.4.1", "replace-in-file": "^8.2.0", "std-env": "^3.7.0", "update-notifier": "^7.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ffc99c5..abfbd5d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,6 +53,9 @@ importers: octokit: specifier: ^4.0.2 version: 4.0.2 + ofetch: + specifier: ^1.4.1 + version: 1.4.1 replace-in-file: specifier: ^8.2.0 version: 8.2.0 @@ -3063,6 +3066,9 @@ packages: resolution: {integrity: sha512-wbqF4uc1YbcldtiBFfkSnquHtECEIpYD78YUXI6ri1Im5OO2NLo6ZVpRdbJpdnpZ05zMrVPssNiEo6JQtea+Qg==} engines: {node: '>= 18'} + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} @@ -7475,6 +7481,12 @@ snapshots: '@octokit/request-error': 6.1.4 '@octokit/types': 13.5.0 + ofetch@1.4.1: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.4 + ohash@1.1.3: {} on-exit-leak-free@2.1.2: {} diff --git a/src/core/releaser/gitee.ts b/src/core/releaser/gitee.ts index 3c983eb..5efa541 100644 --- a/src/core/releaser/gitee.ts +++ b/src/core/releaser/gitee.ts @@ -1,3 +1,9 @@ +import fs from "node:fs"; +import { basename, join } from "node:path"; +import { env } from "node:process"; +import { OpenAPI, RepositoriesService } from "@gitee/typescript-sdk-v5"; +import { globbySync } from "globby"; +import { ofetch } from "ofetch"; import { ReleaseBase } from "./base.js"; export default class Gitee extends ReleaseBase { @@ -12,4 +18,43 @@ export default class Gitee extends ReleaseBase { repo, }; } + + private get token() { + if (!env.GITEE_TOKEN) + throw new Error("No GITEE_TOKEN provided!"); + return env.GITEE_TOKEN; + } + + // private getParams(params: object) { + // return { + // access_token: this.token, + // ...this.remote, + // ...params, + // }; + // } + + _fetch = ofetch.create({ baseURL: "https://gitee.com/api/v5", params: { + access_token: this.token, + ...this.remote, + } }); + + /** + * @see https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoReleasesTagsTag + */ + private async getReleaseByTag(tag: string): Promise<{ + body: string; + created_at: string; + id: number; + name: string; + prerelease: boolean; + tag_name: string; + target_commitish: string; + }> { + // return (await _fetch(`/repos/{owner}/{repo}/releases/tags/{tag}`, { params: this.getParams({ tag }) })); + return (await this._fetch(`/repos/{owner}/{repo}/releases/tags/{tag}`, { params: { tag } })); + } + + private async createRelease(tag_name: string, name: string, body: string, prerelease: boolean = false) { + // + } } From a073d3fa7646f541f916f0920c12c74a4399d667 Mon Sep 17 00:00:00 2001 From: Northword Date: Thu, 17 Oct 2024 15:02:04 +0800 Subject: [PATCH 2/3] fix: restore previous code --- src/core/releaser/gitee.ts | 102 ++++++++++++++++++++++++++++++++++++- src/core/releaser/index.ts | 4 +- 2 files changed, 103 insertions(+), 3 deletions(-) diff --git a/src/core/releaser/gitee.ts b/src/core/releaser/gitee.ts index 5efa541..36d6cdb 100644 --- a/src/core/releaser/gitee.ts +++ b/src/core/releaser/gitee.ts @@ -7,8 +7,108 @@ import { ofetch } from "ofetch"; import { ReleaseBase } from "./base.js"; export default class Gitee extends ReleaseBase { + readonly client = RepositoriesService; + async run() { - // + OpenAPI.TOKEN = env.GITEE_TOKEN; + if (!OpenAPI.TOKEN) + throw new Error("No GITEE_TOKEN provided!"); + + this.checkFiles(); + + this.logger.info("Uploading XPI to Gitee..."); + await this.uploadXPI(); + + this.logger.info("Refreshing update manifest..."); + await this.refreshUpdateManifest(); + } + + async uploadXPI() { + const { version, dist, xpiName } = this.ctx; + const release = await this.refreshRelease( + this.ctx.release.bumpp.tag!.toString().replaceAll("%s", version), + `Release v${version}`, + this.ctx.release.gitee.releaseNote(this.ctx), + ); + await this.refreshAttach(release.id!, join(dist, `${xpiName}.xpi`)); + } + + async refreshUpdateManifest() { + const updater = this.ctx.release.gitee.updater; + if (!updater) { + this.logger.debug( + `Skip refresh update.json because release.gitee.updater = false`, + ); + return; + } + + const { dist, version } = this.ctx; + const assets = globbySync(`${dist}/update*.json`).map(p => basename(p)); + const release = await this.refreshRelease( + updater, + "Zotero Auto Update Manifest", + `This release is used to host \`update.json\`, Updated in UTC ${new Date().toISOString()} for v${version}.`, + true, + ); + for (const asset of assets) + await this.refreshAttach(release.id!, join(dist, asset)); + } + + async refreshRelease( + tag: string, + name: string, + body: string, + prerelease = false, + ) { + const old = await this.client.getV5ReposOwnerRepoReleasesTagsTag({ + ...this.remote, + tag, + }); + if (old?.id) { + return this.client.patchV5ReposOwnerRepoReleasesId({ + ...this.remote, + name, + body, + prerelease, + id: old.id, + tagName: tag, + }); + } + return this.client.postV5ReposOwnerRepoReleases({ + ...this.remote, + name, + body, + prerelease, + tagName: tag, + targetCommitish: "main", + }); + } + + async refreshAttach(releaseId: number, file: string) { + const assets + = await this.client.getV5ReposOwnerRepoReleasesReleaseIdAttachFiles({ + ...this.remote, + releaseId, + }); + const fileBuffer = fs.readFileSync(file); + // delete old assets, by file name + for (const asset of assets) { + if (asset.name === basename(file)) { + await this.client + .deleteV5ReposOwnerRepoReleasesReleaseIdAttachFilesAttachFileId({ + ...this.remote, + releaseId, + attachFileId: asset.id!, + }) + // "eat" all exceptions + .catch(e => this.logger.error(e)); + } + } + this.client.postV5ReposOwnerRepoReleasesReleaseIdAttachFiles({ + ...this.remote, + releaseId, + file: new File([fileBuffer], basename(file), { type: "application/octet-stream" }), + }); } get remote() { diff --git a/src/core/releaser/index.ts b/src/core/releaser/index.ts index 392a97e..ef51cdc 100644 --- a/src/core/releaser/index.ts +++ b/src/core/releaser/index.ts @@ -64,8 +64,8 @@ export default class Release extends Base { } if (isGiteeEnabled) { - // const { default: Gitee } = await import("./gitee.js"); - // await new Gitee(this.ctx).run(); + const { default: Gitee } = await import("./gitee.js"); + await new Gitee(this.ctx).run(); } // TODO: Publish to Zotero's official market From 0eafc095aa71933de9c3ae416d6a7dd2d7318eb2 Mon Sep 17 00:00:00 2001 From: Northword Date: Sun, 2 Feb 2025 16:00:43 +0800 Subject: [PATCH 3/3] fsl --- packages/scaffold/package.json | 1 + packages/scaffold/src/core/releaser/gitee.ts | 52 +++--- pnpm-lock.yaml | 157 +++++++++++++++++-- 3 files changed, 170 insertions(+), 40 deletions(-) diff --git a/packages/scaffold/package.json b/packages/scaffold/package.json index ff7dfc0..e08a4c7 100644 --- a/packages/scaffold/package.json +++ b/packages/scaffold/package.json @@ -87,6 +87,7 @@ "xvfb-ts": "^1.1.0" }, "devDependencies": { + "@gitee/typescript-sdk-v5": "^5.4.86", "@types/adm-zip": "^0.5.7", "@types/fs-extra": "^11.0.4" } diff --git a/packages/scaffold/src/core/releaser/gitee.ts b/packages/scaffold/src/core/releaser/gitee.ts index 36d6cdb..8590e68 100644 --- a/packages/scaffold/src/core/releaser/gitee.ts +++ b/packages/scaffold/src/core/releaser/gitee.ts @@ -2,8 +2,8 @@ import fs from "node:fs"; import { basename, join } from "node:path"; import { env } from "node:process"; import { OpenAPI, RepositoriesService } from "@gitee/typescript-sdk-v5"; -import { globbySync } from "globby"; -import { ofetch } from "ofetch"; +// import { ofetch } from "ofetch"; +import { globSync } from "tinyglobby"; import { ReleaseBase } from "./base.js"; export default class Gitee extends ReleaseBase { @@ -43,7 +43,7 @@ export default class Gitee extends ReleaseBase { } const { dist, version } = this.ctx; - const assets = globbySync(`${dist}/update*.json`).map(p => basename(p)); + const assets = globSync(`${dist}/update*.json`).map(p => basename(p)); const release = await this.refreshRelease( updater, "Zotero Auto Update Manifest", @@ -133,28 +133,28 @@ export default class Gitee extends ReleaseBase { // }; // } - _fetch = ofetch.create({ baseURL: "https://gitee.com/api/v5", params: { - access_token: this.token, - ...this.remote, - } }); - - /** - * @see https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoReleasesTagsTag - */ - private async getReleaseByTag(tag: string): Promise<{ - body: string; - created_at: string; - id: number; - name: string; - prerelease: boolean; - tag_name: string; - target_commitish: string; - }> { - // return (await _fetch(`/repos/{owner}/{repo}/releases/tags/{tag}`, { params: this.getParams({ tag }) })); - return (await this._fetch(`/repos/{owner}/{repo}/releases/tags/{tag}`, { params: { tag } })); - } + // _fetch = ofetch.create({ baseURL: "https://gitee.com/api/v5", params: { + // access_token: this.token, + // ...this.remote, + // } }); + + // /** + // * @see https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoReleasesTagsTag + // */ + // private async getReleaseByTag(tag: string): Promise<{ + // body: string; + // created_at: string; + // id: number; + // name: string; + // prerelease: boolean; + // tag_name: string; + // target_commitish: string; + // }> { + // // return (await _fetch(`/repos/{owner}/{repo}/releases/tags/{tag}`, { params: this.getParams({ tag }) })); + // return (await this._fetch(`/repos/{owner}/{repo}/releases/tags/{tag}`, { params: { tag } })); + // } - private async createRelease(tag_name: string, name: string, body: string, prerelease: boolean = false) { - // - } + // private async createRelease(tag_name: string, name: string, body: string, prerelease: boolean = false) { + // // + // } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c52121..46e8619 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -107,6 +107,9 @@ importers: specifier: ^1.1.0 version: 1.1.0 devDependencies: + '@gitee/typescript-sdk-v5': + specifier: ^5.4.86 + version: 5.4.86 '@types/adm-zip': specifier: ^0.5.7 version: 0.5.7 @@ -241,6 +244,10 @@ packages: '@antfu/install-pkg@1.0.0': resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} + '@apidevtools/json-schema-ref-parser@11.6.1': + resolution: {integrity: sha512-DxjgKBCoyReu4p5HMvpmgSOfRhhBcuf5V5soDDRgOTZMwsA4KSFzol1abFZgiCTE11L2kKGca5Md9GwDdXVBwQ==} + engines: {node: '>= 16'} + '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -721,6 +728,21 @@ packages: '@floating-ui/utils@0.2.8': resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} + '@gitee/typescript-sdk-v5@5.4.86': + resolution: {integrity: sha512-Y+SFMcGUJUcYSiBwVtivp6BWpmoukuiDZKzrZUWMcjVdNyPUBMSZIUC66XmhQ/ZWfqGb9tVmA8H9L5u2PfxLGw==} + + '@hey-api/client-axios@0.3.4': + resolution: {integrity: sha512-9jyZb1kicWZoZwlu/2XnwRDQJsrGi+ExBuSn3liT5slQ6uRSbN5HYqZr1YzRy4fbAkxY9S2vFbqfdHniqWgGGg==} + peerDependencies: + axios: '>= 1.0.0 < 2' + + '@hey-api/openapi-ts@0.43.2': + resolution: {integrity: sha512-o1/w+9tk1Ty/LJBy/VrHvDzA8YkCSRi1rr567aABlLwa9pbl2WP5fsUQbXGOgZ1HsLieVXo6qwcNMNqC6v2oxw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + typescript: ^5.x + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -769,6 +791,9 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1536,6 +1561,10 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} @@ -1569,6 +1598,10 @@ packages: before-after-hook@3.0.2: resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + birpc@0.2.19: resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==} @@ -1602,6 +1635,9 @@ packages: engines: {node: '>=18'} hasBin: true + c12@1.10.0: + resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} + c12@2.0.1: resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==} peerDependencies: @@ -1618,6 +1654,10 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase@8.0.0: + resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} + engines: {node: '>=16'} + caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} @@ -1652,6 +1692,10 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -1703,6 +1747,10 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@12.0.0: + resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==} + engines: {node: '>=18'} + commander@13.1.0: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} @@ -2443,6 +2491,10 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} @@ -2889,6 +2941,10 @@ packages: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} @@ -3266,6 +3322,10 @@ packages: resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} engines: {node: '>=18'} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + readdirp@4.0.1: resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} engines: {node: '>= 14.16.0'} @@ -4007,6 +4067,12 @@ snapshots: package-manager-detector: 0.2.8 tinyexec: 0.3.2 + '@apidevtools/json-schema-ref-parser@11.6.1': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -4391,6 +4457,28 @@ snapshots: '@floating-ui/utils@0.2.8': {} + '@gitee/typescript-sdk-v5@5.4.86': + dependencies: + '@hey-api/client-axios': 0.3.4(axios@1.7.7) + '@hey-api/openapi-ts': 0.43.2(typescript@5.7.3) + axios: 1.7.7 + typescript: 5.7.3 + transitivePeerDependencies: + - debug + + '@hey-api/client-axios@0.3.4(axios@1.7.7)': + dependencies: + axios: 1.7.7 + + '@hey-api/openapi-ts@0.43.2(typescript@5.7.3)': + dependencies: + '@apidevtools/json-schema-ref-parser': 11.6.1 + c12: 1.10.0 + camelcase: 8.0.0 + commander: 12.0.0 + handlebars: 4.7.8 + typescript: 5.7.3 + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -4429,6 +4517,8 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jsdevtools/ono@7.1.3': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -5281,6 +5371,11 @@ snapshots: ansi-styles@6.2.1: {} + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + are-docs-informative@0.0.2: {} argparse@2.0.1: {} @@ -5289,8 +5384,7 @@ snapshots: assertion-error@2.0.1: {} - asynckit@0.4.0: - optional: true + asynckit@0.4.0: {} autoprefixer@10.4.20(postcss@8.4.49): dependencies: @@ -5309,12 +5403,13 @@ snapshots: proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - optional: true balanced-match@1.0.2: {} before-after-hook@3.0.2: {} + binary-extensions@2.3.0: {} + birpc@0.2.19: {} boolbase@1.0.0: {} @@ -5358,6 +5453,21 @@ snapshots: transitivePeerDependencies: - magicast + c12@1.10.0: + dependencies: + chokidar: 3.6.0 + confbox: 0.1.8 + defu: 6.1.4 + dotenv: 16.4.5 + giget: 1.2.3 + jiti: 1.21.7 + mlly: 1.7.4 + ohash: 1.1.4 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.3.0 + rc9: 2.1.2 + c12@2.0.1(magicast@0.3.5): dependencies: chokidar: 4.0.3 @@ -5379,6 +5489,8 @@ snapshots: callsites@3.1.0: {} + camelcase@8.0.0: {} + caniuse-api@3.0.0: dependencies: browserslist: 4.24.3 @@ -5413,6 +5525,18 @@ snapshots: check-error@2.1.1: {} + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + chokidar@4.0.3: dependencies: readdirp: 4.0.1 @@ -5457,10 +5581,11 @@ snapshots: combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - optional: true comma-separated-tokens@2.0.3: {} + commander@12.0.0: {} + commander@13.1.0: {} commander@7.2.0: {} @@ -5667,8 +5792,7 @@ snapshots: defu@6.1.4: {} - delayed-stream@1.0.0: - optional: true + delayed-stream@1.0.0: {} dequal@2.0.3: {} @@ -6181,15 +6305,13 @@ snapshots: dependencies: tabbable: 6.2.0 - follow-redirects@1.15.9: - optional: true + follow-redirects@1.15.9: {} form-data@4.0.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - optional: true fraction.js@4.3.7: {} @@ -6333,6 +6455,10 @@ snapshots: is-arrayish@0.2.1: {} + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 @@ -6829,13 +6955,11 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - mime-db@1.52.0: - optional: true + mime-db@1.52.0: {} mime-types@2.1.35: dependencies: mime-db: 1.52.0 - optional: true mimic-fn@4.0.0: {} @@ -6932,6 +7056,8 @@ snapshots: semver: 7.6.3 validate-npm-package-license: 3.0.4 + normalize-path@3.0.0: {} + normalize-range@0.1.2: {} npm-run-path@5.3.0: @@ -7264,8 +7390,7 @@ snapshots: property-information@6.5.0: {} - proxy-from-env@1.1.0: - optional: true + proxy-from-env@1.1.0: {} punycode@2.3.1: {} @@ -7303,6 +7428,10 @@ snapshots: type-fest: 4.26.1 unicorn-magic: 0.1.0 + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + readdirp@4.0.1: {} refa@0.12.1: