@ronas-it/nx-generators 0.10.4 → 0.10.5

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 (217) hide show
  1. package/package.json +4 -3
  2. package/src/generators/code-checks/config.d.ts +18 -0
  3. package/src/generators/code-checks/config.js +20 -0
  4. package/src/generators/code-checks/config.js.map +1 -0
  5. package/src/generators/code-checks/generator.d.ts +4 -0
  6. package/src/generators/code-checks/generator.js +53 -0
  7. package/src/generators/code-checks/generator.js.map +1 -0
  8. package/src/generators/code-checks/scripts.d.ts +6 -0
  9. package/src/generators/code-checks/scripts.js +8 -0
  10. package/src/generators/code-checks/scripts.js.map +1 -0
  11. package/src/generators/entity-api/generator.d.ts +4 -0
  12. package/src/generators/entity-api/generator.js +87 -0
  13. package/src/generators/entity-api/generator.js.map +1 -0
  14. package/src/generators/expo-app/generator.d.ts +4 -0
  15. package/src/generators/expo-app/generator.js +93 -0
  16. package/src/generators/expo-app/generator.js.map +1 -0
  17. package/src/generators/expo-app/scripts.d.ts +13 -0
  18. package/src/generators/expo-app/scripts.js +15 -0
  19. package/src/generators/expo-app/scripts.js.map +1 -0
  20. package/src/generators/form/generator.d.ts +4 -0
  21. package/src/generators/form/generator.js +55 -0
  22. package/src/generators/form/generator.js.map +1 -0
  23. package/src/generators/form/utils/add-form-usage.d.ts +1 -0
  24. package/src/generators/form/utils/add-form-usage.js +71 -0
  25. package/src/generators/form/utils/add-form-usage.js.map +1 -0
  26. package/src/generators/form/utils/get-app-name.d.ts +1 -0
  27. package/src/generators/form/utils/get-app-name.js +8 -0
  28. package/src/generators/form/utils/get-app-name.js.map +1 -0
  29. package/src/generators/form/utils/get-form-utils-directory.d.ts +2 -0
  30. package/src/generators/form/utils/get-form-utils-directory.js +35 -0
  31. package/src/generators/form/utils/get-form-utils-directory.js.map +1 -0
  32. package/src/generators/form/utils/index.js +8 -0
  33. package/src/generators/form/utils/index.js.map +1 -0
  34. package/src/generators/form/utils/update-index.d.ts +2 -0
  35. package/src/generators/form/utils/update-index.js +18 -0
  36. package/src/generators/form/utils/update-index.js.map +1 -0
  37. package/src/generators/lib-move/generator.d.ts +4 -0
  38. package/src/generators/lib-move/generator.js +37 -0
  39. package/src/generators/lib-move/generator.js.map +1 -0
  40. package/src/generators/lib-remove/generator.d.ts +4 -0
  41. package/src/generators/lib-remove/generator.js +22 -0
  42. package/src/generators/lib-remove/generator.js.map +1 -0
  43. package/src/generators/lib-rename/generator.d.ts +4 -0
  44. package/src/generators/lib-rename/generator.js +22 -0
  45. package/src/generators/lib-rename/generator.js.map +1 -0
  46. package/src/generators/lib-tags/generator.d.ts +4 -0
  47. package/src/generators/lib-tags/generator.js +56 -0
  48. package/src/generators/lib-tags/generator.js.map +1 -0
  49. package/src/generators/lib-tags/interfaces/context.d.ts +8 -0
  50. package/src/generators/lib-tags/interfaces/context.js +3 -0
  51. package/src/generators/lib-tags/interfaces/context.js.map +1 -0
  52. package/src/generators/lib-tags/interfaces/index.js +6 -0
  53. package/src/generators/lib-tags/interfaces/index.js.map +1 -0
  54. package/src/generators/lib-tags/interfaces/{verify-tag-config.ts → verify-tag-config.d.ts} +6 -7
  55. package/src/generators/lib-tags/interfaces/verify-tag-config.js +3 -0
  56. package/src/generators/lib-tags/interfaces/verify-tag-config.js.map +1 -0
  57. package/src/generators/lib-tags/types/index.js +5 -0
  58. package/src/generators/lib-tags/types/index.js.map +1 -0
  59. package/src/generators/lib-tags/types/tag.js +3 -0
  60. package/src/generators/lib-tags/types/tag.js.map +1 -0
  61. package/src/generators/lib-tags/utils/check-lib-tags.d.ts +4 -0
  62. package/src/generators/lib-tags/utils/check-lib-tags.js +113 -0
  63. package/src/generators/lib-tags/utils/check-lib-tags.js.map +1 -0
  64. package/src/generators/lib-tags/utils/index.js +5 -0
  65. package/src/generators/lib-tags/utils/index.js.map +1 -0
  66. package/src/generators/next-app/generator.d.ts +4 -0
  67. package/src/generators/next-app/generator.js +71 -0
  68. package/src/generators/next-app/generator.js.map +1 -0
  69. package/src/generators/react-component/generator.d.ts +4 -0
  70. package/src/generators/react-component/generator.js +60 -0
  71. package/src/generators/react-component/generator.js.map +1 -0
  72. package/src/generators/react-lib/generator.d.ts +4 -0
  73. package/src/generators/react-lib/generator.js +61 -0
  74. package/src/generators/react-lib/generator.js.map +1 -0
  75. package/src/generators/repo-config/generator.d.ts +3 -0
  76. package/src/generators/repo-config/generator.js +36 -0
  77. package/src/generators/repo-config/generator.js.map +1 -0
  78. package/src/generators/repo-config/scripts.d.ts +4 -0
  79. package/src/generators/repo-config/scripts.js +6 -0
  80. package/src/generators/repo-config/scripts.js.map +1 -0
  81. package/src/index.js +2 -0
  82. package/src/index.js.map +1 -0
  83. package/src/shared/dependencies.d.ts +73 -0
  84. package/src/shared/dependencies.js +79 -0
  85. package/src/shared/dependencies.js.map +1 -0
  86. package/src/shared/enums/base-generator-type.d.ts +4 -0
  87. package/src/shared/enums/base-generator-type.js +9 -0
  88. package/src/shared/enums/base-generator-type.js.map +1 -0
  89. package/src/shared/enums/index.js +5 -0
  90. package/src/shared/enums/index.js.map +1 -0
  91. package/src/shared/generators/api-client/generator.d.ts +6 -0
  92. package/src/shared/generators/api-client/generator.js +37 -0
  93. package/src/shared/generators/api-client/generator.js.map +1 -0
  94. package/src/shared/generators/api-client/index.js +5 -0
  95. package/src/shared/generators/api-client/index.js.map +1 -0
  96. package/src/shared/generators/app-env/generator.d.ts +8 -0
  97. package/src/shared/generators/app-env/generator.js +28 -0
  98. package/src/shared/generators/app-env/generator.js.map +1 -0
  99. package/src/shared/generators/app-env/index.js +5 -0
  100. package/src/shared/generators/app-env/index.js.map +1 -0
  101. package/src/shared/generators/auth/generator.d.ts +4 -0
  102. package/src/shared/generators/auth/generator.js +82 -0
  103. package/src/shared/generators/auth/generator.js.map +1 -0
  104. package/src/shared/generators/auth/index.js +5 -0
  105. package/src/shared/generators/auth/index.js.map +1 -0
  106. package/src/shared/generators/form-utils/generator.d.ts +5 -0
  107. package/src/shared/generators/form-utils/generator.js +24 -0
  108. package/src/shared/generators/form-utils/generator.js.map +1 -0
  109. package/src/shared/generators/form-utils/index.js +5 -0
  110. package/src/shared/generators/form-utils/index.js.map +1 -0
  111. package/src/shared/generators/index.js +12 -0
  112. package/src/shared/generators/index.js.map +1 -0
  113. package/src/shared/generators/rn-styles/generator.d.ts +6 -0
  114. package/src/shared/generators/rn-styles/generator.js +36 -0
  115. package/src/shared/generators/rn-styles/generator.js.map +1 -0
  116. package/src/shared/generators/rn-styles/index.js +5 -0
  117. package/src/shared/generators/rn-styles/index.js.map +1 -0
  118. package/src/shared/generators/storage/generator.d.ts +6 -0
  119. package/src/shared/generators/storage/generator.js +27 -0
  120. package/src/shared/generators/storage/generator.js.map +1 -0
  121. package/src/shared/generators/storage/index.js +5 -0
  122. package/src/shared/generators/storage/index.js.map +1 -0
  123. package/src/shared/generators/store/generator.d.ts +4 -0
  124. package/src/shared/generators/store/generator.js +36 -0
  125. package/src/shared/generators/store/generator.js.map +1 -0
  126. package/src/shared/generators/store/index.js +5 -0
  127. package/src/shared/generators/store/index.js.map +1 -0
  128. package/src/shared/generators/ui-kitten/generator.d.ts +6 -0
  129. package/src/shared/generators/ui-kitten/generator.js +40 -0
  130. package/src/shared/generators/ui-kitten/generator.js.map +1 -0
  131. package/src/shared/generators/ui-kitten/index.js +5 -0
  132. package/src/shared/generators/ui-kitten/index.js.map +1 -0
  133. package/src/shared/utils/cli-utils.d.ts +31 -0
  134. package/src/shared/utils/cli-utils.js +129 -0
  135. package/src/shared/utils/cli-utils.js.map +1 -0
  136. package/src/shared/utils/config-utils.d.ts +19 -0
  137. package/src/shared/utils/config-utils.js +124 -0
  138. package/src/shared/utils/config-utils.js.map +1 -0
  139. package/src/shared/utils/constants.d.ts +3 -0
  140. package/src/shared/utils/constants.js +7 -0
  141. package/src/shared/utils/constants.js.map +1 -0
  142. package/src/shared/utils/dynamic-import.d.ts +1 -0
  143. package/src/shared/utils/dynamic-import.js +5 -0
  144. package/src/shared/utils/dynamic-import.js.map +1 -0
  145. package/src/shared/utils/format-utils.d.ts +4 -0
  146. package/src/shared/utils/format-utils.js +18 -0
  147. package/src/shared/utils/format-utils.js.map +1 -0
  148. package/src/shared/utils/get-lib-directory-name.d.ts +1 -0
  149. package/src/shared/utils/get-lib-directory-name.js +15 -0
  150. package/src/shared/utils/get-lib-directory-name.js.map +1 -0
  151. package/src/shared/utils/index.js +11 -0
  152. package/src/shared/utils/index.js.map +1 -0
  153. package/src/shared/utils/ts-utils.d.ts +2 -0
  154. package/src/shared/utils/ts-utils.js +22 -0
  155. package/src/shared/utils/ts-utils.js.map +1 -0
  156. package/.eslintrc.json +0 -37
  157. package/jest.config.ts +0 -10
  158. package/project.json +0 -61
  159. package/src/generators/code-checks/config.ts +0 -17
  160. package/src/generators/code-checks/generator.ts +0 -68
  161. package/src/generators/code-checks/scripts.ts +0 -5
  162. package/src/generators/entity-api/generator.ts +0 -127
  163. package/src/generators/expo-app/generator.ts +0 -152
  164. package/src/generators/expo-app/scripts.ts +0 -12
  165. package/src/generators/form/generator.ts +0 -61
  166. package/src/generators/form/utils/add-form-usage.ts +0 -99
  167. package/src/generators/form/utils/get-app-name.ts +0 -3
  168. package/src/generators/form/utils/get-form-utils-directory.ts +0 -59
  169. package/src/generators/form/utils/update-index.ts +0 -15
  170. package/src/generators/lib-move/generator.ts +0 -57
  171. package/src/generators/lib-remove/generator.ts +0 -22
  172. package/src/generators/lib-rename/generator.ts +0 -25
  173. package/src/generators/lib-tags/generator.ts +0 -66
  174. package/src/generators/lib-tags/interfaces/context.ts +0 -9
  175. package/src/generators/lib-tags/utils/check-lib-tags.ts +0 -145
  176. package/src/generators/next-app/generator.ts +0 -104
  177. package/src/generators/react-component/generator.ts +0 -80
  178. package/src/generators/react-lib/generator.ts +0 -86
  179. package/src/generators/repo-config/generator.ts +0 -44
  180. package/src/generators/repo-config/scripts.ts +0 -3
  181. package/src/shared/dependencies.ts +0 -76
  182. package/src/shared/enums/base-generator-type.ts +0 -4
  183. package/src/shared/generators/api-client/generator.ts +0 -43
  184. package/src/shared/generators/app-env/generator.ts +0 -35
  185. package/src/shared/generators/auth/generator.ts +0 -100
  186. package/src/shared/generators/form-utils/generator.ts +0 -22
  187. package/src/shared/generators/rn-styles/generator.ts +0 -44
  188. package/src/shared/generators/storage/generator.ts +0 -29
  189. package/src/shared/generators/store/generator.ts +0 -42
  190. package/src/shared/generators/ui-kitten/generator.ts +0 -51
  191. package/src/shared/utils/cli-utils.ts +0 -164
  192. package/src/shared/utils/config-utils.ts +0 -159
  193. package/src/shared/utils/constants.ts +0 -3
  194. package/src/shared/utils/dynamic-import.ts +0 -3
  195. package/src/shared/utils/format-utils.ts +0 -15
  196. package/src/shared/utils/get-lib-directory-name.ts +0 -13
  197. package/src/shared/utils/ts-utils.ts +0 -20
  198. package/tsconfig.json +0 -16
  199. package/tsconfig.lib.json +0 -10
  200. package/tsconfig.spec.json +0 -9
  201. /package/src/generators/form/utils/{index.ts → index.d.ts} +0 -0
  202. /package/src/generators/lib-tags/interfaces/{index.ts → index.d.ts} +0 -0
  203. /package/src/generators/lib-tags/types/{index.ts → index.d.ts} +0 -0
  204. /package/src/generators/lib-tags/types/{tag.ts → tag.d.ts} +0 -0
  205. /package/src/generators/lib-tags/utils/{index.ts → index.d.ts} +0 -0
  206. /package/src/{index.ts → index.d.ts} +0 -0
  207. /package/src/shared/enums/{index.ts → index.d.ts} +0 -0
  208. /package/src/shared/generators/api-client/{index.ts → index.d.ts} +0 -0
  209. /package/src/shared/generators/app-env/{index.ts → index.d.ts} +0 -0
  210. /package/src/shared/generators/auth/{index.ts → index.d.ts} +0 -0
  211. /package/src/shared/generators/form-utils/{index.ts → index.d.ts} +0 -0
  212. /package/src/shared/generators/{index.ts → index.d.ts} +0 -0
  213. /package/src/shared/generators/rn-styles/{index.ts → index.d.ts} +0 -0
  214. /package/src/shared/generators/storage/{index.ts → index.d.ts} +0 -0
  215. /package/src/shared/generators/store/{index.ts → index.d.ts} +0 -0
  216. /package/src/shared/generators/ui-kitten/{index.ts → index.d.ts} +0 -0
  217. /package/src/shared/utils/{index.ts → index.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ronas-it/nx-generators",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "description": "NX generators for Ronas IT projects",
5
5
  "license": "MIT",
6
6
  "author": "Ronas IT",
@@ -34,5 +34,6 @@
34
34
  "type": "commonjs",
35
35
  "main": "./src/index.js",
36
36
  "typings": "./src/index.d.ts",
37
- "generators": "./generators.json"
38
- }
37
+ "generators": "./generators.json",
38
+ "types": "./src/index.d.ts"
39
+ }
@@ -0,0 +1,18 @@
1
+ declare const _default: {
2
+ 'lint-staged': {
3
+ '*.{ts,tsx}': string;
4
+ '*.{ts,tsx,js,html,json,md}': string;
5
+ '*.{ts,tsx,js}': string;
6
+ };
7
+ tsconfig: {
8
+ jsx: string;
9
+ allowJs: boolean;
10
+ noEmit: boolean;
11
+ strict: boolean;
12
+ allowSyntheticDefaultImports: boolean;
13
+ noImplicitAny: boolean;
14
+ strictPropertyInitialization: boolean;
15
+ strictNullChecks: boolean;
16
+ };
17
+ };
18
+ export default _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ 'lint-staged': {
5
+ '*.{ts,tsx}': 'tsc-files --noEmit types.d.ts',
6
+ '*.{ts,tsx,js,html,json,md}': 'prettier --write',
7
+ '*.{ts,tsx,js}': 'eslint --cache --fix',
8
+ },
9
+ tsconfig: {
10
+ jsx: 'react-native',
11
+ allowJs: true,
12
+ noEmit: true,
13
+ strict: true,
14
+ allowSyntheticDefaultImports: true,
15
+ noImplicitAny: true,
16
+ strictPropertyInitialization: false,
17
+ strictNullChecks: true,
18
+ },
19
+ };
20
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/code-checks/config.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,aAAa,EAAE;QACb,YAAY,EAAE,+BAA+B;QAC7C,4BAA4B,EAAE,kBAAkB;QAChD,eAAe,EAAE,sBAAsB;KACxC;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,cAAc;QACnB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,4BAA4B,EAAE,IAAI;QAClC,aAAa,EAAE,IAAI;QACnB,4BAA4B,EAAE,KAAK;QACnC,gBAAgB,EAAE,IAAI;KACvB;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { CodeChecksGeneratorSchema } from './schema';
3
+ export declare function codeChecksGenerator(tree: Tree, options: CodeChecksGeneratorSchema): Promise<() => void>;
4
+ export default codeChecksGenerator;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.codeChecksGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const child_process_1 = require("child_process");
6
+ const path = require("path");
7
+ const devkit_1 = require("@nx/devkit");
8
+ const dependencies_1 = require("../../shared/dependencies");
9
+ const config_1 = require("./config");
10
+ const scripts_1 = require("./scripts");
11
+ function codeChecksGenerator(tree, options) {
12
+ var _a, _b;
13
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
+ const projectRoot = '.';
15
+ // Delete files
16
+ tree.delete('.eslintrc.json');
17
+ tree.delete('eslint.config.cjs');
18
+ tree.delete('.prettierrc');
19
+ // Configure pre-commit hook
20
+ (0, child_process_1.execSync)('npx mrm@2 lint-staged', { stdio: 'inherit' });
21
+ const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
22
+ packageJson['lint-staged'] = config_1.default['lint-staged'];
23
+ packageJson.scripts = Object.assign(Object.assign({}, scripts_1.default), packageJson.scripts);
24
+ (0, devkit_1.writeJson)(tree, 'package.json', packageJson);
25
+ // Update tsconfig.base.json
26
+ const tsconfigJson = (0, devkit_1.readJson)(tree, 'tsconfig.base.json');
27
+ tsconfigJson.compilerOptions = Object.assign(Object.assign({}, config_1.default.tsconfig), tsconfigJson.compilerOptions);
28
+ (0, devkit_1.writeJson)(tree, 'tsconfig.base.json', tsconfigJson);
29
+ // Update .gitignore
30
+ const gitignoreContent = ((_a = tree.read('.gitignore')) === null || _a === void 0 ? void 0 : _a.toString()) + '\n.eslintcache\n';
31
+ tree.write('.gitignore', gitignoreContent);
32
+ // Update .eslintignore
33
+ const eslintignoreContent = ((_b = tree.read('.eslintignore')) === null || _b === void 0 ? void 0 : _b.toString()) + '\n**/*.js\napps/*/app.config.ts\n';
34
+ tree.write('.eslintignore', eslintignoreContent);
35
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
36
+ const configTemplate = require('../../shared/templates/config-template.json');
37
+ // Add files
38
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), projectRoot, options);
39
+ // Add rules to .eslintrc.json
40
+ const esLintConfig = (0, devkit_1.readJson)(tree, '.eslintrc.json');
41
+ esLintConfig.overrides.push(configTemplate);
42
+ (0, devkit_1.writeJson)(tree, '.eslintrc.json', esLintConfig);
43
+ // Install necessary dependencies
44
+ (0, devkit_1.addDependenciesToPackageJson)(tree, {}, dependencies_1.devDependencies['code-checks']);
45
+ yield (0, devkit_1.formatFiles)(tree);
46
+ return () => {
47
+ (0, devkit_1.installPackagesTask)(tree);
48
+ };
49
+ });
50
+ }
51
+ exports.codeChecksGenerator = codeChecksGenerator;
52
+ exports.default = codeChecksGenerator;
53
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/code-checks/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,6BAA6B;AAC7B,uCAQoB;AACpB,4DAA4D;AAC5D,qCAA8B;AAE9B,uCAAgC;AAEhC,SAAsB,mBAAmB,CAAC,IAAU,EAAE,OAAkC;;;QACtF,MAAM,WAAW,GAAG,GAAG,CAAC;QAExB,eAAe;QACf,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE3B,4BAA4B;QAC5B,IAAA,wBAAQ,EAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACnD,WAAW,CAAC,aAAa,CAAC,GAAG,gBAAM,CAAC,aAAa,CAAC,CAAC;QACnD,WAAW,CAAC,OAAO,mCAAQ,iBAAO,GAAK,WAAW,CAAC,OAAO,CAAE,CAAC;QAC7D,IAAA,kBAAS,EAAC,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAE7C,4BAA4B;QAC5B,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAC1D,YAAY,CAAC,eAAe,mCAAQ,gBAAM,CAAC,QAAQ,GAAK,YAAY,CAAC,eAAe,CAAE,CAAC;QACvF,IAAA,kBAAS,EAAC,IAAI,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;QAEpD,oBAAoB;QACpB,MAAM,gBAAgB,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,0CAAE,QAAQ,EAAE,IAAG,kBAAkB,CAAC;QAClF,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAE3C,uBAAuB;QACvB,MAAM,mBAAmB,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,0CAAE,QAAQ,EAAE,IAAG,mCAAmC,CAAC;QACzG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAEjD,8DAA8D;QAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;QAE9E,YAAY;QACZ,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAEzE,8BAA8B;QAC9B,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAEtD,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAA,kBAAS,EAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAEhD,iCAAiC;QACjC,IAAA,qCAA4B,EAAC,IAAI,EAAE,EAAE,EAAE,8BAAe,CAAC,aAAa,CAAC,CAAC,CAAC;QAEvE,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,OAAO,GAAS,EAAE;YAChB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;;CACH;AAjDD,kDAiDC;AAED,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ lint: string;
3
+ format: string;
4
+ prepare: string;
5
+ };
6
+ export default _default;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ lint: 'npx tsc && cross-env ESLINT_USE_FLAT_CONFIG=false npx eslint ./',
5
+ format: 'npx prettier --write . && npm run lint -- --fix',
6
+ prepare: 'husky',
7
+ };
8
+ //# sourceMappingURL=scripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/code-checks/scripts.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,IAAI,EAAE,iEAAiE;IACvE,MAAM,EAAE,iDAAiD;IACzD,OAAO,EAAE,OAAO;CACjB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { EntityApiGeneratorSchema } from './schema';
3
+ export declare function entityApiGenerator(tree: Tree, options: EntityApiGeneratorSchema): Promise<void>;
4
+ export default entityApiGenerator;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.entityApiGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path = require("path");
6
+ const devkit_1 = require("@nx/devkit");
7
+ const lodash_1 = require("lodash");
8
+ const ts_morph_1 = require("ts-morph");
9
+ const utils_1 = require("../../shared/utils");
10
+ function entityApiGenerator(tree, options) {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ const { default: autocomplete } = yield (0, utils_1.dynamicImport)('inquirer-autocomplete-standalone');
13
+ const nxLibsPaths = (0, utils_1.getNxLibsPaths)([utils_1.LibraryType.DATA_ACCESS]);
14
+ const apiLibsPaths = (0, utils_1.searchNxLibsPaths)(nxLibsPaths, 'data-access/api/src', 'endsWith');
15
+ const apiClientLibsPaths = (0, utils_1.searchNxLibsPaths)(nxLibsPaths, 'data-access/api-client/src', 'endsWith');
16
+ if (!apiClientLibsPaths.length) {
17
+ throw new Error('Could not find API Client path.');
18
+ }
19
+ if (!apiLibsPaths.length) {
20
+ throw new Error('Could not find API path.');
21
+ }
22
+ if (apiClientLibsPaths.length > 1) {
23
+ apiClientLibsPaths[0] = yield autocomplete({
24
+ message: 'Select the api client library path:',
25
+ source: (input) => (0, utils_1.filterSource)(input, apiClientLibsPaths),
26
+ });
27
+ }
28
+ if (apiLibsPaths.length > 1) {
29
+ apiLibsPaths[0] = yield autocomplete({
30
+ message: 'Select the api library path:',
31
+ source: (input) => (0, utils_1.filterSource)(input, apiLibsPaths),
32
+ });
33
+ }
34
+ const apiDirectory = (0, utils_1.searchAliasPath)(apiLibsPaths[0]);
35
+ const apiClientDirectory = (0, utils_1.searchAliasPath)(apiClientLibsPaths[0]);
36
+ const libPath = apiLibsPaths[0];
37
+ const libRootPath = `${libPath}/lib`;
38
+ const cliReadline = (0, utils_1.createCliReadline)();
39
+ options.name =
40
+ options.name || (yield (0, utils_1.askQuestion)('Enter the name of the entity (e.g: User): ', undefined, cliReadline));
41
+ const apiName = (0, lodash_1.kebabCase)(options.name);
42
+ options.baseEndpoint =
43
+ options.baseEndpoint || (yield (0, utils_1.askQuestion)('Enter the base endpoint (e.g: /users): ', `/${apiName}`, cliReadline));
44
+ cliReadline.close();
45
+ const apiPath = `${libRootPath}/${apiName}`;
46
+ const entityName = (0, lodash_1.startCase)((0, lodash_1.camelCase)(apiName)).replace(/\s+/g, '');
47
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, `files`), apiPath, Object.assign(Object.assign({}, options), { apiName: (0, lodash_1.camelCase)(options.name), entityName, entityFileName: apiName, apiClientDirectory, baseEndpoint: options.baseEndpoint.startsWith('/') ? options.baseEndpoint : `/${options.baseEndpoint}` }));
48
+ tree.rename(`${apiPath}/models/entity.ts`, `${apiPath}/models/${apiName}.ts`);
49
+ (0, utils_1.appendFileContent)(`${libRootPath}/index.ts`, `export * from './${apiName}';\n`, tree);
50
+ const storeLibsPaths = (0, utils_1.searchNxLibsPaths)(nxLibsPaths, 'data-access/store/src', 'endsWith');
51
+ if (!storeLibsPaths.length) {
52
+ yield (0, devkit_1.formatFiles)(tree);
53
+ throw new Error('Could not find redux store path.');
54
+ }
55
+ if (storeLibsPaths.length > 1) {
56
+ storeLibsPaths[0] = yield autocomplete({
57
+ message: 'Select the store library path:',
58
+ source: (input) => (0, utils_1.filterSource)(input, storeLibsPaths),
59
+ });
60
+ }
61
+ // Update redux store
62
+ const apiNameDeclaration = (0, lodash_1.camelCase)(options.name + 'Api');
63
+ const project = new ts_morph_1.Project({
64
+ manipulationSettings: {
65
+ indentationText: ts_morph_1.IndentationText.TwoSpaces,
66
+ quoteKind: ts_morph_1.QuoteKind.Single,
67
+ },
68
+ });
69
+ const store = project.addSourceFileAtPath(`${storeLibsPaths[0]}/store.ts`);
70
+ (0, utils_1.addNamedImport)(apiNameDeclaration, apiDirectory, store);
71
+ const rootReducer = store.getVariableDeclarationOrThrow('rootReducer');
72
+ rootReducer.getInitializerIfKindOrThrow(ts_morph_1.SyntaxKind.ObjectLiteralExpression).addProperty({
73
+ name: `[${apiNameDeclaration}.reducerPath]`,
74
+ initializer: `${apiNameDeclaration}.reducer`,
75
+ kind: ts_morph_1.StructureKind.PropertyAssignment,
76
+ });
77
+ const middlewares = store.getVariableDeclarationOrThrow('middlewares');
78
+ middlewares
79
+ .getInitializerIfKindOrThrow(ts_morph_1.SyntaxKind.ArrayLiteralExpression)
80
+ .addElement(`${apiNameDeclaration}.middleware`);
81
+ project.saveSync();
82
+ yield (0, devkit_1.formatFiles)(tree);
83
+ });
84
+ }
85
+ exports.entityApiGenerator = entityApiGenerator;
86
+ exports.default = entityApiGenerator;
87
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/entity-api/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { ExpoAppGeneratorSchema } from './schema';
3
+ export declare function expoAppGenerator(tree: Tree, options: ExpoAppGeneratorSchema): Promise<() => void>;
4
+ export default expoAppGenerator;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expoAppGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const child_process_1 = require("child_process");
6
+ const fs_1 = require("fs");
7
+ const path = require("path");
8
+ const devkit_1 = require("@nx/devkit");
9
+ const dependencies_1 = require("../../shared/dependencies");
10
+ const enums_1 = require("../../shared/enums");
11
+ const generators_1 = require("../../shared/generators");
12
+ const utils_1 = require("../../shared/utils");
13
+ const scripts_1 = require("./scripts");
14
+ function expoAppGenerator(tree, options) {
15
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
+ const shouldGenerateStoreLib = (yield (0, utils_1.askQuestion)('Do you want to create store lib? (y/n): ')) === 'y';
17
+ const shouldGenerateApiClientLib = shouldGenerateStoreLib && (yield (0, utils_1.askQuestion)('Do you want to create api client lib? (y/n): ')) === 'y';
18
+ const shouldGenerateAuthLibs = shouldGenerateApiClientLib && (yield (0, utils_1.askQuestion)('Do you want to create auth lib? (y/n): ')) === 'y';
19
+ const shouldGenerateFormUtilsLib = (yield (0, utils_1.askQuestion)('Do you want to create a lib with the form utils? (y/n): ')) === 'y';
20
+ const shouldGenerateUIKittenLib = (yield (0, utils_1.askQuestion)('Do you want to install @ui-kitten? (y/n): ')) === 'y';
21
+ const appRoot = `apps/${options.directory}`;
22
+ const i18nRoot = `i18n/${options.directory}`;
23
+ const appTestFolder = `apps/${options.directory}-e2e`;
24
+ const libPath = `${(0, utils_1.getImportPathPrefix)(tree)}/${options.directory}`;
25
+ const tags = [`app:${options.directory}`, 'type:app'];
26
+ // Install @nx/expo plugin
27
+ (0, child_process_1.execSync)('npx nx add @nx/expo', { stdio: 'inherit' });
28
+ if ((0, fs_1.existsSync)(appRoot)) {
29
+ const project = (0, devkit_1.readProjectConfiguration)(tree, options.directory);
30
+ project.tags = [`app:${options.directory}`, 'type:app'];
31
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
32
+ }
33
+ else {
34
+ (0, child_process_1.execSync)(`npx nx g @nx/expo:app ${options.name} --directory=apps/${options.directory} --tags="${tags.join(', ')}" --linter=eslint --unitTestRunner=none --e2eTestRunner=none`, { stdio: 'inherit' });
35
+ }
36
+ // Generate shared libs
37
+ yield (0, generators_1.runAppEnvGenerator)(tree, Object.assign(Object.assign({}, options), { baseGeneratorType: enums_1.BaseGeneratorType.EXPO_APP }));
38
+ yield (0, generators_1.runStorageGenerator)(tree, options);
39
+ yield (0, generators_1.runRNStylesGenerator)(tree, options);
40
+ if (shouldGenerateStoreLib) {
41
+ yield (0, generators_1.runStoreGenerator)(tree, Object.assign(Object.assign({}, options), { baseGeneratorType: enums_1.BaseGeneratorType.EXPO_APP }));
42
+ }
43
+ if (shouldGenerateApiClientLib) {
44
+ yield (0, generators_1.runApiClientGenerator)(tree, options);
45
+ }
46
+ if (shouldGenerateFormUtilsLib) {
47
+ yield (0, generators_1.runFormUtilsGenerator)(tree, options);
48
+ }
49
+ if (shouldGenerateUIKittenLib) {
50
+ yield (0, generators_1.runUIKittenGenerator)(tree, options);
51
+ }
52
+ // Workaround: Even with the '--e2eTestRunner=none' parameter, the test folder is created. We delete it manually.
53
+ if ((0, fs_1.existsSync)(appTestFolder)) {
54
+ (0, fs_1.rmSync)(appTestFolder, { recursive: true, force: true });
55
+ }
56
+ const appPackagePath = `${appRoot}/package.json`;
57
+ // Remove unnecessary files and files that will be replaced
58
+ tree.delete(`${appRoot}/src`);
59
+ tree.delete(`${appRoot}/index.js`);
60
+ tree.delete(`${appRoot}/webpack.config.js`);
61
+ tree.delete(`${appRoot}/.eslintrc.json`);
62
+ tree.delete(`${appRoot}/eslint.config.cjs`);
63
+ tree.delete(`${appRoot}/app.json`);
64
+ tree.delete(`${appRoot}/eas.json`);
65
+ tree.delete(`${appRoot}/metro.config.js`);
66
+ tree.delete(`${appRoot}/jest.config.ts`);
67
+ tree.delete(`${appRoot}/tsconfig.app.json`);
68
+ // Update app package.json
69
+ const appPackageJson = (0, devkit_1.readJson)(tree, appPackagePath);
70
+ appPackageJson.main = 'expo-router/entry';
71
+ appPackageJson.scripts = Object.assign(Object.assign({}, scripts_1.default), appPackageJson.scripts);
72
+ (0, devkit_1.writeJson)(tree, appPackagePath, appPackageJson);
73
+ // Add app files
74
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'app-files'), appRoot, Object.assign(Object.assign({}, options), { formatName: utils_1.formatName,
75
+ formatAppIdentifier: utils_1.formatAppIdentifier, formatDirectory: () => libPath, isUIKittenEnabled: shouldGenerateUIKittenLib, isStoreEnabled: shouldGenerateStoreLib, appDirectory: options.directory }));
76
+ (0, utils_1.addNxAppTag)(tree, options.directory);
77
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'i18n'), i18nRoot, {});
78
+ // Add dependencies
79
+ (0, devkit_1.addDependenciesToPackageJson)(tree, Object.assign(Object.assign({}, dependencies_1.dependencies['expo-app']), dependencies_1.dependencies['expo-app-root']), Object.assign(Object.assign({}, dependencies_1.devDependencies['expo-app']), dependencies_1.devDependencies['expo-app-root']));
80
+ (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies['expo-app'], dependencies_1.devDependencies['expo-app'], appPackagePath);
81
+ yield (0, devkit_1.formatFiles)(tree);
82
+ return () => {
83
+ (0, devkit_1.installPackagesTask)(tree);
84
+ (0, child_process_1.execSync)('npx expo install --fix', { stdio: 'inherit' });
85
+ if (shouldGenerateAuthLibs) {
86
+ (0, child_process_1.execSync)(`npx nx g auth ${options.name} ${options.directory}`, { stdio: 'inherit' });
87
+ }
88
+ };
89
+ });
90
+ }
91
+ exports.expoAppGenerator = expoAppGenerator;
92
+ exports.default = expoAppGenerator;
93
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ declare const _default: {
2
+ start: string;
3
+ 'start:prod': string;
4
+ 'build:dev': string;
5
+ 'build:internal': string;
6
+ 'build:debug': string;
7
+ 'build:prod': string;
8
+ 'update:dev': string;
9
+ 'update:prod': string;
10
+ 'submit:dev': string;
11
+ 'submit:prod': string;
12
+ };
13
+ export default _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ start: 'cross-env EXPO_PUBLIC_APP_ENV=development npx expo start',
5
+ 'start:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production npx expo start',
6
+ 'build:dev': 'eas build --no-wait -p all --profile=development',
7
+ 'build:internal': 'npm run build:dev -- --profile=internal',
8
+ 'build:debug': 'npm run build:dev -- --profile=debug',
9
+ 'build:prod': 'npm run build:dev -- --profile=production',
10
+ 'update:dev': 'cross-env EXPO_PUBLIC_APP_ENV=development eas update --branch development',
11
+ 'update:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production eas update --branch production',
12
+ 'submit:dev': 'cross-env EXPO_PUBLIC_APP_ENV=development eas submit --no-wait --profile=development',
13
+ 'submit:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production eas submit --no-wait --profile=production',
14
+ };
15
+ //# sourceMappingURL=scripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/scripts.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,KAAK,EAAE,0DAA0D;IACjE,YAAY,EAAE,yDAAyD;IACvE,WAAW,EAAE,kDAAkD;IAC/D,gBAAgB,EAAE,yCAAyC;IAC3D,aAAa,EAAE,sCAAsC;IACrD,YAAY,EAAE,2CAA2C;IACzD,YAAY,EAAE,2EAA2E;IACzF,aAAa,EAAE,yEAAyE;IACxF,YAAY,EAAE,sFAAsF;IACpG,aAAa,EAAE,oFAAoF;CACpG,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { FormGeneratorSchema } from './schema';
3
+ export declare function formGenerator(tree: Tree, options: FormGeneratorSchema): Promise<() => void>;
4
+ export default formGenerator;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path = require("path");
6
+ const devkit_1 = require("@nx/devkit");
7
+ const dependencies_1 = require("../../shared/dependencies");
8
+ const utils_1 = require("../../shared/utils");
9
+ const utils_2 = require("./utils");
10
+ function formGenerator(tree, options) {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ // Get input data
13
+ const { default: autocomplete } = yield (0, utils_1.dynamicImport)('inquirer-autocomplete-standalone');
14
+ const availableLibsPaths = (0, utils_1.getNxLibsPaths)([utils_1.LibraryType.FEATURES, utils_1.LibraryType.UI]);
15
+ const libPath = yield autocomplete({
16
+ message: 'Enter the library path: ',
17
+ source: (input) => tslib_1.__awaiter(this, void 0, void 0, function* () {
18
+ const filteredNxLibsPaths = (0, utils_1.searchNxLibsPaths)(availableLibsPaths, input);
19
+ return filteredNxLibsPaths.map((path) => ({ value: path }));
20
+ }),
21
+ });
22
+ const fileName = options.name;
23
+ const placeOfUse = options.placeOfUse;
24
+ if (!fileName) {
25
+ throw new Error('Form name is required');
26
+ }
27
+ // Generate form class
28
+ const formsPath = `${libPath}/lib/forms`;
29
+ const formFilePath = `${formsPath}/${fileName}.ts`;
30
+ if (tree.exists(formFilePath)) {
31
+ throw new Error('The form already exists');
32
+ }
33
+ const formUtilsDirectory = yield (0, utils_2.getFormUtilsDirectory)(tree, (0, utils_2.getAppName)(libPath));
34
+ const formClassName = `${(0, utils_1.formatName)(fileName, true)}FormSchema`;
35
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, `files`), formsPath, {
36
+ className: formClassName,
37
+ fileName,
38
+ formUtilsDirectory,
39
+ });
40
+ (0, utils_2.updateIndex)(formsPath, fileName, tree);
41
+ // Add form usage
42
+ if (placeOfUse) {
43
+ yield (0, utils_2.addFormUsage)(libPath, placeOfUse, formClassName);
44
+ }
45
+ yield (0, devkit_1.formatFiles)(tree);
46
+ // Install dependencies
47
+ (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies.form, {});
48
+ return () => {
49
+ (0, devkit_1.installPackagesTask)(tree);
50
+ };
51
+ });
52
+ }
53
+ exports.formGenerator = formGenerator;
54
+ exports.default = formGenerator;
55
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/form/generator.ts"],"names":[],"mappings":";;;;AAAA,6BAA6B;AAC7B,uCAAiH;AACjH,4DAAyD;AACzD,8CAA+G;AAE/G,mCAAuF;AAEvF,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EACnD,kCAAkC,CACnC,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAA,sBAAc,EAAC,CAAC,mBAAW,CAAC,QAAQ,EAAE,mBAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;YACjC,OAAO,EAAE,0BAA0B;YACnC,MAAM,EAAE,CAAO,KAAK,EAAE,EAAE;gBACtB,MAAM,mBAAmB,GAAG,IAAA,yBAAiB,EAAC,kBAAkB,EAAE,KAAe,CAAC,CAAC;gBAEnF,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAA;SACF,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,GAAG,OAAO,YAAY,CAAC;QACzC,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,QAAQ,KAAK,CAAC;QAEnD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,6BAAqB,EAAC,IAAI,EAAE,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC,CAAC;QAClF,MAAM,aAAa,GAAG,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;QAChE,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE;YAC5D,SAAS,EAAE,aAAa;YACxB,QAAQ;YACR,kBAAkB;SACnB,CAAC,CAAC;QACH,IAAA,mBAAW,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEvC,iBAAiB;QACjB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAA,oBAAY,EAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,uBAAuB;QACvB,IAAA,qCAA4B,EAAC,IAAI,EAAE,2BAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE1D,OAAO,GAAS,EAAE;YAChB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;CAAA;AAnDD,sCAmDC;AAED,kBAAe,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function addFormUsage(libPath: string, placeOfUseName: string, formClassName: string): Promise<void>;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addFormUsage = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ts_morph_1 = require("ts-morph");
6
+ const utils_1 = require("../../../shared/utils");
7
+ function getFormUsageCode(formClassName) {
8
+ return `const formSchema = new ${formClassName}();
9
+ const form = useForm({
10
+ defaultValues: formSchema.formValues,
11
+ resolver: yupResolver(${formClassName}.validationSchema)
12
+ });\n\n`;
13
+ }
14
+ function getForwardRefFunction(variable) {
15
+ const callExpressionInitializer = variable.getInitializerIfKind(ts_morph_1.SyntaxKind.CallExpression);
16
+ const hasForwardRef = (callExpressionInitializer === null || callExpressionInitializer === void 0 ? void 0 : callExpressionInitializer.getExpression().getText()) === 'forwardRef';
17
+ if (!hasForwardRef) {
18
+ throw new Error('Could not find forwardRef');
19
+ }
20
+ const argument = callExpressionInitializer.getArguments()[0];
21
+ const hasComponentFunction = argument && [ts_morph_1.SyntaxKind.FunctionExpression, ts_morph_1.SyntaxKind.ArrowFunction].includes(argument.getKind());
22
+ if (!hasComponentFunction) {
23
+ throw new Error('Could not find a component function in forwardRef');
24
+ }
25
+ const functionExpression = argument.asKind(argument.getKind() === ts_morph_1.SyntaxKind.FunctionExpression ? ts_morph_1.SyntaxKind.FunctionExpression : ts_morph_1.SyntaxKind.ArrowFunction);
26
+ if (!functionExpression) {
27
+ throw new Error('Could not get a component function in forwardRef');
28
+ }
29
+ return functionExpression;
30
+ }
31
+ function getPlaceOfUse(file, placeOfUseName) {
32
+ const placeOfUseFunction = file.getFunction(placeOfUseName);
33
+ if (placeOfUseFunction) {
34
+ return placeOfUseFunction;
35
+ }
36
+ const variable = file.getVariableDeclaration(placeOfUseName);
37
+ if (!variable) {
38
+ throw new Error(`Could not find the place where the form should be used (${placeOfUseName}).`);
39
+ }
40
+ return (variable.getInitializerIfKind(ts_morph_1.SyntaxKind.FunctionExpression) ||
41
+ variable.getInitializerIfKind(ts_morph_1.SyntaxKind.ArrowFunction) ||
42
+ getForwardRefFunction(variable));
43
+ }
44
+ function addFormUsage(libPath, placeOfUseName, formClassName) {
45
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
+ const project = new ts_morph_1.Project({
47
+ manipulationSettings: {
48
+ indentationText: ts_morph_1.IndentationText.TwoSpaces,
49
+ quoteKind: ts_morph_1.QuoteKind.Single,
50
+ },
51
+ });
52
+ const files = project.addSourceFilesAtPaths([`${libPath}/lib/**/*.tsx`, `${libPath}/lib/**/*.ts`]);
53
+ const file = files.find((file) => file.getFunction(placeOfUseName) || file.getVariableDeclaration(placeOfUseName));
54
+ if (!file) {
55
+ throw new Error('Could not find the place where the form should be used.');
56
+ }
57
+ const pathToForm = file.getFilePath().includes('components')
58
+ ? '../../forms'
59
+ : file.getFilePath().includes('hooks')
60
+ ? '../forms'
61
+ : './forms';
62
+ (0, utils_1.addNamedImport)(formClassName, pathToForm, file);
63
+ (0, utils_1.addNamedImport)('useForm', 'react-hook-form', file);
64
+ (0, utils_1.addNamedImport)('yupResolver', '@hookform/resolvers/yup', file);
65
+ const placeOfUse = getPlaceOfUse(file, placeOfUseName);
66
+ placeOfUse.setBodyText(`${getFormUsageCode(formClassName)}${placeOfUse.getBodyText()}`);
67
+ project.saveSync();
68
+ });
69
+ }
70
+ exports.addFormUsage = addFormUsage;
71
+ //# sourceMappingURL=add-form-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-form-usage.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/add-form-usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function getAppName(path: string): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAppName = void 0;
4
+ function getAppName(path) {
5
+ return path.split('/')[1];
6
+ }
7
+ exports.getAppName = getAppName;
8
+ //# sourceMappingURL=get-app-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-app-name.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/get-app-name.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAFD,gCAEC"}
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export declare function getFormUtilsDirectory(tree: Tree, appName: string): Promise<string>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFormUtilsDirectory = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const generators_1 = require("../../../shared/generators");
6
+ const utils_1 = require("../../../shared/utils");
7
+ const get_app_name_1 = require("./get-app-name");
8
+ function getFormUtilsPaths() {
9
+ const utilsLibsPaths = (0, utils_1.getNxLibsPaths)([utils_1.LibraryType.UTILS]);
10
+ return (0, utils_1.searchNxLibsPaths)(utilsLibsPaths, 'utils/form/src', 'endsWith');
11
+ }
12
+ function getFormUtilsDirectory(tree, appName) {
13
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
+ const { default: autocomplete } = yield (0, utils_1.dynamicImport)('inquirer-autocomplete-standalone');
15
+ const formUtilsLibsPaths = getFormUtilsPaths();
16
+ if (!formUtilsLibsPaths.length) {
17
+ const formUtilsAppDirectory = (yield (0, utils_1.selectProject)(tree, 'application', 'It\'s necessary to generate form utilities. What application should they be in?')).name;
18
+ yield (0, generators_1.runFormUtilsGenerator)(tree, { directory: formUtilsAppDirectory });
19
+ return (0, utils_1.searchAliasPath)(getFormUtilsPaths()[0]);
20
+ }
21
+ if (formUtilsLibsPaths.length > 1) {
22
+ if (appName === utils_1.constants.sharedValue) {
23
+ const path = formUtilsLibsPaths.find((path) => (0, get_app_name_1.getAppName)(path) === utils_1.constants.sharedValue);
24
+ return (0, utils_1.searchAliasPath)(path);
25
+ }
26
+ formUtilsLibsPaths[0] = yield autocomplete({
27
+ message: 'Select the path of the library with the form utilities: ',
28
+ source: (input) => (0, utils_1.filterSource)(input, formUtilsLibsPaths.filter((path) => [appName, utils_1.constants.sharedValue].includes((0, get_app_name_1.getAppName)(path)))),
29
+ });
30
+ }
31
+ return (0, utils_1.searchAliasPath)(formUtilsLibsPaths[0]);
32
+ });
33
+ }
34
+ exports.getFormUtilsDirectory = getFormUtilsDirectory;
35
+ //# sourceMappingURL=get-form-utils-directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-form-utils-directory.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/get-form-utils-directory.ts"],"names":[],"mappings":";;;;AACA,2DAAmE;AACnE,iDAS+B;AAC/B,iDAA4C;AAE5C,SAAS,iBAAiB;IACxB,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,CAAC,mBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3D,OAAO,IAAA,yBAAiB,EAAC,cAAc,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,SAAsB,qBAAqB,CAAC,IAAU,EAAE,OAAe;;QACrE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EACnD,kCAAkC,CACnC,CAAC;QAEF,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAE/C,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,qBAAqB,GAAG,CAC5B,MAAM,IAAA,qBAAa,EACjB,IAAI,EACJ,aAAa,EACb,iFAAiF,CAClF,CACF,CAAC,IAAI,CAAC;YACP,MAAM,IAAA,kCAAqB,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAExE,OAAO,IAAA,uBAAe,EAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAW,CAAC;QAC3D,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,iBAAS,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC,KAAK,iBAAS,CAAC,WAAW,CAAW,CAAC;gBAErG,OAAO,IAAA,uBAAe,EAAC,IAAI,CAAW,CAAC;YACzC,CAAC;YAED,kBAAkB,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC;gBACzC,OAAO,EAAE,0DAA0D;gBACnE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,IAAA,oBAAY,EACV,KAAe,EACf,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,iBAAS,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CACjG;aACJ,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAA,uBAAe,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAW,CAAC;IAC1D,CAAC;CAAA;AAtCD,sDAsCC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./get-form-utils-directory"), exports);
5
+ tslib_1.__exportStar(require("./update-index"), exports);
6
+ tslib_1.__exportStar(require("./add-form-usage"), exports);
7
+ tslib_1.__exportStar(require("./get-app-name"), exports);
8
+ //# sourceMappingURL=index.js.map