@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.
- package/lib/bin/fnd.js +101 -4
- package/lib/bin/fnd.js.map +1 -1
- package/lib/commands/add.js +72 -75
- package/lib/commands/add.js.map +1 -1
- package/lib/commands/build.js +29 -34
- package/lib/commands/build.js.map +1 -1
- package/lib/commands/deploy.d.ts +13 -5
- package/lib/commands/deploy.d.ts.map +1 -1
- package/lib/commands/deploy.js +94 -75
- package/lib/commands/deploy.js.map +1 -1
- package/lib/commands/destroy.js +33 -38
- package/lib/commands/destroy.js.map +1 -1
- package/lib/commands/index.d.ts +1 -0
- package/lib/commands/index.d.ts.map +1 -1
- package/lib/commands/index.js +7 -15
- package/lib/commands/index.js.map +1 -1
- package/lib/commands/new.js +46 -50
- package/lib/commands/new.js.map +1 -1
- package/lib/commands/synth.d.ts +8 -1
- package/lib/commands/synth.d.ts.map +1 -1
- package/lib/commands/synth.js +82 -22
- package/lib/commands/synth.js.map +1 -1
- package/lib/commands/test.d.ts +73 -0
- package/lib/commands/test.d.ts.map +1 -0
- package/lib/commands/test.js +193 -0
- package/lib/commands/test.js.map +1 -0
- package/lib/index.d.ts +11 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +29 -18
- package/lib/index.js.map +1 -1
- package/lib/lib/deploy-utils.d.ts.map +1 -1
- package/lib/lib/deploy-utils.js +73 -72
- package/lib/lib/deploy-utils.js.map +1 -1
- package/lib/lib/infra-generator.js +55 -63
- package/lib/lib/infra-generator.js.map +1 -1
- package/lib/lib/logger.js +23 -29
- package/lib/lib/logger.js.map +1 -1
- package/lib/lib/nx-stats.js +12 -18
- package/lib/lib/nx-stats.js.map +1 -1
- package/lib/lib/project.js +7 -11
- package/lib/lib/project.js.map +1 -1
- package/lib/lib/templates.js +2 -6
- package/lib/lib/templates.js.map +1 -1
- package/lib/lib/timer.js +2 -7
- package/lib/lib/timer.js.map +1 -1
- package/lib/lib/validation.d.ts +135 -0
- package/lib/lib/validation.d.ts.map +1 -0
- package/lib/lib/validation.js +233 -0
- package/lib/lib/validation.js.map +1 -0
- package/lib/tui/App.d.ts +11 -0
- package/lib/tui/App.d.ts.map +1 -0
- package/lib/tui/App.js +98 -0
- package/lib/tui/App.js.map +1 -0
- package/lib/tui/components/branding/AsciiBanner.d.ts +21 -0
- package/lib/tui/components/branding/AsciiBanner.d.ts.map +1 -0
- package/lib/tui/components/branding/AsciiBanner.js +15 -0
- package/lib/tui/components/branding/AsciiBanner.js.map +1 -0
- package/lib/tui/components/branding/index.d.ts +5 -0
- package/lib/tui/components/branding/index.d.ts.map +1 -0
- package/lib/tui/components/branding/index.js +5 -0
- package/lib/tui/components/branding/index.js.map +1 -0
- package/lib/tui/components/feedback/Notification.d.ts +51 -0
- package/lib/tui/components/feedback/Notification.d.ts.map +1 -0
- package/lib/tui/components/feedback/Notification.js +89 -0
- package/lib/tui/components/feedback/Notification.js.map +1 -0
- package/lib/tui/components/feedback/ProgressBar.d.ts +46 -0
- package/lib/tui/components/feedback/ProgressBar.d.ts.map +1 -0
- package/lib/tui/components/feedback/ProgressBar.js +30 -0
- package/lib/tui/components/feedback/ProgressBar.js.map +1 -0
- package/lib/tui/components/feedback/ProgressSteps.d.ts +35 -0
- package/lib/tui/components/feedback/ProgressSteps.d.ts.map +1 -0
- package/lib/tui/components/feedback/ProgressSteps.js +37 -0
- package/lib/tui/components/feedback/ProgressSteps.js.map +1 -0
- package/lib/tui/components/feedback/Spinner.d.ts +18 -0
- package/lib/tui/components/feedback/Spinner.d.ts.map +1 -0
- package/lib/tui/components/feedback/Spinner.js +28 -0
- package/lib/tui/components/feedback/Spinner.js.map +1 -0
- package/lib/tui/components/feedback/index.d.ts +8 -0
- package/lib/tui/components/feedback/index.d.ts.map +1 -0
- package/lib/tui/components/feedback/index.js +8 -0
- package/lib/tui/components/feedback/index.js.map +1 -0
- package/lib/tui/components/index.d.ts +8 -0
- package/lib/tui/components/index.d.ts.map +1 -0
- package/lib/tui/components/index.js +8 -0
- package/lib/tui/components/index.js.map +1 -0
- package/lib/tui/components/input/Checkbox.d.ts +26 -0
- package/lib/tui/components/input/Checkbox.d.ts.map +1 -0
- package/lib/tui/components/input/Checkbox.js +20 -0
- package/lib/tui/components/input/Checkbox.js.map +1 -0
- package/lib/tui/components/input/SelectInput.d.ts +41 -0
- package/lib/tui/components/input/SelectInput.d.ts.map +1 -0
- package/lib/tui/components/input/SelectInput.js +53 -0
- package/lib/tui/components/input/SelectInput.js.map +1 -0
- package/lib/tui/components/input/TextInput.d.ts +30 -0
- package/lib/tui/components/input/TextInput.d.ts.map +1 -0
- package/lib/tui/components/input/TextInput.js +48 -0
- package/lib/tui/components/input/TextInput.js.map +1 -0
- package/lib/tui/components/input/index.d.ts +7 -0
- package/lib/tui/components/input/index.d.ts.map +1 -0
- package/lib/tui/components/input/index.js +7 -0
- package/lib/tui/components/input/index.js.map +1 -0
- package/lib/tui/components/layout/Breadcrumbs.d.ts +11 -0
- package/lib/tui/components/layout/Breadcrumbs.d.ts.map +1 -0
- package/lib/tui/components/layout/Breadcrumbs.js +34 -0
- package/lib/tui/components/layout/Breadcrumbs.js.map +1 -0
- package/lib/tui/components/layout/Footer.d.ts +11 -0
- package/lib/tui/components/layout/Footer.d.ts.map +1 -0
- package/lib/tui/components/layout/Footer.js +20 -0
- package/lib/tui/components/layout/Footer.js.map +1 -0
- package/lib/tui/components/layout/Header.d.ts +21 -0
- package/lib/tui/components/layout/Header.d.ts.map +1 -0
- package/lib/tui/components/layout/Header.js +21 -0
- package/lib/tui/components/layout/Header.js.map +1 -0
- package/lib/tui/components/layout/Screen.d.ts +27 -0
- package/lib/tui/components/layout/Screen.d.ts.map +1 -0
- package/lib/tui/components/layout/Screen.js +11 -0
- package/lib/tui/components/layout/Screen.js.map +1 -0
- package/lib/tui/components/layout/index.d.ts +8 -0
- package/lib/tui/components/layout/index.d.ts.map +1 -0
- package/lib/tui/components/layout/index.js +8 -0
- package/lib/tui/components/layout/index.js.map +1 -0
- package/lib/tui/hooks/index.d.ts +20 -0
- package/lib/tui/hooks/index.d.ts.map +1 -0
- package/lib/tui/hooks/index.js +18 -0
- package/lib/tui/hooks/index.js.map +1 -0
- package/lib/tui/hooks/useAddPackage.d.ts +120 -0
- package/lib/tui/hooks/useAddPackage.d.ts.map +1 -0
- package/lib/tui/hooks/useAddPackage.js +344 -0
- package/lib/tui/hooks/useAddPackage.js.map +1 -0
- package/lib/tui/hooks/useCreateProject.d.ts +66 -0
- package/lib/tui/hooks/useCreateProject.d.ts.map +1 -0
- package/lib/tui/hooks/useCreateProject.js +156 -0
- package/lib/tui/hooks/useCreateProject.js.map +1 -0
- package/lib/tui/hooks/useDeploy.d.ts +93 -0
- package/lib/tui/hooks/useDeploy.d.ts.map +1 -0
- package/lib/tui/hooks/useDeploy.js +252 -0
- package/lib/tui/hooks/useDeploy.js.map +1 -0
- package/lib/tui/hooks/useKeyboard.d.ts +66 -0
- package/lib/tui/hooks/useKeyboard.d.ts.map +1 -0
- package/lib/tui/hooks/useKeyboard.js +101 -0
- package/lib/tui/hooks/useKeyboard.js.map +1 -0
- package/lib/tui/hooks/useNavigation.d.ts +33 -0
- package/lib/tui/hooks/useNavigation.d.ts.map +1 -0
- package/lib/tui/hooks/useNavigation.js +27 -0
- package/lib/tui/hooks/useNavigation.js.map +1 -0
- package/lib/tui/hooks/useProject.d.ts +36 -0
- package/lib/tui/hooks/useProject.d.ts.map +1 -0
- package/lib/tui/hooks/useProject.js +47 -0
- package/lib/tui/hooks/useProject.js.map +1 -0
- package/lib/tui/index.d.ts +15 -0
- package/lib/tui/index.d.ts.map +1 -0
- package/lib/tui/index.js +16 -0
- package/lib/tui/index.js.map +1 -0
- package/lib/tui/lib/add-package-tui.d.ts +127 -0
- package/lib/tui/lib/add-package-tui.d.ts.map +1 -0
- package/lib/tui/lib/add-package-tui.js +467 -0
- package/lib/tui/lib/add-package-tui.js.map +1 -0
- package/lib/tui/lib/create-project-tui.d.ts +92 -0
- package/lib/tui/lib/create-project-tui.d.ts.map +1 -0
- package/lib/tui/lib/create-project-tui.js +181 -0
- package/lib/tui/lib/create-project-tui.js.map +1 -0
- package/lib/tui/lib/deploy-tui.d.ts +131 -0
- package/lib/tui/lib/deploy-tui.d.ts.map +1 -0
- package/lib/tui/lib/deploy-tui.js +347 -0
- package/lib/tui/lib/deploy-tui.js.map +1 -0
- package/lib/tui/screens/AddPackageScreen.d.ts +12 -0
- package/lib/tui/screens/AddPackageScreen.d.ts.map +1 -0
- package/lib/tui/screens/AddPackageScreen.js +436 -0
- package/lib/tui/screens/AddPackageScreen.js.map +1 -0
- package/lib/tui/screens/CreateProjectScreen.d.ts +12 -0
- package/lib/tui/screens/CreateProjectScreen.d.ts.map +1 -0
- package/lib/tui/screens/CreateProjectScreen.js +253 -0
- package/lib/tui/screens/CreateProjectScreen.js.map +1 -0
- package/lib/tui/screens/DeployScreen.d.ts +11 -0
- package/lib/tui/screens/DeployScreen.d.ts.map +1 -0
- package/lib/tui/screens/DeployScreen.js +224 -0
- package/lib/tui/screens/DeployScreen.js.map +1 -0
- package/lib/tui/screens/ProjectDashboard.d.ts +11 -0
- package/lib/tui/screens/ProjectDashboard.d.ts.map +1 -0
- package/lib/tui/screens/ProjectDashboard.js +42 -0
- package/lib/tui/screens/ProjectDashboard.js.map +1 -0
- package/lib/tui/screens/WelcomeScreen.d.ts +11 -0
- package/lib/tui/screens/WelcomeScreen.d.ts.map +1 -0
- package/lib/tui/screens/WelcomeScreen.js +26 -0
- package/lib/tui/screens/WelcomeScreen.js.map +1 -0
- package/lib/tui/screens/index.d.ts +9 -0
- package/lib/tui/screens/index.d.ts.map +1 -0
- package/lib/tui/screens/index.js +9 -0
- package/lib/tui/screens/index.js.map +1 -0
- package/lib/tui/services/ConfigService.d.ts +133 -0
- package/lib/tui/services/ConfigService.d.ts.map +1 -0
- package/lib/tui/services/ConfigService.js +221 -0
- package/lib/tui/services/ConfigService.js.map +1 -0
- package/lib/tui/services/ProjectService.d.ts +55 -0
- package/lib/tui/services/ProjectService.d.ts.map +1 -0
- package/lib/tui/services/ProjectService.js +179 -0
- package/lib/tui/services/ProjectService.js.map +1 -0
- package/lib/tui/services/index.d.ts +6 -0
- package/lib/tui/services/index.d.ts.map +1 -0
- package/lib/tui/services/index.js +6 -0
- package/lib/tui/services/index.js.map +1 -0
- package/lib/tui/state/AppContext.d.ts +58 -0
- package/lib/tui/state/AppContext.d.ts.map +1 -0
- package/lib/tui/state/AppContext.js +75 -0
- package/lib/tui/state/AppContext.js.map +1 -0
- package/lib/tui/state/index.d.ts +7 -0
- package/lib/tui/state/index.d.ts.map +1 -0
- package/lib/tui/state/index.js +7 -0
- package/lib/tui/state/index.js.map +1 -0
- package/lib/tui/state/reducer.d.ts +13 -0
- package/lib/tui/state/reducer.d.ts.map +1 -0
- package/lib/tui/state/reducer.js +136 -0
- package/lib/tui/state/reducer.js.map +1 -0
- package/lib/tui/state/types.d.ts +132 -0
- package/lib/tui/state/types.d.ts.map +1 -0
- package/lib/tui/state/types.js +38 -0
- package/lib/tui/state/types.js.map +1 -0
- package/lib/tui/utils/ascii.d.ts +42 -0
- package/lib/tui/utils/ascii.d.ts.map +1 -0
- package/lib/tui/utils/ascii.js +63 -0
- package/lib/tui/utils/ascii.js.map +1 -0
- package/lib/tui/utils/colors.d.ts +65 -0
- package/lib/tui/utils/colors.d.ts.map +1 -0
- package/lib/tui/utils/colors.js +65 -0
- package/lib/tui/utils/colors.js.map +1 -0
- package/lib/tui/utils/index.d.ts +6 -0
- package/lib/tui/utils/index.d.ts.map +1 -0
- package/lib/tui/utils/index.js +6 -0
- package/lib/tui/utils/index.js.map +1 -0
- package/package.json +12 -3
package/lib/bin/fnd.js
CHANGED
|
@@ -1,8 +1,105 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
});
|
package/lib/bin/fnd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fnd.js","sourceRoot":"","sources":["../../src/bin/fnd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fnd.js","sourceRoot":"","sources":["../../src/bin/fnd.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/add.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
20
|
+
logger.info(`Adding ${fullPackageName} to devDependencies...`);
|
|
24
21
|
try {
|
|
25
|
-
|
|
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
|
-
|
|
30
|
+
execSync(`npm install --save-dev ${fullPackageName}`, {
|
|
34
31
|
cwd: projectRoot,
|
|
35
32
|
stdio: 'inherit',
|
|
36
33
|
});
|
|
37
34
|
}
|
|
38
35
|
catch {
|
|
39
|
-
|
|
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
|
|
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 =
|
|
128
|
-
const projenrcPath =
|
|
129
|
-
|
|
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 =
|
|
129
|
+
const existingContent = readFileSync(projenrcPath, 'utf-8');
|
|
133
130
|
// Check if FndApiProject is already imported
|
|
134
131
|
if (existingContent.includes('FndApiProject')) {
|
|
135
|
-
|
|
136
|
-
|
|
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
|
-
|
|
143
|
-
|
|
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
|
-
|
|
146
|
+
generateInfraPackage({
|
|
150
147
|
projectRoot,
|
|
151
148
|
projectName,
|
|
152
149
|
apiPackageName: options.name,
|
|
153
150
|
});
|
|
154
|
-
|
|
155
|
-
|
|
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
|
-
|
|
157
|
+
logger.info('');
|
|
161
158
|
}
|
|
162
159
|
catch (error) {
|
|
163
|
-
|
|
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 =
|
|
266
|
-
const projenrcPath =
|
|
267
|
-
|
|
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 =
|
|
267
|
+
const existingContent = readFileSync(projenrcPath, 'utf-8');
|
|
271
268
|
// Check if FndFrontendProject is already imported
|
|
272
269
|
if (existingContent.includes('FndFrontendProject')) {
|
|
273
|
-
|
|
274
|
-
|
|
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
|
-
|
|
281
|
-
|
|
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
|
-
|
|
288
|
-
|
|
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
|
|
292
|
+
await generateFrontendStack({
|
|
296
293
|
projectPath: projectRoot,
|
|
297
294
|
projectName,
|
|
298
295
|
apiName: options.api,
|
|
299
296
|
});
|
|
300
297
|
}
|
|
301
298
|
catch (infraError) {
|
|
302
|
-
|
|
303
|
-
|
|
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
|
-
|
|
306
|
-
|
|
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
|
-
|
|
308
|
+
logger.info('');
|
|
312
309
|
}
|
|
313
310
|
catch (error) {
|
|
314
|
-
|
|
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 =
|
|
392
|
-
const projenrcPath =
|
|
393
|
-
|
|
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 =
|
|
393
|
+
const existingContent = readFileSync(projenrcPath, 'utf-8');
|
|
397
394
|
// Check if FndCmsProject is already imported
|
|
398
395
|
if (existingContent.includes('FndCmsProject')) {
|
|
399
|
-
|
|
400
|
-
|
|
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
|
-
|
|
407
|
-
|
|
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
|
-
|
|
414
|
-
|
|
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
|
|
418
|
+
await generateCmsStack({
|
|
422
419
|
projectPath: projectRoot,
|
|
423
420
|
projectName,
|
|
424
421
|
apiName: options.api,
|
|
425
422
|
});
|
|
426
423
|
}
|
|
427
424
|
catch (infraError) {
|
|
428
|
-
|
|
429
|
-
|
|
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
|
-
|
|
432
|
-
|
|
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
|
-
|
|
434
|
+
logger.info('');
|
|
438
435
|
}
|
|
439
436
|
catch (error) {
|
|
440
|
-
|
|
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 =
|
|
520
|
-
const projenrcPath =
|
|
521
|
-
|
|
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 =
|
|
521
|
+
const existingContent = readFileSync(projenrcPath, 'utf-8');
|
|
525
522
|
// Check if FndComponentLibraryProject is already imported
|
|
526
523
|
if (existingContent.includes('FndComponentLibraryProject')) {
|
|
527
|
-
|
|
528
|
-
|
|
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
|
-
|
|
535
|
-
|
|
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
|
-
|
|
539
|
-
|
|
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
|
-
|
|
541
|
+
logger.info('');
|
|
545
542
|
}
|
|
546
543
|
catch (error) {
|
|
547
|
-
|
|
544
|
+
logger.error(`Failed to add component library package: ${error.message}`);
|
|
548
545
|
process.exit(1);
|
|
549
546
|
}
|
|
550
547
|
}
|
package/lib/commands/add.js.map
CHANGED
|
@@ -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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"}
|
package/lib/commands/build.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
|
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 =
|
|
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 =
|
|
54
|
+
projectRoot = requireProjectRoot();
|
|
60
55
|
}
|
|
61
56
|
catch (error) {
|
|
62
57
|
if (timer) {
|
|
63
58
|
timer.end('project-detection');
|
|
64
|
-
|
|
59
|
+
logger.report(timer.getReport(false));
|
|
65
60
|
}
|
|
66
|
-
|
|
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
|
-
|
|
66
|
+
logger.timing('project-detection', detectResult.durationMs);
|
|
72
67
|
}
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
88
|
+
const stats = parseNxOutput(output);
|
|
94
89
|
if (stats) {
|
|
95
|
-
|
|
90
|
+
logger.cacheStats(stats);
|
|
96
91
|
}
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
logger.success('Build complete');
|
|
93
|
+
logger.report(timer.getReport(true));
|
|
99
94
|
}
|
|
100
95
|
else {
|
|
101
96
|
// Normal execution without profiling
|
|
102
|
-
|
|
97
|
+
execSync(command, {
|
|
103
98
|
cwd: projectRoot,
|
|
104
99
|
stdio: 'inherit',
|
|
105
100
|
});
|
|
106
|
-
|
|
101
|
+
logger.success('Build complete');
|
|
107
102
|
}
|
|
108
103
|
}
|
|
109
104
|
catch (error) {
|
|
110
105
|
if (timer) {
|
|
111
106
|
timer.end('nx-build');
|
|
112
|
-
|
|
107
|
+
logger.report(timer.getReport(false));
|
|
113
108
|
}
|
|
114
|
-
|
|
115
|
-
|
|
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`];
|