react-query-lightbase-codegen 1.0.6 → 1.1.2

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 CHANGED
@@ -53,7 +53,7 @@ importSpecs({
53
53
  To generate the code generated scheme and react query hooks run the above script
54
54
 
55
55
  ```bash
56
- node scripts/generateQueries.mjs && prettier --check ./src/generated/*.tsx --write
56
+ node scripts/generateQueries.mjs
57
57
  ```
58
58
 
59
59
  ## Configuration Options
@@ -6,13 +6,14 @@ import { convertSwaggerFile } from './convertSwaggerFile.js';
6
6
  import { createHook } from './generateHooks.js';
7
7
  import { generateImports } from './generateImports.js';
8
8
  import { generateSchemas } from './generateSchemas.js';
9
+ import execa from 'execa';
9
10
  export function importSpecs({ sourceDirectory, exportDirectory, apiDirectory, queryClientDir, headerFilters, overrides, }) {
10
- readdir(sourceDirectory, function (err, filenames) {
11
+ readdir(sourceDirectory, async (err, filenames) => {
11
12
  if (err) {
12
13
  console.log(err);
13
14
  throw err;
14
15
  }
15
- filenames.map(async (filename) => {
16
+ filenames.forEach(async (filename) => {
16
17
  try {
17
18
  const data = readFileSync(join(process.cwd(), sourceDirectory + '/' + filename), 'utf-8');
18
19
  const { ext } = parse(sourceDirectory + '/' + filename);
@@ -66,9 +67,15 @@ export function importSpecs({ sourceDirectory, exportDirectory, apiDirectory, qu
66
67
  queryImports: collectedQueryImports,
67
68
  });
68
69
  writeFileSync(join(process.cwd(), `${exportDirectory}/${name}/${hooksName}.tsx`), imports + hooks);
69
- const schemas = generateSchemas({ spec });
70
- writeFileSync(join(process.cwd(), `${exportDirectory}/${name}/${schemaName}.tsx`), schemas);
70
+ writeFileSync(join(process.cwd(), `${exportDirectory}/${name}/${schemaName}.tsx`), generateSchemas({ spec }));
71
71
  console.log(chalk.green(`🎉 [${filename}] Your OpenAPI spec has been converted into react query hooks`));
72
+ try {
73
+ execa.sync('prettier', ['--write', `./${exportDirectory}/${name}/*.tsx`]);
74
+ console.log(chalk.blue(`⚙️ Running prettier`));
75
+ }
76
+ catch (e) {
77
+ console.log(chalk.yellow(`⚠️ Prettier not found`));
78
+ }
72
79
  }
73
80
  catch (error) {
74
81
  if (error.code === 'EISDIR') {
@@ -1 +1 @@
1
- {"version":3,"file":"importSpecs.js","sourceRoot":"","sources":["../src/importSpecs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importSpecs.js","sourceRoot":"","sources":["../src/importSpecs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-query-lightbase-codegen",
3
3
  "description": "Fully typed react query code generation tool based on openApi specifications",
4
- "version": "1.0.6",
4
+ "version": "1.1.2",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "exports": "./dist/index.js",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "repository": {
31
31
  "type": "git",
32
- "url": "https://github.com/owinter86/react-query-codegen"
32
+ "url": "https://github.com/lightbasenl/react-query-codegen"
33
33
  },
34
34
  "engines": {
35
35
  "node": ">=14.16"
@@ -37,7 +37,7 @@
37
37
  "scripts": {
38
38
  "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
39
39
  "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",
41
41
  "deploy": "tsc && semantic-release --no-ci",
42
42
  "prepare": "husky install"
43
43
  },
@@ -7,6 +7,7 @@ import { convertSwaggerFile } from './convertSwaggerFile.js';
7
7
  import { createHook } from './generateHooks.js';
8
8
  import { generateImports } from './generateImports.js';
9
9
  import { generateSchemas } from './generateSchemas.js';
10
+ import execa from 'execa';
10
11
 
11
12
  export function importSpecs({
12
13
  sourceDirectory,
@@ -26,12 +27,12 @@ export function importSpecs({
26
27
  { type: 'query' } | { type: 'mutation' } | { type: 'infiniteQuery'; infiniteQueryParm: string }
27
28
  >;
28
29
  }) {
29
- readdir(sourceDirectory, function (err, filenames) {
30
+ readdir(sourceDirectory, async (err, filenames) => {
30
31
  if (err) {
31
32
  console.log(err);
32
33
  throw err;
33
34
  }
34
- filenames.map(async (filename) => {
35
+ filenames.forEach(async (filename) => {
35
36
  try {
36
37
  const data = readFileSync(join(process.cwd(), sourceDirectory + '/' + filename), 'utf-8');
37
38
  const { ext } = parse(sourceDirectory + '/' + filename);
@@ -94,12 +95,19 @@ export function importSpecs({
94
95
 
95
96
  writeFileSync(join(process.cwd(), `${exportDirectory}/${name}/${hooksName}.tsx`), imports + hooks);
96
97
 
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
+ );
100
102
  console.log(
101
103
  chalk.green(`🎉 [${filename}] Your OpenAPI spec has been converted into react query hooks`)
102
104
  );
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
+ }
103
111
  } catch (error) {
104
112
  if ((error as any).code === 'EISDIR') {
105
113
  console.log(chalk.red('nested folder structure not supported'));