diff --git a/.changeset/tidy-beans-smile.md b/.changeset/tidy-beans-smile.md new file mode 100644 index 00000000000..78fc438aa03 --- /dev/null +++ b/.changeset/tidy-beans-smile.md @@ -0,0 +1,5 @@ +--- +'react-docgen': patch +--- + +Allow parsing with Babel 8 when it is supplied via an override, while preserving Babel 7's default parser behavior. diff --git a/packages/react-docgen/package.json b/packages/react-docgen/package.json index 7fce579d521..2e6abdc3087 100644 --- a/packages/react-docgen/package.json +++ b/packages/react-docgen/package.json @@ -53,5 +53,8 @@ "doctrine": "^3.0.0", "resolve": "^1.22.1", "strip-indent": "^4.0.0" + }, + "devDependencies": { + "babel-core-8": "npm:@babel/core@8.0.1" } } diff --git a/packages/react-docgen/src/__tests__/babel8-test.ts b/packages/react-docgen/src/__tests__/babel8-test.ts new file mode 100644 index 00000000000..86e223d483c --- /dev/null +++ b/packages/react-docgen/src/__tests__/babel8-test.ts @@ -0,0 +1,75 @@ +import { parse } from '../main.js'; +import { expect, test, vi } from 'vitest'; + +vi.mock('@babel/core', () => import('babel-core-8')); + +test('parses components with Babel 8', () => { + const result = parse('export function Button() { return