@playcademy/vite-plugin 0.1.15 → 0.1.17

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.
Files changed (2) hide show
  1. package/dist/index.js +77 -6
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -124995,7 +124995,7 @@ var logger = (fn = console.log) => {
124995
124995
  };
124996
124996
  var package_default = {
124997
124997
  name: "@playcademy/sandbox",
124998
- version: "0.1.6",
124998
+ version: "0.1.7",
124999
124999
  description: "Local development server for Playcademy game development",
125000
125000
  type: "module",
125001
125001
  exports: {
@@ -158088,7 +158088,8 @@ class CloudflareProvider {
158088
158088
  if (deleteBindings) {
158089
158089
  await Promise.all([
158090
158090
  this.deleteD1DatabaseIfExists(deploymentId),
158091
- this.deleteKVNamespaceIfExists(deploymentId)
158091
+ this.deleteKVNamespaceIfExists(deploymentId),
158092
+ this.deleteR2BucketIfExists(deploymentId)
158092
158093
  ]);
158093
158094
  }
158094
158095
  } catch (error2) {
@@ -158148,7 +158149,12 @@ class CloudflareProvider {
158148
158149
  });
158149
158150
  }
158150
158151
  for (const r2Name of resourceBindings.r2) {
158151
- log2.warn("[CloudflareProvider] R2 bucket binding not yet implemented", { r2Name });
158152
+ const bucketName = await this.ensureR2Bucket(r2Name);
158153
+ bindings.push({
158154
+ type: "r2_bucket",
158155
+ name: "BUCKET",
158156
+ bucket_name: bucketName
158157
+ });
158152
158158
  }
158153
158159
  for (const doBinding of resourceBindings.durableObjects) {
158154
158160
  log2.warn("[CloudflareProvider] Durable Object binding not yet implemented", {
@@ -158324,6 +158330,71 @@ class CloudflareProvider {
158324
158330
  });
158325
158331
  }
158326
158332
  }
158333
+ async ensureR2Bucket(bucketName) {
158334
+ log2.debug("[CloudflareProvider] Ensuring R2 bucket exists", { bucketName });
158335
+ try {
158336
+ const response = await this.client.r2.buckets.list({
158337
+ account_id: this.config.accountId
158338
+ });
158339
+ if (!response.buckets) {
158340
+ throw new Error("No R2 buckets found; this is weird and unexpected");
158341
+ }
158342
+ for await (const bucket of response.buckets) {
158343
+ if (bucket.name === bucketName) {
158344
+ log2.info("[CloudflareProvider] R2 bucket already exists", {
158345
+ bucketName
158346
+ });
158347
+ return bucketName;
158348
+ }
158349
+ }
158350
+ log2.debug("[CloudflareProvider] Creating new R2 bucket", { bucketName });
158351
+ await this.client.r2.buckets.create({
158352
+ account_id: this.config.accountId,
158353
+ name: bucketName
158354
+ });
158355
+ log2.info("[CloudflareProvider] R2 bucket created successfully", {
158356
+ bucketName
158357
+ });
158358
+ return bucketName;
158359
+ } catch (error2) {
158360
+ log2.error("[CloudflareProvider] Failed to ensure R2 bucket", {
158361
+ bucketName,
158362
+ error: error2
158363
+ });
158364
+ throw new Error(`Failed to ensure R2 bucket: ${error2 instanceof Error ? error2.message : String(error2)}`);
158365
+ }
158366
+ }
158367
+ async deleteR2BucketIfExists(bucketName) {
158368
+ try {
158369
+ const bucketsResponse = await this.client.r2.buckets.list({
158370
+ account_id: this.config.accountId
158371
+ });
158372
+ if (bucketsResponse.buckets) {
158373
+ for (const bucket of bucketsResponse.buckets) {
158374
+ if (bucket.name === bucketName) {
158375
+ log2.debug("[CloudflareProvider] Deleting R2 bucket", {
158376
+ bucketName
158377
+ });
158378
+ await this.client.r2.buckets.delete(bucketName, {
158379
+ account_id: this.config.accountId
158380
+ });
158381
+ log2.info("[CloudflareProvider] R2 bucket deleted successfully", {
158382
+ bucketName
158383
+ });
158384
+ return;
158385
+ }
158386
+ }
158387
+ }
158388
+ log2.debug("[CloudflareProvider] R2 bucket not found, nothing to delete", {
158389
+ bucketName
158390
+ });
158391
+ } catch (error2) {
158392
+ log2.warn("[CloudflareProvider] Failed to delete R2 bucket", {
158393
+ bucketName,
158394
+ error: error2
158395
+ });
158396
+ }
158397
+ }
158327
158398
  }
158328
158399
  var RESERVED_SUBDOMAINS = new Set([
158329
158400
  "www",
@@ -169771,7 +169842,7 @@ async function startServer2(options) {
169771
169842
  }
169772
169843
  function setupHotReload(serverRef, options, viteConfig) {
169773
169844
  const watcher = startPlaycademyHotReload(async () => {
169774
- await serverRef.current.dispose();
169845
+ await serverRef.current.server.dispose();
169775
169846
  serverRef.current = await startServer2(options);
169776
169847
  }, createHotReloadCallbacks(viteConfig));
169777
169848
  return () => watcher.close();
@@ -169789,8 +169860,8 @@ async function setupCliDevServer(options) {
169789
169860
  const serverRef = { current: await startServer2(serverOptions) };
169790
169861
  const stopHotReload = setupHotReload(serverRef, serverOptions, viteConfig);
169791
169862
  return {
169792
- server: serverRef.current,
169793
- port,
169863
+ server: serverRef.current.server,
169864
+ port: serverRef.current.port,
169794
169865
  stopHotReload,
169795
169866
  cleanup: () => cleanupServerInfo("backend", viteConfig.root, process.pid)
169796
169867
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@playcademy/vite-plugin",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -25,11 +25,11 @@
25
25
  "dependencies": {
26
26
  "archiver": "^7.0.1",
27
27
  "picocolors": "^1.1.1",
28
- "playcademy": "0.13.6"
28
+ "playcademy": "0.13.17"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@inquirer/prompts": "^7.8.6",
32
- "@playcademy/sandbox": "0.1.6",
32
+ "@playcademy/sandbox": "0.1.7",
33
33
  "@types/archiver": "^6.0.3",
34
34
  "@types/bun": "latest",
35
35
  "yocto-spinner": "^0.2.2"