diff --git a/dist/core/pipeline/FormatterPipeline.js b/dist/core/pipeline/FormatterPipeline.js index 0aade64..764428d 100644 --- a/dist/core/pipeline/FormatterPipeline.js +++ b/dist/core/pipeline/FormatterPipeline.js @@ -138,6 +138,16 @@ class FormatterPipeline { dryRun }; } + if (this.config.skipReactFiles && /\.(tsx|jsx)$/.test(filePath)) { + return { + filePath, + originalSource, + currentSource: originalSource, + executions: [], + changed: false, + dryRun + }; + } const context = { filePath, originalSource, diff --git a/src/core/config/ConfigTypes.ts b/src/core/config/ConfigTypes.ts index 02d595f..8ff6a70 100644 --- a/src/core/config/ConfigTypes.ts +++ b/src/core/config/ConfigTypes.ts @@ -196,6 +196,9 @@ export interface CoreConfig { /** Custom order for formatter execution (default: IndexGeneration, CodeStyle, ImportOrganization, ASTTransformation, Spacing) */ formatterOrder?: FormatterOrder[]; + + /** Skip formatting for React component files (.tsx and .jsx) entirely (default: false) */ + skipReactFiles?: boolean; } /** Configuration type definitions and utilities */ diff --git a/src/core/pipeline/FormatterPipeline.ts b/src/core/pipeline/FormatterPipeline.ts index 5864e8c..5859722 100644 --- a/src/core/pipeline/FormatterPipeline.ts +++ b/src/core/pipeline/FormatterPipeline.ts @@ -197,6 +197,18 @@ export class FormatterPipeline { }; } + // Skip React component files if configured + if (this.config.skipReactFiles && /\.(tsx|jsx)$/.test(filePath)) { + return { + filePath, + originalSource, + currentSource: originalSource, + executions: [], + changed: false, + dryRun, + }; + } + // Initialize pipeline context const context: PipelineContext = { filePath,