From abb21a9b5954e44c5689abb76d921e42f9aca605 Mon Sep 17 00:00:00 2001 From: Rahul Sethi <5822355+RamIdeas@users.noreply.github.com> Date: Tue, 25 Jun 2024 17:01:13 +0100 Subject: [PATCH] ConfigController minor internal renaming (#6145) * chore: use unusable generic instead of casting * chore: rename config controller instance properties with 'latest' prefix * chore: remove unnecessary unwrapHook usage --- .../LocalRuntimeController.test.ts | 28 +++++++++---------- .../api/startDevWorker/ConfigController.ts | 19 ++++++------- .../wrangler/src/api/startDevWorker/DevEnv.ts | 2 +- 3 files changed, 23 insertions(+), 26 deletions(-) diff --git a/packages/wrangler/src/__tests__/api/startDevWorker/LocalRuntimeController.test.ts b/packages/wrangler/src/__tests__/api/startDevWorker/LocalRuntimeController.test.ts index a70969e45e7c..e7ab9f3fdaa3 100644 --- a/packages/wrangler/src/__tests__/api/startDevWorker/LocalRuntimeController.test.ts +++ b/packages/wrangler/src/__tests__/api/startDevWorker/LocalRuntimeController.test.ts @@ -126,7 +126,7 @@ describe("Core", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), compatibilityFlags: ["nodejs_compat"], compatibilityDate: "2023-10-01", }; @@ -271,7 +271,7 @@ describe("Core", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), }; const bundle: Bundle = { type: "commonjs", @@ -358,7 +358,7 @@ describe("Core", () => { function update(version: number) { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), bindings: { VERSION: { type: "json", value: version }, }, @@ -406,7 +406,7 @@ describe("Core", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), compatibilityDate: disabledDate, }; const bundle = makeEsbuildBundle(dedent/*javascript*/ ` @@ -444,7 +444,7 @@ describe("Core", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), }; const bundle = makeEsbuildBundle(dedent/*javascript*/ ` export default { @@ -503,7 +503,7 @@ describe("Bindings", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), bindings: { TEXT: { type: "plain_text", value: "text" }, OBJECT: { type: "json", value: { a: { b: 1 } } }, @@ -543,7 +543,7 @@ describe("Bindings", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), bindings: { // `wasm-module` bindings aren't allowed in modules workers WASM: { type: "wasm_module", source: { contents: WASM_ADD_MODULE } }, @@ -573,7 +573,7 @@ describe("Bindings", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), dev: { persist: { path: persist } }, }; const bundle = makeEsbuildBundle(`export default { @@ -621,7 +621,7 @@ describe("Bindings", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), bindings: { NAMESPACE: { type: "kv_namespace", id: "ns" } }, dev: { persist: { path: persist } }, }; @@ -667,7 +667,7 @@ describe("Bindings", () => { let config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), legacy: { site: { bucket: tmp, include: ["*.txt"] } }, }; const bundle = makeEsbuildBundle(` @@ -722,7 +722,7 @@ describe("Bindings", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), bindings: { BUCKET: { type: "r2_bucket", bucket_name: "bucket" } }, dev: { persist: { path: persist } }, }; @@ -766,7 +766,7 @@ describe("Bindings", () => { const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), bindings: { DB: { type: "d1", database_name: "db-name", database_id: "db" }, }, @@ -816,7 +816,7 @@ describe("Bindings", () => { const reportPromise = new DeferredPromise(); const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), bindings: { QUEUE: { type: "queue", queue_name: "queue" }, BATCH_REPORT: { @@ -872,7 +872,7 @@ describe("Bindings", () => { const localConnectionString = `postgres://username:password@127.0.0.1:${port}/db`; const config: StartDevWorkerOptions = { name: "worker", - entrypoint: unusable() as FilePath, + entrypoint: unusable(), bindings: { DB: { type: "hyperdrive", id: "db", localConnectionString } }, }; const bundle = makeEsbuildBundle(`export default { diff --git a/packages/wrangler/src/api/startDevWorker/ConfigController.ts b/packages/wrangler/src/api/startDevWorker/ConfigController.ts index 849d44f2b626..1433cbd8d17d 100644 --- a/packages/wrangler/src/api/startDevWorker/ConfigController.ts +++ b/packages/wrangler/src/api/startDevWorker/ConfigController.ts @@ -1,6 +1,5 @@ import assert from "node:assert"; import { Controller } from "./BaseController"; -import { unwrapHook } from "./utils"; import type { ControllerEventMap } from "./BaseController"; import type { ConfigUpdateEvent } from "./events"; import type { StartDevWorkerOptions } from "./types"; @@ -11,32 +10,30 @@ export type ConfigControllerEventMap = ControllerEventMap & { type Options = StartDevWorkerOptions; export class ConfigController extends Controller { - config?: Options; + latestInput?: Options; + latestConfig?: Options; public set(input: Options) { - const config = unwrapHook(input, this.latest); - - this.#updateConfig(config); + this.#updateConfig(input); } public patch(input: Partial) { assert( - this.latest, + this.latestInput, "Cannot call updateConfig without previously calling setConfig" ); const config: Options = { - ...this.latest, + ...this.latestInput, ...input, }; this.#updateConfig(config); } - latest?: Options; #updateConfig(input: Options) { const directory = input.directory; - this.config = { + this.latestConfig = { directory, build: { moduleRules: [], @@ -48,8 +45,8 @@ export class ConfigController extends Controller { }, ...input, }; - this.latest = input; - this.emitConfigUpdateEvent(this.config); + this.latestInput = input; + this.emitConfigUpdateEvent(this.latestConfig); } // ****************** diff --git a/packages/wrangler/src/api/startDevWorker/DevEnv.ts b/packages/wrangler/src/api/startDevWorker/DevEnv.ts index 68e4d8147ca7..10c1c34bba61 100644 --- a/packages/wrangler/src/api/startDevWorker/DevEnv.ts +++ b/packages/wrangler/src/api/startDevWorker/DevEnv.ts @@ -150,7 +150,7 @@ export function createWorkerObject(devEnv: DevEnv): DevWorker { return devEnv.proxy.ready.promise.then(() => undefined); }, get config() { - return devEnv.config.config; + return devEnv.config.latestConfig; }, setConfig(config) { return devEnv.config.set(config);