From db3a97a345b78e274ed2c07608e5dfe13473cb08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Wed, 24 May 2023 15:07:50 +0200 Subject: [PATCH] Use a proper assertion --- packages/babel-parser/src/parser/statement.ts | 8 +++++++- packages/babel-parser/src/plugins/placeholders.ts | 5 +---- 2 files changed, 8 insertions(+), 5 deletions(-) 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; }