Skip to content

Commit

Permalink
refactor(cloudflare): split legacy presets
Browse files Browse the repository at this point in the history
  • Loading branch information
pi0 committed Feb 4, 2025
1 parent ccf5726 commit 834dd48
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 77 deletions.
81 changes: 81 additions & 0 deletions src/presets/cloudflare/preset-legacy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import { defineNitroPreset } from "nitropack/kit";
import { writeFile } from "nitropack/kit";
import type { Nitro } from "nitropack/types";
import { resolve } from "pathe";

export type { CloudflareOptions as PresetOptions } from "./types";

const cloudflare = defineNitroPreset(
{
extends: "base-worker",
entry: "./runtime/cloudflare-worker",
exportConditions: ["workerd"],
commands: {
preview: "npx wrangler dev ./server/index.mjs --site ./public",
deploy: "npx wrangler deploy",
},
wasm: {
lazy: true,
},
hooks: {
async compiled(nitro: Nitro) {
await writeFile(
resolve(nitro.options.output.dir, "package.json"),
JSON.stringify({ private: true, main: "./server/index.mjs" }, null, 2)
);
await writeFile(
resolve(nitro.options.output.dir, "package-lock.json"),
JSON.stringify({ lockfileVersion: 1 }, null, 2)
);
},
},
},
{
name: "cloudflare-worker" as const,
aliases: ["cloudflare"] as const,
url: import.meta.url,
}
);

const cloudflareModuleLegacy = defineNitroPreset(
{
extends: "base-worker",
entry: "./runtime/cloudflare-module-legacy",
exportConditions: ["workerd"],
commands: {
preview: "npx wrangler dev ./server/index.mjs --site ./public",
deploy: "npx wrangler deploy",
},
rollupConfig: {
external: "__STATIC_CONTENT_MANIFEST",
output: {
format: "esm",
exports: "named",
inlineDynamicImports: false,
},
},
wasm: {
lazy: false,
esmImport: true,
},
hooks: {
async compiled(nitro: Nitro) {
await writeFile(
resolve(nitro.options.output.dir, "package.json"),
JSON.stringify({ private: true, main: "./server/index.mjs" }, null, 2)
);
await writeFile(
resolve(nitro.options.output.dir, "package-lock.json"),
JSON.stringify({ lockfileVersion: 1 }, null, 2)
);
},
},
},
{
name: "cloudflare-module-legacy" as const,
aliases: ["cloudflare-module"] as const,
url: import.meta.url,
}
);

export default [cloudflare, cloudflareModuleLegacy];
82 changes: 5 additions & 77 deletions src/presets/cloudflare/preset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import {
} from "./utils";
import { hybridNodePlugin, unenvCfPreset } from "./unenv/preset";

import cfLegacyPresets from "./preset-legacy";

export type { CloudflareOptions as PresetOptions } from "./types";

// TODO: Remove when wrangler -C support landed
Expand Down Expand Up @@ -93,79 +95,6 @@ const cloudflarePagesStatic = defineNitroPreset(
}
);

const cloudflare = defineNitroPreset(
{
extends: "base-worker",
entry: "./runtime/cloudflare-worker",
exportConditions: ["workerd"],
commands: {
preview: "npx wrangler dev ./server/index.mjs --site ./public",
deploy: "npx wrangler deploy",
},
wasm: {
lazy: true,
},
hooks: {
async compiled(nitro: Nitro) {
await writeFile(
resolve(nitro.options.output.dir, "package.json"),
JSON.stringify({ private: true, main: "./server/index.mjs" }, null, 2)
);
await writeFile(
resolve(nitro.options.output.dir, "package-lock.json"),
JSON.stringify({ lockfileVersion: 1 }, null, 2)
);
},
},
},
{
name: "cloudflare-worker" as const,
aliases: ["cloudflare"] as const,
url: import.meta.url,
}
);

const cloudflareModuleLegacy = defineNitroPreset(
{
extends: "base-worker",
entry: "./runtime/cloudflare-module-legacy",
exportConditions: ["workerd"],
commands: {
preview: "npx wrangler dev ./server/index.mjs --site ./public",
deploy: "npx wrangler deploy",
},
rollupConfig: {
external: "__STATIC_CONTENT_MANIFEST",
output: {
format: "esm",
exports: "named",
inlineDynamicImports: false,
},
},
wasm: {
lazy: false,
esmImport: true,
},
hooks: {
async compiled(nitro: Nitro) {
await writeFile(
resolve(nitro.options.output.dir, "package.json"),
JSON.stringify({ private: true, main: "./server/index.mjs" }, null, 2)
);
await writeFile(
resolve(nitro.options.output.dir, "package-lock.json"),
JSON.stringify({ lockfileVersion: 1 }, null, 2)
);
},
},
},
{
name: "cloudflare-module-legacy" as const,
aliases: ["cloudflare-module"] as const,
url: import.meta.url,
}
);

const cloudflareModule = defineNitroPreset(
{
extends: "base-worker",
Expand Down Expand Up @@ -222,10 +151,9 @@ const cloudflareDurable = defineNitroPreset(
);

export default [
cloudflare,
cloudflareModuleLegacy,
cloudflareModule,
cloudflareDurable,
...cfLegacyPresets,
cloudflarePages,
cloudflarePagesStatic,
cloudflareModule,
cloudflareDurable,
];

0 comments on commit 834dd48

Please sign in to comment.