open-api-typescript-request-generator 0.0.1

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.
Files changed (71) hide show
  1. package/README.md +26 -0
  2. package/bin/apits-gener +4 -0
  3. package/es/Generator.d.ts +43 -0
  4. package/es/Generator.js +892 -0
  5. package/es/cli.d.ts +19 -0
  6. package/es/cli.js +547 -0
  7. package/es/console.d.ts +48 -0
  8. package/es/console.js +151 -0
  9. package/es/constants.d.ts +22 -0
  10. package/es/constants.js +39 -0
  11. package/es/dependenciesHandler.d.ts +16 -0
  12. package/es/dependenciesHandler.js +270 -0
  13. package/es/genIndex.d.ts +23 -0
  14. package/es/genIndex.js +354 -0
  15. package/es/genRequest.d.ts +3 -0
  16. package/es/genRequest.js +216 -0
  17. package/es/getOutputPath.d.ts +5 -0
  18. package/es/getOutputPath.js +28 -0
  19. package/es/helpers.d.ts +63 -0
  20. package/es/helpers.js +458 -0
  21. package/es/index.d.ts +2 -0
  22. package/es/index.js +34 -0
  23. package/es/requestYapiData.d.ts +157 -0
  24. package/es/requestYapiData.js +1010 -0
  25. package/es/responseDataJsonSchemaHandler.d.ts +11 -0
  26. package/es/responseDataJsonSchemaHandler.js +193 -0
  27. package/es/server/mock.d.ts +1 -0
  28. package/es/server/mock.js +7 -0
  29. package/es/server/swaggerJsonToYApiData.d.ts +10 -0
  30. package/es/server/swaggerJsonToYApiData.js +614 -0
  31. package/es/spinner.d.ts +15 -0
  32. package/es/spinner.js +58 -0
  33. package/es/types.d.ts +736 -0
  34. package/es/types.js +143 -0
  35. package/es/utils.d.ts +97 -0
  36. package/es/utils.js +783 -0
  37. package/lib/Generator.d.ts +43 -0
  38. package/lib/Generator.js +892 -0
  39. package/lib/cli.d.ts +19 -0
  40. package/lib/cli.js +547 -0
  41. package/lib/console.d.ts +48 -0
  42. package/lib/console.js +151 -0
  43. package/lib/constants.d.ts +22 -0
  44. package/lib/constants.js +39 -0
  45. package/lib/dependenciesHandler.d.ts +16 -0
  46. package/lib/dependenciesHandler.js +270 -0
  47. package/lib/genIndex.d.ts +23 -0
  48. package/lib/genIndex.js +354 -0
  49. package/lib/genRequest.d.ts +3 -0
  50. package/lib/genRequest.js +216 -0
  51. package/lib/getOutputPath.d.ts +5 -0
  52. package/lib/getOutputPath.js +28 -0
  53. package/lib/helpers.d.ts +63 -0
  54. package/lib/helpers.js +458 -0
  55. package/lib/index.d.ts +2 -0
  56. package/lib/index.js +34 -0
  57. package/lib/requestYapiData.d.ts +157 -0
  58. package/lib/requestYapiData.js +1010 -0
  59. package/lib/responseDataJsonSchemaHandler.d.ts +11 -0
  60. package/lib/responseDataJsonSchemaHandler.js +193 -0
  61. package/lib/server/mock.d.ts +1 -0
  62. package/lib/server/mock.js +7 -0
  63. package/lib/server/swaggerJsonToYApiData.d.ts +10 -0
  64. package/lib/server/swaggerJsonToYApiData.js +614 -0
  65. package/lib/spinner.d.ts +15 -0
  66. package/lib/spinner.js +58 -0
  67. package/lib/types.d.ts +736 -0
  68. package/lib/types.js +143 -0
  69. package/lib/utils.d.ts +97 -0
  70. package/lib/utils.js +783 -0
  71. package/package.json +106 -0
