playcademy 0.24.0 → 0.24.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/cli.js +3 -2
- package/dist/constants.d.ts +2 -1
- package/dist/constants.js +3 -1
- package/dist/db.js +2 -1
- package/dist/index.js +43 -4
- package/dist/runtime/backend-runtime/index.js +3 -3
- package/dist/runtime/backend-runtime/manifest.json +4 -4
- package/dist/utils.js +3 -2
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1065,7 +1065,7 @@ var SAMPLE_BUCKET_FILENAME = "bucket.ts";
|
|
|
1065
1065
|
// ../better-auth/package.json
|
|
1066
1066
|
var package_default = {
|
|
1067
1067
|
name: "@playcademy/better-auth",
|
|
1068
|
-
version: "0.0.
|
|
1068
|
+
version: "0.0.17-beta.1",
|
|
1069
1069
|
type: "module",
|
|
1070
1070
|
exports: {
|
|
1071
1071
|
"./server": {
|
|
@@ -1137,6 +1137,7 @@ var TSCONFIG_REQUIRED_INCLUDES = [
|
|
|
1137
1137
|
|
|
1138
1138
|
// src/constants/bucket.ts
|
|
1139
1139
|
var BUCKET_ALWAYS_SKIP = [".git", ".DS_Store", ".gitignore", ...ENV_FILES];
|
|
1140
|
+
var PRESIGNED_UPLOAD_THRESHOLD = 4 * 1024 * 1024;
|
|
1140
1141
|
|
|
1141
1142
|
// src/constants/cloudflare.ts
|
|
1142
1143
|
var QUEUE_NAME_PREFIX = "playcademy";
|
|
@@ -2933,7 +2934,7 @@ import { existsSync as existsSync11, mkdirSync as mkdirSync5, readFileSync as re
|
|
|
2933
2934
|
import { join as join13 } from "node:path";
|
|
2934
2935
|
|
|
2935
2936
|
// src/version.ts
|
|
2936
|
-
var cliVersion = false ? "0.0.0-dev" : "0.24.
|
|
2937
|
+
var cliVersion = false ? "0.0.0-dev" : "0.24.1-beta.1";
|
|
2937
2938
|
|
|
2938
2939
|
// src/lib/init/database.ts
|
|
2939
2940
|
var drizzleConfigTemplate = loadTemplateString("database/drizzle-config.ts");
|
package/dist/constants.d.ts
CHANGED
|
@@ -64,6 +64,7 @@ declare const AUTH_CONFIG_FILE = "auth.ts";
|
|
|
64
64
|
* - .env* - Environment files (should never be uploaded to storage)
|
|
65
65
|
*/
|
|
66
66
|
declare const BUCKET_ALWAYS_SKIP: readonly [".git", ".DS_Store", ".gitignore", ".env", ".env.development", ".env.local"];
|
|
67
|
+
declare const PRESIGNED_UPLOAD_THRESHOLD: number;
|
|
67
68
|
|
|
68
69
|
/**
|
|
69
70
|
* Cloudflare-related constants
|
|
@@ -344,4 +345,4 @@ declare const CONFIG_FILE_NAMES: string[];
|
|
|
344
345
|
*/
|
|
345
346
|
declare const DOCS_URL = "https://docs.dev.playcademy.net/platform";
|
|
346
347
|
|
|
347
|
-
export { AUTH_API_SUBDIRECTORY, AUTH_CONFIG_FILE, AUTH_PROVIDER_NAMES, BETTER_AUTH_VERSION, BUCKET_ALWAYS_SKIP, CALLBACK_PATH, CALLBACK_PORT, CLI_DEFAULT_OUTPUTS, CLI_DIRECTORIES, CLI_FILES, CLI_USER_DIRECTORIES, CLOUDFLARE_BINDINGS, CONFIG_FILE_NAMES, DB_FILES, DEFAULT_API_ROUTES_DIRECTORY, DEFAULT_DATABASE_DIRECTORY, DEFAULT_PORTS, DEFAULT_TEMPLATE_REF, DOCS_URL, DRIZZLE_CONFIG_FILES, ENV_EXAMPLE_FILE, ENV_FILES, GODOT_ADDON_URL, GODOT_BUILD_DIRECTORIES, GODOT_BUILD_OUTPUTS, GODOT_EXECUTABLE_PATTERNS, GODOT_EXPORT_PRESETS_FILE, GODOT_PROJECT_FILE, GODOT_WEB_PLATFORM, HOOKS_FILE, MINIFLARE_D1_DIRECTORY, OAUTH_CALLBACK_URL_PATTERN, PLACEHOLDER_APP_URL, PLAYCADEMY_AUTH_VERSION, PUBLIC_DIRECTORY, QUEUE_NAME_PREFIX, SAMPLE_API_SUBDIRECTORY, SAMPLE_BUCKET_FILENAME, SAMPLE_CUSTOM_FILENAME, SAMPLE_DATABASE_FILENAME, SAMPLE_KV_FILENAME, SCHEMA_SUBDIRECTORY, SELF_WORKER_NAME_BINDING, SERVER_LIB_DIRECTORY, SERVER_ROOT_DIRECTORY, SSO_AUTH_TIMEOUT_MS, TEMPLATE_RENAME_FILES, TEMPLATE_REPOS, TSCONFIG_APP_JSON, TSCONFIG_FILES, TSCONFIG_JSON, TSCONFIG_REQUIRED_INCLUDES, WORKSPACE_NAME, cacheVersionDir, nativeBinaryPath };
|
|
348
|
+
export { AUTH_API_SUBDIRECTORY, AUTH_CONFIG_FILE, AUTH_PROVIDER_NAMES, BETTER_AUTH_VERSION, BUCKET_ALWAYS_SKIP, CALLBACK_PATH, CALLBACK_PORT, CLI_DEFAULT_OUTPUTS, CLI_DIRECTORIES, CLI_FILES, CLI_USER_DIRECTORIES, CLOUDFLARE_BINDINGS, CONFIG_FILE_NAMES, DB_FILES, DEFAULT_API_ROUTES_DIRECTORY, DEFAULT_DATABASE_DIRECTORY, DEFAULT_PORTS, DEFAULT_TEMPLATE_REF, DOCS_URL, DRIZZLE_CONFIG_FILES, ENV_EXAMPLE_FILE, ENV_FILES, GODOT_ADDON_URL, GODOT_BUILD_DIRECTORIES, GODOT_BUILD_OUTPUTS, GODOT_EXECUTABLE_PATTERNS, GODOT_EXPORT_PRESETS_FILE, GODOT_PROJECT_FILE, GODOT_WEB_PLATFORM, HOOKS_FILE, MINIFLARE_D1_DIRECTORY, OAUTH_CALLBACK_URL_PATTERN, PLACEHOLDER_APP_URL, PLAYCADEMY_AUTH_VERSION, PRESIGNED_UPLOAD_THRESHOLD, PUBLIC_DIRECTORY, QUEUE_NAME_PREFIX, SAMPLE_API_SUBDIRECTORY, SAMPLE_BUCKET_FILENAME, SAMPLE_CUSTOM_FILENAME, SAMPLE_DATABASE_FILENAME, SAMPLE_KV_FILENAME, SCHEMA_SUBDIRECTORY, SELF_WORKER_NAME_BINDING, SERVER_LIB_DIRECTORY, SERVER_ROOT_DIRECTORY, SSO_AUTH_TIMEOUT_MS, TEMPLATE_RENAME_FILES, TEMPLATE_REPOS, TSCONFIG_APP_JSON, TSCONFIG_FILES, TSCONFIG_JSON, TSCONFIG_REQUIRED_INCLUDES, WORKSPACE_NAME, cacheVersionDir, nativeBinaryPath };
|
package/dist/constants.js
CHANGED
|
@@ -20,7 +20,7 @@ var SAMPLE_BUCKET_FILENAME = "bucket.ts";
|
|
|
20
20
|
// ../better-auth/package.json
|
|
21
21
|
var package_default = {
|
|
22
22
|
name: "@playcademy/better-auth",
|
|
23
|
-
version: "0.0.
|
|
23
|
+
version: "0.0.17-beta.1",
|
|
24
24
|
type: "module",
|
|
25
25
|
exports: {
|
|
26
26
|
"./server": {
|
|
@@ -99,6 +99,7 @@ var TSCONFIG_REQUIRED_INCLUDES = [
|
|
|
99
99
|
|
|
100
100
|
// src/constants/bucket.ts
|
|
101
101
|
var BUCKET_ALWAYS_SKIP = [".git", ".DS_Store", ".gitignore", ...ENV_FILES];
|
|
102
|
+
var PRESIGNED_UPLOAD_THRESHOLD = 4 * 1024 * 1024;
|
|
102
103
|
|
|
103
104
|
// src/constants/cloudflare.ts
|
|
104
105
|
var CLOUDFLARE_BINDINGS = {
|
|
@@ -300,6 +301,7 @@ export {
|
|
|
300
301
|
PLAYCADEMY_AUTH_VERSION,
|
|
301
302
|
PLAYCADEMY_BASE_URLS,
|
|
302
303
|
PLAYCADEMY_DOMAINS,
|
|
304
|
+
PRESIGNED_UPLOAD_THRESHOLD,
|
|
303
305
|
PUBLIC_DIRECTORY,
|
|
304
306
|
QUEUE_NAME_PREFIX,
|
|
305
307
|
SAMPLE_API_SUBDIRECTORY,
|
package/dist/db.js
CHANGED
|
@@ -36,7 +36,7 @@ var DEFAULT_API_ROUTES_DIRECTORY = join2(SERVER_ROOT_DIRECTORY, "api");
|
|
|
36
36
|
// ../better-auth/package.json
|
|
37
37
|
var package_default = {
|
|
38
38
|
name: "@playcademy/better-auth",
|
|
39
|
-
version: "0.0.
|
|
39
|
+
version: "0.0.17-beta.1",
|
|
40
40
|
type: "module",
|
|
41
41
|
exports: {
|
|
42
42
|
"./server": {
|
|
@@ -91,6 +91,7 @@ var ENV_FILES = [
|
|
|
91
91
|
|
|
92
92
|
// src/constants/bucket.ts
|
|
93
93
|
var BUCKET_ALWAYS_SKIP = [".git", ".DS_Store", ".gitignore", ...ENV_FILES];
|
|
94
|
+
var PRESIGNED_UPLOAD_THRESHOLD = 4 * 1024 * 1024;
|
|
94
95
|
|
|
95
96
|
// src/constants/cloudflare.ts
|
|
96
97
|
var CLOUDFLARE_BINDINGS = {
|
package/dist/index.js
CHANGED
|
@@ -326,7 +326,7 @@ var SAMPLE_BUCKET_FILENAME = "bucket.ts";
|
|
|
326
326
|
// ../better-auth/package.json
|
|
327
327
|
var package_default = {
|
|
328
328
|
name: "@playcademy/better-auth",
|
|
329
|
-
version: "0.0.
|
|
329
|
+
version: "0.0.17-beta.1",
|
|
330
330
|
type: "module",
|
|
331
331
|
exports: {
|
|
332
332
|
"./server": {
|
|
@@ -398,6 +398,7 @@ var TSCONFIG_REQUIRED_INCLUDES = [
|
|
|
398
398
|
|
|
399
399
|
// src/constants/bucket.ts
|
|
400
400
|
var BUCKET_ALWAYS_SKIP = [".git", ".DS_Store", ".gitignore", ...ENV_FILES];
|
|
401
|
+
var PRESIGNED_UPLOAD_THRESHOLD = 4 * 1024 * 1024;
|
|
401
402
|
|
|
402
403
|
// src/constants/cloudflare.ts
|
|
403
404
|
var CLOUDFLARE_BINDINGS = {
|
|
@@ -4196,7 +4197,7 @@ import { existsSync as existsSync9, mkdirSync as mkdirSync2, readFileSync as rea
|
|
|
4196
4197
|
import { join as join13 } from "node:path";
|
|
4197
4198
|
|
|
4198
4199
|
// src/version.ts
|
|
4199
|
-
var cliVersion = false ? "0.0.0-dev" : "0.24.
|
|
4200
|
+
var cliVersion = false ? "0.0.0-dev" : "0.24.1-beta.1";
|
|
4200
4201
|
|
|
4201
4202
|
// src/lib/init/database.ts
|
|
4202
4203
|
var drizzleConfigTemplate = loadTemplateString("database/drizzle-config.ts");
|
|
@@ -12751,6 +12752,31 @@ function getBucketKey(relativePath, prefix) {
|
|
|
12751
12752
|
}
|
|
12752
12753
|
|
|
12753
12754
|
// src/lib/bucket/bulk.ts
|
|
12755
|
+
var R2_ERROR_HINTS = {
|
|
12756
|
+
ExpiredToken: "the credentials used to sign the upload URL have expired",
|
|
12757
|
+
TokenRefreshRequired: "the credentials used to sign the upload URL have expired",
|
|
12758
|
+
AccessDenied: "the presigned URL was rejected \u2014 the upload token may have expired",
|
|
12759
|
+
SignatureDoesNotMatch: "upload signature mismatch \u2014 likely a Content-Type header discrepancy"
|
|
12760
|
+
};
|
|
12761
|
+
async function parsePresignedUploadError(res, key) {
|
|
12762
|
+
try {
|
|
12763
|
+
const xml = await res.text();
|
|
12764
|
+
const code = xml.match(/<Code>(.+?)<\/Code>/)?.[1];
|
|
12765
|
+
const message = xml.match(/<Message>(.+?)<\/Message>/)?.[1];
|
|
12766
|
+
const hint = code ? R2_ERROR_HINTS[code] : void 0;
|
|
12767
|
+
if (hint) {
|
|
12768
|
+
return `Direct upload failed for ${key}: ${res.status} (${hint})`;
|
|
12769
|
+
}
|
|
12770
|
+
if (code && message) {
|
|
12771
|
+
return `Direct upload failed for ${key}: ${res.status} (${code}: ${message})`;
|
|
12772
|
+
}
|
|
12773
|
+
if (code) {
|
|
12774
|
+
return `Direct upload failed for ${key}: ${res.status} (${code})`;
|
|
12775
|
+
}
|
|
12776
|
+
} catch {
|
|
12777
|
+
}
|
|
12778
|
+
return `Direct upload failed for ${key}: ${res.status} ${res.statusText}`;
|
|
12779
|
+
}
|
|
12754
12780
|
function collectBulkFiles(directory) {
|
|
12755
12781
|
const gitignorePatterns = loadGitignorePatterns(directory);
|
|
12756
12782
|
const files = collectFiles(directory, directory, gitignorePatterns);
|
|
@@ -12818,7 +12844,7 @@ function outputUploadResults({
|
|
|
12818
12844
|
}
|
|
12819
12845
|
logger.newLine();
|
|
12820
12846
|
}
|
|
12821
|
-
async function uploadFilesRemote(files, gameSlug, prefix, uploadFn) {
|
|
12847
|
+
async function uploadFilesRemote(files, gameSlug, prefix, uploadFn, initiateUploadFn) {
|
|
12822
12848
|
const totalSize = files.reduce((sum, f) => sum + f.size, 0);
|
|
12823
12849
|
await runStep(
|
|
12824
12850
|
`Uploading ${files.length} files ${dim9(`[${formatBytes(totalSize)}]`)}`,
|
|
@@ -12827,7 +12853,19 @@ async function uploadFilesRemote(files, gameSlug, prefix, uploadFn) {
|
|
|
12827
12853
|
const fileBuffer = readFileSync13(file.absolutePath);
|
|
12828
12854
|
const contentType = getContentType(file.absolutePath);
|
|
12829
12855
|
const key = getBucketKey(file.relativePath, prefix);
|
|
12830
|
-
|
|
12856
|
+
if (initiateUploadFn && file.size > PRESIGNED_UPLOAD_THRESHOLD) {
|
|
12857
|
+
const { presignedUrl } = await initiateUploadFn(gameSlug, key, contentType);
|
|
12858
|
+
const res = await fetch(presignedUrl, {
|
|
12859
|
+
method: "PUT",
|
|
12860
|
+
body: fileBuffer,
|
|
12861
|
+
headers: { "Content-Type": contentType }
|
|
12862
|
+
});
|
|
12863
|
+
if (!res.ok) {
|
|
12864
|
+
throw new Error(await parsePresignedUploadError(res, key));
|
|
12865
|
+
}
|
|
12866
|
+
} else {
|
|
12867
|
+
await uploadFn(gameSlug, key, fileBuffer, contentType);
|
|
12868
|
+
}
|
|
12831
12869
|
}
|
|
12832
12870
|
},
|
|
12833
12871
|
`Uploaded ${files.length} files ${dim9(`[${formatBytes(totalSize)}]`)}`
|
|
@@ -14201,6 +14239,7 @@ export {
|
|
|
14201
14239
|
normalizeVersion,
|
|
14202
14240
|
outputDryRunResults,
|
|
14203
14241
|
outputUploadResults,
|
|
14242
|
+
parsePresignedUploadError,
|
|
14204
14243
|
persistChannel,
|
|
14205
14244
|
prepareDeploymentContext,
|
|
14206
14245
|
printDebugInfo,
|
|
@@ -327,9 +327,9 @@ var init_routes = __esm({
|
|
|
327
327
|
// ../edge-play/src/entry/metadata.ts
|
|
328
328
|
function getRuntimeMetadata() {
|
|
329
329
|
return {
|
|
330
|
-
cliVersion: true ? "0.24.
|
|
331
|
-
sdkVersion: true ? "0.12.
|
|
332
|
-
buildId: true ? "
|
|
330
|
+
cliVersion: true ? "0.24.1-beta.1" : "0.0.0-dev",
|
|
331
|
+
sdkVersion: true ? "0.12.1-beta.1" : "0.0.0-dev",
|
|
332
|
+
buildId: true ? "aeaabde607c1" : "dev-source"
|
|
333
333
|
};
|
|
334
334
|
}
|
|
335
335
|
var init_metadata = __esm({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cliVersion": "0.24.
|
|
3
|
-
"sdkVersion": "0.12.
|
|
4
|
-
"runtimeBuildId": "
|
|
5
|
-
"inputFingerprint": "
|
|
2
|
+
"cliVersion": "0.24.1-beta.1",
|
|
3
|
+
"sdkVersion": "0.12.1-beta.1",
|
|
4
|
+
"runtimeBuildId": "aeaabde607c1",
|
|
5
|
+
"inputFingerprint": "aeaabde607c1b53a900e531d03920faccf02bb5286c3f27c50819124c62722a7",
|
|
6
6
|
"entry": "index.js"
|
|
7
7
|
}
|
package/dist/utils.js
CHANGED
|
@@ -359,7 +359,7 @@ var DEFAULT_API_ROUTES_DIRECTORY = join2(SERVER_ROOT_DIRECTORY, "api");
|
|
|
359
359
|
// ../better-auth/package.json
|
|
360
360
|
var package_default = {
|
|
361
361
|
name: "@playcademy/better-auth",
|
|
362
|
-
version: "0.0.
|
|
362
|
+
version: "0.0.17-beta.1",
|
|
363
363
|
type: "module",
|
|
364
364
|
exports: {
|
|
365
365
|
"./server": {
|
|
@@ -428,6 +428,7 @@ var TSCONFIG_REQUIRED_INCLUDES = [
|
|
|
428
428
|
|
|
429
429
|
// src/constants/bucket.ts
|
|
430
430
|
var BUCKET_ALWAYS_SKIP = [".git", ".DS_Store", ".gitignore", ...ENV_FILES];
|
|
431
|
+
var PRESIGNED_UPLOAD_THRESHOLD = 4 * 1024 * 1024;
|
|
431
432
|
|
|
432
433
|
// src/constants/cloudflare.ts
|
|
433
434
|
var CLOUDFLARE_BINDINGS = {
|
|
@@ -2485,7 +2486,7 @@ import { existsSync as existsSync9, mkdirSync as mkdirSync2, writeFileSync as wr
|
|
|
2485
2486
|
import { dirname as dirname4, join as join14 } from "node:path";
|
|
2486
2487
|
|
|
2487
2488
|
// src/version.ts
|
|
2488
|
-
var cliVersion = false ? "0.0.0-dev" : "0.24.
|
|
2489
|
+
var cliVersion = false ? "0.0.0-dev" : "0.24.1-beta.1";
|
|
2489
2490
|
|
|
2490
2491
|
// src/lib/build/binary-resource.ts
|
|
2491
2492
|
function writeFileTree(baseDir, files) {
|
package/dist/version.js
CHANGED