diff --git a/packages/babel-parser/src/parser/statement.ts b/packages/babel-parser/src/parser/statement.ts index 6bbab77998ed..5d760bde35a3 100644 --- a/packages/babel-parser/src/parser/statement.ts +++ b/packages/babel-parser/src/parser/statement.ts @@ -2944,7 +2944,13 @@ export default abstract class StatementParser extends ExpressionParser { loc?: Position, ): void { if (isExport) { - // This will never happen + if (!process.env.IS_PUBLISH) { + if (phase === "module") { + throw new Error( + "Assertion failure: export declarations do not support the 'module' phase.", + ); + } + } return; } if (phase === "module") { diff --git a/packages/babel-parser/src/plugins/placeholders.ts b/packages/babel-parser/src/plugins/placeholders.ts index 4d460d40d422..f349bd32a9d7 100644 --- a/packages/babel-parser/src/plugins/placeholders.ts +++ b/packages/babel-parser/src/plugins/placeholders.ts @@ -310,10 +310,7 @@ export default (superClass: typeof Parser) => >, maybeDefaultIdentifier: N.Identifier | null, ): node is Undone { - if ( - (node as N.ExportNamedDeclaration).specifiers && - (node as N.ExportNamedDeclaration).specifiers.length > 0 - ) { + if ((node as N.ExportNamedDeclaration).specifiers?.length) { // "export %%NAME%%" has already been parsed by #parseExport. return true; }