From bea4f50a9eb9f56d3a52430d5b1c05834414d56a Mon Sep 17 00:00:00 2001 From: Jason Miller Date: Sat, 24 Dec 2022 01:45:29 -0500 Subject: [PATCH] Avoid file locks + overwrites by using a temp file for HTML templates (#1336) * Avoid file locks + overwrites by using a temp file for HTML templates This fixes #1331. * refactor: Replace tempy with simple random number gen * docs: Adding changeset Co-authored-by: Ryan Christian --- .changeset/violet-dryers-smell.md | 5 +++++ packages/cli/src/lib/webpack/render-html-plugin.js | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .changeset/violet-dryers-smell.md diff --git a/.changeset/violet-dryers-smell.md b/.changeset/violet-dryers-smell.md new file mode 100644 index 000000000..4dd15bda5 --- /dev/null +++ b/.changeset/violet-dryers-smell.md @@ -0,0 +1,5 @@ +--- +'preact-cli': patch +--- + +Temp files generated by `preact-cli` are now unique to a build, allowing for concurrent instances to run at the same time. diff --git a/packages/cli/src/lib/webpack/render-html-plugin.js b/packages/cli/src/lib/webpack/render-html-plugin.js index 04d19d99c..3f1faa6b6 100644 --- a/packages/cli/src/lib/webpack/render-html-plugin.js +++ b/packages/cli/src/lib/webpack/render-html-plugin.js @@ -45,7 +45,10 @@ module.exports = async function (config) { // Unfortunately html-webpack-plugin expects a true file, // so we'll create a temporary one. - const tmpDir = join(os.tmpdir(), 'preact-cli'); + const tmpDir = join( + os.tmpdir(), + `preact-cli-${Math.floor(Math.random() * 100000)}` + ); if (!existsSync(tmpDir)) { mkdirSync(tmpDir); }