From ffe8d10cb30c749616d61341501b8096ec0b99fe Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Tue, 24 Sep 2024 17:54:53 +0100 Subject: [PATCH] fix: experimental Angular template using Workers with Assets was broken (#6815) --- .changeset/brown-shoes-tease.md | 5 +++++ .../templates-experimental/angular/c3.ts | 16 ++++++---------- .../angular/templates/src/.assetsignore | 4 ---- .../templates/tools/alter-polyfills.mjs | 19 ++++++++++++------- .../angular/templates/tools/copy-files.mjs | 9 --------- .../angular/templates/tools/paths.mjs | 9 --------- .../angular/templates/wrangler.toml | 4 ++-- 7 files changed, 25 insertions(+), 41 deletions(-) create mode 100644 .changeset/brown-shoes-tease.md delete mode 100644 packages/create-cloudflare/templates-experimental/angular/templates/src/.assetsignore delete mode 100644 packages/create-cloudflare/templates-experimental/angular/templates/tools/copy-files.mjs delete mode 100644 packages/create-cloudflare/templates-experimental/angular/templates/tools/paths.mjs diff --git a/.changeset/brown-shoes-tease.md b/.changeset/brown-shoes-tease.md new file mode 100644 index 000000000000..b7981554ad05 --- /dev/null +++ b/.changeset/brown-shoes-tease.md @@ -0,0 +1,5 @@ +--- +"create-cloudflare": patch +--- + +fix: experimental Angular template using Workers with Assets was broken diff --git a/packages/create-cloudflare/templates-experimental/angular/c3.ts b/packages/create-cloudflare/templates-experimental/angular/c3.ts index 751564aabb17..9c7e3046b339 100644 --- a/packages/create-cloudflare/templates-experimental/angular/c3.ts +++ b/packages/create-cloudflare/templates-experimental/angular/c3.ts @@ -23,14 +23,11 @@ const configure = async (ctx: C3Context) => { }; async function installCFWorker() { - await installPackages( - ["@cloudflare/workers-types", "@miniflare/tre@next", "wrangler@beta"], - { - dev: true, - startText: "Installing adapter dependencies", - doneText: `${brandColor("installed")} ${dim(`via \`${npm} install\``)}`, - }, - ); + await installPackages(["@cloudflare/workers-types", "wrangler"], { + dev: true, + startText: "Installing adapter dependencies", + doneText: `${brandColor("installed")} ${dim(`via \`${npm} install\``)}`, + }); } async function updateAppCode() { const s = spinner(); @@ -93,8 +90,7 @@ const config: TemplateConfig = { scripts: { start: `${npm} run build && wrangler dev`, build: `ng build && ${npm} run process`, - process: - "node ./tools/copy-files.mjs && node ./tools/alter-polyfills.mjs", + process: "node ./tools/alter-polyfills.mjs", deploy: `${npm} run build && wrangler deploy`, }, }), diff --git a/packages/create-cloudflare/templates-experimental/angular/templates/src/.assetsignore b/packages/create-cloudflare/templates-experimental/angular/templates/src/.assetsignore deleted file mode 100644 index c2634cc3650a..000000000000 --- a/packages/create-cloudflare/templates-experimental/angular/templates/src/.assetsignore +++ /dev/null @@ -1,4 +0,0 @@ -_worker.js -_routes.json -_headers -_redirects diff --git a/packages/create-cloudflare/templates-experimental/angular/templates/tools/alter-polyfills.mjs b/packages/create-cloudflare/templates-experimental/angular/templates/tools/alter-polyfills.mjs index eb479826900b..327d301f30a6 100644 --- a/packages/create-cloudflare/templates-experimental/angular/templates/tools/alter-polyfills.mjs +++ b/packages/create-cloudflare/templates-experimental/angular/templates/tools/alter-polyfills.mjs @@ -1,7 +1,9 @@ import fs from "node:fs"; import { EOL } from "node:os"; import { join } from "node:path"; -import { worker } from "./paths.mjs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +const dirname = path.dirname(fileURLToPath(import.meta.url)); /** * Split by lines and comment the banner @@ -10,15 +12,18 @@ import { worker } from "./paths.mjs"; * globalThis['require'] ??= createRequire(import.meta.url); * ``` */ -const serverPolyfillsFile = join(worker, "polyfills.server.mjs"); +const serverPolyfillsFile = join( + dirname, + "../dist/server/polyfills.server.mjs" +); const serverPolyfillsData = fs - .readFileSync(serverPolyfillsFile, "utf8") - .split(/\r?\n/); + .readFileSync(serverPolyfillsFile, "utf8") + .split(/\r?\n/); for (let index = 0; index < 2; index++) { - if (serverPolyfillsData[index].includes("createRequire")) { - serverPolyfillsData[index] = "// " + serverPolyfillsData[index]; - } + if (serverPolyfillsData[index].includes("createRequire")) { + serverPolyfillsData[index] = "// " + serverPolyfillsData[index]; + } } // Add needed polyfills diff --git a/packages/create-cloudflare/templates-experimental/angular/templates/tools/copy-files.mjs b/packages/create-cloudflare/templates-experimental/angular/templates/tools/copy-files.mjs deleted file mode 100644 index 1fba4ce08dd3..000000000000 --- a/packages/create-cloudflare/templates-experimental/angular/templates/tools/copy-files.mjs +++ /dev/null @@ -1,9 +0,0 @@ -// Copy the files over so that they can be uploaded by the pages publish command. -import fs from "node:fs"; -import { join } from "node:path"; -import { client, cloudflare, ssr, worker } from "./paths.mjs"; - -fs.cpSync(client, cloudflare, { recursive: true }); -fs.cpSync(ssr, worker, { recursive: true }); - -fs.renameSync(join(worker, "server.mjs"), join(worker, "index.js")); diff --git a/packages/create-cloudflare/templates-experimental/angular/templates/tools/paths.mjs b/packages/create-cloudflare/templates-experimental/angular/templates/tools/paths.mjs deleted file mode 100644 index 723b1acea1c6..000000000000 --- a/packages/create-cloudflare/templates-experimental/angular/templates/tools/paths.mjs +++ /dev/null @@ -1,9 +0,0 @@ -import path from "node:path"; -import { fileURLToPath } from "node:url"; - -const dirname = path.dirname(fileURLToPath(import.meta.url)); -export const root = path.resolve(dirname, ".."); -export const client = path.resolve(root, "dist/browser"); -export const ssr = path.resolve(root, "dist/server"); -export const cloudflare = path.resolve(root, "dist/cloudflare"); -export const worker = path.resolve(cloudflare, "_worker.js"); diff --git a/packages/create-cloudflare/templates-experimental/angular/templates/wrangler.toml b/packages/create-cloudflare/templates-experimental/angular/templates/wrangler.toml index 51acafa88f3d..94704630e626 100644 --- a/packages/create-cloudflare/templates-experimental/angular/templates/wrangler.toml +++ b/packages/create-cloudflare/templates-experimental/angular/templates/wrangler.toml @@ -1,5 +1,5 @@ #:schema node_modules/wrangler/config-schema.json name = "" compatibility_date = "" -main = "./dist/cloudflare/_worker.js" -assets = { directory = "./dist/cloudflare", binding = "ASSETS" } +main = "./dist/server/server.mjs" +assets = { directory = "./dist/browser", binding = "ASSETS" }