@fnd-platform/cli 1.0.0-alpha.32 → 1.0.0-alpha.34
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/tui/components/feedback/ProgressSteps.d.ts +2 -2
- package/lib/tui/components/feedback/ProgressSteps.d.ts.map +1 -1
- package/lib/tui/components/feedback/ProgressSteps.js +72 -39
- package/lib/tui/components/feedback/ProgressSteps.js.map +1 -1
- package/lib/tui/lib/create-project-tui.d.ts.map +1 -1
- package/lib/tui/lib/create-project-tui.js +4 -0
- package/lib/tui/lib/create-project-tui.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Progress steps component for the FND TUI.
|
|
3
3
|
*
|
|
4
|
-
* Displays a vertical list of progress steps with
|
|
5
|
-
*
|
|
4
|
+
* Displays a vertical list of progress steps with animated indicators,
|
|
5
|
+
* elapsed time, and contextual status messages.
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
8
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressSteps.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/feedback/ProgressSteps.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"ProgressSteps.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/feedback/ProgressSteps.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAqKD;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,YAAY,EACZ,YAAmB,GACpB,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAqDzC"}
|
|
@@ -2,10 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
/**
|
|
3
3
|
* Progress steps component for the FND TUI.
|
|
4
4
|
*
|
|
5
|
-
* Displays a vertical list of progress steps with
|
|
6
|
-
*
|
|
5
|
+
* Displays a vertical list of progress steps with animated indicators,
|
|
6
|
+
* elapsed time, and contextual status messages.
|
|
7
7
|
*/
|
|
8
|
-
import { useState, useEffect } from 'react';
|
|
8
|
+
import { useState, useEffect, useRef } from 'react';
|
|
9
9
|
import { Box, Text } from 'ink';
|
|
10
10
|
import { colors } from '../../utils/colors.js';
|
|
11
11
|
import { Spinner } from './Spinner.js';
|
|
@@ -29,33 +29,33 @@ const STATUS_MESSAGES = {
|
|
|
29
29
|
'Preparing for collaboration...',
|
|
30
30
|
],
|
|
31
31
|
'installing-deps': [
|
|
32
|
-
'Fetching
|
|
33
|
-
'
|
|
34
|
-
'
|
|
32
|
+
'Fetching packages from npm registry...',
|
|
33
|
+
'Resolving dependency tree...',
|
|
34
|
+
'Downloading node modules...',
|
|
35
35
|
'This might take a moment...',
|
|
36
|
-
'
|
|
37
|
-
'
|
|
36
|
+
'Linking dependencies...',
|
|
37
|
+
'Building native modules...',
|
|
38
38
|
'Almost there, hang tight...',
|
|
39
|
-
'
|
|
39
|
+
'Optimizing package cache...',
|
|
40
40
|
],
|
|
41
41
|
'running-projen': [
|
|
42
|
-
'
|
|
43
|
-
'Generating
|
|
44
|
-
'
|
|
45
|
-
'
|
|
42
|
+
'Synthesizing project configuration...',
|
|
43
|
+
'Generating TypeScript configs...',
|
|
44
|
+
'Creating package.json files...',
|
|
45
|
+
'Setting up build scripts...',
|
|
46
46
|
],
|
|
47
47
|
'running-synth': [
|
|
48
|
-
'
|
|
49
|
-
'Generating
|
|
50
|
-
'Applying
|
|
48
|
+
'Synthesizing project configuration...',
|
|
49
|
+
'Generating TypeScript configs...',
|
|
50
|
+
'Applying Projen templates...',
|
|
51
51
|
],
|
|
52
52
|
'generating-infra': [
|
|
53
|
-
'Generating infrastructure...',
|
|
54
|
-
'Creating
|
|
55
|
-
'
|
|
53
|
+
'Generating CDK infrastructure...',
|
|
54
|
+
'Creating stack definitions...',
|
|
55
|
+
'Setting up AWS resources...',
|
|
56
56
|
],
|
|
57
57
|
'modifying-projenrc': [
|
|
58
|
-
'Updating
|
|
58
|
+
'Updating .projenrc.ts...',
|
|
59
59
|
'Adding package definition...',
|
|
60
60
|
],
|
|
61
61
|
'validating': [
|
|
@@ -68,6 +68,25 @@ const STATUS_MESSAGES = {
|
|
|
68
68
|
'Please wait...',
|
|
69
69
|
],
|
|
70
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Animated ASCII activity indicator frames.
|
|
73
|
+
*/
|
|
74
|
+
const ACTIVITY_FRAMES = [
|
|
75
|
+
'⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'
|
|
76
|
+
];
|
|
77
|
+
/**
|
|
78
|
+
* Bouncing dot animation for visual interest.
|
|
79
|
+
*/
|
|
80
|
+
const BOUNCE_FRAMES = [
|
|
81
|
+
'●∙∙∙∙',
|
|
82
|
+
'∙●∙∙∙',
|
|
83
|
+
'∙∙●∙∙',
|
|
84
|
+
'∙∙∙●∙',
|
|
85
|
+
'∙∙∙∙●',
|
|
86
|
+
'∙∙∙●∙',
|
|
87
|
+
'∙∙●∙∙',
|
|
88
|
+
'∙●∙∙∙',
|
|
89
|
+
];
|
|
71
90
|
/**
|
|
72
91
|
* Renders a status indicator for a step.
|
|
73
92
|
*/
|
|
@@ -86,15 +105,35 @@ function StepIndicator({ status }) {
|
|
|
86
105
|
}
|
|
87
106
|
}
|
|
88
107
|
/**
|
|
89
|
-
*
|
|
108
|
+
* Animated activity indicator with bouncing dots.
|
|
90
109
|
*/
|
|
91
|
-
function
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
110
|
+
function ActivityIndicator() {
|
|
111
|
+
const [frame, setFrame] = useState(0);
|
|
112
|
+
useEffect(() => {
|
|
113
|
+
const interval = setInterval(() => {
|
|
114
|
+
setFrame((prev) => (prev + 1) % BOUNCE_FRAMES.length);
|
|
115
|
+
}, 120);
|
|
116
|
+
return () => clearInterval(interval);
|
|
117
|
+
}, []);
|
|
118
|
+
return _jsx(Text, { color: colors.accent, children: BOUNCE_FRAMES[frame] });
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Elapsed time display.
|
|
122
|
+
*/
|
|
123
|
+
function ElapsedTime({ startTime }) {
|
|
124
|
+
const [elapsed, setElapsed] = useState(0);
|
|
125
|
+
useEffect(() => {
|
|
126
|
+
const interval = setInterval(() => {
|
|
127
|
+
setElapsed(Math.floor((Date.now() - startTime) / 1000));
|
|
128
|
+
}, 1000);
|
|
129
|
+
return () => clearInterval(interval);
|
|
130
|
+
}, [startTime]);
|
|
131
|
+
const minutes = Math.floor(elapsed / 60);
|
|
132
|
+
const seconds = elapsed % 60;
|
|
133
|
+
const timeStr = minutes > 0
|
|
134
|
+
? `${minutes}m ${seconds}s`
|
|
135
|
+
: `${seconds}s`;
|
|
136
|
+
return (_jsxs(Text, { color: colors.muted, children: ["elapsed: ", timeStr] }));
|
|
98
137
|
}
|
|
99
138
|
/**
|
|
100
139
|
* Rotating status message component.
|
|
@@ -105,26 +144,20 @@ function StatusMessage({ stepId }) {
|
|
|
105
144
|
useEffect(() => {
|
|
106
145
|
const interval = setInterval(() => {
|
|
107
146
|
setMessageIndex((prev) => (prev + 1) % messages.length);
|
|
108
|
-
},
|
|
147
|
+
}, 3000); // Change message every 3 seconds
|
|
109
148
|
return () => clearInterval(interval);
|
|
110
149
|
}, [messages.length]);
|
|
111
|
-
return (_jsx(Text, { color: colors.muted,
|
|
150
|
+
return (_jsx(Text, { color: colors.muted, children: messages[messageIndex] }));
|
|
112
151
|
}
|
|
113
152
|
/**
|
|
114
153
|
* Progress steps component showing multiple steps with their status.
|
|
115
154
|
*/
|
|
116
155
|
export function ProgressSteps({ steps, errorMessage, showProgress = true, }) {
|
|
117
|
-
|
|
118
|
-
const completedSteps = steps.filter((s) => s.status === 'complete').length;
|
|
119
|
-
const totalSteps = steps.length;
|
|
156
|
+
const startTimeRef = useRef(Date.now());
|
|
120
157
|
const currentStepIndex = steps.findIndex((s) => s.status === 'in-progress');
|
|
121
158
|
const currentStep = currentStepIndex >= 0 ? steps[currentStepIndex] : null;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
const inProgressBonus = currentStep ? Math.round((1 / totalSteps) * 50) : 0; // 50% of step
|
|
125
|
-
const percent = Math.min(basePercent + inProgressBonus, 99); // Cap at 99% until complete
|
|
126
|
-
const isComplete = completedSteps === totalSteps;
|
|
127
|
-
return (_jsxs(Box, { flexDirection: "column", gap: 0, children: [showProgress && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(ProgressBar, { percent: isComplete ? 100 : percent }), currentStep && (_jsx(Box, { marginTop: 1, children: _jsx(StatusMessage, { stepId: currentStep.id }) }))] })), steps.map((step) => {
|
|
159
|
+
const completedCount = steps.filter((s) => s.status === 'complete').length;
|
|
160
|
+
return (_jsxs(Box, { flexDirection: "column", gap: 0, children: [showProgress && currentStep && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { gap: 2, children: [_jsx(ActivityIndicator, {}), _jsxs(Text, { color: colors.primary, bold: true, children: ["Step ", completedCount + 1, " of ", steps.length] }), _jsx(ElapsedTime, { startTime: startTimeRef.current })] }), _jsx(Box, { marginTop: 1, children: _jsx(StatusMessage, { stepId: currentStep.id }) })] })), steps.map((step) => {
|
|
128
161
|
const textColor = step.status === 'complete'
|
|
129
162
|
? colors.success
|
|
130
163
|
: step.status === 'error'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressSteps.js","sourceRoot":"","sources":["../../../../src/tui/components/feedback/ProgressSteps.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ProgressSteps.js","sourceRoot":"","sources":["../../../../src/tui/components/feedback/ProgressSteps.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-project-tui.d.ts","sourceRoot":"","sources":["../../../src/tui/lib/create-project-tui.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"create-project-tui.d.ts","sourceRoot":"","sources":["../../../src/tui/lib/create-project-tui.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAsB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,gCAAgC;IAChC,GAAG,EAAE,OAAO,CAAC;IACb,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,oBAAoB,GACpB,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,UAAU,GACV,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,IAAI,EAAE,YAAY,CAAC;IACnB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBpF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAahF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CASjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAC/C,OAAO,CAAC,mBAAmB,CAAC,CAwG9B"}
|
|
@@ -10,6 +10,7 @@ import { execSync } from 'child_process';
|
|
|
10
10
|
import { existsSync, mkdirSync, readdirSync, rmSync, writeFileSync } from 'fs';
|
|
11
11
|
import { join, resolve } from 'path';
|
|
12
12
|
import { getProjenrcTemplate, getInitialPackageJson } from '../../lib/templates.js';
|
|
13
|
+
import { ConfigService } from '../services/ConfigService.js';
|
|
13
14
|
/**
|
|
14
15
|
* Valid project name pattern: lowercase alphanumeric with hyphens.
|
|
15
16
|
* Must start with a letter.
|
|
@@ -127,6 +128,9 @@ export async function createProjectForTUI(options, onProgress) {
|
|
|
127
128
|
onProgress({ step: 'writing-files', message: 'Writing project files...' });
|
|
128
129
|
writeFileSync(join(projectDir, '.projenrc.ts'), getProjenrcTemplate(options.name));
|
|
129
130
|
writeFileSync(join(projectDir, 'package.json'), JSON.stringify(getInitialPackageJson(options.name, options.packageManager), null, 2));
|
|
131
|
+
// Initialize .fnd/ config folder (marks this as an FND project, not legacy)
|
|
132
|
+
const configService = new ConfigService(projectDir);
|
|
133
|
+
configService.initialize(options.name);
|
|
130
134
|
// Step 3: Initialize git (if requested)
|
|
131
135
|
if (options.git) {
|
|
132
136
|
onProgress({ step: 'initializing-git', message: 'Initializing git repository...' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-project-tui.js","sourceRoot":"","sources":["../../../src/tui/lib/create-project-tui.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-project-tui.js","sourceRoot":"","sources":["../../../src/tui/lib/create-project-tui.ts"],"names":[],"mappings":"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"}
|