@fnd-platform/cli 1.0.0-alpha.23 → 1.0.0-alpha.25
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 +347 -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 +84 -0
- package/lib/tui/lib/create-project-tui.d.ts.map +1 -0
- package/lib/tui/lib/create-project-tui.js +141 -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 +252 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/deploy.d.ts
CHANGED
|
@@ -65,20 +65,28 @@ export declare function deployCommand(): Command;
|
|
|
65
65
|
*/
|
|
66
66
|
export declare function runDeploy(options: DeployCommandOptions): Promise<void>;
|
|
67
67
|
/**
|
|
68
|
-
* Builds the CDK synth command.
|
|
68
|
+
* Builds the CDK synth command arguments array.
|
|
69
69
|
*
|
|
70
70
|
* @param stage - Deployment stage
|
|
71
71
|
* @param stack - Optional specific stack to synth
|
|
72
|
-
* @returns
|
|
72
|
+
* @returns Arguments array for execFileSync
|
|
73
73
|
*/
|
|
74
|
-
export declare function
|
|
74
|
+
export declare function buildCdkSynthArgs(stage: string, stack?: string): string[];
|
|
75
75
|
/**
|
|
76
|
-
* Builds the CDK deploy command.
|
|
76
|
+
* Builds the CDK deploy command arguments array.
|
|
77
77
|
*
|
|
78
78
|
* @param stage - Deployment stage
|
|
79
79
|
* @param requireApproval - Approval mode
|
|
80
80
|
* @param stack - Optional specific stack to deploy
|
|
81
|
-
* @returns
|
|
81
|
+
* @returns Arguments array for execFileSync
|
|
82
|
+
*/
|
|
83
|
+
export declare function buildCdkDeployArgs(stage: string, requireApproval?: 'never' | 'any-change' | 'broadening', stack?: string): string[];
|
|
84
|
+
/**
|
|
85
|
+
* @deprecated Use buildCdkSynthArgs instead
|
|
86
|
+
*/
|
|
87
|
+
export declare function buildCdkSynthCommand(stage: string, stack?: string): string;
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated Use buildCdkDeployArgs instead
|
|
82
90
|
*/
|
|
83
91
|
export declare function buildCdkDeployCommand(stage: string, requireApproval?: 'never' | 'any-change' | 'broadening', stack?: string): string;
|
|
84
92
|
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAiBvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiD5E;AAyOD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBzE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,EACvD,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,EAAE,CAsBV;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,EACvD,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAGR"}
|
package/lib/commands/deploy.js
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const fs_1 = require("fs");
|
|
10
|
-
const path_1 = require("path");
|
|
11
|
-
const project_js_1 = require("../lib/project.js");
|
|
12
|
-
const logger_js_1 = require("../lib/logger.js");
|
|
13
|
-
const deploy_utils_js_1 = require("../lib/deploy-utils.js");
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { execFileSync } from 'child_process';
|
|
3
|
+
import { existsSync } from 'fs';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { requireProjectRoot } from '../lib/project.js';
|
|
6
|
+
import { logger } from '../lib/logger.js';
|
|
7
|
+
import { validateAwsCli, getProjectName, getStackOutputs, hasPackage, findBuildDirectory, buildPackage, syncToS3, invalidateCloudFront, } from '../lib/deploy-utils.js';
|
|
8
|
+
import { validateStageName, validateStackName } from '../lib/validation.js';
|
|
14
9
|
/**
|
|
15
10
|
* Creates the `fnd deploy` command.
|
|
16
11
|
*
|
|
@@ -36,8 +31,8 @@ const deploy_utils_js_1 = require("../lib/deploy-utils.js");
|
|
|
36
31
|
* program.parse(['node', 'fnd', 'deploy', '--stage=dev', '--skip-assets']);
|
|
37
32
|
* ```
|
|
38
33
|
*/
|
|
39
|
-
function deployCommand() {
|
|
40
|
-
return new
|
|
34
|
+
export function deployCommand() {
|
|
35
|
+
return new Command('deploy')
|
|
41
36
|
.description('Deploy infrastructure and assets to AWS')
|
|
42
37
|
.requiredOption('--stage <stage>', 'Deployment stage (e.g., dev, staging, prod)')
|
|
43
38
|
.option('--dry-run', 'Run CDK synth only without deploying')
|
|
@@ -76,40 +71,40 @@ function deployCommand() {
|
|
|
76
71
|
* await runDeploy({ stage: 'dev', skipAssets: true });
|
|
77
72
|
* ```
|
|
78
73
|
*/
|
|
79
|
-
async function runDeploy(options) {
|
|
74
|
+
export async function runDeploy(options) {
|
|
80
75
|
let projectRoot;
|
|
81
76
|
try {
|
|
82
|
-
projectRoot =
|
|
77
|
+
projectRoot = requireProjectRoot();
|
|
83
78
|
}
|
|
84
79
|
catch (error) {
|
|
85
|
-
|
|
80
|
+
logger.error(error.message);
|
|
86
81
|
process.exit(1);
|
|
87
82
|
}
|
|
88
83
|
// Validate infra package exists
|
|
89
|
-
const infraDir =
|
|
90
|
-
if (!
|
|
91
|
-
|
|
84
|
+
const infraDir = join(projectRoot, 'packages', 'infra');
|
|
85
|
+
if (!existsSync(infraDir)) {
|
|
86
|
+
logger.error('Infrastructure package not found at packages/infra. ' +
|
|
92
87
|
'Make sure you have added an API package with `fnd add api`, ' +
|
|
93
88
|
'which generates the infrastructure package.');
|
|
94
89
|
process.exit(1);
|
|
95
90
|
}
|
|
96
91
|
// Validate AWS CLI
|
|
97
92
|
try {
|
|
98
|
-
|
|
93
|
+
validateAwsCli();
|
|
99
94
|
}
|
|
100
95
|
catch (error) {
|
|
101
|
-
|
|
96
|
+
logger.error(error.message);
|
|
102
97
|
process.exit(1);
|
|
103
98
|
}
|
|
104
99
|
const stage = options.stage;
|
|
105
100
|
const verbose = options.verbose ?? false;
|
|
106
101
|
if (options.dryRun) {
|
|
107
|
-
|
|
102
|
+
logger.info(`Synthesizing CloudFormation templates for stage: ${stage}`);
|
|
108
103
|
await runCdkSynth(infraDir, stage, options.stack);
|
|
109
104
|
return;
|
|
110
105
|
}
|
|
111
106
|
// Deploy CDK stacks
|
|
112
|
-
|
|
107
|
+
logger.info(`Deploying to stage: ${stage}`);
|
|
113
108
|
await runCdkDeploy(infraDir, stage, options.requireApproval, options.stack);
|
|
114
109
|
// Deploy assets (unless skipped or specific non-frontend/CMS stack requested)
|
|
115
110
|
if (!options.skipAssets && shouldDeployAssets(options.stack)) {
|
|
@@ -132,15 +127,15 @@ function shouldDeployAssets(stack) {
|
|
|
132
127
|
* Deploys frontend and CMS assets to S3.
|
|
133
128
|
*/
|
|
134
129
|
async function deployAssets(projectRoot, stage, skipBuild, verbose) {
|
|
135
|
-
|
|
130
|
+
logger.info('Deploying static assets...');
|
|
136
131
|
// Get stack outputs
|
|
137
|
-
const outputs =
|
|
132
|
+
const outputs = getStackOutputs(projectRoot, stage);
|
|
138
133
|
// Deploy frontend if exists
|
|
139
|
-
if (
|
|
134
|
+
if (hasPackage(projectRoot, 'frontend')) {
|
|
140
135
|
await deployFrontendAssets(projectRoot, stage, outputs, skipBuild, verbose);
|
|
141
136
|
}
|
|
142
137
|
// Deploy CMS if exists
|
|
143
|
-
if (
|
|
138
|
+
if (hasPackage(projectRoot, 'cms')) {
|
|
144
139
|
await deployCmsAssets(projectRoot, stage, outputs, skipBuild, verbose);
|
|
145
140
|
}
|
|
146
141
|
}
|
|
@@ -150,31 +145,31 @@ async function deployAssets(projectRoot, stage, skipBuild, verbose) {
|
|
|
150
145
|
* so there's no separate S3 bucket to deploy to. This function only runs for SPA deployments.
|
|
151
146
|
*/
|
|
152
147
|
async function deployFrontendAssets(projectRoot, stage, outputs, skipBuild, verbose) {
|
|
153
|
-
const frontendPath =
|
|
148
|
+
const frontendPath = join(projectRoot, 'packages', 'frontend');
|
|
154
149
|
if (!outputs.frontendBucket) {
|
|
155
150
|
// SSR deployments don't have a separate bucket - assets are served via Lambda
|
|
156
151
|
// Only log in verbose mode since this is expected for SSR
|
|
157
|
-
|
|
152
|
+
logger.debug('Frontend uses SSR - no separate S3 bucket for assets.');
|
|
158
153
|
return;
|
|
159
154
|
}
|
|
160
155
|
if (!outputs.apiUrl) {
|
|
161
|
-
|
|
156
|
+
logger.warn('API URL not found. Frontend will be built without API URL.');
|
|
162
157
|
}
|
|
163
158
|
// Build frontend
|
|
164
159
|
if (!skipBuild) {
|
|
165
|
-
|
|
160
|
+
buildPackage(frontendPath, outputs.apiUrl ?? '', verbose);
|
|
166
161
|
}
|
|
167
162
|
// Find build directory
|
|
168
|
-
const buildDir =
|
|
163
|
+
const buildDir = findBuildDirectory(frontendPath);
|
|
169
164
|
if (!buildDir) {
|
|
170
|
-
|
|
165
|
+
logger.error('Frontend build directory not found. Make sure the frontend is built (build/, build/client/, or dist/).');
|
|
171
166
|
return;
|
|
172
167
|
}
|
|
173
168
|
// Sync to S3
|
|
174
|
-
|
|
169
|
+
syncToS3(buildDir, outputs.frontendBucket, verbose);
|
|
175
170
|
// Invalidate CloudFront
|
|
176
171
|
if (outputs.frontendDistributionId) {
|
|
177
|
-
|
|
172
|
+
invalidateCloudFront(outputs.frontendDistributionId, verbose);
|
|
178
173
|
}
|
|
179
174
|
}
|
|
180
175
|
/**
|
|
@@ -183,39 +178,39 @@ async function deployFrontendAssets(projectRoot, stage, outputs, skipBuild, verb
|
|
|
183
178
|
* so there's no separate S3 bucket to deploy to. This function only runs for SPA deployments.
|
|
184
179
|
*/
|
|
185
180
|
async function deployCmsAssets(projectRoot, stage, outputs, skipBuild, verbose) {
|
|
186
|
-
const cmsPath =
|
|
181
|
+
const cmsPath = join(projectRoot, 'packages', 'cms');
|
|
187
182
|
if (!outputs.cmsBucket) {
|
|
188
183
|
// SSR deployments don't have a separate bucket - assets are served via Lambda
|
|
189
184
|
// Only log in verbose mode since this is expected for SSR
|
|
190
|
-
|
|
185
|
+
logger.debug('CMS uses SSR - no separate S3 bucket for assets.');
|
|
191
186
|
return;
|
|
192
187
|
}
|
|
193
188
|
if (!outputs.apiUrl) {
|
|
194
|
-
|
|
189
|
+
logger.warn('API URL not found. CMS will be built without API URL.');
|
|
195
190
|
}
|
|
196
191
|
// Build CMS
|
|
197
192
|
if (!skipBuild) {
|
|
198
|
-
|
|
193
|
+
buildPackage(cmsPath, outputs.apiUrl ?? '', verbose);
|
|
199
194
|
}
|
|
200
195
|
// Find build directory
|
|
201
|
-
const buildDir =
|
|
196
|
+
const buildDir = findBuildDirectory(cmsPath);
|
|
202
197
|
if (!buildDir) {
|
|
203
|
-
|
|
198
|
+
logger.error('CMS build directory not found. Make sure the CMS is built (build/, build/client/, or dist/).');
|
|
204
199
|
return;
|
|
205
200
|
}
|
|
206
201
|
// Sync to S3
|
|
207
|
-
|
|
202
|
+
syncToS3(buildDir, outputs.cmsBucket, verbose);
|
|
208
203
|
// Invalidate CloudFront
|
|
209
204
|
if (outputs.cmsDistributionId) {
|
|
210
|
-
|
|
205
|
+
invalidateCloudFront(outputs.cmsDistributionId, verbose);
|
|
211
206
|
}
|
|
212
207
|
}
|
|
213
208
|
/**
|
|
214
209
|
* Prints a deployment summary with all URLs and important values.
|
|
215
210
|
*/
|
|
216
211
|
function printDeploymentSummary(projectRoot, stage) {
|
|
217
|
-
const outputs =
|
|
218
|
-
const projectName =
|
|
212
|
+
const outputs = getStackOutputs(projectRoot, stage);
|
|
213
|
+
const projectName = getProjectName(projectRoot);
|
|
219
214
|
console.log('\n' + '═'.repeat(60));
|
|
220
215
|
console.log(` Deployment Summary: ${projectName} (${stage})`);
|
|
221
216
|
console.log('═'.repeat(60));
|
|
@@ -241,7 +236,7 @@ function printDeploymentSummary(projectRoot, stage) {
|
|
|
241
236
|
}
|
|
242
237
|
}
|
|
243
238
|
console.log('═'.repeat(60) + '\n');
|
|
244
|
-
|
|
239
|
+
logger.success(`Deployment to ${stage} complete`);
|
|
245
240
|
}
|
|
246
241
|
/**
|
|
247
242
|
* Runs CDK synth (dry-run mode).
|
|
@@ -251,20 +246,20 @@ function printDeploymentSummary(projectRoot, stage) {
|
|
|
251
246
|
* @param stack - Optional specific stack to synth
|
|
252
247
|
*/
|
|
253
248
|
async function runCdkSynth(infraDir, stage, stack) {
|
|
254
|
-
|
|
255
|
-
const
|
|
256
|
-
|
|
249
|
+
logger.debug(`Running CDK synth in: ${infraDir}`);
|
|
250
|
+
const args = buildCdkSynthArgs(stage, stack);
|
|
251
|
+
logger.debug(`Command: pnpm ${args.join(' ')}`);
|
|
257
252
|
try {
|
|
258
|
-
(
|
|
253
|
+
execFileSync('pnpm', args, {
|
|
259
254
|
cwd: infraDir,
|
|
260
255
|
stdio: 'inherit',
|
|
261
256
|
});
|
|
262
|
-
|
|
263
|
-
|
|
257
|
+
logger.success('CDK synthesis complete');
|
|
258
|
+
logger.info(`CloudFormation templates generated in ${join(infraDir, 'cdk.out')}`);
|
|
264
259
|
}
|
|
265
260
|
catch (error) {
|
|
266
|
-
|
|
267
|
-
|
|
261
|
+
logger.error('CDK synthesis failed');
|
|
262
|
+
logger.debug(`Error: ${error.message}`);
|
|
268
263
|
process.exit(1);
|
|
269
264
|
}
|
|
270
265
|
}
|
|
@@ -277,59 +272,83 @@ async function runCdkSynth(infraDir, stage, stack) {
|
|
|
277
272
|
* @param stack - Optional specific stack to deploy
|
|
278
273
|
*/
|
|
279
274
|
async function runCdkDeploy(infraDir, stage, requireApproval, stack) {
|
|
280
|
-
|
|
281
|
-
const
|
|
282
|
-
|
|
275
|
+
logger.debug(`Running CDK deploy in: ${infraDir}`);
|
|
276
|
+
const args = buildCdkDeployArgs(stage, requireApproval, stack);
|
|
277
|
+
logger.debug(`Command: pnpm ${args.join(' ')}`);
|
|
283
278
|
try {
|
|
284
|
-
(
|
|
279
|
+
execFileSync('pnpm', args, {
|
|
285
280
|
cwd: infraDir,
|
|
286
281
|
stdio: 'inherit',
|
|
287
282
|
});
|
|
288
283
|
}
|
|
289
284
|
catch (error) {
|
|
290
|
-
|
|
291
|
-
|
|
285
|
+
logger.error('CDK deployment failed');
|
|
286
|
+
logger.debug(`Error: ${error.message}`);
|
|
292
287
|
process.exit(1);
|
|
293
288
|
}
|
|
294
289
|
}
|
|
295
290
|
/**
|
|
296
|
-
* Builds the CDK synth command.
|
|
291
|
+
* Builds the CDK synth command arguments array.
|
|
297
292
|
*
|
|
298
293
|
* @param stage - Deployment stage
|
|
299
294
|
* @param stack - Optional specific stack to synth
|
|
300
|
-
* @returns
|
|
295
|
+
* @returns Arguments array for execFileSync
|
|
301
296
|
*/
|
|
302
|
-
function
|
|
303
|
-
|
|
297
|
+
export function buildCdkSynthArgs(stage, stack) {
|
|
298
|
+
// Validate inputs to prevent command injection
|
|
299
|
+
validateStageName(stage);
|
|
304
300
|
if (stack) {
|
|
305
|
-
|
|
301
|
+
validateStackName(stack);
|
|
302
|
+
}
|
|
303
|
+
const args = ['exec', 'cdk', 'synth'];
|
|
304
|
+
if (stack) {
|
|
305
|
+
args.push(`*${stack}*`);
|
|
306
306
|
}
|
|
307
307
|
else {
|
|
308
308
|
args.push('--all');
|
|
309
309
|
}
|
|
310
|
-
args.push(
|
|
311
|
-
return args
|
|
310
|
+
args.push('-c', `stage=${stage}`);
|
|
311
|
+
return args;
|
|
312
312
|
}
|
|
313
313
|
/**
|
|
314
|
-
* Builds the CDK deploy command.
|
|
314
|
+
* Builds the CDK deploy command arguments array.
|
|
315
315
|
*
|
|
316
316
|
* @param stage - Deployment stage
|
|
317
317
|
* @param requireApproval - Approval mode
|
|
318
318
|
* @param stack - Optional specific stack to deploy
|
|
319
|
-
* @returns
|
|
319
|
+
* @returns Arguments array for execFileSync
|
|
320
320
|
*/
|
|
321
|
-
function
|
|
322
|
-
|
|
321
|
+
export function buildCdkDeployArgs(stage, requireApproval, stack) {
|
|
322
|
+
// Validate inputs to prevent command injection
|
|
323
|
+
validateStageName(stage);
|
|
323
324
|
if (stack) {
|
|
324
|
-
|
|
325
|
+
validateStackName(stack);
|
|
326
|
+
}
|
|
327
|
+
const args = ['exec', 'cdk', 'deploy'];
|
|
328
|
+
if (stack) {
|
|
329
|
+
args.push(`*${stack}*`);
|
|
325
330
|
}
|
|
326
331
|
else {
|
|
327
332
|
args.push('--all');
|
|
328
333
|
}
|
|
329
|
-
args.push(
|
|
334
|
+
args.push('-c', `stage=${stage}`);
|
|
330
335
|
if (requireApproval) {
|
|
331
336
|
args.push(`--require-approval=${requireApproval}`);
|
|
332
337
|
}
|
|
338
|
+
return args;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* @deprecated Use buildCdkSynthArgs instead
|
|
342
|
+
*/
|
|
343
|
+
export function buildCdkSynthCommand(stage, stack) {
|
|
344
|
+
const args = ['pnpm', ...buildCdkSynthArgs(stage, stack)];
|
|
345
|
+
return args.join(' ');
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* @deprecated Use buildCdkDeployArgs instead
|
|
349
|
+
*/
|
|
350
|
+
export function buildCdkDeployCommand(stage, requireApproval, stack) {
|
|
351
|
+
const args = ['pnpm', ...buildCdkDeployArgs(stage, requireApproval, stack)];
|
|
333
352
|
return args.join(' ');
|
|
334
353
|
}
|
|
335
354
|
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/destroy.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const fs_1 = require("fs");
|
|
9
|
-
const path_1 = require("path");
|
|
10
|
-
const project_js_1 = require("../lib/project.js");
|
|
11
|
-
const logger_js_1 = require("../lib/logger.js");
|
|
12
|
-
const deploy_utils_js_1 = require("../lib/deploy-utils.js");
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { execSync } from 'child_process';
|
|
3
|
+
import { existsSync } from 'fs';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { requireProjectRoot } from '../lib/project.js';
|
|
6
|
+
import { logger } from '../lib/logger.js';
|
|
7
|
+
import { validateAwsCli, getProjectName, promptConfirmation, listProjectStacks, } from '../lib/deploy-utils.js';
|
|
13
8
|
/**
|
|
14
9
|
* Creates the `fnd destroy` command.
|
|
15
10
|
*
|
|
@@ -32,8 +27,8 @@ const deploy_utils_js_1 = require("../lib/deploy-utils.js");
|
|
|
32
27
|
* program.parse(['node', 'fnd', 'destroy', '--stage=dev', '--stack=Frontend']);
|
|
33
28
|
* ```
|
|
34
29
|
*/
|
|
35
|
-
function destroyCommand() {
|
|
36
|
-
return new
|
|
30
|
+
export function destroyCommand() {
|
|
31
|
+
return new Command('destroy')
|
|
37
32
|
.description('Destroy AWS resources created by fnd-platform')
|
|
38
33
|
.requiredOption('--stage <stage>', 'Deployment stage to destroy (e.g., dev, staging, prod)')
|
|
39
34
|
.option('--stack <stack>', 'Destroy specific stack only (e.g., Api, Frontend, Cms)')
|
|
@@ -60,33 +55,33 @@ function destroyCommand() {
|
|
|
60
55
|
* await runDestroy({ stage: 'dev', stack: 'Frontend' });
|
|
61
56
|
* ```
|
|
62
57
|
*/
|
|
63
|
-
async function runDestroy(options) {
|
|
58
|
+
export async function runDestroy(options) {
|
|
64
59
|
let projectRoot;
|
|
65
60
|
try {
|
|
66
|
-
projectRoot =
|
|
61
|
+
projectRoot = requireProjectRoot();
|
|
67
62
|
}
|
|
68
63
|
catch (error) {
|
|
69
|
-
|
|
64
|
+
logger.error(error.message);
|
|
70
65
|
process.exit(1);
|
|
71
66
|
}
|
|
72
67
|
// Validate infra package exists
|
|
73
|
-
const infraDir =
|
|
74
|
-
if (!
|
|
75
|
-
|
|
68
|
+
const infraDir = join(projectRoot, 'packages', 'infra');
|
|
69
|
+
if (!existsSync(infraDir)) {
|
|
70
|
+
logger.error('Infrastructure package not found at packages/infra. ' +
|
|
76
71
|
'Make sure you have added an API package with `fnd add api`, ' +
|
|
77
72
|
'which generates the infrastructure package.');
|
|
78
73
|
process.exit(1);
|
|
79
74
|
}
|
|
80
75
|
// Validate AWS CLI
|
|
81
76
|
try {
|
|
82
|
-
|
|
77
|
+
validateAwsCli();
|
|
83
78
|
}
|
|
84
79
|
catch (error) {
|
|
85
|
-
|
|
80
|
+
logger.error(error.message);
|
|
86
81
|
process.exit(1);
|
|
87
82
|
}
|
|
88
83
|
const { stage, stack, force } = options;
|
|
89
|
-
const projectName =
|
|
84
|
+
const projectName = getProjectName(projectRoot);
|
|
90
85
|
// Build confirmation message
|
|
91
86
|
let confirmMessage;
|
|
92
87
|
if (stack) {
|
|
@@ -97,28 +92,28 @@ async function runDestroy(options) {
|
|
|
97
92
|
}
|
|
98
93
|
// Prompt for confirmation unless --force is used
|
|
99
94
|
if (!force) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const confirmed = await
|
|
95
|
+
logger.warn('This action is destructive and cannot be undone!');
|
|
96
|
+
logger.warn('Data in DynamoDB and S3 will be deleted unless retention policies are configured.');
|
|
97
|
+
const confirmed = await promptConfirmation(confirmMessage);
|
|
103
98
|
if (!confirmed) {
|
|
104
|
-
|
|
99
|
+
logger.info('Destroy operation cancelled.');
|
|
105
100
|
process.exit(0);
|
|
106
101
|
}
|
|
107
102
|
}
|
|
108
103
|
// List stacks that will be destroyed
|
|
109
104
|
if (!stack) {
|
|
110
|
-
const stacks =
|
|
105
|
+
const stacks = listProjectStacks(projectRoot, stage);
|
|
111
106
|
if (stacks.length > 0) {
|
|
112
|
-
|
|
107
|
+
logger.info('Stacks to be destroyed:');
|
|
113
108
|
for (const stackName of stacks) {
|
|
114
|
-
|
|
109
|
+
logger.info(` - ${stackName}`);
|
|
115
110
|
}
|
|
116
111
|
}
|
|
117
112
|
}
|
|
118
113
|
// Run CDK destroy
|
|
119
|
-
|
|
114
|
+
logger.info(`Destroying ${stack ? `${stack} stack` : 'all stacks'} in stage: ${stage}`);
|
|
120
115
|
await runCdkDestroy(infraDir, stage, stack, options.verbose);
|
|
121
|
-
|
|
116
|
+
logger.success(`Destroy operation for ${stage} complete`);
|
|
122
117
|
}
|
|
123
118
|
/**
|
|
124
119
|
* Runs CDK destroy.
|
|
@@ -129,18 +124,18 @@ async function runDestroy(options) {
|
|
|
129
124
|
* @param verbose - Show verbose output
|
|
130
125
|
*/
|
|
131
126
|
async function runCdkDestroy(infraDir, stage, stack, verbose) {
|
|
132
|
-
|
|
127
|
+
logger.debug(`Running CDK destroy in: ${infraDir}`);
|
|
133
128
|
const command = buildCdkDestroyCommand(stage, stack);
|
|
134
|
-
|
|
129
|
+
logger.debug(`Command: ${command}`);
|
|
135
130
|
try {
|
|
136
|
-
|
|
131
|
+
execSync(command, {
|
|
137
132
|
cwd: infraDir,
|
|
138
133
|
stdio: 'inherit',
|
|
139
134
|
});
|
|
140
135
|
}
|
|
141
136
|
catch (error) {
|
|
142
|
-
|
|
143
|
-
|
|
137
|
+
logger.error('CDK destroy failed');
|
|
138
|
+
logger.debug(`Error: ${error.message}`);
|
|
144
139
|
process.exit(1);
|
|
145
140
|
}
|
|
146
141
|
}
|
|
@@ -160,7 +155,7 @@ async function runCdkDestroy(infraDir, stage, stack, verbose) {
|
|
|
160
155
|
* // Returns: 'pnpm exec cdk destroy "*Frontend*" -c stage=dev --force'
|
|
161
156
|
* ```
|
|
162
157
|
*/
|
|
163
|
-
function buildCdkDestroyCommand(stage, stack) {
|
|
158
|
+
export function buildCdkDestroyCommand(stage, stack) {
|
|
164
159
|
const args = ['pnpm', 'exec', 'cdk', 'destroy'];
|
|
165
160
|
if (stack) {
|
|
166
161
|
args.push(`"*${stack}*"`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../src/commands/destroy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../src/commands/destroy.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { newCommand } from './new.js';
|
|
2
2
|
export { synthCommand } from './synth.js';
|
|
3
3
|
export { buildCommand } from './build.js';
|
|
4
|
+
export { testCommand } from './test.js';
|
|
4
5
|
export { addCommand } from './add.js';
|
|
5
6
|
export { deployCommand } from './deploy.js';
|
|
6
7
|
export { destroyCommand } from './destroy.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|