create-nexo 1.0.0

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 (239) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +185 -0
  3. package/dist/api/index.d.ts +196 -0
  4. package/dist/api/index.d.ts.map +1 -0
  5. package/dist/api/index.js +390 -0
  6. package/dist/api/index.js.map +1 -0
  7. package/dist/bin/nexo.d.ts +3 -0
  8. package/dist/bin/nexo.d.ts.map +1 -0
  9. package/dist/bin/nexo.js +427 -0
  10. package/dist/bin/nexo.js.map +1 -0
  11. package/dist/configurators/core/framework.d.ts +3 -0
  12. package/dist/configurators/core/framework.d.ts.map +1 -0
  13. package/dist/configurators/core/framework.js +56 -0
  14. package/dist/configurators/core/framework.js.map +1 -0
  15. package/dist/configurators/core/index.d.ts +4 -0
  16. package/dist/configurators/core/index.d.ts.map +1 -0
  17. package/dist/configurators/core/index.js +4 -0
  18. package/dist/configurators/core/index.js.map +1 -0
  19. package/dist/configurators/core/language.d.ts +3 -0
  20. package/dist/configurators/core/language.d.ts.map +1 -0
  21. package/dist/configurators/core/language.js +59 -0
  22. package/dist/configurators/core/language.js.map +1 -0
  23. package/dist/configurators/core/variant.d.ts +3 -0
  24. package/dist/configurators/core/variant.d.ts.map +1 -0
  25. package/dist/configurators/core/variant.js +22 -0
  26. package/dist/configurators/core/variant.js.map +1 -0
  27. package/dist/configurators/index.d.ts +5 -0
  28. package/dist/configurators/index.d.ts.map +1 -0
  29. package/dist/configurators/index.js +6 -0
  30. package/dist/configurators/index.js.map +1 -0
  31. package/dist/configurators/project/auth.d.ts +3 -0
  32. package/dist/configurators/project/auth.d.ts.map +1 -0
  33. package/dist/configurators/project/auth.js +82 -0
  34. package/dist/configurators/project/auth.js.map +1 -0
  35. package/dist/configurators/project/cicd.d.ts +30 -0
  36. package/dist/configurators/project/cicd.d.ts.map +1 -0
  37. package/dist/configurators/project/cicd.js +289 -0
  38. package/dist/configurators/project/cicd.js.map +1 -0
  39. package/dist/configurators/project/i18n.d.ts +3 -0
  40. package/dist/configurators/project/i18n.d.ts.map +1 -0
  41. package/dist/configurators/project/i18n.js +67 -0
  42. package/dist/configurators/project/i18n.js.map +1 -0
  43. package/dist/configurators/project/index.d.ts +6 -0
  44. package/dist/configurators/project/index.d.ts.map +1 -0
  45. package/dist/configurators/project/index.js +6 -0
  46. package/dist/configurators/project/index.js.map +1 -0
  47. package/dist/configurators/project/mandatory.d.ts +3 -0
  48. package/dist/configurators/project/mandatory.d.ts.map +1 -0
  49. package/dist/configurators/project/mandatory.js +167 -0
  50. package/dist/configurators/project/mandatory.js.map +1 -0
  51. package/dist/configurators/project/structure.d.ts +3 -0
  52. package/dist/configurators/project/structure.d.ts.map +1 -0
  53. package/dist/configurators/project/structure.js +34 -0
  54. package/dist/configurators/project/structure.js.map +1 -0
  55. package/dist/configurators/state/dataFetching.d.ts +3 -0
  56. package/dist/configurators/state/dataFetching.d.ts.map +1 -0
  57. package/dist/configurators/state/dataFetching.js +23 -0
  58. package/dist/configurators/state/dataFetching.js.map +1 -0
  59. package/dist/configurators/state/forms.d.ts +3 -0
  60. package/dist/configurators/state/forms.d.ts.map +1 -0
  61. package/dist/configurators/state/forms.js +35 -0
  62. package/dist/configurators/state/forms.js.map +1 -0
  63. package/dist/configurators/state/index.d.ts +5 -0
  64. package/dist/configurators/state/index.d.ts.map +1 -0
  65. package/dist/configurators/state/index.js +5 -0
  66. package/dist/configurators/state/index.js.map +1 -0
  67. package/dist/configurators/state/routing.d.ts +3 -0
  68. package/dist/configurators/state/routing.d.ts.map +1 -0
  69. package/dist/configurators/state/routing.js +23 -0
  70. package/dist/configurators/state/routing.js.map +1 -0
  71. package/dist/configurators/state/state.d.ts +3 -0
  72. package/dist/configurators/state/state.d.ts.map +1 -0
  73. package/dist/configurators/state/state.js +91 -0
  74. package/dist/configurators/state/state.js.map +1 -0
  75. package/dist/configurators/styling/icons.d.ts +3 -0
  76. package/dist/configurators/styling/icons.d.ts.map +1 -0
  77. package/dist/configurators/styling/icons.js +27 -0
  78. package/dist/configurators/styling/icons.js.map +1 -0
  79. package/dist/configurators/styling/index.d.ts +4 -0
  80. package/dist/configurators/styling/index.d.ts.map +1 -0
  81. package/dist/configurators/styling/index.js +4 -0
  82. package/dist/configurators/styling/index.js.map +1 -0
  83. package/dist/configurators/styling/styling.d.ts +3 -0
  84. package/dist/configurators/styling/styling.d.ts.map +1 -0
  85. package/dist/configurators/styling/styling.js +62 -0
  86. package/dist/configurators/styling/styling.js.map +1 -0
  87. package/dist/configurators/styling/ui.d.ts +3 -0
  88. package/dist/configurators/styling/ui.d.ts.map +1 -0
  89. package/dist/configurators/styling/ui.js +188 -0
  90. package/dist/configurators/styling/ui.js.map +1 -0
  91. package/dist/core/index.d.ts +7 -0
  92. package/dist/core/index.d.ts.map +1 -0
  93. package/dist/core/index.js +7 -0
  94. package/dist/core/index.js.map +1 -0
  95. package/dist/core/lazy-loader.d.ts +57 -0
  96. package/dist/core/lazy-loader.d.ts.map +1 -0
  97. package/dist/core/lazy-loader.js +231 -0
  98. package/dist/core/lazy-loader.js.map +1 -0
  99. package/dist/core/parallel.d.ts +29 -0
  100. package/dist/core/parallel.d.ts.map +1 -0
  101. package/dist/core/parallel.js +127 -0
  102. package/dist/core/parallel.js.map +1 -0
  103. package/dist/core/presets.d.ts +10 -0
  104. package/dist/core/presets.d.ts.map +1 -0
  105. package/dist/core/presets.js +73 -0
  106. package/dist/core/presets.js.map +1 -0
  107. package/dist/core/prompts/core.d.ts +18 -0
  108. package/dist/core/prompts/core.d.ts.map +1 -0
  109. package/dist/core/prompts/core.js +420 -0
  110. package/dist/core/prompts/core.js.map +1 -0
  111. package/dist/core/prompts/filter.d.ts +34 -0
  112. package/dist/core/prompts/filter.d.ts.map +1 -0
  113. package/dist/core/prompts/filter.js +48 -0
  114. package/dist/core/prompts/filter.js.map +1 -0
  115. package/dist/core/prompts/index.d.ts +10 -0
  116. package/dist/core/prompts/index.d.ts.map +1 -0
  117. package/dist/core/prompts/index.js +16 -0
  118. package/dist/core/prompts/index.js.map +1 -0
  119. package/dist/core/prompts/optional.d.ts +15 -0
  120. package/dist/core/prompts/optional.d.ts.map +1 -0
  121. package/dist/core/prompts/optional.js +228 -0
  122. package/dist/core/prompts/optional.js.map +1 -0
  123. package/dist/core/prompts/utils.d.ts +37 -0
  124. package/dist/core/prompts/utils.d.ts.map +1 -0
  125. package/dist/core/prompts/utils.js +72 -0
  126. package/dist/core/prompts/utils.js.map +1 -0
  127. package/dist/core/prompts.d.ts +6 -0
  128. package/dist/core/prompts.d.ts.map +1 -0
  129. package/dist/core/prompts.js +6 -0
  130. package/dist/core/prompts.js.map +1 -0
  131. package/dist/core/setup.d.ts +28 -0
  132. package/dist/core/setup.d.ts.map +1 -0
  133. package/dist/core/setup.js +96 -0
  134. package/dist/core/setup.js.map +1 -0
  135. package/dist/core/wizard.d.ts +39 -0
  136. package/dist/core/wizard.d.ts.map +1 -0
  137. package/dist/core/wizard.js +259 -0
  138. package/dist/core/wizard.js.map +1 -0
  139. package/dist/errors/index.d.ts +67 -0
  140. package/dist/errors/index.d.ts.map +1 -0
  141. package/dist/errors/index.js +253 -0
  142. package/dist/errors/index.js.map +1 -0
  143. package/dist/errors/messages.d.ts +56 -0
  144. package/dist/errors/messages.d.ts.map +1 -0
  145. package/dist/errors/messages.js +234 -0
  146. package/dist/errors/messages.js.map +1 -0
  147. package/dist/generators/index.d.ts +86 -0
  148. package/dist/generators/index.d.ts.map +1 -0
  149. package/dist/generators/index.js +441 -0
  150. package/dist/generators/index.js.map +1 -0
  151. package/dist/index.d.ts +16 -0
  152. package/dist/index.d.ts.map +1 -0
  153. package/dist/index.js +17 -0
  154. package/dist/index.js.map +1 -0
  155. package/dist/plugins/index.d.ts +48 -0
  156. package/dist/plugins/index.d.ts.map +1 -0
  157. package/dist/plugins/index.js +49 -0
  158. package/dist/plugins/index.js.map +1 -0
  159. package/dist/plugins/loader.d.ts +38 -0
  160. package/dist/plugins/loader.d.ts.map +1 -0
  161. package/dist/plugins/loader.js +229 -0
  162. package/dist/plugins/loader.js.map +1 -0
  163. package/dist/plugins/manager.d.ts +32 -0
  164. package/dist/plugins/manager.d.ts.map +1 -0
  165. package/dist/plugins/manager.js +220 -0
  166. package/dist/plugins/manager.js.map +1 -0
  167. package/dist/plugins/types.d.ts +186 -0
  168. package/dist/plugins/types.d.ts.map +1 -0
  169. package/dist/plugins/types.js +5 -0
  170. package/dist/plugins/types.js.map +1 -0
  171. package/dist/security/index.d.ts +59 -0
  172. package/dist/security/index.d.ts.map +1 -0
  173. package/dist/security/index.js +230 -0
  174. package/dist/security/index.js.map +1 -0
  175. package/dist/templates/entry.d.ts +9 -0
  176. package/dist/templates/entry.d.ts.map +1 -0
  177. package/dist/templates/entry.js +24 -0
  178. package/dist/templates/entry.js.map +1 -0
  179. package/dist/templates/index.d.ts +7 -0
  180. package/dist/templates/index.d.ts.map +1 -0
  181. package/dist/templates/index.js +10 -0
  182. package/dist/templates/index.js.map +1 -0
  183. package/dist/templates/main.d.ts +6 -0
  184. package/dist/templates/main.d.ts.map +1 -0
  185. package/dist/templates/main.js +72 -0
  186. package/dist/templates/main.js.map +1 -0
  187. package/dist/templates/readme.d.ts +3 -0
  188. package/dist/templates/readme.d.ts.map +1 -0
  189. package/dist/templates/readme.js +127 -0
  190. package/dist/templates/readme.js.map +1 -0
  191. package/dist/templates/styles.d.ts +6 -0
  192. package/dist/templates/styles.d.ts.map +1 -0
  193. package/dist/templates/styles.js +212 -0
  194. package/dist/templates/styles.js.map +1 -0
  195. package/dist/templates/welcome.d.ts +10 -0
  196. package/dist/templates/welcome.d.ts.map +1 -0
  197. package/dist/templates/welcome.js +322 -0
  198. package/dist/templates/welcome.js.map +1 -0
  199. package/dist/types/index.d.ts +46 -0
  200. package/dist/types/index.d.ts.map +1 -0
  201. package/dist/types/index.js +2 -0
  202. package/dist/types/index.js.map +1 -0
  203. package/dist/utils/batch-writer.d.ts +101 -0
  204. package/dist/utils/batch-writer.d.ts.map +1 -0
  205. package/dist/utils/batch-writer.js +232 -0
  206. package/dist/utils/batch-writer.js.map +1 -0
  207. package/dist/utils/cache.d.ts +60 -0
  208. package/dist/utils/cache.d.ts.map +1 -0
  209. package/dist/utils/cache.js +119 -0
  210. package/dist/utils/cache.js.map +1 -0
  211. package/dist/utils/fileTree.d.ts +3 -0
  212. package/dist/utils/fileTree.d.ts.map +1 -0
  213. package/dist/utils/fileTree.js +71 -0
  214. package/dist/utils/fileTree.js.map +1 -0
  215. package/dist/utils/fs.d.ts +22 -0
  216. package/dist/utils/fs.d.ts.map +1 -0
  217. package/dist/utils/fs.js +75 -0
  218. package/dist/utils/fs.js.map +1 -0
  219. package/dist/utils/helpers.d.ts +91 -0
  220. package/dist/utils/helpers.d.ts.map +1 -0
  221. package/dist/utils/helpers.js +192 -0
  222. package/dist/utils/helpers.js.map +1 -0
  223. package/dist/utils/index.d.ts +8 -0
  224. package/dist/utils/index.d.ts.map +1 -0
  225. package/dist/utils/index.js +8 -0
  226. package/dist/utils/index.js.map +1 -0
  227. package/dist/utils/progress.d.ts +85 -0
  228. package/dist/utils/progress.d.ts.map +1 -0
  229. package/dist/utils/progress.js +142 -0
  230. package/dist/utils/progress.js.map +1 -0
  231. package/dist/utils/spinner.d.ts +9 -0
  232. package/dist/utils/spinner.d.ts.map +1 -0
  233. package/dist/utils/spinner.js +56 -0
  234. package/dist/utils/spinner.js.map +1 -0
  235. package/dist/validation/index.d.ts +63 -0
  236. package/dist/validation/index.d.ts.map +1 -0
  237. package/dist/validation/index.js +262 -0
  238. package/dist/validation/index.js.map +1 -0
  239. package/package.json +71 -0
