@tachui/cli 0.7.0-alpha1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Tacho CLI - Migrate Command
3
+ *
4
+ * Migration utilities for converting React/Vue components to TachUI
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare const migrateCommand: Command;
8
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsNnC,eAAO,MAAM,cAAc,SA8KvB,CAAA"}
@@ -0,0 +1,335 @@
1
+ /**
2
+ * Tacho CLI - Migrate Command
3
+ *
4
+ * Migration utilities for converting React/Vue components to TachUI
5
+ */
6
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
7
+ import chalk from 'chalk';
8
+ import { Command } from 'commander';
9
+ import { glob } from 'glob';
10
+ import ora from 'ora';
11
+ const reactToTachUIMigrations = [
12
+ // React imports
13
+ {
14
+ pattern: /import React.*from ['"]react['"];?\n?/g,
15
+ replacement: '',
16
+ description: 'Remove React imports',
17
+ },
18
+ {
19
+ pattern: /import.*useState.*from ['"]react['"];?\n?/g,
20
+ replacement: "import { State } from '@tachui/core/state'\n",
21
+ description: 'Replace useState with State',
22
+ },
23
+ {
24
+ pattern: /import.*useEffect.*from ['"]react['"];?\n?/g,
25
+ replacement: '// Use .modifier.onAppear() or .task() instead of useEffect\n',
26
+ description: 'Replace useEffect with lifecycle modifiers',
27
+ },
28
+ // State management
29
+ {
30
+ pattern: /const \[(\w+), set(\w+)\] = useState\((.*?)\)/g,
31
+ replacement: (_match, stateName, _setterName, initialValue) => `const ${stateName} = State(${initialValue})`,
32
+ description: 'Convert useState to State',
33
+ },
34
+ {
35
+ pattern: /set(\w+)\((.*?)\)/g,
36
+ replacement: (_match, setterName, newValue) => {
37
+ const stateName = setterName.charAt(0).toLowerCase() + setterName.slice(1);
38
+ return `${stateName}.wrappedValue = ${newValue}`;
39
+ },
40
+ description: 'Convert state setters to wrappedValue assignment',
41
+ },
42
+ // JSX to TachUI
43
+ {
44
+ pattern: /<div([^>]*)>/g,
45
+ replacement: 'Layout.VStack({\n children: [',
46
+ description: 'Convert div to VStack',
47
+ },
48
+ {
49
+ pattern: /<\/div>/g,
50
+ replacement: ' ]\n})',
51
+ description: 'Close VStack',
52
+ },
53
+ {
54
+ pattern: /<button([^>]*?)onClick=\{([^}]+)\}([^>]*?)>([^<]+)<\/button>/g,
55
+ replacement: (_match, _beforeOnClick, onClick, _afterOnClick, text) => `Button({\n title: '${text}',\n onTap: ${onClick}\n})`,
56
+ description: 'Convert button to Button component',
57
+ },
58
+ {
59
+ pattern: /<input([^>]*?)value=\{([^}]+)\}([^>]*?)onChange=\{([^}]+)\}([^>]*?)\/>/g,
60
+ replacement: (_match, _before, value, _middle, _onChange, _after) => `TextField({\n text: ${value}.projectedValue\n})`,
61
+ description: 'Convert input to TextField',
62
+ },
63
+ // Component structure
64
+ {
65
+ pattern: /export default function (\w+)\(\)/g,
66
+ replacement: 'export function $1()',
67
+ description: 'Convert default export to named export',
68
+ },
69
+ {
70
+ pattern: /return \(/g,
71
+ replacement: 'return ',
72
+ description: 'Remove JSX parentheses',
73
+ },
74
+ {
75
+ pattern: /return <>/g,
76
+ replacement: 'return Layout.VStack({\n children: [',
77
+ description: 'Convert React Fragment to VStack',
78
+ },
79
+ {
80
+ pattern: /<\/>/g,
81
+ replacement: ' ]\n})',
82
+ description: 'Close Fragment VStack',
83
+ },
84
+ ];
85
+ const vueToTachUIMigrations = [
86
+ // Vue composition API
87
+ {
88
+ pattern: /import.*ref.*from ['"]vue['"];?\n?/g,
89
+ replacement: "import { State } from '@tachui/core/state'\n",
90
+ description: 'Replace Vue ref with State',
91
+ },
92
+ {
93
+ pattern: /import.*reactive.*from ['"]vue['"];?\n?/g,
94
+ replacement: "import { ObservableObjectBase, ObservedObject } from '@tachui/core/state'\n",
95
+ description: 'Replace Vue reactive with ObservedObject',
96
+ },
97
+ {
98
+ pattern: /const (\w+) = ref\((.*?)\)/g,
99
+ replacement: 'const $1 = State($2)',
100
+ description: 'Convert ref to State',
101
+ },
102
+ {
103
+ pattern: /(\w+)\.value/g,
104
+ replacement: '$1.wrappedValue',
105
+ description: 'Convert .value to .wrappedValue',
106
+ },
107
+ // Vue template to TachUI
108
+ {
109
+ pattern: /<template>/g,
110
+ replacement: '// Template converted to TachUI components\nreturn ',
111
+ description: 'Convert template tag',
112
+ },
113
+ {
114
+ pattern: /<\/template>/g,
115
+ replacement: '',
116
+ description: 'Remove template closing',
117
+ },
118
+ {
119
+ pattern: /<div([^>]*)>/g,
120
+ replacement: 'Layout.VStack({\n children: [',
121
+ description: 'Convert div to VStack',
122
+ },
123
+ {
124
+ pattern: /<\/div>/g,
125
+ replacement: ' ]\n})',
126
+ description: 'Close VStack',
127
+ },
128
+ ];
129
+ function applyMigrations(content, migrations) {
130
+ let migratedContent = content;
131
+ const changes = [];
132
+ for (const migration of migrations) {
133
+ if (migration.pattern.test(migratedContent)) {
134
+ migratedContent = migratedContent.replace(migration.pattern, migration.replacement);
135
+ changes.push(migration.description);
136
+ }
137
+ }
138
+ return { content: migratedContent, changes };
139
+ }
140
+ function analyzeFramework(content) {
141
+ if (content.includes('from "react"') ||
142
+ content.includes("from 'react'") ||
143
+ content.includes('useState') ||
144
+ content.includes('useEffect')) {
145
+ return 'react';
146
+ }
147
+ if (content.includes('from "vue"') ||
148
+ content.includes("from 'vue'") ||
149
+ content.includes('<template>') ||
150
+ content.includes('ref(')) {
151
+ return 'vue';
152
+ }
153
+ return 'unknown';
154
+ }
155
+ function generateMigrationReport(filePath, framework, changes) {
156
+ return `
157
+ # Migration Report: ${filePath}
158
+
159
+ **Source Framework**: ${framework}
160
+ **Target Framework**: TachUI
161
+
162
+ ## Automated Changes Applied
163
+
164
+ ${changes.map((change) => `- ${change}`).join('\n')}
165
+
166
+ ## Manual Review Required
167
+
168
+ The following items may need manual attention:
169
+
170
+ 1. **Complex State Logic**: Review state management patterns and consider using ObservedObject for complex objects
171
+ 2. **Event Handlers**: Verify event handler conversions (onClick → onTap)
172
+ 3. **Styling**: Add TachUI modifiers for styling (.modifier.backgroundColor(), etc.)
173
+ 4. **Component Structure**: Ensure proper Layout container usage (VStack, HStack, ZStack)
174
+ 5. **Imports**: Verify all TachUI imports are correct
175
+
176
+ ## Next Steps
177
+
178
+ 1. Add necessary TachUI imports
179
+ 2. Test component functionality
180
+ 3. Add modifiers for styling
181
+ 4. Consider using Phase 6 features:
182
+ - @State for reactive local state
183
+ - @ObservedObject for complex objects
184
+ - Lifecycle modifiers (onAppear, task)
185
+ - Navigation components if needed
186
+
187
+ ## TachUI Resources
188
+
189
+ - [Getting Started Guide](https://github.com/whoughton/TachUI/blob/main/docs/guide/getting-started-complete.md)
190
+ - [Phase 6 Features](https://github.com/whoughton/TachUI/blob/main/docs/api/phase-6-features.md)
191
+ - [Component Examples](https://github.com/whoughton/TachUI/tree/main/examples)
192
+ `;
193
+ }
194
+ export const migrateCommand = new Command('migrate')
195
+ .description('Migrate React/Vue components to TachUI')
196
+ .option('-f, --framework <framework>', 'Source framework (react, vue, auto)', 'auto')
197
+ .option('-i, --input <pattern>', 'Input file pattern', 'src/**/*.{js,jsx,ts,tsx,vue}')
198
+ .option('-o, --output <directory>', 'Output directory', 'src/migrated')
199
+ .option('--backup', 'Create backup of original files', true)
200
+ .option('--report', 'Generate migration report', true)
201
+ .option('--dry-run', 'Show what would be migrated without making changes', false)
202
+ .action(async (options) => {
203
+ try {
204
+ console.log(chalk.cyan(`
205
+ ╭─────────────────────────────────────╮
206
+ │ šŸ”„ TachUI Migration Tool │
207
+ │ Pattern-based React/Vue converter │
208
+ ╰─────────────────────────────────────╯
209
+ `));
210
+ const spinner = ora('Scanning for migration candidates...').start();
211
+ // Find files to migrate
212
+ const files = await glob(options.input, {
213
+ cwd: process.cwd(),
214
+ absolute: true,
215
+ });
216
+ if (files.length === 0) {
217
+ spinner.fail('No files found matching pattern');
218
+ console.log(chalk.yellow(`Pattern: ${options.input}`));
219
+ console.log(chalk.gray('Try: --input "src/**/*.{js,jsx,ts,tsx}"'));
220
+ return;
221
+ }
222
+ spinner.text = `Found ${files.length} files to analyze...`;
223
+ let migratedCount = 0;
224
+ const migrationResults = [];
225
+ for (const file of files) {
226
+ try {
227
+ const content = readFileSync(file, 'utf-8');
228
+ const framework = options.framework === 'auto' ? analyzeFramework(content) : options.framework;
229
+ if (framework === 'unknown') {
230
+ continue;
231
+ }
232
+ const migrations = framework === 'react' ? reactToTachUIMigrations : vueToTachUIMigrations;
233
+ const { content: migratedContent, changes } = applyMigrations(content, migrations);
234
+ if (changes.length === 0) {
235
+ continue;
236
+ }
237
+ migratedCount++;
238
+ migrationResults.push({
239
+ file,
240
+ framework,
241
+ changes,
242
+ success: true,
243
+ });
244
+ if (!options.dryRun) {
245
+ // Create backup if requested
246
+ if (options.backup) {
247
+ writeFileSync(`${file}.backup`, content);
248
+ }
249
+ // Write migrated content
250
+ const outputPath = file.replace(/src\//, `${options.output}/`);
251
+ const outputDir = outputPath.substring(0, outputPath.lastIndexOf('/'));
252
+ // Create output directory if needed
253
+ const { mkdirSync } = await import('node:fs');
254
+ if (!existsSync(outputDir)) {
255
+ mkdirSync(outputDir, { recursive: true });
256
+ }
257
+ writeFileSync(outputPath, migratedContent);
258
+ // Generate report if requested
259
+ if (options.report) {
260
+ const reportPath = outputPath.replace(/\.(js|jsx|ts|tsx|vue)$/, '.migration-report.md');
261
+ const report = generateMigrationReport(file, framework, changes);
262
+ writeFileSync(reportPath, report);
263
+ }
264
+ }
265
+ }
266
+ catch (_error) {
267
+ migrationResults.push({
268
+ file,
269
+ framework: 'unknown',
270
+ changes: [],
271
+ success: false,
272
+ });
273
+ }
274
+ }
275
+ spinner.succeed(`Migration analysis complete!`);
276
+ // Show results
277
+ console.log(`\n${chalk.green('šŸ“Š Migration Summary:')}`);
278
+ console.log(`${chalk.gray('Total files scanned:')} ${files.length}`);
279
+ console.log(`${chalk.gray('Files requiring migration:')} ${migratedCount}`);
280
+ const reactFiles = migrationResults.filter((r) => r.framework === 'react').length;
281
+ const vueFiles = migrationResults.filter((r) => r.framework === 'vue').length;
282
+ if (reactFiles > 0) {
283
+ console.log(`${chalk.gray('React components:')} ${reactFiles}`);
284
+ }
285
+ if (vueFiles > 0) {
286
+ console.log(`${chalk.gray('Vue components:')} ${vueFiles}`);
287
+ }
288
+ if (options.dryRun) {
289
+ console.log(`\n${chalk.yellow('šŸ” Dry Run - No files were changed')}`);
290
+ console.log(chalk.gray('Remove --dry-run flag to apply migrations'));
291
+ }
292
+ else {
293
+ console.log(`\n${chalk.green('āœ… Files migrated to:')} ${options.output}`);
294
+ if (options.backup) {
295
+ console.log(`${chalk.blue('šŸ’¾ Backups created')} with .backup extension`);
296
+ }
297
+ if (options.report) {
298
+ console.log(`${chalk.blue('šŸ“‹ Reports generated')} with .migration-report.md extension`);
299
+ }
300
+ }
301
+ // Show detailed results
302
+ if (migrationResults.length > 0) {
303
+ console.log(`\n${chalk.yellow('šŸ“ Migration Details:')}`);
304
+ migrationResults.forEach((result) => {
305
+ const fileName = result.file.split('/').pop();
306
+ console.log(`\n${chalk.cyan(fileName)} (${result.framework})`);
307
+ if (result.changes.length > 0) {
308
+ result.changes.forEach((change) => {
309
+ console.log(` ${chalk.gray('•')} ${change}`);
310
+ });
311
+ }
312
+ else {
313
+ console.log(` ${chalk.gray('No changes needed')}`);
314
+ }
315
+ });
316
+ }
317
+ // Next steps
318
+ console.log(`\n${chalk.yellow('šŸš€ Next Steps:')}`);
319
+ console.log(chalk.gray('1. Review migrated components'));
320
+ console.log(chalk.gray('2. Add TachUI modifiers for styling'));
321
+ console.log(chalk.gray('3. Test component functionality'));
322
+ console.log(chalk.gray('4. Consider Phase 6 features (@State, lifecycle modifiers)'));
323
+ console.log(chalk.gray('5. Run: tacho dev'));
324
+ console.log(`\n${chalk.green('Migration complete! šŸŽ‰')}`);
325
+ }
326
+ catch (error) {
327
+ console.error(chalk.red('Migration error:'), error.message);
328
+ console.log(chalk.yellow('\nšŸ” Troubleshooting:'));
329
+ console.log(chalk.gray('• Check file patterns and permissions'));
330
+ console.log(chalk.gray('• Ensure source files are valid JavaScript/TypeScript'));
331
+ console.log(chalk.gray('• Try with --dry-run first'));
332
+ process.exit(1);
333
+ }
334
+ });
335
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Tacho CLI - Optimize Command
3
+ *
4
+ * Performance optimization tools for TachUI applications
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare const optimizeCommand: Command;
8
+ //# sourceMappingURL=optimize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../../src/commands/optimize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA6MnC,eAAO,MAAM,eAAe,SAkQxB,CAAA"}