Skip to content

Commit 4ea8163

Browse files
committed
use workersTypes enum instead
1 parent 70cf9aa commit 4ea8163

File tree

16 files changed

+39
-26
lines changed

16 files changed

+39
-26
lines changed

packages/create-cloudflare/src/__tests__/workers.test.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ describe("updateTsConfig", () => {
2424
beforeEach(() => {
2525
ctx = createTestContext();
2626
ctx.args.ts = true;
27-
ctx.template.installWorkersTypes = false;
28-
ctx.template.skipWranglerTypegen = false;
27+
ctx.template.workersTypes = "generated";
2928

3029
vi.mocked(existsSync).mockImplementation(() => true);
3130
vi.mocked(getLatestTypesEntrypoint).mockReturnValue(mockCompatDate);
@@ -37,8 +36,8 @@ describe("updateTsConfig", () => {
3736
});
3837

3938
test("installing workers types", async () => {
40-
ctx.template.installWorkersTypes = true;
41-
ctx.template.skipWranglerTypegen = true;
39+
ctx.template.workersTypes = "installed";
40+
4241
await updateTsConfig(ctx);
4342

4443
expect(writeFile).toHaveBeenCalled();
@@ -55,17 +54,16 @@ describe("updateTsConfig", () => {
5554
});
5655

5756
test("latest entrypoint not found", async () => {
58-
ctx.template.installWorkersTypes = true;
59-
ctx.template.skipWranglerTypegen = true;
57+
ctx.template.workersTypes = "installed";
58+
6059
vi.mocked(getLatestTypesEntrypoint).mockReturnValue(null);
6160
await updateTsConfig(ctx);
6261

6362
expect(writeFile).not.toHaveBeenCalled();
6463
});
6564

6665
test("don't clobber existing entrypoints", async () => {
67-
ctx.template.installWorkersTypes = true;
68-
ctx.template.skipWranglerTypegen = true;
66+
ctx.template.workersTypes = "installed";
6967
vi.mocked(readFile).mockImplementation(
7068
() =>
7169
`{ "compilerOptions": { "types" : ["@cloudflare/workers-types/2021-03-20"]} }`,

packages/create-cloudflare/src/cli.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,9 @@ const configure = async (ctx: C3Context) => {
167167
addWranglerToGitIgnore(ctx);
168168

169169
await updatePackageScripts(ctx);
170-
if (ctx.template.installWorkersTypes) {
170+
if (ctx.template.workersTypes === "installed") {
171171
await installWorkersTypes(ctx);
172-
}
173-
if (!ctx.template.skipWranglerTypegen) {
172+
} else if (ctx.template.workersTypes === "generated") {
174173
await generateWorkersTypes(ctx);
175174
}
176175

packages/create-cloudflare/src/templates.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,8 @@ export type TemplateConfig = {
150150

151151
bindings?: Record<string, unknown>;
152152

153-
/** Default false. For frameworks that are pinned to Wrangler 3. */
154-
installWorkersTypes?: boolean;
155-
156153
/** Default false. To accomodate SSG frameworks etc. */
157-
skipWranglerTypegen?: boolean;
154+
workersTypes?: "generated" | "installed" | "none";
158155
};
159156

160157
type CopyFiles = (StaticFileMap | VariantInfo) & {
@@ -614,6 +611,9 @@ export const createContext = async (
614611
const directory = dirname(path);
615612
const originalCWD = process.cwd();
616613

614+
// set default to generate types
615+
template.workersTypes ??= "generated";
616+
template.typesPath ??= "worker-configuration.d.ts";
617617
return {
618618
project: { name, path },
619619
// We need to maintain a reference to the original args

packages/create-cloudflare/src/workers.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export async function generateWorkersTypes(ctx: C3Context) {
3232
cwd: ctx.project.path,
3333
silent: true,
3434
startText: "Generating types for your application",
35-
doneText: `${brandColor("generated")} ${dim(`to \`${ctx.template.typesPath ?? "worker-configuration.d.ts"}\` via \`${typesCmd.join(" ")}\``)}`,
35+
doneText: `${brandColor("generated")} ${dim(`to \`${ctx.template.typesPath}\` via \`${typesCmd.join(" ")}\``)}`,
3636
});
3737

3838
if (ctx.template.compatibilityFlags?.includes("nodejs_compat")) {
@@ -66,7 +66,7 @@ export async function updateTsConfig(ctx: C3Context) {
6666
const config = jsonc.parse(tsconfig);
6767
const currentTypes = config.compilerOptions?.types ?? [];
6868
let newTypes: string[] = [...currentTypes];
69-
if (ctx.template.installWorkersTypes) {
69+
if (ctx.template.workersTypes === "installed") {
7070
const entrypointVersion = getLatestTypesEntrypoint(ctx);
7171
if (entrypointVersion === null) {
7272
return;
@@ -84,7 +84,7 @@ export async function updateTsConfig(ctx: C3Context) {
8484
newTypes.push(typesEntrypoint);
8585
}
8686
}
87-
if (!ctx.template.skipWranglerTypegen) {
87+
if (ctx.template.workersTypes === "generated") {
8888
newTypes.push(ctx.template.typesPath ?? "./worker-configuration.d.ts");
8989
// if generated types include runtime types, remove @cloudflare/workers-types
9090
const typegen = readFile(

packages/create-cloudflare/templates/docusaurus/pages/c3.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ const config: TemplateConfig = {
2727
devScript: "preview",
2828
deployScript: "deploy",
2929
previewScript: "preview",
30-
skipWranglerTypegen: false,
30+
workersTypes: "none",
3131
};
3232
export default config;

packages/create-cloudflare/templates/docusaurus/workers/c3.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ const config: TemplateConfig = {
2929
devScript: "start",
3030
deployScript: "deploy",
3131
previewScript: "preview",
32-
skipWranglerTypegen: true,
32+
workersTypes: "none",
3333
};
3434
export default config;

packages/create-cloudflare/templates/gatsby/pages/c3.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,6 @@ const config: TemplateConfig = {
4747
devScript: "develop",
4848
deployScript: "deploy",
4949
previewScript: "preview",
50-
skipWranglerTypegen: true,
50+
workersTypes: "none",
5151
};
5252
export default config;

packages/create-cloudflare/templates/gatsby/workers/c3.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,6 @@ const config: TemplateConfig = {
4949
devScript: "develop",
5050
deployScript: "deploy",
5151
previewScript: "preview",
52-
skipWranglerTypegen: true,
52+
workersTypes: "none",
5353
};
5454
export default config;

packages/create-cloudflare/templates/qwik/pages/c3.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,6 @@ const config: TemplateConfig = {
146146
devScript: "dev",
147147
deployScript: "deploy",
148148
previewScript: "preview",
149-
installWorkersTypes: true,
149+
workersTypes: "installed",
150150
};
151151
export default config;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// Generated by Wrangler
2+
// After adding bindings to `wrangler.jsonc`, regenerate this interface via `npm run cf-typegen`
3+
interface Env {
4+
}

0 commit comments

Comments
 (0)