package/lib/console.js ADDED
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ var __spreadArray = void 0 && (void 0).__spreadArray || function (to, from, pack) {
4
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
5
+ if (ar || !(i in from)) {
6
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
7
+ ar[i] = from[i];
8
+ }
9
+ }
10
+ return to.concat(ar || Array.prototype.slice.call(from));
11
+ };
12
+
13
+ var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
14
+ return mod && mod.__esModule ? mod : {
15
+ "default": mod
16
+ };
17
+ };
18
+
19
+ Object.defineProperty(exports, "__esModule", {
20
+ value: true
21
+ });
22
+ exports.line = exports.table = exports.success = exports.tips = exports.warn = exports.info = exports.error = exports.log = void 0;
23
+
24
+ var consola_1 = __importDefault(require("consola"));
25
+
26
+ var chalk_1 = __importDefault(require("chalk"));
27
+ /**
28
+ * 普通提示
29
+ * @param message
30
+ * @param args
31
+ */
32
+
33
+
34
+ function log(message) {
35
+ var args = [];
36
+
37
+ for (var _i = 1; _i < arguments.length; _i++) {
38
+ args[_i - 1] = arguments[_i];
39
+ }
40
+
41
+ consola_1.default.log.apply(consola_1.default, __spreadArray([message], args, false));
42
+ }
43
+
44
+ exports.log = log;
45
+ /**
46
+ * 错误提示
47
+ * @param message
48
+ * @param args
49
+ */
50
+
51
+ function error(message) {
52
+ var args = [];
53
+
54
+ for (var _i = 1; _i < arguments.length; _i++) {
55
+ args[_i - 1] = arguments[_i];
56
+ }
57
+
58
+ consola_1.default.error.apply(consola_1.default, __spreadArray([chalk_1.default.magenta(message)], args, false));
59
+ }
60
+
61
+ exports.error = error;
62
+ /**
63
+ * 信息提示
64
+ * @param message
65
+ * @param args
66
+ */
67
+
68
+ function info(message) {
69
+ var args = [];
70
+
71
+ for (var _i = 1; _i < arguments.length; _i++) {
72
+ args[_i - 1] = arguments[_i];
73
+ }
74
+
75
+ consola_1.default.info.apply(consola_1.default, __spreadArray([chalk_1.default.yellowBright(message)], args, false));
76
+ }
77
+
78
+ exports.info = info;
79
+ /**
80
+ * 警告信息提示
81
+ * @param message
82
+ * @param args
83
+ */
84
+
85
+ function warn(message) {
86
+ var args = [];
87
+
88
+ for (var _i = 1; _i < arguments.length; _i++) {
89
+ args[_i - 1] = arguments[_i];
90
+ }
91
+
92
+ consola_1.default.warn.apply(consola_1.default, __spreadArray([chalk_1.default.blue(message)], args, false));
93
+ }
94
+
95
+ exports.warn = warn;
96
+ /**
97
+ * 弱提示
98
+ * @param message
99
+ * @param args
100
+ */
101
+
102
+ function tips(message) {
103
+ var args = [];
104
+
105
+ for (var _i = 1; _i < arguments.length; _i++) {
106
+ args[_i - 1] = arguments[_i];
107
+ }
108
+
109
+ consola_1.default.log.apply(consola_1.default, __spreadArray([chalk_1.default.yellow("\uD83D\uDD08 ".concat(message, "\n"))], args, false));
110
+ }
111
+
112
+ exports.tips = tips;
113
+ /**
114
+ * 成功提示
115
+ * @param message
116
+ * @param args
117
+ */
118
+
119
+ function success(message) {
120
+ var args = [];
121
+
122
+ for (var _i = 1; _i < arguments.length; _i++) {
123
+ args[_i - 1] = arguments[_i];
124
+ }
125
+
126
+ consola_1.default.success.apply(consola_1.default, __spreadArray([chalk_1.default.cyan(message)], args, false));
127
+ }
128
+
129
+ exports.success = success;
130
+ /**
131
+ * table展示信息
132
+ * @param tabularData
133
+ * @param properties
134
+ */
135
+
136
+ function table(tabularData, properties) {
137
+ // eslint-disable-next-line no-console
138
+ console.table(tabularData, properties);
139
+ }
140
+
141
+ exports.table = table;
142
+ /**
143
+ * 空行
144
+ * @param blank
145
+ */
146
+
147
+ function line(blank) {
148
+ consola_1.default.log("\n".concat(!blank ? '-----------------------' : ''));
149
+ }
150
+
151
+ exports.line = line;
@@ -0,0 +1,22 @@
1
+ export declare const DefaultServerUrl = "";
2
+ export declare const CookieStoreFile = "/Users/Shared/api-ts-generator/yapiCookies.json";
3
+ export declare enum ResponseErrorCode {
4
+ /** 未登录 */
5
+ UnLogin = 40011
6
+ }
7
+ /** 获取菜单列表 */
8
+ export declare const yapiApiGetMenu = "/api/interface/getCatMenu";
9
+ /** 获取项目基本信息 */
10
+ export declare const yapiApiGetProject = "/api/project/get";
11
+ /** 获取接口数据(有详细接口数据定义文档) */
12
+ export declare const yapiApiInterfaceDetail = "/api/interface/get";
13
+ /** 获取某个分类下接口列表 */
14
+ export declare const yapiApiCatInterfaceList = "/api/interface/list_cat";
15
+ /** 获取项目下接口列表数据 */
16
+ export declare const yapiApiProjectInterfaceList = "/api/interface/list";
17
+ /** 获取项目下菜单列表 */
18
+ export declare const yapiApiProjectMenuList = "/api/interface/list_menu";
19
+ /** 导出所有接口 */
20
+ export declare const yapiApiExport = "/api/plugin/export";
21
+ /** 获取项目token */
22
+ export declare const yapiApiToken = "/api/project/token";
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.yapiApiToken = exports.yapiApiExport = exports.yapiApiProjectMenuList = exports.yapiApiProjectInterfaceList = exports.yapiApiCatInterfaceList = exports.yapiApiInterfaceDetail = exports.yapiApiGetProject = exports.yapiApiGetMenu = exports.ResponseErrorCode = exports.CookieStoreFile = exports.DefaultServerUrl = void 0;
7
+ exports.DefaultServerUrl = '';
8
+ exports.CookieStoreFile = '/Users/Shared/api-ts-generator/yapiCookies.json';
9
+ var ResponseErrorCode;
10
+
11
+ (function (ResponseErrorCode) {
12
+ /** 未登录 */
13
+ ResponseErrorCode[ResponseErrorCode["UnLogin"] = 40011] = "UnLogin";
14
+ })(ResponseErrorCode = exports.ResponseErrorCode || (exports.ResponseErrorCode = {}));
15
+ /** 获取菜单列表 */
16
+
17
+
18
+ exports.yapiApiGetMenu = '/api/interface/getCatMenu';
19
+ /** 获取项目基本信息 */
20
+
21
+ exports.yapiApiGetProject = '/api/project/get';
22
+ /** 获取接口数据(有详细接口数据定义文档) */
23
+
24
+ exports.yapiApiInterfaceDetail = '/api/interface/get';
25
+ /** 获取某个分类下接口列表 */
26
+
27
+ exports.yapiApiCatInterfaceList = '/api/interface/list_cat';
28
+ /** 获取项目下接口列表数据 */
29
+
30
+ exports.yapiApiProjectInterfaceList = '/api/interface/list';
31
+ /** 获取项目下菜单列表 */
32
+
33
+ exports.yapiApiProjectMenuList = '/api/interface/list_menu';
34
+ /** 导出所有接口 */
35
+
36
+ exports.yapiApiExport = '/api/plugin/export';
37
+ /** 获取项目token */
38
+
39
+ exports.yapiApiToken = '/api/project/token';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 依赖包检测,自动安装所需依赖
3
+ */
4
+ /**
5
+ * 安装依赖包
6
+ * @param packageName
7
+ * @returns
8
+ */
9
+ export declare function installPackage(packageName: string): Promise<any>;
10
+ /**
11
+ * 检测是否安装依赖包
12
+ * @param packageName
13
+ * @param autoInstall
14
+ * @returns
15
+ */
16
+ export declare function packageCheck(packageName: string): Promise<any>;
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+ /**
3
+ * 依赖包检测,自动安装所需依赖
4
+ */
5
+
6
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
7
+ function adopt(value) {
8
+ return value instanceof P ? value : new P(function (resolve) {
9
+ resolve(value);
10
+ });
11
+ }
12
+
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) {
15
+ try {
16
+ step(generator.next(value));
17
+ } catch (e) {
18
+ reject(e);
19
+ }
20
+ }
21
+
22
+ function rejected(value) {
23
+ try {
24
+ step(generator["throw"](value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ }
29
+
30
+ function step(result) {
31
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
32
+ }
33
+
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+
38
+ var __generator = void 0 && (void 0).__generator || function (thisArg, body) {
39
+ var _ = {
40
+ label: 0,
41
+ sent: function sent() {
42
+ if (t[0] & 1) throw t[1];
43
+ return t[1];
44
+ },
45
+ trys: [],
46
+ ops: []
47
+ },
48
+ f,
49
+ y,
50
+ t,
51
+ g;
52
+ return g = {
53
+ next: verb(0),
54
+ "throw": verb(1),
55
+ "return": verb(2)
56
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
57
+ return this;
58
+ }), g;
59
+
60
+ function verb(n) {
61
+ return function (v) {
62
+ return step([n, v]);
63
+ };
64
+ }
65
+
66
+ function step(op) {
67
+ if (f) throw new TypeError("Generator is already executing.");
68
+
69
+ while (_) {
70
+ try {
71
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
72
+ if (y = 0, t) op = [op[0] & 2, t.value];
73
+
74
+ switch (op[0]) {
75
+ case 0:
76
+ case 1:
77
+ t = op;
78
+ break;
79
+
80
+ case 4:
81
+ _.label++;
82
+ return {
83
+ value: op[1],
84
+ done: false
85
+ };
86
+
87
+ case 5:
88
+ _.label++;
89
+ y = op[1];
90
+ op = [0];
91
+ continue;
92
+
93
+ case 7:
94
+ op = _.ops.pop();
95
+
96
+ _.trys.pop();
97
+
98
+ continue;
99
+
100
+ default:
101
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
102
+ _ = 0;
103
+ continue;
104
+ }
105
+
106
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
107
+ _.label = op[1];
108
+ break;
109
+ }
110
+
111
+ if (op[0] === 6 && _.label < t[1]) {
112
+ _.label = t[1];
113
+ t = op;
114
+ break;
115
+ }
116
+
117
+ if (t && _.label < t[2]) {
118
+ _.label = t[2];
119
+
120
+ _.ops.push(op);
121
+
122
+ break;
123
+ }
124
+
125
+ if (t[2]) _.ops.pop();
126
+
127
+ _.trys.pop();
128
+
129
+ continue;
130
+ }
131
+
132
+ op = body.call(thisArg, _);
133
+ } catch (e) {
134
+ op = [6, e];
135
+ y = 0;
136
+ } finally {
137
+ f = t = 0;
138
+ }
139
+ }
140
+
141
+ if (op[0] & 5) throw op[1];
142
+ return {
143
+ value: op[0] ? op[1] : void 0,
144
+ done: true
145
+ };
146
+ }
147
+ };
148
+
149
+ var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
150
+ return mod && mod.__esModule ? mod : {
151
+ "default": mod
152
+ };
153
+ };
154
+
155
+ Object.defineProperty(exports, "__esModule", {
156
+ value: true
157
+ });
158
+ exports.packageCheck = exports.installPackage = void 0;
159
+
160
+ var execa_1 = __importDefault(require("execa"));
161
+
162
+ var fs_extra_1 = __importDefault(require("fs-extra"));
163
+
164
+ var path_1 = __importDefault(require("path"));
165
+
166
+ var consola_1 = __importDefault(require("consola"));
167
+
168
+ var prompts_1 = __importDefault(require("prompts"));
169
+ /**
170
+ * 安装依赖包
171
+ * @param packageName
172
+ * @returns
173
+ */
174
+
175
+
176
+ function installPackage(packageName) {
177
+ return __awaiter(this, void 0, void 0, function () {
178
+ var hasLocalYarn, command, result;
179
+ return __generator(this, function (_a) {
180
+ switch (_a.label) {
181
+ case 0:
182
+ hasLocalYarn = fs_extra_1.default.existsSync(path_1.default.resolve(process.cwd(), 'yarn.lock'));
183
+ command = hasLocalYarn ? "yarn add ".concat(packageName, "@latest -D") : "npm install ".concat(packageName, "@latest -D");
184
+ consola_1.default.info("Install ".concat(packageName, "@lastest with ").concat(hasLocalYarn ? 'yarn' : 'npm', " \n"));
185
+ return [4
186
+ /*yield*/
187
+ , (0, execa_1.default)(command, [], {
188
+ stdio: 'inherit',
189
+ shell: true
190
+ })];
191
+
192
+ case 1:
193
+ result = _a.sent();
194
+ return [2
195
+ /*return*/
196
+ , result];
197
+ }
198
+ });
199
+ });
200
+ }
201
+
202
+ exports.installPackage = installPackage;
203
+ /**
204
+ * 检测是否安装依赖包
205
+ * @param packageName
206
+ * @param autoInstall
207
+ * @returns
208
+ */
209
+
210
+ function packageCheck(packageName) {
211
+ return __awaiter(this, void 0, void 0, function () {
212
+ var targetPackageJson, packJson, answers, e_1;
213
+ return __generator(this, function (_a) {
214
+ switch (_a.label) {
215
+ case 0:
216
+ targetPackageJson = path_1.default.resolve(process.cwd(), 'package.json');
217
+ _a.label = 1;
218
+
219
+ case 1:
220
+ _a.trys.push([1, 5,, 6]);
221
+
222
+ packJson = JSON.parse(fs_extra_1.default.readFileSync(targetPackageJson, 'utf-8'));
223
+ if (!((!packJson.dependencies || !packJson.dependencies[packageName]) && (!packJson.devDependencies || !packJson.devDependencies[packageName]))) return [3
224
+ /*break*/
225
+ , 4];
226
+ return [4
227
+ /*yield*/
228
+ , (0, prompts_1.default)({
229
+ message: "package.json\u4E2D\u672A\u68C0\u6D4B\u5230\uFF1A".concat(packageName, "\uFF0C\u662F\u5426\u5B89\u88C5?"),
230
+ name: 'install',
231
+ type: 'confirm',
232
+ initial: 'y'
233
+ })];
234
+
235
+ case 2:
236
+ answers = _a.sent();
237
+ if (!answers.install) return [2
238
+ /*return*/
239
+ ];
240
+ return [4
241
+ /*yield*/
242
+ , installPackage(packageName)];
243
+
244
+ case 3:
245
+ _a.sent();
246
+
247
+ _a.label = 4;
248
+
249
+ case 4:
250
+ return [3
251
+ /*break*/
252
+ , 6];
253
+
254
+ case 5:
255
+ e_1 = _a.sent();
256
+ consola_1.default.error(e_1);
257
+ return [3
258
+ /*break*/
259
+ , 6];
260
+
261
+ case 6:
262
+ return [2
263
+ /*return*/
264
+ ];
265
+ }
266
+ });
267
+ });
268
+ }
269
+
270
+ exports.packageCheck = packageCheck;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * 生成入口文件
3
+ */
4
+ import { Config } from './types';
5
+ /** 提前准备好'src/api/index.ts'文件 */
6
+ export declare function prepareIndexFile(config: Config): Promise<void>;
7
+ declare const _default: (config: Config, categoryList: {
8
+ projectId: string;
9
+ }[]) => Promise<void>;
10
+ export default _default;
11
+ /**
12
+ * 获取index.ts文件里的上次生成时的 git注释信息
13
+ * @param config
14
+ *
15
+ */
16
+ export declare type GetIndexGitInfoResultName = 'repo' | 'branch' | 'commitId';
17
+ export interface GetIndexGitInfoResult {
18
+ repo: string;
19
+ branch: string;
20
+ commitId: string;
21
+ }
22
+ export declare const getIndexGitInfo: (config: Config) => GetIndexGitInfoResult;
23
+ export declare const genGitRepoIndex: (config: Config, filePathList: string[], notes?: string) => Promise<void>;