@fnd-platform/cli 1.0.0-alpha.24 → 1.0.0-alpha.26

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 (230) hide show
  1. package/lib/bin/fnd.js +101 -4
  2. package/lib/bin/fnd.js.map +1 -1
  3. package/lib/commands/add.js +72 -75
  4. package/lib/commands/add.js.map +1 -1
  5. package/lib/commands/build.js +29 -34
  6. package/lib/commands/build.js.map +1 -1
  7. package/lib/commands/deploy.d.ts +13 -5
  8. package/lib/commands/deploy.d.ts.map +1 -1
  9. package/lib/commands/deploy.js +94 -75
  10. package/lib/commands/deploy.js.map +1 -1
  11. package/lib/commands/destroy.js +33 -38
  12. package/lib/commands/destroy.js.map +1 -1
  13. package/lib/commands/index.d.ts +1 -0
  14. package/lib/commands/index.d.ts.map +1 -1
  15. package/lib/commands/index.js +7 -15
  16. package/lib/commands/index.js.map +1 -1
  17. package/lib/commands/new.js +46 -50
  18. package/lib/commands/new.js.map +1 -1
  19. package/lib/commands/synth.d.ts +8 -1
  20. package/lib/commands/synth.d.ts.map +1 -1
  21. package/lib/commands/synth.js +82 -22
  22. package/lib/commands/synth.js.map +1 -1
  23. package/lib/commands/test.d.ts +73 -0
  24. package/lib/commands/test.d.ts.map +1 -0
  25. package/lib/commands/test.js +193 -0
  26. package/lib/commands/test.js.map +1 -0
  27. package/lib/index.d.ts +11 -2
  28. package/lib/index.d.ts.map +1 -1
  29. package/lib/index.js +29 -18
  30. package/lib/index.js.map +1 -1
  31. package/lib/lib/deploy-utils.d.ts.map +1 -1
  32. package/lib/lib/deploy-utils.js +73 -72
  33. package/lib/lib/deploy-utils.js.map +1 -1
  34. package/lib/lib/infra-generator.js +55 -63
  35. package/lib/lib/infra-generator.js.map +1 -1
  36. package/lib/lib/logger.js +23 -29
  37. package/lib/lib/logger.js.map +1 -1
  38. package/lib/lib/nx-stats.js +12 -18
  39. package/lib/lib/nx-stats.js.map +1 -1
  40. package/lib/lib/project.js +7 -11
  41. package/lib/lib/project.js.map +1 -1
  42. package/lib/lib/templates.js +2 -6
  43. package/lib/lib/templates.js.map +1 -1
  44. package/lib/lib/timer.js +2 -7
  45. package/lib/lib/timer.js.map +1 -1
  46. package/lib/lib/validation.d.ts +135 -0
  47. package/lib/lib/validation.d.ts.map +1 -0
  48. package/lib/lib/validation.js +233 -0
  49. package/lib/lib/validation.js.map +1 -0
  50. package/lib/tui/App.d.ts +11 -0
  51. package/lib/tui/App.d.ts.map +1 -0
  52. package/lib/tui/App.js +98 -0
  53. package/lib/tui/App.js.map +1 -0
  54. package/lib/tui/components/branding/AsciiBanner.d.ts +21 -0
  55. package/lib/tui/components/branding/AsciiBanner.d.ts.map +1 -0
  56. package/lib/tui/components/branding/AsciiBanner.js +15 -0
  57. package/lib/tui/components/branding/AsciiBanner.js.map +1 -0
  58. package/lib/tui/components/branding/index.d.ts +5 -0
  59. package/lib/tui/components/branding/index.d.ts.map +1 -0
  60. package/lib/tui/components/branding/index.js +5 -0
  61. package/lib/tui/components/branding/index.js.map +1 -0
  62. package/lib/tui/components/feedback/Notification.d.ts +51 -0
  63. package/lib/tui/components/feedback/Notification.d.ts.map +1 -0
  64. package/lib/tui/components/feedback/Notification.js +89 -0
  65. package/lib/tui/components/feedback/Notification.js.map +1 -0
  66. package/lib/tui/components/feedback/ProgressBar.d.ts +46 -0
  67. package/lib/tui/components/feedback/ProgressBar.d.ts.map +1 -0
  68. package/lib/tui/components/feedback/ProgressBar.js +30 -0
  69. package/lib/tui/components/feedback/ProgressBar.js.map +1 -0
  70. package/lib/tui/components/feedback/ProgressSteps.d.ts +35 -0
  71. package/lib/tui/components/feedback/ProgressSteps.d.ts.map +1 -0
  72. package/lib/tui/components/feedback/ProgressSteps.js +37 -0
  73. package/lib/tui/components/feedback/ProgressSteps.js.map +1 -0
  74. package/lib/tui/components/feedback/Spinner.d.ts +18 -0
  75. package/lib/tui/components/feedback/Spinner.d.ts.map +1 -0
  76. package/lib/tui/components/feedback/Spinner.js +28 -0
  77. package/lib/tui/components/feedback/Spinner.js.map +1 -0
  78. package/lib/tui/components/feedback/index.d.ts +8 -0
  79. package/lib/tui/components/feedback/index.d.ts.map +1 -0
  80. package/lib/tui/components/feedback/index.js +8 -0
  81. package/lib/tui/components/feedback/index.js.map +1 -0
  82. package/lib/tui/components/index.d.ts +8 -0
  83. package/lib/tui/components/index.d.ts.map +1 -0
  84. package/lib/tui/components/index.js +8 -0
  85. package/lib/tui/components/index.js.map +1 -0
  86. package/lib/tui/components/input/Checkbox.d.ts +26 -0
  87. package/lib/tui/components/input/Checkbox.d.ts.map +1 -0
  88. package/lib/tui/components/input/Checkbox.js +20 -0
  89. package/lib/tui/components/input/Checkbox.js.map +1 -0
  90. package/lib/tui/components/input/SelectInput.d.ts +41 -0
  91. package/lib/tui/components/input/SelectInput.d.ts.map +1 -0
  92. package/lib/tui/components/input/SelectInput.js +53 -0
  93. package/lib/tui/components/input/SelectInput.js.map +1 -0
  94. package/lib/tui/components/input/TextInput.d.ts +30 -0
  95. package/lib/tui/components/input/TextInput.d.ts.map +1 -0
  96. package/lib/tui/components/input/TextInput.js +48 -0
  97. package/lib/tui/components/input/TextInput.js.map +1 -0
  98. package/lib/tui/components/input/index.d.ts +7 -0
  99. package/lib/tui/components/input/index.d.ts.map +1 -0
  100. package/lib/tui/components/input/index.js +7 -0
  101. package/lib/tui/components/input/index.js.map +1 -0
  102. package/lib/tui/components/layout/Breadcrumbs.d.ts +11 -0
  103. package/lib/tui/components/layout/Breadcrumbs.d.ts.map +1 -0
  104. package/lib/tui/components/layout/Breadcrumbs.js +34 -0
  105. package/lib/tui/components/layout/Breadcrumbs.js.map +1 -0
  106. package/lib/tui/components/layout/Footer.d.ts +11 -0
  107. package/lib/tui/components/layout/Footer.d.ts.map +1 -0
  108. package/lib/tui/components/layout/Footer.js +20 -0
  109. package/lib/tui/components/layout/Footer.js.map +1 -0
  110. package/lib/tui/components/layout/Header.d.ts +21 -0
  111. package/lib/tui/components/layout/Header.d.ts.map +1 -0
  112. package/lib/tui/components/layout/Header.js +21 -0
  113. package/lib/tui/components/layout/Header.js.map +1 -0
  114. package/lib/tui/components/layout/Screen.d.ts +27 -0
  115. package/lib/tui/components/layout/Screen.d.ts.map +1 -0
  116. package/lib/tui/components/layout/Screen.js +11 -0
  117. package/lib/tui/components/layout/Screen.js.map +1 -0
  118. package/lib/tui/components/layout/index.d.ts +8 -0
  119. package/lib/tui/components/layout/index.d.ts.map +1 -0
  120. package/lib/tui/components/layout/index.js +8 -0
  121. package/lib/tui/components/layout/index.js.map +1 -0
  122. package/lib/tui/hooks/index.d.ts +20 -0
  123. package/lib/tui/hooks/index.d.ts.map +1 -0
  124. package/lib/tui/hooks/index.js +18 -0
  125. package/lib/tui/hooks/index.js.map +1 -0
  126. package/lib/tui/hooks/useAddPackage.d.ts +120 -0
  127. package/lib/tui/hooks/useAddPackage.d.ts.map +1 -0
  128. package/lib/tui/hooks/useAddPackage.js +344 -0
  129. package/lib/tui/hooks/useAddPackage.js.map +1 -0
  130. package/lib/tui/hooks/useCreateProject.d.ts +66 -0
  131. package/lib/tui/hooks/useCreateProject.d.ts.map +1 -0
  132. package/lib/tui/hooks/useCreateProject.js +156 -0
  133. package/lib/tui/hooks/useCreateProject.js.map +1 -0
  134. package/lib/tui/hooks/useDeploy.d.ts +93 -0
  135. package/lib/tui/hooks/useDeploy.d.ts.map +1 -0
  136. package/lib/tui/hooks/useDeploy.js +252 -0
  137. package/lib/tui/hooks/useDeploy.js.map +1 -0
  138. package/lib/tui/hooks/useKeyboard.d.ts +66 -0
  139. package/lib/tui/hooks/useKeyboard.d.ts.map +1 -0
  140. package/lib/tui/hooks/useKeyboard.js +101 -0
  141. package/lib/tui/hooks/useKeyboard.js.map +1 -0
  142. package/lib/tui/hooks/useNavigation.d.ts +33 -0
  143. package/lib/tui/hooks/useNavigation.d.ts.map +1 -0
  144. package/lib/tui/hooks/useNavigation.js +27 -0
  145. package/lib/tui/hooks/useNavigation.js.map +1 -0
  146. package/lib/tui/hooks/useProject.d.ts +36 -0
  147. package/lib/tui/hooks/useProject.d.ts.map +1 -0
  148. package/lib/tui/hooks/useProject.js +47 -0
  149. package/lib/tui/hooks/useProject.js.map +1 -0
  150. package/lib/tui/index.d.ts +15 -0
  151. package/lib/tui/index.d.ts.map +1 -0
  152. package/lib/tui/index.js +16 -0
  153. package/lib/tui/index.js.map +1 -0
  154. package/lib/tui/lib/add-package-tui.d.ts +127 -0
  155. package/lib/tui/lib/add-package-tui.d.ts.map +1 -0
  156. package/lib/tui/lib/add-package-tui.js +467 -0
  157. package/lib/tui/lib/add-package-tui.js.map +1 -0
  158. package/lib/tui/lib/create-project-tui.d.ts +92 -0
  159. package/lib/tui/lib/create-project-tui.d.ts.map +1 -0
  160. package/lib/tui/lib/create-project-tui.js +181 -0
  161. package/lib/tui/lib/create-project-tui.js.map +1 -0
  162. package/lib/tui/lib/deploy-tui.d.ts +131 -0
  163. package/lib/tui/lib/deploy-tui.d.ts.map +1 -0
  164. package/lib/tui/lib/deploy-tui.js +347 -0
  165. package/lib/tui/lib/deploy-tui.js.map +1 -0
  166. package/lib/tui/screens/AddPackageScreen.d.ts +12 -0
  167. package/lib/tui/screens/AddPackageScreen.d.ts.map +1 -0
  168. package/lib/tui/screens/AddPackageScreen.js +436 -0
  169. package/lib/tui/screens/AddPackageScreen.js.map +1 -0
  170. package/lib/tui/screens/CreateProjectScreen.d.ts +12 -0
  171. package/lib/tui/screens/CreateProjectScreen.d.ts.map +1 -0
  172. package/lib/tui/screens/CreateProjectScreen.js +253 -0
  173. package/lib/tui/screens/CreateProjectScreen.js.map +1 -0
  174. package/lib/tui/screens/DeployScreen.d.ts +11 -0
  175. package/lib/tui/screens/DeployScreen.d.ts.map +1 -0
  176. package/lib/tui/screens/DeployScreen.js +224 -0
  177. package/lib/tui/screens/DeployScreen.js.map +1 -0
  178. package/lib/tui/screens/ProjectDashboard.d.ts +11 -0
  179. package/lib/tui/screens/ProjectDashboard.d.ts.map +1 -0
  180. package/lib/tui/screens/ProjectDashboard.js +42 -0
  181. package/lib/tui/screens/ProjectDashboard.js.map +1 -0
  182. package/lib/tui/screens/WelcomeScreen.d.ts +11 -0
  183. package/lib/tui/screens/WelcomeScreen.d.ts.map +1 -0
  184. package/lib/tui/screens/WelcomeScreen.js +26 -0
  185. package/lib/tui/screens/WelcomeScreen.js.map +1 -0
  186. package/lib/tui/screens/index.d.ts +9 -0
  187. package/lib/tui/screens/index.d.ts.map +1 -0
  188. package/lib/tui/screens/index.js +9 -0
  189. package/lib/tui/screens/index.js.map +1 -0
  190. package/lib/tui/services/ConfigService.d.ts +133 -0
  191. package/lib/tui/services/ConfigService.d.ts.map +1 -0
  192. package/lib/tui/services/ConfigService.js +221 -0
  193. package/lib/tui/services/ConfigService.js.map +1 -0
  194. package/lib/tui/services/ProjectService.d.ts +55 -0
  195. package/lib/tui/services/ProjectService.d.ts.map +1 -0
  196. package/lib/tui/services/ProjectService.js +179 -0
  197. package/lib/tui/services/ProjectService.js.map +1 -0
  198. package/lib/tui/services/index.d.ts +6 -0
  199. package/lib/tui/services/index.d.ts.map +1 -0
  200. package/lib/tui/services/index.js +6 -0
  201. package/lib/tui/services/index.js.map +1 -0
  202. package/lib/tui/state/AppContext.d.ts +58 -0
  203. package/lib/tui/state/AppContext.d.ts.map +1 -0
  204. package/lib/tui/state/AppContext.js +75 -0
  205. package/lib/tui/state/AppContext.js.map +1 -0
  206. package/lib/tui/state/index.d.ts +7 -0
  207. package/lib/tui/state/index.d.ts.map +1 -0
  208. package/lib/tui/state/index.js +7 -0
  209. package/lib/tui/state/index.js.map +1 -0
  210. package/lib/tui/state/reducer.d.ts +13 -0
  211. package/lib/tui/state/reducer.d.ts.map +1 -0
  212. package/lib/tui/state/reducer.js +136 -0
  213. package/lib/tui/state/reducer.js.map +1 -0
  214. package/lib/tui/state/types.d.ts +132 -0
  215. package/lib/tui/state/types.d.ts.map +1 -0
  216. package/lib/tui/state/types.js +38 -0
  217. package/lib/tui/state/types.js.map +1 -0
  218. package/lib/tui/utils/ascii.d.ts +42 -0
  219. package/lib/tui/utils/ascii.d.ts.map +1 -0
  220. package/lib/tui/utils/ascii.js +63 -0
  221. package/lib/tui/utils/ascii.js.map +1 -0
  222. package/lib/tui/utils/colors.d.ts +65 -0
  223. package/lib/tui/utils/colors.d.ts.map +1 -0
  224. package/lib/tui/utils/colors.js +65 -0
  225. package/lib/tui/utils/colors.js.map +1 -0
  226. package/lib/tui/utils/index.d.ts +6 -0
  227. package/lib/tui/utils/index.d.ts.map +1 -0
  228. package/lib/tui/utils/index.js +6 -0
  229. package/lib/tui/utils/index.js.map +1 -0
  230. package/package.json +12 -3
