@playcademy/vite-plugin 0.2.35-beta.1 → 0.2.35-beta.3

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 +109 -53
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -23738,9 +23738,54 @@ import { DEFAULT_PORTS as DEFAULT_PORTS4 } from "playcademy/constants";
23738
23738
  // src/lib/build/manifest.ts
23739
23739
  var import_archiver = __toESM(require_archiver(), 1);
23740
23740
  var import_picocolors = __toESM(require_picocolors(), 1);
23741
+ import { execFile } from "node:child_process";
23741
23742
  import { createWriteStream } from "node:fs";
23742
23743
  import fs2 from "node:fs/promises";
23744
+ import { homedir } from "node:os";
23743
23745
  import path from "node:path";
23746
+ // package.json
23747
+ var package_default = {
23748
+ name: "@playcademy/vite-plugin",
23749
+ version: "0.2.35-beta.3",
23750
+ type: "module",
23751
+ exports: {
23752
+ ".": {
23753
+ types: "./dist/index.d.ts",
23754
+ import: "./dist/index.js"
23755
+ }
23756
+ },
23757
+ main: "dist/index.js",
23758
+ module: "dist/index.js",
23759
+ files: [
23760
+ "dist"
23761
+ ],
23762
+ scripts: {
23763
+ build: "bun build.ts",
23764
+ docs: "typedoc --skipErrorChecking"
23765
+ },
23766
+ dependencies: {
23767
+ archiver: "^7.0.1",
23768
+ picocolors: "^1.1.1",
23769
+ playcademy: "workspace:*"
23770
+ },
23771
+ devDependencies: {
23772
+ "@electric-sql/pglite": "^0.3.16",
23773
+ "@inquirer/prompts": "^7.8.6",
23774
+ "@playcademy/constants": "workspace:*",
23775
+ "@playcademy/sandbox": "workspace:*",
23776
+ "@playcademy/sdk": "workspace:*",
23777
+ "@playcademy/types": "workspace:*",
23778
+ "@playcademy/utils": "workspace:*",
23779
+ "@types/archiver": "^6.0.3",
23780
+ "@types/bun": "latest"
23781
+ },
23782
+ peerDependencies: {
23783
+ typescript: "^5",
23784
+ vite: "^5 || ^6"
23785
+ }
23786
+ };
23787
+
23788
+ // src/lib/build/manifest.ts
23744
23789
  var LOG_LINE_TOTAL_WIDTH = 60;
