@cloudflare/containers 0.0.26 → 0.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,7 +24,7 @@ import { Container, getRandom } from '@cloudflare/containers';
24
24
  export class MyContainer extends Container {
25
25
  // Configure default port for the container
26
26
  defaultPort = 8080;
27
- sleepAfter = "1m";
27
+ sleepAfter = '1m';
28
28
  }
29
29
 
30
30
  export default {
@@ -34,7 +34,7 @@ export default {
34
34
  // If you want to route requests to a specific container,
35
35
  // pass a unique container identifier to .get()
36
36
 
37
- if (pathname.startsWith("/specific/")) {
37
+ if (pathname.startsWith('/specific/')) {
38
38
  // In this case, each unique pathname will spawn a new container
39
39
  let id = env.MY_CONTAINER.idFromName(pathname);
40
40
  let stub = env.MY_CONTAINER.get(id);
@@ -54,9 +54,9 @@ export default {
54
54
 
55
55
  ## API Reference
56
56
 
57
- ### Container Class
57
+ ### `Container` Class
58
58
 
59
- The main class that extends a container-enbled Durable Object to provide additional container-specific functionality.
59
+ The `Container` class that extends a container-enbled Durable Object to provide additional container-specific functionality.
60
60
 
61
61
  #### Properties
62
62
 
@@ -83,6 +83,7 @@ constructor(ctx: any, env: Env, options?: {
83
83
  #### Methods
84
84
 
85
85
  ##### Lifecycle Methods
86
+
86
87
  All lifecycle methods can be implemented as async if needed.
87
88
 
88
89
  - `onStart()`: Called when container starts successfully - override to add custom behavior
@@ -97,16 +98,45 @@ If you don't stop the container here, the activity tracker will be renewed, and
97
98
 
98
99
  - `fetch(request)`: Default handler to forward HTTP requests to the container. Can be overridden.
99
100
  - `containerFetch(...)`: Sends an HTTP request to the container. Supports both standard fetch API signatures:
101
+
100
102
  - `containerFetch(request, port?)`: Traditional signature with Request object
101
103
  - `containerFetch(url, init?, port?)`: Standard fetch-like signature with URL string/object and RequestInit options
102
- Either port parameter or defaultPort must be specified.
103
- When you call any of the fetch functions, the activity will be automatically renewed, and if the container will be started if not already running.
104
- **Do not use 'containerFetch' when trying to send a Request object with a websocket, until [this issue is addressed](https://github.com/cloudflare/workerd/issues/2319).
105
- You can overcome this limitation by doing:
106
- `container.fetch(switchPort(request, port))`
104
+ Either port parameter or defaultPort must be specified.
105
+ When you call any of the fetch functions, the activity will be automatically renewed, and if the container will be started if not already running.
106
+ \*\*Do not use 'containerFetch' when trying to send a Request object with a websocket, until [this issue is addressed](https://github.com/cloudflare/workerd/issues/2319).
107
+ You can overcome this limitation by doing:
108
+ `container.fetch(switchPort(request, port))`
109
+
110
+ - `startAndWaitForPorts(args: StartAndWaitForPortsOptions): Promise<void>`
111
+
112
+ Starts the container and then waits for specified ports to be ready. Prioritises `ports` passed in to the function, then `requiredPorts` if set, then `defaultPort`.
113
+
114
+ ```typescript
115
+ export interface StartAndWaitForPortsOptions {
116
+ startOptions?: {
117
+ /** Environment variables to pass to the container */
118
+ envVars?: Record<string, string>;
119
+ /** Custom entrypoint to override container default */
120
+ entrypoint?: string[];
121
+ /** Whether to enable internet access for the container */
122
+ enableInternet?: boolean;
123
+ };
124
+ /** Ports to check */
125
+ ports?: number | number[];
126
+ cancellationOptions?: {
127
+ /** Abort signal to cancel start and port checking */
128
+ abort?: AbortSignal;
129
+ /** Max time to wait for container to start, in milliseconds */
130
+ instanceGetTimeoutMS?: number;
131
+ /** Max time to wait for ports to be ready, in milliseconds */
132
+ portReadyTimeoutMS?: number;
133
+ /** Polling interval for checking container has started or ports are ready, in milliseconds */
134
+ waitInterval?: number;
135
+ };
136
+ }
137
+ ```
107
138
 
108
139
  - `start()`: Starts the container if it's not running and sets up monitoring, without waiting for any ports to be ready.
109
- - `startAndWaitForPorts(ports?, maxTries?)`: Starts the container using `start()` and then waits for specified ports to be ready. If no ports are specified, uses `requiredPorts` or `defaultPort`. If no ports can be determined, just starts the container without port checks.
110
140
  - `stop(signal = SIGTERM)`: Sends the specified signal to the container.
111
141
  - `destroy()`: Forcefully destroys the container.
112
142
  - `getState()`: Get the current container state.
@@ -131,7 +161,7 @@ export class MyContainer extends Container {
131
161
 
132
162
  // Set how long the container should stay active without requests
133
163
  // Supported formats: "10m" (minutes), "30s" (seconds), "1h" (hours), or a number (seconds)
134
- sleepAfter = "10m";
164
+ sleepAfter = '10m';
135
165
 
136
166
  // Lifecycle method called when container starts
137
167
  override onStart(): void {
@@ -153,9 +183,7 @@ export class MyContainer extends Container {
153
183
 
154
184
  // Lifecycle method when the container class considers the activity to be expired
155
185
  override onActivityExpired() {
156
- console.log(
157
- 'Container activity expired'
158
- );
186
+ console.log('Container activity expired');
159
187
  await this.destroy();
160
188
  }
161
189
 
@@ -170,7 +198,6 @@ export class MyContainer extends Container {
170
198
 
171
199
  // Handle incoming requests
172
200
  async fetch(request: Request): Promise<Response> {
173
-
174
201
  // Default implementation forwards requests to the container
175
202
  // This will automatically renew the activity timeout
176
203
  return await this.containerFetch(request);
@@ -205,13 +232,13 @@ export class ConfiguredContainer extends Container {
205
232
  defaultPort = 9000;
206
233
 
207
234
  // Set the timeout for sleeping the container after inactivity
208
- sleepAfter = "2h";
235
+ sleepAfter = '2h';
209
236
 
210
237
  // Environment variables to pass to the container
211
238
  envVars = {
212
239
  NODE_ENV: 'production',
213
240
  LOG_LEVEL: 'info',
214
- APP_PORT: '9000'
241
+ APP_PORT: '9000',
215
242
  };
216
243
 
217
244
  // Custom entrypoint to run in the container
@@ -249,18 +276,16 @@ export class MultiPortContainer extends Container {
249
276
  if (url.pathname.startsWith('/api')) {
250
277
  // API server runs on port 3000
251
278
  return await this.containerFetch(request, 3000);
252
- }
253
- else if (url.pathname.startsWith('/admin')) {
279
+ } else if (url.pathname.startsWith('/admin')) {
254
280
  // Admin interface runs on port 8080
255
281
  return await this.containerFetch(request, 8080);
256
- }
257
- else {
282
+ } else {
258
283
  // Public website runs on port 80
259
284
  return await this.containerFetch(request, 80);
260
285
  }
261
286
  } catch (error) {
262
287
  return new Response(`Error: ${error instanceof Error ? error.message : String(error)}`, {
263
- status: 500
288
+ status: 500,
264
289
  });
265
290
  }
266
291
  }
@@ -283,21 +308,22 @@ export class FetchStyleContainer extends Container {
283
308
  const response = await this.containerFetch('/api/data', {
284
309
  method: 'POST',
285
310
  headers: {
286
- 'Content-Type': 'application/json'
311
+ 'Content-Type': 'application/json',
287
312
  },
288
- body: JSON.stringify({ query: 'example' })
313
+ body: JSON.stringify({ query: 'example' }),
289
314
  });
290
315
 
291
316
  // You can also specify a port with this syntax
292
- const adminResponse = await this.containerFetch('https://example.com/admin',
317
+ const adminResponse = await this.containerFetch(
318
+ 'https://example.com/admin',
293
319
  { method: 'GET' },
294
- 3000 // port
320
+ 3000 // port
295
321
  );
296
322
 
297
323
  return response;
298
324
  } catch (error) {
299
325
  return new Response(`Error: ${error instanceof Error ? error.message : String(error)}`, {
300
- status: 500
326
+ status: 500,
301
327
  });
302
328
  }
303
329
  }
@@ -316,7 +342,7 @@ export class TimeoutContainer extends Container {
316
342
  defaultPort = 8080;
317
343
 
318
344
  // Set timeout to 30 minutes of inactivity
319
- sleepAfter = "30m"; // Supports "30s", "5m", "1h" formats, or a number in seconds
345
+ sleepAfter = '30m'; // Supports "30s", "5m", "1h" formats, or a number in seconds
320
346
 
321
347
  // Custom method that will extend the container's lifetime
322
348
  async performBackgroundTask(data: any): Promise<void> {
@@ -337,11 +363,14 @@ export class TimeoutContainer extends Container {
337
363
  if (url.pathname === '/task') {
338
364
  await this.performBackgroundTask();
339
365
 
340
- return new Response(JSON.stringify({
341
- success: true,
342
- message: 'Background task executed',
343
- nextStop: `Container will shut down after ${this.sleepAfter} of inactivity`
344
- }), { headers: { 'Content-Type': 'application/json' } });
366
+ return new Response(
367
+ JSON.stringify({
368
+ success: true,
369
+ message: 'Background task executed',
370
+ nextStop: `Container will shut down after ${this.sleepAfter} of inactivity`,
371
+ }),
372
+ { headers: { 'Content-Type': 'application/json' } }
373
+ );
345
374
  }
346
375
 
347
376
  // For all other requests, forward to the container
@@ -354,7 +383,7 @@ export class TimeoutContainer extends Container {
354
383
  ### Using Load Balancing
355
384
 
356
385
  This package includes a `getRandom` helper which routes requests to one of N instances.
357
- In the future, this will be automatically handled with smart by Cloudflare Containers
386
+ In the future, this will be automatically handled with smart by Cloudflare Containers
358
387
  with autoscaling set to true, but is not yet implemented.
359
388
 
360
389
  ```typescript
@@ -382,7 +411,7 @@ export default {
382
411
  }
383
412
 
384
413
  return new Response('Not found', { status: 404 });
385
- }
414
+ },
386
415
  };
387
416
  ```
388
417
 
@@ -1,4 +1,4 @@
1
- import type { ContainerOptions, ContainerStartOptions, ContainerStartConfigOptions, Schedule, StopParams, State } from '../types';
1
+ import type { ContainerOptions, ContainerStartOptions, ContainerStartConfigOptions, Schedule, StopParams, State, CancellationOptions, StartAndWaitForPortsOptions } from '../types';
2
2
  import { DurableObject } from 'cloudflare:workers';
3
3
  export type Signal = 'SIGKILL' | 'SIGINT' | 'SIGTERM';
4
4
  export type SignalInteger = number;
@@ -63,7 +63,6 @@ export declare class Container<Env = unknown> extends DurableObject<Env> {
63
63
  }): Promise<void>;
64
64
  /**
65
65
  * Start the container and wait for ports to be available
66
- * Based on containers-starter-go implementation
67
66
  *
68
67
  * This method builds on start() by adding port availability verification:
69
68
  * 1. Calls start() to ensure the container is running
@@ -78,15 +77,13 @@ export declare class Container<Env = unknown> extends DurableObject<Env> {
78
77
  * 3. defaultPort (if neither of the above is specified)
79
78
  *
80
79
  * @param ports - The ports to wait for (if undefined, uses requiredPorts or defaultPort)
81
- * @param maxTries - Maximum number of attempts to connect to each port before failing
80
+ * @param cancellationOptions
81
+ * @param startOptions Override configuration on a per instance for env vars, entrypoint command and internet access
82
82
  * @throws Error if port checks fail after maxTries attempts
83
83
  */
84
- startAndWaitForPorts(ports?: number | number[], cancellationOptions?: {
85
- abort?: AbortSignal;
86
- instanceGetTimeoutMS?: number;
87
- portReadyTimeoutMS?: number;
88
- waitInterval?: number;
89
- }): Promise<void>;
84
+ startAndWaitForPorts(args: StartAndWaitForPortsOptions): Promise<void>;
85
+ startAndWaitForPorts(ports?: number | number[], cancellationOptions?: CancellationOptions, startOptions?: ContainerStartConfigOptions): Promise<void>;
86
+ startAndWaitForPorts(portsOrArgs?: number | number[] | StartAndWaitForPortsOptions, cancellationOptions?: CancellationOptions, startOptions?: ContainerStartConfigOptions): Promise<void>;
90
87
  /**
91
88
  * Shuts down the container.
92
89
  * @param signal - The signal to send to the container (default: 15 for SIGTERM)
@@ -174,6 +171,7 @@ export declare class Container<Env = unknown> extends DurableObject<Env> {
174
171
  */
175
172
  private sql;
176
173
  private requestAndPortFromContainerFetchArgs;
174
+ private getPortsToCheck;
177
175
  private startContainerIfNotRunning;
178
176
  private setupMonitorCallbacks;
179
177
  deleteSchedules(name: string): void;
@@ -278,82 +278,67 @@ export class Container extends DurableObject {
278
278
  await this.onStart();
279
279
  });
280
280
  }
281
- /**
282
- * Start the container and wait for ports to be available
283
- * Based on containers-starter-go implementation
284
- *
285
- * This method builds on start() by adding port availability verification:
286
- * 1. Calls start() to ensure the container is running
287
- * 2. If no ports are specified and requiredPorts is not set, it uses defaultPort (if set)
288
- * 3. If no ports can be determined, it calls onStart and renewActivityTimeout immediately
289
- * 4. For each specified port, it polls until the port is available or maxTries is reached
290
- * 5. When all ports are available, it triggers onStart and renewActivityTimeout
291
- *
292
- * The method prioritizes port sources in this order:
293
- * 1. Ports specified directly in the method call
294
- * 2. requiredPorts class property (if set)
295
- * 3. defaultPort (if neither of the above is specified)
296
- *
297
- * @param ports - The ports to wait for (if undefined, uses requiredPorts or defaultPort)
298
- * @param maxTries - Maximum number of attempts to connect to each port before failing
299
- * @throws Error if port checks fail after maxTries attempts
300
- */
301
- async startAndWaitForPorts(ports, cancellationOptions) {
302
- // Determine which ports to check
303
- let portsToCheck = [];
304
- if (ports !== undefined) {
305
- // Use explicitly provided ports (single port or array)
306
- portsToCheck = Array.isArray(ports) ? ports : [ports];
307
- }
308
- else if (this.requiredPorts && this.requiredPorts.length > 0) {
309
- // Use requiredPorts class property if available
310
- portsToCheck = [...this.requiredPorts];
281
+ async startAndWaitForPorts(portsOrArgs, cancellationOptions, startOptions) {
282
+ // Parse arguments to handle different overload signatures
283
+ let ports;
284
+ let resolvedCancellationOptions = {};
285
+ let resolvedStartOptions = {};
286
+ if (typeof portsOrArgs === 'object' && portsOrArgs !== null && !Array.isArray(portsOrArgs)) {
287
+ // Object-based overload: { startOptions?, ports?, cancellationOptions? }
288
+ ports = portsOrArgs.ports;
289
+ resolvedCancellationOptions = portsOrArgs.cancellationOptions;
290
+ resolvedStartOptions = portsOrArgs.startOptions;
311
291
  }
312
- else if (this.defaultPort !== undefined) {
313
- // Fall back to defaultPort if available
314
- portsToCheck = [this.defaultPort];
292
+ else {
293
+ ports = portsOrArgs;
294
+ resolvedCancellationOptions = cancellationOptions;
295
+ resolvedStartOptions = startOptions;
315
296
  }
297
+ // Determine which ports to check
298
+ const portsToCheck = await this.getPortsToCheck(ports);
316
299
  const state = await this.state.getState();
317
- cancellationOptions ??= {};
318
- let containerGetRetries = cancellationOptions.instanceGetTimeoutMS
319
- ? Math.ceil(cancellationOptions.instanceGetTimeoutMS / INSTANCE_POLL_INTERVAL_MS)
320
- : TRIES_TO_GET_CONTAINER;
321
- cancellationOptions ??= {};
322
- let totalPortReadyTries = cancellationOptions.portReadyTimeoutMS
323
- ? Math.ceil(cancellationOptions.portReadyTimeoutMS / INSTANCE_POLL_INTERVAL_MS)
324
- : TRIES_TO_GET_PORTS;
325
- const options = {
326
- abort: cancellationOptions.abort,
327
- retries: containerGetRetries,
328
- waitInterval: cancellationOptions.waitInterval ?? INSTANCE_POLL_INTERVAL_MS,
329
- portToCheck: portsToCheck[0] ?? FALLBACK_PORT_TO_CHECK,
330
- };
300
+ // if the container is already healthy and running, assume ports are ready
331
301
  if (state.status === 'healthy' && this.container.running) {
332
302
  if (this.container.running && !this.monitor) {
333
303
  // This is needed to setup the monitoring
334
- await this.startContainerIfNotRunning(options);
304
+ // Start the container if it's not running
305
+ this.monitor = this.container.monitor();
335
306
  this.setupMonitorCallbacks();
336
307
  }
337
308
  return;
338
309
  }
339
310
  // trigger all onStop that we didn't do yet
340
311
  await this.syncPendingStoppedEvents();
312
+ // Prepare to start the container
313
+ resolvedCancellationOptions ??= {};
314
+ let containerGetRetries = resolvedCancellationOptions.instanceGetTimeoutMS
315
+ ? Math.ceil(resolvedCancellationOptions.instanceGetTimeoutMS / INSTANCE_POLL_INTERVAL_MS)
316
+ : TRIES_TO_GET_CONTAINER;
317
+ const waitOptions = {
318
+ abort: resolvedCancellationOptions.abort,
319
+ retries: containerGetRetries,
320
+ waitInterval: resolvedCancellationOptions.waitInterval ?? INSTANCE_POLL_INTERVAL_MS,
321
+ portToCheck: portsToCheck[0],
322
+ };
341
323
  const abortedSignal = new Promise(res => {
342
- options.abort?.addEventListener('abort', () => {
324
+ waitOptions.abort?.addEventListener('abort', () => {
343
325
  res(true);
344
326
  });
345
327
  });
346
328
  // Start the container if it's not running
347
- const triesUsed = await this.startContainerIfNotRunning(options);
348
- const triesLeft = totalPortReadyTries - triesUsed;
329
+ const triesUsed = await this.startContainerIfNotRunning(waitOptions, resolvedStartOptions);
349
330
  // Check each port
331
+ let totalPortReadyTries = resolvedCancellationOptions.portReadyTimeoutMS
332
+ ? Math.ceil(resolvedCancellationOptions.portReadyTimeoutMS / INSTANCE_POLL_INTERVAL_MS)
333
+ : TRIES_TO_GET_PORTS;
334
+ const triesLeft = totalPortReadyTries - triesUsed;
350
335
  for (const port of portsToCheck) {
351
336
  const tcpPort = this.container.getTcpPort(port);
352
337
  let portReady = false;
353
338
  // Try to connect to the port multiple times
354
339
  for (let i = 0; i < triesLeft && !portReady; i++) {
355
340
  try {
356
- const combinedSignal = addTimeoutSignal(options.abort, PING_TIMEOUT_MS);
341
+ const combinedSignal = addTimeoutSignal(waitOptions.abort, PING_TIMEOUT_MS);
357
342
  await tcpPort.fetch('http://ping', { signal: combinedSignal });
358
343
  // Successfully connected to this port
359
344
  portReady = true;
@@ -362,7 +347,7 @@ export class Container extends DurableObject {
362
347
  catch (e) {
363
348
  // Check for specific error messages that indicate we should keep retrying
364
349
  const errorMessage = e instanceof Error ? e.message : String(e);
365
- console.warn(`Error checking ${port}: ${errorMessage}`);
350
+ console.debug(`Error checking ${port}: ${errorMessage}`);
366
351
  // If not running, it means the container crashed
367
352
  if (!this.container.running) {
368
353
  try {
@@ -375,17 +360,17 @@ export class Container extends DurableObject {
375
360
  if (i === triesLeft - 1) {
376
361
  try {
377
362
  // TODO: Remove attempts, the end user doesn't care about this
378
- await this.onError(`Failed to verify port ${port} is available after ${options.retries} attempts, last error: ${errorMessage}`);
363
+ await this.onError(`Failed to verify port ${port} is available after ${waitOptions.retries} attempts, last error: ${errorMessage}`);
379
364
  }
380
365
  catch { }
381
366
  throw e;
382
367
  }
383
368
  // Wait a bit before trying again
384
369
  await Promise.any([
385
- new Promise(resolve => setTimeout(resolve, options.waitInterval)),
370
+ new Promise(resolve => setTimeout(resolve, waitOptions.waitInterval)),
386
371
  abortedSignal,
387
372
  ]);
388
- if (options.abort?.aborted) {
373
+ if (waitOptions.abort?.aborted) {
389
374
  throw new Error('Container request timed out.');
390
375
  }
391
376
  }
@@ -584,13 +569,18 @@ export class Container extends DurableObject {
584
569
  * @param request The request to handle
585
570
  */
586
571
  async fetch(request) {
587
- const url = new URL(request.url);
588
- if (this.defaultPort === undefined && url.port === '') {
589
- throw new Error('No port configured for this container. Set the defaultPort in your Container subclass, or set a port with switchPort.');
590
- }
591
- const portValue = +(url.port === '' ? (this.defaultPort ?? '') : url.port);
592
- if (isNaN(portValue)) {
593
- throw new Error('port is not a number');
572
+ if (this.defaultPort === undefined && !request.headers.has('cf-container-target-port')) {
573
+ throw new Error('No port configured for this container. Set the `defaultPort` in your Container subclass, or specify a port with `container.fetch(switchPort(request, port))`.');
574
+ }
575
+ let portValue = this.defaultPort;
576
+ if (request.headers.has('cf-container-target-port')) {
577
+ const portFromHeaders = parseInt(request.headers.get('cf-container-target-port') ?? '');
578
+ if (isNaN(portFromHeaders)) {
579
+ throw new Error('port value from switchPort is not a number');
580
+ }
581
+ else {
582
+ portValue = portFromHeaders;
583
+ }
594
584
  }
595
585
  // Forward all requests (HTTP and WebSocket) to the container
596
586
  return await this.containerFetch(request, portValue);
@@ -652,6 +642,22 @@ export class Container extends DurableObject {
652
642
  port = port ?? this.defaultPort;
653
643
  return { request, port };
654
644
  }
645
+ async getPortsToCheck(overridePorts) {
646
+ let portsToCheck = [];
647
+ if (overridePorts !== undefined) {
648
+ // Use explicitly provided ports (single port or array)
649
+ portsToCheck = Array.isArray(overridePorts) ? overridePorts : [overridePorts];
650
+ }
651
+ else if (this.requiredPorts && this.requiredPorts.length > 0) {
652
+ // Use requiredPorts class property if available
653
+ portsToCheck = [...this.requiredPorts];
654
+ }
655
+ else {
656
+ // Fall back to defaultPort if available
657
+ portsToCheck = [this.defaultPort ?? FALLBACK_PORT_TO_CHECK];
658
+ }
659
+ return portsToCheck;
660
+ }
655
661
  // ===========================================
656
662
  // CONTAINER INTERACTION & MONITORING
657
663
  // ===========================================
@@ -729,7 +735,7 @@ export class Container extends DurableObject {
729
735
  if (!this.container.running && isNotListeningError(error)) {
730
736
  await handleError();
731
737
  }
732
- console.warn('Error checking if container is ready:', error instanceof Error ? error.message : String(error));
738
+ console.debug('Error checking if container is ready:', error instanceof Error ? error.message : String(error));
733
739
  await Promise.any([
734
740
  new Promise(res => setTimeout(res, waitOptions.waitInterval)),
735
741
  abortedSignal,
@@ -754,8 +760,7 @@ export class Container extends DurableObject {
754
760
  continue;
755
761
  }
756
762
  }
757
- // TODO: Remove the attempts reference here, the user just cares about the time
758
- throw new Error(`Container did not start after ${waitOptions.retries} attempts`);
763
+ throw new Error(`Container did not start after ${waitOptions.retries * waitOptions.waitInterval}ms`);
759
764
  }
760
765
  setupMonitorCallbacks() {
761
766
  if (this.monitorSetup) {
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/lib/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/lib/container.ts"],"names":[],"mappings":"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"}
package/dist/lib/utils.js CHANGED
@@ -42,8 +42,8 @@ export function getContainer(binding, name) {
42
42
  * @example container.fetch(switchPort(request, 8090));
43
43
  */
44
44
  export function switchPort(request, port) {
45
- const url = new URL(request.url);
46
- url.port = `${port}`;
47
- return new Request(url, request);
45
+ const headers = new Headers(request.headers);
46
+ headers.set('cf-container-target-port', port.toString());
47
+ return new Request(request, { headers });
48
48
  }
49
49
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAkC,EAClC,YAAoB,CAAC;IAErB,qDAAqD;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE5D,gDAAgD;IAChD,wEAAwE;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEtD,4CAA4C;IAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAkC,EAClC,YAAoB,CAAC;IAErB,OAAO,CAAC,IAAI,CACV,oGAAoG,CACrG,CAAC;IACF,OAAO,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAC7D,MAAM,UAAU,YAAY,CAC1B,OAAkC,EAClC,IAAa;IAEb,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,oBAAoB,CAAC,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,IAAY;IACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;IACrB,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAkC,EAClC,YAAoB,CAAC;IAErB,qDAAqD;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE5D,gDAAgD;IAChD,wEAAwE;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEtD,4CAA4C;IAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAkC,EAClC,YAAoB,CAAC;IAErB,OAAO,CAAC,IAAI,CACV,oGAAoG,CACrG,CAAC;IACF,OAAO,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAC7D,MAAM,UAAU,YAAY,CAC1B,OAAkC,EAClC,IAAa;IAEb,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,oBAAoB,CAAC,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,IAAY;IACvD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3C,CAAC"}
@@ -45,6 +45,17 @@ export interface ContainerStartConfigOptions {
45
45
  /** Whether to enable internet access for the container */
46
46
  enableInternet?: boolean;
47
47
  }
48
+ export interface StartAndWaitForPortsOptions {
49
+ startOptions?: ContainerStartConfigOptions;
50
+ ports?: number | number[];
51
+ cancellationOptions?: CancellationOptions;
52
+ }
53
+ export interface CancellationOptions {
54
+ abort?: AbortSignal;
55
+ instanceGetTimeoutMS?: number;
56
+ portReadyTimeoutMS?: number;
57
+ waitInterval?: number;
58
+ }
48
59
  export interface WaitOptions {
49
60
  abort?: AbortSignal;
50
61
  retries: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/containers",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "description": "Helper class for container-enabled Durable Objects",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,8 +32,9 @@
32
32
  ],
33
33
  "author": "",
34
34
  "license": "ISC",
35
- "dependencies": {},
36
35
  "devDependencies": {
36
+ "@changesets/cli": "^2.29.6",
37
+ "@cloudflare/workers-types": "^4.20250620.0",
37
38
  "@types/jest": "^29.5.14",
38
39
  "@types/node": "^22.15.3",
39
40
  "@typescript-eslint/eslint-plugin": "^8.31.1",
@@ -43,7 +44,9 @@
43
44
  "prettier": "^3.5.3",
44
45
  "ts-jest": "^29.3.2",
45
46
  "tsup": "^8.0.2",
46
- "typescript": "latest",
47
- "@cloudflare/workers-types": "^4.20250620.0"
47
+ "typescript": "latest"
48
+ },
49
+ "publishConfig": {
50
+ "access": "public"
48
51
  }
49
52
  }