@karry.sun/yapi-gen 0.2.1 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -106,10 +106,11 @@ pnpm yapi-gen --output-dir src/yapi --mapping-file src/yapi/gen-api-mapping.json
106
106
  | `serverType` | `'yapi'` \| `'swagger'` | 否 |
107
107
  | `requestAdapter` | `'axios'` / `'nuxt-bbm'` / `'custom'` | 否 |
108
108
  | `requestFunctionFilePath` | 自定义 request 文件路径 | custom 时必填 |
109
- | `outputFilePath` | 生成文件路径或函数 | |
109
+ | `outputFilePath` | 生成文件路径或函数,不填时默认按 outputDir + 分类映射生成 | |
110
+ | `outputDir` | 生成根目录,默认 `src/yapi` | 否 |
110
111
  | `projects` | 项目列表(token、categories) | 是 |
111
- | `dataKey` | 业务数据字段,如 `'result'` | 否 |
112
- | `preproccessInterface` | 预处理/过滤接口 | 否 |
112
+ | `dataKey` | 业务数据字段(如 `'result'` / `'data'`),axios/nuxt-bbm 适配器会据此从响应中解包业务数据 | 否 |
113
+ | `preproccessInterface` | 预处理接口:可过滤(返回 `false` 不生成)或改写接口信息。常用于按环境变量过滤 | 否 |
113
114
 
114
115
  ---
115
116
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAOtE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAEhF;AAED,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAoBlD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAYtE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAEhF;AAED,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,UAAU,CAAC"}
@@ -1,14 +1,38 @@
1
1
  import { getDefaultConfig } from './schema';
2
+ /** 默认 outputFilePath:按 outputDir + 分类映射生成,支持 YTT_INTERFACE_IDS / YTT_CAT_MAPPING */
3
+ function getDefaultOutputFilePath(outputDir) {
4
+ return (interfaceInfo) => {
5
+ const ids = process.env.YTT_INTERFACE_IDS;
6
+ if (ids)
7
+ return `${outputDir}/.temp/api_${interfaceInfo._id}.ts`;
8
+ const catId = interfaceInfo.catid ?? 0;
9
+ let dirName = `cat_${catId}`;
10
+ try {
11
+ const mapping = process.env.YTT_CAT_MAPPING
12
+ ? JSON.parse(process.env.YTT_CAT_MAPPING)
13
+ : {};
14
+ if (mapping[String(catId)])
15
+ dirName = mapping[String(catId)];
16
+ }
17
+ catch (_) { }
18
+ return `${outputDir}/${dirName}/index.ts`;
19
+ };
20
+ }
2
21
  /**
3
22
  * 合并用户配置与默认配置,返回可直接用于 defineConfig([...]) 的配置对象
4
23
  */
