@auto-engineer/design-system-importer 0.4.8 → 0.5.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.
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-format.log +10 -8
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +14 -12
- package/.turbo/turbo-type-check.log +5 -4
- package/CHANGELOG.md +11 -0
- package/DEBUG.md +195 -0
- package/README.md +45 -18
- package/dist/FigmaComponentsBuilder.d.ts +1 -0
- package/dist/FigmaComponentsBuilder.d.ts.map +1 -1
- package/dist/FigmaComponentsBuilder.js +138 -26
- package/dist/FigmaComponentsBuilder.js.map +1 -1
- package/dist/cli-manifest.d.ts +3 -0
- package/dist/cli-manifest.d.ts.map +1 -0
- package/dist/cli-manifest.js +17 -0
- package/dist/cli-manifest.js.map +1 -0
- package/dist/commands/import-design-system.d.ts +8 -1
- package/dist/commands/import-design-system.d.ts.map +1 -1
- package/dist/commands/import-design-system.js +88 -5
- package/dist/commands/import-design-system.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +104 -17
- package/dist/index.js.map +1 -1
- package/dist/utils/FilterLoader.d.ts.map +1 -1
- package/dist/utils/FilterLoader.js +84 -4
- package/dist/utils/FilterLoader.js.map +1 -1
- package/package.json +5 -6
- package/src/FigmaComponentsBuilder.ts +162 -29
- package/src/cli-manifest.ts +18 -0
- package/src/commands/import-design-system.ts +101 -5
- package/src/index.ts +125 -16
- package/src/utils/FilterLoader.ts +85 -4
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.js
CHANGED
|
@@ -4,118 +4,182 @@ import * as dotenv from 'dotenv';
|
|
|
4
4
|
import { fileURLToPath } from 'url';
|
|
5
5
|
import * as Figma from 'figma-api';
|
|
6
6
|
import { FigmaComponentsBuilder } from './FigmaComponentsBuilder.js';
|
|
7
|
+
import createDebug from 'debug';
|
|
7
8
|
// import { AIProvider, generateTextWithAI } from '@auto-engineer/ai-gateway';
|
|
9
|
+
const debug = createDebug('design-system-importer');
|
|
10
|
+
const debugFiles = createDebug('design-system-importer:files');
|
|
11
|
+
const debugFigma = createDebug('design-system-importer:figma');
|
|
12
|
+
const debugMarkdown = createDebug('design-system-importer:markdown');
|
|
13
|
+
const debugComponents = createDebug('design-system-importer:components');
|
|
14
|
+
const debugCopy = createDebug('design-system-importer:copy');
|
|
8
15
|
dotenv.config();
|
|
16
|
+
debug('Design system importer initialized');
|
|
9
17
|
const __filename = fileURLToPath(import.meta.url);
|
|
18
|
+
debugFigma('Initializing Figma API with personal access token');
|
|
10
19
|
const api = new Figma.Api({
|
|
11
20
|
personalAccessToken: process.env.FIGMA_PERSONAL_TOKEN,
|
|
12
21
|
});
|
|
22
|
+
debugFigma('Figma API initialized');
|
|
13
23
|
async function getAllTsxFiles(dir) {
|
|
24
|
+
debugFiles('Scanning directory for TSX files: %s', dir);
|
|
14
25
|
let results = [];
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
try {
|
|
27
|
+
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
28
|
+
debugFiles('Found %d entries in %s', entries.length, dir);
|
|
29
|
+
for (const entry of entries) {
|
|
30
|
+
const fullPath = path.join(dir, entry.name);
|
|
31
|
+
if (entry.isDirectory()) {
|
|
32
|
+
debugFiles('Entering subdirectory: %s', entry.name);
|
|
33
|
+
const subResults = await getAllTsxFiles(fullPath);
|
|
34
|
+
results = results.concat(subResults);
|
|
35
|
+
debugFiles('Found %d TSX files in %s', subResults.length, entry.name);
|
|
36
|
+
}
|
|
37
|
+
else if (entry.isFile() && entry.name.endsWith('.tsx')) {
|
|
38
|
+
debugFiles('Found TSX file: %s', entry.name);
|
|
39
|
+
results.push(fullPath);
|
|
40
|
+
}
|
|
23
41
|
}
|
|
24
42
|
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
debugFiles('Error reading directory %s: %O', dir, error);
|
|
45
|
+
}
|
|
46
|
+
debugFiles('Total TSX files found in %s: %d', dir, results.length);
|
|
25
47
|
return results;
|
|
26
48
|
}
|
|
27
49
|
function getComponentNameFromFile(filePath) {
|
|
50
|
+
debugComponents('Extracting component name from: %s', filePath);
|
|
28
51
|
const file = path.basename(filePath, '.tsx');
|
|
29
52
|
// Capitalize first letter
|
|
30
|
-
|
|
53
|
+
const componentName = file.charAt(0).toUpperCase() + file.slice(1);
|
|
54
|
+
debugComponents('Component name: %s', componentName);
|
|
55
|
+
return componentName;
|
|
31
56
|
}
|
|
32
57
|
export async function generateDesignSystemMarkdown(inputDir, outputDir) {
|
|
58
|
+
debugMarkdown('Generating design system markdown from: %s to: %s', inputDir, outputDir);
|
|
33
59
|
const files = await getAllTsxFiles(inputDir);
|
|
34
60
|
if (files.length === 0) {
|
|
61
|
+
debugMarkdown('WARNING: No .tsx files found in input directory');
|
|
35
62
|
console.warn('No .tsx files found in input directory.');
|
|
36
63
|
return;
|
|
37
64
|
}
|
|
65
|
+
debugMarkdown('Processing %d TSX files', files.length);
|
|
38
66
|
const componentNames = files.map(getComponentNameFromFile).sort();
|
|
67
|
+
debugMarkdown('Found %d unique components', componentNames.length);
|
|
39
68
|
let md = '# Design System\n\n## Components\n\n';
|
|
40
69
|
for (const name of componentNames) {
|
|
41
70
|
md += `- ${name}\n`;
|
|
71
|
+
debugMarkdown('Added component to markdown: %s', name);
|
|
42
72
|
}
|
|
73
|
+
debugMarkdown('Creating output directory: %s', outputDir);
|
|
43
74
|
await fs.mkdir(outputDir, { recursive: true });
|
|
44
75
|
const outPath = path.join(outputDir, 'design-system.md');
|
|
76
|
+
debugMarkdown('Writing markdown to: %s', outPath);
|
|
45
77
|
await fs.writeFile(outPath, md);
|
|
78
|
+
debugMarkdown('Markdown file written successfully, size: %d bytes', md.length);
|
|
46
79
|
}
|
|
47
80
|
export * from './commands/import-design-system.js';
|
|
81
|
+
export { CLI_MANIFEST } from './cli-manifest.js';
|
|
48
82
|
async function copyFile(inputDir, outputDir, file) {
|
|
49
83
|
const srcPath = path.join(inputDir, file);
|
|
50
84
|
const destPath = path.join(outputDir, file);
|
|
85
|
+
debugCopy('Attempting to copy file: %s from %s to %s', file, inputDir, outputDir);
|
|
51
86
|
// Check if source file exists
|
|
52
87
|
try {
|
|
53
88
|
await fs.access(srcPath);
|
|
89
|
+
debugCopy('Source file exists: %s', srcPath);
|
|
90
|
+
debugCopy('Creating output directory: %s', outputDir);
|
|
54
91
|
await fs.mkdir(outputDir, { recursive: true });
|
|
55
92
|
await fs.copyFile(srcPath, destPath);
|
|
93
|
+
debugCopy('Successfully copied %s to %s', file, destPath);
|
|
56
94
|
}
|
|
57
95
|
catch (error) {
|
|
58
96
|
// File doesn't exist, skip copying
|
|
97
|
+
debugCopy('File %s not found in %s, error: %O', file, inputDir, error);
|
|
59
98
|
console.log(`File ${file} not found in ${inputDir}, skipping...`, error);
|
|
60
99
|
}
|
|
61
100
|
}
|
|
62
101
|
export async function copyDesignSystemDocsAndUserPreferences(inputDir, outputDir) {
|
|
102
|
+
debugCopy('Copying design system docs from %s to %s', inputDir, outputDir);
|
|
63
103
|
// Ensure output directory exists
|
|
104
|
+
debugCopy('Creating output directory: %s', outputDir);
|
|
64
105
|
await fs.mkdir(outputDir, { recursive: true });
|
|
65
106
|
// Try to copy existing files
|
|
107
|
+
debugCopy('Copying design-system.md...');
|
|
66
108
|
await copyFile(inputDir, outputDir, 'design-system.md');
|
|
109
|
+
debugCopy('Copying design-system-principles.md...');
|
|
67
110
|
await copyFile(inputDir, outputDir, 'design-system-principles.md');
|
|
68
111
|
// If design-system.md doesn't exist in output, try to generate it from TSX files
|
|
69
112
|
const designSystemPath = path.join(outputDir, 'design-system.md');
|
|
113
|
+
debugCopy('Checking if design-system.md exists at: %s', designSystemPath);
|
|
70
114
|
try {
|
|
71
115
|
await fs.access(designSystemPath);
|
|
116
|
+
debugCopy('design-system.md already exists');
|
|
72
117
|
}
|
|
73
118
|
catch {
|
|
119
|
+
debugCopy('design-system.md does not exist, attempting to generate from TSX files');
|
|
74
120
|
// File doesn't exist, try to generate from TSX files if inputDir exists
|
|
75
121
|
try {
|
|
76
122
|
await fs.access(inputDir);
|
|
123
|
+
debugCopy('Input directory is accessible: %s', inputDir);
|
|
77
124
|
const files = await getAllTsxFiles(inputDir);
|
|
78
125
|
if (files.length > 0) {
|
|
126
|
+
debugCopy('Found %d TSX files, generating design-system.md', files.length);
|
|
79
127
|
await generateDesignSystemMarkdown(inputDir, outputDir);
|
|
80
128
|
console.log(`Generated design-system.md from ${files.length} component files`);
|
|
81
129
|
}
|
|
82
130
|
else {
|
|
131
|
+
debugCopy('No TSX files found in %s', inputDir);
|
|
83
132
|
console.log(`No .tsx files found in ${inputDir} to generate design-system.md`);
|
|
84
133
|
}
|
|
85
134
|
}
|
|
86
|
-
catch {
|
|
135
|
+
catch (error) {
|
|
136
|
+
debugCopy('Input directory %s not accessible: %O', inputDir, error);
|
|
87
137
|
console.log(`Input directory ${inputDir} not accessible`);
|
|
88
138
|
}
|
|
89
139
|
}
|
|
140
|
+
debugCopy('Design system docs copy/generation complete');
|
|
90
141
|
}
|
|
91
142
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
92
143
|
async function getFigmaComponents() {
|
|
144
|
+
debugFigma('Fetching Figma components from file: %s', process.env.FIGMA_FILE_ID);
|
|
93
145
|
let components = [];
|
|
94
146
|
try {
|
|
147
|
+
debugFigma('Making API call to Figma...');
|
|
95
148
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
96
149
|
const response = await api.getFileComponentSets({ file_key: process.env.FIGMA_FILE_ID });
|
|
150
|
+
debugFigma('Figma API response received');
|
|
97
151
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
|
|
98
|
-
components = response.meta.component_sets.map((component) =>
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
152
|
+
components = response.meta.component_sets.map((component) => {
|
|
153
|
+
debugFigma('Processing component: %s', component.name);
|
|
154
|
+
return {
|
|
155
|
+
name: component.name,
|
|
156
|
+
description: component.description,
|
|
157
|
+
thumbnail: component.thumbnail_url,
|
|
158
|
+
};
|
|
159
|
+
});
|
|
160
|
+
debugFigma('Successfully fetched %d components from Figma', components.length);
|
|
103
161
|
console.log('figma response: ', response);
|
|
104
162
|
}
|
|
105
163
|
catch (e) {
|
|
164
|
+
debugFigma('ERROR: Failed to fetch Figma components: %O', e);
|
|
106
165
|
console.error(e);
|
|
107
166
|
}
|
|
108
167
|
console.log(components.length);
|
|
109
168
|
return components;
|
|
110
169
|
}
|
|
111
170
|
export function generateMarkdownFromComponents(components) {
|
|
171
|
+
debugMarkdown('Generating markdown from %d components', components.length);
|
|
112
172
|
let md = '# Design System\n\n## Components\n\n';
|
|
113
173
|
if (components.length === 0) {
|
|
174
|
+
debugMarkdown('WARNING: No components found to generate markdown');
|
|
114
175
|
console.warn('No components found');
|
|
115
176
|
}
|
|
116
|
-
for (const component of components) {
|
|
177
|
+
for (const [index, component] of components.entries()) {
|
|
178
|
+
debugMarkdown('Processing component %d/%d: %s', index + 1, components.length, component.name);
|
|
117
179
|
md += `### ${component.name}\nDescription: ${component.description}\nImage: \n\n`;
|
|
180
|
+
debugMarkdown('Added component %s with description length: %d', component.name, component.description.length);
|
|
118
181
|
}
|
|
182
|
+
debugMarkdown('Generated markdown document, total size: %d bytes', md.length);
|
|
119
183
|
return md;
|
|
120
184
|
}
|
|
121
185
|
export var ImportStrategy;
|
|
@@ -125,24 +189,38 @@ export var ImportStrategy;
|
|
|
125
189
|
ImportStrategy["WITH_ALL_FIGMA_INSTANCES"] = "WITH_ALL_FIGMA_INSTANCES";
|
|
126
190
|
})(ImportStrategy || (ImportStrategy = {}));
|
|
127
191
|
export async function importDesignSystemComponentsFromFigma(outputDir, strategy = ImportStrategy.WITH_COMPONENT_SETS, filterFn) {
|
|
192
|
+
debug('Starting Figma design system import');
|
|
193
|
+
debug('Output directory: %s', outputDir);
|
|
194
|
+
debug('Import strategy: %s', strategy);
|
|
195
|
+
debug('Filter function provided: %s', filterFn ? 'yes' : 'no');
|
|
128
196
|
const figmaComponentsBuilder = new FigmaComponentsBuilder();
|
|
197
|
+
debugComponents('FigmaComponentsBuilder instance created');
|
|
129
198
|
if (strategy === ImportStrategy.WITH_COMPONENTS) {
|
|
199
|
+
debugComponents('Using strategy: WITH_COMPONENTS');
|
|
130
200
|
await figmaComponentsBuilder.withFigmaComponents();
|
|
131
201
|
}
|
|
132
202
|
else if (strategy === ImportStrategy.WITH_COMPONENT_SETS) {
|
|
203
|
+
debugComponents('Using strategy: WITH_COMPONENT_SETS');
|
|
133
204
|
await figmaComponentsBuilder.withFigmaComponentSets();
|
|
134
205
|
}
|
|
135
206
|
else if (strategy === ImportStrategy.WITH_ALL_FIGMA_INSTANCES) {
|
|
207
|
+
debugComponents('Using strategy: WITH_ALL_FIGMA_INSTANCES');
|
|
136
208
|
await figmaComponentsBuilder.withAllFigmaInstanceNames();
|
|
137
209
|
}
|
|
210
|
+
debugComponents('Strategy applied successfully');
|
|
138
211
|
// figmaComponentsBuilder.withFilteredNamesForMui();
|
|
139
212
|
// figmaComponentsBuilder.withFilteredNamesForShadcn();
|
|
140
213
|
if (filterFn) {
|
|
214
|
+
debugComponents('Applying custom filter function');
|
|
141
215
|
figmaComponentsBuilder.withFilter(filterFn);
|
|
142
216
|
}
|
|
217
|
+
debugComponents('Building Figma components...');
|
|
143
218
|
const figmaComponents = figmaComponentsBuilder.build();
|
|
219
|
+
debugComponents('Built %d Figma components', figmaComponents.length);
|
|
144
220
|
console.log(figmaComponents.length);
|
|
221
|
+
debugMarkdown('Generating markdown from Figma components');
|
|
145
222
|
const generatedComponentsMDFile = generateMarkdownFromComponents(figmaComponents);
|
|
223
|
+
debugMarkdown('Markdown generated, size: %d bytes', generatedComponentsMDFile.length);
|
|
146
224
|
// const mdWithImageAnalysis = await generateTextWithAI(
|
|
147
225
|
// `
|
|
148
226
|
// Given this markdown file content:
|
|
@@ -158,8 +236,17 @@ export async function importDesignSystemComponentsFromFigma(outputDir, strategy
|
|
|
158
236
|
// { temperature: 0.2, maxTokens: 8000 },
|
|
159
237
|
// );
|
|
160
238
|
// await fs.mkdir(outputDir, { recursive: true });
|
|
161
|
-
|
|
239
|
+
// Parse the outputDir to determine if it's a file path or directory
|
|
240
|
+
const isFilePath = outputDir.endsWith('.md');
|
|
241
|
+
const actualOutputDir = isFilePath ? path.dirname(outputDir) : outputDir;
|
|
242
|
+
const fileName = isFilePath ? path.basename(outputDir) : 'design-system.md';
|
|
243
|
+
debugFiles('Creating output directory: %s', actualOutputDir);
|
|
244
|
+
await fs.mkdir(actualOutputDir, { recursive: true });
|
|
245
|
+
const outPath = path.join(actualOutputDir, fileName);
|
|
246
|
+
debugFiles('Writing markdown to: %s', outPath);
|
|
162
247
|
await fs.writeFile(outPath, generatedComponentsMDFile);
|
|
248
|
+
debugFiles('Design system markdown written successfully');
|
|
249
|
+
debug('Figma design system import complete');
|
|
163
250
|
}
|
|
164
251
|
// Check if this file is being run directly
|
|
165
252
|
if (process.argv[1] === __filename) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterLoader.d.ts","sourceRoot":"","sources":["../../src/utils/FilterLoader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterLoader.d.ts","sourceRoot":"","sources":["../../src/utils/FilterLoader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AASpE,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAS;;IAUvB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAiDjD,oBAAoB;YAuDpB,iBAAiB;YAgCjB,eAAe;YAyCf,oBAAoB;IAwClC,OAAO,CAAC,eAAe;IAsCvB,OAAO,IAAI,IAAI;CAIhB"}
|
|
@@ -3,78 +3,113 @@ import { pathToFileURL, fileURLToPath } from 'url';
|
|
|
3
3
|
import { existsSync, readFileSync, writeFileSync, mkdtempSync, rmSync } from 'fs';
|
|
4
4
|
import { spawnSync } from 'child_process';
|
|
5
5
|
import { tmpdir } from 'os';
|
|
6
|
+
import createDebug from 'debug';
|
|
7
|
+
const debug = createDebug('design-system-importer:filter-loader');
|
|
8
|
+
const debugLoad = createDebug('design-system-importer:filter-loader:load');
|
|
9
|
+
const debugTS = createDebug('design-system-importer:filter-loader:typescript');
|
|
10
|
+
const debugStrategy = createDebug('design-system-importer:filter-loader:strategy');
|
|
11
|
+
const debugTemplate = createDebug('design-system-importer:filter-loader:template');
|
|
6
12
|
export class FilterLoader {
|
|
7
13
|
constructor() {
|
|
14
|
+
debug('FilterLoader instance created');
|
|
8
15
|
// Get the directory where template files are stored
|
|
9
16
|
const currentFile = fileURLToPath(import.meta.url);
|
|
10
17
|
this.templatesDir = join(dirname(currentFile), 'templates');
|
|
18
|
+
debug('Templates directory: %s', this.templatesDir);
|
|
11
19
|
}
|
|
12
20
|
async loadFilter(filePath) {
|
|
21
|
+
debugLoad('Loading filter from: %s', filePath);
|
|
13
22
|
if (typeof filePath !== 'string' || filePath.trim().length === 0) {
|
|
23
|
+
debugLoad('ERROR: Invalid filter path provided');
|
|
14
24
|
throw new Error('Filter file path is required');
|
|
15
25
|
}
|
|
16
26
|
const absolutePath = resolvePath(process.cwd(), filePath);
|
|
27
|
+
debugLoad('Resolved absolute path: %s', absolutePath);
|
|
17
28
|
if (!existsSync(absolutePath)) {
|
|
29
|
+
debugLoad('ERROR: Filter file not found at %s', absolutePath);
|
|
18
30
|
throw new Error(`Filter file not found: ${absolutePath}`);
|
|
19
31
|
}
|
|
20
32
|
const ext = extname(absolutePath).toLowerCase();
|
|
33
|
+
debugLoad('File extension: %s', ext);
|
|
21
34
|
// For TypeScript files, use tsx to load them
|
|
22
35
|
if (ext === '.ts' || ext === '.tsx') {
|
|
36
|
+
debugLoad('Detected TypeScript file, using TypeScript loader');
|
|
23
37
|
return this.loadTypeScriptFilter(absolutePath);
|
|
24
38
|
}
|
|
25
39
|
// For JavaScript files, load directly
|
|
40
|
+
debugLoad('Loading JavaScript file directly');
|
|
26
41
|
const fileUrl = pathToFileURL(absolutePath).href;
|
|
42
|
+
debugLoad('File URL: %s', fileUrl);
|
|
27
43
|
const loadedUnknown = await import(fileUrl);
|
|
28
44
|
const loadedModule = loadedUnknown;
|
|
45
|
+
debugLoad('Module loaded, checking for filter function');
|
|
29
46
|
if (typeof loadedModule.filter === 'function') {
|
|
47
|
+
debugLoad('Found named export "filter"');
|
|
30
48
|
return loadedModule.filter;
|
|
31
49
|
}
|
|
32
50
|
if (typeof loadedModule.default === 'function') {
|
|
51
|
+
debugLoad('Found default export, using as filter');
|
|
33
52
|
console.warn('Using default export from filter module. Prefer a named export "filter".');
|
|
34
53
|
return loadedModule.default;
|
|
35
54
|
}
|
|
55
|
+
debugLoad('ERROR: No filter function found in module');
|
|
36
56
|
throw new Error('No filter function found. Export a function named "filter" or as a default export from the file.');
|
|
37
57
|
}
|
|
38
58
|
async loadTypeScriptFilter(filePath) {
|
|
59
|
+
debugTS('Loading TypeScript filter from: %s', filePath);
|
|
39
60
|
// Create a temporary directory for our scripts
|
|
40
61
|
const tempDir = mkdtempSync(join(tmpdir(), 'tsx-filter-'));
|
|
62
|
+
debugTS('Created temp directory: %s', tempDir);
|
|
41
63
|
try {
|
|
42
64
|
const filterUrl = pathToFileURL(filePath).href;
|
|
65
|
+
debugTS('Filter URL: %s', filterUrl);
|
|
43
66
|
// Try different loading strategies in order
|
|
44
67
|
const strategies = [
|
|
45
68
|
() => this.tryNodeDirectLoad(tempDir, filterUrl),
|
|
46
69
|
() => this.tryNpxTsxExport(tempDir, filterUrl),
|
|
47
70
|
() => this.tryNodeLoaderOptions(tempDir, filterUrl),
|
|
48
71
|
];
|
|
49
|
-
|
|
50
|
-
|
|
72
|
+
debugTS('Will try %d loading strategies', strategies.length);
|
|
73
|
+
for (let i = 0; i < strategies.length; i++) {
|
|
74
|
+
debugTS('Trying strategy %d/%d', i + 1, strategies.length);
|
|
75
|
+
const result = await strategies[i]();
|
|
51
76
|
if (result) {
|
|
77
|
+
debugTS('Strategy %d succeeded!', i + 1);
|
|
52
78
|
return result;
|
|
53
79
|
}
|
|
80
|
+
debugTS('Strategy %d failed, trying next...', i + 1);
|
|
54
81
|
}
|
|
82
|
+
debugTS('ERROR: All strategies failed to load TypeScript filter');
|
|
55
83
|
throw new Error(`TypeScript filter cannot be loaded. ` +
|
|
56
84
|
`Please ensure tsx is installed in your project:\n` +
|
|
57
85
|
` npm install -D tsx\n` +
|
|
58
86
|
`Or provide a JavaScript version of your filter.`);
|
|
59
87
|
}
|
|
60
88
|
catch (error) {
|
|
89
|
+
debugTS('ERROR: Failed to load TypeScript filter: %O', error);
|
|
61
90
|
throw new Error(`Failed to load TypeScript filter.\n` +
|
|
62
91
|
`Error: ${error instanceof Error ? error.message : String(error)}\n` +
|
|
63
92
|
`Please ensure tsx is installed locally: npm install -D tsx`);
|
|
64
93
|
}
|
|
65
94
|
finally {
|
|
95
|
+
debugTS('Cleaning up temp directory: %s', tempDir);
|
|
66
96
|
// Clean up temp files
|
|
67
97
|
try {
|
|
68
98
|
rmSync(tempDir, { recursive: true, force: true });
|
|
99
|
+
debugTS('Temp directory cleaned up successfully');
|
|
69
100
|
}
|
|
70
|
-
catch {
|
|
101
|
+
catch (cleanupError) {
|
|
102
|
+
debugTS('Warning: Failed to clean up temp directory: %O', cleanupError);
|
|
71
103
|
// Ignore cleanup errors
|
|
72
104
|
}
|
|
73
105
|
}
|
|
74
106
|
}
|
|
75
107
|
async tryNodeDirectLoad(tempDir, filterUrl) {
|
|
108
|
+
debugStrategy('Strategy: Node direct load');
|
|
76
109
|
// First attempt: Try to run the loader script with Node.js directly
|
|
77
110
|
const loaderFile = this.prepareTemplate(tempDir, 'tsx-loader.mjs', filterUrl);
|
|
111
|
+
debugStrategy('Prepared loader file: %s', loaderFile);
|
|
112
|
+
debugStrategy('Spawning node with experimental loader...');
|
|
78
113
|
const result = spawnSync('node', [loaderFile], {
|
|
79
114
|
cwd: process.cwd(),
|
|
80
115
|
encoding: 'utf-8',
|
|
@@ -83,40 +118,64 @@ export class FilterLoader {
|
|
|
83
118
|
NODE_OPTIONS: '--experimental-loader tsx',
|
|
84
119
|
},
|
|
85
120
|
});
|
|
121
|
+
debugStrategy('Node process exit code: %d', result.status);
|
|
86
122
|
if (result.status === 0) {
|
|
123
|
+
debugStrategy('Node direct load succeeded, importing module');
|
|
87
124
|
// Success! Now import the loader module to get the filter
|
|
88
125
|
const loaderModule = (await import(pathToFileURL(loaderFile).href));
|
|
126
|
+
debugStrategy('Filter function retrieved from module');
|
|
89
127
|
return loaderModule.filter;
|
|
90
128
|
}
|
|
129
|
+
debugStrategy('Node direct load failed');
|
|
130
|
+
if (result.stderr) {
|
|
131
|
+
debugStrategy('Error output: %s', result.stderr);
|
|
132
|
+
}
|
|
91
133
|
return null;
|
|
92
134
|
}
|
|
93
135
|
async tryNpxTsxExport(tempDir, filterUrl) {
|
|
136
|
+
debugStrategy('Strategy: npx tsx export');
|
|
94
137
|
// Second attempt: Use npx tsx to run a script that exports the filter
|
|
95
138
|
const exportFile = this.prepareTemplate(tempDir, 'tsx-export.mjs', filterUrl);
|
|
139
|
+
debugStrategy('Prepared export file: %s', exportFile);
|
|
140
|
+
debugStrategy('Spawning npx tsx...');
|
|
96
141
|
const npxResult = spawnSync('npx', ['tsx', exportFile], {
|
|
97
142
|
cwd: process.cwd(),
|
|
98
143
|
encoding: 'utf-8',
|
|
99
144
|
shell: true,
|
|
100
145
|
});
|
|
146
|
+
debugStrategy('npx process exit code: %d', npxResult.status);
|
|
101
147
|
if (npxResult.status === 0 && npxResult.stdout) {
|
|
148
|
+
debugStrategy('npx tsx succeeded, parsing output');
|
|
102
149
|
try {
|
|
103
150
|
const output = JSON.parse(npxResult.stdout);
|
|
104
151
|
if (output.success === true && typeof output.filterCode === 'string' && output.filterCode.length > 0) {
|
|
152
|
+
debugStrategy('Successfully parsed filter code, creating function');
|
|
105
153
|
// Create a function from the filter code
|
|
106
154
|
// eslint-disable-next-line @typescript-eslint/no-implied-eval, @typescript-eslint/no-unsafe-call
|
|
107
155
|
const filter = new Function('return ' + output.filterCode)();
|
|
156
|
+
debugStrategy('Filter function created successfully');
|
|
108
157
|
return filter;
|
|
109
158
|
}
|
|
159
|
+
debugStrategy('Output missing success flag or filter code');
|
|
110
160
|
}
|
|
111
|
-
catch {
|
|
161
|
+
catch (parseError) {
|
|
162
|
+
debugStrategy('Failed to parse npx output: %O', parseError);
|
|
112
163
|
// JSON parse failed, try another approach
|
|
113
164
|
}
|
|
114
165
|
}
|
|
166
|
+
else {
|
|
167
|
+
debugStrategy('npx tsx failed or no output');
|
|
168
|
+
if (npxResult.stderr) {
|
|
169
|
+
debugStrategy('Error output: %s', npxResult.stderr);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
115
172
|
return null;
|
|
116
173
|
}
|
|
117
174
|
async tryNodeLoaderOptions(tempDir, filterUrl) {
|
|
175
|
+
debugStrategy('Strategy: Node loader options');
|
|
118
176
|
// Third attempt: Create a wrapper that uses dynamic import with tsx
|
|
119
177
|
const wrapperFile = this.prepareTemplate(tempDir, 'tsx-wrapper.mjs', filterUrl);
|
|
178
|
+
debugStrategy('Prepared wrapper file: %s', wrapperFile);
|
|
120
179
|
// Try with various Node.js loader configurations
|
|
121
180
|
const loaderOptions = [
|
|
122
181
|
['--loader', 'tsx'],
|
|
@@ -124,46 +183,67 @@ export class FilterLoader {
|
|
|
124
183
|
['--require', 'tsx'],
|
|
125
184
|
['--import', 'tsx'],
|
|
126
185
|
];
|
|
186
|
+
debugStrategy('Will try %d loader configurations', loaderOptions.length);
|
|
127
187
|
for (const options of loaderOptions) {
|
|
188
|
+
debugStrategy('Trying loader options: %s', options.join(' '));
|
|
128
189
|
const testResult = spawnSync('node', [...options, wrapperFile], {
|
|
129
190
|
cwd: process.cwd(),
|
|
130
191
|
encoding: 'utf-8',
|
|
131
192
|
env: { ...process.env },
|
|
132
193
|
});
|
|
194
|
+
debugStrategy('Exit code: %d', testResult.status);
|
|
133
195
|
if (testResult.status === 0) {
|
|
196
|
+
debugStrategy('Configuration works! Loading final filter');
|
|
134
197
|
// This configuration works! Use it to load the actual filter
|
|
135
198
|
const finalFile = this.prepareTemplate(tempDir, 'tsx-final-loader.mjs', filterUrl);
|
|
136
199
|
const finalModule = (await import(pathToFileURL(finalFile).href));
|
|
200
|
+
debugStrategy('Filter loaded successfully with options: %s', options.join(' '));
|
|
137
201
|
return finalModule.filter;
|
|
138
202
|
}
|
|
203
|
+
else if (testResult.stderr) {
|
|
204
|
+
debugStrategy('Error with %s: %s', options.join(' '), testResult.stderr);
|
|
205
|
+
}
|
|
139
206
|
}
|
|
207
|
+
debugStrategy('All loader options failed');
|
|
140
208
|
return null;
|
|
141
209
|
}
|
|
142
210
|
prepareTemplate(tempDir, templateName, filterPath) {
|
|
211
|
+
debugTemplate('Preparing template: %s', templateName);
|
|
212
|
+
debugTemplate('Filter path: %s', filterPath);
|
|
143
213
|
const templatePath = join(this.templatesDir, templateName);
|
|
144
214
|
const outputPath = join(tempDir, templateName);
|
|
215
|
+
debugTemplate('Template path: %s', templatePath);
|
|
216
|
+
debugTemplate('Output path: %s', outputPath);
|
|
145
217
|
// Read the template
|
|
146
218
|
let content;
|
|
147
219
|
if (existsSync(templatePath)) {
|
|
220
|
+
debugTemplate('Reading template from source');
|
|
148
221
|
content = readFileSync(templatePath, 'utf-8');
|
|
149
222
|
}
|
|
150
223
|
else {
|
|
224
|
+
debugTemplate('Template not in source, checking dist');
|
|
151
225
|
// Fallback to dist directory if running from compiled code
|
|
152
226
|
const distTemplatePath = templatePath.replace('/src/', '/dist/');
|
|
227
|
+
debugTemplate('Checking dist path: %s', distTemplatePath);
|
|
153
228
|
if (existsSync(distTemplatePath)) {
|
|
229
|
+
debugTemplate('Reading template from dist');
|
|
154
230
|
content = readFileSync(distTemplatePath, 'utf-8');
|
|
155
231
|
}
|
|
156
232
|
else {
|
|
233
|
+
debugTemplate('ERROR: Template not found in source or dist');
|
|
157
234
|
throw new Error(`Template not found: ${templateName}`);
|
|
158
235
|
}
|
|
159
236
|
}
|
|
160
237
|
// Replace the placeholder with the actual filter path
|
|
161
238
|
content = content.replace(/__FILTER_PATH__/g, filterPath);
|
|
239
|
+
debugTemplate('Replaced filter path placeholder');
|
|
162
240
|
// Write the prepared script
|
|
163
241
|
writeFileSync(outputPath, content);
|
|
242
|
+
debugTemplate('Written prepared script to: %s', outputPath);
|
|
164
243
|
return outputPath;
|
|
165
244
|
}
|
|
166
245
|
cleanup() {
|
|
246
|
+
debug('FilterLoader cleanup called');
|
|
167
247
|
// No cleanup needed
|
|
168
248
|
}
|
|
169
249
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterLoader.js","sourceRoot":"","sources":["../../src/utils/FilterLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterLoader.js","sourceRoot":"","sources":["../../src/utils/FilterLoader.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auto-engineer/design-system-importer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -8,20 +8,19 @@
|
|
|
8
8
|
".": {
|
|
9
9
|
"types": "./dist/index.d.ts",
|
|
10
10
|
"import": "./dist/index.js"
|
|
11
|
-
},
|
|
12
|
-
"./commands/import-design-system": {
|
|
13
|
-
"types": "./dist/commands/import-design-system.d.ts",
|
|
14
|
-
"import": "./dist/commands/import-design-system.js"
|
|
15
11
|
}
|
|
16
12
|
},
|
|
17
13
|
"publishConfig": {
|
|
18
14
|
"access": "public"
|
|
19
15
|
},
|
|
20
16
|
"dependencies": {
|
|
21
|
-
"@auto-engineer/message-bus": "^0.
|
|
17
|
+
"@auto-engineer/message-bus": "^0.4.0",
|
|
22
18
|
"figma-api": "2.0.2-beta",
|
|
23
19
|
"tsx": "^3.12.7"
|
|
24
20
|
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@auto-engineer/cli": "^0.6.0"
|
|
23
|
+
},
|
|
25
24
|
"scripts": {
|
|
26
25
|
"start": "tsx src/index.ts",
|
|
27
26
|
"build": "tsc && tsx ../../scripts/fix-esm-imports.ts && cp -r src/utils/templates dist/utils/",
|