23745
23790
  function formatNumberWithCommas(numStr) {
23746
23791
  if (!numStr)
@@ -23751,11 +23796,51 @@ function formatNumberWithCommas(numStr) {
23751
23796
  parts2[0] = parts2[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
23752
23797
  return parts2.join(".");
23753
23798
  }
23799
+ async function resolvePackageVersion(projectRoot, packageName) {
23800
+ try {
23801
+ const pkgJsonPath = path.resolve(projectRoot, "node_modules", packageName, "package.json");
23802
+ const raw = await fs2.readFile(pkgJsonPath, "utf8");
23803
+ const pkg = JSON.parse(raw);
23804
+ return pkg.version;
23805
+ } catch {
23806
+ return;
23807
+ }
23808
+ }
23809
+ async function resolveCliVersion() {
23810
+ const bin = path.join(homedir(), ".playcademy", "bin", "playcademy");
23811
+ return new Promise((resolve) => {
23812
+ execFile(bin, ["--version"], { timeout: 3000 }, (err2, stdout) => {
23813
+ if (err2)
23814
+ return resolve(undefined);
23815
+ const version = stdout.trim();
23816
+ resolve(version || undefined);
23817
+ });
23818
+ });
23819
+ }
23820
+ async function resolveVersions(projectRoot) {
23821
+ const [cli, sdk, vite] = await Promise.all([
23822
+ resolveCliVersion(),
23823
+ resolvePackageVersion(projectRoot, "@playcademy/sdk"),
23824
+ resolvePackageVersion(projectRoot, "vite")
23825
+ ]);
23826
+ const versions = {
23827
+ vitePlugin: package_default.version
23828
+ };
23829
+ if (sdk)
23830
+ versions.sdk = sdk;
23831
+ if (cli)
23832
+ versions.cli = cli;
23833
+ if (vite)
23834
+ versions.vite = vite;
23835
+ return versions;
23836
+ }
23754
23837
  async function generatePlaycademyManifest(config, outDir, buildOutputs) {
23838
+ const versions = await resolveVersions(config.root);
23755
23839
  const manifestData = {
23756
- version: "1",
23840
+ version: "2",
23757
23841
  platform: "web",
23758
- createdAt: new Date().toISOString()
23842
+ createdAt: new Date().toISOString(),
23843
+ versions
23759
23844
  };
23760
23845
  const manifestPath = path.resolve(outDir, "playcademy.manifest.json");
23761
23846
  const manifestJson = JSON.stringify(manifestData, null, 2);
@@ -24004,7 +24089,7 @@ import { Readable } from "stream";
24004
24089
  import crypto2 from "crypto";
24005
24090
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
24006
24091
  import { createServer } from "node:net";
24007
- import { homedir } from "node:os";
24092
+ import { homedir as homedir2 } from "node:os";
24008
24093
  import { join } from "node:path";
24009
24094
  import { mkdir, writeFile } from "fs/promises";
24010
24095
  import { join as join2 } from "path";
@@ -25259,7 +25344,7 @@ var init_dist = __esm(() => {
25259
25344
  outgoingEnded = Symbol("outgoingEnded");
25260
25345
  });
25261
25346
  function getRegistryPath() {
25262
- const home = homedir();
25347
+ const home = homedir2();
25263
25348
  const dir = join(home, ".playcademy");
25264
25349
  if (!existsSync(dir)) {
25265
25350
  mkdirSync(dir, { recursive: true });
@@ -25349,11 +25434,11 @@ async function requirePortAvailable(port, timeoutMs = 100) {
25349
25434
  }
25350
25435
  }
25351
25436
  var init_port = () => {};
25352
- var package_default;
25437
+ var package_default2;
25353
25438
  var init_package = __esm(() => {
25354
- package_default = {
25439
+ package_default2 = {
25355
25440
  name: "@playcademy/sandbox",
25356
- version: "0.3.19-beta.1",
25441
+ version: "0.3.19-beta.3",
25357
25442
  description: "Local development server for Playcademy game development",
25358
25443
  type: "module",
25359
25444
  exports: {
@@ -30030,7 +30115,8 @@ var init_schema = __esm(() => {
30030
30115
  ltiTestMode: exports_external.boolean().default(false),
30031
30116
  realtime: realtimeConfigSchema.optional(),
30032
30117
  platformServiceJwt: platformServiceJwtConfigSchema.optional(),
30033
- uploadBucket: exports_external.string().optional()
30118
+ uploadBucket: exports_external.string().optional(),
30119
+ queueIngressSecret: exports_external.string().optional()
30034
30120
  });
30035
30121
  });
30036
30122
  var init_config2 = __esm(() => {
@@ -50287,6 +50373,14 @@ class DeployService {
50287
50373
  await cf.setSecrets(deploymentId, { PLAYCADEMY_API_KEY: apiKey });
50288
50374
  logger3.info("Set API key on worker", { slug, deploymentId });
50289
50375
  }
50376
+ async ensureQueueIngressSecretOnWorker(slug, deploymentId) {
50377
+ const secret = this.deps.config.queueIngressSecret;
50378
+ if (!secret) {
50379
+ return;
50380
+ }
50381
+ const cf = this.getCloudflare();
50382
+ await cf.setSecrets(deploymentId, { QUEUE_INGRESS_SECRET: secret });
50383
+ }
50290
50384
  async fetchAndExtractFrontendAssets(slug, gameId, uploadToken, uploadDeps, extractZip) {
50291
50385
  const frontendZip = await this.timeStep("Fetch temporary files", () => uploadDeps.getObjectAsByteArray(uploadToken), { slug });
50292
50386
  if (!frontendZip || frontendZip.length === 0) {
@@ -50369,7 +50463,10 @@ class DeployService {
50369
50463
  const codeHash = hasBackend ? await generateDeploymentHash(request.code) : null;
50370
50464
  await this.saveDeployment(game.id, result.deploymentId, result.url, codeHash, result.resources);
50371
50465
  if (hasBackend) {
50372
- await this.timeStep("Configure worker secrets", () => this.ensureApiKeyOnWorker(user, slug, result.deploymentId), { slug, deploymentId: result.deploymentId });
50466
+ await this.timeStep("Configure worker secrets", async () => {
50467
+ await this.ensureApiKeyOnWorker(user, slug, result.deploymentId);
50468
+ await this.ensureQueueIngressSecretOnWorker(slug, result.deploymentId);
50469
+ }, { slug, deploymentId: result.deploymentId });
50373
50470
  }
50374
50471
  if (hasMetadata || hasFrontend) {
50375
50472
  await this.applyGameMetadata(game.id, request, hasFrontend, hasMetadata, result.url);
@@ -126742,7 +126839,7 @@ var init_server = __esm(() => {
126742
126839
  init_app();
126743
126840
  init_database2();
126744
126841
  init_options();
126745
- version3 = package_default.version;
126842
+ version3 = package_default2.version;
126746
126843
  });
126747
126844
  init_server();
126748
126845
 
@@ -128233,47 +128330,6 @@ function recreateDatabaseHotkey(options) {
128233
128330
 
128234
128331
  // src/server/hotkeys/toggle-mode.ts
128235
128332
  var import_picocolors12 = __toESM(require_picocolors(), 1);
128236
- // package.json
128237
- var package_default2 = {
128238
- name: "@playcademy/vite-plugin",
128239
- version: "0.2.35-beta.1",
128240
- type: "module",
128241
- exports: {
128242
- ".": {
128243
- types: "./dist/index.d.ts",
128244
- import: "./dist/index.js"
128245
- }
128246
- },
128247
- main: "dist/index.js",
128248
- module: "dist/index.js",
128249
- files: [
128250
- "dist"
128251
- ],
128252
- scripts: {
128253
- build: "bun build.ts",
128254
- docs: "typedoc --skipErrorChecking"
128255
- },
128256
- dependencies: {
128257
- archiver: "^7.0.1",
128258
- picocolors: "^1.1.1",
128259
- playcademy: "workspace:*"
128260
- },
128261
- devDependencies: {
128262
- "@electric-sql/pglite": "^0.3.16",
128263
- "@inquirer/prompts": "^7.8.6",
128264
- "@playcademy/constants": "workspace:*",
128265
- "@playcademy/sandbox": "workspace:*",
128266
- "@playcademy/sdk": "workspace:*",
128267
- "@playcademy/types": "workspace:*",
128268
- "@playcademy/utils": "workspace:*",
128269
- "@types/archiver": "^6.0.3",
128270
- "@types/bun": "latest"
128271
- },
128272
- peerDependencies: {
128273
- typescript: "^5",
128274
- vite: "^5 || ^6"
128275
- }
128276
- };
128277
128333
 
128278
128334
  // src/lib/backend/server.ts
128279
128335
  import {
@@ -128439,7 +128495,7 @@ async function configurePlatformMode(server, viteConfig, options) {
128439
128495
  const totalCourses = projectInfo.timebackCourses?.length ?? 0;
128440
128496
  const enrolledCourses = countEnrolledCourses(projectInfo.timebackCourses, timebackOptions?.courses);
128441
128497
  printBanner(viteConfig, {
128442
- version: package_default2.version,
128498
+ version: package_default.version,
128443
128499
  gameName: projectInfo.slug,
128444
128500
  sandbox: { port: sandbox.port, enabled: true },
128445
128501
  backend: createBackendBannerOptions(backend?.port, server.config.server.port),
@@ -128467,7 +128523,7 @@ async function configureStandaloneMode(server, viteConfig, options) {
128467
128523
  server.httpServer?.once("listening", () => {
128468
128524
  setTimeout(() => {
128469
128525
  printBanner(viteConfig, {
128470
- version: package_default2.version,
128526
+ version: package_default.version,
128471
128527
  sandbox: { enabled: false },
128472
128528
  backend: { port: backend.port }
128473
128529
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@playcademy/vite-plugin",
3
- "version": "0.2.35-beta.1",
3
+ "version": "0.2.35-beta.3",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {