@ronas-it/nx-generators 0.10.3 → 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 (220) hide show
  1. package/README.md +10 -1
  2. package/package.json +4 -3
  3. package/src/generators/code-checks/config.d.ts +18 -0
  4. package/src/generators/code-checks/config.js +20 -0
  5. package/src/generators/code-checks/config.js.map +1 -0
  6. package/src/generators/code-checks/files/.eslintrc.json.template +173 -1
  7. package/src/generators/code-checks/generator.d.ts +4 -0
  8. package/src/generators/code-checks/generator.js +53 -0
  9. package/src/generators/code-checks/generator.js.map +1 -0
  10. package/src/generators/code-checks/scripts.d.ts +6 -0
  11. package/src/generators/code-checks/scripts.js +8 -0
  12. package/src/generators/code-checks/scripts.js.map +1 -0
  13. package/src/generators/entity-api/generator.d.ts +4 -0
  14. package/src/generators/entity-api/generator.js +87 -0
  15. package/src/generators/entity-api/generator.js.map +1 -0
  16. package/src/generators/expo-app/generator.d.ts +4 -0
  17. package/src/generators/expo-app/generator.js +93 -0
  18. package/src/generators/expo-app/generator.js.map +1 -0
  19. package/src/generators/expo-app/scripts.d.ts +13 -0
  20. package/src/generators/expo-app/scripts.js +15 -0
  21. package/src/generators/expo-app/scripts.js.map +1 -0
  22. package/src/generators/form/generator.d.ts +4 -0
  23. package/src/generators/form/generator.js +55 -0
  24. package/src/generators/form/generator.js.map +1 -0
  25. package/src/generators/form/utils/add-form-usage.d.ts +1 -0
  26. package/src/generators/form/utils/add-form-usage.js +71 -0
  27. package/src/generators/form/utils/add-form-usage.js.map +1 -0
  28. package/src/generators/form/utils/get-app-name.d.ts +1 -0
  29. package/src/generators/form/utils/get-app-name.js +8 -0
  30. package/src/generators/form/utils/get-app-name.js.map +1 -0
  31. package/src/generators/form/utils/get-form-utils-directory.d.ts +2 -0
  32. package/src/generators/form/utils/get-form-utils-directory.js +35 -0
  33. package/src/generators/form/utils/get-form-utils-directory.js.map +1 -0
  34. package/src/generators/form/utils/index.js +8 -0
  35. package/src/generators/form/utils/index.js.map +1 -0
  36. package/src/generators/form/utils/update-index.d.ts +2 -0
  37. package/src/generators/form/utils/update-index.js +18 -0
  38. package/src/generators/form/utils/update-index.js.map +1 -0
  39. package/src/generators/lib-move/generator.d.ts +4 -0
  40. package/src/generators/lib-move/generator.js +37 -0
  41. package/src/generators/lib-move/generator.js.map +1 -0
  42. package/src/generators/lib-remove/generator.d.ts +4 -0
  43. package/src/generators/lib-remove/generator.js +22 -0
  44. package/src/generators/lib-remove/generator.js.map +1 -0
  45. package/src/generators/lib-rename/generator.d.ts +4 -0
  46. package/src/generators/lib-rename/generator.js +22 -0
  47. package/src/generators/lib-rename/generator.js.map +1 -0
  48. package/src/generators/lib-tags/generator.d.ts +4 -0
  49. package/src/generators/lib-tags/generator.js +56 -0
  50. package/src/generators/lib-tags/generator.js.map +1 -0
  51. package/src/generators/lib-tags/interfaces/context.d.ts +8 -0
  52. package/src/generators/lib-tags/interfaces/context.js +3 -0
  53. package/src/generators/lib-tags/interfaces/context.js.map +1 -0
  54. package/src/generators/lib-tags/interfaces/index.js +6 -0
  55. package/src/generators/lib-tags/interfaces/index.js.map +1 -0
  56. package/src/generators/lib-tags/interfaces/{verify-tag-config.ts → verify-tag-config.d.ts} +6 -7
  57. package/src/generators/lib-tags/interfaces/verify-tag-config.js +3 -0
  58. package/src/generators/lib-tags/interfaces/verify-tag-config.js.map +1 -0
  59. package/src/generators/lib-tags/types/index.js +5 -0
  60. package/src/generators/lib-tags/types/index.js.map +1 -0
  61. package/src/generators/lib-tags/types/tag.js +3 -0
  62. package/src/generators/lib-tags/types/tag.js.map +1 -0
  63. package/src/generators/lib-tags/utils/check-lib-tags.d.ts +4 -0
  64. package/src/generators/lib-tags/utils/check-lib-tags.js +113 -0
  65. package/src/generators/lib-tags/utils/check-lib-tags.js.map +1 -0
  66. package/src/generators/lib-tags/utils/index.js +5 -0
  67. package/src/generators/lib-tags/utils/index.js.map +1 -0
  68. package/src/generators/next-app/generator.d.ts +4 -0
  69. package/src/generators/next-app/generator.js +71 -0
  70. package/src/generators/next-app/generator.js.map +1 -0
  71. package/src/generators/react-component/generator.d.ts +4 -0
  72. package/src/generators/react-component/generator.js +60 -0
  73. package/src/generators/react-component/generator.js.map +1 -0
  74. package/src/generators/react-lib/generator.d.ts +4 -0
  75. package/src/generators/react-lib/generator.js +61 -0
  76. package/src/generators/react-lib/generator.js.map +1 -0
  77. package/src/generators/repo-config/generator.d.ts +3 -0
  78. package/src/generators/repo-config/generator.js +36 -0
  79. package/src/generators/repo-config/generator.js.map +1 -0
  80. package/src/generators/repo-config/scripts.d.ts +4 -0
  81. package/src/generators/repo-config/scripts.js +6 -0
  82. package/src/generators/repo-config/scripts.js.map +1 -0
  83. package/src/index.js +2 -0
  84. package/src/index.js.map +1 -0
  85. package/src/shared/dependencies.d.ts +73 -0
  86. package/src/shared/dependencies.js +79 -0
  87. package/src/shared/dependencies.js.map +1 -0
  88. package/src/shared/enums/base-generator-type.d.ts +4 -0
  89. package/src/shared/enums/base-generator-type.js +9 -0
  90. package/src/shared/enums/base-generator-type.js.map +1 -0
  91. package/src/shared/enums/index.js +5 -0
  92. package/src/shared/enums/index.js.map +1 -0
  93. package/src/shared/generators/api-client/generator.d.ts +6 -0
  94. package/src/shared/generators/api-client/generator.js +37 -0
  95. package/src/shared/generators/api-client/generator.js.map +1 -0
  96. package/src/shared/generators/api-client/index.js +5 -0
  97. package/src/shared/generators/api-client/index.js.map +1 -0
  98. package/src/shared/generators/app-env/generator.d.ts +8 -0
  99. package/src/shared/generators/app-env/generator.js +28 -0
  100. package/src/shared/generators/app-env/generator.js.map +1 -0
  101. package/src/shared/generators/app-env/index.js +5 -0
  102. package/src/shared/generators/app-env/index.js.map +1 -0
  103. package/src/shared/generators/auth/generator.d.ts +4 -0
  104. package/src/shared/generators/auth/generator.js +82 -0
  105. package/src/shared/generators/auth/generator.js.map +1 -0
  106. package/src/shared/generators/auth/index.js +5 -0
  107. package/src/shared/generators/auth/index.js.map +1 -0
  108. package/src/shared/generators/form-utils/generator.d.ts +5 -0
  109. package/src/shared/generators/form-utils/generator.js +24 -0
  110. package/src/shared/generators/form-utils/generator.js.map +1 -0
  111. package/src/shared/generators/form-utils/index.js +5 -0
  112. package/src/shared/generators/form-utils/index.js.map +1 -0
  113. package/src/shared/generators/index.js +12 -0
  114. package/src/shared/generators/index.js.map +1 -0
  115. package/src/shared/generators/rn-styles/generator.d.ts +6 -0
  116. package/src/shared/generators/rn-styles/generator.js +36 -0
  117. package/src/shared/generators/rn-styles/generator.js.map +1 -0
  118. package/src/shared/generators/rn-styles/index.js +5 -0
  119. package/src/shared/generators/rn-styles/index.js.map +1 -0
  120. package/src/shared/generators/storage/generator.d.ts +6 -0
  121. package/src/shared/generators/storage/generator.js +27 -0
  122. package/src/shared/generators/storage/generator.js.map +1 -0
  123. package/src/shared/generators/storage/index.js +5 -0
  124. package/src/shared/generators/storage/index.js.map +1 -0
  125. package/src/shared/generators/store/generator.d.ts +4 -0
  126. package/src/shared/generators/store/generator.js +36 -0
  127. package/src/shared/generators/store/generator.js.map +1 -0
  128. package/src/shared/generators/store/index.js +5 -0
  129. package/src/shared/generators/store/index.js.map +1 -0
  130. package/src/shared/generators/ui-kitten/generator.d.ts +6 -0
  131. package/src/shared/generators/ui-kitten/generator.js +40 -0
  132. package/src/shared/generators/ui-kitten/generator.js.map +1 -0
  133. package/src/shared/generators/ui-kitten/index.js +5 -0
  134. package/src/shared/generators/ui-kitten/index.js.map +1 -0
  135. package/src/shared/templates/config-template.json +2 -12
  136. package/src/shared/utils/cli-utils.d.ts +31 -0
  137. package/src/shared/utils/cli-utils.js +129 -0
  138. package/src/shared/utils/cli-utils.js.map +1 -0
  139. package/src/shared/utils/config-utils.d.ts +19 -0
  140. package/src/shared/utils/config-utils.js +124 -0
  141. package/src/shared/utils/config-utils.js.map +1 -0
  142. package/src/shared/utils/constants.d.ts +3 -0
  143. package/src/shared/utils/constants.js +7 -0
  144. package/src/shared/utils/constants.js.map +1 -0
  145. package/src/shared/utils/dynamic-import.d.ts +1 -0
  146. package/src/shared/utils/dynamic-import.js +5 -0
  147. package/src/shared/utils/dynamic-import.js.map +1 -0
  148. package/src/shared/utils/format-utils.d.ts +4 -0
  149. package/src/shared/utils/format-utils.js +18 -0
  150. package/src/shared/utils/format-utils.js.map +1 -0
  151. package/src/shared/utils/get-lib-directory-name.d.ts +1 -0
  152. package/src/shared/utils/get-lib-directory-name.js +15 -0
  153. package/src/shared/utils/get-lib-directory-name.js.map +1 -0
  154. package/src/shared/utils/index.js +11 -0
  155. package/src/shared/utils/index.js.map +1 -0
  156. package/src/shared/utils/ts-utils.d.ts +2 -0
  157. package/src/shared/utils/ts-utils.js +22 -0
  158. package/src/shared/utils/ts-utils.js.map +1 -0
  159. package/.eslintrc.json +0 -37
  160. package/jest.config.ts +0 -10
  161. package/project.json +0 -61
  162. package/src/generators/code-checks/config.ts +0 -17
  163. package/src/generators/code-checks/generator.ts +0 -72
  164. package/src/generators/code-checks/scripts.ts +0 -5
  165. package/src/generators/entity-api/generator.ts +0 -127
  166. package/src/generators/expo-app/generator.ts +0 -152
  167. package/src/generators/expo-app/scripts.ts +0 -12
  168. package/src/generators/form/generator.ts +0 -53
  169. package/src/generators/form/utils/add-form-usage.ts +0 -86
  170. package/src/generators/form/utils/get-app-name.ts +0 -3
  171. package/src/generators/form/utils/get-form-utils-directory.ts +0 -46
  172. package/src/generators/form/utils/update-index.ts +0 -14
  173. package/src/generators/lib-move/generator.ts +0 -57
  174. package/src/generators/lib-remove/generator.ts +0 -25
  175. package/src/generators/lib-rename/generator.ts +0 -25
  176. package/src/generators/lib-tags/generator.ts +0 -68
  177. package/src/generators/lib-tags/interfaces/context.ts +0 -9
  178. package/src/generators/lib-tags/utils/check-lib-tags.ts +0 -143
  179. package/src/generators/next-app/generator.ts +0 -99
  180. package/src/generators/react-component/generator.ts +0 -80
  181. package/src/generators/react-lib/generator.ts +0 -86
  182. package/src/generators/repo-config/generator.ts +0 -44
  183. package/src/generators/repo-config/scripts.ts +0 -3
  184. package/src/shared/dependencies.ts +0 -76
  185. package/src/shared/enums/base-generator-type.ts +0 -4
  186. package/src/shared/generators/api-client/generator.ts +0 -49
  187. package/src/shared/generators/app-env/generator.ts +0 -37
  188. package/src/shared/generators/auth/generator.ts +0 -107
  189. package/src/shared/generators/form-utils/generator.ts +0 -23
  190. package/src/shared/generators/rn-styles/generator.ts +0 -49
  191. package/src/shared/generators/storage/generator.ts +0 -34
  192. package/src/shared/generators/store/generator.ts +0 -48
  193. package/src/shared/generators/ui-kitten/generator.ts +0 -55
  194. package/src/shared/utils/cli-utils.ts +0 -149
  195. package/src/shared/utils/config-utils.ts +0 -146
  196. package/src/shared/utils/constants.ts +0 -3
  197. package/src/shared/utils/dynamic-import.ts +0 -4
  198. package/src/shared/utils/format-utils.ts +0 -16
  199. package/src/shared/utils/get-lib-directory-name.ts +0 -12
  200. package/src/shared/utils/ts-utils.ts +0 -17
  201. package/tsconfig.json +0 -16
  202. package/tsconfig.lib.json +0 -10
  203. package/tsconfig.spec.json +0 -14
  204. /package/src/generators/form/utils/{index.ts → index.d.ts} +0 -0
  205. /package/src/generators/lib-tags/interfaces/{index.ts → index.d.ts} +0 -0
  206. /package/src/generators/lib-tags/types/{index.ts → index.d.ts} +0 -0
  207. /package/src/generators/lib-tags/types/{tag.ts → tag.d.ts} +0 -0
  208. /package/src/generators/lib-tags/utils/{index.ts → index.d.ts} +0 -0
  209. /package/src/{index.ts → index.d.ts} +0 -0
  210. /package/src/shared/enums/{index.ts → index.d.ts} +0 -0
  211. /package/src/shared/generators/api-client/{index.ts → index.d.ts} +0 -0
  212. /package/src/shared/generators/app-env/{index.ts → index.d.ts} +0 -0
  213. /package/src/shared/generators/auth/{index.ts → index.d.ts} +0 -0
  214. /package/src/shared/generators/form-utils/{index.ts → index.d.ts} +0 -0
  215. /package/src/shared/generators/{index.ts → index.d.ts} +0 -0
  216. /package/src/shared/generators/rn-styles/{index.ts → index.d.ts} +0 -0
  217. /package/src/shared/generators/storage/{index.ts → index.d.ts} +0 -0
  218. /package/src/shared/generators/store/{index.ts → index.d.ts} +0 -0
  219. /package/src/shared/generators/ui-kitten/{index.ts → index.d.ts} +0 -0
  220. /package/src/shared/utils/{index.ts → index.d.ts} +0 -0
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C;AAC3C,yDAA+B;AAC/B,2DAAiC;AACjC,yDAA+B"}
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export declare function updateIndex(formsPath: string, fileName: string, tree: Tree): void;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateIndex = void 0;
4
+ const fs_1 = require("fs");
5
+ const lodash_1 = require("lodash");
6
+ const utils_1 = require("../../../shared/utils");
7
+ function updateIndex(formsPath, fileName, tree) {
8
+ const formsIndexFilePath = `${formsPath}/index.ts`;
9
+ const newIndexContent = `export * from './${(0, lodash_1.kebabCase)(fileName)}';\n`;
10
+ if (!(0, fs_1.existsSync)(formsIndexFilePath)) {
11
+ tree.write(formsIndexFilePath, newIndexContent);
12
+ }
13
+ else {
14
+ (0, utils_1.appendFileContent)(formsIndexFilePath, newIndexContent, tree);
15
+ }
16
+ }
17
+ exports.updateIndex = updateIndex;
18
+ //# sourceMappingURL=update-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-index.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/update-index.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAEhC,mCAAmC;AACnC,iDAA0D;AAE1D,SAAgB,WAAW,CAAC,SAAiB,EAAE,QAAgB,EAAE,IAAU;IACzE,MAAM,kBAAkB,GAAG,GAAG,SAAS,WAAW,CAAC;IACnD,MAAM,eAAe,GAAG,oBAAoB,IAAA,kBAAS,EAAC,QAAQ,CAAC,MAAM,CAAC;IAEtE,IAAI,CAAC,IAAA,eAAU,EAAC,kBAAkB,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,IAAA,yBAAiB,EAAC,kBAAkB,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AATD,kCASC"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { LibMoveGeneratorSchema } from './schema';
3
+ export declare function libMoveGenerator(tree: Tree, options: LibMoveGeneratorSchema): Promise<() => void>;
4
+ export default libMoveGenerator;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.libMoveGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const child_process_1 = require("child_process");
6
+ const path = require("path");
7
+ const utils_1 = require("../../shared/utils");
8
+ function libMoveGenerator(tree, options) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ const { default: autocomplete } = yield (0, utils_1.dynamicImport)('inquirer-autocomplete-standalone');
11
+ const { name: srcLibraryName, path: srcLibraryPath } = yield (0, utils_1.getLibraryDetailsByName)(tree, options.srcLibName);
12
+ const libPathSegments = srcLibraryPath.split('/');
13
+ const defaultLibraryName = libPathSegments.pop();
14
+ options.app = options.app || (yield (0, utils_1.selectProject)(tree, 'application', 'Select the application: ')).name;
15
+ const isSharedLib = options.app === utils_1.constants.sharedValue;
16
+ options.scope =
17
+ options.scope ||
18
+ (isSharedLib ? '' : yield (0, utils_1.askQuestion)(`Enter the scope (e.g: profile) or '${utils_1.constants.sharedValue}': `));
19
+ options.type = options.type
20
+ ? (0, utils_1.validateLibraryType)(options.type)
21
+ : yield autocomplete({
22
+ message: 'Select the library type: ',
23
+ source: (input) => (0, utils_1.filterSource)(input, Object.values(utils_1.LibraryType)),
24
+ });
25
+ const libraryName = options.name ||
26
+ (yield (0, utils_1.askQuestion)('If you want to rename the library, enter its new name. Otherwise just press Enter: ', defaultLibraryName));
27
+ const libDirectoryName = (0, utils_1.getLibDirectoryName)(libraryName, options.scope);
28
+ const libPath = `libs/${path.normalize(`${options.app}/${options.scope}/${options.type}/${libDirectoryName}`)}`;
29
+ (0, child_process_1.execSync)(`npx nx g mv --project=${srcLibraryName} --destination=${libPath}`, { stdio: 'inherit' });
30
+ return () => {
31
+ (0, child_process_1.execSync)('npx nx g lib-tags --skipRepoCheck', { stdio: 'inherit' });
32
+ };
33
+ });
34
+ }
35
+ exports.libMoveGenerator = libMoveGenerator;
36
+ exports.default = libMoveGenerator;
37
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-move/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,6BAA6B;AAE7B,8CAU4B;AAG5B,SAAsB,gBAAgB,CAAC,IAAU,EAAE,OAA+B;;QAChF,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EACnD,kCAAkC,CACnC,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,+BAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAE/G,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;QAEjD,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,IAAI,EAAE,aAAa,EAAE,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzG,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,KAAK,iBAAS,CAAC,WAAW,CAAC;QAE1D,OAAO,CAAC,KAAK;YACX,OAAO,CAAC,KAAK;gBACb,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAA,mBAAW,EAAC,sCAAsC,iBAAS,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;QAC3G,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;YACzB,CAAC,CAAC,IAAA,2BAAmB,EAAC,OAAO,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,MAAM,YAAY,CAAC;gBACjB,OAAO,EAAE,2BAA2B;gBACpC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAe,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC;aAC7E,CAAC,CAAC;QAEP,MAAM,WAAW,GACf,OAAO,CAAC,IAAI;YACZ,CAAC,MAAM,IAAA,mBAAW,EAChB,qFAAqF,EACrF,kBAAkB,CACnB,CAAC,CAAC;QACL,MAAM,gBAAgB,GAAG,IAAA,2BAAmB,EAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,IAAI,gBAAgB,EAAE,CAAC,EAAE,CAAC;QAEhH,IAAA,wBAAQ,EAAC,yBAAyB,cAAc,kBAAkB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAEnG,OAAO,GAAS,EAAE;YAChB,IAAA,wBAAQ,EAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC;CAAA;AAtCD,4CAsCC;AAED,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { LibRemoveGeneratorSchema } from './schema';
3
+ export declare function libRemoveGenerator(tree: Tree, options: LibRemoveGeneratorSchema): Promise<void>;
4
+ export default libRemoveGenerator;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.libRemoveGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const child_process_1 = require("child_process");
6
+ const utils_1 = require("../../shared/utils");
7
+ function libRemoveGenerator(tree, options) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
+ const libraryName = options.libName || (yield (0, utils_1.selectProject)(tree, 'library', 'Select the library to remove: ')).name;
10
+ if (!libraryName) {
11
+ throw new Error('No library found!');
12
+ }
13
+ const isConfirmed = yield (0, utils_1.askQuestion)(`Are you sure you want to remove ${libraryName} (y/n)?`);
14
+ if (!isConfirmed) {
15
+ return;
16
+ }
17
+ (0, child_process_1.execSync)(`npx nx g rm --project=${libraryName}`, { stdio: 'inherit' });
18
+ });
19
+ }
20
+ exports.libRemoveGenerator = libRemoveGenerator;
21
+ exports.default = libRemoveGenerator;
22
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-remove/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AAEzC,8CAAgE;AAGhE,SAAsB,kBAAkB,CAAC,IAAU,EAAE,OAAiC;;QACpF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,IAAI,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;QAErH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAA,mBAAW,EAAC,mCAAmC,WAAW,SAAS,CAAC,CAAC;QAE/F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAA,wBAAQ,EAAC,yBAAyB,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;CAAA;AAdD,gDAcC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { LibRenameGeneratorSchema } from './schema';
3
+ export declare function libRenameGenerator(tree: Tree, options: LibRenameGeneratorSchema): Promise<void>;
4
+ export default libRenameGenerator;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.libRenameGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const child_process_1 = require("child_process");
6
+ const utils_1 = require("../../shared/utils");
7
+ function libRenameGenerator(tree, options) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
+ const { name: currentLibraryName, path: currentLibraryPath } = yield (0, utils_1.getLibraryDetailsByName)(tree, options.currentLibName);
10
+ const libPathSegments = currentLibraryPath.split('/');
11
+ const defaultDestLibraryName = libPathSegments.pop();
12
+ const destLibraryName = options.newLibName || (yield (0, utils_1.askQuestion)('Enter a new library name: ', defaultDestLibraryName));
13
+ // Remove `libs` path fragment
14
+ libPathSegments.shift();
15
+ libPathSegments.push(destLibraryName);
16
+ const destLibraryPath = `libs/${libPathSegments.join('/')}`;
17
+ (0, child_process_1.execSync)(`npx nx g mv --project=${currentLibraryName} --destination=${destLibraryPath}`, { stdio: 'inherit' });
18
+ });
19
+ }
20
+ exports.libRenameGenerator = libRenameGenerator;
21
+ exports.default = libRenameGenerator;
22
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-rename/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AAEzC,8CAA0E;AAG1E,SAAsB,kBAAkB,CAAC,IAAU,EAAE,OAAiC;;QACpF,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAA,+BAAuB,EAC1F,IAAI,EACJ,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,eAAe,GACnB,OAAO,CAAC,UAAU,IAAI,CAAC,MAAM,IAAA,mBAAW,EAAC,4BAA4B,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAElG,8BAA8B;QAC9B,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEtC,MAAM,eAAe,GAAG,QAAQ,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,IAAA,wBAAQ,EAAC,yBAAyB,kBAAkB,kBAAkB,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACjH,CAAC;CAAA;AAjBD,gDAiBC;AAED,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { LibTagsGeneratorSchema } from './schema';
3
+ export declare function libTagsGenerator(tree: Tree, options: LibTagsGeneratorSchema): Promise<void>;
4
+ export default libTagsGenerator;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.libTagsGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const child_process_1 = require("child_process");
6
+ const devkit_1 = require("@nx/devkit");
7
+ const lodash_1 = require("lodash");
8
+ const utils_1 = require("../../shared/utils");
9
+ const utils_2 = require("./utils");
10
+ const context = {
11
+ config: {},
12
+ rules: [],
13
+ log: console.log,
14
+ reload: (tree) => {
15
+ context.config = (0, utils_1.readESLintConfig)(tree).config;
16
+ context.rules = (0, utils_1.getNxRules)(context.config);
17
+ },
18
+ };
19
+ function libTagsGenerator(tree, options) {
20
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
+ const hasUnstagedChanges = !options.skipRepoCheck && (0, child_process_1.execSync)('git status -s').toString('utf8');
22
+ if (hasUnstagedChanges) {
23
+ const shouldContinue = (yield (0, utils_1.askQuestion)('You have unstaged changes. Are you sure you want to continue? (y/n): ')) === 'y';
24
+ if (!shouldContinue) {
25
+ return;
26
+ }
27
+ }
28
+ if (options.silent) {
29
+ context.log = lodash_1.noop;
30
+ }
31
+ // #1 Check eslint config nx-boundaries rule
32
+ devkit_1.output.log({ title: devkit_1.output.bold('1. Checking eslint config nx-boundaries rule...') });
33
+ context.config = (0, utils_1.verifyEsLintConfig)(tree);
34
+ // #2 Check projects tags
35
+ devkit_1.output.log({ title: devkit_1.output.bold('2. Checking projects tags...') });
36
+ const projects = (0, devkit_1.getProjects)(tree);
37
+ const applications = [];
38
+ const libraries = [];
39
+ context.rules = (0, utils_1.getNxRules)(context.config);
40
+ projects.forEach((project) => {
41
+ if (project.projectType === 'application') {
42
+ applications.push(project);
43
+ }
44
+ if (project.projectType === 'library' && project.root.startsWith('libs')) {
45
+ libraries.push(project);
46
+ }
47
+ });
48
+ applications.forEach((application) => (0, utils_2.checkApplicationTags)(application, tree, context));
49
+ context.reload(tree);
50
+ libraries.forEach((library) => (0, utils_2.checkLibraryTags)(library, tree, context));
51
+ yield (0, devkit_1.formatFiles)(tree);
52
+ });
53
+ }
54
+ exports.libTagsGenerator = libTagsGenerator;
55
+ exports.default = libTagsGenerator;
56
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-tags/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,uCAA0F;AAC1F,mCAA8B;AAC9B,8CAAmG;AAGnG,mCAAiE;AAEjE,MAAM,OAAO,GAAmB;IAC9B,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE;QACrB,OAAO,CAAC,MAAM,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC/C,OAAO,CAAC,KAAK,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC;AAEF,SAAsB,gBAAgB,CAAC,IAAU,EAAE,OAA+B;;QAChF,MAAM,kBAAkB,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,IAAA,wBAAQ,EAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEhG,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,cAAc,GAClB,CAAC,MAAM,IAAA,mBAAW,EAAC,uEAAuE,CAAC,CAAC,KAAK,GAAG,CAAC;YAEvG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,GAAG,aAAI,CAAC;QACrB,CAAC;QAED,4CAA4C;QAC5C,eAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,CAAC,MAAM,GAAG,IAAA,0BAAkB,EAAC,IAAI,CAAC,CAAC;QAE1C,yBAAyB;QACzB,eAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QACnC,MAAM,YAAY,GAAgC,EAAE,CAAC;QACrD,MAAM,SAAS,GAAgC,EAAE,CAAC;QAElD,OAAO,CAAC,KAAK,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,OAAO,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;gBAC1C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,4BAAoB,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAExF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAErB,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,wBAAgB,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAEzE,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AA7CD,4CA6CC;AAED,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { Constraint } from '../../../shared/utils';
3
+ export interface LibTagsContext {
4
+ config: Record<string, any>;
5
+ rules: Array<Constraint>;
6
+ log: (message: any, ...optionalParams: Array<any>) => void;
7
+ reload: (tree: Tree) => void;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/interfaces/context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./context"), exports);
5
+ tslib_1.__exportStar(require("./verify-tag-config"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,8DAAoC"}
@@ -1,12 +1,11 @@
1
1
  import { ProjectConfiguration, Tree } from '@nx/devkit';
2
2
  import { TagType } from '../types';
3
3
  import { LibTagsContext } from './context';
4
-
5
4
  export interface VerifyTagConfig {
6
- project: ProjectConfiguration,
7
- tree: Tree,
8
- tag?: string,
9
- tagType: TagType,
10
- context: LibTagsContext,
11
- ruleNotFoundCallback?: () => void
5
+ project: ProjectConfiguration;
6
+ tree: Tree;
7
+ tag?: string;
8
+ tagType: TagType;
9
+ context: LibTagsContext;
10
+ ruleNotFoundCallback?: () => void;
12
11
  }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=verify-tag-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-tag-config.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/interfaces/verify-tag-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./tag"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/types/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/types/tag.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { ProjectConfiguration, Tree } from '@nx/devkit';
2
+ import { LibTagsContext } from '../interfaces';
3
+ export declare const checkApplicationTags: (project: ProjectConfiguration, tree: Tree, context: LibTagsContext) => void;
4
+ export declare const checkLibraryTags: (project: ProjectConfiguration, tree: Tree, context: LibTagsContext) => void;