@playcademy/sandbox 0.12.1-beta.1 → 0.12.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 +17 -15
- package/dist/server.js +17 -15
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -2517,7 +2517,7 @@ var package_default;
|
|
|
2517
2517
|
var init_package = __esm(() => {
|
|
2518
2518
|
package_default = {
|
|
2519
2519
|
name: "@playcademy/sandbox",
|
|
2520
|
-
version: "0.12.1
|
|
2520
|
+
version: "0.12.1",
|
|
2521
2521
|
description: "Local development server for Playcademy game development",
|
|
2522
2522
|
type: "module",
|
|
2523
2523
|
exports: {
|
|
@@ -31883,22 +31883,24 @@ async function extractZipToDirectory(zipBuffer, targetDir) {
|
|
|
31883
31883
|
try {
|
|
31884
31884
|
const zip = await import_jszip.default.loadAsync(zipBuffer);
|
|
31885
31885
|
await mkdir(targetDir, { recursive: true });
|
|
31886
|
-
const
|
|
31887
|
-
|
|
31888
|
-
|
|
31889
|
-
|
|
31890
|
-
extractPromises.push(mkdir(dirPath, { recursive: true }).then(() => {}));
|
|
31891
|
-
} else {
|
|
31886
|
+
const entries = Object.entries(zip.files);
|
|
31887
|
+
const batchSize = 32;
|
|
31888
|
+
for (let offset = 0;offset < entries.length; offset += batchSize) {
|
|
31889
|
+
const results = await Promise.allSettled(entries.slice(offset, offset + batchSize).map(async ([relativePath, zipEntry]) => {
|
|
31892
31890
|
const filePath = join2(targetDir, relativePath);
|
|
31893
|
-
|
|
31894
|
-
|
|
31895
|
-
|
|
31896
|
-
|
|
31897
|
-
|
|
31898
|
-
|
|
31891
|
+
if (zipEntry.dir) {
|
|
31892
|
+
await mkdir(filePath, { recursive: true });
|
|
31893
|
+
return;
|
|
31894
|
+
}
|
|
31895
|
+
const content = await zipEntry.async("uint8array");
|
|
31896
|
+
await mkdir(join2(filePath, ".."), { recursive: true });
|
|
31897
|
+
await writeFile(filePath, content);
|
|
31898
|
+
}));
|
|
31899
|
+
const failure = results.find((result) => result.status === "rejected");
|
|
31900
|
+
if (failure) {
|
|
31901
|
+
throw failure.reason;
|
|
31899
31902
|
}
|
|
31900
|
-
}
|
|
31901
|
-
await Promise.all(extractPromises);
|
|
31903
|
+
}
|
|
31902
31904
|
log.debug("[utils/zip] Extracted ZIP to directory", {
|
|
31903
31905
|
targetDir,
|
|
31904
31906
|
fileCount: Object.keys(zip.files).length
|
package/dist/server.js
CHANGED
|
@@ -697,7 +697,7 @@ var package_default;
|
|
|
697
697
|
var init_package = __esm(() => {
|
|
698
698
|
package_default = {
|
|
699
699
|
name: "@playcademy/sandbox",
|
|
700
|
-
version: "0.12.1
|
|
700
|
+
version: "0.12.1",
|
|
701
701
|
description: "Local development server for Playcademy game development",
|
|
702
702
|
type: "module",
|
|
703
703
|
exports: {
|
|
@@ -30063,22 +30063,24 @@ async function extractZipToDirectory(zipBuffer, targetDir) {
|
|
|
30063
30063
|
try {
|
|
30064
30064
|
const zip = await import_jszip.default.loadAsync(zipBuffer);
|
|
30065
30065
|
await mkdir(targetDir, { recursive: true });
|
|
30066
|
-
const
|
|
30067
|
-
|
|
30068
|
-
|
|
30069
|
-
|
|
30070
|
-
extractPromises.push(mkdir(dirPath, { recursive: true }).then(() => {}));
|
|
30071
|
-
} else {
|
|
30066
|
+
const entries = Object.entries(zip.files);
|
|
30067
|
+
const batchSize = 32;
|
|
30068
|
+
for (let offset = 0;offset < entries.length; offset += batchSize) {
|
|
30069
|
+
const results = await Promise.allSettled(entries.slice(offset, offset + batchSize).map(async ([relativePath, zipEntry]) => {
|
|
30072
30070
|
const filePath = join2(targetDir, relativePath);
|
|
30073
|
-
|
|
30074
|
-
|
|
30075
|
-
|
|
30076
|
-
|
|
30077
|
-
|
|
30078
|
-
|
|
30071
|
+
if (zipEntry.dir) {
|
|
30072
|
+
await mkdir(filePath, { recursive: true });
|
|
30073
|
+
return;
|
|
30074
|
+
}
|
|
30075
|
+
const content = await zipEntry.async("uint8array");
|
|
30076
|
+
await mkdir(join2(filePath, ".."), { recursive: true });
|
|
30077
|
+
await writeFile(filePath, content);
|
|
30078
|
+
}));
|
|
30079
|
+
const failure = results.find((result) => result.status === "rejected");
|
|
30080
|
+
if (failure) {
|
|
30081
|
+
throw failure.reason;
|
|
30079
30082
|
}
|
|
30080
|
-
}
|
|
30081
|
-
await Promise.all(extractPromises);
|
|
30083
|
+
}
|
|
30082
30084
|
log.debug("[utils/zip] Extracted ZIP to directory", {
|
|
30083
30085
|
targetDir,
|
|
30084
30086
|
fileCount: Object.keys(zip.files).length
|