From ec44a01e13b66dde576dca553501860a376c8099 Mon Sep 17 00:00:00 2001 From: Dominik Ferber Date: Fri, 28 Feb 2025 11:43:50 +0200 Subject: [PATCH 1/2] allow using shirt-shop as a template --- .../scripts/replace-workspace-version.mjs | 29 +++++++++++++++++++ examples/shirt-shop/vercel.json | 3 ++ 2 files changed, 32 insertions(+) create mode 100644 examples/shirt-shop/scripts/replace-workspace-version.mjs create mode 100644 examples/shirt-shop/vercel.json diff --git a/examples/shirt-shop/scripts/replace-workspace-version.mjs b/examples/shirt-shop/scripts/replace-workspace-version.mjs new file mode 100644 index 0000000..494ec7c --- /dev/null +++ b/examples/shirt-shop/scripts/replace-workspace-version.mjs @@ -0,0 +1,29 @@ +import fs from 'fs/promises'; + +async function prepareTemplate() { + // Skip when not used as a template + if (process.env.VERCEL_PROJECT_ID === 'prj_6Km3AvCCo0QgJSoEb3cFQwwB9x0Y') { + return; + } + + // Read the package.json + const packageJson = JSON.parse(await fs.readFile('./package.json', 'utf8')); + + // Create a copy for the template + const templatePackageJson = { ...packageJson }; + + // Replace workspace dependencies with real versions + for (const [dep, version] of Object.entries( + templatePackageJson.dependencies || {}, + )) { + if (version.startsWith('workspace:')) { + // Replace with the actual version you want + templatePackageJson.dependencies[dep] = 'latest'; + } + } + + // Write the template package.json + await fs.writeFile('./package.json', JSON.stringify(templatePackageJson)); +} + +prepareTemplate(); diff --git a/examples/shirt-shop/vercel.json b/examples/shirt-shop/vercel.json new file mode 100644 index 0000000..4303223 --- /dev/null +++ b/examples/shirt-shop/vercel.json @@ -0,0 +1,3 @@ +{ + "installCommand": "node scripts/replace-workspace-version.js && pnpm install" +} From 94da186e472f125c0d9f7f5996877358421c8a7a Mon Sep 17 00:00:00 2001 From: Dominik Ferber Date: Fri, 28 Feb 2025 11:45:01 +0200 Subject: [PATCH 2/2] =?UTF-8?q?js=20=C2=BB=20mjs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/shirt-shop/vercel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/shirt-shop/vercel.json b/examples/shirt-shop/vercel.json index 4303223..5804d6a 100644 --- a/examples/shirt-shop/vercel.json +++ b/examples/shirt-shop/vercel.json @@ -1,3 +1,3 @@ { - "installCommand": "node scripts/replace-workspace-version.js && pnpm install" + "installCommand": "node scripts/replace-workspace-version.mjs && pnpm install" }