@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 +4 -3
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +25 -1
- package/dist/config/schema.d.ts +2 -2
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +2 -14
- package/package.json +1 -1
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` |
|
|
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;
|
|
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"}
|
package/dist/config/index.js
CHANGED
|
@@ -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
|
-
|
|
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 配置的辅助函数,带类型提示与默认值
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -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
|
|
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":"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,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"
|
|
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
|
|
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
|