@@ -0,0 +1,22 @@
1
+ import { addDependency, getPackageJson, savePackageJson } from '../../utils/index.js';
2
+ export const variantConfigurator = async (ctx) => {
3
+ const { variant, framework } = ctx.selections;
4
+ if (framework !== 'react')
5
+ return;
6
+ const pkg = await getPackageJson(ctx);
7
+ const hasCompiler = variant.includes('compiler');
8
+ const hasSWC = variant.includes('swc');
9
+ if (hasCompiler) {
10
+ // React Compiler dependencies
11
+ addDependency(pkg, 'babel-plugin-react-compiler', '^19.0.0-beta-e552027-20250112', true);
12
+ addDependency(pkg, 'eslint-plugin-react-compiler', '^19.0.0-beta-e552027-20250112', true);
13
+ addDependency(pkg, '@babel/core', '^7.26.0', true);
14
+ addDependency(pkg, '@babel/preset-react', '^7.26.0', true);
15
+ }
16
+ if (hasSWC) {
17
+ // SWC dependencies - Vite uses @vitejs/plugin-react-swc
18
+ addDependency(pkg, '@vitejs/plugin-react-swc', '^3.7.0', true);
19
+ }
20
+ await savePackageJson(ctx, pkg);
21
+ };
22
+ //# sourceMappingURL=variant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant.js","sourceRoot":"","sources":["../../../src/configurators/core/variant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,GAAwB,EAAiB,EAAE;IACnF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;IAE9C,IAAI,SAAS,KAAK,OAAO;QAAE,OAAO;IAElC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvC,IAAI,WAAW,EAAE,CAAC;QAChB,8BAA8B;QAC9B,aAAa,CAAC,GAAG,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,IAAI,CAAC,CAAC;QACzF,aAAa,CAAC,GAAG,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,IAAI,CAAC,CAAC;QAC1F,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACnD,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,wDAAwD;QACxD,aAAa,CAAC,GAAG,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './core/index.js';
2
+ export * from './project/index.js';
3
+ export * from './state/index.js';
4
+ export * from './styling/index.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configurators/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Re-export all configurators from organized subdirectories
2
+ export * from './core/index.js';
3
+ export * from './project/index.js';
4
+ export * from './state/index.js';
5
+ export * from './styling/index.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/configurators/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ConfiguratorContext } from '../../types/index.js';
2
+ export declare const authConfigurator: (ctx: ConfiguratorContext) => Promise<void>;
3
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/configurators/project/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,eAAO,MAAM,gBAAgB,GAAU,KAAK,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAiF7E,CAAC"}
@@ -0,0 +1,82 @@
1
+ import path from 'node:path';
2
+ import { addDependency, ensureDir, getPackageJson, savePackageJson, writeFile } from '../../utils/index.js';
3
+ export const authConfigurator = async (ctx) => {
4
+ const { auth, variant, framework } = ctx.selections;
5
+ if (!auth || auth === 'none')
6
+ return;
7
+ const pkg = await getPackageJson(ctx);
8
+ const isTypeScript = variant.startsWith('ts');
9
+ const ext = isTypeScript ? 'ts' : 'js';
10
+ switch (auth) {
11
+ case 'jwt':
12
+ // Create auth utilities
13
+ await ensureDir(path.join(ctx.projectPath, 'src/lib/auth'));
14
+ const authIndex = `// JWT Authentication utilities
15
+
16
+ const TOKEN_KEY = 'auth_token';
17
+ const REFRESH_TOKEN_KEY = 'refresh_token';
18
+
19
+ export interface User {
20
+ id: string;
21
+ email: string;
22
+ name?: string;
23
+ }
24
+
25
+ export interface AuthTokens {
26
+ accessToken: string;
27
+ refreshToken: string;
28
+ }
29
+
30
+ export const getToken = (): string | null => {
31
+ return localStorage.getItem(TOKEN_KEY);
32
+ };
33
+
34
+ export const getRefreshToken = (): string | null => {
35
+ return localStorage.getItem(REFRESH_TOKEN_KEY);
36
+ };
37
+
38
+ export const setTokens = (tokens: AuthTokens): void => {
39
+ localStorage.setItem(TOKEN_KEY, tokens.accessToken);
40
+ localStorage.setItem(REFRESH_TOKEN_KEY, tokens.refreshToken);
41
+ };
42
+
43
+ export const clearTokens = (): void => {
44
+ localStorage.removeItem(TOKEN_KEY);
45
+ localStorage.removeItem(REFRESH_TOKEN_KEY);
46
+ };
47
+
48
+ export const isAuthenticated = (): boolean => {
49
+ const token = getToken();
50
+ if (!token) return false;
51
+
52
+ try {
53
+ const payload = JSON.parse(atob(token.split('.')[1]));
54
+ return payload.exp * 1000 > Date.now();
55
+ } catch {
56
+ return false;
57
+ }
58
+ };
59
+
60
+ export const parseToken = (token: string): User | null => {
61
+ try {
62
+ const payload = JSON.parse(atob(token.split('.')[1]));
63
+ return {
64
+ id: payload.sub,
65
+ email: payload.email,
66
+ name: payload.name,
67
+ };
68
+ } catch {
69
+ return null;
70
+ }
71
+ };
72
+ `;
73
+ await writeFile(path.join(ctx.projectPath, 'src/lib/auth', `index.${ext}`), authIndex);
74
+ await savePackageJson(ctx, pkg);
75
+ break;
76
+ case 'authjs':
77
+ addDependency(pkg, 'next-auth', '^5.0.0-beta.25');
78
+ await savePackageJson(ctx, pkg);
79
+ break;
80
+ }
81
+ };
82
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/configurators/project/auth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE5G,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAwB,EAAiB,EAAE;IAChF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;IACpD,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO;IAErC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,wBAAwB;YACxB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;YAE5D,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DvB,CAAC;YACI,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACvF,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,MAAM;QAER,KAAK,QAAQ;YACX,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;YAClD,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,MAAM;IACV,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * CI/CD Configurator
3
+ *
4
+ * Sets up GitHub Actions workflows for continuous integration.
5
+ */
6
+ import type { ConfiguratorContext } from '../../types/index.js';
7
+ export interface CICDOptions {
8
+ /** Enable CI workflow */
9
+ ci?: boolean;
10
+ /** Enable deploy workflow (GitHub Pages) */
11
+ deploy?: boolean;
12
+ /** Enable release workflow */
13
+ release?: boolean;
14
+ /** Enable PR check workflow */
15
+ prCheck?: boolean;
16
+ /** Enable Dependabot */
17
+ dependabot?: boolean;
18
+ /** Enable CodeQL security scanning */
19
+ codeql?: boolean;
20
+ }
21
+ /**
22
+ * Configure CI/CD workflows
23
+ */
24
+ export declare const cicdConfigurator: (ctx: ConfiguratorContext, options?: CICDOptions) => Promise<void>;
25
+ /**
26
+ * Create CI/CD files (simplified version for mandatory features)
27
+ */
28
+ export declare const createCICD: (ctx: ConfiguratorContext) => Promise<void>;
29
+ export default cicdConfigurator;
30
+ //# sourceMappingURL=cicd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cicd.d.ts","sourceRoot":"","sources":["../../../src/configurators/project/cicd.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAwPhE,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,KAAK,mBAAmB,EACxB,UAAS,WAAgB,KACxB,OAAO,CAAC,IAAI,CAiEd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAU,KAAK,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAMvE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,289 @@
1
+ /**
2
+ * CI/CD Configurator
3
+ *
4
+ * Sets up GitHub Actions workflows for continuous integration.
5
+ */
6
+ import path from 'node:path';
7
+ import { ensureDir, writeFile } from '../../utils/fs.js';
8
+ // ============================================
9
+ // Templates
10
+ // ============================================
11
+ const ciWorkflowTemplate = (isTypeScript) => `name: CI
12
+
13
+ on:
14
+ push:
15
+ branches: [main, master]
16
+ pull_request:
17
+ branches: [main, master]
18
+
19
+ jobs:
20
+ build:
21
+ runs-on: ubuntu-latest
22
+
23
+ strategy:
24
+ matrix:
25
+ node-version: [18.x, 20.x]
26
+
27
+ steps:
28
+ - name: Checkout repository
29
+ uses: actions/checkout@v4
30
+
31
+ - name: Setup Node.js \${{ matrix.node-version }}
32
+ uses: actions/setup-node@v4
33
+ with:
34
+ node-version: \${{ matrix.node-version }}
35
+ cache: 'npm'
36
+
37
+ - name: Install dependencies
38
+ run: npm ci
39
+
40
+ ${isTypeScript ? ` - name: Type check
41
+ run: npm run type-check
42
+
43
+ ` : ''} - name: Lint
44
+ run: npm run lint
45
+
46
+ - name: Run tests
47
+ run: npm run test:run
48
+
49
+ - name: Build
50
+ run: npm run build
51
+ `;
52
+ const deployWorkflowTemplate = (projectName) => `name: Deploy
53
+
54
+ on:
55
+ push:
56
+ branches: [main, master]
57
+ workflow_dispatch:
58
+
59
+ permissions:
60
+ contents: read
61
+ pages: write
62
+ id-token: write
63
+
64
+ concurrency:
65
+ group: 'pages'
66
+ cancel-in-progress: true
67
+
68
+ jobs:
69
+ build:
70
+ runs-on: ubuntu-latest
71
+ steps:
72
+ - name: Checkout
73
+ uses: actions/checkout@v4
74
+
75
+ - name: Setup Node.js
76
+ uses: actions/setup-node@v4
77
+ with:
78
+ node-version: '20'
79
+ cache: 'npm'
80
+
81
+ - name: Install dependencies
82
+ run: npm ci
83
+
84
+ - name: Build
85
+ run: npm run build
86
+
87
+ - name: Setup Pages
88
+ uses: actions/configure-pages@v4
89
+
90
+ - name: Upload artifact
91
+ uses: actions/upload-pages-artifact@v3
92
+ with:
93
+ path: './dist'
94
+
95
+ deploy:
96
+ environment:
97
+ name: github-pages
98
+ url: \${{ steps.deployment.outputs.page_url }}
99
+ runs-on: ubuntu-latest
100
+ needs: build
101
+ steps:
102
+ - name: Deploy to GitHub Pages
103
+ id: deployment
104
+ uses: actions/deploy-pages@v4
105
+ `;
106
+ const releaseWorkflowTemplate = () => `name: Release
107
+
108
+ on:
109
+ push:
110
+ tags:
111
+ - 'v*'
112
+
113
+ permissions:
114
+ contents: write
115
+
116
+ jobs:
117
+ release:
118
+ runs-on: ubuntu-latest
119
+ steps:
120
+ - name: Checkout
121
+ uses: actions/checkout@v4
122
+
123
+ - name: Setup Node.js
124
+ uses: actions/setup-node@v4
125
+ with:
126
+ node-version: '20'
127
+ cache: 'npm'
128
+
129
+ - name: Install dependencies
130
+ run: npm ci
131
+
132
+ - name: Build
133
+ run: npm run build
134
+
135
+ - name: Create Release
136
+ uses: softprops/action-gh-release@v1
137
+ with:
138
+ generate_release_notes: true
139
+ files: |
140
+ dist/**/*
141
+ `;
142
+ const prCheckWorkflowTemplate = (isTypeScript) => `name: PR Check
143
+
144
+ on:
145
+ pull_request:
146
+ types: [opened, synchronize, reopened]
147
+
148
+ jobs:
149
+ check:
150
+ runs-on: ubuntu-latest
151
+
152
+ steps:
153
+ - name: Checkout
154
+ uses: actions/checkout@v4
155
+
156
+ - name: Setup Node.js
157
+ uses: actions/setup-node@v4
158
+ with:
159
+ node-version: '20'
160
+ cache: 'npm'
161
+
162
+ - name: Install dependencies
163
+ run: npm ci
164
+
165
+ ${isTypeScript ? ` - name: Type check
166
+ run: npm run type-check
167
+
168
+ ` : ''} - name: Lint
169
+ run: npm run lint
170
+
171
+ - name: Test
172
+ run: npm run test:run
173
+
174
+ - name: Build
175
+ run: npm run build
176
+
177
+ - name: Check bundle size
178
+ run: |
179
+ BUNDLE_SIZE=$(du -sk dist | cut -f1)
180
+ echo "Bundle size: \${BUNDLE_SIZE}KB"
181
+ if [ "$BUNDLE_SIZE" -gt 5000 ]; then
182
+ echo "⚠️ Warning: Bundle size exceeds 5MB"
183
+ fi
184
+ `;
185
+ const dependabotTemplate = () => `version: 2
186
+ updates:
187
+ - package-ecosystem: "npm"
188
+ directory: "/"
189
+ schedule:
190
+ interval: "weekly"
191
+ open-pull-requests-limit: 10
192
+ groups:
193
+ development-dependencies:
194
+ dependency-type: "development"
195
+ update-types:
196
+ - "minor"
197
+ - "patch"
198
+ production-dependencies:
199
+ dependency-type: "production"
200
+ update-types:
201
+ - "patch"
202
+ `;
203
+ const codeqlWorkflowTemplate = () => `name: "CodeQL"
204
+
205
+ on:
206
+ push:
207
+ branches: [main, master]
208
+ pull_request:
209
+ branches: [main, master]
210
+ schedule:
211
+ - cron: '0 0 * * 0'
212
+
213
+ jobs:
214
+ analyze:
215
+ name: Analyze
216
+ runs-on: ubuntu-latest
217
+ permissions:
218
+ actions: read
219
+ contents: read
220
+ security-events: write
221
+
222
+ strategy:
223
+ fail-fast: false
224
+ matrix:
225
+ language: ['javascript']
226
+
227
+ steps:
228
+ - name: Checkout repository
229
+ uses: actions/checkout@v4
230
+
231
+ - name: Initialize CodeQL
232
+ uses: github/codeql-action/init@v3
233
+ with:
234
+ languages: \${{ matrix.language }}
235
+
236
+ - name: Autobuild
237
+ uses: github/codeql-action/autobuild@v3
238
+
239
+ - name: Perform CodeQL Analysis
240
+ uses: github/codeql-action/analyze@v3
241
+ `;
242
+ /**
243
+ * Configure CI/CD workflows
244
+ */
245
+ export const cicdConfigurator = async (ctx, options = {}) => {
246
+ const { ci = true, deploy = false, release = false, prCheck = true, dependabot = true, codeql = false, } = options;
247
+ const isTypeScript = ctx.selections.language === 'typescript';
248
+ const workflowsDir = path.join(ctx.projectPath, '.github', 'workflows');
249
+ // Ensure .github/workflows directory exists
250
+ await ensureDir(workflowsDir);
251
+ // CI Workflow
252
+ if (ci) {
253
+ await writeFile(path.join(workflowsDir, 'ci.yml'), ciWorkflowTemplate(isTypeScript));
254
+ }
255
+ // Deploy Workflow
256
+ if (deploy) {
257
+ await writeFile(path.join(workflowsDir, 'deploy.yml'), deployWorkflowTemplate(ctx.selections.projectName));
258
+ }
259
+ // Release Workflow
260
+ if (release) {
261
+ await writeFile(path.join(workflowsDir, 'release.yml'), releaseWorkflowTemplate());
262
+ }
263
+ // PR Check Workflow
264
+ if (prCheck) {
265
+ await writeFile(path.join(workflowsDir, 'pr-check.yml'), prCheckWorkflowTemplate(isTypeScript));
266
+ }
267
+ // CodeQL
268
+ if (codeql) {
269
+ await writeFile(path.join(workflowsDir, 'codeql.yml'), codeqlWorkflowTemplate());
270
+ }
271
+ // Dependabot
272
+ if (dependabot) {
273
+ const githubDir = path.join(ctx.projectPath, '.github');
274
+ await ensureDir(githubDir);
275
+ await writeFile(path.join(githubDir, 'dependabot.yml'), dependabotTemplate());
276
+ }
277
+ };
278
+ /**
279
+ * Create CI/CD files (simplified version for mandatory features)
280
+ */
281
+ export const createCICD = async (ctx) => {
282
+ await cicdConfigurator(ctx, {
283
+ ci: true,
284
+ prCheck: true,
285
+ dependabot: true,
286
+ });
287
+ };
288
+ export default cicdConfigurator;
289
+ //# sourceMappingURL=cicd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cicd.js","sourceRoot":"","sources":["../../../src/configurators/project/cicd.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzD,+CAA+C;AAC/C,YAAY;AACZ,+CAA+C;AAE/C,MAAM,kBAAkB,GAAG,CAAC,YAAqB,EAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B5D,YAAY,CAAC,CAAC,CAAC;;;CAGhB,CAAC,CAAC,CAAC,EAAE;;;;;;;;CAQL,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD/D,CAAC;AAEF,MAAM,uBAAuB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC7C,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,YAAqB,EAAU,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;EAuBjE,YAAY,CAAC,CAAC,CAAC;;;CAGhB,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;CAgBL,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;CAiBxC,CAAC;AAEF,MAAM,sBAAsB,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC5C,CAAC;AAqBF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,GAAwB,EACxB,UAAuB,EAAE,EACV,EAAE;IACjB,MAAM,EACJ,EAAE,GAAG,IAAI,EACT,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,IAAI,EACd,UAAU,GAAG,IAAI,EACjB,MAAM,GAAG,KAAK,GACf,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,YAAY,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAExE,4CAA4C;IAC5C,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;IAE9B,cAAc;IACd,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EACjC,kBAAkB,CAAC,YAAY,CAAC,CACjC,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACrC,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CACnD,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,EACtC,uBAAuB,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EACvC,uBAAuB,CAAC,YAAY,CAAC,CACtC,CAAC;IACJ,CAAC;IAED,SAAS;IACT,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACrC,sBAAsB,EAAE,CACzB,CAAC;IACJ,CAAC;IAED,aAAa;IACb,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EACtC,kBAAkB,EAAE,CACrB,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,GAAwB,EAAiB,EAAE;IAC1E,MAAM,gBAAgB,CAAC,GAAG,EAAE;QAC1B,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ConfiguratorContext } from '../../types/index.js';
2
+ export declare const i18nConfigurator: (ctx: ConfiguratorContext) => Promise<void>;
3
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/configurators/project/i18n.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,eAAO,MAAM,gBAAgB,GAAU,KAAK,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAmE7E,CAAC"}
@@ -0,0 +1,67 @@
1
+ import path from 'node:path';
2
+ import { addDependency, ensureDir, getPackageJson, savePackageJson, writeFile, writeJson } from '../../utils/index.js';
3
+ export const i18nConfigurator = async (ctx) => {
4
+ const { i18n, framework } = ctx.selections;
5
+ if (!i18n || i18n === 'none')
6
+ return;
7
+ const pkg = await getPackageJson(ctx);
8
+ switch (i18n) {
9
+ case 'i18next':
10
+ addDependency(pkg, 'i18next', '^23.15.0');
11
+ if (framework === 'react') {
12
+ addDependency(pkg, 'react-i18next', '^15.0.0');
13
+ }
14
+ addDependency(pkg, 'i18next-browser-languagedetector', '^8.0.0');
15
+ await savePackageJson(ctx, pkg);
16
+ // Create i18n config
17
+ const i18nConfig = `import i18n from 'i18next';
18
+ import { initReactI18next } from 'react-i18next';
19
+ import LanguageDetector from 'i18next-browser-languagedetector';
20
+ import en from './locales/en.json';
21
+ import ar from './locales/ar.json';
22
+
23
+ i18n
24
+ .use(LanguageDetector)
25
+ .use(initReactI18next)
26
+ .init({
27
+ resources: {
28
+ en: { translation: en },
29
+ ar: { translation: ar },
30
+ },
31
+ fallbackLng: 'en',
32
+ interpolation: {
33
+ escapeValue: false,
34
+ },
35
+ });
36
+
37
+ export default i18n;
38
+ `;
39
+ await ensureDir(path.join(ctx.projectPath, 'src/i18n'));
40
+ await ensureDir(path.join(ctx.projectPath, 'src/i18n/locales'));
41
+ await writeFile(path.join(ctx.projectPath, 'src/i18n/index.ts'), i18nConfig);
42
+ await writeJson(path.join(ctx.projectPath, 'src/i18n/locales/en.json'), { welcome: 'Welcome' });
43
+ await writeJson(path.join(ctx.projectPath, 'src/i18n/locales/ar.json'), { welcome: 'مرحباً' });
44
+ break;
45
+ case 'lingui':
46
+ addDependency(pkg, '@lingui/core', '^4.11.0');
47
+ addDependency(pkg, '@lingui/react', '^4.11.0');
48
+ addDependency(pkg, '@lingui/cli', '^4.11.0', true);
49
+ addDependency(pkg, '@lingui/macro', '^4.11.0', true);
50
+ await savePackageJson(ctx, pkg);
51
+ const linguiConfig = `module.exports = {
52
+ locales: ['en', 'ar'],
53
+ sourceLocale: 'en',
54
+ catalogs: [
55
+ {
56
+ path: 'src/locales/{locale}/messages',
57
+ include: ['src'],
58
+ },
59
+ ],
60
+ format: 'po',
61
+ };
62
+ `;
63
+ await writeFile(path.join(ctx.projectPath, 'lingui.config.js'), linguiConfig);
64
+ break;
65
+ }
66
+ };
67
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/configurators/project/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEvH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAwB,EAAiB,EAAE;IAChF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;IAC3C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO;IAErC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAEtC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1C,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;YACD,aAAa,CAAC,GAAG,EAAE,kCAAkC,EAAE,QAAQ,CAAC,CAAC;YACjE,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAEhC,qBAAqB;YACrB,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBxB,CAAC;YACI,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;YACxD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAChE,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,EAAE,UAAU,CAAC,CAAC;YAC7E,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,0BAA0B,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAChG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,0BAA0B,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/F,MAAM;QAER,KAAK,QAAQ;YACX,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAC9C,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;YAC/C,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACnD,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAEhC,MAAM,YAAY,GAAG;;;;;;;;;;;CAW1B,CAAC;YACI,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,YAAY,CAAC,CAAC;YAC9E,MAAM;IACV,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { authConfigurator } from './auth.js';
2
+ export { cicdConfigurator, createCICD, type CICDOptions } from './cicd.js';
3
+ export { i18nConfigurator } from './i18n.js';
4
+ export { mandatoryConfigurator } from './mandatory.js';
5
+ export { structureConfigurator } from './structure.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/configurators/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { authConfigurator } from './auth.js';
2
+ export { cicdConfigurator, createCICD } from './cicd.js';
3
+ export { i18nConfigurator } from './i18n.js';
4
+ export { mandatoryConfigurator } from './mandatory.js';
5
+ export { structureConfigurator } from './structure.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/configurators/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAoB,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ConfiguratorContext } from '../../types/index.js';
2
+ export declare const mandatoryConfigurator: (ctx: ConfiguratorContext) => Promise<void>;
3
+ //# sourceMappingURL=mandatory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mandatory.d.ts","sourceRoot":"","sources":["../../../src/configurators/project/mandatory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAK3D,eAAO,MAAM,qBAAqB,GAAU,KAAK,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAwKlF,CAAC"}