playcademy 0.32.0 → 0.32.1-beta.1

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/dist/bucket.js CHANGED
@@ -42,7 +42,7 @@ var GAME_API_ROUTES_DIRECTORY = `${GAME_SERVER_ROOT_DIRECTORY}/api`;
42
42
  // ../better-auth/package.json
43
43
  var package_default = {
44
44
  name: "@playcademy/better-auth",
45
- version: "0.0.24",
45
+ version: "0.0.25-beta.1",
46
46
  type: "module",
47
47
  exports: {
48
48
  "./server": {
package/dist/cli.js CHANGED
@@ -1208,7 +1208,7 @@ var SAMPLE_BUCKET_FILENAME = "bucket.ts";
1208
1208
  // ../better-auth/package.json
1209
1209
  var package_default = {
1210
1210
  name: "@playcademy/better-auth",
1211
- version: "0.0.24",
1211
+ version: "0.0.25-beta.1",
1212
1212
  type: "module",
1213
1213
  exports: {
1214
1214
  "./server": {
@@ -3045,7 +3045,7 @@ import { existsSync as existsSync11, mkdirSync as mkdirSync5, readFileSync as re
3045
3045
  import { join as join12 } from "node:path";
3046
3046
 
3047
3047
  // src/version.ts
3048
- var cliVersion = false ? "0.0.0-dev" : "0.32.0";
3048
+ var cliVersion = false ? "0.0.0-dev" : "0.32.1-beta.1";
3049
3049
 
3050
3050
  // src/lib/init/database.ts
3051
3051
  var drizzleConfigTemplate = loadTemplateString("database/drizzle-config.ts");
@@ -3448,8 +3448,8 @@ async function selectConfigFormat(hasPackageJson2) {
3448
3448
 
3449
3449
  // src/lib/init/types.ts
3450
3450
  import { execSync as execSync4 } from "node:child_process";
3451
- import { existsSync as existsSync15, readFileSync as readFileSync9, writeFileSync as writeFileSync9 } from "node:fs";
3452
- import { dirname as dirname5, join as join16, resolve as resolve8 } from "node:path";
3451
+ import { existsSync as existsSync16, readFileSync as readFileSync9, writeFileSync as writeFileSync9 } from "node:fs";
3452
+ import { dirname as dirname5, join as join17, resolve as resolve8 } from "node:path";
3453
3453
  import { fileURLToPath as fileURLToPath2 } from "node:url";
3454
3454
 
3455
3455
  // ../utils/src/error.ts
@@ -3458,25 +3458,53 @@ function errorMessage(err) {
3458
3458
  }
3459
3459
 
3460
3460
  // src/lib/bundle/game-backend.ts
3461
- import { existsSync as existsSync13 } from "node:fs";
3462
- import { join as join14 } from "node:path";
3461
+ import { existsSync as existsSync14 } from "node:fs";
3462
+ import { join as join15 } from "node:path";
3463
+
3464
+ // src/lib/bundle/game-metrics.ts
3465
+ var METRICS_RESOLVER_EXTENSIONS = [".ts", ".tsx", ".js", ".mjs", ".cjs"];
3466
+ var GAME_METRICS_RESOLVER_PATH = "server/lib/metrics";
3467
+
3468
+ // src/lib/bundle/game-skills.ts
3469
+ import { existsSync as existsSync13 } from "fs";
3470
+ import { join as join14 } from "path";
3471
+ var GAME_SKILLS_RESOLVER_PATH = "server/lib/skills";
3472
+ function discoverGameSkillsResolver(workspace = getWorkspace()) {
3473
+ for (const extension of METRICS_RESOLVER_EXTENSIONS) {
3474
+ const relativePath = `${GAME_SKILLS_RESOLVER_PATH}${extension}`;
3475
+ if (existsSync13(join14(workspace, relativePath))) {
3476
+ return { file: relativePath };
3477
+ }
3478
+ }
3479
+ return null;
3480
+ }
3481
+
3482
+ // src/lib/bundle/game-backend.ts
3463
3483
  var HOOKS_EXTENSIONS = [".ts", ".tsx", ".js", ".mjs", ".cjs"];
3464
3484
  function resolveGameRoutesDir(config) {
3465
3485
  const customRoutes = config?.integrations?.customRoutes;
3466
3486
  return typeof customRoutes === "object" && customRoutes.directory || GAME_API_ROUTES_DIRECTORY;
3467
3487
  }
3468
3488
  function getGameRoutesDirectory(projectPath, config) {
3469
- return join14(projectPath, resolveGameRoutesDir(config));
3489
+ return join15(projectPath, resolveGameRoutesDir(config));
3470
3490
  }
3471
3491
  function hasGameCustomRoutes(projectPath, config) {
3472
3492
  const customRoutesDir = getGameRoutesDirectory(projectPath, config);
3473
- return existsSync13(customRoutesDir);
3493
+ return existsSync14(customRoutesDir);
3474
3494
  }
3475
3495
  function hasGameHooksModule(workspace) {
3476
3496
  return HOOKS_EXTENSIONS.some(
3477
- (ext) => existsSync13(join14(workspace, GAME_SERVER_ROOT_DIRECTORY, `${GAME_HOOKS_FILE}${ext}`))
3497
+ (ext) => existsSync14(join15(workspace, GAME_SERVER_ROOT_DIRECTORY, `${GAME_HOOKS_FILE}${ext}`))
3478
3498
  );
3479
3499
  }
3500
+ function hasGameMetricsResolverModule(workspace) {
3501
+ return METRICS_RESOLVER_EXTENSIONS.some(
3502
+ (ext) => existsSync14(join15(workspace, `${GAME_METRICS_RESOLVER_PATH}${ext}`))
3503
+ );
3504
+ }
3505
+ function hasGameSkillsResolverModule(workspace) {
3506
+ return discoverGameSkillsResolver(workspace) !== null;
3507
+ }
3480
3508
 
3481
3509
  // src/lib/secrets/diff.ts
3482
3510
  import { dim as dim4, green as green3, yellow as yellow4 } from "colorette";
@@ -3496,8 +3524,8 @@ function hasKVSetup(config) {
3496
3524
 
3497
3525
  // src/lib/init/tsconfig.ts
3498
3526
  init_file_loader();
3499
- import { existsSync as existsSync14, readFileSync as readFileSync8, writeFileSync as writeFileSync8 } from "fs";
3500
- import { join as join15 } from "path";
3527
+ import { existsSync as existsSync15, readFileSync as readFileSync8, writeFileSync as writeFileSync8 } from "fs";
3528
+ import { join as join16 } from "path";
3501
3529
  function hasAllRequiredIncludes(config, required) {
3502
3530
  if (!config.include) {
3503
3531
  return false;
@@ -3568,8 +3596,8 @@ function addToIncludeArrayPreservingComments(content, required) {
3568
3596
  }
3569
3597
  async function ensureTsconfigIncludes(workspace, required = TSCONFIG_REQUIRED_INCLUDES) {
3570
3598
  for (const filename of TSCONFIG_FILES) {
3571
- const configPath = join15(workspace, filename);
3572
- if (existsSync14(configPath)) {
3599
+ const configPath = join16(workspace, filename);
3600
+ if (existsSync15(configPath)) {
3573
3601
  try {
3574
3602
  const config = await loadFile(configPath, {
3575
3603
  parseJson: true,
@@ -3613,6 +3641,7 @@ function detectBackendFeatures(workspace, config) {
3613
3641
  hasRoutes: hasGameCustomRoutes(workspace, config),
3614
3642
  hasQueues: hasQueueSetup(config),
3615
3643
  hasHooks: hasGameHooksModule(workspace),
3644
+ hasResolvers: hasGameMetricsResolverModule(workspace) || hasGameSkillsResolverModule(workspace),
3616
3645
  hasSecrets: hasEnvFile(workspace)
3617
3646
  };
3618
3647
  }
@@ -3641,8 +3670,8 @@ function getDepVersions() {
3641
3670
  }
3642
3671
  }
3643
3672
  async function setupPlaycademyDependencies(workspace) {
3644
- const playcademyDir = join16(workspace, CLI_DIRECTORIES.WORKSPACE);
3645
- const playcademyPkgPath = join16(playcademyDir, "package.json");
3673
+ const playcademyDir = join17(workspace, CLI_DIRECTORIES.WORKSPACE);
3674
+ const playcademyPkgPath = join17(playcademyDir, "package.json");
3646
3675
  const { honoVersion, workersTypesVersion } = getDepVersions();
3647
3676
  const playcademyPkg = {
3648
3677
  private: true,
@@ -3738,14 +3767,14 @@ async function ensurePlaycademyTypes(options = {}) {
3738
3767
  const bindingsStr = generateBindingsTypeString(features, queueBindings);
3739
3768
  const secretsStr = await generateSecretsTypeString(workspace, verbose);
3740
3769
  const hasAuth = Boolean(config.integrations?.auth);
3741
- const hasAuthFile = existsSync15(join16(workspace, "server/lib/auth.ts"));
3770
+ const hasAuthFile = existsSync16(join17(workspace, "server/lib/auth.ts"));
3742
3771
  const authVariablesString = generateAuthVariablesString(hasAuth, hasAuthFile);
3743
3772
  let envContent = playcademyEnvTemplate.replace("{{BINDINGS}}", bindingsStr);
3744
3773
  envContent = envContent.replace("{{SECRETS}}", secretsStr);
3745
3774
  envContent = envContent.replace("{{AUTH_IMPORT}}", authVariablesString.authImport);
3746
3775
  envContent = envContent.replace("{{VARIABLES}}", authVariablesString.variables);
3747
3776
  envContent = envContent.replace("{{CONTEXT_VARS}}", authVariablesString.contextVars);
3748
- const envPath = join16(workspace, "playcademy-env.d.ts");
3777
+ const envPath = join17(workspace, "playcademy-env.d.ts");
3749
3778
  writeFileSync9(envPath, envContent);
3750
3779
  if (verbose) {
3751
3780
  logger.success("Generated `playcademy-env.d.ts`");
package/dist/constants.js CHANGED
@@ -21,7 +21,7 @@ var SAMPLE_BUCKET_FILENAME = "bucket.ts";
21
21
  // ../better-auth/package.json
22
22
  var package_default = {
23
23
  name: "@playcademy/better-auth",
24
- version: "0.0.24",
24
+ version: "0.0.25-beta.1",
25
25
  type: "module",
26
26
  exports: {
27
27
  "./server": {
package/dist/db.js CHANGED
@@ -2333,7 +2333,7 @@ var GAME_API_ROUTES_DIRECTORY = `${GAME_SERVER_ROOT_DIRECTORY}/api`;
2333
2333
  // ../better-auth/package.json
2334
2334
  var package_default = {
2335
2335
  name: "@playcademy/better-auth",
2336
- version: "0.0.24",
2336
+ version: "0.0.25-beta.1",
2337
2337
  type: "module",
2338
2338
  exports: {
2339
2339
  "./server": {
package/dist/index.d.ts CHANGED
@@ -178,6 +178,8 @@ interface GameBackendFeatures {
178
178
  hasQueues: boolean;
179
179
  /** server/hooks.ts exists */
180
180
  hasHooks: boolean;
181
+ /** server/lib/metrics.ts or server/lib/skills.ts exists */
182
+ hasResolvers: boolean;
181
183
  /** .env files exist */
182
184
  hasSecrets: boolean;
183
185
  }