Skip to content

Commit 73c632b

Browse files
committed
remove miniflare workaround
cloudflare/workers-sdk#13577 landed
1 parent 72e8568 commit 73c632b

4 files changed

Lines changed: 35 additions & 47 deletions

File tree

package-lock.json

Lines changed: 32 additions & 32 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"homepage": "https://github.com/cloudflare/workers-rs#readme",
1616
"devDependencies": {
1717
"@types/node": "^24.0.1",
18-
"miniflare": "^4.20260329.0",
18+
"miniflare": "^4.20260420.0",
1919
"typescript": "^5.8.3",
2020
"uuid": "^11.1.0",
2121
"vitest": "^3.2.4"

test/tests/send_email.spec.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,10 @@ async function runScenario(name: string): Promise<SendResult> {
1313
return (await resp.json()) as SendResult;
1414
}
1515

16-
// Miniflare's send_email binding resolves to `undefined` on success rather
17-
// than `{ messageId }` like real workerd, so `messageId` is expected to be an
18-
// empty string here. We still assert the type/presence.
1916
function expectSuccess(result: SendResult) {
2017
expect(result.error).toBeNull();
2118
expect(result.ok).toBe(true);
22-
expect(typeof result.messageId).toBe("string");
19+
expect(result.messageId).toBeTruthy();
2320
}
2421

2522
describe("send email (raw MIME)", () => {

worker/src/send_email.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -115,25 +115,16 @@ impl SendEmail {
115115
async fn send_js(&self, payload: &JsValue) -> Result<EmailSendResult> {
116116
let promise = self.0.send(payload)?;
117117
let value = SendFuture::new(JsFuture::from(promise)).await?;
118-
// Miniflare's `send_email` binding resolves to `undefined`; real
119-
// workerd resolves to `{ messageId }`. Tolerate both so local dev
120-
// with `wrangler dev` doesn't throw on deserialize.
121-
if value.is_undefined() || value.is_null() {
122-
return Ok(EmailSendResult::default());
123-
}
124118
Ok(serde_wasm_bindgen::from_value(value)?)
125119
}
126120
}
127121

128122
/// Return value of a successful send.
129-
#[derive(Debug, Clone, Default, Deserialize)]
123+
#[derive(Debug, Clone, Deserialize)]
130124
#[serde(rename_all = "camelCase")]
131125
pub struct EmailSendResult {
132126
/// The runtime-assigned message id (also exposed as the `Message-ID`
133127
/// header on the delivered message).
134-
///
135-
/// Empty under `miniflare` (used by `wrangler dev`), which resolves the
136-
/// binding with no value; real workerd populates it.
137128
pub message_id: String,
138129
}
139130

0 commit comments

Comments
 (0)