@ronas-it/nx-generators 0.10.4 → 0.10.6

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 +74 -0
  84. package/src/shared/dependencies.js +80 -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
@@ -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;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkLibraryTags = exports.checkApplicationTags = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const utils_1 = require("../../../shared/utils");
6
+ const getTagFromLibPath = (libPath, type) => {
7
+ const projectAppTag = libPath.split('/')[1];
8
+ switch (type) {
9
+ case 'app':
10
+ return projectAppTag;
11
+ case 'scope':
12
+ return projectAppTag === utils_1.constants.sharedValue ? utils_1.constants.sharedValue : libPath.split('/')[2];
13
+ case 'type':
14
+ return projectAppTag === utils_1.constants.sharedValue ? libPath.split('/')[2] : libPath.split('/')[3];
15
+ }
16
+ };
17
+ const verifyLibraryTag = ({ project, tree, tag, tagType, context, ruleNotFoundCallback }) => {
18
+ var _a;
19
+ const defaultRuleNotFoundCallback = () => {
20
+ throw new Error(`Missing ${tagType} tag rule for ${tag}. Please add it to the ESLint config file.`);
21
+ };
22
+ if (tag) {
23
+ const tagRule = context.rules.find((rule) => rule.sourceTag === tag);
24
+ if (!tagRule) {
25
+ const callback = ruleNotFoundCallback || defaultRuleNotFoundCallback;
26
+ callback();
27
+ }
28
+ const tagFromLibPath = getTagFromLibPath(project.root, tagType);
29
+ const isInvalidTag = tag !== `${tagType}:${tagFromLibPath}`;
30
+ if (isInvalidTag) {
31
+ context.log(`Invalid tag ${tag}. Updating...\n`);
32
+ project = (0, devkit_1.readProjectConfiguration)(tree, project.name);
33
+ const filteredTags = ((_a = project.tags) === null || _a === void 0 ? void 0 : _a.filter((item) => item !== tag)) || [];
34
+ project.tags = [...filteredTags, `${tagType}:${tagFromLibPath}`];
35
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
36
+ if (tagType === 'scope') {
37
+ (0, utils_1.addNxScopeTag)(tree, tagFromLibPath);
38
+ context.reload(tree);
39
+ }
40
+ verifyLibraryTag({
41
+ project,
42
+ tree,
43
+ tag: `${tagType}:${tagFromLibPath}`,
44
+ tagType,
45
+ context,
46
+ });
47
+ }
48
+ }
49
+ else {
50
+ context.log(`Missing ${tagType} tag for ${project.name}. Adding...`);
51
+ project = (0, devkit_1.readProjectConfiguration)(tree, project.name);
52
+ const tag = getTagFromLibPath(project.root, tagType);
53
+ if (tagType === 'type') {
54
+ const typeTagRule = context.rules.find((rule) => rule.sourceTag === `type:${tag}`);
55
+ if (!typeTagRule) {
56
+ throw new Error(`Missing type tag rule for ${tag}. Please add it to the ESLint config file.`);
57
+ }
58
+ }
59
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, Object.assign(Object.assign({}, project), { tags: [...(project.tags || []), `${tagType}:${tag}`] }));
60
+ if (tagType === 'scope') {
61
+ (0, utils_1.addNxScopeTag)(tree, tag);
62
+ context.reload(tree);
63
+ }
64
+ }
65
+ };
66
+ const checkApplicationTags = (project, tree, context) => {
67
+ const { tags } = project;
68
+ const appTag = tags === null || tags === void 0 ? void 0 : tags.find((tag) => tag.startsWith('app:'));
69
+ const hasTypeTag = tags === null || tags === void 0 ? void 0 : tags.includes('type:app');
70
+ if (appTag) {
71
+ const appTagRule = context.rules.find((rule) => rule.sourceTag === appTag);
72
+ if (!appTagRule) {
73
+ context.log(`Missing app tag rule for ${appTag}. Adding...\n`);
74
+ (0, utils_1.addNxAppTag)(tree, appTag.replace('app:', ''));
75
+ context.reload(tree);
76
+ }
77
+ }
78
+ else {
79
+ context.log(`Missing app tag for ${project.name}. Adding...`);
80
+ const projectAppTag = project.root.split('/').pop();
81
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, Object.assign(Object.assign({}, project), { tags: [...(project.tags || []), `app:${projectAppTag}`] }));
82
+ (0, utils_1.addNxAppTag)(tree, projectAppTag);
83
+ context.reload(tree);
84
+ }
85
+ if (!hasTypeTag) {
86
+ context.log(`Missing type tag for ${project.name}. Adding...`);
87
+ project = (0, devkit_1.readProjectConfiguration)(tree, project.name);
88
+ (0, devkit_1.updateProjectConfiguration)(tree, project.name, Object.assign(Object.assign({}, project), { tags: [...(project.tags || []), 'type:app'] }));
89
+ }
90
+ };
91
+ exports.checkApplicationTags = checkApplicationTags;
92
+ const checkLibraryTags = (project, tree, context) => {
93
+ const { tags } = project;
94
+ const appTag = tags === null || tags === void 0 ? void 0 : tags.find((tag) => tag.startsWith('app:'));
95
+ const scopeTag = tags === null || tags === void 0 ? void 0 : tags.find((tag) => tag.startsWith('scope:'));
96
+ const typeTag = tags === null || tags === void 0 ? void 0 : tags.find((tag) => tag.startsWith('type:'));
97
+ verifyLibraryTag({ project, tree, tag: appTag, tagType: 'app', context });
98
+ verifyLibraryTag({
99
+ project,
100
+ tree,
101
+ tag: scopeTag,
102
+ tagType: 'scope',
103
+ context,
104
+ ruleNotFoundCallback: () => {
105
+ context.log(`Missing scope tag rule for ${scopeTag}. Adding...`);
106
+ (0, utils_1.addNxScopeTag)(tree, scopeTag === null || scopeTag === void 0 ? void 0 : scopeTag.replace('scope:', ''));
107
+ context.reload(tree);
108
+ },
109
+ });
110
+ verifyLibraryTag({ project, tree, tag: typeTag, tagType: 'type', context });
111
+ };
112
+ exports.checkLibraryTags = checkLibraryTags;
113
+ //# sourceMappingURL=check-lib-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-lib-tags.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/utils/check-lib-tags.ts"],"names":[],"mappings":"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"}
@@ -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("./check-lib-tags"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/utils/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { NextAppGeneratorSchema } from './schema';
3
+ export declare function nextAppGenerator(tree: Tree, options: NextAppGeneratorSchema): Promise<() => void>;
4
+ export default nextAppGenerator;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nextAppGenerator = 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
+ function nextAppGenerator(tree, options) {
14
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
15
+ const shouldGenerateStoreLib = (yield (0, utils_1.askQuestion)('Do you want to create store lib? (y/n): ')) === 'y';
16
+ const shouldGenerateApiClientLib = shouldGenerateStoreLib && (yield (0, utils_1.askQuestion)('Do you want to create api client lib? (y/n): ')) === 'y';
17
+ const shouldGenerateFormUtilsLib = (yield (0, utils_1.askQuestion)('Do you want to create a lib with the form utils? (y/n): ')) === 'y';
18
+ const appRoot = `apps/${options.directory}`;
19
+ const tags = [`app:${options.directory}`, 'type:app'];
20
+ // Install @nx/next plugin
21
+ (0, child_process_1.execSync)('npx nx add @nx/next', { stdio: 'inherit' });
22
+ if (!(0, fs_1.existsSync)(appRoot)) {
23
+ (0, child_process_1.execSync)(`npx nx g @nx/next:app ${options.name} --directory=apps/${options.directory} --tags="${tags.join(', ')}" --linter=eslint --appDir=true --style=scss --src=false --unitTestRunner=none --e2eTestRunner=none`, { stdio: 'inherit' });
24
+ }
25
+ // Install @nx/expo to generate libs
26
+ const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
27
+ const hasNxExpo = !!packageJson.devDependencies['@nx/expo'];
28
+ if (!hasNxExpo) {
29
+ (0, child_process_1.execSync)('npx nx add @nx/expo', { stdio: 'inherit' });
30
+ }
31
+ yield (0, generators_1.runAppEnvGenerator)(tree, Object.assign(Object.assign({}, options), { baseGeneratorType: enums_1.BaseGeneratorType.NEXT_APP }));
32
+ if (shouldGenerateStoreLib) {
33
+ yield (0, generators_1.runStoreGenerator)(tree, Object.assign(Object.assign({}, options), { baseGeneratorType: enums_1.BaseGeneratorType.NEXT_APP }));
34
+ }
35
+ if (shouldGenerateApiClientLib) {
36
+ yield (0, generators_1.runApiClientGenerator)(tree, options);
37
+ }
38
+ if (shouldGenerateFormUtilsLib) {
39
+ yield (0, generators_1.runFormUtilsGenerator)(tree, options);
40
+ }
41
+ // Remove unnecessary files and files that will be replaced
42
+ tree.delete(`${appRoot}/public/.gitkeep`);
43
+ tree.delete(`${appRoot}/app/api`);
44
+ tree.delete(`${appRoot}/app/page.tsx`);
45
+ tree.delete(`${appRoot}/app/page.module.scss`);
46
+ tree.delete(`${appRoot}/app/global.css`);
47
+ tree.delete(`${appRoot}/app/layout.tsx`);
48
+ tree.delete(`${appRoot}/specs`);
49
+ tree.delete(`${appRoot}/.eslintrc.json`);
50
+ // Update app tsconfig.json to skip automatic reconfiguration during the first application run
51
+ const appTsconfigPath = `${appRoot}/tsconfig.json`;
52
+ const appTsconfigJson = (0, devkit_1.readJson)(tree, appTsconfigPath);
53
+ const nextTypesInclude = '.next/types/**/*.ts';
54
+ if (!appTsconfigJson.include.includes(nextTypesInclude)) {
55
+ appTsconfigJson.include.push(nextTypesInclude);
56
+ (0, devkit_1.writeJson)(tree, appTsconfigPath, appTsconfigJson);
57
+ }
58
+ // Add app files
59
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), appRoot, Object.assign(Object.assign({}, options), { formatName: utils_1.formatName }));
60
+ (0, utils_1.addNxAppTag)(tree, options.directory);
61
+ // Add dependencies
62
+ (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies['next-app'], {});
63
+ yield (0, devkit_1.formatFiles)(tree);
64
+ return () => {
65
+ (0, devkit_1.installPackagesTask)(tree);
66
+ };
67
+ });
68
+ }
69
+ exports.nextAppGenerator = nextAppGenerator;
70
+ exports.default = nextAppGenerator;
71
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/next-app/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { ReactComponentGeneratorSchema } from './schema';
3
+ export declare function reactComponentGenerator(tree: Tree, options: ReactComponentGeneratorSchema): Promise<void>;
4
+ export default reactComponentGenerator;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reactComponentGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = require("fs");
6
+ const path = require("path");
7
+ const devkit_1 = require("@nx/devkit");
8
+ const lodash_1 = require("lodash");
9
+ const utils_1 = require("../../shared/utils");
10
+ function reactComponentGenerator(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.FEATURES, utils_1.LibraryType.UI]);
14
+ const libPath = yield autocomplete({
15
+ message: 'Enter the library path:',
16
+ source: (input) => tslib_1.__awaiter(this, void 0, void 0, function* () {
17
+ const filteredNxLibsPaths = (0, utils_1.searchNxLibsPaths)(nxLibsPaths, input);
18
+ return filteredNxLibsPaths.map((path) => ({ value: path }));
19
+ }),
20
+ });
21
+ const cliReadline = (0, utils_1.createCliReadline)();
22
+ options.name =
23
+ options.name || (yield (0, utils_1.askQuestion)('Enter the name of the component (e.g: AppButton): ', undefined, cliReadline));
24
+ options.subcomponent =
25
+ options.subcomponent ||
26
+ (yield (0, utils_1.askQuestion)('Generate component inside components folder? (y/n): ', undefined, cliReadline)) === 'y';
27
+ options.withForwardRef =
28
+ options.withForwardRef ||
29
+ (yield (0, utils_1.askQuestion)('Generate component with forwardRef? (y/n): ', undefined, cliReadline)) === 'y';
30
+ cliReadline.close();
31
+ const libRootPath = `${libPath}/lib`;
32
+ const componentsPath = `${libRootPath}/components`;
33
+ const componentPath = options.subcomponent ? `${libRootPath}/components/${(0, lodash_1.kebabCase)(options.name)}` : libRootPath;
34
+ const shouldUpdateSrcIndex = !(0, fs_1.existsSync)(libRootPath);
35
+ const shouldUpdateLibIndex = !(0, fs_1.existsSync)(componentsPath) && options.subcomponent;
36
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, `files`), componentPath, Object.assign(Object.assign({}, options), { name: (0, utils_1.formatName)(options.name, true) }));
37
+ const updateIndexes = () => {
38
+ const componentsIndexFilePath = `${libRootPath}/components/index.ts`;
39
+ if (shouldUpdateSrcIndex) {
40
+ (0, utils_1.appendFileContent)(`${libPath}/index.ts`, `export * from './lib';\n`, tree);
41
+ }
42
+ if (shouldUpdateLibIndex) {
43
+ (0, utils_1.appendFileContent)(`${libRootPath}/index.ts`, `export * from './components';\n`, tree);
44
+ }
45
+ if (!(0, fs_1.existsSync)(componentsIndexFilePath)) {
46
+ tree.write(componentsIndexFilePath, `export * from './${(0, lodash_1.kebabCase)(options.name)}';\n`);
47
+ }
48
+ else {
49
+ (0, utils_1.appendFileContent)(componentsIndexFilePath, `export * from './${(0, lodash_1.kebabCase)(options.name)}';\n`, tree);
50
+ }
51
+ };
52
+ if (options.subcomponent) {
53
+ updateIndexes();
54
+ }
55
+ yield (0, devkit_1.formatFiles)(tree);
56
+ });
57
+ }
58
+ exports.reactComponentGenerator = reactComponentGenerator;
59
+ exports.default = reactComponentGenerator;
60
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/react-component/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { ReactLibGeneratorSchema } from './schema';
3
+ export declare function reactLibGenerator(tree: Tree, options: ReactLibGeneratorSchema): Promise<void>;
4
+ export default reactLibGenerator;