You are only billed for CPU time so no. Yes you can write streams to R2, but you need the binding in
You are only billed for CPU time so no. Yes you can write streams to R2, but you need the binding in the worker.


nodejs_compat flag:path, buffer, crypto, and others



pnpm wrangler types be available as ambient types without needing to reference the types in each file? I am finding that they are not, and I have to use /// <reference path="../worker-configuration.d.ts" /> at the top of the file for them to work. My tsconfig, in case I'm misconfiguring:compilerOptions.types and not in include.wrangler types (as described in https://developers.cloudflare.com/workers/languages/typescript/)TypeError: The RPC receiver does not implement the method "getFoo".?nodejs_compatpathbuffercryptocache-control: public, max-age=1, stale-while-revalidate=604800
cf-cache-status: UPDATINGpnpm wrangler types/// <reference path="../worker-configuration.d.ts" />compilerOptions.typesincludewrangler typesTypeError: The RPC receiver does not implement the method "getFoo".// api/wrangler.jsonc
"services": [{
"binding": "FOO_SERVICE",
"service": "my-services",
"entrypoint": "FooService"
},
{
"binding": "USERS_SERVICE",
"service": "my-services",
"entrypoint": "UsersService"
}]`// api/vitest.config.ts
export default defineWorkersProject(async () => {
return {
test: {
// … more setup
poolOptions: {
workers: {
wrangler: { configPath: `${__dirname}/wrangler.jsonc`, environment: 'test' },
singleWorker: true,
miniflare: {
bindings: {
TEST_MIGRATIONS: migrations,
TEST_SEED_FILES: seedFiles,
},
serviceBindings: {
USERS_SERVICE: { name: 'my-services', entrypoint: 'UsersService' },
FOO_SERVICE: { name: 'my-services', entryPoint: 'FooService' },
},
workers: [
{ // built by globalSetup.ts, coped into this directory
name: my-services',
modules: true,
scriptPath: './.test/workers/services/my_services/index.js',
compatibilityDate: '2025-01-01',
compatibilityFlags: ['nodejs_compat'],
},
],
},
},
},
},
};
});{
"files": [],
"references": [
{
"path": "./tsconfig.node.json"
},
{
"path": "./tsconfig.cloudflare.json"
}
],
"include": [
"worker-configuration.d.ts"
],
"compilerOptions": {
"checkJs": true,
"verbatimModuleSyntax": true,
"skipLibCheck": true,
"strict": true,
"noEmit": true,
"baseUrl": ".",
"paths": {
"@/*": [
"./app/*"
]
}
}
}