@empline/preflight 1.1.21 → 1.1.23
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-structure-duplication.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/jsx-structure-duplication.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AAWH,eAAO,MAAM,EAAE,2CAA2C,CAAC;AAC3D,eAAO,MAAM,IAAI,wCAAwC,CAAC;AAC1D,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAC9B,eAAO,MAAM,WAAW,qFAC4D,CAAC;AACrF,eAAO,MAAM,IAAI,UAA6E,CAAC;
|
|
1
|
+
{"version":3,"file":"jsx-structure-duplication.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/jsx-structure-duplication.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AAWH,eAAO,MAAM,EAAE,2CAA2C,CAAC;AAC3D,eAAO,MAAM,IAAI,wCAAwC,CAAC;AAC1D,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAC9B,eAAO,MAAM,WAAW,qFAC4D,CAAC;AACrF,eAAO,MAAM,IAAI,UAA6E,CAAC;AAyZ/F,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAqDzC"}
|
|
@@ -57,8 +57,8 @@ const fs = __importStar(require("fs"));
|
|
|
57
57
|
const crypto = __importStar(require("crypto"));
|
|
58
58
|
const glob_1 = require("glob");
|
|
59
59
|
const console_chars_1 = require("../../utils/console-chars");
|
|
60
|
-
const universal_progress_reporter_1 = require("../system/universal-progress-reporter");
|
|
61
60
|
const glob_patterns_1 = require("../../shared/glob-patterns");
|
|
61
|
+
const exclusions_1 = require("../../shared/exclusions");
|
|
62
62
|
// Check metadata
|
|
63
63
|
exports.id = "architecture/jsx-structure-duplication";
|
|
64
64
|
exports.name = "JSX Structure Duplication Detection";
|
|
@@ -99,6 +99,8 @@ function extractJSXBlocks(content, filePath) {
|
|
|
99
99
|
// - Fragment openings
|
|
100
100
|
// - Conditional JSX: {condition && (<JSX>...)}
|
|
101
101
|
// - Ternary JSX: {condition ? (<JSX>...) : ...}
|
|
102
|
+
// - Map/filter callbacks returning JSX
|
|
103
|
+
// - Arrow function returns
|
|
102
104
|
const jsxStartPatterns = [
|
|
103
105
|
// Conditional rendering with opening paren
|
|
104
106
|
/\{[^}]*&&\s*\(\s*$/,
|
|
@@ -107,8 +109,17 @@ function extractJSXBlocks(content, filePath) {
|
|
|
107
109
|
/return\s*\(\s*$/,
|
|
108
110
|
// Variable assignment with JSX
|
|
109
111
|
/=\s*\(\s*$/,
|
|
110
|
-
//
|
|
111
|
-
|
|
112
|
+
// Arrow function returning JSX (map, filter, etc.)
|
|
113
|
+
/=>\s*\(\s*$/,
|
|
114
|
+
/\.map\s*\([^)]*=>\s*\(\s*$/,
|
|
115
|
+
/\.filter\s*\([^)]*=>\s*\(\s*$/,
|
|
116
|
+
// Fragment openings
|
|
117
|
+
/<>\s*$/,
|
|
118
|
+
/<React\.Fragment>\s*$/,
|
|
119
|
+
// Opening Card/Box/Stack/div/section/article with className
|
|
120
|
+
/<(?:Card|Box|Stack|div|Paper|Container|section|article|main|aside|header|footer|Grid|Flex)[^>]*className[^>]*>\s*$/,
|
|
121
|
+
// MUI/Chakra specific patterns
|
|
122
|
+
/<(?:Typography|Button|IconButton|TextField|Select|Modal|Dialog|Drawer|Menu|Tooltip|Alert|Snackbar)[^>]*>\s*$/,
|
|
112
123
|
];
|
|
113
124
|
let blockStart = null;
|
|
114
125
|
let depth = 0;
|
|
@@ -170,13 +181,20 @@ function normalizeJSX(jsx) {
|
|
|
170
181
|
return (jsx
|
|
171
182
|
// Remove all whitespace
|
|
172
183
|
.replace(/\s+/g, " ")
|
|
184
|
+
// Normalize template literals
|
|
185
|
+
.replace(/`[^`]*`/g, '"STRING"')
|
|
173
186
|
// Normalize string values
|
|
174
187
|
.replace(/"[^"]*"/g, '"STRING"')
|
|
175
188
|
.replace(/'[^']*'/g, '"STRING"')
|
|
189
|
+
// Normalize spread props
|
|
190
|
+
.replace(/\{\.\.\.[\w.]+\}/g, "{...SPREAD}")
|
|
191
|
+
// Normalize array access
|
|
192
|
+
.replace(/\{[\w.]+\[\d+\]\}/g, "{ARR[IDX]}")
|
|
193
|
+
.replace(/\{[\w.]+\[[\w.]+\]\}/g, "{ARR[KEY]}")
|
|
176
194
|
// Normalize variable names in expressions
|
|
177
195
|
.replace(/\{[a-z_][a-zA-Z0-9_]*\}/gi, "{VAR}")
|
|
178
|
-
// Normalize function calls
|
|
179
|
-
.replace(/\{[a-z_][a-zA-Z0-9_]*\([^)]*\)
|
|
196
|
+
// Normalize function calls (including chained)
|
|
197
|
+
.replace(/\{[a-z_][a-zA-Z0-9_]*\([^)]*\)(?:\.[a-zA-Z0-9_]+\([^)]*\))*\}/gi, "{FUNC()}")
|
|
180
198
|
// Normalize property access
|
|
181
199
|
.replace(/\{[a-z_][a-zA-Z0-9_]*\.[a-zA-Z0-9_.]+\}/gi, "{VAR.PROP}")
|
|
182
200
|
// Normalize numbers
|
|
@@ -184,12 +202,22 @@ function normalizeJSX(jsx) {
|
|
|
184
202
|
// Normalize conditional expressions but keep structure
|
|
185
203
|
.replace(/\{[^}]+\s*\?\s*/g, "{COND ? ")
|
|
186
204
|
.replace(/\s*:\s*[^}]+\}/g, " : ALT}")
|
|
187
|
-
// Normalize onClick
|
|
205
|
+
// Normalize all event handlers (onClick, onChange, onSubmit, etc.)
|
|
188
206
|
.replace(/on[A-Z][a-zA-Z]*=\{[^}]+\}/g, "onEVENT={HANDLER}")
|
|
189
207
|
// Normalize className values but keep the attribute
|
|
190
208
|
.replace(/className="[^"]+"/g, 'className="CLASSES"')
|
|
209
|
+
.replace(/className=\{[^}]+\}/g, 'className="CLASSES"')
|
|
210
|
+
// Normalize style props
|
|
211
|
+
.replace(/style=\{[^}]+\}/g, "style={STYLES}")
|
|
191
212
|
// Normalize key props
|
|
192
213
|
.replace(/key=\{[^}]+\}/g, "key={KEY}")
|
|
214
|
+
// Normalize ref props
|
|
215
|
+
.replace(/ref=\{[^}]+\}/g, "ref={REF}")
|
|
216
|
+
// Normalize id props
|
|
217
|
+
.replace(/id="[^"]+"/g, 'id="ID"')
|
|
218
|
+
.replace(/id=\{[^}]+\}/g, 'id="ID"')
|
|
219
|
+
// Normalize data-testid
|
|
220
|
+
.replace(/data-testid="[^"]+"/g, 'data-testid="TESTID"')
|
|
193
221
|
// Trim
|
|
194
222
|
.trim());
|
|
195
223
|
}
|
|
@@ -203,33 +231,71 @@ function hashString(str) {
|
|
|
203
231
|
* Extract a suggested component name from the JSX structure
|
|
204
232
|
*/
|
|
205
233
|
function suggestComponentName(blocks) {
|
|
206
|
-
// Look for common patterns in the JSX
|
|
207
234
|
const sample = blocks[0].raw;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
235
|
+
const lowerSample = sample.toLowerCase();
|
|
236
|
+
// Check for common UI patterns (ordered by specificity)
|
|
237
|
+
const patterns = [
|
|
238
|
+
// Import/Export patterns
|
|
239
|
+
[/resume.*import|import.*resume/i, "ResumeImportPrompt"],
|
|
240
|
+
[/csv.*import|import.*csv/i, "CsvImportPrompt"],
|
|
241
|
+
[/bulk.*import|import.*bulk/i, "BulkImportPrompt"],
|
|
242
|
+
// State patterns
|
|
243
|
+
[/empty.*state|no.*results|nothing.*found/i, "EmptyStateCard"],
|
|
244
|
+
[/loading|spinner|skeleton/i, "LoadingIndicator"],
|
|
245
|
+
[/error.*message|error.*display/i, "ErrorDisplay"],
|
|
246
|
+
[/success.*message|success.*display/i, "SuccessDisplay"],
|
|
247
|
+
// Dialog/Modal patterns
|
|
248
|
+
[/confirm.*dialog|confirmation/i, "ConfirmationDialog"],
|
|
249
|
+
[/delete.*confirm|confirm.*delete/i, "DeleteConfirmationDialog"],
|
|
250
|
+
[/warning.*dialog|alert.*dialog/i, "WarningDialog"],
|
|
251
|
+
// Form patterns
|
|
252
|
+
[/filter.*bar|filters/i, "FilterBar"],
|
|
253
|
+
[/search.*input|search.*bar/i, "SearchBar"],
|
|
254
|
+
[/date.*picker|date.*range/i, "DateRangePicker"],
|
|
255
|
+
[/pagination|page.*nav/i, "PaginationControls"],
|
|
256
|
+
// Card patterns
|
|
257
|
+
[/stat.*card|metric.*card/i, "StatCard"],
|
|
258
|
+
[/info.*card|detail.*card/i, "InfoCard"],
|
|
259
|
+
[/action.*card/i, "ActionCard"],
|
|
260
|
+
[/summary.*card/i, "SummaryCard"],
|
|
261
|
+
// Progress patterns
|
|
262
|
+
[/progress.*bar|progress.*indicator/i, "ProgressIndicator"],
|
|
263
|
+
[/step.*indicator|stepper/i, "StepIndicator"],
|
|
264
|
+
// List patterns
|
|
265
|
+
[/list.*item|item.*row/i, "ListItemRow"],
|
|
266
|
+
[/table.*row/i, "TableRow"],
|
|
267
|
+
// Header/Footer patterns
|
|
268
|
+
[/page.*header|section.*header/i, "SectionHeader"],
|
|
269
|
+
[/page.*footer|section.*footer/i, "SectionFooter"],
|
|
270
|
+
// Badge/Status patterns
|
|
271
|
+
[/status.*badge|badge/i, "StatusBadge"],
|
|
272
|
+
[/tag.*list|chip.*list/i, "TagList"],
|
|
273
|
+
];
|
|
274
|
+
for (const [pattern, name] of patterns) {
|
|
275
|
+
if (typeof pattern === "string" ? lowerSample.includes(pattern) : pattern.test(sample)) {
|
|
276
|
+
return name;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
// Analyze the structure for component hints
|
|
280
|
+
const hasIcon = /<\w*Icon|Icon\s*\/>/i.test(sample);
|
|
281
|
+
const hasButton = /<Button/i.test(sample);
|
|
282
|
+
const hasText = /<Typography|<Text|<p>|<span>/i.test(sample);
|
|
283
|
+
const hasImage = /<img|<Image/i.test(sample);
|
|
284
|
+
const hasForm = /<form|<Form|<input|<Input|<TextField/i.test(sample);
|
|
229
285
|
// Check for the root component type
|
|
230
286
|
const rootMatch = sample.match(/<([A-Z][a-zA-Z]+)/);
|
|
231
|
-
|
|
232
|
-
|
|
287
|
+
const rootComponent = rootMatch ? rootMatch[1] : null;
|
|
288
|
+
// Build a descriptive name based on content
|
|
289
|
+
if (rootComponent) {
|
|
290
|
+
if (hasIcon && hasText && !hasButton)
|
|
291
|
+
return `Icon${rootComponent}`;
|
|
292
|
+
if (hasButton && hasText)
|
|
293
|
+
return `${rootComponent}WithAction`;
|
|
294
|
+
if (hasImage && hasText)
|
|
295
|
+
return `${rootComponent}WithMedia`;
|
|
296
|
+
if (hasForm)
|
|
297
|
+
return `${rootComponent}Form`;
|
|
298
|
+
return `Shared${rootComponent}`;
|
|
233
299
|
}
|
|
234
300
|
return "SharedComponent";
|
|
235
301
|
}
|
|
@@ -241,20 +307,44 @@ function generateStructurePreview(block) {
|
|
|
241
307
|
return lines.map((l) => " " + l.trim()).join("\n") + (block.raw.split("\n").length > 8 ? "\n ..." : "");
|
|
242
308
|
}
|
|
243
309
|
// Main Detection Logic
|
|
310
|
+
/**
|
|
311
|
+
* Calculate similarity between two normalized strings (0-1)
|
|
312
|
+
*/
|
|
313
|
+
function calculateSimilarity(a, b) {
|
|
314
|
+
if (a === b)
|
|
315
|
+
return 1;
|
|
316
|
+
if (a.length === 0 || b.length === 0)
|
|
317
|
+
return 0;
|
|
318
|
+
// Simple token-based similarity
|
|
319
|
+
const tokensA = new Set(a.split(/\s+/));
|
|
320
|
+
const tokensB = new Set(b.split(/\s+/));
|
|
321
|
+
const intersection = new Set([...tokensA].filter((x) => tokensB.has(x)));
|
|
322
|
+
const union = new Set([...tokensA, ...tokensB]);
|
|
323
|
+
return intersection.size / union.size;
|
|
324
|
+
}
|
|
244
325
|
async function detectDuplicates() {
|
|
245
326
|
const allBlocks = [];
|
|
327
|
+
// Load app-specific exclusions
|
|
328
|
+
const appExclusions = await (0, exclusions_1.getExclusions)(exports.id);
|
|
246
329
|
// Gather all files
|
|
247
330
|
const files = [];
|
|
248
331
|
for (const dir of CONFIG.includeDirs) {
|
|
332
|
+
if (!fs.existsSync(dir))
|
|
333
|
+
continue;
|
|
249
334
|
const matches = await (0, glob_1.glob)(`${dir}/**/*.tsx`, {
|
|
250
|
-
ignore: CONFIG.excludePatterns,
|
|
335
|
+
ignore: [...CONFIG.excludePatterns],
|
|
251
336
|
cwd: process.cwd(),
|
|
252
337
|
});
|
|
253
338
|
files.push(...matches);
|
|
254
339
|
}
|
|
255
|
-
|
|
340
|
+
// Filter out excluded files
|
|
341
|
+
const filteredFiles = files.filter((f) => !(0, exclusions_1.shouldExcludeFile)(f, appExclusions));
|
|
342
|
+
console.log(`${console_chars_1.emoji.folder} Scanning ${filteredFiles.length} files for JSX structures...`);
|
|
343
|
+
if (files.length !== filteredFiles.length) {
|
|
344
|
+
console.log(`${console_chars_1.emoji.info} (${files.length - filteredFiles.length} files excluded by config)`);
|
|
345
|
+
}
|
|
256
346
|
// Extract blocks from each file
|
|
257
|
-
for (const file of
|
|
347
|
+
for (const file of filteredFiles) {
|
|
258
348
|
try {
|
|
259
349
|
const content = fs.readFileSync(file, "utf-8");
|
|
260
350
|
const blocks = extractJSXBlocks(content, file);
|
|
@@ -265,7 +355,7 @@ async function detectDuplicates() {
|
|
|
265
355
|
}
|
|
266
356
|
}
|
|
267
357
|
console.log(`${console_chars_1.emoji.search} Found ${allBlocks.length} JSX blocks to analyze`);
|
|
268
|
-
// Group by fingerprint
|
|
358
|
+
// Group by fingerprint (exact matches)
|
|
269
359
|
const groups = new Map();
|
|
270
360
|
for (const block of allBlocks) {
|
|
271
361
|
if (!groups.has(block.fingerprint)) {
|
|
@@ -273,6 +363,31 @@ async function detectDuplicates() {
|
|
|
273
363
|
}
|
|
274
364
|
groups.get(block.fingerprint).push(block);
|
|
275
365
|
}
|
|
366
|
+
// Also find near-duplicates (similarity >= 85%)
|
|
367
|
+
const SIMILARITY_THRESHOLD = 0.85;
|
|
368
|
+
const processedPairs = new Set();
|
|
369
|
+
for (const [fp1, blocks1] of groups) {
|
|
370
|
+
for (const [fp2, blocks2] of groups) {
|
|
371
|
+
if (fp1 >= fp2)
|
|
372
|
+
continue; // Skip self and already-processed pairs
|
|
373
|
+
const pairKey = `${fp1}:${fp2}`;
|
|
374
|
+
if (processedPairs.has(pairKey))
|
|
375
|
+
continue;
|
|
376
|
+
processedPairs.add(pairKey);
|
|
377
|
+
const similarity = calculateSimilarity(blocks1[0].normalized, blocks2[0].normalized);
|
|
378
|
+
if (similarity >= SIMILARITY_THRESHOLD && similarity < 1) {
|
|
379
|
+
// Merge similar groups
|
|
380
|
+
const mergedBlocks = [...blocks1, ...blocks2];
|
|
381
|
+
const uniqueFiles = new Set(mergedBlocks.map((b) => b.file));
|
|
382
|
+
if (uniqueFiles.size >= CONFIG.minOccurrences) {
|
|
383
|
+
// Use the larger group's fingerprint
|
|
384
|
+
const targetFp = blocks1.length >= blocks2.length ? fp1 : fp2;
|
|
385
|
+
groups.set(targetFp, mergedBlocks);
|
|
386
|
+
groups.delete(blocks1.length >= blocks2.length ? fp2 : fp1);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
276
391
|
// Filter to duplicates (3+ occurrences in different files)
|
|
277
392
|
const duplicates = [];
|
|
278
393
|
for (const [fingerprint, blocks] of groups) {
|
|
@@ -293,7 +408,6 @@ async function detectDuplicates() {
|
|
|
293
408
|
}
|
|
294
409
|
// Main Runner
|
|
295
410
|
async function run() {
|
|
296
|
-
const reporter = (0, universal_progress_reporter_1.createUniversalProgressReporter)(exports.name);
|
|
297
411
|
const startTime = Date.now();
|
|
298
412
|
const args = process.argv.slice(2);
|
|
299
413
|
const verbose = args.includes("--verbose") || args.includes("-v");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-structure-duplication.js","sourceRoot":"","sources":["../../../src/checks/architecture/jsx-structure-duplication.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiSH,kBAsDC;AArVD,uCAAyB;AAEzB,+CAAiC;AACjC,+BAA4B;AAC5B,6DAAiE;AACjE,uFAAwF;AACxF,8DAA2D;AAE3D,iBAAiB;AACJ,QAAA,EAAE,GAAG,wCAAwC,CAAC;AAC9C,QAAA,IAAI,GAAG,qCAAqC,CAAC;AAC7C,QAAA,QAAQ,GAAG,cAAc,CAAC;AAC1B,QAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,QAAA,WAAW,GACtB,kFAAkF,CAAC;AACxE,QAAA,IAAI,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAqB/F,gBAAgB;AAEhB,MAAM,MAAM,GAAG;IACb,6CAA6C;IAC7C,cAAc,EAAE,CAAC;IACjB,iDAAiD;IACjD,aAAa,EAAE,CAAC;IAChB,gFAAgF;IAChF,aAAa,EAAE,EAAE;IACjB,sBAAsB;IACtB,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;IAClC,2BAA2B;IAC3B,eAAe,EAAE;QACf,GAAG,6BAAa;QAChB,yBAAyB,EAAE,iBAAiB;QAC5C,qBAAqB,EAAE,uBAAuB;QAC9C,eAAe;QACf,eAAe;QACf,kBAAkB;KACnB;CACF,CAAC;AAEF,sBAAsB;AAEtB;;;GAGG;AACH,SAAS,gBAAgB,CAAC,OAAe,EAAE,QAAgB;IACzD,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,yCAAyC;IACzC,wDAAwD;IACxD,sBAAsB;IACtB,+CAA+C;IAC/C,gDAAgD;IAChD,MAAM,gBAAgB,GAAG;QACvB,2CAA2C;QAC3C,oBAAoB;QACpB,oBAAoB;QACpB,4BAA4B;QAC5B,iBAAiB;QACjB,+BAA+B;QAC/B,YAAY;QACZ,4CAA4C;QAC5C,iEAAiE;KAClE,CAAC;IAEF,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,YAAY,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,uCAAuC;QACvC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,UAAU,GAAG,CAAC,CAAC;oBACf,KAAK,GAAG,CAAC,CAAC;oBACV,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC;oBACtB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,oCAAoC;QACpC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExB,wCAAwC;QACxC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACpD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACrD,KAAK,IAAI,UAAU,GAAG,WAAW,CAAC;QAElC,yDAAyD;QACzD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACvE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/D,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAEjE,6BAA6B;QAC7B,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC;YACrE,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;YAEvC,IAAI,UAAU,IAAI,MAAM,CAAC,aAAa,IAAI,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC7E,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;gBAE3C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,UAAU,GAAG,CAAC,EAAE,YAAY;oBACvC,OAAO,EAAE,CAAC,GAAG,CAAC;oBACd,GAAG;oBACH,UAAU;oBACV,WAAW;oBACX,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;iBACjD,CAAC,CAAC;YACL,CAAC;YAED,UAAU,GAAG,IAAI,CAAC;YAClB,KAAK,GAAG,CAAC,CAAC;YACV,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,CACL,GAAG;QACD,wBAAwB;SACvB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;QACrB,0BAA0B;SACzB,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC;SAC/B,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC;QAChC,0CAA0C;SACzC,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC;QAC9C,2BAA2B;SAC1B,OAAO,CAAC,oCAAoC,EAAE,UAAU,CAAC;QAC1D,4BAA4B;SAC3B,OAAO,CAAC,2CAA2C,EAAE,YAAY,CAAC;QACnE,oBAAoB;SACnB,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,uDAAuD;SACtD,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC;SACvC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC;QACtC,sCAAsC;SACrC,OAAO,CAAC,6BAA6B,EAAE,mBAAmB,CAAC;QAC5D,oDAAoD;SACnD,OAAO,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;QACrD,sBAAsB;SACrB,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC;QACvC,OAAO;SACN,IAAI,EAAE,CACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,MAAkB;IAC9C,sCAAsC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE7B,+BAA+B;IAC/B,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,oBAAoB,CAAC;IAChE,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC1D,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAChE,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC/D,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC;IAC1D,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC9D,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC;IACpD,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC;IACtD,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IAClD,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAE9D,oCAAoC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACpD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,KAAe;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5G,CAAC;AAED,uBAAuB;AAEvB,KAAK,UAAU,gBAAgB;IAC7B,MAAM,SAAS,GAAe,EAAE,CAAC;IAEjC,mBAAmB;IACnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,IAAA,WAAI,EAAC,GAAG,GAAG,WAAW,EAAE;YAC5C,MAAM,EAAE,MAAM,CAAC,eAAe;YAC9B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnB,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAK,CAAC,MAAM,aAAa,KAAK,CAAC,MAAM,8BAA8B,CAAC,CAAC;IAEpF,gCAAgC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/C,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAK,CAAC,MAAM,UAAU,SAAS,CAAC,MAAM,wBAAwB,CAAC,CAAC;IAE/E,uBAAuB;IACvB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,2DAA2D;IAC3D,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QAC3C,mBAAmB;QACnB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC;gBACd,WAAW;gBACX,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB;gBAClD,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC;gBAC3C,gBAAgB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACtD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,cAAc;AAEP,KAAK,UAAU,GAAG;IACvB,MAAM,QAAQ,GAAG,IAAA,6DAA+B,EAAC,YAAI,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAElE,OAAO,CAAC,GAAG,CAAC,KAAK,qBAAK,CAAC,MAAM,sCAAsC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,IAAA,6BAAa,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAK,CAAC,IAAI,0EAA0E,CAAC,CAAC;IAErG,MAAM,UAAU,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,IAAA,6BAAa,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAExC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,qBAAK,CAAC,OAAO,uCAAuC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,qBAAK,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,+BAA+B,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;IAEjG,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAK,CAAC,UAAU,IAAI,KAAK,CAAC,aAAa,cAAc,SAAS,SAAS,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,4CAA4C,KAAK,CAAC,aAAa,QAAQ,CAAC,CAAC;QAErF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAA,6BAAa,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,qBAAK,CAAC,IAAI,mBAAmB,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAK,CAAC,KAAK,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAK,CAAC,IAAI,+CAA+C,CAAC,CAAC;IAE1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,yBAAyB;AACzB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"jsx-structure-duplication.js","sourceRoot":"","sources":["../../../src/checks/architecture/jsx-structure-duplication.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empline/preflight",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.23",
|
|
4
4
|
"description": "Distributable preflight validation system with app-specific plugin support",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,13 +19,15 @@
|
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
21
21
|
"build": "tsc",
|
|
22
|
-
"prebuild": "npm run check:hygiene",
|
|
22
|
+
"prebuild": "npm run check:hygiene && npm run check:metadata && npm run check:broken",
|
|
23
23
|
"dev": "tsc --watch",
|
|
24
24
|
"preflight": "tsx src/bin/preflight.ts",
|
|
25
|
-
"check:
|
|
26
|
-
"check:security": "tsx src/
|
|
27
|
-
"check:business": "tsx src/
|
|
25
|
+
"check:system": "tsx src/bin/preflight.ts --category system",
|
|
26
|
+
"check:security": "tsx src/bin/preflight.ts --category security",
|
|
27
|
+
"check:business": "tsx src/bin/preflight.ts --category business",
|
|
28
28
|
"check:hygiene": "tsx scripts/maintenance/module-boundary-validator.ts",
|
|
29
|
+
"check:metadata": "tsx src/checks/system/preflight-metadata-validator.ts",
|
|
30
|
+
"check:broken": "tsx src/checks/system/broken-preflight-detection.ts",
|
|
29
31
|
"check:hygiene:all": "tsx scripts/maintenance/module-boundary-validator.ts && tsx scripts/maintenance/workflow-composition-validator.ts && tsx scripts/maintenance/canonical-import-enforcer.ts",
|
|
30
32
|
"lint": "eslint src/",
|
|
31
33
|
"test": "vitest",
|