@buoy-design/cli 0.1.0

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.
Files changed (101) hide show
  1. package/dist/bin.d.ts +3 -0
  2. package/dist/bin.d.ts.map +1 -0
  3. package/dist/bin.js +5 -0
  4. package/dist/bin.js.map +1 -0
  5. package/dist/commands/__tests__/ci.test.d.ts +2 -0
  6. package/dist/commands/__tests__/ci.test.d.ts.map +1 -0
  7. package/dist/commands/__tests__/ci.test.js +33 -0
  8. package/dist/commands/__tests__/ci.test.js.map +1 -0
  9. package/dist/commands/bootstrap.d.ts +3 -0
  10. package/dist/commands/bootstrap.d.ts.map +1 -0
  11. package/dist/commands/bootstrap.js +458 -0
  12. package/dist/commands/bootstrap.js.map +1 -0
  13. package/dist/commands/build.d.ts +3 -0
  14. package/dist/commands/build.d.ts.map +1 -0
  15. package/dist/commands/build.js +314 -0
  16. package/dist/commands/build.js.map +1 -0
  17. package/dist/commands/ci.d.ts +24 -0
  18. package/dist/commands/ci.d.ts.map +1 -0
  19. package/dist/commands/ci.js +273 -0
  20. package/dist/commands/ci.js.map +1 -0
  21. package/dist/commands/ci.logic.d.ts +20 -0
  22. package/dist/commands/ci.logic.d.ts.map +1 -0
  23. package/dist/commands/ci.logic.js +28 -0
  24. package/dist/commands/ci.logic.js.map +1 -0
  25. package/dist/commands/drift.d.ts +3 -0
  26. package/dist/commands/drift.d.ts.map +1 -0
  27. package/dist/commands/drift.js +178 -0
  28. package/dist/commands/drift.js.map +1 -0
  29. package/dist/commands/index.d.ts +9 -0
  30. package/dist/commands/index.d.ts.map +1 -0
  31. package/dist/commands/index.js +9 -0
  32. package/dist/commands/index.js.map +1 -0
  33. package/dist/commands/init.d.ts +3 -0
  34. package/dist/commands/init.d.ts.map +1 -0
  35. package/dist/commands/init.js +490 -0
  36. package/dist/commands/init.js.map +1 -0
  37. package/dist/commands/plugins.d.ts +3 -0
  38. package/dist/commands/plugins.d.ts.map +1 -0
  39. package/dist/commands/plugins.js +72 -0
  40. package/dist/commands/plugins.js.map +1 -0
  41. package/dist/commands/scan.d.ts +3 -0
  42. package/dist/commands/scan.d.ts.map +1 -0
  43. package/dist/commands/scan.js +266 -0
  44. package/dist/commands/scan.js.map +1 -0
  45. package/dist/commands/status.d.ts +3 -0
  46. package/dist/commands/status.d.ts.map +1 -0
  47. package/dist/commands/status.js +205 -0
  48. package/dist/commands/status.js.map +1 -0
  49. package/dist/config/index.d.ts +3 -0
  50. package/dist/config/index.d.ts.map +1 -0
  51. package/dist/config/index.js +3 -0
  52. package/dist/config/index.js.map +1 -0
  53. package/dist/config/loader.d.ts +8 -0
  54. package/dist/config/loader.d.ts.map +1 -0
  55. package/dist/config/loader.js +67 -0
  56. package/dist/config/loader.js.map +1 -0
  57. package/dist/config/schema.d.ts +1040 -0
  58. package/dist/config/schema.d.ts.map +1 -0
  59. package/dist/config/schema.js +116 -0
  60. package/dist/config/schema.js.map +1 -0
  61. package/dist/detect/frameworks.d.ts +18 -0
  62. package/dist/detect/frameworks.d.ts.map +1 -0
  63. package/dist/detect/frameworks.js +168 -0
  64. package/dist/detect/frameworks.js.map +1 -0
  65. package/dist/detect/index.d.ts +3 -0
  66. package/dist/detect/index.d.ts.map +1 -0
  67. package/dist/detect/index.js +3 -0
  68. package/dist/detect/index.js.map +1 -0
  69. package/dist/detect/project-detector.d.ts +61 -0
  70. package/dist/detect/project-detector.d.ts.map +1 -0
  71. package/dist/detect/project-detector.js +849 -0
  72. package/dist/detect/project-detector.js.map +1 -0
  73. package/dist/index.d.ts +5 -0
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/index.js +22 -0
  76. package/dist/index.js.map +1 -0
  77. package/dist/output/formatters.d.ts +21 -0
  78. package/dist/output/formatters.d.ts.map +1 -0
  79. package/dist/output/formatters.js +421 -0
  80. package/dist/output/formatters.js.map +1 -0
  81. package/dist/output/index.d.ts +3 -0
  82. package/dist/output/index.d.ts.map +1 -0
  83. package/dist/output/index.js +3 -0
  84. package/dist/output/index.js.map +1 -0
  85. package/dist/output/reporters.d.ts +23 -0
  86. package/dist/output/reporters.d.ts.map +1 -0
  87. package/dist/output/reporters.js +147 -0
  88. package/dist/output/reporters.js.map +1 -0
  89. package/dist/plugins/index.d.ts +3 -0
  90. package/dist/plugins/index.d.ts.map +1 -0
  91. package/dist/plugins/index.js +3 -0
  92. package/dist/plugins/index.js.map +1 -0
  93. package/dist/plugins/loader.d.ts +11 -0
  94. package/dist/plugins/loader.d.ts.map +1 -0
  95. package/dist/plugins/loader.js +77 -0
  96. package/dist/plugins/loader.js.map +1 -0
  97. package/dist/plugins/registry.d.ts +15 -0
  98. package/dist/plugins/registry.d.ts.map +1 -0
  99. package/dist/plugins/registry.js +32 -0
  100. package/dist/plugins/registry.js.map +1 -0
  101. package/package.json +48 -0
