From dc3b7b3345003583f7175873384b791ef6299a12 Mon Sep 17 00:00:00 2001 From: Mickey Rose Date: Wed, 30 Jun 2021 23:14:44 +0200 Subject: [PATCH 1/2] improve gulp generate-runtime-helpers error message If you had some garbage in packages/babel-runtime-helpers/src/helpers/, gulp generate-runtime-helpers would blow up with an unhelpful message: TypeError: Cannot read property 'groups' of null --- packages/babel-helpers/scripts/generate-helpers.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/babel-helpers/scripts/generate-helpers.js b/packages/babel-helpers/scripts/generate-helpers.js index 0552619d9b8a..f71f9943ba77 100644 --- a/packages/babel-helpers/scripts/generate-helpers.js +++ b/packages/babel-helpers/scripts/generate-helpers.js @@ -22,13 +22,15 @@ import template from "@babel/template"; const isValidId = isValidBindingIdentifier(helperName); const varName = isValidId ? helperName : `_${helperName}`; - const fileContents = await fs.promises.readFile( - join(fileURLToPath(HELPERS_FOLDER), file), - "utf8" - ); - const { minVersion } = fileContents.match( + const filePath = join(fileURLToPath(HELPERS_FOLDER), file); + const fileContents = await fs.promises.readFile(filePath, "utf8"); + const minVersionMatch = fileContents.match( /^\s*\/\*\s*@minVersion\s+(?\S+)\s*\*\/\s*$/m - ).groups; + ); + if (!minVersionMatch) { + throw new Error(`@minVersion number missing in ${filePath}`); + } + const { minVersion } = minVersionMatch.groups; // TODO: We can minify the helpers in production const source = fileContents From daa02c8da38d2515a758c33d444a4e4a38f4a9ef Mon Sep 17 00:00:00 2001 From: Mickey Rose Date: Wed, 30 Jun 2021 23:19:49 +0200 Subject: [PATCH 2/2] ignore files starting with a dot when generating runtime helpers --- packages/babel-helpers/scripts/generate-helpers.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/babel-helpers/scripts/generate-helpers.js b/packages/babel-helpers/scripts/generate-helpers.js index f71f9943ba77..cdc02f206411 100644 --- a/packages/babel-helpers/scripts/generate-helpers.js +++ b/packages/babel-helpers/scripts/generate-helpers.js @@ -17,6 +17,7 @@ import template from "@babel/template"; for (const file of (await fs.promises.readdir(HELPERS_FOLDER)).sort()) { if (IGNORED_FILES.has(file)) continue; + if (file.startsWith(".")) continue; // ignore e.g. vim swap files const [helperName] = file.split("."); const isValidId = isValidBindingIdentifier(helperName);