From 4871fa490bf3a98c89fb7595caa86827c25c8dc6 Mon Sep 17 00:00:00 2001 From: Mickey Rose Date: Mon, 31 May 2021 20:58:21 +0200 Subject: [PATCH] fix generate-helpers failing in URL-encoded path HELPERS_FOLDER.pathname may be URL-encoded, if the working tree's absolute path contains spaces, some reserved characters, or anything beyond ASCII. readFile accepts a plain String or URL for the path, but does not automatically decode URL-encoded Strings. --- packages/babel-helpers/scripts/generate-helpers.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/babel-helpers/scripts/generate-helpers.js b/packages/babel-helpers/scripts/generate-helpers.js index 40da562254ea..0552619d9b8a 100644 --- a/packages/babel-helpers/scripts/generate-helpers.js +++ b/packages/babel-helpers/scripts/generate-helpers.js @@ -1,6 +1,6 @@ import fs from "fs"; import { join } from "path"; -import { URL } from "url"; +import { URL, fileURLToPath } from "url"; const HELPERS_FOLDER = new URL("../src/helpers", import.meta.url); const IGNORED_FILES = new Set(["package.json"]); @@ -23,7 +23,7 @@ import template from "@babel/template"; const varName = isValidId ? helperName : `_${helperName}`; const fileContents = await fs.promises.readFile( - join(HELPERS_FOLDER.pathname, file), + join(fileURLToPath(HELPERS_FOLDER), file), "utf8" ); const { minVersion } = fileContents.match(