package/dist/bin.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/dist/bin.js ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ import { createCli } from './index.js';
3
+ const cli = createCli();
4
+ cli.parse();
5
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;AACxB,GAAG,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ci.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci.test.d.ts","sourceRoot":"","sources":["../../../src/commands/__tests__/ci.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ // apps/cli/src/commands/__tests__/ci.test.ts
2
+ import { describe, it, expect } from 'vitest';
3
+ // Import the function we want to test
4
+ // Note: We'll need to export buildCIOutput for testing
5
+ // For now, test the output structure
6
+ describe('buoy ci', () => {
7
+ describe('exit codes', () => {
8
+ it('should exit 0 when no drift found', () => {
9
+ // Placeholder - would need to mock config and scanners
10
+ expect(true).toBe(true);
11
+ });
12
+ it('should exit 1 when critical drift found and fail-on=critical', () => {
13
+ expect(true).toBe(true);
14
+ });
15
+ it('should exit 0 when warning drift found and fail-on=critical', () => {
16
+ expect(true).toBe(true);
17
+ });
18
+ it('should exit 1 when warning drift found and fail-on=warning', () => {
19
+ expect(true).toBe(true);
20
+ });
21
+ it('should exit 0 when fail-on=none regardless of drift', () => {
22
+ expect(true).toBe(true);
23
+ });
24
+ });
25
+ describe('output format', () => {
26
+ it('should output valid JSON with required fields', () => {
27
+ const expectedFields = ['version', 'timestamp', 'summary', 'topIssues', 'exitCode'];
28
+ // Placeholder
29
+ expect(expectedFields.length).toBe(5);
30
+ });
31
+ });
32
+ });
33
+ //# sourceMappingURL=ci.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/ci.test.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,sCAAsC;AACtC,uDAAuD;AACvD,qCAAqC;AAErC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,uDAAuD;YACvD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YACpF,cAAc;YACd,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createBootstrapCommand(): Command;
3
+ //# sourceMappingURL=bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,wBAAgB,sBAAsB,IAAI,OAAO,CA4KhD"}
@@ -0,0 +1,458 @@
1
+ import { Command } from 'commander';
2
+ import { writeFileSync, readFileSync } from 'fs';
3
+ import { resolve, relative } from 'path';
4
+ import chalk from 'chalk';
5
+ import { glob } from 'glob';
6
+ import { loadConfig, getConfigPath } from '../config/loader.js';
7
+ import { spinner, success, error, info, header, newline, warning } from '../output/reporters.js';
8
+ import { detectFrameworks } from '../detect/frameworks.js';
9
+ // Patterns for detecting hardcoded values in CSS/SCSS
10
+ const COLOR_PATTERNS = [
11
+ /#[0-9a-fA-F]{3,8}\b/g, // Hex colors
12
+ /rgb\s*\([^)]+\)/gi, // rgb()
13
+ /rgba\s*\([^)]+\)/gi, // rgba()
14
+ /hsl\s*\([^)]+\)/gi, // hsl()
15
+ /hsla\s*\([^)]+\)/gi, // hsla()
16
+ ];
17
+ const SPACING_PATTERN = /:\s*(\d+(?:\.\d+)?(?:px|rem|em))\s*[;}\n]/g;
18
+ const FONT_SIZE_PATTERN = /font-size\s*:\s*(\d+(?:\.\d+)?(?:px|rem|em|pt))/gi;
19
+ export function createBootstrapCommand() {
20
+ const cmd = new Command('bootstrap')
21
+ .description('Extract design tokens from existing hardcoded values')
22
+ .option('--format <format>', 'Output format: json, css-variables, tailwind', 'json')
23
+ .option('--output <path>', 'Output file path', 'tokens.json')
24
+ .option('--dry-run', 'Preview without writing files')
25
+ .option('-v, --verbose', 'Show detailed extraction info')
26
+ .action(async (options) => {
27
+ try {
28
+ const cwd = process.cwd();
29
+ // Early validation: Check if this is a frontend project
30
+ const frameworks = await detectFrameworks(cwd);
31
+ const frontendFrameworks = frameworks.filter(f => ['react', 'vue', 'svelte', 'angular', 'webcomponents', 'tailwind', 'css'].includes(f.plugin));
32
+ // Check for style files
33
+ const stylePatterns = ['**/*.css', '**/*.scss', '**/*.sass', '**/*.less'];
34
+ const styleIgnore = ['**/node_modules/**', '**/dist/**', '**/build/**'];
35
+ let hasStyleFiles = false;
36
+ for (const pattern of stylePatterns) {
37
+ const matches = await glob(pattern, { cwd, ignore: styleIgnore, nodir: true });
38
+ if (matches.length > 0) {
39
+ hasStyleFiles = true;
40
+ break;
41
+ }
42
+ }
43
+ // If no frontend framework and no style files, abort early
44
+ if (frontendFrameworks.length === 0 && !hasStyleFiles) {
45
+ newline();
46
+ warning('This doesn\'t appear to be a frontend project.');
47
+ newline();
48
+ info('Bootstrap extracts design tokens from existing CSS and component files.');
49
+ info('No frontend frameworks or stylesheets were detected in this project.');
50
+ newline();
51
+ console.log(chalk.dim('Detected project type:'));
52
+ if (frameworks.length > 0) {
53
+ frameworks.forEach(f => console.log(chalk.dim(` • ${f.name} (${f.evidence})`)));
54
+ }
55
+ else {
56
+ console.log(chalk.dim(' • No known frameworks detected'));
57
+ }
58
+ newline();
59
+ console.log(chalk.cyan('💡 If this is a frontend project:'));
60
+ console.log(chalk.dim(' • Ensure you\'re in the correct directory'));
61
+ console.log(chalk.dim(' • Check that your CSS/component files exist'));
62
+ newline();
63
+ console.log(chalk.cyan('💡 To create a design system from scratch:'));
64
+ console.log(chalk.dim(' Run: buoy build'));
65
+ return;
66
+ }
67
+ const spin = spinner('Scanning for hardcoded values...');
68
+ const extracted = new Map();
69
+ // Check if config exists - if so, use component scanning
70
+ const configExists = getConfigPath() !== null;
71
+ if (configExists) {
72
+ spin.text = 'Scanning components for hardcoded values...';
73
+ await extractFromComponents(cwd, extracted, options.verbose);
74
+ }
75
+ // Always scan CSS/SCSS files
76
+ spin.text = 'Scanning stylesheets...';
77
+ await extractFromStylesheets(cwd, extracted, options.verbose);
78
+ spin.stop();
79
+ // Group by type
80
+ const colors = [...extracted.values()].filter(v => v.type === 'color');
81
+ const spacing = [...extracted.values()].filter(v => v.type === 'spacing');
82
+ const fontSizes = [...extracted.values()].filter(v => v.type === 'fontSize');
83
+ // Display summary
84
+ newline();
85
+ header('Extracted Values');
86
+ newline();
87
+ if (colors.length === 0 && spacing.length === 0 && fontSizes.length === 0) {
88
+ info('No hardcoded values found to extract.');
89
+ newline();
90
+ info('This could mean:');
91
+ info(' • Your codebase already uses design tokens');
92
+ info(' • No CSS/component files were found');
93
+ info(' • Values are using CSS variables or theme objects');
94
+ newline();
95
+ // Suggest buoy build
96
+ console.log(chalk.cyan('💡 Want to create a design system from scratch?'));
97
+ console.log(chalk.dim(' Run: buoy build'));
98
+ return;
99
+ }
100
+ console.log(` ${chalk.cyan('Colors:')} ${colors.length} unique values`);
101
+ if (options.verbose && colors.length > 0) {
102
+ colors.slice(0, 5).forEach(c => {
103
+ console.log(chalk.dim(` ${c.value} (${c.count}x)`));
104
+ });
105
+ if (colors.length > 5)
106
+ console.log(chalk.dim(` ... and ${colors.length - 5} more`));
107
+ }
108
+ console.log(` ${chalk.cyan('Spacing:')} ${spacing.length} unique values`);
109
+ if (options.verbose && spacing.length > 0) {
110
+ spacing.slice(0, 5).forEach(s => {
111
+ console.log(chalk.dim(` ${s.value} (${s.count}x)`));
112
+ });
113
+ if (spacing.length > 5)
114
+ console.log(chalk.dim(` ... and ${spacing.length - 5} more`));
115
+ }
116
+ console.log(` ${chalk.cyan('Font sizes:')} ${fontSizes.length} unique values`);
117
+ if (options.verbose && fontSizes.length > 0) {
118
+ fontSizes.slice(0, 5).forEach(f => {
119
+ console.log(chalk.dim(` ${f.value} (${f.count}x)`));
120
+ });
121
+ if (fontSizes.length > 5)
122
+ console.log(chalk.dim(` ... and ${fontSizes.length - 5} more`));
123
+ }
124
+ newline();
125
+ // Generate output
126
+ const outputPath = resolve(cwd, options.output);
127
+ if (options.dryRun) {
128
+ info('Dry run - no files written');
129
+ newline();
130
+ console.log(chalk.dim('Would generate:'));
131
+ console.log(chalk.dim(` ${outputPath}`));
132
+ newline();
133
+ // Preview the output
134
+ const tokens = generateTokens(colors, spacing, fontSizes);
135
+ console.log(chalk.dim(JSON.stringify(tokens, null, 2).slice(0, 500) + '...'));
136
+ return;
137
+ }
138
+ // Generate and write tokens
139
+ const tokens = generateTokens(colors, spacing, fontSizes);
140
+ switch (options.format) {
141
+ case 'css-variables':
142
+ writeFileSync(outputPath.replace('.json', '.css'), generateCssVariables(tokens));
143
+ success(`Created ${relative(cwd, outputPath.replace('.json', '.css'))}`);
144
+ break;
145
+ case 'tailwind':
146
+ writeFileSync(outputPath.replace('.json', '.js'), generateTailwindConfig(tokens));
147
+ success(`Created ${relative(cwd, outputPath.replace('.json', '.js'))}`);
148
+ break;
149
+ default:
150
+ writeFileSync(outputPath, JSON.stringify(tokens, null, 2));
151
+ success(`Created ${relative(cwd, outputPath)}`);
152
+ }
153
+ newline();
154
+ info('Next steps:');
155
+ info(' 1. Review and rename tokens in the generated file');
156
+ info(' 2. Update your config to reference the token file');
157
+ info(' 3. Run ' + chalk.cyan('buoy drift check') + ' to find usage of hardcoded values');
158
+ newline();
159
+ console.log(chalk.dim('💡 Tip: Use buoy build to generate a complete design system with AI'));
160
+ }
161
+ catch (err) {
162
+ const message = err instanceof Error ? err.message : String(err);
163
+ error(`Bootstrap failed: ${message}`);
164
+ process.exit(1);
165
+ }
166
+ });
167
+ return cmd;
168
+ }
169
+ async function extractFromComponents(cwd, extracted, _verbose) {
170
+ const { config } = await loadConfig();
171
+ // Import scanners dynamically
172
+ const { ReactComponentScanner, VueComponentScanner, SvelteComponentScanner, } = await import('@buoy-design/scanners/git');
173
+ // Scan React components
174
+ if (config.sources.react?.enabled) {
175
+ const scanner = new ReactComponentScanner({
176
+ projectRoot: cwd,
177
+ include: config.sources.react.include,
178
+ exclude: config.sources.react.exclude,
179
+ });
180
+ const result = await scanner.scan();
181
+ for (const component of result.items) {
182
+ if (component.metadata.hardcodedValues) {
183
+ const sourcePath = 'path' in component.source ? component.source.path : component.name;
184
+ for (const hv of component.metadata.hardcodedValues) {
185
+ addExtractedValue(extracted, hv.value, hv.type, sourcePath);
186
+ }
187
+ }
188
+ }
189
+ }
190
+ // Scan Vue components
191
+ if (config.sources.vue?.enabled) {
192
+ const scanner = new VueComponentScanner({
193
+ projectRoot: cwd,
194
+ include: config.sources.vue.include,
195
+ exclude: config.sources.vue.exclude,
196
+ });
197
+ const result = await scanner.scan();
198
+ for (const component of result.items) {
199
+ if (component.metadata.hardcodedValues) {
200
+ const sourcePath = 'path' in component.source ? component.source.path : component.name;
201
+ for (const hv of component.metadata.hardcodedValues) {
202
+ addExtractedValue(extracted, hv.value, hv.type, sourcePath);
203
+ }
204
+ }
205
+ }
206
+ }
207
+ // Scan Svelte components
208
+ if (config.sources.svelte?.enabled) {
209
+ const scanner = new SvelteComponentScanner({
210
+ projectRoot: cwd,
211
+ include: config.sources.svelte.include,
212
+ exclude: config.sources.svelte.exclude,
213
+ });
214
+ const result = await scanner.scan();
215
+ for (const component of result.items) {
216
+ if (component.metadata.hardcodedValues) {
217
+ const sourcePath = 'path' in component.source ? component.source.path : component.name;
218
+ for (const hv of component.metadata.hardcodedValues) {
219
+ addExtractedValue(extracted, hv.value, hv.type, sourcePath);
220
+ }
221
+ }
222
+ }
223
+ }
224
+ }
225
+ async function extractFromStylesheets(cwd, extracted, _verbose) {
226
+ // Find CSS/SCSS files
227
+ const patterns = ['**/*.css', '**/*.scss', '**/*.sass', '**/*.less'];
228
+ const ignore = ['**/node_modules/**', '**/dist/**', '**/build/**', '**/.next/**'];
229
+ const files = [];
230
+ for (const pattern of patterns) {
231
+ const matches = await glob(pattern, { cwd, ignore, absolute: true });
232
+ files.push(...matches);
233
+ }
234
+ for (const file of files) {
235
+ try {
236
+ const content = readFileSync(file, 'utf-8');
237
+ const relativePath = relative(cwd, file);
238
+ // Skip files that are likely generated or vendor
239
+ if (relativePath.includes('vendor') || relativePath.includes('.min.')) {
240
+ continue;
241
+ }
242
+ // Extract colors
243
+ for (const pattern of COLOR_PATTERNS) {
244
+ const matches = content.matchAll(pattern);
245
+ for (const match of matches) {
246
+ const value = match[0].toLowerCase();
247
+ // Skip CSS variable references
248
+ if (!value.includes('var(')) {
249
+ addExtractedValue(extracted, value, 'color', relativePath);
250
+ }
251
+ }
252
+ }
253
+ // Extract spacing values
254
+ const spacingMatches = content.matchAll(SPACING_PATTERN);
255
+ for (const match of spacingMatches) {
256
+ if (match[1]) {
257
+ addExtractedValue(extracted, match[1], 'spacing', relativePath);
258
+ }
259
+ }
260
+ // Extract font sizes
261
+ const fontMatches = content.matchAll(FONT_SIZE_PATTERN);
262
+ for (const match of fontMatches) {
263
+ if (match[1]) {
264
+ addExtractedValue(extracted, match[1], 'fontSize', relativePath);
265
+ }
266
+ }
267
+ }
268
+ catch {
269
+ // Skip files that can't be read
270
+ }
271
+ }
272
+ }
273
+ function addExtractedValue(extracted, value, type, source) {
274
+ const key = `${type}:${value}`;
275
+ const existing = extracted.get(key);
276
+ if (existing) {
277
+ existing.count++;
278
+ if (!existing.sources.includes(source)) {
279
+ existing.sources.push(source);
280
+ }
281
+ }
282
+ else {
283
+ extracted.set(key, {
284
+ type,
285
+ value,
286
+ count: 1,
287
+ sources: [source],
288
+ });
289
+ }
290
+ }
291
+ function generateTokens(colors, spacing, fontSizes) {
292
+ const tokens = {
293
+ colors: {},
294
+ spacing: {},
295
+ typography: {
296
+ fontSizes: {},
297
+ },
298
+ };
299
+ // Sort by frequency (most used first)
300
+ colors.sort((a, b) => b.count - a.count);
301
+ spacing.sort((a, b) => b.count - a.count);
302
+ fontSizes.sort((a, b) => b.count - a.count);
303
+ // Generate color tokens
304
+ colors.forEach((color, i) => {
305
+ const name = generateColorName(color.value, i);
306
+ tokens.colors[name] = {
307
+ value: color.value,
308
+ description: `Used ${color.count}x`,
309
+ };
310
+ });
311
+ // Generate spacing tokens
312
+ spacing.forEach((space, i) => {
313
+ const name = generateSpacingName(space.value, i);
314
+ tokens.spacing[name] = {
315
+ value: space.value,
316
+ description: `Used ${space.count}x`,
317
+ };
318
+ });
319
+ // Generate font size tokens
320
+ fontSizes.forEach((size, i) => {
321
+ const name = generateFontSizeName(size.value, i);
322
+ tokens.typography.fontSizes[name] = {
323
+ value: size.value,
324
+ description: `Used ${size.count}x`,
325
+ };
326
+ });
327
+ return tokens;
328
+ }
329
+ function generateColorName(value, index) {
330
+ // Try to generate semantic names based on value
331
+ const lower = value.toLowerCase();
332
+ if (lower === '#fff' || lower === '#ffffff' || lower === 'rgb(255, 255, 255)') {
333
+ return 'white';
334
+ }
335
+ if (lower === '#000' || lower === '#000000' || lower === 'rgb(0, 0, 0)') {
336
+ return 'black';
337
+ }
338
+ // For other colors, use generic names
339
+ return `color-${index + 1}`;
340
+ }
341
+ function generateSpacingName(value, index) {
342
+ // Map common values to semantic names
343
+ const num = parseFloat(value);
344
+ if (value.includes('rem')) {
345
+ return `space-${Math.round(num * 4)}`;
346
+ }
347
+ if (value.includes('px')) {
348
+ if (num <= 4)
349
+ return 'space-xs';
350
+ if (num <= 8)
351
+ return 'space-sm';
352
+ if (num <= 16)
353
+ return 'space-md';
354
+ if (num <= 24)
355
+ return 'space-lg';
356
+ if (num <= 32)
357
+ return 'space-xl';
358
+ return `space-${index + 1}`;
359
+ }
360
+ return `space-${index + 1}`;
361
+ }
362
+ function generateFontSizeName(value, index) {
363
+ const num = parseFloat(value);
364
+ if (value.includes('px')) {
365
+ if (num <= 12)
366
+ return 'text-xs';
367
+ if (num <= 14)
368
+ return 'text-sm';
369
+ if (num <= 16)
370
+ return 'text-base';
371
+ if (num <= 18)
372
+ return 'text-lg';
373
+ if (num <= 20)
374
+ return 'text-xl';
375
+ if (num <= 24)
376
+ return 'text-2xl';
377
+ if (num <= 30)
378
+ return 'text-3xl';
379
+ return `text-${index + 1}`;
380
+ }
381
+ if (value.includes('rem')) {
382
+ if (num <= 0.75)
383
+ return 'text-xs';
384
+ if (num <= 0.875)
385
+ return 'text-sm';
386
+ if (num <= 1)
387
+ return 'text-base';
388
+ if (num <= 1.125)
389
+ return 'text-lg';
390
+ if (num <= 1.25)
391
+ return 'text-xl';
392
+ return `text-${index + 1}`;
393
+ }
394
+ return `text-${index + 1}`;
395
+ }
396
+ function generateCssVariables(tokens) {
397
+ const lines = [
398
+ '/* Generated by buoy bootstrap */',
399
+ '/* Review and rename these variables as needed */',
400
+ '',
401
+ ':root {',
402
+ ];
403
+ // Colors
404
+ if (Object.keys(tokens.colors).length > 0) {
405
+ lines.push(' /* Colors */');
406
+ for (const [name, token] of Object.entries(tokens.colors)) {
407
+ lines.push(` --${name}: ${token.value};`);
408
+ }
409
+ lines.push('');
410
+ }
411
+ // Spacing
412
+ if (Object.keys(tokens.spacing).length > 0) {
413
+ lines.push(' /* Spacing */');
414
+ for (const [name, token] of Object.entries(tokens.spacing)) {
415
+ lines.push(` --${name}: ${token.value};`);
416
+ }
417
+ lines.push('');
418
+ }
419
+ // Typography
420
+ if (Object.keys(tokens.typography.fontSizes).length > 0) {
421
+ lines.push(' /* Typography */');
422
+ for (const [name, token] of Object.entries(tokens.typography.fontSizes)) {
423
+ lines.push(` --${name}: ${token.value};`);
424
+ }
425
+ }
426
+ lines.push('}');
427
+ lines.push('');
428
+ return lines.join('\n');
429
+ }
430
+ function generateTailwindConfig(tokens) {
431
+ const colors = {};
432
+ const spacing = {};
433
+ const fontSize = {};
434
+ for (const [name, token] of Object.entries(tokens.colors)) {
435
+ colors[name] = token.value;
436
+ }
437
+ for (const [name, token] of Object.entries(tokens.spacing)) {
438
+ spacing[name.replace('space-', '')] = token.value;
439
+ }
440
+ for (const [name, token] of Object.entries(tokens.typography.fontSizes)) {
441
+ fontSize[name.replace('text-', '')] = token.value;
442
+ }
443
+ return `// Generated by buoy bootstrap
444
+ // Review and rename these values as needed
445
+
446
+ /** @type {import('tailwindcss').Config} */
447
+ module.exports = {
448
+ theme: {
449
+ extend: {
450
+ colors: ${JSON.stringify(colors, null, 6).replace(/\n/g, '\n ')},
451
+ spacing: ${JSON.stringify(spacing, null, 6).replace(/\n/g, '\n ')},
452
+ fontSize: ${JSON.stringify(fontSize, null, 6).replace(/\n/g, '\n ')},
453
+ },
454
+ },
455
+ };
456
+ `;
457
+ }
458
+ //# sourceMappingURL=bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,sDAAsD;AACtD,MAAM,cAAc,GAAG;IACrB,sBAAsB,EAAY,aAAa;IAC/C,mBAAmB,EAAgB,QAAQ;IAC3C,oBAAoB,EAAe,SAAS;IAC5C,mBAAmB,EAAgB,QAAQ;IAC3C,oBAAoB,EAAe,SAAS;CAC7C,CAAC;AAEF,MAAM,eAAe,GAAG,4CAA4C,CAAC;AACrE,MAAM,iBAAiB,GAAG,mDAAmD,CAAC;AAkB9E,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;SACjC,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,EAAE,MAAM,CAAC;SACnF,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,aAAa,CAAC;SAC5D,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,+BAA+B,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAE1B,wDAAwD;YACxD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC/C,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAC7F,CAAC;YAEF,wBAAwB;YACxB,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,CAAC,oBAAoB,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YACxE,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtD,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,gDAAgD,CAAC,CAAC;gBAC1D,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,yEAAyE,CAAC,CAAC;gBAChF,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBAC7E,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACjD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;gBACzE,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;YACzD,MAAM,SAAS,GAAgC,IAAI,GAAG,EAAE,CAAC;YAEzD,yDAAyD;YACzD,MAAM,YAAY,GAAG,aAAa,EAAE,KAAK,IAAI,CAAC;YAE9C,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,GAAG,6CAA6C,CAAC;gBAC1D,MAAM,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/D,CAAC;YAED,6BAA6B;YAC7B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;YACtC,MAAM,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAE9D,IAAI,CAAC,IAAI,EAAE,CAAC;YAEZ,gBAAgB;YAChB,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAE7E,kBAAkB;YAClB,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC3B,OAAO,EAAE,CAAC;YAEV,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1E,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBAC9C,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACzB,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBACrD,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBAC9C,IAAI,CAAC,qDAAqD,CAAC,CAAC;gBAC5D,OAAO,EAAE,CAAC;gBAEV,qBAAqB;gBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,gBAAgB,CAAC,CAAC;YACzE,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACzF,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC;YAC3E,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3F,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,MAAM,gBAAgB,CAAC,CAAC;YAChF,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBACH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/F,CAAC;YAED,OAAO,EAAE,CAAC;YAEV,kBAAkB;YAClB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAEhD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC1C,OAAO,EAAE,CAAC;gBAEV,qBAAqB;gBACrB,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBAC9E,OAAO;YACT,CAAC;YAED,4BAA4B;YAC5B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAE1D,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,eAAe;oBAClB,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;oBACjF,OAAO,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzE,MAAM;gBACR,KAAK,UAAU;oBACb,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAClF,OAAO,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxE,MAAM;gBACR;oBACE,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,WAAW,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,aAAa,CAAC,CAAC;YACpB,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAC5D,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,oCAAoC,CAAC,CAAC;YAC1F,OAAO,EAAE,CAAC;YAEV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC,CAAC;QAEhG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,GAAW,EACX,SAAsC,EACtC,QAAiB;IAEjB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IAEtC,8BAA8B;IAC9B,MAAM,EACJ,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,GACvB,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAE9C,wBAAwB;IACxB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC;YACxC,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;SACtC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;gBACvF,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;oBACpD,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;YACtC,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;YACnC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;SACpC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;gBACvF,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;oBACpD,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC;YACzC,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;YACtC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;SACvC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAEpC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;gBACvF,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;oBACpD,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,GAAW,EACX,SAAsC,EACtC,QAAiB;IAEjB,sBAAsB;IACtB,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,CAAC,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAElF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAEzC,iDAAiD;YACjD,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtE,SAAS;YACX,CAAC;YAED,iBAAiB;YACjB,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACrC,+BAA+B;oBAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACzD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,qBAAqB;YACrB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACxD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAsC,EACtC,KAAa,EACb,IAA4B,EAC5B,MAAc;IAEd,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,IAAI;YACJ,KAAK;YACL,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC,MAAM,CAAC;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,MAAwB,EACxB,OAAyB,EACzB,SAA2B;IAE3B,MAAM,MAAM,GAAgB;QAC1B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,UAAU,EAAE;YACV,SAAS,EAAE,EAAE;SACd;KACF,CAAC;IAEF,sCAAsC;IACtC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1C,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAE5C,wBAAwB;IACxB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,QAAQ,KAAK,CAAC,KAAK,GAAG;SACpC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;YACrB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,QAAQ,KAAK,CAAC,KAAK,GAAG;SACpC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,QAAQ,IAAI,CAAC,KAAK,GAAG;SACnC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,KAAa;IACrD,gDAAgD;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAElC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;QAC9E,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QACxE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,sCAAsC;IACtC,OAAO,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,KAAa;IACvD,sCAAsC;IACtC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,UAAU,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,UAAU,CAAC;QAChC,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,UAAU,CAAC;QACjC,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,UAAU,CAAC;QACjC,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,UAAU,CAAC;QACjC,OAAO,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,KAAa;IACxD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAChC,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAChC,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,WAAW,CAAC;QAClC,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAChC,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAChC,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,UAAU,CAAC;QACjC,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,UAAU,CAAC;QACjC,OAAO,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QAClC,IAAI,GAAG,IAAI,KAAK;YAAE,OAAO,SAAS,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,WAAW,CAAC;QACjC,IAAI,GAAG,IAAI,KAAK;YAAE,OAAO,SAAS,CAAC;QACnC,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAmB;IAC/C,MAAM,KAAK,GAAa;QACtB,mCAAmC;QACnC,mDAAmD;QACnD,EAAE;QACF,SAAS;KACV,CAAC;IAEF,SAAS;IACT,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,UAAU;IACV,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,aAAa;IACb,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAmB;IACjD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IACpD,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IACpD,CAAC;IAED,OAAO;;;;;;;gBAOO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC;iBACzD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC;kBAC1D,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC;;;;CAI7E,CAAC;AACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createBuildCommand(): Command;
3
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwFpC,wBAAgB,kBAAkB,IAAI,OAAO,CAyH5C"}