react-query-lightbase-codegen 1.6.3 → 2.0.0
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/dist/config/loadConfig.d.ts +2 -0
- package/dist/config/loadConfig.js +24 -0
- package/dist/generator/clientGenerator.d.ts +13 -0
- package/dist/generator/clientGenerator.js +199 -0
- package/dist/generator/instanceGenerator.d.ts +1 -0
- package/dist/generator/instanceGenerator.js +21 -0
- package/dist/generator/reactQueryGenerator.d.ts +2 -0
- package/dist/generator/reactQueryGenerator.js +82 -0
- package/dist/generator/schemaGenerator.d.ts +5 -0
- package/dist/generator/schemaGenerator.js +116 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +106 -4
- package/dist/types/config.d.ts +11 -0
- package/dist/types/config.js +2 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.js +2 -0
- package/dist/utils.d.ts +31 -20
- package/dist/utils.js +57 -179
- package/package.json +54 -82
- package/readme.md +94 -0
- package/src/config/loadConfig.ts +25 -0
- package/src/generator/clientGenerator.ts +234 -0
- package/src/generator/instanceGenerator.ts +20 -0
- package/src/generator/reactQueryGenerator.ts +92 -0
- package/src/generator/schemaGenerator.ts +139 -0
- package/src/index.ts +78 -3
- package/src/types/config.ts +12 -0
- package/src/types.ts +5 -0
- package/src/utils.ts +56 -213
- package/README.md +0 -77
- package/dist/convertSwaggerFile.d.ts +0 -5
- package/dist/convertSwaggerFile.js +0 -26
- package/dist/convertSwaggerFile.js.map +0 -1
- package/dist/generateHooks.d.ts +0 -18
- package/dist/generateHooks.js +0 -444
- package/dist/generateHooks.js.map +0 -1
- package/dist/generateImports.d.ts +0 -6
- package/dist/generateImports.js +0 -21
- package/dist/generateImports.js.map +0 -1
- package/dist/generateSchemas.d.ts +0 -7
- package/dist/generateSchemas.js +0 -100
- package/dist/generateSchemas.js.map +0 -1
- package/dist/importSpecs.d.ts +0 -10
- package/dist/importSpecs.js +0 -127
- package/dist/importSpecs.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/utils.js.map +0 -1
- package/src/convertSwaggerFile.ts +0 -25
- package/src/generateHooks.ts +0 -538
- package/src/generateImports.ts +0 -32
- package/src/generateSchemas.ts +0 -117
- package/src/importSpecs.ts +0 -168
package/dist/importSpecs.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import Case from 'case';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import { readFileSync, writeFileSync, readdir, mkdirSync } from 'fs';
|
|
4
|
-
import { join, parse } from 'path';
|
|
5
|
-
import { convertSwaggerFile } from './convertSwaggerFile.js';
|
|
6
|
-
import { createHook } from './generateHooks.js';
|
|
7
|
-
import { generateImports } from './generateImports.js';
|
|
8
|
-
import { generateSchemas } from './generateSchemas.js';
|
|
9
|
-
export function importSpecs({ sourceUrls, sourceDirectory, exportDirectory, apiDirectory, headerFilters, }) {
|
|
10
|
-
if (sourceUrls) {
|
|
11
|
-
sourceUrls.forEach(async (d) => {
|
|
12
|
-
const data = await fetch(d.url).then((res) => res.text());
|
|
13
|
-
// data response is raw text, check if it is yaml or json
|
|
14
|
-
let isYaml = true;
|
|
15
|
-
try {
|
|
16
|
-
JSON.parse(data);
|
|
17
|
-
isYaml = false;
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
const format = isYaml ? 'yaml' : 'json';
|
|
23
|
-
make({
|
|
24
|
-
data,
|
|
25
|
-
format,
|
|
26
|
-
filename: d.name,
|
|
27
|
-
exportDirectory,
|
|
28
|
-
headerFilters,
|
|
29
|
-
apiDirectory,
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (sourceDirectory) {
|
|
34
|
-
readdir(sourceDirectory, async (err, filenames) => {
|
|
35
|
-
if (err) {
|
|
36
|
-
console.log(err);
|
|
37
|
-
throw err;
|
|
38
|
-
}
|
|
39
|
-
filenames.forEach(async (filename) => {
|
|
40
|
-
try {
|
|
41
|
-
const data = readFileSync(join(process.cwd(), sourceDirectory + '/' + filename), 'utf-8');
|
|
42
|
-
const { ext } = parse(sourceDirectory + '/' + filename);
|
|
43
|
-
if (!['.yaml', '.yml', '.json'].includes(ext.toLowerCase())) {
|
|
44
|
-
console.log(chalk.red(`Skipping ${filename} as it is not a valid openapi/swagger file`));
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const format = ['.yaml', '.yml'].includes(ext.toLowerCase()) ? 'yaml' : 'json';
|
|
48
|
-
make({
|
|
49
|
-
data,
|
|
50
|
-
format,
|
|
51
|
-
filename,
|
|
52
|
-
exportDirectory,
|
|
53
|
-
headerFilters,
|
|
54
|
-
apiDirectory,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
if (error.code === 'EISDIR') {
|
|
59
|
-
console.log(chalk.red('nested folder structure not supported'));
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
console.log(chalk.red(`[${filename}]:`), chalk.red(error));
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
async function make({ data, format, filename, exportDirectory, headerFilters, apiDirectory, }) {
|
|
69
|
-
let spec = await convertSwaggerFile(data, format);
|
|
70
|
-
const formattedFileName = Case.camel(`useQueries, ${filename.split('.')[0]}`);
|
|
71
|
-
const schemaName = `${formattedFileName}.schema`;
|
|
72
|
-
const hooksName = `${formattedFileName}`;
|
|
73
|
-
const name = filename.split('.')[0];
|
|
74
|
-
mkdirSync(join(process.cwd(), `${exportDirectory}/${name}`), { recursive: true });
|
|
75
|
-
const operationIds = [];
|
|
76
|
-
let hooks = `
|
|
77
|
-
function hasDefinedProps<T extends { [P in K]?: any }, K extends PropertyKey>(
|
|
78
|
-
obj: T,
|
|
79
|
-
...keys: K[]
|
|
80
|
-
): obj is T & { [P in K]-?: Exclude<T[P], undefined> } {
|
|
81
|
-
return keys.every((k) => obj[k] !== undefined);
|
|
82
|
-
}
|
|
83
|
-
`;
|
|
84
|
-
let schemaImportsArray = [];
|
|
85
|
-
let collectedQueryImports = [];
|
|
86
|
-
Object.entries(spec.paths).forEach(([route, verbs]) => {
|
|
87
|
-
Object.entries(verbs).forEach(([verb, operation]) => {
|
|
88
|
-
if (['get', 'post', 'patch', 'put', 'delete'].includes(verb) && !operation.deprecated) {
|
|
89
|
-
const { implementation, imports, queryImports } = createHook({
|
|
90
|
-
operation,
|
|
91
|
-
verb,
|
|
92
|
-
route: (spec.basePath || '') + route,
|
|
93
|
-
operationIds,
|
|
94
|
-
parameters: verbs.parameters,
|
|
95
|
-
schemasComponents: spec.components,
|
|
96
|
-
headerFilters,
|
|
97
|
-
});
|
|
98
|
-
hooks += implementation;
|
|
99
|
-
imports.forEach((element) => {
|
|
100
|
-
const formattedImport = element.replace('[]', '');
|
|
101
|
-
if (!schemaImportsArray.includes(formattedImport) &&
|
|
102
|
-
element !== 'void' &&
|
|
103
|
-
element !== 'string' &&
|
|
104
|
-
!element.includes('{') &&
|
|
105
|
-
!element.includes('unknown')) {
|
|
106
|
-
schemaImportsArray.push(formattedImport);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
queryImports.forEach((element) => {
|
|
110
|
-
if (!schemaImportsArray.includes(element)) {
|
|
111
|
-
collectedQueryImports.push(element);
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
const imports = generateImports({
|
|
118
|
-
apiDirectory,
|
|
119
|
-
schemaName,
|
|
120
|
-
schemaImports: schemaImportsArray,
|
|
121
|
-
queryImports: collectedQueryImports,
|
|
122
|
-
});
|
|
123
|
-
writeFileSync(join(process.cwd(), `${exportDirectory}/${name}/${hooksName}.tsx`), imports + hooks);
|
|
124
|
-
writeFileSync(join(process.cwd(), `${exportDirectory}/${name}/${schemaName}.tsx`), generateSchemas({ spec }));
|
|
125
|
-
console.log(chalk.green(`🎉 [${filename}] Your OpenAPI spec has been converted into react query hooks`));
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=importSpecs.js.map
|
package/dist/importSpecs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"importSpecs.js","sourceRoot":"","sources":["../src/importSpecs.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { OpenAPIObject } from 'openapi3-ts';
|
|
2
|
-
import swagger2openapi from 'swagger2openapi';
|
|
3
|
-
import yaml from 'js-yaml';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Import and parse the openapi spec from a yaml/json
|
|
7
|
-
*/
|
|
8
|
-
export const convertSwaggerFile = (data: string, extension: 'yaml' | 'json'): Promise<OpenAPIObject> => {
|
|
9
|
-
const schema = extension === 'yaml' ? yaml.load(data) : JSON.parse(data);
|
|
10
|
-
return new Promise((resolve, reject) => {
|
|
11
|
-
if (!schema.openapi || !schema.openapi.startsWith('3.')) {
|
|
12
|
-
swagger2openapi.convertObj(schema, {}, (err, convertedObj) => {
|
|
13
|
-
if (err) {
|
|
14
|
-
reject(err);
|
|
15
|
-
} else {
|
|
16
|
-
// @ts-ignore
|
|
17
|
-
convertedObj.openapi.basePath = convertedObj.original.basePath;
|
|
18
|
-
resolve(convertedObj.openapi);
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
} else {
|
|
22
|
-
resolve(schema);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
};
|