@tachui/cli 0.8.1-alpha → 0.8.8
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/README.md +37 -412
- package/bin/tacho.js +59 -7
- package/dist/commands/analyze-imports.d.ts +18 -0
- package/dist/commands/analyze-imports.d.ts.map +1 -0
- package/dist/commands/analyze-imports.js +152 -0
- package/dist/commands/analyze-imports.js.map +1 -0
- package/dist/commands/analyze.js +1 -1
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/dev.js +3 -3
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/generate.d.ts +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +1 -22
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts +10 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +170 -680
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate/remove-modifier-trigger.d.ts +3 -0
- package/dist/commands/migrate/remove-modifier-trigger.d.ts.map +1 -0
- package/dist/commands/migrate/remove-modifier-trigger.js +103 -0
- package/dist/commands/migrate/remove-modifier-trigger.js.map +1 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +8 -6
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/modifier-docs.d.ts +24 -0
- package/dist/commands/modifier-docs.d.ts.map +1 -0
- package/dist/commands/modifier-docs.js +375 -0
- package/dist/commands/modifier-docs.js.map +1 -0
- package/dist/import-optimizer.d.ts +50 -0
- package/dist/import-optimizer.d.ts.map +1 -0
- package/dist/import-optimizer.js +227 -0
- package/dist/import-optimizer.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/migrations/remove-modifier-trigger.d.ts +7 -0
- package/dist/migrations/remove-modifier-trigger.d.ts.map +1 -0
- package/dist/migrations/remove-modifier-trigger.js +99 -0
- package/dist/migrations/remove-modifier-trigger.js.map +1 -0
- package/dist/scaffold/core-version-map.d.ts +2 -0
- package/dist/scaffold/core-version-map.d.ts.map +1 -0
- package/dist/scaffold/core-version-map.js +130 -0
- package/dist/scaffold/core-version-map.js.map +1 -0
- package/dist/scaffold/create-project.d.ts +15 -0
- package/dist/scaffold/create-project.d.ts.map +1 -0
- package/dist/scaffold/create-project.js +84 -0
- package/dist/scaffold/create-project.js.map +1 -0
- package/dist/scaffold/package-root.d.ts +2 -0
- package/dist/scaffold/package-root.d.ts.map +1 -0
- package/dist/scaffold/package-root.js +34 -0
- package/dist/scaffold/package-root.js.map +1 -0
- package/dist/scaffold/templates.d.ts +11 -0
- package/dist/scaffold/templates.d.ts.map +1 -0
- package/dist/scaffold/templates.js +26 -0
- package/dist/scaffold/templates.js.map +1 -0
- package/dist/scaffold/validators.d.ts +2 -0
- package/dist/scaffold/validators.d.ts.map +1 -0
- package/dist/scaffold/validators.js +32 -0
- package/dist/scaffold/validators.js.map +1 -0
- package/package.json +7 -3
- package/templates/advanced/README.md.template +23 -0
- package/templates/advanced/index.html.template +23 -0
- package/templates/advanced/package.json.template +20 -0
- package/templates/advanced/src/App.ts.template +54 -0
- package/templates/advanced/src/main.ts.template +4 -0
- package/templates/advanced/tsconfig.json.template +14 -0
- package/templates/advanced/vite.config.ts.template +11 -0
- package/templates/basic/README.md.template +17 -0
- package/templates/basic/index.html.template +22 -0
- package/templates/basic/package.json.template +20 -0
- package/templates/basic/src/App.ts.template +35 -0
- package/templates/basic/src/main.ts.template +4 -0
- package/templates/basic/tsconfig.json.template +14 -0
- package/templates/basic/vite.config.ts.template +11 -0
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* TachUI CLI - Modifier Documentation Command
|
|
4
|
+
*
|
|
5
|
+
* Provides comprehensive documentation and insights for all modifiers across plugins
|
|
6
|
+
*/
|
|
7
|
+
import { Command } from 'commander';
|
|
8
|
+
import { modifierParameterRegistry, } from '@tachui/devtools';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import Table from 'cli-table3';
|
|
11
|
+
import { createRequire } from 'node:module';
|
|
12
|
+
import { dirname, join } from 'node:path';
|
|
13
|
+
import { readFile } from 'node:fs/promises';
|
|
14
|
+
const program = new Command();
|
|
15
|
+
const require = createRequire(import.meta.url);
|
|
16
|
+
program
|
|
17
|
+
.name('tachui-modifier-docs')
|
|
18
|
+
.description('Comprehensive documentation for TachUI modifiers')
|
|
19
|
+
.version('1.0.0');
|
|
20
|
+
program
|
|
21
|
+
.command('list')
|
|
22
|
+
.description('List all available modifiers')
|
|
23
|
+
.option('-c, --category <category>', 'Filter by category (layout, appearance, interaction, etc.)')
|
|
24
|
+
.option('-p, --plugin <plugin>', 'Filter by plugin (@tachui/core, @tachui/modifiers, etc.)')
|
|
25
|
+
.option('-s, --search <query>', 'Search modifiers by name or description')
|
|
26
|
+
.option('-f, --format <format>', 'Output format', 'table')
|
|
27
|
+
.action(async (options) => {
|
|
28
|
+
await listModifiers(options);
|
|
29
|
+
});
|
|
30
|
+
program
|
|
31
|
+
.command('show <modifierName>')
|
|
32
|
+
.description('Show detailed information for a specific modifier')
|
|
33
|
+
.option('-f, --format <format>', 'Output format', 'markdown')
|
|
34
|
+
.action(async (modifierName, options) => {
|
|
35
|
+
await showModifierDetails(modifierName, options);
|
|
36
|
+
});
|
|
37
|
+
program
|
|
38
|
+
.command('generate')
|
|
39
|
+
.description('Generate complete modifier documentation')
|
|
40
|
+
.option('-o, --output <file>', 'Output file path', 'modifier-docs.md')
|
|
41
|
+
.option('-f, --format <format>', 'Output format', 'markdown')
|
|
42
|
+
.action(async (options) => {
|
|
43
|
+
await generateFullDocumentation(options);
|
|
44
|
+
});
|
|
45
|
+
program
|
|
46
|
+
.command('validate <modifierName>')
|
|
47
|
+
.description('Validate modifier parameters')
|
|
48
|
+
.argument('<parameters>', 'Parameters in JSON format')
|
|
49
|
+
.action(async (modifierName, parameters) => {
|
|
50
|
+
await validateModifierParameters(modifierName, parameters);
|
|
51
|
+
});
|
|
52
|
+
program
|
|
53
|
+
.command('cheat-sheet')
|
|
54
|
+
.description('Display a quick reference cheat sheet')
|
|
55
|
+
.action(async () => {
|
|
56
|
+
await showCheatSheet();
|
|
57
|
+
});
|
|
58
|
+
program
|
|
59
|
+
.command('conflicts')
|
|
60
|
+
.description('Show modifier registration conflicts from the latest type generation snapshot')
|
|
61
|
+
.option('-f, --format <format>', 'Output format', 'table')
|
|
62
|
+
.action(async (options) => {
|
|
63
|
+
await showModifierConflicts(options);
|
|
64
|
+
});
|
|
65
|
+
async function listModifiers(options) {
|
|
66
|
+
let modifiers = modifierParameterRegistry.getAllModifiers();
|
|
67
|
+
// Apply filters
|
|
68
|
+
if (options.category) {
|
|
69
|
+
modifiers = modifiers.filter((m) => m.category === options.category);
|
|
70
|
+
}
|
|
71
|
+
if (options.plugin) {
|
|
72
|
+
modifiers = modifiers.filter((m) => m.plugin === options.plugin);
|
|
73
|
+
}
|
|
74
|
+
if (options.search) {
|
|
75
|
+
modifiers = modifierParameterRegistry.searchModifiers(options.search);
|
|
76
|
+
}
|
|
77
|
+
if (modifiers.length === 0) {
|
|
78
|
+
console.log(chalk.yellow('No modifiers found matching your criteria'));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
switch (options.format) {
|
|
82
|
+
case 'json':
|
|
83
|
+
console.log(JSON.stringify(modifiers, null, 2));
|
|
84
|
+
break;
|
|
85
|
+
case 'markdown':
|
|
86
|
+
console.log(generateMarkdownList(modifiers));
|
|
87
|
+
break;
|
|
88
|
+
case 'table':
|
|
89
|
+
default:
|
|
90
|
+
displayModifiersTable(modifiers);
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function displayModifiersTable(modifiers) {
|
|
95
|
+
const table = new Table({
|
|
96
|
+
head: [
|
|
97
|
+
chalk.blue('Modifier'),
|
|
98
|
+
chalk.blue('Plugin'),
|
|
99
|
+
chalk.blue('Category'),
|
|
100
|
+
chalk.blue('Parameters'),
|
|
101
|
+
chalk.blue('Bundle Size'),
|
|
102
|
+
chalk.blue('SwiftUI'),
|
|
103
|
+
],
|
|
104
|
+
colWidths: [15, 20, 15, 25, 12, 20],
|
|
105
|
+
});
|
|
106
|
+
for (const modifier of modifiers) {
|
|
107
|
+
const paramCount = modifier.parameters.length;
|
|
108
|
+
const paramText = paramCount === 0
|
|
109
|
+
? 'none'
|
|
110
|
+
: paramCount === 1
|
|
111
|
+
? '1 param'
|
|
112
|
+
: `${paramCount} params`;
|
|
113
|
+
table.push([
|
|
114
|
+
chalk.cyan(modifier.name),
|
|
115
|
+
modifier.plugin,
|
|
116
|
+
modifier.category,
|
|
117
|
+
paramText,
|
|
118
|
+
modifier.bundleSize,
|
|
119
|
+
modifier.swiftUIEquivalent || 'N/A',
|
|
120
|
+
]);
|
|
121
|
+
}
|
|
122
|
+
console.log(table.toString());
|
|
123
|
+
console.log(chalk.green(`\nFound ${modifiers.length} modifiers`));
|
|
124
|
+
}
|
|
125
|
+
function generateMarkdownList(modifiers) {
|
|
126
|
+
let markdown = `# TachUI Modifiers\n\n`;
|
|
127
|
+
const groupedByCategory = modifiers.reduce((acc, mod) => {
|
|
128
|
+
if (!acc[mod.category])
|
|
129
|
+
acc[mod.category] = [];
|
|
130
|
+
acc[mod.category].push(mod);
|
|
131
|
+
return acc;
|
|
132
|
+
}, {});
|
|
133
|
+
for (const [category, mods] of Object.entries(groupedByCategory)) {
|
|
134
|
+
markdown += `## ${category.charAt(0).toUpperCase() + category.slice(1)}\n\n`;
|
|
135
|
+
for (const mod of mods) {
|
|
136
|
+
markdown += `- **${mod.name}** (${mod.plugin}) - ${mod.description}\n`;
|
|
137
|
+
}
|
|
138
|
+
markdown += '\n';
|
|
139
|
+
}
|
|
140
|
+
return markdown;
|
|
141
|
+
}
|
|
142
|
+
async function showModifierDetails(modifierName, options) {
|
|
143
|
+
const modifier = modifierParameterRegistry.getModifier(modifierName);
|
|
144
|
+
if (!modifier) {
|
|
145
|
+
console.error(chalk.red(`❌ Modifier '${modifierName}' not found`));
|
|
146
|
+
console.log(chalk.yellow('💡 Use `tachui modifier-docs list` to see available modifiers'));
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
switch (options.format) {
|
|
150
|
+
case 'json':
|
|
151
|
+
console.log(JSON.stringify(modifier, null, 2));
|
|
152
|
+
break;
|
|
153
|
+
case 'markdown':
|
|
154
|
+
default:
|
|
155
|
+
displayModifierDetails(modifier);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function displayModifierDetails(modifier) {
|
|
160
|
+
console.log(chalk.blue.bold(`\n.${modifier.name}()\n`));
|
|
161
|
+
console.log(modifier.description);
|
|
162
|
+
console.log('');
|
|
163
|
+
// Metadata
|
|
164
|
+
console.log(chalk.gray('Plugin:'), modifier.plugin);
|
|
165
|
+
console.log(chalk.gray('Category:'), modifier.category);
|
|
166
|
+
console.log(chalk.gray('Bundle Size:'), modifier.bundleSize);
|
|
167
|
+
if (modifier.swiftUIEquivalent) {
|
|
168
|
+
console.log(chalk.gray('SwiftUI:'), modifier.swiftUIEquivalent);
|
|
169
|
+
}
|
|
170
|
+
console.log('');
|
|
171
|
+
// Parameters
|
|
172
|
+
if (modifier.parameters.length > 0) {
|
|
173
|
+
console.log(chalk.yellow.bold('Parameters:\n'));
|
|
174
|
+
for (const param of modifier.parameters) {
|
|
175
|
+
const required = param.required
|
|
176
|
+
? chalk.red('required')
|
|
177
|
+
: chalk.gray('optional');
|
|
178
|
+
const defaultVal = param.defaultValue !== undefined
|
|
179
|
+
? chalk.gray(` (default: ${JSON.stringify(param.defaultValue)})`)
|
|
180
|
+
: '';
|
|
181
|
+
console.log(`${chalk.cyan(param.name)}: ${chalk.green(param.type)} ${required}${defaultVal}`);
|
|
182
|
+
console.log(` ${param.description}`);
|
|
183
|
+
if (param.examples?.length > 0) {
|
|
184
|
+
console.log(` ${chalk.gray('Examples:')} ${param.examples.join(', ')}`);
|
|
185
|
+
}
|
|
186
|
+
if (param.validation) {
|
|
187
|
+
const validation = param.validation;
|
|
188
|
+
const validationRules = [];
|
|
189
|
+
if (validation.min !== undefined)
|
|
190
|
+
validationRules.push(`min: ${validation.min}`);
|
|
191
|
+
if (validation.max !== undefined)
|
|
192
|
+
validationRules.push(`max: ${validation.max}`);
|
|
193
|
+
if (validation.enum)
|
|
194
|
+
validationRules.push(`values: ${validation.enum.join('|')}`);
|
|
195
|
+
if (validation.pattern)
|
|
196
|
+
validationRules.push(`pattern: ${validation.pattern}`);
|
|
197
|
+
if (validationRules.length > 0) {
|
|
198
|
+
console.log(` ${chalk.gray('Validation:')} ${validationRules.join(', ')}`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
console.log('');
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
console.log(chalk.gray('No parameters required\n'));
|
|
206
|
+
}
|
|
207
|
+
// Usage examples
|
|
208
|
+
console.log(chalk.yellow.bold('Usage Examples:\n'));
|
|
209
|
+
console.log(chalk.gray('Basic:'));
|
|
210
|
+
for (const example of modifier.usage.basic) {
|
|
211
|
+
console.log(` ${chalk.cyan(`component.${example}`)}`);
|
|
212
|
+
}
|
|
213
|
+
if (modifier.usage.advanced?.length > 0) {
|
|
214
|
+
console.log('');
|
|
215
|
+
console.log(chalk.gray('Advanced:'));
|
|
216
|
+
for (const example of modifier.usage.advanced) {
|
|
217
|
+
console.log(` ${chalk.cyan(`component.${example}`)}`);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// Related modifiers
|
|
221
|
+
if (modifier.relatedModifiers?.length > 0) {
|
|
222
|
+
console.log('');
|
|
223
|
+
console.log(chalk.yellow.bold('Related Modifiers:'));
|
|
224
|
+
console.log(modifier.relatedModifiers.map((m) => chalk.cyan(m)).join(', '));
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
async function generateFullDocumentation(options) {
|
|
228
|
+
console.log(chalk.blue('🔄 Generating comprehensive modifier documentation...'));
|
|
229
|
+
const documentation = modifierParameterRegistry.generateDocumentation();
|
|
230
|
+
if (options.output) {
|
|
231
|
+
const { writeFileSync } = await import('fs-extra');
|
|
232
|
+
writeFileSync(options.output, documentation);
|
|
233
|
+
console.log(chalk.green(`✅ Documentation saved to: ${options.output}`));
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
console.log(documentation);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
async function validateModifierParameters(modifierName, parametersJson) {
|
|
240
|
+
try {
|
|
241
|
+
const parameters = JSON.parse(parametersJson);
|
|
242
|
+
const validation = modifierParameterRegistry.validateParameters(modifierName, parameters);
|
|
243
|
+
if (validation.valid) {
|
|
244
|
+
console.log(chalk.green(`✅ Parameters for '${modifierName}' are valid`));
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
console.log(chalk.red(`❌ Validation failed for '${modifierName}':`));
|
|
248
|
+
for (const error of validation.errors) {
|
|
249
|
+
console.log(chalk.red(` • ${error}`));
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
console.error(chalk.red('❌ Invalid JSON parameters:', error));
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
async function showCheatSheet() {
|
|
258
|
+
console.log(chalk.blue.bold('\n🚀 TachUI Modifier Quick Reference\n'));
|
|
259
|
+
const categories = [
|
|
260
|
+
{
|
|
261
|
+
name: 'Layout',
|
|
262
|
+
modifiers: ['padding', 'frame', 'fixedSize', 'aspectRatio'],
|
|
263
|
+
color: 'cyan',
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
name: 'Appearance',
|
|
267
|
+
modifiers: ['backgroundColor', 'shadow', 'cornerRadius', 'opacity'],
|
|
268
|
+
color: 'magenta',
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
name: 'Interaction',
|
|
272
|
+
modifiers: ['hover', 'onTap', 'disabled', 'gesture'],
|
|
273
|
+
color: 'yellow',
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
name: 'Animation',
|
|
277
|
+
modifiers: ['transition', 'scale', 'rotate', 'animation'],
|
|
278
|
+
color: 'green',
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
name: 'Responsive',
|
|
282
|
+
modifiers: ['responsive', 'breakpoint'],
|
|
283
|
+
color: 'blue',
|
|
284
|
+
},
|
|
285
|
+
];
|
|
286
|
+
for (const category of categories) {
|
|
287
|
+
console.log(chalk.bold(`${category.name} Modifiers:`));
|
|
288
|
+
for (const modifierName of category.modifiers) {
|
|
289
|
+
const modifier = modifierParameterRegistry.getModifier(modifierName);
|
|
290
|
+
if (modifier) {
|
|
291
|
+
const example = modifier.usage.basic[0] || `${modifierName}()`;
|
|
292
|
+
console.log(` ${chalk.cyan(`.${modifierName}()`)} - ${modifier.description}`);
|
|
293
|
+
console.log(` ${chalk.gray(`component.${example}`)}`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
console.log('');
|
|
297
|
+
}
|
|
298
|
+
console.log(chalk.yellow.bold('💡 Pro Tips:'));
|
|
299
|
+
console.log(' • Chain modifiers: .padding(16).backgroundColor("#f0f0f0").cornerRadius(8)');
|
|
300
|
+
console.log(' • Use responsive: .responsive({ sm: padding(8), lg: padding(24) })');
|
|
301
|
+
console.log(' • Import specifically: import { padding } from "@tachui/modifiers/layout"');
|
|
302
|
+
console.log(' • Check bundle sizes with: tachui modifier-docs list');
|
|
303
|
+
console.log('');
|
|
304
|
+
}
|
|
305
|
+
async function showModifierConflicts(options) {
|
|
306
|
+
const snapshot = await loadModifierSnapshot();
|
|
307
|
+
if (!snapshot) {
|
|
308
|
+
console.error(chalk.red('❌ No modifier metadata snapshot found. Run `pnpm --filter @tachui/core generate-modifier-types` first.'));
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (options.format === 'json') {
|
|
312
|
+
console.log(JSON.stringify(snapshot.conflicts, null, 2));
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
if (snapshot.conflicts.length === 0) {
|
|
316
|
+
console.log(chalk.green('✅ No modifier conflicts detected.'));
|
|
317
|
+
console.log(chalk.gray(`Total modifiers analysed: ${snapshot.totalModifiers} (generated ${snapshot.generatedAt})`));
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
const table = new Table({
|
|
321
|
+
head: [
|
|
322
|
+
chalk.blue('Modifier'),
|
|
323
|
+
chalk.blue('Plugins'),
|
|
324
|
+
chalk.blue('Categories'),
|
|
325
|
+
],
|
|
326
|
+
colWidths: [20, 35, 20],
|
|
327
|
+
wordWrap: true,
|
|
328
|
+
});
|
|
329
|
+
for (const conflict of snapshot.conflicts) {
|
|
330
|
+
const plugins = conflict.entries
|
|
331
|
+
.map((entry) => `${entry.plugin} (priority ${entry.priority})`)
|
|
332
|
+
.join('\n');
|
|
333
|
+
const categories = Array.from(new Set(conflict.entries.map((entry) => entry.category))).join(', ');
|
|
334
|
+
table.push([
|
|
335
|
+
chalk.cyan(conflict.name),
|
|
336
|
+
plugins,
|
|
337
|
+
categories || 'n/a',
|
|
338
|
+
]);
|
|
339
|
+
}
|
|
340
|
+
console.log(chalk.yellow(`⚠️ Detected ${snapshot.conflicts.length} modifier conflict${snapshot.conflicts.length === 1 ? '' : 's'}. Review the plugins involved below:\n`));
|
|
341
|
+
console.log(table.toString());
|
|
342
|
+
console.log(chalk.gray(`Snapshot generated at ${snapshot.generatedAt}. Re-run the generator after resolving conflicts.`));
|
|
343
|
+
}
|
|
344
|
+
async function loadModifierSnapshot() {
|
|
345
|
+
try {
|
|
346
|
+
const pkgPath = require.resolve('@tachui/core/package.json');
|
|
347
|
+
const coreDir = dirname(pkgPath);
|
|
348
|
+
const candidates = [
|
|
349
|
+
join(coreDir, 'dist/types/modifier-metadata.snapshot.json'),
|
|
350
|
+
join(coreDir, 'src/types/modifier-metadata.snapshot.json'),
|
|
351
|
+
];
|
|
352
|
+
for (const path of candidates) {
|
|
353
|
+
try {
|
|
354
|
+
const data = await readFile(path, 'utf8');
|
|
355
|
+
return JSON.parse(data);
|
|
356
|
+
}
|
|
357
|
+
catch (error) {
|
|
358
|
+
if (error?.code !== 'ENOENT') {
|
|
359
|
+
throw error;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
catch {
|
|
365
|
+
return null;
|
|
366
|
+
}
|
|
367
|
+
return null;
|
|
368
|
+
}
|
|
369
|
+
// Export functions for programmatic use
|
|
370
|
+
export { listModifiers, showModifierDetails, generateFullDocumentation, validateModifierParameters, showCheatSheet, showModifierConflicts, };
|
|
371
|
+
// CLI execution
|
|
372
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
373
|
+
program.parse();
|
|
374
|
+
}
|
|
375
|
+
//# sourceMappingURL=modifier-docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modifier-docs.js","sourceRoot":"","sources":["../../src/commands/modifier-docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-sensing Build-Time Import Optimizer
|
|
3
|
+
*
|
|
4
|
+
* Analyzes usage patterns and suggests optimal import paths for bundle size
|
|
5
|
+
*/
|
|
6
|
+
interface ImportAnalysis {
|
|
7
|
+
file: string;
|
|
8
|
+
imports: {
|
|
9
|
+
specifier: string;
|
|
10
|
+
source: string;
|
|
11
|
+
suggestedSource?: string;
|
|
12
|
+
bundleImpact: 'minimal' | 'moderate' | 'significant';
|
|
13
|
+
reasoning: string;
|
|
14
|
+
}[];
|
|
15
|
+
}
|
|
16
|
+
interface ImportOptimization {
|
|
17
|
+
from: string;
|
|
18
|
+
to: string;
|
|
19
|
+
savings: string;
|
|
20
|
+
risk: 'low' | 'medium' | 'high';
|
|
21
|
+
}
|
|
22
|
+
export declare class ImportOptimizer {
|
|
23
|
+
private packageMap;
|
|
24
|
+
constructor();
|
|
25
|
+
private buildPackageMap;
|
|
26
|
+
/**
|
|
27
|
+
* Analyze imports in a TypeScript/JavaScript file
|
|
28
|
+
*/
|
|
29
|
+
analyzeFile(filePath: string): ImportAnalysis;
|
|
30
|
+
/**
|
|
31
|
+
* Analyze entire project and suggest optimizations
|
|
32
|
+
*/
|
|
33
|
+
analyzeProject(projectRoot: string): Promise<ImportOptimization[]>;
|
|
34
|
+
private extractNamedImports;
|
|
35
|
+
private findOptimalImport;
|
|
36
|
+
private calculateBundleImpact;
|
|
37
|
+
private calculateSavings;
|
|
38
|
+
private assessRisk;
|
|
39
|
+
private dedupeOptimizations;
|
|
40
|
+
/**
|
|
41
|
+
* Generate import optimization report
|
|
42
|
+
*/
|
|
43
|
+
generateReport(optimizations: ImportOptimization[]): string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* CLI command for running import optimization
|
|
47
|
+
*/
|
|
48
|
+
export declare function runImportOptimizer(projectRoot?: string): Promise<void>;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=import-optimizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-optimizer.d.ts","sourceRoot":"","sources":["../src/import-optimizer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,YAAY,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,CAAA;QACpD,SAAS,EAAE,MAAM,CAAA;KAClB,EAAE,CAAA;CACJ;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;CAChC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAOf;;IAMH,OAAO,CAAC,eAAe;IAuCvB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAwC7C;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA0BxE,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,iBAAiB;IAmDzB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,cAAc,CAAC,aAAa,EAAE,kBAAkB,EAAE,GAAG,MAAM;CAyC5D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,GAAE,MAAsB,iBAY3E"}
|