Skip to content

Commit cb9c3a6

Browse files
author
Oliver Winter
committed
feat: add prettier support on import spec
1 parent 86c7bc7 commit cb9c3a6

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,4 @@ test/specs-private/*
108108

109109

110110
.npmrc
111+
orval.config.cjs

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"scripts": {
3838
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
3939
"tsc": "tsc -p tsconfig.json",
40-
"test": "yarn tsc && node test/script.mjs && prettier --check ./test/generated/**/*.tsx --write && eslint ./test/generated/**/*.tsx --fix",
40+
"test": "yarn tsc && node test/script.mjs",
4141
"deploy": "tsc && semantic-release --no-ci",
4242
"prepare": "husky install"
4343
},

src/importSpecs.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { convertSwaggerFile } from './convertSwaggerFile.js';
77
import { createHook } from './generateHooks.js';
88
import { generateImports } from './generateImports.js';
99
import { generateSchemas } from './generateSchemas.js';
10+
import execa from 'execa';
1011

1112
export function importSpecs({
1213
sourceDirectory,
@@ -26,12 +27,12 @@ export function importSpecs({
2627
{ type: 'query' } | { type: 'mutation' } | { type: 'infiniteQuery'; infiniteQueryParm: string }
2728
>;
2829
}) {
29-
readdir(sourceDirectory, function (err, filenames) {
30+
readdir(sourceDirectory, async (err, filenames) => {
3031
if (err) {
3132
console.log(err);
3233
throw err;
3334
}
34-
filenames.map(async (filename) => {
35+
filenames.forEach(async (filename) => {
3536
try {
3637
const data = readFileSync(join(process.cwd(), sourceDirectory + '/' + filename), 'utf-8');
3738
const { ext } = parse(sourceDirectory + '/' + filename);
@@ -94,12 +95,19 @@ export function importSpecs({
9495

9596
writeFileSync(join(process.cwd(), `${exportDirectory}/${name}/${hooksName}.tsx`), imports + hooks);
9697

97-
const schemas = generateSchemas({ spec });
98-
writeFileSync(join(process.cwd(), `${exportDirectory}/${name}/${schemaName}.tsx`), schemas);
99-
98+
writeFileSync(
99+
join(process.cwd(), `${exportDirectory}/${name}/${schemaName}.tsx`),
100+
generateSchemas({ spec })
101+
);
100102
console.log(
101103
chalk.green(`🎉 [${filename}] Your OpenAPI spec has been converted into react query hooks`)
102104
);
105+
try {
106+
execa.sync('prettier', ['--write', `./${exportDirectory}/${name}/*.tsx`]);
107+
console.log(chalk.blue(`⚙️ Running prettier`));
108+
} catch (e) {
109+
console.log(chalk.yellow(`⚠️ Prettier not found`));
110+
}
103111
} catch (error) {
104112
if ((error as any).code === 'EISDIR') {
105113
console.log(chalk.red('nested folder structure not supported'));

0 commit comments

Comments
 (0)