@@ -3,11 +3,12 @@ import { cosmiconfig } from 'cosmiconfig';
33import fs from 'fs/promises' ;
44import path from 'path' ;
55import { generateApi } from 'swagger-typescript-api' ;
6+ import { defineConfig } from './configure' ;
67import { axiosImportDefault , helpersImport , templatesDir } from './const' ;
7- import { Config , Oas } from './types' ;
8+ import { StrictConfig , Oas , UserConfig } from './types' ;
89import { exitError , normalizeError , tryCatch } from './utils' ;
910
10- export async function generateItem ( oas : Oas , config : Config ) {
11+ export async function generateItem ( oas : Oas , config : StrictConfig ) {
1112 const { name, url, spec, axiosImport : axiosImportScope } = oas ;
1213 const { cwd, dest, axiosImport : axiosImportGlobal , unwrapResponseData } = config ;
1314 const axiosImport = axiosImportScope || axiosImportGlobal || axiosImportDefault ;
@@ -32,7 +33,7 @@ export async function generateItem(oas: Oas, config: Config) {
3233 }
3334}
3435
35- export async function generate ( config : Config ) {
36+ export async function generate ( config : StrictConfig ) {
3637 const { list } = config ;
3738 let step = 0 ;
3839 const length = list . length ;
@@ -60,7 +61,11 @@ export async function start() {
6061 return exitError ( '配置文件未找到' ) ;
6162 }
6263
63- const config = result . config as Config ;
64+ const config = result . filepath . endsWith ( 'js' )
65+ ? // js 文件使用 defineConfig,返回的是 StrictConfig
66+ ( result . config as StrictConfig )
67+ : // json 文件是纯文本,返回的 UserConfig
68+ defineConfig ( result . config as UserConfig ) ;
6469
6570 try {
6671 await generate ( config ) ;
0 commit comments