miniflare
Advanced tools
Comparing version 0.0.0-bd306d705 to 0.0.0-be88a62ad
@@ -13,3 +13,7 @@ // src/workers/assets/assets-kv.worker.ts | ||
let { filePath, contentType } = entry, response = await env[SharedBindings.MAYBE_SERVICE_BLOBS].fetch( | ||
new URL(filePath, "http://placeholder") | ||
new URL( | ||
// somewhere in blobservice I think this is being decoded again | ||
filePath.split("/").map((x) => encodeURIComponent(x)).join("/"), | ||
"http://placeholder" | ||
) | ||
), newResponse = new Response(response.body, response); | ||
@@ -16,0 +20,0 @@ return newResponse.headers.append( |
@@ -689,3 +689,3 @@ // ../../node_modules/.pnpm/kleur@4.1.5/node_modules/kleur/colors.mjs | ||
function isObject(value) { | ||
return value && typeof value == "object"; | ||
return !!value && typeof value == "object"; | ||
} | ||
@@ -695,2 +695,5 @@ function getType(value) { | ||
} | ||
function isInternal(value) { | ||
return isObject(value) && value[Symbol.for("cloudflare:internal-class")]; | ||
} | ||
var ProxyServer = class { | ||
@@ -710,3 +713,3 @@ constructor(_state, env) { | ||
let type = getType(value); | ||
if (type === "Object" && !isPlainObject(value) || type === "Promise") { | ||
if ((type === "Object" || isInternal(value)) && !isPlainObject(value) || type === "Promise") { | ||
let address = this.nextHeapAddress++; | ||
@@ -713,0 +716,0 @@ this.heap.set(address, value), assert2(value !== null); |
@@ -60,5 +60,7 @@ var __defProp = Object.defineProperty; | ||
maxRetires: z.number().min(0).max(100).optional(), | ||
// deprecated | ||
maxRetries: z.number().min(0).max(100).optional(), | ||
deadLetterQueue: z.ostring(), | ||
retryDelay: QueueMessageDelaySchema | ||
}), QueueConsumerSchema = /* @__PURE__ */ z.intersection( | ||
}).transform((queue) => (queue.maxRetires !== void 0 && (queue.maxRetries = queue.maxRetires), queue)), QueueConsumerSchema = /* @__PURE__ */ z.intersection( | ||
QueueConsumerOptionsSchema, | ||
@@ -180,3 +182,5 @@ z.object({ workerName: z.string() }) | ||
get #maybeProducer() { | ||
return this.#producers[this.name]; | ||
return Object.values(this.#producers).find( | ||
(p) => p?.queueName === this.name | ||
); | ||
} | ||
@@ -201,3 +205,3 @@ get #maybeConsumer() { | ||
assert(consumer !== void 0); | ||
let batchSize = consumer.maxBatchSize ?? DEFAULT_BATCH_SIZE, maxAttempts = (consumer.maxRetires ?? DEFAULT_RETRIES) + 1, maxAttemptsS = maxAttempts === 1 ? "" : "s", batch = this.#messages.splice(0, batchSize), startTime = Date.now(), endTime, response; | ||
let batchSize = consumer.maxBatchSize ?? DEFAULT_BATCH_SIZE, maxAttempts = (consumer.maxRetries ?? DEFAULT_RETRIES) + 1, maxAttemptsS = maxAttempts === 1 ? "" : "s", batch = this.#messages.splice(0, batchSize), startTime = Date.now(), endTime, response; | ||
try { | ||
@@ -268,13 +272,17 @@ response = await this.#dispatchBatch(consumer.workerName, batch), endTime = Date.now(); | ||
message = async (req) => { | ||
if (this.#maybeConsumer === void 0) | ||
return new Response(); | ||
validateMessageSize(req.headers); | ||
let contentType = validateContentType(req.headers), delay = validateMessageDelay(req.headers), body = Buffer2.from(await req.arrayBuffer()); | ||
return this.#maybeConsumer === void 0 ? new Response() : (this.#enqueue( | ||
let contentType = validateContentType(req.headers), delay = validateMessageDelay(req.headers) ?? this.#maybeProducer?.deliveryDelay, body = Buffer2.from(await req.arrayBuffer()); | ||
return this.#enqueue( | ||
[{ contentType, delaySecs: delay, body }], | ||
this.#maybeProducer?.deliveryDelay | ||
), new Response()); | ||
), new Response(); | ||
}; | ||
batch = async (req) => { | ||
if (this.#maybeConsumer === void 0) | ||
return new Response(); | ||
validateBatchSize(req.headers); | ||
let delay = validateMessageDelay(req.headers) ?? this.#maybeProducer?.deliveryDelay, body = QueuesBatchRequestSchema.parse(await req.json()); | ||
return this.#maybeConsumer === void 0 ? new Response() : (this.#enqueue(body.messages, delay), new Response()); | ||
return this.#enqueue(body.messages, delay), new Response(); | ||
}; | ||
@@ -281,0 +289,0 @@ }; |
{ | ||
"name": "miniflare", | ||
"version": "0.0.0-bd306d705", | ||
"version": "0.0.0-be88a62ad", | ||
"description": "Fun, full-featured, fully-local simulator for Cloudflare Workers", | ||
@@ -41,3 +41,3 @@ "keywords": [ | ||
"undici": "^5.28.4", | ||
"workerd": "1.20240909.0", | ||
"workerd": "1.20241011.1", | ||
"ws": "^8.17.1", | ||
@@ -49,3 +49,3 @@ "youch": "^3.2.2", | ||
"@ava/typescript": "^4.1.0", | ||
"@cloudflare/workers-types": "^4.20240909.0", | ||
"@cloudflare/workers-types": "^4.20241011.0", | ||
"@microsoft/api-extractor": "^7.47.0", | ||
@@ -84,3 +84,3 @@ "@types/debug": "^4.1.7", | ||
"@cloudflare/kv-asset-handler": "0.3.4", | ||
"@cloudflare/workers-shared": "0.0.0-bd306d705" | ||
"@cloudflare/workers-shared": "0.0.0-be88a62ad" | ||
}, | ||
@@ -87,0 +87,0 @@ "engines": { |
@@ -577,2 +577,13 @@ # 🔥 Miniflare | ||
#### Assets | ||
- `directory?: string` | ||
Path to serve Workers static asset files from. | ||
- `binding?: string` | ||
Binding name to inject as a `Fetcher` binding to allow access to static assets from within the Worker. | ||
- `assetOptions?: { html_handling?: HTMLHandlingOptions, not_found_handling?: NotFoundHandlingOptions}` | ||
Configuration for file-based asset routing - see [docs](https://developers.cloudflare.com/workers/static-assets/routing/#routing-configuration) for options | ||
#### Analytics Engine, Sending Email, Vectorize and Workers for Platforms | ||
@@ -579,0 +590,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
2550221
39948
859
+ Added@cloudflare/workerd-darwin-64@1.20241011.1(transitive)
+ Added@cloudflare/workerd-darwin-arm64@1.20241011.1(transitive)
+ Added@cloudflare/workerd-linux-64@1.20241011.1(transitive)
+ Added@cloudflare/workerd-linux-arm64@1.20241011.1(transitive)
+ Added@cloudflare/workerd-windows-64@1.20241011.1(transitive)
+ Addedworkerd@1.20241011.1(transitive)
- Removed@cloudflare/workerd-darwin-64@1.20240909.0(transitive)
- Removed@cloudflare/workerd-darwin-arm64@1.20240909.0(transitive)
- Removed@cloudflare/workerd-linux-64@1.20240909.0(transitive)
- Removed@cloudflare/workerd-linux-arm64@1.20240909.0(transitive)
- Removed@cloudflare/workerd-windows-64@1.20240909.0(transitive)
- Removedworkerd@1.20240909.0(transitive)
Updatedworkerd@1.20241011.1