package/lib/bin/fnd.js CHANGED
@@ -1,8 +1,105 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const index_js_1 = require("../index.js");
5
- (0, index_js_1.run)().catch((error) => {
2
+ import { runCommander } from '../index.js';
3
+ /**
4
+ * Known traditional CLI commands that should bypass the TUI.
5
+ */
6
+ const TRADITIONAL_COMMANDS = [
7
+ 'new',
8
+ 'add',
9
+ 'synth',
10
+ 'build',
11
+ 'deploy',
12
+ 'destroy',
13
+ 'test',
14
+ 'lint',
15
+ 'help',
16
+ '-h',
17
+ '--help',
18
+ '-v',
19
+ '--version',
20
+ ];
21
+ /**
22
+ * CI environment variable names to check.
23
+ */
24
+ const CI_ENVIRONMENT_VARS = [
25
+ 'CI',
26
+ 'GITHUB_ACTIONS',
27
+ 'GITLAB_CI',
28
+ 'CIRCLECI',
29
+ 'TRAVIS',
30
+ 'JENKINS_URL',
31
+ 'BUILDKITE',
32
+ 'TEAMCITY_VERSION',
33
+ 'TF_BUILD',
34
+ 'BITBUCKET_BUILD_NUMBER',
35
+ 'CODEBUILD_BUILD_ID',
36
+ ];
37
+ /**
38
+ * Detects whether the CLI should run in interactive (TUI) or non-interactive mode.
39
+ *
40
+ * @returns 'interactive' or 'non-interactive'
41
+ */
42
+ function detectMode() {
43
+ const args = process.argv.slice(2);
44
+ // 1. Explicit flags take precedence
45
+ if (args.includes('--interactive') || args.includes('-i')) {
46
+ return 'interactive';
47
+ }
48
+ if (args.includes('--no-tui') || args.includes('--non-interactive')) {
49
+ return 'non-interactive';
50
+ }
51
+ // 2. No TTY = non-interactive (piped input/output)
52
+ if (!process.stdin.isTTY || !process.stdout.isTTY) {
53
+ return 'non-interactive';
54
+ }
55
+ // 3. CI environment detection
56
+ const isCI = CI_ENVIRONMENT_VARS.some((envVar) => process.env[envVar]);
57
+ if (isCI) {
58
+ return 'non-interactive';
59
+ }
60
+ // 4. Traditional commands should use Commander.js
61
+ const hasTraditionalCommand = args.some((arg) => {
62
+ // Check if arg is a known command (not a flag)
63
+ return TRADITIONAL_COMMANDS.includes(arg.toLowerCase());
64
+ });
65
+ if (hasTraditionalCommand) {
66
+ return 'non-interactive';
67
+ }
68
+ // 5. Any arguments at all (except our flags) = assume traditional usage
69
+ const nonFlagArgs = args.filter((arg) => !arg.startsWith('-') || arg === '-i');
70
+ if (nonFlagArgs.length > 0 && !args.includes('-i')) {
71
+ return 'non-interactive';
72
+ }
73
+ // 6. Default to interactive TUI when running `fnd` with no args
74
+ return 'interactive';
75
+ }
76
+ /**
77
+ * Main entry point.
78
+ */
79
+ async function main() {
80
+ const mode = detectMode();
81
+ if (mode === 'interactive') {
82
+ try {
83
+ // Dynamically import TUI to avoid loading React in non-interactive mode
84
+ const { runTui } = await import('../tui/index.js');
85
+ await runTui();
86
+ }
87
+ catch (error) {
88
+ // If TUI fails to load (e.g., missing dependencies), fall back to Commander
89
+ if (error.code === 'ERR_MODULE_NOT_FOUND') {
90
+ console.error('TUI dependencies not available. Running in CLI mode.');
91
+ await runCommander();
92
+ }
93
+ else {
94
+ throw error;
95
+ }
96
+ }
97
+ }
98
+ else {
99
+ await runCommander();
100
+ }
101
+ }
102
+ main().catch((error) => {
6
103
  console.error('Fatal error:', error.message);
7
104
  process.exit(1);
8
105
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fnd.js","sourceRoot":"","sources":["../../src/bin/fnd.ts"],"names":[],"mappings":";;;AAEA,0CAAkC;AAElC,IAAA,cAAG,GAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;IAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"fnd.js","sourceRoot":"","sources":["../../src/bin/fnd.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addCommand = addCommand;
4
- const commander_1 = require("commander");
5
- const fs_1 = require("fs");
6
- const child_process_1 = require("child_process");
7
- const path_1 = require("path");
8
- const logger_js_1 = require("../lib/logger.js");
9
- const project_js_1 = require("../lib/project.js");
10
- const infra_generator_js_1 = require("../lib/infra-generator.js");
1
+ import { Command } from 'commander';
2
+ import { readFileSync, writeFileSync } from 'fs';
3
+ import { execSync } from 'child_process';
4
+ import { join } from 'path';
5
+ import { logger } from '../lib/logger.js';
6
+ import { requireProjectRoot } from '../lib/project.js';
7
+ import { generateInfraPackage, generateFrontendStack, generateCmsStack, } from '../lib/infra-generator.js';
11
8
  /**
12
9
  * Package version to use for @fnd-platform dependencies.
13
10
  */
@@ -20,9 +17,9 @@ const FND_PACKAGE_VERSION = '^1.0.0-alpha.1';
20
17
  */
21
18
  function addDevDependency(projectRoot, packageName) {
22
19
  const fullPackageName = `${packageName}@${FND_PACKAGE_VERSION}`;
23
- logger_js_1.logger.info(`Adding ${fullPackageName} to devDependencies...`);
20
+ logger.info(`Adding ${fullPackageName} to devDependencies...`);
24
21
  try {
25
- (0, child_process_1.execSync)(`pnpm add -D -w ${fullPackageName}`, {
22
+ execSync(`pnpm add -D -w ${fullPackageName}`, {
26
23
  cwd: projectRoot,
27
24
  stdio: 'inherit',
28
25
  });
@@ -30,13 +27,13 @@ function addDevDependency(projectRoot, packageName) {
30
27
  catch {
31
28
  // If pnpm fails, try npm
32
29
  try {
33
- (0, child_process_1.execSync)(`npm install --save-dev ${fullPackageName}`, {
30
+ execSync(`npm install --save-dev ${fullPackageName}`, {
34
31
  cwd: projectRoot,
35
32
  stdio: 'inherit',
36
33
  });
37
34
  }
38
35
  catch {
39
- logger_js_1.logger.warn(`Could not automatically add ${packageName}. Please add it manually:`);
36
+ logger.warn(`Could not automatically add ${packageName}. Please add it manually:`);
40
37
  console.log(` pnpm add -D -w ${fullPackageName}`);
41
38
  }
42
39
  }
@@ -66,8 +63,8 @@ function addDevDependency(projectRoot, packageName) {
66
63
  * program.parse(['node', 'fnd', 'add', 'component-library', '--name=ui']);
67
64
  * ```
68
65
  */
69
- function addCommand() {
70
- const cmd = new commander_1.Command('add').description('Add a package to the project');
66
+ export function addCommand() {
67
+ const cmd = new Command('add').description('Add a package to the project');
71
68
  // Add api subcommand
72
69
  cmd
73
70
  .command('api')
@@ -124,43 +121,43 @@ function addCommand() {
124
121
  * @param options - Command options
125
122
  */
126
123
  async function addApiPackage(options) {
127
- const projectRoot = (0, project_js_1.requireProjectRoot)();
128
- const projenrcPath = (0, path_1.join)(projectRoot, '.projenrc.ts');
129
- logger_js_1.logger.info(`Adding API package '${options.name}' to project...`);
124
+ const projectRoot = requireProjectRoot();
125
+ const projenrcPath = join(projectRoot, '.projenrc.ts');
126
+ logger.info(`Adding API package '${options.name}' to project...`);
130
127
  try {
131
128
  // Read existing .projenrc.ts
132
- const existingContent = (0, fs_1.readFileSync)(projenrcPath, 'utf-8');
129
+ const existingContent = readFileSync(projenrcPath, 'utf-8');
133
130
  // Check if FndApiProject is already imported
134
131
  if (existingContent.includes('FndApiProject')) {
135
- logger_js_1.logger.warn('FndApiProject is already imported in .projenrc.ts');
136
- logger_js_1.logger.info('If you want to add another API package, manually add it to .projenrc.ts');
132
+ logger.warn('FndApiProject is already imported in .projenrc.ts');
133
+ logger.info('If you want to add another API package, manually add it to .projenrc.ts');
137
134
  return;
138
135
  }
139
136
  // Generate the new content
140
137
  const newContent = modifyProjenrc(existingContent, options);
141
138
  // Write updated .projenrc.ts
142
- (0, fs_1.writeFileSync)(projenrcPath, newContent);
143
- logger_js_1.logger.success(`API package '${options.name}' added to .projenrc.ts`);
139
+ writeFileSync(projenrcPath, newContent);
140
+ logger.success(`API package '${options.name}' added to .projenrc.ts`);
144
141
  // Add @fnd-platform/api to devDependencies
145
142
  addDevDependency(projectRoot, '@fnd-platform/api');
146
143
  // Extract project name from .projenrc.ts
147
144
  const projectName = extractProjectName(existingContent);
148
145
  // Generate infrastructure package
149
- (0, infra_generator_js_1.generateInfraPackage)({
146
+ generateInfraPackage({
150
147
  projectRoot,
151
148
  projectName,
152
149
  apiPackageName: options.name,
153
150
  });
154
- logger_js_1.logger.info('');
155
- logger_js_1.logger.info('Next steps:');
151
+ logger.info('');
152
+ logger.info('Next steps:');
156
153
  console.log(' 1. Run `fnd synth` to generate the package files');
157
154
  console.log(' 2. Run `pnpm install` to install dependencies');
158
155
  console.log(` 3. Start developing in packages/${options.name}/src/handlers/`);
159
156
  console.log(' 4. Deploy with `cd packages/infra && pnpm deploy --context stage=dev`');
160
- logger_js_1.logger.info('');
157
+ logger.info('');
161
158
  }
162
159
  catch (error) {
163
- logger_js_1.logger.error(`Failed to add API package: ${error.message}`);
160
+ logger.error(`Failed to add API package: ${error.message}`);
164
161
  process.exit(1);
165
162
  }
166
163
  }
@@ -262,56 +259,56 @@ function extractProjectName(content) {
262
259
  * @param options - Command options
263
260
  */
264
261
  async function addFrontendPackage(options) {
265
- const projectRoot = (0, project_js_1.requireProjectRoot)();
266
- const projenrcPath = (0, path_1.join)(projectRoot, '.projenrc.ts');
267
- logger_js_1.logger.info(`Adding frontend package '${options.name}' to project...`);
262
+ const projectRoot = requireProjectRoot();
263
+ const projenrcPath = join(projectRoot, '.projenrc.ts');
264
+ logger.info(`Adding frontend package '${options.name}' to project...`);
268
265
  try {
269
266
  // Read existing .projenrc.ts
270
- const existingContent = (0, fs_1.readFileSync)(projenrcPath, 'utf-8');
267
+ const existingContent = readFileSync(projenrcPath, 'utf-8');
271
268
  // Check if FndFrontendProject is already imported
272
269
  if (existingContent.includes('FndFrontendProject')) {
273
- logger_js_1.logger.warn('FndFrontendProject is already imported in .projenrc.ts');
274
- logger_js_1.logger.info('If you want to add another frontend package, manually add it to .projenrc.ts');
270
+ logger.warn('FndFrontendProject is already imported in .projenrc.ts');
271
+ logger.info('If you want to add another frontend package, manually add it to .projenrc.ts');
275
272
  return;
276
273
  }
277
274
  // Check if the API package exists in .projenrc.ts
278
275
  const apiVarPattern = new RegExp(`const\\s+${options.api}\\s*=\\s*new\\s+FndApiProject`);
279
276
  if (!apiVarPattern.test(existingContent)) {
280
- logger_js_1.logger.error(`API package '${options.api}' not found in .projenrc.ts`);
281
- logger_js_1.logger.info(`Make sure you have added the API package first: fnd add api --name=${options.api}`);
277
+ logger.error(`API package '${options.api}' not found in .projenrc.ts`);
278
+ logger.info(`Make sure you have added the API package first: fnd add api --name=${options.api}`);
282
279
  process.exit(1);
283
280
  }
284
281
  // Generate the new content
285
282
  const newContent = modifyProjenrcForFrontend(existingContent, options);
286
283
  // Write updated .projenrc.ts
287
- (0, fs_1.writeFileSync)(projenrcPath, newContent);
288
- logger_js_1.logger.success(`Frontend package '${options.name}' added to .projenrc.ts`);
284
+ writeFileSync(projenrcPath, newContent);
285
+ logger.success(`Frontend package '${options.name}' added to .projenrc.ts`);
289
286
  // Add @fnd-platform/frontend to devDependencies
290
287
  addDevDependency(projectRoot, '@fnd-platform/frontend');
291
288
  // Extract project name for infrastructure generation
292
289
  const projectName = extractProjectName(existingContent);
293
290
  // Generate frontend infrastructure stack
294
291
  try {
295
- await (0, infra_generator_js_1.generateFrontendStack)({
292
+ await generateFrontendStack({
296
293
  projectPath: projectRoot,
297
294
  projectName,
298
295
  apiName: options.api,
299
296
  });
300
297
  }
301
298
  catch (infraError) {
302
- logger_js_1.logger.warn(`Could not generate frontend infrastructure: ${infraError.message}`);
303
- logger_js_1.logger.info('You may need to manually add the frontend stack to packages/infra');
299
+ logger.warn(`Could not generate frontend infrastructure: ${infraError.message}`);
300
+ logger.info('You may need to manually add the frontend stack to packages/infra');
304
301
  }
305
- logger_js_1.logger.info('');
306
- logger_js_1.logger.info('Next steps:');
302
+ logger.info('');
303
+ logger.info('Next steps:');
307
304
  console.log(' 1. Run `fnd synth` to generate the package files');
308
305
  console.log(' 2. Run `pnpm install` to install dependencies');
309
306
  console.log(` 3. Start developing in packages/${options.name}/app/routes/`);
310
307
  console.log(` 4. Run dev server with \`cd packages/${options.name} && pnpm dev\``);
311
- logger_js_1.logger.info('');
308
+ logger.info('');
312
309
  }
313
310
  catch (error) {
314
- logger_js_1.logger.error(`Failed to add frontend package: ${error.message}`);
311
+ logger.error(`Failed to add frontend package: ${error.message}`);
315
312
  process.exit(1);
316
313
  }
317
314
  }
@@ -388,56 +385,56 @@ function generateFrontendProjectCode(parentVar, options) {
388
385
  * @param options - Command options
389
386
  */
390
387
  async function addCmsPackage(options) {
391
- const projectRoot = (0, project_js_1.requireProjectRoot)();
392
- const projenrcPath = (0, path_1.join)(projectRoot, '.projenrc.ts');
393
- logger_js_1.logger.info(`Adding CMS package '${options.name}' to project...`);
388
+ const projectRoot = requireProjectRoot();
389
+ const projenrcPath = join(projectRoot, '.projenrc.ts');
390
+ logger.info(`Adding CMS package '${options.name}' to project...`);
394
391
  try {
395
392
  // Read existing .projenrc.ts
396
- const existingContent = (0, fs_1.readFileSync)(projenrcPath, 'utf-8');
393
+ const existingContent = readFileSync(projenrcPath, 'utf-8');
397
394
  // Check if FndCmsProject is already imported
398
395
  if (existingContent.includes('FndCmsProject')) {
399
- logger_js_1.logger.warn('FndCmsProject is already imported in .projenrc.ts');
400
- logger_js_1.logger.info('If you want to add another CMS package, manually add it to .projenrc.ts');
396
+ logger.warn('FndCmsProject is already imported in .projenrc.ts');
397
+ logger.info('If you want to add another CMS package, manually add it to .projenrc.ts');
401
398
  return;
402
399
  }
403
400
  // Check if the API package exists in .projenrc.ts
404
401
  const apiVarPattern = new RegExp(`const\\s+${options.api}\\s*=\\s*new\\s+FndApiProject`);
405
402
  if (!apiVarPattern.test(existingContent)) {
406
- logger_js_1.logger.error(`API package '${options.api}' not found in .projenrc.ts`);
407
- logger_js_1.logger.info(`Make sure you have added the API package first: fnd add api --name=${options.api}`);
403
+ logger.error(`API package '${options.api}' not found in .projenrc.ts`);
404
+ logger.info(`Make sure you have added the API package first: fnd add api --name=${options.api}`);
408
405
  process.exit(1);
409
406
  }
410
407
  // Generate the new content
411
408
  const newContent = modifyProjenrcForCms(existingContent, options);
412
409
  // Write updated .projenrc.ts
413
- (0, fs_1.writeFileSync)(projenrcPath, newContent);
414
- logger_js_1.logger.success(`CMS package '${options.name}' added to .projenrc.ts`);
410
+ writeFileSync(projenrcPath, newContent);
411
+ logger.success(`CMS package '${options.name}' added to .projenrc.ts`);
415
412
  // Add @fnd-platform/cms to devDependencies
416
413
  addDevDependency(projectRoot, '@fnd-platform/cms');
417
414
  // Extract project name for infrastructure generation
418
415
  const projectName = extractProjectName(existingContent);
419
416
  // Generate CMS infrastructure stack
420
417
  try {
421
- await (0, infra_generator_js_1.generateCmsStack)({
418
+ await generateCmsStack({
422
419
  projectPath: projectRoot,
423
420
  projectName,
424
421
  apiName: options.api,
425
422
  });
426
423
  }
427
424
  catch (infraError) {
428
- logger_js_1.logger.warn(`Could not generate CMS infrastructure: ${infraError.message}`);
429
- logger_js_1.logger.info('You may need to manually add the CMS stack to packages/infra');
425
+ logger.warn(`Could not generate CMS infrastructure: ${infraError.message}`);
426
+ logger.info('You may need to manually add the CMS stack to packages/infra');
430
427
  }
431
- logger_js_1.logger.info('');
432
- logger_js_1.logger.info('Next steps:');
428
+ logger.info('');
429
+ logger.info('Next steps:');
433
430
  console.log(' 1. Run `fnd synth` to generate the package files');
434
431
  console.log(' 2. Run `pnpm install` to install dependencies');
435
432
  console.log(` 3. Start developing in packages/${options.name}/app/routes/`);
436
433
  console.log(` 4. Run dev server with \`cd packages/${options.name} && pnpm dev\``);
437
- logger_js_1.logger.info('');
434
+ logger.info('');
438
435
  }
439
436
  catch (error) {
440
- logger_js_1.logger.error(`Failed to add CMS package: ${error.message}`);
437
+ logger.error(`Failed to add CMS package: ${error.message}`);
441
438
  process.exit(1);
442
439
  }
443
440
  }
@@ -516,35 +513,35 @@ function generateCmsProjectCode(parentVar, options) {
516
513
  * @param options - Command options
517
514
  */
518
515
  async function addComponentLibraryPackage(options) {
519
- const projectRoot = (0, project_js_1.requireProjectRoot)();
520
- const projenrcPath = (0, path_1.join)(projectRoot, '.projenrc.ts');
521
- logger_js_1.logger.info(`Adding component library package '${options.name}' to project...`);
516
+ const projectRoot = requireProjectRoot();
517
+ const projenrcPath = join(projectRoot, '.projenrc.ts');
518
+ logger.info(`Adding component library package '${options.name}' to project...`);
522
519
  try {
523
520
  // Read existing .projenrc.ts
524
- const existingContent = (0, fs_1.readFileSync)(projenrcPath, 'utf-8');
521
+ const existingContent = readFileSync(projenrcPath, 'utf-8');
525
522
  // Check if FndComponentLibraryProject is already imported
526
523
  if (existingContent.includes('FndComponentLibraryProject')) {
527
- logger_js_1.logger.warn('FndComponentLibraryProject is already imported in .projenrc.ts');
528
- logger_js_1.logger.info('If you want to add another component library package, manually add it to .projenrc.ts');
524
+ logger.warn('FndComponentLibraryProject is already imported in .projenrc.ts');
525
+ logger.info('If you want to add another component library package, manually add it to .projenrc.ts');
529
526
  return;
530
527
  }
531
528
  // Generate the new content
532
529
  const newContent = modifyProjenrcForComponentLibrary(existingContent, options);
533
530
  // Write updated .projenrc.ts
534
- (0, fs_1.writeFileSync)(projenrcPath, newContent);
535
- logger_js_1.logger.success(`Component library package '${options.name}' added to .projenrc.ts`);
531
+ writeFileSync(projenrcPath, newContent);
532
+ logger.success(`Component library package '${options.name}' added to .projenrc.ts`);
536
533
  // Add @fnd-platform/component-library to devDependencies
537
534
  addDevDependency(projectRoot, '@fnd-platform/component-library');
538
- logger_js_1.logger.info('');
539
- logger_js_1.logger.info('Next steps:');
535
+ logger.info('');
536
+ logger.info('Next steps:');
540
537
  console.log(' 1. Run `fnd synth` to generate the package files');
541
538
  console.log(' 2. Run `pnpm install` to install dependencies');
542
539
  console.log(` 3. Start Storybook with \`cd packages/${options.name} && pnpm storybook\``);
543
540
  console.log(` 4. Add components in packages/${options.name}/src/components/`);
544
- logger_js_1.logger.info('');
541
+ logger.info('');
545
542
  }
546
543
  catch (error) {
547
- logger_js_1.logger.error(`Failed to add component library package: ${error.message}`);
544
+ logger.error(`Failed to add component library package: ${error.message}`);
548
545
  process.exit(1);
549
546
  }
550
547
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildCommand = buildCommand;
4
- exports.runBuild = runBuild;
5
- exports.buildNxArgs = buildNxArgs;
6
- const commander_1 = require("commander");
7
- const child_process_1 = require("child_process");
8
- const project_js_1 = require("../lib/project.js");
9
- const logger_js_1 = require("../lib/logger.js");
10
- const timer_js_1 = require("../lib/timer.js");
11
- const nx_stats_js_1 = require("../lib/nx-stats.js");
1
+ import { Command } from 'commander';
2
+ import { execSync } from 'child_process';
3
+ import { requireProjectRoot } from '../lib/project.js';
4
+ import { logger } from '../lib/logger.js';
5
+ import { PerformanceTimer } from '../lib/timer.js';
6
+ import { parseNxOutput } from '../lib/nx-stats.js';
12
7
  /**
13
8
  * Creates the `fnd build` command.
14
9
  *
@@ -23,8 +18,8 @@ const nx_stats_js_1 = require("../lib/nx-stats.js");
23
18
  * program.parse(['node', 'fnd', 'build']);
24
19
  * ```
25
20
  */
26
- function buildCommand() {
27
- return new commander_1.Command('build')
21
+ export function buildCommand() {
22
+ return new Command('build')
28
23
  .description('Build all packages using NX')
29
24
  .option('--skip-cache', 'Skip NX cache')
30
25
  .option('--parallel <n>', 'Number of parallel tasks')
@@ -50,69 +45,69 @@ function buildCommand() {
50
45
  * await runBuild({ parallel: '4' });
51
46
  * ```
52
47
  */
53
- async function runBuild(options) {
48
+ export async function runBuild(options) {
54
49
  // Initialize profiling if enabled
55
- const timer = timer_js_1.PerformanceTimer.isEnabled() ? new timer_js_1.PerformanceTimer('fnd build') : null;
50
+ const timer = PerformanceTimer.isEnabled() ? new PerformanceTimer('fnd build') : null;
56
51
  let projectRoot;
57
52
  timer?.start('project-detection');
58
53
  try {
59
- projectRoot = (0, project_js_1.requireProjectRoot)();
54
+ projectRoot = requireProjectRoot();
60
55
  }
61
56
  catch (error) {
62
57
  if (timer) {
63
58
  timer.end('project-detection');
64
- logger_js_1.logger.report(timer.getReport(false));
59
+ logger.report(timer.getReport(false));
65
60
  }
66
- logger_js_1.logger.error(error.message);
61
+ logger.error(error.message);
67
62
  process.exit(1);
68
63
  }
69
64
  const detectResult = timer?.end('project-detection');
70
65
  if (detectResult) {
71
- logger_js_1.logger.timing('project-detection', detectResult.durationMs);
66
+ logger.timing('project-detection', detectResult.durationMs);
72
67
  }
73
- logger_js_1.logger.info('Building packages...');
74
- logger_js_1.logger.debug(`Project root: ${projectRoot}`);
68
+ logger.info('Building packages...');
69
+ logger.debug(`Project root: ${projectRoot}`);
75
70
  // Build the NX command arguments
76
71
  const args = buildNxArgs(options);
77
72
  const command = args.join(' ');
78
- logger_js_1.logger.debug(`Running: ${command}`);
73
+ logger.debug(`Running: ${command}`);
79
74
  timer?.start('nx-build');
80
75
  try {
81
76
  if (timer) {
82
77
  // Capture output for cache statistics when profiling is enabled
83
- const output = (0, child_process_1.execSync)(command, {
78
+ const output = execSync(command, {
84
79
  cwd: projectRoot,
85
80
  stdio: 'pipe',
86
81
  encoding: 'utf-8',
87
82
  });
88
83
  const buildResult = timer.end('nx-build');
89
- logger_js_1.logger.timing('nx-build', buildResult.durationMs);
84
+ logger.timing('nx-build', buildResult.durationMs);
90
85
  // Print output since we captured it
91
86
  console.log(output);
92
87
  // Parse and display NX cache statistics
93
- const stats = (0, nx_stats_js_1.parseNxOutput)(output);
88
+ const stats = parseNxOutput(output);
94
89
  if (stats) {
95
- logger_js_1.logger.cacheStats(stats);
90
+ logger.cacheStats(stats);
96
91
  }
97
- logger_js_1.logger.success('Build complete');
98
- logger_js_1.logger.report(timer.getReport(true));
92
+ logger.success('Build complete');
93
+ logger.report(timer.getReport(true));
99
94
  }
100
95
  else {
101
96
  // Normal execution without profiling
102
- (0, child_process_1.execSync)(command, {
97
+ execSync(command, {
103
98
  cwd: projectRoot,
104
99
  stdio: 'inherit',
105
100
  });
106
- logger_js_1.logger.success('Build complete');
101
+ logger.success('Build complete');
107
102
  }
108
103
  }
109
104
  catch (error) {
110
105
  if (timer) {
111
106
  timer.end('nx-build');
112
- logger_js_1.logger.report(timer.getReport(false));
107
+ logger.report(timer.getReport(false));
113
108
  }
114
- logger_js_1.logger.error('Build failed');
115
- logger_js_1.logger.debug(`Error: ${error.message}`);
109
+ logger.error('Build failed');
110
+ logger.debug(`Error: ${error.message}`);
116
111
  process.exit(1);
117
112
  }
118
113
  }
@@ -133,7 +128,7 @@ async function runBuild(options) {
133
128
  * // Returns: ['npx', 'nx', 'run', 'api:build', '--skip-nx-cache']
134
129
  * ```
135
130
  */
136
- function buildNxArgs(options) {
131
+ export function buildNxArgs(options) {
137
132
  // If building a specific package
138
133
  if (options.package) {
139
134
  const args = ['npx', 'nx', 'run', `${options.package}:build`];