5
24
  export function mergeConfig(user) {
6
25
  const defaults = getDefaultConfig();
7
- return {
26
+ const merged = {
8
27
  ...defaults,
9
28
  ...user,
10
29
  reactHooks: user.reactHooks ?? defaults.reactHooks,
11
30
  };
31
+ if (merged.outputFilePath == null) {
32
+ const outputDir = merged.outputDir ?? 'src/yapi';
33
+ merged.outputFilePath = getDefaultOutputFilePath(outputDir);
34
+ }
35
+ return merged;
12
36
  }
13
37
  /**
14
38
  * 定义 yapi-gen 配置的辅助函数,带类型提示与默认值
@@ -64,8 +64,8 @@ export interface YapiGenUserConfig {
64
64
  requestAdapter?: YapiGenRequestAdapter;
65
65
  /** 项目内请求适配器文件路径(custom 时必填;使用预设时可选,默认 src/yapi/request.ts) */
66
66
  requestFunctionFilePath?: string;
67
- /** 输出文件路径或函数(必填) */
68
- outputFilePath: string | ((interfaceInfo: any, changeCase: {
67
+ /** 输出文件路径或函数,不填时默认按 outputDir + 分类映射生成 */
68
+ outputFilePath?: string | ((interfaceInfo: any, changeCase: {
69
69
  paramCase: (s: string) => string;
70
70
  camelCase: (s: string) => string;
71
71
  pascalCase: (s: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,sBAAsB,CAAC,EAAE,CACvB,aAAa,EAAE,GAAG,EAClB,UAAU,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;QAAC,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,KAClH,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,MAAM,CAAC;CACtE;AAED,2BAA2B;AAC3B,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,UAAU,GACV,QAAQ,GACR;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,uBAAuB,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,cAAc;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa;IACb,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACrC,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,8DAA8D;IAC9D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0CAA0C;IAC1C,cAAc,CAAC,EACX,MAAM,GACN,CAAC,CACC,aAAa,EAAE,GAAG,EAClB,UAAU,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;QAAC,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,KAClH,MAAM,CAAC,CAAC;IACjB,mBAAmB;IACnB,oBAAoB,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,KAAK,CAAC;IACtG,aAAa;IACb,sBAAsB,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,MAAM,CAAC;IACzE,eAAe;IACf,sBAAsB,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,MAAM,CAAC;IACzE,eAAe;IACf,uBAAuB,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,MAAM,CAAC;IAC1E,qBAAqB;IACrB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,eAAe;IACf,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,gBAAgB;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IAC5C,qBAAqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IAC/C,gBAAgB;IAChB,sBAAsB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9E,cAAc;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,qBAAqB;IACrB,2BAA2B,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChG;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAQ7D"}
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAqKA,wBAAgB,GAAG,CAAC,OAAO,GAAE;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACZ,GAAG,MAAM,CAqFd"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAyJA,wBAAgB,GAAG,CAAC,OAAO,GAAE;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACZ,GAAG,MAAM,CAqFd"}
package/dist/run.js CHANGED
@@ -9,7 +9,7 @@ import { resolve, dirname, basename, relative, join } from 'path';
9
9
  import { fileURLToPath } from 'url';
10
10
  import { createRequire } from 'module';
11
11
  import { readFileSync } from 'fs';
12
- import { parseArgs, loadMapping, saveMapping, renameDirsOnMappingChange, mappingForYtt, mergeTempToTarget, } from './gen-api-cli';
12
+ import { parseArgs, loadMapping, saveMapping, renameDirsOnMappingChange, mappingForYtt, mergeTempToTarget, } from './gen-api-cli.js';
13
13
  const __dirname = dirname(fileURLToPath(import.meta.url));
14
14
  const require = createRequire(import.meta.url);
15
15
  function getPackageName() {
@@ -92,19 +92,7 @@ export default defineYapiGenConfig({
92
92
  // axios 时可选指定实例路径,默认 '/@/utils/http/axios'
93
93
  // requestAdapter: { type: 'axios', axiosInstancePath: '/@/utils/http/axios' },
94
94
  requestAdapter: 'axios',
95
- outputFilePath: (interfaceInfo, changeCase) => {
96
- const ids = process.env.YTT_INTERFACE_IDS;
97
- if (ids) return \`src/yapi/.temp/api_\${interfaceInfo._id}.ts\`;
98
- const catId = interfaceInfo.catid ?? 0;
99
- let dirName = \`cat_\${catId}\`;
100
- try {
101
- const mapping = process.env.YTT_CAT_MAPPING
102
- ? (JSON.parse(process.env.YTT_CAT_MAPPING) as Record<string, string>)
103
- : {};
104
- if (mapping[String(catId)]) dirName = mapping[String(catId)];
105
- } catch (_) {}
106
- return \`src/yapi/\${dirName}/index.ts\`;
107
- },
95
+ // outputFilePath 可不填,默认按 outputDir + 分类映射生成;需要自定义时再配置
108
96
  dataKey: 'result',
109
97
  preproccessInterface(interfaceInfo) {
110
98
  // 可选:按环境变量过滤接口。YTT_INTERFACE_IDS=1,2,3 或 YTT_CATEGORY_IDS=401,413
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@karry.sun/yapi-gen",
3
- "version": "0.2.1",
3
+ "version": "0.2.4",
4
4
  "description": "基于 yapi-to-typescript 的 YApi 前端代码生成 CLI,支持可配置的请求适配器与多项目复用",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",