diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index d3f24a470fff..2e7eadc6ce21 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -1,4 +1,12 @@ +## 14.3.2 + +_Released 5/1/2025 (PENDING)_ + +**Bugfixes:** + +- Fixed an issue where Create from Component feature might not be able to parse React components from project files. Fixed in [#31457](https://github.com/cypress-io/cypress/pull/31457). + ## 14.3.1 _Released 4/17/2025_ diff --git a/packages/app/src/specs/generators/component/ComponentGeneratorCard.vue b/packages/app/src/specs/generators/component/ComponentGeneratorCard.vue index e245d7af6c97..7982b3e5a24b 100644 --- a/packages/app/src/specs/generators/component/ComponentGeneratorCard.vue +++ b/packages/app/src/specs/generators/component/ComponentGeneratorCard.vue @@ -4,7 +4,6 @@ :header="t('createSpec.component.importFromComponent.header')" :description="t('createSpec.component.importFromComponent.description')" :icon="DocumentCodeIcon" - :badge-text="t('versions.new')" /> diff --git a/packages/data-context/src/actions/CodegenActions.ts b/packages/data-context/src/actions/CodegenActions.ts index d777923df7aa..b2b3de1675e1 100644 --- a/packages/data-context/src/actions/CodegenActions.ts +++ b/packages/data-context/src/actions/CodegenActions.ts @@ -33,6 +33,7 @@ export class CodegenActions { let result = parseReactComponent(src, { resolver: findAllWithLink(exportResolver, reactDocgenResolvers), babelOptions: { + configFile: false, parserOpts: { plugins: ['typescript', 'jsx'], }, diff --git a/packages/data-context/test/unit/actions/CodegenActions.spec.ts b/packages/data-context/test/unit/actions/CodegenActions.spec.ts index 8baddc161722..978e2c17edb5 100644 --- a/packages/data-context/test/unit/actions/CodegenActions.spec.ts +++ b/packages/data-context/test/unit/actions/CodegenActions.spec.ts @@ -134,5 +134,29 @@ describe('CodegenActions', () => { expect(components).to.have.length(0) }) + + it('ensure that Babel is instructed to not use a config file', async () => { + let capturedOptions = null + const mockReactDocgen = { + parse: (src, options) => { + capturedOptions = options + + return [{ displayName: 'TestComponent' }] + }, + builtinResolvers: { + FindExportedDefinitionsResolver: class { + resolve () { + return [] + } + }, + }, + } + + const filePath = path.join(process.cwd(), 'test/unit/actions/project/counter-class.jsx') + + await actions.getReactComponentsFromFile(filePath, mockReactDocgen) + + expect(capturedOptions.babelOptions.configFile).to.equal(false) + }) }) })